Magnet.pdf
(
1624 KB
)
Pobierz
010-016_magnetofon_cyfrowy_cz1.indd
Magnetofon cyfrowy DAR–001
Magnetofon cyfrowy
DAR–001, część 1
Epoka
magnetofonów
szpulowych
zakończyła
się definitywnie, dni
magnetofonów kasetowych chyba
są policzone, mimo, że nadal
można je znaleźć w popularnych
wieżach stereo. Czy to oznacza
koniec przyjemności dokonywania
własnych nagrań? Na pewno
nie, natomiast trzeba się będzie
pogodzić ze zmianą nośnika.
W artykule przedstawiamy
konstrukcję nowoczesnego,
cyfrowego magnetofonu
zapisującego muzykę na
kartach CompactFlash i dyskach
twardych. To jeden z najbardziej
zaawansowanych projektów, jakie
ukazały się w ostatnim czasie
na łamach EP.
Rekomendacje:
wykonanie magnetofonu
można polecić doświadczonym
Czytelnikom – to projekt
o wysokim stopniu trudności,
dający jednak maksimum
satysfakcji po szczęśliwym
uruchomieniu.
Chciałbym
przedstawić urządzenie
DAR–001, które może zastąpić
magnetofony kasetowe Hi–Fi. Jest
to magnetofon cyfrowy zapisują-
cy i odtwarzający sygnał analogowy
w paśmie akustycznym. Jako nośnik
danych cyfrowych wykorzystałem
pamięci masowe typu karta pamię-
ci CompactFlash (CF) i dysk twardy
(HDD) z interfejsem EIDE. Skrótowa
nazwa DAR powstała z angielskich
słów
Digital Audio Recorder
,
które
najlepiej opisują charakter tego urzą-
dzenia.
Po umieszczeniu wszystkich ele-
mentów tworzących DAR–001 w obu-
dowie (430x220x43 mm) może on
stanowić segment domowego zesta-
wu Hi–Fi. Nagrania wykonane przez
tego typu urządzenie są w pełni le-
galne, możemy je jednak wykorzy-
stywać tylko do własnych celów.
DAR–001 oferuje znacznie więcej niż
stary poczciwy magnetofon kaseto-
wy. Przede wszystkim jakość zapisy-
wanego sygnału jest niemal idealna,
nagrania można przenosić wprost do
komputera, można również umie-
ścić na dysku
lub karcie pamięci CF
magnetofonu DAR–001 utwory MP3
z komputera.
DAR–001 zapisuje nagrania
dźwiękowe w pamięci CF lub na
dysku HDD w postaci nieskompre-
sowanych plików WAV, odtwarza
natomiast pliki zarówno typu WAV
jak i MP3. DAR–001 posiada jedno
stereofoniczne wejście analogowe
i dwa wejścia cyfrowe SPDIF oraz
jedno wyjście analogowe. Złącze
USB służy do komunikacji z kom-
puterem PC. Jako przetwornik A/D
został zastosowany układ firmy
Analog Devices typu AD1877JR, na-
tomiast jako przetwornik D/A przy
odtwarzaniu plików WAV i MP3 wy-
korzystano układ firmy VLSI Solu-
tion typu VS1001k. Cyfrowe wejścia
SPDIF są obsługiwane przez układ
firmy Burr–Brown (Texas Instru-
ments) typu DIR1703E. Podczas od-
bioru sygnału cyfrowego SPDIF na
wyjściu analogowym magnetofonu
pojawia się sygnał analogowy z 24–
–bitowego przetwornika firmy ALE-
SIS Semiconductor typu AL1201.
Można zatem wykorzystać DAR–001
jako wysokiej klasy przetwornik D/A
sygnału cyfrowego SPDIF doprowa-
dzonego z odtwarzacza CD lub DVD,
komputera lub tunera telewizji sate-
litarnej na sygnał analogowy.
PODSTAWOWE PARAMETRY
Parametry nagrywania (typowe)
• Częstotliwość próbkowania: 32000, 44100,
48000 Hz
• Rozdzielczość: 16 bitów
• Dynamika: 92 dB
• Zniekształcenia nieliniowe (S/THD+N):
90 dB
Parametry odtwarzania z wejść SPDIF
(Typowe)
• Częstotliwość próbkowania: 32000, 44100,
48000 Hz
• Rozdzielczość: 24 bity
• Dynamika: 107 dB
• Zniekształcenia nieliniowe (THD): 0,003%
• Napięcie wyjściowe sygnału audio: 1 V
(wartość skuteczna), 3Vpp (peak–to–peak)
Parametry odtwarzania plików *.WAV lub
*.MP3 (typowe)
• Częstotliwość próbkowania:
8000...48000 Hz
• Rozdzielczość: 16 bitów
• Dynamika: 90 dB
• Stosunek sygnał/szum (S/N): 87 dB
• System plików: FAT16 – LBA
• Obsługa kart CompactFlash 32 MB...4 GB
• Obsługa dysków HDD 512 MB...128 GB
(wykorzystuje do 16 GB)
Budowa magnetofonu
Do obsługi magnetofonu został
wybrany układ ATmega128 z zega-
rem 16 MHz (16,384 MHz). Przed
10
Elektronika Praktyczna 6/2007
PROJEKTY
Magnetofon cyfrowy DAR–001
Rys. 1. Dekoder adresów, bufory interfejsu dysku twardego i karty CF
Elektronika Praktyczna 6/2007
11
Magnetofon cyfrowy DAR–001
procesorem postawiłem zadanie
prawie niemożliwe do wykonania –
przy rejestracji sygnału dźwiękowe-
go próbkowanego z częstotliwością
48 kHz, stereo o rozdzielczości 16
bitów należy zapisywać na CF lub
HDD strumień informacji o przepu-
stowości 192 kB/s (1536 kb/s). Jest
to około 12 razy więcej niż po-
trzeba do odtwarzania plików MP3
o przepustowości 128 kb/s. Dodat-
kowo sprawę komplikuje fakt, że
przetwornik A/C posiada interfejs
I
2
S pracujący z ramkami długości
64 bitów na próbkę (częstotliwość
zegara wynosi 3,072 MHz). Interfejs
I
2
S przetwornika A/C jest obsługi-
wany przez interfejs SPI procesora.
Szybkość napływu kolejnych bajtów
jest jednak tak duża, że program
obsługi przerwania odbierającego
kolejne próbki musiałem napisać
częściowo w asemblerze (główny
program napisałem w języku C).
W każdej ramce należy odebrać
najpierw 2 bajty dla kanału lewe-
go, następne 2 bajty można zigno-
rować, po czym należy odbierać 2
bajty dla kanału prawego i pozosta-
łe 2 ponownie zignorować. Każde
przerwanie odbiera 2 bajty. Podczas
nagrywania procesor ponad połowę
swego czasu przeznacza na obsługę
przerwań SPI. Dodatkowo generowa-
ne jest jeszcze przerwanie związane
z obsługą klawiatury. Pętla główna
musi na bieżąco składać odebrane
próbki w bloki po 32 kB i zapisy-
wać je w czasie rzeczywistym na
dysku (lub karcie CF).
Początkowo chciałem opracować
własny system plików na dysku
i karcie CF, ale ostatecznie zdecy-
dowałem się na system plików FA-
T16. Zastosowana jest obsługa dłu-
gich nazw plików (LFN –
Long File
Name
). W systemie plików FAT16
jedna, kompletna tablica alokacji
plików FAT może zająć 128 kB pa-
mięci. Przekracza to znacznie prze-
strzeń adresową procesora ATmega-
128. Na płytce DAR–001 zainstalo-
wałem 128 kB pamięci zewnętrznej
RAM. Ze względu na to, że pod-
czas pracy urządzenia potrzebne są
w pamięci bufory na próbki nagry-
wane/odtwarzane oraz miejsce na
aktualny katalog, a także inne dane,
zmuszony byłem zastosować dyna-
miczne ładowanie poszczególnych
części tablicy FAT w blokach po
16 kB. Zapis/odczyt danych na dys-
ku (lub karcie CF) wymaga w miarę
wypełniania poszczególnych komó-
rek tablicy FAT załadowania co ja-
kiś czas kolejnej części tablicy FAT.
Przy dużej defragmentacji dysku
może dochodzić do częstych odczy-
tów/zapisów poszczególnych frag-
mentów tablicy FAT. Pomimo dość
skomplikowanej sytuacji związanej
z obsługą pamięci masowych (dys-
ku HDD lub karty CF) udało mi
się osiągnąć średnią szybkość około
3–krotnie wyższą od wymaganej.
Jak wiemy, mikrokontroler AT-
mega128 może zaadresować niecałe
60 kB (0x01100...0x0FFFF), pamięć
RAM o pojemności 128 kB została
więc podzielona na 16 stron po
8 kB. Procesor ma dostęp do wy-
branej strony pod adresami 0x0E-
000...0x0FFFF. Zastosowałem 2 bufo-
ry po 32 kB dla próbek ulokowane
na stronach 8...15 pamięci RAM,
16 kB na część tablicy FAT, 32 kB
dla katalogu oraz 8 kB na aktual-
ne okno dostępu do poszczególnych
stron pamięci RAM. Procesor ma
dostęp bezpośredni do komórek pa-
mięci RAM od adresu 0x01100 do
0x0DEFF włącznie. Dostęp do stron
0, 8, 9, 10, 11, 12, 13, 14 i 15
jest możliwy tylko w oknie 0x0E-
000...0x0FFFF. Pod adresami 0x0D-
F00...0x0DFFF dostępne są urządze-
nia wejścia/wyjścia (I/O) takie jak:
rejestry karty pamięci CF, rejestry
dysku HDD, bufor adresujący stro-
ny pamięci RAM itp. Ze względu
na to, że podczas nagrywania/od-
twarzania plików próbki w buforach
RAM są zapisywane/odczytywane
w przerwaniach, a jednocześnie pro-
gram główny zapisuje/odczytuje te
same bufory na dysku HDD lub
karcie pamięci CF, konieczne jest
ciągłe przełączanie stron pamięci
przez przerwanie i program głów-
ny. Aby procesor podczas każde-
go przerwania nie tracił zbyt dużo
czasu na przełączanie stron (obsłu-
guje ich ponad 96000 na sekun-
dę!), zastosowałem sprzętowy układ
przełączania stron (
rys.
1
). Numer
wybranej strony dla pętli głównej
jest wpisywany do specjalnego bu-
fora U19 (573) na bitach 0...3, na-
tomiast numer strony dla przerwań
jest wpisywany do tego samego bu-
fora na bitach 4...7. Docelowy nu-
mer strony jest przełączany przez
multiplekser U18 (157) sygnałem
STR_XnY. Każde przerwanie ustawia
na początku bit STR_XnY na „1”,
a pod koniec przerwania gasi ten
bit na „0”. W ten sposób przełącza-
nie stron odbywa się szybko i bez
konfliktu pomiędzy pętlą główną
a przerwaniami.
Dekoder adresu (rys. 1) to układ
U21 (138) wraz z kilkoma bramka-
mi. Wyjście bramki U31A (10) ste-
ruje multiplekserem U17 (157) prze-
łączającym strony pamięci RAM.
Dla adresów mniejszych od 0x0E-
000 adresy A13, A14, A15 pamięci
i procesora są takie same, a adres
A16 jest równy „0” – pamięć jest
adresowana bezpośrednio. Dla adre-
sów od 0x0E000 do 0x0FFFF adre-
sy A13, A14, A15 i A16 pamięci są
takie same, jak numer strony wpi-
sanej do bufora U19 (573).
Magistrala danych dysku twarde-
go i pamięci CF została podłączona
przez bufory U22 i U23 (245). Ob-
sługa dysku HDD wymaga wykorzy-
stania 16–bitowej magistrali danych.
Procesor ATmega128 posiada magi-
stralę 8–bitową, dlatego musiałem
sprzętowo rozwiązać ten problem.
Bufor U12 (573) przechwytuje star-
sze bity dysku HDD podczas każ-
dej operacji odczytu tego dysku. Po
każdej operacji odczytu dysku HDD
procesor odczytuje starsze 8 bitów
danych z portu E. Przed każdym
zapisem danych do dysku HDD
procesor musi umieścić 8 starszych
bitów danych w porcie E. Bufory
U22 i U23 (245) zostały zastosowa-
ne głównie z konieczności dopaso-
wania poziomów TTL (poziom „1”
logicznej to napięcie 2 do 5 V)
do poziomów wymaganych przez
procesor ATmega128 (poziom „1”
logicznej to napięcie 3,5 do 5 V).
Dodatkowo użycie tych buforów po-
zwala wykorzystać karty pamięci CF
zasilane napięciem 3,3 V. Napięcie
zasilające kartę CF może mieć war-
tość +5 V lub +3,3 V w zależności
od ustawienia zworki ZVF. Dodat-
kowo jest ono kluczowane tranzy-
storem T1 (BD136). Tranzystor T1
załącza się dopiero po całkowitym
wsunięciu karty w złącze. Podczas
wsuwania i wysuwania karty pa-
mięci CF, na buforowanej magistrali
danych (DB0...DB15) pojawiają się
stany nieustalone, dlatego kartę pa-
mięci CF można wsuwać lub wysu-
wać tylko wtedy, gdy nie odbywają
się żadne operacje zapisu/odczytu,
zarówno na samej karcie, jak i na
dysku twardym.
Przetwornik A/D firmy Analog
Devices typu AD1877JR wybrałem
między innymi dlatego, że posiada
on szeregowy interfejs I
2
S wyposa-
żony dodatkowo w sygnały WCLK
12
Elektronika Praktyczna 6/2007
Magnetofon cyfrowy DAR–001
Rys. 2. Przetworniki A/D i D/A oraz odbiornik SPDIF
Elektronika Praktyczna 6/2007
13
Magnetofon cyfrowy DAR–001
i TAG. AD1877JR jest przetworni-
kiem typu Sigma–Delta, z 64–krot-
nym nadpróbkowaniem (
oversam-
pling
) i cyfrowymi filtrami FIR.
Cyfrowe filtry zapobiegają przedo-
stawaniu się zakłóceń o częstotliwo-
ściach powyżej połowy częstotliwo-
ści próbkowania (F
S
/2). Przy braku
filtrów na wejściu przetwornika A/D
wszelkie częstotliwości powyżej
F
S
/2 interferują właśnie z tą czę-
stotliwością i pojawiają się na wyj-
ściu przetwornika jako częstotliwo-
ści w paśmie użytecznym od 0 do
F
S
/2. Na przykład dla Fs=48 kHz
częstotliwość F
S
/2=24 kHz – jeśli
na wejście analogowe przedostanie
się sygnał zakłócający o częstotliwo-
ści 30 kHz (przykładowo), to ule-
gnie on interferencji z częstotliwo-
ścią 24 kHz (F
S
/2) i pojawi się w na
wyjściu jako zakłócenie o częstotli-
wość równej różnicy tych częstotli-
wości względem F
S
/2, czyli 18 kHz.
Oczywiście przetwornik AD1877 po-
siada tak strome filtry, że wszystkie
częstotliwości powyżej F
S
/2 zostaną
skutecznie stłumione.
Sygnały z wyjść przetwornika
AD1877 są czytane przez inter-
fejs ISP procesora. Sygnał WCLK
jest aktywny („1” logiczna) tylko
podczas ważnych danych na linii
SOUT przetwornika. Po zanegowa-
niu tego sygnału przez inwerter
U16B (04) otrzymujemy sygnał SS#
sterujący pracą interfejsu ISP pro-
cesora. Takie połączenie powoduje,
że interfejs ISP odbiera tylko po-
trzebne bajty (4 zamiast 8) podczas
każdego cyklu przetwornika (okres
przebiegu LRCK). Do swojej pracy
przetwornik AD1877 potrzebuje sy-
gnału zegara (CLKIN) o częstotliwo-
ści 256 lub 384 razy większej od
częstotliwości próbkowania. Nóżka
8 (384/256#) przetwornika jest ste-
rowana przez procesor w zależności
od częstotliwości próbkowania. Dla
obsługi wszystkich trzech standar-
dowych częstotliwości próbkowania
(32000, 44100 i 48000 Hz) potrzeb-
ne są dwa generatory o częstotli-
wościach generowanych przebiegów
12,288 MHz i 11,2896 MHz. Gene-
ratory są zbudowane z inwerterów
U4 (04). Przełączanie między jed-
nym a drugim generatorem zapew-
niają 2 klucze analogowe (1 i 2)
przełącznika U3 (ADG713BR). Tryb
pracy przetwornika AD1877 ustalają
sygnały ustawione na stałe na polu
krosowym PK1 (
rys.
2)
Przetwornik AD1877 generuje sy-
gnał TAG informujący o przesterowa-
niu wejść przetwornika. Najstarsze
bity sygnału TAG są zapamiętywa-
ne w przerzutnikach typu D układu
U34 (74) i zapalają czerwone diody
LED sygnalizujące przesterowanie
wejść analogowych. Nagrywany sy-
gnał analogowy doprowadzony do
złącz CHINCH (J1, J2) wchodzi naj-
pierw na elektroniczny potencjometr
U9 (PGA2310UA).
Wejścia analogowe przetwornika
są zabezpieczone przed uszkodze-
niem przez diody DA1...DA4 (BAVP–
–21), a wejścia układu PGA2310
przez diody DA5...DA8 (BAVP–21).
Przetwornik AD1877 pracuje pod-
czas nagrywania z wejścia analogo-
wego.
DAR–001 został wyposażony w 2
wejścia cyfrowe. Są to 2 identycz-
ne wejścia sygnału SPDIF typu CO-
AXIAL (75 V). Wejścia są wybierane
przez procesor sygnałem SPDIF–SEL
sterującym kolejnymi dwoma (3 i 4)
kluczami analogowego przełącznika
U3 (ADG713BR). W tym wypadku
przełączany sygnał ma charakter
analogowy. Sygnał SPDIF jest prze-
biegiem symetrycznym o amplitudzie
0,2...0,5 V, dlatego przechodzi przez
dwa inwertery układu U4. Na wyj-
ściu inwertera U4D uzyskujemy sy-
gnał SPDIF o poziomach zbliżonych
do standardu TTL. Tak ukształto-
wany sygnał wchodzi na scalony
odbiornik sygnału SPDIF typu DIR
1703E (U6). Układ DIR1703E jest
zasilany napięciami 3,3 V osob-
no dla części analogowej i osobno
dla części cyfrowej. Odbiornik ten
posiada kilka sygnałów konfiguru-
jących jego pracę. Wymaga także
doprowadzenia sygnału zegarowego
– wybrałem na stałe 12,288 MHz.
Pole krosowe PK2 (rys. 2) pozwa-
la ustawić odpowiednio większość
sygnałów konfigurujących odbiornik
SPDIF – wybór formatu wyjściowe-
go, źródło zegara itp. Odbiornik ten
posiada szereg sygnałów wyjścio-
wych. Jednym z nich
jest wyjście ADFLG
(PCM#). Przyjmuje ono
stan niski, jeśli odbie-
rany strumień danych
SPDIF reprezentuje
dane AUDIO w forma-
cie PCM. Przez łącze
SPDIF można przesyłać
dane zakodowane np.
w standardzie DOLBY
AC3 – wtedy wyjście
ADFLG (PCM#) przyjmuje stan
wysoki. Innym ważnym sygnałem
wyjściowym jest sygnał UNLOCK.
Przyjmuje on stan niski tylko wte-
dy, gdy wewnętrzna pętla PLL od-
biornika DIR1703E jest zsynchroni-
zowana z wejściowym przebiegiem
SPDIF. Odbiornik wystawia również
dwa bity (BRATE1 i BRATE0) infor-
mujące o częstotliwości próbkowania
sygnału SPDIF.
Procesor może przeczytać bity
UNLOCK, ADFLG, BRATE1, BRATE0
odczytując bufor U15 (244) (bity
D3...D0). Program główny DAR–001
inicjuje zapis z wejścia SPDIF je-
d
ynie przy prawidłowej kombinacji
powyższych bitów. Informacja za-
warta w bitach BRATE1 i BRATE0
jest wykorzystywana przez program
zapisujący nagłówek pliku *.WAV.
Odbiornik DIR1703E generuje kom-
plet sygnałów I
2
S – BCKO, LRCKO
i DOUT. Format wyjściowy danych
I
2
S został ustawiony (FMT1, FMT0)
zworkami na polu krosowym PK2
na Left–Justified (rys. 2), czyli taki
sam, jak dla przetwornika A/D. Sy-
gnały z odbiornika DIR1703E i prze-
twornika AD1877 przechodzą przez
bufor U29 (244) i są wybierane od-
powiednio sygnałami ADCEN# i DI-
REN#. Ze względu na to, że układ
DIR1703E nie generuje sygnału
WCLK, sygnał ten jest generowany
przez licznik modulo 32 zbudowa-
ny z przerzutnika U39B (74) i licz-
nika U30 (93). Przerzutnik U39A
(74) pozwala włączyć proces zapisu
synchronicznie z narastającym zbo-
czem sygnału LRCLK.
Głównym przetwornikiem D/A
jest układ VS1001k (U8) – rys. 2.
Spełnia on funkcję przetwornika D/A
podczas odtwarzania przez DAR–001
zarówno plików *.MP3 jak i *.WAV.
DAR–001 ma zainstalowany również
drugi przetwornik. Jest to układ
AL1201 (U32). Układ AL1201 jest
24–bitowym przetwornikiem D/A.
Spełnia on tylko pomocniczą rolę
– podczas nagrywania (po wybraniu
Rys. 3. Uproszczony schemat podłączana procesora
z układem VS1001k
14
Elektronika Praktyczna 6/2007
Plik z chomika:
NO.TO.CYK_A_DZIECI_BOSO
Inne pliki z tego folderu:
Wentylatory.pdf
(1666 KB)
Star Wars. Katalizator. Wprowad - James Luceno.pdf
(1665 KB)
Gordon R. Dickson - Smoczy rycerz T2.pdf
(1663 KB)
LOKOMOTYWA TOWAROWA EMD JT42CWRM(Class66).pdf
(1662 KB)
Greer Luanshya - Kto sieje wiatr 02 - Po burzy spokój.pdf
(1660 KB)
Inne foldery tego chomika:
- - - - ▉ NAJNOWSZE FILMY 2021 - PREMIERY CHOMIKUJ ---
▉ NAJNOWSZE FILMY 2020 - PREMIERY
butelka
butelki
butelki 2
Zgłoś jeśli
naruszono regulamin