Hi all, I am using an external clock to transmit serial data from a VC33 to a CPU but it is occasionally loosing a data word. The XSR EMPTY bit 3 of the serial port global control register seems to stay low all the time (ie transmit shift register empty) even if I stop the external clock and load the serial output port buffer with a new word then the XSR Empty bit stays low. I'm using this bit to determine when the CPU has clocked the data out of the DSP so the DSP can load a new transmit word but it never goes to a 1 so never stops the DSP transmitting even if the previous word wasn't clocked out by the CPU. I've designed a unit which is in production so I need to resolve this problem ASAP. I can get over it by redesigning the handshaking and maybe using the TXD ready (bit 1 of the control reg) or a spare port so its not the end of the world but it would use a few precious clock cycles. The serial port global control reg @ 0x808040 is set to 0x0E3F0304, the FSX control reg @ 0x808042 is set to 0x00000EFD (and FSR control reg @0x808043 is set to 0x00000111). The serial port timer regs @ 0x808044-0x808046 are all set to zero. I'm using code composer v4.10.7 with a parallel port Jtag emulator. I have only just found this problem after looking everywhere else so I may be doing something wrong but I'v re-read all the serial port documentation and checked TIs knowledge base etc etc and can't find anything so far. has anybody ever come across this problem before ? heres hoping dave |
VC33 Serial port TXD problem
Started by ●April 23, 2004