TI论坛
直播中

打马过草原

10年用户 983经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

tlv2545的数据SDO端输出都是高电平,为什么?


  • 我参考电压和供电电压都是3.3V,AIN+接2V,AIN-接地,CS线和SLK接STM32端口,电路图和datasheet给的是一样的,对照时序图写的程序,但是我SDO端输出的全部是高电平。不知道是时序还是有问题还是芯片有问题呢
    UINT16 AD_Read_Data(void){
    int i;
    UINT16 data = 0x0000;
          
            SCLK_High;
            CS_High;
            SCLK_Low;
            SCLK_High;
            CS_Low;
            delay_5us(2);//延迟10us
    for(i=0;i<12;i++)
    {
               SCLK_Low;
               data <<= 1;
               data = data|SDO;
               SCLK_High;
    }
                  
            for(i=0;i<5;i++){
              SCLK_Low;
              SCLK_High;
            }
          
            delay_5us(2);//延迟10us

            CS_High;
            data&=0x0fff;
    return data;
    }

回帖(2)

李艳婷

2025-2-13 15:01:30
判定程序对不对最简单的方法是用示波器测试CS, SCLK,FS,SDO的波形,然后与datasheet提供的波形做比较,符合时序要求即可。(建议您用波形对照,因为TI在ADC控制上,是没有程序参考的)
举报

任凭风吹

2025-2-13 17:39:25
从您提供的信息来看,您正在使用TLV2545进行ADC转换,并且发现SDO端输出的值都是高电平。以下是一些可能的原因和解决方案:

1. 检查硬件连接:请确保您的硬件连接正确,包括AIN+、AIN-、CS、SCLK等引脚。检查是否有短路或断路的情况。

2. 检查参考电压和供电电压:您提到参考电压和供电电压都是3.3V,这是正确的。但是,请确保这些电压稳定且没有波动。

3. 检查时序:根据您的代码,您已经按照时序图编写了程序。但是,请再次检查您的时序是否完全符合TLV2545的数据手册要求。特别是CS、SCLK和SDI的时序。

4. 检查STM32端口:请确保您的STM32端口配置正确,包括引脚模式、速度和输出电压。您可以尝试使用示波器检查这些引脚的波形,以确保它们符合TLV2545的要求。

5. 检查TLV2545芯片:如果以上步骤都无法解决问题,您可以尝试更换TLV2545芯片,以排除芯片损坏的可能性。

6. 检查代码逻辑:请检查您的代码逻辑,确保在读取SDO数据时没有错误。例如,确保在读取数据之前已经正确地设置了CS和SCLK信号。

综上所述,您需要逐步检查硬件连接、时序、STM32端口配置和代码逻辑,以找到问题的根本原因。希望这些建议能帮助您解决问题。
举报

更多回帖

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