Forum: Mikrocontroller und Digitale Elektronik ATMEGA 1284P Anzahl möglicher I2C/TWI Bus


von Alois N. (alois)


Lesenswert?

Hallo,

wieviel I2C/TWI Ports hat ein ATMEGA1284P und auf welchen Pins liegen 
diese?

Nach meinen Recherchen hat er ein Hardware TWI (PINC0/SCL PINC1/SDA) und 
ein Software TWI über USI möglich. Also zwei.

Oder kann ich das Software TWI für mehrere Ports verwenden?

von Timmo H. (masterfx)


Lesenswert?

Software I2C kannst so so viele machen bis die IO-Pins am Controller 
alle belegt sind.
TWI über USI ist so halb Hardware halb Software.
Gibts auch schon ne fertige Lib.
Normalerweise braucht man aber ja auch nur einen oder zwei I2C/TWI, denn 
die du kannst ja alle Slaves an einen Bus hängen und die entsprechend 
adressieren. Die meisten Slaves haben 1-3 Adresspins worüber du die 
Adresse bestimmen kannst. Andere können aber auch nur eine Adresse.

von Alois N. (alois)


Lesenswert?

Welche TWI Software LIB verwendet man dazu am besten? Die von Peter 
Fleury?

Gibt es ein Besipiel, in der zwei SoftTWI verwendet wurden?

von Hmm (Gast)


Lesenswert?

Der Vorteil eines Bus ist, dass man meist nur einen braucht. Wozu 
brauchst du mehrere?

von Alois N. (alois)


Lesenswert?

Ich möchte einen Raspberry PI Addon bauen das auf einem ATMEGA NET-IO 
basiert. Dabei wirkt der ATMEGA nur als SLAVE.

Da es einen internen I2C-Bus für die Ansteuerung von zwei PCF8574 
I/O-Expander zum Lesen von Eingängen und Schalten von Ausgängen gibt, 
soll der RasPi über den P5-Header (GPIO28/GPIO29) an einem zweiten 
(getrennten) I2C-Bus hängen. Kurzum am ATMEGA hängen die ganzen Sensoren 
und Aktoren und kommuniziert über das I2C-Protokoll mit dem RasPi. Der 
RasPi übernimmt die Datenverarbeitung und stellt die Daten bereit z.B. 
auf einem Webserver mit MySQL Datenbank.

Darum zwei I2C Busse.

Mal ehrlich... das Web-Interface vom ATMEGA ist doch grottenlangsam. Das 
kann der RasPi besser und schneller. Genung Power hat er ja. Leider 
haberts bei ihm mit den Anschlussmöglichkeiten mit allerlei Peripherie. 
Da ist der ATMEGA zu Haus 1-WIRE, Analog, Digital, I2C....

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wozu dann der AVR?
Das kann der Pi selber.

von Uups (Gast)


Lesenswert?

Und warum muss das PI mit dem NET-IO unbedingt mittels I²C 
kommunizieren? Geht doch auch einfacher, oder?

von holger (Gast)


Lesenswert?

>Ich möchte einen Raspberry PI Addon bauen das auf einem ATMEGA NET-IO
>basiert. Dabei wirkt der ATMEGA nur als SLAVE.

Wieso nimmst du nicht RS232?
I2C Slave ist immer irgendwie Murks auf uC.
Und einen Software I2C Slave trau ich dir nicht zu.
Wenn du das könntest würdest du hier nicht so eine Frage stellen.

von holger (Gast)


Lesenswert?

>Wozu dann der AVR?

Berechtigte Frage;)

von Uups (Gast)


Lesenswert?

Alois Neumann schrieb:
> Da ist der ATMEGA zu Haus 1-WIRE, Analog, Digital, I2C....

Und beide könne LAN. Wozu dann Daten über I2C schieben?

von Alois N. (alois)


Lesenswert?

Beim Raspi kommt man ohne etwas Zusatzelektronik meist auch nicht aus. 
Mein Add-On Entwurf hat das gleiche Format wie der RaspPi (85x56mm) und 
wird unter den RasPi gesteckt. Das Addon beherbergt 1x Level-Shifter, 2x 
PCF8574 I/O-Expander (16 I/O), 16 I/O (analog/digital) direkt vom 
ATMEGA, 1 x RFM12 Sender, 1 x FT232 USB Bridge (für Diagnosezwecke).

Er hat kein Ethernet-Chip und kein SD-Karten SLOT. Das hat alles der 
RasPi.

von Keep it simpel (Gast)


Lesenswert?

Alois Neumann schrieb:
> Ich möchte einen Raspberry PI Addon bauen

Wofür genau? Welche Features sind es, die das NET-IO hat und der PI 
nicht.

Wenn das klar ist würde ich mir ein Lochraster genau dafür bauen und 
mehr nicht.

von Alois N. (alois)


Lesenswert?

holger schrieb:
> Wieso nimmst du nicht RS232?
> I2C Slave ist immer irgendwie Murks auf uC.

Da das Add-On am P5-Header angesteckt wird. Der P1-Header bleibt frei 
für die Standard Add-Ons.

Und damit zu deiner Frage. Am P5-Header gibt es kein UART.

von Uupss (Gast)


Lesenswert?

Alois Neumann schrieb:
> das auf einem ATMEGA NET-IO basiert

Also das mit dem NET-IO ist also ein Missverständnis?

Du willst eine Zusatzplatine mit einem ATmega OHNE LAN?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Alois Neumann schrieb:
> Und damit zu deiner Frage. Am P5-Header gibt es kein UART.

So wie ich das sehe hat der aber auch kein I2C, sondern nur GPIO.

von Alois N. (alois)


Angehängte Dateien:

Lesenswert?

Uupss schrieb:
> Also das mit dem NET-IO ist also ein Missverständnis?
> Du willst eine Zusatzplatine mit einem ATmega OHNE LAN?

Ja... zur Verdeutlichung habe ich schnell EAGLE3D angeschmissen. Leider 
sind ein paar Bauteilefehler beim rendern drauf. Der ATMEGA sitzt auf 
der Unterseite.
Als erster Ausblick aber soweit ok.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Und was hat das dann noch mitm NETIO zu tun?
Das is ne normale Platine mit nem AVR drauf.

Martin Wende schrieb:
> Alois Neumann schrieb:
>> Und damit zu deiner Frage. Am P5-Header gibt es kein UART.
>
> So wie ich das sehe hat der aber auch kein I2C, sondern nur GPIO.

Wo haste denn die Info her, dass der P5 I2C hat?

von Alois N. (alois)



Lesenswert?

Martin Wende schrieb:
> Alois Neumann schrieb:
>> Und damit zu deiner Frage. Am P5-Header gibt es kein UART.
>
> So wie ich das sehe hat der aber auch kein I2C, sondern nur GPIO.

Da liegst du leider falsch. Schau mal in die DOKU 
(BCM2835-ARM-Peripherals.pdf)

Da steht auf Seite 102 "Alternative Function Assignments"
1
GPIO#  ALT0     ALT1     ALT2      ALT3      ALT5
2
  28    SDA0     SA5   PCM_CLK   <reserved>
3
  29    SLC0     SA4   PCM_FS    <reserved>
4
  30 <reserved>  SA3   PCM_DIN     CTS0      CTS1
5
  31 <reserved>  SA2   PCM_DOUT    RTS0      RTS1

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
Noch kein Account? Hier anmelden.