VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Podobné dokumenty
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY NÁVRH STRATEGIE ROZVOJE MALÉ RODINNÉ FIRMY THE DEVELOPMENT OF SMALL FAMILY OWNED COMPANY

Příloha 1. Náleţitosti a uspořádání textové části VŠKP

Bakalářská práce bakalářský studijní obor Teleinformatika

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

1. Seznamte se s výukovou platformou FITkit (

Příklady popisu základních obvodů ve VHDL

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

NÁVRH ŘEŠENÍ FLUKTUACE ZAMĚSTNANCŮ VE SPOLEČNOSTI

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Analýza dějů na rozhraní RS 232 C

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Cíle. Teoretický úvod

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

Wie232. Převodník rozhraní Wiegand z bezkontaktních čteček na RS června 2011 w w w. p a p o u c h. c o m

Metodický pokyn č. 1/09 pro odevzdávání, ukládání a zpřístupňování vysokoškolských závěrečných prací

Praktické úlohy- 2.oblast zaměření

DIPLOMOVÁ PRÁCE (MMSE) Pokyny pro vypracování

Návrh. číslicových obvodů

HPS-120. Manuál nastavení bezdrátového modemu

Převodník RS232 RS485

PIC PROGRAMÁTOR Milan Obrtlílk 4. ročník SŠPH Uh. Hradiště

Buffer 16kB pro sériovou linku RS232 s konverzí rychlosti, parity, počtu datových bitů a stopbitů

Návrh ovládání zdroje ATX

AUTOMATIZACE CHYB OBJEDNÁVKOVÉHO SYSTÉMU AUTOMATION OF ORDERING SYSTEM ERRORS

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student

Souhrn Apendixu A doporučení VHDL

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

Návod k obsluze výukové desky CPLD

Manuál přípravku FPGA University Board (FUB)

GSM modem TC35 Návod k instalaci a programování v1.1

Úvod do jazyka VHDL. Jan Kořenek Návrh číslicových systémů

Použití sériových rozhraní (RS232 a USB) pro ovládání měřicích přístrojů

Cellular Engine XT55 SEA Board verze 1. Uživatelský návod. Verze 1.04

Vrstvy periferních rozhraní

OBSAH. Volitelný port RS232 UŽIVATELSKÝ MANUÁL

Analyzátor sériového rozhraní RSA1B

Vestavné systémy BI-VES Přednáška 5

Telemetrické systémy

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Práce v návrhovém prostředí Xilinx ISE WebPack 12 BDOM UMEL FEKT Šteffan Pavel

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Převodník RS-232/485 s galvanickým oddělením rozhraní ELO E06A. Uživatelský manuál

Úloha 9. Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů.

Volitelný port RS232 UŽIVATELSKÝ MANUÁL

VŠB - Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky

ZÁKLADNÍ METODY REFLEKTOMETRIE

Práce v návrhovém prostředí Xilinx ISE WebPack 9.2i

SMĚRNICE REKTORA Č. 9/2007

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

SPARTAN - 3 Xilinx FPGA Device

POKLADNÍ DISPLEJ LCD. hotline: strana 1

Práce v návrhovém prostředí Xilinx ISE WebPack 10.1 BDOM UMEL FEKT Šteffan Pavel

Převodník sériového rozhraní RS-485 na mnohavidové optické vlákno ELO E171 Uživatelský manuál

PROGRAMOVATELNÉ LOGICKÉ OBVODY

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem

Aplikace. Hlásič SMS

FOTOELEKTRICKÝ IZOLÁTOR SÉRIOVÉHO ROZHRANÍ RS-232

Číslicové obvody a jazyk VHDL

Rozhraní pro web s portem pro modem

Řízení experimentu počítačem

Pokročilé využití jazyka VHDL. Pavel Lafata

r90>25=.nt>+>7z5n2k<1561/+;5n{.57u07k{16;5=.nt>+>7z5n2k<15n>29l.05,90>2/3k5n2k7,50{10;<o5>/>?ˆ581:+z6,561/+;

Asynchronní převodník RS 232/422 s galvanickým oddělením rozhraní ELO E0CE. Uživatelský manuál

PK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 ( )

USB komunikační adaptér RS virtuální sériový port ELO E215. Uživatelský manuál

Sběrnice a rozhraní. Josef Voltr

BDIO - Digitální obvody

Uživatelský manuál. KNXgw232

Metody připojování periferií BI-MPP Přednáška 1

ASYNCHRONNÍ RS-232 MODEM PRO OPTICKÉ VLÁKNO OPTO232 UŽIVATELSKÝ MANUÁL

Programovatelná logika

OEM modul čtečky bezkontaktních karet Rf B1 OEM

TECHNICKÉ ÚDAJE... 2 BEZPEČNOSTNÍ UPOZORNĚNÍ... 3 POPIS PŘÍSTROJE... 5 POUŽITÍ PŘÍSTROJE...

FPGA + mikroprocesorové jádro:

Ústav automobilního a dopravního inženýrství. Datové sběrnice CAN. Brno, Česká republika

Převodník sériových rozhraní RS-232 / 20mA ELO E00Q. Uživatelský manuál

ROUTPRO FX Programovatelný převodník RS485 na RS232. Katalogový list. prosinec Komunikační převodníky

MEK1 - Modul externí komunikace RS-232 / MODBUS_RTU.

Vzdálené ovládání po rozvodné síti 230V

RS , , RS 485, USB, GSM/GPRS

Převodníky RS-232 na mnohavidové optické vlákno ELO E146, ELO E147. Uživatelský manual

Vrstvy periferních rozhraní

12. VHDL pro verifikaci - Testbench I

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

Vytvoření nového projektu ve vývojovém prostředí Quartus II Version 9.1 Servise Pack 2

Doporučení k uspořádání absolventské práce obhajované na Ústavu mikroelektroniky a Ústavu elektrotechnologie FEKT VUT v Brně ČÁST PRVNÍ

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

PCU Procesorová jednotka. Příručka uživatele. Platí od výr. č Střešovická 49, Praha 6, s o f c o s o f c o n.

Miniaturní převodník RS-232 na proudovou smyčku ELO E00X. Uživatelský manuál

GSM/GPRS modul pro Arduino

SuperCom. Stavebnice PROMOS Line 2. Technický manuál

PK Design. Uživatelský manuál. Xilinx FPGA, CPLD & Atmel AVR. Verze dokumentu 1.0 ( )

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

Sčítačky Válcový posouvač. Demonstrační cvičení 6

LD232. Prodloužení RS232. Sada k prodloužení linky RS232 až na 1200 m s galvanickým oddělením. 11. července 2011 w w w. p a p o u c h.

SEKVENČNÍ LOGICKÉ OBVODY

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF RADIO ELECTRONICS PROGRAMOVÝ MODUL PŘIJÍMAČE DAT FORMÁTU RS232 V OBVODECH FPGA BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR JIŘÍ HRUBÝ BRNO 2008

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF RADIO ELECTRONICS PROGRAMOVÝ MODUL PŘIJÍMAČE DAT FORMÁTU RS232 V OBVODECH FPGA PROGRAMME MODULE OF RS232 FORMAT RECEIVER IN FPGA BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Jiří Hrubý doc. Ing. Aleš Prokeš, Ph.D. BRNO, 2008

LICENČNÍ SMLOUVA POSKYTOVANÁ K VÝKONU PRÁVA UŽÍT ŠKOLNÍ DÍLO uzavřená mezi smluvními stranami: 1. Pan Jméno a příjmení: Jiří Hrubý Bytem: nám. Svobody 12c, Miroslav 67172 Narozen (datum a místo): 10. června 1984 ve Znojmě (dále jen autor ) a 2. Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií se sídlem Údolní 53, Brno, 602 00 jejímž jménem jedná na základě písemného pověření děkanem fakulty: prof. Dr. Ing. Zbyněk Raida, předseda rady oboru Elektronika a sdělovací technika (dále jen nabyvatel ) Čl. 1 Specifikace školního díla 1. Předmětem této smlouvy je vysokoškolská kvalifikační práce (VŠKP):! disertační práce! diplomová práce " bakalářská práce! jiná práce, jejíž druh je specifikován jako... (dále jen VŠKP nebo dílo) Název VŠKP: Programový modul přijímače dat formátu RS232 v obvodech FPGA Vedoucí/ školitel VŠKP: doc. Ing. Aleš Prokeš, Ph.D. Ústav: Ústav radioelektroniky Datum obhajoby VŠKP: VŠKP odevzdal autor nabyvateli * : " v tištěné formě počet exemplářů: 2 " v elektronické formě počet exemplářů: 2 2. Autor prohlašuje, že vytvořil samostatnou vlastní tvůrčí činností dílo shora popsané a specifikované. Autor dále prohlašuje, že při zpracovávání díla se sám nedostal do rozporu s autorským zákonem a předpisy souvisejícími a že je dílo dílem původním. * hodící se zaškrtněte

3. Dílo je chráněno jako dílo dle autorského zákona v platném znění. 4. Autor potvrzuje, že listinná a elektronická verze díla je identická. Článek 2 Udělení licenčního oprávnění 1. Autor touto smlouvou poskytuje nabyvateli oprávnění (licenci) k výkonu práva uvedené dílo nevýdělečně užít, archivovat a zpřístupnit ke studijním, výukovým a výzkumným účelům včetně pořizovaní výpisů, opisů a rozmnoženin. 2. Licence je poskytována celosvětově, pro celou dobu trvání autorských a majetkových práv k dílu. 3. Autor souhlasí se zveřejněním díla v databázi přístupné v mezinárodní síti " ihned po uzavření této smlouvy! 1 rok po uzavření této smlouvy! 3 roky po uzavření této smlouvy! 5 let po uzavření této smlouvy! 10 let po uzavření této smlouvy (z důvodu utajení v něm obsažených informací) 4. Nevýdělečné zveřejňování díla nabyvatelem v souladu s ustanovením 47b zákona č. 111/ 1998 Sb., v platném znění, nevyžaduje licenci a nabyvatel je k němu povinen a oprávněn ze zákona. Článek 3 Závěrečná ustanovení 1. Smlouva je sepsána ve třech vyhotoveních s platností originálu, přičemž po jednom vyhotovení obdrží autor a nabyvatel, další vyhotovení je vloženo do VŠKP. 2. Vztahy mezi smluvními stranami vzniklé a neupravené touto smlouvou se řídí autorským zákonem, občanským zákoníkem, vysokoškolským zákonem, zákonem o archivnictví, v platném znění a popř. dalšími právními předpisy. 3. Licenční smlouva byla uzavřena na základě svobodné a pravé vůle smluvních stran, s plným porozuměním jejímu textu i důsledkům, nikoliv v tísni a za nápadně nevýhodných podmínek. Licenční smlouva nabývá platnosti a účinnosti dnem jejího podpisu oběma smluvními stranami. V Brně dne: 6. června 2008 Nabyvatel Autor

Anotace Tato bakalářská práce popisuje programový modul přijímače dat formátu RS232. Program je psán programovacím jazykem VHDL a je určen pro obvody FPGA od firmy Xilinx. Dále se, tato bakalářská práce, zabývá simulací a implementací navrženého programu přijímače dat. Simulace a Implementace je provedena pomocí vývojového prostředí XILINX ISE WebPACK. Annotation The bachelor s thesis describes program module of RS232 format receiver. The program is written in programming language VHDL for circuits FPGA from Xilinx corporation. Within the frame of the work the simulation and implementation of data receiver was solved. Simulation and implementation was performed by means of the development system XILINX ISE WebPACK. Klíčová slova RS232, FPGA, VHDL, Xilinx, XILINX ISE WebPACK, ModelSim XE III 6.0d, příjímač, simulace, implementace, Spartan-3 Board, Digilent, Spartan 3 XC3S200- FT256, JTAG Key words RS232, FPGA, VHDL, Xilinx, XILINX ISE WebPACK, ModelSim XE III 6.0d, receiver, simulation, implementation, Spartan-3 Board, Digilent, Spartan 3 XC3S200- FT256, JTAG

Bibligrafická citace HRUBÝ, J. Programový modul přijímače dat formátu RS232 v obvodech FPGA. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2008. 35 s. Vedoucí bakalářské práce doc. Ing. Aleš Prokeš, Ph.D.

Prohlášení Prohlašuji, že svou bakalářskou práci na téma programový modul přijímače dat formátu RS232 v obvodech FPGA jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení 152 trestního zákona č. 140/1961 Sb. V Brně dne 6. června 2008... podpis autora Poděkování Děkuji vedoucímu bakalářské práce doc. Ing. Aleš Prokeš, Ph.D. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce. V Brně dne 6. června 2008... podpis autora

Obsah 1 Úvod... 9 2 Základní parametry RS 232... 10 2.1 Napěťové úrovně... 10 2.2 Zapojení konektorů... 11 2.3 Popis signálů... 12 2.4 Parametry datového přenosu... 13 3 Programovatelné obvody FPGA... 14 3.1 Programovatelná hradlová pole FPGA Xilinx... 15 4 Blokové schéma přijímače dat... 16 4.1 Signály Tb a Tb_en... 17 4.2 Výpočet bitové periody Tb... 18 5 Zdrojový text (Source)... 19 5.1 Rozbor bloku TIMER... 22 5.2 Rozbor bloku COUNTER... 23 5.3 Rozbor bloku ENCODER... 23 5.4 Rozbor bloku GENERIC... 24 6 Simulace... 25 6.1 Test_bench, vysílaná data... 25 6.2 Hardwarové nároky... 25 6.3 Grafické výsledky simulace... 25 7 Implementace... 29 7.1 Výpis souboru BBCE.ucf... 29 7.2 Zobrazení pomocí LED displeje... 30 7.3 Hardwarové nároky, Project Status... 31 8 Závěr... 32 9 Literatura... 33 10 Seznam příloh... 34 Seznam obrázků Obr. 1: Napěťové úrovně RS232 [6]... 11 Obr. 2: Konektor Cannon 25 [5]... 11 Obr. 3: Konektor Cannon 9 [5]... 12 Obr. 4: Konektor RJ 45 [5]... 12 Obr. 5: Asynchronní signál formátu RS232 [5]... 14 Obr. 6: Přehled obvodů Spartan-3 [3]... 15 Obr. 7: Přehled obvodů Spartan-3E [3]... 15 Obr. 8: Přehled obvodů Virtex-5 LX [3]... 16 Obr. 9: Blokové schéma přijímače dat... 17 Obr. 10: Signály Tb a Tb_en... 18 Obr. 11: Kompletní přenos dat... 26 Obr. 12: Start bit... 27 Obr. 13: Stop bit... 28 Obr. 14: Project Status... 31

1 Úvod RS232 je sériové asynchronní rozhraní pro přenos informací. RS232 je součástí každého počítače, hojně se využívá v průmyslu pro sériovou komunikaci mezi různými zařízeními. Programovatelná hradlová pole FPGA (Field Programmable Gate Array) jsou integrované obvody různých pouzder, které uživatel naprogramuje podle svých požadavků. Cílem této bakalářské práce je vytvořit konfigurační program pro FPGA obvod, který bude schopen přijmout sériová data formátu RS232 z počítače a následně je zobrazit. Zobrazení se provádí z důvodu ověření funkčnosti. Program bude navržen tak, aby bylo možné měnit vstupní parametry, jako je např. počet přenášených bitů, přenosová rychlost, paritní bit atd. Simulace a implementace bude provedena pomocí vývojového prostředí XILINX ISE 9.2i WebPACK. Simulace navrženého programu přijímače dat se provede pomocí simulačního programu ModelSim XE III 6.0d od firmy Xilinx. K implementaci odsimulovaného programu použiji kit Spartan-3 Board, Digilent s obvodem Spartan 3 XC3S200-FT256. 9

2 Základní parametry RS 232 RS232 je sériové asynchronní rozhraní pro přenos informací. RS232 je součástí každého počítače, hojně se využívá v průmyslu pro sériovou komunikaci mezi různými zařízeními. Pomocí tohoto rozhraní se programuje spousta zařízení. Rychlost komunikace je pevně nastavená a synchronizace probíhá pomocí první sestupné hrany, tento impulz se označuje jako start bit. Start bit a formát rozhraní RS232 je na obr.5. Standartní napětí na propojovacích vodičích je 5V, pro větší odolnost proti rušení se používá vyšší napětí. Rozhraní RS232 je určeno pro datovou komunikaci do vzdálenosti 20 m, možné je přenášet informace i na větší vzdálenosti. 2.1 Napěťové úrovně U rozhraní RS232 se využívá dvou logických hodnot, logické 0 a 1. Logická hodnota 1 je určena zápornou úrovní napětí a logická 0 je dána kladnou úrovní napětí. Dovolené úrovně vysílaného a přijímaného napětí jsou uvedeny v Tab. 1, Tab. 2 a na Obr. 1. Klidovému stavu se říká marking state, na propojovacích vodičích je stále logická 1. Logická 0 je označována jako space state. Nejčastěji používané urovně napětí jsou -10 V pro logickou 1 a +10 V pro logickou 0. Úroveň Vysílač Přijímač Logická 0 +5 V až +15 V +3 V až +25 V Logická 1-5 V až -15 V -3 V až -25 V Nedefinováno -3 V až +3 V Tab. 1: Datové signály [6] Signál Řídící člen Koncový člen "Off" -5 V až -15 V -3 V až -25 V "On" 5 V až 15 V 3 V až 25 V Tab. 2: Kontrolní signály [6] 10

Obr. 1: Napěťové úrovně RS232 [6] 2.2 Zapojení konektorů Obr. 2: Konektor Cannon 25 [5] PIN NÁZEV SMĚR POPIS 1 SHIELD --- Shield Ground 2 TXD --> Transmit Data 3 RXD <-- Receive Data 4 RTS --> Request to Send 5 CTS <-- Clear to Send 6 DSR <-- Data Set Ready 7 GND --- System Ground 8 CD <-- Carrier Detect 9-19 N/C - - 20 DTR --> Data Terminal Ready 21 N/C - - 22 RI <-- Ring Indicator 23-25 N/C - - Tab. 3: Cannon 25 [5] 11

Obr. 3: Konektor Cannon 9 [5] PIN NÁZEV SMĚR POPIS 1 CD <-- Carrier Detect 2 RXD <-- Receive Data 3 TXD --> Transmit Data 4 DTR --> Data Terminal Ready 5 GND --- System Ground 6 DSR <-- Data Set Ready 7 RTS --> Request to Send 8 CTS <-- Clear To Send 9 RI <-- Ring Indicator Tab. 4: Cannon 9 [5] Obr. 4: Konektor RJ 45 [5] PIN NÁZEV SMĚR POPIS 1 RI <-- Ring Indicator 2 CD <-- Carrier Detect 3 DTR --> Data Terminal Ready 4 GND --- System Ground 5 RxD <-- Receive Data 6 TxD --> Transmit Data 7 CTS <-- Clear To Send 8 RTS --> Request to Send Tab. 5: RJ45 [5] 2.3 Popis signálů Přímé kabely jsou označovány jako DTE-DCE, u těchto kabelů jsou vývody propojeny 1 ku 1. Kabely DTE-DTE a DCE-DCE jsou křížené. DTE-DCE přímé kabely se nazývají Straight Cable. DTE-DTE se nazývají Null-Modem. DCE-DTE se nazývají Tail Circuit. 12

DCD - Data Carrier Detect RXD - Receive Data TXD - Transmit Data DTR - Data Terminal Ready SGND - Signal Ground DSR - Data Set Ready RTS - Request to Send CTS - Clear to Send RI - Ring Indicator Detekce nosné (někdy jen "CD). Modem oznamuje terminálu, že na telefonní lince detekoval nosný kmitočet. Tok dat z modemu (DCE) do terminálu (DTE). Tok dat z terminálu (DTE) do modemu (DCE). Terminál tímto signálem oznamuje modemu, že je připraven komunikovat. Signálová zem Modem tímto signálem oznamuje terminálu, že je připraven komunikovat. Terminál tímto signálem oznamuje modemu, že komunikační cesta je volná. Modem tímto signálem oznamuje terminálu, že komunikační cesta je volná. Indikátor zvonění. Modem oznamuje terminálu, že na telefonní lince detekoval signál zvonění. Tab. 6: Popis signálů [5] 2.4 Parametry datového přenosu Jak již bylo řečeno formát dat RS232 používá asynchronní přenos dat. Formát přenášených dat RS232 je zobrazen na obr.5. Přenos dat probíhá konstantní rychlostí, každý přenesený byte je synchronizován sestupnou hranou start bitu. Za start bitem je přenášeno 5 až 8 datových bitů. Po přijetí všech datových bitů může, ale nemusí být vyslán paritní bit a nakonec se vysílá tzv. stop bit, v některých případech se vysílají dva stop bity. Každé zařízení, které používá rozhraní RS232, musí mít dostatečně přesný oscilátor který zaručuje příjem dat v přesně definovaných intervalech. Handshaking, nebo také řízení toku dat je proces, při kterém zařízení, které zahajuje přenos informace, zjišťuje podmínky pro přijetí informace. Handshaking je také potvrzení o příjmu dat. Všechny přenesené bity se nazývají přenosový rámec. Do přenosováho rámce patří 5 až 8 přenášených datových bitů, start bit, parita a stop bit. Stop bit určuje ukončení rámce přenášených dat, používá se jeden nebo dva stop bity. Dva stop bity se používají u pomalejších zařízení kde je použítá nízká přenosová rychlost. Většina zařízení zpracovává přijaté bity, právě v průběhu stop bitu. Paritní bit je redundantní bit přidaný k datový bitům. Paritní bit doplňuje počet logických 1 na předem stanovenou paritu a to na sudý, nebo na lichý počet logických 1. Pomocí paritního bitu je realizována jednoduchá kontrola přenášených dat. Přijímací strana vyhodnotí zda 13

počet přijatých dat i s paritním bitem je lichý nebo sudý. Datové bity jsou správně přijaty, když nastavená parita, sudá nebo lichá, je stejná s počtem přijatých bitů s logickou 1 na přijímací straně. Hodnota paritního bitu se dá zjistit pomocí logické funkce XOR, ze všech datových bitů. Možné způsoby nastavení parity: Sudá parita (odd) = sudý počet logických 1 Lichá parita (even) = lichý počet logických 1 Žádná parita (none) = paritní bit není vysílán Pevně nastavená logická 1 (mark) = paritní bit je trvale nastaven do logické 1 Pevně nastavená logická 0 (space) = paritní bit je trvale nastaven do logické 0 Parita mark a space se využívá při komunikaci osmibitového zařízení s devítibitovým zařízením. Obr. 5: Asynchronní signál formátu RS232 [5] 3 Programovatelné obvody FPGA Programovatelná hradlová pole FPGA jsou integrované obvody různých pouzder, které uživatel naprogramuje podle svých požadavků. Programovatelné obvody FPGA jsou tvořeny polem programovatelných logických bloků CLB (Configurable Logic Block), ze vstupně-výstupních bloků IOB (Input/Output Block) a propojovací sběrnice PI (Programmable Interconnect). Bloky CLB se obvikle dál dělí na logické buňky. Logické buňky obsahují struktury pro vytváření kombinačních logických funkcí a 14

klopných obvodů. Kombinační struktura se čtyřmi vstupy se nazývá LUT (Look-Up Table). Pomocí bloku LUT je možno vytvořit jen jednoduché funkce. Vytváření složitějších funkcí je realizováno propojením více struktur LUT. K tomuto propojení slouží propojovací sběrnice PI. Vstupněvýstupní bloky IOB mají za úkol zprostředkovat propojení vnějších signálů přivedených na piny FPGA, se signály používanými v logických blocích. FPGA obvody se nejčastěji programují pomocí JTAG interface, které většinou býva součástí desky s FPGA obvodem. Naprogramovat FPGA obvod je možno také pomocí univerzálního programátoru nebo pomocí externí konfigurační paměti. Mejznámější výrobci programovatelných obvodů FPGA jsou firmy Xilinx, Altera, Lattice, Atmel, Actel. 3.1 Programovatelná hradlová pole FPGA Xilinx Obr. 6: Přehled obvodů Spartan-3 [3] Obr. 7: Přehled obvodů Spartan-3E [3] 15

Obr. 8: Přehled obvodů Virtex-5 LX [3] Programovatelná hradlová pole a jejich vybrané vlastnosti, vyráběné firmou Xilinx, jsou zobrazeny na obr. 6, obr. 7 a obr. 8. Na obr. 6 je popsána skupina obvodů označovaných jako Spartan-3. Z této skupiny obvodů byl použit obvod xc3s200-5ft256, pro implementaci programového modulu přijímače dat. 4 Blokové schéma přijímače dat Na vstupní port DATA_RS_232 jsou přiváděna sériová data ve formátu RS232. Na vstupní bit CLK je přiváděn hodinový signál z krystalu. Frekvence námi používaného krystalu je 50 MHz. Na vstupní bit RST je trvale přivedena logická úroveň 0. Je-li tomu naopak a je na vstupní bit RST přivedena logická úroveň 1, pak se bloky TIMER, COUNTER a ENCODER vynulují. 16

Do bloku TIMER je mimo jiné přiveden také signál DATA_RS_232. V tomto bloku se potom vyhodnocuje start bit, přesněji se vyhodnocuje přechod z logické hodnoty 1 na logickou hodnotu 0. Výstupním signálem bloku TIMER je periodicky se měnící signál, mezi logickými hodnotami 0 a 1. Doba periody je stejně dlouhá, tak jako doba mezi změnami jednotlivých bitů u vstupního signálu RS232. Tuto bitovou periodu jsem si pojmenoval Tb. V bloku COUNTER je vstupní signál RST a také hodinový signál Tb. Výstupem bloku COUNTER je čtyřbitový signál Tb_count, který počítá přechody z logické 0 do logické 1, u vstupního signálu Tb. V bloku ENCODER jsou vstupními signály: DATA_RS_232, RST a Tb_count. Výstupem tohoto bloku je osmibitový signál, což jsou osmibitová data ze vstupního signálu RS232. Tyto výstupní data jsem pojmenoval DATA_OUT. Obr. 9: Blokové schéma přijímače dat 4.1 Signály Tb a Tb_en Jednobitový signál Tb je periodicky se měnící signál mezi logickými hodnotami 0 a 1. Doba periody je stejně dlouhá, tak jako doba mezi změnami jednotlivých bitů u vstupního signálu RS 232. 17

Jednobitový signál Tb_en je trvale nastaven v logické hodnotě 0. Je-li u vstupního signálu DATA_RS_232 vyhodnocen přechod z logické hodnoty 1 na logickou hodnotu 0 a zároveň má signál count nulovou hodnotu, pak se tento bit nastaví do logické hodnoty 1. Je-li u vstupního signálu DATA_RS_232 vyhodnocen přechod z logické hodnoty 0 na logickou hodnotu 1 a zároveň má signál count dekadickou hodnotu rovnu deseti, pak se tento bit nastaví do logické hodnoty 0. 4.2 Výpočet bitové periody Tb Obr. 10: Signály Tb a Tb_en Při uvažované přenosové rychlosti 9600 bitů za sekundu, jsem vypočítal bitovou periodu Tb, což je doba mezi změnami jednotlivých bitů, tímto vztahem: 18

Tb 1 9600 4 = = 1,04167.10 s (1) Při dalších úvahách jsem potřeboval zajistit, aby nástupná hrana signálu Tb byla generována přibližně v polovině bitu u vstupního signálu DATA_RS_232, jak je naznačeno na obr. 10. Tuto podmínku zajišťuje blok TIMER po napočítání do hodnoty 2604, při uvažované přenosové rychlosti 9600 Bd/s, zneguje výstupní signál Tb. K hodnotě 2604 jsem se dostal tímto výpočtem: Tb T 4 1, 04167.10 = = 2604,167 2604 (2) 8 CLK.2 2.10.2 Kde T CLK je perioda hodinového vstupního signálu CLK. Pro tento přijímač používáme krystal s frekvencí f CLK =50 MHz. 5 Zdrojový text (Source) ---------------------------------------------------------------------------------- -- Company: -- Engineer: -- -- Create Date: 10:35:01 05/02/2008 -- Design Name: -- Module Name: BBCE - Behavioral -- Project Name: -- Target Devices: -- Tool versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; 19

entity BBCE is generic ( SPEED : integer := 9600; BITS : integer := 8; -- 8 STOP : integer := 1; -- 1,2 PARITA_AN : integer := 1; -- 1 ano,0 ne PARITA_T : STD_LOGIC := '0' -- 0-suda parita, 1 licha parita ); Port ( clk : in STD_LOGIC; RST : in STD_LOGIC; DATA_RS232_IN : in STD_LOGIC; Led1 : out STD_LOGIC; Led2 : out STD_LOGIC; Led3 : out STD_LOGIC; Led4 : out STD_LOGIC; Led5 : out STD_LOGIC; Led6 : out STD_LOGIC; Led7 : out STD_LOGIC; Led8 : out STD_LOGIC; end BBCE; ); architecture Behavioral of BBCE is -- begin signal count_tb : std_logic_vector(14 downto 0) := "000000000000000"; signal count_in : std_logic_vector(3 downto 0) := "0000"; signal Tb_in : std_logic := '0'; signal Tb_en_in : std_logic := '0'; signal count : std_logic_vector(3 downto 0); signal Tb : std_logic; signal Tb_en : std_logic; signal DATA_OUT : std_logic_vector(7 downto 0); signal DATA count <= count_in; Tb <= Tb_in; Tb_en <= Tb_en_in; Led1 <= DATA(0); Led2 <= DATA(1); Led3 <= DATA(2); Led4 <= DATA(3); Led5 <= DATA(4); Led6 <= DATA(5); Led7 <= DATA(6); 20

Led8 <= DATA(7); process (clk, count_tb) begin if clk='1' and clk'event then if Tb_en_in = '1' then count_tb <= count_tb +1; if count_tb = 2604 then Tb_in <= not Tb_in; count_tb <= (others => '0'); end if; end if; end if; end process; process (Tb_in) begin if Tb_in = '1' and Tb_in'event then count_in <= count_in + 1; if count_in = 10 then count_in <= (others => '0'); end if; end if; end process; process (DATA_RS232_IN, count_in) begin if (count_in = 10) then Tb_en_in <= '0'; elsif DATA_RS232_IN = '0' and DATA_RS232_IN'event then if (count_in = 0) then Tb_en_in <= '1'; end if; end if; end process; process (Tb_in, count, DATA_OUT, DATA) begin if count(3) = '1' then if Tb_in = '1' and Tb_in'event then DATA <= DATA_OUT; end if; end if; end process; process (RST, count_in, Tb_in) begin if ( RST = '1') then DATA_OUT <= (others => '0'); elsif Tb_in = '1' and Tb_in'event then case count_in is -- encoder 21

end if; end process; when "0001" => DATA_OUT(0) <=DATA_RS232_IN; when "0010" => DATA_OUT(1) <=DATA_RS232_IN; when "0011" => DATA_OUT(2) <=DATA_RS232_IN; when "0100" => DATA_OUT(3) <=DATA_RS232_IN; when "0101" => DATA_OUT(4) <=DATA_RS232_IN; when "0110" => DATA_OUT(5) <=DATA_RS232_IN; when "0111" => DATA_OUT(6) <=DATA_RS232_IN; when "1000" => DATA_OUT(7) <=DATA_RS232_IN; when others =>DATA_OUT<=(others => '1'); end case; end Behavioral; 5.1 Rozbor bloku TIMER process (clk, count_tb) begin if clk='1' and clk'event then if Tb_en_in = '1' then count_tb <= count_tb +1; if count_tb = 2604 then Tb_in <= not Tb_in; count_tb <= (others => '0'); end if; end if; end if; end process; Vstupními signály do bloku TIMER jsou: hodinový signál clk a jednobitový signál Tb_en. Výstupem tohoto bloku je jednobitový signál Tb. Dále se zde používá patnáctibitový signál count_tb. Při deklarování signálu count_tb je signál vynulován. Když je na vstupním signálu clk zaznamenána nástupná hrana a zároveň je signál Tb_en nastaven v logické hodnotě 1, pak je signál count_tb dekrementován. Dekrementování pokračuje až do hodnoty 2604. Když je na signálu count_tb zaznamenána hodnota 2604, pak se jednobitový výstupní signál Tb zneguje. Po změně logických úrovní na signálu Tb, je proměnná count_tb opět nastaven na hodnotu 0. 22

5.2 Rozbor bloku COUNTER process (Tb_in) begin if Tb_in = '1' and Tb_in'event then count_in <= count_in + 1; if count_in = 10 then count_in <= (others => '0'); end if; end if; end process; Vstupním signálem tohoto textu označeného jako COUNTER je jednobitový signál Tb,výstupem je čtyřbitový signál count. Zápis COUNTER počítá nástupné hrany na vstupním signálu Tb, tento počet nástupných hran je vložen do čtyřbitového signálu count. Po napočítání signálu count do hodnoty 10 je tento signál nastaven do původní hodnoty, což je hodnota 0. 5.3 Rozbor bloku ENCODER process (RST, count_in, Tb_in) begin if ( RST = '1') then DATA_OUT <= (others => '0'); elsif Tb_in = '1' and Tb_in'event then case count_in is -- encoder when "0001" => DATA_OUT(0) <=DATA_RS232_IN; when "0010" => DATA_OUT(1) <=DATA_RS232_IN; when "0011" => DATA_OUT(2) <=DATA_RS232_IN; when "0100" => DATA_OUT(3) <=DATA_RS232_IN; when "0101" => DATA_OUT(4) <=DATA_RS232_IN; when "0110" => DATA_OUT(5) <=DATA_RS232_IN; when "0111" => DATA_OUT(6) <=DATA_RS232_IN; when "1000" => DATA_OUT(7) <=DATA_RS232_IN; when others =>DATA_OUT<=(others => '1'); end case; end if; end process; V tomto bloku, pojmenovaném jako ENCODER jsou vstupními signály RST, count a Tb, respektive signály count_in a Tb_in. Výstupním signálem je osmibitový signál do kterého se ukládají zpracovávaná data. Tento výstupní osmibitový signál jsem pojmenoval DATA_OUT. 23

Pokud resetovací vstupní signál RST je nastaven do logické hodnoty 1, pak na všech bitech výstupního signálu DATA_OUT bude logická hodnota 0 Pokud resetovací vstupní signál RST je nastaven do logické hodnoty 0 a zároveň je na signálu Tb, respektive Tb_in, zaznamenána nástupná hrana, pak je logická hodnota ze vstupního signálu DATA_RS232_IN zkopírovaná do výstupního signálu DATA_OUT. Hodnota čísla uloženého ve čtyřbitovém signálu count, určuje na který bit výstupního signálu DATA_OUT se mají zkopírovat data ze vstupního signálu DATA_RS232_IN. 5.4 Rozbor bloku GENERIC generic ( SPEED : integer := 9600; BITS : integer := 8; -- 8 STOP : integer := 1; -- 1,2 PARITA_AN: integer := 1; -- 1 ano,0 ne PARITA_T : STD_LOGIC := '0' -- 0-suda parita, 1 licha parita ); Tento zápis umožňuje měnit chování modulu přijímače dat, chování programu je popsáno těmito vstupními parametry: SPEED, BITS, STOP, PARITA_AN, PARITA_T. SPEED je přenosová rychlost, BITS určuje počet datových bitů, STOP určuje počet stop bitů, PARITA_AN definuje paritní bit zdali je přenášen či nikoliv, PARITA_T definuje sudou nebo lichou paritu. 24

6 Simulace 6.1 Test_bench, vysílaná data --process -- begin --end process; DATA_RS232_IN <= '1' after 1 ns, -- '0' after 10 ns, '1' after 104 us, '0' after 208 us, '1' after 312 us, '0' after 416 us, '1' after 520 us, '0' after 624 us, '1' after 728 us, '0' after 832 us, '1' after 936 us; -- start bit -- 1. bit -- 2. bit -- 3. bit -- 4. bit -- 5. bit -- 6. bit -- 7. bit -- 8. bit -- stop bit 6.2 Hardwarové nároky Device utilization summary: --------------------------- Selected Device : 3s50pq208-5 Number of Slices: 23 out of 768 2% Number of Slice Flip Flops: 29 out of 1536 1% Number of 4 input LUTs: 41 out of 1536 2% Number of bonded IOBs: 17 out of 124 13% IOB Flip Flops: 1 Number of GCLKs: 2 out of 8 25% 6.3 Grafické výsledky simulace K simulaci programů pomocí ModelSim XE III 6.0d se využívá tzv. Test bench. Ve výsledných grafech jsou zobrazeny všechny použité signály. V grafech je před jméno signálu přidán text: /test_bench_vhd/, názvy signálů v grafech jsou shodné s názvy signálů použitých ve zdrojovém textu přijímače dat. 25

Obr. 11: Kompletní přenos dat 26

Obr. 12: Start bit 27

Obr. 13: Stop bit 28

7 Implementace Pro implementaci odsimulavaného programu byl použit kit Spartan-3 Board, Digilent s obvodem Spartan 3 XC3S200-FT256 od firmy Xilinx. Použitý kit Spartan-3 Board je zobrazen v příloze č.1. Nejprve bylo nutné přiřadit vstupním a výstupním signálům správné piny. Například vstupní signál DATA_RS232_IN má přiřazen FPGA pin číslo "T13", na tento pin jsou z počítače, posílána data ve formátu RS232. Význam a označení konkrétních FPGA pinů lze najít v literatuře [4]. Toto propojení použitých signálů a kokrétních FPGA pinů zajišťuje soubor BBCE.ucf. Počítač a programovací kit je propojen pomocí přímeho kabelu s konektory cannon9. K naprogramování FPGA obvodu byl použit paralelní JTAG programovací kabel. Při přenosové rychlosti 9600 Bd/s probíhá příjem dat a zobrazení řádově ve stovkách mikrosekund, což je pro lidské oko nepostřehnutelné. Proto bylo nutno vytvořit další proměnou do které se, po přijetí všech bitů, tyto bity přesunou a následně budou zobrazeny. V okamžiku načtení posledního datového bitu se všechny přijaté bity přesunou do siglálu DATA a tento signál je zobrazen. Přijmutá data se zobrazují pomocí osmi LED diod. Logická hodnota 1 LED diodu rozsvítí a logická hodnota 0 LED diodu zhasne. Další možný způsob zobrazení přijatých dat je pomocí LED displeje v šestnáckové soustavě. Návod na zobrazení dat pomocí LED displeje je uveden v 6.2. Použití obou zmiňovaných způsobů se mi zdálo zbytečné, proto jsem volil jen jeden způsob a to pomocí LED diod. K vysílání dat formátu RS232 z počítače jsem použil program Hyperterminál. Jakýkoliv odeslaný znak má přiřazený jedinečný kód v ASCII tabulce. Při odeslání znaku je jeho binární hodnota odeslána na příslušný port počítače. Znaky a jejich příslušné kódy lze najít v příloze číslo 2. 7.1 Výpis souboru BBCE.ucf #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments NET "clk" LOC = "T9" ; NET "DATA_RS232_IN" LOC = "T13" ; NET "Led1" LOC = "K12" ; NET "Led2" LOC = "P14" ; NET "Led3" LOC = "L12" ; NET "Led4" LOC = "N14" ; NET "Led5" LOC = "P13" ; NET "Led6" LOC = "N12" ; NET "Led7" LOC = "P12" ; 29

NET "Led8" LOC = "P11" ; NET "RST" LOC = "F12" ; #PACE: Start of PACE Area Constraints #PACE: Start of PACE Prohibit Constraints #PACE: End of Constraints generated by PACE 7.2 Zobrazení pomocí LED displeje Pro zobrazení přijatých dat pomocí LED displeje je potřeba do zdrojové textu programu dopsat následující text: DATA_L(0) <= DATA(0); DATA_L(1) <= DATA(1); DATA_L(2) <= DATA(2); DATA_L(3) <= DATA(3); with DATA_L SELect LedDispl1 <= "0000110" when "0001", --1 "1011011" when "0010", --2 "1001111" when "0011", --3 "1100110" when "0100", --4 "1101101" when "0101", --5 "1111101" when "0110", --6 "0000111" when "0111", --7 "1111111" when "1000", --8 "1101111" when "1001", --9 "1110111" when "1010", --A "1111100" when "1011", --b "0111001" when "1100", --C "1011110" when "1101", --d "1111001" when "1110", --E "1110001" when "1111", --F "0111111" when others; --0 Tento text je nutné doplnit o deklaraci nově použitých signálů DATA_L a LedDispl1. Touto metodou lze zobrazit první čtyři přijaté bity v šestnáctkové soustavě na jednom LED displeji. Další přijaté bity je možné zobrazit obdobně. Samozřejmě je nutné doplnit soubor BBCE.ucf o následující text: NET "LedDispl1<0>" LOC = "E14" ; NET "LedDispl1<1>" LOC = "G13" ; NET "LedDispl1<2>" LOC = "N15" ; NET "LedDispl1<3>" LOC = "P15" ; NET "LedDispl1<4>" LOC = "R16" ; NET "LedDispl1<5>" LOC = "F13" ; NET "LedDispl1<6>" LOC = "N16" ; 30

7.3 Hardwarové nároky, Project Status Obr. 14: Project Status 31

8 Závěr Z výsledných grafů simulace lze vidět, že zpracování signálu RS232 funguje správně. Na obr. 12 je možno vidět začátek přenosu, právě v okamžiku, kdy je na signálu DATA_RS232_IN zaznamenána sestupná hrana start bitu. Při zjištění této sestupné hrany je nastaven jednobitový signál Tb_en do logické hodnoty 1. Jednobitový signál Tb_en je po celou dobu přenosu v logické hodnotě 1. Po zaznamenání další nástupné hrany na hodinovém signálu clk, je spuštěno časování doby periody Tb. Na obr.11 je vidět celý přenos a zpracování dat RS232. Když je na signálu Tb vyhodnocen přechod z logické hodnoty 0 na logickou hodnotu 1, respektive nástupná hrana, pak je logická hodnota ze vstupního signálu DATA_RS232_IN přepsána do výstupního osmibitového signálu DATA_OUT. Z obr. 13 je možno vidět, že v okamžiku, kdy je na signálu count zaznamenána devátá nástupná hrana, tak jsou ve výstupním signálu DATA_OUT kompletní zpracovaná data, ze vstupního signálu DATA_RS232_IN. Zároveň v tomto okamžiku jsou data přesunuty také do signálu DATA. V okamžiku, kdy se na signálu count objeví desátá vzestupná hrana, je nastaven signál Tb_en do logické hodnoty 0. V tomto okamžiku končí příjem přenášených dat. V tomto modulu přijímače dat RS232 není zpracován paritní bit. Při přenosové rychlosti 115200 Bps proběhne zpracování dat bezchybně. Vyšší přenosové rychlosti nedovolil použít program Hyperterminál. Teoreticky lze použít i vyšší přenosové rychlosti, než je 115200 Bps. Mnohem větších přenosových rychlostí je možno dosáhnout zvýšením frekvence hodinového signálu. Tento přijímač dat je určen pro použití krystalu s frekvencí f CLK =50 MHz. Velký nedostatek tohoto přijímače dat je neschopnost po přijatém bytu přijmout další byte. Všechny potřebné signály count_tb a count jsou po přijetí znaku vynulovány, nastaveny do počátečních podmínek. I přes toto nastavení není schopen program přijímače dat přijmout další znak správně. Problém bude pravděpodobně v některém použitém signálu, který je po přijetí znaku chybně nastaven. Pravděpodobně je některý signál nepřipraven přijmout další znak. Opětovnými simulacemi se problém nepodařilo dohledat a odstranit. Při simulaci byl použit cílový obvod s označením 3s50pq208-5, hardwarové nároky na tento obvod jsou uvedeny v 6.2. Při implementaci byl použit obvod Spartan 3 s označením xc3s200-5ft256, hardwarové nároky na tento obvod jsou zobrazeny na obr. 14. Použitý FPGA obvod Spartan 3, xc3s200-5ft256 je pro tento modul přijímače dat naprosto dostačující. Program přijímače dat využívá jen 42 Flip-Flop a LUT, z celkového použitelného počtu 3840. 32

9 Literatura [1] KOLOUCH, J. Programovatelné logické obvody přednášky. Brno: VUT, Fakulta elektrotechniky a komunikačních technologií, 2002. 62 s. ISBN 80-214-2196-7 [2] KOLOUCH, J. Programovatelné logické obvody a návrh jejich aplikací v jazyku VHDL počítačové cvičení. Brno: VUT, Fakulta elektrotechniky a komunikačních technologií, 2006. 85 s. ISBN 80-214-3271-3 [3] PARNELL K., MEHTA N. Programmable Logic Design Quick Start Hand Book [online]. Xilinx, June 2006 [cit. 2008-05-05]. Dostupné z WWW: < http://www.xilinx.com/publications/ products/cpld/logic_handbook.pdf> [4] XILINX. Spartan-3 Starter Kit Board User Guide (v.1.1) [online]. Xilinx, May 2005 [cit. 2008-03-16]. Dostupné z WWW: <http://www.digilentinc.com/data/products/s3board /S3BOARD_RM.pdf> [5] RS232; HW server představuje-rs-232. [online] [cit.dne 16.11.2006]. Dostupné z WWW: http://rs232.hw.cz/#konektory [6] RS232; HW server představuje-rs-232. [online] [cit.dne 16.11.2006]. Dostupné z WWW: http://rs232.hw.cz/#urovne 33

10 Seznam příloh Příloha č. 1: Příloha č. 2: Použitý kit při implementaci, Spartan-3 Board ASCII tabulka 34

Příloha č. 1 Příloha č. 2 kód kód kód kód kód kód DEC HEX znak DEC HEX znak DEC HEX znak DEC HEX znak DEC HEX znak DEC HEX zn 32 20h 48 30h 0 64 40h @ 80 50h P 96 60h ` 112 70h p 33 21h! 49 31h 1 65 41h A 81 51h Q 97 61h a 113 71h q 34 22h " 50 32h 2 66 42h B 82 52h R 98 62h b 114 72h 35 23h # 51 33h 3 67 43h C 83 53h S 99 63h c 115 73h s 36 24h $ 52 34h 4 68 44h D 84 54h T 100 64h d 116 74h t 37 25h % 53 35h 5 69 45h E 85 55h U 101 65h e 117 75h u 38 26h & 54 36h 6 70 46h F 86 56h V 102 66h f 118 76h v 39 27h 55 37h 7 71 47h G 87 57h W 103 67h g 119 77h w 40 28h ( 56 38h 8 72 48h H 88 58h X 104 68h h 120 78h x 41 29h ) 57 39h 9 73 49h I 89 59h Y 105 69h i 121 79h y 42 2Ah * 58 3Ah : 74 4Ah J 90 5Ah Z 106 6Ah j 122 7Ah z 43 2Bh + 59 3Bh ; 75 4Bh K 91 5Bh [ 107 6Bh k 123 7Bh { 44 2Ch, 60 3Ch < 76 4Ch L 92 5Ch \ 108 6Ch l 124 7Ch 45 2Dh - 61 3Dh = 77 4Dh M 93 5Dh ] 109 6Dh m 125 7Dh } 46 2Eh. 62 3Eh > 78 4Eh N 94 5Eh ^ 110 6Eh n 126 7Eh ~ 47 2Fh / 63 3Fh? 79 4Fh O 95 5Fh _ 111 6Fh o 127 7Fh 35