Komunikace po RS232
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Komunikace po RS232Komunikace po RS232

 

Komunikace po RS232

Google       Google       9. 11. 2006       47 185×

Tento díl je určen zejména začátečníkům, kteří s komunikací po sériové lince teprve začínají. Věnuje se nejen suché teorii, ale také praktické stránce problému, a přináží řešení hardware s převodníkem MAX232.

Reklama
Reklama

V čem je problém a na co je třeba MAX232?

V sekci download na webu http://k-programs.net je možné si stáhnou specifikaci RS232, kterou se stavy na sériové lince řídí, ale pro nezasvěcené tyto informace raději zopakuji.

Klidový stav je u Rozhraní RS232 reprezentován logickou 1, v tomto případě reprezentovanou záporným napětím. Log. 0 je naproti tomu reprezentována napětím kladným. V případě vysílače může napětí dosahovat min. −15 a max. +15 V, a to by obvody pracující s TTL úrovněmi spolehlivě zničilo.

Z tohoto důvodu je nutné použít obvod, který nám převede urovně z RS232 do úrovní TTL. Jedním z nich je i MAX232 (nebo např. ST232). Tento obvod je napájen 5 V a využívá nábojové pumpy pro tvorbu vyššího výstupního napětí.

Tento obvod vyrábí více výrobců, a tak není třeba zůstávat pouze u produktů firmy MAXIM. Např. SGH-THOMSON vyrábí ST232, který v závislosti na typu umožňuje využít menší hodnoty kondenzátorů, a tak i zmenšit i aplikaci, ve které je použit.

Vždy je nutné pečlivě si prostudovat dokumentaci k obvodům, které používáte. Přestože se výrobci snaží vyrábět pinově kompatibilní obvody, mnohdy se stává, že špatným nastudováním katalogového listu vzniknou zbytečné chyby.

Pokud to není nutné, nepoužívejte elektrolytických kondenzátorů, které mají na používané frekvenci poměrně vysoký sériový odpor, a zařízení se tak stává nespolehlivým. Doporučují se tantalové kondenzátory nebo keramické s hmotou X7R.

Kondenzátory umisťujte co nejblíže k vývodům obvodu.


Dobře, a teď k té praktické stránce

Tento díl má za úkol nejen plnit funkci vzdělávací, ale také čtenáři přinést námět, jak si vyrobit vlastní převodník s obvodem MAX232. Následující schéma ukazuje doporučené zapojení převodníku spolu se zdrojem.

Jak je dobře vidět, zapojení vychází z doporučeného zapojení výrobce. Funkci doplňují dvě diody pro indikaci stavu na linkách Rx, Tx. Tyto dvě diody doporučuji 2mA, aby neovlivňovaly funkci převodníku. Pakliže by bylo nutné z nějakého důvodu využít LED s větší spotřebou, je nutné pro ně přidat do zapojení spínací tranzistory. Například BC547, nebo obdobné.

Zapojení pak už jen doplňuje zdrojová část, jejíž funkci myslím nikomu nemusím vysvětlovat. Následují obrázky návrhu pložného spoje.

Dále je nutné si připravit konektor CANON9 a dostatečně dlouhý 3 žilový kabel, který na jednom konci připájíme k pinům 2, 3, 5 a na druhém k dutinkové liště se třemi pozicemi. Připomínám, že na konektoru je nutné mít pospojované piny 7, 8 a 1, 4, 6. Oživení přípravku je záležitostí jedné či dvou minut. Propojte TTL výstup s TTL vstupem, např. jumperem a ve vhodném terminálu odesílejte znaky. Pracuje-li přípravek, pak budete to samé přijímat. Indikaci přenosu obstarávají diody D2, D3.

V tuto chvíli máme postavený převodník RS232 ↔ TTL. Některá PC ale už Port s rozhrním RS232 nevlastní, a proto by se hodilo zapojení pro USB port. To si ukážeme příště spolu s ukázkovým programem pro AVR.

Pro nedočkavé přeci jen uvádím zdrojový kód:

;uart.asm
;
;test program for Duplex UART

     	.include        "m16def.inc"

     	ser             r16                    	;port B all outputs
     	out            	ddrb,r16
	ldi             r16,RAMEND         	;initialise stack pointer
	out             spl,r16
	sbi             ucr,txen                ;enable UART transmitter
	sbi             ucr,rxen                ;enable UART receiver
	ldi             r16,5000000/(9600*16)-1 ;set baud rate
	out             ubrr,r16


loop:
     	rcall           serin
	rcall           serout
	rjmp            loop                    ;do forever


;serial output routine - output byte in r16 to UART

serout:
	out             udr,r16         	;load UART data register
serout1:
	sbis            usr,udre        	;if UART data register empty bit is clear
	rjmp            serout1         	;       loop back
						;else return
	ret

;serial input routine - input byte from UART to r16

serin:
        sbis            usr,rxc     		;if UART Receive Complete bit is clear
        rjmp            serin       		;       loop back
        in              r16,udr     		;else get received byte in r16
        ret                         		;and return

Program pochází z tohoto zdroje: www.geocities.com/leon_heller/uart.html

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Ondřej KarasAutor se věnuje vývoji řídících a komunikačních systémů a tvorbě podpůrných aplikací.
Web    

Nové články

Obrázek ke článku Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií do mobilů či notebooků upouštějí od letecké přepravy zboží. V letošním roce plánují dovézt až 80 % produktů lodí. Přitom před 5 lety byla většina baterií do mobilních přístrojů dovezených do České republiky přepravována letadlem. Za proměnou způsobu transportu akumulátorů stojí zpřísnění pravidel pro leteckou přepravu, která přinášejí vyšší náklady i náročnou agendu.

Reklama
Reklama
Obrázek ke článku JIC otevírá největší digitální dílnu pro veřejnost v České republice

JIC otevírá největší digitální dílnu pro veřejnost v České republice

JIC otevírá první nonstop veřejně dostupnou digitální dílnu světového formátu s vybavením za 3 miliony korun. Dílnu může využívat po registraci kdokoliv. V  prostorách vzniknou prototypy produktů místních startupů, projekty kutilů a studentů i umělecká díla. Cílem dílny je zpřístupnit veřejnosti drahé přístroje a přitáhnout více podnikavých lidí k technickým oborům.

Obrázek ke článku Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

Reklama autora

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý