Using Open-Source TCP/IP Stacks - Renesas e
Download
Report
Transcript Using Open-Source TCP/IP Stacks - Renesas e
ID 413C: Can Touch This:
Designing Capacitive-Based Touch
Solutions
Xaplos Inc.
Mark F Rodriguez
Senior Engineering
13 October 2010
Version: 1.0
Mr. Mark F Rodriguez
Senior Engineer @ Xaplos, Inc.
Technology consultant with over 12 years of design experience.
Responsible for the successful release of over 20 commercial
products
Special interest in medical device industry and home-based
healthcare systems
BSBE/MSBE from the University of Miami
RECENT HMI RELATED PROJECTS:
Handheld aftermarket automotive tuning unit
Wearable life-sustaining medical device
Educational tablet device for elementary students
Reference design for Arrow Electronics
Marine power distribution system
2
Renesas Technology and Solution Portfolio
Microcontrollers
& Microprocessors
#1 Market share
worldwide *
ASIC, ASSP
& Memory
Advanced and
proven technologies
Solutions
for
Innovation
Analog and
Power Devices
#1 Market share
in low-voltage
MOSFET**
* MCU: 31% revenue
basis from Gartner
"Semiconductor
Applications Worldwide
Annual Market Share:
Database" 25
March 2010
** Power MOSFET: 17.1%
on unit basis from
Marketing Eye 2009
(17.1% on unit basis).
Renesas Technology and Solution Portfolio
Microcontrollers
& Microprocessors
#1 Market share
worldwide *
Solutions
for
Innovation
ASIC, ASSP
& Memory
Advanced and
proven technologies
Analog and
Power Devices
#1 Market share
in low-voltage
MOSFET**
* MCU: 31% revenue
basis from Gartner
"Semiconductor
Applications Worldwide
Annual Market Share:
Database" 25
March 2010
** Power MOSFET: 17.1%
on unit basis from
Marketing Eye 2009
(17.1% on unit basis).
4
Microcontroller and Microprocessor Line-up
Superscalar, MMU, Multimedia
High Performance CPU, Low Power
High Performance CPU, FPU, DSC
Up to 1200 DMIPS, 45, 65 & 90nm process
Video and audio processing on Linux
Server, Industrial & Automotive
Up to 500 DMIPS, 150 & 90nm process
600uA/MHz, 1.5 uA standby
Medical, Automotive & Industrial
Up to 165 DMIPS, 90nm process
500uA/MHz, 2.5 uA standby
Ethernet, CAN, USB, Motor Control, TFT Display
Legacy Cores
Next-generation migration to RX
General Purpose
Up to 10 DMIPS, 130nm process
350 uA/MHz, 1uA standby
Capacitive touch
5
Ultra Low Power
Embedded Security
Up to 25 DMIPS, 150nm process Up to 25 DMIPS, 180, 90nm process
190 uA/MHz, 0.3uA standby
1mA/MHz, 100uA standby
Application-specific integration Crypto engine, Hardware security
Microcontroller and Microprocessor Line-up
Superscalar, MMU, Multimedia
Up to 1200 DMIPS, 45, 65 & 90nm process
and audio processing on Linux
R8C Video
Server, Industrial & Automotive
16 Bit CISC
Up to 500 DMIPS, 150 & 90nm process
High Performance
CPU,Noise
Low Power
Superb
Performance 600uA/MHz, 1.5 uA standby
Low Power Consumption Medical, Automotive & Industrial
Higher Functionality
Up to 165 DMIPS, 90nm process
ASSP
High Performance CPU,
FPU,Lineup
DSC
500uA/MHz, 2.5 uA standby
Low Pin Count Lineup Ethernet, CAN, USB, Motor Control, TFT Display
Legacy Cores
Next-generation migration to RX
General Purpose
Up to 10 DMIPS, 130nm process
350 uA/MHz, 1uA standby
Capacitive touch
6
Ultra Low Power
Embedded Security
Up to 25 DMIPS, 150nm process Up to 25 DMIPS, 180, 90nm process
190 uA/MHz, 0.3uA standby
1mA/MHz, 100uA standby
Application-specific integration Crypto engine, Hardware security
Innovation
The Cloud
Scale
TV
Medical
Aggregation
Box
Pedometer
Remote
Control
BP Monitor
7
Renesas’ Capacitive Touch Solution
Renesas now provides an advanced sensor scanning unit (SCU)
implemented in hardware along with a complete set of tools for
capacitive touch solutions. The FREE tools available include:
Tuning Software
Sensor API
Touch Library
Example Code
Apple’s Magic Trackpad
8
Agenda
What can I do with the Renesas capacitive touch solution?
How do I actually code up an application with what Renesas
provides?
How to dance like MC Hammer!
9
Agenda
Agenda
What can I do with the Renesas capacitive touch solution?
How do I actually code up an application with what Renesas
provides?
How to dance like MC Hammer!
Q&A
11
Key Takeaways
Learn about typical capacitive touch interfaces and when to
use them
Understand how to handle keys, sliders, and wheels within
your application code
Become familiar with the Renesas touch library model and
its intuitive API
12
Capacitive Touch Interfaces
Switches
Wheels
Gestures
13
Sliders
Capacitive Touch Interfaces
14
Renesas Software Architecture
Distinct software layers for
easy management
Firmware available in
source format
Optimized driver tightly
coupled to SCU
Complete Sensor API to
enable customization
Support for Wheel, Slider,
Switch, and Matrix
configurations
15
Overview Of Using The Touch Library
16
Overview Of Using The Touch Library
17
The Primitives
Functions
Data Types
Touch_Init
Sensor_Type_t
Touch_Register_Sensor
Sensor_State_t
Touch_Unregister_Sensor
Orientation_t
Touch_Start
Polarity_t
Touch_Handler
Direction_t
Sensor_Params_t
Sensor_t
18
Let’s Start Out Simple: The Switch
Switch Types
Toggle
Momentary
Repeat
Proximity
Sensor_Params_t
SwitchParams;
/* Initialization code */
SwitchParams.id = 0;
SwitchParams.type = TOGGLE_SWITCH;
SwitchParams.channel = 7;
SwitchParams.debounce = TRUE;
SwitchParams.callback = Switch_Event
Touch_Register_Sensor(&SwitchParams);
19
Let’s Start Out Simple: The Switch
int Switch_Event(Sensor_t
*Switch)
{
if (Switch->state == ACTIVE) {
Led_State(LED_7, ON);
} else {
Led_State(LED_7, OFF);
}
}
20
The Electric Slide
Sensor_Params_t
SliderParams;
/* Initialization code */
SliderParams.id = 1;
SliderParams.type = SLIDER;
SliderParams.channel = 1;
SliderParams.count = 6;
SliderParams.resolution = 2;
SliderParams.orientation = EAST_WEST;
SliderParams.callback = Slider_Event
Touch_Register_Sensor(&SliderParams);
21
The Electric Slide
int Slider_Event(Sensor_t
*Slider)
{
if (Slider->state == TOUCHED) {
if (Slider->position <= 8) {
/* … */
} else if (Slider->position <= 16) {
/* … */
}
/* … */
}
}
22
The Wheels On The Bus Go…
Sensor_Params_t
WheelParams;
/* Initialization code */
WheelParams.id = 2;
WheelParams.type = WHEEL;
WheelParams.channel = 10;
WheelParams.count = 4;
WheelParams.resolution = 4;
WheelParams.callback = Wheel_Event
Touch_Register_Sensor(&WheelParams);
23
Putting It All Together
What type of sensors?
How many channels required?
Single chip or multi-chip design?
Multi-touch support?
Sensor rejection?
24
But Wait…
25
Questions?
26
Innovation
The Cloud
Scale
TV
Medical
Aggregation
Box
Pedometer
Remote
Control
BP Monitor
27
Thank You!
28
Where To Get Stuff
29