SLAA040
July
Application Report
TParalInteMS3rflelADConvertertotheacing20C54xDSPtheTLV1562
IMPORTANT NOTICE
Contents
8.5.5
List of Figures
List of Tables
Figures
viSLAA040
1 Introduction
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
2 The Board
2.1 TMS320C54x Starter Kit
2.3 ADC TLV1562 Overview
2.2 TLV1562EVM
2.3.1 Suggestions for the ’C54x to TLV1562 Interface
2.3.1.1 The Universal Interface
Using RD or the CSTART Signal to Start Conversion
2.3.2 Recyclic Architecture
Figure 2. TLV1562 to ’C54x DSP Interface of the EVM
2.3.3 Note on the Interface, Using an External ADC Clock Drive
2.4 Onboard Components
2.4.1 TLC5618A - Serial DAC
2.4.2 THS5651 - Parallel Output CommsDAC
Figure 3. TLC5618A to ’C542 DSP Interface
Figure 4. THS5651 to C542 DSP Interface
3 Operational Overview
3.1 Reference Voltage Inputs
3.2 Input Data Bits
3.3 Connections Between the DSP and the EVM
Table 1. Signal Connections
Table 2. 3-Position Jumpers
3.3.1 Jumpers Used on the TLV1562EVM
Table 3. 2-Position Jumpers
8SLAA040
Table 4. DSP/DAC Interconnection
4 The Serial DAC/DSP System
5 The DSP Serial Port
Table 5. DSP Serial Port Signals and Registers
6.1 DSP Internal Serial Port Operation
6 Other DSP/TLV1562 Signals
7 Conversation Between the TLV1562 and the DSP
7.2 Mono Interrupt Driven Mode Using RD
7.1 Writing to the ADC
Table 6. DSP Algorithm for Writing to the ADC
Table 7. DSP Algorithm for Mono Interrupt Driven Mode Using RD
tDCSL-sample+1ADCSYSCLK
tENDATAOUT = 41 ns
7.3 Mono Interrupt Driven Mode Using CSTART
Table 8. DSP Algorithm for Mono Interrupt Driven Mode Using CSTART
14 SLAA040
Table 9. DSP Algorithm for Dual Interrupt Driven Mode
7.4 Dual Interrupt Driven Mode
7.5 Mono Continuous Mode
Table 10. DSP Algorithm for Mono Continuous Mode
16 SLAA040
Table 11. DSP Algorithm for Dual Continuous Mode
7.6 Dual Continuous Mode
8 Software Overview
8.1 Software Development tools
8.2 DSP Memory Map
Figure 5. Memory Map
8.3 Programming Strategies for the ’C54x, Explanations
8.3.3 Timer Output
8.3.1 Optimizing CPU Resources for Maximum Data Rates
8.3.2 Address and Data Bus for I/O Tasks
8.3.5 Generating the Chip Select Signal and the CSTART Signal
8.3.4 Data Page Pointer
8.3.6 Interfacing the Serial DAC 5618A to the DSP
8.3.8 Branch Optimization goto/dgoto, call/dcall
8.3.7 Interrupt Latency
GOTO MARK
MARK DP = #1 ARP = #5
8.3.9 Enabling Software Modules .if/.elseif/.endif
8.4 Software Code Explanation
8.4.1 Software Principals of the Interface
8.4.1.1 Software Polling
8.4.1.2 Timed Solution
Advantage
Disadvantage
8.4.1.5 Setting the Right Switches
8.4.1.3 Interrupt Driven Solution
Advantages
Disadvantages
Table 12. Switch Settings
Task
Table 13. Instruction in the Program Header Step
8.5.1 The Mono Interrupt Driven Mode Using RD to Start Conversion
8.5 Flow Charts and Comments for All Software Modes
Table 14. Instruction in the Program Header Step
8.4.1.6 Common Software for all Modes
Other Files
Program Files
Code verification
common file of all modes constants definition
Figure 6. Software Flow of the Mono Interrupt Driven Solution
Calibration procedure of the DAC
8.5.2 Mono Interrupt Driven Mode Using CSTART to Start Conversion
Includes the complete software algorithm to control the monomode
Common file of all modes constants definition
SAVE
Initialize SPI
Poll INTO Pin Until h/0 Transition Occurs
Pull Down CSTART
This only works for one TLV1562 not multiple because CS is not used
8.5.2.1 Throughput Optimization†
8.5.3 Dual Interrupt Driven Mode
Figure 8. Time Optimization monocst1
Maximum Performance at 1.2 MSPS with Internal Clock
IMPORTANT NOTE The code has been optimized to maximize the data throughput. It was found that CSTART can be pulled low earlier than the data read instruction is performed by the DSP. This saves the 100-ns wait time in STEP 3 because the data read requires at least 100 ns. Therefore, CSTART gets pulled high directly after data read, and the interface becomes faster and gains throughput. This variation will be found in the code. The data acquisition is done in a small number of steps that explains everything inside the code
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
8.5.4 Mono Continuous Mode
Figure 10. Flow Chart Mono Continuous Mode
8.5.5 Dual Continuous Mode
Figure 11. Flow Chart Dual Continuous Mode
Program Files
8.6 Source Code
8.6.1 Common Software for all Modes except C-Callable
8.6.1.1 Constants.asm
42 SLAA040
set 000C0h Operate without calibrated inputs no offset
8.6.1.2 Interrupt Vectors
44 SLAA040
4C internal timer interrupt
8.6.1.4 Auto.bat
8.6.1.3 linker,cmd
File Linker.lnk COMMAND FILE
title ”COMMAND FILE FOR TLV1562.ASM”
pointer address when using any of the following variables
Mainprogram Monomode.asm
jump address to init. new channel
counter for one channel
sent value to register CR0 of the ADC
if SENDOUTSERIAL
endif if INT0DRIVENPOLLINGDRV
48 SLAA040
endif
endif if DIFFINPUTMODE
if AUTOPWDNENABLE
= bit*AR5,15-0
elseif INT0DRIVEN
elseif NOINT0SIG
52 SLAA040
CALIBRAT.ASM
8.6.3 Calibration of the ADC
54 SLAA040
if SMECALIBRATION
56 SLAA040
endif
58 SLAA040
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
60 SLAA040
if INT0DRIVENPOLLINGDRV
62 SLAA040
= bit*AR5,15-0
64 SLAA040
endif if SAVEINTOMEMORY
Software Overview
Constants definition - see 8.6.1.1 Constants.asm
8.6.5 Dual Interrupt Driven Mode
Interrupt Routine handler - see 8.6.1.2 Interrupt Vectors
Mainprogram DUALIRQ1.asm
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
Software Overview
if SENDOUTSERIAL
Software Overview
Software Overview
70 SLAA040
Software Overview
72 SLAA040
endif
8.6.6 Mono Continuous Mode
Mainprogram MONOCON1.asm
74 SLAA040
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
76 SLAA040
endif if EXTERNALCLOCK
78 SLAA040
endif if SAVEINTOMEMORY
8.6.7 Dual Continuous Mode
Mainprogram DUALCON1.asm
80 SLAA040
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
82 SLAA040
endif if EXTERNALCLOCK
84 SLAA040
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
Mainprogram C1562.c
8.6.8 C-Callable
TLV1562Channel, Save Memory Start address, NUMBEROFSAMPLES
80h samples of channel 1 will be stored beginning on 2000h
Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP
88 SLAA040
AR7+ = data@ADSAMPLE
90 SLAA040
Vectors.asm
int2 returnenable 48 external interrupt int2 nop
Auto.bat
Linker.cmd
92 SLAA040
10 References
9 Summary