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