FIFO vezerles

ide.ne.irj at freemail.hu ide.ne.irj at freemail.hu
Tue Sep 28 12:44:02 CEST 2004


Thus spake Andras Tantos:

> - Ha a ket orajel elegge kulonbozo (nalad az), akkor urja-mintavetelezed az 
> egyik portot a masik port orajelen, es szinkron FIFO-t csinalsz a magasabb 

Hat ez az, hogy nem annyira kulonbozik, kevesebb mint 3x az arany.
Nem tudom tobb regiszteren atvezetni, igy nem tudom korrektul kikuszobolni
a metastabilitast. Termeszetesen probalkozom vele.

> orajelen. Persze nem csak az orajelet, hanem az adatot is urjra kell 
> mintavetelezni (ez helybol 64-128 makrocella a te esetetetben).

Van eleg :) Es meg tudok felszabaditani ha kell, legfeljebb az egyik
PCI buffert mexuntetem... Kozel 200 van, biztos meg lehet oldani, csak
valami jo otlet kene.

> - Ha valoban aszinkron FIFO-t akarsz, akkor az iras- es olvasas pointerek 
> szamlalojat Gray-code szamlaloval kell megcsinalni (vagy Gray-code-ra kell 

Annyira nem kell aszinkronnak lennie :)
Fixek az orajelek, az aranyuk is garantalhato.
A szamlaloval speciel semmi bajom.
Az lenne a lenyeg, hogy a kimeneti adatokat szinkronizalo orajelbol
eloallitsak egy olyan jelet, mely garantaltan mentes a metastabilitastol,
es a belso orajel 1 periodusaig magas szintu, azzal szinkronban vannak az
elei. Remelhetoleg ez megoldja a problemat.

> Persze nem tudom nalad mibol ered a hiba, tudni kene pontosabban mit jelent 
> az, hogy 'hibazik'. Azt hiszi hogy tele van a FIFO, es eldob egy adatot, 
> vagy hogy nem ures, es kiolvas meg egyet? Vagy valami teljesen mas jellegu 
> problema?

Nem. Majdnem tele van, mindig van adat, ilyen jellegu gond nincs.
Az a gond, hogy kiolvasaskor idonkent tortenik 'valami', nem tudom elkapni
hogy mi. De a lenyeg az, hogy 4096 adatbol veletlenszeruen hianyzik
0..3 minta. (vagy ennyivel tobb van, ki tudja) Ez pl szinuszjel eseten egy
kis jittert okoz, negyszog eseten jobban latszik. Talan hallatszik is?
(128x64=5.6MHz a mintaveteli freki, de mivel a DA-k meg kivul multiplexalnak,
ennek duplajaval kell kinyomni az adatokat, ezert a 11.2896MHz)
Tuti hogy a kimenet szinkronizalasaban van a hiba, mert ha nem is a
FIFO-bol jott adatot, hanem az olvaso szamlalot kuldom ki a kimenetre,
akkor is van jitter!
Nem zarhato ki teljesen, hogy a logika igy tokeletes ahogy van, csak az
esetleg egyszerre szintet valto 64 kimenet okoz akkora ground bounce-t
idonkent, hogy megkergul valami.
Probalok olyan mereseket vegezni, hogy a FIFO toltogeteset leallitom,
ugyanazokat az adatokat nyomja ki folyamatosan korbefordulva, igy a
64 lab egyszerre valtasa megakadalyozhato, ha akkor is gond van akkor
az mar biztos nem ground bounce muve, hanem a kimenet szinkronizacioe.
Koszi a tippeket, keresgelek a neten, hatha talalok valamit!

> Tantos Andras

-- 
Valenta Ferenc <vf at elte.hu>   Visit me at http://ludens.elte.h u/~vf/
"Mindig jo, ha bajba jutsz, hogy ha orditsz s korbefutsz!"




More information about the Elektro mailing list