USB, Bufor, CY7C68013, dlugie

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.

Reply to
M.S.
Loading thread data ...

ma, GPIF, ale lepiej uzyj slave FIFO

rozdzielone, ale jak uzywasz jednego endpointa, to mozesz ja uzyc calosciowo. mozesz tez ja uzyc jako 2 lub 4 -krotny bufor, ale wtedy bedzie miala pojemnosc 2 lub 1 KB

jak bedziesz w maire szybko odbieral, to nie, ale lepiej zrob jakis handshake..masz do dyspozycji FLAGi

w sumei mi dzial podobnie, neizaleznie jaki ustawie..ja przysylam 8MB w ciagu 0.5s

poczworne - 4 pameici fifo jedna za druga po to, zeby plyniie sobie wszystko szlo..

w samym procu jest jeden bug - w przerwaniach..czasami sie bez powodu blokuja..mimo ze flagi wyzeruje, on nei przyjmuje nastepnych..dlatego musialem zrezygnowac z przewania od USB. nawet w swoich przykladowych aplikacjach nei uzywaja przerwan, lecz petli..

Reply to
greg

Czy ten procek ma jakies dedykowane wejscie do wpisywania slowa do wewnetrznego FIFO ?

Hmm.. Niezla elastycznosc !

Dzieki za ostrzezenie i wszystkie podpowiedzi. Do programowania procka mam jeszcze troche czasu. Na razie musze zaprojektowac plytke. Pozdrawiam M.S.

Reply to
M.S.

tak, SLWR - strobowanie zapisu FIFO1,FIFO0 - adresy

w razie czego sluze bibliotekami w P99SE i przykaldowym schematem

>
Reply to
Greg

Witam,

To ja się podepne pod wątek, gdzie można kupić te układy Cypressa?

Poszukuję takiego CY7C64603-52NC

Pozdrawiam, sword

Reply to
Adam Jurkiewicz

Swietna wiadomosc ! Co prawda biblioteteke sch. sobie juz zrobilem, no ale moze Twoja ladniejsza :) . A tak na powaznie, jesli mozesz to prosze podeslij mi. Szczegolnie pozadam ten przykladowy schemat. Wielkie dzieki i pozdrowienia !

M.S.

Reply to
M.S.

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.