Need Programming Help

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Need Programming Help

252 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Keshaw Dewangan on Tue Aug 26 05:30:41 MST 2014
Hello Everyone.
I have to write embedded program for firebird sothat i can take images while robot is running and play video after demo. How it is possible?
i am beginner in embedded coding plz help me.
0 Kudos
5 Replies

230 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Wed Aug 27 15:09:54 MST 2014
I just realized that some camera drivers have on-chip RAM. If this is the case, your job will be way easier.
Can you check if that's the case ?
0 Kudos

230 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Wed Aug 27 07:44:09 MST 2014
If you have any documents on your firebird board, please attach them to one of your posts.
0 Kudos

230 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Wed Aug 27 07:41:47 MST 2014
OK, that means your microcontroller can run at 120MHz.
Since you will be grabbing images, I recommend you make sure it runs 120MHz.
Now, image grabbing is probably not the easiest thing to start with, because you'll probably need to write code in assembly language, or if you're lucky, you can use the DMA to receive the data and store it in memory.
One problem is that the LPC1769 does not have external RAM.
That means the image you're grabbing will need to be very small; perhaps you can store it on an SD-card, but there might not be enough CPU-time for that, since SD-cards are slow.

The image quality will also have to be compromised at some point. You can't grab a 640x480 pixel image at 16-bit color depth, because 640 x 480 = 307200 pixels, if each pixel is 16 bits wide, it would be 614400 bytes. The chip has 3 blocks of on-chip SRAM (32K+16K+16K) which totals 64K. Some of this memory will be needed for other purposes, such as the stack pointer and a few variables.

So when you grab an image (a frame), you would perhaps do it in two stages:
1: Start receiving data from the camera using the DMA.
2: As soon as you've received the first data, start saving to a SD-card.
3: When the DMA reaches the end of the RAM, make it receive the rest of the data to the where it began receiving the first part (so it now overwrites what you've saved to tthe SD card)
4: When the frame is completely grabbed, turn off the DMA until you've finished saving the image to the SD-card.

In case you're using a 30 FPS camera, this will maybe allow you to grab 15 FPS if you're lucky.

SD/MMC usually has a maximum speed of 20-25 MHz in SPI mode, which means you'll probably only be able to save 2.5MB/second (at most). That would be 4 pictures per second if using 640x480 in 16 bits. But your microcontroller might not be fast enough to support 640x480, which means you'd probably need to reduce the resolution to 320x240. This might allow you store a 16-bit picture, but it all depends on how quickly you can save to the SD-card.

Now, for the implementation, it's a completely different story.
I only know a little about what the LPC1769 can do; I know nothing about the firebird board.
So you'll have to post information about how the camera is connected (eg. which pins on the LPC1769 are connected to what functions on the camera).
You'll also need to let us know more about the other devices that are connected to the LPC1769, especially if there are any external memories.

...And I think you would get better responses if you moved your question to (or generate a new thread in) the LPC17xx forum, which is for the LPC175x/LPC176x family of microcontrollers.

I look forward to hearing more about your project. :)
0 Kudos

230 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Keshaw Dewangan on Tue Aug 26 22:50:48 MST 2014
ARM Cortex-M3 LPC1769
0 Kudos

230 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Pacman on Tue Aug 26 18:25:03 MST 2014
Uhm, which microcontroller is on the firebird board that you have ?
0 Kudos