11 votos

ICSP o microcontrolador preprogramado

He diseñado un PCB para la producción en pequeña escala; actualmente estoy soldar de la mano en lotes de 20 a la vez. Este PCB utiliza un microcontrolador ATMEGA168 que me programa antes de soldar a la placa - este método funciona bien para mí en este momento.

Yo estoy mirando a tener un lote de 200 tableros fabricados y ensamblados para mí como el producto que he diseñado que parece ser bastante popular. No sería mejor práctica para incluir un conector ICSP en el tablero o mantener en la pre-programación de la ICs mí mismo? Re-programación de la junta después de la fabricación o el montaje no es una intención o función requerida.

No estoy seguro de cómo hacer esto en una escala más grande entorno de producción? La adición de un conector ICSP aumentaría el costo de fabricación ligeramente para que se pre-programación de un estándar de práctica?

20voto

Brian Drummond Puntos 27798

Si usted tiene el espacio para una cabecera, que es probablemente la mejor opción, y la ligeramente escalonados pines Majenko recomienda es una buena manera de mantener un conector en su lugar, sin añadir complejidad.

Pero aquí es un enfoque alternativo, para tablas donde usted no tiene espacio para instalar un encabezado o cabecera estándar no lograr todos tus programación/configuración/instalación de la placa de la prueba de las tareas.

Dado un factor de forma pequeño PCB como aquí (33mm de diámetro) enter image description here

usted puede poner con puntos de prueba (etiqueta en la parte posterior) enter image description here

y crear un fixture de prueba para el mismo (utilizando Pogo Pins) enter image description here

Esto requiere una cierta capacidad de mecanizado y al menos un taladro de pie (porque el pogo pins deben ser exactamente vertical). Sin embargo, si estás dispuesto a correr el riesgo de un prototipo del PWB se puede sujetar a una hoja de material y "spot" a través de la testpoint agujeros para obtener el pogo pins en el lugar exacto. (Tengo 10 Pcb por un precio ridículamente bajo de Itead, por lo que la pérdida de uno no es la gran cosa).

Con un torno y el molino, haciendo que los pilares y las abrazaderas para localizar el PCB en el lugar exacto se instalan fácilmente, pero no es demasiado difícil con simples herramientas.

A continuación, simplemente se adapten a cada una de PCB, programa y probarlo. El conector suelto normalmente va a pines en una TI Launchpad, utilizado para la programación de este MPU (TI MSP430) a través de la SBW de la interfaz, pero el mismo principio se aplicaría a las JTAG o de otras interfaces. (El cable marrón en la parte superior es una co-ax cable de la realización de una señal de calibración para un contador de frecuencia). enter image description here

El pulido de la base de caoba es opcional; lo que pasa es que prefieren un estilo steampunk para mi de aparatos de prueba.

18voto

Spehro Pefhany Puntos 90994

Yo sugeriría que siempre incluya un encabezado en ese tipo de cantidad (pequeña). Si se llega a grandes cantidades puede considerar la posibilidad de pastillas para el pogo pins (tendrías que hacer un soporte para mantener la PCB en la alineación) o, en sus cantidades, puede utilizar uno de la Etiqueta de Conectar los cables que requieren de agujeros y lleno de pastillas (se prenden en el tablero).

enter image description here

Así como lo que le permite recuperarse de una necesidad de una programación de actualización, esto le permitirá tener una casa de la asamblea rellenar las juntas antes de programación, lo que podría mejorar la logística.

Pre-programación, es ciertamente una opción, incluso en cantidades de producción (incluso puede tener el distribuidor haga por usted), pero parece ser que se utiliza sobre todo en la más simple de las aplicaciones. Normalmente las fichas en las tablas son programados (o capaz de ser programado) después de la asamblea.

13voto

user4245 Puntos 324

Yo siempre agregar espacio para un conector ICSP, incluso si no se rellena. Tengo tres maneras de hacerlo en el momento dependiendo de la situación.

Uno de mis diseños tiene un buen tono de cabecera para que yo te he construido un adaptador (de 0,6 mm de núcleo sólido hilo es perfecto para esto):

enter image description here

Yo utilice este conector cuando el espacio es un absoluto premium. (Lo siento es borrosa, la cámara de mi teléfono es naff).

La segunda disposición utilizo a menudo es incorporar el ICSP en otro encabezado. Si los pines ICSP también puede ser utilizado como pines GPIO, y se puede utilizar con un desmontable de conexión, entonces es lo suficientemente simple como para incluir cualquier otro ICSP conexiones que pueda necesitar (MCLR, por ejemplo), a un costo mínimo. A continuación, conecte el programador en que, encabezado con un adaptador que debe ser lo suficientemente simple para hacer.

La tercera forma es la de proporcionar una "escalonada" o "desplazamiento" del encabezado de la huella para el ICSP. Yo uso esto principalmente en el desarrollo de las juntas donde el usuario final puede que desee hacer ICSP, pero no quiero arruinar su junta de soldadura de una cabecera en forma permanente. Esta huella permite un encabezado estándar para push-fit y hacer un buen contacto sólido, sin ningún tipo de soldadura:

enter image description here

Cuando comenzamos a lidiar con cantidades mucho mayores que sin duda puede ser más costo-eficaz para conseguir el fabricante de chips para pre-programar los chips para ti con tu firmware. Creo que todos los principales fabricantes que proporcionan instalaciones.

5voto

Alex Andronov Puntos 178

Si uno está utilizando un procesador que puede ser reprogramado en el circuito, yo recomendaría que las tablas ser diseñado de tal manera como para permitir su uso, incluso si en realidad el uso de la función de requerirse la construcción de un accesorio para ese propósito específico y uno no piensa en tener que construir uno. Si un firmware problema es descubierto después de la fabricación de un lote de gran tamaño de las tablas, la construcción de un accesorio que se puede reprogramar esas tablas pueden ser mucho más barato que tener que rehacer o reconstruir.

En algunos casos, un buen enfoque se puede seleccionar un tablero de e/s de diseño, de modo que el controlador de pines necesarios para el circuito de reprogramación son dados a los efectos de que, "naturalmente", resultado en el que se expongan a de fácil acceso para los puntos de contacto. Por ejemplo, un consejo que está diseñado para su uso con cúpula de metal contactos podrían tener los mismos contactos de conexión a la programación en el circuito de pines. Este tipo de diseño no requieren dedicar ningún espacio en el diseño de un conector de programación, pero, especialmente si el contacto de la batería también fueron generalmente de tamaño, permiten un conector de programación para salir con un simple resorte de contactos.

Tenga en cuenta que no necesariamente importa si el código parece estar bien probado; los cambios de un lote de fichas para la próxima todavía puede causar problemas inesperados. Por ejemplo, he diseñado un producto que se supone que iba a cambiar a sí misma en virtud del procesador de control por tener a la salida del procesador de "alto" en un pin cuando se suponía que debía ser "en". En el primer lote de 10.000 unidades en todo funcionaba bien, pero en una tarde de lote el procesador sería empezar mal funcionamiento cuando la tensión de golpe alrededor de 2 voltios, y podría cambiar el pin de nuevo a "alto"; la de 2 voltios de "alta" la salida fue apenas suficiente para encender de nuevo la unidad. Dado que el procesador se ha especificado para permanecer en modo de reposo hacia abajo para IIRC 1.6 voltios, fue posible corregir el problema mediante la reprogramación de las unidades a fin de que pudieran entrar en modo de suspensión cuando la activación de su estado de apagado. Tenía la reprogramación de tal manera que no hubiera sido posible, mucho más caro de renovación (o más desguace y reconstrucción), que habría sido necesario.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X