SPI und TWI (I2C) mit Tiny44,45,84,85 ?

  • 1
  • 2
  • Page 1 of 2
MartinV
 
Avatar
 
Subject:

SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 17.03.2007 - 17:44  ·  #1
Hallo,

die Baureihen zu denen auch der tiny85 bzw tiny84 gehören, habe lt. Datenblatt jetzt eine "USI" Schnittstelle, statt SPI und TWI. Allerdings soll diese USI wahlweise in einem SPI- oder TWI-Modus betrieben werden können.

Wenn ich ein neues Projekt erstelle, kann ich TWI und SPI für dies Chips wählen, der Compiler sagt, mir dann jedoch, dass es nicht unterstützt wird.

Wie kann ich mit diesen Tiny-Typen per SPI oder TWI kommunizieren?? Bitte um Hilfe. Danke im Voraus.

Martin
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 17.03.2007 - 19:25  ·  #2
Hallo Martin,

diese USIs sind Krüppel Schnittstellen, nichts besseres als ein intelligentes
Schieberegister. Der AVRco wird das USI nicht unterstützen. Da diese nur in
Winz-AVRs vorhanden sind sollte man das möglichst komplett in Assembler
selbst schreiben.

rolf
MartinV
 
Avatar
 
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 17.03.2007 - 19:59  ·  #3
Hallo Rolf,

danke für die rasche Hilfe/Antwort.

Frage (da ich Assembler nicht wirklich beherrsche):

Hat jemand funktionsfähige Routienen für SPI und/oder I2C - und möchte sie auch hier veröffentlichen bzw. mir zur Verfügung stellen?


Viele Grüße

Martin
tschaggelar2
 
Avatar
 
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 18.03.2007 - 11:12  ·  #4
Martin,
mit ein paar einfachen Portzuweisungen ist man dabei. Dh es gibt paar Werte in ein paar Register zu schreiben. Was wohin geschrieben werden soll steht im Datenblatt. Etwa:

USICR:=%1101010; // interruts enable, three wire, timer compare clock

Rene
MartinV
 
Avatar
 
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 19.03.2007 - 18:19  ·  #5
Danke Rene, so im Prinzip kann ich es mir vorstellen.
ABER:
Scheint doch nicht so einfach zu gehen - habe folgendes Zitat in diesem Forum von rolf gefunden "Um einen UART, SPI, I2C
oder ähnliches draus zu machen, ist ein grosser Software Aufwand nötig,
und ein noch viel grösseres KnowHow mit diesem Krüppel."

an anderer Stelle von rolf:
"das USI des Tiny26 ist nicht trivial und nur etwas für Treiber Freaks
Am besten mega8 nehmen, der ist preiswert, hat TWI/I2C und hat genug
Platz auch für etwas grössere Applikationen.

Software I2C Slave kann man mit dem AVR in der Praxis vergessen, da
ist die CPU nur noch mit den Bits beschäftigt und hat keine Zeit mehr für
andere Aufgaben, auch dürfen keine Interrupts auftreten. Das gleiche gilt
auch für Software SPI Slaves und Software UARTs."

Also vermute ich jetzt mal - als NICHT-Treiber-Freak - dass ich diese Tiny-Reihen vergessen kann. Oder??

Gruß Martin
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 19.03.2007 - 18:45  ·  #6
Hallo Martin,

ja, ist wohl so. Jemand, der bestimmt ein guter ASM Programmierer ist, hat
mir gesagt, dass das USI nicht einfach ist. Andererseits gibts glaube ich von
Atmel da ein paar Sources dazu. Mir persönlich ist das wirklich zu "eingemacht".
Ich nehme dann doch lieber einen echten SPI/TWI/UART dazu.

rolf
MartinV
 
Avatar
 
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 19.03.2007 - 19:18  ·  #7
Hallo Rolf,

danke für diese Bestätigung - auch wenn´s für mich jetzt leider etwas ungünstig ist. Werde den atmega88 wählen.

Gruß Martin
robert
Benutzer
Avatar
Gender: n/a
Location: Hildesheim / Deutschland
Posts: 249
Registered: 04 / 2006
Subject:

Re: SPI und TWI (I2C) mit Tiny44,45,84,85 ?

 · 
Posted: 19.03.2007 - 19:56  ·  #8
Hallo Martin,
wegen Lieferengpässen von Dallas-Bausteinen habe ich mich letztes Jahr mal mit USI und 1wire auseinander setzen müssen. Ich habe im Prinzip nur die Applicationnotes von Atmel von C in Pascal übersetzt. Vielleicht hilft es ja. Nicht komplett fertig und ohne Gewähr. In einer Applikation lief es zumindest über mehrere Wochen, womit der Zweck erfüllt war.

Ist natürlich nicht nur für Martin.

Gruß
Robert
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   102   116 · Page-Gen-Time: 0.032946s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI