English
Language : 

LTC1403A_15 Datasheet, PDF (15/20 Pages) Linear Technology – Serial 12-Bit/14-Bit, 2.8Msps Sampling ADCs with Shutdown
LTC1403/LTC1403A
APPLICATIONS INFORMATION
; 01-08-01 ******************************************************************
; Files: 014SI.ASM -> 1403A Sine wave collection with Serial Port interface
;
bvectors.asm
buffered mode to avoid standard mode bug.
;
s2k14ini.asm
2k buffer size.
; first element at 1024, last element at 1023, two middles at 2047 and 0000
; 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 1403 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:
tim=#0fh
prd=#0fh
tcr = #10h
tspc = #0h
pmst = #01a0h
sp = #0700h
dp = #0
ar2 = #1800h
ar3 = #0800h
ar4 = #0h
call sineinit
sinepeek:
call sineinit
wait goto wait
;this label seems necessary
;Make sure /PWRDWN is low at J1-9
;to turn off AC01 adc
; stop timer
; stop TDM serial port to AC01
; set up iptr. Processor Mode STatus register
; init stack pointer.
; data page
; pointer to computed receive buffer.
; pointer to Buffered Serial Port receive buffer
; reset record counter
; Double clutch the initialization to insure a proper
; reset. The external frame sync must occur 2.5 clocks
; or more after the port comes out of reset.
;
----------------Buffered Receive Interrupt Routine ------------------
breceive:
ifr = #10h
; clear interrupt flags
TC = bitf(@BSPCE,#4000h) ; check which half (bspce(bit14)) of buffer
if (NTC) goto bufull
; if this still the first half get next half
bspce = #(2023h + 08000h); turn on halt for second half (bspce(bit15))
return_enable
;
--------------mask and shift input data ----------------------------
bufull:
b = *ar3+ << -0
b = #03FFFh & b
*ar2+ = data(#0bh)
TC = (@ar2 == #02000h)
if (TC) goto start
goto bufull
; load acc b with BSP buffer and shift right -0
; mask out the TRISTATE bits with #03FFFh
;
; store B to out buffer and advance AR2 pointer
; output buffer is 2k starting at 1800h
; restart if out buffer is at 1fffh
1403fb
15