sorry men jeg vet ikke det nøyaktige svaret på ur spørsmålet, men u bør vurdere å ta en lav spenning cpld og sette en gratis ip-kjerne i den.Denne u kan gjøre for 3V og u krever mindre milliampere (hvis u velge rett cpld)
OKI
Intel
intersil
AMD
UMC
Zilog
Harris (ikke sikker)Hvis du ikke finner enheten (gamle chips) og også mer sjeldne for finne 3.3v du kan gjøre selv på clpd eller fpga.
Ditt chip har 64 makro som er ~ 1200 gate.
En full 8254 sjetong vhdl har ~ 5000 gate, i fpga det bruke ~ 700 celle,
og i clpd i belive ~ 256 (tror jeg).
Det
er en bigest cpld. (Mye kostnader i forhold til 8254 sjetong).
Prøv en 10k porter fpga fra Cypress hvis du vil samarbeide med dem,
Jeg liker mer fammily av 1K av @ letra (du kan bruke 1k10 alle system design) er de ikke exp (~ 15 $ ikke sikker), men du må jobbe med at komp flott
og enkelt verktøy for evaluering verktøyet med mest componnents.
Merk: Jeg vet ikke nøyaktig hva du trenger fra 8254, men i belive
at du ikke trenger alle format arbeid eller alle Timmers / telleren,
kan du desing selv conuter / timmer som flere små deretter
opprinnelige kjernen.
Hvis du vil erklære hva du trenger fra telleren Jeg kan forklare / design
hvordan du kan bygge og hvor mye som du trenger.
En enkel (theorical) beregningen for 8254.timmer 16 bit reg X3 (du har 3) = 48 (flipflops = celler)
auto reload for timmer 16 bit X3 = 48
hovedkontrollpanelene reg 8 bit = 8
kontroll timmer reg 8 bit X3 = 24
grensesnitt 8 bits bus 8 bit = 8
timmer utgang 1 bit X3 = 3
functionnaly design??=???
-------------------------------------------------- -------------------
totalt minimum vet celler = 141 celler
Nå mine 82C54 ble brukt slik:
----------------------
3MHz --->| clk1
IO1 ------> | gate1
nc -------> | out1
750k ----> | clk2
IO2 -----> | gate2
nc -------> | out2
------------------------
Når IO er satt høyt, telleren starter å telle ned (eller teller opp).
Når IO tømmes, couter ender og data blir lest av MSP430.
Hei
Du må for enkle desingn hvis jeg forstår deg riktig (rpair meg hvis du
trenger andre endringer).
(16bit counter
1 bit synkroniser io å klokke) X2 reg = 34 celler
8bit grensesnittet data buss = 8 celler
noen celle for kontroll
Jeg tror 34 8 (2 eller 4) = 44 til 46 celle i beste fall;se et enkelt eksempel på høyt nivå langue (oversette den for dev langue)
* Telleren data leses korrekt i denne prøven bare når telleren er stopp (Jeg håper du drive io etter på av andre er mer komplisert design).declage
a [1. .. 0]: skriving;
cs: skriving;
bus [7 .. 0]: output tristate;
sak a [1. .. 0] == 0
bus [7 .. 0] = conuter_a [15 .. 8];
sak a [1. .. 0] == 1
bus [7 .. 0] = conuter_a [7 .. 0];
sak a [1. .. 0] == 2
bus [7 .. 0] = conuter_b [15 .. 8];
sak a [1. .. 0] == 3
bus [7 .. 0] = conuter_b [7 .. 0];
end case; - (du kan bruke også hvis elsif linjer)
bus [7 .. 0]. oe =! cs &! rd; (cs kan også være en adresse dekode moro i clpld liker cs = a [12 .. 6] == 347 (forsiktig med statisk fare på denne funtion )
Funtion_clr_ctn_b = "finish les reg eller skrive til spec legge reg func"
Funtion_clr_ctn_b = "finish les reg eller skrive til spec legge reg func"
Jeg håper at enkle design svar på spørsmålet ditt.
Med vennlig hilsen.
Sist endret av gabby på 08 juli 2002 15:55, endret 1 gang totalt
Først i reparere linje: Jeg tror 34 8 (2 eller 4) = 44 til 46 (not56) celle i beste fall;
Sekund.
Nå når du fortelle meg at det koster bare 58 men komp gjør eror i 64 macrocell, i belive som er fordi:
Den clpd har en bestemt ingen ledninger intern linje som gjør tilkoblingen
btwen den lcells og io, er liten clpds (også mer sjeldne i store) når du
bruker over 80% -90% det har problem å passe på at ledninger fra cellene til celler eller io.
Den løse i problemet er ikke løser io men er ikke enkelt dersom du har design og Evry kompilering av io på chpis er endret.
Det andre alternativet er å gå til en større brikke, og som løser problemer i de fleste tilfeller (er pinner som du ikke kan incrase Evry tid som spesiell pins "klokke" eller cotrol for oe av utganger).Tredje.
Er god grunn fra deg hvis vil se hvordan slutten desing titt.
"Hvis du puslespillet også gjøre deg oppmerksom på å lese mine programmet?"
Det
er enkelt, først fordi designen ikke i noe stort,
andre design må ikke ha puslespillet.
Svaret er på hendene når du kompilerer sorce
du får noen resultater filen en av dem for cpld, men
har du en fil som er rapporten txt-fil. (noen gang du trenger å gjøre det
funksjonen på compiller for få det).
I denne filen kan du se evryting hvordan var design,
hvor mye celler og ligningen for Evry celle.Jeg
er en @ ltera fammiliar design, men send meg filene (kilde og rapport) og jeg kan fortelle deg hvis jeg ser noe galt øker jeg vet i andre chips og komp.Jeg pm mine e-post.
En liten merknad om design tror jeg vi må legge til også en funksjon
for vet om Timmers fikk overflyt (enkel stoppe dem når de gått til ffffh
erklærer
stop_cnt_a: lcell; - (tvinge komp å bruke celler for ligning)
stop_cnt_b: lcell;
- "notat"
- (Du kan bruke også node, men i noen tilfelle dersom ligningen er over 16 signal han øke celler på cnt fra 16 til Nx16 bacause at jeg bruker lcell kraft, kan du gjøre en test med noden og se at denne kostnaden du i celler hvis ja bruke celle erklæringen som koster kun 1 celler)
stop_cnt_a =! (conuter_a [15 .. 0] == ffffh);
stop_cnt_a =! (conuter_a [15 .. 0] == ffffh);
(sorry for min staving langue conuter => counter)
reparere linjene:
1.Hvis io_in_a deretter til => if (io_in_a & stop_cnt_a) og deretter
2.Hvis io_in_b deretter til => if (io_in_a & stop_cnt_b) og deretterVidere.
Når du stopper telleren fra io må du vente på en klokke siste av telleren før data blir gyldig for lese.Med vennlig hilsen.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.