LTC1403/LTC1403A
16
1403fc
For more information www.linear.com/LTC1403
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.as m 2k buffer size.
; first element at 1024, last element at 1023, two middles at 2047 and 0000
; unipolar mode
; 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
; ***************************************************************************
.widt h 160
.leng th 110
.title sineb0 BSP in auto buffer mode”
.mmregs
.setsect .t e x t, 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:
;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 flags
TC = bit f(@BSP CE,#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 ; load acc b with BSP buffer and shift right -0
b = #03FFFh & b ; mask out the TRISTATE bits with #03FFFh
;
*ar2+ = d at a(#0bh) ; store B to out buffer and advance AR2 pointer
TC = (@ar2 == #02000h) ; output buffer is 2k starting at 1800h
if (TC) goto start ; restart if out buffer is at 1fffh
goto bufull
LTC1403/LTC1403A
17
1403fc
For more information www.linear.com/LTC1403
; -------------------dummy bsend return------------------------
bsend return _ enable ;this is also a dummy return to define bsend
;in vector table file BVECTORS.ASM
; ----------------------- end ISR ----------------------------
.copy c:\ dskplus\1403\s2k14ini.asm” ;initialize buffered serial port
.space 16*32 ;clear a chunk at the end to mark the end
;======================================================================
;
; VECTORS
;
;======================================================================
.sect vectors” ;The vectors start here
.copy c:\ dskplus\1403\bvectors.asm” ;get BSP vectors
.sect buffer” ;Set address of BSP buffer for clearing
.s p ace 16*0x800
.sect result” ;Set address of result for clearing
.s p ace 16*0x800
.end
**********************************************************************
* (C) COPYRIGHT TEXAS INSTRUMENTS, INC. 1996 *
**********************************************************************
* *
* File: s2k 14ini.ASM BSP initialization code for the ‘C54x DSKplus *
* for use with 1403A in standard mode *
* BSPC and SPC are the same in the ‘C542 *
* BSPCE and SPCE seem the same in the ‘C542 *
**********************************************************************
.title Buffered Serial Port Initialization Routine”
ON .set 1
OFF .set !ON
YES .set 1
NO .set !YES
BIT _ 8 .set 2
BIT _ 10 .set 1
BIT _ 12 .set 3
BIT _ 16 .set 0
GO .set 0x80
**********************************************************************
* This is an example of how to initialize the Buffered Serial Port (BSP).
* The BSP is initialized to require an external CLK and FSX for
* operation. The data format is 16-bits, burst mode, with autobuffering
* enabled.
*
*****************************************************************************************************
*LTC1403 timing from LCC28 socket board with 10MHz cryst al. *
*10MHz, divided from 40MHz, forced to CLKIN by 1403 board. *
*Horizontal scale is 25ns/chr or 100ns period at BCLKR . *
*Timing measured at DSP pins. Jxx pin labels for jumper cable. *
*BFSR Pin J1-20 ~~\ ____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\ ____/~~~~~~~~~~~*
*BCLKR Pin J1-14 _ /~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~\ _/~*
*BDR Pin J1-26 _ --- _ --- _ ---<B13-B12-B11-B10-B09-B08-B07-B06-B05-B04-B03-B02-B01-B00>--- _ ---<B13-B12*
*CLKIN Pin J5-09 ~~~~~\ _______/~~~~~~~\ _______/~~~~~~~\ _______/~~~~~~~\ _______/~~~~~~~\
_______/~~~~~*
*C542 read 0 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00 0 0 B13 B12*
applications inFormation
LTC1403/LTC1403A
18
1403fc
For more information www.linear.com/LTC1403
applications inFormation
* *
* negative edge BCLKR
* negative BFSR pulse
* no data shifted
* 1’ cable from counter to CONV at DUT
* 2’ cable from counter to CLK at DUT
*No right shift is needed to right justify the input data in the main program *
*the two msbs should also be masked ................... *
*****************************************************************************************************
*
Loopback .set NO ;(digital looback mode?) DLB bit
Format .set BIT _ 16 ;(Data format? 16,12,10,8) F O b it
IntSync .set NO ;(internal Frame syncs generated?) TXM bit
IntCLK .set NO ;(internal clks generated?) MCM bit
BurstMode .set YES ;(if BurstMode=NO, then Continuous) FSM bit
CLKDIV .set 3 ;(3=default value, 1/4 CLOCKOUT)
PCM _ Mode .set NO ;(Turn on PCM mode?)
FS _ polarity .set YES ;(change polarity)YES=^^^\ _/^^^, NO= ___/^\ ___
CLK _ polarity .set NO ;(change polarity)for BCLKR YES= _/^, NO=~\ _
Frame _ ignore .set !YES ;(inverted !YES -ignores frame)
XMTautobuf .set NO ;(transmit autobuffering)
RCVautobuf .set YES ;(receive autobuffering)
XMThalt .set NO ;(transmit buff halt if XMT buff is full)
RCVhalt .set NO ;(receive buff halt if RCV buff is full)
XMTbufAddr .set 0x800 ;(address of transmit buffer)
XMTbufSize .set 0x000 ;(length of transmit buffer)
RCVbufAddr .set 0x800 ;(address of receive buffer)
RCVbufSize .set 0x800 ;(length of receive buffer)works up to 800
*
* See notes in the ‘C54x CPU and Peripherals Reference Guide on setting up
* valid buffer start and length values. Page 9-44
*
*
**********************************************************************
.eval ((Loopback >> 1)|((Format & 2)<<1)|(BurstMode <<3)|(IntCLK <<4)|(IntSync <<5)) ,S P C v a l
.eval ((CLKDIV)|(FS _ polarity <<5)|(CLK _ polarity<<6)|((Format & 1)<<7)|(Frame _ ignore<<8)|(PCM _ Mode<<9)),S P C E v a l
.eval (SPCEval|(XMTautobuf<<10)|(XMThalt<<12)|(RCVautobuf<<13)|(RCVhalt<<1 5)), S P C E v a l
sineinit:
bspc = #SPCval ; places buffered serial port in reset
ifr = #10h ; clear interrupt flags
imr = #210h ; Enable HPINT,enable BRINT0
intm = 0 ; all unmasked interrupts are enabled.
bspce = #SPCEval ; programs BSPCE and ABU
axr = #XMTbufAddr ; initializes transmit buffer start address
bkx = #X MTbufSize ; initializes transmit buffer size
arr = #RCVbufAddr ; initializes receive buffer start address
bkr = #RCVbufSize ; initializes receive buffer size
bspc = #(S P C v a l | GO) ; bring buffered serial port out of reset
return ;for transmit and receive because GO=0xC0
; ***************************************************************************
; File: BVECTORS.ASM -> Vector Table for the ‘C54x DSKplus 10.Jul.96
; BSP vectors and Debugger vectors
; TDM vectors just return
; ***************************************************************************
; The vectors in this table can be configured for processing external and
; internal software interrupts. The DSKplus debugger uses four interrupt
; vectors. These are RESET, TRAP2, INT2, and HPIINT.

LTC1403AIMSE#TRPBF

Mfr. #:
Manufacturer:
Analog Devices Inc.
Description:
Analog to Digital Converters - ADC Serial 14-B, 2.8Msps Smpl ADCs w/ SD
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union