Autre vue de la carte SYS-P11 ( 40 ko ).
Objectif de cette « Mono-Carte »
Explication sur les différents modes de démarrage du 68HC11
Quels Logiciels utiliser?
Programmation de l’EEPROM d’un 68HC11A1 ou E1 sous PCBUG11
Idem pour l’EEPROM d’un 68HC11F1 sous PCBUG11.(de B. GASC.)
Documents personnel pour les novices
Livres relatifs au 68HC11
Lien sur différents sites relatifs au HC11
Objectif de cette « Mono-Carte » :
-
Elle a été conçue pour répondre à de
petites applications mais néanmoins efficaces. Elle se veut souple
du fait qu’elle a un minimum d’électronique nécessaire à
sa programmation et à son alimentation ( + la surveillance ). Elle
n’est pas conçue pour une application type, ses ports peuvent être
utilisés comme bon vous semble ( selon les propres caractéristiques
données par le constructeur ).
-
Possibilité d’utiliser le 68HC11A1 FN, 68HC811E1 FN ou bien 68HC811E2
FN, voire d’autres compatibles broches à broches.
-
Tous les ports du HC11 sont disponibles sur les connecteurs type
HE14 autour de lui.
-
Possibilité de monter des cartes en sandwichs, dessus
ou dessous, tout dépend du connecteur HE14 utilisé ( avec
trous traversants ).
-
Possibilité de s’initier à la programmation rapidement
grâce à une petite carte à LEDs [Port B]et d’un potentiomètre
[Port E0] pour une conversion Analogique Digitale.
-
Possibilité de faire un montage simple grâce
à une platine expérimentale
à trous, attenante à la carte principale ( l'image du pistage
~17 ko ).
-
Possibilité d’utiliser une plaque d’essai. ( Ecartement
des différents connecteurs au pas de 2,54 mm ).
-
Un connecteur Subd 9 points permet une liaison série
avec un PC. Elle est utilisée pour sa programmation ou bien pour
des échanges de données.
-
Un connecteur DIN 5 broches permet de dialoguer avec un clavier d’ordinateur
type PC. On peut s’éviter la programmation de gestion d’appui
touches de type matriciel. Toutefois, les signaux du clavier PC n’étant
pas " normalisés", cette programmation vous incombera si vous en
utilisez un.
-
Différents petits « cavaliers » ou « micro-switchs
»:
-
MODA, MODB permet d’indiquer au microcontrôleur HC11 lors
du Reset la configuration matérielle dans laquelle on veut le faire
travailler : Mode étendue, Bootstrap, Monochip.
-
TX, RX permettent d’intervertir les fils TXD et RXD de la
liaison sérieRS232, selon le câble ( croisée ou non
) entre le PC et la « Mono-Carte ».
-
Un « micro-switch » AUTO. permet soit le
téléchargement de programmes par le biais de la RS232
( sur OFF), soit le fonctionnement autonome du HC11 en mode
Bootstrap [ MODA = MODB = 0 ] : Exécution du programme mis dans
l’eeprom à l’adresse $B600.
-
SS\ indiquant au HC11 qu’il est esclave dans le cas ou la liaison série
SPI serait utilisée.
Cette carte est vendu sous forme de Kit, par la société SELECTRONIC.
Ce Kit comprend la carte ( sectionnable en 3 parties ) sérigraphiée,
percée avec tous les composants nécessaires à son
bon fonctionnement.
Explication sur les
différents modes de démarrage du 68HC11:
Le 68HC11 possède 2 broches MODA et MODB qui
lui permettent de choisir sa configuration de démarrage lors du
RESET:
MODA |
MODB |
MODE |
1 |
0 |
MonoChip |
1 |
1 |
Etendu |
0 |
0 |
Bootstrap |
0 |
1 |
Test |
-
Le Mode Monochip n'est possible que si le 68HC11 possède
sa propre ROM ( ou UVPROM ou EEPROM ) interne. L'EEPROM de 512 octets à
l'adresse $B600 n'est pas considéré comme étant une
ROM de programme dans ce mode.
-
Le Mode étendu ne se fait que si vous utilisez le 68HC11
avec de la ROM externe. Pour palier son manque de ports utilisés
pour adresser les mémoires, on utilise un 68HC24.
-
Le Mode Test est utilisé par le fondeur pour vérifier
l'intégrité de la puce. Sans intérêt pour nous.
-
Le Mode Bootstrap permet de programmer l'EEPROM de 512 octets à
l'adresse $B600 et de rendre le 68HC11 autonome. Pour cela il y a 2 configurations
de travail:
-
Les lignes TX et RX ( PD1 et PD0 ) ne sont pas reliées.
Lors du RESET, TX envoie un signal Break et RX
ne recevant rien, indique au 68HC11 qu'il est en mode téléchargement
de programme. Le 68HC11 attend par la liaison série ( RXD ) qu'un
programme soit téléchargé en RAM. Celui-ci doit faire
256 octets, s'il fait moins, vous devez vous débrouiller pour remplir
les autres octets. Lorsque les 256 octets sont téléchargés,
le 68HC11 exécute le programme à l'adresse 0. Le talker de
PCBUG11
utilise ce principe.
-
Les lignes TX et RX ( PD1 et PD0 ) sont reliées. Lors
du RESET, TX envoie un signal
Break
et RX le
recevant , indique au 68HC11 qu'il est en mode autonome. Le 68HC11 exécute
donc le programme situé à l'adresse $B600 (en EEPROM). Deux
remarques:
-
Le programme ne peut dépasser 512 octets.
-
Sur la maquette SYS-P11, un micro-switch AUTO permet de relier
TX
et RX uniquement pendant la phase de Reset. Le 68HC11 part en Mode
Bootstrap autonome, mais il est ensuite possible d'utiliser la ligne série
pour un dialogue avec d'autres périphériques et ceci sans
avoir à toucher le micro-switch AUTO.
Quels Logiciels
utiliser ?
Il en existe heureusement ou malheureusement plusieurs que l'on
peut télécharger sur Internet.
Je commence par le plus compliqué pour expliquer la procédure
normale
de programmation.
-
Premièrement vous devez écrire votre programme sous
un éditeur de texte tel que EDIT (DOS ) ou NOTEPAD.
-
Deuxièmement, MOTOROLA propose le langage assembleur as11.exe
ou as11new.exe Celui assemblera votre programme, c'est à dire transformera
votre programme assembleur ( à base de mnémonique
) en langage machine compréhensible par le microcontroleur ( en
nombres ). Exemple: LDAA #$E4 sera "traduit" en Hexa
par 86 E4.
-
Troisièmement, vous aurez à télecharger votre
programme assemblé sous l'extension .S19 par le biais
de la RS232 et de votre PC. il existe EELOAD.BAS utilisable sous QBASIC
ou GWBASIC ( DOS ).
-
Le logiciel tel que PCBUG11 par
le biais d'un Talker ou sonde logiciel téléchargé
dans le 68HC11 permet :
-
de mettre votre programme en EEPROM ($B600-$B7FF)
afin que votre programme puisse être autonome (reste en mémoire
même si vous faites un RESET ou éteignez votre carte), pour
cela vous devez être en Mode Bootstrap et TX-RX relié
( au moins pendant la phase de Boot ).
-
de lancer votre programme, en mode pas à pas et même d'y mettre
des points d'arrêts. Pour les points d'arrêts logiciels, le
Talker devra être en EEPROM et votre programme en RAM. Attention
au sous routine, tout dépend comment vous y accédez avec
le Talker, mais en sortant de la sous-routine, cela peut planter...
Pour le plus simple, il existe tout simplement des programmes intégrant
ces fonctionnalités citées ci-dessus en un seul programme
tel que sharewares fonctionnant sous Windows 95 et téléchargeables
sur internet.
Il existe le logiciel HCLOAD de sylvain
Bissonnette:
[ sylvain.bissonnette@videotron.ca ] de téléchargement
de programmes.
HCLOAD se veut "universelle" selon les différentes configurations
de 68HC11. Pour télécharger une version bridée comptez environ
5 Mo.
Il existe aussi le logiciel WINBUG11
qui fait office de tout en un
( HCLOAD + PCBUG11 ). Pour ceux que j'ai malheureusement oublié, ne m'en voulez pas
...
REMARQUES : Si vous rencontrez des problèmes de communications
sous PCBUG11 (139 ko ) avec la carte SYS-P11, vérifiez les cavaliers
sur TX et RX.
Il arrive que sur certains PC récents, des versions posent problèmes.
Je remercie B.GASC pour m'avoir passé la dernière version
de PCBUG11: la 3.42A ( zippé ~125 ko ) pour PC rapide.
Programmation de
l’ EEPROM d’un 68HC11A1 ou E1 sous PCBUG11:
Après avoir lancé PCBUG11 et répondu aux différents
critères de lancement, Celui-ci envoi une sonde logicielle appelé
« Talker » dans la « Mono-Carte ». Si aucun problème
de communication n’intervient, on peut visualiser le contenu des registres
et un curseur attend des commandes de votre part.
Pour vérifier que tout se passe bien, taper :
md 00 $FF veut dire memory display et ceci
afin de visualiser le contenu de la RAM dans la zone indiquée.
Pour programmer l’EEPROM, taper :
-
ms $1035 00 afin de valider la programmation de l’ EEPROM.
-
eeprom 0 obligatoire.
-
eeprom $B600 $B7FF situation mémoire de l’ EEPROM.
-
eeprom erase bulk $B600 Efface toute la zone mémoire.
-
loads c :\myprog\TOTO.S19 Votre nom de fichier assemblé au
format S19.
Il faut un temps d’attente et PCBUG11 affiche :
-
Total bytes loaded : $xxxx
-
Total bytes programmed : $yyyy
-
verf c :\myprog\TOTO.S19 Afin de vérifier.
Si la programmation se fait mal, vous pouvez ajouter un délai de
programmation. Généralement c'est valable pour des HC11 ayant
bien servis.
-
eeprom delay 20 pour 20ms au lieu de 10. Faire cette
opération entre l’étape 1. Et 2.
Idem pour l’EEPROM d’un 68HC11F1 sous PCBUG11.
(de B. GASC.)
En mode bootstrap, depuis PCBUG11:
- MS $1035 $00 enlève la protection BPROT.
- EEPROM 0
- EEPROM DELAY 20
- EEPROM $FE00 $FFFF
- EEPROM ERASE BULK $FE00 efface l'EEPROM Interne du 68HC11
- MOVE $BFC0 $BFFF $FFC0 Recopie les vecteurs d'interruptions
de la BootROM dans l'EEPROM Interne.
- MS $103C $26 Passe en mode etendue de facon logicielle.
- BF $8000 $9000 $FF Efface l'EEPROM Externe
Tout ceci tient dans une macro
Maintenant je peu faire LOADS nomfic.s19
Documents personnel
pour les novices
Livres relatifs
au 68HC11
-
Les microcontrôleurs
HC11 et leur programmation.
Edition MASSON de Christian CAZAUBON
-
Microcontrôleur 68HC11 et les versions UVPROM
et EEPROM T1 Description
Edition DUNOD de Christrian TAVERNIER Traduction
de la Doc Technique
-
Microcontrôleur 68HC11 et les versions UVPROM
et EEPROM T2 Applications
Edition DUNOD de Christrian TAVERNIER
Lien sur différents
sites relatifs au HC11
Site Web de MOTOROLA
contenant la documentation sur le HC11.
Site Web de MOTOROLA
contenant des logiciels Freewares et des notes d’Applications .
Site de HCLOAD, d'autres liens s'y
trouvent et une FAQ existe.
Site de WinBug11 ( HCLOAD
+ PCBUG11 réunis sous W95 ).
Site d'une autre réalisation et compléments sur le HC11
( Franck Decaux ).
|