VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS PŘEVODNÍK USB/RS-485 BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VÁCLAV HENZL BRNO 2008
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS PŘEVODNÍK USB/RS-485 USB/RS-485 CONVERTER BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR VÁCLAV HENZL ING. IVO HERMAN, CSC. BRNO 2008
PROHLÁŠENÍ Prohlašuji, že svoji bakalářskou práci na téma Převodník USB/RS- 485 jsem vypracoval samostatně, pod vedením vedoucího 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 tohoto projektu jsem neporušil autorská práva třetích osob, zejmená 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 ustanovaní 152 trestního zákona č. 140/1961 Sb. V Brně dne 28.5.2008 Václav Henzl
ZADÁNÍ Navrhněte převodník USB/RS 485, který bude simulovat výstup typu COM v počítači PC. Zajistěte automatický i řízený způsob přepínání směrů pro sběrnici RS 485.
ABSTRAKT Tato práce se zabývá problematikou realizace převodníku sběrnice typu USB na sběrnici typu RS-485, která je v dnešní době hojně využívána při průmyslových aplikacích (autor například používá jako komunikační prostředek mezi serverem a čtečkami bezkontaktních přístupových karet). Obsahuje teoretický úvod, návrh zařízení, realizaci a vyhodnocení dosažených výsledků. KLÍČOVÁ SLOVA USB, RS-485, konvertor, emulace COM, způsob přepínání směrů ABSTRACT This thesis is describing problematic of realisation of converter from USB type media into the universal RS-485 bus which is mainly used for the industrial applications (author is using frequently as a device in order to enable communication between server and RFID devices). This thesis contains theoretical information, realisation of the device itself and assesment of reached targets. KEYWORDS USB, RS-485, converter, COM emulation, type of control of transfer direction switching
HENZL V. Převodník USB/RS-485. Brno: VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ, FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ, ÚSTAV TELEKOMUNIKACÍ, Rok vydání: 2008. Počet stran 68. Vedoucí bakalářské práce ing. Ivo Herman, CSc.
OBSAH Úvod 10 1 USB - Universal Serial Bus 11 1.1 Popis rozhraní............................... 11 1.2 Elektrické parametry........................... 11 1.3 Možnosti a výhody USB......................... 14 1.4 Přenos dat................................. 14 1.5 USB deskriptory............................. 18 2 RS-485 22 2.1 Obecný popis............................... 22 2.2 RS-485 pod lupou............................. 22 2.3 Topologie................................. 24 3 FT232BM 26 3.1 Obecné vlastnosti............................. 26 3.2 Blokový diagram............................. 26 3.3 Popis jednotlivých funkčních bloků................... 27 4 EEPROM 93C56B 31 4.1 Obecné vlastnosti............................. 31 4.2 Blokový diagram............................. 31 4.3 Popis jednotlivých pinů.......................... 31 5 LTC485 34 5.1 Obecné vlastnosti............................. 34 5.2 Schéma zapojení............................. 34 5.3 Popis jednotlivých pinů.......................... 35 6 Realizace hardwaru 36 6.1 Napájení převodníku........................... 36 6.2 Připojení krystalu............................. 37 6.3 Připojení paměti EEPROM....................... 38 6.4 Připojení linkového vysílače/přijímače................. 39 6.5 Řízení přístupu.............................. 40 6.6 Automatický způsob přepínání směrů.................. 42 6.7 Řízený způsob přepínání směrů..................... 42 6.8 Vyvážení přenosvé linky RS-485..................... 42
6.9 Konfigurace................................ 43 6.10 Dokončení................................. 44 6.11 Měření obvodu.............................. 44 7 Software 48 8 Závěr 51 Reference 52 Seznam symbolů, veličin a zkratek 53 Seznam příloh 55 A Blokový diagram čipu FT232BM 56 B Schéma zapojení převodníku 58 C Pohled na osazení součástek - vrchní strana 60 D Pohled na osazení součástek - spodní strana 61 E Pohled na desku plošných spojů - vrchní strana 62 F Pohled na desku plošných spojů - spodní strana 63 G Rozpis součástek 64 H Fotografie DPS TOP 65 I Fotografie DPS BOTTOM 66 J Fotografie osazené DPS TOP 67 K Fotografie osazené DPS BOTTOM 68
SEZNAM OBRÁZKŮ 1.1 Schéma zapojení pro přenosovou rychlost typu LOW SPEED..... 13 1.2 Schéma zapojení pro přenosovou rychlost typu FULL SPEED.... 13 1.3 Typy konektorů typu USB........................ 20 2.1 Vliv interference na RS-485....................... 23 2.2 Topologie RS-485............................. 24 3.1 Pin-Out IO FT232BM - fyzický..................... 28 3.2 Pin-Out IO FT232BM - schematický.................. 29 4.1 Blokový diagram EEPROM paměti 93c56b............... 32 4.2 Pinout EEPROM paměti 93c56b v obou provedeních......... 33 5.1 Pinout integrované struktury LTC485 vč. vnitřní struktury...... 34 6.1 Schéma napájení obvodů převodníku.................. 37 6.2 Schéma připojení krystalu k FT232BM................. 38 6.3 Schéma připojení paměti EEPROM k FT232BM............ 39 6.4 Schéma připojení linkového přijímače/vysílače RS-485......... 40 6.5 Řízený způsob přepínání směrů s využitím RTS............ 42 6.6 Schéma zapojení měření spotřeby.................... 45 6.7 Vliv konfigurace lokálního echa..................... 45 6.8 Teoretický průběh signálu při odesílání znaku F........... 46 6.9 Průběh signálu při odesílání znaku F................. 46 6.10 Průběhy signálů na jednotlivých vodičích vedení............ 47 7.1 Schéma struktury ovladače typu VCP.................. 48 7.2 Schéma struktury ovladače typu D2XX................. 49 7.3 Náhled obrazovky programu Mprog................... 49 A.1 Blokový diagram čipu FT232BM.................... 57 B.1 Schéma zapojení převodníku USB<->RS485.............. 59 C.1 Osazení součástek převodníku - vrchní strana DPS.......... 60 D.1 Osazení součástek převodníku - spodní strana DPS.......... 61 E.1 Deska plošných spojů převodníku USB<->RS485 - vrchní strana... 62 F.1 Deska plošných spojů převodníku USB<->RS485 - spodní strana.. 63 H.1 Deska plošných spojů - foto - top.................... 65 I.1 Deska plošných spojů - foto - bottom.................. 66 J.1 Fotografie osazeného převodníku - top.................. 67 K.1 Fotografie osazeného převodníku - bottom............... 68
SEZNAM TABULEK 1.1 Zapojení konektoru USB......................... 12 1.2 Položky pole typu PID.......................... 16 1.3 Formát paketu typu token........................ 16 1.4 Formát paketu typu data......................... 17 1.5 Formát paketu typu handshake..................... 17 1.6 Formát paketu typu SOF......................... 17 1.7 Formát deskriptoru typu device..................... 19 1.8 Formát deskriptoru typu configuration................. 21 1.9 Formát deskriptoru typu interface.................... 21 6.1 Konfigurace převodníku s pomocí mikro DIP přepínačů........ 43 G.1 Rozpis součástek potřebných pro konstrukci zařízení.......... 64
ÚVOD Tato práce se věnuje oblasti konverze dat z rozhraní typu USB (univerzální sériové rozhraní Universal Serial Bus) na rozhraní typu RS-485 (rozhraní RS-485 je elektrická specifikace pro dvoudrátové, poloduplexní, vícebodové sériové spojení) včetně řešení problematiky řízení způsobu přepínání směrů na sběrnici RS-485. Cílem této bakalářské práce je navrhnout převodník, který bude simulovat výstup typu COM v počítači PC. Vypracujeme návrh zařízení, které po připojení na port USB počítače typu PC bude v tomto prostředí emulovat sérivé rozhraní typu COM, po kterém bude možno přenášet data přímo na sběrnici typu RS-485, které je v dnešní době hojně využíváno např. v průmyslových aplikacích, přístupu ke vzdáleným zařízením (kde není kladen požadavek na širokopásmový přenos dat) a podobně. Pro návrh takovéhoto zařízení je zapotřebí, abychom se blíže seznámili se specifikacemi jednotlivých rozhraní (USB, RS-485), jejich požadavky na realizaci a s funkcemi, které nám mohou poskytnout. Po bližším prozkoumání nabídky mikročipů, které se nacházají na trhu s elektronickými součástkami, jsme jako nejelpší řešení pro naši aplikaci zvolili čip FT232BM od firmy FTDI Chip 1, který bude sloužit jako převodník rozhraní typu USB na sériové rozhraní. Jako podpůrnou pamět pro FT232BM byla zvolena EEPROM 93C56 od firmy Microchip 2. Pro přístup na sběrnici typu RS-485 byl použit integrovaný obvod nesoucí označení LTC 485 od firmy Linear technology 3, což je nízkopříkonový vysílač/přijímač sběrnice typu RS-485. S jednotlivými technickými specifikacemi těchto zařízení bude čtenář seznámen v dalších kapitolách této práce. 1 <http://www.ftdichip.com> - výroba mikročipů pro konverzi rozhraní typu USB 2 <http://www.microchip.com> - výroba integrovaných obvodů a pamětí 3 <http://www.linear.com> - výroba integrovaných obvodů pro speciální aplikace 10
1 USB - UNIVERSAL SERIAL BUS 1.1 Popis rozhraní Rozhraní typu USB je dnes již zcela běžnou součástí každého počítače, ale i běžné spotřební elektroniky, kterou každý z nás využívá (fotoaparáty, videokamery, apod..). Pod tlakem mohutné expanze rozhraní typu USB ve velké míře ustoupilo sérové rozhraní typu RS-232 1 a paralelní rozhraní, které dnes najdeme jen již jako součást rozhraní drtivé menšiny nabízených produktů. Proč je tedy rozhraní USB tak výhodné? Základními parametry rozhraní USB jsou: Komunikační vzdálenost až 5 metrů Komunikační rychlost od 1,5 Mbps do 480Mbps Rozhraní obsahuje napájení 5V, kterým lze obsluhovat připojená zařízení Lze připojit širokou škálu zařízení pomocí jednotného konektoru Možnost připojení více zařízení na jeden port rozhraní Zajištění korektního přidělování prostředků jako je IRQ, DMA a podobně Ovladače pro rozhraní typu USB v dnešní době odpovídá normě Plug and Play a je součástí jak operačních systémů firmy Microsoft, tak i jejrůznějších distribucí Linuxu a dokonce i Unixu. 1.2 Elektrické parametry Rozhraní typu USB používá dva typy konektorů: USB Host známý také jako TYP A - obsažen v zařízeních, která podporují režim USB Host USB Device známý také jako TYP B - obsažen v zařízeních, která se připojují k zařízením typu USB Host kabelem (můžeme si je představit jako spotřebiče) 1 rozrhaní RS-232 je elektrická specifikace pro sériový přenos dat použitý v počítačových portech, je velice podobná protokolu V.24 ze standardu ITU-T 11
V případě Universal Serial Bus jsou definovány dvě rozdílné verze fyzické vrstvy - USB 1.1 a USB 2.0, která byla nově doplněna o nejrychlejší vrstvu high speed. Pro připojení různých typů periferií k jednomu počítači můžeme využít všechny verze propojení současně. Verze se liší jednak provedením kabelu, ale i elektrickými parametry rozhraní přípojného nebo připojeného zařízení. Rozdělení rychlostí pro USB je následující: LOW SPEED = 1,5Mbps FULL SPEED = 12Mbps HIGH SPEED = 480Mbps Při vysokorychlostním přenosu dat, tj při rychlostech HIGH SPEED a FULL SPEED je logická hodnota 1 přenášena diferenciálně - D+ přes 2,8V a D- pod 0,3V. Logická hodnota 0 je pak řešena zcela opačně tj. D+ pod 0,3V a D- přes 2,8V. Tabulka 1.1: Zapojení konektoru USB Číslo pinu Jméno Barva Popis 1 VBus červená +5V DC 2 D- bílá Data - 3 D+ zelená Data + 4 GND černá Signální zem Pro definici rychlosti na sběrnici má USB k disposici speciální režimy, kdy jsou piny Data + nebo Data - připojeny přímo na úroveň 3,3V. Full speed zařízení má připojen pin Data + rezistorem na úroveň 3,3V, zatímco Low speed zařízení tomu mají naopak - tedy pin Data -. Zařízení s podporou High speed se připojují totožně s režimem Full speed, detekce rychlosti se provádí softwarově mezi počítačem a čipem v připojovaném zařízení. Standard USB 1.1 definuje, že tato zařízení nemusí být vybavena podporou FULL speed, což producentům elektroniky umožňuje vytvářet mnohem levnější rozhraní v aplikacích, kde to požadavky na přenos dat nepotřebují. Přenášené napět ové úrovně jsou přibližně TTL. Logická jednička je 2,8V se zatížením 15kΩ proti zemi, logická nula je cca 0,3V se zatížením 1, 5kΩ proti napájení. Pokud chceme přenášet data maximální přenosovou rychlostí neměla by délka USB kabelu přesáhnout 5m a zároveň musí být kabel stíněný a kroucený. Minimální diferenční vstupní napětí přijímače USB je 200mV a to dokonce při 12
Obrázek 1.1: Schéma zapojení pro přenosovou rychlost typu LOW SPEED Obrázek 1.2: Schéma zapojení pro přenosovou rychlost typu FULL SPEED 13
souhlasném rušivém napětí až 2,6V. Všechna USB zařízení musí být vybavena zakončovacími rezistory dle Obrázku 1.1 a Obrázku 1.2. Napájení USB zařízení je realizováno přímo ze sběrnice USB nebo pomocí vlastního samostatného napájecího zdroje. V případě napájení ze sběrnice USB nesmí celkový maximální odebíraný proud přesáhnout hodnotu 100mA. V případě, že je USB zařízení vybaveno vlastním zdrojem, je činnost tohoto zdroje řízena sběrnicí USB (zapnutí, vypnutí, usnutí). V případě, že je zařízení v tzv. stand by módu, nesmí proudový odběr ze sběrnice USB přesáhnout hodnotu 500µA. 1.3 Možnosti a výhody USB Jednoduchý protokol Podpora sdružených zařízení Současná podpora několika zařízení připojených na společnou USB sběrnici Podpora synchronních i asynchronních přenosů Dynamicky připojitelné a překonfigurovatelné periferie Autoidentifikace periférií, autokonfigurace ovladače Velmi malý overhead 2 protokolu (vysoká efektivita) Zpracování chyb je součástí protokolu Řízení přenosu je součástí protokolu Možnost identifikace chyb při přenosu a jejich následná korekce 1.4 Přenos dat Data na sběrnicích typu USB jsou vysílány napřed bitem LSB 3 a skládají se z následujících polí: SYNC Všechny pakety musí začínat polem typu SYNC. Pole je dlouhé 8bitů pro LOW SPEED a 32bitů pro FULL SPEED přenosy a je výhradně určeno pro 2 přidaný datový tok který protokol potřebuje pro svou vlastní režii - malý overhead vyznačuje vysokou efektivitu, tj. velmi nízkou režii protokolu 3 least significant bit; označuje bit v řetězci s nejnižší váhou 14
synchronizaci hodin mezi přijímačem a vysílačem. Poslední dva bity tohoto pole označují začátek pole PID PID PID označuje ID paketu. Toto pole je použito pro identifikaci typu paketu, který je právě odesílaný. Tabulka 1.2 obsahuje možné hodnoty. Přestože pole PID obsahuje 4 bity přenášené informace, dochází při přenosu k zopakování pro odstranění možných chyb, takže celkové délka tohoto pole je 8 bitů. ADDR Nese cílovou adresu příjemce paketu. Pole je celkem 7 bitů dlouhé a tak umožňuje adresovat až 127 zařízení. Adresa hodnoty 0 není standardně povolena a má speciální charakter - na tuto adresu musí odpovídat všechna zařízení, která doposud nemají přiřazena žádnou adresu. ENDP Nese adresu endpointu. Pole je celkem 4 bity dlouhé a umožňuje tak až 16 endpointů CRC Všechny token pakety mají CRC 4 5ti bitové zatímco data pakety mají toto pole 16 bitů dlouhé EOP Označuje konec paketu Pro komunikaci pomocí rozhraní USB můžeme pracovat se třemi typy paketů - token, datový paket a handshake paket. Zařízení, které chce vysílat data vyšle paket typu token, který obsahuje popis, směr výměny dat, adresu USB zařízení a adresu příjemce (endpoint number). Po tokenu následuje datový paket, který musí být v případě přenosu nulové informace prázdný a příjem takového datového paketu potvrdí zpět odesílateli handshake paketem, kterým jednoduše informuje o úspěšném přenosu informace. Pakety typu token Jsou celkem tři typy tokenů: Příchozí Informuje USB zařízení, že HOST chce přijímat informaci 4 cyclic redudancy check; je funkce která ze vstupních dat zcela libolovné délky produkuje výstupní hodnotu o přesně stanovené délce; velmi často se CRC využívá pro funkce kontrolního součtu 15
Tabulka 1.2: Položky pole typu PID Skupina Hodnota PID Identifikátor paketu Token 0001 Odchozí token 1001 Příchozí token 0101 SOF token 1101 SETUPtoken Data 0011 Data 0 1011 Data 1 0111 Data 2 1111 MDATA Handshake 0010 ACK handshake 1010 NAK handshake 1110 STALL handshake 0110 NYET (zatím bez odpovědi) Speciální 1100 Preambule 1100 Chyba při přenosu 1000 Split 0100 Ping Odchozí Informuje USB zařízení, že HOST chce odesílat informaci Setup Používá se pro kontrolu započetí přenosů. Všechny token pakety musí splňovat formát uvedený v tabulce 1.3. Tabulka 1.3: Formát paketu typu token SYNC PID ADDR ENDP CRC5 EOP Pakety typu data Jsou definovány celkem dva typy datových paketů a každý z nich je schopen přenést až 1024bytů dat: Data 0 Data 1 Data 2 (definován pouze pro HIGH SPEED) 16
MDATA (definován pouze pro HIGH SPEED) Data pakety mají formát dle tabulky 1.4. Tabulka 1.4: Formát paketu typu data SYNC PID DATA CRC16 EOP Pakety typu handshake Jsou definovány celkem tři typy paketů typu handshake, které obsahují pouze informaci o PID: ACK Potvrzení o tom, že paket byl úspěšně přijat NAK Indikuje dočasnou nedostupnost pro příjem a vysílání dat. Současně se používá pro přerušení - pro indikaci, že nejsou k dispozici žádná data pro přenos STALL Zařízení indikuje, že se nachází ve stavu, kdy je zapotřebí zásah ze strany HOSTu. Handshake pakety mají formát dle tabulky 1.5. Tabulka 1.5: Formát paketu typu handshake SYNC PID EOP Pakety typu SOF - Start of Frame Packets Pakety typu SOF obsahují 11bitové číslo rámce, které je odesláno HOSTem každou: 1ms ± 500ns pro sběrnici typu FULL SPEED 125µs ± 0, 0625µs pro sběrnici typu HIGH SPEED SOF pakety mají formát dle tabulky 1.6: Tabulka 1.6: Formát paketu typu SOF SYNC PID ČÍSLO RÁMCE CRC5 EOP Bavíme-li se u USB o přenosu dat, je nutno zdůraznit, že jedna ze zvláštností USB 17
je možnost využití dvou přenosových modelů: Model typu STREAM, který využívá izochronní (bezformátový) přenos dat v reálném čase, z jehož názvu vyplývá, že nemá pevně definovanou strukturu. Model typu ZPRÁVA, využívající asynchronní přenos - tento model má přesně definovanou strukturu: a) řidicí zpráva pro konfiguraci aktivovaného zařízení; b) zpráva obsahující větší množství dat; c) zpráva s přerušením (např. změna polohy myši). Pro kódování je použit kód NRZI (non-return-to-zero Inverted; typ modulace která mapuje log 1 při změně stavu, log 0 pro stávající stav; stejný typ modulace se využívá např. pro zápis na magnetickou pásku) a zabezpečení přenosu dat je zajištěno použitím mechanismu CRC (cyclic redudancy check; je funkce která ze vstupních dat zcela libolovné délky produkuje výstupní hodnotu o přesně stanovené délce; velmi často se CRC využívá pro funkce kontrolního součtu) 1.5 USB deskriptory Všechna USB zařízení mají svou hierarchii popisovačů (deskriptorů), které popisují informace o zařízení jako je například název zařízení, název výrobce, jaká verze USB je podporována, jakým způsobem lze zařízení konfigurovat, atd.. Nejčastějšími typy USB deskriptorů jsou: Device deskriptor Configuration deskriptor Interface deskriptor Endpoint deskriptor String deskriptor Device deskriptor Device deskriptor (neboli popisovač zařízení) je reprezentativním znakem USB zařízení a právě kvůli tomu může mít USB zařízení pouze jeden device deskriptor. Definuje základní informace o zařízení jakými jsou například poporovaná verze USB, maximální velikost paketu, název produktu a označení výrobce, počet možných konfigurací a podobně. Formát deskriptoru typu device je naznačen v tabulce 1.7. 18
Tabulka 1.7: Formát deskriptoru typu device Offset Pole Velikost Hodnota Popis 0 blength 1 číslo velikost deskriptoru v bytech (18) 1 bdescriptortype 1 konstanta deskriptor zařízení (0x01) 2 bcdusb 2 BCD označení USB specifikace ve které je zařízení vyrobeno (0x0100 USB 1.0, 0x0110 USB 1.1, 0x0200 USB 2.0) 4 bdeviceclass 1 třída Class Code (kód třídy) 5 bdevicesubclass 1 třída Subclass Code (kód sub-třídy) 6 bdeviceprotocol 1 protokol kód použitého protokolu 7 bmaxpacketsize 1 číslo maximální velikost paketu pro nulový endpoint (možné hodnoty jsou 8, 16, 32, 64) 8 idvendor 2 ID ID výrobce 10 idproduct 2 ID ID výrobku 12 bcddevice 2 BCD označení verze výrobku 14 imanufacturer 1 index index Manufacturer String deskritporu 15 iproduct 1 index index Product String deskriptoru 16 iserialnumber 1 index index Serial Number String deskriptoru 17 bnumconfigurations 1 číslo počet možných konfigurací 19
Obrázek 1.3: Typy konektorů typu USB Configuration deskriptor Configuration deskriptor (neboli popisovač konfigurace) specifikuje konfiguraci USB zařízení, které může mít několik různých výskytů. Standardní USB zařízení, se kterými se setkáváme např. na trhu, obsahují většinou pouze jednu konfiguraci. Popisovač konfigurace specifikuje, jak je zařízení napájeno, jaká je jeho maximální spotřeba a počet rozhraní, které obsahuje. USB zařízení může rozlišné konfigurace využívat např. pro rozlišení konfigurace v případě, že je zařízení zapnuto přes společnou sběrnici nebo naopak manuálně. Jakmile jsou všechny konfigurace prozkoumány host zařízením, informace se zpracuje a odešle se SetConfiguration příkaz s nenulovou hodnotou, která se shoduje s hodnotou bconfigurationvalue, která reprezentuje právě jednu konfiguraci zařízení. Formát deskriptoru typu device je naznačen v tabulce 1.8. Interface deskriptor Interface deskriptor (neboli popisovač rozhraní) můžeme zahlédnout jako hlavičku skupiny endpointů, které vykonávají stejnou funkci v rámci jednoho zařízení. Formát deskriptoru typu interface je naznačen v tabulce 1.9. Endpoint deskriptor Endpoint deskriptor (neboli popisovač koncových bodů) slouží k popisu endpointů jiných, než je endpoint 0, který je vždy považován za kontrolní endpoint a je konfigurován dříve, než jsou vyžádány popisovače. String deskriptor String deskriptor (neboli popisovač řetězce) je nepovinný popisovač a poskytuje textově srozumitelné informace pro člověka. 20
Tabulka 1.8: Formát deskriptoru typu configuration Offset Pole Velikost Hodnota Popis 0 blength 1 číslo velikost deskriptoru v bytech (9) 1 bdescriptortype 1 konstanta deskriptor konfigurace (0x02) 2 wtotallength 2 číslo celkový objem navrácených dat v bytech 4 bnuminterfaces 1 číslo počet rozhaní 5 bconfigurationvalue 1 číslo identifikátor této konfigurace 6 iconfiguration 1 index deskriptor této konfigurace 7 bmattributes 1 bitmap D6=vlastní zdroj, D5=vzdálené probuzení 8 bmaxpower 1 číslo x 2mA maximální spotřeba energie Tabulka 1.9: Formát deskriptoru typu interface Offset Pole Velikost Hodnota Popis 0 blength 1 číslo velikost deskriptoru v bytech (9) 1 bdescriptortype 1 konstanta deskriptor rozhraní (0x04) 2 binterfacenumber 1 číslo označení rozhraní 3 balternatesetting 1 číslo hodnota pro použití náhradního nastavení 4 bnumendpoints 1 číslo počet endpointů použitých v rámci rouhraní 5 binterfaceclass 1 třída kód třídy 6 binterfacesubclass 1 třída kód sub-třídy 7 binterfaceprotocol 1 protokol kód protokolu á iinterface 1 index index popisovače rozhraní 21
2 RS-485 2.1 Obecný popis Pokud potřebujeme přenášet malé bloky informací na dlouhé vzdálenosti, RS-485 je pro nás to správné řešení. Články takové sítě mohou být počítače, mikrokontroléry nebo jakákoliv jiná zařízení, která umožňují asynchronní sériový přenos. Pokud porovnáme RS-485 se standardem ethernet, nebo jinými sít ovými standardy, dojdeme k závěru, že náročnost RS-485 protokolu je mnohem menší a že jsme schopni vybudovat RS-485 s mnohem nižšími pořizovacími náklady. Standard RS-485 je dostatečně pružný, aby nám poskytl výběr z různých druhů vysílačů, přijímačů a dalších komponent (např. v závislosti na délce kabelu, přenosové rychlosti, počtu připojených zařízení a nebo na požadavku úspory energie). Různí výrobci nabízejí RS-485 vysílače a přijímače v nepřeberném množství variací a s podporou různých funkcí. 2.2 RS-485 pod lupou Interface široce známý jako RS-485 je elektrická specifikace pro systémy typu multipoint, které využívají nevyvážené přenosové linky. Protokol RS-485 je velice podobný protokolu RS-422, ale s tím rozdílem, že RS-422 podporuje pouze jeden vysílač a více přijímačů, kdežto RS-485 podporuje více vysílačů a více přijímačů na jedné přenosové lince. Specifikace RS-485 (TIA/EIA-485-A) určuje přesné elektrické vlastnosti vyslíačů a přijímačů. Specifikace zmiňuje kapitoly vztažené ke kabeláži a terminaci přenosových linek - nespecifikuje však zapojení konektorů nebo softwarový protokol, jako tomu je například u RS-232. Sít RS-485 může mít až 32 připojených zařízení, kde každé zařízení reprezentuje zatížení o vstupní impedanci 12kΩ. V případě, že v síti využijeme vysokoimpedanční zařízení, může mít taková sít až 256 prvků na jeden segment. Přenosová trasa ve specifikaci RS-485 může být dlouhá až 1219 metrů a nebo je schopná přenášet data rychlostí až 10Mbps (tyto podmínky nemohou být splněny současně). Při přenosové rychlosti 90kbit/s může být přenosová trasa dlouhá až 1219 metrů; při 1Mbit/s až 121 metrů; a při 10Mbit/s se maximální délka přenosové trasy zkracuje na neuvěřitelných 15 metrů. V případě, že budeme mít aplikaci, která vyžaduje více připojených zařízení nebo přenosy dat na delší vzdálenosti, lze na RS-485 přenosovou trasu nainstalovat opakovače, které budou sloužit k regeneraci přenášených signálů. Vzhledem k faktu, že specifikace RS-485 nedefinuje přenosový 22
Obrázek 2.1: Vliv interference na RS-485 protokol, drtivá většina RS-485 sítí využívá známé asynchronní protokoly na bázi UART, které jsou podporovány řadou počítačů a jiných zařízení. V tomto případě se vyslané slovo skládá ze start bitu následovaného data bitem, volitelně paritním bitem a na závěr stop bitem. Oproti RS-232 je RS-485 mnohem lépe imunní vůči šumům a rušením, která mohou různými způsoby interferovat na přenosových trasách. RS-485 při přenosu nevztahuje signály vůči tzv. signálové zemi, ale signály jsou plovoucí a jakákoliv data jsou odeslána jak po signálové trase Sig+ tak i Sig-. Přijímač pak porovnává rozdíl mezi oběma přenášenými signály (odtud diferenční) namísto toho, aby porovnával absolutní hodnotu signálu vůči signálové zemi jako tomu je u RS-232. Tento princip se v praxi velice dobře osvědčil a prakticky eliminuje vznik tzv. zemních smyček, které jsou často velkým zdrojem problémů na přenosových trasách. Nejlepších výsledků při přenosech se pak dosahuje pokud signálové vodiče Sig+ a Sig- jsou v tzv. twisted pair - krouceném páru. Jak je naznačeno na Obrázku 2.1, šum je generován magnetickými poli z okolního prostředí datového vodiče. Obrázek zobrazuje siločáry takového magnetického pole a zároveň šumový proud, který se díky tomuto magnetickému poli do datového vodiče indukuje. Při použití standardního - rovného - vodiče se veškerý šum indukuje se stejnou polaritou a vzniká tak díky šumu nežádoucí efekt. V případě, že použijeme twisted pair vodič, indukuje se šum do vodičů s opačnou polaritou a při diferenčním způsobu přenosu dat se téměř 23
Obrázek 2.2: Topologie RS-485 vyruší tak, že výsledný šum na komunikačním vedení dosahuje velmi nízkých hodnot. 2.3 Topologie Topologie sítě RS-485 je důvodem, proč je v dnešní době RS-485 specifikace tak oblíbeným a široce využívaným prvkem. Tato specifikace umožňuje jako jediná ze všech připojit na jednu sít ovou infrastrukturu hned několik vysílačů a přijímačů. Jak již bylo zmíněno, dle vstupní impedance připojených zařízení můžeme připojit maximálně 32 resp. 256 zařízení a s použitím RS-485 zesilovačů můžeme rozsah takto navrhované sítě zvýšit až na několik tisíc připojených nódů. Další výhodou je nepochybně velmi jednoduchá softwarová implementace (na rozdíl od RS-232) a proto je toto řešení hojně vyhledáváno. Na Obrázku 2.2 je zobrazena všeobecná topologie sítě RS-485 - N nódů je připojeno do sítě typu multipoint. Pro delší vzdálenosti a při požadavku na vyšší rychlosti přenosu dat jsou ukončovací rezistory o jmenovité hodnotě 100Ω (terminátory) nezbytnou podmínkou na obou koncích přenosové soustavy tak, aby se eliminovaly všechny případné odrazy. Sít typu RS-485 musí být navržena jako průběžná linka s odbočkami - není možné navrhovat sít ve hvězdicové topologii z důvodu nemožnosti provedení řádné terminace, díky čemůž by došlo k razantnímu snížení kvality přenášeného signálu. A jak RS-485 funguje ve skutečnosti? Standardně se všechny vysílače, které jsou připojeny na sběrnici, nacházejí ve vysokoimpedančním stavu. Na nejvyšší vrstvě protokolu je jeden z nódů definován jako MASTER a odesílá dotazy nebo příkazy ostatním účastníkům přenosu po RS-485 sběrnici. Všechny ostatní nódy přijmou tato data a na základě jejich obsahu mohou příjemci odesílateli odpovědět. 24
V taktovémto případě může být šířka přenášeného pásma využita až na 100 procent. Existuje i jiný způsob implementace RS-485 sítě (který je velmi podobný funkci sítě typu Ethernet), kdy může jakýkoliv z nódu v libovolný čas započít odesílání dat na sběrnici. V tomto případě je třeba implementovat detekci a korekci chyb (na nejvyšší vrstvě protokolu) a zároveň je třeba počítat s nižší efektivitou - cca pouze 37 procent jmenovité přenosové rychlosti. U RS-485 není vytvořen speciální požadavek na vypínání a zapínání vysílače na sběrnici, protože RS-485 vysílače jsou vyráběny tak, že se automaticky po odeslání dat (cca mikrosekundy) vrací do vysokoimpedančního stavu. Z této skutečnosti rovněž vychází fakt, že není nutné provádět žádné prodlevy mezi datovými pakety, které jsou po RS-485 sběrnici přenášeny. Z hlediska výše uvedených poznatků lze předpokládat, že RS-485 standard bude implementován ještě mnoho let do budoucnosti. 25
3 FT232BM 3.1 Obecné vlastnosti Jednoduchý čip pro převod rozhaní USB na asynchronní sériový datový přenos Plná podpora funkce handshaking 1 Napájecí napětí od 4,35 do 5,25 V Přenosová rychlost 300kbps až 3Mbps pro RS-485 rozhraní Buffer 384 bytů pro RX, 128 bytů pro TX Automatická kontrola vysílacího bufferu pro RS-485 Podpora funkce USB Suspend Integrovaný regulátor 3,3V pro zařízení vyžadující úroveň USB napájení Podpora USB 1.1 a USB 2.0 USB VID, PID, S/N, a popis produktu uloženy v externí EEPROM paměti Podpora funkce virtuálního COM Podpora pro D2XX ovladače pro prostředí Win a Linux Kompatibilita se standardy UHCI/ OHCI/ EHCI USB bulk pro izochronní přenos dat Integrovaný obvod Power-On-Reset Integrovaný fázový závěs pro generování hodinového signálu v rozsahu 6-48 MHz Spotřeba 25mA při standardních operacích 3.2 Blokový diagram Blokový diagram viz příloha A. 1 automatický proces, který má za úkol nastavit na obou stranách přenosového vedení stejné komunikační parametry 26
3.3 Popis jednotlivých funkčních bloků 3,3V LDO regulátor Generuje referenční napětí o hodnotě 3,3V, které slouží k napájení USB vysílače a dalších komponent pro práci s USB sběrnicí. Tento prvek vyžaduje připojení externího kapacitoru na pin 3V3OUT integrovaného obvodu. Zároveň tento blok poskytuje napájecí napětí 3,3V na pin RSTOUT. Hlavní funkcí tohoto bloku není napájení ostatních zařízení, ale především napájení bloku USB vysílače a bloku generátoru resetu. Zařízení, která potřebují napájení o jmenovité hodnotě 3,3V mohou být připojena rovněž na pin 3V3OUT, ovšem pouze za předpokladu, že jmenovitý odběr takovéhoto zařízení nepřekročí hodnotu 5mA. USB vysílač Poskytuje USB konektivitu - vysokorychlostní USB rozhraní standardu 1.1/2.0. Vysílače slouží k odesílání dat a kontrole signalizace, zatímco diferenční přijímač a dva jednoduché přijímače poskytují příchozí USB data, SEO a detekci signálu USB reset. USB DPLL Tento blok se zavěsí v případě příchozí NRZI USB komunikace a poskytuje separátně hodinový a datový signál do bloku ovladače sériového rozhraní. 6MHz oscilátor Generuje referenční hodinový signál o jmenovité hodnotě 6 MHz za pomocí externího krystalu nebo keramického rezonátoru a distribuuje tento signál do bloku násobiče. Násobič hodin x8 Přijímá vstupní signál z bloku oscilátoru a generuje referenční hodinový signál o jmenovité hodnotě 6 MHz pro blok ovladače sériového rozhraní, řízení USB protokolu, a UART fifo kontroler. Dále tento blok generuje referenční hodinový signál o jmenovité hodnotě 48 MHz pro blok USB DPLL a generátor přenosové rychlosti. Ovladač sériového rozhraní Provádí konverzi USB dat ze sériového na paralelní a obráceně z paralelního na sériové rozhraní. Podle USB 2.0 specifikace provádí tento blok rovněž bitovou stabilizaci, kontrolu USB data streamu a rovněž provádí kontrolu CRC5, CRC16. 27
Duální vysílací buffer Data, která přichází z USB endpointu a jsou určena pro vysílání, jsou ukládána v tomto bloku a následně jsou z tohoto bloku sekvenčně přenášena do bloku UART za kontroly bloku UART FIFO kontroleru. Obrázek 3.1: Pin-Out IO FT232BM - fyzický Duální přijímací buffer Data, která přichází z UART bloku a jsou určena k příjmu, jsou ukládána v tomto bloku a následně jsou z tohoto bloku sekvenčně přenášena do ovladače sériového rozhraní. UART FIFO kontroler Má na starosti přenos dat mezi přijímacími a vysílacími buffery na jedné straně a UART vysílacími a přijímacími registry na straně druhé. UART UART blok obstarává asynchroní 7/8 bitovou paralelně-sériovou nebo sériovoparalelní konverzi dat na rozhraní typu RS232, RS422, RS485. Kontrolní signály podporované blokem UART jsou RTS, CTS, DSR, DTR, DCD a RI. Blok UART poskytuje signál řízení přístupu k médiu (TXDEN) pro umožnění efektivní komunikace na rozhraní RS-485. 28
Generátor přenosové rychlosti Využívá referenčního hodinového signálu o jmenovité hodnotě 48 MHz. Skládá se ze čtrnácti nastavovacích a tří registračních bitů, které umožňují tomotu bloku velmi jemné nastavení přenosové rychlosti pro blok UART v rozsahu od 183 do 3 miliónů baudů. Obrázek 3.2: Pin-Out IO FT232BM - schematický Generátor resetu Pokskytuje funkci resetu při zapnutí integrovaného obvodu. Zároveň má tento blok vstup RESET a výstup RSTOUT, což tomuto integrovanému obvodu umožňuje resetovat další připojená zařízení respektive jinými zařízeními resetovat integrovaný obvod FT232BM. V případě, že probíhá proces resetu, bude se pin RSTOUT nacházet ve stavu log0. V případě, že není vyžadována funkce resetu zařízení FT232BM. může být vstupní pin RESET propojen s pinem VCC napájení. EEPROM interface Externí pamět EEPROM typů 93C46, 93C56, 93C66 může být použita pro nastavení speciálních identifikátorů USB rozhraní, jako jsou USB VID, PID, sériové 29
číslo, popis produktu a power deskriptoru. Další vlastnosti, které přináší pamět EEPROM obsahuje např. možnost vzdáleného probuzení zařízení, mód izochronního přenosu, přímé vypnutí při ztrátě napájení a módy deskriptorů specifikace USB 2.0. EEPROM pamět by měla být 16bitová s řídicí hodinovou frekvencí o jmenovité hodnotě 1Mb/s a se jmenovitým napájecím napětím od 4,35 do 5,25 V. EEPROM pamět je programovatelná přímo jako součást hotového zařízení s pomocí speciální softwarové utility 2. Tato funkce umožňuje využít nenaprogramovanou pamět jako součást nového zařízení a konfigurovat ji až v průběhu výroby a testování zařízení. Pokud není žádná pamět EEPROM k zařízení připojena nebo je pamět EEPROM prázdná využije FT232BM standardní deskriptory z výroby a v takovém případě nebude mít zařízení při přepojení na USB stejné sériové číslo. Zapojení jednotlivých pinů je vyobrazeno na Obrázku 3.1 a Obrázku 3.2. 2 viz kapitola 7 30
4 EEPROM 93C56B 4.1 Obecné vlastnosti Funkce při napájecím napětí od 4,5 do 5,5 V Nízkopříkonová CMOS technologie (odběr 1mA v aktivním stavu; odběr 1µA ve stand-by režimu) Organizace ve formátu 128 x 16 bitů - na rozdíl od verze 93C56A (256x8), která by byla pro použití s FT232BM nevhodná Automatické časování cyklů ZÁPIS a VÝMAZ Standardní průmyslové třídrátové rozhraní Sekvenční funkce čtení dat Signalizace v průběhu operace ZÁPIS nebo VÝMAZ Garantovaný počet 100 000 operací ZÁPISU nebo VÝMAZU Životnost uložených dat více než 200 let Jedná se o dvoukilobitovou nízkonapět ovou sériovou elektricky vymazatelnou pamět typu PROM konfigurovanou s uspořádáním 128 x 16 bitů. Vyspělá CMOS technologie vybavuje tuto pamět velmi nízkým odběrem - je určena pro maximální napájecí napětí o jmenovité hodnotě 7V. 4.2 Blokový diagram Blokový diagram viz Obrázek 4.1. 4.3 Popis jednotlivých pinů Výběr chipu (CS0) Logická hodnota jedna přivedená na pin paměti CS0 vybírá dané zařízení. Logická hodnota nula provede zrušení označení paměti a přepne ji do stand-by (klidového režimu). V případě, že právě probíhá programovací cyklus, nebude tento nijak ovlivněn hodnotou této funkce a právě prováděná operace bude dokončena a zařízení se převede do stand-by režimu po provedení programovací operace. 31
Obrázek 4.1: Blokový diagram EEPROM paměti 93c56b Sériové hodiny (CLK) Sériové hodiny jsou využity pro synchronizaci komunikace mezi hlavním zařízení a pamětí. Při vzestupné hraně CLK je provedeno čtení dat. Generování CLK může být přerušeno v jakémkoliv okamžiku a může v něm být pokračováno v jakémkoliv jiném čase. Vstupní data (DI) Tento pin je využit ke čtení startovacího bitu, kódu operace, adresy a dat zcela synchroně ve spolupráci se vstupem CLK Výstupní data (DO) Pin DO je využit v režimu ČTENÍ dat pro vysílání obsahu paměti synchronně s CLK. Tento pin zároveň poskytuje informaci o připravenosti nebo obsazenosti během mazání a zápisu dat do paměti. Zapojení jednotlivých pinů integrovaného obvodu je vyobrazeno na Obrázku 4.2. 32
Obrázek 4.2: Pinout EEPROM paměti 93c56b v obou provedeních 33
5 LTC485 5.1 Obecné vlastnosti Nízký odběr typicky I cc = 300µA Zařízení určené pro RS 485 aplikace Napájecí napětí od 4,75 do 5,25 V Typická hystereze vstupu 70mV Vysílač se automaticky přestavuje do stavu vysoké impedance ve třetím stavu nebo při vypnutí Kombinovaná impedance vysílače a přijímače umožňuje připojení až 32 zařízení na sběrnici Aplikace jako RS485/RS422 vysílač nebo konvertor úrovní LTC485 je nízkopříkonový diferenční linkový vysílač určený pro přenosy dat typu multipoint ve standardu RS485 s rozšířeným soufázovým rozsahem (12 až -7V). Toto zařízení rovněž splňuje požadavky RS422. Struktura typu CMOS umožňuje významnou úsporu energie. Přijímač je vybaven ochrannou funkcí, která garantuje přepnutí do vysokoimpedančního stavu i přes otevřené vstupy. 5.2 Schéma zapojení Blokový diagram viz Obrázek 5.1. Obrázek 5.1: Pinout integrované struktury LTC485 vč. vnitřní struktury 34
5.3 Popis jednotlivých pinů Výstup přijímače (RO) Pokud je výstup přijímače aktivní (RE je v logické nule) pak platí, že RO bude v logické jedničce, pokud napětí na pinu A bude větší nežli na pinu B; v opačném případě bude RO nabývat hodnoty logické nuly. Aktivace přijímače (RE) Logická nula přivedena na tento pin aktivuje přijímač - pin RO - logická jednička přivedena na tento pin přepne přijímač do vysokoimpedančního stavu. Aktivace vysílače (DE) Logická jednička přivedena na tento pin aktivuje vysílač - piny A, B a čip budou fungovat jako linkový vysílač - logická nula přivedena na tento pin přepne vysílač do vysokoimpedančního stavu a čip bude nadále fungovat jako přijímač. Vstup vysílače (DI) Pokud je vysílač aktivován (DE ve stavu high), pak logická nula na pinu DI přepne pin A do stavu LOW a pin B do stavu HIGH; logická jednička na pinu DI přepne pin A do stavu HIGH a pin B do stavu LOW. Zem (GND) Pin A Pin A vysílače/přijímače Pin B Pin B vysílače/přijímače V cc Napájení integrovaného obvodu v rozsahu 4,75 až 5,25 V 35
6 REALIZACE HARDWARU 6.1 Napájení převodníku Z výše uvedených specifikací komponent vyplývá, že všechny můžeme napájet ze stejné úrovně napájecího napětí o jmenovité hodnotě 5V. Všechny komponenty mají povolenou toleranci napájecího napětí, čiliže se nemusíme soustředit na přesný napájecí zdroj. V zásadě máme dvě možnosti řešení a to celý převodník napájet externím napájacím zdrojem nebo přímo ze sběrnice USB počítače. Protože zapojení externího napájecí adaptéru není vždy plně komfortní, provedli jsme realizaci převodníku s napájením ze sběrnice USB. Specifikace nám dovoluje zatížit sběrnici proudem maximálně 100mA a celková spotřeba zařízení uvedeného do stand-by režimu nesmí překročit hodnotu 500µA. I akt = I ft232bm + I 93c56 + I ltc485 (ma) I akt = 25 + 1 + 0, 3mA I akt = 26, 3mA I std = I ft232bm + I 93c56 + I ltc485 (ma) I std = 0, 2 + 0, 001 + 0, 3mA I std = 0, 501mA Celkový odběr zařízení tedy vychází 26, 3mA ve standardním stavu a 501µA v režimu stand-by, lze tedy takovéto zařízení napájet přímo ze sběrnice USB. Pin 14 čipu FT232BM bude nutné uzemnit, abychom čipu sdělili, že budeme využívat napájení ze sběrnice USB a aby čip tomuto faktu přizpůsobil Power deskriptor. Celkovou hodnotu odebíraného proudu bude později možno doprogramovat do Power deskriptoru EEPROM paměti na přesně určenou hodnotu. Při návrhu napájecího obvodu bylo nutno vzít v potaz fakt, že by se mohla případná elektromagnetická interference, kterou zařízení generuje, šířit z převodníku po USB kabelu směrem do připojeného zařízení. Proto bude vhodné do návrhu napájecího obvodu do série s napájením zapojit tlumivku, která bude toto rušení eliminovat. Tlumivka byla zvolena s následujícími parametry: R = 0, 65Ω; I max = 200mA; SRF = 125MHz. Čip FT232BM je navržen tak, že celková impedance vysílače liky USB počítá se zapojením externích rezistorů o jmenovité hodnotě 27Ω na každý z pinů USBDP a USBDM. Ve specifikaci je dále uvedeno že pin USBDP vyžaduje externí rezistor o hodnotě 1, 5kΩ připojený na piny RSTOUT nebo 3V3OUT. Vzhledem k tomu, že nebudeme chtít u převodníku využívat možnost resetovat čip FT232BM, deaktivujeme vstup RESET připojením na napájecí napětí VCC. Pin 3V3OUT počítá se 36
zapojením externího 33nF kapacitoru směrem na zem. Napájení paměti EEPROM provedeme přivedením napájecího napětí na pin Vcc - zem na pin Vss. U transceiverů pro RS485 přivedeme napájecí napětí na pin Vcc a GND. Celkové schéma napájení převodníku je naznačeno na Obrázku 6.1. Obrázek 6.1: Schéma napájení obvodů převodníku 6.2 Připojení krystalu Čip FT232BM vyžaduje externí krystal nebo keramický rezonátor připojený na vstupních pinech XTIN a XTOUT, který umožní tomuto obvodu funkce vnitnřích a vnějších hodin. Pro naši aplikaci byl zvolen krystal o hodnotě 6 MHz. Krystal je nutno dovybavit dvěma keramickými kondenztátory o hodnotě 27pF, které budou spojeny proti zemi a budou sloužit pro krystal jako zátěž a umožní nám tak dosáhnout kmitočtové stability. Schématické vyobrazení zapojení krystalu je naznačeno na Obrázku 6.2. 37
Obrázek 6.2: Schéma připojení krystalu k FT232BM 6.3 Připojení paměti EEPROM Obrázek 6.3 znázorňuje propojení FT232BM s EEPROM pamětí 93C56B. EECS je přímo propojen s pinem výběru čipu (CS) paměti EEPROM, EESK je přímo propojen s pinem hodinového taktu (SK) a EEDATA je přímo propojen s pinem vstupních dat (DIN). Při propojení pinů DOUT paměti EEPROM a EEDATA čipu FT232BM je třeba vzít v potaz fakt, že jak pamět tak i převodník mohou ve stejný okamžik odesílat data na uvedených pinech a aby v takovém případě nedocházelo k napět ové kolizi vložíme do dané cesty rezistor o jmenovité hodnotě 2k2, což je hodnota doporučená výrobcem. V případě, že čip FT232BM provede operaci power-on reset nebo žádost reset jdoucí ze sběrnice USB a pokud najde na své sběrnici připojenou pamět EEPROM a zároveň data v paměti EEPROM budou platná, využije čip tyto deskriptory pro svou konfiguraci a činnost. V opačném případě je pamět ignorována a čip nahraje standardní hodnoty, které jsou definované výrobou. V případě, že čip FT232BM odešle data do paměti, tato potvrdí korektní příjem dat tím, že nastaví DOUT pin na hodnotu logické nuly. Abychom mohli detekovat takovéto potvrzení, připojíme pin DOUT přes 10kΩ rezistor na napájecí napětí, což způsobí, že pokud nedojde k potvzrení korektního příjmu ze strany EEPROM, bude pin čipu FT232BM díky rezistoru v hodnotě logické jedničky a zařízení tak bude moci detekovat chybu při přenosu dat směrem do paměti. 38
Obrázek 6.3: Schéma připojení paměti EEPROM k FT232BM 6.4 Připojení linkového vysílače/přijímače Obrázek 6.4 znázorňuje propojení UART rozhraní FT232BM s RS485 linkovým přijímačem/vysílačem. Pro účel RS485 rozhraní využijeme integrovaného obvodu LTC485 of firmy Linear Technology, který má separátní ovládání přijímače a vysílače. S využitím pinu TXDEN čipu FT232BM zajistíme, že RS485 vysílač bude aktivován pouze v případě, že budou na UART rozhraní čipu vysílána směrem do RS485 nějaká data. Protože přijímač RS485 je aktivní pouze ve stavu logické nuly (viz kapitola 5.2), můžeme využít pin čipu FT232BM PWREN k deaktivaci RS485 rozhraní v případě, že se celé zařízení dostane díky povelu na USB do tzv. suspend módu (zařízení není aktivní a odebírá minimální klidový proud). Dále je třeba v zapojení umístit rezistor o jmenovité hodnotě 120Ω, abychom zajistili řádnou terminaci linky RS-485 a zabránili tak odrazům, které by mohly degradovat přenášený signál (viz. kapitola 2.3). Vzhledem k zapojení vysílače/přijímače linky RS-485 je třeba ještě ošetřit stav, kdy může být vysílaný signál zachytáván zpětně přijímačem a je pak třeba softwarově oddělovat odeslaná data z přijímacího kanálu. Tento stav byl ošetřen s použitím logického obvodu. Pokud nedojde k propojení výstupu přijímače RS-485 a pinu RXD na UART rozhraní čipu FT232BM a pokud výstup přijímače zpracuji logickou funkcí OR se signálem TXDEN a takový výstupní signál použiji pro řízení RXD, hardwarově tím zajistíme, že vysílaná data nebudou současně zachytávána přijímačem. Toto řešení je z mého pohledu mnohem více estetické, než následné ošetření v softwaru aplikace, která převodník využívá. Jako výkonnou jednotku funkce OR zvolíme integrovaný obvod 74LS32D, který obsahuje 39
čtyři obvody dvoustupového hradla OR. Obrázek 6.4: Schéma připojení linkového přijímače/vysílače RS-485 6.5 Řízení přístupu RS-485 představuje dvoudrátovou sběrnici, po které lze oboustranně přenášet data. Protože ale nelze přenášet data oběma směry současně, musíme zde zajistit řízení směru přenosu. Je třeba zajistit takový stav, abychom řídicím signálem zapnuli vysílač sběrnice na dobu, která je nezbytně nutná pro uskutečnění datového přenosu a ihned po skončení této doby, aby byl vysílač opět deaktivován: void vysilani(char *buffer, int delka) { int a; for (a=0;a<delka;a++) { while(status_reg & TX_FULL); TX_REG=*buffer++; } TX_DISABLE(); } Dle [8] je praktickými pokusy odzkoušeno, že v takovém případě fyzicky poslední vysílaný znak (nebo i více) není ve skutečnosti odvysílán, protože takový znak není již na UART sběrnici, ale ještě nestihl být odvysílán a přitom je již RS485 40
vysílač deaktivován. Tato situace nastává vzhledem k návrhu UART, protože status bufferu indikuje okamžik, kdy je UART prázdný pro další zápis bytu. Ovšem tato indikace neznamená, že UART již dokončil přenos posledního zpracovávaného bytu. Existují však naštěstí metody, jak takovou chybu lze softwarově nebo hardwarově odstranit: Prodloužení smyčky Po odvysílání posledního bytu z UART čip provede čekání tak, aby vzniklo dostatečné množství času na to, aby mohl být i poslední byte odvysílán směrem na RS-485. Tato metoda funguje velice spolehlivě, ovšem velký problém nastává v případě, že budeme chtít odvysílat pouze jediný znak (NAK, ACK). V tomto případě vznikne po odvysílání znaku ještě mezera na další znak a vysílač je zbytečně držen v aktivním stavu. void vysilani(char *buffer, int delka) { int a; for (a=0;a<delka;a++) { while(status_reg & TX_FULL); TX_REG=*buffer++; } delay(tx_fifo_len_pluschar); TX_DISABLE(); } Prodloužení smyčky se dá provádět i dalšími metodami jako je například systémové volání s využitím RTOS; hardwarového timeru; doplňování vysílaného řetězce nebo sofistikovaného UART. Vzhledem k tomu, že FT232BM tyto metody nevyužívá není nutné se jimi v této práci detailněji zabývat. Loop-back Tuto metodu využívá integrovaný obvod LTC485 využitý při realizaci a je jedna z nejpřesnějších a nejúčinnějších v této oblasti. Princip této metody spočívá v příjmu dat, která se právě vysílají na sběrnici RS-485 a používají se k určení okamžiku, kdy se vysílání ukončí. Pro využití této metody je nezbytné, aby čip, který hodláme použít, byl vybaven touto vlastností, tj. aby výstup vysílače byl interně propojen ve struktuře se vstupem přijímače viz Obrázek 5.1. Loop-back struktura nám tak 41
umožňuje aplikovat velmi přesný způsob přepínání směrů. 6.6 Automatický způsob přepínání směrů Na Obrázku 6.4 si můžeme povšimnout, že pro LTC485 a pin DE (řízení vysílače sběrnice) je přiveden a využíván pin TXDEN z čipu FT232BM. V tomto případě je tedy řízení řešeno zcela automaticky čipem FT232BM, který se chová jako zdroj řídícího signálu pro zapínání a vypínání vysílačů na sběrnici RS-485. 6.7 Řízený způsob přepínání směrů Pokud nebudeme z nějakého důvodu (přenosová rychlost, charakter přenášených dat) chtít využít vlastnost funkce automatického způsobu přpínání směrů, můžeme zvolit řízený způsob. V takovém případě budou piny TXDEN a DE vzájemě rozpojeny. Ovládání DE pak musíme zajistit manuálně s využitím softwarového vybavení počítače, ke kterému je konvertor připojen. Pro řízený způsob přepínání směrů je s využitím signálu RTS (tzv. RTS control). V takovém případě je plně na softwaru, aby obsluhoval řídící signál RTS a v okamžiku požadavku na vyslání dat aby tuto informaci s pomocí RTS předal na DE linkového vysílače. Obrázek 6.5 vyobrazuje přenášenou zprávu s přihlédnutím na stav signálu RTS, který je v takovém případě potřebný pro úspěšné odvysílání dat. Obrázek 6.5: Řízený způsob přepínání směrů s využitím RTS 6.8 Vyvážení přenosvé linky RS-485 Vzhledem k tomu, že některé přenosové trasy mnohdy vykazují určitý stupeň zarušení, byl převodník vybaven přídavnými vyvažovacími rezistory R11 a R12. 42
Vzhledem k tomu, že přenosová trasa používá diferenčního signálu, může se v zarušených oblastech stát (např. průmyslové využití), že na RS-485 nebudou právě probíhat žádné datové přenosy a všechny vysílače se přepnou do vysokoimpedančního stavu. V případě, že se do plovoucích vodičů naindukuje vyšší napětí než 0,2V, systém již takový diferenční signál posuzuje jako užitečný. V těchto případech by mohlo nastávat, že se bude objevovat na sběrnici tzv. datový šum tj. náhodně zachycený datový signál nulové informační hodnoty. Přepínačí S5 a S6 DIP spínače, je možné uvést jednotlivé vodiče přenosové linky přes rezistory o jmenovité hodnotě 150Ω na zem. 6.9 Konfigurace Aby měl uživatel možnost konfigurovat RS-485 převodník dle konkrétní situace, je obvod vybaven šesti mikrospínači v provedení DIP. Každý z nich může uživatel uvést do jednotlivých poloh ON a OFF a konfigurovat tak systém dle následující tabulky: Tabulka 6.1: Konfigurace převodníku s pomocí mikro DIP přepínačů Označení Hodnota Funkce S1 ON Automatický způsob přepínání směrů S2 OFF S1 OFF Řízený způsob přepínání směrů S2 ON S3 ON Potlačit lokální ECHO na RS-485 S4 OFF S3 OFF Nepoltačovat lokální ECHO na RS-485 S4 ON S5 ON Vyvážení linky A sběrnice RS-485 S5 OFF Nevyvažovat linku A S6 ON Vyvážení linky B sběrnice RS-485 S6 OFF Nevyvažovat linku B Pozor! Přestavení mikrospínačů musí být provedeno pouze na odpojeném převodníku! 43
6.10 Dokončení Po návrhu všech zásadních částí převodníku ještě dozapojíme LED diody pro indikaci přijímaných a vysílaných dat na RS-485 sběrnici, microdip přepínač pro možnost konfigurace převodníku a vzájemě propojíme všechny navrhované části do jednoho funkčního celku. Protože zažízení může být velice často využívané k přenášení v kombinaci s notebookem či počítačem, byl návrh proveden v technologii SMT - velikost součástek 0805. Samotnoá realizace byla provedena s pomocí mikropáječky a za využití tavidla. Při nákupu součástek může nastat drobný problém v podobě přesnosti vyráběných rezistorů. Rezistory v provedení SMD velikosti 0805 jsou totiž běžně vyráběny v řadě E6, což v případě rezistorů R7,R11 a R12 vytvoří překážku. Vzhledem k tomu, že rezistory R11, R12 jsou vyvažovací a R7 jako terminátor, nebude dodržení jejich přesné jmenovité hodnoty pro funkčnost obvodu kritické a proto došlo k jejich nahrazení rezistory z řady E6 o hodnotách 100Ω. Fotografie realizované a osazené DPS převodníku jsou v na Obrázku H.1, Obrázku I.1, Obrázku J.1 a Obrázku K.1. 6.11 Měření obvodu Spotřeba Spotřeba převodníku byla určena za pomocí digitálního multimetru Metex M-3270D, který byl zapojen dle Obrázku 6.6. Měřením jsme zjistili, že obvodem protékal proud 38,06mA. Tato hodnota je vyšší než původní kalkulovaná hodnota v kapitole 6.1 této bakalářské práce, která udávala hodnotu 26,3mA, ovšem byla v ní započtena čistě jen spotřeba použitých integrovaných obvodů. Diference v odebíraném proudu je způsobena LED diodou napájení (cca 12mA). Odběr obvodu se tak může v závislosti na aktivitě diod indikace vysílání a příjmu na sběrnici RS-485 i nadále měnit - maximální spotřeba však nepřesáhne hodnotu 100mA, kterou udává specifikace standardu USB. Vliv nastavení lokálního echa na přijímaný signál Jak již bylo popsáno v kapitole 6.4 této práce, v převodníku je hardwarově zajištěno, že vysílaná data na sběrnici RS-485 nebudou zároveň zachytávána lokálním přijímačem (tzv. lokální echo). V případě, že je lokální echo potlačeno (konfigurace dle kapitoly 6.9), nejsou vysílaná data lokálně přijímána. V případě, že to bude aplikace vyžadovat, dá se lokální echo potlačit, čímž nastane situace, kdy vysílaná data jsou 44
Obrázek 6.6: Schéma zapojení měření spotřeby zpětně zachytávána lokálním příjímačem. Příklad naměřný v obvodu při vysílání sekvence 10110 je ilustrován na Obrázku 6.7. Obrázek 6.7: Vliv konfigurace lokálního echa Měření průběhu signálu na RS-485 Pro ověření funkčnosti převodníku bylo nutné zajistit měření průběhu signálu na sběrnici RS-485. Měření bylo provedeno digitálním osciloskopem HDS 1022M na pinech 1 a 8 zásuvky RJ45 převodníku (RS-485 rozhraní). Měření bylo provedeno při přenosu ASCII znaku F směrem k připojené RFID čtečce typu UW-485, která využívá komunikační rozhraní RS-485 při rychlosti 250kBaud. Teoreticky očekávaný výsledek průběhů jednotlivých signálu na pinech A,B je naznačen na Obrázku 6.8, reálný naměřený diferenční průběh je vyobrazen na Obrázku 6.9 této práce. Průběhy signálů na jednotlivých vodičích A,B proti zemi je na obrázku 6.10. 45
Obrázek 6.8: Teoretický průběh signálu při odesílání znaku F Obrázek 6.9: Průběh signálu při odesílání znaku F 46
Obrázek 6.10: Průběhy signálů na jednotlivých vodičích vedení 47
7 SOFTWARE Výrobce čipu FT232BM 1 dodává svůj čip FT232BM včetně ovladačů, které je možno stáhnout z jejich internetových stránek 2. V současné době je driver dodáván pod názvem CDM (Combined Driver Model) a obsahuje jak ovladače typu D2XX pro přímý přístup k USB zařízení, tak i ovladače typu VCP (Virtual Com Port), které umožňují emulovat USB zařízení jako COM port v počítači typu PC. Ovladače podporují operační systémy Windows, Mac OS X, Linux, Windows CE. VCP ovladač se skládá ze dvou vrstev - FTDIBUS.SYS (obstarává vytvoření sériového portu a přístup k USB zařízení) a FTSER2K.SYS (implementace pro sériový port). Schéma struktury ovladače typu VCP je uvedené na Obrázku 7.1. D2XX je využíván v situacích, kdy není komunikace přes sériový port vyžadována. Umožňuje přístup k zařízení s pomocí D2XX API. Ovladač je implementován jako nednovrstvý, kdy FTD2XX.SYS je volán s pomocí knihovny FTD2XX.DLL. Schéma struktury ovladače typu D2XX je vyobrazeno na Obrázku 7.2. Výhodou Obrázek 7.1: Schéma struktury ovladače typu VCP čipu FT232BM je, že v konfiguračním desktiptoru zařízení je v paměti EEPROM uloženo nastavení, jaký ovladač má být použit v závislosti na jeho typu. V tomto případě, lze tedy do EEPROM paměti zařízení uložit informaci o tom, aby vždy 1 FTDI Chip 2 <http://www.ftdichip.com> 48
Obrázek 7.2: Schéma struktury ovladače typu D2XX vyžadovalo využití VCP ovladače a tím si zajistilo emulaci přes sériový port. Obrázek 7.3: Náhled obrazovky programu Mprog 49
Výrobce dále dodává jako součást svého produktu software nazvaný MProg, který umožňuje v D2XX režimu konfigurovat pamět EEPROM zařízení a nastavit tak jeho deskriptory. Nastavit můžeme typ zařízení, VID, PID, verzi USB protokolu který je využíván, můžeme např. zakázat sériové číslo zařízení nebo určit, aby zařízení odpojovalo vstupní a výstupní piny v režimu USB suspend. Zároveň je dobré nastavit do deskriptorů typ napájení zařízení - v mém případě BUS Powered a uvést celkovou spotřebu. Dále máme možnost konfigurovat sériové číslo zařízení, možnost USB vzdáleného vzbuzení a funkci Plug & Play. Dalšími důležitými parametry jsou název výrobce a popis zařízení, který pak zobrazuje operační systém. Ukázka obrazovky programu je na Obrázku 7.3. V EEPROM paměti zařízení a její příslušných deskriptorech nebyla provedena žádná specifická konfigurace VID a PID, čili deskriptory zůstaly konfigurovány na hodnoty VID=0403, PID=6001. Specificky byly nastaveny deskriptory Bus Powered=1, Max Bus Power=26 ma, SN Prefix=07, SN Suffix=07335241, Deskriptor výrobce=fekt, Deskriptor produktu=rs485, Programmed SN=07R13A2F. 50
8 ZÁVĚR Jak bylo naznačeno již v úvodu, cílem této práce je zpracování návrhu převodníku dat ze sběrnice typu USB na rozhraní RS485. V jednotlivých kapitolách této bakalářské práce byl čtenář seznámen se specifikacemi jednotlivých rozhraní, stejně tak jako s popisem a specifikacemi jednotlivých prvků, které byly pro konstrukci využity. Celkové schéma zařízení jako takového se nachází v příloze B; deska pološných spojů je pak zpracována v několika pohledech - osazení součástek z vrchní strany DPS jako příloha C; osazení součástek spodní strany DPS je v příloze D; horní strana desky plošných spojů jako příloha E; spodní strana desky plošných spojů jako příloha F. V příloze G této bakalářské práce se nachází rozpis součástek potřebných pro konstrukci zařízení. Fotografie realizovaného DPS a osazeného zařízení jsou v přílohách H,I,J a K. Jelikož bylo celé zařízení realizováno s použitím součástek technologie SMD bylo nutné desku plošných spojů navrhnout jako oboustranou s využitím prokovů. Desku plošných spojů realizovala na základě návrhu specializovaná firma, která se touto výrobou zabývá. Vodivé vrstvy na DPS byly oboustranně pozlaceny a to zejména kvůli pozdějším oxidačním jevům a zároveň i z estetického hlediska. Při samotném osazování desky bylo výhradně použito pájky Sn95,5Ag3,8Cu0,7. Osazování bylo provedeno dle všeobecných zásad, tj. nejprve konektory, dále pasivní součástky, aktivní součástky, integrované obvody a ihned po jeho dokončení byl obvod oživen. Po připojení USB rozhraní bylo provedeno základní oměření napětí na převodníku a zároveň proběhlo ověření jeho řádné funkce s pomocí počítače. Z pohledu zadání této bakalářské práce se nám podařilo zrealizovat kompletní převodník USB-RS485 včetně definovaných provozních parametrů a můžeme tak konstatovat, že zadání bakalářské práce bylo splněno v plném rozsahu. 51
REFERENCE [1] BOLDIŠ, P. Bibliografické citace dokumentů podle ČSN ISO 690 a ČSN ISO 690-2 [online]. 2001, poslední aktualizace 11. 11. 2004 [cit. 17. 2. 2005]. Dostupné z URL: <http://www.boldis.cz/citace/citace.html>. [2] HERMAN, I. Komunikační technologie. Elektronické předlohy. FEKT VUT v Brně. 2007. [3] FILKA, M. a kol. Diplomní semináře - telekomunikace. ES VUT Brno, 1989. [4] beyondlogic.org Specifikace USB zařízení Dostupné z URL: <http://www.beyondlogic.org/usbnutshell/usb2.htm> [5] linear.com Popis integrovaného obvodu FT232BM Dostupné z URL: <http://www.linear.com> [6] microchip.com Popis paměti typu EEPROM 93C56B Dostupné z URL: <http://www.microchip.com> [7] ftdichip.com Popis linkového vysílače/přijímače sběrnice RS485 LTC485 Dostupné z URL: <http://www.ftdichip.com> [8] kksystems.com Popis problematiky řízeného přepínání směrů Dostupné z URL: <http://www.kksystems.com> [9] netrino.com Popis obecné problematiky přepínání směrů Dostupné z URL: <http://www.netrino.com/embedded-systems/how-to> 52
SEZNAM SYMBOLŮ, VELIČIN A ZKRATEK USB RS-485 převodník COM univerzální sériové rozhraní Universal Serial Bus rozhraní RS-485 je elektrická specifikace pro dvoudrátové, poloduplexní, vícebodové sériové spojení zařízení určené k přechodu z rozhraní jednoho typu na jiné název rozhraní sériového portu na počítačích typu PC FT232BM mikročip od firmy FTDI Chip určený k převodu rozhraní z USB na sériový asynchronní přenos dat EEPROM 93C56 pamět s kapacitou 2kbit - elektronicky vymazatelná (Electrically Erasable PROM) LTC 485 RS-232 nízkopříkonový vysílač/přijímač sběrnice typu RS-485 rozrhaní RS-232 je elektrická specifikace pro sériový přenos dat použitý v počítačových portech, je velice podobná protokolu V.24 ze standardu ITU-T Plug and Play schopnost počítače, která umožňuje přidat nové zařízení např. počítačovou periferii bez nutnosti manuální konfigurace nebo instalace ovladačů tohoto zařízení stand by režim zařízení, ve kterém není vykonávána žádna operace a zařízení je uvedeno do klidového režimu, kdy odebírá zpravidla minimální proud a nevykazuje žádnou činnost - výhodou stand by režimu je možnost rychlého uvedení do standardního provozu overhead přidaný datový tok který protokol potřebuje pro svou vlastní režii - malý overhead vyznačuje vysokou efektivitu, tj. velmi nízkou režii protokolu NRZI CRC LSB non-return-to-zero Inverted; typ modulace která mapuje log 1 při změně stavu, log 0 pro stávající stav; stejný typ modulace se využívá např. pro zápis na magnetickou pásku cyclic redudancy check; je funkce která ze vstupních dat zcela libolovné délky produkuje výstupní hodnotu o přesně stanovené délce; velmi často se CRC využívá pro funkce kontrolního součtu least significant bit; označuje bit v řetězci s nejnižší váhou 53
handshaking automatický proces, který má za úkol nastavit na obou stranách přenosového vedení stejné komunikační parametry SRF RTOS SMD vlastní rezonanční kmitočet real-time operační systém, podporující multitasking surface-mount technology; metoda konstrukce elektronických zařízení, kdy se komponenty montují přímo na povrch desky plošných spojů 54
SEZNAM PŘÍLOH A Blokový diagram čipu FT232BM 56 B Schéma zapojení převodníku 58 C Pohled na osazení součástek - vrchní strana 60 D Pohled na osazení součástek - spodní strana 61 E Pohled na desku plošných spojů - vrchní strana 62 F Pohled na desku plošných spojů - spodní strana 63 G Rozpis součástek 64 H Fotografie DPS TOP 65 I Fotografie DPS BOTTOM 66 J Fotografie osazené DPS TOP 67 K Fotografie osazené DPS BOTTOM 68 55
A BLOKOVÝ DIAGRAM ČIPU FT232BM 56
Obrázek A.1: Blokový diagram čipu FT232BM SLEEP# 48 MHz PWREN# VCC PWRCTL 3V3OUT 3,3V LDO regulátor Duální vysílací buffer (128 B) USBDP USBDM USB vysílač Ovladač sériového rozhraní Řízení USB protokolu UART FIFO kontroler Duální přijímací buffer (384 B) USB DPLL 3V3OUT XTOUT XTIN 48 MHz RESET# Oscilátor 6MHz Násobič hodin x8 Generátor resetu 12 MHz Generátor přenosové rychlosti UART EEPROM interface TXD RXD RTS# CTS# DSR# RI# DTR# DCD# TXDEN RXLED# TXLED# EECS EESK EEDATA RSTOUT# 57
B SCHÉMA ZAPOJENÍ PŘEVODNÍKU 58
Obrázek B.1: Schéma zapojení převodníku USB<->RS485 59
C POHLED NA OSAZENÍ SOUČÁSTEK - VRCHNÍ STRANA Obrázek C.1: Osazení součástek převodníku - vrchní strana DPS 60
D POHLED NA OSAZENÍ SOUČÁSTEK - SPODNÍ STRANA Obrázek D.1: Osazení součástek převodníku - spodní strana DPS 61
E POHLED NA DESKU PLOŠNÝCH SPOJŮ - VRCHNÍ STRANA Obrázek E.1: Deska plošných spojů převodníku USB<->RS485 - vrchní strana 62
F POHLED NA DESKU PLOŠNÝCH SPOJŮ - SPODNÍ STRANA Obrázek F.1: Deska plošných spojů převodníku USB<->RS485 - spodní strana 63
G ROZPIS SOUČÁSTEK Tabulka G.1: Rozpis součástek potřebných pro konstrukci zařízení Označení Hodnota Počet Poznámky C1 10nF 1ks SMD 0805 C2 33nF 1ks SMD 0805 C3,C4,C6 100nF 3ks SMD0805 C5 10µF 1ks SMD elektrolyt B6 C7,C8 27pF 2ks SMD0805 R1,R2 22Ω 2ks SMD0805 R3 470Ω 1ks SMD0805 R4 1k5 1ks SMD0805 R5 2k2 1ks SMD0805 R6 10k 1ks SMD0805 R7,R11,R12 100Ω 1ks SMD0805 R8,R9,R10 220Ω 3ks SMD0805 IC1 FT232BM 1ks QFP32 IC2 93LC46 nebo 93LC56 1ks SO IC3 LTC485 1ks SO IC4 74HC32 1ks SO J1 zásuvka RJ45 1ks 8pin do DPS L1 tlumivka 1ks R = 0, 65Ω, I max = 200mA LED1 led žlutá 1ks SMD1206 LED2 led červená 1ks SMD1206 LED3 led zelená 1ks SMD1206 Q1 6MHz 1ks krystal ležatý S1 přepínač 6x 1ks DIP switch 6x1 X1 konektor USB 1ks mini-usb zásuvka SMD ležatá 64
H FOTOGRAFIE DPS TOP Obra zek H.1: Deska plos ny ch spoju - foto - top 65
I FOTOGRAFIE DPS BOTTOM Obrázek I.1: Deska plošných spojů - foto - bottom 66
J FOTOGRAFIE OSAZENÉ DPS TOP Obrázek J.1: Fotografie osazeného převodníku - top 67
K FOTOGRAFIE OSAZENÉ DPS BOTTOM Obrázek K.1: Fotografie osazeného převodníku - bottom 68