• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Designing an android sensor subsystem costillo 20120214
 

Designing an android sensor subsystem costillo 20120214

on

  • 1,840 views

 

Statistics

Views

Total Views
1,840
Views on SlideShare
1,267
Embed Views
573

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 573

http://www.rebelbot.com 572
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Designing an android sensor subsystem costillo 20120214 Designing an android sensor subsystem costillo 20120214 Presentation Transcript

    • Designing An Android Sensor Subsystem Pitfalls and Considerations Jen Costillo jen@rebelbot.com
    • Simple Choices User Battery experience performance2/14/2012 Costillo- Android Builders Summit 2012 2
    • Established or Innovative Product? Established Innovation-Driven • Will I be making another • Do I have new sensors new product in 6 types? months? • Are features more • Is the reference design important than release considered good enough date? for the application? • Are money and resources no problem?2/14/2012 Costillo- Android Builders Summit 2012 3
    • Forsaking Reference Designs2/14/2012 Costillo- Android Builders Summit 2012 4
    • Going On Your Own • If you make your own, • But… – You’re on your own – power ↓ – Integration pains – Control code size – Test time ↑ – Control mechanical – Gesture testing footprint becomes a challenge – In-house expertise – Calibration blues – Larger mechanical footprint2/14/2012 Costillo- Android Builders Summit 2012 5
    • Android Universe Android Application Application SensorManager Frameworks Sensor JNI Sensor Service Sensor Manager Libraries Sensor HAL Interface Kernel Driver Sensor Driver Linux Kernel Sensor Hub/ Coprocessor Sensors Hardware2/14/2012 Costillo- Android Builders Summit 2012 6
    • Application Frameworks Libraries Linux Kernel HARDWARE Hardware2/14/2012 Costillo- Android Builders Summit 2012 7
    • Hardware Architecture2/14/2012 Costillo- Android Builders Summit 2012 8
    • Sensor Selection • Limited types • New type • Latency • Power consumption2/14/2012 Costillo- Android Builders Summit 2012 9
    • Sensor Sampling Rate2/14/2012 Costillo- Android Builders Summit 2012 10
    • Sampling Rates: The 3 Rates Under-sampling Over-sampling • Inaccurate, sluggish • Accurate, smooth response response • Slight power savings • Power-hungry Sampling Rate2/14/2012 Costillo- Android Builders Summit 2012 11
    • Polling versus Interrupt Pros: Pros: • Simplicity • Low power • Throttle Sleep Mode data • Use fewer throughput timers Cons: Cons: • Less sleep • Complex • Latency ↑ program • Data loss structure2/14/2012 Costillo- Android Builders Summit 2012 12
    • Interfaces2/14/2012 Costillo- Android Builders Summit 2012 13
    • Wake up events and power considerations Application Internal External Processor only Coprocessor Processor D C CC Reference supported Reference supported More processor selection Most power hungry Most work done for More outcome control you Most customized Footprint impact2/14/2012 Costillo- Android Builders Summit 2012 14
    • Sensor Subsystem/Hub • Separate processor or part of the Application processor • How to evaluate? – Latency – Power consumption – Low power modes2/14/2012 Costillo- Android Builders Summit 2012 15
    • Hardware Summary Power Latency = Consumption Max(sensorsn) Sensor = Σ sensorsn + + dedicated Solution any dedicated processing processor time • Use tie-breaker criteria2/14/2012 Costillo- Android Builders Summit 2012 16
    • Application Frameworks Libraries Linux Kernel KERNEL Hardware2/14/2012 Costillo- Android Builders Summit 2012 17
    • Kernel Driver Application Processor Peripheral Shared Interface Memory Microcontroller Sensor Coprocessor2/14/2012 Costillo- Android Builders Summit 2012 18
    • Application Frameworks Libraries Linux Kernel LIBRARIES AND SERVICES Hardware2/14/2012 Costillo- Android Builders Summit 2012 19
    • Sensor HAL and Services • HAL device/<vendor>/<board name>/libsensors • Service frameworks/base/services/sensorservice • Manager frameworks/base/libs/gui2/14/2012 Costillo- Android Builders Summit 2012 20
    • Sensor Fusion Libraries Linux Kernel Sensor Hub Sensors http://en.wikipedia.org/wiki/Sensor_fusion https://www.llnl.gov/news/newsreleases/2010/NR-10-01-06.html2/14/2012 Costillo- Android Builders Summit 2012 22
    • Gesture Detection Algorithm Application Android Processor SensorService Co- Sensor Hub Processor Sensors MPU with Barometer Proximity Gyro/Accel Compass2/14/2012 Costillo- Android Builders Summit 2012 23
    • Gesture Detection Comparison Make Buy Application • Powerful processor Minimal Off-load AppPro Schedule Impact In-house Already Tested expertise &tuned Complete Compact code solution Sensor hub • Off-load to cheaper power • Wake up Event Handling2/14/2012 Costillo- Android Builders Summit 2012 24
    • Calibration2/14/2012 Costillo- Android Builders Summit 2012 25
    • Application Frameworks Libraries Linux Kernel OTHER CONSIDERATIONS Hardware2/14/2012 Costillo- Android Builders Summit 2012 26
    • Testing Methodologies • Creating tools • Checkpoints at all levels • Ensure the application processor can see each of your sensors • Compatibility Test Suite (CTS) at application level - /cts/tests/tests/hardware… SensorTest.java • Test services - /frameworks/base/services/sensorservice/tests • Manufacturing tests2/14/2012 Costillo- Android Builders Summit 2012 27
    • QUESTIONS? JEN@REBELBOT.COM Additional resources http://processors.wiki.ti.com/index.php/Android_Sensor_PortingGuide http://www.kandroid.org/online-pdk/guide/sensors.html2/14/2012 Costillo- Android Builders Summit 2012 28