Guten Tag,
ich bekomme keinen richtigen Überblick über µC's, die Inputs und deren
Entwicklungsboards.
programmieren tuh ich bereits mit normalen µC's (10 i/o),
allerdings brauche ich für das nächste Projekt ca 44 i/o's.
Nun habe ich was über Shift register, multiplexen gelesen, das wär kein
riesiges Problem, nur ist das die einzige Möglichkeit mehr Inputs zu
bekommen oder gibt es vllt auch µC's die sich wie die gängien µC's aufn
Board entwickeln lassen und dann rausnehmen lassen?
Hallo,
wenn ich mir dann noch das Pin - Anschlussrouting ansehe,
dann tendiere ich zu i2c input/output port expander.
Z.B.:
* PCF8547T
* MCP23008
* MCP23017
Mann kann natürlich auch einen attiny841 mit I2C Slaveinterface
einsetzen oder auf einen atmega328p setzen.
Beim atttiny4313 muss man AVR312: Using the USI Module as a I2C Slave
nutzen.
Je nach Anwendung gibt es unterschiedliche Möglichkeiten.
Von 74HC165 8-bit parallel-in/serial-out shift register wurde indirekt
schon gesprochen.
Vielleicht solltest du auch erstmal deine Anforderungen klären. Man kann
Shift Register und Multiplexing machen wenn sich um "einfache" Dinge wie
auslesen von Tastern, ansteuern von LEDs oder ähnliches geht. Wenn es
ein schnelles paralleles Interface zu irgendwas werden soll eher nicht.
Ansonsten sind 48 IOs jetzt nicht so riesig viele. Da gibt es schon
Mikrocontroller, allerdings nicht unbedingt im DIP Geäuse.
Auslesen von Tastern, allerdings möglichst ohne Latenzzeit die ich ja
bei einem shift register haben müsste (?)
Wenn es kein DIP Gehäuse ist, bin ich etwas überfragt wie ich den
mikrocontroller programmieren/verwenden kann, denn die Boards die ich zu
denen finde scheinen nicht die richtigen zu sein (?), welche wo man die
µC's entnehmen kann und gut einlöten kann,
die Peripherie auf den Boards brauche ich zB nicht, es ist ein recht
simples Programm welches einfach paar mehr Inputs benötigt
Dominikkur schrieb:> Auslesen von Tastern, allerdings möglichst ohne Latenzzeit die ich ja> bei einem shift register haben müsste
Naja, ohne Latenz wird es nicht gehen. Leg mal fest, welche Latenz noch
tolerabel ist, dann kann man auch zu einer Lösung des Problemes kommen.
Um ein 48 Taster auszulesen braucht man definitiv keine 48 Leitungen am
Mikrocontroller.
Und zum Thema Latenz: Wenn es sich um von Menschen gedrückte Tasten
handelt, dann solltest du deine tolerierbare Latenz auch an den Mensch
anpassen, denn der Mensch reagiert nicht im Mikrosekundenbereich. Und
schon brauchst du für deine 48 Tasten nur noch 7 Leitungen und eine Hand
voll Dioden.
Und wenn du noch weniger Leitungen zum Mikrocontroller haben willst,
dann I2C-Portexpander. Der Mikrocontroller (mit oder ohne Portexpander;
mit oder ohne Tastenmatrix) ist so schnell, dass du als Mensch den
Unterschied der Implementierung nicht merken wirst.
Danke für die Antworten!
Habe mich leider ein wenig vertan, also es sind 18 Inputs, und 18
Outputs, mit 6 Outputs für anderweitiges, nicht 44 Inputs, sondern auch
Outputs, macht das einen Unterschied wenn man dann den Portexpander oder
Shift Register verwendet?
Dominikkur schrieb:> macht das einen Unterschied wenn man dann den Portexpander oder> Shift Register verwendet?
Ja, vielleicht - es hängt vom Portexpander ab!
Ok eine Frage bleibt mir, wenn ich ein Shift Register für Eingänge
benutze, und die Eingänge wirklich sehr kurz gedrückt werden
(Beispielsweise bei einem Reaktionsspiel), kann es dann nicht sein dass
die Inputs manchmal nicht erkannt werden? Durch das Schieberegister
werden ja nicht alle Inputs gleichzeitig sondern nacheinander abgefragt
so wie ich das verstehe, oder sind die Zeiten beim abfragen wirklich so
niedrig dass sowas auch bei wirklich sehr kurzem drücken nicht passieren
sollte?
@Klaus
So wie ich sehe sind die Entwicklerboards für µC's über 32pins nicht
gerade billig, vorallem sind das dann Boards mit recht viel peripherie,
das wäre etwas überdimensioniert für ein eig. sehr kleines Projekt
Schieberegister kannst du locker mit mehreren MHz takten. Damit fragst
du 32 Eingänge locker mehrere zig-tausend mal pro Sekunde ab. Für Taster
ist ein Abfrageintervall von 1/100 Sekunde mehr als ausreichend.
Bei Amazon und Ali Express bekomnst du STM32 Boards mit über 100
Anschlüssen für unter 10Euro.
Dominikkur schrieb:> macht das einen Unterschied wenn man dann den Portexpander oder> Shift Register verwendet?
Das spielt vor allem bei einer Tastenmatrix eine Rolle. Die wäre für
Taster die effizienteste und schnellste Lösung.
Für 18 Taster (nicht: Inputs) reichen 9 Pins. Und wenn immer nur einer
gedrückt ist, geht das auch mit 1-2 ADC-Pins und einigen Widerständen.
In manchen Szenarien kann man auch andere Outputs als Teil einer
Tastenabfrage mitnutzen, z.B. einen LCD-Datenbus, weil der nicht zu
jedem Zeitpunkt relevante Daten tragen muss. Dessen 4 Pins ergeben
zusammen mit 5 Inputs und 5 Dioden eine 20er Tastenmatrix.
Daher ist nicht ganz unwichtig, was genau du an den vielen Pins hängen
hast. Ob Taster, Zustandssignale, Displays, LED, Handgranaten, ... Und
wieviel Latenz noch unter "keine Latenz" fällt.
Fast alle menschliche Interaktion mit dem Computer (Tastendruck,
Rückmeldung über eine LED) reicht ein Update alle 10ms. Wenn Du
Schieberegister nimmst, macht Multiplexen da keinen Sinn. Ob Du das bei
50 IO-Pins mit dem internen SPI machst (genau dafür wurde er entwickelt)
oder per direktem Portpin-Wackeln ist völlig egal.
Multiplexen kannst Du Dir gerne antun, Du lernst auch viel dabei, aber
bevor Du dafür mit X Transistoren und Dioden zusätzlich rumhantieren
musst, nimm eine Handvoll schieberegister, da sie Fehlersuche und
Inbetriebnahme sehr vereinfachen.
> Wenn es kein DIP Gehäuse ist
Adapterplatinen gibt es auf Ebay für 2 Euro. Einen SMD Chip auf einen
Adapter löten ist erstaunlich einfach. (Uhrenquarz ist recht fummelig -
mit Adapter und Lochraster werden die Leitungen zu lang).
Bevor du den Aufwand mit den Schieberegistern machst, einfacher ist
Adapterplatine auf Lochraster.
Dominikkur schrieb:> Ok eine Frage bleibt mir, wenn ich ein Shift Register für Eingänge> benutze, und die Eingänge wirklich sehr kurz gedrückt werden> (Beispielsweise bei einem Reaktionsspiel), kann es dann nicht sein dass> die Inputs manchmal nicht erkannt werden?
"Sehr kurz" ist relativ. Was hast du denn gemessen, wie lang ein "sehr
kurzer" Tastendruck ist. Solange das länger als ein paar Millisekunden
sind, würde ich mir wegen der Erkennung noch keine Sorgen machen. Die
Schieberegister kann so gut wie jeder µC mit Hardwareunterstützung durch
die SPI-Einheit bedienen, so dass sich auch die Prozessorlast in Grenzen
hält.
Ist das inzwischen echt soo schwer geworden sich aus einer Serie einen
uC heraus zu suchen, der genügend IOs zur Verfügung stellt? 44 IOs sind
doch echt ein Witz, da muss man doch eher Fragen welche uC-Serie das
nicht in ihrem Portfolio hat.
M. K. schrieb:> Ist das inzwischen echt soo schwer geworden sich aus einer Serie einen> uC heraus zu suchen, der genügend IOs zur Verfügung stellt?
Bevor man nach einem µC mit fast 3-stelliger Pin-Anzahl sucht, sollte
man sich überlegen, ob es bei ein paar Tastern nicht eine sinnvollere
Methode als die Abfrage über Einzel-IOs gibt. Eine fürs Konzept nicht
unwesentliche Frage wäre dabei z.B., wie die Kiste sich beim parallelen
Drücken mehrerer Tasten benehmen soll.
Wolfgang schrieb:> Bevor man nach einem µC mit fast 3-stelliger Pin-Anzahl sucht, sollte> man sich überlegen, ob es bei ein paar Tastern nicht eine sinnvollere> Methode als die Abfrage über Einzel-IOs gibt. Eine fürs Konzept nicht> unwesentliche Frage wäre dabei z.B., wie die Kiste sich beim parallelen> Drücken mehrerer Tasten benehmen soll.
Bevor man überhaupt damit beginnt nach einem uC zu suchen muss man sich
fragen, welche Randbedingungen dieser erfüllen muss, welche vielleicht
zusätzlich nützlich sind und welche nur nice to have sind.
Dominikkur schrieb:> Durch das Schieberegister> werden ja nicht alle Inputs gleichzeitig sondern nacheinander abgefragt> so wie ich das verstehe, oder sind die Zeiten beim abfragen wirklich so> niedrig dass sowas auch bei wirklich sehr kurzem drücken nicht passieren> sollte?
Die einfachen üblichen 74HC595 kannst du ohne Probleme mit >20MHz fahren
... Wenn es nur 18 Taster sind, bräuchtest du 3 davon. Dann hättest du
eine Latenz von 1,2µs (falls ich mich nicht verrechnet habe).
(Datenblatt sagt sogar was von "100 MHz (typical) shift out frequency")
Kommt halt darauf an, was du für Anforderungen hast :)
Mampf F. schrieb:> Die einfachen üblichen 74HC595 kannst du ohne Probleme mit >20MHz fahren> ...
20MHz sind schon sehr sportlich. Bei einem STM32 glaub ich nur über
Hardware-SPI zu erreichen, bei einem AVR behaupte ich mal gar nicht.
Ralph S. schrieb:> 20MHz sind schon sehr sportlich. Bei einem STM32 glaub ich nur über> Hardware-SPI zu erreichen, bei einem AVR behaupte ich mal gar nicht.
Da würde man ja auch SPI dazu verwenden ... Aber 20MHz ist doch für
einen AVR nicht unüblich, dachte ich :)
Und die Wahl des Controllers ist wohl noch offen - dann kann er auch
einen STM32 verwenden.
Oh, mir ist gerade mein Fehler aufgefallen ... Mit dem 595er liest man
ja keine Pins ein - man gibt sie nur aus.
Dann eben das Äquivalent dazu - HC165 glaube ich.
Das lässt sich wunderbar mit I2C-Portexpandern umsetzen.
Bei denen muss man aber aufpassen, welche man nimmt. Alte Typen sind oft
ziemlich unpraktisch.
Folgender ist beispielsweise ganz nett:
https://www.nxp.com/docs/en/data-sheet/PCA9538.pdf
warum:
- Push-Pull-Ausgänge
- Interner Reset
- LVTTL-Pegel (d.h. an einen 5V Eingang kann ein 3V3-Signal ran
Portexpander sind sehr einfach zu verwenden, man kann auch mehrere an
einem Bus anschließen.
Bei NXP findest du viele verschiedene, mit bis zu 40 Pins.
Vorteil: Kannst du mit deinem jetzigen µC verwenden.
Stefan U. schrieb:> Bei ATmegas hat man nicht viele Wahlmöglichkeiten.
Also über die Produktsuche von Microchip finde ich insgesamt 110
ATmegas. Von denen haben 42 mindestens 44 I/Os, d.h. 44% aller ATmegas
kämen in Frage.
"Nicht viele Wahlmöglichkeiten" sind das aus meiner Sicht nicht.
Portexplodierer schrieb:> Das lässt sich wunderbar mit I2C-Portexpandern umsetzen.
Welchen Vorteil hätte I2C gegenüber simplen Schieberegistern, die an SPI
hängen?
Ja genau, überhaupt keinen xD
Mampf F. schrieb:> Portexplodierer schrieb:>> Das lässt sich wunderbar mit I2C-Portexpandern umsetzen.>> Welchen Vorteil hätte I2C gegenüber simplen Schieberegistern, die an SPI> hängen?>> Ja genau, überhaupt keinen xD
Sie wären bei 400kHz I2C-Takt nicht so anstrengend schnell ;-)
Ralph S. schrieb:> 20MHz sind schon sehr sportlich. Bei einem STM32 glaub ich nur über> Hardware-SPI zu erreichen, bei einem AVR behaupte ich mal gar nicht.
Es gibt auch AVR mit Hardware-SPI ;-)
Und ob es 20MHz oder 4MHz sind, dürfte völlig schnuppe sein, solange es
um Tastenabfragen im 2-Stelligen Bereich geht.
Mampf F. schrieb:> Portexplodierer schrieb:>> Das lässt sich wunderbar mit I2C-Portexpandern umsetzen.>> Welchen Vorteil hätte I2C gegenüber simplen Schieberegistern, die an SPI> hängen?>> Ja genau, überhaupt keinen xD
Doch, mehrere:
- Richtung Umschaltbar (IN / OUT)
- Interrupt, bei Änderung eines Eingangs
- Definierter Status nach dem Reset
Konkretes Beispiel:
Wenn man z.B. viele Taster an Schieberegistern hat, muss man die
Shiftregister pollen. Der I2C-Portexpander kann dir einen
Sammelinterrupt geben.
Die benutzte CPU-Last dürfte ein winziger Bruchteil sein, denn man muss
den Expander nur lesen, wenn ein Taster gedrückt wird.
In Summe: Erst denken, dann schreiben ;-)
Daniel H. schrieb:> Stefan U. schrieb:>> Bei ATmegas hat man nicht viele Wahlmöglichkeiten.>> Also über die Produktsuche von Microchip finde ich insgesamt 110> ATmegas. Von denen haben 42 mindestens 44 I/Os, d.h. 44% aller ATmegas> kämen in Frage.>> "Nicht viele Wahlmöglichkeiten" sind das aus meiner Sicht nicht.
42 von 100 wären schon nur 42%, 42 von 110 können dann wohl nicht mehr
als 42% sein. Ich frag mich grad wie der Wert zustande kam, die 10% die
110 mehr als 100 ist oben drauf geschlagen hätte ja 46% rauskommen
müssen...
Es sind also 38% der Megas die >=44 IO haben.
Portexplodierer schrieb:> Doch, mehrere:> - Richtung Umschaltbar (IN / OUT)> - Interrupt, bei Änderung eines Eingangs> - Definierter Status nach dem Reset
Gut, das können sie Schieberegister nicht ... Wobei Power-On-Reset
sollte schon gehen.
Portexplodierer schrieb:> Der I2C-Portexpander kann dir einen> Sammelinterrupt geben.
Und bei mehreren Bausteinen ver-oder-t man die Interrupts über Dioden?
Portexplodierer schrieb:> Die benutzte CPU-Last dürfte ein winziger Bruchteil sein, denn man muss> den Expander nur lesen, wenn ein Taster gedrückt wird.
Nichts zu tun ist natürlich besser, als wenn alle kA paar Microsekuden
neue Daten über den SPI herein kommen.
In der Summe müsste man entscheiden, ob die 400kHz I2C ausreichen oder
ob konstanter SPI-Transfer den Controller zu stark belasten würde.
Muss aber dann der TE sich überlegen :)
Ich frag mich eh, weshalb er nicht eine Matrix für seine Taster
verwendet - wird aber vmtl irgendeinen Grund haben.
Portexplodierer schrieb:> In Summe: Erst denken, dann schreiben ;-)
Ach, da kommt auch Erfahrung und persönliche Präferenz dazu .. Die
Expander wie zB PCF8574 hab ich mal vor Jahren verwendet, aber dann nie
wieder einen Grund gesehen, weshalb ich die brauchen würde.
SPI ist simpler als I2C, wobei es im Grund ja nur eine Software-Sache
ist und es da tausende von Beispielen gibt. Trotzdem war es mir schon
immer unsympathisch :)
Aber gut, ich hab mich geirrt, sie haben tatsächlich Vorteile - ein paar
;-)
Kosten allerdings mehr und sind langsamer^^
Mampf F. schrieb:> Die einfachen üblichen 74HC595 kannst du ohne Probleme mit >20MHz fahren> ... Wenn es nur 18 Taster sind, bräuchtest du 3 davon.
Nutzt nichts! Schon schade, wenn man nur SR mit acht Ausgängen kennt.
Meine Favoriten sind CD4021. In Kombination mit CD4094 lassen sich auch
Ausgänge erweitern.
m.n. schrieb:> Schon schade, wenn man nur SR mit acht Ausgängen kennt.>> Meine Favoriten sind CD4021. In Kombination mit CD4094 lassen sich auch> Ausgänge erweitern.
Das verstehe ich jetzt nicht, was du meinst ... Die beiden von dir
genannten Typen haben auch nur jeweils 8.
m.n. schrieb:> Und ich verstehe nicht, wie man Taster an Ausgänge anschließen soll ;-)
Gibts oft. Vielleicht tippst du grad auf solchen Tastern. Matrix.
Noch einmal: wie lese ich mit 3 x Schieberegistern 74HC595 18 Taster
ein?
Bitte keine Lauflichtschaltungen!
Mit 3 x CD4021 geht das Einlesen ganz einfach.
Bastler schrieb:> von 100 wären schon nur 42%, 42 von 110 können dann wohl nicht mehr> als 42% sein. Ich frag mich grad wie der Wert zustande kam, die 10% die> 110 mehr als 100 ist oben drauf geschlagen hätte ja 46% rauskommen> müssen...>> Es sind also 38% der Megas die >=44 IO haben.
Ist richtig, es kommen zwei Fehler zusammen:
1. Ich hatte ursprüngliche über alle gelisteten Controller abzüglich
ATtiny gerechnet. Dabei kommt man auf 176 Controller von denen 81 in
Frage kommen. Allerdings umfasst diese Zahl auch noch die ATxmega und
die AT90. Diese habe ich anschließend rausgerechnet, so dass nur noch
110 Controller übrig bleiben, von denen dann nur noch 42 in Frage
kommen. Diese Zahlen habe ich dann auch so aktualisiert, die Prozentzahl
ist mir allerdings durchgegangen.
2. Die 44% sind ein Typo, tatsächlich sollten es (ausgehend von ATmega +
AT90 + ATxmega) 46% sein
der Vorteil der parallelen Latches ist das man nur ein paar
Steuerleitungen braucht, dazu kann man jeden xbeliebigen I/O Pin nehmen
verbraucht also weder die I2C/SPI Schnitsstelle nocch hat man großen
Programmieraufwand.
Die 8 Datenpins kann man jederzeit wieder als normale I/O
weiterbenutzen.
Ich beschreibe es nochmal kurz.
1. Daten an die Ausgänge legen.
2. Steuersignal an den Latch geben dass es die Daten übernimmt und
ausgibt.
3. Nun gebe ich neue Daten an die Ausgänge
4. Steuersignal an das 2te Latches dass es die Daten übernimmt und
ausgibt. 5. ........
6. 3tes Latch beauftragen.
7. Pins wieder als Eingänge schalten und für andere Zwecke verwenden.
Wenn man die Eingänge erweiter will kann man alle 3 Latches mit einem
Signal gleichzeitig beauftragen die anliegenden Daten zu
übernehmen(speichern) und holt Sie dann später ab wenn mans braucht z.B.
alle 50 mSek.
Das ist sehr einfach zu programmieren. Mein erstes Projekt war damit ein
ATTiny26 + ein Latch, habe damit ein LCD im 8 Bit Modus angesteuert und
gleichzeitig sehr viele Analogeingänge weiternutzen können.
A. K. schrieb:> Oder auch 15 Tasten mit einem einzigen CD4021, als 3x5 Matrix.
So, ich reagiere mal, damit Du nicht weiter editieren kannst ;-)
Du kennst den CD4021? https://www.ti.com/lit/ds/symlink/cd4021b-q1.pdf
Die Schaltung will ich sehen, die mit acht Eingängen eine 3x5 Matrix
bedient!
m.n. schrieb:> Du kennst den CD4021?
Ich schon. Du auch? ;-)
> Die Schaltung will ich sehen, die mit acht Eingängen eine 3x5 Matrix> bedient!
Kein Problem. Der hat nämlich nicht nur 8 Eingänge, sondern auch 3
Ausgänge. Die koppelt man auf die Eingänge der gleichen Stufen zurück,
damit sie stabil bleiben. Ergibt 5 Eingänge und 3 Ausgänge.
Tatsächlich sind es sogar 20 Tasten in 4x5 Matrix, weil SER-IN in der
Erkennungsphase arbeitslos ist und dessen µC-Pin ebenfalls als Ausgang
für die Matrix genutzt werden kann. Wobei dieser Pin allerdings
gegenüber einer reinen Input-Kette hinzu kommt.
A. K. schrieb:> Tatsächlich sind es sogar 20 Tasten in 4x5 Matrix, weil SER-IN in der> Erkennungsphase arbeitslos ist und dessen µC-Pin ebenfalls als Ausgang> für die Matrix genutzt werden kann.
Na um so besser, denn der TO möchte ja 18 Taster einlesen.
Ich möchte ja nicht drängeln, aber die Schaltung möchte ich schon sehen.
Und hier die 4x5er.
Der Text ist nicht ganz richtig, es betrifft natürlich jeweils alle 4
Dioden.
Das ist ausserdem ein Schemabild, die Symbolik der Pulldowns darf
kreativ gedacht werden, nicht als Kurzschluss.
Ich weiss aber nicht, ob ich diese beiden Schaltungen jemals ausprobiert
hatte. Die Idee zur 3x5er ist jedenfals schon recht alt. Die Frage ist,
was genau während der Umschaltung von Seriell zu Parallel mit den
Ausgängen passiert. Also ob die stabil bleiben, oder kurz glitchen
könnten.
@Dominikkur
Ich bin mir nicht ganz sicher, ob Du mit den hier gegebenen Antworten
überhaupt was anfangen kannst!
Erst:
>"ca 44 i/o's"
Später:
>18 Inputs, und 18>Outputs, mit 6 Outputs für anderweitiges, nicht 44 Inputs, sondern auch>Outputs, macht das einen Unterschied wenn man dann den Portexpander oder>Shift Register verwendet?
18 oder 24 Outputs? Zugegeben meine mathematischen Kenntnisse sind nicht
überragend!
Erst:
>Auslesen von Tastern, allerdings möglichst ohne Latenzzeit die ich ja>bei einem shift register haben müsste (?)
Dann:
>macht das einen Unterschied wenn man dann den Portexpander oder>Shift Register verwendet?
Antwort auf die Frage:
"alle wie viele µs oder ns sollen die Eingänge abgefragt werden?"
>... 44
unwichtig ob µs oder ns!
Also Spaß beiseite - Ernst komm raus!
Die wichtigste Frage wurde noch gar nicht angerissen!
"Wie viel Rechenleistung brauchst Du eigentlich"?
Kurz vor Feierabend, am Freitag, habe ich mit einem letzten Tastendruck,
eine Simulation gestartet, die auf unserem Server wenigstens 3 Wochen
benötigt.
Oder willst Du eine einfache wenn-dann Entscheidung treffen?
Die meisten Hersteller haben auf ihren Internetseiten Listen, meist
Excel-Kompatibel, die die verfügbaren Mikrocontroller auflisten.
Da kann man auch direkt nach der Anzahl an Anschlüssen sortieren.
Reicht einer mit geringerer Leistung, schau doch mal bei Atmel
(neuerdings MicroChip) nach. Die haben auch noch einige Chips mit
"echten" Füßen im Angebot.
Weiterhin gibt es zu vielen µCs sogenannte Break-Out Boards, auf denen
Prozessoren mit vielen Füßen, in SMD-Technik, auf normale
Durchkontaktierungen geführt wurden.
Last but not least stellen viele Hersteller sogenannte Evaluation Boards
zur Verfügung - meist günstiger als ein Eigenbau - die sich leicht und
komfortabel programmieren bzw. steuern lassen. Einige haben auch
Stiftleisten auf der Platine, die für Deine gewünschte Erweiterung
infrage kommen.
Noch ein Hinweis: Praktisch alle, heute aktuellen Mikroprozessoren
haben, verglichen mit den Zeiten, wie sie bei Tastenanschlägen
vorkommen, Reaktionszeiten, die jede Taste alt aussehen lässt. Sogar
hinter einem Expander.
Gut. Die Taster müssen entkoppelt sein (Dioden) und dürfen kein
gemeinsames Bezugspotential haben (GND bzw. VCC), und es können auch
keine beliebigen Eingänge ausgewertet werden. Ferner ist die Matrix
nicht erweiterbar.
Alles zusammen sagt mir eher nicht zu.
Mit 3 x 4021 lassen sich 25 Eingänge einlesen und die Schaltung ist
(nahezu) beliebig kaskadierbar. Das Einlesen erfordert keine spezielle
Programmierung sondern kann per SPI mit hoher Geschwindigkeit erledigt
werden. Siehe Anhang.
Mampf F. schrieb:> Portexplodierer schrieb:>> Der I2C-Portexpander kann dir einen>> Sammelinterrupt geben.>> Und bei mehreren Bausteinen ver-oder-t man die Interrupts über Dioden?
Oder man gibt sie auf einen Interupt-Encoder, der einem gleich sagt,
welcher Baustein es war.
> Es sind also 38% der Megas die >=44 IO haben.
Ich glaube, der TO wollte das auf Typen mit DIP Fassung beschränken.
Darauf bezog ich mich jedenfalls, als ich schrieb, dass man nicht viele
Wahlmöglichkeiten hat.