Tillståndsmaskin

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
dannan
Inlägg: 55
Blev medlem: 19 september 2004, 23:58:49
Ort: Stockholm

Tillståndsmaskin

Inlägg av dannan »

Jag ska bygga en tillståndsmaskin, men stöter på lite problem vid realiseringen.

Jag vill ha ut dessa sju värden
0x48, 0x44, 0x24, 0x22, 0x12, 0x11 och sen tillbaka till 0x48.

Det hela ska gå till "next state" när "in" går ett och stanna kvar vid "Precent state" då "in" är låg.
CLK behöver inte vara mer än några kHz.

Vad är enklaste sättet att fixa detta på?
Jag har kikat lite på AND och OR-grindar, men sanningstabellen blir heljobbig.
Med en CPLD skulle det gå ganska smärtfritt, men nån sån har jag inte.

Ni som har använt CPLD, vad har ni programerat den med? JTAG?
Är inte en sån kabel rätt dyr?

Kom med tips och ideér :-)
/Danne
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Det går väl att lösa med 7 parallella återkopplade skiftregister som är max 6 djupa, plus ett gäng välplacerade XOR-grindar.
AndersE
Inlägg: 54
Blev medlem: 27 september 2005, 16:07:17
Ort: Stockholm
Kontakt:

Inlägg av AndersE »

Till både Lattice och Xilinx kan du bygga en egen downloadkabel billigt.
Gissar att det finns schema till Altera också.

Handlar det om några ynka kilohertz, så funkar det ju med en PIC :)

...JK-vippor,
programmerad eprom med en räknare och reset -nästan mer overkill än PIC-lösningen)
dannan
Inlägg: 55
Blev medlem: 19 september 2004, 23:58:49
Ort: Stockholm

Inlägg av dannan »

$tiff
Välplacerade grindar, det är just det som är lite för jobbigt...

AndersE, har du någon länk till schema för downloadkabel?
Om jag kan få ner logiken i en CPLD är det att föredra.

/Danne
Användarvisningsbild
dennis
Inlägg: 141
Blev medlem: 17 oktober 2005, 18:15:49
Ort: Olika

Inlägg av dennis »

Ett sätt att lösa det på är ju med ett EPROM eller Flash + en räknare.

Annars kan man ju ta 6 st buffrar med tristate utgång (typ 74LS540) + en räknare.
Koppla ihop utgångarna. Ingångarna "programmerar" du genom att jorda eller koppla till vcc.
Räknaren får styra enable till resp. buffer.
dannan
Inlägg: 55
Blev medlem: 19 september 2004, 23:58:49
Ort: Stockholm

Inlägg av dannan »

EPROM och flash måste ju också programeras på något sätt, så då käns det bättre att välja en CPLD.

6st 74540 + en räknare (typ 74138) skulle nog funka
Men det finns risk för att det blir en lika komplex men dyrare lösning.
6*74540 +74138 kostar ca 100 spänn.

EPM 7064 kostar hälften på elfa.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Det hela ska gå till "next state" när "in" går ett

Och då "in" är ett ??
Samma sak som då "in" är låg ?

(Använd gärna hög/låg *eller* ett/noll !)

Hur snabbt måste utgångarna "svara" på "in" signalen ?
Om "några us" är OK, så skulle som sagt en PIC gå bra.
Enbart en enda krets utan extra komponenter...

Är "in" signalen ren utan störningar eller kontaktstudsar ?
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Ta en 4017 och en handfull 1N4148, koppla utgång 6 till reset och koppla dioderna enligt mönstret du vill ha ut. Billigare gär det knappast. Du behöver såklart att ha pull-down motståndar också men det borde ju inte vara ett problem heller.
AndersE
Inlägg: 54
Blev medlem: 27 september 2005, 16:07:17
Ort: Stockholm
Kontakt:

Inlägg av AndersE »

dannan
Inlägg: 55
Blev medlem: 19 september 2004, 23:58:49
Ort: Stockholm

Inlägg av dannan »

Jepp, där är den!

Tack Icecap, den plus några dioder blir perfekt.

/Danne
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Inlägg av Fagge »

Och här är Alteras Variant...

Bild
Skriv svar