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

Documents pareils