Rev Author Line No. Line
1202 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> USB232R01B </title>
6 <meta name="keywords" content="USB FTDI RS232 převodník">
7 <meta name="description" content="USB převodník pro RS232">
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, Jakub&nbsp;Kákona
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=358 height=219 src="USB232R01B.cs_files/image001.jpg"
64 alt="Obrázek modulu USB232R01B">
65 </p>
66 <p>
67 <a href="../USB232R01B.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=1039 height=555 src="USB232R01B.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> J7 </td>
296 <td> JUMP2 </td>
297 </tr>
298 <tr>
299 <td> J5, J6, J8 </td>
300 <td> JUMP3 </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=313 height=190 src="USB232R01B.cs_files/image003.jpg"
336 alt="Pohled zhora">
337 </p>
338  
339 <p>
340 <img width=308 height=189 src="USB232R01B.cs_files/image004.jpg"
341 alt="Pohled ze strany spojů">
342 </p>
343  
344 <h1> Osazení a oživení </h1>
345  
346 <h2> Osazení </h2>
347  
348 <p>
349 Nejprve osazujeme SMD součástky. Začneme obvodem U1 aby nám nepřekážely
350 ostatní součástky. Je třeba použít pastového tavidla a minimum pájky.
351 Mikropáječka je téměř nezbytností.
352 </p>
353  
354 <p>
355 Na straně součástí nezapomeňte osadit dvě drátové propojky. Nejvhodnější
356 je tenký lakovaný samopájitelný drátek. Polarita LED diod je označena
357 (A jako anoda).
358 </p>
359  
360 <p>
361 <img width="609" height="370" src="USB232R01B.cs_files/O1.png"
362 alt="Osazení ze strany spojů">
363 </p>
364  
365 <p>
366 <img width="610" height="368" src="USB232R01B.cs_files/O2.png"
367 alt="Osazení ze strany součástí">
368 </p>
369  
370 <h2> Oživení </h2>
371  
372 <p>
373 V&nbsp;zásadě není co oživovat. Před prvním zapnutím je vhodné
374 zkontrolovat, zda zařízení nemá zkrat v&nbsp;napájení (konektor J3,
375 napětí 5V).
376 </p>
377  
378 <h2> Konfigurace </h2>
379  
380 <p>
381 Konfigurace se zapisuje do interní paměti EEPROM a je nepovinná. Viz
382 kapitola o driverech.
383 </p>
384  
385 <h1> Programové vybavení – drivery </h1>
386  
387 <p>
388 Drivery, programy a originální dokumentace na stránkách výrobce čipu
389 <a href="http://www.ftdichip.com/">http://www.ftdichip.com</a>.
390 Aplikační poznámky si zaslouží alespoň zběžné prostudování.
391 </p>
392  
393 <h2> Instalace driverů WinXP </h2>
394  
395 <p>
396 Při prvním připojení převodníku k&nbsp;USB portu si systém vyžádá
397 adresář s&nbsp;drivery. Základní chování je takové, že se pro převodník
398 spustí drivery pro obsluhu zařízení se dvěma aplikačními rozhraními.
399 </p>
400  
401 <h3> Rozhraní <code>Virtual COM Port</code> </h3>
402  
403 <p>
404 Toto rozhraní umožňuje aplikacím přes <code>Win32 COM API</code>
405 komunikovat s&nbsp;převodníkem jako se standardním sériovým portem.
406 Zpřístupnění tohoto rozhraní je možné zakázat v&nbsp;konfiguraci
407 součástky (v paměti EEPROM) nebo v&nbsp;konfiguraci driveru (v
408 příslušném INI souboru).
409 </p>
410  
411 <p>
412 Pro komunikaci je možno použít libovolný terminálový program a vybrat si
413 nově vzniklý COM port. Na rozdíl od obyčejného COM portu dojde
414 k&nbsp;přerušení spojení mezi programem (terminálem) a USB COM portem
415 kdykoli odpojíme a připojíme USB zařízení. Spojení je pak nutné znovu
416 navázat (u terminálu typicky „zavěsit“ a znovu se spojit).
417 </p>
418  
419 <h3> Rozhraní <code>D2XX API</code> </h3>
420  
421 <p>
422 Toto rozhraní je proprietární rozhraní firmy FTDI a slouží pro
423 komunikaci s&nbsp;obvody FTDI včetně ovládání jejich speciálních funkcí
424 (například programování paměti EEPROM).
425 </p>
426  
427 <h3> Architektura driverů </h3>
428  
429 <p>
430 Nová generace driverů pro obvody FTDI používá koncepci kombinovaného
431 driveru (na rozdíl od dřívějších verzí) a stačí tak jediná sada driverů,
432 která dává k&nbsp;dispozici jak rozhraní pro virtuální COM port tak i
433 proprietární rozhraní FTDI. U nových obvodů (FT232R, FT2232 a podobně)
434 je konfigurace nastavená v&nbsp;paměti EEPROM součástky.
435 </p>
436  
437 <p>
438 <img width="335" height="238" src="USB232R01B.cs_files/image007.gif"
439 alt="Architektura driverů">
440 </p>
441  
442 <p>
443 Obrázek ukazuje stav, kdy jsou k&nbsp;dispozici obě rozhraní (výchozí
444 konfigurace). Nelze <i>současně</i> využívat obě výše uvedená rozhraní.
445 </p>
446  
447 <h2> Konfigurace součástky </h2>
448  
449 <p>
450 Výchozí konfigurace součástky je celkem rozumná a obvykle není třeba
451 konfiguraci měnit. K&nbsp;nastavování konfigurace součástky slouží
452 program Mprog.exe a je ke stažení na webu výrobce. Po spuštění vypadá
453 takhle:
454 </p>
455  
456 <p>
457 <img width="642" height="535" src="USB232R01B.cs_files/image008.jpg"
458 alt="Program Mprog.exe">
459 </p>
460  
461 <p>
462 Program umožňuje zapsat do konfigurační EEPROM až po uložení vytvořené
463 konfigurace do souboru. Možnosti nastavení jsou patrné a v&nbsp;helpu
464 programu stručně popsané.
465 </p>
466  
467 <p>
468 Pokud si naprogramujete vlastní USB VID/PID identifikátory bude třeba
469 upravit i příslušné položky v&nbsp;INF souboru driverů.
470 </p>
471  
472 <h2> Základy USB </h2>
473  
474 <p>
475 Podrobnosti na <a href="http://www.usb.org/">http://www.usb.org</a>.
476 Zde je k&nbsp;dispozici specifikace USB.
477 </p>
478  
479 <h3> Úplné základy </h3>
480  
481 <p>
482 Rychlost na USB se často plete:
483 </p>
484  
485 <ul>
486 <li> Full Speed – 480Mbit/s – pouze USB 2.0, používají například USB
487 disky, nutné lepší kabely </li>
488 <li> High Speed – 12MBit/s – běžná zařízení (<i>i náš převodník</i>) </li>
489 <li> Low Speed – 1.5Mbit/s – zařízení typu HID (klávesnice, myši) </li>
490 </ul>
491  
492 <p>
493 Napájení:
494 </p>
495  
496 <ul>
497 <li> Napájecí napětí 5V, k&nbsp;dispozici zaručeně minimálně 100mA,
498 maximálně 500mA pokud to zdroj v&nbsp;počítači nebo HUBu umožňuje </li>
499 <li> Zařízení po zastrčení do USB nesmí mít spotřebu větší než 100mA </li>
500 <li> Signály jsou 3.3V, diferenciální pár </li>
501 <li> Teoreticky má být napájení jištěno <i>ale u některých zařízení to
502 neplatí</i> </li>
503 </ul>
504  
505 <p>
506 Přenos dat:
507 </p>
508  
509 <ul>
510 <li> Isochronní – zabraná šířka pásma – například pro přenos zvuku </li>
511 <li> Interrupt přenosy – pro interaktivní přenosy – například klávesnice,
512 signalizace a podobně </li>
513 <li> Bulk přenosy – přenosy velkého množství dat – disky a podobně
514 (<i>i náš převodník</i>) </li>
515 <li> Řídící přenosy – pro řízení USB zařízení </li>
516 </ul>
517  
518 <p>
519 Komunikace po USB probíhá v&nbsp;rámcích, které se přenášejí vždy po 1
520 milisekundě (u zařízení Low Speed nebo High Speed). Do každého rámce se
521 snaží obslužné programy (drivery USB) nacpat co nejvíce přenosů.
522 Přednost mají isochronní přenosy (například pro reproduktory), pak data
523 související s&nbsp;interaktivním přenosem (očuchávání klávesnice, přenos
524 přerušení) a teprve zbytek kapacity je vyplněn hromadnými přenosy.
525 Převodník využívá hromadné přenosy.
526 </p>
527  
528 <p>
529 V&nbsp;žádném případě nelze spoléhat na časování přenosů. Data se
530 přenášejí po paketech a jsou na&nbsp;straně driverů i v&nbsp;obvodu
531 FT232R vyrovnávací paměti pro odesílaná a pro přijímaná data. Jediná
532 správná cesta bezchybného přenosu spočívá ve využití řízení přenosu buď
533 HW signály nebo znaky XON/XOFF.
534 </p>
535  
536 <h3> Přenos dat u obvodu FT232R </h3>
537  
538 <p>
539 Data se přenášejí po paketech o délce až 64B. 2 bajty se použijí pro
540 přenos stavu řídících signálů a zbytek jsou sériová data. Přenos dat
541 probíhá pouze pokud se zaplní vyrovnávací paměť o délce 64B nebo pokud
542 od&nbsp;posledního přenosu uběhla dostatečně dlouhá doba (vyprší Latency
543 Timer s přednastavenou dobou 16ms).
544 </p>
545  
546 <p>
547 Pokud se změní stav některého z&nbsp;řídících signálů dojde k&nbsp;přenosu
548 v&nbsp;nejbližším milisekundovém rámci. Totéž platí i pro případ přenosu
549 některého znaku pro řízení přenosu (obvykle znaky XON a XOFF).
550 </p>
551  
552 </div>
553  
554 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
555 <!-- ============== PATIČKA ============== -->
556 <div class="Footer">
557 <script type="text/javascript">
558 <!--
559 SetRelativePath("../../../../../");
560 DrawFooter();
561 // -->
562 </script>
563 <noscript>
564 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
565 </noscript>
566 </div>
567 <!-- AUTOINCLUDE END -->
568  
569 </body>
570 </html>