TI论坛
直播中

三心四意

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

ads1254的DOUT/DRDY引脚一直是高电平,为什么?


  • 1示波器显示电源.输入3.3V电压正常。
    2.示波器显示CLK口方波输入正常
    3.单片机用的是M4的SPI接口。
    4.下面付的是出事化代码。
    问题:DOUT/DRDY引脚一直高电平,SCLK引脚一直低电平。请问是什么问题导致的?

    /初始化SSI3
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); //GPIO port B needs to be enabled so these pins can be used.
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); //GPIO port B needs to be enabled so these pins can be used.
    SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI3); // The SSI2 peripheral must be enabled for use.
    SysCtlPeripheralEnable(GPIO_PORTE_BASE);
    SysCtlPeripheralEnable(GPIO_PORTD_BASE);

    GPIOPinConfigure(GPIO_PD0_SSI3CLK);
    GPIOPinConfigure(GPIO_PD2_SSI3RX);


    GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_2);

    SSIConfigSetExpClk(SSI3_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_SLAVE, 100000, 8); //接收

    GPIODirModeSet( GPIO_PORTE_BASE,GPIO_PIN_5,GPIO_DIR_MODE_OUT); // 配置片选管脚为输出
    GPIODirModeSet( GPIO_PORTE_BASE,GPIO_PIN_4,GPIO_DIR_MODE_OUT); // 配置片选管脚为输出

    GPIOPadConfigSet(GPIO_PORTE_BASE,GPIO_PIN_5,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD_WPU);
    GPIOPadConfigSet(GPIO_PORTE_BASE,GPIO_PIN_4,GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD_WPU);

    GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE,GPIO_PIN_5); // 配置片选管脚为输出
    GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE,GPIO_PIN_4); // 配置片选管脚为输出

    GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_5,0); //禁止片选
    GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_4,0); //禁止片选

    //中断设置
    SSIIntEnable(SSI3_BASE,SSI_RXFF); //中断使能
    //SSIIntDisable(SSI3_BASE);

    SSIEnable(SSI3_BASE);

回帖(2)

王琰

2025-1-24 09:52:29
 电路硬件的问题是否有排除
举报

贾熹

2025-1-24 16:31:58
根据您提供的信息,我们可以逐步分析可能的原因:

1. 首先,您提到示波器显示电源、输入3.3V电压正常,CLK口方波输入正常。这说明电源和时钟信号没有问题。

2. 您提到单片机使用的是M4的SPI接口。我们需要确保SPI接口的配置正确。请检查您的SPI初始化代码,确保以下设置正确:
   - 确保选择了正确的SPI接口(例如SSI3)。
   - 确保SPI的时钟频率设置正确。
   - 确保SPI模式(CPOL和CPHA)设置正确。

3. 您提到DOUT/DRDY引脚一直高电平,SCLK引脚一直低电平。这可能意味着SPI通信没有正确建立。以下是一些可能的原因:
   - 确保CS(片选)引脚正确配置。在SPI通信中,CS引脚应该在开始通信时拉低,结束通信时拉高。
   - 检查ADS1254的配置。确保ADS1254的SPI模式和单片机的SPI模式相匹配。
   - 检查ADS1254的电源和地线连接是否正确。

4. 您提供的代码片段不完整,无法确定是否正确配置了GPIO和SPI接口。请确保以下步骤已正确执行:
   - 配置GPIO引脚为SPI功能。
   - 配置SPI接口的参数(例如时钟频率、模式等)。
   - 初始化SPI接口。

综上所述,DOUT/DRDY引脚一直高电平和SCLK引脚一直低电平可能是由于SPI通信未正确建立导致的。建议您检查SPI接口配置、ADS1254配置以及GPIO引脚设置,确保它们正确无误。如果问题仍然存在,您可以尝试使用示波器检查SPI通信波形,以便进一步诊断问题。
举报

更多回帖

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