Mam pytanko do znawców mikrokontrolerów ARM. Chodzi mi o oszacowanie prędkości zapisu danych z zewnętrznego przetwornika ADC do SDRAM. Przetwornik daje 1M 16-to bitowych danych /s, interfejs równoległy. Z tego co się zdążyłem zorientować do ARM-a nie podczepię więcej niż
32MB * 8bit (może się myle). Chcę zrobić bufor z SDRAM na dane pomiarowe.
Do większych mikrokontrolerów np. AT92RM9200 można podłączyć zazwyczaj do 64MB SDRAM (np. 4x(8Mx16)). Co do prędkości również nie będzie problemu. SDRAM jest o dwa rzędy wielkości szybszy od przetwornika, a on jest z kolei o rząd wielkości wolniejszy od pamięci FLASH.
Zgadza się, chodziło mi o to czy system z softem obsługujący ten ADC i SDRAM wydoli 1M danych 16-to bitowych na sekunde. Ktoś już chyba robił takie rzeczy i bedzie sie orientowal czy to mozliwe.
Mario snipped-for-privacy@poczta.onet.pl> napisał(a):
Przepustowość SDRAM szacuje się w uproszczeniu wg. formuły: f(bajty)=szerokosc_magistrali(bajty)/(1/czas_dostepu(s))
W tym przypadku dla 8 bit SDRAM PC166 mamy: f=1/(1/6e-9)=166MB/s lub dla częściej używanych 16 bit to 333MB/s a więc podtrzymuje, że SDRAM jest o dwa rzędy wielkości szybszy od wymienionych przetworników (2MB/s (? używany przez autora wątku) lub 3.4MB/s AD7470).
Oczywiście wyliczenie nie bierze pod uwagę narzutu na wykonywanie programu niemniej kopiowaniem danych zajmuje się DMA albo kod wykonywany z cache procesora więc transfer danych powinien odbywać się z maksymalną prędkością.
Optymalnym rozwiązaniem jest użycie magistrali 32 bit dla SDRAM (więcej bitów na raz) lub zastosowanie DDR SDRAM (więcej danych w jednostce czasu).
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.