Platine de programmation pour le R8C/13.


La revue Elektor a fait paraître la description d'un module vendu à bas prix sur leur site. Vous trouverez des informations ici 
Un forum d'aide est également disponible sur leur site.
Je propose ici une petite platine de programmation pour ce microcontrôleur dont les caractéristiques sont alléchantes.
processeur 16 bits, 16 K de mémoire, Can 10 bits connectable sur 12 entrées, périphérique série.
La programmation est effectuée sans programmateur spécial, directement par la RS232.
Les logiciels sont gratuits et disponibles depuis internet sur le site de Renesas ou sur le cederom proposé par Elektor.
Un langage C performant et une banque importante de routines est disponible sur la toile (voir liens)

Programme de test pour la platine

Programme afficheur série

Liens

Premiers pas.

R8CKey (une clé pour la programmation)

USB et mini-R8C

 
 Le schéma d'Elektor légèrement modifié. 

Cette platine reprend le schéma donné p.34 du numéro d'Elektor de février 2006.

J'ai ajouté une led après le régulateur 5v et trois petits connecteurs (0, +5v en bas à gauche) pour alimenter des cartes filles. Des connecteurs sont reliés aux ports de sortie du R8C/13.

La disposition des composants a été choisie afin d'assurer une manipulation facile. Les connections sont vers le haut et les boutons vers le bas. De chaque côté du support du module, de la place est laissée pour permettre de le retirer facilement.

Pour suivre les conseils de R8C13master sur le forum Elektor, le régulateur de tension est un L7805 qui peut tenir 1.5 A.. 

Le transistor BC 558 C (en haut à droite) est décalé sur la droite pour ne pas gêner les manipulations du R8C/13. Il est très aisé ainsi de le placer et de le détacher du support. 

Implantation des composants

En haut à gauche on trouve le connecteur d'alimentation et à sa droite le connecteur RS232.

La led est en rouge proche de la diode 1N 4004, les capas céramiques 100 nF sont en jaune et les tantales 10 uF en orange. Le régulateur 5 v se trouve entre les 100 nF. Pour le sens, la partie métallique doit se trouver vers le R8C (en blanc)

Les codes couleur des résistances sont indiqués.
Sous la led la 1 K, à gauche du BC548  une 10 K, au dessus la 4,7 K.
Sous le connecteur RS 232 une 27 K et à droite du BC558 la 100 K.

Ne pas oublier les straps en jaune et la 10 K qui se trouvent sous le R8C.

En bas et légèrement à gauche est placé le bouton de reset et à droite l'interrupteur de programmation.

Attention au sens de l'inter. Il est plus pratique qu'il se ferme vers le bas. Un test au contrôleur universel permet d'éviter une erreur de sens. Vérification identique pour le reset. Testez qu'il est ouvert au repos avant de le souder dans le bon sens.

Les connecteurs reliés au R8C sont mâles mais rien n'empêche de mettre des connecteurs femelles, toutefois je trouve les connecteurs mâles plus solides.

Pour le support du R8C, prendre de la barrette sécable.

Le Typon

Voici le typon. Pour le télécharger, (32 Ko) cliquez sur l'image.
C'est une page word sur laquelle vous trouverez 3 typons aux bonnes dimensions 50,5 mm * 71,5 mm.. 

Disposés ainsi, l'encre vient au contact du cuivre, ce qui est préférable lors de l'insolation aux UV.

Personnellement j'utilise une imprimante à jet d'encre et je place 3 transparents les uns sur les autres.

 

Le typon est disponible au format Proteus R8Cmin

Liste des composants 

Résistances :
1 * 1 K
1 * 4.7 K
2 * 10 K
1 * 27 K
1 * 100 K

Capacités :
2 * 100 nF céramique
2 * 10 uF tantales (25v)

Transistors :
1 * BC 548 C
1 * BC 558 C
1 régulateur L7805 (TO220)
1 diode 1N4004 
1 led rouge 3 mm

1 bouton Reset
1 inter pour CI (au pas de 2.5 mm )

1 connecteur femelle RS232 9 broches pour CI.
1 connecteur pour l'alimentation externe.

De la barrette femelle sécable pour le support (32 pattes).

 


Pour utiliser cette platine, il suffit de placer le R8C/13 sur son support, le quartz près du connecteur RS232 comme sur la photo. Reliez le cordon RS232 à l'ordinateur puis branchez l'alimentation (9 à 12 v).

Pour tester la platine, chargez le programme toggle_all.mot dont le rôle est de faire clignoter tous les ports du R8C/13

#include "sfr_r813.h" 

long t;

void main(void)
{
/*-------------------------------------------------
- Change on-chip oscillator clock to Main clock -
-------------------------------------------------*/

prc0 = 1;             /* Protect off */
cm13 = 1;           /* Xin Xout */
cm15 = 1;           /* XCIN-XCOUT drive capacity select bit : HIGH */
cm05 = 0;           /* Xin on */
cm16 = 0;           /* Main clock = No division mode */
cm17 = 0;
cm06 = 0;           /* CM16 and CM17 enable */
asm("nop");         /* Waiting for stable of oscillation */
asm("nop");
asm("nop");
asm("nop");
ocd2 = 0;           /* Main clock change */
prc0 = 0;            /* Protect on */

prc2 = 1;           /* Protect off  to write on pd0 */
pd0 = 0xFE;    /* bits 1 à 7 sur p0. an0 = p0_7, an1 = p0_6 ... an6 = p0_1.  p0_0 is not present in the device.
pd1 = 0xFF;      /* Set Ports be used for output*/
pd3 = 0x0F;    /* just p3_0 ... p3_3 
pd4 = 0x20;    /* just p4_5 

while (1)       /* Loop */
  {
  p0 = 0xFE;
  p1 = 0xFF;
  p3 = 0x0F;
  p4_5 = 0x01;
  for (t=0; t<50000; t++);
  p0 = 0x00;
  p1 = 0x00;
  p3 = 0x00;
  p4_5 = 0x00;
  for (t=0; t<50000; t++);
  }
}

Toute information sur l'installation des logiciels et la mise en route est disponible sur le site Elektor.

Pour programmer le module, il suffit de placer l'inter vers le bas et effectuer un reset.
Démarrez FDT Simple interface. Au menu dans option, cochez  Readback verify et Erase device before program.
Chargez toggle_all.mot et cliquez sur program flash.
Après confirmation de la programmation, ramenez l'inter vers le haut et appuyez sur reset. 
Avec une diode led reliée à une résistance de 1 K, vérifiez une à une les sorties des R8C. Si une ne clignote pas, il faudra voir du côté des soudures.

Voici qui clôt cette description qui j'espère vous donnera satisfaction. Vous pourrez me retrouver sur le forum d'Elektor sous le pseudo de gibi.

Programmes :

Voici un programme en langage C qui commande l'afficheur série de Selectronic.
 Il se compose de 3 fichiers, lcd.c qui est un programme de démonstration,  graph.h et graph.c qui forment la bibliothèque dédiée à l'afficheur. Pour l'insérer dans son programme, il suffit de placer en tête de programme #include "graph.h"
lcd_serie

Liens :

Voici quelques liens où il est possible de télécharger des programmes ou de les adapter.
Renesas  (le constructeur)
Programmes en C pour AVR,  M16C et R8C facilement transposables pour le R8C
http://mikrocontroller.cco-ev.de/de/download.php#M16C
http://mikrocontroller.cco-ev.de/de/m16c.php

Programmes primés pour M16C
http://www.circuitcellar.com/renesas2005m16c/winners/DE/DE.htm

R8C - Programmer
http://people.freenet.de/moosec/projekte/r8cprogrammer/

Routines pour R8C/13
http://www.b-kainka.de/r8c_2.htm

Une page de présentation en français avec utilisation des logiciels et quelques montages
http://www.logiclic.org/index.php?option=com_content&task=section&id=4&Itemid=36

Programmer le R8C sous Linux, c'est possible !
Allez voir sur la page de NLC, qui vous donnera la marche à suivre, et des détails sur le protocole de programmation.
http://chaenel.free.fr/cmsimple/?Electronique:Les_microcontr%F4leurs_R8C_sous_Linux

 



This site is a member of WebRing.
To browse visit Here.