TI中文支持网
TI专业的中文技术问题搜集分享网站

DAC3484

求教:DAC3484的SYNC、FRAME、OSTR、DATACLK连接到FPGA,在进行到配置步骤31时,都是正常的,读出的05的值不存才alarm的标识,但是随后进行32到36任何一项,都会触发寄存器05的alarms_from_fifo的Pointers are 2 away、Pointers are 1 away、FIFO pointer collision,只要对寄存器进行写操作都会触发alarm,在此期间txenable保持为0,没有数据传输。始终alarm清不掉.

设计中使用DAC3484芯片输出信号,上电后,对其的配置过程如下:

序号

寄存器

配置值

说明

1

00

089c

16倍内插,fifo使能,alarm使能,clkdiv_sync使能

2

01

010e

4通道使能,fifo的1away/2away/collosion使能

3

02

f0d2

16bitin,dacclk、dataclkgone使能,nco使能,twos

4

03

f000

设置输出电流

5

07

c07f

设置alarm的mask

6

08

0000

设置qmc_offset

7

09

a000

Fifo offset5,设置qmc_offset

8

0a

0000

设置qmc_offset

9

0b

0000

设置qmc_offset

10

0c

0400

设置qmc_gain

11

0d

0400

Cmix无效,设置qmc_gain

12

0e

0400

设置qmc_gain

13

0f

0400

输出延时设置,设置qmc_gain

14

10

0000

设置qmc_phase

15

11

0000

设置qmc_phase

16

12

0000

设置phase_offset

17

13

0000

设置phase_offset

18

14

999a

设置NCO

19

15

1999

设置NCO

20

16

999a

设置NCO

21

17

1999

设置NCO

22

18

2c60

PLL N分频使能,PLL使能,Single pump,P为4

23

19

c0f4

M为128,N为16,参考时钟120MHz,DACCLK960MHz

24

1a

cc00

设置PLL CVO coarse为51,PLL不sleep

25

1b

0800

内参考,

26

1e

4444

Qm的同步源设置为SYNC

27

1f

4444

设置mix和nco、dataformat的同步源为sync

28

20

1401

Fifoin同步源为sync,fifoout同步源为ostr,clkdiv同步源为sync

29

18

NA

读取18,判断lfvolt的值为合理值

30

05

0000

Clear all alarm

31

05

NA

读取05,判断alarm是否存在

32

1f

4442

设置sfi_sync

33

00

0898

clkdiv_sync不使能

34

1f

4448

设置dataformat不同步,清除sfi_sync

35

20

0000

Fifo的in和out同步不使能

36

18

2460

不使能PLL的N分频器同步

37

05

NA

读取05判断alarm

Kailyn Chen:

上电时序没问题吧?关于alarm配置,请按照下面这个顺序:
Alarm monitoring is implemented as follows:
• Power up the device using the recommended power-up sequence.
• Clear all the alarms in config5 by setting them to 0.
• Unmask those alarms that will generate a hardware interrupt through the ALARM pin in config7.
• Enable automatic DAC shut-off in register config2 if required.
• In the case of an alarm event, the ALARM pin will trigger. If automatic DAC shut-off has been enabled the
DAC outputs will be disabled.
• Read registers config5 to determine which alarm triggered the ALARM pin.
• Correct the error condition and re-synchronize the FIFO.
• Clear the alarms in config5.
• Re-read config5 to ensure the alarm event has been corrected.
• Keep clearing and reading config5 until no error is reported.

Seasat Liu:

按照DAC3484的评估板软件,先生成一份初始的寄存器表吧

user4359409:

回复 Seasat Liu:

按照软件配置的寄存器试过了,还是一样的效果,clear 寄存器0x05的alarm之后,只要对其他寄存器有操作,就会有alarm触发.

赞(0)
未经允许不得转载:TI中文支持网 » DAC3484
分享到: 更多 (0)