Date post: | 03-Apr-2018 |
Category: |
Documents |
Upload: | ngotranduc-thang |
View: | 216 times |
Download: | 0 times |
of 39
7/28/2019 MSP430 Touch Pad Experiments
1/39
Hands-on: Capacitive TouchSensing with MSP430
StevMS
Texa
7/28/2019 MSP430 Touch Pad Experiments
2/39
Agenda How can we sense a finger on a control?
How can we capacitively sense a finger? The detailed issues in charge rate sensing Experimenting with some code
LAB1-3: Basic touch pad detection detecting the center pad of the 4
on the ATC boardLAB4: Achieving very low power consumptionLAB5: Extending a pad to a slider detecting around the whole 4
7/28/2019 MSP430 Touch Pad Experiments
3/39
Strategies for detecting a finger The disturbance of acoustic waves across the
surface of the touch padDirt resistant, but can use a lot of energy
The disturbance of optical beams over the touch padDirt resistant, but hard to make compact. Good for information booths
Resistive coupling between conductive padsCheap, simple, low power. Wear and tear, and ESD problems
Resistive changes between layers caused bypressure
The usual technique for PDAs. Can require significant pressure
Capacitance changes due to the finger Several variants of this technique existLow cost and power. Can achieve fine positional detection, with a lighttouch
7/28/2019 MSP430 Touch Pad Experiments
4/39
Agenda How can we sense a finger on a control?
How can we capacitively sense a finger? The detailed issues in charge rate sensing Experimenting with some code
LAB1-3: Basic touch pad detection detecting the center pad of the 4
on the ATC boardLAB4: Achieving very low power consumptionLAB5: Extending a pad to a slider detecting around the whole 4
7/28/2019 MSP430 Touch Pad Experiments
5/39
Capacitive ways to detect a finger A number of strategies for detecting the capacitive
effect of a fingers presence have been used:Make the touch pad a tuning element in an oscillator,and detect the change in frequency as a fingerapproachesVarious charge transfer techniques, some of whichresemble a sigma-delta ADCMeasure the charge/discharge time of an RC or currensource and capacitor circuit, and look for changes as afinger approaches
7/28/2019 MSP430 Touch Pad Experiments
6/39
Using P1 and 2 to sense a touch pad Each P1 or P2 pin can
generate an interrupt MSP430 digital I/O pins
have
7/28/2019 MSP430 Touch Pad Experiments
7/39
Agenda How can we sense a finger on a control?
How can we capacitively sense a finger? The detailed issues in charge rate sensing Experimenting with some code
LAB1-3: Basic touch pad detection detecting the center pad of the 4
on the ATC boardLAB4: Achieving very low power consumptionLAB5: Extending a pad to a slider detecting around the whole 4
7/28/2019 MSP430 Touch Pad Experiments
8/39
50Hz/60Hz pickup Touching a high impedance oscilloscope probe
produces a large mains waveform on the display The same effect happens with a touch pad. Mains
pickup from touching or waving cables near the padmust be tolerated
Heavy filtering of touch pad measurements wouldmake the pad unresponsive
If we measure the charge time, quickly followed bythe discharge time, their average is only slightlyaffected by mains pickup
Lightweight digital filtering can clean up theremainder of the mains effect. This gives a clean,responsive, measurement of the effects of a finger
7/28/2019 MSP430 Touch Pad Experiments
9/39
Mains tolerant sensing Use 2 I/O pins for 2 pads
5M ohms between pairs Time charging of a pad
Set pin B to output highPin A to output low, to dischargePin A to input, and time the charge
Immediately timedischarging of that padSet pin B to output lowPin A to output high, to chargePin A to input, and time the discharge
Sum the charge and dischargetimes, use a single pole IIRfilter to smooth the results
Swap use of the pins, sensethe other pad
Pin A
Pin B
5M ohm
Pin A
Pin B
5M ohm
Pin A
Pin B
5M ohm
High
Low
7/28/2019 MSP430 Touch Pad Experiments
10/39
Other sources of interference Tolerance of other internal and external sources of
interference may be important Cellular phones may be a problem Interference from fast logic in the product itself ma
be an issueA clean power supply for the MSP430 is importantA stable supply for the MSP430 is importantGood screening and ground plane layout on the sensing PCB is importa
7/28/2019 MSP430 Touch Pad Experiments
11/39
Labs ahead lets get prepared The ATC board contains an MSP430FG4619, which
has an LCD and an isolated RS232C port. We will uthis MCU to receive key information by I2C, displaand also pass it to a PC, by RS232C youworking serial port on your PC for this
The board contains an MSP430F2013, whichconnects to the 16 pads which form the large 4. Italso connects by I2C to the MSP430FG4619
Eight I/O pins are used for the pads 2 pads to each I/O pinFour 5.1Mohm resistors are connected between pairs of I/O pins
Header H1 must have only jumpers 1-2 and 3
Jumper JP2 must be removed , so LED3 doaffect touch pad sensing
7/28/2019 MSP430 Touch Pad Experiments
12/39
Agenda How can we sense a finger on a control?
How can we capacitively sense a finger? The detailed issues in charge rate sensing Experimenting with some code
LAB1-3: Basic touch pad detection detecting the center pad of the 4
on the ATC boardLAB4: Achieving very low power consumptionLAB5: Extending a pad to a slider detecting around the whole 4
7/28/2019 MSP430 Touch Pad Experiments
13/39
A basic touch button We will now look at some core sensing code,
implementing the basic technique we have looked a In this initial exercise we will only sense the big
square pad at the centre of the 4
The provided code for the MSP430FG4619 can becompiled, loaded into the device and used withoutchange
The provided code for the MSP430F2013 will be usas the basis for some experiments
After this we will extend the sensing technique tomore complex requirements
7/28/2019 MSP430 Touch Pad Experiments
14/39
The elements of sensing a keyunsigned int measure_key_capacitance(void)
{ int sum;/* All keys are driven low, forming a "ground" area */P1OUT |= BIT1; /* Charge the key */
_NOP(); _NOP(); _NOP(); /* Allow time to charge */P1IES |= BIT1; /* Configure a port interrupt */P1IE |= BIT1; /* as the pin discharges */P1DIR &= ~BIT1;timer_count = TAR; /* Snapshot the timer... */LPM0; /* ...and wait for interrupt */P1IE &= ~BIT1; /* Disable key interrupts */P1OUT &= ~BIT1; /* Discharge the key */P1DIR |= BIT1;
sum = timer_count; /* Record the discharge time */...
unsigned int measure_key_capacitance(void){
int sum;/* All keys are driven low, forming a "ground" area */P1OUT |= BIT1; /* Charge the key */
_NOP(); _NOP(); _NOP(); /* Allow time to charge */P1IES |= BIT1; /* Configure a port interrupt P1IE |= BIT1; /* as the pin discharges */
P1DIR &= ~BIT1;timer_count = TAR; /* Snapshot the timer... */LPM0; /* ...and wait for interrupt */P1IE &= ~BIT1; /* Disable key interrupts */P1OUT &= ~BIT1; /* Discharge the key */P1DIR |= BIT1;sum = timer_count; /* Record the discharge time ...
7/28/2019 MSP430 Touch Pad Experiments
15/39
The elements of sensing a keyP1OUT |= BIT0; /* Prepare for charging */
_NOP(); _NOP(); _NOP(); /* Allow time to discharge */P1IES &= ~BIT1; /* Configure a port interrupt */P1IE |= BIT1; /* as the pin charges */P1DIR &= ~BIT1;timer_count = TAR; /* Snapshot the timer... */LPM0; /* ...and wait for interrupt. */P1IE &= ~BIT1; /* Disable key interrupts */P1OUT &= ~(BIT1 | BIT0); /* Ground" the key */P1DIR |= BIT1;sum += timer_count;/* The sum of the two readings is our answer */return sum;
}
P1OUT |= BIT0; /* Prepare for charging */ _NOP(); _NOP(); _NOP(); /* Allow time to discharge *
P1IES &= ~BIT1; /* Configure a port interrupt P1IE |= BIT1; /* as the pin charges */P1DIR &= ~BIT1;timer_count = TAR; /* Snapshot the timer... */LPM0; /* ...and wait for interrupt. */P1IE &= ~BIT1; /* Disable key interrupts */
P1OUT &= ~(BIT1 | BIT0); /* Ground" the key */P1DIR |= BIT1;sum += timer_count;/* The sum of the two readings is our answer */return sum;
}
7/28/2019 MSP430 Touch Pad Experiments
16/39
The elements of sensing a key#pragma vector=PORT1_VECTOR
__interrupt void port_1_interrupt(void){P1IFG = 0; /* Clear port interrupt flags */timer_count = TAR - timer_count; /* Record time */LPM0_EXIT;
}
#pragma vector=PORT1_VECTOR __interrupt void port_1_interrupt(void){
P1IFG = 0; /* Clear port interrupt flags */timer_count = TAR - timer_count; /* Record time LPM0_EXIT;
}
{/* Filtering of individual readings, using a
single pole IIR low pass filter. */ margin = measure_key_capacitance() - base_capacitance;
filtered += (margin - (filtered >> 4));}
{/* Filtering of individual readings, using a
single pole IIR low pass filter. */ margin = measure_key_capacitance() - base_capacitance;
filtered += (margin - (filtered >> 4));}
7/28/2019 MSP430 Touch Pad Experiments
17/39
Lab 1 getting started Load IAR workspace MSP430 Touch Sensing
Find project FG4619 host_comms for the FG461Open, compile, and load it into the MSP430FG4619 on your boardNo changes are needed
Find the program scope.exe, and run it on your PIf you are using COM1, just click and run the program
If you are using another COM port (e.g. a USB->serial interface) find thport number, and use the Windows runoption to run scope
Find project F2013 touchbutton for the F2013 This is the code we will experiment with, and extendOpen, compile, and load it into the MCU on your boardRun it and look at the response on the LCD (0 to 255) and your PC (aresponse waveform), as you touch the square pad of the 4When this is working we will try some experimentsHuge responses mean metal contact put tape over the touch pad
7/28/2019 MSP430 Touch Pad Experiments
18/39
The effect of insulators The ATC board only separates your finger from the
capacitor plates by a thin film of solder resist A real product will require an insulating layer
typically the plastic case
Insulator material mattersIt is the dielectric in a capacitorUse of non-hygroscopic glues is especially importantStable attachment, with no air gaps is important
Insulator thickness has a big impact on the responsefrom a pad
Insulator thickness varies considerably0.5mm of textured plastic on the touchpad of your notebook10mm thick glass panel on a kitchen appliance1 to 2mm of plastic is more common
7/28/2019 MSP430 Touch Pad Experiments
19/39
Lab 2 the effects of insulators Try holding a layer of insulation over the pad, and s
the effect Try different thicknesses, and look at the effect You may need to raise the sensitivity of the display
Reduce or remove the shift of the values to the hostRemove ID_3to stop prescaling Timer A
scan_key();to_host = filtered >> 4;
scan_key();to_host = filtered >> 4;
TACTL = TASSEL_2 | MC_2 | ID_3;TACTL = TASSEL_2 | MC_2 | ID_3;
7/28/2019 MSP430 Touch Pad Experiments
20/39
Adapting to environmental change We must calibrate each pad at startup
Components varyMechanical assembly (glue, etc.) varies
We need to dynamically adapt that calibrationCapacitance and the input threshold vary with temperatureSupply voltage and other parameters may drift
We need to avoid adapting to the wrong thingHands waving near the touch pad should not cause the threshold to riseundulyObviously we should not adapt when a finger is detectedWe should freeze adaptation of all keys, when any one is detectingAdapt slowly, as real changes occur slowlyAdapting downwards faster than we adapt up helps tolerate waving hand
A fixed threshold above the base capacitance worksOK for touch switches
7/28/2019 MSP430 Touch Pad Experiments
21/39
Lab 3 a single touch switch The code already measures and sets an initial base
capacitance, at startup 1. Try to make it implement a fixed threshold for ke
detection i.e. a switch You can simply implement a fixed threshold that suits the tolerances of your own board, by running and measuring the readings
A value between 0 and 255 is being sent to the MSP430FG4619, so trychange this to 0 for off and 255 for on
2. Try to adapt the base capacitance dynamically torespond to changes in temperature, etc
What would be a good adaptation scheme?Should you adapt faster when the signal is farther from its base level?How much faster should you adapt downwards than you adapt upwards?
7/28/2019 MSP430 Touch Pad Experiments
22/39
Disturbances from other I/O We have seen that practical insulation cover can
make the response from a finger very small The thickness of the PCB also affects the response
Thin PCBs in hand-held products give a smaller response The increasing popularity of very thin flexible PCBs for small consumeproducts made things even harder
Noise from other I/O on the MCU can disturb resul The most stable results are achieved if I/O only
occurs between scans of the touch pad
7/28/2019 MSP430 Touch Pad Experiments
23/39
Agenda How can we sense a finger on a control?
How can we capacitively sense a finger? The detailed issues in charge rate sensing Experimenting with some code
LAB1-3: Basic touch pad detection detecting the center pad of the 4
on the ATC boardLAB4: Achieving very low power consumptionLAB5: Extending a pad to a slider detecting around the whole 4
7/28/2019 MSP430 Touch Pad Experiments
24/39
Minimizing power consumption Many touch pad applications are in portable
appliances, so power consumption is important We charge and discharge in LPM0 tens of We can rest between scans in LPM3
7/28/2019 MSP430 Touch Pad Experiments
25/39
Lab 4 low power operation Minimize power consumption as we wait for a sing
key to be pressedLike a real product, saving power, waiting for the onbutton to bepressed
Try to adapt the code from the last exercise tominimize its power consumption
The code currently idles in a loop between key scans Try to make it sleep in LPM3 during these idle periodsInterrupts can be generated from the watchdog, for simplicity
There is no 32kHz crystal for the MSP430F2013 on this board, but theis the VLO. It runs at ~12kHz, and is operating as the ACLK source incode
7/28/2019 MSP430 Touch Pad Experiments
26/39
Agenda How can we sense a finger on a control?
How can we capacitively sense a finger? The detailed issues in charge rate sensing Experimenting with some code
LAB1-3: Basic touch pad detection detecting the center pad of the 4
on the ATC boardLAB4: Achieving very low power consumptionLAB5: Extending a pad to a slider detecting around the whole 4
7/28/2019 MSP430 Touch Pad Experiments
27/39
Extending a button to a slider People tend to be most interested in touch pads for
sliders, dials, and other complex configurations The benefits of tactile feedback reduce the
acceptability of individual touch buttons for someapplications
Fine resolution sliders can be made with a row of jua few individual pads, using interpolation
Thick insulation would make this harder
Usable pad size is related to the size of fingersA finger needs to excite multiple padsA compromise size can work well for children and large adults
The 4has oversized pads at the extreme top and left, whichcompromise its performance this is a demo, not an end pr
7/28/2019 MSP430 Touch Pad Experiments
28/39
Interpolating slider positions How can we interpolate for
high resolution sliders? The base reading is large, and variesfrom pad to pad, so we work withpad response = current reading base readingPerform a linear weighted average of the pad responsesGrass cutweak responses. Thesecan bias the weighted average
There are issues at the ends of rows,because there are no further pads onone side of the peak for a properlyweighed calculationInterpolating to 1/16 th of a pad ispractical
There are issues at the ends of rows,because there are no further pads onone side of the peak for a properlyweighed calculation
7/28/2019 MSP430 Touch Pad Experiments
29/39
Interpolating slider positions What will affect the stability of the positional
estimate?Noise will cause some jitteriness in the positional estimateFingers still move a little while stationaryAs a finger lifts, we need to avoid generating false steps
How can we smooth out these effects?
Most applications are looking for movement along a slider, rather thanabsolute positionUse hysteresis in accepting apparent changes of finger directionUp to half a pad of hysteresis is needed for good results as a finger liftsSoft flesh flexes as we change direction, so there is a natural dead zone,regardless of hysteresis we introduce. The final feeling is quite natural
7/28/2019 MSP430 Touch Pad Experiments
30/39
Sliders with less I/O pins 10 pads makes a good long
slider For dial type structures more
pads say 16 may be better
With care we can double up theI/O pins, and use the pattern of responses to work out the realposition of the finger
The 4 shape we areexperimenting with is like this
16 pads, connected to 8 I/O lines The large pads at the extreme top andleft compromise the resultsMore regular shapes work well
7/28/2019 MSP430 Touch Pad Experiments
31/39
Compact multi-key code Use array of structures in flash to describe each
key Use array of structures in RAM for their working
data/* This defines the static data to maintain one key */typedef struct{ unsigned char port;
unsigned char port_bit;int threshold;
} key_config_data_t;
/* This defines the static data to maintain one key */typedef struct{ unsigned char port;
unsigned char port_bit;int threshold;} key_config_data_t;
/* This defines the working data to maintain one key */typedef struct
{ int base_capacitance;int filtered;
} key_data_t;
/* This defines the working data to maintain one key */typedef struct
{ int base_capacitance;int filtered;} key_data_t;
7/28/2019 MSP430 Touch Pad Experiments
32/39
Compact multi-key codeunsigned int measure_key_capacitance(int key_no)
{ char active_key;const key_line_config_data_t *keyp;const key_line_config_data_t *partner;int sum;keyp = &key_line_config[key_no];
partner = &key_line_config[key_no ^ 1];active_key = keyp->port_bit;if (keyp->port == 1)
P1OUT |= active_key;else
P2OUT |= active_key; _NOP();
_NOP(); _NOP();
unsigned int measure_key_capacitance(int key_no){
char active_key;const key_line_config_data_t *keyp;const key_line_config_data_t *partner;int sum;keyp = &key_line_config[key_no];
partner = &key_line_config[key_no 1];
active_key = keyp->port_bit;if (keyp->port == 1)
P1OUT |= active_key;else
P2OUT |= active_key; _NOP(); _NOP(); _NOP();
7/28/2019 MSP430 Touch Pad Experiments
33/39
Compact multi-key code
int scan_keys(void){
int i;int margin;
for (i = 0; i < NUM_LINES; i++){
margin = measure_key_capacitance(i)- key_line[i].base_capacitance;
key_line[i].filtered += (margin - (key_line[i].filtered >> 4));
}return 0;
}
int scan_keys(void){
int i;int margin;
for (i = 0; i < NUM_LINES; i++){
margin = measure_key_capacitance(i)- key_line[i].base_capacitance;
key_line[i].filtered += (margin - (key_line[i].filtered >> 4));
}return 0;
}
7/28/2019 MSP430 Touch Pad Experiments
34/39
Compact multi-key codeint find_finger_position(void)
{ int i, j, k, l, min, max, max_pos;long int a, b;/* Find the min and max responses for the key lines */
min = 32767; max = -32768; max_pos = -1;for (i = 0; i < NUM_KEYS; i++){
if (key_line[i].filtered < min) min = key_line[i].filtered;
if (key_line[i].filtered > max){
max = key_line[i].filtered; max_pos = i;
}}/* If max response isn't that big, no finger present. */if (max < 100) return -1;
int find_finger_position(void){
int i, j, k, l, min, max, max_pos;long int a, b;/* Find the min and max responses for the key lines */
min = 32767; max = -32768; max_pos = -1;for (i = 0; i < NUM_KEYS; i++){
if (key_line[i].filtered < min) min = key_line[i].filtered;
if (key_line[i].filtered > max){
max = key_line[i].filtered; max_pos = i;
}}/* If max response isn't that big, no finger present. */if (max < 100) return -1;
7/28/2019 MSP430 Touch Pad Experiments
35/39
Compact multi-key codegrass_level = (max - min) >> 3;
a = 0; b = 0;for (i = 0; i grass_level){
a += (key_line[i].filtered - min); b += (i + 1)*(key_line[i].filtered - min);
}}
b /= (a >> 4); /* Calculate average, in 1/16 b -= 16; /* Compensate for adding 1 in the loop */
return b;
}
grass_level = (max - min) >> 3;a = 0;
b = 0;for (i = 0; i grass_level){
a += (key_line[i].filtered - min);
b += (i + 1)*(key_line[i].filtered - min);}
} b /= (a >> 4); /* Calculate average, in 1/16 b -= 16; /* Compensate for adding 1 in the loop */
return b;}
7/28/2019 MSP430 Touch Pad Experiments
36/39
7/28/2019 MSP430 Touch Pad Experiments
37/39
Lab 5 a touch slider The picture shows the
allocation of I/O lines
Heavy I/O reuse createscompromises in this complexshape
When the finger movesacross the central pad, itmust be tracked to get themovement correct
Fine progressive tracking of the finger can be seen in the3 straight runs of pads
7/28/2019 MSP430 Touch Pad Experiments
38/39
Summary For requirements up to 16 sense lines, the
charge/discharge approach to capacitive sensingworks very well with the MSP430
Very low power consumption is possible Simple switches can be implemented with thick
insulation
Interpolation allows fine resolution sliders to beimplemented through the typical plastic shell of ahandheld device
SLAP119
7/28/2019 MSP430 Touch Pad Experiments
39/39
I M P O R T A N T N O T I C E
T e x a s I n s t r u m e n t s I n c o r p o r a t e d a n d i t s s u b s i d i a r i e s ( T I ) r e s e r v e t h e r i g h ti m p r o v e m e n t s , a n d o t h e r c h a n g e s t o i t s p r o d u c t s a n d s e r v i c e s a t a n y t i m e C u s t o m e r s s h o u l d o b t a i n t h e l a t e s t r e l e v a n t i n f o r m a t i o n b e f o r e p l a c i n g o r c o m p l e t e . A l l p r o d u c t s a r e s o l d s u b j e c t t o T I s t e r m s a n d c o n d i t i o n s o f s a l e
T I w a r r a n t s p e r f o r m a n c e o f i t s h a r d w a r e p r o d u c t s t o t h e s p e c i f i c a t i o n s a p s t a n d a r d w a r r a n t y . T e s t i n g a n d o t h e r q u a l i t y c o n t r o l t e c h n i q u e s a r e u s e d x t e n t T I d e e m s n e c e s s a r y t o s u p p o r t t h i w a r r a n t y . E x c e p t w h e r e m a n d a t e d b y g o v e r n m e n t r e q u i r e m e n t s , t e s t i n g op e r f o r m e d .
T I a s s u m e s n o l i a b i l i t y f o r a p p l i c a t i o n s a s s i s t a n c e o r c u s t o m e r p r o d u c t d e s i g n . C u s t o m e r s a r e r e s p o n s i b l e f o r t h e i r p r o d u ca p p l i c a t i o n s u s i n g T I c o m p o n e n t s . T o m i n i m i z e t h e r i s k s a s s o c i a t e d w i t h p r o v i d e a d e q u a t e d e s i g n a n d o p e r a t i n g s a f e g u a r d s .
T I d o e s n o t w a r r a n t o r r e p r e s e n t t h a t a n y l i c e n s e , e i t h e r e x p r e s s o r i m p l i e d , i s g r a n t e d u n d e r a n y T I p a t e n t r i g h t , c o p y r i g h t , mw o r k r i g h t , o r o t h e r T I i n t e l l e c t u a l p r o p e r t y r i g h t r e l a t i n g t o a n y c o m b i n a t i o n , m a c h i n e , o r p r o c e s s i n w h i c h T I p r o d u c t s o r a r e u s e d . I n f o r m a t i o n p u b l i s h e d b y T I r e g a r d i n g t h i r d - p a r t y p r o d u c t s o r s ep r o d u c t s o r s e r v i c e s o r a w a r r a n t y o r e n d o r s e m e n t t h e r e o f . U s e o f s u c h i n f o r m a t i o n m a y r e q u i r e a l i c e n s e f r o m a t h i r d p a r t yt h e p a t e n t s o r o t h e r i n t e l l e c t u a l p r o p e r t y o f t h e t h i r d p a r t y , o r a l i c e n s e f r o m T I u n d e r t h e p a t e n t s o r o t h e r i n t e l l e c t u a l p r o p e
R e p r o d u c t i o n o f i n f o r m a t i o n i n T I d a t a b o o k s o r d a t a s h e e t s i s p e r m i s s i b l e o n l y i f r e p r o d u c t i o n i s w i t h o u t a l t e r a t i o n a n d i s a c c o m p a n i e d b y a l l a s s o c i a t e d w a r r a n t i e s , c o n d i t i o n s , l i m i t a t i o n s , a n d n o u n f a i r a n d d e c e p t i v e b u s i n e s s p r a c t i c e . T I i s n o t r e s p o n s i b l e o r l i a b l e f o r s u c h a l t e r e d d o c u m e n t a t i o n .
R e s a l e o f T I p r o d u c t s o r s e r v i c e s w i t h s t a t e m e n t s d i f f e r e n t f r o m o r b e y o n dv o i d s a l l e x p r e s s a n d a n y i m p l i e d w a r r a n t i e s f o r t h e a s s o c i a t e d T I p r o d u c tp r a c t i c e . T I i s n o t r e s p o n s i b l e o r l i a b l e f o r a n y s u c h s t a t e m e n t s .
T I p r o d u c t s a r e n o t a u t h o r i z e d f o r u s e i n s a f e t y - c r i t i c a l a p p l i c a t i o n s ( s u c h r e a s o n a b l y b e e x p e c t e d t o c a u s e s e v e r e p e r s o n a l i n j u r y o r d e a t h , u n l e s s o s p e c i f i c a l l y g o v e r n i n g s u c h u s e . B u y e r s r e p r e s e n t t h a t t h e y h a v e a l l n e c e so f t h e i r a p p l i c a t i o n s , a n d a c k n o w l e d g e a n d a g r e e t h a t t h e y a r e s o l e l y r e s p r e q u i r e m e n t s c o n c e r n i n g t h e i r p r o d u c t s a n d a n y u s e o f T I p r o d u c t s i n s u c ha p p l i c a t i o n s - r e l a t e d i n f o r m a t i o n o r s u p p o r t t h a t m a y b e p r o v i d e d b y T I . F ur e p r e s e n t a t i v e s a g a i n s t a n y d a m a g e s a r i s i n g o u t o f t h e u s e o f T I p r o d u c t s
T I p r o d u c t s a r e n e i t h e r d e s i g n e d n o r i n t e n d e d f o r u s e i n m i l i t a r y / a e r o s p a c s p e c i f i c a l l y d e s i g n a t e d b y T I a s m i l i t a r y - g r a d e o r " e n h a n c e d p l a s t i c . " O n l s p e c i f i c a t i o n s . B u y e r s a c k n o w l e d g e a n d a g r e e t h a t a n y s u c h u s e o f T I p r o s o l e l y a t t h e B u y e r ' s r i s k , a n d t h a t t h e y a r e s o l e l y r e s p o n s i b l e f o r c o m p l i a nc o n n e c t i o n w i t h s u c h u s e .
T I p r o d u c t s a r e n e i t h e r d e s i g n e d n o r i n t e n d e d f o r u s e i n a u t o m o t i v e a p p l i ca r e d e s i g n a t e d b y T I a s c o m p l i a n t w i t h I S O / T S 1 6 9 4 9 r e q u i r e m e n t s . B u y en o n - d e s i g n a t e d p r o d u c t s i n a u t o m o t i v e a p p l i c a t i o n s , T I w i l l n o t b e r e s p o n
F o l l o w i n g a r e U R L s w h e r e y o u c a n o b t a i n i n f o r m a t i o n o n o t h e r T e x a s I n s
P r o d u c t s A p p l i c a t i o n s
A m p l i f i e r s a m p l i f i e r . t i . c o m A u d i o w w w . t i . c o m / a u d i o
D a t a C o n v e r t e r s d a t a c o n v e r t e r . t i . c o m A u t o m o t i v e w w w . t i . c o m / a u t o m o t i v e
D S P d s p . t i . c o m B r o a d b a n d w w w . t i . c o m / b r o a d b a n d
I n t e r f a c e i n t e r f a c e . t i . c o m D i g i t a l C o n t r o l w w w . t i . c o m / d i g i t a l c o n t r o l
L o g i c l o g i c . t i . c o m M i l i t a r y w w w . t i . c o m / m i l i t a r y
P o w e r M g m t p o w e r . t i . c o m O p t i c a l N e t w o r k i n g w w w . t i . c o m / o p t i c a l n e t w o r k
M i c r o c o n t r o l l e r s m i c r o c o n t r o l l e r . t i . c o m S e c u r i t y w w w . t i . c o m / s e c u r i t y
R F I D w w w . t i - r f i d . c o m T e l e p h o n y w w w . t i . c o m / t e l e p h o n y
L o w P o w e r w w w . t i . c o m / l p w V i d e o & I m a g i n g w w w . t i . c o m / v i d e o W i r e l e s s
W i r e l e s s w w w . t i . c o m / w i r e l e s s
M a i l i n g A d d r e s s : T e x a s I n s t r u m e n t s , P o s t O f f i c e B o x 6 5 5 3 0 C o p y r i g h t 2 0 0 7 , T e x a s I n s t r u m e n t s I n c o r p o r a t e d
http://www.ti.com/wirelesshttp://www.ti-rfid.com/http://www.ti.com/telephonyhttp://microcontroller.ti.com/http://power.ti.com/http://www.ti.com/opticalnetworkhttp://logic.ti.com/http://www.ti.com/militaryhttp://interface.ti.com/http://www.ti.com/digitalcontrolhttp://dsp.ti.com/http://www.ti.com/broadbandhttp://dataconverter.ti.com/http://www.ti.com/automotivehttp://amplifier.ti.com/http://www.ti.com/audiohttp://www.ti.com/wirelesshttp://www.ti.com/videohttp://www.ti.com/lpwhttp://www.ti.com/telephonyhttp://www.ti-rfid.com/http://www.ti.com/securityhttp://microcontroller.ti.com/http://www.ti.com/opticalnetworkhttp://power.ti.com/http://www.ti.com/militaryhttp://logic.ti.com/http://www.ti.com/digitalcontrolhttp://interface.ti.com/http://www.ti.com/broadbandhttp://dsp.ti.com/http://www.ti.com/automotivehttp://dataconverter.ti.com/http://www.ti.com/audiohttp://amplifier.ti.com/