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.

am18x uPP START signal

Hi,

I'd like to use uPP to interface to a CMOS sensor, the basic logic is simple and it should work in theory(haven't test it yet), have two questions to be answered:

1, the START signal, in sprufw4 it's said it can be disabled, that means I can choose not to use it, but as it's the indication of start of a line, if I disable it, how should I know where a new line has started? In my case the clock is free-running, I have HREF signal that can be used as ENABLE signal, this is my understanding: with HREF as ENABLE, the 1st byte received after uPP initialization is the 1st byte of 1st line, with Byte count of bytes received, the next valid byte will be the 1st byte of the 2nd line, and so on, until the Byte count x Line count bytes have been received, a full frame(Window) receiving has been finished. Is it correct? Some extra logic are needed to generate START signel from the CMOS sensor output signal.

2,  still in sprufw4 on page 13, it's said that The internal DMA controller always writes data in bursts of 64 bytes. If my Byte count is not a multiply of 64 bytes, does it mean the last few bytes if a line won't be written to memory until some more bytes are read from the following line? So to make the full window receiving successful, the byte count of a window must be a multiply of 64?

 

thanks,

clliu

  • clliu,

    I think you have the right idea about the START signal.  When START is disabled and ENABLE is enabled for receive mode, the first incoming data word (while ENABLE is asserted) is interpreted as the first word of the first line.  After that, the DMA automatically moves to the next line (or frame) after the appropriate number of data words are received.  Basically, the DMA channel counts incoming data words and infers the start of each line when START is not used.

    Also, to be clear: START can only be disabled in receive mode.  In transmit mode, the uPP peripheral always drives START as described in the user guide.

    To answer your second question: I have personally tested uPP transfers smaller than 64 bytes, and the DMA completes smaller transfers (or transfers ending in a "remainder" of less than 64 bytes) transparently.  You do not need to queue up a "dummy" transfer (or wait for the next transfer to start) to flush out the DMA.

    Hope this helps.

  • Hi Joe,

     

    Thanks a lot, will try it when the PCB is ready.

     

    clliu

  • Joe,

    I have the same question about smaller than 64 byte transfers. You say that this works without a flush operation but do you know what the timing for this will be. I cannot see any information on this in the L138 tech ref manual spruh77a uPP section, or any information on how to do a manual flush.

    Thanks.