1 / 11

S ériová komunikácia

S ériová komunikácia. Y. 1. 0. Start. Stop. 1. 0. 1. 0. 0. 1. 0. 1. D7. D6. D5. D4. D3. D2. D1. D0. t. Znak 8-bit. Vlastnosti sériového kanálu (UART). UART – Universal Asynchro Receiver-Transceiver Je plne duplexný, t.j. môže súčasne vysielať i prijímať dáta

cruz-harmon
Download Presentation

S ériová komunikácia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sériová komunikácia Y 1 0 Start Stop 1 0 1 0 0 1 0 1 D7 D6 D5 D4 D3 D2 D1 D0 t Znak 8-bit

  2. Vlastnosti sériového kanálu (UART) • UART – Universal Asynchro Receiver-Transceiver • Je plne duplexný, t.j. môže súčasne vysielať i prijímať dáta • Umožňuje to samostatný register vysielača a register prijímača (SBUF – Serial Buffer) • Vysielací a prijímací register ( SBUF ) má rovnakú adresu (99h – oblasť SFR) • Bajt dát pre vysielanie sa zapisuje do SBUF registra vysielača signálom Write • Prijatý bajt dát sa číta z SBUF registra prijímača signálom Read • Môže pracovať v 4 módoch činnosti : mod0 – mod3

  3. D7 D6 D5 D4 D3 D2 D1 D0 TL1 TF1 Timer T1 Mod 2 TH1 D7 D6 D5 D4 D3 D2 D1 D0 Zloženie sériového kanálu ( UART ) Procesor 12 MHz Read Write OSC DATA 8 bit : 12 Vysielač SBUF vysielača CLK 1 MHz Nastavenie časovača T1 CLK SBUF prijímača Sériový kanál Prijímač AT89C2051 RxD(P3.0) TxD(P3.1) S 1 0 1 0 0 1 0 1 S D0 D7 D6 D5 D4 D3 D2 D1

  4. Vlastnosti sériového kanálu (UART) • Mod1 – ide o 8-bitový UART s voliteľnou prenosovou rýchlosťou, t.j. dáta sa prenášajú systémom : štart-bit, 8 dátových bitov, stop-bit • Registre zodpovedné za sériový prenos : - SCON (Serial Control Register) - SBUF (Serial Buffer – pre čítanie prijatých dát - pre zápis dát určených na vyslanie - PCON (obsahuje bit SMOD, určujúci prenosovú rýchlosť) - TH1 (horný register čítača T1, tiež určuje prenosovú rýchlosť) • TH1 – časovač T1 nastavený v mod2, s automatickou predvoľbou, zakázané prerušenie od časovača T1

  5. Vlastnosti sériového kanálu (UART) SCON – Serial Control Register • SM0,SM1 - 00 mod0 používa sa málokedy • 01 mod1 8-bit UART s voliteľnou rýchlosťou • 10 mod2 9-bit UART s pevnou rýchlosťou • 11 mod3 9-bit UART s voliteľnou rýchlosťou • SM2 – povolenie multiprocesorovej komunikácie ( v mode 2,3 ) • REN – Receive Enable ( povolenie prijímania softverovo ) • TB8 – deviaty vysielaný bit ( v mode 2,3 ) • RB8 – deviaty prijímaný bit ( v mode 2,3 ) • TI – príznak prerušenia pri vysielaní ( znak bol úspešne vyslaný ) • RI – príznak prerušenia pri prijímaní ( ak je prijatý nový znak )

  6. Algoritmus sériovej komunikácie (1) • Sériové vysielanie - nastaviť mód sériového prenosu a prenosovú rýchlosť - zápis dát do SBUF vysielača - čakať, pokiaľ príznak. bit TI nabehne do LOG1 (dáta vyslané) - vynulovať príznakový bit TI, aby bolo možné vyslať ďalší znak • Sériové prijímanie - nastaviť mód sériového prenosu a prenosovú rýchlosť - povoliť sériový príjem ( nastaviť bit REN = 1 ) - čakať, pokiaľ príznak. bit RI nabehne do LOG1 (dáta boli prijaté) - prečítať ( vybrať ) dáta z SBUF prijímača na ďalšie spracovanie - vynulovať príznakový bit RI, aby bolo možné prijať ďalší znak

  7. Algoritmus sériovej komunikácie (2) Využitie prerušenia od sériového kanálu • Pri vzniku prerušenia od sériového kanálu procesor odskakuje na vektorovú adresu 0023h, kde je umiestnený obslužný podprogram • Pri vzniku prerušenia sa nevie, či k prerušeniu došlo v súvislosti s vyslaním znaku alebo prijatím znaku • Preto je pri obsluhe prerušenia nutné otestovať príznakové bity TI, resp RI, aby bolo možné vykonať správnu časť obslužného podprogramu. • Ak TI=1 ... vznik prerušenia od vysielača sér. kanálu • Ak RI=1 ... vznik prerušenia od prijímača sér. kanálu • Po identifikácii zdroja prerušenia je nutné vynulovať tieto príznakové bity

  8. Prepojenie sériovou komunikáciou Podmienky nadviazania komunikácie • zvolený rovnaký mód sériovej komunikácie • nastavená rovnaká prenosová rýchlosť • krížové prepojenie vysielača jedného uP s prijímačom druhého uP

  9. Program na vyslanie jedného znakuPri stlačení tlačidla dôjde ku vyslaniu znaku rýchlosťou 2400 Bd • $mod51 • Znak EQU 88h ; kod znaku " A " • org 0000h • ajmp Start ; skok na zaciatok hlavneho programu • org 0003h ; obsluha prerusenia INT0 • mov SBUF,B ; presun znaku do bufra vysielaca • reti • org 0050h ; Zaciatokhlavneho programu • Start: mov SCON,#01000010b ; ser.kanal,mod1, povolenie vysielania • mov TMOD,#00100000b ; casovac T1,mod2, softstart (Gate=0) • mov TH1,#0f3h ; prednastavenie T1, 2400 Bd • mov TCON,#01000000b ; start casovaca ( hodinovy signal vysielaca) • mov IE,#10000001b ; povolenie prerusenia INT0 • setb IT0 ; reakcia na zostupnu hranu • mov B,#Znak ; znak na vyslanie • Slucka: sjmp Slucka ; cakanie na prikaz vysielania • end

  10. Program na príjem jedného znakuPríklad na príjem jedného znaku s využitím prerušenia sériového kanálu • $mod51 • org 0000h ; Zaciatok hlavneho programu • mov SCON,#01010000b ; ser.kanal, mod1, povolenie prijmu • mov TMOD,#00100000b ; volba casovac T1,mod2, softstart(Gate=0) • mov TH1,#0f3h ; prednastavenie T1, 2400 Bd • mov TCON,#01000000b ; start casovaca T1 • mov IE,#10010000b ; povolenie prerusenia ser.kanalu • mov P1,#0ffh ; zhasnutie displeja • Slucka: sjmp Slucka ; cakacia slucka • org 0023h ; obsluha prerusenia ser.kanalu • mov P1,SBUF ; zobrazenie prijateho znaku na displeji • clr RI ; nulovanie priznaku prijmu • reti • end

  11. Procesor 12 MHz Read Write OSC DATA 8 bit : 12 Vysielač SBUF vysielača D7 D6 D5 D4 D3 D2 D1 D0 CLK 1 MHz TL1 TF1 Timer T1 Mod 2 TH1 CLK SBUF prijímača D7 D6 D5 D4 D3 D2 D1 D0 S 1 0 1 0 0 1 0 1 S Sériový kanál Prijímač D0 D7 D6 D5 D4 D3 D2 D1 AT89C2051- µP 1 RxD(P3.0) TxD(P3.1)

More Related