Informationen zur In System Programmierung
Allgemeines
Die Programmierung im System bzw. in der Schaltung (ISP) ist eine mittlerweile sehr beliebte Technik, mit der ein programmierbarer Baustein erst nach der Platzierung auf der Platine konfiguriert wird. Viele Bausteine können so neu programmiert werden, ohne dass sie vorher von der Platine entfernt werden müssen, wodurch zusätzliche Arbeitsschritte während der Produktion entfallen.
ISP bietet viele Vorteile, wenn neue technologische Trends die Nutzung von seriellen Anschlüssen wie JTAG erforderlich machen, um die Entwicklungs- und Produktionskosten entscheidend zu senken, durch Automatisierung die Entwicklungszeit zu verkürzen und durch bessere Fehlererfassung die Produktqualität zu erhöhen.
Da JTAG-basiertes Testen bereits in der Produktionsphase eines Produktes eingesetzt werden kann, haben neue Entwicklungen und Applikationen des IEEE-1149.1 Standards die Verwendung von JTAG in vielen anderen Phasen von Produkt-Lebenszyklen ermöglicht. JTAG-Technologie wird inzwischen im Produktdesign, Prototypentest und im Außendienst eingesetzt.
Vorteile der In System Programmierung
- Programmierbare Bausteine können direkt in einem kompletten System programmiert werden.
- Durch Integration von Programmierung und Test in einer Produktionsstufe kann durch ISP der Entwicklungszyklus in Entwicklungs- und Produktionseinrichtungen verkürzt werden.
- Die Gefahr, oberflächenmontierte Bausteine und Bausteine durch elektrostatische Entladungen (ESD) zu beschädigen, wird deutlich reduziert.
- Eliminiert Verzögerungen und erspart es Herstellern, vorprogrammierte Bausteine zu kaufen.
- Softwareänderungen können während einer laufenden Produktion vorgenommen werden.
- Ermöglicht es, bei der Verwendung von automatischen Testgeräten (ATE), Funktionen in ISP-Bausteinen auszuführen.
Großserien-Fertigung mit dem Xeltek SuperPro IS01
Der Xeltek SuperPro IS01 ist ein leistungsfähiges, hochwertiges ISP Produktionsprogrammiergerät.
Er ist durch die Stand-Alone Funktion mit SD-Karte transportabel und für die Massenproduktion geeignet. Bis zu 12 Geräte können für die Programmierung von mehreren PCBs an einen PC angeschlossen werden. Alle Geräte können auch im Stand-Alone Betrieb (Gruppenbildung) verwendet werden.
Der SuperPro IS01 hat einen "Mass Production"-Betriebsmodus. In diesem Modus startet das Programmiergerät ohne Betätigung der Tastatur die unter "AUTO" definierten Funktionen, sobald die Zielplatine bereit ist und das Programmiergerät ein ISP-Signal empfängt.
Zu diesem Zweck sind die Signalleitungen TPIN und TPOUT bereitgestellt. TPOUT liefert einen High Pegel und TPIN ist die Eingangsleitung für die Pegelerkennung. Wenn diese beiden Leitungen auf der Zielplatine kurzgeschlossen werden, erkennt TPIN sofort Pegel High und die AUTO Sequenz startet.
Serielle (SPI) Programmierung von EEPROMs / Flash / MCU
Der Modelle Xeltek SuperPro IS01 und SuperPro IS416 unterstützen die Programmierung von SPI-kompatiblen EEPROMs und Flash Speicher Bausteinen.
Die Geräte bieten eine schnelle Programmierung jedes SPI-Speicherbausteins durch direkte Steuerung der SPI-Bussignale mit einer speziell dafür vorgesehenen SPI Hochgeschwindigkeitsschnittstelle. Der Anwender kann den Inhalt eines Bausteins lesen, löschen, programmieren und vergleichen.
Die einzelnen Schritte für die Programmierung eines Bausteins wären wie folgt:
- Die Bausteinbezeichnung in der Software auswählen und Bedienungshinweise beachten.
- Die entsprechenden Signalleitungen (inkl. GND) mit der Zielplatine verbinden.
- Ist die Funktion "Mass Production" (Großserienfertigung) aktiviert, so sollten auch die Signalleitungen TPIN und TPOUT angeschlossen werden.
- Es wird empfohlen, eine externe Stromversorgung zu verwenden, besonders für Boards mit hohem Strombedarf und Mehrfach-Stromversorgungen. Wenn die Stromversorgung über das ISP-Kabel erfolgen soll, muss auch VCC verbunden werden.
- Die externe Stromversorgung einschalten.
- Ausführen der Funktionen Löschen, Leertest, Programmieren und Vergleichen über das Softwaremenü.
Tipps für die Programmierung in der Schaltung
Ein benachbartes Bauteil auf einer Platine kann den Programmiervorgang stören. Deshalb muss schon während des Layouts der Platine auf die Platzierung der Bauteile geachtet werden. Xeltek hat bereits vielen Kunden geholfen, Fehler im Schaltungsentwurf zu beheben. Folgende Punkte sind wichtig und sollten beim Entwurf einer Platine berücksichtigt werden:
Kontakt Anschlüsse
Alle Anschlüsse, die für die Programmierung benötigt werden, sollten über Verbindungsstecker oder Testpunkte herausgeführt sein, damit das Programmiergerät einfach angeschlossen werden kann.
Im obigen Schaltbild sind die benötigten Pins alle mit dem Verbindungsstecker verbunden. Somit ist es einfach, einen Baustein zu testen und zu brennen. Um Bausteine vor Signalschwankungen während der Programmierung zu schützen, muss sichergestellt werden, dass der Bereich der Programmierpins nicht mit anderen Schaltungsteilen verbunden ist.
Vorsichtsmaßnahmen für die Stromversorgung
Obwohl Xeltek ISP-Programmiergeräte den Strom für die Programmierung liefern können (1,8-18V, 5W), so ist diese Leistung oft nicht ausreichend für eine normale Funktion der Zielplatine. Es muss immer gewährleistet sein, dass die korrekte Programmierspannung laut der Bausteinspezifikationen auf der Zielplatine zur Verfügung steht. Wenn eine externe Stromversorgung verwendet wird, darf VCC vom Programmiergerät nicht angeschlossen werden und GND muss mit dem Masseanschluss auf der Zielplatine verbunden sein.
Vorsichtsmaßnahmen für die Konstruktion mit einer Reset-Schaltung
Besonders vorsichtig muss man sein, wenn der RESET Pin während der Programmierung benötigt wird und die RESET Schaltung bereits auf der Platine vorhanden ist. Die RESET Schaltung kann nämlich zusammen mit dem Einschaltbefehl des Programmiergeräts Probleme verursachen.
Eine einfache Lösung ist es, eine Steckbrücke am RESET Pin hinzuzufügen, aber diese Variante ist nicht sehr praktisch. Die bessere Lösung ist, einen Pull-up Widerstand am RESET Pin anzubringen.
ISP-Kabellänge und Übersprechen zwischen Leitungen
Ist das ISP-Kabel zu lang, entstehen Programmierprobleme durch Timing-Störungen. Die empfohlene Kabellänge beträgt 25 cm. Wenn die Verwendung längerer Kabel geplant ist, muss darauf geachtet werden, dass in der Software eine langsamere Programmiergeschwindigkeit gewählt wird.
Die Verwendung von geschirmten Kabeln ist empfehlenswert, da es sonst zum Übersprechen zwischen den unterschiedlichen Signalen im ISP-Kabel kommen kann. So ist es z. B. bei der Programmierung der STM8 Serie ratsam, die SWIM Leitung von den anderen Leitungen zu trennen.
Die ATE-Schnittstelle des Xeltek SuperPro IS01
Der Xeltek SuperPro IS01 ist mit einer Automatic Test Equipment (ATE) Schnittstelle (Kontrollanschluss) ausgestattet. Diese wird zur Integration in automatisierte Programmier- und Testeinrichtunge verwendet und ermöglicht die Steuerung von Programmiergeräten durch externe Signale.
Gang Programmierung unter Verwendung der ATE Schnittstelle
Zielplatine(n) ist/sind mit mehreren Xeltek SuperPro IS01 in einer Nadelbettvorrichtung platziert, die über ATE Kabel mit der ATE Schnittstelle der Vorrichtung verbunden sind.
Abhängig von der Anzahl der zu programmierenden Platinen muss in jedem SuperPro IS01 eine Speicherkarte (SD) mit den Programmierdaten installiert sein.
Das Schließen des Deckels der Vorrichtung mit einem Deckelschalter löst durch ein Triggersignal (high) die gleichzeitige Programmierung von mehreren Zielplatinen aus.