0,0 → 1,564 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
<html> |
<head> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
<title> USB232R01A </title> |
<meta name="keywords" content="USB FTDI RS232 převodník"> |
<meta name="description" content="USB převodník pro RS232"> |
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> |
<link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"> |
<link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> |
<script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> |
<!-- AUTOINCLUDE END --> |
</head> |
|
<body lang="cs"> |
|
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> |
<!-- ============== HLAVICKA ============== --> |
<div class="Header"> |
<script type="text/javascript"> |
<!-- |
SetRelativePath("../../../../../"); |
DrawHeader(); |
// --> |
</script> |
<noscript> |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
</noscript> |
</div> |
<!-- AUTOINCLUDE END --> |
|
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> |
<!-- ============== MENU ============== --> |
<div class="Menu"> |
<script type="text/javascript"> |
<!-- |
SetRelativePath("../../../../../"); |
DrawMenu(); |
// --> |
</script> |
<noscript> |
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> |
</noscript> |
</div> |
<!-- AUTOINCLUDE END --> |
|
<!-- ============== TEXT ============== --> |
<div class="Text"> |
<p class="Title"> |
Převodník USB na RS232 |
</p> |
<p class=Autor> |
Milan Horkel |
</p> |
<p class="Subtitle"> |
Modul slouží jako univerzální převodník z USB na RS232 s výstupy |
na straně RS232 v úrovních TTL. Převodník používá obvod FT232R od |
firmy FTDI. Tyto obvody jsou podporované ve všech rozšířených operačních |
systémech. |
</p> |
<p class="Subtitle"> |
<img width="328" height="204" src="USB232R01A.cs_files/image001.jpg" |
alt="Obrázek modulu USB232R01A"> |
</p> |
<p> |
<a href="../USB232R01A.cs.pdf"><img class="NoBorder" |
src="../../../../../Web/PIC/FileIco_PDF.ico" |
alt="Acrobat"> PDF verze</a> |
</p> |
|
<h1> Technické parametry </h1> |
|
<table> |
<tr> |
<th> Parametr </th> |
<th> Hodnota </th> |
<th> Poznámka </th> |
</tr> |
<tr> |
<td> Rozhraní </td> |
<td> USB 2.0 </td> |
<td> <span lang="EN-US">High Speed</span> </td> |
</tr> |
<tr> |
<td> Konektor </td> |
<td> USB B </td> |
<td> Standardní velký USB konektor </td> |
</tr> |
<tr> |
<td> Spotřeba </td> |
<td> 15mA / 5V </td> |
<td> Bez připojeného dalšího zařízení </td> |
</tr> |
<tr> |
<td> Signály </td> |
<td> RXD TXD RTS# CTS# DTR# DSR# DCD# RI# </td> |
<td> Signály obvyklé na 9pin konektoru, signály pro řízení přenosu |
s volitelnou polaritou, TTL </td> |
</tr> |
<tr> |
<td> Řízení toku </td> |
<td> Nastavitelné </td> |
<td> Možno nastavit HW i SW řízení toku dat </td> |
</tr> |
<tr> |
<td> Režim spánku </td> |
<td> Ano </td> |
<td> Spínač napájení pro externí použití </td> |
</tr> |
<tr> |
<td> Vzbuzení PC </td> |
<td> Ano </td> |
<td> Pomocí signálu RI# </td> |
</tr> |
<tr> |
<td> Rozměry </td> |
<td> 51x31x18mm </td> |
<td> Výška nad základnou </td> |
</tr> |
</table> |
|
<h1> Popis konstrukce </h1> |
|
<h2> Úvodem </h2> |
|
<p> |
Sériový port RS232 se pomalu stává nedostupnou relikvií minulých časů a |
je třeba začít používat novější rozhraní. Na druhé straně jednočipové |
mikropočítače jsou velmi dobře přizpůsobeny pro sériovou komunikaci a |
tak se přirozeným řešením stává převodník USB na sériový kanál. |
</p> |
|
<p> |
Pro modul jsme vybrali běžně dostupný obvod FT232RL firmy FTDI. Obvody |
jsou i v kusovém množství dostupné u firmy ASIX v Praze za |
velmi rozumnou cenu. Bližší informace na |
<a href="http://www.asix.cz/">http://www.asix.cz</a> |
a technické informace a drivery na stránce výrobce |
<a href="http://www.ftdichip.com/">http://www.ftdichip.com</a>. |
</p> |
|
<h2> Obvod FT232R </h2> |
|
<p> |
Hlavní vlastnosti obvodu lze shrnout v těchto bodech: |
</p> |
|
<ul> |
<li> USB 2.0 s přenosem 300Bd až 3MBd s běžnými nastaveními (7 |
nebo 8 bitů, parita, …) </li> |
<li> FIFO pro příjem i vysílání </li> |
<li> Podpora řízení přenosu HW i SW </li> |
<li> Podpora ve všech běžných OS drivery od výrobce </li> |
<li> Programovatelné polarity signálů, pomocné signály </li> |
<li> Podpora úsporných režimů a vzbouzení PC </li> |
<li> Nízká cena </li> |
</ul> |
|
<p> |
Tento nový obvod od firmy FTDI má některé výhody oproti předchozím |
verzím: |
</p> |
|
<ul> |
<li> Potřebuje méně externích součástek, nepotřebuje krystal </li> |
<li> Konfigurační paměť EEPROM je integrovaná uvnitř obvodu </li> |
</ul> |
|
<h2> Zapojení modulu </h2> |
|
<p> |
Zapojení vychází z katalogu součástky a příslušných aplikačních |
poznámek. |
</p> |
|
<p> |
Obvod FT232R má vestavěný vnitřní stabilizátor 3.3V pro signály USB. |
Toto napětí je vyvedeno na konektor J6 a lze je zatížit až 50mA. |
</p> |
|
<p> |
Konektor J5 slouží pro nastavení napětí vstupních a výstupních signálů. |
Je možno použít rozkmit signálů 5V nebo 3.3V. Jiné úrovně jsou možné |
(až do 1.8V) ale je třeba dodat příslušné napětí na pin J5.2. |
</p> |
|
<p> |
Tranzistor Q1 spíná napětí USB VCC na konektor J4. Toto napětí se |
automaticky vypne, když počítač přejde do režimu spánku. Aktivací |
signálu RI# je možno počítač probudit pokud to není v konfiguraci |
zakázané. |
</p> |
|
<p> |
LED diody indikují RX a TX aktivitu. Funkci je možno změnit modifikací |
obsahu EEPROM. |
</p> |
|
<p> |
<img width="864" height="463" src="USB232R01A.cs_files/image002.gif" |
alt="Schema"> |
</p> |
|
<table class="Soupiska"> |
<tr> |
<th> Reference </th> |
<th> Hodnota </th> |
</tr> |
<tr> |
<th colspan="2"> Odpory </th> |
</tr> |
<tr> |
<td> R4, R5 </td> |
<td> 270R </td> |
</tr> |
<tr> |
<td> R3 </td> |
<td> 1k </td> |
</tr> |
<tr> |
<td> R1 </td> |
<td> 4k7 </td> |
</tr> |
<tr> |
<td> R2 </td> |
<td> 10k </td> |
</tr> |
<tr> |
<th colspan="2"> Keramické kondenzátory </th> |
</tr> |
<tr> |
<td> C1 </td> |
<td> 10nF </td> |
</tr> |
<tr> |
<td> C3, C4, C5, C6, C7 </td> |
<td> 100nF </td> |
</tr> |
<tr> |
<th colspan="2"> Elektrolytické kondenzátory </th> |
</tr> |
<tr> |
<td> C2 </td> |
<td> 4u7/6.3V </td> |
</tr> |
<tr> |
<th colspan="2"> Indukčnosti </th> |
</tr> |
<tr> |
<td> L1 </td> |
<td> MI0805K400R-10 </td> |
</tr> |
<tr> |
<th colspan="2"> Diody </th> |
</tr> |
<tr> |
<td> D1 </td> |
<td> 1N4007SMD </td> |
</tr> |
<tr> |
<td> D2, D3 </td> |
<td> LED3mm_RED </td> |
</tr> |
<tr> |
<th colspan="2"> Tranzistory </th> |
</tr> |
<tr> |
<td> Q1 </td> |
<td> IRF7416SMD </td> |
</tr> |
<tr> |
<th colspan="2"> Integrované obvody </th> |
</tr> |
<tr> |
<td> U1 </td> |
<td> FT232RL </td> |
</tr> |
<tr> |
<th colspan="2"> Mechanické součástky </th> |
</tr> |
<tr> |
<td> J1 </td> |
<td> USB_B_01 </td> |
</tr> |
<tr> |
<td> J2 </td> |
<td> JUMP2X8 </td> |
</tr> |
<tr> |
<td> J3, J4 </td> |
<td> JUMP2X3 </td> |
</tr> |
<tr> |
<td> J5, J6, J8 </td> |
<td> JUMP3 </td> |
</tr> |
<tr> |
<td> J9 </td> |
<td> JUMP2 </td> |
</tr> |
<tr> |
<th colspan="2"> Konstrukční součásti </th> |
</tr> |
<tr> |
<td> 4ks </td> |
<td> Šroub M3x12 </td> |
</tr> |
<tr> |
<td> 4ks </td> |
<td> Podložka M3 </td> |
</tr> |
<tr> |
<td> 4ks </td> |
<td> Sloupek M3x5 </td> |
</tr> |
<tr> |
<td> 1ks </td> |
<td> Jumper </td> |
</tr> |
<tr> |
<td> 1ks </td> |
<td> PCB USB232R0A </td> |
</tr> |
</table> |
|
<h2> Mechanická konstrukce </h2> |
|
<p> |
Převodník je vyroben v podobě standardního modulu stavebnice MLAB. |
V rozích je opatřen upevňovacími šrouby se sloupky. |
</p> |
|
<p> |
<img width="300" height="188" src="USB232R01A.cs_files/image003.jpg" |
alt="Pohled zhora"> |
<img width="300" height="188" src="USB232R01A.cs_files/image004.jpg" |
alt="Pohled ze strany spojů"> |
</p> |
|
<h1> Osazení a oživení </h1> |
|
<h2> Osazení </h2> |
|
<p> |
Nejprve osazujeme SMD součástky. Začneme obvodem U1 aby nám nepřekážely |
ostatní součástky. Je třeba použít pastového tavidla a minimum pájky. |
Mikropáječka je téměř nezbytností. |
</p> |
|
<p> |
Na straně součástí nezapomeňte osadit 4 drátové propojky. Nejvhodnější |
je tenký lakovaný samopájitelný drátek. Polarita LED diod je označena |
(A jako anoda). |
</p> |
|
<p> |
<img width="320" height="195" src="USB232R01A.cs_files/image005.jpg" |
alt="Osazení ze strany spojů"> |
<img width="322" height="195" src="USB232R01A.cs_files/image006.jpg" |
alt="Osazení ze strany součástí"> |
</p> |
|
<h2> Oživení </h2> |
|
<p> |
V zásadě není co oživovat. Před prvním zapnutím je vhodné |
zkontrolovat, zda zařízení nemá zkrat v napájení (konektor J3, |
napětí 5V). |
</p> |
|
<h2> Konfigurace </h2> |
|
<p> |
Konfigurace se zapisuje do interní paměti EEPROM a je nepovinná. Viz |
kapitola o driverech. |
</p> |
|
<h1> Programové vybavení – drivery </h1> |
|
<p> |
Drivery, programy a originální dokumentace na stránkách výrobce čipu |
<a href="http://www.ftdichip.com/">http://www.ftdichip.com</a>. |
Aplikační poznámky si zaslouží alespoň zběžné prostudování. |
</p> |
|
<h2> Instalace driverů WinXP </h2> |
|
<p> |
Při prvním připojení převodníku k USB portu si systém vyžádá |
adresář s drivery. Základní chování je takové, že se pro převodník |
spustí drivery pro obsluhu zařízení se dvěma aplikačními rozhraními. |
</p> |
|
<h3> Rozhraní <code>Virtual COM Port</code> </h3> |
|
<p> |
Toto rozhraní umožňuje aplikacím přes <code>Win32 COM API</code> |
komunikovat s převodníkem jako se standardním sériovým portem. |
Zpřístupnění tohoto rozhraní je možné zakázat v konfiguraci |
součástky (v paměti EEPROM) nebo v konfiguraci driveru (v |
příslušném INI souboru). |
</p> |
|
<p> |
Pro komunikaci je možno použít libovolný terminálový program a vybrat si |
nově vzniklý COM port. Na rozdíl od obyčejného COM portu dojde |
k přerušení spojení mezi programem (terminálem) a USB COM portem |
kdykoli odpojíme a připojíme USB zařízení. Spojení je pak nutné znovu |
navázat (u terminálu typicky „zavěsit“ a znovu se spojit). |
</p> |
|
<h3> Rozhraní <code>D2XX API</code> </h3> |
|
<p> |
Toto rozhraní je proprietární rozhraní firmy FTDI a slouží pro |
komunikaci s obvody FTDI včetně ovládání jejich speciálních funkcí |
(například programování paměti EEPROM). |
</p> |
|
<h3> Architektura driverů </h3> |
|
<p> |
Nová generace driverů pro obvody FTDI používá koncepci kombinovaného |
driveru (na rozdíl od dřívějších verzí) a stačí tak jediná sada driverů, |
která dává k dispozici jak rozhraní pro virtuální COM port tak i |
proprietární rozhraní FTDI. U nových obvodů (FT232R, FT2232 a podobně) |
je konfigurace nastavená v paměti EEPROM součástky. |
</p> |
|
<p> |
<img width="335" height="238" src="USB232R01A.cs_files/image007.gif" |
alt="Architektura driverů"> |
</p> |
|
<p> |
Obrázek ukazuje stav, kdy jsou k dispozici obě rozhraní (výchozí |
konfigurace). Nelze <i>současně</i> využívat obě výše uvedená rozhraní. |
</p> |
|
<h2> Konfigurace součástky </h2> |
|
<p> |
Výchozí konfigurace součástky je celkem rozumná a obvykle není třeba |
konfiguraci měnit. K nastavování konfigurace součástky slouží |
program Mprog.exe a je ke stažení na webu výrobce. Po spuštění vypadá |
takhle: |
</p> |
|
<p> |
<img width="642" height="535" src="USB232R01A.cs_files/image008.jpg" |
alt="Program Mprog.exe"> |
</p> |
|
<p> |
Program umožňuje zapsat do konfigurační EEPROM až po uložení vytvořené |
konfigurace do souboru. Možnosti nastavení jsou patrné a v helpu |
programu stručně popsané. |
</p> |
|
<p> |
Pokud si naprogramujete vlastní USB VID/PID identifikátory bude třeba |
upravit i příslušné položky v INF souboru driverů. |
</p> |
|
<h2> Základy USB </h2> |
|
<p> |
Podrobnosti na <a href="http://www.usb.org/">http://www.usb.org</a>. |
Zde je k dispozici specifikace USB. |
</p> |
|
<h3> Úplné základy </h3> |
|
<p> |
Rychlost na USB se často plete: |
</p> |
|
<ul> |
<li> Full Speed – 480Mbit/s – pouze USB 2.0, používají například USB |
disky, nutné lepší kabely </li> |
<li> High Speed – 12MBit/s – běžná zařízení (<i>i náš převodník</i>) </li> |
<li> Low Speed – 1.5Mbit/s – zařízení typu HID (klávesnice, myši) </li> |
</ul> |
|
<p> |
Napájení: |
</p> |
|
<ul> |
<li> Napájecí napětí 5V, k dispozici zaručeně minimálně 100mA, |
maximálně 500mA pokud to zdroj v počítači nebo HUBu umožňuje </li> |
<li> Zařízení po zastrčení do USB nesmí mít spotřebu větší než 100mA </li> |
<li> Signály jsou 3.3V, diferenciální pár </li> |
<li> Teoreticky má být napájení jištěno <i>ale u některých zařízení to |
neplatí</i> </li> |
</ul> |
|
<p> |
Přenos dat: |
</p> |
|
<ul> |
<li> Isochronní – zabraná šířka pásma – například pro přenos zvuku </li> |
<li> Interrupt přenosy – pro interaktivní přenosy – například klávesnice, |
signalizace a podobně </li> |
<li> Bulk přenosy – přenosy velkého množství dat – disky a podobně |
(<i>i náš převodník</i>) </li> |
<li> Řídící přenosy – pro řízení USB zařízení </li> |
</ul> |
|
<p> |
Komunikace po USB probíhá v rámcích, které se přenášejí vždy po 1 |
milisekundě (u zařízení Low Speed nebo High Speed). Do každého rámce se |
snaží obslužné programy (drivery USB) nacpat co nejvíce přenosů. |
Přednost mají isochronní přenosy (například pro reproduktory), pak data |
související s interaktivním přenosem (očuchávání klávesnice, přenos |
přerušení) a teprve zbytek kapacity je vyplněn hromadnými přenosy. |
Převodník využívá hromadné přenosy. |
</p> |
|
<p> |
V žádném případě nelze spoléhat na časování přenosů. Data se |
přenášejí po paketech a jsou na straně driverů i v obvodu |
FT232R vyrovnávací paměti pro odesílaná a pro přijímaná data. Jediná |
správná cesta bezchybného přenosu spočívá ve využití řízení přenosu buď |
HW signály nebo znaky XON/XOFF. |
</p> |
|
<h3> Přenos dat u obvodu FT232R </h3> |
|
<p> |
Data se přenášejí po paketech o délce až 64B. 2 bajty se použijí pro |
přenos stavu řídících signálů a zbytek jsou sériová data. Přenos dat |
probíhá pouze pokud se zaplní vyrovnávací paměť o délce 64B nebo pokud |
od posledního přenosu uběhla dostatečně dlouhá doba (vyprší Latency |
Timer s přednastavenou dobou 16ms). |
</p> |
|
<p> |
Pokud se změní stav některého z řídících signálů dojde k přenosu |
v nejbližším milisekundovém rámci. Totéž platí i pro případ přenosu |
některého znaku pro řízení přenosu (obvykle znaky XON a XOFF). |
</p> |
|
</div> |
|
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> |
<!-- ============== PATIČKA ============== --> |
<div class="Footer"> |
<script type="text/javascript"> |
<!-- |
SetRelativePath("../../../../../"); |
DrawFooter(); |
// --> |
</script> |
<noscript> |
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> |
</noscript> |
</div> |
<!-- AUTOINCLUDE END --> |
|
</body> |
</html> |