Étape 2: prototypage :
J’ai aussi a explosé et a acheté un nouveau compilateur C CSS ciblé les micros 10F2xx. La famille 10F2xx de jetons est vraiment pas cher ! Avec de grands espoirs, j’ai plongé et a commencé à écrire beaucoup de code.
Le 10F206 a un énorme 24 octets de RAM - la puce arbore également 512 octets de flash et d’une minuterie de huit bits. Alors que les ressources sont rares, le prix est bon à 41 cents en grandes quantités. Mon Dieu, 1 million d’instructions par seconde (MIPS 1) pour 41 cents ! J’adore la Loi de Moore. Evan à un prix, le 10F206 de Digikey est cotée à 66 cents.
J’ai passé un tas de temps à travailler avec le 10F206. Alors qu’il travaillait avec le 10F206, j’ai découvert que le multitâche est absolument nécessaire. Les signaux de sortie PWM doivent se tenir à jour même lors de la réception de nouveaux messages de communication. Toute interruption dans la mise à jour des signaux PWM sera considérée comme défauts sur les LEDs. Le œil humain est vraiment bon de voir des pépins.
Il y a quelques problèmes fondamentaux avec la puce 10F206. Problèmes fondamentaux au moins pour mon application. Le premier problème est qu’il n’y a aucune interruption ! Attraper le début de nouvelles communications en utilisant qu'une boucle d’interrogation fait pour les erreurs de minutage. Un deuxième problème est qu’il n’y a qu’une seule horloge. Je pourrais ne pas trouver un moyen de recevoir des commandes tout en conservant que la PWM sorties. Les LEDs seraient glitch chaque fois qu’une nouvelle commande est en cours de réception. Partage la minuterie entre reçoivent les commandes et la conduite du PWM Sorties a également été un souci majeur de logiciels. Je ne pouvais pas réinitialiser la minuterie tout en recevant un nouveau personnage, parce que la minuterie a été également utilisée pour contrôler le PWM des signaux.
Alors qu’il travaillait avec le 10F206, j’ai vu un article de Circuit Cellar tout nouveau micro de MC9RS08KA1 minuscule de Freescale. J’aime les puces Freescale - je suis un grand fan de leur débogage BDM. J’ai utilisé les puces Star12 beaucoup dans le passé (j’ai écrit tous les logiciels pour le système ultrasonique GM Cadillac & Lacern sur un Star12 - mon logiciel ultrasonique est en production aujourd'hui sur ces deux voitures). Donc, j’étais vraiment espoir que leurs nouvelles puces minuscules serait bons. Le prix est juste trop, Digikey a ces puces énumérés à 38 cents en grande quantité.
Freescale a été bonne et m’a envoyé quelques échantillons gratuits. Cependant, la puce 9RS08 de Freescale semblait vraiment Dingo - je ne pouvais pas faire beaucoup de progrès avec elle. La puce souffre aussi à l’absence d’interruptions et qu’une seule horloge. Eh bien, au moins j’ai pensé que tout ça sans gaspiller de l’argent sur un autre proto Conseil de filature. Voir les photos ci-dessous.
Maintenant je sais - pour mon application, je dois avoir interruptions et plus d’une minuterie.
Retour à puce, j’ai trouvé la puce 12F609. Il a des interruptions et deux timers. Il a aussi 1K de flash et 64 octets de RAM. Inconvénient est le prix ; Digikey répertorie ces puces à 76 cents en grande quantité. Eh bien, Loi de Moore se chargera de cela assez tôt. Sur le plan positif, les 12F609 peuvent également être commandés en paquets DIP. Côté négatif, j’ai dû acheter le prochain niveau haut du compilateur - qui a un peu brûlé mon &.
Il est maintenant avril et j’ai beaucoup appris sur ce qui ne fonctionnera pas. J’ai filé un Conseil et un gaspillage d’argent sur un compilateur qui je n’ai pas besoin. Encore, il est encourageant d’essais jusqu'à présent.
Avec le nouveau compilateur et 12F209 les copeaux en DIP paquets niveau des essais au banc est allé vite. Les essais ont confirmé, j’ai eu la puce à droite. Temps de tourner un autre proto Conseil ! De ce point, je suis déterminé.