This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NS16C2552: About the movement of NS16C2552TVA / NOPB

Part Number: NS16C2552

hello
I chose NS16C2552TVA / NOPB as an alternative to PC16552DV / NOPB.
But it doesn't work (UART communication)
I have a question about the difference between PC16552DV and NS16C2552TVA.
1) Is the operation sequence the same?
2) Can the procedure for interrupt processing be the same (not described in the data sheet)?
3) Are there any other differences?

I also have a question about how the NS16C2552TVA works.
1) When setting the FIFO threshold, please give me the fastest way to read all the data.
2) Are there any reference circuits or programs?

thank you

  • 1) Is the operation sequence the same?

    The two devices were made by two different silicon manufacturers at the time. One of National semiconductor and the second was Texas Instruments. When TI acquired National Semiconductor, they inhertited the same devices in the portfolio since both National Semi and TI were competitors at the time. I believe the National Semi device came out first and then TI tried to make a pin to pin device against it. On paper, the operational sequence (initialization procedure) is meant to be the same.

    I'll respond back tomorrow after taking a closer look to see if I can spot any differences in the datasheet for the start up sequence. I suspect there may be timing differences though related to the IOR/IOW/CS/A0/A1/A2 pins that could also cause issues with compatibility.

    For now, do you have a high level view of what your current initialization sequence looks like? (Step1: set LCR register to values 0x77, step 2 ect.)

    But it doesn't work (UART communication)

    Have you done any loopback tests with the new device? Or are you seeing errors prior to even sending data?

    -Bobby

  • Hi 00093,

    I took a look and the access to certain registers have certain rules that differ. PC16552 is much more simple and only requires LCR bit 7 (DLAB) to be set to 1 or 0 inorder to access certain registers such as RHR, THR, IER and DLL, DLM, AFR. NS16C2552 has more registers and requires more set up to access certain registers. Table 2 in the datasheet shows the register access requirements in the comment column.; because of this, code for 16552 could cause issues with the 16C2552 series. 

    The 16C2552 series also has a bit more interrupt enable feature which do give more interrupt options according to UART handshaking as well as a sleep function which could accidently be enabled. IIR however seems to be the same so the interrupt routine shouldn't change if you don't enable the additional IER settings.

    Table 31 in the datasheet shows a high level view of the differences between the two devices. The last line points to a MCR setting which could change how the clock divisor is set which could also cause issues when going from 16552 to 16C2552.

    -Bobby