[sdiy] MIDI specifications

Paul Maddox P.Maddox at signal.qinetiq.com
Thu Apr 17 10:22:25 CEST 2003


Joe,

> MIDI specification says it's Asynchronous serial, baud rate is 31.25 Kbaud
> and a serial byte has 1 start bit, 8 data bits and 1 stop bit.  I
> understand how there's a status byte followed by two data bytes, but I
> don't see how it's 10 bits as described above.  Maybe I don't understand
> the concept of asynchronous serial?  As a I see it, note on will be...
>
> status:  1001XXXX
> key:  0XXXXXXX
> velocity: 0XXXXXXX

yep...

> I send this out of my microcontroller, with a 40ms delay between bits
> (MIDI spec says 320 ms per serial byte)?  Am I understanding this
> correctly?  Where does the start bit and stop bit come into play?

The start/stop bit are 'stuckon' or 'stripped off' by the UART, and if you
have a hardware UART (like the AVR for example) this is transparent to the
code, you just send your 8bit value...

> Second question is about MIDI port wiring, pin 1 & 3 are not used, pin 4
> and 5 are pair?  Which pin is sending the serial data?  Which pin is tied
> to my microcontroller ground, etc.

I hate this questionsabout MIDI pin outs, the pin numbering seems to differ
in the US to the UK/EU...

You want to use the pins either side of the middle one, but NOT the outside
pins.
There is *NO* ground and no direct connection to the UART input/output on
MIDI, as it is a current loop..

Check here (a picture from my article for AVr freaks about MIDI) ;-
http://www.avrfreaks.net/Freaks/Articles/PaulMaddox/midi_iot.gif

You can see the CORRECT hardware for input, Output and through ports
according to the MMA.

Paul
---------------------------------------------------------------
Modulus Synth page ;-
   Http://www.Modulus.synth.net/
PPG webpages
   Http://www.PPG.synth.net/




More information about the Synth-diy mailing list