Katedra Mikroelektroniki i Technik Informatycznych
Politechnika Aódzka
Systemy sterowania
w elektronice przemysłowej
Wykład 4
dr inż. Bartosz Pękosławski
Aódz, dn. 12.04.2012
Plan wykładu
1. Interfejsy urządzeń peryferyjnych informacje podstawowe
2. Interfejs USART komunikacja za pomocą RS232
3. Interfejs SPI
4. Interfejs Two-Wire (magistrala I2C)
5. Interfejs JTAG
6. Interfejs USB
2
Interfejsy urządzeń peryferyjnych
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
3
ATmega 32
wyprowadzenia interfejsów szeregowych
Interfejs SPI
Interfejs USART
Interfejs JTAG
Interfejs Two-Wire
4
Interfejs USART
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)
5
Interfejs USART ramka
Transmisja asynchroniczna
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
6
Interfejs USART rejestry
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
7
Interfejs USART rejestry
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)
Rejestr danych
8
Interfejs USART schemat transmisji
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)
9
Interfejs USART komunikacja RS232
Konieczność translacji napięć z poziomów TTL (0 5V)
do poziomów mark (-15 do - 3V) i space (+3 do +15V)
Układ MAX232
10
Interfejs SPI
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)
11
Interfejs SPI - magistrala
Rejestry przesuwne +
generator sygnału
zegarowego
Wejście SS tylko po stronie slave (sterowane po stronie master dowolnym wyjściem)
12
Interfejs SPI - przebiegi
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
13
Interfejs SPI rejestry
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 (fosc/128 - fosc/2)
Rejestr statusowy
SPIF interrupt flag; WCOL write collision flag; SPI2X double speed (maks. fosc/2)
Rejestr danych
14
Interfejs SPI schemat transmisji
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)
15
Interfejs SPI programowanie ISP
Linie MOSI, MISO, SCK i RESET
(mogą być wykorzystywane w systemie nie tylko do programowania)
Programator STK200
Gniazdo (header) dla programatora
16
Interfejs Two-Wire (TWI)
Odpowiednik I2C (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)
17
Interfejs Two-Wire (TWI) - magistrala
18
Interfejs Two-Wire (TWI) - ramka
MSB LSB MSB LSB
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
19
Interfejs Two-Wire rejestry
Dzielnik częstotliwości sygnału zegarowego
Rejestr statusowy
TWS7:3 status zależny od zdarzenia i trybu (master/slave)
20
Interfejs Two-Wire rejestry
Rejestr kontrolny
TWINT interrupt flag, TWEA enable acknowledge bit, TWSTA start condition,
TWSTO stop condition, TWWC write collision flag, TWEN enable,
TWIE interrupt enable
Rejestr adresowy
TWA6:0 slave address, TWGCE general call recognition enable
Rejestr danych
21
Interfejs Two Wire schemat transmisji
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)
22
Interfejs JTAG
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.
23
Interfejs JTAG
Gniazdo (header) dla JTAGa
(widok z góry)
24
Interfejs USB
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
25
Interfejs USB
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
26
Dziękuję za uwagę.
Wyszukiwarka
Podobne podstrony:
BP SSEP wyklad5BP SSEP wyklad7BP SSEP wyklad2BP SSEP wyklad3BP SSEP wyklad1BP SSEP wyklad11BP SSEP wyklad13Sieci komputerowe wyklady dr FurtakWykład 05 Opadanie i fluidyzacjaWYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznejmo3 wykladyJJZARZĄDZANIE WARTOŚCIĄ PRZEDSIĘBIORSTWA Z DNIA 26 MARZEC 2011 WYKŁAD NR 3Wyklad 2 PNOP 08 9 zaocznewięcej podobnych podstron