====== Charon 2 ====== {{:projets:charon_2:charon2.jpg|:projets:charon_2:charon2.jpg}} ===== Caractéristiques ===== * Full duplex IEEE 802.3 10 Mb/s Ethernet * [[:Microcontrôleur]] [[:AVR]] ATmega 128 RISC * Nut/OS (système d'exploitation temps réel) avec pile TCP/IP (compatible avec [[:AVR-GCC]], ImageCraft ICCAVR, CodeVision [[:AVR]]) * 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 [[http://www.ethernut.de/|Ethernut]] ===== Brochage ===== {{:projets:charon_2:charon2_brochage.png?500|:projets:charon_2:charon2_brochage.png}} ^ 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 [[http://www.lextronic.fr/|Lextronic]] :\\ http://www.lextronic.fr/charon/PP4.htm //Si vous pensez commander le connecteur RJ45 chez Lextronic, lisez [[:projets:charon_2:charon_2#la_mesaventure_lextronic:"la mésaventure Lextronic"]]// //06/06/2006: Commande envoyée// \\ //09/06/2006: Commande reçue// === Quelques photos === {{:projets:charon_2:charon2_lextronic.jpg?400|:projets:charon_2:charon2_lextronic.jpg}} {{:projets:charon_2:charon2_lextronic2.jpg?400|:projets:charon_2:charon2_lextronic2.jpg}} {{:projets:charon_2:charon2_lextronic3.jpg?400|:projets:charon_2:charon2_lextronic3.jpg}} ====== Carte de développement ====== {{ :projets:charon_2:carte_dev_charon2.jpg?400 |:projets:charon_2:carte_dev_charon2.jpg}} ==== Schéma ==== {{:projets:charon_2:schema_1_1.jpg|:projets:charon_2:schema_1_1.jpg}} {{:projets:charon_2:schema_1_1.pdf|Schéma version 1.1}} ==== Typon ==== ==== Face soudures ==== {{:projets:charon_2:charon2_bottom.jpg|:projets:charon_2:charon2_bottom.jpg}} {{:projets:charon_2:charon2_bottom.pdf|:projets:charon_2:charon2_bottom.pdf}} ==== Face composants ==== {{:projets:charon_2:charon2_top.jpg|:projets:charon_2:charon2_top.jpg}} {{:projets:charon_2:charon2_top.pdf|:projets:charon_2:charon2_top.pdf}} ==== Implantation ==== {{:projets:charon_2:charon2_implantation.gif|:projets:charon_2:charon2_implantation.gif}} {{:projets:charon_2:charon2_implantation.pdf|:projets:charon_2:charon2_implantation.pdf}} ==== Module RJ45 + Transformateur ==== Suite à [[:projets:charon_2:charon_2#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 [[http://www.bothhandusa.com/products/10baseT/TA140-12B-Rev.A8-02.06.05.PDF|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 == * [[http://www.bothhandusa.com/products/10baseT/TA140-12B-Rev.A8-02.06.05.PDF|TA140-12B]] * [[http://www.bothhandusa.com/products/filters/FB2022_D_-RevA2-020819.PDF|FB2022]] === Etape 2 : Dessouder le connecteur RJ45 et le transformateur === Rien à rajouter === Etape 3 : Réaliser le module === == Schema == {{:projets:charon_2:charon2_module_schema.gif|:projets:charon_2:charon2_module_schema.gif}} {{:projets:charon_2:charon2_module_schema.pdf|:projets:charon_2:charon2_module_schema.pdf}} == Typon == Face soudures : {{:projets:charon_2:charon2_module_bottom.gif|:projets:charon_2:charon2_module_bottom.gif}} {{:projets:charon_2:charon2_module_bottom.pdf|:projets:charon_2:charon2_module_bottom.pdf}} Implantation et strap : {{:projets:charon_2:charon2_module_implantation.gif|:projets:charon_2:charon2_module_implantation.gif}} {{:projets:charon_2:charon2_module_implantation.pdf|:projets:charon_2:charon2_module_implantation.pdf}} ====== 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. {{ :projets:charon_2:reseau_charon.jpeg?500 |:projets:charon_2:reseau_charon.jpeg}} 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 [[http://www.hwgroup.cz/download/sw/HerculesSetup.zip|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" - Mettez la carte sous tension\\ {{:projets:charon_2:hercules.jpg|:projets:charon_2:hercules.jpg}} ==== 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 {{:projets:charon_2:ie_charon2.jpg|:projets:charon_2:ie_charon2.jpg}} ====== Firmware ====== ===== Les logiciels nécessaires ===== * [[http://winavr.sourceforge.net/|WinAVR]] 20040720. - A l'heure actuelle, il y a quelques bugs avec les nouvelles versions donc je vous conseille plutôt celle-ci. * [[http://www.ethernut.de/en/download.html|NutOS]] * [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725|AVR Studio]] * [[http://www.hwgroup.cz/download/files/Charon2_DB_demo.zip|Le firmware du HWgroup]] 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 [[:projets:Dongle AVR 2:Dongle AVR 2]] ou un autre programmateur compatible. ==== Sauvegarder le programme d'origine ==== * Mettez le cavalier sur la position //PROG// * Branchez le [[:projets:Dongle AVR 2:Dongle AVR 2]] sur le connecteur //ISP//. Lancez votre logiciel de programmation, par exemple [[http://www.lancos.com/prog.html|ponyprog]], et faites une sauvegarde de la flash,de l'eeprom et des fuse bits. {{:projets:charon_2:ponyprog.jpg|:projets:charon_2:ponyprog.jpg}} ==== 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 {{:projets:charon_2:ie2_charon2.jpg|:projets:charon_2:ie2_charon2.jpg}} Félicitation ;-) ====== Annexes ====== ===== Schémas annexes ===== ==== Schéma du module Charon 2 ==== {{:projets:charon_2:schema2.jpg?900|:projets:charon_2:schema2.jpg}} SV3 est inversé par rapport à l'implantation réelle du module ===== Librairie pour Eagle ===== [[http://www.hw-group.com/|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, [[http://www.hw-group.com/|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 [[http://www.hw-group.com/download/supp/Charon_Eagle_Lib.zip|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 [[http://www.hw-group.com/download/supp/Charon_Eagle_Lib.zip|Charon_Eagle_Lib.zip]]. File -> Script ... Sélectionnez le fichier Charon_modules.scr -> Ouvrir Votre librairie est créée :\\ {{:projets:charon_2:charon_librairie_eagle1.jpg|:projets:charon_2:charon_librairie_eagle1.jpg}} - Enregistrez votre librairie : File -> Save AS ... Dans le répertoire lbr d'Eagle : Nom du fichier : Charon2.lbr -> Enregistrer - Activez la librairie : Dans le Control Panel -> Librairies -> Charon2.lbr Cliquez sur la "LED" blanche à droite de Charon2.lbr pour qu'elle devienne verte. \\ {{:projets:charon_2:charon_librairie_eagle2.gif|:projets:charon_2:charon_librairie_eagle2.gif}} Votre librairie est maintenant fonctionnelle. ===== Liens à voir ===== [[http://cyberstroumpf.free.fr/electronique/montage/serveur_web/introduction.php|Serveur Web avec le module Charon 2]]\\ [[http://www.hwgroup.cz/products/charon2/index_en.html|Charon 2 - Site du constructeur]]\\ [[http://www.hw-group.com/products/charon2/ch2dk_en.html|Carte de development - Site du constructeur]]\\ [[http://www.ethernut.de/|Ethernut]] Projet complet : Carte + OS avec pile TCP/IP compatible avec le Charon 2\\ [[http://www.hw-group.com/download/Charon2_en.pdf|Datasheet Charon 2]]\\ [[http://www.hw-group.com/download/Charon2_db_scheme.pdf|Schéma de la carte de développement]] [[ftp://202.65.194.18/cn/nic/rtl8029as/spec-8029as.zip|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|:projets:charon_2:ube_rd1-1d5b1a1a.pdf}}\\ Celui visible sur le site lextronic et le site HWgroup : {{:projets:charon_2:lf1s022.pdf|: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 : {{ :projets:charon_2:carte_reseau_charon2.jpg?400 |:projets:charon_2:carte_reseau_charon2.jpg}} 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. :-o \\ >> 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 ! 8-O\\ >>> >>> 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 [[:projets:Dongle AVR 2: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 [[http://www.hw-group.com/download/Charon2_db_scheme.pdf|la carte de développement de HWgroup]] pour pouvoir utiliser MOSI/MISO et RxD0/TxD0