AW: Possibility of high frequency interrupt handle with MCF5223x

"Mark Butcher" <[email protected]> Mon, 6 Dec 2010 14:05:49 +0100
Newsgroups gmane.comp.hardware.motorola.microcontrollers.coldfire
Message-ID <[email protected]>
This is a multipart message in MIME format.

------=_NextPart_000_006C_01CB954E.B00D4B00
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi David

=20

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 =
example, you
may be able to use the trigger input to start a DMA timer sequence that =
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).

=20

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.). =
Probably
the V2 will be able to achieve about 15Mb/s UDP so this is probably the =
main
bottleneck.

=20

=20

Regards

=20

Mark

=20

=20

**************************************************

Mark Butcher Bsc (Hons)                 MPhil MIET=20

=20

M.J.Butcher Consulting              =20

Birchstrasse 20f,                  CH-5406 R=FCtihof

Switzerland          www.mjbc.ch / www.uTasker.com=20

++41 (0)79 402 26 37            Skype: M_J_Butcher

**************************************************

=20

=20

=20

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

=20

Dear all,

I want to use MCF5223x to read a 8bit digital signal and forward the =
sample
data to UDP packet.
The signal consists of 8bit data and 1 clock, data fetch at rising edge =
or
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=20
3. HTTP or TCP service for system configuration

Can a 60MHz ColdFireV2, 5223x, capable to do it?


B.R.
David


------=_NextPart_000_006C_01CB954E.B00D4B00
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1"><meta name=3DGenerator content=3D"Microsoft Word =
14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{mso-style-priority:99;
	mso-style-link:"Nur Text Zchn";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.NurTextZchn
	{mso-style-name:"Nur Text Zchn";
	mso-style-priority:99;
	mso-style-link:"Nur Text";
	font-family:"Calibri","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DDE-CH link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Hi David<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>12MHz seems rather fast for an IRQ.<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>I would look into the use of DMA to copy the data input to a buffer =
and then using its &#8216;end of transfer&#8217; interrupt to send the =
data on. For example, you may be able to use the trigger input to start =
a DMA timer sequence that 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).<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>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.). Probably the V2 will be able to achieve about 15Mb/s UDP so this =
is probably the main bottleneck.<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Regards<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Mark<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><span =
lang=3DEN-GB style=3D'font-family:"Courier =
New"'>**************************************************<o:p></o:p></span=
></p><p class=3DMsoPlainText><span lang=3DEN-GB =
style=3D'font-family:"Courier New"'>Mark Butcher Bsc =
(Hons)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MPhil MIET <o:p></o:p></span></p><p =
class=3DMsoPlainText><span lang=3DEN-GB style=3D'font-family:"Courier =
New"'>&nbsp;<o:p></o:p></span></p><p class=3DMsoPlainText><span =
lang=3DEN-GB style=3D'font-family:"Courier New"'>M.J.Butcher =
Consulting&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p><p =
class=3DMsoPlainText><span style=3D'font-family:"Courier =
New"'>Birchstrasse =
20f,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CH-5406 =
R=FCtihof<o:p></o:p></span></p><p class=3DMsoPlainText><span =
style=3D'font-family:"Courier =
New"'>Switzerland&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
<a href=3D"http://www.mjbc.ch">www.mjbc.ch</a> / <a =
href=3D"http://www.uTasker.com">www.uTasker.com</a> =
<o:p></o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-GB =
style=3D'font-family:"Courier New"'>++41 (0)79 402 26 =
37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
Skype: M_J_Butcher<o:p></o:p></span></p><p class=3DMsoPlainText><span =
lang=3DEN-GB style=3D'font-family:"Courier =
New"'>**************************************************<o:p></o:p></span=
></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span lang=3DEN-GB =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><b><span lang=3DDE =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span><=
/b><span lang=3DDE =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> =
[email protected] [mailto:[email protected]] <b>Im =
Auftrag von </b>David Pang<br><b>Gesendet:</b> Montag, 6. Dezember 2010 =
13:16<br><b>An:</b> [email protected]<br><b>Betreff:</b> [ColdFire] =
Possibility of high frequency interrupt handle with =
MCF5223x<o:p></o:p></span></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Dear =
all,<br><br>I want to use MCF5223x to read 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 falling edge. However, =
the clock frequency is pretty high, max frequency is about 12MHz.<br>Are =
there possible to use the CLOCK input to trigger an interrupt and sample =
the data in each interrupt?<br><br>I want to do the connection as =
below:<br>CLOCK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; =3D=3D=3D&gt;&nbsp; =
nIRQ1<br>DATA[8:0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D=3D=3D&gt;&nbsp; PORT AN<br><br>So the system would include 3 =
tasks:<br>1. Interrupt for data input, interrupt trigger at about =
12MHz<br>2. UDP Packet forwarding, each packet contains 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>David<o:p></o:p></p></div></body></html>
------=_NextPart_000_006C_01CB954E.B00D4B00--

---
[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.