AVR mittels AVR programmieren

Gast #47159
Hallo,

ich versuche jetzt mal zu beschreiben, was ich vorhabe und hoffe das es
verständlich rüber kommt.

Ich habe eine Haupt-Einheit mit AVR-Controller. Diese ist mit einem PC
über RS232 gekoppelt.
An der Haupt-Einheit hängen über die SPI Schnittstelle weitere
Unter-Einheiten mit AVR-Controllern.

Ist die SPI-Schnittstelle überhaupt busfähig oder stellt sie eine 1zu1
Verbindung dar?

Über die RS232 gebe ich Konfigurationsparameter für einzelne
Unter-Einheiten an die Haupt-Einheit der sie dann in das EEProm der
betreffenden Unter-Einheit schreiben soll.

Geht so was?
Hat jemand einen Ansatz oder gar Lösung?

Gruß Jörg
Gast #47160
SPI ist ,,einigermaßen'' busfähig.  Du mußt ein slave select Signal
(chip select) für jeden Slave generieren, d. h. der Master braucht
für N Slaves auch N Portpins.  Insofern ist es kein waschechter Bus.
Für einen solchen könntest Du aber wohl TWI (I²C) benutzen, hat aber
möglicherweise nur dann Sinn, wenn all Deine AVRs Hardware-TWI
verstehen (also neuere ATmegas sind).  Du findest zwar auch für AVRs
ohne TWI noch bißchen Code im Netz, in der Regel dann aber nur für
den Betrieb als Master, Du brauchst aber auch den Slave-Betrieb.
Gast #47162
Könntest du schon. (Guck einfach mal in die APP-Note AVR910)
Allerdings darf dann nur jeweils ein µController am Bus hängen.
Ansonsten gibts Chaos, da dann ja jeder Controller auf die
Programmieranfrage von deinem Master antwortet.
Könntest das höchstens über nen Bootloader machen und jedem Controller
eine eindeutige ID geben.
Gast #47163
Hi

im Prinzip geht das schon. Da das Programmierinterface nur aktiv ist
wenn Reset aktiv ist muß man einfach den Reset des betreffenden µC
aktiv schalten und kann dann das EEPROM über die SPI-Schnittstelle
programmieren. Ob das Sinn macht? Ich weiß nicht. Warum können denn die
Slave-µC ihre EEPROM's nicht selber programmieren nachdem sie die
Daten irgendwie erhalten haben?

Matthias
Gast #47164
Klar können Sie das,

ich bin ja noch in der überlegung wie ich das am besten mache.

Als Unter-Einheit habe ich eigentlich ATtiny's ausgewählt.

Wie koppel ich die denn am besten an einen Mega8 so das sie Daten
übernehmen können.

Gruß Jörg
Gast #47165
Hi

über den UART? Muß man auf den Tinys dann per Software machen was aber
auch kein Problem ist. Wenn der Mega8 den UART irgendwo anders braucht
macht man sich eben einen zweiten Software-UART.

Matthias

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.