Mam taką koncepcje - chce sobie zbudowac cos w rodzaju prostego DSO, załóżmy że mam szybki przetwornik analogowo-cyfrowy, koło 120MSPS z wyjsciem równoległym, chciałbym sobie z peceta zczytywać przez rsa to co ten przetwornik zmierzy. Oczywiście coś musi ten przetwornik buforować, albo jakaś szybka pamięć, ale takich to zabardzo nie widze albo przyszło mi do głowy użycie dostępnego ponoć w seguro arma AT91RM9200. Nie programowałem jeszcze ARMów, z pdfa wynika jednak że bootloader może załadować kod przez rsa - czy mam rozumieć że ten bootloader jest juz tam na sztywno i np po podłączeniu zasilania sobie zassie to co ja xmodem wysle mu ? . Słyszałem że gcc jest też na ARMy, ale guglownica znajduje mi tylko gcc w kontekscie gameboyow lub jakis gotowych plytek - da sie tym arm-gcc stworzyc kod ktory wyslalbym sobie serialem do tego arma ? Jeszcze jedno on ma jakies mmu - musze mu podlaczanczac DRAM ? W zasadzie to chce tylko tyle zeby sobie napisac prosty kod ktory zczyta np 8k do wewnetrznego RAMu a potem mi to wysle przez rs232.
AT91RM9200
Feb 02, 2005
7 Replies
Jeżeli chcesz podczepić ten przetwornik do tytułowego ARMa, to raczej znajdź szybszy procesor. AT91RM9200 chodzi z zegarem max 200 MHz, a to nie wystarczy aby odbierać 120 MB/s. Jak zobaczysz przebiegi czasowe dostępów do magistrali zewnętrznej to zrozumiesz.
No chyba że procesor grzecznie poczeka, aż dane same wskoczą do pamięci (liczniki + _szybki_ SRAM), a potem je bez pośpiechu będzie obrabiał. Ale wtedy niepotrzebna aż taka kobyła jak AT91RM9200 (widziałeś go? obudowa PQFP208, na oko z 3x3 cm).
Tak. Bootloader jest zaszyty w ROMie i może wciągać kod do wewnętrznego RAMu np. przez UART protokołem XModem. Albo z zewnętrznej pamięci DataFlash, co też jest wygodnym rozwiązaniem.
Tak, potrzebujesz arm-elf-gcc, najlepiej ściągnąć źródła i samemu skompilować jeżeli nie możesz znaleźć gotowych binariów pod swój system operacyjny.
Da się.
Nie musisz, można podczepić zwykły SRAM i chyba MMU nic do tego nie ma. Ten procesor ma w środku AFAIR tylko 16KB RAMu (+kesze) więc podłączenie pamięci zewnętrznej jest niezbędne.
AT91RM9200 nie wyrobi z odbieraniem 120 MB/s do pamięci zewnętrznej.
1) Znajdź odpowiednio szybką pamięć FIFO 2) Wtedy już nie potrzebujesz tego ARMa, wystarczy najprostszy AVRAlbo poszukaj szybkiego SRAMu, doczep kilka liczników i bramek, generator 120 MHz - i próbki ładuj prosto do pamięci. Z wysłaniem tego później przez RS232 nie będzie miał problemów żaden procesor (którego liczba nóżek pozwoli tą pamięć zaadresować).
U¿ytkownik "Adam Dybkowski" snipped-for-privacy@amwaw.edu.pl> napisa³ w wiadomo¶ci news:ctrmpj$q24$ snipped-for-privacy@atlantis.news.tpi.pl
Je¿eli ju¿, to 28x28mm (E1xD1 - czyli plastik) + nó¿ki w rastrze e=0.5mm ;-)
Dnia Thu, 03 Feb 2005 00:13:41 +0100, Adam Dybkowski snipped-for-privacy@amwaw.edu.pl> napisał:
to był pierwszy pomysł ale nigdzie nie widze szybkich pamieci fifo, albo SRAM o czasach dostepu rzedu max 8ns, wiec sobie pomyślałem że ten ARM może robić za nią. Troche to strzelanie z armaty do wróbla, ale ta kość jest w miare dostępna w przyzwoitej cenie. Nie zamierzam tego budować więcej niż kilka egzemplarzy więc z tymi pamięciami będzie problem.
Jeżeli nie masz odpowiednio szybkich pamięci (a takie nie istnieją w naszej galaktyce jeżeli chciałbyś zrobić oscyloskop 4GS/s) - to połącz wolniejsze pamięci równolegle. Czyli próbki pakuj na zmianę do pamięci pierwszej, drugiej, trzeciej, czwartej, pierwszej, drugiej itd. Wymaga to zastosowania dodatkowych rejestrów trzymających próbkę na cały czas zapisu do pamięci (np. przez 10 ns), ale z kilkoma ns to nie problem, zainteresuj się np. serią AVC od Texas Instruments (max. czas propagacji około 2ns przy zasilaniu 3V3):
formatting link
Pamięci SRAM o czasie dostępu 10ns istnieją i są bardzo popularne. Myślę, że 8ns znajdziesz bez problemów po przeszukaniu baz Setronika, EBV, Arrow i kilku podobnych _większych_ dystrybutorów (większych niż JM i TME razem wzięci). A kilka[naście] sztuk na krzyż nie do masowej produkcji zawsze można ściągnąć z digikey.com zamiast komplikować projekt.
Na koniec: obejrzyj dokładnie dokumentację pamięci, które będziesz chciał zastosować. Czas dostępu 8ns jeszcze nie gwarantuje, że zdążysz bezpiecznie wcisnąć do pamięci strumień 120MB/s.
Adam Dybkowski napisal(a):
....a najlepiej zamien procesor na PLD. Ewentualnie dodaj PLD.
Tak, to bardzo ciekawy uklad, ale jego USB dziala tylko do 12Mb/s, co go eliminuje z pola moich zainteresowan. :-( BTW, on nie da rady w tym zastosowaniu. Tak sie sklada, ze sam robie cos, czego fragment jest bardzo podobny do Twojego problemu -- zdecydowalem sie na umieszczenie tego w FPGA 1C6, ktory mi tu polecono. On ma w srodku sporo szybkiego RAMu i potrafi obslugiwac zewnetrzne szybkie DRAMy, ktore sa latwo dostepne (poprzez kanibalizm starszych modeli kart graficznych, np. GEForce). A 12-nanosekundowe SRAMy sa na Allegro.
Pozdrawiam Piotr Wyderski
formatting link
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required