ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická BAKALÁ SKÁ PRÁCE

Podobné dokumenty
Metody připojování periferií

Universal Serial Bus. Téma 12: USB. Komunikační principy Enumerace Standardní třídy zařízení

Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s.

Distribuované systémy a počítačové sítě

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Metody připojování periferií

Mikrořadiče fy ATMEL

19 Jednočipové mikropočítače

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

HLAVA III PODROBNOSTI O VEDENÍ ÚST EDNÍHO SEZNAMU OCHRANY P ÍRODY

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Universal Serial Bus (USB)

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

GEN230-3i3u-X-ADE. Specifikace kalibra ního generátoru

ÚVOD DO GEOGRAFICKÝCH INFORMA NÍCH SYSTÉM

USB. Universal Serial Bus. revize 2.0 z 27.dubna 200

Generátor sítového provozu

PROCESORY. Typy procesorů

Specifikace rozši ujících modul. AP verze

Úvod do programování a práce s počítačem

8. Struktura údaj na LCD displeji

IMPLEMENTACE ROZHRANÍ USB DO MALÉHO SYSTÉMU S JEDNOČIPOVÝM MIKROPOČÍTAČEM. Bohuslávek Zdeněk, Prokůpek Kristián ÚVOD

NÁVOD K OBSLUZE MODULU VIDEO 64 ===============================

Odpov di na dotazy uchaze k ve ejné zakázce. 25/

účetních informací státu při přenosu účetního záznamu,

Impulsní M-Bus adaptér

mitepc-lcd mitepc-lcd150 mitepc-lcd170 mitepc-lcd190 Embedded počítač s LCD displejem a dotykovým stínítkem v konstrukci vhodné i do skříně Schrack

Systém MCS II. Systém MCS II < 29 >

SRF08 ultrazvukový dálkoměr

FINAN NÍ ÍZENÍ A ROZHODOVÁNÍ PODNIKU

Karel Johanovský Michal Bílek. Operační paměť

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, Praha 1

Aplika ní doložka KA R Ov ování výro ní zprávy

Adresace paměti. 11.přednáška

Trendy elektroenergetiky v evropském kontextu Špindler v Mlýn 13. a Ing. František Rajský, Ph.D. Jaroslav Kloud

USB 3.0. Mechanická specifikace a fyzické rozhranní

Převodník USB/DMX. Kráce o DMX. ( Martin Pantůček )

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

13. Sítě WAN. Rozlehlé sítě WAN. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme rozlehlé sítě typu WAN. Doba nutná k nastudování

P IZNÁNÍ TISKOPIS PRO ZM NU VLASTNICTVÍ OD

ípadová studie a procesní ízení Lukáš Strnad 2012 ZÁPADO ESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TECHNOLOGIÍ A M ENÍ

Než za nete vypl ovat tiskopis, p e t te si, prosím, pokyny. P IZNÁNÍ. k dani z p íjm právnických osob

Odpov di na dotazy k ve ejné zakázce. 30/ SSZ Registr IKP

3.Registra ní íslo MAS 4.Registra ní íslo MMR 15/000/00000/453/ CLLD_16_01_103

Adresa p íslušného ú adu. Ú ad:... Ulice:... PS, obec:...

Dodavatel poslední instance z pohledu operátora trhu

Mikroprocesor Intel 8051

Server. Software serveru. Služby serveru

Nové univerzální p evodníky z typové ady KNICK 6 mm pro termo lánky, odporové teplom ry, tenzometry a odporové vysíla e

11. Počítačové sítě protokoly, přenosová média, kapacity přenosu. Ethernet

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

Sběrnice SCSI a její využití

ŽÁDOST O VYDÁNÍ ROZHODNUTÍ O UMÍST NÍ STAVBY ÁST A

Zakázka bude pln na b hem roku 2014 a v následujících 48 sících od uzav ení smlouvy.

AXIon NÁVOD K OBSLUZE

Architektury počítačů na bázi sběrnice PCI. Cíl přednášky: Obsah přednášky:

GIGAmatic. Tenzometrický přetěžovací převodník. 1. Popis Použití Technické informace Nastavení Popis funkce 6. 6.

3D sou adnicový m icí stroj. Od vodn ní vymezení technických podmínek podle 156 odst. 1 písm. c) zákona. 137/2006 Sb.

DUM 14 téma: Kreslení hydraulických schémat

Nastavení vestav ného p evodníku Ethernet -> sériová linka ES01

PŘÍLOHA 10 SMLOUVY O PŘÍSTUPU KE KONCOVÝM ÚSEKŮM. Pravidla a postupy

PR VODCE NASTAVENÍM MODELU

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

Zvukový modul HLM - 380

CT LINE XVD MODUL FAX-MODEMOVÉHO P EPÍNA E, VRÁTNÉHO, PROVOLBY DISA A SPÍNA E T LINE TABLO 2,4,10 DVE NÍ TELEFON VRÁTNÉHO (VN JŠÍ JEDNOT KA) 1 ÚVOD

ZADÁVACÍ DOKUMENTACE VE EJNÉ ZAKÁZKY

Odpov di na dotazy uchaze k ve ejné zakázce. 59/ Digitalizace dokumentace Léka ské posudkové služby SSZ, vyt žování a konsolidace dat

PARALELNÍ ROZHRANÍ ŘÍZENÉ SBĚRNICÍ USB

Zám r a cíle projektu

Uživatelská dokumentace

ZE SPOLUVLASTNÍK NEMOVITOSTI

ZÁKLADNÍ INSTRUKCE. od verze SW 10.7

Všeobecné podmínky provozu sběrných míst kolektivního systému Eltma

Univerzální systém pro m ení imisí nezávislý na volb m ící techniky pro kontinuální m ení pracující pod opera ním systémem Windows.

Kazeta vstupů OCi Popis řešení HW. Ing. Jiří Holinger středisko elektroniky STARMON s.r.o. Choceň

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7

Odpov di na dotazy uchaze k ve ejné zakázce. 14/

I/O modul univerzální rozhraní

Inteligentní zastávky Ústí nad Labem

MP3 Manager Software for Sony Network Walkman

Ing. Z.Královský Ing. Petr Štol Specifikace HW ídícího systému MicroGEN AP

ELO E360ZK002. USB komunikační adaptér (FTDI) RS virtuální sériový port ELO E360. Uživatelský manuál

[ l] 4. Návrh m i e spot eby Použitý pr tokom r

jsou p ipojeny v dokladové ásti dokumentace, s uvedením p íslušného vlastníka,.j. a data vydání, a to na úseku:

Specifikace Bridge 104

Pokyny k instalaci FRIATRACE Verze 5.3

2C Tisk-ePROJEKTY

animeo Compact animeo Compact

modul MIS 0 SW pro T LINE, CT LINE

Digital Signage Informa ní systém pro centrální ízení a správu obsahu digitálních billboard ON-LINE

VERZE: 01 DATUM: 05/2014


Tlačítkový spínač s regulací svitu pro LED pásky TOL-02

HW vybavení nov vybudovaného datového centra SSZ (Zvýšení kapacity Datového úložišt )

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

Zm ny pravidel UCI Cyklokros

EHLED OSV za rok 2013 vykonávajících pouze hlavní SV

Transkript:

ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická BAKALÁ SKÁ PRÁCE Praha 2008 Kopecký P emysl

ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra m ení Záznamník íslicových dat s rozhraním USB 2.0 Ing. Ji í Novák, Ph.D Kopecký P emysl Praha 2008

Prohlášení Prohlašuji, že jsem svou bakalá skou práci vypracoval samostatn a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v p iloženém seznamu. Nemám závažný d vod proti užití tohoto školního díla ve smyslu 60 Zákona.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Praze dne.. podpis

Pod kování D kuji Ing. Ji ímu Novákovi za as a trp livost p i vedení mé práce.

---VLOŽIT ZADÁNÍ BAKALÁ SKÉ PRÁCE--- (originál nebo kopie)

Anotace Tato práce je sou ástí projektu zam eného na implementaci vysokorychlostního rozhraní JTAG p ipojitelného k po íta i prost ednictvím sb rnice USB 2.0 verze highspeed. Konkrétním cílem je seznámit se s principy komunikace p es sb rnici USB, navrhnout a realizovat hardware s odpovídajícím USB adi em ízeným mikroprocesorem. Dále navrhnout konfiguraci tohoto modulu tak, aby umož oval bezchybný p enos dat s využitím vysoké rychlosti datového p enosu, podporované tímto rozhranním, pro záznam íslicových dat. Annotation This work is part of the project, which is aimed at implementation of JTAG highspeed interface attachable to the computer by high-speed version of Universal Serial Bus 2.0. Concrete aim is to take knowledge about communication through the Universal Serial Bus, design and create hardware with USB controller controlled by microprocessor. The second part is to suggest a solution for this module to achieve high-speed and errorless data transfer designed for data storage.

Obsah Obsah... 1 Seznam obrázk... 2 Seznam tabulek... 2 1. Úvod... 3 2. Hardware... 4 2.1 Blokové schéma...4 2.2 Specifikace sou ástek...5 2.3 Návrh obvodového schématu...7 2.4 Návrh tišt ného spoje...8 2.5 Zhotovení hardwaru...9 3. Software... 10 3.1 Standard USB 2.0...10 3.2 Konfigura ní model adi e...13 3.3 Inicializace adi e...14 3.4 Proces enumerace...16 3.5 P enos dat...21 3.6 Vývojové prost edí...25 4. Záv r... 26 4.1 Dosažené výsledky...26 P íloha A... 28 P íloha B... 31-1 -

Seznam obrázk Obr. 1.1 Blokové schéma modulu... 3 Obr. 2.1 Blokové schéma modulu s USB adi em... 4 Obr. 2.2 Blokové schéma adi e [3]... 5 Obr. 2.3 USB device... 5 Obr. 2.4 ARM7 kit... 6 Obr. 2.5 Schéma obvodu navržené v OrCAD Capture... 7 Obr. 2.6 Osazovací schéma, vrstva TOP Obr. 2.7 Osazovací schéma, vrstva BOTTOM... 8 Obr. 2.8 Osazený obvod TOP... 9 Obr. 2.9 Osazený obvod BOTTOM... 9 Obr. 3.1 Schéma datového p enosu... 12 Obr. 3.2 Inicializace registr [3] Obr. 3.3 Model konfigurace adi e [3]... 13 Obr. 3.4 Struktura Mode registru [3]... 14 Obr. 3.5 EMI - adresovatelný prostor... 15 Obr. 3.6 Stavový diagram [1]... 16 Obr. 3.7 Datový tok hostitel za ízení [6]... 21 Obr. 3.8 Zapojení vývojových nástroj... 25 Seznam tabulek Tab. 3.1 Formát požadavk... 17 Tab. 3.2 Standard device requests [1]... 18 Tab. 3.3 Typy deskriptor [1]... 19 Tab. 3.4 Konfigura ní deskriptor... 20 Tab. 3.5 Limity pro full-speed hromadné p enosy... 23 Tab. 3.6 Limity pro high-speed hromadné p enosy... 23-2 -

1. Úvod Má práce je sou ástí projektu zam eného na implementaci vysokorychlostního rozhraní JTAG p ipojitelného k po íta i prost ednictvím sb rnice USB 2.0 verze highspeed. Cílem je dosáhnout zkrácení as produk ního programování programovatelných sou ástek. Princip funkce modulu je znázorn n na blokovém schématu (obr. 1.1). V rámci mé Bakalá ské práce se jedná o návrh a realizaci hardwaru obsahující odpovídající USB adi, ízený mikroprocesorem a následnou programovou implementaci komunikace p es sb rnici USB 2.0, zajiš ující p enos dat na high-speed úrovni, jež dle standardu [1] umož uje p enosovou rychlost až 480 Mb/s. Navrhované ešení nabízí dostate nou rychlost a propustnost p enosu dat bez nutnosti implementace lokální vyrovnávací pam ti. Obr. 1.1 Blokové schéma modulu - 3 -

2. Hardware 2.1 Blokové schéma P i realizaci obvodu bylo nejprve t eba analyzovat nároky na toto zapojení. Primárním požadavkem je adi umož ující komunikaci p es rozhraní USB 2.0 highspeed, v ideálním p ípad integrovaný p ímo v mikroprocesoru. Sou asná nabídka výrobc však umož uje ešení pouze s adi em USB verze Full-speed. Rychlost 12 Mb/s je však vzhledem ke snaze dosáhnout vysoké p enosové rychlosti nedosta ující. Dalším ešením by mohl být ip od FTDI s již nakonfigurovaným USB adi em, jehož nevýhodou je však omezená uživatelská konfigurovatelnost. Vybral jsem tedy adi firmy NXP s ozna ením ISP1582 v kombinaci s mikroprocesorem STR710 s externí sb rnicí a jádrem s 32 bitovým RISC procesorem typu ARM7 firmy STMicroelectronics. Vybraný procesor využiji pro správnou inicializaci a obsluhu adi e. Pro další aplikace lze využít funkci adi e, podporující DMA p enos, tedy bez p ímé ú asti procesoru. Po nastudování USB specifikace [1] bylo dále t eba zajistit všechny prost edky pro správnou funkci tohoto rozhraní. Jedná se tedy o USB konektor a vhodný nap ový regulátor, zajiš ující p evod 5 V napájení dodávaného z USB sb rnice na napájení 3.3 V, pot ebného pro napájení adi e. Obvod bude umož ovat p epnutí zdroje napájení bu z USB sb rnice nebo z externího zdroje, konkrétn obvodu s mikroprocesorem. Z blokového schématu (obr. 2.1) je patrné, jak jsou oba obvody propojeny a pomocí jakých signál probíhá jejich vzájemná komunikace. Obr. 2.1 Blokové schéma modulu s USB adi em - 4 -

2.2 Specifikace sou ástek Požadované parametry na ip s adi em spl uje High-Speed Universal Serial Bus Peripheral Controller ISP 1582 od firmy NXP (Philips). Pro navrhované ešení spl uje veškeré požadavky a jeho výhodou je také dobrá dostupnost. Hlavní parametry ISP 1582 jsou: USB high-speed controller umož ující p enos dat rychlostmi high-speed (480 Mbit/s) a full-speed (12 Mbit/s) High-speed DMA interface V BUS sensing Integrovaná 8 kb konfigurovatelná FIFO pam Low-power a power-down módy pro sb rnicí napájená za ízení 8 bitová adresová sb rnice a 16 bitová datová sb rnice Vnit ní zapojení adi e je znázorn né v následujícím blokovém schématu (obr. 2.2). Obr. 2.2 Blokové schéma adi e [3] Pro správnou funkci adi e je t eba krystalový oscilátor s frekvencí 12 MHz s ozna ením HC18U V. Jako konektor ur ený pro p ipojení rozhraní USB jsem vybral USB konektor typ B (obr.2.3). Obr. 2.3 USB device - 5 -

Nap ový regulátor stabilizující 5 V nap tí z USB sb rnice i externího napájení na nap ovou úrove 3.3 V jsem vybral od firmy Texas Instruments, typ TPS7333. Regulátor také umož uje generování signálu RESET v p ípad podp tí. V p ípad konektoru, sloužícího k propojení desky s mikroprocesorem, bylo t eba sjednotit vývody jednotlivých pin se zapojením na desce s mikroprocesorem. Byl vybrán 50 pinový konektor. Signály DMA jsou vyvedeny na 20 pinový konektor. ídicí mikroprocesor je sou ástí na kated e již zhotoveného obvodu ARM7 kit (obr. 2.4). Mezi hlavní parametry procesoru pat í tyto: jádro je tvo ené 32 bitovým RISC procesorem typu ARM7TDMI programovatelná 256 kb flash pam datová 16 kb flash pam až 64 kb RAM 48 I/O port 10 komunika ních rozhraní (mimo jiné USB 1.1 podporující pouze full-speed) externí pam ové rozhraní (EMI) Pro programování procesoru se využívá programátoru p ipojeného p es rozhraní JTAG, jenž je k tomuto ú elu ur eno. Obr. 2.4 ARM7 kit - 6 -

2.3 Návrh obvodového schématu P i návrhu a výrob hardwaru jsem tedy využil již zhotovené desky s procesorem a v noval se návrhu desky s USB adi em. Návrh schématu jsem provedl v programu OrCAD Capture. Pro návrh bylo t eba dodržovat ur ité zásady a postupy, se kterými jsem do té doby nem l zkušenosti. Nastudoval jsem proto publikaci Vít Záhlava OrCAD 10 [2] a využil konzultací ve škole. Výsledný návrh schématu je na obrázku (obr. 2.5). Zda je adi napájen z USB sb rnice i z externího obvodu, indikuje dvojice LED diod. T etí, ervená dioda, signalizuje, pokud adi p ejde do stavu snížené spot eby, který nastane nap íklad, pokud není po ur itou periodu registrována aktivita na sb rnici. Obr. 2.5 Schéma obvodu navržené v OrCAD Capture - 7 -

2.4 Návrh tišt ného spoje Pro návrh tišt ného spoje bylo op t nejprve nutné, seznámit se s programem OrCAD Layout a osvojit si jeho funkce. Po vygenerování Netlistu sou ástek v OrCAD Capture je t eba sou ástky uspo ádat a p i adit jim p íslušná pouzdra. V tšina pouzder jednotlivých sou ástek byla dostupná v databázi programu. Pouzdro adi e ISP 1582 v databázi dostupné nebylo. Podle rozm r udávaných výrobcem [3] jsem navrhl vlastní pouzdro sou ástky. Jedná se o pouzdro typu HVQFN (Heatsink Very-thin Quad Flat-pack No-leads) [3], ítající 56 pin. Tišt ný spoj je realizovaný ve dvou vrstvách. Ob vrstvy jsou vid t na osazovacím schématu (obr. 2.6, obr. 2.7). Rozm ry desky jsou 8 5,7 cm. P i rozmis ování sou ástek bylo t eba dbát na vhodné logické uspo ádání, které však neovlivní negativn funk nost obvodu. Nap íklad aby byly p íslušné sou ástky správn uzemn ny, vhodn umíst ny blokovací kondenzátory atd.. Z tohoto návrhu byly následn vygenerovány informace o jednotlivých vrstvách, sou ástkách a rozm rech nezbytné pro výrobu. Výroba tišt ného spoje má také své limitující hodnoty, jako je nap íklad minimální ší ka spoj, jejich vzájemná vzdálenost, vzdálenost sou ástky od okraje a pod.. Obr. 2.6 Osazovací schéma, vrstva TOP Obr. 2.7 Osazovací schéma, vrstva BOTTOM - 8 -

2.5 Zhotovení hardwaru Odeslání návrhu tišt ného spoje zajistil vedoucí mé práce. Než byl tišt ný spoj vyroben, p ipravil jsem si pot ebné sou ástky a následn jimi vyrobený obvod osadil pod odborným dohledem. Seznámil jsem se s metodou pájení horkým vzduchem, kterou bylo velmi vhodné použít pro letování ipu s adi em, jelikož jeho piny jsou umíst ny na spodní stran pouzdra bez jakéhokoliv vn jšího p esahu. Výsledný osazený obvod je na obrázcích (obr. 2.8 a obr. 2.9). Obr. 2.8 Osazený obvod TOP Obr. 2.9 Osazený obvod BOTTOM - 9 -

3. Software 3.1 Standard USB 2.0 Pro správnou inicializaci a obsluhu adi e v režimu za ízení bylo nejprve pot eba podrobn nastudovat specifikaci pro standard USB 2.0 [1]. Universal Serial Bus (USB) je sériová sb rnice ur ená pro p enos dat na kratší vzdálenosti. Sb rnice se skládá ze ty vodi, GND, D+, D- a VCC (5 V). Data se p enášejí po vodi ích D+ a D- diferen n. USB verze 1.1 podporuje maximální p enosovou rychlost 12 Mb/s, USB verze 2.0 rychlost 480 Mb/s, p i emž ob verze jsou zp tn kompatibilní. Verze 2.0 proto musí podporovat všechny 3 módy p enosových rychlostí: High-speed 480 Mb/s Full-speed 12 Mb/s Low-speed 1,5 Mb/s Sb rnice propojuje porty kontrolér, které mohou pracovat v režimu hostitel nebo za ízení. Všechna za ízení jsou p ipojena k port m a porty jsou p ipojeny k USB hub m. Pomocí hub se sb rnice v tví. Celá sb rnice má tedy stromovou strukturu. Funkce USB adi e v módu hostitel 1. Detekce p ipojených za ízení. 2. ízení toku dat. 3. Detekce a obsluha chyb. 4. Poskytnutí napájení. 5. Vým na dat mezi host kontrolérem a za ízeními. Funkce USB adi e v módu za ízení 1. Rozeznávání paket na sb rnici. 2. Podpora základních p íchozích požadavk. 3. Kontrola chyb. 4. Vým na dat s kontrolérem hostitele. adi obvodu ISP 1582 bude ve své funkci pracovat v módu za ízení. adi rozd luje požadavky do segment rámce a mikrorámce (125 s p i 480 Mb/s a 1 ms pro 12 Mb/s). Požadavky a pakety jím rozpoznané budou p edány ídicímu procesoru, jehož obslužné rutiny požadavky a pakety zpracují. - 10 -

Po p ipojení za ízení prob hne nejd íve tzv. enumerace a následn vlastní datový p enos. Základem enumerace a další komunikace jsou tzv. deskriptory. Ty nesou informace o parametrech za ízení a podporovaných datových p enosech. Jsou to datové struktury, které mají definovanou velikost a obsah. Jsou sou ástí adi e za ízení a adi hostitele o n musí požádat. Zde jsou uvedeny základní typy deskriptor : 1) Deskriptor za ízení - informace o typu za ízení a výrobci 2) Konfigura ní deskriptor - možné konfigurace za ízení 3) Deskriptor rozhraní - vý et typ rozhraní podporované za ízením 4) Endpoint deskriptor - adresa a charakteristika koncového bodu. 5) String deskriptor - volitelný deskriptor s textem. Každé za ízení má svou fyzickou adresu, která mu byla p id lena hostitelem. To je však pro komunikaci na vyšších úrovních nedosta ující. Proto se p enos dat z hlediska ovládacího softwaru neprovádí na elementární úrovni, ale využívají se virtuální datové cesty mezi koncovými body (endpoints) za ízení a jeho ovládacím softwarem. Endpoint je definován jako jednozna n identifikovatelná ást USB za ízení, která stojí na konci toku dat mezi za ízením a hostitelem. Endpointy a jejich vlastnosti jsou dány z výroby architekturou za ízení. D lí se na vstupní a výstupní, a ozna ují se ísly 0-15. Každý koncový bod je jedine ný vzhledem ke sm ru toku dat a svému íslu. Celkem tak za ízení m že mít nejvýše 16 vstupních a 16 výstupních endpoint. Propojení dvou endpoint vytvo í virtuální komunika ní kanál, tzv. rouru (pipe). Endpoint 0 je obousm rný a musí být implementován v každém za ízení. P es n j se zajiš uje po áte ní komunikace, kdy za ízení ješt nemá p id lenu adresu. Endpoint 0 podporuje pouze ídicí typ p enosu dat. Virtuální komunika ní kanály roury podporují r zné typy datových p enos. Jsou specifikovány ty i základní typy: a) ídicí (configure) pro nastavení za ízení nebo zjišt ní jeho stavu b) blokové (bulk) pro p enos v tších objem dat c) p erušovací (interrupt) pro asynchronní p enos dat d) izochronní (isochronous) pro p enos dat od za ízení v reálném ase - 11 -

Každý p enos se m že skládat z více transakcí a ty z n kolika paket (obr. 3.1). Typická transakce se skládá ze t í paket : - Token Packet - identifikuje cílové za ízení - Data Packet - obsahuje p enášená data - Handshake Packet - potvrzuje p enesení dat Obr. 3.1 Schéma datového p enosu Komunikaci zahajuje kontrolér USB hostitele vysláním Token paketu. Pomocí PID (Packet Identifier) se specifikuje typ transakce (Setup, IN, OUT, Start of Frame). M že následovat Data paket, kterým za ízení nebo hostitel m žou p enést libovolná data. V kone né fázi p enosu pošle za ízení nebo hostitel informace o stavu v handshake paketu. Mohou nastat ty i p ípady stavu p enosu specifikované v handshake paketu: ACK p íjemce p ijal paket bez chyb NAK nelze odeslat/p ijmou data, nebo není nic k odeslání STALL požadavek není podporován (slouží též k synchronizaci) NYET u high-speed p enos, za ízení p ijalo data bez chyb, není však p ipraveno p ijmout další - 12 -

3.2 Konfigura ní model adi e adi je vždy t eba p ed samotnou komunikací p es USB sb rnici nakonfigurovat. K tomu slouží nastavení p íslušných registr adi e. Toto nastavení registr je obvykle sou ástí tzv. Inicializa ní rutiny. Jak a jaké registry budou nastaveny rozhoduje o tom, v jakých módech bude adi pracovat, o zp sobech p erušení, délce p enášených paket, nastavení typu jednotlivých endpoint a p edur uje, jakou funkci bude adi plnit. Proces inicializace je znázorn n na schématu (obr. 3.2). adi je univerzální a m že být nakonfigurován do rozdílných mód dle pot eb dané aplikace. Výrobce uvádí hlavní dva módy, jimiž jsou GDMA pro p ímý p ístup do pam ti nebo tzv. Mass storage, ur ený pro velkokapacitní pam ová za ízení. Pro p edstavu uvádím model, p edstavující postup p i programování firmwaru adi e (obr. 3.3). Po inicializaci následuje proces enumerace, kdy si hostitel vyžádá popis za ízení, jeho verzi a dostupné konfigurace a p i adí mu jedine nou adresu. Pokud prob hne i enumerace v po ádku a hostitel disponuje p íslušným ovlada em pro nalezené za ízení, následuje fáze samotného procesu dat. Obr. 3.2 Inicializace registr [3] Obr. 3.3 Model konfigurace adi e [3] - 13 -

3.3 Inicializace adi e P i tvorb softwaru jsem tedy za al práv fází inicializace adi e. Z dokumentace jsem nastudoval funkce jednotlivých registr, nadefinoval jim p íslušnou adresu a p ednastavil hodnoty, jež v pr b hu inicializace nastaví registry na pot ebou hodnotu. Na ukázku uvádím význam jednotlivých bit prvního z registr jež je t eba p i inicializaci nastavit. Je jím Mode registr, jehož adresa je 0Ch (obr. 3.4). Obr. 3.4 Struktura Mode registru [3] Do registru je samoz ejm možno p istupovat i b hem další innosti adi e a modifikovat tak jeho chování, i jen zjistit aktuální nastavení, nap íklad vy tením bitu VBUSSTAT, který slouží pouze pro tení a jehož hodnota signalizuje, zda je za ízení p ipojeno k hostiteli i nikoliv. P i prvotní inicializaci jsem povolil globální p erušení (bit GLINTENA), což zajistí, že adi bude generovat p erušení pro ídicí mikroprocesor, pokud rozezná aktivitu na USB sb rnici. Mikroprocesor STR710 umož uje detekci externích p erušení, p i emž dokáže reagovat pouze na spádovou i náb žnou hranu. Nepodporuje tedy úrov ovou detekci p erušení, což bylo nutno brát na v domí p i nastavení generování p erušovacího signálu adi em v Interrupt Configuration registru. adi tedy bude signalizovat p erušení vygenerováním 60 ns pulsu. Hlavní funkcí USB adi e je schopnost rozeznávat komunikaci na USB sb rnici a interpretovat ji pro ídicí mikroprocesor. Pro tento ú el je v adi i výrobcem implementována funkce USB SIE (USB Serial Interface Engine). Tato funkce automaticky rozeznává a generuje typy jednotlivých paket (PID), kontroluje kontrolní sou ty, i vyhodnocuje handshake pakety jako jsou ACK nebo NAK. Práv v p ípad t chto paket USB SIE generuje p erušení. To, p i jakých událostech bude toto p erušení generováno, je dále nastaveno v Interrupt Enable registru. Jde nap íklad - 14 -

o reset sb rnice (BUS RESET), p echod do stavu snížené spot eby (SUSPEND) a návrat z n j do aktivního stavu (RESUME). D ležitou událostí, kterou je nezbytné obsloužit, je také obdržení set-up paketu na endpoint 0. Každý endpoint lze samostatn nastavit jako zdroj p erušení. Jelikož modul zatím není p ipraven pro použití p ímého p ístupu do pam ti DMA, nejsou p íslušné registry konfigurovány a nadefinování konkrétních endpoint je tedy posledním krokem inicializace. Obousm rný ídicí endpoint 0 není uživatelsky konfigurovatelný, jelikož jeho parametry jsou definovány p ímo standardem [1]. Rozhodl jsem se použít dva endpointy (IN/OUT) pro blokový p enos dat, jehož maximální velikost paketu je maximální, jakou umož uje USB sb rnice verze highspeed pro blokový p enos, tedy 512 bajt. Pro verzi full-speed je tato hodnota 64 bajt. Protože bude v pr b hu p enosu dat velmi pravd podobn t eba posílat r zné kontrolní a informa ní zprávy, je velmi vhodné nadefinovat dva endpointy (IN/OUT) pro p erušovací p enos. Tento typ p enosu je vhodné využít práv v p ípad, kdy je t eba poslat nebo p ijmout data relativn z ídka, ovšem vyžadují rychlé doru ení. Typy jednotlivých endpoint jsou nastaveny v registru Enpoint Type a jejich maximální velikost paket v registru Endpoint MaxPacketSize. Pro zápis a tení z registr adi e lze využít externí pam ové rozhraní (EMI) mikroprocesoru. Pomocí signálu Chip Select (CS) si lze v pam ti procesoru mapovat pam ový prostor vyhrazený pro komunikaci s USB adi em. Procesor umož uje ty i signály typu Chip Select. Aktivací kteréhokoliv z nich se v pam ti rezervuje p íslušný bank pam ti umož ující adresovat pam ový prostor až 16 MB. Dohromady lze tedy mapovat až 64 MB externí pam ti. Rozložení jednotlivých bank s jejich adresami je na obrázku (obr. 3.5). V mém p ípravku posta í využít pouze jeden bank externího pam ového prostoru pam ti, konkrétn Bank 0 pomocí signálu CSn.0. V programu budu tedy p istupovat k jednotlivým registr m p i tením adresy p íslušného registru k bázové adrese Banku 0 (60000000h). Jako p íklad uvádím tení z Mode registru: c = *(u16*)(extmem_base + rega_mode); Obr. 3.5 EMI - adresovatelný prostor - 15 -

3.4 Proces enumerace Enumerace je proces detekce a identifikace p ipojeného za ízení, ízená hostitelem. Po p ipojení za ízení si hostitel zjistí, na jaký port je za ízení p ipojeno (stav Attached). Následn je t eba tento port povolit a nakonfigurovat (stav Powered). Po té hostitel za ízení inicializuje do výchozího stavu (stav Default) p íkazem reset, což znamená, že za ízení odpovídá na defaultní adresu a komunikace probíhá p es Default Control Pipe. Za ízení se nachází ve stavu Default a jeho registry jsou nastaveny na p eddefinované hodnoty. Smí odebírat maximáln 100 ma. Následn si hostitel vyžádá formou požadavk (tzv. standard requests) deskriptor za ízení a p i adí za ízení unikátní adresu (stav Address). Na záv r si hostitel vyžádá deskriptor popisující konfigurace za ízení. Za ízení je poté nakonfigurováno a p ipraveno k použití (stav Configured). Pokud není po ur itý asový interval registrována aktivita na sb rnici, p echází za ízení do neaktivního stavu (stav Suspended). Následující diagram (obr. 3.6) znázor uje p echod mezi jednotlivými stavy. Obr. 3.6 Stavový diagram [1] - 16 -

Reakce za ízení na žádosti USB hostitele jsou závislé na stavu, ve kterém se za ízení nachází. Všechna za ízení odpovídají na požadavky hostitele prost ednictvím Default Control Pipe, což je komunika ní roura vytvo ená mezi nulovými koncovými body za ízení a hostitele. P es tuto defaultní ídicí rouru probíhá takzvaný ídicí p enos. V následující tabulce uvádím formát požadavk hostitele na za ízení tak, jak ho definuje standard [1]. Tab. 3.1 Formát požadavk Jednotlivé požadavky a jejich parametry jsou odeslány k za ízení prost ednictvím Setup paketu. Hostitel je zodpov dný za konkrétní odesílané hodnoty. Velikost každého Setup paketu je 8 bajt. V knihovn Common.h definuji strukturu, která musí svým formátem odpovídat p edchozí tabulce: - 17 -

Obdrží-li adi za ízení Setup paket, uloží jeho obsah do vyrovnávací pam ti, nastaví Interrupt registr na hodnotu tomu odpovídající a generuje puls signalizující mikroprocesoru externí p erušení. Program v mikroprocesoru vy te obsah Interrupt registru a jeho obsah porovná s maskou povolených p erušení. Následn zavolá obslužnou rutinu pro dané p erušení. První funkcí z této rutiny je funkce, kterou jsem logicky pojmenoval. Z ní je volána funkce s názvem v níž se vy ítá Setup buffer jehož obsah je p i azen jednotlivým položkám v již zmín né struktu e. Podle jejího obsahu program rozpoznává, jaké konkrétní požadavky jsou vyžadovány, nap íklad jaký typ deskriptoru si hostitel žádá a následují funkce slouží k správnému zpracování t chto požadavk. Pokud za ízení bez komplikací obdrží data obsažená v Setup paketu, je t eba zapsat do Control Function registru na bit DSEN. Tímto adi za ízení odešle handshake signál. Následující tabulka (tab. 3.2) p ehledn uvádí jednotlivé parametry všech požadavk na data ze za ízení. Tab. 3.2 Standard device requests [1] - 18 -

Jak již bylo uvedeno, pokud je za ízení zinicializováno, jsou jeho registry nastaveny na defaultní hodnoty (viz. kapitola 3.3) a nachází se ve stavu Default. V procesu enumerace tedy následuje krok, kdy si host vyžádá deskriptor za ízení, což odpovídá požadavku GET_DESCRIPTOR. Aby bylo možno rozeznat, jaký deskriptor je požadován, je t eba znát hodnotu wvalue, která odpovídá jednotlivým deskriptor m. To je op t definováno standardem [1] a znázorn no v následující tabulce (tab. 3.3). Tab. 3.3 Typy deskriptor [1] Pokud tedy hodnota deskriptoru v požadavku GET_DESCRIPTOR odpovídá hodnot Device, pak je požadován deskriptor za ízení. Jeho struktura je v programu nadefinovaná v knihovn usb200.h a musí op t p esn odpovídat tomu, jak ji definuje standard [1]. Device deskriptor má vždy velikost 18 bajt. - 19 -

Položky 14-16 p edstavují pouze index na String deskriptor, kde se nachází p íslušný popis. Ve specifikaci USB 2.0 je kapitola 9 v nována popisu struktury USB za ízení, a už jednotlivým požadavk m i deskriptor m popisujících tato za ízení. Soubor, ve kterém program naplní deskriptory konkrétními hodnotami a obslouží dané požadavky, jsem pojmenoval Chap_9.c. Funkce tedy identifikuje, jaký deskriptor je požadován, a jeho obsah je funkcí odeslán do bufferu adi e (Data port registr) a odtud automaticky odeslán skrz endpoint 0 IN k hostiteli. Pokud za ízení obdrží status, že hostitel v po ádku obdržel deskriptor za ízení, je o ekáván požadavek na nastavení adresy za ízení. Ten obslouží funkce jež nastaví Address registr na adresu zaslanou hostitelem. Za ízení nyní p echází ze stavu Default do stavu Address. Za ízení m že obdržet požadavek Set address i ve stavu Address. Pokud je nová adresa rovna 0, pak p echází zp t do stavu Default. Pokud je nová adresa nenulová, za ízení z stává ve stavu Address a používá nov nastavenou adresu. Hodnota adresy nesmí být nikdy v tší než 127, jelikož standard USB 2.0 podporuje maximáln 127 p ipojených za ízení s jedine nou adresou na jeden host kontrolér. Na základ po tu možných konfigurací za ízení (v našem p ípad jen jedna) a funkci, jakou má za ízení plnit, je za ízení hostitelem nakonfigurováno a p echází do stavu Configured. V p ípad požadavku na konfigura ní deskriptor za ízení obvykle nevrací jen 9 bajt konfigura ního deskriptoru, ale zárove i deskriptory rozhraní a endpoint (proto deskriptor obsahuje slovo nesoucí celkovou délku vrácených dat). Struktura tohoto deskriptoru je uvedena v následující tabulce (tab. 3.4). Tab. 3.4 Konfigura ní deskriptor - 20 -

3.5 P enos dat P enos dat p i procesu enumerace popsaném v p edchozí kapitole je provád n skrz defaultní rouru mezi nulovými koncovými body. Pokud je za ízení nakonfigurováno, jsou také p ipraveny jednotlivé koncové body, nadefinované pro zvolenou konfiguraci za ízení. Na následujícím obrázku je podrobn ji znázorn n datový tok mezi hostitelem a USB za ízením. Obr. 3.7 Datový tok hostitel za ízení [6] Podle funkce, kterou za ízení plní, jsou USB za ízení d lena do n kolika t íd. Jako jednoduchá USB za ízení lze ozna it tzv. HID (Human Interface Device), mezi která pat í nap íklad myš nebo klávesnice nebo také n která m icí za ízení (voltmetry, termometry). Ke komunikaci používá ídicí a p erušovací p enosy z d vodu pot eby asynchronního p enosu dat. Více náro ná je t ída velkokapacitních pam ových za ízení (Mass Storage Device - MSC). Tuto kategorii tvo í USB Flash pam ti i disky s USB rozhraním. Každé MSC za ízení musí mít implementovány alespo dva bulk endpointy pro obousm rnou komunikaci mezi za ízením a hostitelem Využití hromadného p enosu je vhodné i pro aplikaci, ve které se uplatní m j p ípravek. Nyní uvedu hlavní parametry hromadného p enosu, osv tlující výhody jeho použití. - 21 -

Hromadný (bulk) p enos je navržen pro za ízení, která pot ebují p enášet velké bloky dat v r zných okamžicích, kdy m že p enos použít veškeré dostupné p enosové pásmo. Proto je tento typ p enosu vhodný do USB systému s velkou ástí volného p enosového pásma. Pokud tomu tak není, trvá p enos delší dobu. Vzhledem k tomu, že náš systém je ur en pro zkrácení asu produk ního programování programovatelných sou ástek a kapacita p enosového pásma nebude využita k jinému ú elu, je vhodné využít práv hromadného p enosu. Další vlastností tohoto p enosu je, že garantuje správné doru ení dat. V p ípad chyb na sb rnici jsou p enosy opakovány. P enos je ukon en tehdy, když bylo p eneseno p esn tolik dat, kolik bylo požadováno. Hostitel získá z konfigura ních informací o za ízení údaj o maximální velikosti dat pro hromadný (bulk) endpoint, p enesených v rámci jedné transakce. Pro verzi full-speed je tato hodnota maximáln 64 bajt a pro verzi high-speed až 512 bajt. Tato hodnota se vztahuje k vlastním dat m a nejsou do ní zapo ítávána data protokolu. Je-li t eba p enést menší objem dat, není t eba dopl ovat na hodnotu maximální. Naopak, pokud je t eba p enést v tší objem dat, než udává hodnota wmaxpacketsize pro daný endpoint, jsou tato data rozd lena do více paket. High-speed OUT enpoint musí implementovat takzvaný PING protokol. Ten slouží ke zjišt ní, zda má endpoint místo pro další datové transakce, což vede k zefektivn ní využívání asu na sb rnici. Hostitel se dotazuje za ízení speciálním PING tokenem, na n jž m že obdržet odpov typu NAK (endpoint nemá místo pro wmaxpacketsize) nebo ACK (endpoint má místo). Synchronizace mezi vysíla em a p íjemcem dat je pro hromadné p enosy udržována pomocí takzvaných toggle data bit, p epínaných po úsp šném ukon ení transakce. Maximální po et úsp šných transakcí b hem rámce je omezen na mén než 72 osmibajtových p enos pro verzi full-speed. adi ISP1582 však podporuje verzi USB high-speed, pro niž platí omezení na mén než 14 p enos na mikrorámec o velikosti 512 bajt. Tato omezení jsou dána frekvencí sb rnice a asováním mikrorámce. Standard [1] uvádí limity pro blokové p enosy pro verzi full-speed (tab. 3.5) i pro verzi high-speed (tab. 3.6). - 22 -

Režie protokolu (13 bajt ) (3 SYNC bajty, 3 PID bajty, 2 Endpoint + CRC bajty, 2 CRC byty a 3 bajtová pauza mezi pakety) Velikost dat Max. p enosová rychlost (bytes per second) Využití rámce pro p enos Max. po et p enos v rámci Zbývajících bajt Bajt informace na rámec 1 107000 1% 107 2 107 2 200000 1% 100 0 200 4 352000 1% 88 4 352 8 568000 1% 71 9 568 16 816000 2% 51 21 816 32 1056000 3% 33 15 1056 64 1216000 5% 19 37 1216 Max 1500000 1500 Tab. 3.5 Limity pro full-speed hromadné p enosy Režie protokolu (55 bajt ) (3x4 SYNC bajty, 3 PID bajty, 2 EP/ADDR + CRC bajty, 2 CRC16 bajty a 3x(1+11) bajt pauzy mezi pakety (EOP atd.)) Velikost dat Max. p enosová rychlost (bytes per second) Využití mikrorámce pro p enos Max. po et p enos v rámci Zbývajících bajt Bajt informace na rámec 1 1064000 1% 133 52 133 2 2096000 1% 131 33 262 4 4064000 1% 127 7 508 8 7616000 1% 119 3 952 16 13440000 1% 105 45 1680 32 22016000 1% 86 18 2752 64 32256000 2% 63 3 4032 128 40960000 2% 40 180 5120 256 49152000 4% 24 36 6144 512 53248000 8% 13 129 6656 Max 60000000 7500 Tab. 3.6 Limity pro high-speed hromadné p enosy - 23 -

Jak již bylo zmín no v kapitole v nující se inicializaci adi e, nadefinoval jsem si dva endpointy ur ené pro oboustranný hromadný p enos dat a dva endpointy pro p erušovací p enos umož ující rychlé odeslání z ídka odesílaných dat. USB adi podporuje 7 vstupních a 7 výstupních, uživatelsky pln konfigurovatelných endpoint. Endpoint 1 IN/OUT jsem nadefinoval jako Interrupt endpoint. P erušovací p enosy poskytují garantovanou maximální periodu, ve které je požadavek obsloužen a v p ípad chyby p i doru ení jeho znovuvyslání. Pro high-speed za ízení p erušovací p enosy specifikují maximální velikost dat až 1024 byt. V defaultní konfiguraci však high-speed za ízení nesmí obsahovat interrupt endpoint s velikostí dat v tší než 64 byt. Pokud je tedy po p erušovacím p enosu požadován p enos v tšího objemu dat, je t eba pro za ízení nadefinovat jeho alternativní konfiguraci. Pro mou aplikaci, pro p enos velkého objemu dat, používám hromadný p enos a pokud bude t eba neodkladn doru it n jakou informativní zprávu, posta í vždy maximální velikost paketu 64 bajt. Za ízení si tedy vysta í pouze s jednou, defaultní konfigurací. Pro p enos velkého objemu dat je t eba mít dostupné co nejširší p enosové pásmo. Endpoint 2 IN/OUT je tedy nadefinován pro p enos 512 bajt v rámci jedné hromadné transakce. Pro zefektivn ní p enosu využívá Endpoint 2 IN i Edpoint 2 OUT takzvaného Double Bufferingu. Jde v podstat o postup, kdy se využívají dva buffery, p i emž z jednoho jsou data tena na výstup a do druhého jsou sou asn data zapisována. Poté, co jsou data z prvního bufferu odeslána, si oba buffery prohodí funkce. Výhodou takového ešení je, že pro odeslání/p ijmutí dat jsou vždy p ipravena data a nedochází tak ke zbyte ným prodlevám. Tím je zaru ena vysoká propustnost p enosu dat. Tato metoda je nap íklad využívána u grafických karet p i vykreslování animací pro vytvo ení dojmu plynulého pohybu. - 24 -

3.6 Vývojové prost edí Pro psaní programu jsem využil vývojové prost edí IAR Embedded Workbench v kombinaci s jlink USB-JTAG Debuggerem rovn ž od firmy IAR SYSTEMS [5], které mi byly poskytnuty na kated e m ení jako vývojové prost edky. Zapojení USB-JTAG Debuggeru k procesoru a jeho propojení s deskou USB adi e je na obrázku (obr. 3.8). K práci s procesorem jsem využil veškeré dostupné dokumentace a ukázkové kódy dostupné od výrobce [3],[4]. Obr. 3.8 Zapojení vývojových nástroj - 25 -

4. Záv r 4.1 Dosažené výsledky Pro seznámení se s rozhraním USB jsem mimo jiné využil p ednášek pana Ing. Ji ího Nováka v novaných tomuto tématu. Poskytly mi první vhled do této problematiky. Další informace, které bylo nutné získat pro správnou implementaci rozhraní, jsem erpal p edevším z dokumentace ke standardu, ale také z lánk na internetu. Tato práce svým charakterem nabízí propojení teoretických znalostí s jejich uplatn ním pro konkrétní aplikaci a to na hardwarové i softwarové úrovni. Práce se na obou úrovních skládala z fází návrhu a realizace. V obou p ípadech jsem pracoval s nástroji, se kterými jsem do té doby m l jen minimum zkušeností. Bylo tedy nutné, nastudovat pot ebnou literaturu a osvojit si nové pojmy. Konkrétní kroky p i realizaci jednotlivých fází jsou uvedeny v této práci. Na hardwarové úrovni se poda ilo zrealizovat funk ní obvod, který na jedné stran podporuje komunikaci p es USB sb rnici a na stran druhé poskytuje p ipojení kontrolního mikroprocesoru ur eného pro konfiguraci za ízení a zpracovávání požadavk adi em rozpoznaných. Vhodným návrhem a realizací softwaru pro tento mikroprocesor byl adi nastaven pro základní komunikaci s host kontrolérem a následn nakonfigurován do stavu, kdy je za ízení p ipraveno uskute nit hromadný p enos pro záznam dat. V p íloze A pro ilustraci uvádím výpis zpráv zobrazených po p ipojení za ízení k po íta i. Na p iloženém CD je rovn ž k dispozici soubor s výpisem deskriptor p ipojeného za ízení, získaného z programu USBlyzer, který slouží k sledování komunikace na USB sb rnici. Výsledný p ípravek je p ipraven pro jeho využití v projektu zam eném na implementaci vysokorychlostního rozhraní JTAG, kde bylo t eba dosáhnout jeho p ipojení k po íta i prost ednictvím sb rnice USB 2.0 verze high-speed pro zkrácení produk ního programování programovatelných sou ástek. Rozhraní USB je v sou asnosti velmi rozší ené a jak již bylo zmín no, lze ho uplatnit v rozli ných aplikacích. Bylo proto velmi užite né se s ním detailn seznámit a tyto teoretické poznatky si postupn up es ovat v závislosti na omezeních konkrétní aplikací. Význam USB rozhraní také potvrzují zprávy o chystané verzi USB 3.0, jenž bude dosahovat 10x v tšího výkonu, tedy teoretického maxima p enosové rychlosti až 4,8 Gb/s. Tato verze bude zp tn kompatibilní s verzemi p edchozími a tak budu moci využít své poznatky z této práce i v p ípadných budoucích aplikacích. - 26 -

Seznam použité literatury [1] Universal Serial Bus Revision 2.0 specification. http://www.usb.org [2] Záhlava V.: OrCAD 10. Vydavatelství GRADA, 2004. [3] NXP: ISP1582 Technical documents. http://www.nxp.com [4] STMicroeletronics: Documents and files for family STR7. http://www.st.com [5] IAR: IAR Embedded Workbench. http://www.iar.com [6] HW.cz: USB 2.0 - díl 1, USB 2.0 - díl 2, USB 2.0 - Typy a formáty p enos. http://www.hw.cz [7] Kocourek P., Novák J.: P enos informace. Skripta VUT, Praha 2003. - 27 -

P íloha A Microsoft Windows XP nalezen nový hardware - Aby však mohly za ízení a host vzájemn plnohodnotn komunikovat, tedy aby mohl být nap íklad uskute n n blokový p enos dat, je t eba, aby m l host kontrolér k dispozici vhodný ovlada, popisující funkce p ipojeného za ízení. - Za ízení PHILIPS ISP 1582 Test však není za ízení, které lze za adit do n které ze standardn definovaných t íd za ízení. Po up esn ní požadavk pro cílový projekt bude tedy nutné, napsat p íslušný ovlada. - 28 -

Linux Fedora - Po zadání p íkazu pro vypsání USB za ízení /sbin/lsusb -v je vypsán podrobný popis za ízení v podob jednotlivých deskriptor. Bus 001 Device 005: ID 04cc:1b41 Philips Semiconductors Device Descriptor: blength 18 bdescriptortype 1 bcdusb 2.00 bdeviceclass 255 Vendor Specific Class bdevicesubclass 255 Vendor Specific Subclass bdeviceprotocol 255 Vendor Specific Protocol bmaxpacketsize0 64 idvendor 0x04cc Philips Semiconductors idproduct 0x1b41 bcddevice 0.00 imanufacturer 1 iproduct 2 iserial 3 bnumconfigurations 1 Configuration Descriptor: blength 9 bdescriptortype 2 wtotallength 46 bnuminterfaces 1 bconfigurationvalue 1 iconfiguration 4 bmattributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: blength 9 bdescriptortype 4 binterfacenumber 0 balternatesetting 0 bnumendpoints 4 binterfaceclass 255 Vendor Specific Class binterfacesubclass 255 Vendor Specific Subclass binterfaceprotocol 255 Vendor Specific Protocol iinterface 5-29 -

Endpoint Descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x81 EP 1 IN bmattributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wmaxpacketsize 0x0040 1x 64 bytes binterval 4 Endpoint Descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x01 EP 1 OUT bmattributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wmaxpacketsize 0x0040 1x 64 bytes binterval 4 Endpoint Descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x82 EP 2 IN bmattributes 2 Transfer Type Bulk Synch Type None Usage Type Data wmaxpacketsize 0x0200 1x 512 bytes binterval 0 Endpoint Descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x02 EP 2 OUT bmattributes 2 Transfer Type Bulk Synch Type None Usage Type Data wmaxpacketsize 0x0200 1x 512 bytes binterval 0-30 -

P íloha B P iložené CD obsahuje: Soubory návrhu tišt ného spoje. Zdrojové kódy programu. Dokumentace k programu. Výpis z programu USBlyzer ve formátu HTML. Tato práce ve formátu PDF. - 31 -