You are on page 1of 14

Carte dapplication pour PIC 16F876 Bootloader i2c et rs232

Table des matires


La carte 1. La carte 2. Les modifications apporter 3. Le schma Bootloaders rs232 et i2c 1. 2. 3. 4. 5. 6. 7. 8. Le source rs232 Le Downloader rs232 Utilisation Amliorations Le source i2c Le Downloader i2c Utilisation Amliorations

2 3 3 3 4 5 5 5 5 6 6 7 7 8 9 9 10 10 10 10 10 11 12

Liaison RS232 1. Schma et modification Clavier 1. 2. 3. 4. 5. 6. Fonctionnement Brochage Caractristiques lectriques Protocole MF2 Transmission PIC vers Clavier Programme

Joystick 1. Schma/Brochage 2. Programme I2C 1. Schma 2. Programme

13 13 13 14 14 14

La carte, les modifications et le schma


La carte :
Bootloader RS232 ou liaison srie Alimentation 0V V+ (minimum 7,5 V)

RS232

Entres Sorties Clavier

Sortie CNA (PWM)

Joystick

Reset Bootloader I2C ou/et rseau I2C

Les modifications apporter : - le brochage du joystick utilis est faux. Il correspond un ancien type. - une rsistance supplmentaire doit tre rajoute sur le max232 pour que le programme tlcharg dans le PIC dmarre automatiquement (en mode Bootloader RS232) si le cble srie nest pas connect au PC. - rajouter la gestion de la vido et de laudio. - rajouter la gestion dun cran LCD. - prvoir le connecteur 5 broches de 1re programmation. Ces modifications seront dtailles par la suite.

Le schma :

Bootloader RS232 et I2C


1. Le source RS232 Il est crit pour linstant pour un PIC16F876 avec un quartz de 20MHz. Compil avec SourceBoost, il se trouve dans le rpertoire : :\ download rs232\ pack 5 \ Boot v7 et checksum et raccourci moitie OK.

2. Le Downloader RS232 Il se trouve dans le rpertoire : :\ download rs232\ pack 5 \ Down_232

3. Utilisation Programmer le PIC avec le bootloader Main.hex avec icprog. Le mettre sur la carte de dveloppement. Brancher la liaison srie entre le PC et la carte de dveloppement sans la mettre sous tension. Dmarrer Down_232. Configurer le port srie comme souhait et appuyer sur excuter.
5

Faire un reset du PIC. Un dialogue commence. Taper 1 pour charger un nouveau programme ou 2 pour lancer le programme qui avait ou qui vient dtre tlcharg. Aprs avoir tap 1, si le PIC est OK, Pic prt reevoir ... s affiche. Slectionner alors le programme avec lextension .hex tlcharger. Lorsque le tlchargement est termin, le message OK est retourn. Si ce nest pas le cas, recommencer lopration. Faire un reset du PIC et taper2 pour lancer le programme qui vient dtre tlcharg ou bien dbrancher le cble PC rs232 et mettre le montage sous tension et le programme tlcharg dmarre automatiquement.

4. Amliorations Il y a une multiplication par 128 que je nai pas change par << 7. Il y en a srement dautres. 5. Le source i2c Il est crit pour linstant pour le mme PIC16F876 avec un quartz de 20MHz. Compil avec SourceBoost, il se trouve dans le rpertoire : :\ download i2c\ pack 4 (ou pack 2 pour moi) Deux versions sont disponibles : :\ download i2c\ pack 2 \Boot i2c avec visu sur liaison srie raccourci et checksum OK Celle-ci (comme vous le savez tous, jaime bien les liaisons srie) permet de visualiser la transmission qui se fait par li2c directement sur la liaison srie. :\ download i2c\ pack 4 \ Boot i2c avec visu sur leds raccourci et checksum OK Comme son nom lindique, on se base sur les diodes pour savoir dans quelle phase on est.

6. Le Downloader i2c Cest le programme dans le rpertoire Downloader Delphi i2c nomm Paral_i2c pour linstant mais jai dj discut avec Thomas qui va nous crire un plus joli programme que le mien.

Il est rustique. On tape ladresse dans Adresse esclave (en dcimal) et on appui sur transfert. Il nest pas trs difficile utiliser, il ny a quun bouton. 7. Utilisation Programmer le PIC avec le bootloader Main.hex avec icprog. Le mettre sur la carte de dveloppement. Facultatif : Brancher la liaison srie entre le PC et la carte de dveloppement. Dmarrer Paral_i2c. Faire un reset du PIC. La diode verte qui clignote indique que le PIC. Sil ne se passe rien (pas denvoi de ladresse du bootloader (E0 ici)) pendant ces 2 secondes, le programme qui avait ou qui vient dtre tlcharg dmarre. Sinon, si on a cliqu sur transfert puis slectionn un programme .hex, le tlchargement dun nouveau programme commence. Durant la phase tlchargement, les diodes de visualisation clignotent au rythme du tlchargement.

Lorsque le tlchargement est termin, sil sest bien pass, seule la diode verte est allume, sinon sil y a eu un problme de checksum alors cest la rouge qui est allume. Faire un reset du PIC et attendre 5 secondes, puis boucler la ou cest ncessaire.

8. Amliorations et debuggage Ca viendra srement en phase de test rel.

Liaison RS232
1. Schma et modification

R = 10K

La rsistance supplmentaire doit tre rajoute sur le max232 pour que le programme tlcharg dans le PIC dmarre automatiquement (en mode Bootloader RS232) si le cble srie nest pas connect au PC. Dans le Bootloader, la premire commande effectue est envoyer un D destination de la liaison srie. Sil est capt par le PIC, (par lintermdiaire de la rsistance de 10K) cest que le PC nest pas branch. Sinon si le PC est branch, la rsistance ninterfre pas et le bootloader sera lanc.

Clavier
1. Fonctionnement

Claviers compatibles PS2.


2. Brochage

Connecteur male clavier PC PS2:

+5V: Alimentation du clavier GND: Masse clavier DATA: Transmission bidirectionnelle des donnes (KBD_DATA) CLK: Horloge de synchronisation (KBD_CLK)
3. Caractristiques lectriques

Les rsistances de tirage doivent tre prsentes.


4. Protocole MF2

Protocole synchrone bidirectionnel Trame:

10

L'horloge CLK: Elle est toujours gnre par le clavier, elle peut varier entre 10 et 20kHz CLK est gnr uniquement pendant l'envoi des donnes et si DATA est 0, ce qui permettra la dtection de prsence clavier.

5. Transmission PIC vers Clavier

-Le PIC met DATA la masse -Le clavier envoie le signal d'horloge sur CLK. -Le PIC dtecte la prsence du clavier et remet DATA en Entre puis attend de recevoir un code clavier -Si le PIC reoit un code clavier il le mmorise et lassocie son caractre.

Exemple du code de la touche M :

11

Code touche M 01001100b ou 4Ch

6. Programme.

Il est crit pour linstant pour un PIC16F876 avec un quartz de 20MHz. Compil avec SourceBoost, il se trouve dans le rpertoire : :\Application Bootloader\ Clavier\ Clavier et ecriture sur liaison serie

12

Joystick
1. Schma/Brochage Voici le schma interne de la manette choisie:

et bien, ce nest pas le bon. La carte dapplication a t modifie maison (un genre de modification qui ne plairait pas Franois) pour que les 3 ponts diviseurs (2 rsistances variables, 1 bouton tir) arrivent sur les ports RA0, RA1 et RA2.

2. Programme Il est crit pour linstant pour un PIC16F876 avec un quartz de 20MHz. Compil avec SourceBoost, il se trouve dans le rpertoire : :\Application Bootloader\ joystick\ joystick.

13

I2C
1. Schma

Classique, a marche toujours aussi bien quavant, sauf que maintenant, a marche en plus avec la liaison srie. Pour ceux (par exemple Thomas) qui se posent la question du pourquoi du comment, ils nont qua lire lexcellente documentation du PIC16F876 chapitre 10, et ne pas faire comme moi, pauvre abruti, et se dire que le PIC16F872 et le 876 sont les mmes part la mmoire. Il nen est rien, le 876 intgre une liaison srie sur les broches RC6 et RC7 qui est dcouple de li2c (en premire vrification). Donc on pourra intgrer des liaisons srie partout et je pourrais surtout rcrire le programme de la camra. Beurk....

2. Programme Toujours le mme, il a juste t dgraiss pour le bootloader i2c et sappelle pic_i2cs. Il se trouve dans :\Application Bootloader\ Bootloader i2c\ et une ou lautre des versions. Il a t modifi pour fonctionner en polling.

14

You might also like