<html>
<head>
</head>
<body>
I have to make a correction on those previous calculations. I did not read
the settings on my CRO correctly. The actual values are 1 message every 450
us, (not 4 us) and 1 every 500us. So I am actually at the extremes. The
maximum transfer I could expect from a MIDI device would be one byte every
320 us (10 bits per byte). So not setting the event (as Chris Johns suggested)
does save me a valuable 50us. <br>
<br>
Angelo Fraietta wrote:<br>
<blockquote type="cite" cite="mid:3C9FB2C5.60109@bigpond.com"> After some
exhaustive testing I have come up with some figures that represent data exchange
rates between the Pic microcontroller and the 386 using a PLA as an interface
on an ISA bus using an interrupt driven I/O read/write paradigm.<br>
<br>
What I have done is make the Pic and the 386 communicate with each other,
each triggering an interrupt with the other, causing it to write to the other
device.<br>
<br>
With the RTEMS event being triggered every interrupt I have a constant
exchange rate of 1 message each way every 5 us.<br>
<br>
Triggering the event only if the receive queue is empty gives me an exchange
rate of 1 Message every 4 us. I am saving 1 us by not sending the unnecessary
event.<br>
<br>
The big factor in this test, however, is this method that I used to check
the exchange rates completely blows the 1 message every 650 us measurement
I previously made away, thus proving that the interrupt rate will more than
adequately sustain an input Midi stream running at maximum transfer rate (31.25kbs,
which is about 3 bytes per ms) <br>
<br>
Angelo Fraietta wrote:<br>
<blockquote type="cite" cite="mid:3C785817.3030002@bigpond.com"> You
are right. Sending the event if the queue was not originally empty when the
ISR came is not necessary. I was already looping the task until the queue
was empty; I was, however, sending the event regardless -- which is actually
wasting CPU cycles. Thanks for the tip? I'll see what I can get the interval
down to by not sending an unnecessary event.<br>
<br>
Chris Johns wrote:<br>
<blockquote type="cite" cite="mid:3C784A08.B8858476@cybertec.com.au">
<pre wrap="">Angelo Fraietta wrote:<br></pre>
<blockquote type="cite">
<pre wrap="">Within the ISR I am doing the following:<br><br>Reading a 16 bit word from an I/O address<br>Decoding and adding that word onto a queue that is emptied out by a<br>running task<br>Checking a second queue for data that needs to be transmitted<br>Transmitting a word to the I/O card.<br>Setting an event that causes the running task to empty the queue.<br><br></pre>
</blockquote>
<pre wrap=""><!----><br>I would only send the event if the queue is empty and have the task loop<br>until the queue is empty.<br> <br><br></pre>
</blockquote>
<br>
<pre class="moz-signature" cols="$mailwrapcol">-- <br>Angelo Fraietta<br><br>PO Box 859<br>Hamilton NSW 2303<br><br>Home Page<br><br><br><a class="moz-txt-link-freetext" href="http://www.users.bigpond.com/angelo_f/">http://www.users.bigpond.com/angelo_f/</a><br><br>There are those who seek knowledge for the sake of knowledge - that is CURIOSITY<br>There are those who seek knowledge to be known by others - that is VANITY<br>There are those who seek knowledge in order to serve - that is LOVE<br> Bernard of Clairvaux (1090 - 1153)</pre>
<br>
</blockquote>
<br>
<pre class="moz-signature" cols="$mailwrapcol">-- <br>Angelo Fraietta<br><br>PO Box 859<br>Hamilton NSW 2303<br><br>Home Page<br><br><br><a class="moz-txt-link-freetext" href="http://www.users.bigpond.com/angelo_f/">http://www.users.bigpond.com/angelo_f/</a><br><br>There are those who seek knowledge for the sake of knowledge - that is CURIOSITY<br>There are those who seek knowledge to be known by others - that is VANITY<br>There are those who seek knowledge in order to serve - that is LOVE<br> Bernard of Clairvaux (1090 - 1153)</pre>
<br>
</blockquote>
<br>
<pre class="moz-signature" cols="$mailwrapcol">--
Angelo Fraietta
PO Box 859
Hamilton NSW 2303
Home Page
<a class="moz-txt-link-freetext" href="http://www.users.bigpond.com/angelo_f/">http://www.users.bigpond.com/angelo_f/</a>
There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
There are those who seek knowledge to be known by others - that is VANITY
There are those who seek knowledge in order to serve - that is LOVE
Bernard of Clairvaux (1090 - 1153)</pre>
<br>
</body>
</html>