jeudi 7 mars 2013

pixdel version 3

2013-03-23
mise à jour firware pixdel à la version 4. Vitesse de réception des commandes augmenté à 38400 BAUD.
https://github.com/Picatout/pixdel4


Pour commencer je vous informe que j'ai créé un dépot github.com/Picatout. Désormais tous les fichiers associés à un projet seront sur github.com/Picatout. C'est beaucoup plus pratique que google docs.

J'ai retravailler sur mon concept de pixdel. J'ai simplifié le firmware. Il s'agit de la version 3 de ce projet. Un pixdel est un module miniature composé d'un petit MCU au format sot23-6 et d'un LED RGB qui reçoit des commandes par interface RS-232 à niveau TTL. L'idée est d'utiliser le MCU le plus petit et le plus économique sur le marché. J'ai donc choisi le PIC10F202 pour les versions antérieurs et le PIC10F200 pour cette version. La différence entre les 2 tiens simplement à la quantité de FLASH et de RAM. 256i flash pour le 200 et 512 pour le 202. 14 octets RAM pour le 200 et 24 pour le 202. Étant donnée que cette version simplifiée du pixdel occupe seulement 154 instructions et utilise 12 octets RAM, le PIC10F200 peut remplacé le 202.

différences avec la version 2

La vitesse de communication est passée de 9600 baud à 19200.
Il n'y a qu'une seule commande, qui sert à contrôler l'intensité des 3 composantes couleurs.
Le protocole de communication a été modifié. Maintenant le paquet comprend 5 octets.
0xAA pixdel_id r_level g_level b_level

  1. 0xAA octet de synchronisation
  2. pixdel_id identifiant pixdel, 0 pour diffusion, 1-255 pour identifiant unique.
  3. r_level intensité du rouge 0-255
  4. g_level intensité du vert 0-255
  5. b_level intensité du bleu 0-255

La vitesse de communication est limitée par le fait que les PIC10F20x ne supporte pas les interruptions il faut donc sonder continuellement GP3 pour détecter la présence d'un start bit. Pour ne pas manquer de start bit il faut que l'intervalle entre 2 vérifications de GP3 soit inférieur à la moitié de la durée d'un bit rs-232. En simplifiant le code du contrôleur PWM j'ai ramené cette durée à 23 micro-secondes alors qu'à 19200 baud la durée d'un demi-bit est de 26 micro-secondes. 19200 baud est donc la vitesse maximale de communication.

Vous noterez que dans le fichier pixdel3.asm j'ai commenté la constante PIXDEL_ID. Il est plus partique de définir cette constante sur la ligne de commande de mpasm.exe que d'avoir à ouvrir le projet à chaque fois qu'un veut programmer un MCU avec un nouvel id.

Tous les fichiers du projet sont sur githup.com/Picatout/pixdel

Aucun commentaire:

Enregistrer un commentaire