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

TLV5610: 配置用于SPI通信的LOAD,CS等信号的问题

Part Number:TLV5610

Hi,我在调试TLV5610的时候遇到了一些问题。下图是我最初的SPI程序,依照TI的例程修改而来。DAC芯片输出正常

FS_LOAD,FS_CLR是两个GPIO的宏定义,用于拉高或拉低GPIO。

但我若是将LOAD引脚和片选FS引脚在初始化的时候就拉低,SPIDAC芯片就没有输出了,想问下原因。

另外我还有一个问题,因为在这个程序中我用到了while循环,占用了相当一部分的CPU资源,于是我参考TI的例程将SPI修改为基于DMA,FIFO模式的SPI,在这种条件下我该如何配置FS哈人LOAD管脚呢?

Kailyn Chen:

LOAD是哪个引脚?LDAC吗?我理解的是不能正常输出是因为片选信号在初始化的时候就拉低,说明芯片在初始化的过程中就被选中,也就是说在芯片内部Power on reset电路还没初始化完成就准备对寄存器进行读写,这个时序是不正确的。 

yeyuan zhu said:在这种条件下我该如何配置FS哈人LOAD管脚呢?

这里是什么意思?

,

yeyuan zhu:

Kailyn Chen said:LOAD是哪个引脚?LDAC吗?

是LDAC引脚。

Kailyn Chen said:

yeyuan zhu 说:在这种条件下我该如何配置FS哈人LOAD管脚呢?

这里是什么意思?

因为在FIFO模式下,我没有使用while语句等待SPI数据发送完毕后再拉高FS引脚。我该如何通过软件去配置FS引脚和LDAC引脚的的电平状态呢?

,

Kailyn Chen:

yeyuan zhu said:我该如何通过软件去配置FS引脚和LDAC引脚的的电平状态呢?

通过软件的话是通过寄存器去配置这两个引脚吗?但是我看了下数据手册,没有对应的寄存器可以配置呢。

我认为还是需要通过GPIO去控制。

,

yeyuan zhu:

嗯嗯,我也是通过GPIO去控制的FS与LDAC。我目前在使用C2000系列的F28388D与TLV5610实现SPI通信,我写了一个基于定时器中断的SPI通信程序,在每个定时器中断内,我会将16位的数据放入SPIBUF中.但在SPI的FIFO模式下我该在哪个时刻把与FS相连的GPIO拉低呢?在哪个时刻把FS引脚拉高呢?

,

Kailyn Chen:

yeyuan zhu said:我目前在使用C2000系列的F28388D与TLV5610实现SPI通信,我写了一个基于定时器中断的SPI通信程序,在每个定时器中断内,我会将16位的数据放入SPIBUF中.但在SPI的FIFO模式下我该在哪个时刻把与FS相连的GPIO拉低呢?在哪个时刻把FS引脚拉高呢?

您好,这个问题我请教下我们的C2000工程师,然后尽快给您答复。

,

yeyuan zhu:

您好,工程师有回复么

,

Kailyn Chen:

抱歉抱歉,当时我就咨询C2000工程师了,并且回复了,现在看来是没回复成功。

C2000工程师看了下28388的数据手册,SPI模块有一个SPISTE引脚,当C2000作为主机传送数据的时候会自动拉低这个引脚,不需要额外的GPIO,也不需要在中断中做额外的处理。不知是否能解决您的问题?

,

yeyuan zhu:

好的好的,非常感谢!

,

Kailyn Chen:

不必客气,后续有什么问题,再一起讨论。

赞(0)
未经允许不得转载:TI中文支持网 » TLV5610: 配置用于SPI通信的LOAD,CS等信号的问题
分享到: 更多 (0)