<?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 SC16C752 FIFO Ready Bit in Other NXP Products</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1620798#M17158</link>
    <description>&lt;P&gt;In our product we replaced the TI part with the NXP SC16C752 dual UART.&lt;BR /&gt;According to the manual, the chips should be compatible, however, I've noticed some difference.&lt;BR /&gt;I'm using the 64 byte FIFO with a TX level of 8 bytes on serial port B.&lt;BR /&gt;To check whether I'm allowed to send characters to the FIFO, I'm checking the "TX FIFO B status" bit in the "FIFO Rdy" register.&lt;/P&gt;&lt;P&gt;In case the FIFO gets full, the status bit is cleared.&lt;BR /&gt;When 8 bytes are available again in the FIFO, an interrupt is generated, IIR contains 0x03 and after reading IIR 0x01.&lt;BR /&gt;However, reading the "TX FIFO B status" bit in the "FIFO Rdy" register will give me a value of 0x01, meaning, there no room in the FIFO B.&lt;BR /&gt;Furthermore, this bit will not change until the FIFO is completely empty.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;The behavior is not what I expected and what I interpret from reading the manual. Also the TI chip showed this status as expected.&lt;/P&gt;&lt;P&gt;Is there anything I'm missing?&lt;BR /&gt;Did anybody else notice this behavior?&lt;/P&gt;</description>
    <pubDate>Thu, 23 Mar 2023 10:18:31 GMT</pubDate>
    <dc:creator>Falki</dc:creator>
    <dc:date>2023-03-23T10:18:31Z</dc:date>
    <item>
      <title>SC16C752 FIFO Ready Bit</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1620798#M17158</link>
      <description>&lt;P&gt;In our product we replaced the TI part with the NXP SC16C752 dual UART.&lt;BR /&gt;According to the manual, the chips should be compatible, however, I've noticed some difference.&lt;BR /&gt;I'm using the 64 byte FIFO with a TX level of 8 bytes on serial port B.&lt;BR /&gt;To check whether I'm allowed to send characters to the FIFO, I'm checking the "TX FIFO B status" bit in the "FIFO Rdy" register.&lt;/P&gt;&lt;P&gt;In case the FIFO gets full, the status bit is cleared.&lt;BR /&gt;When 8 bytes are available again in the FIFO, an interrupt is generated, IIR contains 0x03 and after reading IIR 0x01.&lt;BR /&gt;However, reading the "TX FIFO B status" bit in the "FIFO Rdy" register will give me a value of 0x01, meaning, there no room in the FIFO B.&lt;BR /&gt;Furthermore, this bit will not change until the FIFO is completely empty.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;The behavior is not what I expected and what I interpret from reading the manual. Also the TI chip showed this status as expected.&lt;/P&gt;&lt;P&gt;Is there anything I'm missing?&lt;BR /&gt;Did anybody else notice this behavior?&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 10:18:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1620798#M17158</guid>
      <dc:creator>Falki</dc:creator>
      <dc:date>2023-03-23T10:18:31Z</dc:date>
    </item>
    <item>
      <title>Re: SC16C752 FIFO Ready Bit</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1624417#M17243</link>
      <description>&lt;P&gt;Hello Martin,&lt;/P&gt;
&lt;P&gt;This device is almost 20 years old and the datasheet does not have a very clear description of the bits in the FIFO RDY register. The engineer who designed this device is long gone. We do not have much history on this device. But from the TI's datasheet:&lt;/P&gt;
&lt;P aria-hidden="true"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FIFO.png" style="width: 899px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/216901iCB7D660DC9D7C970/image-size/large?v=v2&amp;amp;px=999" role="button" title="FIFO.png" alt="FIFO.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;When bit 0 or bit 1 is set, this means that there are at least a TX trigger level number of spaces available in the TXFIFO. What this means is that the TXFIFO is not empty can be written with more data.&lt;/P&gt;
&lt;P&gt;From the NXP datasheet, it suggests that the FIFO Ready register should work according to the DMA function of /TXRDY and /RXRDY pins. In DMA mode 1, the pin /TXRDY should work as follow:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 916px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/216902i7BE4FC1DAC70D75F/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.png" alt="1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/TXRDY pin is set when the TXFIFO is full (no spaces), and clear when there are at least a TX trigger level number of spaces available in the TXFIFO. I would expect the bits in the FIFO RDY registers reflect the of /TXRDY and /RXRDY pins. So, there is a difference in behavior between the TI and the NXP part. Unfortunately, I cannot check that with the design team. We do not have a test setup to compare the behavior between NXP and TI.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Tomas&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Mar 2023 18:09:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1624417#M17243</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2023-03-29T18:09:34Z</dc:date>
    </item>
    <item>
      <title>Re: SC16C752 FIFO Ready Bit</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1646846#M17667</link>
      <description>&lt;P&gt;Hi Tomas,&lt;/P&gt;&lt;P&gt;Sorry for the long wait, and thank you for the detailed investigation.&lt;/P&gt;&lt;P&gt;I see the difference, but does not explain what I see.&lt;/P&gt;&lt;P&gt;To summarize:&lt;BR /&gt;&lt;SPAN&gt;Both, TI and NPX, should clear the TX bit in case there are fewer than level spaces in the FIFO.&lt;BR /&gt;TI will set the bit again upon reaching the level, NPX only if the FIFO is full.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But what I see is, that NPX does NOT clear the TX bit, even when there are fewer than level spaces, but rather only on FIFO empty. Therefore, it seems not to follow /TXRDY as assumed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="inherit"&gt;Anyway, I just thought I missed something, or setting some bit in yet&amp;nbsp;&lt;/FONT&gt;another&lt;FONT face="inherit"&gt;&amp;nbsp;register to make it work as expected.&lt;BR /&gt;However, it looks like there is no chance to find a solution on a such old device.&lt;BR /&gt;Just wondering why I'm the only one hitting this problem.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="inherit"&gt;Regards,&lt;BR /&gt;Martin&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 May 2023 06:47:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16C752-FIFO-Ready-Bit/m-p/1646846#M17667</guid>
      <dc:creator>Falki</dc:creator>
      <dc:date>2023-05-09T06:47:29Z</dc:date>
    </item>
  </channel>
</rss>

