Urządzenia peryferyjne procesora ColdFire 1
Moduł generatora sygnału zegarowego (Clock Module) 2
Generator z pętlą PLL (1) Pętla synchronizacji fazy, pętla sprzężenia fazowego, PLL (ang. Phase Locked Loop) - układ elektroniczny działający na zasadzie sprzężenia zwrotnego, służący do automatycznej regulacji częstotliwości. Stosowana w syntezerach częstotliwości heterodyny w odbiornikach radiowych, telewizyjnych oraz w generatorach częstotliwości wzorcowych i powielaczach częstotliwości. Generator PLL zbudowany jest z: generatora sygnału referencyjnego (rezonatora kwarcowego), detektora fazy, filtru dolnoprzepustowego, generatora przestrajanego napięciem - VCO, pętli sprzężenia zwrotnego, w której występuje dzielnik częstotliwości. 3
Kamerton 4
Generator z pętlą PLL (2) Sygnał wysokiej częstotliwości generowany przez VCO jest sygnałem na wyjściu całego urządzenia (Fo). Jednocześnie podawany jest do pętli sprzężenia zwrotnego, w której zwykle następuje dzielenie jego częstotliwości tak, aby była równa częstotliwości sygnału referencyjnego (Fi). Dzięki temu różnica faz obu sygnałów - uzyskana w detektorze fazy - po przejściu przez filtr steruje generatorem VCO, korygując jego częstotliwość. 5
Generator z zamkniętą pętlą fazową PLL Phase-Locked Loop (PLL) U D 6
Modułu generatora sygnału zegarowego x 4-18 7
Rejestry sterujące modułem PLL Blokada pętli f < 0.0075 * fclk Utrata synchronizacji f > 0.015 * fclk 8
Częstotliwość sygnału zegarowego fsys * 2 ***(MFD 2)+ /2)2RFD 88 Mhz 28 *(MFD / 2RFD fsys == fref Mhz = 64+MHz 9
Timery procesora MCF528x (1) Moduł timera PIT (Programmable Interrupt Time Module) (2) Moduł timera GPT (General Purpose Timer Module) (3) Moduł timera DMA (DMA Timer Module) (4) Moduł licznika WatchDog 10
Moduł timera PIT (Programmable Interrupt Timer Module) 11
Schemat blokowy modułu timera PIT 2-65636 12
Rejestry sterujące PIT0 - PIT3 13
Rejestr sterujący oraz statusowy 14
Tryby pracy timera PIT 15
Automatyczne przeładowanie timera 0xFFFF PMR 0x8FFF 0x0000 PIF=1 jeżeli PITcounter = 0x0000 PCSRn [RLD] = 0 PCSRn [RLD] = 1 PIF=1 jeżeli PITcounter = 0x0000 PIT timer = PMR 16
Czas odmierzany przez timer PIT fclk = 64 MHz => ~120 ns ~130 s 17
Tablica wektorów przerwań 18
Moduł timera GPT (General Purpose Timer Module) 19
Możliwości timera GPT Input capture pomiar długości sygnałów doprowadzonych do wejścia IOSn. Minimalna długość mierzonego impulsu musi być większa od dwóch taktów zegara. Output compare generacja przebiegów o określonej polaryzacji, częstotliwości lub długości (ustawienie,negacja lub wyzerowanie wyprowadzenia sterującego). Event counter zliczanie zdarzeń (zboczy) o określonej polaryzacji. Gated time accumulation akumulacyjne zliczanie czasu trwania doprowadzonych impulsów 20
Schemat blokowy timera GPT A/B 1-128 Input Capture Output Compare zew. zegar incrementujący licznikgpt 21
Sygnały wejścia/wyjścia timera GPT A/B 22
Rejestry sterujące timerami GPTA/GPTB 23
Rejestr stanu timera GPT 24
Tablica wektorów przerwań 25
Generacja przebiegu prostokątnego TOF =1 0xFFFF 0xBFFF 0x7FFF 0x4FFF 0x0000 CnF = 1 OCn 26
Modulacja szerokości impulsów PWM (1) Pulse Width Modulation Wypełnienie D = szerokość impulsu / okres impulsu 27
Modulacja szerokości impulsów PWM (2) Pulse Width Modulation Filtr dolnoprzepustowy 28
Implementacja PWM z użyciem GPT Kanał 0 modułu GPT A okres D = 100 % OC0 = '1' OC0 = '0' D = 25 % 0x3FFF D = 50 % 0x7FFF 0 D = 75 % 0xBFFF 0xFFFF 29
Moduł timera DMA (DMA Timers) 30
Schemat blokowy timera DMA (DTIM0 - DTIM3) 31
Charakterystyka timera DMA Maksymalny okres timera 266521 s (~74 h) dla fclk=66 Mhz (dzielnik 16-bit, dzielnik 8-bit, licznik 32-bit), Minimalny okres timera 15 ns, Możliwość reakcji na zewnętrzne zdarzenia oraz generacji sygnału o kreślonym okresie, Możliwość zgłaszania przerwań oraz incjowania transferów DMA. 32
Zerowanie licznika DTCNn DTMRn [FRR] Free Run/Restart = 0 0xF...F DTRRn 0x0...0 DTMRn [FRR] Free Run/Restart = 1 33
Rejestry konfiguracyjne 34
Rejestr sterujący timerem DMA 35
Pomocniczy rejestr sterujący 0 => IRQ 1 => DMA 36
Rejestr statusowy 37
Tablica wektorów przerwań 38
Przykład DTMRn[PS] = 0x00-0xFF <= prescaler 1-255 fclk = 66 MHz prescaler wstępny = 16 DTMRn[PS] = 0x7F <= prescaler równy 127 Rejestr porównawczy = 0xFBC5 (d 64453) DMA timer time-out = 1/66 Mhz * 16 * (127+1) * 64453 = 1.999996s 39
Moduł sterujący sygnałem reset (Reset Controller Module) 40
Schemat blokowy modułu sterującego sygnałem reset min. 4 cykli zegara ok. 512 cykli zegara flagi źródła uaktywniającego dostępne są z RSR Jeżeli Vcc < VLVD (2.7 V) 41
Rejestr sterujący 42
Moduł timera Watchdog (Watchdog Timer Module) 43
Timer Watchdog (1) Watchdog (z ang. "Czuwający pies") to urządzenie, najczęściej układ elektroniczny, chroniący system mikroprocesorowy przed zbyt długim przebywaniem w stanie zablokowania (zawieszeniem się). Jego działanie polega na zresetowaniu procesora w przypadku nieotrzymania od niego sygnału w określonym czasie. 16-bitowy licznik dekrementowany sygnałem zegarowym podzielonym przez 8192 (2^13). 66.000.000 Hz / 8192 = 8056 Hz (124 µs 8.13 s) 44
Timer Watchdog (2) 1. wpis 0x5555 2. wpis 0xAAAA 45
Rejestry modułu Watchdog 46
Interfejs szeregowy EIA RS232, modluł UART(Universal Asynchronous Receiver/Transmitter module) 47
Interfejs szeregowy EIA RS232 48
Transceiver UART Rejestr przesuwny D0-D7 Nadajnik TxD Clk D0-D7 Odbiornik RxD Clk 49
Ramka danych transmitera UART Mark Space 50
Transmisja synchroniczna, czy asynchroniczna? 51
Specyfikacja elektryczna EIA RS232c 52
Kabel null modem EIA 232 53
Dodatkowe linie sterujące Hardware Flow Control DTE (ang. Data Terminal Equipment) - urządzenie do przetwarzania danych (końcowe, np. komputer) DCE (ang. Data Circuit-terminating Equipment) urządzenie do transmisji danych (np. Modem) DSR - Data Set Ready - gotowość modemu DTR - Data Terminal Ready - gotowość terminala RTS - Request to Send Data - żądanie wysyłania CTS - Clear to Send - gotowość wysyłania 54
Pełny kabel null modem 55
Sygnały złącza zgodne ze standardem EIA232 56
Poziomy napięć określone przez standard EIA 232 Wyjście procesora Standard EIA RS 232 57
Konwerter poziomów napięć MAX 232 (5 V) MAX 3232 (3,3 V) CD Carried Detect RI Ring Indicator 58
Moduł transmitera procesora ColdFire UART 0 UART 2 59
Interfejs modułu transmitera 60
Źródło sygnału zegarowego Nadajnik odpowiedzialny jest za generowanie ramek zgodnych ze standardem EIA232 (bit startu, 5-8 bitów danych, opcjonalny bit parzystości, bity stopu). Odbierane dane są próbkowane na narastającym zboczu zegara. Jeżeli długość ramki się nie zgadza ustawiona jest flaga FE. Jeżeli nie zgadza się parzystość ustawiana flaga jest PE. flaga OE ustawiana jest, gdy przepełni się bufor odbiorczy lub FIFO. flaga RB ustawiana jest, gdy odebrany jest sygnał Receiver Break. 61
Przykład obliczenia dzielnika sygnału zegarowego Baudrate = 19 200 fclk = 66 Mhz Divider = 107,421875 d 0x6B UBG1n = 0x00, UBG2n = 0x6B 62
Rejestry modułu UART UCR[MISC] = 001b 63
Rejestry modułu UART 64
Rejestr sterujący UMR1n 65
Rejestr statusowy USRn 66
Przebiegi sterujące nadajnikiem wyjście TxD '01' tr. wł. UCRn '1' tr. ready wew. syg. sterujące wejście wyjście 67
Przebiegi sterujące odbiornikiem wejście RxD '01' rec. wł. UCRn Flaga RxRDY Flaga FFULL wew. syg. sterujące Flaga OE Flagi RB, FE, PE tracą ważność Reset Error Status (UCRn) 68
Tryby diagnostyczne modułu UART CF PC 69
Rejestr sterujący UMR2n 70
Przerwania generowane przez moduł UART, transmisja DMA (1) wybór przerwania: RxRDY/FFULL narastające zbocze na linii /CTS wykryto sygnał przerwy RxRDY lub FFULL (UMR1x) bufor nadajnika wolny 0 dana w buforze FIFO 1 bufor FIFO zapełniony 71
Tablica wektorów przerwań 72
Wyprowadzenia modułu UART 73
Konfiguracja wyprowadzeń modułu UART 74
Przerwania generowane przez moduł UART, transmisja DMA (2) MISC=0x010 MISC=0x011 IACKLPRn=UART_IRQ, adres IRQ w tab. IRQ COS / DB / FFUL/RxRDY / TxRDY 8n1, brak kontroli parzystości, 9600 baud IRQ dla UISRn[cos]? RCS=1101, TCS=1101 IRQ od RxRDY, czy FFULL? Sterowanie flagą ERR PM=10 brak kontroli parzystości B/C=11 ramka 8 bitowa CM=00, tryb normalnej pracy SB=0111, pojedyncza długość TC=01, RC=01 włącz TxD oraz RxD Konfiguracja wprowadzeń TxD/RxD oraz UBG1n/BG2n 75