Synthétiseur (Lu XIA et Hidéo VINOT)
Bibliographie sur le Synthétiseur 2012
Présentation du Projet Synthétiseur
On souhaite réaliser un synthétiseur simple à partir d'une plate-forme microprocesseur de la gamme Cortex M3 de réference LPC1768. Les caractéristiques du microP seront décrite plus loin. Retenons juste que celui ci fonctionne à une vitesse de CPU maximale de 100Mhz, qu'il possède un DAC et une liaison USB. Nous utiliserons pour le commander une page web hébergé sur un serveur qui nous enverra les notes de musiques à transiter vers le synthé. On ajoutera une partie analogique au projet pour affiner et amplifier le signal.
Ce projet regroupe différents domaines de compétences, ce qui induit une conception simple et optimisable.
Choix techniques : matériel et logiciel
Cortex M3 mbed NXP LPC1768
|
Overview
|
Type Number
|
Flash
|
SRAM in kB
|
|
|
|
Ethernet
|
USB
|
CAN
|
I²
|
DAC
|
Maximum CPU Opérating fequency
|
|
|
|
CPU
|
AHM SRAM0
|
AHM SRAM1
|
Total
|
|
|
|
|
|
|
Titre ligne 2
|
LPC 1768***/***
|
512kB
|
32
|
16
|
16
|
64
|
yes
|
Device/host/OTG
|
2
|
yes
|
yes
|
100Mhz
|
Source: http://www.nxp.com/documents/data_sheet/LPC1769_68_67_66_65_64_63.pdf page 4
C'est l'élément principale du projet. Il devra assurer entièrement ces tâches:
géneration de formes d'ondes analogiques. On doit pouvoir choisir quelques formes d'onde dans une bibliotèque qui seront modulé au travers d'un LFO. La fréquence de ces ondes devra évidement correspondre précisement aux notes de musique de la gamme habituelle.
Le programme informatique
Le code que nous allons dévelloper devra assurer l'échange entre la page web et le microcontrolleur via la liaison série USB. On sait d'ores et déja que l'utilisation d'un protocole MIDI serai une amélioration propice.
Partie réseau
La génération d'un code php/ajax
Journal de passerelle
Semaine 1
...
Fichiers Rendus
Note de bas de page:
- SRAM: mémoire pour stocker vos données qui sont traitées pendant le temps d'exécution (y compris les registres de pile, etc) - la mémoire volatile
- Flash: mémoire dont votre programme stocké - non volatile
- EEPROM: la mémoire qui peut être utilisé pour stocker des données non volatiles et changeantes au cours de l'exécution.(par exemple: la fixation de valeurs, etc)