

Posuvný registr - jak pracuje?
Nemohl by mi prosím někdo popsat jak pracuje tento http://www.datasheetarchive.com/search.php?q=74673 posuvný 16-ti bitový registr a kam se jednotlivé bity přivádějí.Hledal jsem na googlu,ale nejsem z toho moudrej,navíc sem našel je tenhle mizernej "datasheet" toho 74673 registru.Každýmu budu moc vděčnej za radu.Moc dík.
Tak ten datasheet je fakt sracka
V principe mas tam jeden seriovy pin (DATA I/O) a 16 paralelnych pinov Y0-Y15
A na o fcii ostatnych pinov je najdolezitejsia ta tabulka vlavo dole.
Chip select musi byt L ked chces nieco s tym registrom robit. Hek dje H tak su vsetkly piny v stave "Z", to znamena stav vysokej impedancie (odpojene).
Na posuvanie mas piny "r/w" a "shift clock", a storage clr a clock musi byt v stavoch ako v tabulke (alebo "X" = na stave nezalezi).
Chip reaguje na zostupnu hranu sh clock.
Popisem len ciastocne: ak "r/w" je L, tak seriovy I/O pin funguje ako vstup (a pri hrane clocku sa posunie 16bitovy posuvny register o 1bit, a zo serioveho I/O to zobere jeden bit (predpokladam ze posuva smerom nahor a serI/O je nulty bit, ale to si over experimentom). T.j. ladujes seriovo a mas paralelne vystupy Y0-Y15.
Ak "r/w" je H, tak seriovy I/O pin funguje ako vystup (t.j. ladujes paralelne Y0-Y15 a citas postupne seriovo).
Ako sa laduje paralelne, mas potom v tych poslednych 3riadkoch tabulky.
... oprava: Y0-Y15 su vzdy len vystupy, takze sa neda ladovat paralelne (na to je 74674). Takze "r/w" na H ma vyznam len v tom, ak chces znova seriovo citat to, co si tam predtym seriovo naladoval. Do 673 sa neda ladovat paralelne.
Inac datasheety na 74xxx je lepsie tahat napr. od texas instruments
http://focus.ti.com/docs/prod/folders/print/sn74ls 673.html
tam mas aj text a snad ti to z toho bude jasnejsie...
P.S. inac ten obvod nie je len posuvny register, ale kombinacia posuvneho registra a 16bitoveho paralelneho "storage" registra (vhodne napr. na to, aby sa posuvali data zo vstupu v posuvnom registri a zaroven boli na vystupoch paralelne data z predchadzajuceho posuvu, napr. aby mal uController dost casu na precitanie paralelnych dat apod). Ked chces len posuvny register (ktory nepotrebuje "zmrazit" (preniest do storage registra) stav posuvu v nejakom presnom okamziku), tak ti bude stacit mozno aj nejaky jednoduchsi obvod.
Takze napriklad: keby si chcel len nacitavat seriove data (t.j. len seriovy vstup a nepotrebujes seriovy vystup), tak R/W# pin mozes dat napevno na L.
CS# pin samozrejme na L ked chces s tych chipom nieco robit.
STRCLR# pin na H (nechceme mazat paralelny register).
Ked su piny R/W#, CS#, STRCLR tak ako pisem, tak potom:
pin Data I/O ("SER/Q15") bude seriovy vstup.
- pri zostupnej hrane pinu SH CLK sa posuva interny shift register (ale nemenia sa paralelne vystupy!)
- pri vzostupnej hrane pinu STRCLK sa nacita obsah interneho shift registra na paralelne vystupy (a paralelne vystupy ostanu stabilne bez zmeny az po dalsiu vzostupnu hranu pinu STRCLK)
Díky