<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: iMX25 UART: TX  bit errors on linux-2.6.3 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194424#M10155</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Hydrix,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This type of errors may always be happen, beacause of the noise, non linear behavior of electrical components, power supply glitches, lighting, instant electromagnetic fields etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only way to solve it, is to implement a ISO-OSI layer 2 over the physical layer, like in internet communication. Simply In layer 2, you add a CRC and a sequence number at the end of your data blocks( in your case, you may divide your 32 KByte data let us say 1 KByte blocks), the receiver side checks the sequence number and CRC values. If it finds an error in the block, it requests the sender to re-transmit the sequence numbered block again.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 Dec 2011 07:23:21 GMT</pubDate>
    <dc:creator>MehmetAliIpin</dc:creator>
    <dc:date>2011-12-09T07:23:21Z</dc:date>
    <item>
      <title>iMX25 UART: TX  bit errors on linux-2.6.3</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194422#M10153</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I'm sorry that my question is rather vague. I'm still trying to get a handle on the problem that I'm facing.&lt;/P&gt;&lt;P&gt;I've noticed &lt;EM&gt;bit errors&lt;/EM&gt; on the TX line on UARTs 2 and 3 on a iMX25 based board. The UARTs are connected to an RS422 bus (Full duplex RS485).&lt;/P&gt;&lt;P&gt;The problem manifests on a very specific scenario outlined below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using a PC with a USB to RS485/422 converter, and the i.MX25 based linux box which I'll call DEVICE.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Test:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The PC transmits and receives a ~32K file (send_file.bin and recv_file.bin):&lt;/P&gt;&lt;P&gt;The DEVICE loops back the received file and makes a local copy:&lt;/P&gt;&lt;P&gt;stty -F /dev/ttymxc2 raw -tostop speed 9600 -echo -parenb&lt;BR /&gt; cat /dev/ttymxc2 | tee file &amp;gt; /dev/ttymxc2&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;send_file.bin in the PC and file in linux are identical which indicates that transmission from the PC are OK. But the data in send_file.bin and recv_file.bin have bit errors: 1-2 bits on &lt;STRONG&gt;some&lt;/STRONG&gt; of the bytes are randomly flipped (1-&amp;gt;0 and 0-&amp;gt;1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Test 2:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The PC only receives the file with linux transmitting it.&lt;/P&gt;&lt;P&gt;This time there were no errors in the file. In other words, it looks like the problem occurs when the DEVICE is receiving and transmitting at the same time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Other info:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I've verified the USB to RS4xx converter by looping back the wires.&lt;/P&gt;&lt;P&gt;Electrically, the signals on the RS485 bus look clean (no noise or slew problems).&lt;/P&gt;&lt;P&gt;The issues occurs at both 115200 and 9600bps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone else encountered anything like this? Any suggestions on how to tackle this beast?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;DJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Dec 2011 23:41:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194422#M10153</guid>
      <dc:creator>Hydrix</dc:creator>
      <dc:date>2011-12-08T23:41:34Z</dc:date>
    </item>
    <item>
      <title>Re: iMX25 UART: TX  bit errors on linux-2.6.3</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194423#M10154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oops. sorry make that linux-2.6.31&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Dec 2011 23:42:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194423#M10154</guid>
      <dc:creator>Hydrix</dc:creator>
      <dc:date>2011-12-08T23:42:01Z</dc:date>
    </item>
    <item>
      <title>Re: iMX25 UART: TX  bit errors on linux-2.6.3</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194424#M10155</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Hydrix,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This type of errors may always be happen, beacause of the noise, non linear behavior of electrical components, power supply glitches, lighting, instant electromagnetic fields etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only way to solve it, is to implement a ISO-OSI layer 2 over the physical layer, like in internet communication. Simply In layer 2, you add a CRC and a sequence number at the end of your data blocks( in your case, you may divide your 32 KByte data let us say 1 KByte blocks), the receiver side checks the sequence number and CRC values. If it finds an error in the block, it requests the sender to re-transmit the sequence numbered block again.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Dec 2011 07:23:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX25-UART-TX-bit-errors-on-linux-2-6-3/m-p/194424#M10155</guid>
      <dc:creator>MehmetAliIpin</dc:creator>
      <dc:date>2011-12-09T07:23:21Z</dc:date>
    </item>
  </channel>
</rss>

