I have legacy design with TL16C754B quad UART asynchronous interfaced to a microcontroller. The design works fine, but the IORn/IOWn timing does not meet the data sheet pg. 19 T7w and T13w minimum strobe width specs.
The design uses a 14.7456 MHz crystal on the TL16C754B XTAl1/XTAL2 pins, giving clock period P = 67.8 ns. So page 19 quantity 2P = 135.6 ns should be the minimum strobe width to use. However, the microcontroller interface uses a IORn strobe width of 94 ns ( and IOWn strobe width 128 ns), which is significantly less than the spec. Yet, the interface has worked reliably for years.
In order to experimentally determine how much margin there is in the design, I took an old board and modified the IORn strobe width down to as short as 32 ns ( IOWn down to 48 ns) and wrote/read test patterns to the UART scratch register. I did 100,000+ iterations with no error. According to the page 19 timing specs, this should not be possible since the 32ns pulse is less than half ot the crystal period.
What am I missing?
Are the data sheet specs correct?
Finally, I modified the the clocking of the TL16C754B by removing the crystal and using a square wave generator as a clock into the XTAL1 pin. I tried square wave frequencies of 10 MHz down to 800 KHz and still saw correct performance of the asynchronous interface to the micro.
Is the bus interface of the TL16C745B really synchronous as described in the data sheet pg 19, or is it asynchronous, like the TL16C754C?
This is not an idle question, it is potentially a reliability issue. Thanks in advance. -- Dave B