Witam i od razu pytam :)
Robie karte przetwornikow a/c komunikujaca sie z PC-tem poprzez USB 2.0 (juz kiedys o tym wspominalem). Dwa przetworniki a/c 8-bitow zsynchronizowane ze soba, a wiec 1 probka to
16bitow (2 bajty). Odstep czasowy miedzy nastepujacymi po sobie probkami opisany jest zmienna losowa o rozkladzie gamma. Dla uproszczenia przyjmuje ze minimum tego czasu to 2us (max czest 500kHz) i tego na razie bede sie trzymal. Komunikacje z PC ma zapewnic CY7C68013-56 (Cypress). Jak najlepiej podlaczyc te 16linii danych do procka? Zdaje sie, ze ma on jakis dodatkowy interfejs rownolegly 16 bitowy zintegrowany z pamiecia FIFO. Tylko jaka wielkosc jest tej pamieci - 4kB (4k x16bit ??) jak to pokazano na sch. blokowym czy tez to 4kB jest rozdzielone pomiedzy "endpointy" ? A moze bedzie potrzebny jakis zewnetrzny bufor o jakiejs wielkosci?Do transmisji po USB "pasuje mi" tryb Interrupt - choc szczerze mowiac nie wiem dlaczego sie to tak nazywa. Dla trybu tego poczynilem pewne oszacowanie wielkosci buforu wejsciowego - prosze o korekte:
1 probka = 2 bajty, 500 000 probek na sekunde FullSpeed: host usb odpytuje co 1 ms, czyli maxymalnie moze pojawic sie w miedzyczasie 500sampli=1000bajtow, HighSpeed: odpytywanie co 125 us, czyli max. w cyklu pojawia sie ~64 probki=128bajtow.Zatem wielkosci buforow przy podwojnym buforowaniu to: FS - 2kB HS - 256B
Czy ktos moze mi jeszcze wytlumaczyc jaki mechanizm kryje sie pod nazwa "potrojnego" lub "poczwornego buforowania" ? Buforowanie podwojne jest raczej zrozumiale (mozliwosc zapisu z jednej strony z jednoczesnym odczytem z drugiej strony, i odwrotnie).
Dzieki za wszelkie podpowiedzi i wybaczcie ciut przydlugi post.
Pozdrawiam M.S.