Hi there folks :)
My little journey started by figuring out how to utilize the DSP in the OMAP4 for Computer vision applications by using OpenCV, specifically the "OpenCV dsp acceleration" libraries that utilize c6accel. I hoped the Pandaboard would give me everything I wanted in one single package, but I was not that lucky.
I am still gonna use the Pandaboard in my main system, but in regards to the computer vision part, I decided that the best thing would be to design a dedicated module based on the OMAP-L138. ARM + DSP, low power, runs OpenCV with c6accel support and the whole nine. Why Not? Thus, here I am.
I ordered some samples on friday, but I'm still not sure how the design of the module should be, plus I am fairly new to embedded development. This is a pre-Masters thesis project. I would appreciate some pointers from experienced members. If anyone is willing to join in on the project, let me know :)
Ok, so here's what my module is intended to do:
1- Recieve a video stream from a camera
2- Do some Computer vision (filtering, noise reduction, enhancment, etc..) in real time
3- Compress the frame
4- Encrypt
5- Send wirelessly
Now, since the main system is a Pandaboard, points 3 to 5 could be off-loaded to the panda instead. But wouldn't that cause overhead in regards to sending the info and processing on the Panda? You are the experts, please advise.
If 3-5 should stay on the module, is it necessary to use a SM320DM355 for compression and encryption (does the DMSoC encrypt? I Haven't read through the data-sheet thoroughly yet), or can the compression and encryption be done on the L-138 system without impacting the real-time requirements? I initially thought about just using the DMSoC for the entire thing, without the L-138, but realized that it can't be customized to do whatever CV task you might wish to excecute in the futre (like motion tracking for example).
I could save myself all the hassle of a dedicated module and just go with the Beagleboard -xm, but that means I'd have to give up so much processing power, in addition to a slower DSP, plus having to share the main system resources with the computer vision part, which would mess up my real-time requirements (my main system is required to do a lot of other things as well).
That being said (sorry for the long post), I have a couple of questions and points:
1- Component list (if anyone has done anything similar in the past, I'd appreciate any suggestions you might have to a component list), my thoughts are that I need:
*- OMAP L-138
*- MMC/SD card slot ( OS/Software/Storage)
*- DDR2/mDDR memory
*- Ethernet tranciever (for communication with the main system)
*- USB tranciever
*- USB port (for power), one for camera maybe too.
*- USART tranciever
*- Digital RF (either here, or on the main system)
*- SM320DM355 (for compression and encryption) ?
*- Some sort of camera interface, I know there are RSS-232 cameras out there, and I could use usb webcams. I read the document about the Logic-PD module, there's a Camera / VPIF_DIN interface there, I have no clue what this is yet, probably need to look into the L-138 datasheet for more info. But yes, please advise if you have any experience. I would like to be able to use a high-quality camera.
2- Are there any easy prototyping solutions for the OMAP-L138, like a breadboard module or something for testing and fast prototyping? Like som sort of socket to place the processor on, and then, put that socket on a breadboard or something. I know this sounds redicillous, but what are my options here? Somehow, going straight to PCB seems scary and risky. I'll probably end up desiging a PCB plug-n-play socket for the processor, that I can plug into any PCB design I come up with in the future, that way, I won't have to throw the processor away if any bugs are discovered in the rest of the system.. I can just unplug it and make a new PCB to plug it into. Haha, am I coming off like a über noob here? Because I am! :D
3- the EVM and the Logic-PD eXperimenter solutions are way too expensive and huge(form factor) for my sytem, so that's not really an option. I wish it was. I wish the Logic PD SoM M1 had humanly accessable interfaces. I have no clue on how to use these three 100 pin high-density connectors on it. That's why I'm designing my own module.
4- I reckon the Hawkboard designs could be very useful here. Is there anything in particluar that you advise me to start with?
5- Finally, am I chewing off more than I can bite? Is this project way to extensive and huge? My little naive mind is telling me that, if I have the right components, and the correct assembling procedure, most of it shouldn't be a problem...
So far, here are the components I have ordered:
OMAP-L138, TPS2070 (power controller), TUSB2551A (USB-tranciever), SM320DM355
Again, I apologise for the long post. I appreciate any help and pointers you could afford to give me.
Thank you for your time! ( I will keep this thread updated with the project status)