Hey, ich hab mal eine kurze Frage. Ich entwickel gerade einen Schaltplan für ein Projekt in dem zwei Atmega16 sind. Diese sollen per SPI miteinander kommunizieren. Nun ist meine Frage ob ich einen ISP Stecker für beide nehmen kann indem ich einfach den Reset Pin per Schalter auswähle? Oder brauch ich wirklich zwei? Das Problem ist denk ich das durch die Spannungsversorgung des ISP Steckers das ganze Board ja versorgt wird und es evtl Probleme geben kann, weil der andere ja auch empfängt und ein Raspberry Pi auch noch dranhängt :-/ Danke für eure Hilfe. Lg Niine
Schaltplan ? Trenne einfach alle Leitungen bis auf VCC und GND vom ISP-Anschluß.
Hallo Prinzipiell kannst du "einfach" den Reset per Dip-Schalter umschalten. Du musst nur berücksichtigen, dass sich während der Programmierung alle anderen SPI Teilnehmer passiv verhalten müssen. Soll heißen, keiner darf aktiv die SPI Leitungen "treiben". Das soll ja dein Programmer tun. Das lässt sich mit einem zusätzlichen Eingang auf dem Reset des anderen Controller lösen. So kannst du den anderen Teilnehmern auch mitteilen, dass sie auf die Daten während der Programmierung nicht zu reagieren brauchen. Mit einem Bootloader könnte man das Ganze sicherlich auch eleganter lösen, aber wie oben beschrieben funktioniert es jedenfalls. Gruß SuperPCFan
Niine schrieb: > Ich entwickel gerade einen Schaltplan für ein Projekt in dem zwei > Atmega16 sind. Diese sollen per SPI miteinander kommunizieren. > > Nun ist meine Frage ob ich einen ISP Stecker für beide nehmen kann indem > ich einfach den Reset Pin per Schalter auswähle? Nein. > Oder brauch ich > wirklich zwei? Nein. Was du brauchst, ist ein Dreiebenen-Schalter. Und zwar völlig unabhängig davon, ob es nun eine oder zwei Programmierbuchsen gibt. Dies entscheidet nur noch darüber, ob es ein einfacher Dreiebenen-Schalter tut oder ob du sogar einen Dreiebenen-_Um_Schalter benötigst. Das Problem ist nämlich, daß für die Kommunikation MOSI und MISO der beiden µC "über Kreuz" verbunden sein müssen, zum Programmieren dürfen sie das aber nicht sein, sondern an die Programmierbuchse müssen sie immer auf dieselbe Weise geführt werden. Ich hatte das Problem auch schon gelegentlich und hab's mit einer Buchse und einem 3x3-Stiftfeld gelöst, auf dem ich drei (zur Senkung der Fehlerquote zusammengeklebte) Jumper umstecke.
c-hater schrieb: > Das Problem ist nämlich, daß für die Kommunikation MOSI und MISO der > beiden µC "über Kreuz" verbunden sein müssen, zum Programmieren dürfen > sie das aber nicht sein Korrektur: Das beschriebene Problem ist nicht dein Problem. Das ist nur ein Problem, wenn man die Kombination aus einen Mega und einen Tiny benutzt oder zwei Tinys. Aber trotzdem brauchst du zumindest einen Zwei-Ebenen-Schalter, um den Ausgang des jeweils gerade nicht zu programmierenden µC zuverlässig vom Programmierbus abzutrennen. Den einfach fest auf Reset zu ziehen funktioniert nicht, dann dann würden ja wieder zwei µC auf die Anfragen des Programmers antworten.
Überleg dir mal, ob es wirklich notwendig ist, zwei Controller auf einem Board zu haben. Meistens schafft man sich damit mehr Probleme, als daß es nützt. Fängt ja schon beim Flashen an. mfg.
Thomas Eckmann schrieb: > Überleg dir mal, ob es wirklich notwendig ist, zwei Controller auf > einem > Board zu haben. Meistens schafft man sich damit mehr Probleme, als daß > es nützt. Fängt ja schon beim Flashen an. > > mfg. Ja, ich denke schon. Der eine ist Zeitkritisch und der andere kann langsamer arbeiten und mit dem Raspberry arbeiten. Und es ist eine gute Möglichkeit mich etwas zu steigern. Der Tipp mit den Stufenschalter ist gut. Ich stell mir also einen Schalter vor der 3 Positionen hat (uC 1, uC 2, Kommunikation) und je 5 Kontakte schalten kann. Allerdings finde ich nirgends einen. Hat da jmd von euch einen Tipp zu dem vorgestellten Bauteil? Vielen Dank, lg Niine
Einmal gesucht und bei der "C Apotheke" gefunden: http://www.conrad.de/ce/de/overview/0216600/Stufenschalter Allerdings wäre ein Jumper mit fixen Dreifachbrücken sicherlich kleiner und günstiger.
Hey, oh an einfache Jumper habe ich noch garnicht gedacht. Die Stufenschalter sind mir zu groß. Ich mach das mit den Jumpern. Danke euch allen! Lg Niine
Niine schrieb: > oh an einfache Jumper habe ich noch garnicht gedacht. Dann hast du mein Posting definitiv nicht bis zum Ende gelesen. Da hatte ich nämlich beschrieben, daß ich das genau so gemacht habe. 3x3 Stiftfeld und 3 zusammengeklebte Jumper darauf. Ersetzt auf kleiner Fläche einen Dreiebenen-Umschalter. Bloß das Handling ist etwas weniger komfortabel ;o)
Ni schrieb: > Ja, ich denke schon. Der eine ist Zeitkritisch und der andere kann > langsamer arbeiten und mit dem Raspberry arbeiten. Und es ist eine gute > Möglichkeit mich etwas zu steigern. Gesteigert hast du dich, wenn das auf einem Controller läuft. Viel schlimmer ist aber, daß du den falschen gelobt hast: c-hater schrieb: > Niine schrieb: > >> oh an einfache Jumper habe ich noch garnicht gedacht. > > Dann hast du mein Posting definitiv nicht bis zum Ende gelesen. > > Da hatte ich nämlich beschrieben, daß ich das genau so gemacht habe. 3x3 > Stiftfeld und 3 zusammengeklebte Jumper darauf. Ersetzt auf kleiner > Fläche einen Dreiebenen-Umschalter. mfg.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.