Preview only show first 10 pages with watermark. For full document please download

Uart, Lcd

   EMBED


Share

Transcript

Přednáška 6 A4B38NVS Návrh vestavěných systémů ,2012, J. Fischer, katedra měření, ČVUT - FEL, Praha otočení ctrl shift + A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 1 Náplň přednášky Poznámky ke cvičením: Specifikace úlohy bodovaná úloha (5 bodů) Výklad k úloze: zobrazovač LCD semigrafický zobrazovač obvod UART, rozhraní RS232, RS422, RS- 485 A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 2 Zobrazovač LCD Zobrazovač LCD, kapalné krystaly buzení střídavým napětím (nulová stejnosměrná složka a !! nulový ss proud) při ss proudu- degradace LCD ULCD +U U1 ULCD +U 1 X1 U2 A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 1 U1 U2 X2 X1 t U1 t U2 t UL t 3 Semigrafický zobrazovač LCD SHARP LM20A21 použit ve cvičeních Mozaikový semigrafický zobrazovač 20 znaků x 2 řádky řadič HD44780 (výrobce – původně firma Hitachi) A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 4 Semigrafický zobrazovač LCD SHARP LM20A21 Mozaikový semigrafický zobrazovač 20 znaků x 2 řádky řadič HD44780 (výrobce – původně firma Hitachi) paralelní rozhraní DB7 až DB0 obousměrné datové signály R / W „Read/ Write“ 1 čtení, 0 zápis E „Enable“, určuje platnost dat na sběrnici RS „Register Select“ RS = 1 data - , RS = 0 instrukce možné zjednodušení na potřebu pouze 6 vodičů na 4– bitová data, zápis 8 bitů po dvou 4-bitových datech vypuštění čtení stavu - zápis a vložení dostatečně dlouhé doby čekání, za kterou se povel pro řadič LCD zaručeně vykoná, vstup R/W připojit napevno na úroveň L. Detaily ovládání – viz popis HD44780 a popis SHARP LM20A21 A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 5 HD44780 – kódy znaků (LCD tabulka znaků generovaných HD44780 kódy pro číslice a písmena odpovídají kódům ASCII znaků A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 6 Semigrafický zobrazovač Použití semigrafického zobrazovače LCD s řadičem HD4470 možnost definovat několik vlastních znaků s využitím paměti RAM A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 7 Zápis do HD44780 PWEH = min. 450 ns, tcyc = min. 1000 ns, tAS = min. 140 ns tAH = min. 10 ns, tDSW = min. 195 ns, tH = min. 10 ns pozor na časování, SW A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 8 Čtení z HD44780 PWEH = min. 450 ns, tcyc = min. 1000 ns, tAS = min. 140 ns tAH = min. 10 ns, tDDR = max. 320 ns (data delay) , tDHR = min. 20 ns pozor na časování, SW A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 9 Čtení z HD44780 – jiný obr. - A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 10 Zápis do HD44780 – jiný obr. - A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 11 LM20A21 vývody - A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 12 Oživení LCD Připojení DB7 – DB0 a řídicích signálů RS, R/W, E, napájení možné použít i jen DB7 – DB5 – čtyřbitový mód, méně HW, více SW pomalejší komunikace pozor na kolize při použití různých zdrojů napájení s postupným zapínáním, ochranné odpory do série se signály, pozor UINmax !!! (Čekat alespoň 15 ms po zapnutí napájení LCD) A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 13 STM32F100 - UART Nested Nestedvect vectIT ITCtrl Ctrl 11xxSystick SystickTimer Timer 11xxDMA DMA 77Channels Channels CRC CRC FlashI/F I/F Flash ARMLite LiteHi-Speed Hi-SpeedBus Bus ARM Matrix / Arbiter (max 24MHz) Matrix / Arbiter (max 24MHz) Sériová komunikace: UART Universal Asynchronous Receiver Transmitter USART Universal synchronous -Asynchronous Receiver Transmitter UART Power Cortex-M3 PowerSupply Supply Cortex-M3 (USART) Reg 1.8V CPU 16-128kB Reg 1.8V CPU 16-128kB POR/PDR/PVD Flash Memory 24 MHz POR/PDR/PVD Flash Memory 24 MHz v STM32F100 XTAL XTALoscillators oscillators 32KHz 32KHz++3~25MHz 3~25MHz napěťové 4kB-8kB 4kB-8kBSRAM SRAM Int. RC oscillators Int. RC oscillators JTAG/SW JTAG/SWDebug Debug 40KHz úrovně 0, +3 V 40KHz++8MHz 8MHz 20B 20BBackup BackupRegs Regs Clock ClockControl Control Bridge Bridge Up Upto to80 80I/Os I/Os 1x 1xSPI SPI 1x 1xUSART/LIN USART/LIN Smartcard/IrDa Smartcard/IrDa Modem-Ctrl Modem-Ctrl A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL (max 24MHz) Up Upto to16 16Ext. Ext.ITs ITs ARM Peripheral Bus 1x6x 1x6x16-bit 16-bitPWM PWM Synchronized SynchronizedAC ACTimer Timer Bridge Bridge PLL PLL RTC RTC//AWU AWU 2x 2xWatchdog Watchdog ARM Peripheral Bus (independent (independent&&window) window) (max 24MHz) 33xx16-bit 16-bitTimer Timer 1x16-bit 1x16-bittimer timerwith with22 IC/OC/PWM IC/OC/PWM 2x16-bit 2x16-bittimer timereach each with 1 IC/OC/PWM with 1 IC/OC/PWM HDMI HDMICEC CEC 2x 2xSPI SPI 22xx12bit 12bitDAC DAC 1x 12-bit ADC 1x 12-bit ADC 16 16channels channels// 850ksps 850ksps 2x 2xUSART/LIN USART/LIN Smartcard Smartcard//IrDa IrDa Modem ModemControl Control Temp TempSensor Sensor 2x 2xI2C I2C 14 Obvod UART vyslání znaku ´1´ doba = 10 x ( 1 / Br ) , nast. - 8 dat, 1 stop bit 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) 1/ Br 31 = "1" 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ů 1 0 0 0 1 1 0 přenos jednoho znaku 1 2 3 4 T D0 D1 D2 0 stop start start D0 D1 D2 D3 D4 D5 D6 D7 stop "S" 5 6 7 8 9 10 D3 D4 D5 D6 parita stop 1 přenos dalšího znaku 0 start start přenos 7 dat, parita, 1 stop) Nastavení na cvičení: 8 datových, bez parity, 1 stop bit znak znak znak znak přenos více znaků, prodlevy A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 15 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 50 300 stovky kBaud T A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 2 400 19 200 75 600 3 600 28 800 110 1200 4 800 38 400 134.5 1 800 7 200 57 600 150 2 000 9 600 115 200 16 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 UOH = 5 V až 15 V, UOL = - 5 V až - 15 V na vstupu přijímače UIH = 3 V až 15 V, případně UIL = - 3 V až - 15 V klidová nap. úroveň na vodiči data TXD log 1 (! pro kontrolu funkčnosti ve cv.) tedy UOL = - 5 V až - 15 V záporné napětí (velikost podle typu budiče) při přenosu se objevují kladné napěťové úrovně UOH = 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 MAX 232 MAX 232 TxD RxD US A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL MP1 MP2 RxD TxD 17 RS-232 INTERFACE (materiál TI) +12 V +5 V +5 V to 15 V '0' +3 V RS 0V CL -12 V -3 V -5 V to -15 V '1' max. 1 ms Unbalanced circuitry Output drive voltage: Logic “0” = 5 … 15V; Logic “1” = -5 … -15V Receiver level: Logic “0” > 3V: Logic “1” < -3V A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 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 18 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ů A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 19 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) A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 20 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 STM32 UART TxD RxD TTL úrovně FT232R UART/ USB USB Převodníky USB- RS232 – (např. obvod FT232RL doplněný MAX232 – převodník úrovní) (poč. obchody cena 200 Kč +, nejblíže např. www.nc.cz) potřeba pro úlohu A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 21 Realizace rozhraní RS- 232 na cvičení Převodník úrovní TTL/ RS-232 obvody obdobné MAX 232 A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 22 Vysílač, přijímač RS-232, pojmy Pojem „vstup vysílače“, „výstup přijímače“ +5V ADM 232 L Tx in Tx out vysílač 1 2 3 4 RS 232 2 Rx out přijímač Rx in 3 Tx D 5 6 7 8 C1 + V+ C1 C2 + C2 VT2out R2in Vcc GND T1out R1in R1out T1in T2in R2out 16 15 14 13 12 11 10 9 STM32F100 UART Rx D Rx D Tx D 5 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) A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 23 Konektory pro RS-232 1 2 3 4 5 Rx D Tx D GND GND Rx D Tx D 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,… 5 4 3 2 1 +5V 6 7 8 9 pohled na kolíky (PC) 9 8 7 6 pohled na dutinky (vývojový kit uP) ADM 232 L 1 2 3 4 2 3 Tx D Rx D 5 6 7 8 C1 + V+ C1 C2 + C2 VT2out R2in Vcc GND T1out R1in R1out T1in T2in R2out 16 15 14 13 12 11 10 9 Rx D Tx D 5 A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 24 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í UD pro Di = H výstup A připojí na napájení + 5 V a B na GND (zem) vysílače . pro Di = L naopak. Vedení – kroucený dvoudrát. Zakončení odporem dle char. imped. ved Z0. obvykle 100 až 120 Ohmů Pro propojení dvou zařízení s UART – duplexní provoz – potřeba 2x RS- 422 Am26LS31 DI A A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL + UD B GND1 Am 26LS32 RT DO GND2 25 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í UOH 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 Am26LS31 DI A A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL + UD B GND1 Am 26LS32 RT DO GND2 26 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í Z0. 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 B DI RO RE A A DE + - RT RT B 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 A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL 27 Comparison of RS-422 and RS-485 (materiál TI) RS-422 RS-485 Rt 100 Ω Rt 100 Ω 1 generator up to 10 receivers simplex operation -7V to +7V 4 kΩ 100 Ω < 150 mA to GND Max common mode voltage Receiver input impedance Minimum generator load Generator short circuit current A4B38NVS, 2012, J.Fischer, kat. měření, ČVUT - FEL Rt 100 Ω up to 32 unit loads Half duplex operation -7V to +12V 12 kΩ 60Ω <250 mA to -7V / +12V 6-19 28