Re: Possibility of high frequency interrupt handle with MCF5223x

David Pang <[email protected]> Mon, 6 Dec 2010 21:49:16 +0800
Newsgroups gmane.comp.hardware.motorola.microcontrollers.coldfire
Message-ID <[email protected]>
--0003255740ce78b7a70496be272a
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Thanks Yevgeni and Mark for your prompt reply.

Seams I have to consider other processor of higher frequency, and other
means to handle data input.
DMA is a good idea, but I don't see CF MCU has a digital input peripheral
could do DMA transfer. An FPGA/CPLD conversion with parallel EMI bus to MCU
is a good idea.
In fact 12MHz is the clock frequency, there is interval between packets. th=
e
max data rate would be 8MB/s approximately.

As Mark mentioned, CFV2 MCU UDP can only achieve 15Mb/s, that is the real
bottleneck. I have to consider to discard redundant data, but it is still
difficult to get through the bottleneck.


B.R.
David


On Mon, Dec 6, 2010 at 9:05 PM, Mark Butcher <[email protected]> wrote:

> Hi David
>
>
>
> 12MHz seems rather fast for an IRQ.
>
> I would look into the use of DMA to copy the data input to a buffer and
> then using its =91end of transfer=92 interrupt to send the data on. For e=
xample,
> you may be able to use the trigger input to start a DMA timer sequence th=
at
> then reads the data from the port at the correct rate (there are various
> other permutations in the chip which may also be able to solve it).
>
>
>
> Note however that your data rate is 96Mb/s and it will not be possible to
> send this over a 100M LAN (there is overhead and collisions etc.). Probab=
ly
> the V2 will be able to achieve about 15Mb/s UDP so this is probably the m=
ain
> bottleneck.
>
>
>
>
>
> Regards
>
>
>
> Mark
>
>
>
>
>
> **************************************************
>
> Mark Butcher Bsc (Hons)                 MPhil MIET
>
>
>
> M.J.Butcher Consulting
>
> Birchstrasse 20f,                  CH-5406 R=FCtihof
>
> Switzerland          www.mjbc.ch / www.uTasker.com
>
> ++41 (0)79 402 26 37            Skype: M_J_Butcher
>
> **************************************************
>
>
>
>
>
>
>
> *Von:* [email protected] [mailto:[email protected]]
> *Im Auftrag von *David Pang
> *Gesendet:* Montag, 6. Dezember 2010 13:16
> *An:* [email protected]
> *Betreff:* [ColdFire] Possibility of high frequency interrupt handle with
> MCF5223x
>
>
>
> Dear all,
>
> I want to use MCF5223x to read a 8bit digital signal and forward the samp=
le
> data to UDP packet.
> The signal consists of 8bit data and 1 clock, data fetch at rising edge o=
r
> falling edge. However, the clock frequency is pretty high, max frequency =
is
> about 12MHz.
> Are there possible to use the CLOCK input to trigger an interrupt and
> sample the data in each interrupt?
>
> I want to do the connection as below:
> CLOCK             =3D=3D=3D>  nIRQ1
> DATA[8:0]         =3D=3D=3D>  PORT AN
>
> So the system would include 3 tasks:
> 1. Interrupt for data input, interrupt trigger at about 12MHz
> 2. UDP Packet forwarding, each packet contains 200 samples
> 3. HTTP or TCP service for system configuration
>
> Can a 60MHz ColdFireV2, 5223x, capable to do it?
>
>
> B.R.
> David
>

--0003255740ce78b7a70496be272a
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<br>Thanks Yevgeni and Mark for your prompt reply.<br><br>
Seams I have to consider other processor of higher frequency, and other mea=
ns to handle data input.<br>DMA is a good idea, but I don&#39;t see CF MCU =
has a digital input peripheral could do DMA transfer. An FPGA/CPLD conversi=
on with parallel EMI bus to MCU is a good idea. <br>
In fact 12MHz is the clock frequency, there is interval between packets. th=
e max data rate would be 8MB/s approximately.<br><br>As Mark mentioned, CFV=
2 MCU UDP can only achieve 15Mb/s, that is the real bottleneck. I have to c=
onsider to discard redundant data, but it is still difficult to get through=
 the bottleneck.<br>
<br><br>B.R.<br>David<br><br><br><div class=3D"gmail_quote">On Mon, Dec 6, =
2010 at 9:05 PM, Mark Butcher <span dir=3D"ltr">&lt;<a href=3D"mailto:Mark@=
utasker.com">[email protected]</a>&gt;</span> wrote:<br><blockquote class=3D=
"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rg=
b(204, 204, 204); padding-left: 1ex;">
<div link=3D"blue" vlink=3D"purple" lang=3D"DE-CH"><div><p class=3D"MsoNorm=
al"><span style=3D"font-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB=
">Hi David</span></p><p class=3D"MsoNormal"><span style=3D"font-size: 11pt;=
 color: rgb(31, 73, 125);" lang=3D"EN-GB">=A0</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, 1=
25);" lang=3D"EN-GB">12MHz seems rather fast for an IRQ.</span></p><p class=
=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, 125);" la=
ng=3D"EN-GB">I would look into the use of DMA to copy the data input to a b=
uffer and then using its =91end of transfer=92 interrupt to send the data o=
n. For example, you may be able to use the trigger input to start a DMA tim=
er sequence that then reads the data from the port at the correct rate (the=
re are various other permutations in the chip which may also be able to sol=
ve it).</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, 1=
25);" lang=3D"EN-GB">=A0</span></p><p class=3D"MsoNormal"><span style=3D"fo=
nt-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">Note however that y=
our data rate is 96Mb/s and it will not be possible to send this over a 100=
M LAN (there is overhead and collisions etc.). Probably the V2 will be able=
 to achieve about 15Mb/s UDP so this is probably the main bottleneck.</span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, 1=
25);" lang=3D"EN-GB">=A0</span></p><p class=3D"MsoNormal"><span style=3D"fo=
nt-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">=A0</span></p><p cl=
ass=3D"MsoNormal">
<span style=3D"font-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">Re=
gards</span></p><p class=3D"MsoNormal"><span style=3D"font-size: 11pt; colo=
r: rgb(31, 73, 125);" lang=3D"EN-GB">=A0</span></p><p class=3D"MsoNormal"><=
span style=3D"font-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">Mar=
k</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, 1=
25);" lang=3D"EN-GB">=A0</span></p><p class=3D"MsoNormal"><span style=3D"fo=
nt-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">=A0</span></p><p><s=
pan style=3D"font-family: &quot;Courier New&quot;;" lang=3D"EN-GB">********=
******************************************</span></p>
<p><span style=3D"font-family: &quot;Courier New&quot;;" lang=3D"EN-GB">Mar=
k Butcher Bsc (Hons)=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 MPhil =
MIET </span></p><p><span style=3D"font-family: &quot;Courier New&quot;;" la=
ng=3D"EN-GB">=A0</span></p><p><span style=3D"font-family: &quot;Courier New=
&quot;;" lang=3D"EN-GB">M.J.Butcher Consulting=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 </span></p>
<p><span style=3D"font-family: &quot;Courier New&quot;;">Birchstrasse 20f,=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 CH-5406 R=FCtihof</span=
></p><p><span style=3D"font-family: &quot;Courier New&quot;;">Switzerland=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 <a href=3D"http://www.mjbc.ch" target=3D"_blank=
">www.mjbc.ch</a> / <a href=3D"http://www.uTasker.com" target=3D"_blank">ww=
w.uTasker.com</a> </span></p>
<p><span style=3D"font-family: &quot;Courier New&quot;;" lang=3D"EN-GB">++4=
1 (0)79 402 26 37=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Skype: M_J_Butcher</span=
></p><p><span style=3D"font-family: &quot;Courier New&quot;;" lang=3D"EN-GB=
">**************************************************</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size: 11pt; color: rgb(31, 73, 1=
25);" lang=3D"EN-GB">=A0</span></p><p class=3D"MsoNormal"><span style=3D"fo=
nt-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">=A0</span></p><p cl=
ass=3D"MsoNormal">
<span style=3D"font-size: 11pt; color: rgb(31, 73, 125);" lang=3D"EN-GB">=
=A0</span></p><p class=3D"MsoNormal"><b><span style=3D"font-size: 10pt;" la=
ng=3D"DE">Von:</span></b><span style=3D"font-size: 10pt;" lang=3D"DE"> <a h=
ref=3D"mailto:[email protected]" target=3D"_blank">coldfire-boun=
[email protected]</a> [mailto:<a href=3D"mailto:[email protected]"=
 target=3D"_blank">[email protected]</a>] <b>Im Auftrag von </b>=
David Pang<br>
<b>Gesendet:</b> Montag, 6. Dezember 2010 13:16<br><b>An:</b> mark@uTasker.=
com<br><b>Betreff:</b> [ColdFire] Possibility of high frequency interrupt h=
andle with MCF5223x</span></p><div><div></div><div class=3D"h5"><p class=3D=
"MsoNormal">
=A0</p><p class=3D"MsoNormal">Dear all,<br><br>I want to use MCF5223x to re=
ad a 8bit digital signal and forward the sample data to UDP packet.<br>The =
signal consists of 8bit data and 1 clock, data fetch at rising edge or fall=
ing edge. However, the clock frequency is pretty high, max frequency is abo=
ut 12MHz.<br>
Are there possible to use the CLOCK input to trigger an interrupt and sampl=
e the data in each interrupt?<br><br>I want to do the connection as below:<=
br>CLOCK=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =3D=3D=3D&gt;=A0 nIRQ1<br>DATA=
[8:0]=A0=A0=A0=A0=A0=A0=A0=A0 =3D=3D=3D&gt;=A0 PORT AN<br>
<br>So the system would include 3 tasks:<br>1. Interrupt for data input, in=
terrupt trigger at about 12MHz<br>2. UDP Packet forwarding, each packet con=
tains 200 samples <br>3. HTTP or TCP service for system configuration<br>
<br>Can a 60MHz ColdFireV2, 5223x, capable to do it?<br><br><br>B.R.<br>Dav=
id</p></div></div></div></div></blockquote></div><br>

--0003255740ce78b7a70496be272a--
---
[email protected]              Send a post to the list.
[email protected]        Join the list.
[email protected]    Join the list in digest mode.
[email protected]     Leave the list.