Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Odtwarzacz plików audio według koncepcji 'taśmowej'

jankomuzykant 06 Nov 2011 21:29 15855 19
phoenixcontact
  • Odtwarzacz plików audio według koncepcji 'taśmowej'

    Przedstawiony tu układ (moduł) to nietypowy odtwarzacz audio. Jego nietypowość wynika z charakteru pracy. Przypomina on odtwarzacz kasetowy. Mimo, że dźwięk zapisany jest w postaci plików na karcie CF, mikroprocesor nie traktuje danych jako systemu plików, a jako obszar ciągły. Układ powstał jako moduł wykonawczy do budzika (odtwarzacz MP3 nie sprawdził się, ponieważ nie zapewnia stabilności przy pracy 24/24), a także samodzielny odtwarzacz w miejscach, w których przebywa się od czasu do czasu i ma się ochotę na muzykę (np. łazienki, warsztat itp.) Niezaprzeczalną zaletą jest szybkość startu w ciągu ułamka sekundy. Niestety fabryczne rozwiązania oferują to nadzwyczaj rzadko albo wymagają stałego zasilania.

    Na schemacie widzimy następujące przyciski:
    KPLAY – naprzemiennie włącza i wyłącza odtwarzanie,
    KRAND – wykonuje skok losowy w obrębie całej karty,
    KREW – symuluje przewijanie do tyłu z podsłuchem,
    KFF – symuluje przewijanie do przodu z podsłuchem.

    Poza tym istnieją jeszcze dwa wejścia konfiguracyjne:
    SSTOP – zwarty powoduje, że po załączeniu zasilania układ nie będzie odtwarzał lecz czekał na naciśnięcie KPLAY, niepodłączony – układ po włączeniu od razu rozpocznie odtwarzanie,
    SNRAND – zwarty powoduje, że po każdym wciśnięciu KPLAY nie będzie losowego skoku, lecz kontynuacja odtwarzania od ostatniej pozycji, niepodłączony – po każdym wciśnięciu KPLAY nastąpi skok w losowe miejsce.

    Układ steruje diodami LED w dwóch grupach:
    - prosty (LEDy PLAY i STOP) – zgodnie z nazwą świeci się odpowiednia dioda zgodnie ze stanem. Podczas przewijania dioda PLAY mruga, przy wciskaniu KRAND świecą się obie diody,
    - efekciarski (LEDy dołączone do wyjść 10-13) – pozwala na wykonanie charakterystycznej, nienarzucającej się animacji świetlnej w postaci przenikających się świateł.
    Oba systemy mogą być używane niezależnie. Jeśli nie będą nam potrzebne, nie trzeba montować układów z nimi związanych (4 kondensatory 1mF, 8 rezystorów 1kR, 2 rezystory 2,2kR).

    Odtwarzacz plików audio według koncepcji 'taśmowej'


    Format danych


    Układ akceptuje surowy format audio (RAW) mono o częstotliwości 22,050kHz dla mikroprocesora 89S51(2) oraz 44,1kHz dla procesora 89S8253. Częstotliwość odtwarzania zależy oczywiście od częstotliwości kwarcu.
    W układzie sprawdziłem pracę z trzema różnymi przetwornikami D/A. W zależności od konkretnego przetwornika należy załadować odpowiednie oprogramowanie jak również przygotować pliki audio. I tak:

    TDA1543 wymaga wsadu cf_player_1543.hex oraz plików o kolejności bajtów MBS/LBS w plikach audio,

    TDA1311A wymaga wsadu cf_player_1543a_1311a.hex oraz plików o kolejności bajtów MBS/LBS w plikach audio,

    TDA1543A wymaga wsadu cf_player_1543a_1311a.hex oraz plików o kolejności bajtów LBS/MBS, który jest identyczny jak w formacie WAV. Oznacza, że w tym przypadku układ odtworzy także pliki WAV mono bez konieczności konwersji, z zastrzeżeniem, że na początku odtwarzania możemy usłyszeć krótki trzask.

    Do konwersji plików można użyć którego z popularnych programów do edycji dźwięku jak Audacity, CoolEdit, itp. Zawierają one moduły pracy z wieloma plikami, co bardzo upraszcza pracę.


    Karta CF

    Układ został zaprojektowany do pracy wyłącznie z kartą o pojemności 8GB. Jeśli ktokolwiek potrzebowałby innych pojemności (jak również funkcjonalności), może sobie wszystko zmienić w źródle. Ze względu na uproszczenia układ odczytuje wyłącznie obszar LBA karty, którego trzeci bajt zawiera się w granicach 1...237. Oznacza to, że czytany jest obszar danych od 32MB do 7584MB (w zaokrągleniu). Pliki spoza tego zakresu nie będą odtwarzane. Ponieważ układ został zaprojektowany jako część wykonawcza budzików lub „uprzyjemniaczy” audio, nie jest to wyraźne ograniczenie. Przy 22,05kHz umożliwia nagranie ok. 50 godzin muzyki. Należy tylko pamiętać, by po usunięciu części plików nagrać całość ponownie wcześniej formatując kartę oraz, jeśli całość nie zostanie wypełniona plikami, należy dokopiować kopię istniejących już plików do wypełnienia całości karty (aby przy losowym skoku nie wejść w obszar pozbawiony danych).

    Całość, jak widać, jest dość silnie ograniczona, ale w praktyce nie ma z tym problemów. Zmiana danych w takich urządzeniach następuje bardzo rzadko.


    Uwagi dodatkowe


    Złącze CF jest bardzo trudne w lutowaniu ze względu na wąski rozstaw wyprowadzeń. Na płytce wyprowadzenia nie są zgodne z rozmiarem fabrycznym, lecz poszerzone. Niewykorzystywane szpilki usuwamy, a pozostałe rozsuwamy jak na zdjęciu. Dzięki temu mamy znacznie ułatwione zadanie. Pamiętać należy tylko, aby przed lutowaniem przykręcić złącze śrubkami M2,5.

    Odtwarzacz plików audio według koncepcji 'taśmowej' Odtwarzacz plików audio według koncepcji 'taśmowej'

    Kondensator dołączony do wyjścia 3.2 mikroprocesora stanowi o skoku losowym po włączeniu zasilania. Jeśli zewrzemy wyjście SNRAND lub SSTOP, nie będzie on potrzebny.

    Wzmacniacz (TBA820) jest nam potrzebny tylko, jeśli będziemy sterować głośnik bezpośrednio. Jeśli mamy osobny układ ze wzmacniaczem, możemy go nie montować, a także wszystkich elementów towarzyszących.

    Odtwarzacz plików audio według koncepcji 'taśmowej' Odtwarzacz plików audio według koncepcji 'taśmowej'

    Na płytce znajduje się miejsce dla prostownika, stabilizatora i układów towarzyszących. Możemy je pominąć, jeśli posiadamy zasilacz stabilizowany 5V.

    Rezystor na nóżce L przetwornika ustala napięcie na tej nóżce. Powinno się ono zawierać w przedziale 2-3V. Należy pamiętać, że część oporu stanowi także potencjometr głośności.

    Układ z pewnością akceptuje więcej przetworników, ale nie było okazji ich sprawdzić.

    Do układu można podłączyć dowolny głośnik, a moc nie przekroczy kilkuset miliwatów. Prąd pobierany przez całość wynosi ok. 100mA plus moc potrzebna do wysterowania głośnika.

    Całość jest dość uproszczona, co ma pewne znaczenie dla brzmienia. Jednak uwzględniając założenia, nie stanowi to problemu, a w dobie doskonale brzmiących fabrycznych rozwiązań, nie ma sensu konkurowanie na tym polu. Powodem zbudowania odtwarzacza była także chęć zaprzęgnięcia wciąż dobrze się mającego, ośmiobitowego staruszka 51 do takiej pracy.

    Trzy takie układy pracują jakiś czas, w tym jeden bez przerwy jako uzupełnienie budzika (opis mojej konstrukcji w innym miejscu, a wkrótce nowsza wersja o uproszczonym sterowaniu za pomocą enkodera).

    Uwaga, na końcu wątku znajdują się uwagi i upgrade.

    Cool? Ranking DIY
    About Author
    jankomuzykant
    Level 14  
    Offline 
    Has specialization in: automatyka przemysłowa
    jankomuzykant wrote 182 posts with rating 556, helped 5 times. Live in city Kraków. Been with us since 2007 year.
  • phoenixcontact
  • #2
    jankomuzykant
    Level 14  
    michal-michalik wrote:
    Urządzenie całkiem funkcjonalne ostatecznie, tylko czy naprawdę nie dało by się tego prościej zrobić? ;)

    Pewnie, żeby się dało, ale nie na tej konkretnej pięćdziesiątce jedynce. Tylko takich rozwiązań jest mnóstwo, a ja chciałem... właśnie na pięćdziesiątce jedynce. Nie na lampach, nie na bramkach, tylko na procesorach o trzydziestoletniej technologii. Bez sensu, ale fajnie - bo o to chodzi czasem w dłubaniu tego, co taniej i szybciej można kupić gotowe. Czego zresztą dotyczą prawie wszystkie posty w DIY :)
  • phoenixcontact
  • #3
    McMonster
    Level 32  
    Nieciekawie wyglądają te zworki z niezaizolowanego miedzianego drutu, w szczególności te ponad kondensatorami, nie boisz się zwarć? Do tego duże ilości cyny w niektórych miejscach. Z drobniejszych rzeczy, to wypadałoby oczyścić płytkę z kalafonii przed pokazaniem. ;)
  • #4
    KJ
    Level 31  
    Nie uważam żeby raster gniazda CF był trudny do lutowania ale może po prostu jestem dziwny ;) od dawna się zabierałem do czegoś podobnego do budzika właśnie tyle tylko że z kartą SD a nie CF. Pomysł bardzo dobry. Jakaś próbka dźwięku by się przydała ale nagrana przez kabel a nie mikrofon ;). Aż się prosi żeby dodać potencjometr albo klawisze +/- do regulacji prędkości odtwarzania - tak dla bajeru :D
  • #5
    Gibol
    Level 17  
    Co stało na przeszkodzie, aby to gniazdo CF przylutować po ludzku? Ten raster wcale nie jest mały, nawet jak na żelazko i lutownicę transformatorową...
  • #6
    jankomuzykant
    Level 14  
    Dla orłów, co siedzą w elektronice od lat, raster cf jest niestraszny, ale nie zapominajcie od amatorach, z którymi z racji projektów midi mam nieco do czynienia - dla nich wszystko, co poniżej 100 milsów jest przeszkodą.

    Zdjęcia są zrobione płytce testowej, pozostałe dwie mam już skręcone i nie chciało mi się ich wyciągać. Pokażę je przy okazji opisu tamtych urządzeń. Są umyte oczywiście, a zamiast potencjometru montażowego jest zwykły, zewnętrzny. Tak na marginesie, moda na przyciski +/- do regulacji głośności wynika z oszczędności kasy w masowych urządzeniach, wolę zwykłą gałkę bolejąc, że takich rozwiązań nie spotyka się już prawie.

    Co do regulacji szybkości, jakoś mi to niepotrzebne. Oczywiście można dołożyć zewnętrzny zegar albo pętlę opóźniającą w programie.

    Nieizolowane zworki na płytce nie zrobią sobie krzywdy, natomiast te wystające są tylko na płytce prototypowej, zresztą ich zwieranie niczemu nie grozi (i tak są zwierane diodami led).

    Co do brzmienia, oceniam jest na... ok. 12 bitów. Może to wina algorytmu, może uproszczonej aplikacji D/A, słychać niestety zniekształcenia przy małej głośności (wyciszone końcówki utworów). Tylko to ma wysterować mały głośnik, a nie zestaw hi-fi i słychać to dopiero po wsadzeniu w głośnik ucha. Jeśli chciałoby się komuś prześledzić fragment kodu pchającego dane w D/A, zapraszam.

    Zabierałem się najpierw za kartę SD, ale chwilowo poddałem się :) Inicjalizacja nie jest taka prosta jak z CF, a do tego należałoby jeszcze użyć sprzętowego SPI, więc 89s51(2) odpada. Programowo pewno układ się nie wyrobi wyżej niż 11025kHz.
  • #7
    jankomuzykant
    Level 14  
    adas597 wrote:
    to Działa to lutowanie wygląda jak by talib bombę robił

    No tak, wystarczy użyć ''clarity'' z pgotoshopa celem ukazania szczegółów przez powiększenie kontrastu lokalnego, a już się zaczyna... Uwierz, na żywo wygląda to normalniej i działa bez problemów. W trzech egzemplarzach (co pewno wiedziałbyś, gdybyś przeczytał tych kilka linijek wyżej). Jakby miało być ładne, zamówiłbym płytki z maską. Jak ktoś będzie tak chciał, ma źródła w trzech formatach -pcb, gerber i pdf.

    Z roku na rok widzę, że i tu się zaczyna pojawiać ''onetowa'' atmosfera - totalna krytyka wszystkiego. A inicjatywa nie powstała, by się chwalić ładną obudową czy lutami jak perełki, ale by za całkowitą darmochę podzielić się opisem urządzenia, które jest sprawdzone, tanie i posiada unikalne rozwiązania, trudne do znalezienia gdziekolwiek indziej (natychmiastowy start, generator losowy itp).

    PS. Jak widzę, łatwiej poprawnie lutować niż napisać składnie zdanie :)
  • #8
    leonow32
    Level 30  
    Dość ciekawy wynalazek :) zupełnie inne podejście do typowego problemu, ale właśnie o to chodzi, żeby nie kopiować gotowych rozwiązań tylko samemu coś wymyślić.

    Możesz wrzucić filmik jak to działa, żeby dało się posłuchać jakiejś muzyki?
  • #9
    sundayman
    Level 25  
    Quote:
    inicjatywa nie powstała, by się chwalić ładną obudową czy lutami jak perełki, ale by za całkowitą darmochę podzielić się opisem urządzenia


    Tak, słusznie, ale estetyka wykonywanych urządzeń to nie tylko kwestia samej estetyki właśnie, ale i trzymania się pewnego "poziomu" technicznego.

    Urządzenie poprawnie technicznie wykonane to TAKŻE urządzenie wyglądające estetycznie - zatem "uwagi" dotyczące dość niechlujnego wykonania są jak najbardziej słuszne i zamiast się obrażać proponowałbym raczej wziąć je sobie do serca. Jeśli zgłosisz się przykładowo do potencjalnego pracodawcy, i pokażesz mu taki "produkt" to mimo najbardziej "odkrywczych parametrów" uzyskasz na starcie -50 pkt za niechlujstwo i niestaranność.

    Nie do pominięcia jest też to, że o ile tutaj taki sposób montażu "przejdzie", to próba wykonania np. czegoś w bardziej ambitnego w taki sposób oznacza proszenie się o problemy. Jednym słowem, "porządność" wykonania wiele mówi o konstruktorze i zasłanianie się "innymi walorami" nie zmienia tego faktu.

    Sama idea rzeczywiście może nietuzinkowa, i to się chwali.
    Ale niestety -50pkt za jakość :)

    (no dobra, przesadzam, że aż 50 pkt, bo dramatycznie nie jest, ale chodzi mi o ogólną zasadę...)
  • #10
    jankomuzykant
    Level 14  
    sundayman wrote:
    Tak, słusznie, ale estetyka wykonywanych urządzeń to nie tylko kwestia samej estetyki właśnie, ale i trzymania się pewnego "poziomu" technicznego.

    Urządzenie poprawnie technicznie wykonane to TAKŻE urządzenie wyglądające estetycznie - zatem "uwagi" dotyczące dość niechlujnego wykonania są jak najbardziej słuszne i zamiast się obrażać proponowałbym raczej wziąć je sobie do serca. Jeśli zgłosisz się przykładowo do potencjalnego pracodawcy, i pokażesz mu taki "produkt" to mimo najbardziej "odkrywczych parametrów" uzyskasz na starcie -50 pkt za niechlujstwo i niestaranność.


    Ależ podkreślam - to jest zdjęcie płytki prototypowej, na której dobierałem elementy, m.in. ledy. Wątek dotyczy modułu jako takiego, elementu większych koncepcji. Jak będę miał chwilkę, wrzucę zdjęcia z układu budzika (wraz z filmem), który jest zamknięty w obudowie (chciałem zrobić o nim kolejny wątek, tylko brak czasu jak zwykle).
    Jeśli chodzi o projekty gotowe, którymi w razie potrzeb chwalę się pracodawcom, mam tego nieco, np tu:
    http://grejt.grejt.pl/l/07/0.htm
  • #11
    SP5ANJ
    R.I.P. Meritorious for the elektroda.pl
    jankomuzykant wrote:
    Ależ podkreślam - to jest zdjęcie płytki prototypowej ...

    Niestety w dziale DIY - zawiść Ludzka nie ma granic.
    Quote:
    na której dobierałem elementy, m.in. ledy. Wątek dotyczy modułu jako takiego, elementu większych koncepcji.

    Ci co wiedzą jak się dobiera elementy = to wiedzą.
    Nie piszą aby dać im wszystko jak na "tacy".

    Quote:
    Jeśli chodzi o projekty gotowe, którymi w razie potrzeb chwalę się pracodawcom, mam tego nieco, np tu:
    http://grejt.grejt.pl/l/07/0.htm

    Nie ma takiej potrzeby udowadniania innym jak co jest wykonane.

    Projekt ten (jak napisał leonow32) również uważam, że jest inny niż większość tematów w DIY.
    Nowe myślenie, nowa koncepcja.

    Tylko pogratulować co niniejszym czynię.

    Pozdrawiam. Adam
  • #12
    sundayman
    Level 25  
    Quote:
    Ależ podkreślam - to jest zdjęcie płytki prototypowej, na której dobierałem elementy, m.in. ledy


    No to odszczekuję swoje zarzuty (znaczy - podtrzymuję je "ogólnie", bo to często spotykana bolączka tutaj). No ale akurat w stosunku do kolegi nie miałem racji -
    jako "pre-prototyp" sam czasem mam płyteczki na podobnym poziomie jak ta tutaj.

    Jednym słowem moja kulpa :)

    A co do reszty ;
    Quote:
    Niestety w dziale DIY - zawiść Ludzka nie ma granic.

    Kolega nie przesadza czasem ?

    Quote:
    Nie ma takiej potrzeby udowadniania innym jak co jest wykonane.

    Nikt nikomu tutaj nic udowadniać nie musi. Akurat kolega wątkotwórca nieco przypadkowo padł ofiarą tego, że bardzo często (to chyba prawie reguła)
    prezentowane w DIY rzeczy wołają o pomstę do nieba pod względem estetyki i jakości właśnie. A ja osobiście to kolegom czasem "wypominam" nie złośliwie (bo sam tak dawno dawno temu miałem :) ), tylko dlatego że jak próbowałem wcześniej zaznaczyć w elektronice przeważnie estetyka = jakość.

    No, ale w tym konkretnym przypadku odszczekałem obejrzywszy inne prace kolegi.
    Mam natomiast nadzieję, że inni koledzy sobie wezmą do serca takie uwagi (bo przynajmniej w moim przypadku nie wynikają one z "zawiści").
  • #13
    jankomuzykant
    Level 14  
    excray wrote:
    "Te kondensatory na płycie to nie są jakieś napuchnięte? Na pewno są napuchnięte. Wymień bo się będzie soft wieszać. A zasilacz oby nie z czarnej listy używasz?"

    A żebyś wiedział, kondensatory ''animacyjne'' mam z wylutu, ze starej płyty głównej :)
    No, ale ich wartość nie znaczenia. Co ciekawe, kondensator ''losujący'' winien być jak najgorszej jakości, ponieważ od jego niestabilności zależy jakość losowania na początku, po włączeniu zasilania (licznik zlicza czas losowania modulo 256, co przy takiej szybkości praktycznie zawsze daje inne wyniki).
    Dzięki za miłe słowa, asembler jest mi bliski już od 20 lat i chyba tak pozostanie, zwłaszcza w dobie, gdy kolejne rodziny procesorów i środowisk zmieniają się rok po roku. Wiedzieć, że ma się wszystko pod kontrolą z dokładnością do taktu zegara jest fajnie. Nowoczesne konstrukcje, których w całości chyba nikt nie ogarnie, nie mają już tego romantyzmu...
  • #14
    andrzejlisek
    Level 29  
    Próbowałeś wprowadzać na kartę utwory z pominięciem systemu plików? Chodzi o to, że karta może nie być sformatowana, a utwór wprowadzasz np. w programie DMDE poprzez nadpisanie ciągu bajtów poczynając od pewnego sektora.

    Takie postępowanie będzie przypominać nagrywanie na kasetę, gdzie też trzeba wskazać miejsce rozpoczęcia nagrywania, a magnetofon nagrywa jak leci, zamazując to, co było wcześniej nagrane.
  • #15
    jankomuzykant
    Level 14  
    Miałem nawet zamiar rozgryźć jakieś oprogramowanie do tego celu, uprościłoby to zarządzanie obszarem (poświęciłem pierwsze 32MB, bo mniej więcej połówkę zajmują tablice alokacji i reszta, a przy 8GB to niewiele). Doszedłem do wniosku jednak, że ta strata warta jest uproszczenia z wrzucaniem materiałów, bo część chętnych na wykonanie urządzenia nie będzie miało ochoty bawić się jeszcze konwersją i po prostu wykorzystując TDA1543A wrzuci zwykłe WAVy.
    Ale nic nie stoi na przeszkodzie, by potraktować kartę właśnie ''na surowo'' i umieścić materiał dokładnie od sektora 65536.
  • #16
    jankomuzykant
    Level 14  
    Wprowadziłem mały upgrade - po włączeniu zasilania, jeśli ustawiono skok losowy z autostartem, ten nastąpi nie w jedno z 236 miejsc lecz w jedno z 60416 miejsc karty - tak jak to jest zawsze przy losowaniu manualnym.
    (Te dziwne wartości wynikają z potęg dwójki pomniejszonych o początkowe obszary mieszczące tablice alokacji oraz sektory nieistniejące w karcie 8GB - producenci nie rozumieją 8GB jako 8 589 934 592 bajtów)

    Przy okazji informacja - jeśli ktoś chce mieć większy poziom głośności bez przesterowań, a zasila układ w miarę wyrównanym napięciem, może przeciąć ścieżkę zasilania w okolicach nóżki szóstej wzmacniacza TBA820 i podłączyć ją z nóżką pierwszą stabilizatora (napięcie ok. 12V).
  • #17
    jankomuzykant
    Level 14  
    Pozwalam sobie wrzucić rozszerzony opis konstrukcji, który napisałem dziś w ramach wolnego czasu.

    ___ 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 TDA1543A (można także zastosować TDA1543, TDA1311A i inne z uwzględnieniem uwag na końcu opisu).

    Odtwarzacz plików audio według koncepcji 'taśmowej'

    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. Układ można zbudować wykorzystując płytkę uniwersalną, jednak znacznie łatwiej będzie skorzystać gotowego projektu (link we wcześniejszych postach). 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.

    Odtwarzacz plików audio według koncepcji 'taśmowej'

    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.

    Przetwornik analogowo cyfrowy pracuje w uproszczonej aplikacji, przez co nie osiąga katalogowej dynamiki. Jeśli układ miałby sterować systemem audio wysokiej jakości, należy zadbać o aplikację zgodną z zaleceniami producenta.

    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.

    Odtwarzacz plików audio według koncepcji 'taśmowej'

    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.

    Odtwarzacz plików audio według koncepcji 'taśmowej'

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

    Odtwarzacz plików audio według koncepcji 'taśmowej'

    A tak inny egzemplarz, od strony elementów.

    Odtwarzacz plików audio według koncepcji 'taśmowej'

    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.

    Odtwarzacz plików audio według koncepcji 'taśmowej'

    ___ 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 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,

    – jeśli zastosowaliśmy przetwornik TDA1543 bądź TDA1311A, korzystając z któregoś z konwerterów audio (np. Audacity, CoolEdit itp.) należy hurtowo zmienić kolejność bajtów ze standardowego na odwrócony (pierwszy MBS, drugi LBS, tzw. Motorola PCM),

    – 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 ________________

    Źródło znajduje się wyżej, a także na mojej własnej stronie, do której linka można znaleźć w moim profili (jak widzę, wrzucanie linków w treści postów jest zakazane).
  • #18
    jankomuzykant
    Level 14  
    Kolejny niewielki, ale wygodny upgrade (v1.2): obecnie dla każdego przetwornika D/A przygotowałem osobny firmware, dzięki czemu w każdym przypadku czytane są zwyczajne pliki wav (16 bit, mono, 22,05 lub 44,1kHz).

    Przy okazji - najlepsze brzmienie w tej konfiguracji (nieco uproszczonej) wykazuje przetwornik TDA1311a, poza tym pobiera znacznie mniej prądu i pracuje katalogowo od napięcia 4V.
  • #20
    rrata
    Level 19  
    Witam
    Mam takie pytanie odnoście układu TDA1543A (to nie jest wersja z I2S). Jak się nim steruje? Nie mam pojęcia czy ja coś robię źle, czy układ jest uszkodzony. Otóż o ile z prawym kanałem nie mam problemu to lewego nie mogę wysterować tak jak się należy (nie mogę wysłać liczby ze znakiem już wyjaśniam o co chodzi).

    Podejście 1.
    próbka 16 bitowa ze znakiem (U2) > MSB,LSB
    Wysyłam 3 bajty:
    0,MSB,LSB
    Prawy kanał gra, w lewym trzaski,

    Podejście 2.
    wysyłam tak:
    LSB,MSB,0
    Prawy dalej gra, w lewym trzeszczy.

    Podejście 3.
    wysyłam tylko dwa bajty:
    LSB,MSB i znowu prawy gra dobrze, lewy trzeszczy

    Podejście 4.
    jeżeli zamienię próbki na liczby bez znaku (zaneguję najstarszy bit) i przesunę o dwa miejsca w prawo, czyli wyślę coś takiego

    0,0,0,0,0,0,0,0,0,0,16,15,14,13,12,11,10,9,8,7,6,5,4,3

    gdzie numery od 16 do 3 to są bity probki (numerowane od 1)

    to obydwa kanały grają dobrze (rzecz jasna ciszej).

    Podejście 5.
    Jakbym przesunął tylko o jedno miejsce w lewo, czyli:
    0,0,0,0,0,0,0,0,0,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2

    To znowu prawy gra dobrze, a lewy trzeszczy.
    Pomyślałem że teraz bit 16 jest interpretowany przez przetwornik jako ujemny dla kanału lewego (dla prawego bit ze znakiem jest jeszcze o jedną pozycję w lewo, dlatego konfiguracja 0,MSB,LSB działała), wiec wysłałem w ten sposób liczby ze znakiem. Brak efektu (znowu trzeszczy).

    Mógł się uszkodzić? Przy pierwszym uruchomieniu przez parę sekund zasiliłem go napięciem ok. 12V (maksymalnie wg datasheet 9V), no ale dźwięk z siebie wydaje, tylko mam problem z tym bitem znaku dla lewego kanału.