D Latch spørsmål

N

Nora

Guest
Dette ble gjort allerede i feil forum, så det er gjenta.

Jeg trenger å bruke 8 IO pinner fra CPU meg å kontrollere 16 utganger.
Jeg tenker å bruke en 74__373 type brikke for å gjøre dette.
Jeg har aldri brukt denne type chip før så ville verdsette en erfaren kunnskap ...
Er dette en god måte å gjøre det jeg må gjøre eller er det noen andre forslag?
Takk på forhånd!
N_n

 
det er mange måter å oppnå dette.Du kan bruke et skifte register i så fall trenger du bare 2 pinner (3 pins hvis skift register har en utgang sperren) og gjør det med programvare.Bruk en 74HC595 for dette.

Hvis du vil bruke 8 pinner i 74HC373 er god.Dersom du lage din egen brettet kan du også prøve 74HC574, samme som 373, men inngangen er rett overfor utgang (lettere for å kjøre spor på hovedkortet ditt).

Hvis dataene er toveis du kan bruke 74HC245.

Hva mikro kontrolleren bruker du, PIC, AVR, 8051?

 
Jeg bruker en Motorola DSP.
Kan du forklare litt mer den første versjonen?
Ja, jeg gjør mitt eget bord slik forslag fra spor direkte motsatte er svært nyttig!

edit * Dataene er toveis, men jeg vil gjenta det samme med 8 pinner og 16 innganger.
Takk!
N_n

 
Dette skal hjelpe deg ut.

Hvis du bruker to 74HC164's du trenger 2 pins å gjøre 16 utgang pinner.
Hvis du bruker to 74HC595's trenger du 3 pinner til å gjøre 16 utgang pinner.

En 74HC595 brukes ofte til skjermer eller noen annen enhet som kan flimring mens data blir flyttet.På denne måten dataene ikke sendes før låsen er pulsed.Hvis dette ikke er et problem for deg, og holde det enkelt og bruke to 74HC164's.Jeg har gjort dette mange ganger uten problemer selv med syv segmentet viser eller LCD-skjermer.

Se på de to skjematisk.

Koden er lett gjort.Alt du gjør er satt opp data på data input, så puls klokken linjen høy.Gjør det 16 ganger for å flytte alle biter.Hvis du bruker en 74HC595, må du pulsen på låsen for å sende data når alle bitene er blitt forskjøvet i.

Jeg vet ikke motorola kode.Jeg kan gi deg AVR-kode eller kode 8051 bare i forsamlingen.

Last ned både datablader og se over dem.

Hvis dataene du vil sende, er ikke 16-bits (to separate 8 biter bytes) så du trenger ikke å cascade begge skift registre.Hva jeg gjør er å bruke en annen klokke linje for hvert skift registeret (når du bruker en 74HC164) og dele data linjen.

ELLER

bruk en 74HC595 og bruke en egen sperren linje for hvert skift register.

For mottak av 16 bit data (hvis du bare har 8 pinner eller mindre) du trenger noe som en 74HC166 som er en parallell til seriell skift register.Ta en titt en dataarket for mer info.

Lykke til
Beklager, men du må logge inn for å vise dette vedlegget

 
Takk for detaljerte svar ct,
Jeg har lagt pix av hva jeg prøver å gjøre.
Jeg vil gjøre IO boards, 5 i alt, hver bord inneholder 8 innganger og 8 utganger (2 chips).
Jeg vil bruke 16 pins på CPU for IO.

Jeg vil ta for seg hver bord separat, med 3 adressering pinner, og bruke en nål for å velge inngang (Les) eller Output (Write).

Jeg vil bruke tristate å si "styret er til stede" eller "styret ikke er tilstede".
Kan jeg gjøre dette bare med R / W pin?

Jeg har blitt anbefalt å bruke 74373 chip for både input og output, men også fått beskjed om det kan være glitchy, og noen ganger LATCHING feil.

Takk på forhånd,
N_n

 
Du ville trenge en egen I / O linje fra CPU for Latch Enable på hver 74HC373 enhet.(Jeg antar at nålen kommer fra CPU som deles av alle 74HC's er den sperren gjør, fordi det ikke er merket i din skjematisk)

For 74HC er brukt for innspill, må du kanskje bruke en ekstra I / O linje fra CPU for Output kontroll pin.Hold denne pin high å deaktivere 74HC373 (utganger høy Z).(Jeg virkelig ikke forstå skjematisk helt siden noen av pinnene var ikke merket)

Er dette styret blir produsert av et profesjonelt styre huset, eller er det en hjemmelaget Ensidig kost?

Jeg ville gå med 74HC574's stedet.Det blir lettere å kjøre spor som kan / ikke kan gjøre styret mindre plagsom.(mindre via sin, enklere spor går)

Best of Luck

 
Takk CTownsend,
Jeg ser på 74HC573 dataarket siden den ikke trenger en klokke signal.
Det vil bli produsert av PCB huset, og du har et godt forslag om enklere layout.

Quote:

Du ville trenge en egen I / O linje fra CPU for Latch Enable på hver 74HC373 enhet.
(Jeg antar at nålen kommer fra CPU som deles av alle 74HC's er den sperren gjør, fordi det ikke er merket i din skjematisk)
 
Nora wrote:Det ser ut som jeg trenger Utdata Aktiver for både inn-og utganger, kan jeg bare legge det til grunn til og ikke til CPU?

N_n
 
Hi -
Jeg bruker en Motorola DSP.

Jeg tror det du sier er at jeg trenger en egen OE linje for hvert bord inneholder 8 innganger og 8 utganger.

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />Bare adressering styret ikke skal være nok til at CPU å vite hvor du skal lese fra.

Koden går omtrent slik:
Match nødvendig kortet adresse (vist 001)
OE = 0 / / innholdet av 8 låsene er tilgjengelige på utganger)
LE = 1 / / data inn låsene og produksjon siden tilsvarer input side
Behandle data i CPU
Pause ved behov
Gjenta / / neste kort adresse 010

Dessverre, jeg har ikke nok pinner.5 boards-3-adressen pins en LE og jeg har kun 2 pinner igjen (6 pinner til sammen).
Jeg redid skjematisk forlater ut OE for enkelhets skyld.TB = terminal blokk, og hver I / O er behandlet som en egen bit.

Takk på forhånd!
N_n
Beklager, men du må logge inn for å vise dette vedlegget

 
Du må fremdeles kontrollere OC eller OE linje på sperren som gir innspill til CPU din.Utgangene ikke saken, bare input låsene.

Ta en titt på dette:
http://en.wikipedia.org/wiki/Bus_contention

Det kan forklare ting litt bedre enn jeg kan.

Hvis du fortsatt ikke har nok pinner, så kanskje du burde prøve noen føljetong å parallell (74HC164) og parallell til seriell (74HC166) enheter?Mye mindre spor å kjøre om bord, og etter min mening, mindre hodepine!

Best of luck!

 

Welcome to EDABoard.com

Sponsor

Back
Top