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 Training Organization T TO 2
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/D Technical Training Organization T TO 3
TI Analog ADC Data Trans POWER SOLUTION 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 STANDARDS RS232 RS422 RS485 LVDS 1394/Firewire USB PCI CAN SONET Gigabit Ethernet GTL, 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) DATA TRANSMISSION Digital MSP430 TI DSP etc Clocking Solution Another system/ subsystem/ etc. Data Trans 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 Training Organization T TO 5
$ 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 ConvertersAmplifiersPower ManagementInterface ADIADI TI TI TI TI NSCMaxim MaximNSCLTCNSC NSCLTC FSCToshiba ISLMaximONADI Data ConvertersAmplifiersPower ManagementInterface ADIADI TI TI TI TI NSCMaxim MaximNSCLTCNSC NSCLTC FSCToshiba ISLMaximONADI 1. TI 2. STM 3. Infineon 4. ADI 5. Philips Technical Training Organization T TO 6
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 7
Booklet : SSDV004N DSP Selection Guide Booklet : SSDV004N DSP Selection Guide 8
On-Line Data Converter App Notes 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 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/D 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 Training Organization T TO 14
Application Areas for TI Data Converters Embedded High Perf. DSP Portable / Low Power Micro Systems High Precision Measurement 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 Training Organization T TO 15
1K K100K1M10M100M 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 Converter Resolution Conversion Rate Technical Training Organization T TO 16
TI DAC Technologies Settling Time- s Current Steering Resistor String & R-2R Converter Resolution Current Technology High Speed Video and Communication Update rate (MSPS) Typically 1 Output but a few 2 Output Current out Industrial Settling Time (µs) Number of Out put DACs Resistor String – Inexpensive R-2R – More accurate -Trimmed at final test Typically Voltage out MDAC’s coming (dig control gain/atten, Waveform gen.) Instrumentation & Measurement Typically for Calibration Current Technology Technical Training Organization T TO 17
DACs – Delta Sigma High Resolution/Accuracy DAC122X Touch Screen Controllers Stand Alone Controllers Integrated Audio Controllers TI Data Converters High Precision Low bandwidth High Bandwidth Intelligent / high resolution 8051 core ADCs – Delta Sigma High Precision Medical, Industrial Control, Data Acquisition Simultaneous sampling Motor control ADCs – SAR Versatile, High Speed Communication, Imaging, Ultrasound ADCs – Pipeline Low power, Single and bipolar Suppy, Precision DACs – String / R2R Consumer Codecs, ADC/DAC Voice A/C Codecs Pro audio DACs, ADCs PGAs, SRCs, DITs Audio Technical Training Organization T TO 18
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 19
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 nameStatus Resolution Sample Rate Architecture# ChannelsSE vs Diff’lPwr Consumpt’n SINADSNRSFDRENOB Voltage rangesBandwidth# suppliesPins/Pkg Selecting a Device Technical Training Organization T TO 20
ADS8361 from : Resolution (Bits)16 Sample Rate (max)500 KSPS Search Sample Rate (Max) (SPS) # 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) 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 TypeVoltage Input Configuration Range+/-2.5 V at 2.5 No. of Supplies2 Technical Training Organization T TO 21
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 22
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 Training Organization T TO 23
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 Training Organization T TO 24
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 25
Signal Chain Prototyping System Digital Analog Power Interface BoardPower Supply EVMA/D EVM (THS1206)DAC EVM (ADS8345) Technical Training Organization T TO 26
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 Training Organization T TO 27
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 28
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 Configuration Define 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 Training Organization T TO 34
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 Training Organization T TO 35
Data Converter Plug-In Structures TADS8361 *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 structure hADC = &Ads8361_1; // initialize handle to point to our instance MCBSP_getRcvAddr(hADC->serial->hMcbsp); // obtain info from instance object->substruc Technical Training Organization T TO 36
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 : Technical Training Organization T TO 37
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 38
Adapting Lab 6 Code main.c #include "dc_conf.h" #include "t8361_fn.h“... initMcBSP(); dc_configure(&Ads8361_1) mcbsp.c... MCBSP_close(hMcbspControl); *((unsigned char*)0x ) |= 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/D 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 Training Organization T TO 40
Observations of Results Audio 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 DSP Technical Training Organization T TO 41
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 42
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 Training Organization T TO 43
Interfacing TI DSP to TI Analog A/D 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 Training Organization T TO 44
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 progress while (!MCBSP_rrdy(pADS->serial->hMcbsp)); actual SP ops use CSL API return 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 API void (*CallBack)(void *); DCP_SERIAL *serial; int iMode; int* Buffer; unsigned longulBuffSize; volatile intiXferInProgress; } TADS8361; t8361_ob.c define instance object type Technical Training Organization T TO 45
Structure Definitions typedef 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 Training Organization T TO 46
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 Uses TI’s SPICE macromodels Allows general spice circuit simulation Analysis Circuit optimization Technical Training Organization T TO 47
Example Analysis Circuit Technical Training Organization T TO 48
ti Technical Training Organization 49
Lab Setup - DSK DSK pwr usb Technical Training Organization T TO 50
Lab Setup - I/F Bd DSK pwr usb 5-6K Interface Board Parallel Bus I/F Serial “A” Serial “B” Analog I/O 1 Analog I/O 2 Serial I/FAnalog I/F pwr Technical Training Organization T TO 51
Lab Setup - EVMs DSK pwr usb 5-6K Interface Board Parallel Bus I/F Serial “A” Serial “B” Analog I/O 1 Analog I/O 2 ADC8361 EVMAmplifier EVM Serial I/FAnalog I/F pwr Technical Training Organization T TO 52
Signal Chain Prototyping System 53