You are on page 1of 2

Enkanalig MIDI-synt

Sammanfattning.

Bakgrund. Musical Instrument Digital Interface, MIDI, r en hrdvaruspecifikation och ett


protokoll fr verfring av not- och effektinformation mellan syntar, klaviaturer och liknande
apparater. MIDI-signaler r seriella och verfr hndelserna not p/av, notnummer och
tangenthastighet (styrka); mnga andra sorters hndelser finns, men dessa ignorerades.
Projektet syftade till att bygga en enhet som omvandlar en signal frn ett standard-MIDIklaviatur till ett enkanaligt ljud.
Systemuppbyggnad. Enheten som avkodar MIDI-signalen bestr av en enkapseldator
(AT90S8535), en digital/analog-omvandlare (DAC0808) och en hgtalare (5 V). MIDIsignalen genereras av en MK-61 MIDI Keyboard Controller.
Den seriella MIDI-signalens hndelser lses av enkapseldatorn och omvandlas till en
parallell 8-bitars signal vars binrvrde anger momentana positionen fr hgtalarens
membran. Detta binrvrde uppdateras med tidsintervall som beror p tonen (ljudfrekvensen).
Signalen gr sedan vidare genom d/a-omvandlaren som omvandlar binrvrdet till en
spnning, innan den till sist omvandlas till ett ljud i hgtalaren. Figur
1:
Systemuppbyggnad.
klaviatur

MIDI

enkapseldator

binrvrde

d/a-omvanlare

spnning

hgtalare

Genomfrande (mjukvara). Enkapseldatorn (AT90S8535) har 4 MHz CPU, 8 KB


programmerbart flashminne, 512 byte arbetsminne samt mjlighet att generera timer- och
seriella avbrott. Chipet programmerades med C-kompilatorn Code Vision.
Nr en tangent trycks ned eller slpps p klaviaturen genereras tre seriella byte (not
p/av, notnummer och tangenthastighet) som hamnar i enkapseldatorns seriella buffert. Varje
byteverfring inleds med en startbit och avslutas av en stoppbit, som inte ingr i sjlva
byten.
not p
not av
notnummer
tangenthastighet
1001****
1000****
0*******
0*******
Figur 2: MIDI-byte
(hndelser).
Programmet till enkapseldatorn gr fljande:
1. Nr bufferten mottar en byte genereras ett seriellt avbrott och funktionen getByte()
anropas. Denna sparar/tar bort notnummer och tangenthastighet i

You might also like