Mikrokontrolery 8-bitowe. PSoC nie da się ominąć szerokim łukiem. To jest to
Niedziela, 01 Luty 2009
Rozwój technologii półprzewodnikowej umożliwił konstruowanie urządzeń zawierających jeden układ
scalony zamiast całego ich zestawu. Gdy do użytku wchodziły kolejne generacje mikrokontrolerów
różnych firm, stopniowo zmniejszała się liczba układów niezbędnych do pracy całego systemu. Doszło
do tego, że obecnie nawet rezonator kwarcowy nie jest konieczny.
80 ELEKTRONIKA PRAKTYCZNA 2/2009
WYBÓR KONSTRUKTORA
Mikroprocesorom z peryferiami w jednej strukturze, przeznaczonym
i zaprojektowanym do wykonywania określonych, wyspecy?kowanych zadań,
czyli przeznaczonym do wbudowania w określone urządzenia (pralka, obra-
biarka, auomat do napojów itp.) nadano nazwę embedded microcontrollers
lub embedded microprocessors. Obecnie pojęcie systemów wbudowanych
odnosimy głównie do kompletnych komputerów pracujących np. jako sterow-
niki automatyki.
Pierwsze systemy mikroprocesorowe wymagały stałej, zewnętrznej pa-
mięci programu i pamięci operacyjnej RAM w osobnych układach scalonych,
a dodatkowo niezbędne były zatrzaski i bufory adresowe. W kolejnych eta-
pach rozwoju mikrokontrolerów otrzymaliśmy np. ST6X, który miał już we-
wnętrzną pamięć programu. Konieczność kasowania EPROM-u za pomocą
promieniowania ultra?oletowego wcale nie przeszkadzała, mimo że kolejne
wersje programu można było sprawdzać dość rzadko, bo co kilka minut. Trze-
ba przyznać, że w owych czasach programy pisało się uważniej, aby nie tracić
czasu na czasochłonne poprawki
głupich błędów. Obecnie, gdy ka-
sowanie pamięci Flash programu
mikrokontrolera trwa najwyżej se-
kundy, zyskaliśmy możliwość ?roz-
poznania walką? i zamiast dobrze
przemyśleć strukturę programu,
często badamy jego zachowanie
w dziesiątkach prób. Nie to jednak
jest najważniejsze ? tak naprawdę
siła nowych mikrokontrolerów leży we wbudowanych debugerach sprzęto-
wych (SWIM, JTAG, ICD itp.) i mozliwości programowania w systemie (ISP).
Niektóre typy i serie mikrokontrolerów czy systemów SoC (System on
Chip) znamy lepiej lub gorzej, o innych tylko słyszeliśmy, jeszcze inne są lub
wydają się być niepotrzebne w naszych zastosowaniach. Gdy pojawia się
nowy projekt, stajemy przed koniecznością serii wyborów, które wcale nie są
łatwe. Z natury rzeczy lubimy to, co znamy ? tę prawidłowość zauważył już
inżynier Mamoń w niezapomnianym Rejsie. Jednak o ile w przypadku ?lmu
czy muzyki podejście takie wydaje się być do przyjęcia, to nie można go uznać
za wystarczające, gdy czeka nas wybór rozwiązania konstrukcyjnego w dzie-
dzinie systemów wbudowanych czy mikrokontrolerów..
Mikrokontrolery i systemy wbudowane
Systemy i komputery wbudowane obejmują ogromne grupy rozwiązań
różniące się zastosowaniami i konstrukcją. Z jednej strony możemy mówić
o systemach zbudowanych z wielu zaawansowanych technologicznie pod-
zespołów, które tworzą miniaturowy odpowiednik komputera PC i możemy
Mikrokontrolery
8-bitowe
Rozwój technologii półprzewodnikowej umożliwił konstruowanie urządzeń zawierających jeden układ
scalony zamiast całego ich zestawu. Gdy do użytku wchodziły kolejne generacje mikrokontrolerów
różnych ?rm, stopniowo zmniejszała się liczba układów niezbędnych do pracy całego systemu. Doszło
do tego, że obecnie nawet rezonator kwarcowy nie jest konieczny.
na nim uruchomić system Windows. Z drugiej strony, na miano takie zasłu-
guje także mały system zbudowany na bazie najprostszego mikrokontrolera
2051, ponieważ z dokładnością do mocy obliczeniowej może pełnić podob-
ną rolę co przywołany wyżej mini komputer PC. Gdy na zagadnienie spoj-
rzymy oczami konstruktora systemu automatyki, to naturalne będzie, że za
system wbudowany uznamy mini PC, z kolei w oczach konstruktora elektro-
nika spektrum rozwiązań określanych tym mianem będzie znacznie szersze
i obejmie zarówno mini PC, jak i system na bazie mikrokontrolera 2051.
Naszym zadaniem będzie jednak analiza rozwiązań w nieco węższym ob-
szarze. Tym razem pominiemy gotowe, fabryczne systemy przeznaczone do
zastosowań przemysłowych, np. jako zaawansowane sterowniki automatyki,
natomiast skoncentrujemy się na aspektach doboru mikrokontrolera do kon-
kretnego zastosowania. Jakie przesłanki powinien wziąć pod uwagę konstruk-
tor, gdy będzie wybierał konkretne rozwiązanie ? czy ma to być cena układu,
stopień znajomości danej grupy układów, a może aktualna moda?
Przyzwyczajenia
a trendy i mody
Nikt nie ma wątpliwości, że
produkcją układów scalonych
wszelkiej maści żądzą żelazne
reguły biznesu i oferowane mi-
krokontrolery nie powstają dzięki
fantazjiprojektantów,alenazapo-
trzebowanie rynku. W odróżnie-
niu od rynku procesorów AMD i Intel przeznaczonych dla wszechobecnych
PC, rynek systemów wbudowanych jest znacznie bardziej konkurencyjny,
bowiem mikroprocesory zgodne z x386 wytwarza oprócz wymienionych
wyżej jedynie Via, przy czym są to procesory przeznaczone m.in. do zasto-
sowań wymagających minimalnego poboru energii czy systemów automa-
tyki o niewielkich rozmiarach. Reguły wolnego rynku mówią, że konkuren-
cja jest korzystna, bowiem zmusza producentów do ciągłego doskonalenia
swoich produktów i obniżania ceny. Z taką sytuacją mamy doczynienia na
rynku mikrokontrolerów, niezależnie od tego czy mówimy o systemach
8-mio, 16-to czy 32-u bitowych. Ciągle pojawiają się nowe konstrukcje,
które oferują kolejne funkcjonalności, przy czym nie muszą to być nowe
standardy, ale np. inne zestawy interfejsów w kolejnym mikrokontrolerze
(np. w układzie uCxxA UART, CAN, USB, I2
C, w układzie uCxxB CAN i LIN).
Poruszanie się w tym gąszczu jest bardzo trudne i czasochłonne. Kon-
struktorzy elektronicy są zwykle bardzo zajęci, a na dodatek w znakomitej
większości przypadków bardzo odporni na czasem zbyt nachalny mar-
keting producentów. Nie da się ukryć, że tę cechę pielęgnujemy w sobie
PSoC nie da się ominąć
szerokim łukiem. To jest to
Z natury rzeczy lubimy to,
co znamy ? tę prawidłowość
zauważył już inżynier Mamoń
w niezapomnianym Rejsie
Dodatkowe
materiały na CD
81ELEKTRONIKA PRAKTYCZNA 2/2009
Mikrokontrolery 8-bitowe
i najczęściej się nią szczycimy. Pojawia się jednak pytanie, czy takie postę-
powanie jest właściwe.
Przekonanie, że śledzenie nowości rynkowych nie ma sensu, jest dość
rozpowszechnione i trzeba przyznać, że można znaleźć argumenty prze-
mawiające za takim podejściem. Z reguły jest tak, że od zapowiedzi do fak-
tycznej dostępności mija trochę czasu, liczonego raczej w miesiącach niż
dniach. Niestety, regułą stają się również błędy konstrukcyjne i/lub doku-
mentacyjne w pierwszych seriach
nowych mikrokontrolerów, czego
widocznym obrazem są erraty
większe niż pierwotna dokumenta-
cja. Jeżeli do ręki weźmiemy nowy
model wiertarki, to niezależnie od
producenta potra?my się nią sku-
tecznie posłużyć. W przypadku
mikrokontrolerów już tak prosto
nie jest. Nowszy i lepiej wyposażo-
ny w peryferia model tego samego
producenta wymaga trochę czasu
aby oswoić się choćby z jego bitami kon?guracji czy nazwami rejestrów.
Gdy w grę wchodzi całkowita zmiana platformy, np. z PIC na AVR, to pro-
ces ten jest na pewno trudniejszy i wymaga więcej czasu. Czas kosztuje,
a do tego mogą również dojść koszty narzędzi programistycznych ? nie
na wszystkie platformy znajdziemy bezpłatne i skutecznie działające pro-
gramy kompilatorów, zwłaszcza dla języków wyższego poziomu. Własne
i wielokrotnie sprawdzone biblioteki też mają kolosalne znaczenie. W ten
sposób znaleźliśmy argumenty za pozostaniem w sferze produktów, które
dobrze znamy. Mówiąc nieco żartobliwie i przekornie ? mamy alibi także
dla... własnego lenistwa. Kropkę nad i postawimy przypominając przysło-
wie, że lepsze jest wrogiem dobrego.
Skoro tak łatwo przyszło znaleźć argumenty przemawiające za tym,
aby pozostawać przy ?swoich? mikrokontrolerach, zastanówmy się co
przemawia za tym, żeby jednak interesować się nowościami. W tym
przypadku rozważania warto prowadzić w dwóch osobnych wątkach.
Pierwszy z nich dotyczy platformy, na której pracujemy, drugi obejmuje
ewentualną zmianę producenta mikrokontrolerów wykorzystywanych
w naszych konstrukcjach. Można przyjąć, że pozostawanie w dobrze zna-
nym otoczeniu powoduje, że zmniejsza się motywacja do dalszego rozwo-
ju. Gdy poruszamy się w zaklętym kręgu kilku układów, które znamy na
wylot, automatycznie zmniejszamy swoje szanse na przyszłość. Dlaczego?
Posłużmy się przykładem. Obecnie, na początku 2009 r., oczywiste jest,
że interfejsy komputerów PC i ich peryferiów, inne niż USB, odchodzą
w przeszłość. Jednak bynajmniej nie jest to odkrycie z grudnia ubiegłe-
go roku. Analizując konstrukcje mikrokontrolerów, które pojawiły się na
rynku już w 2004 roku można było wyciągnąć wnioski, że taki właśnie
będzie trend rynkowy. Pojedynczych konstruktorów, czy nawet dużych
?rm nie stać na odpowiednie badania rynku. Inaczej jest w przypadku
producentów ? dla nich badanie trendów i reagowanie na nie, oznacza
być albo nie być. I w gruncie rzeczy nie ma też większego znaczenia, czy
jest to rzeczywiście badanie trendu czy też kreowanie rynku. Pytanie ? jak
wielu konstruktorów zainteresowało się tymi układami w ciągu minionych
4-lat, jeżeli nie musieli nic na nich budować? Powie ktoś, że nie ma po
co się interesować, zanim nie ma zamówienia na konkretną konstrukcję.
Trudno zgodzić się z takim podejściem ? gdy mamy ogólny przegląd sytu-
acji, możemy zareagować szybciej i lepiej. I nie chodzi tutaj o wkuwanie
adresów wektorów przerwań wywołanego do tablicy interfejsu USB, ale
o to żeby chociaż pobieżnie poznawać charakterystyczne szczegóły naj-
nowszych rozwiązań. Mówiąc kolokwialnie ? coś w głowie zostanie, i na
pewno przyda się w przyszłości. I to jest jeden z powodów, dla których
współczesny inżynier konstruktor powinien bacznie śledzić nowości oferty
producentów układów i to nie tylko samych mikrokontrolerów. To jedna
z ważniejszych metod prowadzących do właściwych wyborów konstruk-
cyjnych. Mamy teraz Internet i wyszukiwarki, a niewielkie fragmenty
informacji mogą w przyszłości pomóc szybciej dotrzeć do tej naprawdę
poszukiwanej.
Doskonalenie własnego warsztatu i posiadanie możliwie kompletnej
wiedzy na temat użytkowanej platformy konstrukcyjnej, to jedno z zadań
konstruktora. Ale konstruktor to też człowiek i jako taki ma tendencję do
idealizowania własnych wyborów. To nic złego, w końcu trudno katować
się myślą, że robi się głupstwo pracując w systemie A, bo należało wybrać
system B. Konstruktorowi nie wolno jednak myśleć o rozwiązaniach kon-
kurencyjnych w kategoriach ? kto nie z nami, ten przeciw nam. Wydaje
się, że konstruktor powinien na
chłodno analizować rozwiązania
stosowane w innych platformach
mikrokontrolerowych i dokony-
wać wyborów optymalnych pod
względem konstrukcyjnym. War-
to też zastanowić się, czy koszt
przejścia na inną platformę nie da
znaczących zysków w przyszłości.
To jednak wymaga sporego zaan-
gażowania w poznawanie innych
produktów. Zwróćmy jednak uwa-
gę, że przejście międzyplatformowe jest obecnie znacznie łatwiejsze niż
niegdyś ? każdy producent dostarcza całą gamę systemów ewaluacyjnych
umożliwiających rozpoczęcie prób w kilka minut, bez żmudnego projekto-
wania płytek drukowanych.
Ceny
Wybór konstruktora nie może nie uwzględniać ceny podzespołów ? to
prawda wyjątkowo trywialna. Zwróćmy jednak uwagę na pewien mecha-
nizm psychologiczny ? zrażeni zbyt wysoką ceną nowości, podświadomie
odrzucamy dany typ mikrokontrolera podczas kolejnych analiz ekonomiki
zastosowania. Tymczasem erozja cen bywa tak szybka, że to, co było nie-
opłacalne przy pierwszej analizie, już po pół roku cenowo bije na głowę
wszystkie inne znane i sprawdzone rozwiązania. Proste i jasne, ale jak ła-
two o tym zapomnieć...
Po analizach ogólnych przejdźmy do praktycznego przykładu i spró-
bujmy zachęcić konstruktora, do wyboru nowej dla niego platformy mi-
krokontrolerowej. Nasz wybór padł na bardzo interesujące i konstrukcyjnie
unikalne mikrokontrolery PSoC ?rmy Cypress.
Cypress PSoC
Historycznie rzecz ujmując dzieliliśmy układy na analogowe, cyfrowe
i mikroprocesory. Mikrokontrolery pogodziły wymienione grupy i obecnie
trudno znaleźć cyfrowy z założenia mikrokontroler, który nie dysponował-
by przynajmniej przetwornikiem analogowo-cyfrowym czy cyfrowo-analo-
gowym przetwornikiem PWM. Istnieje jednak platforma mikrokontrolerów
o rdzeniu 8-bitowym, która pod względem konstrukcji i możliwości ana-
logowych istotnie odbiega od konkurencji. Mowa tutaj o rozwiązaniach
?rmy Cypress, nazywanych przez producenta PSoC Mixed-Signal Arrays.
Przykład z życia nr 1
W jednej z polskich ?rm zajmujących się produkcją własnych systemów mikropro-
cesorowych, w 2004 roku widziałem nowe systemy konstruowane na tradycyjnym
8051, ze zwykłymi EPROM-ami, zewnętrzną pamięcią RAM i czasem 8255. Przy-
znam, że byłem mocno zdziwiony, tym bardziej, że systemy realizowały zadania,
z którymi dałaby sobie radę pojedyncza kostka ATMega8. Nie ulega chyba wąt-
pliwości, że o rozsądnych wyborach nikt tam nie myślał ? właściciel nie był inży-
nierem elektronikiem. W 2008 roku zauważyłem ogłoszenie, że ?rma poszukuje
specjalistów od mikrokontrolerów AVR. No cóż ? lepiej późno niż wcale.
Przykład z życia nr 2
Zaczynałem i uczyłem się programować w asemblerze na procesorze MOS 6510
w Commodore 64, później uczyłem się Z80, 8085, 8048 i 8051. Gdy po kilku
latach przerwy w pracach z mikrokontrolerami poznałem serię ST62, zachwyciłem
się jej możliwościami, jakże innymi od tych, które wcześniej znałem. Potem znów
była przerwa w mojej aktywności konstrukcyjnej i wróciłem, gdy ATMega8 kosz-
towała prawie 30 zł. Uznałem, że po przerwie sam nie jestem w stanie wybrać
platformy. Wtedy zaufałem radzie Piotra Zbysińskiego i nauczyłem się pracować
na AVR. Niedawno znajomy zapytał mnie o systemy związane z informatyką sa-
mochodową ? tu, tym razem wyłącznie teoretycznie, wybrałbym raczej mikrokon-
trolery STM. Te zmiany nauczyły mnie jednego ? nie warto obawiać się całkowitej
zmiany platformy, docelowo korzyści są większe niż problemy.
Gdy poruszamy się w zaklętym
kręgu kilku układów, które
znamy na wylot, automatycznie
zmniejszamy swoje szanse na
przyszłość
82 ELEKTRONIKA PRAKTYCZNA 2/2009
WYBÓR KONSTRUKTORA
Rys. 1. Ogólny schemat układu PsoC
Rys. 2. Schemat blokowy układu CG6462AM
Rys. 3. Schemat blokowy układu PSoC z CapSense ? CY8C20246
Programmable System-on-Chip, czyli system programowalny w jednej
strukturze półprzewodnikowej jest naturalną konsekwencją 50 lat rozwoju
mikroelektroniki. Protoplastą opisanych układów były konstrukcje projek-
towane do ściśle określonych zadań, nazywane ASIC ? Application Speci?c
Integrated Circuits, które mogły być układami analogowymi, cyfrowymi
lub analogowo/cyfrowymi. Inną grupę stanowią układy scalone SoC, czyli
System on Chip, które łączą w sobie wszystkie potrzebne funkcje użytko-
we, minimalizujące użycie elementów dyskretnych w gotowych urządze-
niach. Kolejny krok był nieunikniony i dał konstruktorowi elektronikowi
możliwość własnoręcznego kon?gurowania funkcji analogowych i cyfro-
wych wewnątrz seryjnego układu scalonego. Firma Cypress poszła jeszcze
dalej i obecnie oferuje także układy PRoC, czyli Programmable Radio on
Chip. Są to programowalne układy z nadajnikiem i odbiornikiem na pas-
mo 2,4 GHz wbudowanym w strukturę układu scalonego, a jeden z mi-
krokontrolerów jest jednocześnie układem PSoC. Geneza powstawania
układów SoC i ASIC jest prosta ? najczęściej w fabryce półprzewodników
zamawia je globalny wytwórca np. telefonu komórkowego, który prosi
o miniaturowy odbiornik FM. Gdy konstrukcja taka powstaje, a umowy
tego nie zabraniają, na rynku pojawia się niedrogi chip, z którego wtedy
mogą korzystać wszyscy, nie tylko zamawiający pierwszą partię.
W przypadku ?rmy Cypress mamy do czynienia z nieco inną sytuacją
? powstały układy bardzo uniwersalne, przeznaczone dla szerokiej rzeszy
użytkowników, które dają możliwość tworzenia odpowiedników układów
ASIC w domowym zaciszu. Na szczególne podkreślenie zasługuje różno-
rodność i mnogość funkcji analogowych, które są do dyspozycji konstruk-
tora w mikrokontrolerach Cypress.
Budowa mikrokontrolerów PSoC Cypress
Bardzo ogólny schemat mikrokontrolerów Cypress przedstawia rys. 1.
Oprócz standardowych zespołów takich jak CPU, RAM, czy kontroler prze-
rwań, znajdziemy na nim elementy charakterystyczne jedynie dla systemów
PSoC. Ich najważniejszą częścią są kon?gurowalne bloki cyfrowe i analo-
gowe, pozwalające na tworzenie wzmacniaczy, przetworników ADC i DAC
i wielu innych bloków funkcjonalnych, które będą opisane dalej. Za jedną
z niewątpliwie najciekawszych cech układów PSoC należy uznać możliwość
tworzenia ?ltrów z podzespołów analogowych. Z kolei widoczny po le-
wej stronie moduł Decimator jest jednym z zespołów wykorzystywanych
czasem w układach DSP, a jego działanie polega na odrzuceniu części
próbek z analizowanego sygnału. Mamy więc do dyspozycji bloki analo-
gowe, cyfrowe i nawet zespoły stosowane w DSP ? z takimi elementami
można zrobić naprawdę dużo. Kolejne rysunki (rys. 2 i rys. 3) przedsta-
wiają schematy blokowe dwóch wybranych mikrokontrolerów PSoC ?rmy
Cypress. Pierwszy z nich (CG6462AM) jest stosunkowo prostym układem
przeznaczonym do sterowania wentylatorem, drugi (CY8C24794) układem
znacznie lepiej wyposażonym, także w interfejs USB i 7 portów ogólnego
przeznaczenia. Inna budowa wewnętrzna charakterystyczna jest dla ukła-
dów z grupy CapSense, czyli czujników pojemnościowych przeznaczonych
przede wszystkim do klawiatur bezstykowych, jeszcze inna dla układów
przeznaczonych do ekranów dotykowych i innych.
Blok zespołów cyfrowych zawiera dwa rodzaje struktur ? BB (Basic
Block) oraz CB (Communication Block). Każdy z bloków zawiera m.in.
8-bitowy licznik oraz elementy i wyprowadzenia niezbędne do generacji
przerwań i przekazywania sygnałów na wyjście lub do innych bloków. Przy
realizacji niektórych funkcji, np. przetwornika analogowo-cyfrowego, bloki
cyfrowe współpracują z blokami analogowymi. Wśród zespołów analogo-
wych znajdujemy także dwa rodzaje bloków, które nazywane są CT (Conti-
nuous Time) oraz SC (Switched Capacitor). Schematy bloków analogowych
wybranych mikrokontrolerów przedstawiają rys. 4 i rys. 5. Nietrudno za-
uważyć, że bloki analogowe CG6462AM są prostsze niż w przypadku ukła-
du CY8C24794 i nazywane są blokami typu ?E?. Bloki cyfrowe są w obu
przypadkach identyczne ? przedstawia je rys. 6. Widoczne w górnej czę-
ści rysunku symbole portów zależą od ich liczby oraz rodzaju ? mogą to
być porty uniwersalne lub specjalizowane porty analogowe w niektórych
układach. Przedstawione schematy pochodzą z odpowiednich not katalo-
gowych wymienionych procesorów i dobrze oddają główną ideę układów
PSoC ? każda ich grupa składa się z kilku wersji wykonań różniących się
liczbą poszczególnych bloków, portów, wyprowadzeń zewnętrznych i/lub
pojemnością pamięci Flash i RAM. W nomenklaturze producenta bloki cy-
frowe układów PSoC zgrupowane są w wiersze (row), natomiast bloki ana-
logowe w kolumny (columns). Pokazaliśmy najczęściej spotykane i opisy-
wane w literaturze bloki PSoC, ale nietrudno znaleźć w różnych modelach
mikrokontrolerów takie, które odbiegają budową od przedstawionych wy-
żej. Nie wnikając dalej w szczegóły konstrukcyjne i przeznaczenie poszcze-
gólnych bloków, zachęcamy Czytelników do prób projektowych w środo-
83ELEKTRONIKA PRAKTYCZNA 2/2009
Mikrokontrolery 8-bitowe
wisku PSoC, które istotnie ułatwia oswojenie
się ze wszystkimi cechami konstrukcyjnymi
tych układów. Można też przypuszczać, że
wraz z nowymi układami pojawią się nowe
kon?guracje i kolejne rodzajów bloków we-
wnętrznych układów PSoC.
Przedstawione wyżej informacje na te-
mat liczby i organizacji bloków pozornie
wydają się być użyteczne dla doboru mikro-
kontrolera do konkretnego zastosowania.
Nie da się przecież zaprzeczyć, że liczba
i długość liczników, możliwości kontrolera
przerwań czy rozdzielczość przetworników
ADC i DAC są bardzo istotne przy wybo-
rze układu. Jednak w przypadku układów
Cypress może być zgoła inaczej! Dobór
konkretnego mikrokontrolera można prze-
prowadzić przy użyciu oprogramowania słu-
żącego do projektowania całego systemu.
Ta metoda jest szczególnie polecana przy
pierwszych próbach zastosowania proceso-
rów PSoC, ponieważ w ich przypadku znacznie trudniej szacować zasoby.
Zależnie od kon?guracji układu PSoC, cztery liczniki 8-bitowe mogą być
użyte jako jeden 32-bitowy, a użycie przetwornika ADC także odpowiednio
zmniejsza liczbę wolnych bloków cyfrowych.
Okazuje się więc, że warto znać ogólne założenia budowy układów PSoC,
ale podczas praktycznego wyboru nie to jest najbardziej istotne. Więcej na
ten temat Czytelnik znajdzie w części poświęconej bezpłatnemu środowisku
programistycznemu dla procesorów PSoC ?rmy Cypress. Co ważne - w chwi-
li gdy powstaje ten tekst, oprogramowanie PSoC Designer dostarczane jest
z notami katalogowymi produktów, których nie można jeszcze kupić (np.
CYONS2001), ich dokumentacja również nie jest dostępna na stronie produ-
centa. Z not dostarczonych z programem PSoC Designer wynika, że wkrótce
będą dostępne układy PSoC w grupie OviationONS Laser Navigation Solu-
tions. Wymieniony wyżej układ CYONS2001 zawiera zintegrowany nadajnik
i odbiornik laserowy oraz nadajnik 2,4 GHz dla bezprzewodowych urządzeń
wskazujących (trackaball, mysz itp.). Jego specjalizowana konstrukcja zawie-
ra inne bloki analogowe niż wymienione wyżej.
Oprócz wskazanych wyżej możliwości zde?niowania wielu różnych
funkcji cyfrowych i analogowych, do dyspozycji konstruktora pozostaje
także kon?guracja układu scalonego ? wewnętrzne magistrale umożliwiają
prawie dowolne połączenia wewnętrznych bloków z wyprowadzeniami
układu. W ten sposób zyskujemy możliwość uproszczenia obwodu druko-
wanego lub wręcz dopasowania układu scalonego do projektu PCB.
Główne grupy układów PSoC
Oprócz układów ogólnego przeznaczenia, w ofercie ?rmy Cypress
znajdziemy także układy PSoC przewidziane do specy?cznych zastosowań.
Jedną z najbardziej znanych rozwiązań ?rmy Cypress jest CapSense, czyli
technologia szeroko rozumianych czujników pojemnościowych i/lub zbliże-
niowych, realizowanych np. za pomocą odpowiednio wytrawionych pól ob-
wodu drukowanego. Po zbliżeniu obiektu do pola czujnika następuje zmia-
na pojemności, która z kolei powoduje zmianę częstotliwości pracy gene-
ratora relaksacyjnego skon?gurowanego wewnątrz układu. Odpowiednio
duża różnica częstotliwości jest identy?kowana jako załączenie czujnika,
czyli np. naciśnięcie klawisza. Cała technologia jest określana skrótem CSA
? CapSense Succesive Approximation. Użytkowo pokrewną do CapSense
jest technologia obsługi ekranów dotykowych, jednak w tym przypadku
wewnętrzna budowa mikrokontrolerów jest bliższa układom ogólnego
przeznaczenia. W tej grupie znajdziemy osobne podgrupy układów prze-
znaczone do pracy w systemach wymagających identy?kacji dotknięcia po-
jedynczego lub wielopunktowego (CY8CTMAXXX i CY8CTSTXXX). Trzecia
podgrupę (CY8CTMGXXX) stanowią układy przeznaczone do wykrywania
gestów (gesture) użytkownika na ekranie dotykowym, czyli np. odróżniania
zakreślania kółek od zakreślania prostokątów.
Układy przeznaczone do samochodów (automotive ? serie 8CY827x43
i 8CY829x66) od innych odróżniają się przede wszystkim dużą liczbą blo-
ków analogowych (12) i cyfrowych ? odpowiednio 8 i 16 w wymienio-
nych seriach i są to układy o strukturze bliskiej układom ogólnego prze-
znaczenia.
W technologii PSoC ?rma Cypress realizuje także specjalizowane ste-
rowniki diod LED o wysokiej jasności (CY8CLEDxx), a układy przeznaczone
Rys. 5. Schemat pełnego bloku analogowego Rys. 6. Schemat bloku cyfrowego układów PSoC
Rys. 4. Schemat
uproszczonego bloku
analogowego typu E
układu CG6462AM
84 ELEKTRONIKA PRAKTYCZNA 2/2009
WYBÓR KONSTRUKTORA
Rys. 8. Bloki cyfrowe i analogowe układu CY8C29466
Rys. 7. Ekran startowy programu PSoC Designer 5.0
do sterowania ośmioma i szesnastoma kanałami są wyposażone równie
bogato co wymienione wyżej układy samochodowe. Ciekawym przykładem
możliwości PSoC są expandery portów serii CY8C95x0A, które umożliwia-
ją uzyskanie do 60 dodatkowych
portów transmitujących lub od-
bierających sygnały cyfrowe, wy-
posażonych w wewnętrzne źródła
fali prostokątnej o regulowanym
współczynniku wypełnienia oraz
pamięć EEPROM. Funkcjonalnie po-
dobne rozszerzenia liczby portów
dla linii układów CapSense dostęp-
ne są w grupie mikrokontrolerów
CY8C20x60. Dwie ostatnie katego-
rie ? sterowniki LED oraz expandery
portów ? trudno zaliczyć wprost do typowych mikrokontrolerów.
Wśród układów przeznaczonych dla systemów bezprzewodowych
znajdziemy również jeden mikrokontroler PSoC ? jest to układ niskonapię-
ciowy CY7C603xx. Na zakończenie przeglądu grup układów PSoC trzeba
wspomnieć o układach CY8CNP102x, które są mikrokontrolerami ogól-
nego przeznaczenia, zawierają 16 bloków cyfrowych i 12 analogowych,
a oprócz tego wyposażone są w nieulotną (nv ? non volatile) pamięć RAM.
O układach tych pisaliśmy więcej w EP12/2008.
W większości wymienionych grup znajdziemy układy z wbudowanym
interfejsem USB, służącym do połączenia z systemem nadrzędnym, nato-
miast inne specjalizowane układy USB stanowią całkiem odrębną grupę
w ofercie ?rmy Cypress.
Nie tylko PSoC
Oferta ?rmy Cypress obejmuje nie tylko opisywane układy PSoC.
Zwróćmy tu tylko uwagę na stosunkowo bogato reprezentowaną grupę
związaną z USB i łącznością radiową. Specjalizowane układy USB na prze-
łomie lat 2008/2009 obejmują 26 różnych układów, z tym, że najbardziej
zaawansowane systemy USB OTG wyposażone są w rdzenie 16-bitowe.
Wśród układów dla systemów bezprzewodowych znajdziemy wspomnia-
ny wyżej mikrokontroler PSoC oraz specjalizowane nadajniki/odbiorniki na
pasmo 2,4 GHz (np. CYWM6935), także w wersjach z wbudowaną funk-
cjonalnością USB (np. CYWUSB6935).
W grupie systemów nadawczo-odbiorczych na szczególną uwagę za-
sługują układy PRoC (CYRF69xx3) oraz CYWUSB6953, który jest układem
PRoC i PSoC jednocześnie, a ponadto charakteryzuje się bardzo niskim po-
borem mocy.
Przedstawiony opis grup układów ?rmy Cypress warto potraktować
jako punkt wyjścia do własnych poszukiwań. Bardzo wygodne tabele
i zestawienia układów Cypress według różnych kryteriów dostępne są na
stronach internetowych producenta, ale także lokalnie, po zainstalowaniu
oprogramowania PSoC Designer.
Oprogramowanie dla PSoC
Podobnie jak w przypadku innych rodzin mikrokontrolerów, środowi-
sko umożliwiające pracę z mikrokontrolerami ?rmy Cypress dostępne jest
bezpłatnie. Asembler wchodzi w skład środowiska programistycznego,
a jedynym elementem, za który trzeba niestety zapłacić, jest kompilator
języka C. Jednak nie jest to kwota zbyt wysoka ? na przełomie 2008/2009
był to wydatek rzędu 150 USD w sklepie internetowym ?rmy Cypress. Do
prób wystarczy 45-dniowa wersja próbna o pełnych możliwościach, która
po tym okresie nadal umożliwia pracę, jednak może generować jedynie
2 kB kodu wynikowego dla kompilatora C, dla asemblera nie ma żadnych
ograniczeń. Czytelnikom, którzy już wcześniej interesowali się układami
PSoC, zwracamy uwagę, że w 2008 r. koncepcja środowiska uległa nie-
wielkiej zmianie i obecnie mamy do dyspozycji jeden pakiet nazwany PSoC
Designer 5.0 (rys. 7), który zastępuje wcześniejsze pakiety PSoC Designer
i PSoC Express. Projekty tworzone w aktualnej wersji dzielą się na dwie
grupy ? związany z konkretnym układem Chip Level oraz System Level, nie
wymagający de?niowania typu układu na początku procesu projektowa-
nia. Pierwszy z poziomów odpowiada wcześniejszej pracy z programem
PSoC Designer, natomiast drugi pracy z programem PSoC Express.
Ze względu na specy?kę układów PSoC, także ich środowisko pro-
gramistyczne zawiera elementy
niespotykane w innych rozwiąza-
niach. Koncepcja całości zakłada,
że z tego samego oprogramowa-
nia korzystają zarówno począt-
kujący, jak i zaawansowany kon-
struktor. Po prostu ? konstruktor
zaawansowany pomija ułatwienia
zawarte na zakładce Start Page
i przechodzi do pracy nad pro-
jektem, natomiast początkujący
i/lub uczący się może skorzystać
z prowadzącej krok po kroku dokumentacji i rozpocząć naukę. Wygodne
jest to, że podczas instalacji środowiska na dysk kopiowane są noty kata-
logowe układów Cypress oraz inne potrzebne pliki dokumentacji. Przyjęta
organizacja pakietu pozwala na bezproblemowe przełączanie się pomiędzy
dokumentacją i tworzonym na jej podstawie projektem, co znacząco uła-
twia proces uczenia się i czyni go stosunkowo wygodnym. Całość jest zor-
ganizowana tak, że można pokusić się nawet o postawienie tezy, iż zanim
konstruktor dostanie pierwszy układ z serii PSoC do praktycznych testów,
powinien zainstalować i poznać oprogramowanie PSoC Designer.
Konstruktorowi nie wolno
myśleć o rozwiązaniach
konkurencyjnych w kategoriach
? kto nie z nami, ten przeciw
nam
85ELEKTRONIKA PRAKTYCZNA 2/2009
Mikrokontrolery 8-bitowe
Rys. 9. Projektowanie ?ltra w układzie PSoC CY8C29466
dwóch bloków analogowych, natomiast przetwornik ADC czterech bloków
cyfrowych i jednego analogowego. Taką techniką można stosunkowo ła-
two oszacować cyfrowe i analogowe zasoby wewnętrzne mikrokontrolera
PSoC niezbędne do projektu, a następnie przenieść się do uboższego ukła-
du, aby na nim s?nalizować rzeczywisty projekt.
Na podkreślenie zasługuje obecność narzędzia wspomagającego pro-
jektowanie ?ltrów, które przedstawiono na rys. 9. Przerywana linia niebie-
ska przedstawia charakterystyką idealną ?ltra, zielona pokazuje możliwą
do zrealizowania w układzie. Na rysunku linie odsunięto od siebie, w rze-
czywistości dla podanych parametrów częstotliwościowych charakterystyki
można było zgrać prawie idealnie.
Dalszą część procesu projektowania można łatwo przećwiczyć korzy-
stając z opisów i przewodnika z zakładki Start Page, co gorąco polecamy
naszym Czytelnikom.
Projektowanie na poziomie systemowym (System Level) można określić
jako typowe dla każdego systemu umożliwiającego projektowanie systemu
z gotowych bloków takich jak przycisk czy wyświetlacz LCD. Jest to sposób
nazywany projektowaniem wizualnym, a PSoC Designer jest odpowiedni-
kiem Realizera dla układów STM i innych. Przy projektowaniu wizualnym
wybieramy bloki wejścia i wyjścia oraz de?niujemy dla nich odpowiednie
funkcje. Najprostszy przykład, to przycisk i dioda LED, która po naciśnięciu
przycisku powoli gaśnie lub zaczyna migać. Stworzenie małego progra-
mu, który zaświecał jedną diodę stopniowo ją rozjaśniając, podczas gdy
druga w tym czasie zaczynała migać zajęło kilka minut. Po kilku kolejnych
minutach możliwe było sterowanie dwoma innymi diodami za pomocą
potencjometru. To w gruncie rzeczy banalne programy, ale nigdy nie po-
wstaną w kilka minut, gdy bierzemy do ręki nowy dla siebie rodzaj mikro-
kontrolera, a tak było w opisanym przypadku. Dodajmy jeszcze, że system
PSoC Designer ma także moduł symulacji, może także współpracować
z debuggerem sprzętowym. Do dyspozycji projektanta są także sterowniki
dopasowane do układów scalonych innych producentów. W tym przypad-
ku chodzi o to, że gdy zadeklarujemy użycie akcelerometru typu ADXL322
(?2g), to niezależnie od ?zycznej wartości napięć z tego układu (typowo
0,66...2,34 V), dalsza część projektowanego systemu operuje na przeliczo-
nych wartościach przyśpieszenia, czyli liczbach z zakresu ?2000...2000.
Zestawy ewaluacyjne
Podobnie jak wszyscy inni wytwórcy układów scalonych, także Cypress
oferuje zestawy ułatwiające rozpoczęcie pracy z układami tej ?rmy. Do
Tab. 1. Wybrane układy PSoC ?rmy Cypress
Układ lub seria
Kon?guro-
walne bloki
analogowe
Kon?guro-
walne bloki
cyfrowe
Flash RAM Linie I/O
Zasilanie
(V)
Temperatura
(°C)
Ogólnego przeznaczenia
CY8C20x24, CY8C20x34 1 0 8K 512 13/20/24/28 2,4...5,25 -20...70
CY8C20x46 1 0 16K 2048 13/20/28 1,7...5,5 -20...70
CY8C20266, -366, -466, -666 1 0 32K 2048 13/20/28/48 1,71...5,5 -20...70
CY8C23433, -533 4 4 8K 256 24/26 4,75...5,25 -40...85
CY8C24533, -663 4 4 8K 256 25/26 3,0...5,25 -40...85
CY8C24x23A 6 4 4K 256 6/16/24 2,4...5,25 -40...85
CY8C27x43 12 8 16K 256 6/16/24/40/44 3,0...5,25 -40...85
CY8C29x66 12 16 32K 2048 24/40/44/64 3,0...5,25 -40...85
Samochodowe (Automotive)
CY8C20546-24PVXI 1 0 16K 2048 24 1,71...5,5 -40...105
CY8C20566-24PVXI 1 0 32K 2048 24 1,71...5,5 -40...105
CY8C24223A, -423A (-12PVXE) 6 4 4K 256 16/24 4,75...5,25 -40...105
CY8C27243, -443, -643 12 8 16K 256 16/24/44 4,75...5,25 -40...105
CapSense
CY8C21x23 4 (typ E) 4 4K 256 6/12/16 2,4...5,25 -40...85
CY8C21x34 4 (typ E) 4 8K 512 12/16/24/28 2,4...5,25 -40...85
CY8CTMG110-32LTXI 4 (typ E) 4 8K 512 28 2,4...5,25 -40...85
CY8CTST110-32LTXI 4 (typ E) 4 8K 512 28 2,4...5,25 -40...85
WirelessUSB
CYWUSB6953-48LFXC 4 (typ E) 4 8K 512 12 2,7...3,6 0...70
Po zainstalowaniu pakietu trzeba stworzyć nowy projekt na poziomie
układu (Chip Level) a następnie przejrzeć dostępne dla danego mikrokon-
trolera bloki funkcjonalne nazywane modułami użytkownika (User Modu-
les). Zanim jednak to nastąpi, warto także zwrócić uwagę na organizację
katalogu układów, który dostępny jest gdy wybieramy mikrokontroler. Róż-
ne przekroje i zestawienia pod kątem grupy zastosowań czy zbiorcze tabele
obejmujące m.in. wyposażenie wewnętrzne układów pozwalają na wstęp-
ny wybór mikrokontrolera Cypress. Oczywiście wybór ten możemy przepro-
wadzić niezależnie od tego, czy jest to PSoC, czy klasyczny mikrokontroler.
Przykładowo, jeżeli wybierzemy dobrze wyposażony układ CY8C29466-
24PXI, to będzie można przejrzeć 102 (sto dwa!) moduły funkcjonalne,
które można zrealizować w strukturze tego układu. Na rys. 8. widoczny
jest główny ekran przedstawiający strukturę wymienionego układu, nato-
miast okno po prawej stronie na dole przedstawia moduły podzielone na
16 grup funkcjonalnych. W środkowej części ekranu widoczna jest struk-
tura układu, a pokolorowane bloki oznaczają wybrane przez użytkownika
moduły. W tym przypadku wybrano dwubiegunowy ?ltr pasmowy (kolor
niebieski) oraz 14-bitowy przetwornik ADC (kolor zielony). Filtr wymaga
86 ELEKTRONIKA PRAKTYCZNA 2/2009
WYBÓR KONSTRUKTORA
dyspozycji są dwie główne grupy, z których pierwszą można nazwać zesta-
wami ewaluacyjnymi dla początkujących, drugą natomiast należy zaliczyć
do profesjonalnych systemów uruchomieniowych. Najtańszy zestaw, bar-
dzo zgrabnie nazwany FirstTouch Starter Kit, umożliwia łatwe zapoznanie
się z technologią CapSense. Po rozbudowie o płytki rozszerzeń, ten sam
zestaw może także posłużyć do zapoznania się z technologiami transmi-
sji bezprzewodowej CyFi LowPower. Do tego zestawu dostępny jest także
moduł nazwany Environmental Sensing Kit, który z kolei umożliwia wyko-
nanie eksperymentów np. z czujnikiem temperatury przekazującym infor-
macje drogą radiową.
Drugiz zestawów,naktórychcemyzwrócićuwagę,toCY3209-Express
EVK. Na przełomie 2008/2009 kosztował ok. 140 USD w sklepie inter-
netowym ?rmy Cypress, a w jego skład wchodzą aż cztery różne mi-
krokontrolery oraz dwa moduły radiowe. Wszystkie cztery podsystemy
znajdują się na jednej płytce drukowanej i połączone są ze sobą magi-
stralą I2
C. Do dyspozycji mamy mały mikrokontroler CY8C2134, dzięki
któremu można zapoznać się z technologią CapSense. Z kolei układ
CY8C24894 pozwala stworzyć aplikacje wykorzystujące wbudowany in-
terfejs USB, a w części obsługiwanej przez CY8C27643 zainstalowany
jest wspomniany już wcześniej akcelerometr ADXL322. Czwarta część
płytki zawiera dobrze wyposażony układ CY8C29666 wraz z kluczami
tranzystorowymi do siedmiosegmentowego wyświetlacza LED. Każdy
z modułów jest ponadto wyposażony w interfejs modułu radiowego
CyFi. Wydaje się, że ten moduł jest rozwiązaniem godnym polecenia,
tam gdzie konstruktor szuka ciekawych rozwiązań i jest otwarty na
nowe konstrukcje.
Zestawów projektowych jest wiele, ich aktualna lista dostępna jest
na stronach internetowych ?rmy Cypress, a oprócz opisanych wyżej
systemów uniwersalnych, znajdziemy rozbudowane układy projektowe
dla konkretnych grup zastosowań. Polscy dystrybutorzy zapewniają, że
ceny dla polskich klientów nie odbiegają od podanych na stronach Cy-
press.
Tylko Cypress?
Ostatnie 20 lat przyzwyczaiło nas do tego, że każda działalność i każ-
dy produkt ma swoją konkurencję. W przypadku układów PSoC ?rmy Cy-
press jest jednak inaczej ? konkurencji bezpośredniej w tej dziedzinie nie
ma, ale istnieją rozwiązania podobne w tym sensie, że funkcje układu są
programowane przez użytkownika.
W dziedzinie układów analogowych częciowe podobieństwo wyka-
zują układy ?rmy Anadigm, spółki Join Venture założonej w 2000 roku
przez Motorolę. Co ciekawe układy FPAA (Field Programmable Analog
Array) oraz dpASP (dynamically programmed Analog Signal Processors)
wykorzystują znany z PSoC blok switched capacitor i są przeznaczone
do systemów, gdzie istotna jest możliwość zmiany parametrów analogo-
wych urządzenia podczas pracy. Układy sterowane są cyfrowo, a z sy-
stemu nadrzędnego można zmieniać parametry ?ltrów, wzmocnienie
wzmacniaczy czy nawet zmieniać funkcje procesorów analogowych ? np.
logarytmowanie na mnożenie czy sumowanie. Według danych ze stron
Internetowych producenta układy stosuje się bardzo często z procesora-
mi DSP w układach medycznych, pomiarowych, samokalibrujacych itp.
W obszarze układów cyfrowych funkcje PSoC można w pewnym
zakresie realizować w układach CPLD czy FPGA, ponieważ ich funkcje
w całości programuje użytkownik i o ile nie ma potrzeby stosowania
części analogowej, wymienione technologie pozwalają na stworzenie
własnego układu ASIC. Z kolei AVR oferuje układy AT94K i AT94S, które
nazywane są FPSLIC ? Field Programmable System Level Integrated Cir-
cuit, a w swojej strukturze zawierają rdzeń 8-bitowego mikrokontrolera
AVR oraz matrycę FPGA. Można przyjąć, że z dokładnością do obecności
bloków analogowych, jest to rozwiązanie najbliższe koncepcji PSoC.
Z punktu widzenia poszukiwań układów PSoC w Internecie, jeszcze
inne podejście prezentuje ?rma ST Microelectronics. Poszukując rozwią-
zań PSoC dowiemy się, że to właśnie STM może dla nas przygotować do-
wolny układ SoC z elementów, które wybiera użytkownik. Pozostaje tylko
życzyć wszystkim polskim konstruktorom, aby mieli okazję jak najczęściej
zamawiać własne układy SoC.
Podsumowanie
Wybór konstruktora nie powinien ograniczać się do małego zakresu
?znanych i lubianych? mikrokontrolerów. Łatwo może się okazać, że po-
szukanie czegoś nowego, sięgnięcie krok dalej, otwiera nowe możliwości
i istotnie ułatwia pracę, a przy okazji gotowe projekty są tańsze.
Mariusz Dec, EP
mariusz.dec@ep.com.pl
Podczas przygotowywania niniejszego tekstu wykorzystaliśmy
następujące zestawy ewaluacyjne:
CY3210-PSOCEXPEVAL1
CY3212-CapSense
dostarczone przez o?cjalnego
dystrybutora Cypress w Polsce:
Arrow Electronics Poland Sp. z o.o.
ul. Rzymowskiego 53
02-697 Warszawa, tel. 022 558-82-82
salesof?ce.warsaw@arrowce.com
CY3209-ExpressEVK
dostarczone przez międzynarodowego
dystrybutora Cypress:
Future Electronics Poland
ul. Panieńska 9
03-704 Warszawa
tel. 022 618-92-02
www.futureelectronics.com
R E K L A M A
Zobacz więcej w kategorii Wybór konstruktora