| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| fr:examples:can:wiper:intro [2010/03/11 06:21] – sdeniaud | fr:examples:can:wiper:intro [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| Remarque : Dans l'application "Commande d'essuie-glace", réf : CAN01B, on n'utilise pas de module 4 sorties de puissance TOR. | Remarque : Dans l'application "Commande d'essuie-glace", réf : CAN01B, on n'utilise pas de module 4 sorties de puissance TOR. |
| |
| * Dans sa version "VMD" (Véhicule Multiplexé Didactique) les organes reliés aux modules d'interface CAN peuvent être un commodo lumières, un bloc optique avant, un bloc optique arrière, un commodo essuie-glace un moteur d'essuie-glace ou de lève-vitre, plafonnier, etc. | * Dans sa version VMD (Véhicule Multiplexé Didactique), les organes reliés aux modules d'interface CAN peuvent être un commodo lumières, un bloc optique avant, un bloc optique arrière, un commodo essuie-glace un moteur d'essuie-glace ou de lève-vitre, plafonnier, etc. |
| |
| * L'unité centrale programmable comprend un certain nombre de cartes électroniques reliées entre elle par BUS parallèles : | * L'unité centrale programmable comprend un certain nombre de cartes électroniques reliées entre elle par BUS parallèles : |
| * cartes indispensables | * cartes indispensables |
| * [[fr:hardware:wiper:cpu-eid210|carte processeur EID210]] conçue autour du microprocesseur 32 bits Motorola 68332 (carte spécifique Didalab) | * [[fr:hardware:wiper:cpu-eid210|carte processeur EID210]] conçue autour du microprocesseur 32 bits Motorola 68332 (carte spécifique Didalab) |
| * [[fr:hardware:wiper:aton-pc104|carte industrielle d'interface parallèle / CAN]] conçue autour du contrôleur CAN "SJA1000", au format normalisé "PC104" (carte commercialisée par la société Aton Systèmes), | * [[fr:hardware:wiper:aton-pc104|carte industrielle d'interface parallèle / CAN]] conçue autour du contrôleur CAN SJA1000, au format normalisé PC104 (carte commercialisée par la société Aton Systèmes), |
| * cartes optionnelles (non utilisée dans l'application Essuie-Glace, Réf : CAN01B | * cartes optionnelles (non utilisée dans l'application Essuie-Glace, Réf : CAN01B |
| * carte clavier 16 touches matricées et afficheur graphique (carte spécifique Didalab) | * carte clavier 16 touches matricées et afficheur graphique (carte spécifique Didalab) |
| * carte d'interface réseau "Ethernet" (carte spécifique Didalab) | * carte d'interface réseau Ethernet (carte spécifique Didalab) |
| * toute carte au format PC1014 | * toute carte au format PC1014 |
| |
| * ''CPU_Reg.h'' définissant les adresses d'accès aux différents registres internes au micro-contrôleur 68332 (processeur autour duquel est conçue la carte processeur EID210) | * ''CPU_Reg.h'' définissant les adresses d'accès aux différents registres internes au micro-contrôleur 68332 (processeur autour duquel est conçue la carte processeur EID210) |
| * ''EID210_Reg.h'' définissant les adresses d'accès aux différents éléments matériels implantés sur la carte processeur EID210 | * ''EID210_Reg.h'' définissant les adresses d'accès aux différents éléments matériels implantés sur la carte processeur EID210 |
| * ''[[fr:examples:can:wiper:annex3|Aton_CAN.h]]'' définissant les adresses d'accès aux différents registres du contrôleur CAN SJA1000 implanté sur la carte industrielle "CAN-PC104" fournie par la société "Aton Systèmes" | * ''[[fr:examples:can:wiper:annex3|Aton_CAN.h]]'' définissant les adresses d'accès aux différents registres du contrôleur CAN SJA1000 implanté sur la carte industrielle CAN-PC104 fournie par la société Aton Systèmes |
| * ''Structures_Donnees.h'' définissant l'ensemble des structures de données utiles à une programmation structurée | * ''Structures_Donnees.h'' définissant l'ensemble des structures de données utiles à une programmation structurée |
| * ''[[fr:examples:can:wiper:annex2|CAN_VMD.h]]'' définissant les éléments de l'application VMD | * ''[[fr:examples:can:wiper:annex2|CAN_VMD.h]]'' définissant les éléments de l'application VMD |
| |
| {{:fr:examples:can:wiper:warning_1.png?600|}} | **Attention : Veiller à ce que tous ces fichiers soient présents, soit dans le répertoire de travail, soit dans le répertoire "include" lui-même situé sous le répertoire contenant l'environnement de développement intégré ("Cross compilateur") EID210100.** |
| |
| ==== Les structures de données spécifiques à l'application CAN ==== | ==== Les structures de données spécifiques à l'application CAN ==== |
| |
| **Définition des unions et structures particulières (Voir dans fichier ''[[fr:examples:can:wiper:annex2|CAN_VMD.h]]'')** | **Définition des unions et structures particulières (Voir dans fichier ''[[fr:examples:can:wiper:annex2|CAN_VMD.h]]'')** |
| | |
| |
| Les structures définies ci-après ont été définies en conformités aux différents registres du SJA1000 (se référer à la notice technique du SJA1000, pages 39, 40 et 41). | Les structures définies ci-après ont été définies en conformités aux différents registres du SJA1000 (se référer à la notice technique du SJA1000, pages 39, 40 et 41). |
| | |
| * Définition d'une variable structurée sous le modèle ''Trame'' : | * Définition d'une variable structurée sous le modèle ''Trame'' : |
| ''Trame T_IM_Commodo_EG;'' //IM -> Input Message// | <code c> |
| | Trame T_IM_Commodo_EG; //IM -> Input Message |
| Trame destinée au module 8 entrées sur lequel est connecté le commodo Essuie-Glace | //Trame destinée au module 8 entrées sur lequel est connecté le commodo Essuie-Glace |
| | </code> |
| |
| Remarque : La variable structurée ''T_IM_ Commodo_EG'' comportera 8 octets (1 pour ''trame_info'', 4 pour l’identificateur, 1 pour l’adresse registre, 1 pour le masque et 1 pour la valeur). | Remarque : La variable structurée ''T_IM_ Commodo_EG'' comportera 8 octets (1 pour ''trame_info'', 4 pour l’identificateur, 1 pour l’adresse registre, 1 pour le masque et 1 pour la valeur). |
| ===== Les fonctions spécifiques ===== | ===== Les fonctions spécifiques ===== |
| |
| Des fonctions spécifiques à l'accès au réseau CAN via la carte CAN-PC104 de chez "Aton Systèmes". | Des fonctions spécifiques à l'accès au réseau CAN via la carte CAN-PC104 de chez Aton Systèmes. |
| Les prototypes de ces fonctions sont définis dans le fichier ''[[annex3|Aton_CAN.h]]'' et leurs définitions elle-mêmes dans le fichier ''Aton_CAN.C'' | Les prototypes de ces fonctions sont définis dans le fichier ''[[annex3|Aton_CAN.h]]'' et leurs définitions elle-mêmes dans le fichier ''Aton_CAN.C'' |
| S'il ne l'est déjà, ce fichier doit être compilé et son résultat de compilation ''Aton_CAN.o'' doit être inclus en tant que fichier à Linker avec le fichier application. | S'il ne l'est déjà, ce fichier doit être compilé et son résultat de compilation ''Aton_CAN.o'' doit être inclus en tant que fichier à Linker avec le fichier application. |
| |
| {{:fr:examples:can:wiper:warning_2.png?600|}} | **Attention : |
| | |
| | Veiller à ce que le fichier ''Aton_CAN.o'' soit présent dans le répertoire "lib" lui-même situé sous le répertoire contenant l'éditeur-assembleur EID210100. |
| | |
| | Veiller également à ce que ce fichier ''Aton_CAN.o'' soit inclus au "linker". |
| | |
| | Pour ce faire : |
| | |
| | Dans logiciel EID210, sélectionner "Configuration" puis "GNU C/C++" puis "Linker" puis "Ajouter" puis retrouver et sélectionner le fichier ''Aton_CAN.o'' qui viendra s'ajouter aux fichiers déjà présents c'est à dire ''CTR0.o'' et ''EID210.o''** |
| |
| * Fonction **''Init_Aton_CAN()''** | * Fonction **''Init_Aton_CAN()''** |
| * A la mise sous tension un CAN Expander MCP25050 signale sa présence par l'envoi automatique (sans interrogation) d'une trame de type ''OB'' (On Bus Massage). | * A la mise sous tension un CAN Expander MCP25050 signale sa présence par l'envoi automatique (sans interrogation) d'une trame de type ''OB'' (On Bus Massage). |
| * Il est possible de configurer un CAN Expander MCP25050 pour qu'il envoie automatiquement une trame | * Il est possible de configurer un CAN Expander MCP25050 pour qu'il envoie automatiquement une trame |
| * lorsqu'une de ses entrées subi un changement d'état prédéfini (Pages 23 et 26 {{:fr:hardware:didalab:mcp2502x_5x.pdf|doc. technique}} MCP25050) | * lorsqu'une de ses entrées subi un changement d'état prédéfini (pages 23 et 26 {{:fr:hardware:didalab:mcp2502x_5x.pdf|doc. technique}} MCP25050) |
| * lorsqu'une entrée analogique prédéfinie croise un seuil de tension ''Threshold detection'' (pages 23 et 35 {{:fr:hardware:didalab:mcp2502x_5x.pdf|doc. technique}} MCP25050) | * lorsqu'une entrée analogique prédéfinie croise un seuil de tension ''Threshold detection'' (pages 23 et 35 {{:fr:hardware:didalab:mcp2502x_5x.pdf|doc. technique}} MCP25050) |
| * à intervalle de temps régulier ''Scheduled transmissions'' (page 24 {{:fr:hardware:didalab:mcp2502x_5x.pdf|doc. technique}} MCP25050) | * à intervalle de temps régulier ''Scheduled transmissions'' (page 24 {{:fr:hardware:didalab:mcp2502x_5x.pdf|doc. technique}} MCP25050) |