Mikrokontrolery 8-bitowe. PSoC nie da się ominąć szerokim łukiem. To jest to

Mikrokontrolery 8-bitowe. PSoC nie da się ominąć szerokim łukiem. To jest to
Pobierz PDF Download icon
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
Artykuł ukazał się w
Luty 2009
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów