.endif

Software Overview

STEP4: XF

= 1

; wait for TW(CSTARTL) and set CSTART

call

STORE

; store the last sample into the table

.if INT0_DRIVEN

 

return

 

; return from routine back to IRQ_INT0

.else

 

 

goto

STEP5

; go back to receive next sample

.endif

 

 

**********************************

*STORE:

*saving the samples into memory

**********************************

STORE:

.if (SEND_OUT_PARALLEL)

* store sample into the parallel buffer location if choosen

port(DAC1) = @ADSAMPLE

; update DAC output

.endif

 

.if SAVE_INTO_MEMORY

* store new sample into DSP data memory

*AR7+ = data(@ADSAMPLE) ; write last sample into memory table

.endif

.if SEND_OUT_SERIAL

* store sample into the serial buffer location

DP

=

#00000h

;

point

to

page zero

TC

=

bitf(@SPC,#01000h)

;

test,

is

the XRDY Bit in SPC=1?

if (TC) goto SEND_SERIAL_END ; don’t send something until XDR is empty

;this has been included because the serial DAC TLC5618A is not able to understand

;endless data-stream (the CS should not become high before end of sending

;the 16th bit)

DP

= #AD_DP

; reset Data page pointer to variables

A

= @ADSAMPLE<<2

; leftshift of the sample for a 12 bit format

@ADSAMPLE = A

;

@ADSAMPLE = #(TLC5618_LATCH_ATLC5618_FAST_MODETLC5618_POWER_UP) ; set the mode of the

DAC

data(BDXR) = @ADSAMPLE ; send out the sample to the serial DAC SEND_SERIAL_END:

.endif

.if SAVE_INTO_MEMORY

* test

for table end, set pointer

back if true

TC

= (AR0 ==AR7)

; is AR0 = AR7? (table end reached?)

if

(NTC) goto STORE_END

;

* set pointer back to table start

64SLAA040

Page 70
Image 70
Texas Instruments TLV1562 manual Software Overview, if INT0DRIVEN, endif, if SENDOUTPARALLEL, if SAVEINTOMEMORY, SLAA040