Bästa 5-18-dekodern?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
bpiphany
Inlägg: 65
Blev medlem: 30 september 2011, 12:04:49
Ort: Stockholm

Bästa 5-18-dekodern?

Inlägg av bpiphany »

Bakgrunden till frågan är att jag hackar mig in i ett tangentbord som logiskt sett består av en massa strömbrytare med varsin diod, typ såhär
matrix.png
Trassligt nog har de designat 18 rader och 8 kolumner. Med ursprungskontrollern är det inget problem eftersom den har nog med IO-pinnar. Jag ska använda någon AVR-processor, helst så liten som möjligt. En AT90USB1286 (som på Teensy++) har pinnar nog, men är på tok för stor och onödigt kraftfull. Varken ATmega32u4 (Teensy) eller ATmega32u2 har tillräckligt med pinnar men de är mindre. Lika bra att använda den minsta, 32u2.

Så på något sätt behöver jag expandera antalet utgångar. Hittills har jag gjort det på två olika sätt. Först genom en 3-8-dekoder (HC238) som driver en kolumn hög i taget. Då var jag tvungen att använda externa pull-downmotstånd på alla 18 rader, det var jobbigt att löda.. Så jag kom på att jag kunde använda två stycken 4-10-dekodrar (HC42) istället. Då kan jag driva matrisen ät "rätt" håll och använda de inbyggda pull-upmotstånden, mycket smidigare.
decoder1010.png
table1010.png
Nu vill jag kunna miniatyrisera mera och tänkte använda olika QFN-paket. Det verkar inte finnas några 4-10-dekodrar som QFN. Så jag sitter och funderar på andra lösningar. Det finns 4-16-dekodrar, och jag skulle kunna driva 2 av raderna direkt från mikrokontrollern, men då går det plötsligt åt 7 pinnar (4 för att välja utgång på dekodern, 1 för att aktivera dekodern och 2 för de extra raderna). Med tre stycken 3-8-dekodrar klarar jag att driva 24 utgångar med bara 5 pinnar. Tre komponenter istället för två (eller en) är inte hela världen med det vore intressant att veta om det gick att göra "smartare".
decoder888.png
table888.png
Med ett par shift-register kan jag såklart minska antalet kontrollerpinnar till ett minimum, men jag tycker om enkelheten och den absoluta kontrollen med dekodrar.

Så vad jag egentligen vill fråga om är det smartaste sättet ni kommer på att driva 18 parvis uteslutande signaler (aktiv låg).
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Icecap
Inlägg: 26807
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bästa 5-18-dekodern?

Inlägg av Icecap »

Ska vi se om jag förstår det hela rätt:
Det är viktigare att ha många kretsar med en massa strul i programmeringen än att ha en enda krets "som är onödig kraftfull"?

Ta en 40-pinnars PIC och klocka den med 32kHz, det borde vara pinnar nog och bara nödvändigt kraftfullt!
bpiphany
Inlägg: 65
Blev medlem: 30 september 2011, 12:04:49
Ort: Stockholm

Re: Bästa 5-18-dekodern?

Inlägg av bpiphany »

bpiphany skrev:är på tok för stor och onödigt kraftfull
(och dessutom onödigt dyr)

AT90USB1286 är 10×10mm 9×9mm i QFN, ATmega32u2 är 5×5mm. Dessutom hjälper det ju inte om IO-expanderaren är stor den heller. 4-10-dekodrar finns i TSSOP, men det är lite för stort fortfarande. Och helst vill jag ha något "korkat" som inte behöver programmeras, eller kommuniceras seriellt med.
Användarvisningsbild
4kTRB
Inlägg: 21675
Blev medlem: 16 augusti 2009, 19:04:48

Re: Bästa 5-18-dekodern?

Inlägg av 4kTRB »

Mest raka jag kommer på är 9st 74LS260 5-input NAND och 5st inverterande grindar typ 1st 74LS04
Ytmonterat och det borde inte ta så stor plats.
bpiphany
Inlägg: 65
Blev medlem: 30 september 2011, 12:04:49
Ort: Stockholm

Re: Bästa 5-18-dekodern?

Inlägg av bpiphany »

10 st av vad som helst låter inte särskilt utrymmeseffektivt.. Känner att jag kanske borde förtydliga frågan. Det är inte förbjudet att få ut fler än 18 signaler =) En 5-18+-dekoder vill jag ha, teoretiskt är det ju möjligt med 5-32 då.
Användarvisningsbild
4kTRB
Inlägg: 21675
Blev medlem: 16 augusti 2009, 19:04:48

Re: Bästa 5-18-dekodern?

Inlägg av 4kTRB »

Ett ERPROM borde väl fungera?
Användarvisningsbild
Icecap
Inlägg: 26807
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bästa 5-18-dekodern?

Inlägg av Icecap »

Jag är inte helt säker på vad som egentligen ska göras.
* Behövs det bara lika många utgångar som det finns knappar?
* Är det ett behov av att kunde dekoda knapptryckningar?
* Eller simulera dom?
Nerre
Inlägg: 27415
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Bästa 5-18-dekodern?

Inlägg av Nerre »

Det som behövs är väl att kunna "scanna" 18 linjer med så få bitar (från uCn) som möjligt. Med 5 bitar kan man ju scanna 32 linjer, 4 bitar räcker bara till 16.

D.v.s. det finns 18 tåtar och de ska en i taget kunna göras hög (eller låg?).

Men en sak som slog mig nu, måste linjerna kunna adresseras i vilken ordning som helst? Med en "reset" och en "klocka" kan man ju utnyttja en räknare? (Dekadräknare heter de väl?). Då går det bara åt 2 tåtar från uCn (men om det finns 5 lediga så är det kanske en overkill-lösning).
bpiphany
Inlägg: 65
Blev medlem: 30 september 2011, 12:04:49
Ort: Stockholm

Re: Bästa 5-18-dekodern?

Inlägg av bpiphany »

Ja, det är en matris av knappar, potentiellt 8×18=144 stycken. En av de arton raderna i taget ska dras låg, alla andra hållas höga (eller flytande).

Det är mest att det är skönt att kunna adressera absolut. Det förenklar programmeringen lite grann. Sätter jag alla IO-pinnar jag behöver i samma register är det bara en vektor av 18 bitmönster som ska laddas. Att kedjekoppla shiftregister eller räknare är absolut inte omöjligt. Då behövs det två (eller tre pinnar, signal, klocka och ev reset).

Det behövs minst tre (eventuellt fler för skojs skull) IO-pinnar till indikator-LEDar. Sen kanske man får en plötslig lust att dessutom prata seriellt med en blåtandsmodul eller nåt. Så det gör ju inget om det finns pinnar lediga.

Vill man vara på det humöret kan man ju multiplexa läsningen av de 8 kolumnerna också...

Det gör egentligen inget om det skulle sluta med 24 outputs, ett vanligt tangentbord är typ 22 tangenter brett. Då blir det väldigt enkelt att återanvända samma idé om man bygger ett helt eget tangentbord. Potentiellt skulle själva manicken kunna vara användbar till andra saker, men det är inget jag tänkt på..

Edit: Resultat går att finna här.
Skriv svar