Get Adobe Flash player

Library - I2C/TWI Slave

Benutzerbewertung: / 4
SchwachPerfekt 

Diese Biblitothek ermöglicht eine I2C/TWI Kommunikation über das Hardware I2C/TWI Interface von Atmel. Der verwendete Controller wird dabei als Slave in dem Bussystem verwendet. Unterstützt werden eigentlich alle Controller der Reihe ATmega von ATmel.

Die Bibliothek ist so programmiert, dass der Slave wie ein I2C-Speicher (I2C-Epprom) funktioniert.

Unterstützt werden alle Controller mit Atmel TWI Interface.

I²C / TWI

I²C ist ein synchroner serieller Zweidraht-Bus (eine Daten- und eine Taktleitung), der für die Kommunikation zwischen ICs über kleine Distanzen geeignet ist. Entwickelt wurde er Anfang der 80er Jahre von Philips. Aus Lizenzgründen heißt der I²C Bus bei manchen Herstellern auch TWI, two wire interface.

TWI - Slave Epprom

alle Beschreibungen findet man in der "TwiSlave.h" Datei.

The Slave works like a I2C-EEPROM.
1. send - "SLave-Address + write"
2. send - "Buffer-Address" Address in which you like to start with write or read.

write data in to Slave rxbuffer

3. send - "SLave-Address + write"
4. send - "data" writes data in the buffer, start by rxbuffer[Buffer-Address]

or

read data from Slave txbuffer

3. send - "SLave-Address + read"
4. send - data = i2c_readAck(); Demands the Slave to send data, start by txbuffer[Buffer-Address].

Info:

  • you have to change the buffer_size in the TwiSlave.h file
  • Buffer-Address is counted up automatically
  • if Buffer-Address > buffersize --> start by Buffer-Address= 0

Anwendungen

Aufbau einer Kommunikation von mehreren Controllern untereinander. Dabei ist ein Controller der Master, welcher den Slaves Informationen zusenden oder von Ihnen anfordern kann.

Bei einem Messsystem könnten die einzelnen Slaves verschiedene Messaufgaben haben. Die fertigen Daten werden von dem Slave in den Versendespeicher abgelegt. Fordert der Master Daten an, so werden diese in einer Interruptroutine als Antwort gesendet.

Aufgrund dieser Struktur muss sich der Master nicht um die vielleicht rechentechnisch aufwendigen Aufgaben, wie das Messen und die anschließende Kalibrierung kümmern. Der Master kann sofort die empfangenen Daten der einzelnen Slaves auswerten oder mit ihnen weiter rechnen.

Beispiel

Die Biblitothek enthält ein voll funktionsfähiges Beispiel, inclusive makefile. Das Programm sollte sich ohne Probleme mit dem Programmers Notepad kompilieren lassen.

Viel erfolg!

Links

 
Produktseite
Produktseite

Downloads

Lib - LiB_TWI_ATmega_Slave

Kommentar schreiben


Sicherheitscode
Aktualisieren

Neue Beiträge

06 Mai 2012
Ich weiß es ist noch eine Weile hin bis zum nächsten Weihnachtsfest. Trotzdem kann man ja nie früh genug...
12 April 2012
Mit Hilfe einer einfachen Holzkonstruktion und einer Vielzahl von kleinen Plastikröhrchen aus der Biotechnik,...
4.7235
08 April 2012
Da ich endlich Ordnung in die Aufbewahrung von Kabeln, Flachbandkabeln und LED-Bändern bringen wollte, habe...
03 April 2012
Nach einer gefühlten Ewigkeit hat es nun doch endlich geklappt und ich konnte meinen schon vor einiger Zeit...
05 März 2012
Dieser RGB Laser-Projektor basiert auf dem legendären MOT1 Laser DAC. Auch heute wird der MOT-1 Scanner vielfach...
31 Januar 2012
Der DS1631 und der DS1631A sind digitale Hochpräzisions-Thermometer bzw. Thermostaten von der Firma Dallas und...
4.8842