Paso 2: creación de prototipos:
También salió y compró un nuevo compilador C CSS dirigido a los micros 10F2xx. La familia 10F2xx de chips es muy barata! Con grandes esperanzas, he buceado y comenzó a escribir mucho código.
El 10F206 tiene un enorme 24 bytes de memoria RAM, el chip también deportes de flash y un contador de tiempo de ocho bits de 512 bytes. Mientras que los recursos son escasos, el precio es bueno en 41 centavos en grandes cantidades. Mi gosh, 1 millón de instrucciones por segundo (1 MIPS) a 41 centavos. Me encanta la ley de Moore. Evan en precios, el 10F206 de Digikey cotiza en 66 centavos de dólar.
Pasé un montón de tiempo trabajando con el 10F206. Mientras trabajaba con el 10F206 descubrí que multitarea es absolutamente necesario. Las señales de salida PWM debe estar informado cuando reciba nuevos mensajes de la comunicación. Cualquier interrupción en la actualización de las señales PWM se verá como fallos en los LEDs. El ojo humano es muy bueno al ver fallos.
Hay un par de problemas fundamentales con el 10F206 chip. Problemas fundamentales al menos para mi aplicación. El primer problema es que no hay interrupciones! El inicio de nuevas comunicaciones usando de que un bucle de sondeo hace errores de sincronización la captura. Un segundo problema es que hay solo un contador de tiempo. Simplemente no pude encontrar una manera de recibir comandos manteniendo salidas del PWM. Los LEDs le falla cada vez que se recibió un nuevo comando. Compartir el temporizador entre recibir comandos y conducir el PWM salidas también fue una molestia importante software. Yo no pude reiniciar el temporizador mientras recibiendo un personaje nuevo porque también se utilizaba el temporizador para controlar el PWM señales.
Mientras trabajaba con el 10F206 vi un artículo en circuito sobre el nuevo micro de MC9RS08KA1 pequeña de Freescale. Me encanta chips Freescale - soy un gran fan de su depuración de BDM. Utiliza las fichas Star12 mucho en el pasado (escribí todo el software para el sistema ultrasónico de GM Cadillac y Lacern en un Star12 - mi software ultrasónico está en producción ahora en estos dos coches). Así, que estaba muy esperanzado de que sus nuevos chips pequeños sería buenos. El precio es correcto también, Digikey tiene estos chips enumerados 38 centavos en gran cantidad.
Freescale fue buena y me enviaron unas muestras gratis. Sin embargo, el chip de 9RS08 de Freescale parecía verdaderamente goofy - no podía hacer mucho progreso con él. El chip también sufre con la falta de interrupciones y los solo temporizadores. Bueno, al menos me di cuenta de que todo sin perder el dinero en giro otro proto board. Ver fotos más abajo.
Ahora sé, para mi aplicacion debo tener interrupciones y más de un contador de tiempo.
A Microchip, encontré el chip 12F609. Tiene interrupciones y dos temporizadores. También tiene 1K de flash y 64 bytes de memoria RAM. Desventaja es el precio; Digikey enumera estos chips en 76 centavos de dólar en gran cantidad. Bueno, la ley de Moore se encargará de que muy pronto. En el lado positivo, el 12F609 puede pedirse también en paquetes DIP. En el lado negativo, tuve que comprar el siguiente nivel hasta compilador - que un poco quemado mi &.
Ahora es abril y he aprendido mucho sobre lo que no funciona. Yo he hecho girar un tablero y un derroche de dinero en un compilador que no necesito. Aún así, prueba hasta ahora es alentadora.
Con el nuevo compilador y 12F209 fichas en DIP Banco paquetes de nivel pruebas fueron rápidamente. La prueba confirmó que tenía el chip adecuado. Tiempo a girar otro proto board! En este punto, estoy decidido.