Electronique > RéalisationsProduction sonore > Boîte à bruits 003c

Dernière mise à jour : 04/12/2022

Présentation

La présente réalisation permettra (devrait permettre) quand elle sera terminée, de produire des sons et bruits sur plusieurs "canaux" : 9 canaux de tonalité (tone) et 3 canaux de bruit (noise).
   
boitabruit_003c_pcb_3d_front  
 
Le circuit est basé sur un microcontrôleur PIC et trois générateurs de son SN76489. Les réglages sonores peuvent se faire de façon locale avec 5 potentiomètres ou à distance grâce à une entrée MIDI.

   

Schéma

Une pincée de commandes numériques et un petit mélangeur audio analogique, pour une production sonore dont il reste à prouver l'utilité.
   
boitabruit_003c
   
Présentation du SN76489

Le circuit intégré SN76489 est composé de 3 générateurs de tonalité (Tone Generator #1 à #3) et d'un générateur de bruit (Noise Generator). Tous les signaux sont mélangés en interne (Analog Summer) avant d'être mis à disposition sur une broche unique "Audio Output".

   
sn76489_block-diagram_001a
   

Contrairement à ses "ancêtres" SN76477 ou SN76488 qui réclamaient un certain nombre de composants périphériques, le SN76489 réclame des commandes numériques pour savoir quel type de sons il doit produire (en fréquence et en amplitude). Ces commandes numériques doivent être appliquées sur les entrées de données D0 à D7 (bus 8 bits) et validées par la broche WE (Write Enable). La broche CE (Chip Enable) doit être active pour que les commandes appliquées soient prises en compte.

Si dans des anciens jeux vidéo un seul composant de ce type était jugé suffisant, ma folie des grandeurs m'a poussé à tripler le nombre de sources audio, en utilisant trois SN76489. Entre nous - et vous l'aurez probablement compris - c'est plus un jeu qu'un défi ;)

 
Pilotage de l'ensemble

Comme le SN76489 réclame des commandes numériques (informatiques), j'ai décidé d'utiliser un microcontrôleur pour le "séquencer". Les signaux analogiques ou numériques présents sur les lignes RA0 à RA5 du PIC sont les commandes utilisateur qui dictent le mode de fonctionnement du générateur sonore (ou qui en d'autres termes permettent de décider le type de signaux sonores que les SN76489 doivent délivrer).

Si toutes les entrées analogiques Cde1 à Cde5 sont à 0 V, le générateur de sons est désactivé (aucun son)
Si au moins une des entrées analogique Cde1 à Cde5 présente une tension supérieure à 50 mV, le générateur de sons est activé. Dans ce cas, les son délivré dépend de la tension appliquée sur les entrées analogiques Cde1 à Cde5

Si l'entrée Cde6 est à 0V, les données MIDI entrantes sont ignorées.
Si l'entrée Cde6 est à +5V, les données MIDI entrantes sont prises en considérations.
 

Cde6 (RA5)
MIDI
Cde5 (RA4)
An4
Cde4 (RA3)
An3
Cde3 (RA2)
An2
Cde2 (RA1)
An1
Cde1
(RA0)
An0
Description
000000Générateur désactivé, MIDI désactivé
00-5V0-5V0-5V0-5V0-5VGénérateur activé si au moins une entrée Anx > 50 mV, MIDI désactivé
5V00000Générateur désactivé, MIDI activé
5V0-5V0-5V0-5V0-5V0-5VGénérateur activé si au moins une entrée Anx > 50 mV, MIDI activé
x5V5V5V5V5VMode aléatoire, MIDI désactivé
   

Ecran LCD
A l'heure qu'il est, je ne sais pas encore ce que je lui ferai afficher...
 
Mélange et amplification des signaux BF
Les sources audio délivrées par chacun des SN76489 sont mélangées par de simples résistances (R1 à R3) et le résultat (AMix) est envoyé à un amplificateur audio intégré de faible puissance, le LM386 (U5).
 
Alimentation
Une alimentation de 9 V (valeur exacte non critique) est requise pour l'amplificateur de puissance et une tension de 5 V est réclamée par les circuits logiques (microcontrôleur PIC et générateurs de son SN76489). Pour le 5 V "logique", on reste dans le traditionnel facile : un régulateur de tension de type LM7805 (U101) convient parfaitement.

 

Prototype (SN76489)

Réalisé selon implantation montrée plus loin.

   
boitabruit_003c_proto_rm_001a boitabruit_003c_proto_rm_001b boitabruit_003c_proto_rm_001c boitabruit_003c_proto_rm_001cb 
   
Remarque : sur ce prototype, j'ai oublié d'implanter le connecteur ICSP sur le PCB, qui me permet de programmer le PIC sans avoir à le retirer de la carte. Pas grave, j'ai soudé quelques fils supplémentaires. La correction est apporté sur le dessin de PCB mis à disposition.

Le système n'est pas encore opérationnel. La partie matérielle est terminée, mais il reste à développer le logiciel du PIC. Je commencerai avec quelques lignes de code qui permettront de sortir les SN76489 de leur mutisme, et ensuite on verra.

   

Circuit imprimé (PCB)

Circuit imprimé réalisé en double face.
   
boitabruit_003c_pcb_components_overlay  boitabruit_003c_pcb_components_top

Dessin du PCB (03/12/2022)

   

Historique

04/12/2022
- Ajout photo prototype.
- Mise à disposition du dessin du PCB.

27/11/2022
- Première mise à disposition