Jak zrobiæ z (kilku) SRAM i procesorka (np. at90s2313) pamiêæ FIFO? Mog± wchodziæ w to jakie¶ liczniki i bramki. Jakie¶ namiary... Dziêki. snipped-for-privacy@op.pl
FIFO z RAM-u
Mar 03, 2004
15 Replies
at90s2313 ma juz kolejke FIFO - jest nią stos. Jesli chcesz to zrealizowac na jakis zewnetrznych pamieciach za pomoca tego procka to robisz analogicznie - czyli wskaznik i dwie funkcje - jedna pobiera dana ze stosu, a duga kladzie na stos odpowiednio modyfikujac wskaznik.
Jak szybkie ma to byc?
U¿ytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@www.wizzard.one.pl...
stos to LIFO a kolejka to FIFO
W artykule snipped-for-privacy@onet.pl B napisał(a):
I czy zapis i odczyt synchronizowany tym samym zegarem... ?
Pozdrawiam, Paweł
Upsss, zagapilem sie:) Oczywiscie masz racje. W kazdym razie i tak rozwiazanie jest banalne - po prostu dwa wskazniki. Trzeba tylko je porownywac, zeby zdiagnozowac sytuacje kiedy nie ma juz elementow do pobrania w kolejce oraz przepelnienie.
To jest tak: Ploter z silnikami krokowymi Silniki przez i2c(na przerwaniu zegarowym) Transmisja z PC po rs-sie Pamiêci w at90s2313 (lub 8515) ma³o Wiêc dane w ma³ych paczkach Ale jak obs³uguje i2c to gubi dane z rs Wiêc mo¿e FIFO? (Cypres asynchroniczna 1024x8 aaaaale ceny!!! i ca³a rura!!!) Znalaz³em w Tietze & Schenk ¿e da siê zrobiæ FIFO z RAM ale do¶æ ogólnikowo. A RAM tani jak barszcz. Programik napisa³em w WinAVR. A FIFO (asynchroniczne) próbujê zrobiæ sprzêtowo na zewn±trz procesora (ale mi nie idzie) Dziêki. snipped-for-privacy@op.pl
Z ta banalnoscia to bym uwazal... bo nikt nie okreslil f_max ukladu :-)
On Behalf Of jerry1111
Jak nie okreslil, to ja bym zakladal - dazaca do zera. ;-)
pzdr Artur
Obslugujesz programowo I2C ? To moze lepiej jakis kontroler sprzetowy i sporo roboty ci odpadnie. Poza tym co ty liczysz w miedzyczasie skoro procesor, ktory ma 10 MIPS ci sie nie wyrabia ?:)
On Behalf Of T.M.F.
Liczy prawdopodobieństwo zgubienia paczki danych? ;-)
pzdr Artur
To wsadzamy krasnoludka do ukladu - powinien wyrobic. Ale, jako ze krasnoludek moze sie pomylic, to dokladamy mu CRC. CRC wyglada tak, ze jak liczba bitow jest parzysta, to dajemy mu buteleczke piwa, jak nieparzysta, to piwa nie dajemy :-)
Ewentualnie czeka na cos... w petli? Kiedys pewien czlek napisal mi tak program pod winde do zbierania danych przez rs-485. Program dzialal tym wolniej, im szybszy byl komputer :-)))) Po prostu chlopak wsadzil czekanie w while() na odbior znakow z RSa.
Krasnoludek będzie notorycznie na poczatku klamal, a po pewnym czasie _zawiesi sie_ ;-))
Milej nocki
__ Pzd, Irek.N.
Fifo luzem nic ci nie da, bo najpierw musisz dane odebrac.
Cos z programem nie tak - wlacz przerwania w obsludze I2C
J.
On Behalf Of jerry1111
O! Widze, ze od razu zaimpletowales autokorekcje. Jak za duzo popije to zrobi wiecej bledow i nic nie dostanie. Jak wytrzezwieje, to bedzie znowu lepiej liczyl. ;-) Wlasciwie to juz jest autobaud rate ;-) Ciekawe do jakiej szybkosci dochodza krasnoludki z mocna glowa? ;-)
pzdr Artur
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required