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.

Does CCS’s Image Analyzer get a single image frame?

Anonymous
Anonymous

Hi,

 

I would like to ask a question on CCS 4.0’s Image Viewer. The processor I am using is DM6437, and an external image sensor (CMOS camera) is connected with it.

 

If there is a constant flow of image data received from external image sensor, for example, CCDC’s DDR2 output address is set to 0x81000000, then what do we get when the Image Viewer’s view is refreshed?

 

Suppose frame rate of the sensor is 25fps, so each frame takes occupies 40ms. When we press “refresh”, or open “properties” window and then click “OK”, which of the consecutive frames are we going to retrieve? For 640×480 video, I actually find Image Viewer always took several seconds to update the window, during which time there can be almost over a hundred of frames coming from the external, one replaces another in their DDR2 repository.

 

So in this case, what do we actually get? Do we get precisely frame n corresponding to the moment “refresh” command is issued (plus some delay), or do we actually get a mixture: something like

1.    0~10% from frame n

2.    11~20% from frame n+1

3.    21~30% from frame n+2

(figures here are completely for illustration sake. I actually believe there might be much smaller fraction from each individual frame)

 

or other combinations?

                          

                            

As evidenced in the picture above: with a still lamp on top, Image Analyzer displays a clear image of the lamp; but when I am waving hands between the camera and the lamp when CCS is updating image, Image Analyzer’s display is quite unexplainable. Is this a combined image of many frames, hence contains many different positions of the hand during its movement?

 

Could anyone explain Image Viewer’s retrieving mechanism here for me?

 

Also, considering that VPFE is connected via high-bandwidth (128-bit) bus to SBL(shared buffer logic), then to EMIF (64-bit bus), and the transfer works in burst mode according to SPRU977A, TMS320DM643x DMP Video Processing Front End (VPFE) User's Guide (Rev. A), so transferring of video data into DDR2 should not interfere other tasks in normal conditions. But in terms of emulator’s retrieving data from DDR2, with which Image Viewer’s display result is intimately related, is it that fast? Is it possible for it to have the above mentioned “fractional combination” result?

 

I have checked the emulator’s clock and it is shown as 35MHz in CCS setup. Is that fast enough? Is the interface (JTAG) between emulator and DDR2 fast enough to avoid the said “fractional combination”?

    

 

  

Thanks,

Zheng


  • Zheng,

     

    The Image Viewer is intended more for examining still images. Best way to use the Image Analyzer is to set a breakpoint after a complete image is in memory then refresh the Image Analyzer.

    When you press refresh the Image Analyzer simply reads the specified memory and display the image. It does not take any framing into consideration so if the target is running then the memory content will be changing while the Image Analyzer is reading it hence the behavior you're seeing. Hope this answers your question.

    Regards,

    Imtaz.

  • Anonymous
    0 Anonymous in reply to Imtaz Ali

    Imtaz,

    Thanks for explanation. I stopped continuous frame updating to capture single frame, by which I mean keeping only one frame in the memory, and image analyzer now could get a good image of a fast waving hand.

     

     

    Zheng