Exact match. Not showing close matches.
PICList
Thread
'[PIC] acceptable MIDI data rate deviation'
2005\02\02@185057
by
Darren Gibbs
I need to communicate via MIDI both with a PIC and with other MIDI
devices from an embedded Linux world. The Linux device's UARTs are
cabable of:
14.7456M/16*29 = 31779
14.7456M/16*30 = 30720
MIDI spec says 31250 +-1%. My error is 1.7%. Does anyone know if this
is this close enough?
I figure this problem can't be new, but I'm finding very little info
about it on the net. Some sites hint that an error of up to 3% is OK
with certain MIDI devices. I wonder if anyone has real-world
experience with this.
Any advice appreciated,
darren
2005\02\02@210030
by
Russell McMahon
|
>I need to communicate via MIDI both with a PIC and with other MIDI
>devices
> Some sites hint that an error of up to 3% is OK
I know nothing about this :-)
BUT if it's an asynchronous serial protocol then the MAXIMUM allowable
error is close enough to
50/(start bits + data bits [+ stop bits]) %
(Stop bits may not be necessary depending on system design)
ie the error required to get half a bit error so that sampling wanders
off the proper bit onto the adjacent one.
eg the standard 1+ 8 + 1 serial data protocol gives
50/(1+8) =~ 5.6%
With stop bit that's 50/(1+8+1) = 5%
That's the error at BOTH ends.
If the error is in the same direction at both ends you can tolerate
higher error rates.
If it goes opposite ways then the above applies. Murphy says it goes
the same way during design and opposite ways in real world must-work
situations.
Resonator gives you 1% odd.
Crystal gives maybe 0.1% or better over life/temperature/phase of
moon/bank holiday/ ....
If it's not an async serial protocol then the above doesn't apply :-)
RM
2005\02\03@060503
by
Gerhard Fiedler
Russell McMahon wrote:
>>I need to communicate via MIDI both with a PIC and with other MIDI
>>devices
>> Some sites hint that an error of up to 3% is OK
> With stop bit that's 50/(1+8+1) = 5%
> That's the error at BOTH ends.
> If it's not an async serial protocol then the above doesn't apply :-)
It is an async serial protocol, and it applies. All MIDI devices that I've
seen from the inside use standard UARTs to communicate. The only thing a
bit odd about it is the bit rate.
So you are probably quite safe with 1.7%, and the sources that say up to 3%
are fine are correct, too. (No hard experience data, though.)
Gerhard
2005\02\03@073722
by
Russell McMahon
>> With stop bit that's 50/(1+8+1) = 5%
>> That's the error at BOTH ends.
> So you are probably quite safe with 1.7%, and the sources that say
> up to 3%
> are fine are correct, too. (No hard experience data, though.)
That's presumably 3% at one end and hopefully almost 0% at the other.
(ie Crystal or resonator at one end).
Two ends with 3% each going in the opposite directions could be bad.
RM
2005\02\03@141755
by
Darren Gibbs
Thanks for the info! It's good to know I'm in the ballpark at least...
On Feb 3, 2005, at 4:28 AM, Russell McMahon wrote:
{Quote hidden}>>> With stop bit that's 50/(1+8+1) = 5%
>>> That's the error at BOTH ends.
>
>> So you are probably quite safe with 1.7%, and the sources that say up
>> to 3%
>> are fine are correct, too. (No hard experience data, though.)
>
> That's presumably 3% at one end and hopefully almost 0% at the other.
> (ie Crystal or resonator at one end).
>
> Two ends with 3% each going in the opposite directions could be bad.
More... (looser matching)
- Last day of these posts
- In 2005
, 2006 only
- Today
- New search...