logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak wgrać pliki WAV/MP3 do pamięci z ATMEGA i FT8U232BM?

Prymulka 04 Mar 2006 15:36 9082 10
REKLAMA
  • #1 2373576
    Prymulka
    Poziom 18  
    Posty: 378
    Pomógł: 9
    Ocena: 8
    Witam
    Mam układ składający się z procesora i pamięci kilka MB. Chciałbym wgrywać do tej pamięci dane z komputera np. pliki wav lub mp3. Ma to być jednocześnie proste. Chciałbym do mojego procka (prawdopodobnie jakaś ATMEGA) dołożyć konwerter FT8U232BM. Poszukujęteraz jakiegoś punktu zaczepienia. Narazie mam kilka pytań:
    1) czy pamięć bedzię musiała mieć jakiś system zapisu plików powiedzmy FAT32
    2) czy mikroprocesor będzie musiał zawierać coś w rodzaju sterownika portu USB tak aby komputer wiedział co zostalo podlaczone
    No w głowie miałem tego trochęwiecej ale jużmi wyleciało :D
    Bardzo prosze o odpowiedz
  • REKLAMA
  • #2 2373692
    JanuszPulit
    Poziom 17  
    Posty: 175
    Pomógł: 14
    Ocena: 4
    Prymulka napisał:
    Witam
    Mam układ składający się z procesora i pamięci kilka MB. Chciałbym wgrywać do tej pamięci dane z komputera np. pliki wav lub mp3. Ma to być jednocześnie proste. Chciałbym do mojego procka (prawdopodobnie jakaś ATMEGA) dołożyć konwerter FT8U232BM. Poszukujęteraz jakiegoś punktu zaczepienia.

    Masz ten układ już czy dopiero będziesz mieć?? Bo z pierwszego zdania wynika że już masz, a z drugiego że tylko planujesz...
    Jaki rodzaj pamięci chcesz zastosować??
    Cytat:

    Narazie mam kilka pytań:
    1) czy pamięć bedzię musiała mieć jakiś system zapisu plików powiedzmy FAT32
    2) czy mikroprocesor będzie musiał zawierać coś w rodzaju sterownika portu USB tak aby komputer wiedział co zostalo podlaczone
    No w głowie miałem tego trochęwiecej ale jużmi wyleciało :D

    1. Co to znaczy czy pamięć będzie miała system plików?? To przecież twoje urządzenie więc to w jaki sposób zorganizujesz zapamiętywanie zależy tylko od ciebie. Nie wiem zresztą jakiej pamięci planujesz użyć...

    2. Mikroprocesor nie będzie zawierać żadnego sterownika do usb bo przecież po to montujesz FT8U232BM żeby gadał z mikrokontrolerem przez uart,nieprawdaż?? Sterownik do usb to będzie po stronie PC i umożliwi ci komunikację z twoim prockiem via wirtualny port szeregowy.

    Jakkolwiek by nie patrzeć na taką hybrydę to nie będzie ona przypominać pendrive w żadnym wypadku...
    To urządzenie będzie duże, transmisja raczej nie dorówna usb, i do tego będziesz musiał jeszcze napisać własne oprogramowanie do komunikacji z tym urządzeniem - nie będzie to więc rozwiązanie przenośne.
    No a koszt zbudowania na pewno przewyższy zakup pendrive'a...
  • REKLAMA
  • #3 2373721
    Loker
    Poziom 39  
    Posty: 3368
    Pomógł: 575
    Ocena: 721
    Jesli podlaczysz urzadzenie do komputera a w urzadzeniu dasz konwerter USB-RS232, to komputer bedzie to widzial jako port COM, wiec bedziesz potrzebowal oprogramowania do obslugi przesylania plikow zarowno po stronie komputera, jak i projektowanego urzadzonka.
    Niektore ATMega maja mozliwosc bezposredniego podlaczenia USB, problemem jest wlasciwe oprogramowanie procka - ale wtedy urzadzenie bedzie widziane przez komputer jak tylko zechcesz ;)

    Pamiec moze miec jakikolwiek system zapisu danych - jedyna kwestia to odpowiedni program w mikroprocesorze ktory odbierze przesylane dane i w odpowiedni sposob zapisze je w pamieci.

    Polecam stronke http://www.yampp.com - tam znajdziesz wszystko, czego bedziesz potrzebowal :)
  • REKLAMA
  • #4 2373739
    wladi.klimek
    Poziom 18  
    Posty: 370
    Pomógł: 20
    Ocena: 46
    Układ, o ktorym mowisz mozna zrealizowac na przynajmniej dwa sposoby:

    1) do ukontrolera i pamieci dokladasz FT8U232BM i piszesz program dla Windows (etc.) umozliwiajacy wysylanie/pobieranie plikow z Twojego urzadzenia (choc nie koniecznie, moze uda sie wykozystac HyperTerminal). W tym rozwiazaniu nie trzeba implementowac FAT. Transmisja bedzie sie odbywac przez port szeregowy, wielkich predkosci nie osiagniesz, ale skoro masz tylko kilka MB pamieci to nie bedzie to szczegolnie uciazliwe.

    2) wykorzystujesz ukontroler z wbudowanym portem USB. Konieczna jest wtedy implementacja FAT.
  • #5 2374081
    Prymulka
    Poziom 18  
    Posty: 378
    Pomógł: 9
    Ocena: 8
    Obecnie mam ATMEGA8535 i pamięć DataFlash AT45DB161D. Cały ten blok układu pracuje prawidłowo. Tak wogóle to urządzenie służy mi do zapisywania komunikatów cośw stylu ISD i narazie układ zapisuje mi dźwięk z mikrofonu do pamięci. Teraz chcę to rozbudować o wgrywanie komunikatów z komutera.
    Co prawda kiedyś robiłem już programy na kompa ale z transmisją po RS232. Jednak dla swojej wygody i ewentualnie osób użytkujących to urządzenie wolałbym żeby urządzenie po podłaczeniu do USB zostało automatycznie wykryte jako dysk wymienny (oczywiscie w WinXP).
    A na samym koncu nie mam amiaru robićkonkurencji dla pendrive :), nie zaley mi tez na dużej prędkości transmisji ale żeby urządzenie było praktyczne i proste w obsłudze.
  • #6 2375750
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    Prymulka napisał:
    Jednak dla swojej wygody i ewentualnie osób użytkujących to urządzenie wolałbym żeby urządzenie po podłaczeniu do USB zostało automatycznie wykryte jako dysk wymienny (oczywiscie w WinXP).
    To jeśli ma być widoczne jako dysk wymienny to widze dwa problemy (obydwa ją jaknajbardziej do rozwiązania):
    1. programowa obsługa USB, implementacja klasy USB Storage
    2. implementacja obsługi systemu plików w Twoim urządzeniu (bo też musi "umieć" czytać i zapisywać pliki).
    Obydwie rzeczy są dość pracochłonne, przelicz siły i czas na zamiary, bo to moze być krytyczne.
  • #7 2378328
    Father
    Poziom 26  
    Posty: 681
    Pomógł: 88
    Ocena: 13
    Najlepszym rozwiązaniem byłoby chyba użycie pamięci DataFlash AT45 w postaci karty MMC lub po prostu kart CF, bo obsługę od strony PC mamy w takim wypadku rozwiązaną...
  • REKLAMA
  • #8 2379041
    Prymulka
    Poziom 18  
    Posty: 378
    Pomógł: 9
    Ocena: 8
    Ja używam AT45 tyle że w obudowach SO8. Jeżeli chodzi o karty MMC to myślałem że mają one taki sam interfejs co wersje SMD. Bo nie masz chyba na myśli że mam kupić sobie czytnik kart MMC?
  • #9 2379787
    Emiliano
    Poziom 12  
    Posty: 92
    Pomógł: 1
    Ocena: 6
    Wydaje mi sie ze najprostszym rozwiazaniem byloby zastosowanie mirkrokontrolera z wbudowanym sprzetowym interfejsem USB. Dzieki temu bedziesz musial zaimplementowac w procesorze protokol Mass Storage Class i nie bedziesz musial bawic sie w implementacje systemu pliku na procesorze, gdyz to zrobi za ciebie komputer PC poprzez protokol MSC. Mozliwe ze rozwizanie to pozwoli ci na formatowanie dysku na dowolny system plikow: FAT , NTFS. Jak procesor proponuje uklad CYPRESS'a CY7C68013. Wydaje mi sie ze wersja 56 nozkowa bedzie odpowiednia.
    Pozdrawiam
  • #10 2379959
    Prymulka
    Poziom 18  
    Posty: 378
    Pomógł: 9
    Ocena: 8
    A przez sprzętowego UARTa i FT8U232BM nie będęmógł skorzystać z tego protokołu?
  • #11 2380090
    Emiliano
    Poziom 12  
    Posty: 92
    Pomógł: 1
    Ocena: 6
    Wydaje mi sie ze bedziesz mogl zaimplementowac ten protokol. Z tymze samym przesylaniem danych zajalby sie konwerter usb-uart, a ty bys musial odpowiednie przesylac odpowiednie dane pomiedzy procesorem a konwerterem lub tez odebrac odpowiednie dane wyslale z komputera PC. W uproszczeniu ten protokol polega na tym ze komputer PC przesyla ci odpowiedni adres sektora nosnika informacji, ktory chce przeczytac oraz liczbe sektorow ktore chce odczytac od tego adresu. Ta sama sytuacja tyczy sie przy zapisie do dysku z tymze dodatkow PC dostarcza jeszcze dane pliku. Czyli twoje glowne zadania to:
    1. zapis i odczyt danych z nnosnika informacji.
    2. Przesylanie danych miedzy konwerterem a miktrokontrolerem czyli w tym miejscu implementacja protolkolu MSC.
    Dzieki temu nie musisz skupiac sie szczegolowo nad budowa systemu plikow czy to FAT czy NTFS bo to wszystko za ciebie robi komputer PC poprzez protokol MSC. Napisalem to wszystko oczywiscie w uproszczeniu i mozliwe sie sie gdzies pomylilem jesli tak to niech mnie ktos poprawi. Najlepiej to sciagnij sobie dokumentacje Mass storage Class Protocol na www.usb.org i poczytaj na czym on polega.
    Pozdrawiam

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy sposobów wgrywania plików WAV/MP3 do pamięci kilku megabajtów podłączonej do mikrokontrolera ATMEGA z konwerterem USB-RS232 FT8U232BM. Poruszono kwestie organizacji systemu plików w pamięci – nie jest konieczne stosowanie FAT32, jeśli komunikacja i zapis danych są realizowane własnym protokołem. Mikrokontroler nie wymaga sterownika USB, gdyż konwerter FT8U232BM zapewnia komunikację przez wirtualny port szeregowy (UART), a sterownik USB jest po stronie komputera. Transmisja przez UART jest wolniejsza niż natywne USB, ale wystarczająca dla kilku MB pamięci. Aby urządzenie było widoczne jako dysk wymienny w systemie Windows (np. XP), konieczna jest implementacja protokołu USB Mass Storage Class (MSC) oraz obsługa systemu plików, co jest pracochłonne. Alternatywnie można użyć mikrokontrolera z wbudowanym sprzętowym interfejsem USB (np. Cypress CY7C68013), który obsługuje MSC i pozwala na formatowanie dysku przez PC. W przypadku FT8U232BM implementacja MSC jest możliwa, ale wymaga własnego oprogramowania do obsługi protokołu i zarządzania pamięcią. Wspomniano także o pamięciach DataFlash AT45DB161D oraz możliwości użycia kart MMC lub CF dla uproszczenia obsługi po stronie PC. Podsumowując, najprostsze rozwiązanie to komunikacja przez UART z własnym protokołem, natomiast dla pełnej integracji jako dysk USB konieczna jest implementacja MSC i systemu plików lub zastosowanie mikrokontrolera z natywnym USB.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA