współpraca procesora coldfire z urządzeniami peryferyjnymi
TRANSCRIPT
1
Współpraca procesora ColdFire z urządzeniami peryferyjnymi
2
Współpraca procesora z urządzeniami Współpraca procesora z urządzeniami peryferyjnymiperyferyjnymi
Interfejsy dostępne w procesorach rodziny ColdFire:● Interfejs równoległy,● Interfejsy szeregowe:
– Interfejs zgodny ze standardem EIA 232,– Interfejs SPI,– Interfejs I2C,– Interfejs CAN,– Interfejs USB,
● Magistrala PCI.
3
Współpraca procesora z urządzeniami Współpraca procesora z urządzeniami peryferyjnymiperyferyjnymi
Interfejsy dostępne w procesorach rodziny ColdFire:● Interfejs równoległy,● Interfejsy szeregowe:
– Interfejs zgodny ze standardem EIA 232,– Interfejs SPI,– Interfejs I2C,– Interfejs CAN,– Interfejs USB,
● Magistrala PCI.
4
Serial Peripheral InterfaceSerial Peripheral Interface
Cechy interfejsu SPI:● Szeregowa transmisja synchroniczna,● Transfer full duplex, master-slave lub master-multi-slave,● Duża szybkość transmisji (>12 Mbit/s),● Zastosowanie:
– układy peryferyjne (ADC, DAC, RTC, EEPROM, termometry, itp),
– sterowanie pomocnicze (matryca CCD z szybkim interfejsem równoległym).
5
Serial Peripheral InterfaceSerial Peripheral Interface
Master Output Slave Input
Master Input Slave Output
Master Slave
CS
6
Protokół interfejsu SPIProtokół interfejsu SPIKonfiguracja sygnału zegarowego:
Polaryzacja zegara:Polaryzacja ujemna CPOL = 0 (stan niski, 8 impulsów zegara),
Polaryzacja dodatnia CPOL = 1 (stan wysoki, 8 ujemnych impulsów zegara).
Faza zegara:Zerowa faza zegara (próbkowanie na pierwszym zboczu zegara),
Opóźniona faza zegara (próbkowanie na drugim zboczu zegara).
7
Termometr z interfasem SPITermometr z interfasem SPI
TMP 121:● Obudowa SOT 23-6,● FClk mak. = 15 MHz● Interfejs: SPI-Compatible Interface●Rozdzielczość: 12-Bit + Sign, 0.0625°C●Dokładność: ±1.5°C od −25°C do +85°C●Pobór prądu w stanie uśpienia: 50μA (mak.)●Zasilanie: 2.7V to 5.5V
3 mm
8
Ramka SPI termometru TMP121Ramka SPI termometru TMP121
9
Queued SPI (2)Queued SPI (2)
Cechy modułu QSPI:● Kolejka FIFO umożliwiająca obsługę do 16 transferów (bez udziału procesora),● Transfery danych od 8 do 16 bitów,● Cztery programowalne wyjścia aktywujące urządzenia dołączone do SPI (obsługa do
15 urządzeń),● Szybkość transmisji od 129,4 kbps do 16,67 Mbps dla 66 MHz,● Programowalne opóźnienia pomiędzy transferami,● Programowalna polaryzacja i faza zegara,● Wsparcie do ciągłej pracy z minimalnym udziałem procesora (przetwornika ADC,
DAC)
10
Queued SPI (2)Queued SPI (2)
3x8x16 B
FIFO
Command
RxD FIFO 8x16 B
TxD FIFO 8x16 B
11
Magistrala I2CMagistrala I2CMagistrala I2C:
● Dwuprzewodowy interfejs synchroniczny (SDA – linia danych, SCL – linia zegara),● Transmisja dwukierunkowa, typu master-slave (multi-master), ramki 8-bitowe, ● Szybkość transmisji:
● 100 kbps (standard mode),● 400 kbps (fast mode),● 3,4 Mbps (high-speed mode),
● Urządzenia posiadają niepowtarzalne adresy (7-bitów lub 10-bitów),● Synchronizacja przy pomocy sygnału zegarowego umożliwia pracę urządzeń
komunikujących się z różnymi szybkościami,● Liczba urządzeń dołączonych do magistrali ograniczona jest pojemnością magistrali
(400 pF),● Mechanizmy arbitrażu umożliwiające uniknięcie kolizji i utraty danych.
12
Zastosowanie interfejsu I2CZastosowanie interfejsu I2C
W sprzedaży dostępnych jest wiele bardzo tanich układów scalonych sterowanych poprzez I²C:
* PCF8563/8583 - zegar, kalendarz, alarm, timer, dodatkowo może służyć jako RAM
* PCF8574 - pseudo-dwukierunkowy 8-bitowy ekspander * PCF8576, PCF8577 - sterowniki wyświetlaczy LCD * PCF8582 - pamięć EEPROM 256 bajtów (1, 2, 4 kB, ... MB) * PCF8591 - 8-bitowy, 4-kanałowy przetwornik analogowo-cyfrowy i cyfrowo-
analogowy
13
Magistrala I2CMagistrala I2C
Urządzenie nadrzędne (Master) – inicjuje transmisję, generuje sygnał zegarowy
Urządzenie podrzędne (Slave) – analizuje wysłany przez urządzenie adres i transmituje lub odbiera dane.
14
Rozpoczęcie oraz zakończenie transmisji Rozpoczęcie oraz zakończenie transmisji
Rozpoczęcie transmisji – generacja sygnału START (opadające zbocze na szynie SDA, zmiana stanu z “1” na “0” logiczne, podczas ważnego sygnału SCL = ”1”). Sygnał generuje Master.
Zakończenie transmisji – generacja sygnału STOP (narastające zbocze na szynie SDA, zmiana stanu z “0” na “1” logiczną,podczas ważnego sygnału SCL = ”1”). Sygnał generuje Master.
15
Protokół I2CProtokół I2C
A) Transmisje rozpoczyna Master generując sygnał START. B) Następnie transmituje 8 bitów danych (7 bitów adresowych, bit R/W). C) Po transmisji 8 bitów Slave przejmuje magistralę i wymusza odpowiedni poziom na linii SDA (9 takt zegara). Odpowiada w ten sposób bitem potwierdzenia ACK (brak potwierdzenia, ACK = “1”). E) Po przesłaniu adresu następuje faza odczytu lub zapisu danej do obsługiwanego urządzenia (8 bitów danych). F) Po przesłaniu danych urządzenie nadrzędne kończy transmisję generując brak potwierdzenia (ACK = “1”) oraz bit stopu.
16
Zapis lub odczytZapis lub odczyt
7-bit
7-bit
17
Magistrala I2CMagistrala I2C
Moduł sterujący interfejsem I2C procesorów z rodziny ColdFire:• Zgodny ze standardem w wersji 2.1,• Umożliwia dołączenie urządzeń zasilanych napięciem 3,3 V,• Praca w trybie multimater,• Możliwość użycia 50 różnych częstotliwości zegara (fclk/28 - fclk/2048),• Transfery poszczególnych bajtów wyzwalane przerwaniami,• Arbitration-lost interrupt with automatic mode switching from master to slave• Przerwanie zgłaszane, gdy zostanie wykryty adres urządzenia w trybie Slave,• Automatyczne Wykrywanie stanu zajętością magistrali.
18
Schemat blokowy modułu I2CSchemat blokowy modułu I2C
19
Rejestr statusowy I2SRRejestr statusowy I2SR
20
Magistrala CAN (Control Area Network)Magistrala CAN (Control Area Network)Charakterystyka magistrali CAN:
● Szeregową magistralą komunikacyjną typu multi-master (obecny standard 2.0A oraz 2.0B),● Długość identyfikatora: 11-bitowy identyfikator (2.0A ) i 29-bitowy identyfikator (2.0B),● Transmisja oparta na komunikatach rozgłoszeniowych (broadcast),● Transmisja różnicowa,● Szybkość transmisji do 1 Mbit/s na dystansie do 40 m (250 kbit/s na 250 m),● Transmisja do 8 bajtów w jednym komunikacie,● Komunikaty rozpoznawana są na podstawie identyfikatorów,● CAN charakteryzuje się dużą odpornością na zakłócenia elektromagnetyczne i
niezawodnością,● Rozbudowana sprzętowa obsługa błędów,● Możliwość dołączenia do 30 urządzeń do magistrali.
21
Model warstwowy interfejsu CANModel warstwowy interfejsu CAN
22
Warstwa fizyczna (1)Warstwa fizyczna (1)
Rter. = 120 R
SN65HVD230
23
Warstwa fizyczna (2)Warstwa fizyczna (2)
Dwa stany magistrali:
“1” niedominujący (recessive)“0” dominujący (dominant)
24
Transceiver CANTransceiver CAN
25
Przykładowa ramka magistrali CANPrzykładowa ramka magistrali CAN
ID – identyfikator ramkiRTR (Remote Transmit Request) – żądanie przesłania danychArbitration Field – ustala priorytet komunikatu (12 bit, 0 najwyższy priorytet)Control Field – (IDE – “0” ramka standardowa CAN 2.0A, “1” ramka rozszerzona CAN 2.0B,
RB0 - zarezerwowany, DLC – długość ramki)CRC – 15-bitowa suma kontrolna Data Field – transmitowane dane (maksymalnie 8 B)
Error Frame – błąd w odebranej ramce (CRC) Overload Frame – urządzenie nie jest gotowe do przesłania danycha
26
Sterownik CAN procesora ColdFire (1)Sterownik CAN procesora ColdFire (1)
Cechy charakterystyczne:● Sterownik kompatybilny ze standardem CAN 2.0:
● Obsługa ramek zgodnych z CAN 2.0A (do 109 bit),● Obsługa ramek rozszerzonych zgodnych z CAN 2.0B (do 127 bit),● Długość pola danych maksymalnie 8 B,
● Programowalna szybkość transmisji do 1 Mbit/s,● 16 programowalnych buforów pracujących jako Rx lub Tx (0-8 B),● Adresowanie zależne od zawartości ramki,● 16-bitowy rejestr odmierzający czas,● Licznik czasu synchronizowany specjalnymi komunikatami● Maskowalne przerwania,● Sterownik niezależny od medium fizycznego (transmisja różnicowa,
światłowodowa),● Krótki czas obsługi komunikatów o dużym priorytecie,● Tryb obniżonego poboru mocy (Sleep, Hibernation).
27
Sterownik CAN procesora ColdFire (2)Sterownik CAN procesora ColdFire (2)
28
Współpraca procesora ColdFire z Współpraca procesora ColdFire z zewnętrznym układem PHYzewnętrznym układem PHY
29
Bufory komunikacyjne CANBufory komunikacyjne CAN
RTR0 Data FrameRemote Frame
ID = 29 bit
ID = 11 bit
SRR0 Data FrameRemote Frame
30
EgzaminEgzamin
Sala Seminaryjna
Egzamin: 26.01.2007 1.02.2007
~16.02.2007
31
Prace magisterskiePrace magisterskie
1. Współpraca z ośrodkiem naukowo-badawczym DESY w Hamburgu w ramach projektu CARE
2. Współpraca w ramach projekty PERPLEXUS
32
CARE (1)CARE (1)
Sterownik SimCon 3.1LSterownik SimCon 3.1L
33
CARE (2) CARE (2)
ATCA - Advanced Telecom Computing Architecture
Sterownik Sterownik ATCAATCA
34
CARE (3)CARE (3)
Płyta uruchomieniowa z interfejsem PCIePłyta uruchomieniowa z interfejsem PCIe
35
PERPLEXUS (1)PERPLEXUS (1)
36
PERPLEXUS (2)PERPLEXUS (2)
37
PERPLEXUS (3)PERPLEXUS (3)