background image

 

 

Systemy sterowania 

w elektronice przemysłowej

Wykład 4

dr inż. Bartosz Pękosławski

Łódź, dn. 12.04.2012

Katedra Mikroelektroniki i Technik Informatycznych

Politechnika Łódzka

background image

 

 

Plan wykładu

2

1. Interfejsy urządzeń peryferyjnych – informacje podstawowe
2. Interfejs USART – komunikacja za pomocą RS232
3. Interfejs SPI
4. Interfejs Two-Wire (magistrala I

2

C)

5. Interfejs JTAG
6. Interfejs USB

background image

 

 

Interfejsy urządzeń peryferyjnych

3

Rodzaj transmisji – szeregowa lub równoległa
Medium – przewód, fale radiowe, podczerwień
Prędkość transmisji
Kierunkowość transmisji – simpleks (simplex), 

półdupleks (half duplex), dupleks (full duplex)
Kodowanie kanałowe
Kontrola poprawności transmisji
Transmisja szeregowa:

synchroniczna lub asynchroniczna

ramka

background image

 

 

4

ATmega 32 –

 wyprowadzenia interfejsów szeregowych

Interfejs Two-Wire

Interfejs SPI

Interfejs JTAG

Interfejs USART

background image

 

 

Interfejs USART

5

 Universal Synchronous and Asynchronous Receiver and Transmitter
 Połączenie z innym mikrokontrolerem lub komputerem PC (RS232)
 Możliwość wykorzystania dla RS232, RS422, RS485, IrDA, Bluetooth, itd.  
 Komunikacja szeregowa, synchroniczna lub asynchroniczna
 Full-duplex lub half-duplex
 Kontrola poprawności transmisji (parzystość) 
 Prędkość transmisji maks. 2,5 Mbps dla ATmega32
 Linie: 

RXD 
TXD
XCK (transmisja synchroniczna)
dodatkowe – np. CTS, RTS, … dla RS232 (opcjonalnie)

background image

 

 

Interfejs USART – ramka

6

 1 bit startu St
 5-9 bitów danych 
 1 bit parzystości/nieparzystości [P]  (opcjonalny)
 1 lub 2 bity stopu Sp1 [Sp2]

Jednakowe ustawienia prędkości transmisji i liczby bitów dla nadajnika i odbiornika

Transmisja asynchroniczna

background image

 

 

Interfejs USART – rejestry

7

Rejestr prędkości transmisji 

URSEL – register select,
UBRR11:0 – baud rate

Rejestr kontrolno-statusowy A

RXC – receive complete, TXC – transmit complete, UDRE – data register empty, FE – frame error,
 DOR – data overrun, PE- parity error, U2X – double speed, MPCM – multiprocessor communication 

background image

 

 

Interfejs USART – rejestry

8

Rejestr danych

Rejestr kontrolno-statusowy B

RXCIE – RXC interrupt enable, TXCIE – TXC interrupt enable, UDRIE – UDRE interrupt enable, 
RXEN – receiver enable, TXEN – transmitter enable, UCSZ2 – character size, 
RXB8 – receive data bit 8, TXB8 – transmit data bit 8

Rejestr kontrolno-statusowy C

URSEL – register select (UCSRC/UBBRH), UMSEL – mode select, UPM1:0 – parity mode,
 USBS – stop bit select, UCSZ1:0 – character size, UCPOL – clock polarity (synchronous)

background image

 

 

Interfejs USART – schemat transmisji

9

1. Inicjalizacja transmisji:

a) ustawienie rejestrów UBBRH i UBBRL
b) ustawienie rejestru UCSRB (TXEN, RXEN,...)
c) ustawienie rejestru UCSRC (USCZ1:0,...)
d) ustawienie bitu I w SREG (przy obsłudze przerwań)
e) zapis do rejestru UDR gdy UDRE=0 (rozpoczęcie transmisji)

2. Procedura obsługi przerwania / lub czekanie na flagę RXC/TXC:  

a) odczyt danej z rejestru UDR (opcjonalne w przerwaniu)
b) wykonanie kolejnej transmisji gdy UDRE=0 (opcjonalne)

background image

 

 

Interfejs USART – komunikacja RS232

10

Konieczność translacji napięć z poziomów TTL (0 ÷ 5V) 

do poziomów mark (-15 do - 3V) i space (+3 do +15V)

Układ MAX232 

background image

 

 

Interfejs SPI

11

 Serial Peripheral Interface (Motorola)
  Połączenie  mikrokontrolera  z  zewnętrznym  zegarem  RTC,               

przetwornikiem A/C lub C/A, czujnikiem, innym mikrokontrolerem, itd.

 Komunikacja szeregowa, synchroniczna
 Full-duplex, do 10 Mbit/s (maks. 8 Mbit/s dla ATmega 32)
 Magistrala master-slave
 Linie: 

MOSI (Master Output Slave Input)
MISO (Master Intput Slave Output)
SS (Slave Select)
SCK (Serial Clock)

background image

 

 

Interfejs SPI - magistrala

12

Rejestry przesuwne +
generator sygnału 
zegarowego

Wejście SS tylko po stronie slave (sterowane po stronie master dowolnym wyjściem)

background image

 

 

Interfejs SPI - przebiegi

13

CPHA (Clock Phase) – próbkowanie/zmiana stanu linii danych

   na pierwszym lub drugim zboczu w cyklu zegara

  
CPOL (Clock Polarity) – stan linii SCK w stanie spoczynku

background image

 

 

Interfejs SPI – rejestry

14

Rejestr kontrolny

SPIE – interrupt enable; SPE – SPI enable; DORD – data order; MSTR – master/slave; 
CPOL – clock polarity; CPHA – clock phase; SPR1:0 – clock rate select (f

osc

/128 - f

osc

/2) 

Rejestr statusowy

Rejestr danych

SPIF – interrupt flag; WCOL – write collision flag; SPI2X – double speed (maks. f

osc

/2)

background image

 

 

Interfejs SPI – schemat transmisji

15

1. Inicjalizacja transmisji:

a) ustawienie rejestru SPCR
b) ustawienie rejestru SPSR (opcjonalne)
c) ustawienie bitu I w SREG (przy obsłudze przerwań)
d) zapis do rejestru SPDR (rozpoczęcie transmisji)

2. Procedura obsługi przerwania / lub oczekiwanie na flagę SPIF:  

a) odczyt danej z rejestru SPDR (opcjonalne w przerwaniu)
b) wykonanie kolejnej transmisji (opcjonalne)

background image

 

 

Interfejs SPI – programowanie ISP

16

Linie MOSI, MISO, SCK i RESET 
(mogą być wykorzystywane w systemie nie tylko do programowania) 

Gniazdo (header) dla programatora

Programator STK200

background image

 

 

Interfejs Two-Wire (TWI)

17

 Odpowiednik I

2

C (Inter-Integrated Circuit, Philips, lata 80-te)

 Podobnie jak SPI komunikacja z peryferiami
 Komunikacja szeregowa synchroniczna, half-duplex
 Brak złożonej logiki przy wielu slave (adresowanie, mniejsza liczba linii)
 Do 128 urządzeń
 Mniejsza prędkość transmisji – maksymalnie 400 kbit/s
 Linie:

 SDA (Serial Data)
 SCL (Serial Clock)

background image

 

 

Interfejs Two-Wire (TWI) - magistrala

18

background image

 

 

Interfejs Two-Wire (TWI) - ramka

19

Bit kontrolny R/W – kierunek transmisji (odczyt/zapis)
Bit potwierdzenia – stan niski na SDA wymuszany przez slave

Adres (7 bitów + 1 bit kontrolny R/W + 1 bit potwierdzenia)
Pakiet danych (8 bitów + 1 bit potwierdzenia)

Adres zerowy - adres rozgłoszeniowy (general call)

Możliwa transmisja kilku bajtów danych po transmisji adresu 
i przed sygnalizacją końca transmisji

MSB

LSB

MSB

LSB

background image

 

 

Interfejs Two-Wire – rejestry

20

Dzielnik częstotliwości sygnału zegarowego

Rejestr statusowy

TWS7:3 – status zależny od zdarzenia i trybu (master/slave)

background image

 

 

Interfejs Two-Wire – rejestry

21

Rejestr adresowy

TWA6:0 – slave address, TWGCE – general call recognition enable

Rejestr kontrolny

Rejestr danych

TWINT – interrupt flag, TWEA – enable acknowledge bit, TWSTA – start condition,
TWSTO  –  stop  condition,  TWWC  –  write  collision  flag,  TWEN  –  enable,
TWIE – interrupt enable   

background image

 

 

Interfejs Two Wire – schemat transmisji

22

1. Inicjalizacja transmisji:

a) ustawienie rejestru TWBR
b) ustawienie rejestru TWCR (z TWSTA=1 i TWINT = 1)
c) oczekiwanie na flagę TWINT
d) zapisanie wartości do wysłania do rejestru TWDR (adres slave) 
e) ustawienie bitu I w SREG (przy obsłudze przerwań)
f)  ustawienie rejestru TWCR (z TWINT = 1)

2. Procedura obsługi przerwania / lub oczekiwanie na flagę TWINT:  

a) sprawdzenie rejestru TWSR (przy nadawaniu)
b) odczyt danej z rejestru TWDR (przy odbiorze)
c) wykonanie kolejnej transmisji (opcjonalne)

3. Zakończenie transmisji

a) ustawienie rejestru TWCR (z TWSTO=1 i TWINT = 1)

background image

 

 

Interfejs JTAG

23

 Joint Test Action Group 

 Protokół zgodny z IEEE 1149.1

 Dostęp do zasobów wewnętrznych (rejestry, RAM, EEPROM, pamięć 

programu, jednostka sterująca wykonaniem programu) i portów I/O

 Używany do:

  testowania połączeń na płytce drukowanej (boundary scan),
  programowania  pamięci  flash,  EEPROM  i  bitów  konfiguracyjnych

   (fuse/lock bits) w systemie (ISP),
  uruchamiania i debugowania programów.

background image

 

 

Interfejs JTAG

24

Gniazdo (header) dla JTAGa

(widok z góry)

background image

 

 

Interfejs USB

25

 Universal Serial Bus (1996 r.)
 Port komunikacyjny - połączenie urządzeń z komputerem (hostem) 

i zasilanie urządzeń (5V, 500mA w USB 1.0, 1.1, 2.0; 900 mA w USB 3.0)

 Sieć o topologii drzewa, do 127 urządzeń   
 Komunikacja szeregowa, synchroniczna, kodowanie NRZI
 Half-duplex (USB 1.0, 1.1, 2.0) lub full-duplex (USB 3.0)
 Kontrola poprawności transmisji
 Prędkość transmisji: 1,5 Mbps, 12 Mbps (USB 1.0, 1.1),                                 

    480 Mbps (USB 2.0), 5 Gbps (USB 3.0) 

 Linie (sygnalizacja różnicowa, dwie dodatkowe linie w USB 3.0): 

+5V 
D-
D+
GND

background image

 

 

Interfejs USB

26

Brak w ATmega32

Rozwiązanie: 
układ FTDI FT232 jako
 konwerter USB ↔ UART

Gotowe sterowniki dla PC 
(wirtualny port COM lub 
bezpośredni dostęp przez DLL)

BTC ZL1USB

background image

 

 

Dziękuję za uwagę.


Document Outline