Other Parts Discussed in Thread: DLPC2607
Yes me again. I'm really struggling to understand what is occurring and how to increase the speeds on the image transfer rate we are trying to accomplish. I have some data that I'm looking at.
We need: 40hz
with: 40 images, 360 x 640. Each image is black and white. there is a column exactly 5 pixels wide that goes from the top to the bottom. This 5 pixel width line shifts by 5 every frame. Its more or less a mask
What are we using: Starting off from the structured_light directory, using the C code.
STOCK PROGRAM SPEED
./pattern_disp -r 40 1 = 40 frames ~6.1 seconds
./pattern_disp -r 30 1 = 40 frames ~6.1 seconds
./pattern_disp -r 20 1 = 40 frames ~6.1 seconds
./pattern_disp -r 10 1 = 40 frames ~6.1 seconds
./pattern_disp -r 5 1 = 40 frames ~8 seconds
./pattern_disp -r 1 1 = 40 frames ~40 seconds
in another post I asked about 120hz, please ignore that. The 120hz was a different aspect of the project, related, but not really. for this discussion I need to the 40hz.
I know the datasheet for the evm claims up to 60hz transfer rate. And the other discussion it was mentioned the BBB could get up to 40hz. So the speeds I'm seeing seem a little off.
So I took some time and changed how the images were being collected, took out some of the code that wasn't applicable to my needs. I've managed to get the time reduced. I needed to increase the delay for allowing the buffer to finish loading and for the DLP2000 to update or I received splits in the mask lines the images. I also changed how the code accesses the gpio/i2c functionality and speed that up a bit.
right now what I'm seeing is
UPDATED CODE
./pattern_disp = 40 frames ~3.64 seconds
gotten closer, but there are some bottlenecks. namely the delays for the framebuffer to finish loading and the time for the DLP to update. Right now I have the Delay after loading the framebuffer set to 40000 and the delay to allow the dlp to update set at 30000. This is close to the minimum I can set them without creating any distortion in the image files as its loaded. but over 40 images. The delays add up to ~1.64 seconds for the first delay and 1.21 seconds for the 2nd delay.
What am I missing? are there settings I should be looking at. I know there are control registers I could be setting. But it looks like the default is 60hz, based on table 11 on the DLPC2607 guide.
There are a lot of references to frame rate related to motion video, video, such as frame rate control and settings such as vsync lock. But I'm not sure how they relate to still images.
I guess what I'm asking is the way the software currently setup capable of 40hz? If it is capable, but not in its current form what should I be looking at to make changes to increase the speed?
One last question. The EVM seems to have limited memory on it, where TI has stored images for testing and development purposes. Is there a way for us to get access to that memory, load our own images on it, rather than relying on the transfer rate between the BBB and the EVM. perhaps reducing the delays.
Thank you for your time and help.