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'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"><<a href=3D"mailto:Mark@= utasker.com">[email protected]</a>></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: "Courier New";" lang=3D"EN-GB">********= ******************************************</span></p> <p><span style=3D"font-family: "Courier New";" 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: "Courier New";" la= ng=3D"EN-GB">=A0</span></p><p><span style=3D"font-family: "Courier New= ";" 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: "Courier New";">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: "Courier New";">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: "Courier New";" 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: "Courier New";" 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>=A0 nIRQ1<br>DATA= [8:0]=A0=A0=A0=A0=A0=A0=A0=A0 =3D=3D=3D>=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.