PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega8 als Portexpander an einem Atmega32



RobNet
13.11.2011, 17:27
Guten Abend Zusammen,

da mir für ein größeres Projekt die Ports am Atmega32 ausgehen (wegen: LCD-Touch, 16 Relais und ein paar weitere Hardwarekomponenten) möchte ich eine Porterweiterung realisieren.

Nach langem Lesen und Googeln, gibt es ja Möglichkeiten über die üblichen Portexpander-ICs. Jedoch sind die nicht unbedingt komfortabel. Der eine schaltet nur gegen Ground, der andere ist recht teuer etc.

Mir würde es inzwischen am besten gefallen, wenn ein Atmega8 die Portexpander Funktion übernehmen würde. Da ich aber bei Allem was I²C bzw. TWI anbelangt noch ein absoluter Beginner bin, würde mich interessieren, ob jemand sowas schon gemacht und realisiert hat?

Gesucht wird also:

- Atemga8 als Slave am Atmega32
- Programmiersprache: BASCOM
- Der Atemga8 wird nur für Ausgänge verwendet nicht zum einlesen

Gibt es hierführ mal ein kleines Schaltbild, wie der A8 an den A32 kommt und ein kleines Programmierbeispiel um mal einen Port am Salve zu schalten?

Würde mich sehr freuen!!!

DANKE und Grüße
Thomas

Thegon
13.11.2011, 17:39
Hallo,

Ich denke das wird sehr wohl gehen, finde es eine Gute Idee.
Schaltbild, da wird es nicht viel zu sagen geben, ich meine die Beiden I2C leitungen verbinden, Pullup´s ran, die Software konfigurieren, und los geht´s.
Ich meine Lasten kann man dann natürlich noch keine Schalten, man hat eben 5V - 0V und ma. 20mA rein oder raus. Eigentlich muss man in Bascom auch nicht besonders viel schreiben, einfach die Gesendeten zwei Bytes (würd ich jetzt sagen, einer gibt das Port an und der Andere den Status des Ports, z.B. 0000001, also das letzte Pin an, oder so)

Ein Paar nützliche Links, nach denen du gefragt hast:
TWI ganz allgemein, Registerübersicht (http://www.rn-wissen.de/index.php/TWI)

TWI Bascom Praxis, mit Codebeispielen (http://www.rn-wissen.de/index.php/TWI_Praxis)

Der I2C Master, mit Software (http://www.rn-wissen.de/index.php/Bascom_I2C_Master)

Sonst findet sich auch noch allerhand nützliches im RN-Wissen (http://www.rn-wissen.de/index.php/Hauptseite);-)

Mfg Thegon

lokirobotics
14.11.2011, 09:26
Nen µC als Portexpander zu missbrauchen fänd ich ne ganz schöne Verschwendung. Müssen die Ports konfigurierbar sein, oder steht die Datenrichtung vorher fest?
Für während der Laufzeit konfigurierbare Ports, OK, ansonsten würd ich dafür Schieberegister nehmen. Kosten ca 0,30€ pro Stück. Einfachste Ansteuerung über SPI
und falls Geschwindigkeit ne Rolle spielt, die kannst du um den Faktor 1000 schneller Takten und du hast kaum Protokoll overhead.