Datasheet

LTC1407/LTC1407A
18
1407fb
APPLICATIONS INFORMATION
; 08-21-03 ******************************************************************
; Files: 1407ASIAB.ASM -> 1407A Sine wave collection with Serial Port interface
; both channels collected in sequence in the same 2k record
; bvectors.asm buffered mode.
; s2k14ini.asm 2k buffer size.
; unipolar mode
; Works 16 or 64 clock frames.
; negative edge BCLKR
; negative BFSR pulse
; -0 data shifted
; 1’ cable from counter to CONV at DUT
; 2’ cable from counter to CLK at DUT
; ***************************************************************************
.width 160
.length 110
.title “sineb0 BSP in auto buffer mode”
.mmregs
.setsect “.text”, 0x500,0 ;Set address of executable
.setsect “vectors”, 0x180,0 ;Set address of incoming 1407A data
.setsect “buffer”, 0x800,0 ;Set address of BSP buffer for clearing
.setsect “result”, 0x1800,0 ;Set address of result for clearing
.text ;.text marks start of code
start:
;this label seems necessary
;Make sure /PWRDWN is low at J1-9
;to turn off AC01 adc
tim=#0fh
prd=#0fh
tcr = #10h ; stop timer
tspc = #0h ; stop TDM serial port to AC01
pmst = #01a0h ; set up iptr. Processor Mode STatus register
sp = #0700h ; init stack pointer.
dp = #0 ; data page
ar2 = #1800h ; pointer to computed receive buffer.
ar3 = #0800h ; pointer to Buffered Serial Port receive buffer
ar4 = #0h ; reset record counter
call sineinit ; Double clutch the initialization to insure a proper
sinepeek:
call sineinit ; reset. The external frame sync must occur 2.5 clocks
; or more after the port comes out of reset.
wait goto wait
; ————————Buffered Receive Interrupt Routine -————————-
breceive:
ifr = #10h ; clear interrupt ags
TC = bitf(@BSPCE,#4000h) ; check which half (bspce(bit14)) of buffer
if (NTC) goto bufull ; if this still the rst half get next half
bspce = #(2023h + 08000h); turn on halt for second half (bspce(bit15))
return_enable