Interfejsy transmisji szeregowej: RS-232, RS-485, I2C, SPI, CAN Wyrónia si dwa podstawowe rodzaje transmisji szeregowej: asynchroniczna i synchroniczna. Dane przesyłane asynchronicznie nie s zwizane z adnym sygnałem synchronizujcym. Transmisja przebiega zwykle bajtami przesyłanymi w postaci cigu bitów. Oprócz omiu bitów danych przesyła si dodatkowo bit startu i bit stopu oraz opcjonalnie bit parzystoci do detekcji błdów. Warto bitu parzystoci zaley od liczby bitów równych 1 w przesłanym bajcie i słuy do kontroli poprawnoci transmisji. Bit parzystoci moe kontrowa parzysto, nieparzysto lub by w ogóle pominity. W transmisji synchronicznej równolegle z cigiem bitów danych przesyła si sygnał synchronizujcy (zegar), który okrela chwile w których stan linii danych odpowiada wanym wartociom kolejnych bitów. Do transmisji asynchronicznej standardowo uywa si dwóch linii: RXD i TXD. Transmitowany sygnał ma standardowe poziomy napiciowe (TTL/CMOS), pomidzy transmisj kolejnych bajtów linia jest w stanie wysokim. Ramka danych w transmisji szeregowej w formacie 8N1 (8 bitów danych, bez parzystoci, 1 bit stopu). Sposób przesłania jednego bajtu musi by jednakowo zdefiniowany w nadajniku i odbiorniku przed rozpoczciem transmisji. Prdko transmisji jest wyraana w bodach, czyli liczbie bitów transmitowanych w cigu 1 s. Typowe prdkoci transmisji: 300, 600, 1200, 2400, 4800, 9600, 19200, 57600, 115200. Sterowanie transmisj szeregow w mikrokontrolerach 80C51 odbywa si za pomoc rejestru SCON 1
SM2 komunikacja wieloprocesorowa, REN - zezwolenie na odbiór, jeli wpisane jest 0, sterownik tylko nadaje, TB8, RB8-9 bit transmisji dla nadawania i odbioru, TI, RI flagi zakoczenia operacji nadawania/odbioru, zgłoszenie przerwania Połczenie dwóch mikrokontrolerów łczem szeregowym RS-232 Interfejs RS-485 Master/Slave do 1200 m Linia symetryczna (przewody A i B) do połczenia na znaczne odległoci wielu niezalenych urzdze, jedno urzdzenie nadaje, reszta odbiera. Magistrala zakoczona terminatorami 120 2
Magistrala I 2 C Interfejs I 2 C (ang. Inter-integrated-circuit) opracowany przez firm Philips I 2 C umoliwia wymian danych midzy cyfrowymi układami scalonymi i blokami funkcjonalnymi. Transmisja danych odbywa si szeregowo, w dwóch kierunkach, przy uyciu dwóch linii. Jedna z nich jest oznaczona symbolem SCL (serial clock line) i przesyła impulsy zegarowe synchronizujce transmisj, druga linia SDA (serial data line) transmituje dane. Do sterowania szyn nie jest niezbdny mikrokontroler lub mikroprocesor. Mikrokontrolery mog współpracowa z szyn I 2 C: przy uyciu wbudowanego interfejsu I 2 C, z wykorzystaniem układów czasowych (liczników), przez linie szybkiego uniwersalnego portu transmisji szeregowej, metod emulacji protokołu I 2 C przez jednostk centraln. W transmisji uczestniczy układ nadrzdny (Master) oraz jeden lub wicej układów podrzdnych (Slave). Transmisja danych jest inicjowana, gdy stan linii SDA zmieni si z wysokiego na niski, podczas gdy linia zegarowa SCL jest w stanie wysokim. Sytuacja taka jest nazywana warunkiem startowym (Start). Koniec transmisji ma natomiast miejsce wtedy, gdy linia SDA zmieni stan z niskiego na wysoki, podczas gdy linia zegarowa jest w stanie wysokim. Jest to warunek nazywany Stop. 3
Stan linii danych moe by zmieniany tylko wówczas, gdy linia zegarowa znajduje si w stanie niskim. Protokół transmisji szeregowej - I 2 C Informacje s przesyłane bajtami, w postaci szeregowej, przy czym jako pierwszy wysyłany jest najbardziej znaczcy bit. Po przesłaniu danych wysyłany jest sygnał potwierdzenia oznaczany symbolem A lub ACK. Dziewity impuls zegara towarzyszcy potwierdzeniu jest generowany przez układ MASTER. Po wygenerowaniu warunku Start układ Master wysyła na szyn adres układu Slave, z którym chce współpracowa. Adres składa si z siedmiu bitów, po których nastpuje ósmy bit R/W okrelajcy kierunek transmisji. Jeli R/W=0, dane bd przesyłane z układu Master do układu Slave, natomiast gdy R/W=1, kierunek transmisji bdzie odwrotny. Format transmisji I 2 C - wysyłanie danych z Master do Slave Sesja zaczyna si blokiem Start złoonym z warunku Start, adresu urzdzenia Slave i bitu kierunku R/W. Przyjcie bloku Start jest potwierdzane przez Slave bitem A. dalej nastpuje sekwencja przesła bajtów danych z układu master do Slave, koczona zawsze potwierdzeniem przesyłanym przez Slave. Sesja koczy si wygenerowaniem warunku Stop (P) przez układ Master. Przemysłowa norma szyny I 2 C zakłada moliwo transmisji sygnałem zegarowym SCL o czstotliwoci od 0 do 100 khz. 4
Interfejs SPI magistrala szeregowa stosowana w urzdzeniach mikroprocesorowych. Cech charakterystyczn jest synchroniczna transmisja danych, która moe odbywa si jednoczenie w dwóch kierunkach (full-duplex). Prdko transmisji moe by dowolna, jest ograniczana moliwociami wolniejszego układu. Przykładowa konfiguracja magistrali szeregowej SPI Na magistral SPI składaj si trzy linie odpowiadajce za transmisj danych: SCK linia sygnału taktujcego, MISO i MOSI stanowice odpowiednio wyjcie i wejcie transmitowanych danych. Linie danych współpracujcych układów maj wyjcia przeciwsobne i podczas spoczynku przyjmuj stan wysokiej impedancji. Transmisje zawsze inicjuje urzdzenie nadrzdne, generujce sygnał na linii SCK. Linie magistrali SPI s zawsze jednokierunkowe linia MISO jest zawsze wyjciem natomiast linia MOSI jest wejciem. Dla uzyskania transmisji danych linie MISO i MOSI łczy si na krzy (podobnie jak w standardowym interfejsie szeregowym). Standardowo transmisja danych odbywa si w paczkach 8-bitowych, przy czym najbardziej znaczcy bit transmitowany jest jako pierwszy Dwukierunkowa transmisja na magistrali SPI 5
Interfejs CAN (ang. Controller Area Network Idea CAN polega na zastpieniu dedykowanych, długich i drogich połcze mikrokontrolera z indywidualnymi czujnikami i układami wykonawczymi przez wspóln szyn transmisji szeregowej. Szyna CAN jest asynchroniczn szyn transmisji szeregowej z jedn tylko lini transmisyjn. Ma struktur otwart, tzn. moe by rozszerzona o nowe wzły (odbiorniki/nadajniki) oraz liniow, czyli nie zawiera ptli. Minimalna konfiguracja CAN składa si z dwóch wzłów. Liczba wzłów w trakcie pracy moe si zmienia bez wpływu na działanie, poszczególne wzły s przyłczone do szyny na zasadzie funkcji zwarty iloczyn (wired-and). Przy braku sterowania szyna znajduje si w stanie nazywanym recesywnym R, któremu odpowiada stan logiczny 1. Najtaszym i najbardziej popularnym sposobem realizacji szyny jest uycie pary skrconych przewodów oznaczonych symbolami CAN_H i CAN_L. Połczenie mikrokontrolera z szyn CAN Port CAN mikrokontrolera łczy si z szyn wyprowadzeniami CAN_RXD i CAN_TXD, odbiornik/nadajnik szyny CAN gwarantuje odpowiednie parametry napiciowe i prdowe na liniach CAN_H i CAN_L. Maksymalna szybko transmisji szyn CAN wynosi 1 Mbps przy długoci linii do 40 m, szyna o długoci 1000 m moe pracowa z szybkoci 40kbps. Adresowanie i arbitra szyny W standardzie CAN adresy odbiorników s przesyłane jako integralna cz przekazu, podobnie jak ma to miejsce w przypadku interfejsu I 2 C. Adres odbiornika jest nazywany identyfikatorem. Warto liczbowa adresu słuy ponadto do okrelania priorytetu przekazu. 6
Arbitra szyny wykonuje si metod CSMA/CD. Jeeli wzeł X zamierza wysła informacje, najpierw musi sprawdzi, czy szyna jest wolna. Wówczas wzeł moe otrzyma status Master i przesła informacje. Wszystkie pozostałe wzły przełczaj si podczas nadawania pierwszego bitu (start of frame) w stan odbioru. Po poprawnym odebraniu informacji przez kady z wzłów, wzły sprawdzaj identyfikator i zapamituj przekaz, jeli był do nich adresowany. Specyfikacja standardu CAN w wersjach 1.0 i 2.0 przewiduje 11-bitowe identyfikatory, czyli umoliwia współprac 2048 wzłów. Najnowsza specyfikacja 2.0B rozszerza identyfikator do 29 bitów, dajc teoretyczn moliwo adresowania olbrzymiej liczby 536 milionów współpracujcych ze sob urzdze wersja ta nazywana jest czsto rozszerzon specyfikacj CAN. Format transmisji CAN (sekwencja przekazu CAN jest generowana przez wzeł, który zamierza wysła dane na szyn. Zaczyna si bitem SOF (start of frame), który słuy do synchronizowania wszystkich wzłów. Po bicie SOF nastpuje przekaz pola arbitrau, zbudowanego w standardowej wersji CAN z 11-bitowego identyfikatora i bitu RTR (remote transmission reguest). Nastpne pole, złoone z 6 bitów jest polem sterujcym (control field). Pierwszy bit pola IDE wskazuje czy sekwencja jest standardowa. Nastpny bit jest zarezerwowany dla przyszłych rozszerze standardu CAN. Kolejne 4 bity (DLC) okrelaj długo przekazu w bajtach (0 do 8). Dopiero teraz wzeł wysyła dane. Po danych wzeł wysyła 15-bitowy kod kontroli błdów CRC. Ostatnie pole słuy do potwierdzenia odbioru przekazu. 7
Przetworniki a/c Charakterystyka przejciowa przetworników a/c 3-bitowego Liczba poziomów kwantowania (kroków) jest równa 2 3 = 8, a krok kwantowania Q = U FS /8. Jedno słowo kodowe reprezentuje wszystkie wartoci napicia z odpowiadajcego mu przedziału kwantowania. Z przetwarzaniem analogowo-cyfrowym jest nierozłcznie zwizany tzw. błd kwantowania, który okrela rónic midzy rzeczywist wartoci napicia a wartoci wynikajc z procesu kwantowania. Przy przesuniciu charakterystyki przejciowej przetwornika a/c o warto Q/2 uzyskuje si zmiany błdu kwantowania w przedziale od -Q/2 do +Q/2 (rys. b). Oczywicie błd kwantowania bdzie tym mniejszy, im wiksz rozdzielczo ma przetwornik a/c. Przetworniki a/c mona podzieli na układy o przetwarzaniu bezporednim i porednim. W przetwornikach a/c o przetwarzaniu bezporednim napicie wejciowe jest bezporednio porównywane z napiciem odniesienia nalecym do jednego z 2 n przedziałów napi, przy czym kademu przedziałowi jest przypisane n-bitowe słowo kodowe. Podstawow zalet przetwornika jest dua szybko przetwarzania (ns). Przetworniki szeregowe mimo dłuszego czasu przetwarzania (kilka mikrosekund) wyróniaj si z kolei wiksz rozdzielczoci (6-16 bitów).w przetwornikach a/c o działaniu porednim napicie wejciowe jest przetwarzane na wielko poredni, z reguły czas lub czstotliwo, która jest nastpnie mierzona jedn z metod cyfrowych (zwykle metod opart na zliczaniu impulsów) Napicie wejciowe U I podawane jednoczenie na wejcia wszystkich komparatorów, wywołuje stan logiczny l na wyjciach tych komparatorów, dla których napicie U I jest wiksze od ich napicia progowego ustalonego precyzyjnym dzielnikiem napicia odniesienia. 8
Przetwarzanie metod kolejnych przyblie w przetwornikach a/c Istota działania tego układu polega na porównywaniu w komparatorze K napicia wejciowego U I z napiciem U p wytwarzanym na wyjciu wewntrznego przetwornika c/a (DAC). Przetwornik DAC jest sterowany przez rejestr SAR (sukcesywnej aproksymacji). Przetworniki c/a z dwójkowo waonymi rezystorami Wzmacniacz operacyjny pracuje w układzie sumujcego przetwornika prdnapicie. Do wzła A wpływa prd I bdcy sum prdów I 1, I 2,...,I n : I=a 1 (U R )/R+a 2 (U R )/2R+...+a n (U R )/2 n-1 R Powan wad układu jest natomiast stosowanie rezystorów rónicych si od siebie znacznie wartoci rezystancji. 9