Analog Interfacing Chapter 6.5 (Optional) C6000 Integration Workshop Copyright © 2005 Texas...
-
Upload
deborah-powers -
Category
Documents
-
view
214 -
download
0
Transcript of Analog Interfacing Chapter 6.5 (Optional) C6000 Integration Workshop Copyright © 2005 Texas...
Analog Interfacing
Chapter 6.5 (Optional)
C6000 Integration Workshop
Copyright © 2005 Texas Instruments. All rights reserved. Technical Training
Organization
T TO
Learning Objectives
List various families of TI Analog that connect to DSP systems
Demonstrate how to find information on TI Analog components
List key and additional selection criteria for an A2D converter
Identify challenges in adding peripherals to a DSP design
Identify TI support to meet above design challenges
Describe the types of Analog EVMs available from TI
Select and configure a desired analog system from available EVMs
Create driver code with the Data Converter Plug-In
Apply Plug-in generated code to a given system
Technical TrainingOrganization
T TO2
Interfacing TI DSP to TI Analog
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
A/D11100010011
Technical TrainingOrganization
T TO3
TI Analog
ADC
Da
ta T
r an
s
POWERSOLUTION
DAC
OP-AMPs/Comparators/Support- High Speed Amplifiers- Low Power, RRIO Signal Amps- Instrumentation Amps- Audio Power Amps- Power Amps- Commodity Amps- Comparators- Temp Sensors- References- Special Functions
Data Converter-Standard A/D and D/A- High Resolution/Precision converters- High Speed converters- Touchscreen controllers- -Law/A-Law Telecom “SLAC”s- Communication, Video, & Ultrasound optimized converters/codecs- Audio & Voice band converters/Codecs- Industrial converters
Data Transmission- Many standards- SERDES
STANDARDSRS232RS422RS485LVDS1394/FirewireUSBPCICANSONETGigabit EthernetGTL, BTL, etc.
Power- Power Modules- Linear Regulators/ LDOs- DC-DC controllers- PFC- Load Share- Battery Management- Charge Pumps & Boost Converters- Supervisory Circuits- Power Distribution/Hotswap- References
(Codec)
RF
RF (or Wireless)
DATATRANSMISSION
DigitalMSP430TI DSP
etc
ClockingSolution
Anothersystem/
subsystem/etc.
Da ta T
rans
Clocks• Clock Buffer & fanouts• PLL based buffers & fanouts• Multipliers & Dividers• Jitter cleaners & synchronizers• Memory specific solutions• Synthesizers• Real Time Clocks
4
TI’s High-Performance Analog Portfolio
Technical TrainingOrganization
T TO5
$ 3.45 B
$ 3.41 B
$ 1.62 B
$ 1.49 B
$ 1.39 B
11.0 %
10.8 %
5.1 %
4.7 %
4.4 %
Industry Ranking
Data Converters Amplifiers Power Management Interface
ADI ADI TI TI
TI TI NSC Maxim
Maxim NSC LTC NSC
NSC LTC FSC Toshiba
ISL Maxim ON ADI
Data Converters Amplifiers Power Management Interface
ADI ADI TI TI
TI TI NSC Maxim
Maxim NSC LTC NSC
NSC LTC FSC Toshiba
ISL Maxim ON ADI
1. TI
2. STM
3. Infineon
4. ADI
5. Philips
Technical TrainingOrganization
T TO6
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO7
http://analog.ti.com
Booklet :
SSDV004N
DSP Selection Guide
Booklet :
SSDV004N
DSP Selection Guide8
On-Line Data Converter App Notes
Most contain downloadable software examples for use with CCS or Embedded Workbench!
Most contain downloadable software examples for use with CCS or Embedded Workbench!
Click on “Application Notes” from the Product Folder for links to specific devices
Click on “Application Notes” from the Product Folder for links to specific devices
9
Amplifier Design Utilities
10
FilterPro Design Tool
11
SWIFT Design Tool
12
The I-to-V Pro Tool
13
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO14
Application Areas for TI Data Converters
Embedded High Perf. DSP Portable / Low Power Micro Systems
High PrecisionMeasurement
Over Sampling ∆Σ ADCs Precision ADCs Micro Systems High Speed ADCs Current Input ADC’s
Touch-Screen Controller
Stand-Alone Intelligent Integrated Audio
Audio Voiceband Codecs Consumer Professional Audio
High Speed Comm /Ultrasound
Pipeline ADCs Current Steering DACs
Industrial Control /Instrumentation
SAR ADCs High Speed Low Power Simultaneous Sampling Bipolar Data Acquisition Systems
String / R2R DACs Single Supply Monitor & Control Dual Supply
Technical TrainingOrganization
T TO15
1K10010 10K 100K 1M 10M 100M
24
20
16
12
8
Pipeline
SAR Successive
Approximation
Oversampling
ADS1625 18 bit Delta Sigma 1.25 MSPS - Fastest on the market (averages and filters out noise)
ADS1605 16 bit Delta Sigma 5 MSPS ADS8411
16 bit 2 MSPS Market Leader ADS5500
14 bit 125 MSPS Market Leader
TI ADC Technologies
Current Technology
Con
vert
er R
esol
utio
n
Conversion RateTechnical Training
Organization
T TO16
TI DAC Technologies
Settling Time- s
20
16
12
8
Current
Steering
Resistor String
& R-2R
Con
vert
er R
esol
utio
n
6810 4 2 1 .05 .0011001000
Current Technology
High Speed Video and CommunicationUpdate rate (MSPS)Typically 1 Output but a few 2 OutputCurrent out
IndustrialSettling Time (µs)Number of Out put DACsResistor String – InexpensiveR-2R – More accurate -Trimmed at final test Typically Voltage outMDAC’s coming (dig control gain/atten, Waveform gen.)
Instrumentation & MeasurementTypically for Calibration
Current Technology
Technical TrainingOrganization
T TO17
DACs – Delta SigmaDACs – Delta Sigma
High Resolution/AccuracyDAC122X
Touch Screen ControllersTouch Screen Controllers
Stand Alone Controllers Integrated Audio Controllers
TI Data Converters
High Precision Low bandwidthHigh Bandwidth
Intelligent / high resolution8051 core
ADCs – Delta SigmaADCs – Delta Sigma
High PrecisionMedical, Industrial Control,
Data Acquisition Simultaneous sampling
Motor control
ADCs – SARADCs – SAR
Versatile, High Speed Communication, Imaging,
Ultrasound
ADCs – PipelineADCs – Pipeline
Low power, Single and bipolar Suppy, Precision
DACs – String / R2RDACs – String / R2R
Consumer Codecs, ADC/DACVoice A/C Codecs
Pro audio DACs, ADCs PGAs, SRCs, DITs
AudioAudio
Technical TrainingOrganization
T TO18
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO19
Go to “ti.com” with your browser
In the Products box, hover over Analog and Mixed Signal & select Data Converters
In the Data Converters Home box in the upper left, hover over Find a Device and select Parametric Search
Pick a bit resolution and sample rate, and a list of suitable devices are displayed, comparing numerous additional parameters, including:
Device name Status Resolution Sample Rate
Architecture # Channels SE vs Diff’l Pwr Consumpt’n
SINAD SNR SFDR ENOB
Voltage ranges Bandwidth # supplies Pins/Pkg
Selecting a Device
Technical TrainingOrganization
T TO20
ADS8361from : http://focus.ti.com/docs/prod/folders/print/ads8361.html
Resolution (Bits) 16 Sample Rate (max) 500 KSPS Search Sample Rate (Max) (SPS) 500000
# Input Channels (Diff) 4 Power Consumption (Typ) (mW) 150
SNR (dB) 83 SFDR (dB) 94 DNL (Max) (+/-LSB) 1.5 INL (Max) (+/-LSB) 4 INL (+/- %) (Max) 0.00375 No Missing Codes (Bits) 14 Analog Voltage AV/DD (Min/Max) (V) 4.75 / 5.25
Logic Voltage DV/DD (Min / Max) (V) 2.7 / 5.5 Input Type Voltage Input Configuration Range +/-2.5 V at 2.5 No. of Supplies 2
Technical TrainingOrganization
T TO21
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO22
Design Flow… Product Selection
Key specifications (speed, resolution, …) Secondary parameters (power, size, price, channels, …) Research data base of candidate devices Additional factors: ease of use, cost/value
Hardware Design ADC / DAC pins, requirements DSP pin matchup Layout considerations (noise, supply requirements, etc
Software Authoring Configuring the (serial) port Configuring the peripheral Getting/sending data from/to the peripheral How? Write it yourself or with the help of an authoring tool…
Technical TrainingOrganization
T TO23
I/O Device Development Challenges
Hardware Design
Pinouts, etc
Layout – noise minimization, etc
Software Design
Select modes for serial port
Select modes for ADC / DAC
Write modes to port / peripheral
Debug
Observe / verify performance
Modify design as required
Analog Evaluation Modules
(EVMs) : ADC, DAC, Power, ...
Chip Support Library (CSL) + Data Converter Plug-In (DCP)
CCS
Technical TrainingOrganization
T TO24
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO25
Signal Chain Prototyping System
Dig
ital
An
alo
g
Power
Interface BoardPower Supply EVMA/D EVM (THS1206)DAC EVM (ADS8345)
Technical TrainingOrganization
T TO26
Analog EVMs 5-6K Interface Board
Compatible with TMS320 C5000 and C6000 series DSP starter kits Supports parallel EVM’s up to 24 bits Allows multiple clock sources for parallel/Serial converters Supports two independent McBSP channels Provides complete signal chain prototyping opportunities
Data Converter EVMs 3 standardized daughter card format (2 serial, 1 parallel)
Serial – support for SPI, McBSP, I2C; 1-16 I/O channels Connects to (nearly) any control system Stackable
Third Party Interface Boards Avnet, SoftBaugh, Spectrum Digital, Insight - Memec Design …
Analog Interface Boards Bipolar and single supply In development – differential amps, instrumentation amps, active filters
$50 each!
Technical TrainingOrganization
T TO27
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO28
Data Converter Plug-In
Allows rapid application development
Automatically generates required DSP source code
Removes the necessity to learn the converter “bit by bit”
Includes help for device features
Fully integrated into Code Composer Studio (2, 5, and 6K)
29
Launching the Data Converter Plug-In
30
Adding an Instance of the Desired Converter
31
Specify the ConfigurationDefine the DSP properties
Set desired ADC modes
Write files…
32
DCP Files Added to CCS Project
“API” file prototypes the 6 functions generated by the DCPin tool
Object file implements all device coding and creates structures that manage the behavior of the device
33
Files Generated by Data Converter Plug-In
tidc_api.c
Set of API that all Data Converter Plug-In authored code supports
tidc_api.h
Header file common to all Data Converter Plug-In generated code
dc_conf.h
Configuration data that holds the selections made in the Plug-In
tads8361_ob.c
Implementation of the API for the given device instance
tads8361.h
Header file to define the exposed object specific elements
All are fully coded by the Plug-In
All are fully exposed to the user for study/modification as desired
Technical TrainingOrganization
T TO34
Data Converter Plug-In Uniform API
DCPAPI TTIDCSTATUS dc_configure(void *pDC);
DCPAPI long dc_read(void *pDC);
DCPAPI void dc_rblock(void *pDC, void *pData, unsigned long ulCount, void (*callback) (void *));
DCPAPI void dc_write(void *pDC, long lData);
DCPAPI void dc_wblock(void *pDC, void *pData, unsigned long ulCount, void (*callback) (void *));
DCPAPI void dc_power(void *pDC, int bDown);
All objects created with the Data Converter Plug-In share these six API
Technical TrainingOrganization
T TO35
Data Converter Plug-In StructuresTADS8361
*configure // DC API *power *read *write *rblock *wblock 0, 0, 0, 0, // unused *CallBack serial iMode Buffer // data bk ptr ulBuffSize // data bk size iXferInProgress
DCP_SERIAL
port intnum hMcBsp sConfig
MCBSP_Obj
allocated
xmtEventId
rcvEventId
*baseAddr
drrAddr
dxrAddr
hADC
CSL Config
Structure
Interacting with the structures...
TADS8361 * hADC; // make a handle to the DC structurehADC = &Ads8361_1; // initialize handle to point to our instanceMCBSP_getRcvAddr(hADC->serial->hMcbsp); // obtain info from instance object->substruc
Technical TrainingOrganization
T TO36
Data Converter Plug-In Review
Greatly reduces development time For the DSP software developer: No need to learn
the details of the converter For the analog designer: No need to learn DSP
programming to test a give data converter Supports 117 devices on 5 DSP platforms Where to get the Data Converter Plug-In plug-in :
Included in Code Composer Studio Download (free of charge) from :
http://www.ti.com/sc/dcplug-in
Technical TrainingOrganization
T TO37
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO38
Adapting Lab 6 Codemain.c#include "dc_conf.h"#include "t8361_fn.h“...initMcBSP();
dc_configure(&Ads8361_1)
mcbsp.c
...
MCBSP_close(hMcbspControl);
*((unsigned char*)0x90080006) |= 0x01;
edma.c
hEdmaRcv = EDMA_open(EDMA_CHA_REVT1, EDMA_OPEN_RESET);
gEdmaConfigRcv.src = MCBSP_getRcvAddr(hMcbspData);gEdmaConfigRcv.src = MCBSP_getRcvAddr(hADC->serial->hMcbsp);
hEdmaRcv = EDMA_open(EDMA_CHA_REVT0, EDMA_OPEN_RESET);
if (dc_configure(&Ads8361_1) != TIDC_NO_ERR)return;
TADS8361 * hADC;
hADC = &Ads8361_1;
39
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO40
Observations of ResultsAudio sounded ‘scratchy’ - Why?
8361 puts channel number in 2 MSBs
We can adapt the CSL structure to change this
We could mask off those bits before passing data to the algo
In “real life”, we’d probably want these bits to verify channel #
Mismatched data rates between input and output
In real-life situation, one wouldn’t still be using half a codec, so this problem would not have been encountered normally
If such a case did arise, we could have:
Rewired the ADC to run off the clocks provided by the codec
Adjusted rates to match in software
Sample-rate converted in the DSPTechnical Training
Organization
T TO41
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO42
Conclusions on TI DSP + TI Analog …
TI offers a large number of low cost analog EVMs to allow developers to ‘snap together’ a signal chain for ultra-fast test and debug of proposed components
TI provides CSL and Data Converter Plug-In to vastly reduce the effort in getting a DSP to talk to ports and peripherals
Getting to ‘signs of life’ result is now a matter of minutes instead of days/weeks
Final tuning will sometimes be required, but amounts to a manageable effort with a device already easily observed, rather than ‘groping in the dark’ as often was the case otherwise
Technical TrainingOrganization
T TO43
Interfacing TI DSP to TI Analog
A/D11100010011
TI Analog
Finding Information
Data Converters
Selecting An Example ADC
Development Challenges
Analog EVMs
Data Converter Plug-In
Completing the Code
Build, Run, Evaluate
Lessons Learned
Additional Information…
Technical TrainingOrganization
T TO44
Driver Object Details
long ads8361_read(void *pDC) prototype of the DC API { TADS8361 *pADS = pDC; get handle to object
if (!pADS) return; parameter check if (pADS->iXferInProgress) return; verify no bk op in progresswhile (!MCBSP_rrdy(pADS->serial->hMcbsp)); actual SP ops use CSL APIreturn MCBSP_read(pADS->serial->hMcbsp); when SP ready, return data rcvd
} spin loop – oops ! !
t8361_ob.c code to implement the DC API, eg: read fn
TADS8361 Ads8361_1 = {&ads8361_configure,&ads8361_power,&ads8361_read,&ads8361_write,&ads8361_rblock,&ads8361_wblock,0, 0, 0, 0, 0, &serial0, ADC1_MODE,0, 0, 0
};
t8361_ob.c make & fill instance obj
typedef struct {TTIDC f; // std DC APIvoid (*CallBack)(void *);DCP_SERIAL *serial;int iMode;int* Buffer;unsigned long ulBuffSize;volatile int iXferInProgress;
} TADS8361;
t8361_ob.c define instance object type
Technical TrainingOrganization
T TO45
Structure Definitionstypedef struct { unsigned int port; Number of serial port used unsigned short intnum; Which interrupt driver uses MCBSP_HANDLE hMcbsp; Serial port handle (CSL) MCBSP_CONFIG sConfig; Ptr to CSL ser pt config struc} DCP_SERIAL;
typedef struct { Uint32 allocated; Is port available? Uint32 xmtEventId; Which ints port will use Uint32 rcvEventId; volatile Uint32 *baseAddr; Address of port registers Uint32 drrAddr; *Data receive register Uint32 dxrAddr; *Data transmit register} MCBSP_Obj, *MCBSP_Handle;
from TIDC_API.h
from csl_mcbsp.h
typedef struct { TTIDCSTATUS (*configure) (void *pDc);void (*power) (void *pDc, int bDown);long (*read) (void *pDc);void (*write) (void *pDc, long lData); void (*rblock) (void *pDC, void *pData, unsigned long ulCount, void (*callback) (void *));void (*wblock) (void *pDC, void *pData, unsigned long ulCount, void (*callback) (void *));void* reserved[4];
} TTIDC;
typedef struct { TTIDCSTATUS (*configure) (void *pDc);void (*power) (void *pDc, int bDown);long (*read) (void *pDc);void (*write) (void *pDc, long lData); void (*rblock) (void *pDC, void *pData, unsigned long ulCount, void (*callback) (void *));void (*wblock) (void *pDC, void *pData, unsigned long ulCount, void (*callback) (void *));void* reserved[4];
} TTIDC;
from TIDC_API.h
Technical TrainingOrganization
T TO46
Analog Design Tools in Development
OpAmpPro - Input data selects IC Input data contains transfer function Input data selects the appropriate circuit Program enables adjustment resistor & worst case calculations Op Amp Pro selects IC by analyzing applications and input data Calculates error due to external component & IC tolerances
Tina-TI Spice Simulation Program To be offered free on www.ti.com Uses TI’s SPICE macromodels Allows general spice circuit simulation Analysis Circuit optimization
Technical TrainingOrganization
T TO47
Example Analysis Circuit
Vcommon-mode
Vsample
Vinput
+ Vsample
+ Vinput
C4
10
0p
C3 100p
Vout
Vreference 5
R5 40k
+Vcommon-mode
C2 25p
C1
1n
R6 100
R4
40
k
V1 5
R3 100k
R2 100k R1 20k
-
+ +U1 OPA364
ADS8325 16-bit1/2 lsb = 38uVtaq < 1.875uSCin = 20pf
ADS7829 12-bit1/2 lsb = 610uVtaq < 750nSCin = 25pF
ADS Reference
+/- 10V Signal Conditioning for 5V ADC's
"Flywheel"
Conditioning Network analog input
Technical TrainingOrganization
T TO48
ti
Technical TrainingOrganization
49
Lab Setup - DSK
DSK
pwr
usb
Technical TrainingOrganization
T TO50
Lab Setup - I/F Bd
DSK
pwr
usb
5-6K Interface Board
Parallel Bus
I/FSerial “A”
Serial “B”
Analog I/O 1
Analog I/O 2
Serial I/FA
nalog I/F
pwr
Technical TrainingOrganization
T TO51
Lab Setup - EVMs
DSK
pwr
usb
5-6K Interface Board
Parallel Bus
I/FSerial “A”
Serial “B”
Analog I/O 1
Analog I/O 2
ADC8361 EVMAmplifier EVM
Serial I/FA
nalog I/F
pwr
Technical TrainingOrganization
T TO52
Signal Chain Prototyping System
53