Dossier technique Juke box.doc Page 1 sur 21 16/11/2003
Transcription
Dossier technique Juke box.doc Page 1 sur 21 16/11/2003
Std disclaimer : « la présente version de ce document est fournie telle quelle sans aucune garantie d’aucune sorte. Je présente ici la synthèse de mes travaux. Les documents ne sont pas exhaustifs et ne prétendent pas servir de référence. Néanmoins, s’il y a des erreurs ou omissions, elles sont involontaires. Sentez vous libre de me faire toutes remarques ou suggestions : [email protected]» Dossier technique Juke box.doc Dos Reis F. Page 1 sur 21 16/11/2003 Sommaire 1 Présentation ___________________________________________________________ 4 2 Circuit électrique – Alimentations __________________________________________ 5 2.1 Schémas__________________________________________________________________5 2.2 Remarque ________________________________________________________________5 3 Affectations des Entrées / Sorties___________________________________________ 6 4 Les moteurs pas à pas ____________________________________________________ 7 4.1 Carte de puissance des moteurs ______________________________________________7 4.2 Technologie du moteur unipolaire ____________________________________________8 4.3 Technologie du moteur bipolaire _____________________________________________8 4.4 Commande de la vitesse des moteurs __________________________________________9 5 Mémoire I2C __________________________________________________________ 10 5.1 Protocole de communication ________________________________________________10 5.2 Circuit __________________________________________________________________11 6 Capteurs _____________________________________________________________ 12 7 Clavier _______________________________________________________________ 13 7.1 Circuit __________________________________________________________________13 7.2 programmation___________________________________________________________13 8 Interface CDROM _____________________________________________________ 14 8.1 Présentation _____________________________________________________________14 8.2 Signaux de l’interface IDE (ATA) ___________________________________________14 8.3 Interface logicielle ATA ____________________________________________________15 8.3.1 8.3.2 8.3.3 8.3.4 8.4 15 15 15 15 Interface logicielle ATAPI __________________________________________________16 8.4.1 8.4.2 8.4.3 9 Liste des registres ATA________________________________________________________ Ecriture d’un registre ATA _____________________________________________________ Lecture d’un registre ATA _____________________________________________________ Attente Busy ________________________________________________________________ Ecriture d’une commande ATAPI________________________________________________ 16 Procédure d’initialisation du CD audio ____________________________________________ 16 Commandes ATAPI utilisées ___________________________________________________ 16 Electro-aimant ________________________________________________________ 18 9.1 Commande de l’electro-aimant______________________________________________18 9.2 Choix de l’electro-aimant __________________________________________________18 10 Afficheur LCD_______________________________________________________ 19 10.1 Choix de l’afficheur _____________________________________________________19 10.2 Interface LCD __________________________________________________________19 10.2.1 10.3 11 Signaux ____________________________________________________________________ 19 Logiciel de commande ___________________________________________________19 Carte de commande ___________________________________________________ 20 Dossier technique Juke box.doc Dos Reis F. Page 2 sur 21 16/11/2003 11.1 Choix du microcontrôleur ________________________________________________20 11.2 Circuit de la carte de commande___________________________________________20 12 Documentation ______________________________________________________ 21 12.1 12.1.1 12.1.2 12.1.3 12.1.4 12.1.5 12.1.6 12.2 12.2.1 12.2.2 12.2.3 12.2.4 12.2.5 Références bibliographiques ______________________________________________21 Commande de moteurs pas à pas ________________________________________________ composants microchip (mémoires et microcontrôleurs) _______________________________ Interface CDROM____________________________________________________________ Multiplexage ________________________________________________________________ bus I2c _____________________________________________________________________ Electro-aimant _______________________________________________________________ 21 21 21 21 21 21 Html (liens ou fichiers valides au 22.10.2003) ________________________________21 Commande de moteurs pas à pas ________________________________________________ Utilisation des microcontrôleurs PIC de Microchip __________________________________ Interface CDROM____________________________________________________________ Basic compilé basicPICPRO____________________________________________________ Interface LCD _______________________________________________________________ Dossier technique Juke box.doc Dos Reis F. Page 3 sur 21 21 21 21 21 21 16/11/2003 1 Présentation Le système a pour but de jouer un CD audio choisi par l’utilisateur parmi une liste de CD stocké dans une tour. Il se compose d’un CD-ROM, d’une tour CD, d’un bras manipulateur, d’une carte de commande et d’une carte de puissance. Le système sans le capot : La partie opérative (sous 24V) se compose de trois actionneurs : - 1 moteur pas à pas unipolaire (5 fils) pour la translation horizontale 1 moteur pas à pas bipolaire (4 fils) pour la translation horizontale 1 électro-aimant pour la pince porte-cd la partie commande est à base de PIC16F877. Le bus de liaison CDROM a été multiplexé. L’interface utilisateur est réalisée par un afficheur LCD 2 lignes x16 caractères et un clavier de 16 touches. Les deux capteurs d’origine axe horizontal et verticale, sont des fourches optiques. L’axe vertical a été réalisé sur la base d’un chassis de Lexmark 1100. La programmation du PIC a été réalisé en basic compilé. Dossier technique Juke box.doc Dos Reis F. Page 4 sur 21 16/11/2003 2 Circuit électrique – Alimentations 2.1 Schémas 2.2 Remarque Le choix des alimentations a été dicté par la simplicité. Il a suffit de réutiliser les alimentations d’origines : celle d’un pc pour fournir le 5V et le 12V, et celle de l’imprimante pour alimenter la partie opérative en 24V. Dossier technique Juke box.doc Dos Reis F. Page 5 sur 21 16/11/2003 3 Affectations des Entrées / Sorties Le nombre d’entrées / sorties requis pour l’application est très important. Il dépasse le nombre de broches d’entrées / sortie du microcontrôleur utilisé. On a donc eu recourt à un multiplexage grâce à des circuits driver de lignes 74LS244 [13]. La ligne de contrôle est la ligne PIC C5 : Etat haut Æ accès IDE, état bas Æ accès périphériques. Les lignes de données LCD et les lignes de donnés CDROM sont en haute impédance lorsque le périphérique n’est pas sélectionné. Cela évite l’utilisation de driver de bus supplémentaires. Broche PIC A0 A1 A2 A3 A4 A5 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 Mode accès IDE IDE_DA0 IDE_DA1 IDE_DA2 /IDE_CS1 /IDE_CS0 NU IDE_DAT0 … IDE_DAT7 LCD_E IDE_DAT15 LCD_RS I2C_SCL I2C_SDA CTRL_IDE RS232_RXD RS232_TXD IDE_DAT8 … IDE_DAT15 /IDE_DIOR /IDE_DIOW IDE_DAT14 Entrées / Sorties S S S S S ES ES ES ES ES ES ES ES S ES S ES ES ES ES ES ES ES ES S S ES Mode accès périphériques M1_PH1 M1_I11 E_AIMANT M1_PH2 M1_I12 NU COL1 COL2 COL3 COL4 POWER_PRESENT BUTEE_X BUTEE_Z NU Entrées / Sorties S S S S S LCD_DATA7 ou LI4 S CTRL_IDE S LCD_DATA4 ou LI1 LCD_DATA5 ou LI2 LCD_DATA6 ou LI3 LCD_DATA7 ou LI4 S S S S LCD_DATA6 ou LI3 S E E E E E E E NU : Non Utilisé (Note : pour un problème technique on a du réaffecter les broches IDE_DAT14 et IDE_DAT15) Dossier technique Juke box.doc Dos Reis F. Page 6 sur 21 16/11/2003 4 Les moteurs pas à pas On a choisi deux moteurs pas à pas permettant un positionnement précis. Les deux moteurs pas à pas qui équipent le Juke-box sont : - moteur unipolaire « 5 fils » Mitsumi M35 SP-9T pour l’axe X (Moteur 2) [3] - moteur bipolaire « 4 fils » Mitsumi M42 SP-7 pour l’axe Z (Moteur 1) [4] Ces deux moteurs fournissent 48 pas par tour (pas de 7°5), ils sont montés sur des roue dentées de diamètre primitif ~ 8 mm. Donc les pas sont d’environ 0.5 mm pour chacun des axes. (ces deux moteurs équipent à l’origine une imprimante Lexmark 1100) 4.1 Carte de puissance des moteurs La commande se fait au travers de deux circuits : - Un réseau de 4 transistors en montage Darlington STA471A [2] pour le moteur unipolaire - Un circuit spécialisé de commande Sanyo LB1845 (commande en PWM avec micro-pas). Malheureusement le montage mécanique du moteur fait qu’il fonctionne dans une plage de couple élevée ne permettant pas d’utiliser convenablement les micro-pas. On est réduit à n’utiliser que les pas entiers. Dossier technique Juke box.doc Dos Reis F. Page 7 sur 21 16/11/2003 4.2 Technologie du moteur unipolaire Le moteur unipolaire se présente comme une série de quatre enroulements. Chaque enroulement est toujours alimenté sous la même polarité. L’extrémité de chaque enroulement est relié au + 24V. On a choisi de faire la commande par pas entiers, deux phases étant alimentées à la fois. Cette manière de faire permet d’augmenter le couple moteur par rapport à l’alimentation simple d’une seule phase. [H1] [H2] [H3] [5] osition T1 T2 T3 T4 1 1 0 1 0 2 0 1 1 0 3 0 1 0 1 4 1 0 0 1 4.3 Technologie du moteur bipolaire Le moteur bipolaire se présente comme une série de deux fois deux enroulements. D’un point de vue électronique, c’est l’équivalent de deux enroulements simples. Donc seulement quatre fils sortent de celuici. Néanmoins cela exige une électronique plus complexe pour la commande puisque l’on doit inverser le sens de circulation du courant dans les enroulements de manière à inverser la polarité. [5] Dossier technique Juke box.doc Dos Reis F. Page 8 sur 21 16/11/2003 On utilise le circuit spécialisé LB1845 de commande suivant le circuit d’application suggéré par Sanyo. La commande se fait en utilisant le code suivant (voir [2] ) N° 0 1 2 3 4.4 Phase A PH1 I11 0 0 * 1 1 0 * 1 I01 0 1 0 1 Valeur du courant 1 0 1 0 Phase B PH2 I12 * 1 0 0 * 1 1 0 I02 1 0 1 0 Valeur du courant 0 1 0 1 Commande de la vitesse des moteurs La variation de vitesse se fait en modifiant la pause entre deux pas. D’après la documentation des moteurs [3] [4], pour disposer d’un couple moyen il ne faut pas dépasser 400 pps (pulse per second). Ce qui conduit à une pause maxi de 2,5 ms. Néanmoins dans les essais réels, en dessous de 4 ms, on perd facilement des pas. Nous avons donc choisi dans un premier temps de nous limiter à 6 ms. On pourra dans l’avenir optimiser le programme pour démarrer à faible vitesse et augmenter ensuite dès la mise en mouvement de l’axe suivant une accélération constante de manière à respecter l’augmentation du couple de démarrage. Dossier technique Juke box.doc Dos Reis F. Page 9 sur 21 16/11/2003 5 Mémoire I2C On va stocker de manière permanente certaines données comme par exemple les messages du système dans une mémoire eeprom. On va utiliser les possibilités du PIC de gestion de bus I2C . (Voir [11], [7] et [H5] pour des informations sur le bus I2C) La mémoire choisie est une mémoire de 8k x 8bits à bus I2C: 24C65 Microchip. 5.1 Protocole de communication D’après la documentation Microchip [6] les protocoles utilisés sont les suivants : Dossier technique Juke box.doc Dos Reis F. Page 10 sur 21 16/11/2003 le code de contrôle est donné par la documentation : 1010000x avec le dernier bit à 1 ou 0 suivant que l’on veuille lire ou écrire la mémoire. Dans notre cas comme nous n’utilisons qu’une seule mémoire, donc l’adresse A0,A1,A2=0,0,0. Il suffit de mettre les entrées correspondantes du composant à zéro volt. Il faut respecter d’après la documentation un délai de 2 ms entre chaque écriture. Après des tests infructueux à 2 ms on a choisi un délai de 3 ms. 5.2 Circuit La liaison avec le PIC se fait au travers des broches SCL et SDA (liaison type série). La seule contrainte est de placer des résistances de rappel à 5 V (pull up) de 4 à 10kOhms. C’est grâce à ces résistances que l’on peut sur la même ligne de données SDA faire transiter des informations provenant de plusieurs sources. Le pic se comporte comme le maître (MASTER) et les périphériques comme esclaves (SLAVE). C’est donc le PIC qui va gérer l’horloge. Dossier technique Juke box.doc Dos Reis F. Page 11 sur 21 16/11/2003 6 Capteurs Fourche optique On a utilisé des fourches optiques pour réaliser les deux capteurs de fin de courses. Le circuit de câblage de ces fourches est le suivant : Concrètement les fourches se présentent comme des composants à 4 fils de sortie avec des symboles pour repérer l’émetteur et le récepteur. La sortie est directement en niveau TTL. Dossier technique Juke box.doc Dos Reis F. Page 12 sur 21 16/11/2003 7 Clavier 7.1 Circuit Le clavier est un clavier matriciel de 4 x 4 touches. Le circuit autour du clavier est le suivant : 7.2 programmation Lors de la lecture du clavier, il faut mettre de manière successive un niveau logique bas sur les lignes d’entrée. Puis on scrute les lignes de sorties (colonnes), une touche appuyée se traduira par un niveau logique bas en sortie. Le connecteur sur le clavier utilisé : Colonne 1 Ligne 4 Colonne 2 Ligne 3 Colonne 3 Colonne 4 Ligne 2 Ligne 1 Dossier technique Juke box.doc Dos Reis F. Page 13 sur 21 16/11/2003 8 Interface CDROM 8.1 Présentation L’interface avec un lecteur CDROM pour une lecture de CD Audio doit se faire à trois niveaux : - interface électrique (connecteur IDE) [8] [10] - interface logicielle au protocole ATA (AT Attachement) [10] - interface logicielle au protocole ATAPI [12] (AT Attachement with Packet Interface Extension) [8] Ceci pour la lecture audio uniquement. Si l’on voulait s’intéresser au traitement des données inscrites sur un CDROM de manière générale, il faudrait également décrypter le format de stockage de ces données sur le CDROM. [9] 8.2 Signaux de l’interface IDE (ATA) Les signaux de l’interface IDE (synonyme ATA) sont rassemblés sur un connecteur à 40 broches (2x20) Signal N° N° Signal /RESET 1 2 Ground DD7 3 4 DD8 DD6 5 6 DD9 DD5 7 8 DD10 DD4 9 10 DD11 DD3 11 12 DD12 DD2 13 14 DD13 DD1 15 16 DD14 DD0 17 18 DD15 Ground 19 20 Keypin DMARQ 21 22 Ground /DIOW 23 24 Ground /DIOR 25 26 Ground IORDY 27 28 CSEL /DMAQ 29 30 Ground INTRQ 31 32 Reserved DA1 33 34 /PDIAG DA0 35 36 DA2 /CS0 37 38 /CS1 /DASP 39 40 Ground Un périphérique ATAPI s’initialise à la mise sous tension, on peut donc se dispenser de piloter l’entrée 1 qui fait un RESET du périphérique. On le connecte à une résistance de rappel à 5V. Le signal CSEL sert à sélectionner si le périphérique est le maître ou l’esclave sur la nappe. On configure le périphérique en MASTER et on met CSEL à la masse. Il suffit donc pour une interface minimale d’un lecteur de CDROM en mode PIO (pas d’utilisation de DMA, d’interruptions…) des signaux suivants : - le bus de données de 16 bits - les signaux /DIOW et /DIOR, actifs à l’état bas. Ils déterminent le sens des échanges entre le CDROM et le microcontroleur (/DIOW pour l’écriture et /DIOR pour la lecture). Maintenus à l’état haut, ils mettent le bus de données en haute impédance. Cela évite l’utilisation de driver de bus supplémentaires. - Les signaux DA2, DA1, DA0, /CS1 et /CS0 qui servent à adresser les registres internes au leceteur de CDROM Il faut donc au minimum : une nappe de 23 fils. Le microcontroleur va utiliser également 23 ports pour cette interface dont 16 configurables en entrées / sorties et 7 en sortie uniquement. Dossier technique Juke box.doc Dos Reis F. Page 14 sur 21 16/11/2003 8.3 8.3.1 /CS1 1 1 1 1 0 1 1 1 1 1 1 0 8.3.2 Interface logicielle ATA Liste des registres ATA Le pilotage de l’interface se fait au travers d’une série de registres adressable par les signaux /CS0, /CS1, DA2, DA1 et DA0 /CS0 0 0 0 0 1 0 0 0 0 0 0 1 DA2 1 1 1 0 1 1 0 0 0 0 1 1 DA1 1 0 0 0 1 1 0 0 1 1 1 1 DA0 1 1 0 0 0 0 1 1 0 1 1 0 Registre Command register (write only) Cylinder high register Cylinder low register Data register Device contrôle Device / Head register Error register (read only) Features register (write only) Sector count register Sector number Status (read only) Alternate status Ecriture d’un registre ATA Pour écrire un registre ATA, il faut : 1. Mettre la donnée à écrire sur le bus donnée (bus 8 bit dans le cas ATA donc de 0 à 7). 2. Adresser le registre par DA2, DA1 et DA0 3. Mettre le bus de donnée en écriture par /DIOW=0 4. Sélectionner le registre par /CS0=0 (ou /CS1=0) 5. attendre 400 ns (2 nop avec un pic à 20 Mhz) 6. Désélectionner le registre 7. Mettre le bus en haute impédance par /DIOW=1 8. Attendre busy On peut également choisir de placer l’attente busy avant le début de l’exécution de l’instruction suivante, ce qui ne pénalisera par le microcontroleur obligé d’attendre que le lecteur de CDROM ait fini d’exécuter la commande avant de passer à la suite. 8.3.3 8.3.4 Lecture d’un registre ATA La procédure est presque identique à l’écriture : 1. Adresser le registre par DA2, DA1 et DA0 2. Mettre le bus de donnée en lecture par /DIOR=0 3. Sélectionner le registre par /CS0=0 (ou /CS1=0) 4. attendre 400 ns (2 nop avec un pic à 20 Mhz) 5. lire la donnée sur le bus (bit 0 à 7) 6. Déselectionner le registre 7. Mettre le bus en haute impédance par /DIOR=1 Attente Busy Le registre Status (registre 7 en lecture) contient deux bits utiles : - bit 7 : Bsy (Busy) - bit 3 : Drq (Data request) Dossier technique Juke box.doc Dos Reis F. Page 15 sur 21 16/11/2003 Le CDRom maintient à 1 le bit 7 tant qu’il ne peut exécuter de nouvelle commande. Il met à 1 le bit Drq s’il attend des données supplémentaires (cas des transferts ATAPI). Il est nécessaire avant d’exécuter une nouvelle commande d’attendre que le CDROM ne soit plus occupé (Busy). Pour cela, il suffit de lire en boucle le bit 7 du registre Status jusqu’à ce qu’il soit à 0. 8.4 Interface logicielle ATAPI Une commande ATAPI se présente comme un flot de 12 mots 8 bits successifs. Ce flot est envoyé sur le bus de données de 16 bits deux à deux. Il est enregistré dans un tableau de données T[0] … T[11] 8.4.1 Ecriture d’une commande ATAPI 1. Attente Busy 2. Ecriture dans les registres 1 puis 4 et 5 des données 2, 2, 2 (Inhibition DMA, Overlap, transfert de 514 octets maxi) 3. Ecriture dans le registre 7 de 0xA0. Cette fois-ci le lecteur CDROM doit positionner à 1 le bit Drq de Status car il attend le flot de données ATAPI Les données sont ensuite écrites deux à deux. 4. On positionne l’adressage /CS1, /CS0, DA2, DA1, DA0 sur 1,0,0,0,0 (Data register). 5. On écrit sur le bus de données les deux valeurs 8 bits, DD0…DD7ÆT[0], DD8…DD15ÆT[1]. 6. On valide les données en basculant à 0 la ligne /DIOW durant 400ns 7. On reprend 5 autres fois les points 5 et 6 jusqu’à avoir écrit les 12 données Dans le cas ou il s’agit d’une commande qui doit être exécutée mais sans retour d’information par le lecteur de CDROM, le bit Bsy est à 1 le temps du décodage de l’instruction mais Drq reste à zéro. Dans le cas ou le lecteur de CDROM doit renvoyer des informations, Drq passera à 1. 8.4.2 Procédure d’initialisation du CD audio La procédure utilisée pour l’initialisation du lecteur de CDROM et rendre possible la lecture d’un audio est la suivante : 1. Attente busy 2. écriture dans le registre 7 (command register) de la valeur 8. Cela provoque l’initialisation du périphérique. 3. attente busy 4. lecture des registres 2,3,4,5,6 qui doivent contenir la ‘signature’ d’un périphérique ATAPI Si le périphérique est un périphérique ATAPI la lecture doit renvoyer les codes suivants : 1,1,20,235 et finalement 0 ou 16. Si le périphérique n’est pas un périphérique ATAPI les codes renvoyés sont : 1,1,0,0,0. De plus le registre 1 (error register) contient le code de diagnostique initial. 5. 8.4.3 Envoie de la commande ATAPI Start Unit. Cette commande provoquera l’ouverture du dialogue vers le CDROM. Commandes ATAPI utilisées 8.4.3.1 READ TOC - commande 0x43 Cette commande provoque la lecture du TOC (Table Of Content) du CD audio. Avec cette commande on peut récupérer les données suivantes : - nombre de plages audio - début de chaque plage - longueur de la plage Il existe deux format de récupération des données : LBA ou MSF…. Dossier technique Juke box.doc Dos Reis F. Page 16 sur 21 16/11/2003 8.4.3.2 PLAY AUDIO – commande 0x45 Cette commande lance la lecture d’une ou plusieurs plages suivant les valeurs de données de début de plage et de longueurs. (Voir le détail de la commande dans le manuel de référence de l’interface [12] voir aussi [H6]) 8.4.3.3 START / STOP UNIT – commande 0x1B Comme son nom l’indique cette commande peut lancer, stopper la lecture du disque en cours ou bien l’éjecter. Commande complète : 0x1B,0,0,0,0,0,0,0,0,0,0,0 stop unit. Arrête toute lecture en cours Commande complète : 0x1B,0,0,0,2,0,0,0,0,0,0,0 éjecte le disque Commande complète : 0x1B,0,0,0,3,0,0,0,0,0,0,0 charge le disque Commande complète : 0x1B,0,0,0,1,0,0,0,0,0,0,0 CDROM start unit. A executer avant tout dialogue vers le Dossier technique Juke box.doc Dos Reis F. Page 17 sur 21 16/11/2003 9 Electro-aimant 9.1 Commande de l’electro-aimant La commande de l’électro-aimant se fait au travers d’un transistor de puissance : BD679 [14]. Le circuit utilisé : 9.2 Choix de l’electro-aimant Le choix s’est porté sur un electro-aimant du fabricant RS (fournisseur FARNELL) [15]. Les caractéristiques sont : La course utilisée fait environ 4-5 mm. Si on considère une utilisation intermittente le poids que pourrait soulever l’electro-aimant est de 50 grammes environ, ce qui dépasse la dizaine de grammes que constitue le CD ROM. Dossier technique Juke box.doc Dos Reis F. Page 18 sur 21 16/11/2003 10 Afficheur LCD 10.1 Choix de l’afficheur Le choix s’est porté sur un afficheur 2 lignes de 16 caractères à bus de données parallèle. 10.2 Interface LCD Voir [H10] [H11] 10.2.1 Signaux L'interface comporte 16 lignes (toutes ne sont pas utilisées) : 1 masse 2 +5V 3 références pour le contraste 4 RS (Choix donnée ou instruction) 5 R/W (Choix read ou write) 6 E (Enable - validation) 7 Data 0 (D0) 8 Data 1 (D1) 9 Data 2 (D2) 10 Data 3 (D3) 11 Data 4 (D4) 12 Data 5 (D5) 13 Data 6 (D6) 14 Data 7 (D7) 15 LED A (non utilisé, en tout cas dans la version que j'ai) 16 LED K (idem) Pour gagner quelques ports d’E/S nous n’avons câblé sur des sorties que les lignes de données 4 à 7, RS et E (6 ports d’E/S du pic). Les autres broches à câbler sont l’alimentation (masse et 5V) R/W que l’on peut maintenir à 0V (uniquement écriture), et le contraste (3) sur un potentiomètre. 10.3 Logiciel de commande Le basic compilé utilisé (basic DIGIMOK) possède des instructions pour piloter l’afficheur. Néanmoins le programmation reste simple : ¾ ¾ Pour envoyer une commande à l'afficheur, il faut mettre le bit RS à 1, le bit E à 1. Mettre sur les quatre bits de poids fort du bus de donnés, les quatre bits de poids fort de la donnée à envoyer ¾ Valider en mettant E à zéro puis à 1 avec une attente de 1ms entre les deux. ¾ Mettre sur les quatre bits de poids fort du bus de donnés, les quatre bits de poids faible de la donnée à envoyer ¾ Valider à nouveau (EÆ 0) Il faudra tenir compte d’un certain délai avant de passer une nouvelle commande (pour que l’afficheur traite la précédente) Avant de pouvoir utiliser l’afficheur il est nécessaire d’envoyer une série de commandes: - mettre RS à 0 et E à 1 - envoyer une séquence d’initialisation : D7 D6 D5 D4 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 on bascule entre chaque lignes E à 0 puis a 1 avec une pause - envoyer une suite de commandes d’initialisation. (voir la documentation) Dossier technique Juke box.doc Dos Reis F. Page 19 sur 21 16/11/2003 11 Carte de commande 11.1 Choix du microcontrôleur Le choix du microcontrôleur s’est porté sur un PIC16F877 programmé en basic compilé de DIGIMOK. La programmation se fait en reprogrammant la mémoire flash du microcontrôleur par l’interface série du PC. Les caractéristiques du microcontrôleur intéressantes pour notre application : - 33 ports d’E/S 8 K0 de mémoire flash 368 bytes de données 256 bytes EEPROM interface RS232, I2C 5 millions d’instructions par secondes (architecture RISC horloge interne à 5 MHz : 1 instruction / cycle) 3 timers 11.2 Circuit de la carte de commande Dossier technique Juke box.doc Dos Reis F. Page 20 sur 21 16/11/2003 12 Documentation 12.1 Références bibliographiques 12.1.1 Commande de moteurs pas à pas [1] LB1845.pdf (doc Sanyo) [2] Sta471a.pdf [3] stepper M35SP-9.pdf (doc Mitsumi) [4] stepper M42SP-7.pdf (doc Mitsumi) [5] Moteurs électriques pour la robotique – Pierre Mayé – Dunod 12.1.2 composants microchip (mémoires et microcontrôleurs) [6] 21058i.pdf (doc. Microchip) [7] Part2-R5.pdf (cours de Bigonoff) [16] pic16F877 datasheet.pdf 12.1.3 Interface CDROM [8] ATA4.pdf (American National Standard for Information Systems) [9] ISO9660.pdf [10] D0791r4c.pdf (American National Standard for Information Systems) [12] Norme ATAPI.pdf 12.1.4 Multiplexage [13] DM74LS244.pdf 12.1.5 bus I2c [11] I2C.pdf (Philips Semiconductors) 12.1.6 Electro-aimant [14] BD679a.pdf [15] data.pdf 12.2 Html (liens ou fichiers valides au 22.10.2003) 12.2.1 Commande de moteurs pas à pas [H1] http://pedagogie.ac-aix-marseille.fr/disciplines/sti/genelec/cours/bts.htm - (Patrick Abati – Académie Aix Marseille) [H2] http://www.cs.uiowa.edu/~jones/step/index.html - ( Douglas Jones – Université de l’IOWA) [H3] http://neil.fraser.name/hardware/stepper/ - (Neil Fraser – Digital Routes) [H4] http://d.nardi.free.fr/index.htm - (Dominique Nardy - IUT Nancy Brabois GEII) [H6] http://users.pandora.be/educypedia/electronics/motor.htm (encyclopédie technique) 12.2.2 Utilisation des microcontrôleurs PIC de Microchip [H5] http://www.abcelectronique.com/bigonoff/index.php - (Cours de Bigonoff) 12.2.3 Interface CDROM [H7] http://worldserver.oleane.com/heissler/interface/ide/interface.html [H8] Guide to ATA-ATAPI documentation.htm 12.2.4 Basic compilé basicPICPRO [H9] http://www.digimok.com 12.2.5 Interface LCD [H10] http://fribotte.free.fr Voir la base de données techniques [H11] http://www.supelec-rennes.fr Voir les pages de Jacques Weiss Dossier technique Juke box.doc Dos Reis F. Page 21 sur 21 16/11/2003