The document discusses using the Android operating system in automotive applications. It summarizes that Android offers an entire ecosystem including an app marketplace, but its innovation cycles are faster than the typical 10-year cycles used in automotive. The authors propose integrating an Android-based head unit into a vehicle's CAN network. As a proof of concept, they developed an app to control and visualize the electric vehicle charging process using Android and communicating over CAN. The results showed Android can successfully communicate with an automotive CAN network and open opportunities for newer technologies in vehicles.
2. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Overview
_ Introduction
_ Innovation Cycle Dilemma
_ Our Approach
_ Electric Vehicle Charging App*
_ Results
_ Conclusion
_ Discussion
* Supported by Lemförder Electronic GmbH, Espelkamp (ZF)
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 2
3. Yes We CAN
INTRODUCTION
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 3
4. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Distributed System
_ A modern car is a distributed system with up
to 100 nodes.
_ Several networks with different physical layers
and protocols are used depending on the
application.
_ Controller Area Network is central network
and connects engine, transmission, and driver
information and control etc.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 4
5. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Controller Area Network (CAN)
_ Developed by BOSCH and Intel in 1983.
_ Major design goals:
High reliability
Low costs
_ Event-based communication with short
messages (130 bits) with high bandwidth (up
to 1 Mbit/s).
_ CSMA/CD to fulfill real time requirements.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 5
6. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
CAN Message (Data Frame)
1 11 1 1 1 4 0-64 16 2 7
SOF Ident RTR IDE r. DLC Data Field CRC ACK EOF
Type of the message Data length and payload of the message
_ Frame is read by all nodes (no address field).
_ Data field depends on data length counter.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 6
7. Yes We CAN
INNOVATION CYCLE DILEMMA
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 7
8. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Innovation Cycles -- Examples
1. CAN Bus: 10 years
Development by BOSCH started in 1983
Introduction to Mercedes S-class in 1991
Introduction to lower-mid segment cars in 2001
2. Apple iPod: 1 year
Introduced in 2001
5th generation introduced in 2005
Innovation cycle shorter than 1 year
3. Mobile phone: < 1 year
New devices every 6 months or less
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 8
9. Yes We CAN
Consumer vs. Automotive Domain
Consumer Electronics Domain Automotive Domain
_ “Fast moving” technologies _ Vehicle related technologies
short lifecycles long lifecycles
high requirements on high requirements on
• Performance • Quality
• Flexibility • Reliability
high volume / low cost low volume
driven by IT, Telecom und CE driven by vehicle industry
new upcoming applications fix attached components
fast growing performance scalable over segments
requirements automotive ease to use
_ Open System _ Reliable System
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 9
10. Yes We CAN
OUR APPROACH
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 10
11. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Linux inside the car?
_ Linux was ignored for automotive applications
Development model : community-based
License model : open source (e.g. GPL)
Patent situation : owner of the rights
_ There are some changes:
GENIVI initiative to enable Linux for automotive
MeeGo/Tizen platform for In-Vehicle information
_ Our idea: Using Android-based Linux-system
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 11
12. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Our Idea
_ Android is not just a technology but also a
complete eco-system (e.g. Android Market).
_ Integration of an Android-based head-unit
into automotive network (CAN).
_ Show the interaction with automotive
development tools (here: CANoe simulation).
_ Developing App: Control and visualization of
the charging process for electric vehicle.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 12
13. Yes We CAN
Hardware Platform
_ Freescale i.MX51 EVK
_ Cortex A8@800 MHz
_ 512 MB DDR2
_ 7“ WVGA Touchscreen
_ Other peripherals as USB,
Ethernet, SD, …
_ No automotive interfaces
integrated on the eval
board.
_ Android patches by
Freescale.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 13
14. Yes We CAN
CAN Interface
_ PEAK System PCAN
_ CAN-to-USB Adapter
_ USB 1.1 (2.0)
_ CAN Specification
2.0A/B
_ Linux-driver (GPL)
available for kernel 2.4-
3.0
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 14
15. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Socket-CAN
_ CAN Implementation for Linux-Kernel
Project from Volkswagen Research
Official part since Kernel 2.6.25
Configuration via make menuconfig
_ BSD-Sockets API
socket(), bind(), read(), write(), close()
_ CAN-Frame defined in <linux/can.h>
struct can_frame ping;
ping.can_id = 0x123;
ping.can_dlc = 1;
ping.data[0] = 0xFF;
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 15
16. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Native CANComLib Implementation
_ Shared library CANComLib (~ 200 LOC) encapsulates
socket functions like
socket(), bind(), read(), write(), close()
_ Provides an easy-to-use interface to send and receive
CAN messages:
int initialize();
struct can_frame receive_can(struct can_filter filter);
void send_can(struct can_frame sendFrame);
int terminate();
_ Android applications call the native library by using
the Android NDK.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 16
17. Yes We CAN
ELECTRIC VEHICLE CHARGING APP
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 17
18. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Vehicle-to-Grid Communication
_ The communication between EV and charging
station is based on ISO61851 and ISO15118.
_ Several services are defined
Battery Charging
Internet Access
User-defined Service
_ App to initialize, to control and to visualize the
charging process based on ISO standards.
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 18
19. Yes We CAN
System Overview (Development)
Electric Vehicle
Touch Screen
Peak-Box
Head- Charging
USB
CAN-Netzwerk PC
Unit ECU Powerline Communication (PLC)
Freescale i.MX51
CANcaseXL
USB
PC
Residual Bus Simulation with CANoe
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 19
20. Titelmasterformat durch
Yes We CAN
SystemKlicken bearbeiten
Overview (Components)
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 20
21. Titelmasterformat durch
Yes We CAN
SystemKlicken bearbeiten
Overview (Bus Simulation)
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 21
22. Yes We CAN
RESULTS
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 22
23. Yes We CAN
Statechart UI -- Welcome
tm Zustandsmaschine
Initial
Lade-Applikation starten
Start
Unbekannte Ladesäule angeschlossen
Dienst
Authentifizierung
Ladeparameter
Ladetarife
Ladeparameter eingegeben
Laden
Ladevorgang manuell beendet | Ladeziel erreicht
Ladeziel erreicht
Lade-Applikation beendet
Final
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 23
24. Yes We CAN
Statechart UI -- Parameter
tm Zustandsmaschine
Initial
Lade-Applikation starten
Start
Unbekannte Ladesäule angeschlossen
Dienst
Authentifizierung
Ladeparameter
Ladetarife
Ladeparameter eingegeben
Laden
Ladevorgang manuell beendet | Ladeziel erreicht
Ladeziel erreicht
Lade-Applikation beendet
Final
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 24
25. Yes We CAN
Statechart UI -- Charging
tm Zustandsmaschine
Initial
Lade-Applikation starten
Start
Unbekannte Ladesäule angeschlossen
Dienst
Authentifizierung
Ladeparameter
Ladetarife
Ladeparameter eingegeben
Laden
Ladevorgang manuell beendet | Ladeziel erreicht
Ladeziel erreicht
Lade-Applikation beendet
Final
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 25
26. Yes We CAN
Statechart UI -- Charging ended
tm Zustandsmaschine
Initial
Lade-Applikation starten
Start
Unbekannte Ladesäule angeschlossen
Dienst
Authentifizierung
Ladeparameter
Ladetarife
Ladeparameter eingegeben
Laden
Ladevorgang manuell beendet | Ladeziel erreicht
Ladeziel erreicht
Lade-Applikation beendet
Final
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 26
27. Yes We CAN
CONCLUSION
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 27
28. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Conclusion
_ How to enable Android-System to
communicate with automotive CAN network.
_ Approach can be transferred to other domains
using CAN e.g. automation.
_ Product would require deeper integration of
the components (e.g. CAN controller).
_ Future Trends:
Using multicore and/or virtualization to combine
Android and RTOS on same hardware (CPU).
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 28
29. Titelmasterformat durch
Yes We CAN
Bye Klicken bearbeiten
_ Thank you very much for your attention!
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 29
30. Titelmasterformat durch
Yes We CAN
Klicken bearbeiten
Contact Information
Prof. Dr.-Ing. Michael Uelschen
University of Applied Sciences Osnabrück
Faculty Engineering and Computer Sciences
Laboratory for Computer Engineering
Barbarastraße 16, 49076 Osnabrück (Germany)
Postal Address : P.O. Box 1940, 49009 Osnabrück
m.uelschen@hs-osnabrueck.de
Tel.: +49 (0)541 / 969 3885
Room: SI0212
droidcon.2012 | A Android for Automotive | Uelschen, Rakers 30