výklad k úloze LCD, RS232

Přednáška

výklad k úloze LCD, UART

A4B38NVS

Návrh vestavěných systémů, 2013,

J. Fischer, katedra měření, ČVUT - FEL, Praha

A4B38NVS, 2013, 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, 2013, 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

+U

U

LCD

U

1

U

2

+U

X

1

1

U

1

U

LCD

U

2

1

X

2

U

2

U

L

X

1

U

1 t t t t

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

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, 2013, 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á, pro zjednodušení - vstup R/W připojit napevno na úroveň L.

Detaily ovládání – viz popis HD44780 a popis SHARP LM20A21

A4B38NVS, 2013, 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ů

Použití semigrafického zobr. LCD s řadičem HD4470možnost definovat několik vlastních znaků s využitím generátoru znaků uložených v paměti RAM ¨v HD4470

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

6

Zápis do HD44780

t

PW

AH

EH

= min. 450 ns, t

= min. 10 ns, t

DSW cyc

= min. 1000 ns, t

AS

= min. 195 ns, t

H

= min. 140 ns

= min. 10 ns pozor na časování, SW

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

7

Čtení z HD44780

PW

EH t

AH

= min. 450 ns, t

= min. 10 ns, t

DDR cyc

= min. 1000 ns, t

AS

= min. 140 ns

= max. 320 ns (data delay) , t

DHR

= min. 20 ns pozor na časování, SW

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

8

-

Čtení z HD44780 – jiný obr.

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

9

-

Zápis do HD44780 – jiný obr.

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

10

-

LM20A21 vývody

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

11

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 U

INmax

!!!

(Čekat alespoň 15 ms po zapnutí napájení LCD)

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

12

STM32F100 - UART

Sériová komunikace: UART Universal Asynchronous Receiver Transmitter

USART Universal synchronous -Asynchronous Receiver Transmitter

UART

(USART)

Cortex-M3

CPU

24 MHz

16-128kB

Flash Memory

Power Supply

Reg 1.8V

v STM32F100 napěťové

úrovně 0, +3 V

XTAL oscillators

32KHz + 3~25MHz

Int. RC oscillators

40KHz + 8MHz

1x USART/LIN

Smartcard/IrDa

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

ARM Peripheral Bus

(max

24MHz

)

1x16-bit timer with 2

IC/OC/PWM

2x16-bit timer each with 1 IC/OC/PWM

1x 12-bit ADC

16 channels /

2x USART/LIN

Smartcard / IrDa

13

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)

vyslání znaku ´1´ doba = 10 x ( 1 / Br ) , nast. - 8 dat, 1 stop bit

1/ Br

31 = "1" start D0 D1 D2 D3 D4 D5 D6 D7 stop

1 0 0 0 1 1 0 0

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 přenos jednoho znaku "S"

2 3 4 5 6 7 8 9 10 přenos dalšího znaku

1

0

T start

D

0

D

1

D

2

D

3

D

4

D

5

D

6 parita stop přenos 7 dat, parita, 1 stop) start

Nastavení na cvičení:

8 datových, bez parity, 1 stop bit znak znak znak znak přenos více znaků, prodlevy

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

14

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

50 300

T

75 600

110

1200

134.5

1 800

150 2 000

2 400

3 600

4 800

7 200

9 600

19 200

28 800

38 400

57 600

115 200

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

15

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 na vstupu přijímače U

IH

OH

= 5 V až 15 V, U

= 3 V až 15 V, případně U

IL

OL

= - 5 V až - 15 V

= - 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

MAX 232 MAX 232

TxD

RxD

U

S

MP1

RxD

MP2

TxD

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

16

RS-232 INTERFACE (materiál TI)

+12 V

R

S

+5 V

C

L

-12 V

Unbalanced circuitry

Output drive voltage:

Logic “0” = 5 … 15V;

Logic “1” = -5 … -15V

Receiver level:

Logic “0” > 3V: Logic “1” < -3V

+5 V to 15 V

'0'

0 V

-5 V to -15 V

'1'

+3 V

-3 V max. 1 ms

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)

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

6-5

17

Signály RS-232

1

4

6

5

9

3

2

7

8 č. kontaktu v konektoru DSUB- 9 označ.

název signálu význam

FG

TXD

Frame ground

Transmit Data ochranná zem výstup vysílaných dat

RXD

RTS

CTS

Receive Data

Clear to Send vstup přijímaných dat

Request to Send DTE může přijímat data z DCE

DCE může přijímat data z DTE a vysílat je

DSR

SG

DCD

DTR

RI

Data Set Ready

Signal Ground

Data Carrier Detect DCE rozpoznalo funkční připojení linky

Data Terminal Ready

Ring Indicator

DCE je připraveno signálová zem

DTE je připraveno k funkci

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, 2013, J.Fischer, kat. měření, ČVUT - FEL

18

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, 2013, J.Fischer, kat. měření, ČVUT - FEL

19

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

TxD

FT232R

UART

RxD

TTL

úrovně

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, 2013, J.Fischer, kat. měření, ČVUT - FEL

20

Realizace rozhraní RS- 232 na cvičení

Převodník úrovní TTL/ RS-232 obvody obdobné MAX 232

ADM232LAN napájení + V, výstupní úrovně U

OHmin

3,5 V ( a i větší)

?? je možno připojit na vstup STM32F100

?? je vstup RxD + V tolerantní,

U

IHmin pro vstup ADM232 – je možno napojit k STM32?

provést doma rozbor na základě katalogových údajů STM32 a ADM232LAN, rozbor uvést též do zprávy k projektu

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

21

Úloha 5 - zadání

Řídicí jednotka se zobrazovačem LCD a rozhraním

Navrhněte a realizujte řídicí jednotku se semigrafickým zobrazovačem LCD s 2x20 znaky typu Sharp LM20A21 (obsahující řadič HD44780) a s rozhraním RS-232 navázaným na interní obvod UART v STM32, pomocí nějž bude spolupracovat s terminálem.

Jednotka bude obsahovat uživatelské tlačítko spuštění automatu na desce

STM32VL Discovery a tři externí řídicí tlačítka, stejně jako v předchozí úloze.

Funkce jednotky bude také vycházet z řešení předchozí úlohy (časovací jednotka), bude však rozšířena dalšími funkcemi v souvislosti s doplněnými obvody dle dalšího popisu.

Zobrazení bude na LCD i na terminálu realizovaném pomocí PC (hyperterminal)

Funkce a režimy - nastavení - SET, běh - RUNNING, připravenost - READY

Zobrazení nastaveného, příp. zbývajícího času

Time = xxx detaily – viz zadání na stránkách A4B38NVS

RUNNING

TIME = xx

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

22

Vysílač, přijímač RS-232, pojmy, vysvětlení ke cvičení

Pojem „vstup vysílače“, „výstup přijímače“

Tx in Tx out vysílač

Rx out přijímač

Rx in

RS 232

2

3

5

Tx D

Rx D

5

6

7

8

1

2

3

4

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

+ 5 V

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)

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

23

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,…

1 2 3 4 5 5 4 3 2 1

6 7 8 9 pohled na kolíky (PC)

9 8 7 6 pohled na dutinky

(vývojový kit uP)

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

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

12

11

10

16

15

14

13

9

+ 5 V

Rx D

Tx D

24

Rozhraní RS-232 oživení HW při vysílání

Smyčka, loop- back na straně RS-232 echování znaků na připojeném terminálu, výstup ADM 232 odpojen

1 2 3 4 5 5 4 3 2 1

2

3

5

Tx D

Rx D

5

6

7

8

1

2

3

4

ADM 232 L

C1 +

V +

C1 -

C2 +

C2 -

V -

T2out

R2in

Vcc

GND

T1out

R1in

R1out

T1in

T2in

R2out

12

11

10

9

16

15

14

13

+ 5 V

Rx D

Tx D

6 7 8 9 pohled na kolíky (PC)

9 8 7 6 pohled na dutinky

(vývojový kit uP)

Odpojit T

X

D od STM 32, smyčka ( loop back), echování znaků na terminálu, přenos přes ADM 232

+ 5 V stisk klávesy, kontrola signálu po trase

ADM 232 L

2

3

Tx D

Rx D

1

2

3

4

5

6

7

8

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

5 přerušit

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

25

Rozhraní RS-232 oživení HW bez terminálu

Smyčka, loop- back na straně RS-232 (konektor je volný, bez terminálu) echování znaků, vysílání UART STM32, příjem STM32 stejný znak

1 2 3 4 5 5 4 3 2 1

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

5

6

7

8

1

2

3

4

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

+ 5 V

Rx D

Tx D

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

26

Použití pinů STM 32F100x v úloze

Pozor + 5 V tolerance není na všech pinech STM 32F100

Ochrana vstupních pinů STM 32, zařazení ochranného rezistoru 470 Ohmů pro připojení LCD využívat piny, které nejsou využívány ladicím rozhraním

SWD nebo JTAG, což jsou PA13, PA14, PA15, PB 3, PB4

STM32VL Discovery Kit – rozhraní SWD (Serial wire debug) pro ladění,

2 piny (PA13, PA14)

PA13 data ,

PA14

, CLK pro SWD nutné ponechat

PA15, PB 3, PB4 je možno v uživatelském programu přemapovat, ale lépe využít jiné piny

(pro výslednou aplikaci – pokud se zajistí naprogramování paměti Flash jiným způsobem, např. pomocí UART a BOOT LOADER je možno využít všechny piny pro aplikaci) pro účely cvičení se nedoporučuje výklad tabule: použití SWD , podpora ladění – na čipu, pojem „boot loader, funkce a jeho využití

AN3155 Application note USART protocol used in the STM32™ bootloader

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

27

BOOT Loader v STM32F100

Pojem „boot loader, funkce a jeho využití

AN3155 Application note USART protocol used in the STM32™ bootloader

Vhodným nastavení stavu pinů pro BOOT aktivace vnitřního programu v ROM – boot- zavaděč

Zavedení programů pomocí UART a uložení do Flash

Možnost BOOT má drtivá většina mikrořadičů s jádrem ARM Cortex M3

( výrobci STM, ATMEL, TI, NXP, Silabs, Freescale, ..)

STM32F100 – boot pomocí UART

STM32F105,..boot pomocí UART, USB, CAN,..

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

28

Piny STM 32F100x využívané pro ladění

Pozor + 5 V tolerance není na všech pinech STM 32F100

Ochrana vstupních pinů STM 32, zařazení ochranného rezistoru 470 Ohmů

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

29

STM32F100 pouzdro LQFP vývody

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

30

Použití pinů STM32F100, napěťová tolerance

Piny + 5 V tolerantní i netolerantní na společné bráně

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

31

Použití pinů STM 32 v úloze

Kit STM32VL Discovery volné piny na straně do pole

PC 6, 7 (2 piny volné)

PC8, 9 jsou LED, použitelné jako výstupy (2 piny)

PA 8, 9, 10, 11, 12 je (5 pinů volných)

PC10, 11 . 12 (3 piny volné)

PD2 1 pin volný

PB 5, 6, 7. 8, 9 (5 pinů volných)

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

32

UART a rozhraní RS-422

Pro připojení ovládací jednotky k centrálnímu počítači na 50- 100 metrů

RS232 neumožňuje (RS- 232 max. 10-15 m)

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

Am 26LS32

D

I

Am26LS31

A

U

D

+

R

T

-

D

O

B

GND1 GND2

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

33

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

Am26LS31 Am 26LS32

A

D

I

+

R

T

-

D

O

B

U

D

GND1 GND2

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

34

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

DI

RO

RE

+

-

A

B

R

T

T T T

A

B

T

R

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, 2013, J.Fischer, kat. měření, ČVUT - FEL

35

Comparison of RS-422 and RS-485 (materiál TI)

RS-422 RS-485

R t

100 Ω

R t

100 Ω

R t

100 Ω

-7V to +7V

4 kΩ

100 Ω

< 150 mA to GND

1 generator up to 10 receivers simplex operation

Max common mode voltage

Receiver input impedance

Minimum generator load

Generator short circuit current up to 32 unit loads

Half duplex operation

-7V to +12V

12 kΩ

60Ω

<250 mA to -7V / +12V

A4B38NVS, 2013, J.Fischer, kat. měření, ČVUT - FEL

6-19

36

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement