PROGRAMMATION DE PIC POUR LES NULS
Article 1 de Victor F1BIU
Mes expériences en trafic radio
numérique haut débit m'ont conduit à utiliser des plls SHF et
rapides en commutation de fréquences.
Le problème est que leur programmation
se fait en série par bus 3 fils
ou 2 fils I2C.
Il fallait donc utiliser un
microcontrôleur, un pic pas cher et reprogrammable
sur place. J'ai opté pour le PIC16C84
ou PIC16F84.
Du coup je m'éloigne un peu du sujet
haut débit pour vous proposer de
programmer les pics pour vos plls ou
toutes puces à programmation série.
Ca intéressera qui?
- tous les OMs, comme moi, qui ont
horreur de dépendre d'une personne ou d'un distributeur pour
réaliser leurs bidouilles, l'autonomie d'abord.
Or, dès qu'on doit utiliser un pic,
pal, gal programmés par un autre, on n'est plus libre.
- les récupérateurs de trx pro,
radiotéléphones, reconvertis OM, vous n'aurez
plus peur de les modifier, vous
pourrez isoler le pll de son microcontrôleur
et imposer vous-même les
fréquences par le pic.
- les réalisateurs de tx, rx peu à l'aise avec l'informatique, qui pourront enfin utiliser des plls séries pilotés par leurs pics.
- tout om qui veut s'initier à la
programmation de microcontrôleurs.
Les applications des pics sont
innombrables, je ne parlerai que du pilotage
de plls ou puces série dans le
domaine OM.
Qui n'est pas concerné :
- toute personne qui a des intentions
commerciales.
- tout OM qui attend du "plug and
play" servi sur un plateau.
- tout OM qui veut pirater le contenu de
pics commerciaux.
J'ai terminé le programmateur de pic
16x84 pour les "nuls" et surtout
pour les "pauvres".
Regardez le schéma pic.gif et
pic-sur-cible.gif, ils se passent de
commentaires.
Ce programmateur est contrôlé par le
port parallèle d'un PC.
Le logiciel du programmateur est en
qbasic.
Celui-ci commence par décoder les
fichiers formats intel 8bits.
crées par les assembleurs. Ces fichiers
ont le suffixe .obj ou .hex.
Ensuite il charge en pic avec le
protocole fourni par Microchip.
Le programme peut donc charger n'importe
quel fichier .obj ou .hex
format intel 8 bits dont
l'avant-dernière ligne contient le mot "84"
pour 16c84 ou 16f84.
Les programmes à charger en pic sont
écrits en assembleur SPASM de chez
Parallax, j'en ai écrit 2 pour le test
du programmateur.
Ci joint vous trouverez l'exécutable
spasm et des aides.
En attendant mes prochains
programmes, vous pourrez, avec la package joint,
vous familiariser avec les pics, charger
toutes les applications que vous
pourrez trouver sur internet, il suffira
de lancer le mot clé PIC16C84 et
vous aurez une "tonne"
d'applications intéressantes.
Mes programmes qbasic et assembleurs
sont largement commentés, dans le but d'apprendre à programmer
et de se rendre autonome pour ses applications
personnelles.
La prochaine phase, j'écrirai en
assembleur un programme dédié au pilotage
des plls à programmation série.
Il est prévu universel, bus 3 fils,
i2c, tous les formats d'enable connus, les 2 fronts d'horloge,
les vitesse différentes de chargement, et 2 tableaux
de valeurs, il faut en effet prévoir
pour les plls avec 2 fréquences différentes tx, rx commutés
par l'info du ptt.
La phase suivante, la dernière, est
l'écriture en qbasic d'une interface
utilisateur pour fournir les données à
entrer dans les pll ou puces séries.
Ce programme créera un tableau qui sera
ensuite utilisé par le programme
du pic.
Pour les "nuls",
l'interface sera conviviale, demandera seulement la
fréquence tx, rx, la valeur du quartz
référence, le pas et le nom du pll.
Le programme fera le calcul des
divisions, et une bibiothèque sera utilisée
pour connaître la syntaxe des signaux
séries selon le nom de la puce pll.
Pour les "initiés", il
faudra fournir tous les bits datas, le front
d'horloge, l'allure de l'enable. C'est
plus puissant car il n'y a pas de
limite sur la puce à programmer, il n'y
a pas besoin de bibliothèque.
Par contre, l'om doit avoir sous les
yeux le data sheet de sa puce,
et calculer lui-même les divisions.
Je ne prévois pas de multi-canaux
enfouis, j'ai prévu de laisser
libre 3 fils du pic pour reprogrammer
sans le déssouder de sa carte cible.
L'om qui veut "zapper" n'aura
qu'a rebrancher son câble imprimante sur ces
3 fils.
Mes 73 de Victor F1BIU.
ps: J'espère que vous prenez le mot
"nul" au second degré, on est tous nul
moi le premier, dans
des domaines qui ne sont pas les notres.
Schéma du programmateur:
Description de l'implantation sur une carte:
Comme promis je vous propose un package qui vous permettra
enfin
de pouvoir programmer vos puces séries.
J'avais proposé un programmateur pas cher dans mon
précédent bulletin.
Un article de Mr Tavernier dans la revue Le Haut-Parleur de
Mai 98
propose la réalisation d'un programmateur pas cher avec un
soft gratuit
très convivial, à vous de choisir.
Ce qui compte c'est de vous lancer dans l'utilisation de pics
pour programmer
vous même vos puces séries telles que pll, synthés, puces
tranceivers.
Quelque soit le programmateur choisi, les fichiers joints sont
compatibles.
Mon package concerne les OMs bidouilleurs, fabricant
eux-mêmes leurs trx
ou tout OM récupérateur de radiotéléphones et qui désire
remplacer le
microcontroleur d'origine et imposer ses fréquences.
Autre ouverture possible, le pilotage des tuners sat ou tuners
tv à bus
série, une idée que j'avais évoquée, il y a 3 ans mais
sans pics.
Il faut disposer du data-sheet de sa puce, connaître la
syntaxe de
programmation et calculer soi-même les taux de division pour
les fréquences.
Si j'ai plus de temps, je proposerai, dans un prochain
article, un programme
interface pour les utilisateurs "nuls" , on pourra
programmer sa puce
uniquement en fournissant son nom, la fréquence désirée, le
pas et la valeur
du quartz référence. C'est un boulot gigantesque pour moi,
je me limiterai
aux plls les plus courants, accessibles facilement par le
grand public.
(Philips, Motorola, Fujitshu)
N'hésitez pas à me contacter pour vos suggestions, les
améliorations de
mes programmes pour plus de convivialité. Merci.
Mes 73 de Victor F1BIU
Adresse BBS: F1BIU@F6RAC.FRPA.FRA.EU