LTC1402
U
W U U
APPLICATIONS INFORMATION
; ***************************************************************************
; Files: BSP2KB.ASM ->
; 2kbyte collection into DSKPlus TMS320C542 with Serial Port interface to LTC1402
; first element at 1024, last element at 1023, two middle elements at 2047 and 0000
; bipolar mode
; ***************************************************************************
.width 160
.length 110
.title “sineb0 BSP in auto buffer mode”
.mmregs
.setsect “.text”, 0x500,0
.setsect “vectors”, 0x180,0
.setsect “buffer”, 0x800,0
;Set address of executable
;Set address of incoming 1402 data
;Set address of BSP buffer for clearing
.setsect “result”, 0x1800,0 ;Set address of result for clearing
.text
;.text marks start of code
start:
;Make sure /PWRDWN is low at J1-9 to turn off AC01 adc
tim=#0fh
prd=#0fh
tcr = #10h
tspc = #0h
; stop timer
; stop TDM serial port to AC01
pmst = #01a0h ; set up iptr. Processor Mode STatus register
sp = #0700h
dp = #0
; init stack pointer.
; 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
sinepeek:
call sineinit
; Double clutch the initialization to insure a proper
; insert debugger break here to view results
; 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 flags
TC = bitf(@BSPCE,#4000h)
if (NTC) goto bufull
bspce = #(2023h + 08000h)
return_enable
; check which half (bspce(bit14)) of buffer
; if this still the first half get next half
; turn on halt for second half (bspce(bit15))
;
———————mask and shift input data after 2k buffer is full——-
bufull:
b = *ar3+ << -2
; load acc b with BSP buffer and shift right 2
b = #00FFFh & b
b = #00800h ^ b
*ar2+ = data(#0bh)
; mask out the REF bit and the 3 other tristate bits
; invert BIPOLAR MSB. Comment this line in UNIPOLAR mode
; store B to out buffer and advance AR2 pointer
TC = (@ar2 == #02000h) ; output buffer is 2k starting at 1800h
if (TC) goto start
goto bufull
; restart if out buffer is at 1fffh
;
—————————dummy bsend return————————————
bsend return_enable
;this is a dummy return to define bsend
;in vector table below
;
——————————— end ISR ——————————————
;initialize buffered serial port
**********************************************************************
*
*
*
BSP initialization code for the ‘C54x DSKplus
for use with 1402 in standard mode
BSPC and SPC are the same in the ‘C542
*
*
*
**********************************************************************
ON
.set 1
OFF
YES
NO
.set !ON
.set 1
.set !YES
.set 2
BIT_8
BIT_10 .set 1
BIT_12 .set 3
BIT_16 .set 0
GO
.set 0x80
**********************************************************************
19