37
1 Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

1

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Page 2: 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.

Page 3: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 4: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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).

Page 5: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

5

Serial Peripheral InterfaceSerial Peripheral Interface

Master Output Slave Input

Master Input Slave Output

Master Slave

CS

Page 6: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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).

Page 7: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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

Page 8: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

8

Ramka SPI termometru TMP121Ramka SPI termometru TMP121

Page 9: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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)

Page 10: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

10

Queued SPI (2)Queued SPI (2)

3x8x16 B

FIFO

Command

RxD FIFO 8x16 B

TxD FIFO 8x16 B

Page 11: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 12: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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

Page 13: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 14: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 15: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 16: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

16

Zapis lub odczytZapis lub odczyt

7-bit

7-bit

Page 17: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 18: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

18

Schemat blokowy modułu I2CSchemat blokowy modułu I2C

Page 19: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

19

Rejestr statusowy I2SRRejestr statusowy I2SR

Page 20: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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.

Page 21: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

21

Model warstwowy interfejsu CANModel warstwowy interfejsu CAN

Page 22: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

22

Warstwa fizyczna (1)Warstwa fizyczna (1)

Rter. = 120 R

SN65HVD230

Page 23: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

23

Warstwa fizyczna (2)Warstwa fizyczna (2)

Dwa stany magistrali:

“1” niedominujący (recessive)“0” dominujący (dominant)

Page 24: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

24

Transceiver CANTransceiver CAN

Page 25: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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

Page 26: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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).

Page 27: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

27

Sterownik CAN procesora ColdFire (2)Sterownik CAN procesora ColdFire (2)

Page 28: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

28

Współpraca procesora ColdFire z Współpraca procesora ColdFire z zewnętrznym układem PHYzewnętrznym układem PHY

Page 29: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

29

Bufory komunikacyjne CANBufory komunikacyjne CAN

RTR0 Data FrameRemote Frame

ID = 29 bit

ID = 11 bit

SRR0 Data FrameRemote Frame

Page 30: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

30

EgzaminEgzamin

Sala Seminaryjna

Egzamin: 26.01.2007 1.02.2007

~16.02.2007

Page 31: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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

Page 32: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

32

CARE (1)CARE (1)

Sterownik SimCon 3.1LSterownik SimCon 3.1L

Page 33: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

33

CARE (2) CARE (2)

ATCA - Advanced Telecom Computing Architecture

Sterownik Sterownik ATCAATCA

Page 34: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

34

CARE (3)CARE (3)

Płyta uruchomieniowa z interfejsem PCIePłyta uruchomieniowa z interfejsem PCIe

Page 35: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

35

PERPLEXUS (1)PERPLEXUS (1)

Page 36: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

36

PERPLEXUS (2)PERPLEXUS (2)

Page 37: Współpraca procesora ColdFire z urządzeniami peryferyjnymi

37

PERPLEXUS (3)PERPLEXUS (3)