Table des matières
Charon 2
Caractéristiques
- Full duplex IEEE 802.3 10 Mb/s Ethernet
- Microcontrôleur AVR ATmega 128 RISC
- 2xRS232
- Interface JTAG
- Interface SPI
- De 4 à 8 entrées ADC
- De 2 à 6 sorties PWM
- 1 Comparateur analogique
- 1 RTC
- Alimentation 5V - 80mA max
- Le Charon 2 est compatible avec l'Ethernut 1.3F du projet Ethernut
Brochage
Brochage du Charon 2 | |||||||||
---|---|---|---|---|---|---|---|---|---|
1 | TP0+ | Sortie Ethernet | INT0/SCL | PD0 | 13 | 25 | PB3 | SPI MISO | |
2 | TP0- | Sortie Ethernet | INT1/SDA | PD1 | 14 | 26 | PB2 | SPI MOSI | |
3 | TPI+ | Entrée Ethernet | INT2/RxD1 serial 1 | PD2 | 15 | 27 | PB1 | SPI SCK | |
4 | TPI- | Entrée Ethernet | INT0/TxD1 serial 1 | PD3 | 16 | 28 | PB0 | SPI /SS | |
5 | LINK | LED de transmission | IC1 | PD4 | 17 | 29 | PF7 | ADC7 /TDI | |
6 | GND | Masse | XCK1 | PD5 | 18 | 30 | PF6 | ADC6 /TDO | |
7 | PE0 | RxD0 serial 0 | T1 | PD6 | 19 | 31 | PF5 | ADC5 /TMS | |
8 | PE1 | TxD0 serial 0 | T2 | PD7 | 20 | 32 | PF4 | ADC4 /TCK | |
9 | PE2 | AIN+/XCK0 | OC1B | PB6 | 21 | 33 | PF3 | ADC3 | |
10 | PE3 | AIN-/OSC3A | OC1C | PB7 | 22 | 34 | PF2 | ADC2 | |
11 | PE4 | INT4/OSC3B | RESET | RST | 23 | 35 | PF1 | ADC1 | |
12 | VCC | +5V/max 80mA | Masse | GND | 24 | 36 | PF0 | ADC0 |
Achat
Achat du module Charon 2 et du connecteur Ethernet intégrant le transformateur d'isolement chez Lextronic :
http://www.lextronic.fr/charon/PP4.htm
Si vous pensez commander le connecteur RJ45 chez Lextronic, lisez la_mesaventure_lextronic:"la mésaventure Lextronic"
06/06/2006: Commande envoyée
09/06/2006: Commande reçue
Quelques photos
Carte de développement
Schéma
Typon
Face soudures
Face composants
Implantation
Module RJ45 + Transformateur
Suite à la_mesaventure_lextronic:la mésaventure Lextronic, j'ai du réaliser un module pouvant remplacer le connecteur LFS1022 et pouvant s'enfficher sur son implantation. Donc si vous arrivez à trouver un LFS1022, tant mieux, sinon vous avez un autre solution utilisant du matériel “plus standard”.
Etape 1 : Trouver une carte réseau
Trouver un carte réseau ayant un transformateur compatible avec celui que j'ai utilisé, le TA140-12B. Pas de panic, les brochages semblent standardisés donc si vous trouvez une carte avec un transformateur en format DIL16 c'est déjà presque gagné. Vérifiez quand même le brochage avant de le monter sur son support.
Si vous n'avez pas de vielle carte réseau sous la main, faites les magasins d'informatique et demandez leurs s'ils n'ont pas de cartes réseau RJ45 10Mbit d'occasion. J'en ai trouvé plusieurs de cette manière à 2.5€ pièce.
Les transformateurs testés et compatibles
Etape 2 : Dessouder le connecteur RJ45 et le transformateur
Rien à rajouter
Etape 3 : Réaliser le module
Schema
Typon
Le Charon 2 sur votre réseau
Votre réseau
Le Charon 2 fonctionne de la même manière qu'un nouvel ordinateur sur votre réseau. Il a sa propre IP et sa propre adresse mac. Donc pour que les données soient correctement aiguillées entre votre PC, le charon 2 et internet, il est nécessaire d'avoir au minimum un routeur sur votre réseau.
Certains modems permettent la fonction routeur, référez vous à votre manuel d'utilisation.
Si vous avez en switch connecté à votre routeur, vous pouvez connecter le charon 2 dessus.
Le câble RJ45
Utilisez un câble RJ45 droit sauf si votre routeur/switch accepte les câbles droits et croisés.
Accès depuis Internet (optionnel)
Pour que votre Charon 2 soit accecible depuis internet avec votre adresse IP internet, configurer votre routeur pour qu'il assigne le port 80 (http) à votre Charon 2 (IP 192.168.1.20) (cf le manuel d'utilisation de votre routeur)
Configuration du module
- Connectez la fiche d'alimentation
- Connectez le cable droit RS232 - La carte de développement de HWgroup utilise un cable null modem avec RX/TX et RTC/CTS croisé, ce n'est pas notre cas.
- Téléchargez le logiciel Hercules
- Démarrez Hercules
- Allez dans l'onglet Serial
- Name : le port que vous utilisez
- Baud : 9600
- Data size : 8
- Parity : none
- Handshake : OFF
- Mode : Free
- Mettez le cavalier “SETUP”
Menu de configuration
Le charon 2 vous affiche ses paramètres par défaut :
- Mac adresse : L'adresse MAC de votre charon 2 - C'est une adresse physique donc elle ne changera pas
- IP adress : L'adresse IP du votre charon 2
- IP mask : Masque du réseau - Ca sera toujours 255.255.255.0
- Gateway address : L'IP de votre routeur
IP adress
Pour modifier l'IP tapez simplement “i” ou “I”
Tapez ensuite l'IP, ne tapez pas les points, ils sont rajoutés automatiquement.
Donc pour entrer l'IP 192.168.1.20, par exemple.
Tapez :
192168001020
Gateway address
Pour modifier l'IP de votre routeur tapez simplement “g” ou “G”
En suivant la même procédure que pour l'IP, pour entrer 192.168.1.254, tapez :
Tapez :
192168001254
Sauvegarde
Sauvegardez en tapant “s” ou “S”
Tester le serveur web de démo
Maintenant que le module est correctement configuré:
- Enlevez le cavalier “SETUP”
- Branchez le connecteur RJ45
- Redémarrez la carte
La led rouge (alimentation) , la led orange (trafic réseau) et la led sur votre switch doit s'allumer.
Tapez dans votre navigateur internet “http:\\” suivit de l'IP de votre module.
Dans notre exemple :
http:\\192.168.1.20
Firmware
Les logiciels nécessaires
- WinAVR 20040720. - A l'heure actuelle, il y a quelques bugs avec les nouvelles versions donc je vous conseille plutôt celle-ci.
Installez les différents logiciels et copiez le répertoire /app/db_demo du firmware du HWgroup dans le répertoire C:\ethernut\nut\app
Configuration
- Cliquez sur le menu “démarrer” de windows puis sur “Tous les programmes”, “Ethernut”, “Configure Development Environment”, sélectionnez Charon2.conf, puis “ouvrir”
- Cliquez sur le menu “Edit” puis sur “settings…“
- Cliquez sur l'onglet “Build”
- Dans “Source Directory”, sélectionnez le répertoire “C:\ethernut\nut”
- Dans “Platform” “avr-gcc”
- Dans “Build Directory”, sélectionnez le répertoire “C:\ethernut\nut” puis cliquez sur “Créer un répertoire”, nommez le “firmware” et validez
- Dans “Install directory”, sélectionnez le répertoire “C:\ethernut\nut\firmware” puis cliquez sur “Créer un répertoire”, nommez le “lib” et validez
- Cliquez sur l'onglet “Tool”
- Dans “Tool Paths”, entrez “C:\ethernut\nut\tools\win32;C:\WinAVR\bin;C:\WinAVR\utils\bin”
- Cliquez sur l'onglet “Samples” et entrez “C:\ethernut\nut\firmware” dans “Application Directory”
- Cliquez sur “Build”, sélectionnez “Generate Build Tree” et validez.
- Cliquez sur “Build”, sélectionnez “Build Nut/OS” et validez. - Vous ne devriez avoir aucun message d'erreur.
Si une erreur se produit, exécutez CMD (ligne de commande DOS) et entrez
set PATH=c:\ethernut\nut\tools\win32;%PATH%
Ce qui doit vous donner :
----- Running 'make clean' ----- ----- 'make clean' terminated successfully ----- ----- Running 'make all' ----- avr-ar: creating libnutarch.a avr-ar: creating libnutos.a avr-ar: creating libnutdev.a avr-ar: creating libnutc.a avr-ar: creating libnutcrt.a avr-ar: creating libnutnet.a avr-ar: creating libnutpro.a avr-ar: creating libnutfs.a avr-ar: creating libnutcpp.a ----- 'make all' terminated successfully ----- ----- Running 'make install' ----- ----- 'make install' terminated successfully -----
Compiler sa 1ere application
Il ne faut pas modifier les programmes d'exemples donc pour cela nous allons copier le répertoire “C:\ethernut\nut\app” vers “C:\ethernut\firmware” avec la commande “Buil” “Create Sample Directory”
Editez avec le “Progammers Notepad” de WinAVR le fichier “C:\ethernut\firmware\httpd\httpserv.c”
Modifiez l'adresse MAC et l'IP de votre module :
/* These values are used if there is no valid configuration in EEPROM. */ #define MYMAC 0x00, 0x0A, 0x59, 0x03, 0x04, 0x68 #define MYIP "192.168.1.20" #define MYMASK "255.255.255.0"
Dans le menu Tools, cliquez sur Make Clean puis sur Make all.
Si vous avez l'erreur suivante :
crurom -r -ourom.c sample process_begin: CreateProcess((null), crurom -r -ourom.c sample, ...) failed. make (e=2): Le fichier spécifié est introuvable. make.exe: *** [urom.c] Error 2
Remplacez la ligne
CRUROM=crurom
par
CRUROM=C:\ethernut\nut\tools\win32\crurom.exe
dans le fichier C:\ethernut\firmware\NutConf.mk. Sauvegardez et relancez la compilation.
Voilà ce que ca me donne :
> "make.exe" all avr-gcc -c -mmcu=atmega128 -Os -Wall -Wstrict-prototypes -Wa,-ahlms=httpserv.lst -D__HARVARD_ARCH__ -IC:/ethernut/firmware/include -IC:/ethernut/nut/include httpserv.c -o httpserv.o httpserv.c: In function `ShowSockets': httpserv.c:299: warning: assignment discards qualifiers from pointer target type httpserv.c:302: warning: assignment discards qualifiers from pointer target type httpserv.c:305: warning: assignment discards qualifiers from pointer target type httpserv.c:308: warning: assignment discards qualifiers from pointer target type httpserv.c:311: warning: assignment discards qualifiers from pointer target type httpserv.c:314: warning: assignment discards qualifiers from pointer target type httpserv.c:317: warning: assignment discards qualifiers from pointer target type httpserv.c:320: warning: assignment discards qualifiers from pointer target type httpserv.c:323: warning: assignment discards qualifiers from pointer target type httpserv.c:326: warning: assignment discards qualifiers from pointer target type httpserv.c:329: warning: assignment discards qualifiers from pointer target type httpserv.c:332: warning: assignment discards qualifiers from pointer target type C:\ethernut\nut\tools\win32\crurom.exe -r -ourom.c sample avr-gcc -c -mmcu=atmega128 -Os -Wall -Wstrict-prototypes -Wa,-ahlms=urom.lst -D__HARVARD_ARCH__ -IC:/ethernut/firmware/include -IC:/ethernut/nut/include urom.c -o urom.o avr-gcc httpserv.o urom.o -mmcu=atmega128 -Wl,--defsym=main=0,-Map=httpserv.map,--cref -LC:/ethernut/firmware/lib C:/ethernut/firmware/lib/nutinit.o -lnutnet -lnutpro -lnutfs -lnutos -lnutdev -lnutnet -lnutcrt -o httpserv.elf avr-objcopy -O ihex httpserv.elf httpserv.hex rm httpserv.elf
Dans le répertoire C:\ethernut\firmware\httpd vous devriez trouver le fichier httpserv.hex près à être programmé dans votre ATmega.
Programmer le module
Le module Charon 2 peut être programmé avec un programmateur ISP (In-System Programming) comme le Dongle AVR 2 ou un autre programmateur compatible.
Sauvegarder le programme d'origine
- Mettez le cavalier sur la position PROG
- Branchez le Dongle AVR 2 sur le connecteur ISP.
Lancez votre logiciel de programmation, par exemple ponyprog, et faites une sauvegarde de la flash,de l'eeprom et des fuse bits.
Programmer sa 1ere application
- Effacez l'ATmega128
- Programmez le fichier C:\ethernut\firmware\httpd\httpserv.hex
- Retirez la nappe du connecteur ISP
- Coupez l'alimentation de la carte
- Retirez le cavalier PROG
- Mettez la carte sous tension
- Patientez quelques secondes (40-50s) le temps que le serveur se démarre.
- Tapez dans votre navigateur internet “http:\\” suivit de l'IP de votre module.
Dans notre exemple:
http:\\192.168.1.20
Félicitation
Annexes
Schémas annexes
Schéma du module Charon 2
Librairie pour Eagle
HW group fournit une librairie pour Eagle intégrant : le Charon 1, le Charon 2, le connecteur Ethernet LF1S022 avec et sans LED.
Comment créer la librairie
Pour être exact, HW group fournit un script (.scr) qui permet de générer la librairie.
Donc pour créer cette librairie suivez les étapes suivantes :
- Téléchargez et dézipez le fichier Charon_Eagle_Lib.zip
- Ouvrez une nouvelle librairie. Donc le control Panel d'Eagle : File → New → Library
- Executez le script Charon_modules.scr contenu dans le fichier Charon_Eagle_Lib.zip. File → Script … Sélectionnez le fichier Charon_modules.scr → Ouvrir Votre librairie est créée :
- Enregistrez votre librairie : File → Save AS … Dans le répertoire lbr d'Eagle : Nom du fichier : Charon2.lbr → Enregistrer
Votre librairie est maintenant fonctionnelle.
Liens à voir
Serveur Web avec le module Charon 2
Charon 2 - Site du constructeur
Carte de development - Site du constructeur
Ethernut Projet complet : Carte + OS avec pile TCP/IP compatible avec le Charon 2
Datasheet Charon 2
Schéma de la carte de développement
Datasheet du RTL8029AS Si vous voulez directement récupérer les signaux sur une carte réseau PCI
La mésaventure Lextronic
Lors du 1er test de la carte de développement :
Liaison série : OK
Programmation ISP : OK
Connexion Ethernet : PAS OK La led du switch ne s'allume pas à la mise sous tension de la carte
Le connecteur Ethernet que j'ai recu n'est apparemment pas identique/compatible avec celui présenté sur le site de lextronic.
Le connecteur que j'ai reçu : :projets:charon_2:ube_rd1-1d5b1a1a.pdf
Celui visible sur le site lextronic et le site HWgroup : :projets:charon_2:lf1s022.pdf
J'ai essayé de récupérer directement les signaux TPI et TPO sur une carte réseau fonctionnant avec un RTL8029 et de les connecter au Charon 2 :
Et là ca fonctionne …
Je vais téléphoner à lextronic pour savoir si leur connecteur est vraiment compatible et s'ils l'ont testé.
A suivre — JP 2006/06/21 08:41
Ca y est, un technicien de lextronic m'a répondu, ils se sont trompés de référence et je dois leur renvoyer les 2 connecteurs, à mes frais bien sur …
La suite d'ici une semaine quand j'aurai récupéré les bons connecteur — JP 21/06/2006 16:34
Lextronic m'a envoyé le datasheet du nouveau connecteur que je devrais recevoir la semaine prochaine.
Et c'est toujours un connecteur qui n'est apparemment pas compatible avec celui affiché sur leur site.
Je retéléphone lundi pour leur dire que ce n'est pas la peine de me l'envoyer…
A suivre … — JP 25/06/2006 10:43
Nouvelle référence proposée par lextronic, nouveau brochage différent … :(
Je leur ai donc indiqué que j'avais déjà réalisé la carte et qu'il n'était pas question d'utiliser un connecteur dont le brochage est différent de celui indiqué sur leur site.
En réponse, ils vont contacter HW-Group pour voir s'il est possible de leur commander des LF1S022, par contre il risque d'y avoir du delais et le prix sera différent !
Sur leur site :
Nous vous recommandons de respecter les schémas ci-dessous. Vous pouvez choisir un transformateur séparé en boîtier “DIL14” (type YCL 20F001N ou FS2022). Si vous ne disposez que peu de place, vous pouvez utiliser un connecteur RJ45 avec transformateur intégré (LF1S022).
Je respecte le schéma et ensuite ils me disent qu'en fait ils n'ont pas cette référence et que si je la veux ça m'en coûtera plus cher !
Donc si vous commandez chez lextronic attendez d'avoir le composant pour faire la carte … — JP 27/06/2006 12:02
Programmation
Le module Charon 2 peut être programmé avec un programmateur ISP (In-System Programming) comme le Dongle AVR 2 ou un autre programmateur compatible.
Les pattes du programmateur doivent être connectées comme ceci :
- MOSI → Pin 7: PE0 RxD0 serial 0 /!\ Il n'est pas connecté à la Pin 26: PB2 SPI MOSI
- MISO → Pin 8: PE1 TxD0 serial 0 /!\ Il n'est pas connecté à la Pin 25: PB3 SPI MISO
- SCK → Pin 27: PB1 SPI SCK
- RST → Pin 23: RST
- GND → Pin 6 et Pin 24: Masse
- +5V → Pin 12: +5V
Un multiplexeur est utilisé dans la carte de développement de HWgroup pour pouvoir utiliser MOSI/MISO et RxD0/TxD0