AVT5096.pdf

(682 KB) Pobierz
Konwerter USB<->IDE - AVT-5096
P R O J E K T Y
Konwerter USB<−>IDE
AVT−5096
Czasami uøytkownicy
komputerÛw znajduj¹ siÍ
w sytuacji, gdy musz¹
ìw terenieî przegraÊ
z komputera wiÍksz¹ iloúÊ
danych, ale nie mog¹ tego
zrobiÊ przede wszystkim
dlatego, øe PC jest zamkniÍty
mechanicznie i dostanie siÍ
do úrodka wymaga posiadania
narzÍdzi, no i†zgody
w³aúciciela.
Rekomendacje : konwerter
prezentowany w†artykule
pozwala rozwi¹zaÊ problem
do³¹czenia dysku twardego
lub CD-ROM-u do interfejsu
USB dowolnego komputera.
DziÍki niemu uzyskujemy
moøliwoúÊ realizacji
prawdziwego Plug-n-Play,
niemoøliwego do uzyskania
np. za pomoc¹ ìkieszeniî
na HDD.
rolÍ konwertera sygna³Ûw miÍ-
dzy portem USB komputera
a†dowolnym dyskiem twardym,
CD-ROM-em lub nagrywark¹.
Podstawowe parametry kon-
wertera s¹ nastÍpuj¹ce: wspÛ³-
praca z†interfejsami USB w kaø-
dej wersji (³¹cznie z†2.0), przy
czym stosowanie starszych wer-
sji (1.x) ogranicza maksymaln¹
przepustowoúÊ ³¹cza i†nie po-
zwala na wykorzystanie w†pe³ni
moøliwoúci dysku twardego, u-
moøliwia takøe obs³ugÍ napÍdÛw
zgodnych z†ATAPI, tj. nagrywa-
rek, odtwarzaczy DVD czy napÍ-
dÛw ZIP.
SkrÛtowy opis magistrali USB
by³ zamieszczony w†EP9/2002,
przy okazji opisu konwertera
USB<->RS232. Czytelnikom szcze-
gÛlnie zainteresowanym tematyk¹
USB polecam stronÍ www.usb.org
lub úci¹gniÍcie specyfikacji USB
ze strony internetowej EP ( http:/
/www.ep.com.pl/ftp/usb_doc.exe ).
Takøe na p³ycie CD-EP1/2003B
znajduj¹ siÍ w†miarÍ wyczerpuj¹ce
informacje na temat tej magistrali.
OprÛcz k³opotÛw z†narzÍdzia-
mi, jakie trzeba ze sob¹ nosiÊ, aby
do³¹czyÊ siÍ do kontrolera dys-
kÛw, niebagatelny jest takøe czÍs-
to praktykowany zwyczaj plombo-
wania komputerÛw przez produ-
centÛw - w†takiej sytuacji prÛba
dostania siÍ do úrodka spowoduje
zerwanie umowy gwarancyjnej.
Co zatem zrobiÊ? Moøna kupiÊ
nagrywarkÍ lub dysk twardy ze
z³¹czem USB, lecz nie s¹dzÍ, aby
by³o to najtaÒsze i†najlepsze
(zw³aszcza dla elektronika) roz-
wi¹zanie.
W†artykule postaram siÍ przed-
stawiÊ prosty interfejs spe³niaj¹cy
14
Elektronika Praktyczna 1/2003
Konwerter USB<−>IDE
39642461.029.png
Konwerter USB<−>IDE
Rys. 1. Schemat blokowy układu CY7C68013
tj. CY7C68013-56PVC. Jego sche-
mat blokowy przedstawiono na
rys. 2 .
Uk³ad moøe pracowaÊ z†dwie-
ma prÍdkoúciami przesy³ania da-
nych: Full Speed (12 Mb/s) oraz
High Speed (480 Mb/s). Jak
przedstawiono na rys. 2, uk³ad
zawiera rdzeÒ procesora z†rodzi-
ny 8051. Jest to mocno ulepszona
wersja 8051. Procesor ten jest
standardowo taktowany sygna³em
zegarowym o czÍstotliwoúci aø
48†MHz. CzÍstotliwoúÊ sygna³u
jest ustalana przez wbudowan¹
w†uk³ad pÍtlÍ PLL.
Procesory zintegrowane w†uk³a-
dach z†rodziny FX2 s¹ konfigu-
rowane za pomoc¹ programÛw
przechowywanych w†zewnÍtrznej,
szeregowej pamiÍci typu EEP-
ROM. £adowanie tego programu
do pamiÍci programu mikrokont-
rolera odbywa siÍ automatycznie
po w³¹czeniu zasilania.
Moøliwe s¹ cztery przypadki
obecnoúci/nieobecnoúci pamiÍci
zewnÍtrznej:
1. Brak pamiÍci EEPROM do-
³¹czonej do uk³adu . W†tym przy-
padku enumeracja jest przeprowa-
dzana dla standardowego urz¹dze-
nia USB, z†zawartymi fabrycznie
w†kaødym uk³adzie deskryptorami
o†nastÍpuj¹cych wartoúciach:
VID=0x04B4 (Cypress Semicon-
ductor), PID=0x8613 (EZ-USB
FX2), DID=0xxxyy (Revision (dla
Rev. E=0x04)). W†tym przypadku
bit RENUM (odpowiedzialny za
renumeracjÍ) przyjmuje wartoúÊ 0.
2. PamiÍÊ EEPROM jest do³¹czo-
na do uk³adu FX2 za pomoc¹ linii
szeregowych SCL i SDA oraz za-
wiera tylko deskryptory VID/PID/
DID, ktÛre s¹ przydzielane kon-
werterowi. Podobnie jak w†powy-
øszym przypadku, bit RENUM = 0.
3. PamiÍÊ EEPROM zawiera
firmware. Jest on automatycznie
³adowany do wewnÍtrznej pamiÍ-
Opis standardu IDE oraz ATAPI
by³ zamieszczony w†Elektronice
Praktycznej w†numerach 7-8/2002.
steruj¹cymi oraz piÍcioma multi-
pleksowanymi sygna³ami (takøe
steruj¹cymi). Uk³ad montowany
w†obudowie TQFP100 zawiera do-
datkowo jeszcze dwa oúmiobitowe
porty I/O, siedem dodatkowych
sygna³Ûw kontrolnych (CTL) i†go-
towoúci (RDY) dla interfejsu GPIF,
dziewiÍÊ niemultipleksowanych
sygna³Ûw uk³adÛw peryferyjnych
(dwa USART, trzy wejúcia time-
rÛw oraz wejúcia przerwaÒ INT4
i†INT5), osiem dodatkowych syg-
na³Ûw kontrolnych, dziewiÍÊ linii
adresowych interfejsu GPIF oraz
sygna³y RD i†WR. Najbardziej roz-
budowany uk³ad CY7C68013 mieú-
ci siÍ w†obudowie typu TQFP128
i†zawiera w†porÛwnaniu z†po-
przednim dodatkowo 16-bitow¹
(8051) szynÍ adresow¹, 8-bitow¹
(8051) szynÍ danych oraz szynÍ
z†sygna³ami kontrolnymi.
W†konwerterze wykorzysta³em
najmniejszy uk³ad z†tej rodziny,
Specjalizowany interfejs
scalony
Sercem konwertera jest uk³ad
scalony firmy Cypress CY7C68013.
Jego schemat blokowy przedsta-
wiono na rys. 1 . Uk³ad jest
produkowany w†trzech wersjach
rÛøni¹cych siÍ miÍdzy innymi
liczb¹ dostÍpnych linii portÛw
I/O, a†co za tym idzie rÛwnieø
obudow¹. Uk³ad CY7C68013-
56PVC jest montowany w†obudo-
wie typu SSOP56 (o wymiarach
8x18x2,3 mm) i†zawiera: trzy oú-
miobitowe porty I/O, szynÍ kom-
patybiln¹ ze standardem I 2 C, 8-
lub 16-bitowy interfejs GPIF z†piÍ-
cioma niemultipleksowanymi syg-
na³ami kontrolnymi, 8- lub 16-
bajtow¹ pamiÍÊ FIFO z†czterema
niemultipleksowanymi sygna³ami
Rys. 2. Schemat blokowy układu CY7C68013−56PVC
Rys. 3. Program dla mikrokontrolera
znajduje się w zewnętrznej pamięci
EEPROM
Elektronika Praktyczna 1/2003
15
39642461.030.png 39642461.031.png 39642461.032.png 39642461.001.png 39642461.002.png 39642461.003.png 39642461.004.png
Konwerter USB<−>IDE
Rys. 4. Schemat elektryczny konwertera
16
Elektronika Praktyczna 1/2003
39642461.005.png 39642461.006.png 39642461.007.png 39642461.008.png 39642461.009.png 39642461.010.png 39642461.011.png 39642461.012.png 39642461.013.png 39642461.014.png 39642461.015.png 39642461.016.png 39642461.017.png 39642461.018.png 39642461.019.png 39642461.020.png
Konwerter USB<−>IDE
ci uk³adu CY7C68013. PamiÍÊ ta
ma pojemnoúÊ 8†kB o†adresach
0x0000 - 0x1FFF oraz 512†B
(0xE000 - 0xE1FF). Po tej operacji
nastÍpuje zerowanie urz¹dzenia.
Deskryptory VID/PID/DID s¹ zawar-
te w†firmware. Bit RENUM auto-
matycznie przyjmuje wartoúÊ 1.
Uwaga ! Pierwszy bajt pamiÍci
EEPROM musi zawieraÊ wartoúÊ
0xC2. Loader jest uruchamiany
zawsze z†wewnÍtrznej pamiÍci
RAM.
4. W†przypadku uøycia naj-
wiÍkszego i†najbardziej rozbudo-
wanego uk³adu z†rodziny FX2
(w†obudowie ze 128 wyprowadze-
niami) moøemy zastosowaÊ, oczy-
wiúcie oprÛcz pamiÍci EEPROM,
rÛwnieø pamiÍÊ typu EPROM lub
Flash, pod³¹czaj¹c je do szyny
adresowej/danych. Bit RENUM =
1. Deskryptory VID/DID/PID, po-
dobnie jak w†pkt. 3, s¹ zawarte
w†firmware.
Sygna³ danych magistrali USB
jest podawany poprzez linie D+
i†D- na wejúcia transceivera USB,
ktÛry jest integraln¹ czÍúci¹ uk³a-
du CY7C68013. Zgodnie ze stan-
dardem USB, po pod³¹czeniu in-
terfejsu do komputera zainstalo-
wany na nim system operacyjny
musi przeprowadziÊ enumeracjÍ.
tego momentu urz¹dzenie odbie-
raÊ bÍdzie dane tylko z†tym ad-
resem.
4. Host wysy³a ø¹danie ( Get
Descriptor ), pytaj¹c o†dodatkowe
informacje, takie jak liczba punk-
tÛw koÒcowych, zapotrzebowanie
na pr¹d, przepustowoúÊ, sterow-
niki do za³adowania itp.
Od tego momentu rozpoczyna
siÍ renumeracja:
5. Host uruchamia loader , dziÍ-
ki ktÛremu program z†pamiÍci
EEPROM jest ³adowany do uk³adu
CY7C68013.
6. Wymuszenie renumeracji, co
odbywa siÍ przez symulowane
od³¹czenie i†ponownie pod³¹cze-
nie urz¹dzenia do hosta.
7. System operacyjny zainsta-
lowany na komputerze zaczyna
ponownie procedurÍ enumeracji
(punkty 1†- 4).
Tab. 1. Konfiguracja linii
adresowych US3 w zależności od
pojemności pamięci
WielkoϾ
A2
A1
A0
pamiêci (bity)
8k
0
0
1
sterownikÛw, odpowiednich dla
danego napÍdu.
Budowa uk³adu
Konwerter, ktÛrego schemat
przedstawiono na rys. 3 , zbudowa-
no w oparciu o nieco zmodyfiko-
wan¹ wersjÍ standardowej aplikacji
firmowej uk³adu CY7C68013. Za-
stosowanie wyspecjalizowanego
uk³adu pozwoli³o radykalnie uproú-
ciÊ budowÍ interfejsu.
Uk³ad moøe byÊ zasilany bez-
poúrednio z†portu USB (wtedy
zworka JP1 musi byÊ zwarta) lub
z†oddzielnego zasilacza (wtedy
zworka JP1 musi byÊ rozwarta,
a†do z³¹cza J1 naleøy doprowa-
dziÊ napiÍcie sta³e o†wartoúci
5†V). PobÛr pr¹du w†obydwu
przypadkach nie przekracza 100
mA. Zworka JP2 ³¹czy pamiÍÊ
z†uk³adem CY7C68013. Do po³¹-
czenia komputera z†przejúciÛwk¹
wskazane jest zastosowanie kabla
ekranowanego. Rezonator kwarco-
wy Y1 powinien mieÊ w†miarÍ
moøliwoúci jak najlepsze para-
metry (jego czÍstotliwoúÊ rezo-
nansowa jest mnoøona dwadzieú-
cia razy!). Elementy R1 oraz C1
s¹ odpowiedzialne za niezawodne
zerowanie po w³¹czeniu zasila-
£adowanie firmware'u
Renumeracja jest uøywana miÍ-
dzy innymi do skopiowania no-
wego firmware'u z†hosta (kompu-
tera) do nieulotnej pamiÍci wspÛ³-
pracuj¹cej z†uk³adem CY7C68013.
Przed renumeracj¹ system opera-
cyjny komputera uøywa do komu-
nikacji z†uk³adem domyúlnych ste-
rownikÛw. W†momencie pod³¹cze-
nia HDD (lub innego urz¹dzenia),
uk³ad identyfikuje je jako urz¹-
dzenie klienta ( custom device ).
NastÍpnie s¹ ³adowane wyspecja-
lizowane sterowniki umoøliwiaj¹-
ce skopiowanie firmware'u. NastÍ-
puje proces renumeracji, podczas
ktÛrego urz¹dzenie jest identyfiko-
wane jako do³¹czony napÍd (tzn.
jako HDD, CD-ROM, ZIP,...), co
wymusza za³adowanie kolejnych
Renumeracja - czyli
oszukiwanie komputera
Program przechowywany jest
w†pamiÍci EEPROM (u nas
24LC65 - rys. 3 ) i†musi zostaÊ
kaødorazowo za³adowany do
CY7C68013 po pod³¹czeniu go do
portu USB (z†jednoczesnym w³¹-
czeniem zasilania). Poniewaø kom-
puter przeprowadzi enumeracjÍ
zaraz po pod³¹czeniu urz¹dzenia
do USB, a†nie jest moøliwe wy-
konanie tej czynnoúci ponownie,
dlatego pojawia siÍ potrzeba re-
numeracji. Proces ten, wymyúlony
przez firmÍ Cypress, polega w³aú-
nie na ìoszukaniuî komputera
i†zmuszeniu go do przeprowadze-
nia ponownej enumeracji. Opera-
cja ta przebiega nastÍpuj¹co:
1. Host (komputer) wysy³a py-
tanie o†deskryptor do³¹czonego
urz¹dzenia ( Get Descriptor-Device )
pod zerowy adres (do³¹czone urz¹-
dzenie musi odpowiedzieÊ).
2. Urz¹dzenie w†odpowiedzi
wysy³a swÛj identyfikator (ID).
3. Host wysy³a ø¹danie usta-
wienia adresu ( Set Address ) i†od
Rys. 5. Rozmieszczenie elementów
na górnej stronie płytki drukowanej
Rys. 6. Rozmieszczenie elementów
na dolnej stronie płytki drukowanej
Elektronika Praktyczna 1/2003
17
WielkoϾ
AA2
AA1
AA0
88k
39642461.021.png 39642461.022.png 39642461.023.png 39642461.024.png
Konwerter USB<−>IDE
WYKAZ ELEMENTÓW
Rezystory
R1, R3: 100k
0805
R4, R5: 1k
0805
0805
R10, R14: 22
0805
Rys. 7. Widok okna programu EZ−USB Control Panel z wpisanymi
zalecanymi wartościami parametrów
0805
Kondensatory
C1...C4, C8...C12, C16, C17, C18:
100nF 0805
C5, C13: 2,2
nia. Uk³ad U1 (MAX608) jest
specjalizowanym stabilizatorem,
mog¹cym pracowaÊ przy niewiel-
kiej rÛønicy napiÍÊ miÍdzy wej-
úciem i†wyjúciem (LDO - Low
Drop Out ). Na p³ytce drukowa-
nej, wokÛ³ tego uk³adu znajduj¹
siÍ dwa (po jednym z†kaødej
strony) pola miedzi, maj¹ce u³at-
wiÊ odprowadzanie ciep³a ze sta-
bilizatora. PamiÍÊ US3, w†zaleø-
noúci od pojemnoúci, skonfiguro-
wana jest zgodnie z† tab. 1 .
dysk twardy. Do rejestracji tem-
peratury w†domu to ona moøe
siÍ nie przyda, ale w†zak³adach
przemys³owych, gdzie trzeba nie
tyle monitorowaÊ, co rejestrowaÊ
zmiany wielu parametrÛw,
przyda siÍ znakomicie. Juø te
dwa przyk³ady dowodz¹, iø uk³a-
dy FX2 s¹ naprawdÍ bardzo
wszechstronne i†moøna je zasto-
sowaÊ niemal wszÍdzie.
µ
F/16V 3216
F/16V MELF1
C14, C15: 22pF 0805
Półprzewodniki
U1: MAX604CSA
U2: CY7C68013−56PVC
U3: 24LC65
Różne
Y1: rezonator kwarcowy 24 MHz
JP1, JP2: goldpin 2x1
J1: goldpin 1x4 (raster 2 mm)
J2: złącze USB−B do druku
J3: złącze 2x20 (IDE)
µ
Montaø i†uruchomienie
Uk³ad zmontowano na stosun-
kowo ma³ej (60x52 mm), dwu-
stronnej p³ytce drukowanej, ktÛrej
schemat montaøowy przedstawio-
no na rys. 5† i 6 . Tak ma³e
wymiary p³ytki uda³o siÍ uzyskaÊ
dziÍki zastosowaniu wyspecjalizo-
wanego uk³adu oraz elementÛw
do montaøu powierzchniowego.
Montaø najlepiej jest rozpocz¹Ê
od uk³adu U2 (CY7C68013). Przy-
lutowanie uk³adu maj¹cego 56
Inne moøliwoúci
zastosowania uk³adu
CY768013
Uk³ady z†serii FX2 firmy Cyp-
ress s¹ bardzo elastyczne i†moø-
na je wykorzystaÊ w†wielu urz¹-
dzeniach. Pierwszym pomys³em,
jaki przyszed³ mi do g³owy po
zapoznaniu siÍ z not¹ katalogow¹
tych uk³adÛw, by³ odtwarzacz
plikÛw MP3 z†interfejsem USB.
Pomyúlmy tylko, jak¹ prÍdkoúÊ
przegrywania plikÛw (przy zasto-
sowaniu USB 2.0) i†wygodÍ uøyt-
kowania moøemy uzyskaÊ. In-
nym, rÛwnie ciekawym pomys-
³em, jest autonomiczna stacja
pomiarowa z†zapisem danych na
wyprowadzeÒ i†mieszcz¹cego siÍ
w†obudowie typu SSOP nie jest
³atwe, ale nie jest takøe niemoø-
liwe. Montaø naleøy rozpocz¹Ê od
umieszczenia go na polach lutow-
niczych, a†nastÍpnie przylutowa-
niu (oczywiúcie za pomoc¹ cien-
kiego grota) skrajnych wyprowa-
Rys. 8. Widok okna właściwości
sprzętu dla sterownika USB
MassStorage Device
Rys. 9. Widok okna menadżera sprzętu po dołączeniu interfejsu
do portu USB
18
Elektronika Praktyczna 1/2003
0805
R2, R7, R8, R12, R13: 10k
R6: 4,7k
R11: 33
C6, C7: 10
39642461.025.png 39642461.026.png 39642461.027.png 39642461.028.png
Zgłoś jeśli naruszono regulamin