Texas Instruments TLV1562 manual Program Files, Other Files, Code verification

Page 46
Manual background

Software Overview

8.5.6C-Callable with Mono Interrupt Driven Mode Using CSTART to Start Conversion

The following descriptions explain the software for the data acquisition with a user friendly C program interface in monomode using the CSTART signal. The required interface connections are shown in Figure 2.

Program Files:

C1562.ASM

Includes the complete software in the C-layer

asm1562.ASM

Includes the complete software algorithm to control the monomode

CONSTANT.ASM

Common file of all modes (constants definition)

VECTORS.ASM

Common file of all modes (IRQ vector table)

Other Files:

 

linker.cmd

Organization of the DSP memory (data and program memory)

auto.bat

Batch file to start the compiler for the monomode software

C1500.exe

Compiler c-code into assembler

mnem2alg.exe

Mnemonic – algebraic instruction converter

asm500.exe

C54x Code compiler

lnk500.exe

C54x linker

rts.lib

Library to organize boot loader

The timing requirements for interfacing the ’C54x to the ADC are provided in Table 13. The STEP numbers given there can be found again as Marker in the code. This helps to debug and verify the code.

Code verification:

The user only needs to edit the C1562.C – software file and to run the AUTO.BAT to adapt the acquisition. This software samples one of the four channels, with a specified number of samples, and stores each sample into a defined memory location.

To verify the software, the user must change the code in the C1562.ASM file and save those changes. The next step is to recompile the four .ASM files by executing the AUTO.BAT batch file. If compiler and linker finish without error messages, the new output file is ready to load in the DSP program memory (e.g. with the GoDSP development tools) and to execute.

40SLAA040

Image 46
Contents Application Report JulySLAA040 TParalInteMS3rflelADConvertertotheacing20C54xDSPtheTLV1562IMPORTANT NOTICE Contents 8.5.5 List of Tables List of FiguresFigures viSLAA040 2 The Board Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSP1 Introduction 2.1 TMS320C54x Starter Kit2.3.1 Suggestions for the ’C54x to TLV1562 Interface 2.2 TLV1562EVM2.3 ADC TLV1562 Overview 2.3.1.1 The Universal Interface2.3.2 Recyclic Architecture Using RD or the CSTART Signal to Start ConversionFigure 2. TLV1562 to ’C54x DSP Interface of the EVM 2.4 Onboard Components 2.3.3 Note on the Interface, Using an External ADC Clock Drive2.4.1 TLC5618A - Serial DAC Figure 3. TLC5618A to ’C542 DSP Interface 2.4.2 THS5651 - Parallel Output CommsDACFigure 4. THS5651 to C542 DSP Interface 3.1 Reference Voltage Inputs 3 Operational Overview3.2 Input Data Bits Table 1. Signal Connections 3.3 Connections Between the DSP and the EVMTable 3. 2-Position Jumpers 3.3.1 Jumpers Used on the TLV1562EVMTable 2. 3-Position Jumpers 8SLAA0404 The Serial DAC/DSP System Table 4. DSP/DAC InterconnectionTable 5. DSP Serial Port Signals and Registers 5 The DSP Serial Port6 Other DSP/TLV1562 Signals 6.1 DSP Internal Serial Port Operation7.1 Writing to the ADC 7.2 Mono Interrupt Driven Mode Using RD7 Conversation Between the TLV1562 and the DSP Table 6. DSP Algorithm for Writing to the ADCtDCSL-sample+1ADCSYSCLK Table 7. DSP Algorithm for Mono Interrupt Driven Mode Using RDtENDATAOUT = 41 ns Table 8. DSP Algorithm for Mono Interrupt Driven Mode Using CSTART 7.3 Mono Interrupt Driven Mode Using CSTART14 SLAA040 7.4 Dual Interrupt Driven Mode Table 9. DSP Algorithm for Dual Interrupt Driven ModeTable 10. DSP Algorithm for Mono Continuous Mode 7.5 Mono Continuous Mode16 SLAA040 7.6 Dual Continuous Mode Table 11. DSP Algorithm for Dual Continuous Mode8.1 Software Development tools 8 Software Overview8.2 DSP Memory Map Figure 5. Memory Map 8.3.1 Optimizing CPU Resources for Maximum Data Rates 8.3.3 Timer Output8.3 Programming Strategies for the ’C54x, Explanations 8.3.2 Address and Data Bus for I/O Tasks8.3.4 Data Page Pointer 8.3.5 Generating the Chip Select Signal and the CSTART Signal8.3.6 Interfacing the Serial DAC 5618A to the DSP GOTO MARK 8.3.7 Interrupt Latency8.3.8 Branch Optimization goto/dgoto, call/dcall MARK DP = #1 ARP = #58.4 Software Code Explanation 8.3.9 Enabling Software Modules .if/.elseif/.endif8.4.1 Software Principals of the Interface Advantage 8.4.1.2 Timed Solution8.4.1.1 Software Polling DisadvantageAdvantages 8.4.1.3 Interrupt Driven Solution8.4.1.5 Setting the Right Switches DisadvantagesTask Table 12. Switch SettingsTable 13. Instruction in the Program Header Step Table 14. Instruction in the Program Header Step 8.5 Flow Charts and Comments for All Software Modes8.5.1 The Mono Interrupt Driven Mode Using RD to Start Conversion 8.4.1.6 Common Software for all ModesCode verification Program FilesOther Files common file of all modes constants definitionFigure 6. Software Flow of the Mono Interrupt Driven Solution Includes the complete software algorithm to control the monomode 8.5.2 Mono Interrupt Driven Mode Using CSTART to Start ConversionCalibration procedure of the DAC Common file of all modes constants definitionPoll INTO Pin Until h/0 Transition Occurs Initialize SPISAVE Pull Down CSTART8.5.2.1 Throughput Optimization† This only works for one TLV1562 not multiple because CS is not usedFigure 8. Time Optimization monocst1 8.5.3 Dual Interrupt Driven ModeMaximum 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 Software Overview 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 Other Files 8.6.1 Common Software for all Modes except C-Callable 8.6 Source Code8.6.1.1 Constants.asm set 000C0h Operate without calibrated inputs no offset 42 SLAA0408.6.1.2 Interrupt Vectors 4C internal timer interrupt 44 SLAA040File Linker.lnk COMMAND FILE 8.6.1.3 linker,cmd8.6.1.4 Auto.bat title ”COMMAND FILE FOR TLV1562.ASM”jump address to init. new channel Mainprogram Monomode.asmpointer address when using any of the following variables counter for one channelsent value to register CR0 of the ADC endif if INT0DRIVENPOLLINGDRV if SENDOUTSERIAL48 SLAA040 endif = bit*AR5,15-0 if AUTOPWDNENABLEendif if DIFFINPUTMODE elseif INT0DRIVENelseif NOINT0SIG 52 SLAA040 8.6.3 Calibration of the ADC CALIBRAT.ASM54 SLAA040 if SMECALIBRATION 56 SLAA040 endif 58 SLAA040 Software Overview 60 SLAA040 if INT0DRIVENPOLLINGDRV 62 SLAA040 = bit*AR5,15-0 endif if SAVEINTOMEMORY 64 SLAA040endif Interrupt Routine handler - see 8.6.1.2 Interrupt Vectors 8.6.5 Dual Interrupt Driven ModeConstants definition - see 8.6.1.1 Constants.asm Mainprogram DUALIRQ1.asmSoftware Overview Interfacing the TLV1562 Parallel ADC to the TMS320C54x DSPSoftware Overview if SENDOUTSERIALendif 70 SLAA040 endif 72 SLAA040 if SAVEINTOMEMORY Mainprogram MONOCON1.asm 8.6.6 Mono Continuous Mode74 SLAA040 Software Overview 76 SLAA040 endif if EXTERNALCLOCK 78 SLAA040 endif Mainprogram DUALCON1.asm 8.6.7 Dual Continuous Mode80 SLAA040 Software Overview 82 SLAA040 endif if DIFFINPUTMODE 84 SLAA040 Software Overview TLV1562Channel, Save Memory Start address, NUMBEROFSAMPLES 8.6.8 C-CallableMainprogram C1562.c 80h samples of channel 1 will be stored beginning on 2000hSoftware Overview 88 SLAA040 AR7+ = data@ADSAMPLE Vectors.asm 90 SLAA040int2 returnenable 48 external interrupt int2 nop Linker.cmd Auto.bat92 SLAA040 9 Summary 10 References