FR 200305
FR 200305
FR 200305
CaDAU XA
Pour microcontrôleurs 16 bits XA (avec interface PC/104 !)
Benoît Bouchez
Les microcontrôleurs de la série XA ont été mis sur le marché par Philips
Semiconductors à partir de 1995. Présentés à l’origine comme des
versions 16 bits des célèbres 80C32, ces microcontrôleurs sont en fait
bien plus qu’une simple évolution, car leur puissance de calcul est
beaucoup plus importante que celle de leurs cousins à 8 bits.
NdlR : L’acronyme CaDAU permet de réduire très sensiblement la longueur d’un titre tel que : Carte de Développement et d’Application Universelle.
8 Elektor 5/2003
MICROCONTRÔLEUR
Données Code gement, les XA disposent de 16 registres de
$FFFE 16 bits, numérotés R0 à R15, strictement équi-
PC/104
$F800 valents au niveau du jeu d’instructions. L’ALU
$F7FE
peut donc utiliser n’importe lequel de ces
registres pour ses calculs. Moyennant une
RAM adressable en Pris sur
Code et Données mémoires RAM réécriture du code, on économise donc de
nombreux cycles machines par rapport à un
programme prévu pour des puces 8 bits.
$8000
$7FFE Encore plus fort, les XA peuvent utiliser n’im-
porte lequel de ces registres comme pointeur
de données (la mémoire étant partitionnée
RAM adressable en Mémoires en pages de 64 Koctets), alors que les 80C3x
Données uniquement 27C128 ne disposent que du registre DPTR (ce
registre étant seul, les échanges de données
en RAM peuvent devenir un véritable casse-
$0000
tête à programmer !)
010103- 12
Nous pourrions nous étendre plus encore sur
les possibilités de ces processeurs, mais cela
Figure 1 Cartographie mémoire de la carte de développement XA. demanderait l’ensemble des pages de la
revue (et encore !). Aussi, nous ne saurions
trop vous conseiller de télécharger les deux
liorer ses performances entre temps, cuter le code binaire de leurs cousins documents suivants sur le site de Philips : la
mais le code machine reconnu par 8 bits. Philips a en effet préféré revoir fiche de caractéristiques du XA-G3 (ou du XA-
ces deux versions est le même. complètement le jeu d’instructions, C3), ainsi que le XA User’s guide, qui est LE
Très récemment, la famille XA s’est et offrir une translation 80C3x vers document de référence si vous voulez com-
encore agrandie, avec l’arrivée des XA au niveau source (il faut recompi- prendre comment le noyau XA fonctionne.
versions à Flash intégrée, appelées ler les programmes). Le résultat est Pour les chanceux qui peuvent accéder aux
XA de type 4, avec des références du que le noyau XA fonctionne beau- data-books « papier » de Philips, il faut com-
type XA-xx49 (les XA de type 3 utili- coup plus vite que celui de son aîné mander le livre « Data Handbook IC25 », dont
sent une EPROM UV ou sont ROM- 8 bits à partir du même programme le titre est « 16-bit 80C51XA Microcontrollers ».
less - sans ROM interne). source (donc sans optimisation). Il est important, pour bien comprendre com-
Justement, puisque nous parlons ment fonctionne cette carte de développe-
d’optimiser le code, il faut savoir que ment, d’en connaître la cartographie de la
Un jeu d’instructions les XA ont une architecture orientée mémoire, c’est ce qu’illustre le croquis de la
puissant « registres » : au lieu de n’avoir qu’un figure 1.
Les XA ont été longtemps présentés seul accumulateur (comme les Les données sont exprimées sur 16 bits, il n’y
comme des remplaçants des 80C32. 80C3x), impliquant d’innombrables a donc que des adresses paires. Il est possible
En fait, les XA sont incapables d’exé- opérations de sauvegarde et de char- de stocker du code exécutable en RAM à par-
Tableau 1.
Résumé des caractéristiques de quelques processeurs XA, comparées à celle d’un 80C32.
5/2003 Elektor 9
5/2003
Figure 2. Sur le schéma de cette carte on retrouve la structure classique : microcontrôleur, mémoires et le reste des périphériques.
ALE
IC13.B IC13.C +5V C20
IC16 +5V R4 +5V
C21 +5V 3 4 5 6
L7805CP 1k5 1 1
D1 47n
1N4001 +5V 20 C10 20 C11 20 C12 20 C13 47n RST
IC13 = 74HCT14 20
IC2 IC3 IC4 IC5 +U RAM RST
47n 10 47n 10 47n 10 47n
IC14 3 1
IC13.E 10 I0
R5 A15 2 19 RAMSEL
11 10 2 13 I1 IO0
1 VOUT CEI A14 3 18
1k
Elektor
Lithium 9 12
9 1D 12 PFI CEO WRH 9 12 EA/WAIT
I8 IO7
+5V C24 +5V 8 13 100n 2n2 WAIT 11
I9
7 14 4 R2
ADM691A EXT EA
47n 6 15 RESET ONLY 10
4k7
R1 A15D11 5 16 A15 RAMCE
IC15 3 C2 C1
4k7
K3 A14D10 4 17 A14
5
VREF 47n 47n A13D9 3 18 A13 C15 +5V +5V C16
6
CANL CANL 4 A12D8 2 19 A12 +5V K6
RXD 23 44
1 47n 47n GND 32A 32B GND
7 TXD 74HCT573
CANH CANH 12 33 ALE A1 SA0 31A 31B GND
8 CAN RXD ALE/PROG IC3
RS 34 1 28 27 1 28 27 A2 SA1 30A 30B OSC CLK1
CAN TXD
11 1 VPP PGM VPP PGM A3 SA2 29A 29B +5V
2 IC1 C1 EN
TP1 A1 10 10 A1
PCA82C250T 9 31 A19D15 A0 A0 A4 SA3 28A 28B ALE
P1.7/T2EX P2.7/A19D15 A2 9 9 A2
CLK2 8 30 A18D14 A1 A1 A5 SA4 27A 27B TC
P1.6/SPICLK P2.6/A18D14 A3 8 8 A3
7 29 A17D13 A11D7 9 12 A11 A2 11 D0 D8 11 A2 A6 SA5 26A 26B DACK2
P1.5/SPITX P2.5/A17D13 1D A4 7 D0 D0 7 A4
IC6 TP2 A3 A3
6 28 A16D12 A10D6 8 13 A10 IC8 12 D1 D9 12 IC9 A7 SA6 25A 25B IRQ3 IRQ3
P1.4/SPIRX P2.4/A16D12 A5 6 D1 D1 6 A5
A3 12 8 5 27 A15D11 A9D5 7 14 A9 A4 13 D2 D10 13 A4 A8 SA7 24A 24B IRQ4 IRQ4
1D1 P1.3/A3 P2.3/A15D11 A6 5 D2 D2 5 A6
A2 14 6 4 26 A14D10 A8D4 6 15 A8 A5 15 D3 D11 15 A5 A9 SA8 23A 23B IRQ5 IRQ5
P1.2/A2 P2.2/A14D10 A7 4 D3 D3
A1 16 4 3 25 A13D9 A7D3 5 16 A7 A6 EPROM 16 D4 D12 16 EPROM A6 4 A7
A10 SA9 22A 22B IRQ6 IRQ6
P1.1/A1 P2.1/A13D9 A8 3 D4 D4 3 A8
WRH 18 2 2 24 A12D8 A6D2 4 17 A6 A7 17 D5 D13 17 A7 SA10 21A 21B IRQ7 IRQ7
P1.0/WRH P2.0/A12D8 A9 25 D5 D5
RD 3 17 A5D1 3 18 A5 A8 27C128 18 D6 D14 18 27C128 A8 25 A9
S A 11 20A 20B SYSCLK CLK2
PXAC37KBA A10 24 -90 D6 D6 -90 24 A10
WRL 5 15 19 36 A11D7 A4D0 2 19 A4 A9 19 D7 D15 19 A9 SA12 19A 19B REFRSH
P3.7/RD P0.7/A11D7 A11 21 D7 D7 21 A11
7 13 18 37 A10D6 A10 A10 SA13 18A 18B DRQ1
P3.6/WRL P0.6/A10D6 74HCT573 A12 23 23 A12 +5V
9 11 17 38 A9D5 A11 A11 SA14 17A 17B DACK1
P3.5/T1 P0.5/A9D5 A13 2 2 A13
TP3 IC4 A12 A12
16 39 A8D4 SA15 16A 16B DRQ3
P3.4/T0 P0.4/A8D4 A14 26 26 A14
19 15 40 A7D3 A13 A13 SA16 15A 15B DACK3
EN2 P3.3/INT1 P0.3/A7D3 3EN1 19
1 TP4 IRQ 14 41 A6D2 1 G3 CE OE OE CE SA17 14A 14B IOR PC104RD
EN1 P3.2/INT0 P0.2/A6D2 3EN2
TXD 13 42 A5D1 20 14 22 22 14 20 SA18 13A 13B IOW PC104WR
P3.1/TXD0 P0.1/A5D1 A15 A15
74HCT244 RXD 11
P3.0/RXD0 P0.0/A4D0
43 A4D0 SA19 12A 12B SMEMR +12V GND
1
PSEN PSEN 11A 11B SMEMW
EA/WAIT 35 10 RST A19D15 9 2 11 D15 IOCHRDY 10A 10B KEY
EA/WAIT/VPP RST C17 +U RAM +U RAM C18
PSEN 32 A18D14 8 12 D14 D0 SD0 9A 9B +12V
PSEN
20 21 CLK1 A17D13 7 13 D13 D1 SD1 8A 8B ENDXFR
+5V XTAL2 XTAL1 47n 47n
A16D12 6 14 D12 D2 SD2 7A 7B -12V
28 28
JP1 A15D11 5 15 D11 D3 SD3 6A 6B DRQ2
1 22
20 C14 14 C19 A14D10 4 16 D10 A1 10 10 A1 D4 SD4 5A 5B -5V
START A0 A0
IC6 IC13 USER A13D9 3 17 D9 A2 9 9 A2 D5 SD5 4A 4B IRQ9 IRQ9
PRG A1 A1
10 47n 7 47n +5V A12D8 2 18 D8 A3 8 8 A3 D6 SD6 3A 3B +5V
A2 A2
MICROCONTRÔLEUR
11 D0 D8 11
A4 7 D0 D0 7 A4 D7 SD7 2A 2B RESET RST
74HCT245 A3 12 D1 D9 12 A3 -5V -12V
C8 BUF_DIR A5 6
IC10 D1 D1 IC11 6 A5 IO CHK 1A 1B GND
IC5 A4 13 D2 D10 13 A4
+5V A6 5 D2 D2 5 A6
A5 15 D3 D11 15 A5
3EN1 19 A7 4 D3 D3 4 A7
2 C4 C3 1 G3 A6 RAM 16 D4 D12 16 RAM A6
3EN2 A8 3 D4 D4 3 A8
K1 1 V+ 16 A7 A7 +5V
17 D5 D13 17
C6 C1+ A9 25 D5 D5 25 A9
1 47n 47n A8 18 D6 D14 18 A8
1 A10 24 62256 D6 D6 62256 24 A10
6 3 IC7 A9 -55 19 D7 D15 19 -55 A9
C1– 14 14 D7 D7 S1
A11 21 21 A11
2 14 11 TXD A11D7 9 11 D7 A10 A10
T1OUT T1IN 2
A12 23 23 A12 WAIT 9 8
7 7 10 A10D6 8 12 D6 A11 A11
T2OUT T2IN IC18 IC17 A13 2 2 A13 10 7
3 13 12 RXD CLK2 8 8 CLK1 A9D5 7 13 D5 A12 27 27 A12
R1IN R1OUT OUT OUT A14 26 WE WE 26 A14 11 6 IRQ7
8 8 9 A8D4 6 14 D4 A13 A13
R2IN R2OUT XTLOSC XTLOSC
C5 A15 1 1 A15 12 5 IRQ6
4 4 1.8432MHz 16MHz A7D3 5 15 D3 A14 A14 IC13.F
C7 C2+ 13 4 IRQ5
9 47n A6D2 4 16 D2 OE CE CE OE IRQ 12 13
MAX232 7 7 1 14 3 IRQ4
5 5 15 A5D1 3 17 D1 22 14 20 20 14 22 R6
C2– 15 2 IRQ3
RAMOE
RAMCE
RAMCE
RAMOE
4k7
V- A4D0 2 18 D0
WRH
WRL
16 1 IRQ9
6
SUB-D9 C9 74HCT245
C6 ... C9 = 1µ / 25V 010103 - 11
10
MICROCONTRÔLEUR
tir de l’adresse $8000, car cette zone ner les lignes d’adresse, d’une part broche EA indique au microcontrôleur que le
est accessible à la fois en adressage en raison du nombre important de code exécutable réside entièrement dans des
Code et en adressage Données. circuits les utilisant (sans oublier mémoires externe (EA signifiant External
l’interface PC/104), mais également Adressing). L’état de la broche EA/WAIT est
pour protéger le micro en cas de pro- lu par le XA lors de la phase de Reset. Si un
Le schéma blème sur le bus (court-circuit lors « 0 » logique y est appliqué, le processeur ira
Un coup d’oeil sur le schéma d’une expérimentation par exemple). chercher le code programme uniquement
(figure 2) montre que le qualificatif On notera que les lignes A1 à A3 ne dans une mémoire extérieure (les EPROMS
« d’outil professionnel » s’applique sont pas multiplexées sur les XA, ce IC8 et IC9 dans notre cas), même si le circuit
facilement à cette carte. Bien que le qui permet de faire de l’adressage installé est du type XA-G37 ou XA-C37 (avec
schéma soit dense, il reste malgré « Burst », diminuant le nombre de ROM interne). Bien entendu, pour les XA-C30
tout assez simple à comprendre. cycles d’horloge nécessaires. Comme et XA-G30, cette broche DOIT être mise à
Le coeur de la carte est bien évi- pour les autres lignes d’adresse, un « 0 », puisque ces versions n’ont pas de
demment un microcontrôleur XA tampon (IC6) est chargé de protéger mémoire programme interne.
(IC1), monté en configuration 16 bits le microcontrôleur. En revanche, lorsque cette broche est mise à
de donnée/20 bits d’adresse. Le Le bus de données 16 bits est tam- « 1 » (toujours au Reset), le XA va commencer
schéma est prévu pour accepter les ponné par IC4 et IC5, pour les l’exécution du programme stocké dans sa
XA-G3 et les XA-C3, sans avoir à mêmes raisons que pour le bus ROM interne. Il ne fera appel aux mémoires
modifier quoi que ce soit. d’adresses. Les signaux de com- externes que si l’adresse appelée dans le pro-
Le microcontrôleur est cadencé par mande (RD, WRH, WRL) sont quant gramme sort des limites supportées par le
un oscillateur DIP (IC17), relié à l’en- à eux tamponnés par la seconde circuit (voir la fonction Bus Disable à ce sujet
trée XTAL1. Il est possible d’utiliser moitié d’IC6. dans les documents Philips).
n’importe quelle fréquence, tant que Les habitués des 80C3x auront Le problème avec les XA est que la fonction
celle-ci reste dans les limites accep- remarqué le brochage similaire (hor- EA partage la même broche que la fonction
tées par le micro. mis le bus 16 bits) du boîtier PLCC44 WAIT. Inconnue sur les 80C3x, cette fonction
Afin de rendre le débit de communi- des XA-G3 et XA-C3 à celui de leur permet de figer le microcontrôleur lors d’un
cation sur le port série intégré indé- cousin 8 bits. Il faut cependant accès à un périphérique lent. Les 80C3x
pendant de la fréquence d’horloge savoir qu’il existe certaines diffé- n’ayant jamais été des foudres de guerre au
principale, le moniteur configure le rences, subtiles certes, mais très niveau de la vitesse des cycles de bus, le pro-
Timer 2 comme source de référence importantes. blème des périphériques lents était quasi
pour le port série, d’où la présence Première particularité : la configura- inconnu sur ces processeurs.
d’un oscillateur spécifique (IC18). Si tion dynamique des bus. Les XA À la différence de leurs cousins 8 bits, les XA
vous n’utilisez pas le moniteur (pro- sont capables de fonctionner avec un disposent d’un pipeline susceptible d’aller
gramme personnel par exemple) ou bus de données 8 bits ou 16 bits, et chercher les instructions (« opcode fetch »)
si vous n’avez simplement pas un bus d’adresses sur 12, 16, 20 ou sur un seul cycle d’horloge. À pleine vitesse,
besoin du port série, vous pourrez 24 bits. Bien évidemment, l’environ- un cycle de bus sur un XA cadencé à 30 MHz
vous passer de ce deuxième oscilla- nement du micro doit être adapté, dure à peine 33 ns (66 ns si un cycle ALE est
teur et récupérer ainsi la ligne P1.6. car la disposition des lignes de bus nécessaire). Or, très peu de périphériques
Tant que nous sommes à parler du est différente dans les deux cas. supportent des temps d’accès aussi courts.
port série, passons par IC7, qui est Notre carte étant configurée pour le Pour éviter tout problème avec des périphé-
un classique MAX232, chargé de mode 16 bits de données, le XA doit riques lents, il est possible de régler la
convertir les niveaux TTL en V24 et démarrer dans ce mode, mais com- vitesse des accès externes par les registres
réciproquement. Ce composant ment le lui faire savoir ? BTRH et BTRL (attention : sur le XA-C3, ces
ayant déjà été décrit à de nom- C’est le port P3.5 (alias T1/BUSW) registres doivent être initialisés à une valeur
breuses reprises dans la revue, nous qui est chargé de ce travail. Lors du standard. Utiliser en lieu et place les registres
n’en dirons pas plus sur lui. Reset, le XA échantillonne cette MIFBTRH et MIFBTRL), dans un facteur de
Passons maintenant au bus broche. Si elle est à « 0 », le micro compris entre 1 à 5.
d’adresses, configuré ici en 20 bits passe en mode 8 bits. Dans le cas Il peut toutefois être dommage de réduire la
(valeur par défaut au démarrage des contraire (« 1 » logique en entrée), le vitesse globale d’un système parce qu’un
XA). Vous remarquerez en examinant XA est configuré en mode 16 bits. La seul de ses périphériques est trop lent. C’est
le schéma qu’il n’existe pas de ligne broche P3.5 est donc tirée au +5V là que la fonction WAIT entre en scène. Lors-
d’adresse A0, celle-ci étant rempla- par R1 pour cette raison. Une fois le qu’un accès aux bus externes est exécuté, le
cée par la ligne WRL en configura- micro démarré, la broche T1 peut à XA surveille la broche EA/WAIT. Si la broche
tion 16 bits de données. Les nouveau être utilisée comme E/S, reste à « 0 », le cycle de bus s’exécute de
adresses sont présentées sur les mais durant la phase de Reset, il est façon normale, à la vitesse programmée dans
ports P0 et P2, multiplexées avec les CAPITAL qu’elle soit au niveau les registres BTRH et BTRL.
données. logique « 1 ». Notons que la fonction En revanche, si la broche WAIT est mise à
On retrouve donc ici deux démulti- BUSW existe aussi pour le XA-C3, « 1 » lors d’un accès extérieur, le XA va alors
plexeurs d’adresse du type mais que ce micro ne fonctionne figer son cycle de bus tant que la broche reste
74HCT573, IC2 et IC3, commandés qu’en 16 bits ! à ce niveau. On peut donc allonger indéfini-
par la ligne ALE du XA. Ces circuits Deuxième particularité : la broche ment le cycle de bus, pour l’adapter aux péri-
sont également chargés de tampon- EA/WAIT. Comme sur les 80C3x, la phériques les plus lents, et profiter des accès
5/2003 Elektor 11
MICROCONTRÔLEUR
à pleine vitesse avec des périphériques est reliée à la ligne IOCHRDY du bus Si JP1 (START USER PRG) est ins-
rapides. PC/104, destinée justement au tallé (P1.5 à la masse), le moniteur va
Ce système est d’une efficacité redoutable, contrôle des périphériques lents. se désactiver et sauter immédiate-
mais il est affecté d’un défaut. Prenons le cas Signalons au passage qu’il est impé- ment au vecteur de Reset utilisateur,
d’un XA-C37 ou XA-G37 (à EPROM interne ratif que les cartes PC/104 installées que nous avons placé à l’adresse
donc). Pour exécuter le programme interne, il sur le système maintiennent la ligne $8000 (c’est-à-dire en RAM), pour
faut que la broche EA/WAIT soit mise à « 1 » IOCHRDY à « 1 » durant les phases commencer à exécuter le programme
au Reset. Tant que le XA accédera à sa de Reset, faute de quoi le signal utilisateur en mode autonome.
mémoire interne, tout se passera bien (la EA/WAIT sera perturbé (un tel com- Bien entendu, si la carte est équipée
broche WAIT n’a pas d’influence sur les accès portement serait anormal et non avec des EPROMs qui ne contien-
internes). Mais au premier accès externe, le conforme aux spécifications PC/104, nent pas notre moniteur mais une
XA va contrôler cette broche : comme elle est mais la situation s’est déjà présen- application dédiée, le cavalier JP1
à « 1 », le micro va se mettre en extension de tée sur un de nos systèmes, autant n’a aucune utilité et le port P1.5 est
cycle indéfiniment (tant que EA/WAIT est à donc prendre les devants). Si vous alors utilisable normalement.
« 1 » en fait). Le système est alors bloqué. avez un doute sur le comportement JP2 n’est pas un cavalier, contraire-
Notre carte pouvant recevoir des XA avec d’une carte PC/104 à ce niveau, il est ment à ce que pourrait laisser croire
EPROM intégrée, il a été nécessaire d’inclure possible d’isoler le signal IOCHRDY le schéma, mais un point de
un petit circuit spécifique, construit autour par le cavalier S1-8. connexion pour un poussoir externe
d’IC13 (portes A, B et C), destiné à maintenir Puisque nous parlons des cavaliers, de Reset (EXT RESET, le LTC691
la broche EA/WAIT à « 1 » durant quelques intéressons-nous à JP1, connecté à n’étant pas muni de cette fonction-
millisecondes après un Reset, le temps que le P1.5. Il s’agit ici non pas d’une parti- nalité). Signalons en passant que la
XA échantillonne la broche. Passé ce délai, la cularité des XA, mais tout simple- fiche de caractéristique du LTC691
broche est ramenée à « 0 », pour éviter toute ment d’une astuce maison pour préconise la mise en série d’une
perturbation de la fonction WAIT. Soulignons étendre les possibilités d’utilisation résistance de 100 Ω avec le bouton
au passage que si la fonction WAIT n’est pas de la carte de développement. poussoir, non pas pour limiter le cou-
nécessaire sur un système, il est possible de Lorsque le moniteur (celui que nous rant de court-circuit, mais pour évi-
l’inhiber de façon logicielle (bit WAITD). avons écrit) XA-G3 démarre, il teste ter les oscillations. Bien que cette
Si le processeur installé est un modèle ROM- cette ligne. Si elle est à l’état haut résistance n’apparaisse pas sur le
less (ou si on veut forcer un XA-C37 ou un (rappel par une résistance de for- schéma, nous vous incitons à l’ins-
XA-G37 en adressage externe), il faut installer çage au niveau haut (pull-up) interne taller si vous décidez de monter un
le cavalier JP3 pour forcer la ligne EA à « 0 » au au XA), le moniteur prend la main et poussoir externe de Reset.
Reset. La fonction WAIT n’est cependant pas se met en mode dialogue, afin de Attention : l’installation d’un pous-
perdue pour autant : elle est gérée en interne pouvoir traiter des commandes soir de Reset extérieur sur JP2 n’a
à la GAL IC12. Dans notre cas, cette fonction externes. d’effet que sur le XA, pas sur la carte
12 Elektor 5/2003
MICROCONTRÔLEUR
IC14 contient également un circuit très utile
Tableau 2. de commutation de source d’alimentation, qui
permet de maintenir sous tension les
Principales caractéristiques de CaDAU XA.
mémoires RAM, via la pile de 3,6 V, BAT1. La
– Compatible XA-G3x et XA-C3x commande de ce circuit est entièrement auto-
– Compatible versions EPROM (XA-G37 / XA-C37) et ROMLess (XA-G30) matique, dès détection d’une tension d’ali-
– Bus de données 16 bits mentation incorrecte.
– Moniteur intégré en EPROM Parallèlement à cette fonction de commuta-
– 32 Kmots 16 bits pour programme en EPROM tion de source, IC14 se charge également
– 32 Kmots 16 bits de données d’inhiber les signaux de validation des RAM,
– 32 Kmots 16 bits données/programme pour déverminage du code lors des phases de Reset, afin d’éviter toute
– Interface PC/104 en mode I/O, permettant de recevoir des cartes d’interface au
corruption de leur contenu.
standard PC/104 (E/S logiques et analogiques, réseau, etc.)
Grâce à ce circuit, il est possible de mémoriser
– Code exécutable en RAM
un programme ou des données en RAM, et de
– Adressage en page zéro (16 bits) pour une vitesse maximale du noyau XA
– Possibilité d’utilisation en carte de développement et en carte d’application les conserver hors tension. Le moniteur
– Contenu des RAM sauvegardé par pile contrôlant la ligne P1.5 au démarrage, le sys-
tème peut donc être rendu totalement auto-
nome, sans nécessiter la programmation spé-
PC/104 connectée au système. Pour seule carte PC/104 installée avec cifique des EPROMS IC8 et IC9, ce qui s’avère
obtenir une réinitialisation complète support des interruptions (le nombre d’une très grande utilité lors des phases de
(XA+PC/104), il est nécessaire de de cartes sans interruptions n’étant mise au point de programmes. Bien entendu,
provoquer une coupure d’alimenta- limité que par la capacité des tam- dans le cas où⋅ la carte est utilisée en tant
tion de la carte. C’est une bizarrerie pons de bus). La polarité des que carte d’application (avec un programme
du LTC691, nous n’y pouvons rien. signaux d’interruption sur PC/104 spécifique en EPROM), ce système est utili-
Passons maintenant à l’interface étant l’inverse de celle utilisée par sable pour permettre, par exemple, de main-
PC/104. Le XA n’étant pas un pro- les XA, la porte IC13.F se charge de tenir des données spécifiques à une applica-
cesseur x86, il était impossible d’im- faire rentrer les choses dans l’ordre. tion en RAM.
plémenter toutes les fonctionnalités Les accès en mode Mémoire au bus Les circuits de la famille LTC691 sont munis
du standard PC/104. On ne dispose PC/104 ne sont pas possibles, ce qui d’autres fonctionnalités, comme un chien de
ici que des accès en mode I/O n’est qu’un inconvénient mineur, la garde intégré et des entrées/sorties Power-
(entrées/sorties), sur les 2 048 pre- plupart des cartes d’extension Fail, mais elles ne sont pas utilisées sur cette
miers octets. Les spécialistes du PC PC/104 n’utilisant que les accès I/O. carte. Signalons pour terminer que ce circuit
objecteront que seuls les 1 024 pre- Néanmoins, avant de choisir et d’ins- existe sous plusieurs dénominations telles
miers octets sont utilisés sur les PC, taller une carte PC/104 sur la carte que ADM691, LTC691, MAX691, etc. Le cir-
mais il faut savoir que l’on trouve de développement, il vous faudra cuit IC15 est un adaptateur TTL/CAN, qui ne
des cartes PC/104 adressables sur vérifier ce point, afin d’éviter tout se justifie que si la carte est équipée d’un XA-
une gamme plus étendue, d’où problème ultérieur. C3 (le XA-G3 n’a pas d’interface CAN).
notre choix. Pour terminer sur l’interface PC/104, Dernière partie du schéma et non des moins
Comme les XA ne disposent pas d’un soulignons que notre carte ne peut importantes : l’alimentation. La carte se
mode d’adressage spécifique des fournir que la tension +5 V sur le contentant d’une seule tension d’alimenta-
Entrées/Sorties (I/O), l’accès au bus connecteur. Certaines cartes PC/104 tion, un simple régulateur de la famille 7805
d’extension se fait à travers une peuvent nécessiter des tensions de fait le plus gros du travail. La diode D1 est là
fenêtre située entre $F800 et $FFFF +12 V, –5 V et –12 V. Ces tensions pour protéger le circuit contre les inversions
dans l’espace Données du proces- n’étant pas utilisées, ni générées sur de polarité, et non pas pour permettre l’ali-
seur. L’accès au bus PC/104 est la carte de développement, nous mentation du circuit par une source alterna-
contrôlé par les signaux PC104WR et avons prévu des points d’entrée (K4 tive. Insistons lourdement sur le fait que le
PC104RD, généré par la GAL IC12. et K5), qui devront être reliés à des circuit est équipé de nombreux condensa-
Attention : seul l’octet de poids faible sources extérieures si besoin est. teurs de découplage (un par circuit intégré),
est transféré à l’interface PC/104 ! Revenons sur IC14, qui est chargé et que leur présence est absolument indis-
La carte ne supporte pas les accès principalement de générer l’impul- pensable. Bien que le schéma spécifie des
DMA (faute de ressources adaptées sion de Reset lors de la mise sous valeurs de 47 nF, on peut utiliser sans crainte
sur les XA), mais permet en tension de la carte. Pour ce faire, il des 100 nF, parfois plus faciles à trouver.
revanche le traitement des interrup- utilise un comparateur interne, qui Nous voici arrivés à la fin de cette description
tions IRQ2 (nommée IRQ9 dans cer- détecte le passage de la tension du schéma. Dans l’article du mois prochain
tains documents de référence) à d’alimentation en dessous de 4,75 V. nous passerons à la partie la plus intéres-
IRQ7 du bus PC/104. Bien que le XA Lorsque cette situation se présente, sante de ce montage, sa réalisation et son uti-
dispose de deux entrées d’interrup- les signaux Reset et Reset sont lisation. Pour vous mettre l’eau à la bouche
tions externes (INT0 et INT1), une générés automatiquement, jusqu’à nous vous proposons, dans le tableau 2, un
seule d’entre elle a été affectée au ce que la tension repasse au dessus résumé succinct des caractéristiques les plus
PC/104, le choix du canal se faisant de 4,75 V. En pratique, l’impulsion de importantes de CaDéAU XA.
par S1. Noter qu’avec cette Reset est maintenue 35 ms après (010103-I)
approche, il ne peut y avoir qu’une stabilisation de la tension.
5/2003 Elektor 13
INFORMATIONS
14 Elektor 5/2003
INFORMATIONS
la valeur de mesure instantanée ments. L’exemple 1 montre comment implé-
générée à cet instant par le CAN menter un tampon en C. Le tampon est
Source sonore
(Convertisseur Analogique/Numé- implémenté comme une matrice (array) de
rique). La valeur du signal de sortie 8 mots; il a reçu la dénomination buffer.
calculée servant à la génération du Les éléments du tampon sont numérotés de
signal audio est transmis, par le 0 à 7. Le premier élément du tampon a été
biais du CNA (Convertisseur Numé- baptisé buffer[0], le second buffer[1] et
rique/Analogique), à l’amplificateur le dernier buffer[7]. La liste
voire directement aux enceintes {0,0,0,0,0,0,0,0} indique que chacun
Son
direct Écho (actives). Le symbole de somme Σ des éléments s’est vu attribuer un « 0 »
implique une addition. comme valeur de départ.
Mathématiquement, le concept illus- L’une des techniques permettant d’utiliser le
tré en figure 2 peut s’exprimer à tampon en module d’introduction de retard
l’aide de l’équation suivante : consiste à mémoriser la valeur de mesure la
plus récente (échantillon, sample) à l’une des
Signal de sortie = signal d’entrée + extrémités du tampon, la valeur la plus
signal d’entrée retardé ancienne étant elle stockée dans l’emplace-
Auditeur
ment situé à l’autre extrémité. Nous pourrions
020386 - 11
Il faudra, si l’on veut créer un écho ainsi, par exemple, utiliser buffer[0] pour
réaliste, que le signal retardé ait subi l’échantillon le plus récent et buffer[7]
une atténuation de quelque 15% de pour l’échantillon le plus ancien. Cette dispo-
Figure 1. Principe de création d’un manière à simuler l’atténuation intro- sition est connue sous la dénomination de
écho. duite par la réflexion du son. straight buffer (tampon en ligne).
À chaque fois que le CAN effectue une
mesure, on a placement d’une nouvelle valeur
Entrée + Sortie dans le tampon buffer[0]. Nous éjectons la
valeur de mesure la plus ancienne du buf-
+ fer[7] et décalons toutes les valeurs d’une
Temporisation position. Ainsi, la valeur de buffer[6] aura
de 4 s max été déplacée vers buffer[7].
020386 - 12
La raison physique du retard ainsi introduit
tient au fait qu’il faut un certain temps pour
Figure 2. On reproduit un écho par addition au signal d’entrée d’un signal retardé. permettre à une valeur de mesure de passer
de l’entrée du tampon à sa sortie. De ce fait, le
Exemple 1. signal arrive à la sortie en ayant subi un cer-
tain retard. Les valeurs de mesure les plus
récentes se décalent progressivement vers la
sortie. Ce processus est représenté schéma-
tiquement en figure 3. Nous supposons que
le tampon comprend déjà les valeurs 1, 2, 3,
Implémentation logicielle Temporisation induite 4, 5, 6, 7 et 8.
d’un écho par tampon Cette disposition ne convient malheureuse-
ment pas pour une implémentation logicielle
Il faut, si l’on veut implémenter un Si, dans la réalité, un tel tampon de d’effets d’écho et de réverbération. Si le tam-
écho logiciellement, ajouter au signal retardement se devait de comporter pon est de bonne taille et qu’il comporte, par
d’entrée une version décalée du dit plusieurs milliers d’éléments, nous exemple, plusieurs milliers de valeurs, le pro-
signal. C’est ce processus que sché- allons ici, pour ne pas trop compli- gramme passe la majeure partie de son
matise le croquis de la figure 2. quer les choses, utiliser un tampon temps à transférer les données d’un endroit à
Le signal d’entrée prend la forme de simple ne comportant que 8 élé- l’autre. Il ne reste tout simplement pas suffi-
samment de temps pour le traitement des
signaux audio. Une autre approche, plus
La plus La plus
récente Avant décalage des données ancienne adaptée, est le circular buffer connu sous nos
Nouvelle latitudes comme le tampon en anneau.
valeur
1 2 3 4 5 6 7 8
Tampon en anneau
La plus La plus
récente Après décalage des données ancienne Virer les Lorsque, dans le cas de la figure 3, on ajoute
plus
anciennes une nouvelle valeur, toutes les valeurs plus
Nouvelle
valeur 1 2 3 4 5 6 7
anciennes subissent un décalage vers l’avant,
020386 - 13
la plus ancienne étant éjectée. Le principe
d’un tampon en anneau est différent.
Figure 3. Stockage des valeurs dans un tampon en ligne. Les valeurs présentes dans le tampon ne
5/2003 Elektor 15
INFORMATIONS
tampon de 24 000 x 4 = 96 000.
Exemple 2. Tampon en anneau en C L’exemple 3 donne le code C requis
pour l’implémentation de la fonction
echo(). La valeur de mesure fournie
par le CAN est le premier paramètre
à être pris en compte, la valeur de
sortie est la somme de la valeur
d’entrée et de l’écho ajouté. Nous
commençons par la définition du
tampon. Nous utilisons pour cela la
fonction #define BUFFER_SIZE de
manière à pouvoir modifier facile-
ment la taille du tampon de retard.
Le pointeur du tampon de retard a
été baptisé x. Comme cette variable
Tampon en anneau en C
En cas d’utilisation d’un tampon en anneau Figure 5. Lorsque l’on arrive à la fin d’un tampon en anneau, le pointeur retourne
on n’a pas de déplacement des données. Le au début du tampon.
seul changement se situe au niveau de la
position du pointeur.
L’exemple 2 donne l’implémentation et l’uti- Fonction d’écho en C est toujours positive, elle a été décla-
lisation, en code C, d’un tampon en anneau. Pour l’implémentation d’un écho en rée en unsigned (non signé). Le mot-
Dans l’exemple le pointeur a été implémenté code C il faut commencer par dési- clé static signifie que la valeur est
en index pour le champ buffer[8] et s’est gner un tampon de temporisation. La conservée lors de retour de la fonc-
vu attribué le nom x. taille du tampon dépend de 2 fac- tion. En l’absence de ce mot-clé, x se
En vue d’incrémenter la valeur de x nous teurs : le taux d’échantillonnage du trouverait toujours à zéro.
commençons par voir si la valeur x est infé- CAN et de la durée de retard. Un La valeur la plus ancienne est gra-
rieure à la valeur maximale de 7. Si cela est le exemple : la carte-fille audio échan- duée vu qu’elle subit une multiplica-
cas, on pourra incrémenter la valeur x. SI au tillonne le signal d’entrée 24 000 fois tion par l’équivalent de 0,8. Des pro-
contraire, la valeur x se trouve déjà à sa par seconde. Il nous faudra partant, cesseurs à virgule fixe tels que le
valeur maximale de 7, il faudra donner à x la si nous voulons un retard (delay) de TMS320C5000 ne peuvent travailler
nouvelle valeur de zéro. 4 secondes, disposer d’une taille de qu’avec des entiers. Dans ce cas
16 Elektor 5/2003
INFORMATIONS
5/2003 Elektor 17
INFORMATIONS
en outre moins long. Pour éviter
Exemple 4. Implémentation d’une fonction de réverbération en C toute instabilité la plage des valeurs
du signal de sortie va, pour la réver-
bération, de -32767 à +32767.
Téléchargements
Nous proposons, pour le processeur
TMS320C5402 DSK avec carte-fille
audio, un exemple de code écrit en C
au téléchargement depuis notre site
(www.elektor.fr). Cela est également
vrai dans le cas du TMS320C6711
DSK avec carte-fille audio. Le fichier
comportant les 2 exemples de pro-
gramme sont à trouver sous la
rubrique TELECHARGEMENTS du
numéro dans lequel cet article est
publié; sa dénomination est
EPS020386-11.
En guise de conclusion
Nous avons vu, dans le présent
article, comment implémenter de
l’écho et de la réverbération dans le
cas des processeurs TMS320C5402
DSK et TMS320C6711 DSK, et ceci en
langage C. La réverbération requiert
moins de mémoire mais présente
l’inconvénient potentiel d’une insta-
bilité système. Les configurations
illustrées par les figures 2 (écho) et 6
(réverbération) sont très importantes
dans le cas d’un traitement numé-
Principe à l’entrée la durée de retard doit être rique de signal. Les deux sont utili-
de l’effet de réverbération sensiblement plus courte que dans sées pour l’implémentation de filtres
le cas d’un effet d’écho. Partant, l’ef- numériques. Si l’on diminue la durée
Le mécanisme d’un effet de réverbération dif- fet de réverbération sera la configu- de retard de la figure 2 nous obte-
fère quelque peu de celui d’un écho. Prenons ration préférentielle lorsque la taille nons un filtre FIR (Finite Impulse Res-
l’exemple de quelqu’un qui, sur une scène, de la mémoire de données (RAM) ponse). Avec le concept de la
parle dans un micro. Le son subit dans ce que l’on pourra consacrer au tampon figure 6, le choix d’une durée de
cas-là une réflexion sur le mur situé derrière se trouve être limitée. En cas d’utili- retard plus courte donne un filtre IIR
l’orateur avant de revenir vers la scène. Le sation de cette approche dans (Infinite Impulse Response).
microphone capte ce son réfléchi en même laquelle il s’agit, ne l’oublions pas, (020386)
temps que le son direct de l’orateur. Le peut d’une réinjection (même si c’est celle
dans ces conditions suivre le même chemin du signal retardé), il faut travailler
et si le gain de cette boucle est trop impor- avec soin sachant que sinon le sys-
tant l’amplitude ne cesse d’augmenter ce qui tème risque de devenir, comme dans
se traduit très rapidement par une réaction le cas de la réaction acoustique,
acoustique : le fameux effet de Larsen qui se instable.
manifeste sous la forme d’un hurlement stri-
dent dû à l’entrée en oscillation du système
en raison de cette réaction. Fonction
Dans le principe de l’effet de réverbération de réverbération en C Littérature
représenté schématiquement en figure 6 ce L’exemple 4 donne le code C per- A Digital Signal Processing
n’est plus à la valeur d’entrée que l’on fait mettant d’implémenter une fonction Primer with Applications to
subir un certain retard introduit par un tam- de réverbération. La différence se Digital Audio and
pon, mais à la valeur de sortie. Cette valeur trouve ici dans le fait, nous le disions ComputerMusic.
de sortie est, après cette temporisation, addi- plus haut, que c’est le signal de sor- Ken Steinglitz,
tionnée au signal d’entrée. Vu que de ce fait tie et non le signal d’entrée qui subit ISBN 0-8053-1684-1
le signal de sortie est réinjecté plusieurs fois une temporisation. Le tampon sera
18 Elektor 5/2003
MICROCONTRÔLEUR
Pilotage de LCD
1ère partie : un LCD : ça marche comment ?
Wim Huiskamp
20 Elektor 5/2003
MICROCONTRÔLEUR
rescente. Les pixels se contentent de la voyons revenir naturellement. fournit. Rien de tout cela sur un LCD. Comme
laisser ou non passer la lumière pour Mais si les cristaux liquides ont on le voit à la figure 1, c’est pratiquement du
former l’image. Mais d’autres ne dis- modifié l’orientation de la polarisa- tout ou rien. S’il est effectivement possible
posent pas de source de lumière, ils tion, la lumière ne peut plus retra- d’influencer légèrement l’intensité lumineuse
travaillent alors sur la lumière verser le filtre. Le pixel concerné restituée par le pixel, en changeant la tension
ambiante qu’ils doivent réfléchir. apparaît alors en noir. entre les électrodes, pour le rendu de la
Les cristaux liquides sont enfermés Les afficheurs éclairés par l’arrière gamme des nuances de gris sur chaque pixel,
entre deux feuilles de verre séparées possèdent deux filtres polariseurs, il faut utiliser d’autres moyens. Souvent, on y
d’à peine quelques microns. Ils chan- de part et d’autre des cristaux parvient par des commutations à haut rythme
gent une de leurs propriétés liquides, l’effet est donc le même. entre les deux états. Le rapport cyclique
optiques, la polarisation de la Il est possible de donner aux élec- influence alors la teinte de gris.
lumière qui les traverse, sous l’in- trodes la forme que l’on veut, lors de
fluence d’un champ électrique issu la vaporisation, celle de signes fixes
d’électrodes transparentes très fines, par exemple, comme un chiffre à sept Lignes et colonnes
déposées sur les lames de verre. segments ou une échelle du genre Les afficheurs à matrice opèrent en multiplex.
Sur les afficheurs qui fonctionnent thermométrique pour représenter La figure 2 nous en fournit un exemple. Ce
par réflexion, on a ajouté un filtre de l’état de charge d’un accumulateur. sont des circuits d’attaque spécialisés pour
polarisation et derrière, un miroir. La segments, les SED1648 qui commandent les
lumière ambiante atteint le polari- colonnes et des circuits d’attaque de lignes
seur, traverse le cristal liquide, subit Commande communes du type SED1651 qui s’occupent
une réflexion, retraverse le cristal, On attaque généralement les affi- des rangées, sous la supervision du contrô-
puis de nouveau le polariseur avant cheurs à petit nombre d’électrodes leur. Les informations à reproduire, le micro-
d’atteindre notre œil. La lumière doit en mode statique, c’est-à-dire que contrôleur les prend en mémoire RAM. La
donc passer deux fois par le filtre chacune d’elles dispose de sa broche totalité de l’image est ainsi passée en revue
polarisant. Si la lumière n’a pas propre. Mais quand elles sont nom- à une fréquence de récurrence de 60 à 70 Hz.
changé de sens de polarisation, nous breuses, la méthode deviendrait vite
encombrante. On passe alors au
multiplexage. Plus de commande Attaque de segments
100 individuelle des pixels, ils sont Les circuits d’attaque (driver) de segments
adressés à tour de rôle, par ligne et pour LCD disposent d’un registre à décalage
[%] par colonne. La commande en multi- embarqué. Le contrôleur leur expédie les
plex se doit d’être rapide, parce qu’il informations sous forme sérielle, scandées
ne faut que quelques millisecondes par la ligne XSCL. Grâce au transfert sériel
Contraste
50
aux cristaux liquides pour revenir au des données, il ne faut plus que quatre ligne
repos après la disparition du champ au lieu de 80. Les registres à décalage ont
10 électrique. Il faut donc rafraîchir donc aussi une largeur de quatre bits. Après
U0
continuellement l’image. 20 impulsions sur la ligne XSCL, l’information
Tension Sur un tube écran normal, on peut relative à une ligne se retrouve dans le
U0 = Tension de seuil
020114 - 11 aisément conférer à chaque pixel registre à décalage. Une impulsion sur la
une intensité différente. Il y a une ligne LP (Latch Pulse, verrouillage) et les don-
relation plus ou moins linéaire entre nées passent du registre à décalage dans la
Figure 1. Courbe de contraste du le nombre d’électrons qui vont bom- mémoire tampon qui commande les sorties.
LCD. barder le pixel et la luminosité qu’il Un processus que vous retrouvez à la figure 3
sous forme de diagramme temporel. Il est de
coutume de traiter les pixels de gauche à
droite, comme représenté à la figure 4.
D0...D3
XSCL
LCD LP
CONTR FR
YSCL
Attaque des lignes communes
YD
Pour les lignes communes, la structure des
circuits d’attaque ressemble à celle des seg-
ments, sauf que le registre à décalage ne fait
SED1648 SED1648 qu’un seul bit de large. Il n’y a qu’une seule
80 80
ligne active à la fois. Le contrôleur s’arrange
toujours pour placer un « 1 » dans le registre
SED1651 100
au début de chaque trame, c’est le marqueur
160 x 200 points
RAPPORT CYCLIQUE: 1/200
de première ligne. Seule la première ligne
SED1651 100 comporte ce « 1 », pour toutes les autres, ce
sera un « 0 » jusqu’au début de la trame sui-
020114 - 12
vante. Un circuit d’attaque des lignes com-
munes n’a pas besoin de tampon de sortie. Le
Figure 2. Schéma fonctionnel d’une commande de LCD en multiplex. « 1 » qui circule en boucle dans le registre à
5/2003 Elektor 21
MICROCONTRÔLEUR
décalage constitue la commande dont nous
LP
avons besoin pour les rangées.
La figure 5 reproduit l’évolution dans le
temps de la commande des lignes com- XSCL
munes. Les sorties des circuits d’attaque
s’activent tour à tour au moment où les com- D0...D3 20 1 2 20 1 2 20 1 2 20 1 2
mandes de segments contiennent la donnée
1 2 3
correspondante à la position de la rangée.
020114 - 13
Lorsqu’une trame complète a été traitée, le
« 1 » sort du registre à décalage et le micro-
contrôleur s’empresse d’en glisser un nou- Figure 3. Diagramme temporel en illustration de la commande de segments.
veau au début du registre. La fréquence
d’horloge des lignes communes est la même
que celle du signal LP d’attaque des seg-
ments. C’est pourquoi les deux signaux sont
souvent combinés. Set 1 Set 2 Set 3 ..... ..... ..... Set 59 Set 60
Comme les données des pixels passent en D3...D0 D3...D0 D3...D0 D3...D0 D3...D0
multiplex, le rapport cyclique de la com-
mande dépend du nombre de lignes. Pour un
afficheur de 100 lignes, chacune d’elles n’est 020114 - 14
22 Elektor 5/2003
MICROCONTRÔLEUR
Les rangées sont adressées à tour de rôle, il
Tableau 1. Tension de sortie pour la commande des segments y en a donc toujours une reliée à la tension V5
Registre à Tension (active common), pendant que les autres sont
Dsp_off FR
décalage de sortie à V1 (inactive common). On applique aux
L – – V0 colonnes ou bien V0 (active segment, donc
H L (pixel éteint) L V2 pixel noir), ou bien V2 (inactive segment, donc
H L (pixel éteint) H V3
pixel blanc). On reconnaît bien, dans le dia-
gramme d’impulsions, le motif de l’image,
H H (pixel allumé) L V0 formé de pixels lumineux et sombres, pour les
H H (pixel allumé) H V5 deux colonnes reproduites.
Même s’ils sont inactifs, on commande les
pixels. La tension est alors réduite et reste
sous la valeur de seuil. Sous l’action du signal
Tableau 2. Tension de sortie pour la commande des lignes communes. FR, chaque pixel se voit appliquer une diffé-
Registre à Tension rence de potentiel alternativement positive et
Dsp_off FR négative entre ses deux électrodes. On le
décalage de sortie
L – – V0 remarque également dans le diagramme. Les
tensions lors des trames paires forment pré-
H L (rangée inactive) L V1 cisément le signal inversé de celui des trames
H L (rangée inactive) H V4 impaires. La différence de tension entre élec-
H H (rangée active) L V5 trodes est donc toujours de même grandeur,
mais inversée, avec pour résultat qu’aucune
H H (rangée active) H V0
composante continue ne peut apparaître.
V4
V5
VDD
V1
V2
SEG0
V3 Bibliographie :
V4
V5
Les afficheurs à cristaux liquides (LCD),
VDD Elektor n°24, juin 1980, page 42 et suivantes
V1
V2
SEG1
V3
V4
V5
Liens Internet :
FR
020114 - 17 – www.seiko-instruments.de/
– www.optrex.co.jp/us/product/catalog/
index.html
Figure 7. Tensions de sortie des circuits d’attaque de segments et de lignes – www.eio.com/public/lcd
communes.
5/2003 Elektor 23
MICROCONTRÔLEUR
+5V (VCC) V0 +5V (VCC) V0 +5V (VCC) V0
Brochages
Il n’y a pas de norme concernant les
R R R
dénominations des broches d’un
V1 V1 V1
LCD. Chaque fabricant y va de sa
petite idée et même dans la gamme
R R R
V2 V2 V2 proposée par le même constructeur,
on trouve des différences. Le tableau
2R 2R 2R
V3 V3 V3 ci-dessous devrait vous permettre
d’associer appellations et fonctions
R R R des différents raccordements.
V4 V4 V4
(020114-I)
R R R
V5 V5 V5
Vadj
*D0-D3 (Data0 à Data3), signaux de données à afficher sur LCD arrêt). C’est lui qui débranche tous les circuits d’attaque, pour
simple. S’appellent aussi parfois : XD0-XD3. économiser l’énergie, composer un nouvel écran en coulisses ou
Plusieurs variantes possibles. Certains afficheurs fonctionnent protéger l’afficheur quand le processeur n’a pas encore démarré.
avec un seul bit de donnée, appelé alors D ou XD. Il y a aussi les
LCD à double écran, sur lesquels UD0-UD3 concernent la moi-
tié supérieure et LD0-LD3, la moitié inférieure. Vdd, Vss (Logic supply voltage). On les nomme aussi : Vcc, Gnd
Tension d’alimentation pour la logique (5 V). Le courant
XSCL (X Shift CLock). S’appelle aussi : CL2, CP2, CP, Dot Clock, consommé est faible, normalement moins de 100 mA, à moins
DCLK
qu’il ne serve aussi au convertisseur CCFL.
L’horloge du registre à décalage. On lit D0-D3 sur le flanc des-
cendant de XSCL. La fréquence d’horloge dépend de la récur-
rence des trames et du nombre de pixels par ligne. Il est courant Vee (LCD supply voltage). On l’appelle aussi : Vlcd, Vssh
de rencontrer une fréquence de 5 MHz. Tension d’alimentation des circuits d’attaque du LCD. Selon le
type d’afficheur, on utilise des tensions entre –5 V et –25 V. Dans
LP (Latch Pulse). On l’appelle aussi : CP1 (clock pulse), CL1, HS, les feuillets de caractéristiques, on renseigne souvent la tension
HSYNC, LOAD par rapport à Vdd, donc pas en référence à la masse !
Signal de mémorisation d’affichage, comparable au HSync du Vee ne peut jamais être présente avant Vdd.
signal vidéo. Au flanc descendant de LP, on transfère les données
des pixels du registre à décalage vers les tampons de sortie. Cet
instant coïncide avec le moment où le circuit d’attaque de ligne Vadj (Contrast Adjust). On l’appelle aussi : V0, Vcon
commune doit envoyer la rangée suivante de l’afficheur. C’est Réglage de contraste du LCD. Cette tension influence souvent
pourquoi ce signal est souvent branché à l’entrée YSCL du l’angle de vision optimale. Elle est parfois réglable. Il ne faut pas
registre à décalage du commun. confondre « V0 » avec « V0 » ! V0 est la tension d’alimentation la
plus positive de l’afficheur.
FLM (First Line Marker). On l’appelle aussi : DI, DIN, YD (Y
data), S (Scan start-up), VSYNC
Entrée de données du registre à décalage du commun. Une A, C (Anode, Cathode)
impulsion sur FLM marque le début d’une nouvelle trame. À Alimentation de l’éclairage d’arrière plan à LED. Parfois plusieurs
comparer à VSync du signal vidéo. Sa fréquence est proche de LED sont en série, d’autres fois pas. Il y a donc lieu de vérifier !
60 Hz.
AC On l’appelle aussi : CCFL, HV, HOT & GND
FR (FRame signal). On l’appelle aussi : M, DF, WF Alimentation de l’éclairage par l’arrière plan. On utilise une
C’est le signal qui assure l’alternance entre positif et négatif de la CCFL (Cold Cathode Fluorescent Lamp), une lampe fluorescente à
tension de commande de l’afficheur. Sa fréquence est d’habitude cathode froide qui requiert 200 V environ et consomme une
la moitié de la récurrence d’image, une trentaine de hertz, donc. centaine de mA (hé oui !!!). Consultez soigneusement les fiches
À son sujet, on parle aussi de « AC drive waveform » ou d’ex- techniques avant de brancher une tension aussi élevée ! Pour des
pressions similaires, mais cela n’a rien à voir avec l’alimentation
raisons de sécurité, les broches de la CCFL se placent toujours à
alternative pour illuminer l’arrière plan !
l’écart des autres.
24 Elektor 5/2003
INFORMATIONS
Pratique des
réseaux neuraux (4)
4ème (et dernière) partie : applications et grands réseaux neuraux
Chris MacLeod et Grant Maxwell
26 Elektor 5/2003
INFORMATIONS
Entrée 1
types (PID = Packet IDentifiers) utilisés dans
(capteur de position) les contrôleurs habituels. Un tel neuro-
contrôleur pourrait être entraîné avec la
Sortie
vers le moteur rétro-propagation, à partir d’un contrôleur
Entrée 2
(capteur de vitesse) habituel, en utilisant les sorties de celui-ci
comme cibles. Il pourrait aussi, et de manière
plus intéressante, apprendre par l’expérience,
Entrée 3 en utilisant un algorithme d’apprentissage
(détecteur d'accélération) 020324 - 4 - 13 d’exécution renforcée ou un algorithme géné-
tique pour déterminer ses poids.
Figure 3. Pilotage du moteur.
Interface homme-machine et
Tension
détection intelligente
Dans le système de pilotage ci-dessus, le
réseau réagit aux informations des capteurs
Échantillon n et produit une sortie adéquate. Les réseaux
Échantillon 1
neuraux sont efficaces pour démêler des
entrées imbriquées comme celles-ci -vous
n’avez pas besoin de comprendre la base
théorique du système, juste de disposer
d’exemples pour éduquer le réseau. Le réseau
neural artificiel se chargera lui-même, pen-
dant la phase d’apprentissage, de donner un
sens aux interrelations et transformations
entre les entrées et les sorties.
Une application future de ce type de système
Réseau entraîné à « à détection intelligente » est une interface
la reconnaissance
de forme d'onde homme-machine. Si l’on doit, par exemple,
tester et réaliser des membres artificiels et
les relier à une partie du système nerveux, il
faut tester et comprendre les connexions des
Sortie nombreux nerfs (et peut-être d’autres entrées
020324 - 4 - 14
et parasites biométriques), qui se manifestent
toutes avec des fréquences différentes. Cer-
Figure 4. Un forme d’onde simple présentée à un réseau neural. taines des entrées peuvent n’avoir aucun rap-
port et d’autres être reliées entre elles de
manière subtile. Traiter les informations de ce
Une légère variante consiste à utili- Applications de pilotage type de système complexe et non-linéaire
ser un algorithme génétique pour relève manifestement du domaine de compé-
engendrer des types de réseaux à On peut étendre les aspects de pilo- tence des réseaux neuraux.
partir d’une population manifestant tage mentionnés ci-dessus à
de bons comportements -on appelle d’autres systèmes. Par exemple, sup-
cet algorithme un algorithme évolu- posons que l’on veuille obtenir un
La reconnaissance
tionniste pour l’apprentissage de système de pilotage d’un moteur à des formes d’onde
l’exécution renforcée (EARL = Evo- courant continu, cf. figure 3. Dans l’interface homme-machine évoquée ci-
lutionary Algorithm for Re-enforce- On pourrait reconnaître les entrées dessus, il fallait traiter les formes d’onde pro-
ment Learning). comme des identifiants de paquets duites par les nerfs. En effet, un réseau neu-
ral peut reconnaître des formes dans le temps
(comme celles-ci) et dans l’espace (comme
des images), en les échantillonnant et en les
Arrivé à la fin de la ligne
Le réseau débute le il descend d'un pixel présentant en entrée. La figure 4 en montre le
scan de l'image en haut et repart dans l'autre sens. principe. Ceci conduit, bien sûr, au problème,
à gauche. Il se déplace
pixel par pixel. déjà mentionné dans la deuxième partie, de
l’image, ou dans ce cas de la forme d’onde,
qui doit posséder une dimension précise et se
trouver placée au centre de la grille de lecture.
Le scan est terminé lorsqu'il
est arrivé en bas à droite.
020324 - 4 - 15 Pré-traitement
Donner la bonne dimension à une image ou
Figure 5. Scan d’image. une donnée et la centrer de façon à ce qu’elle
5/2003 Elektor 27
INFORMATIONS
soit lisible par un réseau s’appelle le pré-trai-
L'information d'image est réduite
tement. Il y a bien des manières de le réaliser. à la bonne taille pour les entrées
du réseau par calcul de moyenne
Dans le cas d’une forme d’onde échantillon- La zone d'entrée du réseau des pixels ou toute autre méthode.
adopte d'abord la taille
née, le réseau observe une « fenêtre » de de l'ensemble de l'image.
temps. La forme d’onde, un échantillon à la
fois, qui traverse celle-ci va finir par se posi-
tionner au centre de la fenêtre et être recon- Lorsque l'une des tailles
a terminé le scan de
nue par le réseau. l'image, la zone d'entrée La zone d’entrée est réduite de plus
du réseau réduit sa taille. en plus jusqu’à ce qu’elle ait atteint les
dimensions pratiques les plus petites.
On peut dire exactement la même chose d’un
020324 - 4 - 16
réseau de reconnaissance d’images. Il peut
lui aussi faire un scan (balayage) de l’image,
comme le montre la figure 5. La forme à Figure 6. Dimensionnement d’image.
reconnaître va finir, de la même façon durant
ce processus, par se placer au centre de la
grille de lecture. Dans la réalité ceci n’est pas Réseaux modulaires sant les verticales et un autre les
très loin de ce que font nos yeux lorsque nous horizontales, alors un troisième peut
étudions une scène, en balayant (incons- Les réseaux neuraux du cerveau les combiner pour former un tout -cf.
ciemment) l’image pour chercher des formes reconnaissent les objets à travers figure 7.
reconnaissables. Un point important de l’édu- certaines caractéristiques. Prenez la C’est un exemple simple de réseau
cation d’un réseau pour ce genre de tâche lettre L, par exemple. Elle a deux modulaire. Plutôt qu’un grand réseau
consiste à l’entraîner à reconnaître autant les caractéristiques, une ligne verticale disposant de multiples connexions
« parasites » ou les données sans rapport que et une ligne horizontale. Peu et essayant de tout apprendre, on
la forme recherchée, sinon il signalera de importe son emplacement sur la dissocie les tâches en sous-tâches
fausses reconnaissances. grille de lecture, peu importe sa plus réduites exécutées par un
Autant pour le centrage de l’image ; qu’en dimension, elle possède toujours réseau plus petit. La recherche a
est-il de son bon dimensionnement ? Eh bien, ces deux caractéristiques. démontré que c’est ainsi qu’est orga-
il peut aussi donner lieu à un pré-traitement. Si nous avons un réseau reconnais- nisé le cerveau - non comme un
Image
Réseau 1 : Réseau 2 :
détecteur détecteur
vertical horizontal
28 Elektor 5/2003
INFORMATIONS
neural artificiel gagne ainsi en vitesse ce qu’il
perd en connectivité.
Il existe une possibilité de résoudre le pro-
blème de connectivité, même avec la techno-
Sortie Sortie
logie actuelle, si l’on attribue à chaque neu-
1 1
rone une adresse équivalente à une base d’un
réseau de communication, et en l’utilisant
t1 t2 t1 t2
0 0 pour la transmission de signaux depuis et
Temps Temps vers les neurones à la place d’un câblage spé-
t2 est inversement proportionnel t1 est proportionnel à la Somme cifique pour chaque signal.
à la Somme des entrées. des entrées. t2 + t1 est une constante. Réaliser des réseaux neuraux physiques n’est
Modulé en fréquence Modulé en largeur d'impulsion
cependant pas simple, parce qu’il n’y a pas
de technologie de circuits imprimés dispo-
020324 - 4 - 19
nible immédiatement pour les amateurs (les
grands réseaux neuraux discontinus nécessi-
Figure 9. Neurones stimulés (on pourrait presque dire piqués au vif). tent de nombreux composants) -en particu-
lier ceux disposant de câblages reconfigu-
rables, nécessaires pour les réseaux neuraux
énorme réseau, mais en une multi- facilement déterminés en utilisant artificiels évolutionnistes. Quelques expéri-
tude de petits modules exécutant un algorithme génétique (ou si un mentateurs ont essayé les circuits FPGA
leurs tâches et intégrant leurs résul- peu de mathématiques vous amuse, (Field Programmable Gate Arrays = circuits
tats dans un ensemble cohérent. en modifiant la rétro-propagation). de portes programmables), mais il ne sont
La recherche se poursuit actuelle- pas idéalement adaptés à la tâche parce que
ment pour voir s’il est possible chaque neurone occupe un grand espace
d’utiliser les algorithmes évolution-
Connexions « immobilier » de puces. C’est d’avoir modé-
nistes pour développer des groupes et technologie lisé le réseau neural sur le cerveau, sans pré-
de tels modules et former un sys- Une dernière zone d’intérêt réside voir sa mise en œuvre électronique - ce qui la
tème intégré. dans la taille du réseau neural biolo- rend inefficace, -qui est à l’origine de ce genre
gique comparée à celle du réseau de problème. On a aussi besoin de dévelop-
artificiel. Vous vous souvenez sans per un neurone (dans le sens d’une unité de
Fonction neurale doute que le cerveau est constitué traitement généraliste et éducable) qui soit
Le lecteur attentif aura repéré que la de 100 milliards de neurones (autant réalisable électroniquement et efficace.
description du neurone artificiel pré- que d’étoiles dans notre galaxie).
sentée en première partie n’a guère Ceci en fait la structure la plus com-
de ressemblance avec le neurone plexe de l’univers connu. En conclusion
biologique que nous venons de De plus, chacun de ces neurones Nous espérons que vous avez apprécié ce
décrire. En particulier, le réseau neu- peut être connecté avec 1 000 autres voyage au sein des réseaux neuraux, suffi-
ral biologique module son activité en (certains ont 100 000 connexions). samment pour en tenter l’expérimentation
fréquence, comme le montre la Ce qui signifie qu’il existe peut-être vous-même. Vous trouvez ci-dessous
figure 8. 100 000 milliards de connexions dans quelques références de base, qui sont un bon
Certains scientifiques y attachent le cerveau. point de départ pour des explorations ulté-
une certaine importance, et pensent La technologie moderne ne peut pas rieures.
que ce que nous appelons « pensée » rivaliser avec la densité des neu- (020324-4)
et « conscience » sont en fait des rones et de leurs connexions. Le neu-
séquences d’impulsions traversant rone est actuellement de la même
le système nerveux en interagissant taille qu’un transistor, mais organisé
Remerciements
les unes avec les autres. D’une en structure dense à trois dimen- Les auteurs tiennent à exprimer leur gratitude à
manière plus pragmatique, il est plus sions. En revanche, nos circuits élec- Ann B. Reddipogu, Niccolo Capanni et Sethura-
facile de travailler avec des sys- troniques sont essentiellement plats man Muthuraman pour leur aide dans la mise au
tèmes de pilotage modulant ainsi -à deux dimensions. point de ces articles.
l’information (ou la modulant par lar- On peut penser que la densité des
geur d’impulsion). neurones et de leurs chemins de
Des modèles artificiels ont été défi- câblage sont des problèmes insur- Lectures
nis pour fonctionner de cette montables pour créer des réseaux Quelques livres réputés sur les réseaux neuraux
manière et sont souvent appelés neuraux biologiquement réalistes. pour ceux qui veulent approfondir le sujet :
des neurones « stimulés ». La Mais on doit se rappeler que les
K. Gurney, An Introduction to Neural Networks,
figure 9 montre deux modèles signaux ne traversent les neurones UCL Press, 1997.
simples, l’un d’un neurone « sti- réels qu’à la vitesse de quelques
mulé » (modulé en fréquence) et deux cents mètres à la seconde, I. Pratt, Artificial Intelligence, MacMillan, 1994.
l’autre d’un neurone modulé en lar- alors qu’ils peuvent circuler dans
geur d’impulsion. Les poids et leurs équivalents artificiels à 60 % de P. D. Wasserman, Neural Computing : theory and
autres paramètres de ceux-ci sont la vitesse de la lumière. Le réseau practice, Van Nostrand Reinhold, 1989.
5/2003 Elektor 29
MICROINFORMATIQUE
30 Elektor 5/2003
MICROINFORMATIQUE
Application DLL Thread qu’il est possible de commander cette ligne
directement mais si nous essayons d’envoyer
un caractère après que la fonction SetTxD a
CheckInputs Faire
(5100,handle) nouveau forcé la ligne au niveau haut, cette opération
WaitCommEvent
thread d’émission ratera et risquera fort bien de pro-
voquer le plantage (crash) du programme. Il
suffit de commencer par effectuer une réini-
tialisation (reset) de la ligne par le biais de la
PostMessage fonction ResetTxD, nous pourrons ensuite
(handle, 5100, envoyer autant de caractères que nous le
event,0)
Le programme voudrons.
continue Les fonctions précédentes ne requièrent en
fait que peu d’explications. Il en va autre-
Termine ment dans le cas de la fonction CheckInputs.
le thread Il va nous falloir, avant de pouvoir mettre en
oeuvre cette fonction, dire quelques mots au
020388 - 11 sujet des messages Windows. Que cela ne
nous empêche pas d’utiliser la présente .dll.
Figure 1. Exécution de la fonction CheckInputs. Vous pouvez sauter le paragraphe suivant si
vous n’avez pas l’intention d’utiliser la fonc-
tion de signalisation par Windows de tout
plus pratique de faire exécuter par nom parlant de sorte que l’on sait au changement d’état au niveau du port sériel.
une .dll toutes les routines de base premier coup d’oeil quelle est leur
simple pour la commande du port tâche. Nous n’entrerons partant pas
sériel, sans que le programmeur n’ait dans le détail de chacune d’entre Messages Windows
à se soucier de la communication elles. Nous vous renvoyons à Les programmes peuvent faire effectuer une
entre le programme et Windows. l’exemple correspondant que vous tâche au système d’exploitation par le biais
pourrez, tout comme la .dll, téléchar- d’une API et dans la plupart des cas Win-
ger depuis notre site Internet dows fournit en réponse un message sous
Serial.dll (adresse :www.elektor.fr) sous la une forme ou une autre. Il ne s’agit cependant
Nous pensons que nombre de nos dénomination 020388-11. pas là du seul et unique moyen de communi-
lecteurs seront heureux d’apprendre Il faut, pour pouvoir utiliser un port, cation entre Windows et les applications.
que nous avons écrit une .dll per- commencer par l’ouvrir. C’est à quoi Le messaging system est un autre moyen de
mettant un pilotage facile d’un port sert la fonction OpenCOM. Cette communication important. La quasi-totalité
sériel. Elle permet, outre l’émission fonction a besoin, comme paramètre, des programmes Windows utiles s’en sert. Le
et la réception de caractères, de pro- du numéro de port du port sériel à système d’exploitation informe, par le biais
céder à une interrogation de l’état ouvrir. 1 correspond à COM1, 2 à de ces fameux Windows messages, une
des entrées et à une commande dif- COM2, etc. Si l’ouverture s’est faite application qu’il y a eu action sur une bouton
férenciée de chacune des sorties. correctement on a, en retour, men- de souris ou lorsqu’il faut reproduire le pro-
Fonction additionnelle, la .dll a été tion du numéro de port; si les choses gramme sous forme minimisée.
dotée d’une option qui permet de ont mal tourné, la réponse retour est Un message se résume à 3 variables seule-
surveiller le port sériel et faire un 0. ment que l’application doit interpréter avant
émettre un message par Windows Après utilisation, lors de la fermeture de pouvoir ensuite entreprendre l’action cor-
en cas de changement à ce niveau. du programme par exemple, il faudra respondante. La première variable donne le
Ceci permet de ne plus avoir à inter- refermer le port. C’est là la fonction type de message. Les 2 variables suivantes
roger (le fameux « polling ») le port de la routine CloseCOM. On pourra, sont utilisées en cas de besoin d’information
sériel. Ce n’est qu’après un change- entre ces 2 événements, envoyer et additionnelle. Ainsi, à quoi cela servirait-il
ment d’état que le programme en est recevoir des caractères par les rou- que Windows informe une application que
informé, tout comme Windows tines SendCharCOM et ReadChar- l’utilisateur a bougé la souris si le SE ne lui
signale une action sur un bouton ! COM respectivement. donne pas la nouvelle position de la souris.
Tout le monde ne pourra pas utiliser Les fonctions Getxxx (GETDCD, Windows connaît un bon nombre de message
cette fonction à tous les coups : ras- GETDST etc.) permettent respecti- spécifiés, mais il est également possible d’en-
surez-vous, il n’est pas indispen- vement l’interrogation des entrées voyer un message personnel vers une appli-
sable d’utiliser cette routine, elle est DCD, DST, CTS et RI. Le pilotage de cation. C’est à cet effet que sont réservés les
en fait plutôt un extra pour le pro- la sortie DTR se fait par le biais des message de type 5000 et au-delà, dits « uti-
grammeur expérimenté. fonctions SetDTR et ResetDTR. Il lisateurs ». Il s’agit des messages définis-
existe des fonctions comparables sables par l’utilisateur (user-definable); ils ne
pour les 2 autres sorties, TxD et RTS. sont pas émis par Windows soi-même, mais
Les fonctions La commande directe de la ligne TxD peuvent être utilisés par les différentes appli-
Le tableau 1 énumère les fonctions cache un petit piège. La fonction de cations pour communiquer entre elles. La plu-
et les routines de notre .dll. Toutes cette ligne est normalement l’émis- part des environnements de programmation
les fonctions concernées ont reçu un sion de données sérielles. Il est vrai (tels que Delphi, Visual C++, etc.) traitent
5/2003 Elektor 31
MICROINFORMATIQUE
cette communication sans que le program- La figure 1 illustre l’exécution, par y avons attribué la valeur 5100 mais
meur n’ait à intervenir. Cependant, la plupart la .dll, de la fonction CheckInputs. Le on pourra utiliser toute autre valeur
des environnements de programmation per- programme appelle la fonction, la .dll à condition qu’elle ne soit pas utili-
mettent au programmeur de traiter ces mes- créant un thread avant que celui-ci sée par Windows). Si tel est bien le
sages lui-même lorsque cela est souhaité. ne soit ensuite démarré automati- cas, il est fait appel à une routine qui
Dans le cas de Delphi on dispose de la possi- quement. À partir de ce moment, le réagit au nouvel état. Sinon, le mes-
bilité d’utiliser l’événement (event) Applica- programme principal s’exécute nor- sage doit être traité par la boucle
tion.OnMessage pour commencer à traiter soi- malement indépendamment de Message proprement dite.
même les messages de Windows entrants. l’exécution du thread. Le thread
En Visual C++ on pourra arriver au même appelle la fonction Windows Wait-
résultat par le biais de Application::OnMes- CommEvent, Windows arrêtant En conclusion
sage. Notre .dll utilise ce mécanisme de com- l’exécution du thread jusqu’à ce qu’il Nous pouvons fort bien nous imagi-
munication pour informer l’application le cas y ait un changement d’état au ner qu’il vous reste, après la lecture
échéant d’un changement d’état du port niveau du port sériel. de cet article, encore l’une ou l’autre
sériel. Nous pouvons utiliser, pour l’émission Comme Windows considère le question. Il vous est partant recom-
d’un message, la fonction PostMessage de thread comme un programme dis- mandé de jeter un coup d’oeil au
l’API Windows. tinct l’exécution de notre propre code-source des programmes don-
L’API Windows dispose en outre d’une fonc- programme se fait en toute quié- nés en exemple correspondants.
tion qui attend jusqu’à ce qu’il y ait un chan- tude. Dans le cas présent, le pro- L’examen et l’adaptation d’un pro-
gement d’état d’un port sériel. cette fonction gramme principal s’occupe de la gramme fonctionnel existant est sou-
s’appelle WaitCommEvent et convient fort routine CheckInputs qui fait partie vent la méthode d’apprentissage la
bien à notre objectif, mais elle présente l’in- de la .dll. La .dll termine la routine plus rapide et la plus facile. C’est à
convénient d’interrompre l’exécution du pro- et le programme principal peut tran- dessein que le programme
gramme qui ne reprendra que lors d’un chan- quillement vaquer à ses propres d’exemple a été écrit en Delphi
gement d’état au niveau du port sériel, ce qui occupations. sachant que ce langage est très
n’est pas le but de la manoeuvre. Il est Dès l’instant de changement d’état explicite. Il est facile de convertir le
cependant facile de résoudre ce problème en du port sériel, Windows lève le blo- code-source en C++ par exemple.
faisant appel à ce que l’on appelle les cage du thread et signale, à l’aide Dans ce même numéro nous vous
threads (fils). d’une variable, quel est l’événement proposons un petit testeur de port
ayant pris place sur le port sériel. À COM qui vous permettra de vérifier
son tour, le thread transmet cette très vite le fonctionnement des pro-
Threads information à notre programme sous grammes que vous aurez écrits.
Une application peut exécuter des parties de la forme d’un message Windows. (020388)
son programme dans un thread distinct. Cela À la réception par le programme
signifie que 2 programmes sont actifs simul- d’un message Windows on a appel
tanément. Le premier est le programme prin- de la fonction AppMessage. Cette Bibliographie
cipal, le second est le thread. En cas de blo- fonction s’assure si le message [1] Ports sériels sous Windows,
cage de ce thread, cela n’empêche pas l’exé- signale un changement d’état du Elektor n° 293, novembre 2002,
cution du programme principal. port sériel (dans le cas présent nous pages 30 et suivantes
32 Elektor 5/2003
MICROINFORMATIQUE
cette communication sans que le program- La figure 1 illustre l’exécution, par y avons attribué la valeur 5100 mais
meur n’ait à intervenir. Cependant, la plupart la .dll, de la fonction CheckInputs. Le on pourra utiliser toute autre valeur
des environnements de programmation per- programme appelle la fonction, la .dll à condition qu’elle ne soit pas utili-
mettent au programmeur de traiter ces mes- créant un thread avant que celui-ci sée par Windows). Si tel est bien le
sages lui-même lorsque cela est souhaité. ne soit ensuite démarré automati- cas, il est fait appel à une routine qui
Dans le cas de Delphi on dispose de la possi- quement. À partir de ce moment, le réagit au nouvel état. Sinon, le mes-
bilité d’utiliser l’événement (event) Applica- programme principal s’exécute nor- sage doit être traité par la boucle
tion.OnMessage pour commencer à traiter soi- malement indépendamment de Message proprement dite.
même les messages de Windows entrants. l’exécution du thread. Le thread
En Visual C++ on pourra arriver au même appelle la fonction Windows Wait-
résultat par le biais de Application::OnMes- CommEvent, Windows arrêtant En conclusion
sage. Notre .dll utilise ce mécanisme de com- l’exécution du thread jusqu’à ce qu’il Nous pouvons fort bien nous imagi-
munication pour informer l’application le cas y ait un changement d’état au ner qu’il vous reste, après la lecture
échéant d’un changement d’état du port niveau du port sériel. de cet article, encore l’une ou l’autre
sériel. Nous pouvons utiliser, pour l’émission Comme Windows considère le question. Il vous est partant recom-
d’un message, la fonction PostMessage de thread comme un programme dis- mandé de jeter un coup d’oeil au
l’API Windows. tinct l’exécution de notre propre code-source des programmes don-
L’API Windows dispose en outre d’une fonc- programme se fait en toute quié- nés en exemple correspondants.
tion qui attend jusqu’à ce qu’il y ait un chan- tude. Dans le cas présent, le pro- L’examen et l’adaptation d’un pro-
gement d’état d’un port sériel. cette fonction gramme principal s’occupe de la gramme fonctionnel existant est sou-
s’appelle WaitCommEvent et convient fort routine CheckInputs qui fait partie vent la méthode d’apprentissage la
bien à notre objectif, mais elle présente l’in- de la .dll. La .dll termine la routine plus rapide et la plus facile. C’est à
convénient d’interrompre l’exécution du pro- et le programme principal peut tran- dessein que le programme
gramme qui ne reprendra que lors d’un chan- quillement vaquer à ses propres d’exemple a été écrit en Delphi
gement d’état au niveau du port sériel, ce qui occupations. sachant que ce langage est très
n’est pas le but de la manoeuvre. Il est Dès l’instant de changement d’état explicite. Il est facile de convertir le
cependant facile de résoudre ce problème en du port sériel, Windows lève le blo- code-source en C++ par exemple.
faisant appel à ce que l’on appelle les cage du thread et signale, à l’aide Dans ce même numéro nous vous
threads (fils). d’une variable, quel est l’événement proposons un petit testeur de port
ayant pris place sur le port sériel. À COM qui vous permettra de vérifier
son tour, le thread transmet cette très vite le fonctionnement des pro-
Threads information à notre programme sous grammes que vous aurez écrits.
Une application peut exécuter des parties de la forme d’un message Windows. (020388)
son programme dans un thread distinct. Cela À la réception par le programme
signifie que 2 programmes sont actifs simul- d’un message Windows on a appel
tanément. Le premier est le programme prin- de la fonction AppMessage. Cette Bibliographie
cipal, le second est le thread. En cas de blo- fonction s’assure si le message [1] Ports sériels sous Windows,
cage de ce thread, cela n’empêche pas l’exé- signale un changement d’état du Elektor n° 293, novembre 2002,
cution du programme principal. port sériel (dans le cas présent nous pages 30 et suivantes
TORTd’ELEKTOR
Programmateur Atmel, logie et a été résolu par la nou- Analyseur logique 20/40 MHz NL 3008-AM Rotterdam Pays-
Elektor n° 279, septembre velle version du programme. à géométrie variable, Bas, l’adresse de leur site (aussi
(010005)
2001, page 38 et suivantes Elektor n° 296, février 2003, en anglais) : www.dil.nl
page 38 et suivantes (020032)
L’auteur de ce projet a mis à
notre disposition des versions Capacimètre auto-calibre, La liste des composants de ce
réactualisées du programme Elektor n° 298, avril 2003, montage requiert 2 corrections UART pour USB,
tournant sous Windows (010005- page 74 et suivantes mineures : Elektor n° 283, janvier 2002,
11) et du progiciel (firmware) du Il existe une différence entre le page 8 et suivantes
processeur (010005-41). Ces files schéma et la liste des compo- IC11 = 74LS688 (vu qu’il Il existe de nouvelles versions
sont disponibles sous la rubrique sants de cet article au niveau du n’existe pas de 74F688 !) des fichiers USBUART.SYS et
Téléchargement de notre site. Il transistor T1. Bien que tant le IC13 = 74LS573 ou 74F573 USBUART.INF qui permettent
semblerait que, en cas d’utilisa- BC557B que le BC559B puissent l’installation du programme sous
tion de la version 4 Koctets du fort bien travailler ici, le compo- Notons qu’il existe une source de Windows XP. Ces nouveaux
microcontrôleur d’Atmel, les der- sant préférentiel est le BC559B. kit et de composants pour ce fichiers sont disponibles dans la
niers octets ne se laissaient pas Le code du coffret proposé chez projet, encore qu’elle soit située rubrique Téléchargement de
programmer. Ce problème paraît Farnel est 736-442 et non pas aux Pays-Bas : notre site.
(010207)
être dû à des erreurs de chrono- 736-351. C-I Electronics, PO Box 55544
(020144)
32 Elektor 5/2003
DIVERS
Relais à puissance
réduite
Des relais modernes qui fonctionnent sur piles
par Klaus-Jürgen Thiesler
Bien que leur principe n’ait pas évolué en un siècle, les relais sont loin
d’être en voie d’extinction ! L’une des raisons : le circuit de commande
est isolé électriquement du circuit de commutation.
1 5
tissent continuellement mais deviennent tou-
jours plus puissants, et dont le brochage est 4 SS23 5V
100
prévu de plus en plus souvent pour le mon- 50mA
tage en surface. R2
C1 3 MAX4624
3 3
100n
Particularités des relais
Veiller au point suivant lors du choix d’un 020406 - 11
34 Elektor 5/2003
DIVERS
utilisé dans le domaine des télécom- RC, IC2 commute après 3 ms, analogique s’étend de +1,8 à 5,5 V. Le com-
munications est de 250 mW à 5 V lorsque la valeur de commutation posant MAX4624 présente la particularité de
pour une résistance interne d’envi- logique atteint environ 0,5 Uss. À ce limiter le courant de commutation maximum
ron 100 Ω. Le tableau fournit des moment-là, C2 est presque entière- possible à 1,2 A en cas de MCA (Maximum
indications sur la puissance dissipée ment chargé. R2 limite le courant de Conceivable Accident, accident maximal pré-
en fonction de la tension de com- charge maximum à 1 A. Le circuit visible). En tenant compte des contraintes
mande. Les valeurs nominales sont analogique MAX4624 est en outre thermiques, il peut commuter continuelle-
basées sur un fonctionnement protégé en interne contre les sur- ment ±200 mA en régime nominal et
garanti à 100 % en mode DC ! Il faut charges de courant jusqu’à 1,2 A ±400 mA en mode impulsionnel (durée d’en-
les déterminer empiriquement ou les –mais cette fonction ne doit être clenchement de 10 %, 1 kHz). Sa résistance de
obtenir auprès du fabricant. active que très brièvement sous commutation est de l’ordre de 0,6 Ω.
Il est toutefois presque toujours pos- peine de surcharge thermique. À l’instant de la commutation, le courant de
sible d’activer un relais avec une ten- La commutation du circuit analo- charge de C2, qui passe lorsque celui-ci est
sion plus basse. L’entrefer du flux gique IC2 place le condensateur déchargé, est très élevé ; il n’est limité que
magnétique se réduit dès que l’ar- électrolytique C2 en série avec la par la résistance interne des éléments de la
mature est attirée, de sorte que la tension d’alimentation Uss et la batterie et du condensateur électrolytique
bobine du relais n’a besoin que d’un bobine du relais. L’impulsion de cou- venant s’ajouter à RDSon du circuit analogique
courant plus faible pour la maintenir. rant fournie par C2 élève brusque- de IC2. R2 doit dissiper la majeure partie de
Dans un environnement dépourvu de ment la tension de la bobine au la puissance au cas où le condensateur élec-
vibrations, l’armature n’est relâchée double de la tension d’alimentation. trolytique subirait un court-circuit interne. La
que si la tension de la bobine dimi- Et le relais colle ! C2 se décharge constante de temps de R1|C1 doit dépasser
nue jusqu’à 1,5 V. immédiatement jusqu’à la tension de de plusieurs fois celle de R2|C2 (en l’occur-
Les valeurs réelles subissent une la pile +Uss moins la tension à l’état rence d’environ 10 fois). On assure ainsi que
dispersion due à la fabrication par passant de la diode de Schottky D1. le condensateur électrolytique est complète-
rapport aux valeurs du tableau ; il Le relais reste attiré car la tension ment chargé lorsque IC2 commute.
faut donc tester empiriquement plu- est encore supérieure à la tension de La capacité de C2 fixe l’énergie impulsion-
sieurs relais et tenir compte de leur retombée de 1,5 V. nelle nécessaire pour attirer avec certitude
type. Les piles coûtent cher ; il est S’il est impossible d’exclure l’éven- l’armature du relais utilisé. Il va sans dire
donc logique d’adapter la tension de tualité d’une inversion de polarité qu’elle peut varier fortement en fonction du
travail d’un relais au moyen d’un des éléments de la batterie, interca- type de relais et du fabricant. La seule solu-
commutateur analogique. ler une diode de Schottky type SS23 tion consiste à effectuer des essais. On peut
dans chaque ligne d’alimentation de toutefois se baser sur une règle empirique :
la broche 2 de chacun des 2 circuits 1 000 µF par ampère. La valeur que doit avoir
Le circuit analogiques IC1 et IC2. C2 croît avec l’énergie nécessaire pour com-
Le circuit de réduction des pertes de Les composants dépendent de la muter le relais.
commutation est représenté dans la tension d’alimentation fournie par La constante de temps de R1|C1 détermine
figure 1. Les commutateurs analo- les éléments de la batterie et des le délai entre l’impulsion haute à l’entrée de
giques sont représentés déclenchés caractéristiques du relais. Il faut commande et l’activation de l’armature.
(au repos). Si une tension positive qu’ils soient bien adaptés les uns Le condensateur électrolytique C2 est le com-
(>0,5 Uss) est appliquée à l’entrée aux autres, mais cela ne devrait pas posant le plus volumineux de ce circuit (le
de commande (broche 1), le courant constituer un problème. relais étant bien entendu hors concours). Les
passe par le commutateur analo- R3 protège l’entrée de commande commutateurs analogiques IC1 et IC2 sont
gique IC1 et par D1 avant de parve- contre les dommages qui pourraient livrables en boîtier SOT23 5 broches de taille
nir à la bobine du relais S1. La être causés par les tensions transi- fortement réduite.
bobine est prémagnétisée au moyen toires. Toutes les broches du compo-
de la charge rapide de C2 par R2. sant MAX4624 sont dotées en
Dans ce cas, la tension de la pile interne de diodes pouvant dériver Les conséquences
n’est pas suffisante pour attirer l’ar- jusqu’à 10 mA au maximum vers les Le rendement subit une amélioration extra-
mature du relais. 2 potentiels d’alimentation. ordinaire ! Comme la tension nominale du
C1 se charge en même temps par R1. La plage de tension d’alimentation relais n’est nécessaire que pendant un ins-
Grâce à la fonction logarithmique des circuits intégrés de commutation tant, la contribution de la puissance nominale
5/2003 Elektor 35
DIVERS
dissipée (250 mW) devient négligeable. En retombée qui doit être inférieure à la sance dissipée est réduite de 64 %.
résumé, la tension nominale de la bobine du tension de la pile partiellement Même un élément lithium-chlorure
relais utilisé dans un circuit peut être sans déchargée. Dans le cas de 2 élé- de thionyle (3,6 V) permet encore
inconvénient le double de la tension de la ments NiMH ou NiCd (2⋅1,2 V) la d’atteindre une réduction de 48 %
pile. La pile ne doit alors fournir que la ten- puissance dissipée est réduite de par rapport à un relais dont la ten-
sion de maintien, d’où réduction de la puis- 75 % par rapport à la puissance sion nominale de fonctionnement est
sance moyenne dissipée : il faut choisir le nominale dissipée à 5 V. Dans le cas égale à celle de la pile.
type de relais en fonction de la tension de d’un élément Li-Ion (3 V), la puis- (020406)
36 Elektor 5/2003
AUDIO&VIDÉO
Mesures de sécurité
Cet amplificateur véhicule des ten-
sions élevées létales. Les condensa-
38 Elektor 5/2003
AUDIO&VIDÉO
H5
020071-1
V3g
H1
H2
V3a
C3 C8
+440V
1-170020 V3
R26
D1
R12
R14
R23
ROTKELE )C(
R9
Tr+
C10
P1
C9
C7
C4
C2 TpV3
C1
R20
T
R24
Tp0
R28
C14
6.3V
V1
V2
R4
R8
C11 R29
R1
R16
R19
R21
R25 TpV4
P2
R3
R10
R27
-55V
R13
R11
R2
R7
R5
R6
Fb0
R18
R17
R15
R22
6.3V H6
V4g V4a
H3
H4
(C) ELEKTOR
020071-1
Figure 1. Dessin des pistes et sérigraphie de l’implantation des composants de la platine de l’amplificateur en version mono.
teurs électrochimiques présents sur sion. Dans ces conditions, dès la plantation des composants du circuit imprimé
la platine de l’alimentation ont une coupure de la tension du secteur les de l’amplificateur. Le seul élément à ne pas y
capacité importante de sorte qu’il condensateurs se déchargent en trouver place est le transformateur de sortie.
faut, après la coupure de l’alimenta- quelques secondes. Elles n’ont pra- Il s’agit d’une platine simple face qu’il vous
tion, un certain temps (et un temps tiquement aucune influence sur le sera facile de réaliser vous-même, mais elle
certain) avant que la haute tension fonctionnement de l’amplificateur. est également disponible toute faite auprès
ait chuté à une valeur ne présentant des adresses habituelles sous la dénomina-
plus de danger. Il faudra partant, tion EPS020071-1. Si vous décidez de réaliser
pendant la période des essais, bran- Réalisation des platines une version stéréo de cet amplificateur il vous
cher 2 ampoules à incandescence de La figure 1 vous propose le dessin en faudra 2 exemplaires.
220 V/15 W en série sur la haute ten- des pistes et la sérigraphie de l’im- Pour toutes les connexions nous avons fait
5/2003 Elektor 39
AUDIO&VIDÉO
C12 0V -55V
Liste des composants du
H1
H2
D5
D8
D7
D6
R12,R14 = 150 kΩ D4
R13 = 82 kΩ 340V~
R15 = 15 kΩ
H3
H4
Condensateurs :
(Ce sont tous, sauf mention contraire, des
condensateurs film Wima MKS4)
C1 = 470 nF/100 V au pas de 15 mm
C2 = 100 nF/400 V au pas de 15 mm
C3 = 10 µF/350 V ou 450 V axial dim.
12 x 25 mm
C4 = 100 pF/630 V polypropylène dim.
5 x11 mm (C) ELEKTOR
Semi-conducteurs :
appel à des picots de 1,3 mm de sec- solide des supports à la platine, élar-
D1 = diode zener 200 V/1,3 W
tion et aux connecteurs correspon- gir quelque peu les orifices présents
Tubes : dants. Nous avons utilisé, pour les dans la platine en utilisant un petit
V1 = EF86 tubes V1 et V2, des supports noval foret comme une sorte de fraise.
V2 = ECC83 dont il existe 2 modèles, à savoir l’un 6 orifices de fixation permettent de
V3,V4 = EL34 appairés en plastique, l’autre en céramique. fixer la platine solidement sur la
La platine a été dessinée pour les plaque de base, la partie où se trou-
Divers versions céramiques. vent les supports des tubes de
2 supports encartables Noval (9 points) Pour ce qui est de V3 et V4, les EL34, puissance étant ainsi encore mieux
céramique il s’agit de support octal en céra- supportée.
2 supports encartables Octal (8 points)
mique. Ces supports possèdent des Si tant est que l’on respecte les spé-
céramique
Tr1 = transformateur équilibré de sortie languettes de soudage de 2 mm de cifications de la liste des compo-
Lundahl LL1620 P-P large et de 0,5 mm d’épaisseur. Il sants la mise en place des différents
faudra, pour garantir une fixation éléments est très simple, ils d’adap-
40 Elektor 5/2003
AUDIO&VIDÉO
tent tous parfaitement. Les résis- Les gabarits des platines des ampli-
tances de type PR-02 de BC Compo- ficateurs et de l’alimentation pour- Liste des composants
nents (Ex-Philips) ont une tolérance ront prendre la forme de photocopies de l’alimentation
de 1% et possèdent 4 anneaux de des sérigraphies de l’implantation
couleur. Il est judicieux, comme il des composants, les dimensions des Résistances :
peut arriver que la lecture de la platines et les positions des orifices R1,R2 = 47 kΩ (Beyschlag MBE0414 ou BC
valeur soit délicate, de toujours véri- de fixation y étant indiquées. Il fau- Components PR-02, dim.. 4 x 12 mm)
fier sa lecture par une mesure à dra effectuer, pour le transformateur
Condensateurs :
l’ohmmètre. de sortie y compris son couvercle de
C1 à C4 = 100 nF/400 V au pas de 15 mm
Les supports pour les tubes sont protection, un relevé des dimensions C5 à C8 = 100 nF/1 000 V au pas de
soudés côté « pistes ». On pourra, extérieures (qui sont en fait celle du 22,5 mm
pour pouvoir fixer les contacts de couvercle) et des orifices à percer C9 = 470 µF/63 V radial au pas de 5 mm
façon optimale lors des opérations (pour le transformateur et le cou- dim. 12,5x25 mm
de soudage, enficher les tubes dans vercle cette fois). Le gabarit du C10,C11 = 470 µF/400 V radial au pas de
les supports. Faites bien attention, transformateur d’alimentation prend 10 mm (tel que, par exemple, Roederstein
dans le cas des supports octal, au en fait la forme d’un cercle avec série EYS)
positionnement correct du repère vu point central. Effectuez également C12 = 100 nF/630 V au pas de 22,5 mm
que ces supports se laissent mettre des gabarits de l’entrée de tension
dans pratiquement n’importe quelle secteur euro et du réglage de volume Semi-conducteurs :
position et qu’il devient pratique- ALPS. Ces gabarits sont collés sur la D1 à D4,D9,D10 = 1N4007
D5 à D8 = BYW96E
ment impossible de les enlever une plaque du châssis de manière à ce
fois soudés en place. que les platines des amplificateurs Divers
La platine simple face de l’alimenta- se trouvent à 13 mm des bords avant porte-fusible encartable + fusible
tion (figure 2) est disponible aux et latéraux (espace nécessaire aux 315 mA/rapide
adresses habituelles sous la déno- poutrelles de support du coffret). Les transformateur d’alimentation sec.
mination EPS020071-2. Ici à nouveau écrous de fixation des couvercles des 340 V/700 mA, 6,3 V/6,8 A et 40 V/0,1 A
nous avons utilisé, pour les transformateurs doivent eux aussi (tel que, par exemple, Amplimo 7N607)
connexions, des picots de 1,3 mm et rester à l’intérieur du bac en U. Les
les connecteurs correspondants. La transformateurs aux noyaux en Les transformateurs Lundah avec leurs
réalisation de la platine de l’alimen- forme de C se trouvent dans le pro- couvercles sont disponibles, entre autres,
tation n’appelle pas de remarque longement l’un de l’autre. Le trans- chez Aquablue à Anvers
particulière il suffit de faire attention formateur de l’alimentation vient se (www.diyparadiso.com), mais peuvent
également être commandés directement
à la polarité des diodes et des placer au milieu du bac en U.
chez Lundahl (www.lundahl.se).
condensateurs électrochimiques. Il est possible maintenant de centrer
les orifices et de les percer. Chaque Canford Audio PLC (www.canford.co.uk)
transformateur de sortie requiert est également distributeur de Lundhal. Ils
La construction 2 orifices servant au passage des ont un bureau en France.
Dans la partie inférieure gauche du conducteurs. Si on veille à disposer Les supports pour les tubes sont disponibles,
plan de câblage de la figure 3 nous ces orifices à l’intérieur de la partie entre autres, chez Aquablue, Conrad
indiquons les dimensions de la recouverte plus tard par le couvercle, (www.conrad.nl) et Amplimo
plaque du châssis et du bac. Ce der- ils ne seront pas visibles une fois (www.amplimo.nl). Les tubes électroniques
nier est fait d’une plaque d’alumi- l’amplificateur terminé. peuvent également être trouvés à ces
nium de 370 mm de long et de Tout autour des supports des tubes, adresses. Les résistances PRO2 sont vendues
290 mm de large, que l’on plie en U, nous avons percé 6 orifices de 8 mm par DOS (De Onderdelen Specialisten
chaque plan vertical faisant 80 mm de diamètre destinés à permettre www.dos.nl/index.html) et Farnell
(www.farnell.com), les condensateurs MKS4
(le fond de l’U faisant partant une circulation d’air, à des fins de
-par DOS, Conrad et Farnell.
130 mm de large). refroidissement, les EL34 atteignant
L’intérêt de ce châssis est que l’on une température relativement Autres composants
peut travailler indépendamment l’un importante. un ensemble entrée secteur châssis euro à
de l’autre sur le bac et la plaque. Les conducteurs allant aux fila- filtre secteur, porte-fusible et interrupteur
Certains des orifices existent et dans ments sont placés dans un guide- marche/arrêt intégrés +fusible 1,5 A
le bac et dans la plaque de sorte câble collé à l’intérieur de l’un des retardé
qu’il faudra, pour les effectuer, fixer angles du support en U (identifié 2 résistances NTC 5 Ω/5 W (Amplimo ou
(momentanément) ces 2 éléments par un « 1 » en bas à droite du plan Conrad)
l’un à l’autre. C’est la raison de la de câblage). Il est prévu des orifices 1 potentiomètre audio 2 x 100 kΩ log (tel
présence, sous les couvercles de pro- de passage sur les platines au que, par exemple, Alps type RK-27112)
tection des transformateurs, d’ori- niveau des points de connexion aux avec bouton
2 embases châssis Cinch (isolées)
fices-repères de fixation pouvant filaments.
2 bornes à fourche rouge (isolées)
recevoir des boulons de 2 mm. Le câblage vers les points 0 V,
2 bornes à fourche noir (isolées)
Il va nous falloir, pour l’étape sui- –55+V et +440 V prend place dans 2 couvercles pour les transformateurs de
vante, des gabarits en papier, en un guide-câble disposé en position sortie
papier transparent de préférence. « 2 ».
5/2003 Elektor 41
42
LS+ LS- Volume Interrupteur LS+ LS-
M/A - fusible
AUDIO&VIDÉO
Entrée
7N607 secteur
euro
NTC blanc
* -55 V noir *
R30 40 V ~ NTC marron R30
0V noir
Tr1 Tr1
A* A*
G* G*
Tr+ bleu Tr+
rouge jaune
gris
G 340 V ~ G
A A
+440 V
Elektor
370 mm de long Tr+ Fb+ 0V
TpV3 IN TpV4
+440 V Fb0 -55V
5/2003
AUDIO&VIDÉO
Réglages
Il faudra, lors du réglage de l’amplificateur et de mesures, brancher à la sor- Tp0
6k8
en modifie les caractéristiques; il est partant judicieux, au début, de vérifier
le réglage au bout de quelques semaines et plus tard tous les quelques mois. M1
Le courant au travers des tubes peut présenter de légères variations. Il est +
pour cette raison relativement délicat de procéder au réglage en utilisant un 100µA 020071 - 2 - 12
Ri = 1k
voltmètre numérique; il est préférable d’utiliser un instrument analogique à
affichage à aiguille. Vu que le réglage est une opération répétitive au fur et à
mesure des années, il n’est pas mauvais de prendre quelques dispositions facilitant ce processus. Nous allons utiliser un petit dispositif
auxiliaire. À cet effet on fixera, à l’aide d’un morceau de scotch double face, à un endroit facilement accessible, et pour chaque étage, une
embase à 3 contacts. Le contact central est relié au point de test Tp0, les contacts extérieurs l’étant respectivement aux points TpV3 et
TpV4. Notre dispositif auxiliaire sera doté d’une embase femelle à 3 contacts à l’extrémité de son câble de connexion (qui ira s’enficher
dans l’embase évoquée quelques lignes plus haut).
Chaque EL34 doit être traversée par un courant (anode + grille de protection) de 50 mA, la dissipation de chaque tube étant de quelque
22 W. On relève, aux bornes de la résistance de cathode de chaque tube, une tension de l’ordre de 0,5 V.
Il va falloir commencer par le réglage de notre dispositif auxiliaire. Appliquez aux points de connexion Tp0 et Tp3 du circuit représenté ci-
contre, une tension continue de 0,5 V et ajustez, par action sur P1, l’affichage, sur l’instrument de mesure, à 50 (lire des mA au lieu des
µA affichés). S1 doit se trouver en butée vers le chaut, dans la position DC current (courant CC).
On mesurera, dans la position DC balance (équilibre CC), la différence de tension entre les points TpV3 et TpV4. S’il circule, à travers les
tubes, des courants identiques, l’instrument affichera « 0 ». Notons que la sensibilité est ici plus importante, vu que seule R1 fait office de
résistance de limitation de courant.
Dans la position AC balance (équilibre CA) les points TpV3 et TpV4 sont interconnectés, un casque d’écoute branché sur le jack femelle
K1 permettant d’entendre le signal.
Réglage de AC balance
Le réglage de cet élément se fait, normalement, à l’aide d’un distorsiomètre. Mr Byrith a imaginé une solution pour effectuer ce réglage à
l’oreille. Mettez le commutateur en position AC balance et appliquez à l’entrée de l’amplificateur un signal sinusoïdal de 1 kHz/100 mVeff.
Écoutez au casque le signal produit et jouez sur P1 jusqu’à ce que le signal de 1 kHz soit devenu le plus faible possible. Si l’on entend aussi
le ronflement du secteur ainsi que des harmoniques du sinus et que le signal acoustique surfe sur des « vagues » il n’en reste pas moins
possible de trouver une position dans laquelle le signal de 1 kHz est minimum. On trouve alors sur les cathodes le signal de phase opposé
mais d’amplitude identique. Une excellente idée.
Les platines des amplificateurs sont mentation est elle aussi fixée à l’aide Premiers essais
fixés sur la plaque à l’aide d’entre- d’entretoises. Les platines des ampli-
toises de 10 mm. À l’aide de rondelles ficateurs sont séparées par une pla- Tant que les platines des amplificateurs n’ont
on ajuste leur position de manière à quette de protection en aluminium. pas encore été mises à leur place définitive il
ce que les supports des tubes de Le réglage de volume ALPS sera reste possible d’atteindre n’importe quel
puissance arrivent en butée contre la encapsulé dans un blindage réalisé endroit. Il est judicieux, pour pouvoir en véri-
plaque supérieure. La platine de l’ali- dans une tôle de faible épaisseur. fier le bon fonctionnement, d’avoir déjà réa-
5/2003 Elektor 43
AUDIO&VIDÉO
Figure 4. Vue plongeante sur le dessous d’un exemplaire terminé d’un amplificateur « Straight ».
lisé l’alimentation. Pour cela, nous allons composants atténuent le choc de l’alimentation et on y reliera le trans-
monter le transformateur d’alimentation et la mise sous tension. Ils ne sont pas formateur de sortie. Attendez avant
platine de l’alimentation dans le bac en U qui indispensables au fonctionnement de brancher la HT et commencez par
recevra également l’entrée secteur de type correct de l’amplificateur mais vérifier que les tubes s’allument.
euro que l’on aura dotée d’un fusible de 1,5 A constituent une solution à la fois Dans le cas du EF86 il est possible
retardé. Sur une plaquette d’époxy nous simple et efficace de temporisation à de s’en assurer (encore que cela ne
avons placé une double rangée de 4 borniers la mise en fonction. soit pas très évident) en regardant le
fixés à l’aide de vis de 3 mm dont la tête Une fois que l’on aura effectué le tube par le haut. Sortez les tubes de
biseautée vient s’encastrer sur le dessous de câblage entre l’entrée secteur, le puissance (après avoir coupé l’ali-
la plaquette. Cette dernière est fixée, par le transformateur d’alimentation et la mentation bien entendu) et connec-
biais d’un écrou additionnel, sur le boulon de platine de l’alimentation on pourra tez la HT. On pourra, après avoir
fixation du transformateur d’alimentation. Les tester le fonctionnement de cette remis l’ensemble sous tension et
4 borniers inférieurs servent à la connexion dernière. Pour cela on connecte les laissé le temps aux EF86 et ECC83
des filaments. La quasi-totalité du câblage 2 ampoules à incandescence de de chauffer, vérifier les tensions aux
(exception faite des conducteurs plus gros 220 V/15 W prises en série aux bornes des supports de ces tubes. Il
allant vers les bornes de connexion des haut- lignes +440 V et 0 V avant de mettre se peut que les valeurs de tension
parleurs) prend la forme de câble souple le système sous tension. Si les relevées présentent de petites tolé-
d’une section de 0,5 mm2 de différentes cou- ampoules s’allument on pourra véri- rances, mais si vous mesurez une
leurs. Un bornier accepte sans le moindre pro- fier, au voltmètre (et en prenant les valeur très différente il est fort pro-
blème jusqu’à 3 de ces conducteurs. précautions requises !), les valeurs bable qu’il y ait une erreur au niveau
Les 4 borniers supérieurs servent à la de la HT et de la tension de grille de l’une des résistances.
connexion des conducteurs secteur du trans- négative. Si tout colle, il sera temps de
formateur vers la prise secteur euro d’entrée. Après avoir coupé la tension, on remettre les tubes en place (après
Chacun de ces conducteurs est doté d’une connectera la platine de l’amplifica- avoir coupé l’alimentation) et l’on
résistance NTC prise en série avec lui. Ces teur (sans la fixer dans le boîtier) à pourra enfin procéder à un réglage
44 Elektor 5/2003
AUDIO&VIDÉO
provisoire de l’amplificateur. Nous dessous du bas est doté de supports NdlR :
vous renvoyons, pour cette procé- autocollants. Nous ne pouvons pas ne pas ajouter ci-dessous le
dure, au paragraphe de l’encadré Même s’il n’est pas doté d’un coffret, courriel qui nous est arrivé en toute dernière
intitulé « Réglages ». On pourra, l’amplificateur constitue un minute.
dans l’état actuel des choses, mon- ensemble solide grâce à son bac en
ter les platines des étages d’amplifi- aluminium. Si l’on dispose, sur le Chère Rédaction,
cation dans le coffret et effectuer le dessus des couvercles des transfor- La lecture de votre premier article m’a poussé
reste du câblage. mateurs, des petites lattes que l’on à vous envoyer cet E-mail avec une adresse
y fixe à l’aide de scotch double face, qui me paraît très intéressante.
on pourra, après l’avoir retourné et y C’est un petit magasin à Paris qui a énormé-
Finissage avoir implanté les tubes, le poser ment de références de tubes anciens en stock.
Un amplificateur tel que celui-ci ainsi sur une table. Il est possible
requiert purement et simplement un ainsi d’avoir accès partout sur l’am- D.M.
joli coffret en bois. Nous l’avons réa- plificateur et cela facilite la mise en Société RADIO TUBES
lisé en pièces de bois aggloméré place du coffret en bois. 40, Boulevard du Temple
(multiplex) de 9 mm d’épaisseur de On pourra le cas échéant fermer le 75011 PARIS
manière à camoufler les orifices per- dessous du coffret à l’aide d’une Tél : 01 47 00 56 45
cés dans la plaque du châssis et le plaque d’aluminium (à mettre à la du lundi au jeudi de 14 h à 18h.
bas en U. Dans la partie arrière du terre) que l’on aura dotée d’orifices E-Mail : [email protected]
coffret nous avons percé 2 orifices d’aération. www.radio-tubes.net/fr.html
carrés destinés aux connecteurs et à Il est recommandé, dans une chaîne
la commande de volume. Le coffret audio, de mettre l’amplificateur le
est recouvert d’une fine couche de dernier sous tension de manière à
bois naturel mais rien n’interdit non éliminer tout risque de bruit d’en-
plus d’utiliser des morceaux de bois clenchement (ploc ou autre crac).
massif pour réaliser le boîtier. Le (020071-2)
Publicité
5/2003 Elektor 45
DOMESTIQUE
Multiprise pilotée
par RS-232
Télécommande via RS-232 et I2C
Werner Frank
46 Elektor 5/2003
DOMESTIQUE
maître (master). Chaque changement
d’état des lignes de port (flancs mon- INT
13 INTERRUPT LP FILTER
LOGIC
tants et descendants) produit une A0
1 PCF8574
2
interruption que pourra enregistrer A1
3
4
P0
5
un microcontrôleur connecté au sys- A2
6
P1
14 P2
tème. Sachant cependant que la pré- SCL
15
INPUT I 2 C BUS 7
P3
SDA FILTER CONTROL SHIFT 8 BIT I/O
sente réalisation n’utilise pas la sor- REGISTER PORT
9
P4
10
P5
tie d’interruption nous pouvons nous 11
P6
passer d’entrer dans le détail de son 12
P7
1k2
1k2
1k2
1k2
1k2
émule le bus I2C. Les seules lignes
utilisées outre la masse sont DTR
(Data Terminal Ready) et RTS TR1
+12V
1 2 3 4 5 6
K1
(Request To Send). Les diodes assu- IC2
78L05 +5V +12V
rent la conversion de niveau du B1
1 2 3 4 5 6
K2
±12 V (RS-232) au +5/0 V logique D5
RE1
F1 C2 C4 C3
dont a besoin le PCF8574 en tant
100mA T B80C1500R 220µ 100n 100n +12V
que signal d’horloge et signal de 25V 1N4148
T1
R4
donnée. Cette approche ultra-simple 10k
RE2
D6
ne permet de circulation des don- BC547
chose ici... R1 R2 R3
K3
C1
Les 6 lignes d’E/S utilisées attaquent RE3
10k
10k
10k
D7
100n
chacune, au travers d’un transistor +12V
16 1N4148
de commande, un relais doté en R6
T3
10k
pilotage) d’une LED reliée au +12 V
BC547
020298 - 11
par le biais d’une résistance de
1kO2, de manière à visualiser l’état
du relais concerné. Figure 2. Le circuit intégré I2C entouré d’une interface sérielle et de 6 relais de sortie.
5/2003 Elektor 47
DOMESTIQUE
F1 Liste des composants
H2
H3
100mAT
1 Résistances :
RE1 T1
R1 à R9 = 10 kΩ
K2
R3 R2
D5
2R4 R10,R11 = 330 Ω
RE2 T2 TR1
R5 JP1
D6 3
JP3 R1 Condensateurs
DTR
RTS
T
RE3 T3 C1,C3,C4 = 100 nF
K3
JP2
K5
R6
D7
4 C2 = 220 µF/25 V radial
RE4 T4 D4 D2 B1
R7 C4
IC1
D8 R11 C3
5 R10
Semi-conducteurs :
RE5 T5 D1,D2,D5 à D10 = 1N4148
K4
D9 R8 D3 D1
6 D3,D4 = diode zener
RE6 T6 5V1/500 mW
R9 K1
D10 + IC2 T1 à T6 = BC547
H4
H1
1-892020 C1 C2
ROTKELE )C( 020298-1 IC1 = PCF8574(A) (Philips)
IC2 = 78L05
Divers :
JP1 à JP3 = cavalier ou pont de
(C) ELEKTOR câblage*
020298-1
K1 à K4 = bornier encartable à
2 contacts au pas de 75, mm
(RM7,5)
K5 = embase SIL à 1 rangée de
3 contacts
K6 = embase Sub-D 9 points
châssis
TR1 = transfo 9 V/1VA5 tel que,
par exemple BV EI 302 2021
(Hahn)
RE1 à RE6 = relais tel que Finder
34.51.7.012.00 (12 V) (Conrad
RFA 504459)
F1 = porte-fusible avec capuchon
et fusible 100 mA retardé
B1 = B80C1500 (rond)
en option 6 résistances de 1kΩ2 et
6 LEDs
Figure 3. La platine se glisse tout juste dans le boîtier de la multiprise.
48 Elektor 5/2003
DOMESTIQUE
forme d’un flanc montant sur SDA pendant
que SCL se trouve au niveau haut.
Pilotage
Le pilotage de l’interface sérielle sous Win-
dows se fait par le biais des fonctions mises à
disposition par la .dll Serial.dll que nous
décrivons exhaustivement et vous proposons
ailleurs dans ce numéro. Cette. dll (téléchar-
gée ou sur disquette EPS020388-11) fait éga-
lement partie de ce projet et devra être reco-
piée dans le répertoire \WINDOWS\SYSTEM.
Le programme proprement dit, SOCKETS, fait
appel aux fonctions SetDTR, Reset-DTR,
SetRTS et ResetRTS. En outre, COMPortExist
détermine quels sont les ports existants;
OpenCOM/CloseCOM est elle aussi néces-
saire en vue d’activer ou de désactiver le port
auquel est connectée la multiprise.
La procédure la plus importante s’appelle
SendI2C; elle envoie un octet de donnée à
une adresse I2C spécifiée. Un coup d’oeil au
fichier source permet de constater que tout
ce dont il s’agit est d’assurer un pilotage cor-
Figure 5. Commande de la multiprise par le biais d’une fenêtre Delphi5 tournant rect des 2 lignes dans l’ordre convenable.
sous Windows. Après chaque changement de niveau
apporté aux lignes, on a inséré une petite
pause de manière à maintenir la vitesse de
société suisse Finder permettent une se trouvent au niveau haut. Le transmission sur le bus à l’intérieur des
réalisation extrêmement compacte. maître lance la transmission par limites (autorisées).
mise d’un flanc descendant sur la La figure 5 reproduit la fenêtre du programme
ligne DSA, SCL restant au niveau d’exemple en Delphi5, programme dont le
Les pilotes haut (conditions initiales). SCL passe code-source est disponible. Il ne requiert que
Ce projet est accompagné de codes- ensuite au niveau bas. Au fur et à peu d’explications. Tout débute par la sélec-
source et de fichiers exécutables mesure des flancs montants du tion et l’ouverture du port COM souhaité; on
pour Windows (application Delphi), signal SCL on a émission successive choisit ensuite l’adresse du circuit intégré qui
Linux et DOS (tous deux en C). Vous des 7 bits d’adresse suivis d’un bit dépend et du type de composant (PCF8574 :
pouvez télédécharger tous ces pro- R/W de clôture. Le niveau de la ligne adresse de base $20, variante A : adresse de
grammes gratuitement depuis notre SDA ne peut (et ne doit) changer que base $38) que de l’état (ouvert ou fermé) des
site Internet (www.elektor.fr) dans le pendant les passages au niveau bas embases à cavalier JP1 à JP3. Une fois ce
mois concerné voire les obtenir sur du signal SCL. Dans le cadre de paramétrage effectué il sera possible d’acti-
disquette auprès des adresses habi- cette application, le bit R/W se ver (mettre sous tension) ou de désactiver
tuelles (EPS020298-11). trouve en permanence au niveau bas (mettre hors-tension) chacune des prises.
Le coeur du programme est bien (« 0 » = Write). Normalement, l’es- Lorsque l’on veut quitter l’application il suf-
entendu la simulation du bus I2C à clave a la possibilité de confirmer la fira de clôturer le port sériel ou tout simple-
l’aide de 2 des lignes d’une inter- réception d’une adresse valide par ment d’appuyer sur le bouton « Exit ».
face sérielle de PC « normale ». l’émission d’un accusé de réception. (020298)
Nous le disions plus haut, la ligne Bien que cela ne soit pas prévu ici, le
DTR pilote la ligne d’horloge I2C maître doit générer une impulsion
sérielle, SCL (Serial CLock), RTS d’horloge additionnelle que l’esclave
pilotant la ligne de données I2C, interprète comme confirmation de
SDA (Serial DAta). Comme il n’est l’accusé de réception.
pas question que le PC reçoive des L’esclave est ensuite paré pour la Téléchargements
données en provenance du circuit réception des 8 bits de donnée. Vous trouverez, à l’adresse
intégré I2C, il n’est pas prévu, au Chaque bit est en relation directe www.elektor.fr/dl/dl.htm
niveau du logiciel, d’accusé de avec l’une des sorties. On a encore les fichiers suivants de ce projet pour un
réception (aknowledge) du mot de ensuite une impulsion SCL de télédéchargement :
– Fichiers de code-source et exécutable
donnée reçu par le PCF8574. confirmation du pseudo-accusé de
pour Windows (application Delphi), Linux
Lors du lancement du logiciel PC (ou réception, à la suite duquel le maître et DOS (ces 2 derniers en C)
après envoi d’un paquet de données) clôture la transmission par une ins- – Dessin des pistes au format .pdf
le bus est au repos et les 2 lignes I2C truction d’arrêt (stop) qui prend la
5/2003 Elektor 49
ÉLECTRONIQUEEN LIGNE
Le format MP3 s’est fait, au cours des dernières années, une jolie place au
soleil dans le monde de la musique. On trouve aujourd’hui nombre de
modèles de lecteurs de fichiers MP3 à acheter, en version de salon ou
portable, avec lecteur de CD, disque dur ou mémoire Flash. Mais réaliser son
propre lecteur MP3 garde tout son attrait pour l’électronicien amateur.
50 Elektor 5/2003
ÉLECTRONIQUEEN LIGNE
face USB et un chargeur Li-Ion. L’af- (maître/esclave), ce
fichage, de même d’ailleurs que l’ac- qui se traduit par une
cumulateur Li-Ion a été récupéré sur capacité maximale de
un téléphone GSM. Le concepteur 256 Goctets !
offre les différents composants et Le Beatbox 2002 [7],
platine requis pour la réalisation de s’il ne fait pas partie
son projet voire plusieurs versions de la catégorie des
montées et testées. mini-lecteurs, n’en est
Les « technautes » « cachés » der- pas moins un appareil
rière MP3ar [4] n’ont pas fait du sur- compact. Il possède
place depuis la dernière fois que les dimensions d’un
nous en avions parlé (septembre disque dur de 3,5” et
2001). Ils proposent sur leur site un se compose d’une pla-
lecteur de MP3 portable à disque dur tine, d’un disque dur
de 2,5”. Le contrôleur utilisé ici est de 2,5”et d’un affi-
un PIC18C452, le décodeur étant à chage graphique de
nouveau un VS1001k. Il est possible, bonnes dimensions à
pour de l’ordre de 100 $US, de com- commande tactile. Le
mander un kit complet comprenant microcontrôleur utilisé
la platine dotée de ses composants, est un MC68332 de
un affichage LCD et un CD-ROM Motorola, épaulé par
avec logiciel. Il vous reste tout juste à un décodeur du type
acheter le disque dur. VS1001.
Le lecteur megaPEG [5] de Gregor Une interface USB-2.0
Horvat est un concept qui n’a pas garantit un transfert
été réactualisé depuis plus d’un an, rapide des fichiers
mais les images placées sur son site MP3. Ce lecteur offre
permettent de découvrir une jolie de nombreuses possi-
petite platine à laquelle viennent se bilités d’autant plus
connecter un disque dur et un affi- qu’il est capable de
chage graphique. Pour son projet, lire différents formats
Horvat utilise un microcontrôleur audio (MPEGI et II
ATMega103 et un décodeur layer 1, 2, 3, plus
MAS3507D. MPEG2.5).
Fallguy [6] est un concept universel Le IMAP2 [8] de David
que l’on pourra utiliser aussi bien Freudenberger ne
chez soi, dans sa voiture, voire en mérite pas le qualificatif de portable, avec disque dur ou lecteur de CD + affichage,
portatif. mais n’en est pas moins un lecteur le tout dans un boîtier compact). La dernière
Le matériel prend la forme d’un autonome pouvant se voir connecter réactualisation de ce site date cependant d’il
68HC912 et d’un STA013. Un affi- un lecteur de CD ou un disque dur. y a 18 mois, raison pour laquelle il est forte-
chage LCD de 128 x 64 pixels affiche Son pilotage est confié à un PIC, le ment recommandé, avant de se lancer dans
les titres et informe quant aux traitement MP3 est l’affaire du ce projet, de s’assurer de la disponibilité des
organes de commande. L’une des fameux MAS3507D de Micronas. composants utilisés. Les composants-clé de
spécificités de ce concept est la pos- Le MP3 Player [9] de Codepuppies ce projet sont un PIC et un MAS3507D.
sibilité de le doter de 2 disques durs est un concept similaire (platine Le site mp3projects.com [10], que nous
mentionnions voici 2 ans reste la meilleure
source pour se faire une idée de tous les
projets MP3 actuels à réaliser soi-même pro-
posés sur Internet. Ce panorama, qui
Adresses Internet occupe plusieurs pages, a été subdivisé en
[1] VLSI Solution: www.vlsi.fi/ 3 groupes : autonome (stand-alone), por-
[2] Super-Simple pocket size MP3 player: table et à base de PC. L’auteur de ce site
www.walrus.com/%7Eraphael/html/mp3.html propose, pour 20 $US, un CD-ROM où sont
[3] YAMPP-7: www.myplace.nu/mp3/index2.htm rassemblés quantité de logiciels pour une
[4] MP3ar: www.mp3ar.com/ réalisation personnelle d’un lecteur de MP3.
[5] megaPEG: www.indata.si/grega/megapeg.htm On y trouve, entre autres, des fiches de
[6] Fallguy: www.loetronic.com/home-e.htm caractéristiques, des assembleurs/désas-
[7] Beatbox 2002: www.beatbox2002.de/ sembleurs, des logiciels de dessin de pla-
[8] IMAP2: www.chez.com/imap3/index2_e.html tine, des émulateurs ainsi que des codes-
[9] MP3 Player: www.codepuppies.com/~ben/sens/pic/mp3/ source et des routines utilisables pour dif-
[10] mp3projects.com: www.mp3projects.com/ férentes fonctions.
(035026)
5/2003 Elektor 51
AUDIO&VIDÉO
Picomire
La mire vidéo à 10 €
Florent Simonnot
52 Elektor 5/2003
AUDIO&VIDÉO
100% sons une alimentation par pile 4,5 V, cela nous
donne les niveaux suivants : 0 V pour le top,
1,5 V pour le noir, 3 V pour le gris, 4,5 V pour le
blanc, valeurs qui correspondent exactement
au cahier des charges qui définissait un top
33% égal au 1/3 de l’amplitude totale du signal et
un rapport de 66% pour le blanc.
5 µs 5 µs 52 µs 2 µs
64 µs
Le reste de l’électronique
020403- 12 Un circuit d’adaptation d’impédance basé
autour d’un montage transistor-suiveur (col-
lecteur commun) permet d’abaisser la résis-
Figure 1. Chronodiagramme d’une ligne vidéo. tance de sortie du convertisseur tout en four-
nissant une impédance proche de 75 Ω pour
le signal vidéo. Il n’en faut pas plus pour géné-
rer un signal vidéo noir et blanc (N&B) de bon
C1 aloi. Nous en avons terminé avec l’électro-
nique, il est temps de nous intéresser d’un
100n
peu plus près au coeur de ce montage, le PIC.
1
X1 2
GP5/CIN GP3/MC
4 La platine
T1
5 R1 R3 R4 Un rapide coup d’œil au dessin de la platine
IC1 GP2
6 1k2 1k2 1k2 représenté en figure 2 aura vite fait de vous
GP1
3 7 R2 R6 convaincre qu’il existe des différences sen-
GP4/COUT GP0
4MHz 1k2 2N2222 75Ω
PIC12C508C sibles entre le dessin de l’auteur (cf. la photo
R5 en tête d’article) et le nôtre. L’absence de la
8
résistance inférieure sur le prototype de l’au-
120Ω
R4
R6
R1 T propre platine.
R3
0 ROTKELE )C( (C) ELEKTOR
020403-1
Le programme du PIC
Figure 3. Dessin des pistes et sérigraphie de l’implantation des composants de la Comme nous le disions plus haut, la pro-
platine dessinée à l’intention de Picomire. grammation du PIC doit être synchrone car le
noyau du PIC12C508 (si toutefois on peut
Liste des composants Condensateurs : encore, vu la taille de ce dernier, parler de
C1 = 1 00 nF noyau) ne peut être interrompu (INT) et
Résistances : quand bien même il aurait pu l’être, il n’aurait
R1 à R4 = 1kΩ2 Semi-conducteurs : pas été assez rapide pour traiter une inter-
R5 = 120 Ω T1 = 2N2222 ruption : à 4 MHz, le PIC effectue une opéra-
R6 = 75 Ω IC1 = PIC12C508C (Microchip)
tion toutes les microsecondes (µs). Quelles
R5 = 4kΩ7 performances peut-on en attendre (c’est-à-
Divers :
X1 = quartz 4 MHz dire quel est le plus petit motif affichage avec
ce microcontrôleur) ? Une ligne visible dure
quelque 52 µs, soit le temps correspondant à
l’exécution de 52 instructions. Comme il n’est
lisant 2 sorties du PIC12C508 nous une valeur de 1,2 kΩ, Vout = 1/3 VCC pas possible, en raison de la structure du
aurons une loi de réponse en sortie (2MSB+LSB) avec le MSB en convertisseur N/A, d’utiliser l’instruction de
du réseau telle que, dès lors que l’on broche GP0 et le bit de poids faible manipulation de bit (BCF et BSF), il nous fau-
choisit des résistances ayant toutes (LSB) en broche GP1. Si nous utili- dra utiliser un movlw xx suivi d’un
5/2003 Elektor 53
AUDIO&VIDÉO
54 Elektor 5/2003
AUDIO&VIDÉO
Mieux connaître EEPROM de données (16 mots de
8 bits). Les composants de cette
le PIC12C508 famille exécutent toutes les instruc-
Le PIC12C508 de Microchip est, avec tions qu’ils connaissent en un seul
ses 8 boches seulement, l’un des cycle d’horloge (soit 1 µs à une hor-
plus microcontrôleurs les plus petits loge de 4 MHz).
que l’on puisse trouver actuellement Notons qu’il existe une version plus
sur le marché. La famille des récente de ce composant, le
PIC12C5XX comprend, outre le 508, PIC12C508A, de même qu’il existe
les 509 et 518. Le 508 possède une d’ailleurs une version 12C509A.
EPROM de 512 mots de 12 bits et Pour de plus amples informations à
une RAM de 25 mots. Le set d’ins- leur sujet, on pourra faire un tour sur
truction de cette famille se limite à le site Web de Microchip à l’adresse :
33 instructions seulement. Le 509 www.microchip.com/1000/pline/
possède une EPROM de 1 024 mots picmicro/category/digictrl/8kbytes/
et une RAM de 41 mots. Les CE518 devices/12c508/ Figure 5. Voici ce que devrait donner l’écran de
et CE519 sont des versions à (020403)
votre téléviseur après connexion de Picomire.
5/2003 Elektor 55
CIRCUITSdeLECTEURS
Interface
CompactFlash
Pour système MCS-BASIC52
Gilbert Meers
Une part importante du marché des appareils requises pour la signalisation de sai- de ses ports bidirectionnels PB0 à
photo numérique utilise une carte Compact- sie de paramètres invalides et l’in- PB7 il commande les lignes de don-
Flash comme médium de stockage et que ce terdiction d’écrasement involontaire née D0 à D7, ses ports bidirection-
type d’appareil connaît une expansion quasi- de blocs par réécriture. La consom- nels PA0 à PA7 prenant à leur
exponentielle, ces cartes de mémoire extrê- mation de courant de l’interface est compte le pilotage des lignes de
mement compactes, d’où leur nom, devien- de quelque 42 mA, la vitesse de donnée D8 à D15. Les ports PC0 à
nent de plus en plus populaires. La taille de transfert est elle de 50 Koctets/s. PC7 assurent le pilotage des lignes
la mémoire stockée dans une CompactFlash L’auteur utilise cette interface sur un de commande de l’interface IDE. Les
ne cesse de croître, leur prix au mégaoctet ne système tournant à 20 MHz et certi- ports bidirectionnels PA0 à PA7 et
cessant de devenir plus attrayant et ce à un fie que le transfert de données se fait PB0 à PB7 sont activés en entrée ou
point tel que ce type de carte intéresse de de façon très fiable. en sortie au moment précis où cela
plus en plus les possesseurs de PC, raison est nécessaire. Les lignes du port
pour laquelle nous nous y sommes intéressés PC, PC0 à PC7 sont en permanence
dans le numéro d’avril 2002 d’Elektor (n°286, Le schéma des sorties.
page 48 et suivantes) et que nous vous avons La figure 1 vous propose l’électro- Les inverseurs intégrés dans IC2
proposé une carte d’adaptation à leur inten- nique de l’interface. Comme le sont requis en raison du fait que lors
tion. La première carte de 16 Moctets fournie montre un coup d’oeil au schéma, de la commutation de sens de trans-
avec votre appareil photo numérique a depuis l’électronique nécessaire se limite à fert des données le 82C55 met les
lors fait place à sa grande soeur de 256 voire un 82C55, un 74LS04, une paire de dites lignes de port au niveau bas
512 Moctets, de sorte qu’elle ne sert plus à LED d’indication et 2 connecteurs. (« 0 »). Ces inverseurs évitent tout
grand chose, alors que sa capacité est celle Le connecteur à 50 contacts K2 sert risque de situation d’états incontrô-
de plus de 10 disquettes. de « point d’ancrage » de la carte lée au niveau des lignes de com-
Cette publication fut l’une des raisons qui CompactFlash. La broche 9 de ce mande.
poussa l’auteur de cet article à développer connecteur est reliée à la masse, ce Il faudra amener sur le connecteur
une interface reliée aux bus d’adresses de qui force la carte à se comporter K1 les signaux système suivants :
données et de commande du PC et qui asso- comme un disque dur IDE. En cas 5 V et GND (masse); D0 à D8; RD,
ciée à un programme simple, permet de d’utilisation de la carte dans ce WR, A0, A1 et RESET; CS.
transférer et stocker sur la carte Compact- mode il est impératif de mettre le À noter que le montage ne comporte
Flash des programmes en BASCI52. cavalier JP1 (pris entre la broche 39 pas le décodeur d’adresse fournis-
Le programme nécessaire est disponible au et la masse) en place. sant le signal CS (Chip Select). Le
téléchargement sur le site d’Elektor Le pilotage de l’interface IDE est signal CS devra se trouver au niveau
(www.elektor.fr); il est doté des fonctions confiée à IC1, un 82C55. Par le biais bas en cas d’adressage des adresses
56 Elektor 5/2003
CIRCUITSdeLECTEURS
se trouvant dans le domaine com- tions CALL depuis MCS BASIC52). Il faudra, si le signal CS du connecteur K1
mençant à 0C000HEX. Le 82C55 Le logiciel intègre un pilote IDE de sélecte des adresses différentes de celles
requiert 4 adresses : base qui subdivise la carte Com- indiquées plus haut, modifier en conséquence
les attributions d’adresse.
Registre de données PA, adresse de base +0 Comme le logiciel est destiné à servir d’ex-
Registre de données PB, adresse de base +1 tension au MCS-BASIC52, le système
Registre de données PC, adresse de base +2 concerné devra être doté de suffisamment de
mémoire de programme additionnelle à par-
Registre de commande, adresse de base +3
tir de l’adresse 2000HEX. La taille du pro-
gramme est de 1,6 Koctet.
Terminons par un passage en revue pactFlash en blocs de 8 192 octets.
de quelques détails intéressants du Une carte classique de 64 Moctets Il faudra, si l’on a déjà doté son système
schéma : la LED D1 s’allume en cas possède de ce fait une capacité de d’instructions MCS-BASIC52 additionnelles,
d’activité au niveau de la carte Com- 7 824 blocs, ce qui nous donne un modifier en conséquence le programme
pactFlash. La LED D2 signale la pré- total de 64 086 016 octets. Cette source et en effectuer un nouvel assem-
sence de la tension d’alimentation valeur est légèrement plus faible que blage. Il ne faudra pas oublier que le pro-
de 5 V. Les condensateurs C1 et C2 la capacité nominale, ceci étant du gramme source utilise des instructions
servent enfin au découplage de la au fait que le logiciel n’utilise pas la ACALL, instructions connaissant une limite
tension d’alimentation. totalité du dernier cylindre. de 2 Koctets !
Le programme source comporte une
procédure d’attribution des adresses Le logiciel est compatible avec les version
Le logiciel du 82C55 : V1.1 et V1.3 de MCS-BASIC52.
Le logiciel requis par cette interface
est écrit en ASM51, son code source P8255A EQU 0C008H ;ADRESSE PORT A
étant proposé sous 2 versions : P8255B EQU 0C009H ;ADRESSE PORT B
– PARCFFU.ASM. (pour des instruc- P8255C EQU 0C00AH ;ADRESSE PORT C
tions PCFF depuis MCS BASIC52);
P8255CO EQU 0C00BH ;ADRESSE COMMANDE
– PARCFF.ASM. (pour des instruc-
+5V +5V
+5V
C1 26
18 D0
PB0
100n 19 D1
PB1
K1 20 D2
K2
PB2
21 D3
PB3 1 26
22 D4
PB4 D3 2 27 D11
D0 34 23 D5
D0 PB5 D4 3 28 D12
D1 33 24 D6
D1 PB6 D5 4 29 D13
D2 32 IC1 25 D7
D2 PB7 D6 5 30 D14
D3 31
D3 4 D8 D7 6 31 D15
D4 30 PA0
D4 3 D9 CS0 7 32 CS1 +5V
D5 29 PA1
D5 2 D10 8 33
D6 28 PA2
D6 82C55 1 D11 IC2.A 2 IC2.D 8 9 34 IORD
D7 27 PA3
D7 40 D12 10 35 IOWR
PA4 R2
39 D13 1 1 11 36 D1
PA5
10k
6
CS 38 D14 12 37
9 PA6 1 9
A0 37 D15 13 38
8 PA7
A1 14 39 CSEL
35 14 A0
RESET PC0 15 40
5 15 A1 JP1 R1
RD PC1 16 41 RESET
1k
36 16 A2
WR PC2 17 42
17 CS3
PC3 18 43
13 CS1
PC4 19 44
12 WR
PC5 20 45 DSAP
11 RD
PC6 D0 21 46
10 RESET
PC7 D1 22 47 D8
D2 23 48 D9
7
24 49 D10
+5V +5V R4
25 50
10k
D2
IC2.F 13
IC2.C 5 IC2.B 3 IC2.E 11 Connecteur
C2 14 CompactFlash
R3 1
IC2 1 1 1
680Ω
100µ 7
16V 12
6 4 10
IC2 = 74LS04
020389 - 11
5/2003 Elektor 57
CIRCUITSdeLECTEURS
PARCFFU.ASM PCFF S, 10, 0200H écrit le pro- compter de l’adresse de programme
gramme dans le bloc 10 de la carte. 2000HEX. Le code-source
Il s’agit donc là du code-source pour doter le Par PCFF L, 10, 0200H il est possible PARCFF.ASM a pour fonction de per-
MCS-BASIC de nouvelles instructions (state- de remettre le programme dans la mettre de placer le programme à
ment). Le code résultant de l’assemblage, mémoire en RAM. n’importe quel emplacement dispo-
PARCFFU.HEX, devra être placé dans la Lorsque le programme a une taille nible dans la mémoire de programme
mémoire de programme du système, et ceci à supérieure à 8 Koctets (à vérifier à du système. L’adresse de base utili-
compter de l’adresse 2000HEX. l’aide de P. LEN) il faudra le placer sée dans le code-source en question
Voici les nouvelles instructions disponibles : dans plusieurs blocs. Il faudra, lors est 0B000H, position que l’on pourra
– PCFF V – Donne la version de la carte Com- de ce processus, tenir compte du bien évidemment modifier en fonc-
pactFlash connectée au système. point suivant : l’instruction tion des besoins. L’adresse de début
– PCFF R – Remise à zéro (reset) de la carte PCFF S, 10, 0200H écrit les données est donnée à l’aide de l’instruction
CompactFlash. présentes des adresses 0200 à assembleur suivante :
– PCFF L, numéro de bloc, adresse – Écriture 21FDHEX vers le bloc 10. Cela nous
de données de la carte CompactFlash vers fait un total de 8+190 octets. En START EQU 0B000H
le système. Le numéro de bloc est celui effet, 2 octets d’un bloc de ORG START
défini sur la carte (0 à 7 823); il possède 8 192 octets sont utilisés pour indi-
toujours une taille de 8 Koctets. « Adresse » quer que le bloc comporte déjà des Il est possible de modifier cette attri-
correspond à l’adresse de début de la données. Il faudra partant, pour bution et de définir une nouvelle
mémoire de données du système (00000HEX transférer un programme de 10 Koc- adresse de début de programme. Il
à 0FFFFHEX). Après traitement de chaque tets par exemple, utiliser l’instruc- va sans dire qu’il faudra, après une
secteur, on a émission d’un L à destination tion suivante : telle modification, procéder à un nou-
du terminal.
– PCFF S, numéro de bloc, adresse – Écriture PCFF S, 10, 0200H : PCFF S, 11, 21FEH
de données de la mémoire de données du
système vers la carte CompactFlash. ou : vel assemblage du programme-
Mêmes conditions et remarques que pour
l’opération précédente, à ceci près que PCFF S, 10, 0200H : PCFF S, 11, 0200H+8190
chaque transmission de secteur est suivie
par l’émission d’un S. Un rechargement du programme se source.
– PCFF F, numéro de bloc – Cette instruction fait par le biais de l’instruction : Le fonctionnement et le mode d’em-
se traduit par la mise, dans la totalité du
bloc concerné, de la valeur 0FFHEX. Chaque PCFF L, 10, 0200H : PCFF L, 11, 0200H+8190
écriture de secteur est suivie par l’émission
d’un caractère F. On pourra également utiliser des ploi sont exactement les mêmes que
– PCFF D, numéro de bloc – Affiche l’état variables en tant que numéro de bloc dans le cas de PARCFFU.ASM. La
(status) du numéro de bloc concerné : ou d’adresse. Supposons que nous seule différence est qu’il faudra dans
B = donnée, V = vide. voulions effacer les blocs 100 à 120 : le cas présent remplacer, dans les
Si la carte n’est pas prête, que le numéro de pour pourra à cet effet utiliser le petit instructions PCFF évoquées plus
bloc est trop élevé ou qu’il existe un risque programme ci-après : haut, les lettres PCFF par un
d’écrasement de contenu de bloc, ces situa- « CALL 0B000H » (ou l’adresse modi-
tions sont indiquées par l’affichage de mes- 100 FOR T=100 to 120 fiée que vous aurez choisie). On trou-
sages d’erreur très « parlants ». 101 PCFF F, T vera dans le code-source (disponible,
102 NEXT T comme le reste des programmes, en
103 END
anglais eux aussi, sur notre site
Mode d’emploi Internet www.elektor.fr sous la
des instructions PCFF PARCFF.ASM dénomination EPS020389-11) les
Les programmes développé sous MCS-BASIC Il peut arriver qu’il soit impossible, informations sur la manière d’ajouter
se trouvent en mémoire RAM à partir de sur un système donné, d’ajouter des les variables requises en assembleur.
l’adresse 0200HEX. L’instruction instructions pour MCS-BASIC-52 à (020389)
58 Elektor 5/2003
5/2003
PCF8574 PCF8574
Expanseur 8 bits pour le bus I2C Expanseur 8 bits pour le bus I2C
Fonctions spéciales Numérique INFOCARTE 5/2003 Fonctions spéciales Numérique INFOCARTE 5/2003
slave address (PCF8574) data from port
PCF8574 Description :
Expanseur 8 bits pour le bus I2C Le PCF8574 sert à doter différents microcontrô-
S 0 1 0 0 A2 A1 A0 1 A 1 1 P leurs de ports additionnels. Il offre une possibilité
SDA
Fabricant : de 8 lignes d’E/S tout en ne nécessitant que 2 lignes
start condition R/W acknowledge P5 stop Philips Semiconductors de port du microcontrôleur pour le bus I2C. Le cir-
from slave condition
www.semiconductors.philips.com cuit intégré comporte un port quasi-bidirectionnel
Elektor
Fonctions spéciales Numérique INFOCARTE 5/2003 Fonctions spéciales Numérique INFOCARTE 5/2003
Broche Broche Caractéristiques (VDD = 2,5 à 6 V, VSS = 0 V, Tamb = –40 à +85 °C, sauf mention contraire)
Symbole Description
(DIP16/SO16) (SSOP20)* Paramètre Conditions Symbole Min. Typ. Max. Unité
A0 1 6 Entrée d’adresse 0 esclave ALIMENTATION
Tension d’alimentation 2,5 6,0 V
A1 2 7 Entrée d’adresse 1 esclave En service, VDD = 6 V,
A2 3 9 Entrée d’adresse 2 esclave Consommation de courant hors-charge, VI = ou VSS, IDD 40 100 µA
Elektor
fSCL = 100 kHz
P0 4 10 E/S quasi-bidirectionnelle 0 Standby, VDD = 6 V,
Courant de veille Istb 2,5 10 µW
hors-charge, VI = VDD ou VSS
P1 5 11 E/S quasi-bidirectionnelle 1
V = 6 V, hors-charge,
P2 6 12 E/S quasi-bidirectionnelle 2 Tension de Power On Reset VIDD
= VDD ou VSS VPOR 1,3 2,4 V
60
DOMESTIQUE
Enceintes de PC
comme Intercom
A. C. J. Bauer
La plupart des systèmes d’enceintes fournies avec les PC multimédia bas Le présent petit article a pour but de montrer comment
de gamme sont de qualité douteuse et ont vite fait d’être remplacés par transformer un système de haut-parleur bon marché en
« quelque chose de mieux ». Une fois que l’on a installé ses nouvelles un système d’intercom simple mais efficace, surtout
acquisitions, le matériel « Low-Fi » termine ses jours dans la chambre des qu’il n’aura pas coûté grand chose.
enfants s’il n’est pas abandonné dans un grenier.
Dans la majorité des cas, l’un des coffrets des
enceintes contient une alimentation, un amplificateur
stéréophonique et un haut-parleur. L’autre enceinte est
SYSTEME
HP PRINCIPAL un « esclave » qui ne contient rien de plus qu’un haut-
R1
+V
parleur.
8k2
S1
47k
R2
A1
Système d’intercom
220k
T1
20k
La recette pour convertir un set de haut-parleurs pour PC
2N2222
SYSTEME
en un intercom est présentée en figure 1. Seules sont à
HP ESCLAVE
ajouter les parties se trouvant en dehors des zones
Lsp1
P2
Lsp2
ombrées. Le haut-parleur esclave fait office de micro-
* P1 *
phone lorsque l’on actionne l’inverseur multi-pôles
100k
R3
5k
+V (DÉPORTÉ) monté sur ou présent à côté de l’unité centrale. Ce fonc-
8k2
T2 * voir texte
20k
configuration symétrique réduit sensiblement le bruit
2N2222 induit par le câble (qui aura inévitablement une cer-
taine longueur) entre les stations de l’intercom. L’ajus-
020291 - 11
table P1 permet de régler au mieux l’équilibre entre les
Figure 1. amplificateurs lorsque l’on a affaire à une liaison d’une
certaine longueur. L’ajustable P2 est optionnel et ne
sera nécessaire que dans le cas où l’on se trouverait en
présence de niveaux de bruit extrêmement importants.
SYSTEME
HP PRINCIPAL
R1
+V Dans la majorité des enceintes, mais pas dans toutes,
l’interrupteur marche/arrêt commute la ligne de tension
8k2
47k
d’alimentation positive plutôt que la tension du secteur.
R2
A1 Cette situation permet de dériver la ligne d’alimenta-
220k
T1
SYSTEME
tion +V nécessaire aux étages à transistor de l’une des
HP ESCLAVE 20k
bornes de l’interrupteur marche/arrêt.
2N2222
Lsp2 Lsp1
P2
*
CHAMBRE BÉBÉ
100k
P1
*
+V CHAMBRE
Bébéphone
(DÉPORTÉ) R3 A COUCHER
5k
(PRINCIPAL) Si l’on veut réaliser un bébéphone (babyphone) il n’est
8k2
47k
normalement pas nécessaire de « parler » à station
R4
A2 située à l’autre bout du fil, de sorte que l’on pourra
220k
5/2003 Elektor 61
APPLIKATOR
APPLIKATOR est une rubrique servant à la description de composants intéressants récents et de leurs applications; par
conséquent, leur disponibilité n'est pas garantie. Le contenu de cette rubrique est basé sur les informations fournies par les
fabricants et les importateurs, ne reposant pas nécessairement sur les expériences pratiques de la Rédaction.
Filtre-bouchon
à facteur Q élevé
Sans composants à sélecter
Klaus-Jürgen Thiesler
62 Elektor 5/2003
APPLIKATOR
Répartition de tâches L’ajustable P1 permet d’ajuster le dBV
filtre de manière à avoir la meilleure
0
L’électronique subdivise au niveau élimination de la plage de fréquence
de l’amplificateur sommateur IC2, désirée. -10
l’amplitude et la fréquence en
2 réseaux RC qui déterminent la fré- -20
quence et en 2 réseaux de rétroac-
Circuit RC
tion qui agissent sur le niveau du de résonance série -30
signal; cet amplificateur débarrasse Il est possible, avec des valeurs de
le signal d’entrée de la fréquence à tolérance standard de 1% (0806) pour -40
supprimer par un simple déphasage. R1 et R2 et de 10% pour C1 et C2
IC1 intègre une paire d’amplifica- (céramique X7R), d’obtenir une -50
teurs opérationnels y compris leur caractéristique de suppression de
-60
réseau de rétroaction. Le MAX4075 fréquence meilleure que celle repré-
10 100 100
existe en 54 versions avec autant de sentée par la courbe de la figure 2. Il
Hz 020431 - 12
rapports d’amplification (gain) qui est même possible, si tant est que
vont ainsi de –0,25 à –100 V/V (inver- l’on choisisse avec soin les
seur) et, en version non inverseuse, réseaux RC, d’obtenir une fréquence Figure 2. Il est possible d’obtenir ce superbe
de+1,25 à 101 V/V. Le suffixe AD de réjection plus précise. comportement de blocage à l’aide de
signifie que nous avons utilisé la ver- Sur la broche 3 de IC2 arrive le signal résistances à tolérance de 5% et de
condensateurs à ±20% non calibrés.
sion inverseuse (G = –1). Ils fonc- qui a subi, au niveau de la fréquence
tionnent en filtre passe-bande dis- du filtre coupe-bande, un double
tinct dont le déphase total est de déphasage de 90 °. Sa broche 1 est
180 ° exactement à la fréquence cen- attaquée par le signal d’entrée. Les fréquences sensiblement supérieures à f0
trale f0. Les résistances définissant 2 résistances intégrées assurent le chaque suiveur de tension inverseur déphase
le gain intégrées introduisent une mélange de ces 2 signaux. son signal d’entrée de 180 °, ce qui se traduit
dérive de gain inférieure à 0,1%. Elles IC2 est amplificateur opérationnel par un déphasage total de 360 ° = 0 °. Les
sont responsables de la taille de différentiel de précision doté lui phases de chaque filtre passe-bande se com-
l’amplitude du signal (à la fréquence aussi d’un réseau de résistances de portent comme un pôle RC unique, c’est-à-
de coupure) que IC2 à additionné au précision élevée étalonné au laser de dire qu’elles déphasent le signal à chaque
signal d’entrée. Elles n’ont cepen- manière à induire une erreur de fois de 90 ° à la fréquence de résonance.
dant pas d’influence sur la fréquence ±2‰ au maximum. Il est monté en Les 3 circuits intégrés d’amplification de
de coupure proprement dite. C’est là amplificateur sommateur équilibré précision peuvent traiter des signaux dont
la fonction des réseaux RC externes dont l’entrée inverseuse en broche 2 la fréquence ne dépasse pas 100 kHz, les
qui eux n’ont pas d’effet sur l’atté- reste en l’air. distorsions qu’ils introduisent sont très
nuation du signal. Pour les fréquences sensiblement faibles. La plage de tension d’alimentation
inférieures à la fréquence de réso- va de 2,7 à 5,5 V, la consommation de cou-
Les composants CMS disponibles nance rant atteignant 250 µA.
ont, en règle générale, une plage de (020431)
tolérance moindre que leurs homo- f0 = 1 / (2⋅π⋅R⋅C)
logues à pattes. Comme les 2 circuits
intégrés concernés n’existent qu’en les condensateurs présentent une
boîtier SOIC-8 (CMS), nous avons impédance élevée, de sorte que les
tout intérêt à utiliser, pour les 6 com- suiveurs de tension inverseurs ne
posants passifs, des versions CMS. déphasent pas le signal. Pour des
50 300 10 53 42 à 70
60 270 10 59 47 à 77
100 150 10 106 85 à 140
120 56 22 128 100 à 170
400 18 22 401 320 à 530
5/2003 Elektor 63
INFORMATIONS
Impression de
dessins de circuits
Travailler adroitement avec le presse-papiers
Harry Baggen
Sur le site d’Elektor tous les dessins de circuits imprimés actuellement disponibles
le sont sous la forme de fichiers .pdf. À partir de ceux-ci, on peut facilement en
faire soi-même l’impression sur transparent en vue de l’insolation et de la gravure
d’un circuit imprimé. Cependant, l’impression à l’échelle correcte donne du souci
à pas mal de lecteurs. C’est pourquoi nous donnons à travers cet article quelques
trucs permettant d’imprimer ces tracés de circuits imprimés à la taille et à
l’emplacement correct, sur papier ou sur film transparent.
Pratiquement tous les tracés de circuits qui de sorte que l’exportation d’un des- Nous partirons du principe que la
sont reproduits dans Elektor sont également sin de circuit pour le traiter dans un plupart des lecteurs utilisent la ver-
disponibles sur notre site (www.elektor.fr) autre programme n’est pas si simple. sion 5 de ce programme (disponible
sous forme de fichiers .pdf. De la sorte, tout Beaucoup de lecteurs semblent avoir sur le CD annuel d’Elektor et sur le
le monde peut aisément en imprimer le tracé des problèmes avec ces fichiers : le site Web d’Adobe, www.adobe.com).
sur un film transparent, pour ensuite procé- circuit n’est pas imprimé à la bonne Après l’ouverture d’un fichier .pdf,
der soi-même à l’insolation et à la gravure. échelle ou bien apparaît à un mauvais apparaissent à l’écran les deux des-
Depuis quelques temps, nous faisons toujours endroit. C’est surtout avec des films sins du circuit. Normalement, vous
figurer dans ces fichiers .pdf le circuit de transparents relativement chers qu’il n’aurez besoin que d’un seul de ces
manière normale et en miroir, de sorte que les est intelligent de les utiliser de dessins. Réglez d’abord la taille d’af-
hobbyistes peuvent choisir la version qui manière optimale et donc de ne pas fichage de Reader de façon à ce que
convient le mieux à leur application (norma- imprimer les deux dessins de circuit le dessin choisi apparaisse dans son
lement, c’est en plaçant la face qui a reçu (normal et en miroir), ni non en plein entier sur l’écran. Activez le bouton
l’impression en contact avec le côté « pistes » milieu de la feuille (réglage par défaut Sélection d’Affichage (Graphics Select
du circuit que l’on obtient les meilleurs résul- d’Acrobat Reader). C’est pourquoi Tool) au milieu de la barre de boutons
tats lors de l’insolation et c’est pour cela que nous avons rassemblé quelques en cliquant dessus avec la souris. Le
l’on doit utiliser une impression en miroir du astuces grâce auxquelles, et avec curseur se change alors en une croix
tracé des pistes). aussi peu de ressources que possible et nous pouvons maintenant sélec-
En outre, la taille du papier dans le fichier .pdf (lire : sans programmes supplémen- tionner un des deux circuits en pla-
est adaptée à la taille de l’imprimante, de sorte taires), vous pourrez malgré tout obte- çant la souris juste en dehors d’un
que les impressions dépassant le format A4 ne nir une bonne qualité d’impression. des coins du dessin choisi, en pous-
seront pas réparties sur plusieurs pages. sant sur le bouton gauche de la souris
Le grand avantage de l’utilisation des fichiers et, tout en maintenant ce bouton
.pdf est le fait que le dessin du circuit Sélectionner enfoncé, en sélectionnant tout le cir-
imprimé est mémorisé sous forme vectorielle Tout commence habituellement avec cuit. Quand vous relâcherez le bou-
(spécifique à Acrobat), grâce à quoi la taille une version d’Acrobat Reader car ton de la souris, vous verrez appa-
du fichier est minimale par rapport à une net- c’est grâce à elle que vous ouvrirez raître un cadre en pointillés tout
teté optimale des tracés. Malheureusement, les fichiers .pdf téléchargés qui autour de ce dessin (figure 1). Vous
peu de programmes reconnaissent ce format, contiennent le dessin du circuit. pouvez alors imprimer séparément
66 Elektor 5/2003
INFORMATIONS
1 mat du papier sont désactivées (dans la ver-
sion anglaise Shrink oversized pages to paper
size et Expand small pages to paper size), sans
quoi le dessin ne sera pas représenté à la
taille correcte. Il vaut mieux également désac-
tiver Rotation et centrage automatique des
pages (Auto-rotate and center pages).
Lorsqu’il imprime le résultat d’une sélection
(comme nous venons de le faire), Reader
imprime toujours cette sélection en plein
centre de la feuille/du film. Si vous souhaitez
une impression plus sur le côté de la
feuille/du film, vous devrez alors expérimen-
ter quelques-uns des formats de papier figu-
rant dans le pilote de l’imprimante. Choisis-
sez par exemple A6 tout en plaçant un film
A4 dans l’imprimante (ce truc ne fonctionnera
pas avec toutes les imprimantes).
Il est à conseiller d’effectuer un certain
nombre d’essais d’impression sur du papier
bon marché avant de placer un film coûteux
dans l’imprimante. Contrôlez par la même
occasion que le circuit est effectivement
depuis Acrobat Reader le dessin quoi nous ne décrivons ici que les imprimé à la bonne taille (comparez avec l’im-
sélectionné ou bien le recopier via le réglages propres à Acrobat Reader. pression dans Elektor).
presse-papiers (clipboard) vers un Cliquez sur Fichier/Imprimer
autre programme pour traitement (File/Print). Il apparaît alors un menu
supplémentaire ou pour impression. d’impression de Reader indépendant Via le presse-papiers
de l’imprimante (figure 2). Vous La deuxième méthode nous offre nettement
voyez alors dans la fenêtre Exemple plus de possibilités Nous utilisons pour cela
Imprimer (Preview) comment le dessin sélec- un des programmes de traitement d’images
Nous traiterons d’abord de l’impres- tionné serait imprimé sur l’impri- disponibles sur l’ordinateur afin de choisir
sion depuis Acrobat Reader. Les pos- mante. Prenez soin de vérifier que les manuellement sur la page l’endroit où une
sibilités d’impression sont fortement options Réduire les pages trop illustration sera imprimée (p.ex. Paintshop Pro
dépendantes des réglages que votre grandes au format du papier et ou Picture Publisher), ou bien même le clas-
pilote d’imprimante offre, c’est pour- Agrandir les pages trop petites au for- sique traitement de texte Word. Nous copions
la sélection que nous avons faite via le
presse-papiers (clipboard) vers Word ou le
2 programme de traitement d’images.
Lors de la copie via le presse-papiers, le des-
sin (vectoriel) sélectionné est automatique-
ment converti au format pixel et cela a pour
conséquence que la résolution devient trop
basse pour obtenir une bonne impression
(sans bavures) via un autre programme. Habi-
tuellement, on ne peut copier vers le presse-
papiers que les sélections visibles à l’écran,
ce qui nous limite à la résolution de l’écran.
Cela ne vaut toutefois pas pour Acrobat Rea-
der ! Il est ici possible de copier des sélec-
tions qui ne sont que partiellement visibles à
l’écran. Après avoir sélectionné le dessin
comme décrit précédemment, nous réglons
l’affichage à l’écran de Reader sur 400 ou
500% (ou plus encore). Il ne reste donc plus
qu’une partie du dessin visible à l’écran, mais
cela ne fait rien. Copiez maintenant vers le
presse-papier via Editer/Copier (Edit/Copy)
(ou Ctrl C sur le clavier). Vous pouvez alors
rappeler le dessin dans, par exemple, Paint-
shop Pro (Edit/Paste as new image) ou Word
(Editer/Copier ou Edit/Paste). L’image peut
5/2003 Elektor 67
INFORMATIONS
ensuite être imprimée à partir de ce pro- 3
gramme.
Dans Paintshop Pro, il vous faut encore défi-
nir précisément à travers Fichier/Paramètres
de page (File/Page Setup) (figure 3) la posi-
tion de l’impression sur la page. Ensuite, vous
devez vous occuper de ce que le circuit soit
représenté à la taille correcte. Pour un agran-
dissement initial de 400%, vous devrez impri-
mer le circuit au quart (1/4) de sa taille affi-
chée, pour 500% à 20%. Une fois que tout cela
est au bien au point, on peut imprimer. Le
détour par un programme de traitement
d’image présente encore l’avantage que vous
pouvez modifier quelques petites choses au
circuit, comme enlever une connexion ou
déplacer une piste. Il est vrai que cela se
passe au niveau du pixel mais, grâce à
l’agrandissement important, cela donne un
résultat parfait à l’impression.
Dans Word, nous devons travailler différem-
ment. Une fois que le dessin du circuit est
placé sur une page vide depuis le presse-
papiers, on clique une fois sur le dessin afin
de sélectionner l’image. On clique ensuite Résolution de l’écran
dessus avec le bouton droit de la souris et on D’après nos expériences, il apparaît que certains programmes tiennent compte
choisit Formatage de l’image (Format Picture). de la résolution de l’écran et d’autres pas. Cela peut avoir pour conséquence
Sous Taille (Size, voir figure 4) on peut choisir qu’un dessin qui est agrandi à 400% dans Reader et ensuite réduit à 25% dans
la taille désirée (en fonction de l’agrandisse- Word n’ait pas la taille correcte. Il faut alors expérimenter un petit peu pour trou-
ment choisi dans Reader, respectivement 25 ver la bonne échelle de réduction. Une fois celle-ci trouvée, elle pourra être utili-
et 20%, veillez à ce que Verrouillage du rap- sée les fois suivantes. Souvent, la déviation est la différence entre une résolution
port hauteur/largeur (ou Lock aspect ratio) d’écran de 96 et 72 dpi, soit un facteur 1,33. Dans Word, on peut heureusement
soit coché et sous Agencement vous choisirez également introduire les dimensions exactes de l’illustration, mais il faudra alors
Devant le texte (In front of text). également tenir compte de l’éventuel espace de blanc que vous aurez introduit
Ce dernier choix a pour conséquence que autour lors de la sélection dans Reader.
vous serez en mesure de placer l’illustration
à un endroit quelconque de la page à l’aide
de la souris. Après cela, on peut imprimer. fonction de miroir présente dans ment d’images (Paintshop Pro:
Word n’acceptant pas les demi-pourcent, on quasi tous les programmes de traite- Image/Mirror). (030065)
peut toutefois préciser les mesures exactes.
De l’une des manières décrites ci-avant, il
devrait être possible d’imprimer un dessin de 4
circuit à l’endroit voulu d’une feuille de papier
ou de film.
Pour terminer,
encore deux astuces.
1) Pour les grands dessins de circuit qui ne
tiennent pas sur une page A4, on peut sou-
vent se tirer d’affaire en choisissant la taille
de papier Letter (un peu plus longue que
l’A4) ou en définissant soi-même la taille de
papier (Custom size). Coupez pour cela
manuellement une feuille A3 à la taille voulue
et placez là dans le bac d’alimentation de
l’imprimante.
2) Les dessins de circuits des anciens articles
ne sont représentés qu’en « normal » dans les
fichiers .pdf fournis. Au cas ou le pilote d’im-
primante n’offre pas la possibilité d’imprimer
l’illustration en miroir, vous pouvez utiliser la
68 Elektor 5/2003
MICROINFORMATIQUE
Interface
USB RS-232
Solution compacte pour ports manquants
Il devient possible, grâce à un circuit intégré spécialisé de FTDI, de connecter,
sans le moindre problème, des périphériques dotés d’une interface RS-232
(sérielle) à un port USB. Une solution optimale lorsqu’un appareil ne possède
pas de connexion USB ou que le PC de bureau ou portable n’a plus de port
sériel de disponible voire n’en possède tout simplement pas.
70 Elektor 5/2003
MICROINFORMATIQUE
VCC
48MHz Baud Rate
Generator
3.3 Volt
3V3OUT Dual Port TX
LDO
Buffer
Regulator
128 bytes TXD
RXD
RTS#
CTS#
DTR#
DSR#
USBDP DCD#
Serial Interface RI#
USB USB UART UART
Engine
Transceiver Protocol Engine FIFO Controller
USBDM ( SIE )
TXDEN
USBEN
TXLED#
RXLED#
Dual Port RX
Buffer
USB DPLL
384 Bytes
EECS
EEPROM EESK
Interface EEDATA
RCCLK
020375 - 13
ceiver) USB à l’entrée constitue l’in- contrôleur USB de l’hôte (le PC) en
RCCLK
XTOUT
AGND
AVCC
EECS
XTIN
VCC
TXD
terface dans laquelle s’emboîte le respect du protocole USB de base
câble USB avec ses 2 lignes de (low level) et le traitement des ins-
signal D+ et D– en mode USB 1.1 tructions pour la définition du para- 25
32
pleine vitesse (full speed). Un régu- métrage de fonctionnement de
EESK 1 24 RXD
lateur de tension à faibles pertes l’UART.
FTDI
EEDATA RTS#
interne fournit la tension de réfé- La transmission des données dans VCC CTS#
rence de 3,3 V nécessaire. Cette ten- les 2 directions (entre le SIE et les RESET# DTR#
sion de référence de 3,3 V est dispo- registres de l’UART) se fait à chaque TEST
3V3OUT
FT232AM DSR#
DCD#
nible en broche 6 vu qu’il faut d’une fois par le biais de tampons pour
USBDP RI#
part la découpler par le biais d’un l’émission et la réception, tampon TX USBDM 8 XXYY 17 GND
condensateur et que l’on a besoin, (transmission) double port à
9 16
d’autre part, pour le paramétrage du 128 octets dans le premier cas et RX
mode pleine vitesse. Sur le schéma (réception) de 384 octets dans le
de la figure 3, c’est là la fonction de la second. C’est le contrôleur FIFO de
VCC
TXDEN
GND
RXLED#
PWRCTL
USBEN
TXLED#
SLEEP#
5/2003 Elektor 71
MICROINFORMATIQUE
+5V +5V +5V
R3 C6 R9 R11 R10
C1
470Ω
470Ω
10k
100k
8
100n
10n
T1
3 4 AVCC
DI DO
7 IC2 6 RCCLK
PRE PE
2 1
BC857 SK CS C4 C5
93C46
R2 R1 R12
100n 100n
2k2
470k
100k
5
RESET +5V
C13 C14
+5V
100n 10µ
16V
C8
D1 D2
C11
100n
L1
R7 R8 3 13 26 100n
C7 13
1k
1k
2 30 11 V+ 12
EEDATA AVCC C1+ C9
10µ 16V 1 32 24
EESK EECS EN K1
11 31 IC3 14
RXLED RCCLK C1– 100n
12
IC1 19 26 27 DCD 1
TXLED DCD R3OUT R3IN
4 20 5 4 DSR 6
RESET DSR R2OUT R2IN
15 24 22 23 RXD 2
USBEN RXD R4OUT R4IN
R5 16 23 20 1 RTS 7
D+ TXDEN RTS T3IN T3OUT
10Ω 25 7 2 TXD 3
K2 FT232AM TXD T1IN T1OUT
3 7 22 8 9 CTS 8
R4 USBDP CTS R1OUT R1IN
2 D– 8 21 6 3 DTR 4
10Ω USBDM DTR T2IN T2OUT
1 6 18 19 18 RI 9
3V3OUT RI R5OUT R5IN
R6 5 10 21 28 5
C3 TEST SLEEP T4IN T4OUT
1k5
USB-B 4 14 29 15
PWRCTL AGND MAX213 C2+ C10
10n 25
XIN XOUT SHDN SUB-D9
10 16 100n
9 27 28 17 C2–
X1 V-
C2
17
C12
33n 6MHz
100n
020375 - 11
COM virtuels distincts que dans le cas de tance R6 fait office de résistance de son mode de veille (sleep), le réseau
numéros de série différents. En l’absence de forçage au niveau haut (pull up) et R11/C4 servant lui uniquement au
numéro de série, il n’est possible d’installer force la ligne USB D+ à 3,3 V, en vue découplage de la tension de la ligne
qu’un seul et unique port COM Virtuel. de signaler à l’hôte USB qu’il a affaire AVCC (Analog VCC), qui est la ten-
à un périphérique « full-speed ». La sion d’alimentation du multiplicateur
présence de cette résistance a une d’horloge par 8 interne.
L’électronique et la platine seconde fonction, lors de la La seule fonction du MAX213 est la
Le schéma de la figure 3 est on ne peut plus connexion au port USB du PC de tâche classique de convertir, à l’aide
lisible : le transistor T1 et le réseau RC de faire reconnaître à ce dernier le bran- de pompes de charges à condensa-
remise à zéro à la mise sous tension (POR = chement d’un périphérique USB. teurs externes, le niveau 5 V des
Power On Reset) en haut à gauche, l’EEPROM Pour le plaisir des yeux et les vôtres signaux présents côté RS-232 du
juste à côté et, en seconde ligne, en bas, de la uniquement, le FT232AM comporte FT232AM en niveaux aux normes
gauche vers la droite, l’embase USB, le une paire de sorties de commande RS-232. Nominalement, cela devrait
FT232AM, un MAX213 et en bout de schéma, de LED, qui visualisent l’une l’émis- être du ±12 V, dans la pratique avec
l’embase RS-232, un connecteur sub-D 9 points. sion (D1) et l’autre la réception (D2) ce circuit on a de l’ordre de ±8 V
L’alimentation du montage se fait par le biais des données. (±10 V au maximum).
de la broche 1 de l’embase USB (K2) du port Bien que de dimensionnement iden- Si le schéma est très accessible, cela
USB du PC sous +5 V. Le découplage est un tique, les réseaux RC R11/C4 et n’est pas nécessairement le cas de la
peu plus étoffé que d’habitude, prenant la R10/C5 remplissent des fonctions platine représenté en figure 4, en rai-
forme, outre le condensateur C3, d’une petite différentes. son de la présence de composants
self, L1, combinée à un condensateur électro- R10/C5 pris dans la ligne RCCLK est CMS. Il s’agit d’une platine double
chimique, C7. De plus, les différents circuits un réseau de temporisation chargé face à trous métallisés dotée de com-
intégrés sont dotés de leur propre découplage. d’assurer la stabilité d’horloge du posants de part et d’autre. Si vous
Comme nous le disions plus haut, la résis- FT2322AM, lorsque ce circuit quitte avez déjà une certaine expérience
72 Elektor 5/2003
MICROINFORMATIQUE
D2 D1C14
Liste des composants
K2
Toutes les résistances et Inductances : C10
C11
L1 = BLM31A601S Murata (par
C9
condensateurs CMS au format 1206 C12
exemple chez Farnell 581-094) C7
R1
IC3
L1
R2
T1
C13
Résistances : R3
C1
R1,R3,R10 = 100 kΩ Semi-conducteurs : C2
R2 = 470 kΩ D1,D2 = LED 3 mm
K1
R4,R5 = 10 Ω
C5
T1 = BC857 020375-1 R10
X1
R6 = 1kΩ5 IC1 = FT232AM (FTDI (Optiminfo)-
R7,R8 = 1 kΩ dénommination FT8U232AM)
R9 = 10 kΩ IC2 = 93C46 (optionnel)
R11 = 470 Ω IC3 = MAX213ECWI (Maxim
R12 = 2kΩ2 Integrated)
(C) ELEKTOR
020375-1
Condensateurs : Divers :
C1,C3 = 10 nF K1 = embase sub-D 9 points en
C2 = 33 nF équerre encartable
C4 à C6,C8 à C13 = 100 nF K2 = embase USB encartable (type B)
C7,C14 = 10 µF/16 V radial X1 = -résonateur céramique 6 MHz
C4 R11
R9
R12
C6
IC1
IC2
(C) ELEKTOR
020375-1
R6
R5
C8
R4
C3
R8
R7
Figure 5. Vu du dessus d’un exemplaire terminé de l’interface... Figure 4. Dessin des pistes et sérigraphie de
l’implantation des composants de la platine à
« majorité CMS ».
5/2003 Elektor 73
MICROINFORMATIQUE
La platine reçoit une embase USB de type B 1 2 3 4 1 = +5V
(dont la figure 7 donne le brochage). L’autre USB-A 2 = D-
3 = D+
variété d’embase (type A) se trouve toujours 4 = GND
côté PC ou Hub, le type B se trouvant toujours 1
dans l’appareil qui s’annonce au PC. L’em- 2
3
base de type A fournit, par le biais du câble 4
USB, du courant à l’embase de type B pré-
sente sur le périphérique, ce courant servant,
dans le cas présent, à l’alimentation de la pla-
tine de notre convertisseur USB –> RS-232. 3 2 4
USB-B 1 = +5V
2 = D-
Les câbles USB sont toujours reliés sans croi-
3 = D+
sement (1:1). 4 = GND
3 2
74 Elektor 5/2003
MICROINFORMATIQUE
place de 2 pilotes qui se trouvent en vert dans le Gérant de périphériques FT232AM fasse son apparition dans le sous-
relation l’un avec l’autre. L’un des sous la forme d’un nouveau port répertoire « Contrôleur de bus sériel univer-
pilotes met à disposition le port dans les connexions. L’autre pilote sel » en tant que périphérique USB (cf.
COM virtuel que nous avons décou- fait en sorte que le côté USB du figure 8b).
La recopie d’écran de la figure 9 montre la
fenêtre de programmation de l’outil (tool) ser-
vant à la programmation de L’EEPROM reliée
au FT232AM, programme que l’on pourra
également télédécharger du site FTDI. Il per-
met à ceux d’entre vous qui envisageraient,
b en tant que fabricant, d’implanter la puce
FTDI dans un appareil, de programmer leur
propre VID et PID. Si vous ne possédez pas
de VID et PID propres, vous pouvez soit pure-
ment et simplement ne pas vous en inquiéter
et ne pas implanter l’EEPROM, soit utiliser
les PID et VID de FTDI en tant qu’utilisateur
de la puce. Dans le cas du FT232AM on utili-
sera dans ce cas-là VID = 0403 et PID = 6001.
Si vous voulez en savoir plus à ce sujet nous
vous recommandons la lecture du manuel de
programmation (lui aussi disponible au télé-
déchargement).
Il nous faut cependant, en guise de conclu-
sion, signaler qu’un convertisseur de ce type
a possède lui aussi ses limites. Il est très impor-
tant, pour garantir une conversion souple
entre USB et RS-232, d’assurer un suivi cor-
rect du flux de données, de manière à éviter
que le tampon du FT232AM (128 et 384 octets
respectivement) n’ait plus une taille suffi-
sante ce qui se traduirait par des pertes d’oc-
tets. Ce risque n’existe cependant que si l’on
travaille à des taux de transmission élevés
Figure 8. Après l’installation on découvre dans le Gérant de périphériques un sans utiliser d’acquittement.
nouveau « Port COM sériel USB » (a) et dans le dossier « Contrôleur de bus sériel (020375)
universel » un nouveau « Convertisseur sériel haute vitesse » (b) nouveau lui aussi.
Bibliographie :
– « USB pour tous » de Markus Müller et Christian
Ehmer, Elektor n °293 et 294,
novembre et décembre 2002
– « UART USB » de Burkhard Kainka,
Elektor n °283 et 284, janvier et février 2002
– « Interface USB » de Burkhard Kainka,
Elektor n ° 267 et 268,
septembre et octobre 2000
– « Des CMS ? Pas de panique ! »,
Elektor n ° 297 et 298, mars et avril 2003
Télédéchargements
pour le présent projet :
– Dessin des pistes de la platine au format
.pdf sous www.elektor.fr/dl/dl.htm
– Fiche de caractéristiques du FT232AM,
documentation et pilotes sous :
Figure 9. Utilitaire pour la programmation (optionnelle) des PID et VID dans www.ftdichip.com/FTDriver.htm
l’EEPROM.
5/2003 Elektor 75
DOMESTIQUE
Noctilum
Éclairage temporisé à AT90S2313
Volker Schmidt
76 Elektor 5/2003
DOMESTIQUE
opté pour de 2 tensions d’alimenta- F1
tion différentes. La raison en est K2
1A T IC3
simple. Vu qu’il se peut fort bien que
7812 +12V +5V
l’on ait des câbles d’une certaine
longueur entre la platine du contrô- C4 C5 R6
LA1
leur et les touches, une tension d’ali-
220Ω
B1 = B80C1000
100n 22µ
mentation plus élevée augmente très TR1
50 mA
16V
1k
niveau bas appliqué à l’entrée du
contrôleur ne descend que jusqu’à D2
K3
0,9 V, valeur que le contrôleur n’a
D1 +5V R1
cependant pas de problème à inter- +12V
680Ω
préter comme un niveau bas. L’élec- S1
+5V C9
4k7
6 & 20
processus étant réalisé logicielle- C6
R2
1N4148
R5
BC547
1k
ment dans le programme stocké
1k
12 1
PB0 RST
1n +12V IC2
dans le contrôleur AVR. 13
PB1 PD0
2
JP2
14 3
5V/0V9
Le transistor T1 est piloté par le biais IC1.A PB2 PD1
1 15 6
3 PB3 PD2
des sorties PD1 ou PD2 (ceci en fonc- +12V
2 & 16
PB4 PD3
7
17 AT90S2313 8
tion du paramétrage des cavaliers IC1.D
PB5 PD4 JP1
18 9
JP1/JP2). Ces cavaliers permettent 12 PB6 PD5 +12V
K4 11 19 11
S2 13 & PB7 PD6
d’alimenter les LED de l’interrup-
XTAL1 XTAL2
teur 1. Si on a implanté le cavalier 5 4 10
IC1.C X1 C7 14
JP1, les LED du boîtier sont allumées 8 D5
10 IC1
WG D2 &
en continu et se mettent à clignoter R3
9
100n 7
C8 1N4148 C11 C10
lorsque le temporisateur est activé.
1k
5/2003 Elektor 77
DOMESTIQUE
tions. Elles appellent les 3 routines
Paramétrage des SFR du AT90S2313 INPUT, LOGICOUT et OUTPUT. Lors-
qu’elles ont été exécutées, la boucle
Paramétrage du Timer1 de programme reprend à son début.
Paramètre Timer - Interruptions TIMSK
TOIE1 OCIE1A TICIE1 TOIE0 HEX Routine temporisateur pilotée par
0 1 0 0 0 0 0 0 40 interruption (SUB TIMER)
Interruption Timer/Counter1 Compare Match activée. On a génération d’une interruption lorsque le contenu du La routine d’interruption génère une
compteur = celui du registre Compare) horloge de base de 10 ms. DELAY
s’en sert pour une fonction anti-
Paramètre CTC / Prédiviseur TCCR1B rebond des boutons-poussoirs. Cette
ICNC1 ICES1 CTC1 CS12 CS11 CS10 HEX
horloge incrémente en outre les
0 0 0 0 1 1 0 1 13
registres TAKT10 (dont sont dérivées
(Timer/Counter1 à 0000, lorsque le contenu du compteur = celui du registre Compare, prédiviseur paramétré pour
toutes les grandeurs chronova-
division par 1 024 (CS12 à CS10))
riables) et TAKT (mesure de la durée
Charger Registre Compare d’action sur les boutons). Ce proces-
OCR1AH 00h sus se fait toutes les 100 ms lorsque
OCR1AL 30H le registre TAKT10 a été incrémenté à
0030H = 48 dez 10D. Ce registre est ensuite remis à
(Le Timer 1 travaille en source d’horloge et génère une interruption toutes les 10 ms. Pour ce faire, la fréquence du zéro et le processus reprend à zéro.
quartz de 4 915 200 Hz est ramenée, après division par le prédiviseur et Timer1, à 100 Hz) On a, parallèlement, génération,
dans la routine OUTPUT, d’un signal
Parmétrage du pointeur de pile (stackpointer) de seconde utilisé par le dispositif de
SPL = DFh « visualisation d’état » et, dans la
routine LOGICOUT, d’un signal de
Parmétrage des Ports dizaine de secondes pour le tempo-
Registre DDRD FFh Port D est une sortie
risateur de sortie (OUTC). En fonc-
Registre DDRB 00h Port B une entrée
tion de l’état des registres SEC1 ou
Paramétrage SREG SEC10, on a, dans la routine
Positionner Bit 1, validation des interruptions STEUER, positionnement des indica-
teurs (flag) F1SEC et F10SEC corres-
pondants. L’indicateur F1SEC se
trouve à « 1 » pendant 500 ms, avant
d’être à « 0 » les 500 ms suivantes.
L’indicateur F10SEC est positionné
toutes les 10 s avant d’être remis à
zéro dans la routine LOGICOUT.
H1 H4
K1
IC5
1AT
K2
F2
LA1
T2
R6 C9
R4
R7 D4
C10
X1
D5
TR1
1-511020
020115-1
C7
ROTKELE )C(
(C) ELEKTOR
C11
IC2
020115-1
JP1
IC1
R1
R5
C1
JP2
C4
C8
T1
C6
R2 R3
C2
B1
H2 H3
C3 C5
IC3
K3 K4 IC4
78 Elektor 5/2003
DOMESTIQUE
signaux d’horloge d’une fréquence de 1 Hz
Liste des composants déphasés de 180 °.
Si l’indicateur OUT n’est pas positionné, les
Résistances : IC3 = 7812 lignes de port PD0 à PD2 sont mises à leur
R1 = 680 Ω IC4 = 7805
état initial (PD0 et PD1 à « 0 », PD2 à « 1 ») et
R2,R3,R5,R7 = 1 kΩ IC5 = S201S02 ou S201SE2 (Sharp)
la routine se termine.
R4 = 4kΩ7
R6 = 220 Ω Divers :
F1 = porte-fusible + fusible 1 A SUB DELAY
Condensateurs retardé La routine DELAY se charge de l’anti-rebond
C1 = 1 000 µF/25 V radial JP1,JP2 = embase autosécable mâle au niveau des boutons-poussoirs. Elle utilise
C2,C4,C7,C9 = 100 nF SIL à 2 contacts + cavalier à cet effet le compteur 10 ms TAKT10. Lors de
C3,C5 = 22 µF/16 V radial K1,K2 = bornier encartable à son appel, on a recopie de son état dans le
C6,C8 = 1 nF 2 contacts au pas de 5 mm (RM5) registre DELAY, valeur augmentée de 2
C10,C11 = 33 pF K3 = embase autosécable mâle SIL à (20 ms). Si le contenu est supérieur à 10, on
3 contacts ou picots soustrait 10 du contenu de DELAY. Cela est
Semi-conducteurs : K4 = embase autosécable mâle SIL à nécessaire vu que le compteur TAKT10 est
Pont de redressement rond 2 contacts ou picots remis à zéro lorsque son contenu atteint 10.
B80C1000 S1,S2 = bouton-poussoir à contact La boucle de programme qui suit est exécu-
D1 à D3 = LED travail (cf. texte) tée le nombre de fois nécessaire jusqu’à ce
D4,D5 = 1N4148 TR1 = transfo 1 x12 V/1VA5 (tel que,
que les contenus de DELAY et TAKT10 soient
T1,T2 = BC547 par exemple, Hahn BV EI 302 2022)
identiques. Lorsque cette condition est
IC1 = 4093 X1 = quartz 4,915 2 MHz
IC2 = AT90S2313-10PC (Atmel, Boîtier tel que, par exemple, Micro atteinte on a un saut de retour vers le pro-
programmé EPS 020115-41) N12 (Bopla) gramme principal.
Aspect mécanique
SUB INPUT Tout au début on vérifie si l’indica- de la réalisation
La routine INPUT est activée lorsque teur FLK15 ou FGR15 est positionné. L’électronique prendra place dans un petit
l’on force la ligne de port PB0 à la Dans le premier cas on a bascule- boîtier à prise et fiche secteur intégrées. Il
masse. Le flanc descendant né de ment de l’indicateur OUT du registre faudra cependant découper quelque peu la
l’action sur le bouton-poussoir STEUER (on a, par son biais, allu- platine si on veut arriver à la glisser dans le
démarre DELAY à des fins d’anti- mage ou extinction de la lampe). boîtier mentionné dans la liste des compo-
rebond du bouton. Après le saut de Dans le cas contraire, on aura posi- sants. L’implantation des composants ne
retour de la routine DELAY on a un tionnement des indicateurs OUT et devrait pas poser de problème et le montage
nouveau test de l’état de la ligne de OTIML. OTIML constitue le critère fonctionner du premier coup pour peu que
port pour vérifier si elle est toujours de lancement du temporisateur de l’on n’ait pas fait d’erreur au niveau de la
à zéro. Si tel est le cas, le contenu du coupure dans OUTC. Ce registre est polarité des composants, de leur identifica-
registre TAKT est recopié dans le incrémenté toutes les 10 s, jusqu’à tion et que l’on n’ait pas oublié de mettre en
registre START et l’indicateur ce qu’il ait atteint la valeur de la place les 3 ponts de câblage.
FKENN activé. Sinon, on a retour au constante OUTIM (180D). À ce On pourra, mais cela n’est pas indispensable,
programme principal. Lors du relâ- moment-là, OUT et OTIML sont effa- mettre les interrupteurs dans leur propre boî-
chement du bouton-poussoir on a cés et le programme se retrouve à tier. Les câbles de liaison seront alors glissés
recopie du contenu du registre TAKT son état initial. par le dessous du boîtier (ne pas oublier la
vers le registre STOP, ceci en vue de bride anti-arrachement) et connectés aux bor-
déterminer la longueur de l’action SUB OUTPUT niers K3 et K4. Il nous paraît cependant judi-
sur le bouton-poussoir. Un éventuel OUTPUT pilote la sortie au niveau du cieux de mettre le bouton-poussoir S1 et les
dépassement sera détecté par une port D. Le traitement de cette rou- LED dans le boîtier secteur enfichable.
comparaison entre les registres tine dépend de l’état de l’indicateur (020115)
TAKT et STOP. Si la durée de l’action OUT. S’il est positionné, on aura saut
est inférieure à 1,5 s (0FHEX), on aura vers l’étiquette (label) OUTPUT 1.
positionnement (mise à « 1 ») de l’in- Après mise de la ligne PD0 au
dicateur FKL15, si elle dépasse cette niveau haut, on procède à l’interro-
valeur ce sera le cas de l’indicateur gation de l’état de l’indicateur
FGR15. Ensuite, dans les 2 cas, on a OUTIML pour déterminer la suite du Téléchargements
remise à zéro de l’indicateur de déroulement du programme. Si cet À la page www.elektor.fr/dl/dl.htm
reconnaissance de flanc, FKENN. indicateur est inactif (à « 0 ») la rou- Vous trouverez les fichiers correspondants à
tine OUTPUT se termine par un saut ce projet pour les télédécharger :
SUB LOGICOUT de retour au programme principal. – Programme de l’éclairage de nuit en
La routine LOGICOUT comporte la À l’inverse, s’il est actif (« 1 »), les assembleur et en code compilé (source et
logique pour la sortie et la com- instructions en assembleur qui sui- fichier hexadécimal)
mande du temporisateur de coupure vent se traduisent par l’apparition – Dessin de la platine au format .pdf.
(sleeptimer) dans le registre OUTC. sur les lignes de port PD1 et PD2 de
5/2003 Elektor 79