Jste zde

Převodníky USB / sériový port OXUSB950(4) od Oxford semiconductor

Pokud ve vaší aplikaci potřebujete připojit až čtyři sériové porty na USB rozhranní, pak vás jiste zaujmou obvody OXUSB950 a OXUSB954, které propojují sériový port s USB2.0 host zařízením.

Nedávno jsme si představili Britskou firmu Oxford Semiconductor, která se zabývá výrobou obvodů pro propojení USB / FireWire se SATA / IDE, FireWire audio a mnoha převodníků pro UART / PCI / Paralelní port / EEPROM, atd... V tomto článku se blíže podíváme na obvody OXUSB950(4), které propojují (až 4x) sériový port s USB2.0 host. Obvody obsahují kompletní USB / sériový port převodník a k dispozici jsou ovladače pro standardní sériový port na hostitelském stroji pro PC / Mac, díky nimž se obvod, připojený k USB, chová jako standardní COM port.
Čip obsahuje 16bitový mikropočítač s integrovanou pamětí RAM, který ovládá transakce mezi USB a sériovým portem a zároveň umožňuje úpravy kódu, spuštění vlastního programu a update ovladačů. Dále je k dispozici interface pro externí EEPROM, která může obsahovat například identifikaci zařízení (USB descriptor), nebo právě vlastní program, který se po zapnutí nahraje do RAM.
K obvodu je k dispozici i vývojová deska, s klasickým zapojením sériového portu na USB a množství software určeného pro ladění a vývoj aplikací.

OXUSB950
Funkce obvodu OXUSB950


 

Základní vlastnosti

  • USB2.0 - plná rychlost; zabudovaný transceiver 12Mbps transceiver & SIE
  • Podpora USB suspend/resume
  • Vysoká rychlost sériového portu (až 230 Kbps)
  • Další UART pro debugging a vývoj kódu
  • Výkonný 16bitový procesor pro USB transakce a další...
  • Interní RAM buffer 1.5 K×16 pro zrychlení komunikace
  • 128-byte FIFO pro příjem / vysílání
  • 2 GPIO piny pro všeobecné použití
  • Nastavitelná délka slova 5-8 bitů
  • Nastavitelná parita (sudá/lichá/žádná), 1 nebo 2 stop bity
  • Dvouvodičový sériový interface podporuje konfiguraci pomocí externí EEPROM
  • Watchdog
  • Potřebuje jen málo externích obvodů s nízkou cenou
  • Plug & play kompatibilní
  • K dispozici ovladače pro Windows® 98, Windows 2000, Windows XP; Mac OS® 9, Mac OS 10
  • Napájecí napětí 3,3V
  • 44-pin LQFP (100-pinů pro OXUSB954)


 

Nadále se budeme věnovat pouze obvodu OXUSB950, neboť OXUSB954 je funkčně i vlastnostmi stejný a liší se pouze počtem sériových portů, které lze na USB připojit.
Integrovaný 16bitový procesor obvodu OXUSB950 dosahuje výkonu až 5 MIPs. Slouží především pro potřeby USB rozhranní, ale zbývá mu ještě výpočetní kapacita pro případné externí periferie, které například předzpracují data před odesláním do PC. K dispozici je až 240 softwarových vektorů přerušení, šest adresovacích módů a autoinkrementace, instrukce v ROM umožňují efektivní práci s USB daty.

Blokové schéma
Blokové schéma obvodu OXUSB950

USB transceiver může přenášet data rychlostí až 12 Mbps, UART sériového portu lze provozovat až při rychlosti 230,4 Kbaudů. K dispozici je i další nezávislý sériový port určený pro ladění kódu a vývoj aplikací s rychlostí až 115,2 kbaud. Je možné využít i přístupu k externí EEPROM s podporou mnoha formátů dat. PLL obvodu v OXUSB950 generují kmitočet 48MHz buď z externího krystalu, nebo jiného zdroje kmitočtu 12MHz.

Funkce

Integrovaný 16bitový procesor obvodu OXUSB950(4) má přímý přístup do RAM, I/O portů a všech kontrolních a stavových registrů. Je možné použít tyto adresovací módy:

  • Memory-to-memory
  • Memory-to register
  • Register-to-register
  • Immediate-to-register
  • Immediate-to-memory

Dále je k dispozici auto-increment mód, v nemž je registr použit jako ukazatel a po každém použití je inkrementován, což zefektivní opakující se operace.
Instrukce jsou šestnáctibitové a některé potřebují jednobajtové, nebo dvoubajtové operandy. Lze použít i rozšířené operace násobení a dělení, které zpracují 16bitové operandy a vrátí 32bitový výsledek (u dělení naopak).

Programovatelné časovače

O přerušení se starají dva zabudované časovače, které dekrementují každou mikrosekundu (s každým taktem) a po dosažení nuly generují přerušení. Navíc je k dispozici nezávislý watchdog.

USB

Interní buffer USB je použit pro ukládání dat a paketů, do paměti přistupuje procesor a ovládání sériového rozhranní (SIE). Veškeré USB transakce jsou automaticky směrovány do vyrovnávací paměti pomocí ukazatelů, procesor obstarává čtení dat ze sběrnice, stejně jako zpracování a rozdělení do paketů. Pokud není USB po 3ms aktivní, přejde do suspend módu. Obvod OXUSB950 podporuje 10 USB endpointů, číslovaných 0 - 9.

Sériové porty

UART sériového portu lze nastavit pro rychlost od 300 do 230,4 kbaudů. Jak již bylo zmíněno, druhý sériový port o rychlosti 7200 až 115,2 kbaudů je k dispozici pro testování a vývoj aplikací.

Hodinové kmitočty

PLL obvody generují kmitočet 48MHz na pinech CLK a X2. Obvody jsou navrženy pro použití levného krystalového oscilátoru 12MHz. Pokud jsou PLL obvody vypnuty, lze použít signál o frekvenci 48MHz.

GPIO (vstupy/výstupy)

Jak již bylo zmíněno, obvod OXUSB950 obsahuje dva univerzální piny, které lze nastavit jako vstup/výstup.

Blokové schéma
Interní zapojení I/O registru
Paměti

OXUSB950 podporuje propojení s externí sériovou EEPROM, přímo v obvodu je integrována paměť RAM a ROM, rozsah adres je rozdělen do dvou bank.

Závěr

Pokud pro vaši aplikaci jeden sériový port nestačí, můžete využít obvod OXUSB954, který má shodné vlastnosti i funkce, jako popsaný OXUSB950, ale obsahuje čtyři sériová rozhranní pro obecné použití.
Pokud vás obvody firmy Oxford Semiconductor zaujaly, kontaktujte firmu MACRO WEIL s.r.o., která je distributorem pro Českou Republiku a jejíž pracovníci vám zodpoví i případné dotazy týkající se těchto obvodů.

 


 

David Šmíd
smid@ hwg.cz

DOWNLOAD & Odkazy

 

Hodnocení článku: