45 46

background image

Odtwarzacz MP3 z układem STA013

45

Elektronika Praktyczna 9/2003

P R O J E K T Y

Odtwarzacz MP3
z układem STA013,
część 2

Opis komunikacji
z†napÍdem CD-ROM

Komunikacja z†napÍdem CD-

ROM odbywa siÍ poprzez rejestry
I/O adresowane przez sygna³y
CS0#, CS1# oraz DA0, DA1, DA2.
عdanie odczytu czy zapisu od-
bywa siÍ odpowiednio za pomoc¹
linii DIOR# i†DIOW#. Wszystkie
sygna³y z³¹cza IDE nie s¹ po-
trzebne, aby odczytaÊ dane z†p³y-
ty. W†odtwarzaczu wykorzystano
te, ktÛrych opisy znajduj¹ siÍ
w†tab. 1.

Sygna³ CS0# aktywuje bank

rejestrÛw komend. Poprzez te re-
jestry wysy³ane s¹ komendy do
napÍdu CD (np. odczyt sektora
czy wysuniÍcie tacki).

Przerobienie komputerowego

napÍdu CD-ROM na

odtwarzacz audio nie jest

zadaniem bardzo trudnym.

Bardziej skomplikowane jest

odtwarzanie plikÛw MP3, ale

przyk³ad YamppÛw dowodzi,

øe jest to takøe moøliwe.

W†artykule przedstawiamy

interesuj¹ce rozwi¹zanie

konstrukcyjne odtwarzacza

MP3, o†doúÊ nietypowej - jak

na polskie warunki -

budowie. W†drugiej czÍúci

artyku³u przedstawiamy

skrÛtowo sposÛb komunikacji

mikroprocesora steruj¹cego

prac¹ odtwarzacza z†napÍdem

CD-ROM.

Rekomendacje: w projekcie

zaprezentowano niebanalne

rozwi¹zanie konstrukcyjne

urz¹dzenia elektronicznego,

g³Ûwnie dziÍki zastosowaniu

oryginalnego zestawu

elementÛw. Jest to projekt

pogl¹dowy, st¹d†pewne

uproszczenia w†jego opisie.

Sygna³ CS1# aktywuje bank

rejestrÛw kontrolnych. Aby stero-
waÊ napÍdem CD, nie ma potrze-
by korzystania z†tych rejestrÛw.
CS1# moøe byÊ ìpodci¹gniÍtyî do
VCC.

Sygna³y DA0...DA2 s¹ sygna³a-

mi adresowymi. Za ich pomoc¹
wybieramy numer rejestru, ktÛry
chcemy odczytaÊ lub zapisaÊ.

Sygna³ INTRQ jest ø¹daniem

przerwania. Jest on aktywowany
m.in. w†momencie np. odczytania
sektora danych z†napÍdu. Aby
korzystaÊ z†napÍdu CD-ROM, syg-
na³ ten nie musi byÊ niewyko-
rzystany.

Sygna³y DD0...DD15 tworz¹ ma-

gistralÍ danych. Kaødy zapis czy
odczyt danych z†CD-ROM-u odby-
wa siÍ poprzez te linie.

Sygna³ DIOR# s³uøy do akty-

wacji odczytu z†magistrali da-
nych, natomiast sygna³ DIOW#
s³uøy do aktywacji zapisu przez
magistralÍ danych. Jednoczeúnie
tylko jeden z†tych sygna³Ûw moøe
byÊ aktywowany.

RESET# jest sygna³em zeruj¹-

cym sterownik.

Adresowanie rejestrÛw CD-

ROM-u odbywa siÍ podobnie do
adresowania oúmiobajtowej pamiÍ-
ci SRAM. W†tab. 2 opisano po-

Tab. 1. Sygnały interfejsu ATA
wykorzystane w odtwarzaczu

Opis sygna³u

Opis sygna³u

Opis sygna³u

Opis sygna³u

Opis sygna³u

Symbol

Symbol

Symbol

Symbol

Symbol

Wybór bloku rejestrów komend

CS0

Wybór bloku rejestrów kontrolnych

CS1

Szyna danych D0...D15

DD0...DD15

Linia adresowa 0

DA0

Linia adresowa 1

DA1

Linia adresowa 2

DA2

¯¹danie przerwania

INTRQ

Odczyt z rejestru

DIOR#

Zapis do rejestru

DIOW#

Sygna³ zeruj¹cy urz¹dzenie

RESET#

Uwaga! Sygna³y ze znakiem # na koñcu s¹

aktywne przy poziomie niskim.

background image

Odtwarzacz MP3 z układem STA013

Elektronika Praktyczna 9/2003

46

szczegÛlne rejestry Bloku Rejest-
rÛw Komend
.

Ustawiaj¹c liniÍ CS0# na po-

ziomie niskim oraz podaj¹c adres
na linie DA2...DA0, moøemy od-
czytaÊ lub zapisaÊ dane z/do
dowolnego rejestru poprzez ma-
gistralÍ danych DD15...DD0.

Wszystkie rejestry s¹ 8-bitowe

za wyj¹tkiem rejestru Data, ktÛry
jest 16-bitowy. Podczas operacji
na rejestrach 8-bitowych do prze-
sy³ania danych wykorzystywana
jest tylko mniej znacz¹ca czÍúÊ
magistrali adresowej tzn. DD7...DD0.

Wykrywanie urz¹dzeÒ

ATAPI

Aby wykryÊ, czy do z³¹cza jest

pod³¹czone urz¹dzenie ATAPI, na-
leøy odczytaÊ sygnaturÍ ATAPI.
Gdy BSY=0, moøna odczytaÊ re-
jestry ATAPI Byte Count MSB
i†ATAPI Byte Count LSB. Jeúli
zawartoúÊ pierwszego bÍdzie wy-
nosiÊ 0xEB, a†drugiego 0x14, to do
interfejsu jest pod³¹czone urz¹dze-
nie zgodne ze standardem ATAPI
(w naszym przypadku CD-ROM).

Opis wybranych komend
ATAPI

W†standardzie ATAPI wydawa-

nie komendy odbywa siÍ poprzez
przes³anie do urz¹dzenia tzw. pliku
zadaniowego Task File (8 rejestrÛw
powyøej funkcyjnych, szczegÛ³owo
opisanych w†EP10 i†11/02). Jednak
8†bajtÛw to zbyt ma³o, aby przes³aÊ

dane zwi¹zane z†niektÛrymi ko-
mendami, wiÍc przesy³a siÍ je
w†postaci tzw. pakietÛw. Najpierw
ustawia siÍ rejestry Task File,
a†pÛüniej wysy³a siÍ pakiet danych,
tj. 12 bajtÛw opisuj¹cych czynnoúÊ
do wykonania.

Pakiety wysy³a siÍ wskutek

przes³ania do Task File komendy
ATAPI Packet Command, gdyø za
jej pomoc¹ moøemy odczytywaÊ
sektory z†p³yty. Opis wszystkich
rodzajÛw pakietÛw wykracza³by
poza ramy artyku³u, wiÍc skupi-
my siÍ tylko na najwaøniejszych
z†punktu widzenia odtwarzacza

Tab. 2. Funkcje rejstrów komend

CS1#

CS1#

CS1#

CS1#

CS1#

CS0#

CS0#

CS0#

CS0#

CS0#

DA2

DA2

DA2

DA2

DA2

DA1

DA1

DA1

DA1

DA1

DA0

DA0

DA0

DA0

DA0

DIOR#

DIOR#

DIOR#

DIOR#

DIOR#

DIOW#

DIOW#

DIOW#

DIOW#

DIOW#

1

1

x

x

x

Stan wysokiej impedancji

Nie u¿ywany

1

0

0

0

0

Data

Data

1

0

0

0

1

ATAPI Error

ATAPI Features

1

0

0

1

0

ATAPI Interrupt Reason

1

0

0

1

1

Secztor Number

1

0

1

0

0

ATAPI Byte Count Low

1

0

1

0

1

ATAPI Byte Count High

1

0

1

1

0

ATAPI Drive Select

1

0

1

1

1

ATAPI Status

ATA Command

Tab. 3. Format komendy READ

Offset

Offset

Offset

Offset

Offset

WartoϾ

WartoϾ

WartoϾ

WartoϾ

WartoϾ

Opis

Opis

Opis

Opis

Opis

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

0

0xA8

Kod operacji odczytu sektora z p³yty

1

(2048 bajtów danych u¿ytkownika)

1

0

zarezerwowane

1

2

Adres

Logiczny adres sektora do odczytu pocz¹wszy od 0

4

(w formacie

Big Endian)

6

D³ugoœæ Liczba sektorów do odczytu

4 (jw.)

10

0

zarezerwowane

2

Tab. 4. Format komendy Read TOC

Offset

Offset

Offset

Offset

Offset

WartoϾ

WartoϾ

WartoϾ

WartoϾ

WartoϾ

Opis

Opis

Opis

Opis

Opis

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

0

0x43

Kod operacji odczytu Table Of Contents (TOC)

1

1

0

zarezerwowane

6

7

0x10

1

8

0

zarezerwowane

1

9

0x40

1

10

0

zarezerwowane

2

Tab. 5. Format danych zwracanych przez komendę Read TOC

Offset

Offset

Offset

Offset

Offset

WartoϾ

WartoϾ

WartoϾ

WartoϾ

WartoϾ

Opis

Opis

Opis

Opis

Opis

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

D³ugoœæ w bajtach

0

0x0A

D³ugoœæ danych o TOC

2 (pierwszy MSB)

2

?

Numer pierwszej sesji

1

3

?

Numer ostatniej sesji

2

4

0

zarezerwowane

1

5

nieu¿ywane przez oprogramowanie odtwarzacza

6

nieu¿ywane przez oprogramowanie odtwarzacza

7

0

zarezerwowane

1

8

?

Pocz¹tkowy sektor ostatniej sesji

4 (LBA,

pierwszy MSB)

MP3. WyrÛøniamy m.in. dwa ro-
dzaje komend pakietowych: prze-
sy³anie danych do napÍdu i†prze-
sy³anie danych z†napÍdu.

Przesy³anie danych do napÍdu

jest uøywane w†takich komendach
pakietowych jak Set Mode, Seek,
Start/Stop Unit itp. Dane s¹ prze-
kazywane przez kontroler do na-
pÍdu. W†odtwarzaczu nie wyko-
rzystano tego typu komend.

Przesy³anie danych z†napÍdu

do kontrolera nastÍpuje po ko-
mendach takich jak Read, Read
TOC
itp. Komendy te przedsta-
wiono poniøej:

komenda READ (12)
Umoøliwia odczyt sektora (lub

kilku sektorÛw) z†napÍdu CD-
ROM. Format komendy przedsta-
wiono w†tab. 3.

komenda Read TOC
Za pomoc¹ tej komendy moøna

odczytaÊ informacje o†liczbie sesji
na p³ycie oraz numer sektora, od
ktÛrego zaczyna siÍ ostatnia sesja.
Format komendy Read TOC przed-
stawiono w†tab. 4.

Komenda Read TOC zwraca

dane w†formacie pokazanym
w†tab. 5.
Leszek Bednarz
Krzysztof Lenard

Wzory p³ytek drukowanych w for-

macie PDF s¹ dostÍpne w Internecie
pod adresem: http://www.ep.com.pl/
?pdf/wrzesien03.htm
.


Wyszukiwarka

Podobne podstrony:
44 45 46
45,46
04 1995 45 46
45-46-47, 45
45,46,47,48
03 1996 45 46
fiszki 01 45 i 46
01 1996 45 46
44-45-46
Obraz społ. W-cha 45-46, College, różne
45 46
45 46
HLP - oświecenie - opracowania lektur, 30. Jan Potocki, Rękopis znaleziony w Saragossie. DZIEŃ 43, 4
45 46
45 46 307cc pol ed02 2007
2002 1 44,45,46
OBSERWACJA nr 45 46 Marcin pokonywanie
45 46 308 pol ed01 2007

więcej podobnych podstron