Skocz do zawartości
IGNORED

Uniwersalne urządzenie uP ARM


psamp7777

Rekomendowane odpowiedzi

Witam,

Chciałbym zaprojektować niewielkie urządzenie mikroprocesorowe o wymiarach powiedzmy 110x60mm. Na pokładzie znalazłby się procesor ARM prawdopodobnie LPC2368. Pewnie powiecie że nie ma to zbyt wiele wspólnego a audio... Racja - nie ma. Chciałbym używać go jedynie do sterowania przedwzmacniaczem który projektuję poprzez interfejs radiowy Bluetooth. Aktualny poziom głośności, czy wybrane wejście byłyby widoczne na wyświetlaczu TFT (transmisja dwukierunkowa). Wykorzystałbym też układ ten do nauki procesora ARM, poćwiczenia komunikacji USB, Bluetooth, być może Ethernet

Piszę o tym ponieważ chciałbym zorientować się, czy byłyby osoby zainteresowane wspólnym zamówieniem na płytkę i ewentualnie elementy. Z góry powiem, że gdyby takie osoby się znalazły postaram się w miarę szybko zaprojektować płytkę, natomiast jeśli chodzi o oprogramowanie to będę je robił w wolnych chwilach i nie obiecuję, że przekażę je komuś w jakimś terminie, chociaż jak coś napiszę (np jakąś procedurę obsługi czegoś) to chętnie udostępnię.

Koncepcja układu:

- procesor ARM LPC2368

- wyświetlacz TFT 160x128 250tys kol.

- interface bluetooth

- interface USB

- interface Rc5

- karta SD

- być może też przetwornik D/A dla iterfejsu I2S procesora (będzie można poćwiczyć trochę przetwarzanie sygnałów, choć to oczywiście nie jest DSP)

- zasilanie z bateri polimerowej, ładowanej poprzez USB

- PCB dwustronne z metalizacją otworów i maską lutowniczą

- programowanie poprzez RS232

 

ze względu na dużą uniwersalność konstrukcji można ją wykorzystać dowolnie w wielu zastosowaniach - można pokusić się o napisanie aplikacji zapewniających: przesyłanie plików z PC na kartę SD poprzez bluetooth, transmisję bezprzewodową dźwięku, dekodowanie plików JPEG i prezentację na TFT, napisanie własnego środowiska obsługi itd...

 

Jeśli macie jakieś sugestie co można jeszcze dołożyć do projektu, lub coś zmienić, to czekam

Jeśli są osoby wstępnie zainteresowane wspólnym zamówieniem płytek to proszę o wstępną niezobowiązującą deklarację

 

Pozdrawiam

Odnośnik do komentarza
https://www.audiostereo.pl/topic/56848-uniwersalne-urz%C4%85dzenie-up-arm/
Udostępnij na innych stronach

>psamp7777

 

ma to sens gdy:

1/ będzie dostępny soft, inaczej co komu po płytce, no chyba , że sam sobie napisze, ale tu więcej sprzętowców niż programistów,

2/ w tej zakładce mile widziany byłby serwer muzyczny, czyli możliwość przegrania plików z PC na kartę np SD, a następnie z karty wysłanie/odtwarzanie tego na wyjście I2S - i już, to wystarczy ponieważ DACa z wejściem I2S się znajdzie, oczywiście jakby się miejsce na DIT do formatu SPDIF znalazło to byłoby łatwiej niektórym kolegom, ale Wy po I2S jest obowiązkowe :)))

 

gdyby tak miało być z chęcią się dopiszę.

Powiem szczerze że napisanie fajnego programu trochę musi potrwać. Nie wiem kiedy go skończę, więc i tak nikt by nie zgłosił się na wspólne zamówienie czekając na program nie wiadomo jak długo. Miałem nadzieję, że są osoby które chcą poćwiczyć, bądź nauczyć się programować ARM-y. Programuje się je całkiem przyjemnie. Natomiast wyjście I2S - ma je wbudowane procesor więc nie ma problemu. Problem stanowią głównie gabaryty.

Program lub jego część będę udostępniał na bieżąco - tyle mogę obiecać. Całkowity koszt takiej płytki w firmie Norel wynosi około 200zł za przygotowanie produkcji + cena pojedynczych płytek

Rzecz w tym, że I2S nie nadaje się do transmisji na odległość, chyba że sygnały są odpowiednio buforowane, ale nie ma to raczej sensu. Jeśli więć ma być wyjście to trzeba dołożyć transmitter SPDIF, lub po prostu zabudować DAC'a na pokładzie.

ja bym do takiej konstrukcji zdecydowanie dorzucil codeca audio czyli A/D i D/A na I2S oraz jakis ethernet - chodzby do programowania i debugingu - RS232 jest wzglednie dobry do prostego debugingu ale do programowania takiego procka to juz bedzie za wolny ... ile chcesz dac pamieci RAM/ROM?

 

aha - i jak chcesz zeby to sensownie chodzilo to raczej pomysl od razu o plytce min 4 warstowej

Ja jestem za, choć obawiam się jego śmierci

(inny projekt: sterownik alps kisi się do dzisiaj, a szkoda. Bikoz nie daje znaku życia. Gdyby choć można było wyciągnąć od niego źródła...)

 

Co do ARM to płytki 4-warstwowej nie potrzeba, można znaleźć procesor w rozsądnej obudowie.

Wiedza i doświadczenie przychodzą z wiekiem, najczęściej z wiekiem trumny.

Trochę sensu poproszę.

O wiele lepszy od RS232 jest interface JTAG do debugingu. W pierwszym zamierzeniu chciałem zrobić maksymalnie prosty i mały układ dlatego wybrałem tego RS-a. Nie mam tez programatora JTAG. Może pożycze z pracy, ale to może być problem też dla innych. Pamięć RAM i ROM jest wbudowana w procesor. Nie sądzę żebym potrzebował jej więcej. Pamięci programu jest 512kB, a RAMu 32kB. Wszelkie duże zbiory danych będą przechowywane na karcie SD. Płytka 4-warstwowa. Dobry pomysł. Podejrzewam że na dwustronnej też "jako tako by chodziło", ale faktycznie druk 4 warstwowy pozwala na lepsze gospodarowanie ścieżkami zasilania i można w ten sposób zbudować układ bardzo stabilny, odporny na zakłócenia i interferencje. Na druku dwustronnym można zrobić układy mikroprocesorowe które przechodzą surowe badania przemysłowe, ale jest to prostsze na płytce 4 warstwowej. Zapytam o cene takiej wersji.

Przyznam że z początku nawet nie chciałem wykorzystywać tego wyjścia I2S. To miało być urządzenie przenośne, a nie jakiś stacjonarny serwer muzyczny. Z wpisów wnioskuję, że chyba tego bardziej oczekujecie. Ten procesor nie jest jednostką DSP. Można troche pokombinować nim na sygnale cyfrowym, ale chciałem raczej poeksperymentować, a nie budować jakieś hi-endowe źródło. W takim przypadku trzeba by pomyśleć o jakimś dobrym układzie zegarowym.

Widzę że każdy tutaj raczej jest zainteresowany wykorzystaniem I2S więc napiszcie może czego byście oczekiwali po tym urządzeniu - mam na myśli funkcjonalność i poziom jakości.

psamp7777

>Zapytam o cene takiej wersji.

Widzę że nie masz pojęcia jakie są ceny za taki druk, zwłaszcza w Polsce. Moim zdaniem wybranie takiego wariantu, zwłaszcza gdy chcesz wykonać większy projekt a nie masz doświadczenia w programowaniu ARM czyni projekt bezsensownym.

Wiedza i doświadczenie przychodzą z wiekiem, najczęściej z wiekiem trumny.

Trochę sensu poproszę.

Po co wynajdywać koło, tutaj masz idealnego gotowca:

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Do obsługi Bluetooth polecam moduły Bluegiga podłączane przez RS-232 TTL.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Witam

 

Bawię się czymś podobnym w ramach magisterki o roboczym tytule "Cyfrowy odtwarzacz audio na procesorze ARM9" założenie jest że do arma stąd

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) dobudowuje przetwornik DAC o jak najwyższych parametrach + SPDIF + wzmacniacz słuchawkowy + interfejs jakiś LCD

Na procku działa linux więc nie ma problemów z obsługą sieci i systemu plików.

 

Dopiero zaczynam (obrona czerwiec 2010) więc moze razem coś z tym ruszymy z korzyścią dla wszystkich.

 

Co do I2S to może puścić dane z procka w innym standardzie np AC97 żeby można było daca wielokanałowego wpiąć ?

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Przepraszam że tak post pod postem ale chciałem dodać coś na temat zegara jeśli zostajemy przy I2S.

Mam pomysł taki żeby oddzielić zegar systemowy od zegara I2S. Tak żeby CPU było slave'em dla DAC. Coś jak jeden z trybów pracy kodeka tlv320aic23. Taki coś można zrobić podpinając daca poprzez jakieś proste PLD. Wtedy zegar I2C można stabilizować na poziomie ułamków procenta.

luka_z

Taki moduł jako stoliczek + 2 warstwowa płytka z interfejsami to jest to;) A separacja zegarów jak najbardziej. Z peryferii to oczywiście ATA dla pamieci/HDD i CD-rom. Tyle że łatw owykonać hardware, gorzej napisać..

Wiedza i doświadczenie przychodzą z wiekiem, najczęściej z wiekiem trumny.

Trochę sensu poproszę.

Widzę że robi się coraz ciekawiej :-) Budujesz od podstaw hardware dla swojej pracy, czy będziesz z czegoś korzystał? Ja myślałem o ARM7 bez systemu operacyjnego, chciałem napisać po prostu środowisko obsługi w języku C++ łącznie z obsługą plików itd. Taki powrót do epoki kamienia łupanego że tak powiem :) Twój projekt też jest bardzo ciekawy, dałeś mi troche do myślenia.

Jeśli dobrze rozumiem proponujesz pracę w trybie Slave - czyli zewnętrzny układ który generuje sygnały zegarowy oraz "word select", a procesor wydaje w tak tego sygnał danych. Tak to musiałoby wyglądać jeśli chcemy uzyskać mały jitter - zgadzam się. Zadaniem układu PLD byłoby generowanie sygnału WS? Czy również stabilizacja zegara? Jak widzisz budowę samego zegara?

 

 

Pozdrawiam

psamp7777

nie bój się płytek 4 warstowych, w PL jest przynajmniej jeden zakład, który robi takie płytki o 30-60% drozej niz 2 warstwowe (wliczając uruchomienie), czyli 4 warstwwe są już dostepne nawet dla DIY

 

dla serwera muzyki liczą się:

- wyjście I2S, bo DACa można dopiąc,

- formaty przynajmniej po 1 stratnym i bezstratnym, czyli MP3, Wav, flac

- zegar zewnetrzny mile widziany,

- nosnik danych : minimum SD, ale HDD byłby mile widziany,

- wyświetlacz - jak największy!

Waldi_06, zlituj się:(

Hardware no najmniejszy problem. Masz przykład gotowca z rozsądną platformą, do tego wystarczą peryferia na 2-warstwowym druku. Przy zmianie projektu zawsze można wymienić je na nowe i po kłopocie. A oprogramowanie do gołego ARM to pół roku na dzień dobry.

Wiedza i doświadczenie przychodzą z wiekiem, najczęściej z wiekiem trumny.

Trochę sensu poproszę.

wątek o ARM to musze się wpisać ;)

 

pytanie główne - co to ma robić?

czy to ma być typowy układ ewaluacyjny czy jakiś konkret (patrz wątek o HDD serwerze)

 

po przestudiowaniu tematu osobiście wolałbym coś na LPC2478 bo to prawdziwy kombajn i jest w LQFP208 czyli jeszcze do przełknięcia dla DIY ;)

 

z najciekawszych rzeczy:

72 MHz

512 kB flash z pełną prędkością rdzenia

98 kB SRAM

obsługa SDRAM

kontroler LCD

Dual Advanced High-performance Bus (AHB) ze sprzętowymi kanałami DMA

Ethernet

USB 2.0 device/host/OTG

SPI, I2S

interfejs SD/MMC

10-bit ADC

10-bit DAC

 

wada - to dalej jest TDMI7 - fajne są ARM9 ale tych w nie-BGA jest mniej niż palców w jednej dłoni

 

odchodząc od DIY - są fajne eval-boardy z ARM9 jak to się mówi "wyczesane w kosmos" ale ceny to zazwyczaj powyżej 800zł - za te lepsze 1200+ :(

 

niemniej będę śledził wątek - bo nie dość, że czasu mało to dorwałem dwie książki o VHDL (po 700 stron każda) więc trochę zajmnie mi ich strawienie

aha - w tych wszystkich prockach I2S może pracować tylko do 96kHz - więc jak ktoś chce mieć full HD ready dla audio (192kHz) to trzeba to zrobić innaczej

 

chyba lepiej zrobić płytkę full wypas i począkowo wykorzystać 20% możliwości niż potem piepszyć się z robieniem kolejnej jak wersja basic okaże się niewystarczająca...

>tylko do 96kHz

No to klops:(

 

>chyba lepiej zrobić płytkę full wypas i począkowo wykorzystać 20%

Jestem pesymistą. Zanim nastąpi oprogramowanie, wystąpi zmiana hardware

Wiedza i doświadczenie przychodzą z wiekiem, najczęściej z wiekiem trumny.

Trochę sensu poproszę.

96kHz to dla was mało? To nawet nie jest procesor sygnałowy. Chodzi o to że można wysłać na port I2S bezstratny sygnał o jakości nawet lepszej od CD. To przecież nie jest upsampler. Jeżeli chcemy robić upsampler to bierzemy raczej DSP. Mamy sygnał o jakości CD na wyjściu I2S - możemy do tego wyjścia podłączyć gotowy upsampler i przez niego dopiero na DAC-a. Tutaj częstotliwość próbkowania jest na wystarczającym poziomie, ważniejszym problemem jest dorobić dobry układ zegarowy.

Niestety temat zboczył nam na zupełnie inne tory. Chcąc projektować jakiś porządny serwer audio musiałbym zupełnie zmienić koncepcję zaczynając od procesora...To miał być tylko wypasiony pilot... :-) Miał posiadać niewielkie wymiary więc odpadało użycie gotowych modułów. W tego typu układzie płytka 4-warstwowa miałaby sens, gdyż pozwala zredukować wymiary jeszcze bardziej. W rozbudowanym serwerze układ i tak składałby się z modułów czy to gotowych czy też wykonywanych przez nas. W takim przypadku sensowne byłoby wykorzystanie modułu z procesorem i poprzestanie na dwóch warstwach. Pozostaje jeszcze kwestia że być może ja chcę zaprojektować płytkę z procesorem? W końcu to DIY. Można kupować gotowy sprzęt, można budować go z wykorzystaniem modułów, można też budować go od podstaw. Proszę nie mówić że projektowanie hardwaru czy płytek drukowanych jest banalne, szczególnie jeśli układ pracuje przy wysokich częstotliwościach. To zbyt daleko idące uproszczenie. Hardware decyduje o możliwościach układu, jego parametrach, stabilności, odporności na zakłócenia. Nawet jeśli opiera się wyłącznie o układy scalone wymaga doświadczenia w projektowaniu - oczywiście jeśli ma być dobry.

>psamp7777

 

masz rację pisząc , że owe 96 nie ma znaczenia, ponieważ po I2S z flaca, Wave zwykłego i MP3 przyjdzie sygnał 44.1 lub 48 i już. koniec kropka.

tylko nieliczne pliki HD są nagrane oryginalnie na 96, Linn takie sprzedaje. niektórzy pasjonaci tak zgrywają swoje analogowe kolekcje,

masz też rację, że dalszą obróbkę stosuje sie w DACu np przez zastosowanie upsamplera.

 

jak widzisz tak naprawdę niewiele potrzeba, aby twoją koncepcje przystosować do pracy jako serwer muzyki,

opowiadam się za prostrzym rozwiązaniem u mnie w domu, niż za full wypasem na papierze,

Witam

 

Co do wyboru ARMa to dziewiątki są w 208-lead PQFP np AT91sam9260. Ale to nie o to chodzi. Do takiego sprzętu trzeba dodać Ram dodać FLASH. Poprowadzić równej długości ścieżki, przetestować ze 3 prototypy. To są koszty i czas. Poza tym jak mamy gotowy os system to nie musimy tracić czasu na oprogramowanie które i tak nie jest istotne (dostęp do dysku, sieć wyświetlacz) a zająć się istotnym (odczyt plików, dekodowanie, ew. resampling) Co do szybkości to nie wiem jak wy to liczycie ale po mojemu to wydaje się że Atmelowski SSC przy obsłudze I2S może pracować z prędkością 0.5 main clk czyli do 110MHz przy założeniu że wysyłamy próbki 24bitowe to i tak WS może być w MHz ale to nie jest problemem. Problemem jest czas dostępu do RAMu. Może ktoś z was próbował?

 

Zastanawiam się czy nie rozdzielić tego wątku na dwa. (jeden o moim "odtwarzaczu" a drugi o "pilocie" kolegi psamp7777)?

Waldi_06

>masz rację pisząc , że owe 96 nie ma znaczenia,

Według mnie jest dokładnie odwrotnie. Nie ma znaczenia oversampling a możliwość odtwarzania oryginalnego formatu. To o czym mówisz jest aktualne, ale na teraz. Dodając problemy z napisaniem sterowników finalny produkt będzie po prostu przestarzały. Bez sensu. Jako uniwersalny pilot itp., a takie były założenia, pomysł i sposób realizacji jest fantastyczny.

 

luka_z

Popieram! Masz pełną rację co do założeń, najlepiej załóż od razu nowy wątek albo dołącz się do

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą ) Temat już został rozpoczęty;) pozdr.

Ukryta Zawartość

    Zaloguj się, aby zobaczyć treść.
Zaloguj się, aby zobaczyć treść (możliwe logowanie za pomocą )

Wiedza i doświadczenie przychodzą z wiekiem, najczęściej z wiekiem trumny.

Trochę sensu poproszę.

Myślę że to dobry pomysł z osobnym wątkiem, to trochę inny temat, zresztą bardzo ciekawy i chętnię będę go śledził.

 

Co do możliwości odtwarzania oryginalnego formatu - ja nie mam muzyki w takim formacie, z tego co widzę nadal obowiązuje standard CD w sprzęcie stereo.

  • Pokaż nowe odpowiedzi
  • Zarchiwizowany

    Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.



    • Ostatnio przeglądający   0 użytkowników

      • Brak zarejestrowanych użytkowników przeglądających tę stronę.
    • Biuletyn

      Chcesz być na bieżąco ze wszystkimi naszymi najnowszymi wiadomościami i informacjami?
      Zapisz się
    • KONTO PREMIUM


    • Ostatnio dodane opinie o sprzęcie

      Ostatnio dodane opinie o albumach

    • Najnowsze wpisy na blogu

    ×
    ×
    • Dodaj nową pozycję...

                      wykrzyknik.png

    Wykryto oprogramowanie blokujące typu AdBlock!
     

    Nasza strona utrzymuje się dzięki wyświetlanym reklamom.
    Reklamy są związane tematycznie ze stroną i nie są uciążliwe. 

     

    Nie przeszkadzają podczas czytania oraz nie wymagają dodatkowych akcji aby je zamykać.

     

    Prosimy wyłącz rozszerzenie AdBlock lub oprogramowanie blokujące, podczas przeglądania strony.

    Zarejestrowani użytkownicy + mogą wyłączyć ten komunikat oraz na ukrycie połowy reklam wyświetlanych na forum.