¿Qué es un programador de producción para PIC?

Tengo un PICKit 3, pero entiendo que no son para producción.

¿Cómo es un flujo de trabajo de producción? PC -> Programador -> Chip.

¿La gente suele verificar que el chip se copió correctamente o no es necesario (tasa de fallas?)

Respuestas (4)

La distinción de "programador de producción" de Microchip solo tiene sentido para los chips antiguos. Las piezas flash antiguas, como por ejemplo el 16F877, tenían que comprobarse en ambos límites de Vdd después de la programación. Microchip definió a estos programadores como "producción". Tenga en cuenta que esto requería que el programador tuviera Vdd variable.

Microchip eliminó el requisito de doble verificación en los chips más nuevos hace mucho tiempo, y no se menciona un algoritmo de programación de "producción" versus "desarrollo" en ninguna de estas especificaciones de programación más nuevas.

Hoy no tengo conocimiento de ningún requisito oficial para un programador de "producción" versus "desarrollo". Por lo que puedo decir, esto es puramente una distinción de marketing para las piezas más nuevas. No quieren que la gente compre un montón de PicKit2 para programar en producción cuando sus otros programadores son más robustos (se requiere menos soporte técnico) y tienen un mayor margen de beneficio.

Para ser justos, realmente no es una buena idea usar un PicKit2 en la producción donde necesita confiar en él. Tiene niveles de accionamiento más bajos y el diseño se optimizó para un bajo costo a expensas de la robustez y la precisión. Sin embargo, la distinción de "producción" es bastante hueca sin una especificación clara de lo que se necesita para ser un programador de producción.

enchufe desvergonzado

Mi programador USBProg2 fue diseñado específicamente para la especificación de producción para aquellos PIC donde existía tal cosa. Tiene Vdd y Vpp variables completos, y verifica en los límites de Vdd de todos modos, incluso para aquellas partes donde Microchip ya no dice que es necesario. Aparte de un poco de tiempo extra, no veo ningún inconveniente. Puede desactivar esta función con una opción de línea de comando si lo desea.

Algunas de las piezas más nuevas de 3,3 V, como todas las 16F1xxx pero también algunas PIC24, dsPIC33 y 18F admiten un nuevo algoritmo de programación que ya no requiere alto voltaje en MCLR (Vpp) para ingresar al modo de programación. En su lugar, registra una firma especial de 32 bits con MCLR bajo. Todas las interacciones durante la programación se pueden realizar con señales en Vss o Vdd. Esto abre la posibilidad de un programador mucho más simplificado. Mi LProg es un programador de este tipo. A solo $20 cada uno, es la forma más económica de configurar un banco de programadores para la producción mientras mantiene una operación robusta, si su tipo de PIC admite el método de entrada de clave de bajo voltaje.

La gran diferencia entre el PICkit 3 y los demás es que el PICkit 3 solo es compatible con USB 1.1 Full Speed ​​(12 Mb/s), mientras que el LCD 3 y REAL ICE son compatibles con USB 2.0 High Speed ​​(480 Mb/s). Esto hace una diferencia notable para todos los programas, excepto para los más triviales. Su sitio web no parece mencionar si el LProg es USB 1.1 o 2.0.
@tcros: Mis programadores USB son todos compatibles con USB 2.0 y utilizan la velocidad de 12 Mbit/s. Eso es significativamente más rápido de lo que se pueden programar los PIC, por lo que no es el cuello de botella. El protocolo de comunicación (cómo se usan estos 12 Mbit/s) es importante, pero la velocidad es principalmente una función de la arquitectura del programador. Los controladores de baja impedancia le permiten ir más rápido, por ejemplo.

La escritura del programa siempre se verifica. Además, los programadores de producción verifican el programa en los extremos de Vdd para asegurarse de que "tomó" bien, de acuerdo con las recomendaciones de programación para los chips individuales. Entonces, el chip, cuando se programa, debe ser alimentado por un suministro programable con una resolución prescrita, etc.

Por supuesto, puede ignorar ese requisito y esperar que nunca obtenga un chip marginal, pero si lo hace, realmente no puede quejarse con Microchip.

Esto significa que la (re)programación en el campo de ICSP también debe realizarse con un programador de producción. Si está haciendo mucho de algo, puede comprar los chips preprogramados con su código y enviarlos directamente a su ensamblador contratado.

Si bien para el desarrollo generalmente solo le importa que el programador funcione y le permita acceder a programar y depurar el chip, hay algunos requisitos adicionales en producción: rendimiento (para tiempos de programación más bajos posibles, tiempo = dinero), confiabilidad (la programación funciona correctamente cada vez, las repeticiones cuestan tiempo = dinero), robustez (el entorno de producción suele ser un poco más ruidoso, por lo que necesita algo que no se caiga si la máquina grande que está al lado simplemente se enciende).

Y sí, normalmente verificaría después de la programación. A menos que el chip implemente algún tipo de suma de verificación, en cuyo caso podría usarla si el tiempo de programación es crítico.

PD: Eso no significa que un programador de producción tenga que ser algo completamente diferente. Puede que sea una solución mejor y más robusta en comparación con el cable de programación barato que se usaría en el banco durante el desarrollo...

Hay una buena comparación entre PICkit 3, ICD 3 y REAL ICE aquí :

ingrese la descripción de la imagen aquí

Como puede ver, el PICKit3 no se recomienda para producción, mientras que el ICD 3 y REAL ICE sí lo son.

La gran diferencia es que el PICkit 3 solo admite USB 1.1 Full Speed ​​(12 Mb/s), mientras que LCD 3 y REAL ICE admiten USB 2.0 High Speed ​​(480 Mb/s), 40 veces más rápido. Esto hace una diferencia notable para cualquier programa, excepto para los más triviales.

Según tag-connect.com : "Las señales ICSP suministradas por PICkit 3 no tienen la misma potencia de accionamiento que los depuradores ICD 3 y REAL ICE de Microchip... Recomendamos elegir ICD 3 o similar en lugar de PICkit 3 para evitar problemas de conexión relacionados con el ruido".

La programación de producción implica un algoritmo más robusto. Eso implica la capacidad de programar una gran cantidad de placas sin riesgo de errores o fallas posteriores por "bits débiles" en la imagen programada.

La interfaz para el Real ICE está en su propia pequeña placa secundaria, por lo que si explota el circuito de salida, solo tiene que reemplazar esa pieza.