Es sind beide Möglichkeiten sehr interessant nur das Problem ist das ich keinerlei Erfahrungen mit den Systemen habe, und mir deshalb etwas schwer tue mir etwas darunter vorzustellen.
MfG Snow Wolf
Es sind beide Möglichkeiten sehr interessant nur das Problem ist das ich keinerlei Erfahrungen mit den Systemen habe, und mir deshalb etwas schwer tue mir etwas darunter vorzustellen.
MfG Snow Wolf
Damit du verstehst wie das funktioniert musst du dich in den jeweiligen Bus einlesen. Wie schon geschrieben wurde gibt es mehrere Möglichkeiten eine Erweiterung zu verwenden.
Wenn du dich für die Schieberegister interresierst musst du dich in den SPI (Seriell Peripheral Interface) Bus einlesen. Der Nachteil bei diesem Bus ist, wie schon Picture geschrieben hat, das du für den Eingabe und Ausgabe jeweils eigene ICs brauchst.
Wenn du dich für I2C interresierst gibt es dafür Portexpander, wie den PCF8574, den du für die Eingabe und Ausgabe nutzen kannst. Wie du ihn ansteuerst steht im Datenblatt (z.B. http://www.nxp.com/documents/data_sheet/PCF8574.pdf ).
Ein weiterer Vorteil vom PCF8574 ist, dass du einen Interruptausgang hast. Wenn sich am Port etwas ändert (wenn als Eingang genutzt) wird ein Interruptsignal erzeugt. Das hat den Vorteil, dass der PCF nur dann ausgelesen werden muss, wenn sich etwas ändert. Das erspart dem µC Rechenzeit.
Für welchen Bus du dich entscheidest ist Geschmackssache. Du solltest dir auch überlegen, was du noch brauchen wirst. Am SPI Bus kannst du z.B. auch Funkübertragungssysteme nutzen, aber auch SD Karten auslesen/beschreiben.
Für den I2C Bus gibt es auch sehr viele sinnvolle Erweiterung wie z.B. Echtzeituhr (RTC), Analog Ein- bzw Ausgabe,....
MfG Hannes
Und jetzt ?
An dem Punkt hab ich folgendes gelesen:
1. http://www.rn-wissen.de/index.php/AV...leicht_gemacht
2. http://www.rn-wissen.de/index.php/Portexpander_am_AVR
Dazu immer versucht die zugehörigen Datenblätter zu verstehen und dann experimentiert.
Herausgekommen ist bisher das:
https://www.roboternetz.de/community...OM-u.-ATtiny45
Danach sollten für Dich Modifikationen an der M32 Platine nicht mehr so unüberwindlich erscheinen. Konkrete Fragen werden bestimmt im Forum beantwortet.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Dann werde ich es einmal mit dem Port-Expander PCF8574 versuchen nur dann stellt sich die Frage wie ich den Port-Expander PCF8574 an den I²C Bus anschließe.
MfG Snwo Wolf
Das steht im Datenblatt. Du brauchst VCC (positive Versorgungsspannung), GND (0V), SCL (Taktleitung für den Bus) und SDA (Datenleitung für den Bus). Beim Bus darfst du den Pullup Widerstand nicht vergessen.
MfG Hannes
Dann werde ich mir mal ein paar von den IC's kaufen und herumprobieren. Aber es stellen sich noch einige Fragen wie kann ich die Adresse des IC's ändern, und wie kann ich die Ausgänge über I²C schalten.
MfG Snow Wolf
Steht alles im Datenblatt...
http://www.nxp.com/documents/data_sheet/PCF8574.pdf
Von den 7 Adressbits des I2C-Bus sind beim PCF8574 4 festgelegt, die anderen 3 kann man über die Leitungen A0-A2 einstellen. Damit sind 8 Bausteine an einem Bussegment möglich. (der PCF8574A hat einen anderen festen Adressteil, so dass damit nochmal 8 Bausteine möglich sind - siehe Fig.10, Seite 9 im Datenblatt)
Wenn man aber so viele IOs braucht, nimmt man besser gleich 16-Bit oder gar 32-Bit Portexpander.
Der 8574 hat Quasi-Bidirektionale Ein/Ausgänge. So wie beim alten 8051 ist ein Pin dann als Eingang verwendbar, wenn eine 1 im Output-Register steht. Wenn man eine 0 Schreibt, dann ist der Pin außen auf 0 gezogen. Jede "harte" Verbindung zu VCC muss dann vermieden werden. Also als reinen Ausgang einfach die gewünschten Bits setzten und löschen. Der Baustein kann bei einer 1 am Ausgang aber kaum Strom treiben. LEDs und Taster daher besser Low-Aktiv betreiben.
Bei den moderneren Bausteinen (8-Bit PCA9554, 16-Bit PCA9555) müssen die Ausgänge zunächst über das Port-Configuration-Register auf Ausgang geschaltet werden. Ein Schreibvorgang auf einen Eingangspin bleibt hier Wirkungslos.
Siehe 6.2 in http://www.nxp.com/documents/data_sheet/PCA9555.pdf
tschuessle
Bernhard
So dann werde ich mir mal den PCA9555 kaufen und probieren. Nur die Frage bleibt wie ich die Ausgänge über I²C Bus ansteuere (meine über M32).
MfG Snow Wolf
Lesezeichen