Difference between revisions of "OMAP3530 VPU"

From MyLabWiki
Jump to: navigation, search
(Conclusions)
(Project closed)
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page describes experiments carried out to create an embedded video processing unit based on the OMAP3530 application processor from Texas Instruments using Gumstix Overo COMs. This is one branch of the [[Embedded Video Processing and Radio Unit]] project. Logbook is on the [[Talk:OMAP3530_VPU|talk page]].
+
This page describes experiments carried out to create an embedded video processing unit based on the OMAP3530 application processor from Texas Instruments using Gumstix Overo COMs. The work was done within the [[Embedded Video Processing and Radio Unit]] project and is now considered finished. Logbook is on the [[Talk:OMAP3530_VPU|talk page]].
 +
 
 +
Development continues in [[Romit2 VPU]].
  
 
== Obejctives ==
 
== Obejctives ==
Line 8: Line 10:
 
== First flight on amateur rocket ==
 
== First flight on amateur rocket ==
 
The objectives of this flight are:
 
The objectives of this flight are:
# To test the Gumstix Overo Fire under high acceleration (TBD g)
+
# To test the Gumstix Overo Fire under high acceleration (6g)
 
# To capture images and/or video during the flight
 
# To capture images and/or video during the flight
  
Line 15: Line 17:
 
=== System overview ===
 
=== System overview ===
  
''Insert system diagram''
+
[[Image:FlightMockup-001.jpg|800px]]
  
 
Operating principle:
 
Operating principle:
Line 28: Line 30:
 
OS version: Angstrom 2010.7-test-20100923
 
OS version: Angstrom 2010.7-test-20100923
  
==== Desktop Image ====
+
=== Power budget ===
''Out of date''
+
  
  root@overo:~# df -h
+
We have about 7 watts at our disposal.
  Filesystem                Size      Used Available Use% Mounted on
+
  /dev/root                1.8G    595.2M      1.1G  35% /
+
  devtmpfs                245.0M    188.0K    244.8M  0% /dev
+
  tmpfs                    40.0K        0    40.0K  0% /mnt/.splash
+
  none                    245.0M    188.0K    244.8M  0% /dev
+
  /dev/mmcblk0p2            1.8G    595.2M      1.1G  35% /media/mmcblk0p2
+
  /dev/mmcblk0p1          38.6M      3.2M    35.3M  8% /media/mmcblk0p1
+
  tmpfs                  245.0M      1.5M    243.5M  1% /var/volatile
+
  tmpfs                  245.0M        0    245.0M  0% /dev/shm
+
  tmpfs                  245.0M        0    245.0M  0% /media/ram
+
 
+
  root@overo:~# free -k
+
              total      used      free    shared    buffers    cached
+
  Mem:        501752    103500    398252          0      7784      59172
+
  -/+ buffers/cache:      36544    465208
+
  Swap:            0          0          0
+
  
==== Console image ====
+
Gumstix Overo Fire (WiFi and BT off) + Tobi expansion board + [[Logitech Webcam Pro 9000]] consumes less than 500 mA at 5 VDC
'Out of date''
+
  
  root@overo:~# df -h
+
=== Mass budget ===
  Filesystem                Size      Used Available Use% Mounted on
+
  /dev/root                1.8G    154.7M      1.5G  9% /
+
  devtmpfs                118.1M    188.0K    117.9M  0% /dev
+
  none                    118.1M    188.0K    117.9M  0% /dev
+
  /dev/mmcblk0p2            1.8G    154.7M      1.5G  9% /media/mmcblk0p2
+
  /dev/mmcblk0p1          38.6M      3.2M    35.3M  8% /media/mmcblk0p1
+
  tmpfs                  118.1M    344.0K    117.8M  0% /var/volatile
+
  tmpfs                  118.1M        0    118.1M  0% /dev/shm
+
  tmpfs                  118.1M        0    118.1M  0% /media/ram
+
 
+
  root@overo:~# free -k
+
              total      used      free    shared    buffers    cached
+
  Mem:        241856      45052    196804          0      3900      26996
+
  -/+ buffers/cache:      14156    227700
+
  Swap:            0          0          0
+
  
=== Tasks ===
+
The weight of electronics, camera, battery and wires not including the mounting hardware is approximately 200 grams.
 +
 
 +
=== Results & Conclusions ===
 +
 
 +
# We worked very well as a team
 +
# Gumstix Overo Fire  survived a crash landing from 500 meters (TBC if still working properly)
 +
# USB interface on Gusmtix Overo Fire is too slow for HD (even in MJPG mode). Max throughput appears to be around 10-15 Mbps.
 +
# For future UVC setups, a [http://guvcview.berlios.de/ guvcview]-like app to control all camera settings will be very useful.
 +
# The hacked USB OTG interface eliminating the powered hub did not work well. After a while, the pipeline would stop due to a device I/O error
 +
# The simple Gstreamer pipeline does not seem to be sufficient. While recording, every now and then there is a "jump" in the video suggesting that there is some performance issue somewhere (disk I/O, buffering?)
 +
# When using SD cards, remember to add a piece of tape securing the card to the socket!
 +
 
 +
=== Damage due to crash landing ===
 +
 
 +
[[Image:TobiConnector-001.jpg|200px]]
 +
[[Image:TobiConnector-002.jpg|200px]]
 +
[[Image:OveroFireConnector-001.jpg|200px]]
 +
[[Image:OveroFireConnector-002.jpg|200px]]
 +
 
 +
== Tasks ==
  
==== General tasks ====
 
 
{|class="wikitable" border="1" cellspacing="1" cellpadding="5" style="border-collapse:collapse;"
 
{|class="wikitable" border="1" cellspacing="1" cellpadding="5" style="border-collapse:collapse;"
 
! align="left" style="background:#D9E5E5;" | Task
 
! align="left" style="background:#D9E5E5;" | Task
Line 84: Line 71:
 
| 100%
 
| 100%
 
|-
 
|-
| WiFi<ref name="wifi">Gumstix users wiki: [http://www.gumstix.net/wiki/index.php?title=Overo_Wifi Overo Wifi]</ref><ref name="adhoc">Gumstix users wiki: [http://www.gumstix.net/wiki/index.php?title=Creating_an_Ad-hoc_Wireless_Network Creating an Ad-hoc Network]</ref>
+
| Disable WiFi<ref name="wifi">Gumstix users wiki: [http://wiki.gumstix.org/index.php?title=Overo_Wifi Overo Wifi]</ref><ref name="adhoc">Gumstix users wiki: [http://wiki.gumstix.org/index.php?title=Creating_an_Ad-hoc_Wireless_Network Creating an Ad-hoc Network]</ref>
|
+
| 100%
 
|-
 
|-
| Bluetooth<ref name="bt">Gumstix users wiki: [http://www.gumstix.net/wiki/index.php?title=Category:How_to_-_bluetooth Bluetooth]</ref>
+
| Disable Bluetooth<ref name="bt">Gumstix users wiki: [http://wiki.gumstix.org/index.php?title=Category:How_to_-_bluetooth Bluetooth]</ref>
|
+
| 100%
 
|-
 
|-
 
| Flash updated image to NAND
 
| Flash updated image to NAND
| TBC
+
| Next time
 
|-
 
|-
 
| Power consumption (with and without WiFi and BT)
 
| Power consumption (with and without WiFi and BT)
Line 97: Line 84:
 
* After boot with WiFi & BT: 400 mA
 
* After boot with WiFi & BT: 400 mA
 
* After boot with WiFi & BT signals off<ref name="OveroSignals">Gumstix Overo: [http://www.gumstix.net/Hardware/view/I/O-connectors-cabling/Gumstix-Overo-I/O-overview/112.html Connector Overview & Design Information]. See in particular Signals PDF.</ref>: 210 mA
 
* After boot with WiFi & BT signals off<ref name="OveroSignals">Gumstix Overo: [http://www.gumstix.net/Hardware/view/I/O-connectors-cabling/Gumstix-Overo-I/O-overview/112.html Connector Overview & Design Information]. See in particular Signals PDF.</ref>: 210 mA
* Camera: TBD
 
 
Measurements done with Overo Fire on the Summit board.
 
Measurements done with Overo Fire on the Summit board.
| 90%
+
| 100%
 
|-
 
|-
 
| Development environment
 
| Development environment
|
+
| Next time
 
|-
 
|-
 
| Hardware DSP
 
| Hardware DSP
 
* TI Gstreamer plugins
 
* TI Gstreamer plugins
 
* [http://code.google.com/p/gst-dsp/ GST-DSP] ([http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinAbBNWpd3eR_mVJMBED7QEkb35KfME-qhomd2d%40mail.gmail.com&forum_name=gstreamer-embedded v0.8.0 announcement])
 
* [http://code.google.com/p/gst-dsp/ GST-DSP] ([http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinAbBNWpd3eR_mVJMBED7QEkb35KfME-qhomd2d%40mail.gmail.com&forum_name=gstreamer-embedded v0.8.0 announcement])
|
+
* OMAP DVSDK<ref>[http://fastr.github.com/articles/omap-dvsdk-on-openembedded.html Installing OMAP DVSDK on Gumstix Overo]</ref>
 +
| Next time
 
|}
 
|}
 
==== For flight ====
 
{|class="wikitable" border="1" cellspacing="1" cellpadding="5" style="border-collapse:collapse;"
 
! align="left" style="background:#D9E5E5;" | Task
 
! style="background:#D9E5E5;" | Status
 
|-
 
| Console image
 
* Standard Gumstix console image
 
* Minimal quick-booting image<ref name="QuickBoot">[http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=65:gumstix-quick-boot&catid=35:gumstix&Itemid=67 Minimal, quick booting Gumstix image] and other resources</ref>
 
| Canceled
 
|-
 
| Select software to capture and save video from camera during flight
 
* Software working on desktop computers, see [[Gstreamer cheat sheet]]
 
* Use Gstreamer to capture raw frames ([[Talk:OMAP3530_VPU#Capture_and_save_raw_video|too much data]])
 
* Use guvcview to capture MJPG stream (see [[Talk:OMAP3530_VPU#2010.09.20|log entry]])
 
* Use custom uvccapture to capture individual JPG frames (not fast enough, see [[Talk:OMAP3530_VPU#2010.09.19|log entry]])
 
&rarr; '''Gstreamer pipeline capturing JPG to AVI selected'''
 
| 100%
 
|-
 
| Management software
 
* executes gstreamer pipeline in a loop
 
* Gstreamer pipeline capture 10 minutes of video (length TBC)
 
* Redirect stdout and stderr to files
 
| 10%
 
|-
 
| Pinto-TH breakout board
 
| Canceled<br/>Using Summit due to need for TTY
 
|-
 
| Disable WiFi and BT
 
* [http://old.nabble.com/Overo-Air-bluetooth-and-wifi-power-td28775963.html Overo Air bluetooth and wifi power]
 
* Simply write 0 to the reset signals<ref name="OveroSignals"/>
 
* Works! Still need a script for easy executions before flight
 
| 95%
 
|-
 
| Batteries
 
* Two 3.7 V 1 Ah LiPo batteries selected
 
* Switching 5V regulator
 
| 100%
 
|-
 
| Mounting hardware
 
|
 
|-
 
| Integration
 
|
 
|-
 
| Dry run using the Summit board
 
|
 
|}
 
 
=== Power budget ===
 
 
''To be written''
 
 
We have about 7 watts at our disposal.
 
 
=== Mass budget ===
 
 
''To be written''
 
 
Anticipated weight of electronics, camera and battery not including the mounting hardware is 120 grams.
 
 
=== Conclusions ===
 
 
# USB interface on Gusmtix Overo Fire is too slow for HD (even in MJPG mode). Max throughput appears to be around 10-15 Mbps.
 
# For future UVC setups, a [http://guvcview.berlios.de/ guvcview]-like app to control all camera settings will be very useful.
 
  
 
== Resources ==
 
== Resources ==
Line 181: Line 103:
 
* WiFi and BT SoC [[:Image:W2CBW003-DataSheet.pdf|specs]] (local copy).
 
* WiFi and BT SoC [[:Image:W2CBW003-DataSheet.pdf|specs]] (local copy).
 
* [http://fastr.github.com/articles/marvell-wifi-on-gumstix-overo-fire.html Setting up Wifi on Gumstix Overo Fire]
 
* [http://fastr.github.com/articles/marvell-wifi-on-gumstix-overo-fire.html Setting up Wifi on Gumstix Overo Fire]
 +
* [http://fastr.github.com/articles/omap-dvsdk-on-openembedded.html Installing OMAP DVSDK on Gumstix Overo]
 
* [http://pixhawk.ethz.ch/wiki/start PIXHAWK] &ndash; Many useful BeagleBoard and Gumstix Overo COM related things. In particular, they seem to use similar cameras to those I got with the [[TMS320DM355_VPU|Leopard board]], see http://pixhawk.ethz.ch/wiki/pixhawk_camera_competition
 
* [http://pixhawk.ethz.ch/wiki/start PIXHAWK] &ndash; Many useful BeagleBoard and Gumstix Overo COM related things. In particular, they seem to use similar cameras to those I got with the [[TMS320DM355_VPU|Leopard board]], see http://pixhawk.ethz.ch/wiki/pixhawk_camera_competition
 
* [http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=65:gumstix-quick-boot&catid=35:gumstix&Itemid=67 Minimal, quick booting Gumstix image] and other resources  
 
* [http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=65:gumstix-quick-boot&catid=35:gumstix&Itemid=67 Minimal, quick booting Gumstix image] and other resources  
Line 190: Line 113:
 
* http://specialcomp.com/index.htm &ndash; Nice acrylic cases
 
* http://specialcomp.com/index.htm &ndash; Nice acrylic cases
 
* [http://elinux.org/OMAP_Power_Management OMAP Power Management] &ndash; Embedded Linux Wiki.
 
* [http://elinux.org/OMAP_Power_Management OMAP Power Management] &ndash; Embedded Linux Wiki.
 +
* [http://blogs.igalia.com/vjaquez/2011/06/08/syslink-chronology/ SysLink chronology] &ndash; DSP.
  
 
== References ==
 
== References ==
Line 205: Line 129:
 
* 2010.09.24: [http://www.oz9aec.net/index.php/gumstix-overo/382-a-few-bits-and-pieces-for-the-onboard-video-recorder A few bits and pieces for the onboard video recorder]
 
* 2010.09.24: [http://www.oz9aec.net/index.php/gumstix-overo/382-a-few-bits-and-pieces-for-the-onboard-video-recorder A few bits and pieces for the onboard video recorder]
 
* 2010.09.28: [http://www.oz9aec.net/index.php/gumstix-overo/383-disabling-the-wifi-on-the-gumstix-overo-fire Disabling the WiFi on the Gumstix Overo Fire]
 
* 2010.09.28: [http://www.oz9aec.net/index.php/gumstix-overo/383-disabling-the-wifi-on-the-gumstix-overo-fire Disabling the WiFi on the Gumstix Overo Fire]
 +
* 2010.09.28: [http://www.oz9aec.net/index.php/gumstix-overo/384-expected-video-quality-during-the-rocket-flight Expected video quality during the rocket flight]
 +
* 2010.10.01: [http://www.oz9aec.net/index.php/gumstix-overo/385-pre-flight-mockup Pre-flight mockup]
 +
* 2010.10.01: [http://www.oz9aec.net/index.php/gumstix-overo/386-rocket-integration Rocket integration]
 +
* 2010.10.01: [http://www.oz9aec.net/index.php/gumstix-overo/387-arduino-flight-computer Arduino flight computer]
 +
* 2010.10.06: [http://www.oz9aec.net/index.php/gumstix-overo/389-successful-flight-and-a-crash-landing Successful flight and a crash landing]
  
 
=== Videos ===
 
=== Videos ===
Line 210: Line 139:
 
* 2010.09.14: [http://www.youtube.com/watch?v=yw8vSuujqlA OpenGL Demos on Gumstix Overo Fire]
 
* 2010.09.14: [http://www.youtube.com/watch?v=yw8vSuujqlA OpenGL Demos on Gumstix Overo Fire]
 
* 2010.09.28: [http://www.youtube.com/watch?v=h3UwtGa1WKY Disable WiFi on the Gumstix Overo Fire]
 
* 2010.09.28: [http://www.youtube.com/watch?v=h3UwtGa1WKY Disable WiFi on the Gumstix Overo Fire]
 +
* 2010.09.30: [http://www.youtube.com/watch?v=FCmO0EYZ4hc Arduino flight computer firing the igniter] (related video)
 +
* 2010.09.30: [http://www.youtube.com/watch?v=7JHgvAIwaVs Video Recorder Test Setup (Gumstix Overo Fire)]
 +
* 2010.09.30: [http://www.youtube.com/watch?v=lGJJxPLJrbs Assembled rocket interior - Gumstix Overo Fire video recorder]
 +
* 2010.10.04: [http://www.youtube.com/watch?v=hD4I3SMukn4 Arduino and Gumstix Overo Fire on a rocket]
 +
* 2010.10.04: [http://www.youtube.com/watch?v=xrgEteHLup8 Rocket inspection after crash landing and recovery]
  
 
Complete [http://www.youtube.com/user/oz9aec#grid/user/55E35C21DAB496BC YouTube playlist]
 
Complete [http://www.youtube.com/user/oz9aec#grid/user/55E35C21DAB496BC YouTube playlist]
Line 217: Line 151:
 
* [http://picasaweb.google.com/oz9aec/GumstixOvero# Picasa gallery]
 
* [http://picasaweb.google.com/oz9aec/GumstixOvero# Picasa gallery]
  
[[Category:Experiments]]
+
[[Category:Completed]]
 
[[Category:Gumstix Overo]]
 
[[Category:Gumstix Overo]]
 
[[Category:Video Processing]]
 
[[Category:Video Processing]]

Latest revision as of 14:59, 17 September 2011

This page describes experiments carried out to create an embedded video processing unit based on the OMAP3530 application processor from Texas Instruments using Gumstix Overo COMs. The work was done within the Embedded Video Processing and Radio Unit project and is now considered finished. Logbook is on the talk page.

Development continues in Romit2 VPU.

Obejctives

  • Capture video from one or more cameras
  • Compress and multiplex the videos with telemetry into a single transport stream suitable for transmission over the air
  • Process incoming telcommands

First flight on amateur rocket

The objectives of this flight are:

  1. To test the Gumstix Overo Fire under high acceleration (6g)
  2. To capture images and/or video during the flight

We learned about an opportunity to fly onboard an amateur rocket (up to 3 km high). Flight will take place on October 3, 2010. Time is very short so we will be focusing on getting the Gumstix Overo Fire up and running, and have it record video during the flight. No real time video downlink.

System overview

FlightMockup-001.jpg

Operating principle:

  1. After power on system boots Linux
  2. WiFi and Bluetooth are switched off
  3. Video capture script begins
 gst-launch -v v4l2src num-buffers=18000 (TBC) ! image/jpeg,width=640,height=480,framerate=30/1 !\
   avimux ! filesink location="video-%d.avi" 1> stdout-%d.log 2> stderr-%d.log

Configuration

OS version: Angstrom 2010.7-test-20100923

Power budget

We have about 7 watts at our disposal.

Gumstix Overo Fire (WiFi and BT off) + Tobi expansion board + Logitech Webcam Pro 9000 consumes less than 500 mA at 5 VDC

Mass budget

The weight of electronics, camera, battery and wires not including the mounting hardware is approximately 200 grams.

Results & Conclusions

  1. We worked very well as a team
  2. Gumstix Overo Fire survived a crash landing from 500 meters (TBC if still working properly)
  3. USB interface on Gusmtix Overo Fire is too slow for HD (even in MJPG mode). Max throughput appears to be around 10-15 Mbps.
  4. For future UVC setups, a guvcview-like app to control all camera settings will be very useful.
  5. The hacked USB OTG interface eliminating the powered hub did not work well. After a while, the pipeline would stop due to a device I/O error
  6. The simple Gstreamer pipeline does not seem to be sufficient. While recording, every now and then there is a "jump" in the video suggesting that there is some performance issue somewhere (disk I/O, buffering?)
  7. When using SD cards, remember to add a piece of tape securing the card to the socket!

Damage due to crash landing

TobiConnector-001.jpg TobiConnector-002.jpg OveroFireConnector-001.jpg OveroFireConnector-002.jpg

Tasks

Task Status
Get Gumstix Overo Fire up and running
  • Monitor, keyboard, mouse
  • Ethernet when using Tobi expansion board
100%
Update image and boot from microSD 100%
Disable WiFi[1][2] 100%
Disable Bluetooth[3] 100%
Flash updated image to NAND Next time
Power consumption (with and without WiFi and BT)
  • During boot: 250 mA
  • After boot with WiFi & BT: 400 mA
  • After boot with WiFi & BT signals off[4]: 210 mA

Measurements done with Overo Fire on the Summit board.

100%
Development environment Next time
Hardware DSP Next time

Resources

References

  1. Gumstix users wiki: Overo Wifi
  2. Gumstix users wiki: Creating an Ad-hoc Network
  3. Gumstix users wiki: Bluetooth
  4. Gumstix Overo: Connector Overview & Design Information. See in particular Signals PDF.
  5. Installing OMAP DVSDK on Gumstix Overo

See also Embedded Video Processing and Radio Unit

Blogs

Videos

Complete YouTube playlist

Photos