attiny wie seriell Daten senden

Gast #1208326
Lesenswert?
• ▲
▼
Hallo,
für eine Akkuüberwachung habe ich nach abwägen vieler Lösungen, mich 
entscheiden auf jeden Akkus je einen Attiny zu verbauen!!
Nun soll dieser nichts weiter machen, als die Akkuspannung zu messen und 
seriell rausschicken.
Nun sehe icha ber das der ATtiny kein SPI Ausgang oder Uart hat.....
Wie also sende ich jetzt Seriel Daten??

Schlussendlich befinden sich 16 CPU in Reihe in einem seriellen 
Netzwerk.
Die Daten werden dann von einem Atmega abgefragt
Gast #1208340
Lesenswert?
• ▲
▼
>Wie also sende ich jetzt Seriel Daten??

Zu Fuß. Software UART oder Software SPI.
Oder sich selber was ausdenken.

Datenbit1-Clock-Datenbit2-Clock-Datenbit3-Clock

Bei 16 CPUs dann z.B. per DaisyChain oder so.
Gast #1208346
Lesenswert?
• ▲
▼
Dann mach aus deimen Mega einen I²C-Master und deine Tiny's zu Slaves
mit unterschiedlichen Adressen.
Dann einfach der Reihe nach abfragen.
I²C - Routinen hier im Forum (auch Softwarelösungen).
Die Adressen der Slave's evtl. beim Prgrammieren ins jeweilige EEProm
schreiben oder über Pins einstellbar (Bsp: 8574 für binär SAA1064
Analogwert, bei Tiny eine Pinfrage).

gruß hans
Gast #1208347
Lesenswert?
• ▲
▼
holger wrote:
>>Wie also sende ich jetzt Seriel Daten??
>
> Zu Fuß. Software UART oder Software SPI.
> Oder sich selber was ausdenken.
>
> Datenbit1-Clock-Datenbit2-Clock-Datenbit3-Clock
>
> Bei 16 CPUs dann z.B. per DaisyChain oder so.

Dazu gibt's auch Appnotes bei Atmel
Gast #1208362
Lesenswert?
• ▲
▼
>> Zu Fuß. Software UART oder Software SPI.
>> Oder sich selber was ausdenken.

Alternativ könnte man auch mal darüber nachdenken
ob man bei der Auswahl des uC schlicht und ergreifend
ins Klo gefasst hat ;)
Gast #1208386
Lesenswert?
• ▲
▼
Hm, wer hat jetzt hier ein Verständnisproblem?

- 16 CPUs befinden sich in Reihe (Serie). (?)
- Serielle Daten werden Bit für Bit zeitlich nacheinander ausgegeben
  oder empfangen. (!)

Das eine und das andere hat praktisch nicht viel miteinander zu tun.
Die Lösung liegt im PARALLEL-Schalten der Datenwege, was für jeden,
der vom Kirchhoffchen Gesetz gehört hat, das Gegenteil zur Serien-
schaltung (auch Reihenschaltung genannt) ist.

Einem nicht ganz ahnungslosem Leser fällt dazu folgendes ein:

Atmega schickt über seine UART die NUMMER des Akkuüberwachers, von
dem er gerade was wissen will, an alle Attinys.

Diese Akkuüberwacher haben je einen Portpin IN für den seriellen
Empfang. Der serielle Empfang (Protokoll und Timing) kann auch mit
Software und einem internen Counter/Timer verwirklicht werden.

Empfängt ein Attiny SEINE Nummer (Adresse), antwortet er mit seinem
Messwert. Dazu wird ein Portpin OUT mit serieller Sende-Software für
die Antwort (Akkuspannung) bereitgestellt.

Alle Attinys, die nicht gerade angesprochen wurden , müssen ihren 
Sendeausgang hochohmig (als "unbenutzten" Eingang) schalten.

Google mal nach SOFTWARE-UART (gibts vielleicht auch im Forum).

Sind zwei Pins an den Attinys frei, ging der Griff nicht in die
Kloschüssel.
Gast #1208391
Lesenswert?
• ▲
▼
@Peter

>Das USI läßt sich ohne Probleme als I2C- oder SPI-Slave verwenden.

Viel Spass dabei einem ATTiny13 die Geschicht vom USI
zu erzählen ;) Welchen ATTiny er benutzen möchte ist allerdings
noch unklar.
Gast #1208401
Lesenswert?
• ▲
▼
Man muß für so eine Aufgabe keinen neuen Bus und/oder Protokoll
erfinden, sondern auswählen was past!

Hier eindeutig I²C (auch wenn andere Lösungen ebenso gehen).

I²C mit dem USI-Modul (oder TWI) ist möglich jedoch oft
fehlerträchtig.

Softwarelösungen für 2 beliebige freie Pins gibt es hier zu hauf.

gruß hans
#1208409
Lesenswert?
• ▲
▼
hans wrote:
> I²C mit dem USI-Modul (oder TWI) ist möglich jedoch oft
> fehlerträchtig.

Kannst Du das irgendwie begründen oder ist das nur ein Gerücht.


> Softwarelösungen für 2 beliebige freie Pins gibt es hier zu hauf.

Aber nur als Single-Master.
Als Slave wirds haarig oder der MC hat nichts anderes zu tun, als auf 
den Master zu warten.


Peter
Gast #1212799
Lesenswert?
• ▲
▼
Hallo,
das Problem an der Sache ist,m das alles mit Optokopplern egtrennt 
werden muss!! den bei einer Reihenschaltung habe ich logischereweise 
einen haufen unterschiedlicher Potentiale....
Die Gesammtspannung beträgrt so um 64V!!!

Daher habe ich mit jetzt für Uart entschieden...
Allerdings nehme ich jetzt für jeden Akku einen Mega88, da ich es mit 
den Tiny13 nicht gebacken bekommen Sereiell Daten zu senden?!!?!?
Da kommt immer nut Müll an, auch wenn ich statt 2400, 2500,2450 Baud etc 
angebe??!?
Also nehem ich nun ärgerlicherweise Mega88 mit eienr ECHTEN Uart, leider 
sind die doppelt so teuer, was bei 20µc erheblich ins Gewicht fällt!!

Uart geht aber sehr leicht mit Optokopplern zu verwenden...

Jetzt muss ich nur noch erlernen wie ich Seriell Word Variablen 
übertrage :-((
Einzelne ZEichen sind ja kein Problem..

Mir stehen MikroPascal oder AVRco Pascal oder Bascom zur verfügung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren