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.

OMAPL138 uPP FIFO

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

Hello, 

We are planning to use the OMAPL138 and a Xilinx FPGA in our system.  The plan is to use the FPGA to de-serialize a handful of serial ports, and transfer that data to the OMAP in a parallel fashion.  We are considering using the uPP port, but have a few questions on the uPP interface and the software involved with it.

1)      When using the uPP interface, is the TX Clock signal always active once OMAP is operational? (– e.g., can we use it as an input clock to run other FPGA logic. )

2)      There is brief mention of a FIFO scenario that can be used with the uPP.

     a.  Can the FIFO be used on the tx and rx sides of the uPP?

     b.  For DSP receive side - How would software interact with this fifo – e.g., which Interrupt bit would be used to tell software that data was in the fifo?

     c.  Also, if the DSP fifo is full, will he uPP wait signal automatically be asserted to throttle the FPGA and prevent an over-run?

     d.  For DSP transmit side – software could write data to the uPP tx fifo, but how does it know when to start transmitting the fifo contents to the FPGA over the uPP bus?

     e.  How does SW read/write to the FIFOs, does it have to setup a DMA engine to transfer to/from the FIFO’s?

      f.  Is there any more documentation on the FIFO feature besides the brief paragraph in the uPP User Guide?

Sorry for the 20 questions, but I wasn't able to find this detail in the documentation, and I need some help with how the software works on this port.

 Thanks!

  • Hi Jamal,

    1) I think once you enable the UPP (power it up, etc) the TxClock will be always active.  You might consider the CLKOUT pins for alternate clock sources.

    2) I'm fairly certain the UPP FIFOs (Rx and Tx) are controlled by the UPP DMA engine, and you really don't disable them.  They provide clock crossing and buffering while the DMA engine is queuing transfers to things like the DDR controller.   At least, that's how we've used the UPP from the DSP to talk to the FPGAs on our MityDSP-L138F SOMs.  Pretty much , if you program the UPP DMA properly, it will take care of filling/draining the FIFOs to/from memory (SRAM or DDR3) as well as asserting the handshaking pins on the UPP bus (WAIT, READY, etc.).  The UPP is well documented in the OMAP-L138 Technical Reference Manual, we were able to craft a driver for it for the DSP (using DSP/BIOS) without too much trouble.  It's pretty easy to use for pushing data into the part -- too bad that TI seems to have dropped it on all their newer products.

    -Mike

    (www.mitydsp.com)