Was ist ein Produktionsprogrammierer für PIC

Ich habe ein PICKit 3, aber ich verstehe, dass diese nicht für die Produktion sind.

Wie sieht ein Produktionsworkflow aus? PC -> Programmierer -> Chip.

Wird normalerweise überprüft, ob der Chip ordnungsgemäß kopiert wurde, oder ist dies nicht erforderlich (Fehlerrate?)

Antworten (4)

Die Bezeichnung „Produktionsprogrammierer“ von Microchip ist weitgehend nur für alte Chips aussagekräftig. Die alten Flashteile, wie zum Beispiel der 16F877, mussten nach der Programmierung an beiden Vdd-Grenzen überprüft werden. Microchip definiert solche Programmierer als "Produktion". Beachten Sie, dass der Programmierer dazu die Variable Vdd haben musste.

Microchip hat die doppelte Überprüfungsanforderung in neueren Chips vor langer Zeit fallen gelassen, und in keiner dieser neueren Programmierspezifikationen wird ein „Produktions“-Programmieralgorithmus im Vergleich zu „Entwicklung“ erwähnt.

Heute ist mir keine offizielle Anforderung für einen "Produktions"- versus "Entwicklungs"-Programmierer bekannt. Soweit ich das beurteilen kann, ist dies eine reine Marketing-Auszeichnung für neuere Teile. Sie wollen nicht, dass Leute einen Haufen PicKit2 für die Programmierung in der Produktion kaufen, wenn ihre anderen Programmierer robuster sind (weniger technischer Support erforderlich) und eine höhere Gewinnspanne haben.

Um fair zu sein, es ist wirklich keine gute Idee, ein PicKit2 in der Produktion einzusetzen, wo man sich darauf verlassen muss. Es hat niedrigere Antriebspegel und das Design wurde für niedrige Kosten auf Kosten von Robustheit und Genauigkeit optimiert. Die Unterscheidung „Produktion“ ist jedoch ziemlich hohl, ohne eine klare Spezifikation dessen, was es braucht, um ein Produktionsprogrammierer zu sein.

Schamloser Stecker

Mein USBProg2- Programmierer wurde speziell für die Produktionsspezifikation für jene PIC entwickelt, bei denen es so etwas gab. Es hat voll variable Vdd und Vpp und verifiziert sowieso an den Vdd-Grenzen, selbst für die Teile, bei denen Microchip dies nicht mehr sagt. Abgesehen von etwas mehr Zeit sehe ich keinen Nachteil. Sie können diese Funktion mit einer Befehlszeilenoption deaktivieren, wenn Sie möchten.

Einige der neueren 3,3-V-Teile, wie alle 16F1xxx, aber auch einige PIC24, dsPIC33 und 18F, unterstützen einen neuen Programmieralgorithmus, der keine Hochspannung an MCLR (Vpp) mehr benötigt, um in den Programmiermodus zu wechseln. Stattdessen takten Sie eine spezielle 32-Bit-Signatur mit niedrig gehaltenem MCLR ein. Alle Interaktionen während der Programmierung können mit Signalen an Vss oder Vdd erfolgen. Dies eröffnet die Möglichkeit eines stark vereinfachten Programmierers. Mein LProg ist so ein Programmierer. Mit nur etwa 20 US-Dollar pro Stück ist dies die günstigste Möglichkeit, eine Bank von Programmierern für die Produktion einzurichten und gleichzeitig einen robusten Betrieb aufrechtzuerhalten, wenn Ihr PIC-Typ die Niederspannungs-Schlüsseleingabemethode unterstützt.

Der wirklich große Unterschied zwischen dem PICkit 3 und den anderen besteht darin, dass das PICkit 3 nur USB 1.1 Full Speed ​​(12 Mb/s) unterstützt, während das LCD 3 und REAL ICE USB 2.0 High Speed ​​(480 Mb/s) unterstützen. Dies macht einen merklichen Unterschied für alle außer den trivialsten Programmen. Ihre Website scheint nicht zu erwähnen, ob der LProg USB 1.1 oder 2.0 ist.
@tcros: Meine USB-Programmierer sind alle USB 2.0-kompatibel und verwenden die Geschwindigkeit von 12 Mbit/s. Das ist deutlich schneller als PICs programmiert werden können, also ist es nicht der Flaschenhals. Das Kommunikationsprotokoll (wie diese 12 Mbit/s verwendet werden) spielt eine Rolle, aber meistens ist die Geschwindigkeit eine Funktion der Programmierarchitektur. Treiber mit niedrigerer Impedanz ermöglichen es Ihnen beispielsweise, schneller zu fahren.

Das Schreiben des Programms wird immer verifiziert. Darüber hinaus verifizieren Produktionsprogrammierer das Programm bei Vdd-Extremen, um sicherzustellen, dass es gemäß den Programmierempfehlungen für die einzelnen Chips gut „gelaufen“ ist. Der Chip muss also beim Programmieren von einer programmierbaren Versorgung mit einer vorgeschriebenen Auflösung usw. versorgt werden.

Natürlich steht es Ihnen frei, diese Anforderung zu ignorieren und zu hoffen, dass Sie niemals einen marginalen Chip erhalten, aber wenn Sie dies tun, können Sie sich nicht wirklich bei Microchip beschweren.

Dies bedeutet, dass die (Neu-)Programmierung von ICSP auch mit einem Produktionsprogrammierer durchgeführt werden muss. Wenn Sie viel herstellen, können Sie die mit Ihrem Code vorprogrammierten Chips kaufen und direkt an Ihren Vertragsbestücker liefern.

Während man sich bei der Entwicklung normalerweise nur darum kümmert, dass der Programmierer funktioniert und Ihnen Zugriff zum Programmieren und Debuggen des Chips ermöglicht, gibt es in der Produktion einige zusätzliche Anforderungen: Leistung (für möglichst geringe Programmierzeiten, Zeit = Geld), Zuverlässigkeit (Programmierung funktioniert jedes Mal korrekt, Wiederholungen kosten Zeit = Geld), Robustheit (Produktionsumgebung ist normalerweise etwas lauter, also brauchen Sie etwas, das nicht umfällt, wenn sich die große Maschine daneben einfach einschaltet).

Und ja - Sie würden normalerweise nach der Programmierung überprüfen. Es sei denn, der Chip implementiert eine Art Prüfsumme. In diesem Fall können Sie diese verwenden, wenn die Programmierzeit kritisch ist.

PS: Das heißt nicht, dass ein Produktionsprogrammierer etwas ganz anderes sein muss. Es ist vielleicht einfach eine bessere, robustere Lösung im Vergleich zu dem billigen Programmierkabel, das man während der Entwicklung auf dem Labortisch verwenden würde ...

Hier ist ein schöner Vergleich zwischen PICkit 3, ICD 3 und REAL ICE :

Geben Sie hier die Bildbeschreibung ein

Wie Sie sehen können, wird das PICKit3 nicht für die Produktion empfohlen, während es das ICD 3 und REAL ICE sind.

Der große Unterschied besteht darin, dass das PICkit 3 nur USB 1.1 Full Speed ​​(12 Mb/s) unterstützt, während LCD 3 und REAL ICE USB 2.0 High Speed ​​(480 Mb/s) unterstützen, 40 Mal schneller. Dies macht einen merklichen Unterschied für alle außer den trivialsten Programmen.

Laut tag-connect.com : „Die von PICkit 3 gelieferten ICSP-Signale haben nicht die gleiche Treiberstärke wie die ICD 3- und REAL ICE-Debugger von Microchip … rauschbedingte Verbindungsprobleme."

Produktionsprogrammierung impliziert einen robusteren Algorithmus. Das impliziert die Fähigkeit, eine große Anzahl von Platinen zu programmieren, ohne das Risiko von Fehlern oder späteren Ausfällen aufgrund von "schwachen Bits" im programmierten Bild.

Die Schnittstelle für den Real ICE befindet sich auf einer eigenen kleinen Tochterplatine. Wenn Sie also die Ausgangsschaltung durchbrennen, müssen Sie nur dieses Teil ersetzen.