→ powrót

___ cfplayer ________________

Mimo ogromu ilości różnych urządzeń odtwarzających dźwięk, na rynku brakuje modułu spełniającego równocześnie następujące założenia: szybki i bezobsługowy start, brak potrzeby podtrzymania zasilania, opcjonalny losowy skok po starcie, niska cena i wysoka niezawodność. CFplayer powstał, by wypełnić tę lukę, a jego zastosowania to wszelkiego typu urządzenia umilające czas muzyką w miejscach chwilowego przebywania, budziki, timery, urządzenia zapowiadające itp.

CFplayer to moduł odtwarzacza audio współpracującego z kartami pamięci CompactFlash o dość nietypowej funkcjonalności. Swym działaniem przypomina pracę odtwarzacza kasetowego, ponieważ nie zawiera typowego dla współczesnych odtwarzaczy menu, a jedyny sposób nawigacji umożliwia emulację przewijania w przód, w tył, pauzę oraz skok losowy w obrębie całej karty. Urządzenie odtwarza szesnastobitowe monofoniczne pliki nieskompresowane (wav) o częstotliwości do 44,1kHz współpracując z kartą o pojemności 8GB, co daje możliwość odtworzenia co najmniej 25 godzin muzyki. Moduł zawiera wzmacniacz audio niewielkiej mocy, diodowe wskaźniki pracy oraz elementy zasilacza upraszczając konstrukcję urządzeń opartych na nim. Układ jest dość prosty, a cena części potrzebnych do jego zbudowania jest niska, dzięki czemu sterownik jest możliwy do zbudowania także przez początkujących elektroników.

___ sprzęt ________________

Sercem układu jest mikrokontroler Atmel 89S8253, 89S51 bądź 89S52 z popularnej rodziny 51. Za produkcję dźwięku odpowiedzialny jest przetwornik analogowo cyfrowy TDA1311A (można także zastosować TDA1543A, TDA1543 i inne z uwzględnieniem uwag na końcu opisu).

Elementy w kolorze szarym nie są niezbędne do pracy układu. Jasnoszarym odcieniem wyróżniony jest zespół półwatowego wzmacniacza (TBA820) umożliwiający bezpośrednie dołączenia głośnika. Ciemniejszym odcieniem narysowane są elementy wskaźnikowe w dwóch niezależnych grupach (opis pracy znajduje się niżej). Ciemnoszary kondensator wymagany jest tylko w przypadku korzystania z funkcji losowego skoku po włączeniu zasilania. Po prawej stronie widzimy złącze karty pamięci.

Układ należy zasilać napięciem z przedziału 4,5–5,5V, pobór prądu wynosi około 100mA. → Tutaj można znaleźć więcej informacji na temat zasilania układów mikroprocesorowych. Układ można zbudować wykorzystując płytkę uniwersalną, jednak znacznie łatwiej będzie skorzystać z → gotowego projektu. Znajdziemy tam dane w formatach: Gerber, Autotrax i PDF, które akceptują firmy produkujące obwody drukowane. Nie polecam używania podstawek pod układy scalone z uwagi na ich zawodność i niewielki sens stosowania w tym projekcie. Poniżej znajduje się rysunek montażowy.

Na płytce znajdują się także nieuwzględnione na schemacie elementy zasilacza, które należy osadzić stosownie do posiadanego źródła prądu. Użycie mikroprocesora 89S51 lub 89S52 zwolni pracę dwukrotnie, co ograniczy częstotliwość próbkowania do 22,05kHz powiększając czas odtwarzania do 50 godzin. Biorąc pod uwagę typową jakość niewielkich głośników pracujących w docelowych konstrukcjach, takie ograniczenie w praktyce nie będzie miało słyszalnego znaczenia.

Układy 89S51 i 89S52 mogą pracować z kwarcem do częstotliwości 33MHz, co pozwala na wybór nietypowych częstotliwości próbkowania audio. Wartość standardowa 32kHz możliwa jest do osiągnięcia przy użyciu kwarcu 36Mhz, co już przekracza wartość katalogową, jednakże jest osiągalna bez żadnych problemów.

Przetworniki analogowo cyfrowe serii TDA1543 pracują w uproszczonej aplikacji, przez co nie osiągają katalogowej dynamiki. Jeśli układ miałby sterować systemem audio wysokiej jakości, należy zadbać o aplikację zgodną z zaleceniami producenta bądź wybrać układ TDA1311A.

Układ TBA820 można zasilać napięciem nie wyższym niż 15V. Jeśli potrzebowalibyśmy nieco większej mocy (maksymalnie 2W), wystarczy odizolować ścieżkę zasilania układu od napięcia 5V i podłączyć go do napięcia wyższego, np. przed stabilizatorem.

Ponieważ wyprowadzenia gniazda CompactFlash mają bardzo wąski rozstaw, ze względu na początkujących elektroników projekt płytki umożliwia nieco łatwiejszy sposób jego montażu. Przed przylutowaniem gniazda drobnymi szczypcami należy usunąć (wyciągnąć) nieużywane szpilki kontaktowe, zwracając uwagę, by prowadnica z lewej strony była szersza od prowadnicy ze strony prawej.

Następnie złącze należy dokładnie przykręcić do płytki za pomocą śrub M2,5, a poszczególne wyprowadzenia przez przylutowaniem wygiąć tak, by najdokładniej przylegały do pól kontaktowych.

Tak wygląda zmontowana płytka od strony druku.

A tak inny egzemplarz, od strony elementów.

Gotowy odtwarzacz wykorzystujący fabryczną konstrukcję małej obudowy głośnikowej. Na płycie czołowej znajduje się potencjometr głośności i jedyny przycisk – losujący. Elektronika umieszczona jest z tyłu obudowy.

___ opis działania ________________

Przyciski podłączone do wejść 14–17 aktywują kolejno funkcje:

KPLAY – pauza,
KRAND – skok losowy,
KREW – przewijanie do tyłu,
KFF – przewijanie do przodu.

Podczas odtwarzania dioda PLAY świeci się, a diody dołączone do wyjść 10–13 pulsują kolejno. Po zatrzymaniu odtwarzania świeci się dioda STOP. Przy przewijaniu dioda PLAY mruga, a diody dołączone do wyjść 10–13 pulsują szybko.

Przełączniki podłączone do wejść 24 i 25 aktywują kolejno funkcje:

SNRAND – zwarty: po pauzie nie będzie losowego skoku, lecz kontynuacja odtwarzania od ostatniej pozycji,
SSTOP – zwarty: po załączeniu zasilania układ nie będzie odtwarzał, lecz czekał na naciśnięcie KPLAY.

W szczególności, gdybyśmy chcieli zbudować układ odtwarzający stałą sekwencję po załączeniu zasilania, należałoby zewrzeć przełącznik SNRAND oraz wgrać dane na kartę dokładnie pod adres 33 554 432 (sektor 65 536) korzystając z narzędzia do bezpośredniej edycji napędów, np. DMDE. W tym przypadku pojemność karty nie musi być równa ośmiu gigabajtom, lecz wystarczy wielkość wyznaczona ilością danych powiększona o 32MB.

___ przygotowanie danych ________________

Ze względu na uproszczenia urządzenie ignoruje systemu plików. Z tego względu przygotowanie danych wygląda następująco:

– przygotowujemy materiał audio o parametrach: 44,1kHz (układ 89S8253) bądź 22,05kHz (układy 89S51 i 89S52), mono, 16 bitów, format WAV,

– wykonujemy pełny format karty,

– kopiujemy wszystkie pliki; jeśli nie wypełniły całej pojemności, należy skopiować je ponownie ze zmienioną nazwą aż do całkowitego wypełnienia karty. Zapobiegnie to odtwarzaniu ciszy (miejsc nienagranych) przy skokach losowych (analogicznie do taśmy magnetofonowej).

Każdorazowa wymiana choćby części danych wymaga powtórzenia dwóch ostatnich punktów.

Aby wyeliminować krótkotrwały trzask na początku każdego utworu, wystarczy skonwertować pliki do formatu raw (bez nagłówka).

Użycie karty o pojemności mniejszej niż 8GB jest możliwe tylko w wypadku opisanym wcześniej. Użycie większych kart jest możliwe, jednakże program nie ma dostępu do adresów wyższych niż 7 952 400 384. Dla zainteresowanych, w źródłach oprogramowania znajdują się uwagi dotyczące zmiany deklarowanych pojemności karty.

___ oprogramowanie ________________

→ Stąd pobieramy programy (pliki o rozszerzeniu hex) wraz ze źródłami, gdyby ktoś był nimi zainteresowany (pliki o rozszerzeniu a51). Kolejnym etapem będzie zaprogramowanie procesorów.

→ programowanie mikrokontrolera