16
Elektronika dla Wszystkich
Do czego to służy?
U wielu z nas znajdują się stare, ale spraw-
ne, starsze modele popularnych napędów
CD-ROM, które można wykorzystać do bu-
dowy własnego odtwarzacza płyt CD.
Większość napędów już po zastosowaniu
zewnętrznego zasilacza gotowych jest do
użytku jako odtwarzacz CD. Mowa tu o na-
pędach, które na przedniej ściance mają do-
datkowy przycisk „start/następny utwór”.
Ale istnieją napędy, które mają tylko jeden
przycisk „Eject” i przez dołączenie jedynie
zewnętrznego zasilacza nie da się ich wyko-
rzystać. Rozwiązaniem tego problemu może
być dodatkowy sterownik, który poprzez
komunikację z napędem przez złącze IDE
może sterować potrzebnymi funkcjami do
prawidłowego odtwarzania płyt CD. Dzięki
zastosowaniu, dodatkowego sterownika
uzyskano bardzo wiele możliwości sterowa-
nia napędem zarówno z dwoma przyciska-
mi, jak i z jednym. Możliwe stało się wy-
świetlenie informacji o czasie trwania utwo-
ru, numerze odtwarzanej ścieżki itd. Prosto-
ta sterownika przyczyniła się do zmniejsze-
nia związanych z nim kosztów do mini-
mum, z których najdroższymi są mikrokon-
troler oraz wyświetlacz LCD 2*16 znaków.
Jako układ komunikujący się z napędem za-
stosowany został mikrokontroler AVR typu
AT90S8515, którego wielką zaletą jest moż-
liwość programowania w zamontowanym
już układzie docelowym. Wiele starszych
modeli napędów CD-ROM różniło się mię-
dzy sobą listą wykorzystywanych poleceń.
Aby sterownik pracował z większością na-
pędów, starałem się nie korzystać z poleceń
oznaczonych jako opcjonalne.
Przedstawiony sterownik realizuje nastę-
pujące funkcje odtwarzacza:
- Sterowanie odtwarzaczem możliwe jest na-
stępującymi przyciskami: poprzedni utwór,
start, pauza, stop, następny utwór, przewija-
nie do tyłu, przewijanie do przodu, czas oraz
tryb odtwarzania.
- Istnieje możliwość sterowania odtwarza-
czem za pośrednictwem pilota z kodem RC5.
- Zastosowanie alfanumerycznego wyświe-
tlacza LCD umożliwiło prezentację na nim
numeru odtwarzanej ścieżki, jej czasu trwa-
nia, trybu odtwarzania oraz informacji o sta-
nie odtwarzacza.
- Wyświetlany czas trwania utworu może być
pokazywany w czterech trybach: jako czas
od przodu trwania utworu, czas od tyłu trwa-
nia utworu oraz jako czas od przodu i czas od
tyłu trwania całej płyty CD.
OO
OO
dd
dd
tt
tt
w
w
w
w
aa
aa
rr
rr
zz
zz
aa
aa
cc
cc
zz
zz
CC
CC
DD
DD
++
++
++
Rys. 1 Schemat ideowy
2
2
6
6
6
6
0
0
- Odtwarzanie utworów możliwe jest
w trzech następujących trybach: odtwarzanie
jednorazowe całej płyty CD, odtwarzanie
w kółko płyty CD oraz odtwarzanie losowe
utworów CD.
Poniższy kontroler przyda się tym wszyst-
kim, którzy nie posiadają w domu odtwarza-
cza płyt CD, a chcą wykorzystać zakupiony
za niewielką sumę pieniędzy komputerowy
napęd CD-ROM. Kontroler powstał w na-
wiązaniu do zamieszczonego w EdW 9/2001
na stronie 30 artykułu „Co zrobić ze starym
napędem CD-ROM”, w którym zaprezento-
wany był wspomniany prosty sposób wyko-
rzystania napędów poprzez zastosowanie ze-
wnętrznego źródła zasilającego. Sygnał
z analogowego wyjścia napędu CD-ROM
jest dobrej jakości, ale jeżeli zależy nam na
niskich szumach wyjściowego sygnału, to
można wykorzystać cyfrowe wyjście, które-
go sygnał można zdekodować specjalnym
przetwornikiem np. przedstawionym w Elek-
tronice Praktycznej 2/2000 i 3/2000. Ponie-
waż temat sposobu komunikacji z napędem
CD-ROM jest rozległy, już na początku chcę
powiedzieć, że nie zostanie on dokładnie
omówiony. Zajęłoby to wiele miejsca, a prze-
cież artykuł ma dotyczyć głównego bohatera
- jakim jest kontroler sterujący pracą napędu
CD-ROM poprzez złącze IDE. Jeżeli będzie
duże zainteresowanie sposobem komunikacji
przez złącze IDE, to możliwe będzie przygo-
towanie osobnego artykułu przedstawiające-
go główne aspekty tejże komunikacji. Wów-
czas po dokładne dane będzie trzeba sięgnąć
do odpowiednich specyfikacji interfejsu IDE
lub jego odchyleń jak ATAPI, który używa
IDE jako fizycznego interfejsu, ale korzysta
z poleceń SCSI. ATAPI jest najczęściej uży-
wanym interfejsem czytników CD-ROM,
który pokrótce i w wielkim uproszczeniu
przedstawiam w dalszej części artykułu.
Jak to działa?
Schemat ideowy kontrolera znajduje się na
rysunku 1. Całość została zbudowana w bar-
dzo prosty sposób i z niewielką liczbą ukła-
dów scalonych. Do przesyłu danych między
mikrokontrolerem a napędem wykorzystano
dwa porty PA oraz PC. Dane z portu PA są
dodatkowo zatrzaskiwane w U3 wysokim
impulsem na wejściu C. Dane przesłane do
U3 służą do multipleksowania klawiatury
oraz do wyboru odpowiednich rejestrów na-
pędu CD-ROM. Zapisem oraz odczytem da-
nych z napędu sterują linie DIOW/ oraz
DIOR/. Wyjście INTRQ sygnalizuje zgłosze-
nie przerwania od napędu CD-ROM. Wyj-
ścia portu PB oprócz sterowania wyświetla-
czem odczytują stan klawiatury, która jest
multipleksowana, jak wspomniałem, poprzez
zatrzask U3. Linie portu PD0, PD1 oraz PD3
sterują przepływem danych przy komunika-
cji z napędem, natomiast linie PD6 oraz PD7
tworzą magistralę I
2
C, która będzie pomocna
przy rozszerzeniu kontrolera o np. dodatko-
wy cyfrowo sterowany przedwzmacniacz.
Odbiornik U7 odbiera nadawany z pilota kod
RC5, który po odfiltrowaniu nośnej podawa-
ny jest na wejście PD2. Układ U6 jest specja-
lizowanym układem, dbającym o prawidło-
wy przebieg zerowania napędu CD-ROM
oraz mikrokontrolera U1. Napęd CD-ROM
do swojej pracy potrzebuje dwóch stabilizo-
wanych napięć o wartościach +5V i +12V.
Zasilacz kontrolera i napędu CD-ROM został
zbudowany z TR1, B1, stabilizatorów i kon-
densatorów filtrujących otrzymane napięcia.
Program zapisany w U1 został napisany
w rewelacyjnym BASCOM AVR, przy czym
nie będę go tutaj przedstawiał ze względu na
wielkość, jaką on zajmuje (7,5kB). Program
jest trochę rozbudowany, a przedstawienie
tutaj którejś procedury zajęłoby sporo miej-
sca, gdyż wiele z nich jest powiązanych ze
sobą. Myślę, że przedstawianie dalej ogól-
nych informacji o sposobie komunikowania
się z napędem CD-ROM pozwoli na łatwiej-
sze samodzielne przeanalizowanie kodu
źródłowego programu. Za pomocą wspo-
mnianych linii CSx oraz DAx można wybrać
określone rejestry, jak np. rejestr statusu,
który przedstawia informacje o stanie napę-
du, rejestr danych służący do wprowadzania
i wysyłania danych, rejestr błędów, rejestr
cech czy rejestr wyboru dysku. Na przykład
zapis do określonego rejestru napędu będzie
polegał na odpowiednim ustawieniu linii CS
i DA, wpisaniu 16-bitowych danych do wy-
słania na linie danych D0 – D15, które zosta-
ną wysłane po ujemnym impulsie sygnału
DIOW/. Odczyt danych będzie podobny, bo
zmiana będzie dotyczyła jedynie sygnału na
wejściu sterującym DIOR/. Protokół trans-
portu ATAPI składa się z poleceń oraz pakie-
tów poleceń. Każde wysłanie pakietu musi
być poprzedzone wysłaniem polecenia
„ATAPI PACKET” o kodzie A0h. Wysłanie
polecenia ATAPI IDENTIFY DEVICE
(A1h) zwraca informacje o napędzie, jego
producencie, wersji oprogramowania firmo-
wego czy w jakiej długości mają być przesy-
łane pakiety poleceń, które mogą być długo-
ści 12 lub 16 bajtów. Polecenie to w opisywa-
nym układzie zostało wykorzystane do okre-
ślenia długości pakietu danych oraz do od-
czytu nazwy modelu CD-ROM. Przy wysy-
łaniu polecenia należy podać długość danych
do odbioru, wpisywanych do 16-bitowego
rejestru licznika bajtów. Dane o liczbie ście-
żek oraz miejsc początków ścieżek włożonej
płyty CD odczytywane są z tzw. tablicy za-
wartości TOC. Odczytane początki utworów
pobierane są w formacie MSF. Format MSF
polega na tym, że adres sektora podany jest
w minutach, sekundach oraz ramkach, mają-
cych długość 1/75 sekundy. Czas oraz numer
odtwarzanej ścieżki pobierany jest z podka-
nału danych (kod 42h), z którego można po-
brać czas relatywny odtwarzanej ścieżki oraz
absolutny odtwarzanej płyty CD. Na podsta-
wie tych danych można obliczyć różne for-
maty czasów przedstawiających czas odtwa-
rzanej ścieżki. Przy analizie programu bar-
dzo pomocna będzie specyfikacja interfejsu
ATAPI, w której dokładnie opisany jest ten
standard. Przyciski realizujące przewijanie
w tył i do przodu oraz następny utwór i po-
przedni zostały zrealizowane programowo.
17
Elektronika dla Wszystkich
Rys. 2 i 3 Schematy montażowe
Zawarte w programie komunikaty w formie
rozkazów były używane przy testowaniu po-
prawności transmisji i działania niektórych
poleceń, dlatego też nie kasowałem ich, gdyż
mogą być pomocne przy zmianach oprogra-
mowania i jego późniejszym testowaniu.
Montaż i uruchomienie
Cały układ kontrolera należy zmontować na
dwóch płytkach drukowanych, z których
główna z mikrokontrolerem jest dwustronna.
Obie płytki przedstawione zostały na rysun-
ku 2 oraz rysunku 3. Montaż drugiej płytki
należy rozpocząć od wlutowania dwóch zwo-
rek, przechodząc dalej do elementów najwięk-
szych, przy czym odbiornik podczerwieni po-
winien być zamontowany na leżąco. Przy
montażu płytki sterownika należy zadbać
o poprawność montażu, gdyż późniejsze wy-
lutowanie elementów może być kłopotliwe
bez odpowiednich narzędzi, a nawet może do-
prowadzić do uszkodzenia płytki. Na płytce
kontrolera nie należy montować stabilizato-
rów, ponieważ zostaną one przykręcone do ra-
diatora, którym może być przykładowo obu-
dowa napędu CD-ROM, choć można zastoso-
wać osobny radiator o odpowiedniej wielko-
ści. Dla lepszego odprowadzania ciepła, stabi-
lizatory należy posmarować specjalną pastą
zwiększającą przewodność cieplną. Stabiliza-
tory trzeba połączyć z płytką przewodami
o odpowiedniej grubości, gdyż szczytowy po-
bór prądu może sięgać nawet 1,5A. W ukła-
dzie zastosowane zostały stabilizatory o więk-
szej wydajności prądowej niż zwykłe. Widać
to po dodatkowym oznaczeniu S w symbolu
stabilizatora. Do podłączenia napędu z kontro-
lerem będzie potrzebna 40-żyłowa taśma oraz
odpowiedni przewód zakończony wtyczką pa-
sującą do gniazda zasilającego napędu CD-
ROM. Ja takie gniazdo wziąłem ze starego ze-
psutego zasilacza komputerowego, ale myślę,
że jest możliwość zakupu takiego gniazda
w sklepie z częściami elektronicznymi. Aby
CD-ROM poprawnie komunikował się z kon-
trolerem, musi być ustawiony zworką na
„MASTER”. Bez takiego ustawienia CD-
ROM nie będzie pracował poprawnie. Po po-
prawnym zmontowaniu i podłączeniu całości,
kontroler powinien od razu poprawnie praco-
wać, zamieniając napęd CD-ROM w funkcjo-
nalny odtwarzacz płyt CD. Potencjometrem
P1 należy ustawić kontrast zastosowanego
wyświetlacza LCD 2*16 znaków. Jeżeli jest
on wyposażony w podświetlenie, można je
wykorzystać poprzez dolutowanie od tylniej
części wyświetlacza rezystora ograniczające-
go prąd diod, którego wartość w urządzeniu
modelowym wynosiła 100
Ω (od wartości tego
rezystora będzie zależała jasność podświetle-
nia). Dodatkowo należy zewrzeć odpowiednią
zworkę, różną dla różnych typów wyświetla-
czy. Samodzielnie należy sprawdzić mierni-
kiem, którą zworkę zewrzeć. Całość włącznie
z napędem CD-ROM można umieścić w obu-
dowie metalowej lub plastikowej z serii Z-xx.
Na rysunku we wkładce przedstawiony zo-
stał wygląd przykładowej płyty czołowej,
którą po przeniesieniu na papier samoprzylep-
ny należy nakleić na przód obudowy. Rysun-
kiem ściany przedniej obudowy można się po-
służyć do wyznaczenia otworów, które należy
wyciąć i wywiercić. Na przedniej płycie moż-
na umieścić wyłącznik zasilania, tak jak to
wykonano w egzemplarzu modelowym. Wy-
cięty otwór na odbiornik podczerwieni przed
przyklejeniem rysunku płyty czołowej można
zakryć np. kawałkiem naświetlonego filmu
lub odpowiednio wyciętym kawałkiem czer-
wonego plexi. Z umocowanie napędu CD-
ROM w obudowie raczej nie powinno być
problemu, gdyż posiada on wiele przeznaczo-
nych do tego otworów. Na tylnej ściance trze-
ba wyciąć otwór pod gniazdo bezpiecznikowe
oraz dwa na gniazda wyjścia sygnału, które
mogą być typu chinch. Należy je podłączyć do
gniazda audio z tyłu obudowy napędu, które
zazwyczaj służy do podłączenia karty dźwię-
kowej. Jak było wspomniane, można wyko-
rzystać wyjście cyfrowe, ale będzie się to wią-
zało z dodatkowym kosztem jakim jest prze-
twornik. Po wykonaniu całości i włączeniu na
wyświetlaczu powinna pojawić się nazwa
użytego napędu, oczywiście jeżeli producent
umieścił go w pamięci napędu. Jeżeli wystę-
puje komunikat „brak komunikacji”, to przy-
czyną może być złe ustawienie zworki napędu
CD-ROM, która jak wspominałem powinna
być ustawiana na „MASTER”. Jeżeli komuni-
kat nazwy napędu pojawił się, następnym po-
winien być napis „NO DISK”, jeżeli w napę-
dzie nie ma płyty CD. Po umieszczeniu płyty
w napędzie, przez chwilę pojawi się napis in-
formujący o liczbie ścieżek zawartych na CD
oraz całościowym czasie ich trwania. Po tych
komunikatach odtwarzacz jest gotowy do pra-
cy, którą można rozpocząć naciskając przy-
cisk „Play”. Ponieważ każdy napęd ma przy-
cisk „Eject”, nie było potrzebne umieszczać
takiego przycisku na płytce z przyciskami,
gdyż nie miałoby to większego przecież sen-
su. Po sprawdzeniu wszystkich przycisków
sterujących zostało do sprawdzenia jedynie
sterowanie pilotem z kodem RC5. Funkcje od-
twarzacza zostały przypisane jedynie do przy-
cisków pilota od 1 do 9, których znaczenie jest
następujące:
- przycisk 1: Play
- przycisk 2: Pause
- przycisk 3: Stop
- przycisk 4: Utwór poprzedni
- przycisk 5: Time (tryb pokazywania czasu
trwania płyty i ścieżki)
- przycisk 6: Utwór następny
- przycisk 7: Przewijanie do tyłu
- przycisk 8: Mode (tryb odtwarzania ścieżek)
- przycisk 9: Przewijanie do przodu
Działanie przycisku „Stop” jest podwójne,
gdyż np. przy odtwarzaniu ścieżki 12 i po
przyciśnięciu przycisku „Stop” zrealizuje on
swoją podstawową funkcję. Ale ponowne je-
go naciśnięcie spowoduje, że wybrana zosta-
nie automatycznie pierwsza ścieżka. Jest to
bardzo pomocne, gdyż przez podwójne naci-
śnięcie przycisku „Stop” można szybko po-
wrócić do początkowego utworu odtwarzanej
płyty CD. Należy pamiętać, że kontroler bę-
dzie poprawnie pracował z napędami, które są
sprawne, dlatego też przy zakupie starego na-
pędu CD-ROM warto się upewnić, czy jest on
sprawny i że powodem pozbycia się go nie
jest zużycie diody laserowej czy mechani-
zmów. Na samym początku artykułu wspo-
mniane było, że jest możliwość wykonania do
układu dodatkowego przedwzmacniacza, ale
ze względu na brak pamięci programu mikro-
kontrolera U1 dołączony przedwzmacniacz
będzie musiał mieć swój mikrokontroler,
który z kontrolerem CD-ROM może się ko-
munikować poprzez wyprowadzoną magistra-
lę I
2
C. Wyświetlacz LCD może być współ-
dzielony przez dwa układy przez odpowiednie
sterowanie dodatkowym multiplekserem czy
innym podobnym układem. Jeżeli będą proś-
by o taki przedwzmacniacz, to z chęcią go wy-
konam. Wydaje mi się że własnoręcznie wy-
konany niewielkim kosztem odtwarzacz płyt
CD przyczyni się do zadowolenia jego wyko-
nawców lub tych osób, dla których go wyko-
nano. A może postanowią dodatkowo zmody-
fikować lub rozszerzyć niektóre istniejące już
funkcje odtwarzacza CD.
Marcin Wiązania
18
Elektronika dla Wszystkich
Wykaz elementów
RReezzyyssttoorryy
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220Ω
P1 . . . . . . . . . . . . . .Potencjometr montażowy leżący 1kΩ
Kondensatory
C1,C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27pF
C3,C5,C7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C4,C6,C8 . . . . . . . . . . . . . . . . . . . . . . . . . . .1000µF/25V
C9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF
Półprzewodniki
U1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT90S8515
U2 . . . . . . . . . . . . . . . . . . . . . . . .Wyświetlacz LCD 2*16
U3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74HC573
U4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78S12
U5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78S05
U6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DS1813
U7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TFMS5360
B1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Mostek 1,5A
X1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Kwarc 8MHz
Inne
S1 – S9 . . . . . . . . . . . . . . . . . . . .Przyciski typu mikrostyk
Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . .Złącze goldpin 2x20
GN1 . . . . . . . . . . . . .Gniazdo bezpiecznikowe przykręcane
do obudowy
GN2,GN3 . . .Gniazda typu chinch przykręcane do obudowy
Komplet ppodzespołów zz ppłytką
jest ddostępny ww sieci hhandlowej AAVT
jako kkit sszkolny AAVT-22660.