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