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?
Was für "normale", "gängige" Controller programmierst du denn so auf welchen Boards und nimmst sie dann raus?
Wenn du mehr Eingänge brauchst, kannst du einen größeren Mikrocontroller verwenden. STM32 gibt es mit 48 bis weit über 100 Pins.
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.
Ist doch noch eine normale Grössenordnung. In jeder Serie gibt es Controller mit 64 Pins. So etwas gilt doch noch als normaler MC.
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, alle wie viele µs oder ns sollen die Eingänge abgefragt werden?
nee - dann definitiv doch 42 ! Damit wären alle Fragen dann beantwortet, oder ? ggg
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.
1234567890 schrieb: > brauchst du für deine 48 Tasten nur noch 7 Leitungen Sorry, 14 Leitungen für 48 Tasten!
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?
Dominikkur schrieb: > welche wo man die > µC's entnehmen kann und gut einlöten kann, Warum willst du die "entnehmen"? MfG Klaus
@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
@Klaus deswegen würde ich die dann entnehmen wenn das Programm fertig ist und sie auf eine normale Platine löten,
Dominikkur, die PICs AVR kann man ISP Programmieren. Was ist also unter ISP zu verstehen? http://www.atmel.com/Images/Atmel-0943-In-System-Programming_ApplicationNote_AVR910.pdf
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.
Oder so was: http://www.inhaos.com/product_info.php?products_id=118 ? ? ? Viele IO, und 2,54mm Raster
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.
:
Bearbeitet durch User
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.
> da muss man doch eher Fragen welche uC-Serie das > nicht in ihrem Portfolio hat. Bei ATmegas hat man nicht viele Wahlmöglichkeiten.
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.
Natürlich gibt es verschiedenste "Kriterien". Aber hier scheinen Pin Anzahl und Rastermaß/Entnehmbarkeit die KO Kriterien zu sein.
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 :)
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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 ;-)
Beitrag #5215073 wurde vom Autor gelöscht.
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^^
:
Bearbeitet durch User
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.
Und ich verstehe nicht, wie man Taster an Ausgänge anschließen soll ;-)
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.
:
Bearbeitet durch User
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.
Beitrag #5215212 wurde vom Autor gelöscht.
m.n. schrieb: > Mit 3 x CD4021 geht das Einlesen ganz einfach. Oder auch 15 Tasten mit einem einzigen CD4021, als 3x5 Matrix.
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.
:
Bearbeitet durch User
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.
m.n. schrieb: > Ich möchte ja nicht drängeln, aber die Schaltung möchte ich schon sehen. Anbei die 3x5er.
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.
:
Bearbeitet durch User
@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.
:
Bearbeitet durch User
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.