Elektroda.pl
Elektroda.pl
X
Elektroda.pl
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wszystko na temat AT89C51SND1C. Czyli MP3 w kieszeni.

eBonifacy 28 Sie 2006 21:31 42490 226
  • #121
    radioda
    Poziom 15  
    Hmm IDE to interfejs równoległy więc sprzętowa implementacja w tym mikrokontrolerze w prawdzie ułatwia sprawe, ale jest bardzo prosta. Masz po prostu jakby 16 bitowy port od strony software włącznie z automatyczną obsługą zatrzasku typu latch. Na pewno takie rozwiązanie przyspiesza transfer. Natomiast dostęp do HDD (komendy itp) musisz zaimplementować Ty.

    Podobnie USB, z tym że jest to interfejs szeregowy. Sprzętowa implementacja tutaj bardzo ułatwia sprawe gdyż jest on o wiele bardziej skomplikowany. Jednak o to jak komputer będzie widział Twoje urządzenie od strony USB to już zależy od Ciebie. Jest bardzo wiele klas USB w tym Mass Storage Class dzięki której PC widzi podpięte urządzenie jako przenośny dysk. To jaką klase prezentuje podpięte urządzenie zależy od deskryptorów jakie wysyła. W deskryptorach zawarty jest dokładny opis urządzenia jego konfiguracji, interfejsów, endpointów itp.

    Warto zagłębić sie w lekturę specyfikacji do AT89C51SND1C, USB, IDE itp. Wszystko jest dostępne w internecie.
  • PCBway
  • #123
    jacynka84
    Poziom 26  
    Witam. mam pytanie odnośnie Bascom -
    jak ten klotzek ma sie do tego języka? da sie zrobić ten odtw. MP3 na Bascom'ie?
    Prosze o jakąkolwiek odpowiedź , żebym sie nie męczył...
  • #124
    szymtro
    Poziom 30  
    SND1C posiada rdzeń '51 więc bez problemu się da. Jest chyba też gdzieś w sieci plik konfiguracyjny z wpisanymi rejestrami. A nawet bez niego jest to do zrobienia. Po prostu wstawia sie mov odpowiedni_reg, coś_tam i musi zadziałać. Tak samo jest z każdym innym nowym uC na rdzeniu 51.

    W skrócie można powiedzieć tak: jak dasz radę sobie to skutecznie przylutować do płytki to zaprogramowanie będzie już bułką z masłem.
    Chyba i tak prościej to przylutować niz jakiegokolwiek nowoczesnego arm'a.

    P.S.
    Ktoś gdzieś wspomniał że albo na te święta albo w styczniu pojawi się wreszcie bascom-arm i ma to być hit który znowu wprowadzi w życie nowoczesnych uC paru nowych użytkowników.
  • #125
    jacynka84
    Poziom 26  
    Będe szukał w sieci tego siuwaxu do rejestrów w bascom.
    Tylko co, jak znajde?
    ps. tylko jak ten dekoder mp3 sie w bascom obsługuje???
  • #126
    radioda
    Poziom 15  
    Poprzez rejestry jak wszystko inne... W tym przypadku BASCOM przyda Ci sie tylko jeśli po prostu jego znasz najlepiej z pośród języków programowania. Niestety nie będzie miał gotowej "cegiełki" typu komenda PlayMP3 "ścieżka". Musisz wgłębić się w lektórę Datasheet do tego uC i poczytac jak odtworzyc piosenke. Ta czynność nie jest akurat specjalnie skomplikowana, ale problem jest z nośnikiem z którego ta MP3 bedzie puszczona. Ogónie rzecz biorac jest co robić, ale przy odrobinie chęci... ;)

    Za to z pakietu BASCOMA mogą Ci sie przydać inne komendy np. obsługa LCD nad którą nie będziesz musiał siedzieć bo to masz wbudowane.
    Musisz pamiętac że BASCOM jest pamięciożerny, jednak 64kB to chyba wystarczajaca ilość nawet dla kompilatorów bardzo wysokiego poziomu. ;)
  • #127
    darrrrek
    Poziom 22  
    Widzialem taką mp3 na uC AT89C51SND1C. Firma Proxima produkuje mp3'jki sterowane z DMX512 oparte wlasnie na nim
  • PCBway
  • #128
    szymtro
    Poziom 30  
    Jak tylko uda mi sie zaprojektować płytkę a potem jakoś przylutować te tqfp 80 to zacznę bawić się w mp3 w bascomie. Do tego chciałem użyć mmc bo łatwo kupić rózne gniazda do tego no i dlatego że hardware wspiera takie coś.

    Z tego co policzyłem na szybko bez optymalizacji to w 5,5 kb powinno sie zmieścić coś takiego razem z odczytem fat12-16 ale bez rozgryzania id3tag.

    Nowy rok - nowe projekty!
  • #129
    jacynka84
    Poziom 26  
    Wystarczy numeracja utworów.
    Wiesz może już co zrobić z Rejestrami?
  • #130
    szymtro
    Poziom 30  
    Najpierw odpalimy rs - będzie widać że procesorek żyje i ma odpowiednie taktowanie. Do tego to chyba jakiś max2323 albo przejściówka usb od telefonu kom bo to tylko 3V akceptuje.

    --------------------------------------------------------------------------------

    Jakieś cztery dni temu na allegro znalazłem taką ofertę:
    http://www.allegro.pl/item145142756_zestaw_diy_modul_odtwarzacza_mp3_na_vs1003_.html

    45zł wraz z wliczoną przesyłką (chyba) to nie jest dużo i co poniektórzy mieli by już na czym zacząć.
    To nie jest żadna reklama z mojej strony tej oferty - mysłałem że niektórzy woleli by wiedzieć o takim fakcie.
  • #131
    duncan_84
    Poziom 10  
    Witam. Mam zapewne proste pytanie. Czym jest interfejs IDE w mikrokontr. SND? Np. czy taki interfejs trzeba oprogramowyć - implementować protoków ATAPI, czy jest on już zaimplementowany ? Czym różnią się piny tego interfejsu od pinów zwykłego portu. Bardzo prosze o pomoc. Pozdrawiam.
  • #132
    jacynka84
    Poziom 26  
    O ile wiem IDE to ten interfejs od HDD ,jak na płycie głównej ,to tak z grubsza.
  • #133
    szymtro
    Poziom 30  
    Ze strony snd1c wsparcie dla ide opiera się tylko na automatycznym zapisie/odczycie liczby 16 bitowej z interface'u ide. Zapisujesz jeden bajt do akumulatora, drugi do odpowiedniego rejestru (dat16h) i wydajesz polecenie movx z jakaś wartością (nie ustalałem jeszcze jaką) a procesorek odrazu wystawia 16 bitów na P0 i P2 sterujac przy tym końcowkami /WR i /RD.
    Jeżeli podłączysz tak jak w dokumentacji: razem z zatrzaskiem do A0..2 i /CS0 i /CS1 to będzie ci wysyłało automatycznie do okreslonego układu i ustawiało adres rejestru. Ale ATAPI będziesz musiał zrobić sam.

    Jezeli uda ci się podłączyć jakkolwiek ide do uC to już samo sterowanie jest proste - w końcu atapi to tylko odpowiednia kolejność wysyłania/odczytu kolejnych bajtów (dwa naraz bo ide ma 16 bitów) do rejestru danych i czytanie odpowiedzi.
  • #134
    davciu
    Poziom 11  
    Przeglądam dokumentacje dotyczącą tego układu i mam pytanie dotyczące obliczania PLLclk i MP3clk. Mianowice Rejestry PLLCON, PLLRDIV, PLLNDIV - zawierają informację o R i N, czyli jeśli wybieram R=3 to jest to ustawiony bit rejestru PLLRDIV - 00000010, analogicznie dla PLLNDIV i MP3DAT. Czy tak to właśnie jest?
  • #135
    radioda
    Poziom 15  
    Podłączyłem HDD do SND bezpośrednio, czyli bez żadnych konwerterów poziomów i nie bardzo to chce ze sobą współpracować. Niewiem czy to wina właśnie tej różnicy poziomów logicznych między dyskiem a mikrokontrolerem, czy to cos innego.
    Sprawdziłem już chyba wszystko i dysk najwidoczniej cały czas ma BSY = 1. Na razie nie skupiał bym sie nad tym czemu dysk jest zajęty, ale chciałbym wiedzieć czy ktoś to podłączył tak jak ja (czyli bez 74LS245) i czy mu ruszyło?
  • #136
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #137
    radioda
    Poziom 15  
    Dysk podłączony do PC działa bez problemu. Napięcie do dysku podaje z zasilacza komputerowego. Dysk po włączeniu rozpędza sie i dioda na DASP gaśnie po około 0,5s, a BSY dalej 1. Wydaje mi sie że to coś z komunikacją. Nie chciał bym podejmować pochopnych decyzji i przebudowywać układ gdy nie wiem na 100% co jest nie tak. Chwilowo nie mam sprawnego oscyloskopu żeby poobserować co sie dzieje na liniach IO dysku. Więc stoje w miejscu z projektem i moge tylko spekulować...
    Ciagle jednak gnębi mnie ta różnica w poziomach logicznych - dysk 5V, a uC 3,3V...
  • #138
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #139
    radioda
    Poziom 15  
    Niewiem, może jeszcze kiedyś do tego wróce. Póki co sie sparzyłem. Wyglada na to że zaufałem Atmelowi i to był mój błąd...
    Pytanie jednak dalej aktualne: czy ktoś podłączył bezpośrednio jakąś '51 zasilaną z 3,3V do innego układu na 5V i co z tego wyszło?
  • #140
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #141
    radioda
    Poziom 15  
    Myślałem o tym, tylko że złącza do sysku 2,5" sa trudno dostępne. Ja musiałem zakupić przelotke 2,5" > 3,5" i z niej wymontować to gniazdo.
    Myślałem też żeby zbudować osobny układ na jakiejś '51, podłączć tylko dysk i zobaczyć jak to działa. Ale tak ogólnie stwierdziłem że mi sie niechce :D Czyżbym sie wypalił?:>
  • #142
    djcezar
    Poziom 14  
    Witam
    nie wiem czy czytacie posty od początku ale układ działa podłączony bezpośrednio do IDE ale musi być podłączony przez rezystory tak jak w załączniku. U mnie działa to wyśmienicie.
    pozdrawiam
  • #143
    radioda
    Poziom 15  
    Spróbuje jakoś wstawić te rezystory. Mam nadzieje że to pomoże. Mam tylko pytanie: czy sprawdzałeś czy bez tych rezystorów układ pracuje?
  • #144
    djcezar
    Poziom 14  
    Nie nie sprawdzałem bo po co jeśli producent takie podłączenie zaleca?
    Rezystory stosuje się po to aby obniżyć różnice potencjałów przez spadek napięcia na nich a co za tym idzie, obniżyć prąd.
    Myśle że jeśli podepniesz rezystory to nic sie nie zmieni, ale moge sie mylić o ile nic nie siadło.


    A program napisałeś sam czy jakiś referencyjny?
    Pozdrawiam.
  • #145
    radioda
    Poziom 15  
    To już nie rozumiem. Zalecasz rezystory, ale uważasz że nic sie nie zmieni? To już sam nie wiem co robić?
    Jeśli chodzi o program to nie filozofia zczytać rejestr statusu z dysku. Myśle że program jest ok.
  • #146
    djcezar
    Poziom 14  
    Rezystory musza być, a czy coś zmieni to sam musisz sprawdzić
  • #148
    Doombringer
    Poziom 10  
    radioda napisał:
    Mój projekt MP3 Playerka postępuje ;) Zawaliłem troche szkołe ale przynajmniej wykonałem PCB. :P
    Zmontowałem jak dotąd obwód zasilania - pracuje poprawnie. Naładowałem nawet baterie od komórki czyli zasilanko by było ;)
    Wygląda to narazie mnie więcej tak:
    Góra
    Przód
    Dół

    Jak widać płytka domowej roboty i tu jest właśnie lipa... Jak sie okazało niektóre ścieżki pozwierane są z masą! Najgorsze że nie widać tego gołym okiem ani pod lupą. Szukaj wiatru w polu! Nie wiem jaki jest tego powód? Może niedotrawienie? Nigdy mi sie jeszcze tak nie zdarzyło! Mógłbym wprawdzie przerysować igłą zwarte ścieżki dookoła, ale stwierdziłem że za dużo zabawy z tym jest, a pozatym niewiem ile jeszcze takich ukrytych wad tam może być.
    Zdecydowałem więc że zlece zrobienie płytki zakładowi, przynajmniej zrobią ją porządnie (chociaż nie robią metalizacji do prototypów, a szkoda). Nie wlutowałem jeszcze dużo elementów więc nie będzie problemów z zaczęciem od nowa.
    Nie wiem oczywiście jak wypadnie cały projekt bo jest to prototyp w dodatku projektowany w całości przeze mnie ;) Zobaczymy. Oby sie udało bo włożyłem już w to tyle czasu i wysiłku że głowa mała :D
    Gdyby nie te ściezki pewnie pierwsze programowanie miałbym już za sobą ;)

    No nic, czekam na nową płytke i jedziemy z koksem ;)

    Pozdrawiam!


    Witam.
    T teraz ja zadam lamerskie pytanie. Jak podłączyłeś wyświetlacz nokii do płytki. i oczywiście czy robisz wegług schematu SCHEMAT.PDF z tego zagadnienia?

    Sorka za dziwne pytania :)
  • #149
    radioda
    Poziom 15  
    Wyświetlacz do płytki jest podłączony przez pola stykowe. Jest on po prostu do niej przytwierdzony dokładnie tak jak do PCB telefonu komórkowego. uC komunikuje sie z nim poprzez sprzetowe SPI. Schemat mam na bazie reference Atmela.
  • #150
    Doombringer
    Poziom 10  
    chodzi mi o schemat ze strony 3
    post z: 15 Kwi 2005 23:31 Re: Wszystko na temat AT89C51SND1C. Czyli MP3 w kieszeni. (pierwszy od góry).
    Zadam pytanie inaczej. czy mogę podłączyć wyświetlacz do nie podłaczonych styków w procku i zaprogramować ich działanie?

    Poza tym w schemacie okład UDA1334BTS ma oznaczone styki jak U-UDA1330ATS. A jest między tymi układami drobna różnica, nawet tego że ten drugi jest dostępny w polsce. najgorsze jest to że ciężko jest dostać pamieć samsunga w polsce choć jest już stosunkowo tania. do tego jeszcze jedno pytanie czy można wykorzystać niepodłaczone styki proska do dodania kilku przełączników wiecej? 4 to jednak mało... przez styki rozumiem wolne styki oznaczone "P" czyli jak rozumiem programowalne?

    Z góry dzięki za odpowiedź
    Pozdro

    PS. Ah i jeszcze jedno.
    W schemacie jest kilka miejsc oznaczonych jako miejsca łączenia np VSS, VDD, DVDD, DVSS itp. istnieją też osobne układy składajace się tylko z kondensatora i dwóch punktów łączenia np: VSS-VDD lub DVDD-DVSS. Ponieważ kondesatory sa różnych nominaów wnioskuję że każde takie łączenie ma być z innym takim układem. Problem w tym że układów na schemacie jest mniej niż miejsc łączeń. Jeśli nie jest to zrozumiałe to postaram się później wyjaśnić bardziej o co mi chodzi