TI论坛
直播中

廖阿朋

9年用户 1369经验值
私信 关注
[问答]

用MSP430单片机SPI与TLV5638通讯,TLV5638输出都是0是什么原因?


  • 用MSP430单片机SPI与TLV5638通讯,通过示波器观测到SPI发送给TLV5638的指令和数据都是对的,但是TLV5638输出都是0,不知道是什么原因,在datasheet上看到
    单片机的SPI一次输出是8位的,现在需要改成1位1位的发送吗?
    还有上面说的如果word width is 8,需要发送两次,命令和数据都要发送两次吗?
    请高手指点

                                  

回帖(2)

白桦

2025-2-7 10:39:54
手册第6页图1是时序图,~CS拉低后,一个SCLK打进去一位。打完16位后,~CS拉高,DIN无效。
我觉得那个“发送两次”是相对处理器这一侧说的,你可以参考一下手册12页的操作示例。如果SPI的一次输出是8位的,那么第一次的8位有4位控制位和4位数据位,第二次的8位都是数据位,两次加起来就是TLV5638的4位控制位和12位数据了。
举报

杨静

2025-2-7 17:12:46
根据您的描述,您在使用MSP430单片机通过SPI与TLV5638通讯时遇到了问题,TLV5638输出都是0。以下是一些可能的原因和解决方案:

1. 硬件连接问题:请检查您的硬件连接是否正确,包括SPI接口的连接和电源连接。确保TLV5638的VCC和GND连接正确,以及SPI接口的MISO、MOSI、SCK和CS引脚连接正确。

2. SPI配置问题:请检查您的MSP430单片机的SPI配置是否正确。确保SPI的时钟频率、CPOL和CPHA设置与TLV5638的数据手册中的要求一致。

3. 初始化TLV5638:确保您已经正确地初始化了TLV5638。根据TLV5638的数据手册,您需要发送正确的命令来配置TLV5638的工作模式。请检查您的代码是否正确地发送了初始化命令。

4. 单片机的SPI一次输出是8位的问题:根据您的描述,您提到单片机的SPI一次输出是8位的。这可能是因为您的SPI配置设置为8位数据宽度。您可以尝试将数据宽度设置为1位,然后逐位发送命令和数据。但是,请注意,这可能不是问题的根本原因,您还需要检查其他可能的问题。

5. Word width is 8的问题:根据您的描述,您提到如果word width is 8,需要发送两次命令和数据。这可能是因为TLV5638的数据手册中提到,当数据宽度为8位时,需要发送两次命令和数据。但是,这并不意味着您需要将数据宽度设置为1位。您可以尝试将数据宽度设置为8位,然后按照数据手册的要求发送两次命令和数据。

总之,您需要检查硬件连接、SPI配置、TLV5638的初始化以及数据宽度设置。希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多的信息,以便我们能够更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分