Part Number: TMS320C6657
I am using the TMDXEVM6657 Evaluation Board and experimenting with the Universal Parallel Port (uPP). I created initialization function and ISR based on the UPP User Guide SPRUHG9. I have configured the uPP for two receive channels (but I'm only driving the B channel for now). It works initially and can capture a sine wave signal from an ADC I connected to the I/O expansion header.
Problem: When I disable the uPP to print the data from the capture buffer and then enable the uPP, the uPP DMA no longer updates the data buffer (stale data remains in the buffer). It looks like the DMA is stalled out. The ISR continues to trigger on the End of Window signal, at which point I reload the DMA Channel Descriptor registers, but DMA does not transfer new data from parallel port to memory. I tried replacing the UPP disable/enable operation with simply redirecting the DMA destination to a dummy buffer while I read the 'good' data using a flag in the ISR (i.e. I kept the UPP enabled continuously) and it still fails in the same fashion. Only a power cycle fixed the problem. I added a function call to re-initialize the uPP when re-enabling the uPP in my serial port access command and it still did not work. That seems to point to a hardware issue.
Please help.