Rev Author Line No. Line
453 miho 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> USB232R01A </title>
6 <meta name="keywords" content="USB FTDI RS232 převodník">
1854 kaklik 7 <meta name="description" content="USB převodník pro RS232 sériová komunikace">
453 miho 8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
13 <!-- AUTOINCLUDE END -->
14 </head>
15  
16 <body lang="cs">
17  
18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
19 <!-- ============== HLAVICKA ============== -->
20 <div class="Header">
21 <script type="text/javascript">
22 <!--
23 SetRelativePath("../../../../../");
24 DrawHeader();
25 // -->
26 </script>
27 <noscript>
28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
29 </noscript>
30 </div>
31 <!-- AUTOINCLUDE END -->
32  
33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== -->
35 <div class="Menu">
36 <script type="text/javascript">
37 <!--
38 SetRelativePath("../../../../../");
39 DrawMenu();
40 // -->
41 </script>
42 <noscript>
43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
44 </noscript>
45 </div>
46 <!-- AUTOINCLUDE END -->
47  
48 <!-- ============== TEXT ============== -->
49 <div class="Text">
50 <p class="Title">
51 Převodník USB na RS232
52 </p>
53 <p class=Autor>
54 Milan&nbsp;Horkel
55 </p>
56 <p class="Subtitle">
57 Modul slouží jako univerzální převodník z&nbsp;USB na RS232 s&nbsp;výstupy
58 na straně RS232 v&nbsp;úrovních TTL. Převodník používá obvod FT232R od
59 firmy FTDI. Tyto obvody jsou podporované ve všech rozšířených operačních
60 systémech.
61 </p>
62 <p class="Subtitle">
63 <img width="328" height="204" src="USB232R01A.cs_files/image001.jpg"
64 alt="Obrázek modulu USB232R01A">
65 </p>
66 <p>
67 <a href="../USB232R01A.cs.pdf"><img class="NoBorder"
68 src="../../../../../Web/PIC/FileIco_PDF.ico"
69 alt="Acrobat">&nbsp;PDF verze</a>
70 </p>
71  
72 <h1> Technické parametry </h1>
73  
74 <table>
75 <tr>
76 <th> Parametr </th>
77 <th> Hodnota </th>
78 <th> Poznámka </th>
79 </tr>
80 <tr>
81 <td> Rozhraní </td>
82 <td> USB 2.0 </td>
83 <td> <span lang="EN-US">High Speed</span> </td>
84 </tr>
85 <tr>
86 <td> Konektor </td>
87 <td> USB B </td>
88 <td> Standardní velký USB konektor </td>
89 </tr>
90 <tr>
91 <td> Spotřeba </td>
92 <td> 15mA&nbsp;/&nbsp;5V </td>
93 <td> Bez připojeného dalšího zařízení </td>
94 </tr>
95 <tr>
96 <td> Signály </td>
97 <td> RXD TXD RTS# CTS# DTR# DSR# DCD# RI# </td>
98 <td> Signály obvyklé na 9pin konektoru, signály pro řízení přenosu
99 s&nbsp;volitelnou polaritou, TTL </td>
100 </tr>
101 <tr>
102 <td> Řízení toku </td>
103 <td> Nastavitelné </td>
104 <td> Možno nastavit HW i SW řízení toku dat </td>
105 </tr>
106 <tr>
107 <td> Režim spánku </td>
108 <td> Ano </td>
109 <td> Spínač napájení pro externí použití </td>
110 </tr>
111 <tr>
112 <td> Vzbuzení PC </td>
113 <td> Ano </td>
114 <td> Pomocí signálu RI# </td>
115 </tr>
116 <tr>
117 <td> Rozměry </td>
118 <td> 51x31x18mm </td>
119 <td> Výška nad základnou </td>
120 </tr>
121 </table>
122  
123 <h1> Popis konstrukce </h1>
124  
125 <h2> Úvodem </h2>
126  
127 <p>
128 Sériový port RS232 se pomalu stává nedostupnou relikvií minulých časů a
129 je třeba začít používat novější rozhraní. Na druhé straně jednočipové
130 mikropočítače jsou velmi dobře přizpůsobeny pro sériovou komunikaci a
131 tak se přirozeným řešením stává převodník USB na sériový kanál.
132 </p>
133  
134 <p>
135 Pro modul jsme vybrali běžně dostupný obvod FT232RL firmy FTDI. Obvody
136 jsou i v&nbsp;kusovém množství dostupné u firmy ASIX v&nbsp;Praze za
137 velmi rozumnou cenu. Bližší informace na
138 <a href="http://www.asix.cz/">http://www.asix.cz</a>
139 a technické informace a drivery na stránce výrobce
140 <a href="http://www.ftdichip.com/">http://www.ftdichip.com</a>.
141 </p>
142  
143 <h2> Obvod FT232R </h2>
144  
145 <p>
146 Hlavní vlastnosti obvodu lze shrnout v&nbsp;těchto bodech:
147 </p>
148  
149 <ul>
150 <li> USB 2.0 s&nbsp;přenosem 300Bd až 3MBd s&nbsp;běžnými nastaveními (7
151 nebo 8 bitů, parita, …) </li>
152 <li> FIFO pro příjem i vysílání </li>
153 <li> Podpora řízení přenosu HW i SW </li>
154 <li> Podpora ve všech běžných OS drivery od výrobce </li>
155 <li> Programovatelné polarity signálů, pomocné signály </li>
156 <li> Podpora úsporných režimů a vzbouzení PC </li>
157 <li> Nízká cena </li>
158 </ul>
159  
160 <p>
161 Tento nový obvod od firmy FTDI má některé výhody oproti předchozím
162 verzím:
163 </p>
164  
165 <ul>
166 <li> Potřebuje méně externích součástek, nepotřebuje krystal </li>
167 <li> Konfigurační paměť EEPROM je integrovaná uvnitř obvodu </li>
168 </ul>
169  
170 <h2> Zapojení modulu </h2>
171  
172 <p>
173 Zapojení vychází z&nbsp;katalogu součástky a příslušných aplikačních
174 poznámek.
175 </p>
176  
177 <p>
178 Obvod FT232R má vestavěný vnitřní stabilizátor 3.3V pro signály USB.
179 Toto napětí je vyvedeno na konektor J6 a lze je zatížit až 50mA.
180 </p>
181  
182 <p>
183 Konektor J5 slouží pro nastavení napětí vstupních a výstupních signálů.
184 Je možno použít rozkmit signálů 5V nebo 3.3V. Jiné úrovně jsou možné
185 (až do 1.8V) ale je třeba dodat příslušné napětí na pin J5.2.
186 </p>
187  
188 <p>
189 Tranzistor Q1 spíná napětí USB VCC na konektor J4. Toto napětí se
190 automaticky vypne, když počítač přejde do režimu spánku. Aktivací
191 signálu RI# je možno počítač probudit pokud to není v&nbsp;konfiguraci
192 zakázané.
193 </p>
194  
195 <p>
196 LED diody indikují RX a TX aktivitu. Funkci je možno změnit modifikací
197 obsahu EEPROM.
198 </p>
199  
200 <p>
201 <img width="864" height="463" src="USB232R01A.cs_files/image002.gif"
202 alt="Schema">
203 </p>
204  
205 <table class="Soupiska">
206 <tr>
207 <th> Reference </th>
208 <th> Hodnota </th>
209 </tr>
210 <tr>
211 <th colspan="2"> Odpory </th>
212 </tr>
213 <tr>
214 <td> R4, R5 </td>
215 <td> 270R </td>
216 </tr>
217 <tr>
218 <td> R3 </td>
219 <td> 1k </td>
220 </tr>
221 <tr>
222 <td> R1 </td>
223 <td> 4k7 </td>
224 </tr>
225 <tr>
226 <td> R2 </td>
227 <td> 10k </td>
228 </tr>
229 <tr>
230 <th colspan="2"> Keramické kondenzátory </th>
231 </tr>
232 <tr>
233 <td> C1 </td>
234 <td> 10nF </td>
235 </tr>
236 <tr>
237 <td> C3, C4, C5, C6, C7 </td>
238 <td> 100nF </td>
239 </tr>
240 <tr>
241 <th colspan="2"> Elektrolytické kondenzátory </th>
242 </tr>
243 <tr>
244 <td> C2 </td>
245 <td> 4u7/6.3V </td>
246 </tr>
247 <tr>
248 <th colspan="2"> Indukčnosti </th>
249 </tr>
250 <tr>
251 <td> L1 </td>
252 <td> MI0805K400R-10 </td>
253 </tr>
254 <tr>
255 <th colspan="2"> Diody </th>
256 </tr>
257 <tr>
258 <td> D1 </td>
259 <td> 1N4007SMD </td>
260 </tr>
261 <tr>
262 <td> D2, D3 </td>
263 <td> LED3mm_RED </td>
264 </tr>
265 <tr>
266 <th colspan="2"> Tranzistory </th>
267 </tr>
268 <tr>
269 <td> Q1 </td>
270 <td> IRF7416SMD </td>
271 </tr>
272 <tr>
273 <th colspan="2"> Integrované obvody </th>
274 </tr>
275 <tr>
276 <td> U1 </td>
277 <td> FT232RL </td>
278 </tr>
279 <tr>
280 <th colspan="2"> Mechanické součástky </th>
281 </tr>
282 <tr>
283 <td> J1 </td>
284 <td> USB_B_01 </td>
285 </tr>
286 <tr>
287 <td> J2 </td>
288 <td> JUMP2X8 </td>
289 </tr>
290 <tr>
291 <td> J3, J4 </td>
292 <td> JUMP2X3 </td>
293 </tr>
294 <tr>
295 <td> J5, J6, J8 </td>
296 <td> JUMP3 </td>
297 </tr>
298 <tr>
299 <td> J9 </td>
300 <td> JUMP2 </td>
301 </tr>
302 <tr>
303 <th colspan="2"> Konstrukční součásti </th>
304 </tr>
305 <tr>
306 <td> 4ks </td>
307 <td> Šroub M3x12 </td>
308 </tr>
309 <tr>
310 <td> 4ks </td>
311 <td> Podložka M3 </td>
312 </tr>
313 <tr>
314 <td> 4ks </td>
315 <td> Sloupek M3x5 </td>
316 </tr>
317 <tr>
318 <td> 1ks </td>
319 <td> Jumper </td>
320 </tr>
321 <tr>
322 <td> 1ks </td>
323 <td> PCB USB232R0A </td>
324 </tr>
325 </table>
326  
327 <h2> Mechanická konstrukce </h2>
328  
329 <p>
330 Převodník je vyroben v&nbsp;podobě standardního modulu stavebnice MLAB.
331 V&nbsp;rozích je opatřen upevňovacími šrouby se sloupky.
332 </p>
333  
334 <p>
335 <img width="300" height="188" src="USB232R01A.cs_files/image003.jpg"
336 alt="Pohled zhora">
337 <img width="300" height="188" src="USB232R01A.cs_files/image004.jpg"
338 alt="Pohled ze strany spojů">
339 </p>
340  
341 <h1> Osazení a oživení </h1>
342  
343 <h2> Osazení </h2>
344  
345 <p>
346 Nejprve osazujeme SMD součástky. Začneme obvodem U1 aby nám nepřekážely
347 ostatní součástky. Je třeba použít pastového tavidla a minimum pájky.
348 Mikropáječka je téměř nezbytností.
349 </p>
350  
351 <p>
352 Na straně součástí nezapomeňte osadit 4 drátové propojky. Nejvhodnější
353 je tenký lakovaný samopájitelný drátek. Polarita LED diod je označena
354 (A jako anoda).
355 </p>
356  
357 <p>
358 <img width="320" height="195" src="USB232R01A.cs_files/image005.jpg"
359 alt="Osazení ze strany spojů">
360 <img width="322" height="195" src="USB232R01A.cs_files/image006.jpg"
361 alt="Osazení ze strany součástí">
362 </p>
363  
364 <h2> Oživení </h2>
365  
366 <p>
367 V&nbsp;zásadě není co oživovat. Před prvním zapnutím je vhodné
368 zkontrolovat, zda zařízení nemá zkrat v&nbsp;napájení (konektor J3,
369 napětí 5V).
370 </p>
371  
372 <h2> Konfigurace </h2>
373  
374 <p>
375 Konfigurace se zapisuje do interní paměti EEPROM a je nepovinná. Viz
376 kapitola o driverech.
377 </p>
378  
379 <h1> Programové vybavení – drivery </h1>
380  
381 <p>
382 Drivery, programy a originální dokumentace na stránkách výrobce čipu
383 <a href="http://www.ftdichip.com/">http://www.ftdichip.com</a>.
384 Aplikační poznámky si zaslouží alespoň zběžné prostudování.
385 </p>
386  
387 <h2> Instalace driverů WinXP </h2>
388  
389 <p>
390 Při prvním připojení převodníku k&nbsp;USB portu si systém vyžádá
391 adresář s&nbsp;drivery. Základní chování je takové, že se pro převodník
392 spustí drivery pro obsluhu zařízení se dvěma aplikačními rozhraními.
393 </p>
394  
395 <h3> Rozhraní <code>Virtual COM Port</code> </h3>
396  
397 <p>
398 Toto rozhraní umožňuje aplikacím přes <code>Win32 COM API</code>
399 komunikovat s&nbsp;převodníkem jako se standardním sériovým portem.
400 Zpřístupnění tohoto rozhraní je možné zakázat v&nbsp;konfiguraci
401 součástky (v paměti EEPROM) nebo v&nbsp;konfiguraci driveru (v
402 příslušném INI souboru).
403 </p>
404  
405 <p>
406 Pro komunikaci je možno použít libovolný terminálový program a vybrat si
407 nově vzniklý COM port. Na rozdíl od obyčejného COM portu dojde
408 k&nbsp;přerušení spojení mezi programem (terminálem) a USB COM portem
409 kdykoli odpojíme a připojíme USB zařízení. Spojení je pak nutné znovu
410 navázat (u terminálu typicky „zavěsit“ a znovu se spojit).
411 </p>
412  
413 <h3> Rozhraní <code>D2XX API</code> </h3>
414  
415 <p>
416 Toto rozhraní je proprietární rozhraní firmy FTDI a slouží pro
417 komunikaci s&nbsp;obvody FTDI včetně ovládání jejich speciálních funkcí
418 (například programování paměti EEPROM).
419 </p>
420  
421 <h3> Architektura driverů </h3>
422  
423 <p>
424 Nová generace driverů pro obvody FTDI používá koncepci kombinovaného
425 driveru (na rozdíl od dřívějších verzí) a stačí tak jediná sada driverů,
426 která dává k&nbsp;dispozici jak rozhraní pro virtuální COM port tak i
427 proprietární rozhraní FTDI. U nových obvodů (FT232R, FT2232 a podobně)
428 je konfigurace nastavená v&nbsp;paměti EEPROM součástky.
429 </p>
430  
431 <p>
432 <img width="335" height="238" src="USB232R01A.cs_files/image007.gif"
433 alt="Architektura driverů">
434 </p>
435  
436 <p>
437 Obrázek ukazuje stav, kdy jsou k&nbsp;dispozici obě rozhraní (výchozí
438 konfigurace). Nelze <i>současně</i> využívat obě výše uvedená rozhraní.
439 </p>
440  
441 <h2> Konfigurace součástky </h2>
442  
443 <p>
444 Výchozí konfigurace součástky je celkem rozumná a obvykle není třeba
445 konfiguraci měnit. K&nbsp;nastavování konfigurace součástky slouží
446 program Mprog.exe a je ke stažení na webu výrobce. Po spuštění vypadá
447 takhle:
448 </p>
449  
450 <p>
451 <img width="642" height="535" src="USB232R01A.cs_files/image008.jpg"
452 alt="Program Mprog.exe">
453 </p>
454  
455 <p>
456 Program umožňuje zapsat do konfigurační EEPROM až po uložení vytvořené
457 konfigurace do souboru. Možnosti nastavení jsou patrné a v&nbsp;helpu
458 programu stručně popsané.
459 </p>
460  
461 <p>
462 Pokud si naprogramujete vlastní USB VID/PID identifikátory bude třeba
463 upravit i příslušné položky v&nbsp;INF souboru driverů.
464 </p>
465  
466 <h2> Základy USB </h2>
467  
468 <p>
469 Podrobnosti na <a href="http://www.usb.org/">http://www.usb.org</a>.
470 Zde je k&nbsp;dispozici specifikace USB.
471 </p>
472  
473 <h3> Úplné základy </h3>
474  
475 <p>
476 Rychlost na USB se často plete:
477 </p>
478  
479 <ul>
480 <li> Full Speed – 480Mbit/s – pouze USB 2.0, používají například USB
481 disky, nutné lepší kabely </li>
482 <li> High Speed – 12MBit/s – běžná zařízení (<i>i náš převodník</i>) </li>
483 <li> Low Speed – 1.5Mbit/s – zařízení typu HID (klávesnice, myši) </li>
484 </ul>
485  
486 <p>
487 Napájení:
488 </p>
489  
490 <ul>
491 <li> Napájecí napětí 5V, k&nbsp;dispozici zaručeně minimálně 100mA,
492 maximálně 500mA pokud to zdroj v&nbsp;počítači nebo HUBu umožňuje </li>
493 <li> Zařízení po zastrčení do USB nesmí mít spotřebu větší než 100mA </li>
494 <li> Signály jsou 3.3V, diferenciální pár </li>
495 <li> Teoreticky má být napájení jištěno <i>ale u některých zařízení to
496 neplatí</i> </li>
497 </ul>
498  
499 <p>
500 Přenos dat:
501 </p>
502  
503 <ul>
504 <li> Isochronní – zabraná šířka pásma – například pro přenos zvuku </li>
505 <li> Interrupt přenosy – pro interaktivní přenosy – například klávesnice,
506 signalizace a podobně </li>
507 <li> Bulk přenosy – přenosy velkého množství dat – disky a podobně
508 (<i>i náš převodník</i>) </li>
509 <li> Řídící přenosy – pro řízení USB zařízení </li>
510 </ul>
511  
512 <p>
513 Komunikace po USB probíhá v&nbsp;rámcích, které se přenášejí vždy po 1
514 milisekundě (u zařízení Low Speed nebo High Speed). Do každého rámce se
515 snaží obslužné programy (drivery USB) nacpat co nejvíce přenosů.
516 Přednost mají isochronní přenosy (například pro reproduktory), pak data
517 související s&nbsp;interaktivním přenosem (očuchávání klávesnice, přenos
518 přerušení) a teprve zbytek kapacity je vyplněn hromadnými přenosy.
519 Převodník využívá hromadné přenosy.
520 </p>
521  
522 <p>
523 V&nbsp;žádném případě nelze spoléhat na časování přenosů. Data se
524 přenášejí po paketech a jsou na&nbsp;straně driverů i v&nbsp;obvodu
525 FT232R vyrovnávací paměti pro odesílaná a pro přijímaná data. Jediná
526 správná cesta bezchybného přenosu spočívá ve využití řízení přenosu buď
527 HW signály nebo znaky XON/XOFF.
528 </p>
529  
530 <h3> Přenos dat u obvodu FT232R </h3>
531  
532 <p>
533 Data se přenášejí po paketech o délce až 64B. 2 bajty se použijí pro
534 přenos stavu řídících signálů a zbytek jsou sériová data. Přenos dat
535 probíhá pouze pokud se zaplní vyrovnávací paměť o délce 64B nebo pokud
536 od&nbsp;posledního přenosu uběhla dostatečně dlouhá doba (vyprší Latency
537 Timer s přednastavenou dobou 16ms).
538 </p>
539  
540 <p>
541 Pokud se změní stav některého z&nbsp;řídících signálů dojde k&nbsp;přenosu
542 v&nbsp;nejbližším milisekundovém rámci. Totéž platí i pro případ přenosu
543 některého znaku pro řízení přenosu (obvykle znaky XON a XOFF).
544 </p>
545  
546 </div>
547  
548 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
549 <!-- ============== PATIČKA ============== -->
550 <div class="Footer">
551 <script type="text/javascript">
552 <!--
553 SetRelativePath("../../../../../");
554 DrawFooter();
555 // -->
556 </script>
557 <noscript>
558 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
559 </noscript>
560 </div>
561 <!-- AUTOINCLUDE END -->
562  
563 </body>
564 </html>