Carte 68HC11: SYS-P11


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 :

  1. ms $1035 00   afin de valider la programmation de l’ EEPROM.
  2. eeprom 0    obligatoire.
  3. eeprom $B600 $B7FF  situation mémoire de l’ EEPROM.
  4. eeprom erase bulk $B600 Efface toute la zone mémoire.
  5. loads c :\myprog\TOTO.S19 Votre nom de fichier assemblé au format S19.
Il faut un temps d’attente et PCBUG11 affiche :
  1.  Total bytes loaded : $xxxx
  2. Total bytes programmed : $yyyy
  3. 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.
  1. 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:
  1. MS $1035 $00 enlève la protection BPROT.
  2. EEPROM 0
  3. EEPROM DELAY 20
  4. EEPROM $FE00 $FFFF
  5. EEPROM ERASE BULK $FE00 efface l'EEPROM Interne du 68HC11
  6. MOVE $BFC0 $BFFF $FFC0 Recopie les vecteurs d'interruptions
    de la BootROM dans l'EEPROM Interne.
  7. MS $103C $26 Passe en mode etendue de facon logicielle.
  8. 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 ).
 


Accueil

Sommaire