Přednáška UART, RS232, 422, 485 A4M38AVS Aplikace vestavěných systémů,2013, J. Fischer, katedra měření, ČVUT - FEL, Praha A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 1
STM32F100 - UART Sériová komunikace: UART Universal Asynchronous Receiver Transmitter UART (USART) USART Universal synchronous -Asynchronous Receiver Transmitter v STM32F100 napěťové úrovně 0, +3 V Cortex-M3 CPU 24 24 MHz JTAG/SW Debug Nested vect vectit IT Ctrl Ctrl 1 x Systick Timer 1 x DMA 7 Channels CRC 1x6x 16-bit PWM Synchronized AC AC Timer Timer Up Up to to 16 16 Ext. Ext. ITs ITs Up Up to to 80 80 I/Os I/Os 1x 1x SPI SPI 1x 1x USART/LIN Smartcard/IrDa Modem-Ctrl ARM Lite Hi-Speed Bus Matrix / / Arbiter (max (max 24MHz) 24MHz) Bridge ARM Peripheral Bus (max 24MHz) 4kB-8kB SRAM 2 x 12bit DAC 1x 1x 12-bit ADC 16 16 channels // 850ksps Temp Sensor 2x 2x USART/LIN Smartcard // IrDa IrDa Modem Control 2x 2x I2C I2C A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 2 Flash Flash I/F I/F Bridge 16-128kB Flash Memory 20B 20B Backup Regs Clock Control ARM Peripheral Bus (max 24MHz) 1x16-bit timer with 2 IC/OC/PWM 2x16-bit timer each with 1 IC/OC/PWM Power Supply Reg Reg1.8V POR/PDR/PVD XTAL oscillators 32KHz + 3~25MHz Int. Int. RC RC oscillators 40KHz + 8MHz PLL PLL RTC // AWU 2x 2x Watchdog (independent & window) 3 x 16-bit Timer HDMI CEC CEC 2x 2x SPI SPI
Obvod UART UART sériový přenos dat synchronizace start bit do 0 datové bity začíná se od D0 (LSB!) přenos typicky 8 datových bitů D0 až D7) Možná nastavení: (vždy jen 1 start bit) 5 až 8 datových parita ( žádná, sudá, lichá) stop bity (1, 1,5, 2 ), v některých obvodech UART i 9 bitů Nastavení na cvičení: 8 datových, bez parity, 1 stop bit 1 0 vyslání znaku 1 doba = 10 x ( 1 / Br ), nast. - 8 dat, 1 stop bit 31 = "1" 1 T start start D0 D1 D2 D3 D4 D5 D6 D7 start 1/ Br 1 0 0 0 1 1 0 0 přenos jednoho znaku "S" 2 3 4 5 6 7 8 9 10 D 0 D 1 D 2 D 3 D 4 D 5 D 6 parita stop přenos 7 dat, parita, 1 stop) stop stop přenos dalšího znaku start znak znak znak znak přenos více znaků, prodlevy A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 3
Modulační rychlosti Modulační rychlosti používané pro přenos pomocí UART nejčastěji používaná rychlost 9600 Bd (Baudů) UART v STM32F100 podporuje i vyšší rychlosti stovky kbaud T 50 300 75 600 2 400 3 600 19 200 28 800 110 1200 4 800 38 400 134.5 1 800 7 200 57 600 150 2 000 9 600 115 200 A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 4
Rozhraní RS-232 Přenos dat sériovým kanálem s využitím UART (na PC COM port) mezi dvěma zařízeními, přenos typu bod bod Rozhraní RS-232 pro zvýšenou šumovou imunitu (šum. imunita -viz. min.před.) (napětí na výstupu budiče vysílače U OH = 5 V až 15 V, U OL = - 5 V až - 15 V na vstupu přijímače U IH = 3 V až 15 V, případně U IL = - 3 V až - 15 V klidová nap. úroveň na vodiči data TXD log 1 (! pro kontrolu funkčnosti ve cv.) tedy U OL = - 5 V až - 15 V záporné napětí (velikost podle typu budiče) při přenosu se objevují kladné napěťové úrovně U OH = 5 V až 15 V (podle - -) přenos dat v negativní logice budič vysílače a přijímač jsou invertující přenos řídících signálů v pozitivní logice TxD MAX 232 MAX 232 RxD U S MP1 RxD MP2 TxD A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 5
RS-232 INTERFACE (materiál TI) +12 V -12 V R S C L +5 V +5 V to 15 V 0 V -5 V to -15 V '0' '1' +3 V -3 V max. 1 ms Unbalanced circuitry Output drive voltage: Logic 0 = 5 15V; Logic 1 = -5-15V Receiver level: Logic 0 > 3V: Logic 1 < -3V Output voltage slew rate max. 30V/µS (EMI!) Maximum data rate: 20kbps (120 kbps de facto standard) Load capacitance < 2500 pf includes receiver input (approx.. 15-20 m cable length) 6-5 A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 6
Signály RS-232 č. kontaktu v konektoru DSUB- 9 označ. název signálu význam FG Frame ground ochranná zem 3 TXD Transmit Data výstup vysílaných dat 2 RXD Receive Data vstup přijímaných dat 7 RTS Request to Send DTE může přijímat data z DCE 8 CTS Clear to Send DCE může přijímat data z DTE a vysílat je 6 DSR Data Set Ready DCE je připraveno 5 SG Signal Ground signálová zem 1 DCD Data Carrier Detect DCE rozpoznalo funkční připojení linky 4 DTR Data Terminal Ready DTE je připraveno k funkci 9 RI Ring Indicator DCE indikovalo výzvu (vyzvánění) V úloze na cvičení využití pouze datových signálů TXD a RXD signály RTS, CTS, DSR mohou být používány pro řízení přenosu (handshake) alternativní způsob handshake XONN, XOFF s využitím pouze signálů TxD a RxD posílání řídicích znaků A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 7
Rozhraní RS-232 Použitelnost RS -232 pro přenos na vzdálenost jednotek metrů, (pro 9600 Bd typ. - 12 metrů) Měření osciloskopem na rozhraní RS- 232 zem osciloskopu na GND procesoru, živý vstup osciloskopu- hrot sondy na měřený signál ( jasné,.. ale minulé zkušenosti). pozor v PC ( set top ) GND RS232 bývá propojena na GND PC, ochranný vodič kolík v zásuvce, propojení zařízení dalším signálem, např. může být problém při měření s napájením zařízení při použití starého dvouvodičového rozvodu napájecí sítě ( 230 V/50 Hz) osciloskop GND ochrana (napájení) propojení GND vstupu osciloskopu (výklad tabule) A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 8
Rozhraní RS-232, převod UART- USB Převodníky USB RS-232 použitelnosti 500 kbaud, (konektor RS-232 převodníku přímo do konektoru RS232 mikropočítače, bez kabelu) omezení rychlosti problém budič RS-232 hrany, přídavná zátěž kapacitou kabelu) Pozn. použití rozhraní UART mezi mikropočítači s přenosem v úrovních TTL či UART převodník UART/USB v úrovních TTL (CMOS) i jednotky MBaud Obvody firmy FTDI typu FT232B, FT232R, FT2232D USB Full speed FT2232H USB High speed Převodníky USB- RS232 STM32 UART TxD RxD TTL úrovně (např. obvod FT232RL doplněný MAX232 převodník úrovní) FT232R UART/ USB (poč. obchody cena 200 Kč +, nejblíže např. www.nc.cz) potřeba pro úlohu USB A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 9
Realizace rozhraní RS- 232 na cvičení Převodník úrovní TTL/ RS-232 obvody obdobné MAX 232, konkrétně ADM232L Analog devices, napájení +5 V ( funkční i při + 3 V- mimo kat. parametry) A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 10
Vysílač, přijímač RS-232, pojmy Pojem vstup vysílače, výstup přijímače + 5 V Tx in Tx out Rx out vysílač přijímač Rx in RS 232 2 3 5 Tx D Rx D 1 2 3 4 5 6 7 8 ADM 232 L C1 + V + C1 - C2 + C2 - V - T2out R2in Vcc GND T1out R1in R1out T1in T2in R2out 16 15 14 13 12 11 10 9 STM32F100 UART Rx D Tx D Vysvětlení (analogie) ruční vysílačka, vstup vysílače akustický signál - mikrofon výstup vysílače (anténa) vstup přijímače (anténa) výstup přijímače (reproduktor) RxD přijímaná data - data na vstupu mikroproc. (z R out - ADM232) TxD vysílaná data data na výstupu mikroproc. (do T in ADM232) A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 11
Konektory pro RS-232 konektor COM port na PC, DSUB 9 ( Cannon konektor 9 pinů, kolíky) 3 TXD Transmit Data výstup vysílaných dat 2 RXD Receive Data vstup přijímaných dat deska mikropočítače připojena prodlužovacím kabelem propojení pin č. 2 dutinka č. 2 na kolík č. 2 kabelem propojení DSUB 9 dutinky na kolíky. propojení 1 na 1, 2 na 2, Rx D Tx D GND GND Rx D Tx D 1 2 3 4 5 5 4 3 2 1 + 5 V 6 7 8 9 pohled na kolíky (PC) 9 8 7 6 pohled na dutinky (vývojový kit up) 2 3 5 Tx D Rx D 1 2 3 4 5 6 7 8 ADM 232 L C1 + V + C1 - C2 + C2 - V - T2out R2in Vcc GND T1out R1in R1out T1in T2in R2out 16 15 14 13 12 11 10 9 Rx D Tx D A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 12
UART a rozhraní RS-422 Rozhraní RS 422 možnost zvýšit rychlost přenosu až na: 10 Mb/s (vedení o délce několika metrů), 2 Mb/s při délce vedení 60 m 100 kb/s při délce vedení 1200 m. Diferenciální budiče vstup. sig. převod na rozdílové napětí U D pro D i = H výstup A připojí na napájení + 5 V a B na GND (zem) vysílače. pro D i = L naopak. Vedení kroucený dvoudrát. Zakončení odporem dle char. imped. ved Z 0. obvykle 100 až 120 Ohmů Pro propojení dvou zařízení s UART duplexní provoz potřeba 2x RS- 422 D I Am26LS31 A B GND1 U D Am 26LS32 + R T - D O GND2 A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 13
Rozhraní RS-422 odolnost proti rušení Diferenciální přijímač rozliší rozdílové napětí 200 mv. Funkční i při přítomnosti souhlasného rušivého napětí (rozdíl potenciálu GND1 a GND2) na vstupu až ± 7 V. RS 422 - pro sériový přenos od vysílače obvykle k jednomu přijímači. RS 422 je vhodné i pro paralelní přenos tam, kde se požaduje vysoká rychlost přenosu informace. Např. přenos 8 datových signálů paralelně pomocí 8-mi rozhraní RS-422. Poznámka pro pomoc při vývoji: pro jednoduché případy (a pouze pro kontroly funkčnosti zařízení) a velmi malé vzdálenosti lze výstup A chápat jako neinvertující výstup v TTL logických úrovních (velikost napětí U OH závisí na použítí zakončovacího odporu) a napojit jej na vstup logického obvodu, Výstup B chování jeko invertující výstup TTL D I GND1 Am26LS31 A B U D Am 26LS32 R T + - D O GND2 A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 14
Rozhraní RS-485 pro přenos pomocí UART Rozhraní RS-485 (podoba s RS- 422) propojení jednotek kroucený dvoudrát a GND ale obousměrná komunikace, zakončení na obou koncích odporem dle char. impedance vedení Z 0. neaktivní jednotka má výstupy v třetím stavu (signál DE) na společné vedení sběrnici je možné připojit až 32 jednotek poloduplexní komunikace, nutná arbitráž, jednotka master řídící komunikaci Obousměrný budič např. 75176 možné použití i s napájením 3,3 V, např. obvod ADM 3485 Analog Devices DE A A DI B R T B R T RO RE + - T T T T Použití v průmyslových systémech pro přenos na větší vzdálenosti (10- ky až 100- ky metrů, použití i pro propojení jen dvou jednotek nadřízená (master) a podřízená jednotka A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 15
Comparison of RS-422 and RS-485 (materiál TI) RS-422 RS-485 R t 100 Ω R t 100 Ω R t 100 Ω 1 generator up to 10 receivers simplex operation up to 32 unit loads Half duplex operation -7V to +7V Max common mode voltage -7V to +12V 4 kω Receiver input impedance 12 kω 100 Ω Minimum generator load 60Ω < 150 ma to GND Generator short circuit current <250 ma to -7V / +12V 6-19 A4M38AVS, 2013, J.Fischer, ČVUT - FEL, kat. měření 16