- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: ISP Eigenbau

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.06.2005
    Ort
    München
    Beiträge
    113
    Anzeige

    Powerstation Test
    Habe ich das Problem jetzt richtig verstanden:

    Ihr wollt auf einer Platine mit mehreren AVRs den ISP nur einmal anstecken ? Und dann, z.B. über einen kleinen Schalter, auswählen welcher AVR gerade programmiert wird ? Und nebenbei sollen die entsprechenden Pins der AVR in der restlichen Schaltung verwendet werden ?

    Dann schreit das Problem absolut nach Bustreiber-Bausteinen, wie sie z.B. auch in den einfachen Parallelport Programmieradaptern verwendet werden. Ganz konkret meine ich den 74HCT244, bzw. den 74HCT241.

    Der 74HCT241 z.B. hat 2*4 Signale, die je über ein enable-Signal hochohmig geschaltet ('abgesteckt') werden können. Eines der beiden enable-Signale ist invertiert. Damit kann man genau die vier Leitungen des uC (Reset, SCK, MISO, MOSI) zu- bzw abschalten. Die enable-Leitungen hängen jeweils am 'Reset' Ausgang des ISP und werden über den ISP-Auswahlschalter geschaltet. Die anderen Signale (SCK, MISO, MOSI) sind als Bus untereinander und mit dem ISP verbunden.

    Wenn der ISP nun programmieren will, zieht er an Reset. Reset wird aktiv und durch den Schalter wird genau ein Bustreiber angesprochen. Dieser trennt dann durch den invertierten Eingang die Peripherie und verbindet durch den nicht invertierten Eingang den ISP mit dem uC. Nach dem Programmieren geht Reset wieder auf low und die Peripherie ist wieder angeschlossen. Die anderen AVRs haben kein 'enable' und sind damit auch vom Programmiervorgang nicht betroffen.

    Nachteil des ganzen:
    74HCT241 hat 20 pins (und damit 2,5 mal soviel wie ein 8-pin uC)

    Vorteil des ganzen:
    Wesentlich einfacher, besser, stromsparender, billiger und sicherer als mit Relais.

    ciao,
    Georg

  2. #12
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!
    Hier ist meine praktisch ausprobierte ICSP. Wenn es jemandem gefällt, soll sich das anwenden. Ich benutze es seit längeren Zeit ohne Probleme.
    Kurze Erklärung:
    Ich benutze 4 Wechsler, weil mein Programmer ohne Vcc Umschaltung nicht programmiert. Wenn es ohne geht, kann man sich ein Wechsler und zwei pins sparen.
    M - Mikrokontrollerpin, der zur Programmierung benötigt wird.
    H - Punkt in der Hardware, wo im normalen Betrieb o.g. pin angeschlossen ist.
    Diese ICSP kann sowohl in eine Entwicklungsplatine (wo biliebige Hardware angeschlossen werden kann), als auch in eine ferfige Schaltung eingesteckt werden. Nach der letzten Programmierung der fertigen Schaltung müssen die ensprechende M und H pins der ICSP Buchse mit einer einsteckbaren 4-fachen Brücke oder durch löten verbunden werden. Und das ist ein Nachteil dieser Lösung. Wenn man noch ein paar Vorteile findet, dann baut man sich das auf.
    Als ICSP Stecker benutze ich die hälfte des 18-pin Steckadapters ( Reichelt AR 18 ) und als ICSP Buchse die hälfte einer 18-pin IC-Fassung ( Reichelt GS 18 ). Die 4-fache Brücke habe ich aus der übrigen hälfte des Steckadapters gemacht.
    MfG
    Code:
    
          Kabel zum Programmer
    
          |||||                                      Brücke
          |||||                           o---o   o---o   o---o   o---o
          |||||                           |   |   |   |   |   |   |   |
          |||||                           V   V   V   V   V   V   V   V
          |||||                           H   M   H   M   H   M   H   M
          |||||
          |||||---------------------------|
          ||||                            |
          ||||--------------------|       |
          |||                     |       |
          |||-------------|       |       |
          ||              |       |       |
          ||------|       |       |       | A Programmieren
          o       o       o       o       | |
          __--o   __--o   __--o   __--o   | | (alle Wechsler gleich
          o   |   o   |   o   |   o   |   | |  umgeschaltet)
          |   |   |   |   |   |   |   |   | |
          |   |   |   |   |   |   |   |   | V Betrieb
         -|---|---|---|---|---|---|---|---|------------------------.
        | |   |   |   |   |   |   |   |   |                        |
        | V   V   V   V   V   V   V   V   V<----- ICSP Stecker     |
        | V   V   V   V   V   V   V   V   V<----- ICSP Buckse      |
        | |   |   |   |   |   |   |   |   |                        |
        | |   |   |   |   |   |   |   |  ===                       |
        | H   M   H   M   H   M   H   M  GND                       |
        |                                                          |
        |                                                          |
        |                                                          |
        | Entwicklungsplatine oder fertige Schaltung               |
        '----------------------------------------------------------'
    
    (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Alles sehr interessant, aber ich denke, ich werde das mit einem Logik-Chip lösen. Wie ragnar schon meinte:
    "Wesentlich einfacher, besser, stromsparender, billiger und sicherer als mit Relais."

    Nun, mein Standard-Extern-Programmierer hat einen SN74HCT244N eingebaut.
    Ich muss mir mal das Datenblatt anschauen.
    Mit dem ist es also möglich, die angeschlossenen Programmier-Ports mit dem eigentlichen System zu verbinden, und bei Bedarf davon zu trennen und mit der Programmierschnittstelle zu verbinden?

    Der Nachteil wegen der Größer des Chips ist kein Problem.
    Würdest du mir einen Schaltplan zur Verfügung stellen, falls dies keinen Aufwand bereitet?

    MfG,
    ShadowPhoenix

  4. #14
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Wenn es nur darum geht die ISP Ports auch in der Schaltung für eigene Zwecke (außer Programmierung) zu verwenden, dann kann man das gewöhnlich ohne Probleme einfach nutzen. Ich verwende in vielen Schaltungen die Ports auch für andere Dinge, dennoch läßt sich das Board mit dem normalen Dongel programmieren. Man sollte nur darauf achten das die Ports nicht dauerhaft von der Schaltung auf Masse gezogen werden. Also wenn man z.B. Led anschließt, dann die Kathode an den ISP Pin.

    Board Umschaltung: Kleiner Hinweis, wenn mehrere Boards per ISP Umschalter programmiert werden sollen, dann gibts dafür schon ein Projekt/Platine, siehe https://www.roboternetz.de/phpBB2/viewtopic.php?t=5200

    Gruß Frank

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.06.2005
    Ort
    München
    Beiträge
    113
    @Frank: Wenn man nur einen ISP-Anschluss hat und die SPI-pins nur als Ausgänge genutzt werden dann geht das natürlich. Dann einfach die restliche Schaltung über drei Widerstände abkoppeln, damit die von den Programmierimpulsen nicht gestört wird.

    Hier sollen aber mehrere uCs programmiert werden(über eine ISP Buchse) und da bietet es sich an, die freien Treiber des 74241 auch gleich zu nutzen. Alternativ kann man an einen 74244 sogar zwei uCs dranhängen oder nur einen 74125 verwenden.

    Das mit dem Umschalter klappt natürlich auch.

    Georg

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Alternativ kann ein Analogschalter zum Einsatz kommen, wie MC14451: 4 x 2-Kanal analog Multiplexer/Demultiplexer, in PDIP-16 oder SOIC-16. Gibts bei ON-Semi (onsemi.com), SGS-Thomson, Datenblatt bei alldatasheets.com.
    Analog (De)multiplexer hat's auch beim Reichelt (MOS4551, MOS 405x), die bei mehreren µC vielleicht noch mehr Platz sparen.
    Disclaimer: none. Sue me.

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Also, ich möchte zwischen 3 AVR's umschalten, und dabei einen Programmier-Anschluss verwenden.

    Welchen Chip soll ich da nehmen? Ein Schaltplan wäre auch super, habe ein wenig Probleme mit Datenblättern :/
    MfG,
    ShadowPhoenix

  8. #18
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo ShadowPhoenix!
    An Dein Problem bin ich selber gestoßen. Ich habe noch keine konkrete Lösung Ausgewählt. Warscheinlich warte ich ab, bis die Diskussion zu Ende ist. Ich programmire zwar PIC´s aber in dem fall mit den AVR ist es daselbe. Ganz allgemein (damit Du sich auch gedanken daruber machst).
    Das hat nichts mit ICSP zu tun. ICSP bleibt für alle Prozessoren gleich.
    Umschalten muß man praktish alle Pins die an Programmer und alle Pins die an Hardware, an die mehr als ein MC angeshlossen werden kann, umschalten. Ich stelle mir das so vor, das ich für jeden Prozessor einen mehrkontaktigen Schalter (mechanisch oder elektronisch) der mir die benötigen I/O pins mit Hardware und Programmer verbindet. Die Schalter sind so gesteuert, dass momentan nur einer MC mit der Hardware/Programmer verbunden ist. Für mich ist immer die eifachste Lösung die beste. Zur Zeit tendiere ich zu von @SBSprinter genannten analog Schalter. Die alle andere o.g. Bustreiber, Multi- und Demultiplexer können nicht verwendet werden, weil sowohl während der Programmierung als auch im Betrieb, die Daten an allen o.g. Pins in beiden Richtungen fliessen. Wenn ich mich entgültig entscheide, werde ich sicher, so wie für ICSP, ein komplettes, geprüftes Schaltplan hier vorstellen.
    MfG

  9. #19
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    @SchadowPhoenix!
    Noch ein kleiner Nachtrag zum meinem letzten Beitrag. Ich habe das Problem diesmal schon genauer analiesiert und sehe ich so:
    Um 28,18,16 und 8-pin MC´s auf der Enwicklungsplatine umzuschalten brauche ich 60 Schliesser bzw. 15x4-fachen IC Schalter. Weil ich während der Entwicklung (leider) mehrere Tage mit einem MC zu tun habe, bevor ich mit einem anderen MC die nächste Enwicklung anfange, die Umschaltung finde ich nicht nötig. Mein Ziel habe ich mit derzeitiger Platine (wo ich einen MC aus einem Sockel heraus nehme und den anderen in ein Sockel reinstecke) eigentlich schon erreicht, und eine Platine, an der mehr Umschalter, als MC´s sind brauche ich nicht. Bei konkreten Problemen mit Datasheets würde ich Dir aber gerne helfen.
    MfG

  10. #20
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!
    Ich habe festgestellt, dass ich beim Programm schreiben sehr oft die Wechsler umschalten muß. Weil ich sowieso Betriebspannung des MCs vor dem Programmieren abschalte, werde ich jetzt die Schalter durch zwei doppelte Wechslerrelais ersetzen. Das wird auch die kleine ICSP Platine mit den Wechsler und den ICSP Anschluss schonen, weil sie nicht mehr betätigt werden. Die Relaisspulen werden an das Netzteil angeschlossen, von dem sie Entwicklungsplatine mit Betriebspannung versorgt ist. So wird es automatisch mit der Abschaltung des Betriebspannungs auf Programmieren umgeschaltet.
    MfG

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test