mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8 zwei Stück parallel schalten?


Autor: Martin S. (panik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

ich habe mir ein nettes Gerät mit dem Atmega8 und ein paar Anzeigen 
gebastelt. Das funktioniert super aber es soll erweitert werden.

Der Atmega ist vom Speicher voll belegt (99%) und jetzt wollte ich die 
Hardware mit einem anderen Atmega8 nutzen. Meine Idee ist jetzt den 
zweiten µC einfach huckepack auf den 1. zu löten und zwischen den 
Controllern mittels Reset-Pin umzuschalten. Also lt. Datenblatt sollte 
der abgeschaltet Controller (Reset auf Masse) ja hochohmig sein. 
Logischerweise würde ich sicherstellen das nie beide Controller Reset 
auf Vcc bekommen.
Es wird immer der interne Takt verwendet, also auch das sollte klappen.

Würde das so funktionieren?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du weißt aber schon, daß der ATmega328P pinkompatibel zum ATmega8 ist?


Peter

Autor: Martin S. (panik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, das weiss ich aber ich wollte meinen 1.Controller unverändert lassen 
und jederzeit wieder aktivieren.
Würde das klappen?

Autor: Ronald S. (mline)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist so schlimm daran den 8er durch einen 328er zu ersetzen?!
Fix auf ne Platine gelötet? :D

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also die variante mit dem mega328p dürfte einfacher sein.
weil der speicher von dem einen controller voll ist heißt es ja nicht 
das du durch einen 2. controller mehr speicher gewinnst. im gegenteil 
... du mußt die grundlegenden funktionen ja 2 mal haben. inkl. der 
verwaltung welche der erweiterungen denn gerade läuft ...
dann dürfte es ein problem werden, wie willst du den datenaustausch 
zwischen den controllern machen wenn nur 1 gleichzeitig laufen darf ...
und bedenke, wenn die controller umgeschaltet werden läuft das programm 
immer wieder von vorne an ...

ergo -> lieber nen größeren controller nehmen. hat den vorteil das sich 
dann noch mehr features einbinden lassen.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ja, das weiss ich aber ich wollte meinen 1.Controller unverändert lassen
>und jederzeit wieder aktivieren.

wenn du den quellcode für einen atmega328p compilierst dann hast du doch 
immer noch die originalversion, nur eben angepasst für einen mega328p

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich das verstanden habe, möchte er die Peripherie quasi für ein 
ganz anderes Programm wiederverwenden, ohne den ersten Prozessor 
auslöten zu müssen.

Mehr oder weniger also:
Irgendwo gibt es einen Kippschalter (oder so), der die grundlegende 
Funktion des Gerätes umschaltet. Intern passiert dabei nichts anderes 
als der Reset entsprechend umgeschaltet wird.

Was ich davon halte: Öhhhhm. Da sag ich lieber nichts dazu :-)
Stelle mir gerade vor, wie ein Historiker in 300 Jahren das Gerät findet 
und rätselt, wie das wohl funktioniert hat :-)

Autor: Martin S. (panik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich will einfach zwischen den Controllern umschalten. Die Controller 
sollen auch keine Daten austauschen.
Ich deute die Antworten als "könnte klappen"

Mal abgesehen vom "Sinn", spricht technisch etwas dagegen?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:

> Mal abgesehen vom "Sinn", spricht technisch etwas dagegen?

Wenn du rein zufällig an die SPI Pins das passende Bitmuster anlegst, 
kannst du den anderen AVR löschen oder die Fusebits verstellen.

Autor: groof (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach es einfach!
Wenn es Probleme gibt, wirst Du es schon merken.

Autor: Martin S. (panik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip, das wäre echt ein Grund den Unfug zu lassen.

Ist so ein Zufall eigentlich möglich, braucht der AVR nicht erst etliche 
Kommandos zur Initialisierung?

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn du rein zufällig an die SPI Pins das passende Bitmuster anlegst,
> kannst du den anderen AVR löschen oder die Fusebits verstellen.

Ich stelle mir gerade vor, wie man durch Verteilen auf 2 AVRs richtig 
böse selbstmodifizierende Programme entwickeln könnte...

Autor: wieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich stelle mir gerade vor, wie man durch Verteilen auf 2 AVRs richtig
>böse selbstmodifizierende Programme entwickeln könnte...
Sei lieber still, sonst will man nach nmap auch noch den avr-gcc auf 
eine schwarze Liste von pöhsen Hackertools setzen ;)

Autor: paranoid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich stelle mir gerade vor, wie man durch Verteilen auf 2 AVRs richtig
> böse selbstmodifizierende Programme entwickeln könnte...

2 Atmels parallel = Skynet o_O

SCNR

Autor: groof (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte, ein AVR steht immer im Reset? Dadurch sollte er sich durch 
nichts beeinflussen lassen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
groof schrieb:
> Ich dachte, ein AVR steht immer im Reset? Dadurch sollte er sich durch
> nichts beeinflussen lassen.

Fast.
Wenn nicht das Signal für den Mega8 in den ISP Modus zu gehen ein 
gezogener Reset Pin wäre :-)

Autor: groof (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tschuldigung, ich arbeite normalerweise mit PICs. Die verhalten sich 
beim aktiven Reset nicht so schwachsinnig.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
groof schrieb:
> Tschuldigung, ich arbeite normalerweise mit PICs. Die verhalten sich
> beim aktiven Reset nicht so schwachsinnig.

Nö, der machts genauso "schwachsinnig".

Z.B. in der PIC18FX220 Programmierbeschreibung steht, im 
Programmiermodus ist /MCLR = high (Seite 8, Figure 2-11).

Wie viele andere MCs auch.

Ergibt auch Sinn, denn damit wird sichergestellt, daß sich die CPU im 
Betrieb nicht versehentlich selbst in den Programmiermodus schaltet.

Und auch, daß nicht eine arbeitende CPU mit den Programmierleitungen 
kämpft (im Reset sind alle Pins Eingänge).


Peter

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür brauchen die PICs 12V am Reset-Pin um in den Programmiermodus zu 
kommen.

Und wenn dir das "Schwachsinnige" AVR-Verhalten nicht passt: Dieses ist 
optional, mittels SPIEN-Fuse einach abzuschalten.

Autor: groof (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und wenn dir das "Schwachsinnige" AVR-Verhalten nicht passt: Dieses ist
> optional, mittels SPIEN-Fuse einach abzuschalten.

Na also, geht doch.
Damit ziehen die AVRs mit den PICs wieder gleich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.