我的数字电源和模拟电源都为3.3V, CAP引脚是否应该有1.8V输出呢?
我用STM32F407 的PWM输出占空比为50%的信号作为CLKIN,CLKIN为4MHz;SPI CLK配置为 低电平 下降沿有效2.5Mhz 8位 MSB模式 但无论发什么指令器件都没回应,CAP引脚为0V。我用示波器观测CLKIN SCLK 和DIN波形都正常。RESET为高电平 CS直接配置为始终低电平。
MX_TIM4_Init();
/* USER CODE BEGIN 2 */
setCS(LOW);
InitADC();
// EXTI6_Enable();
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
// writeSingleRegister(GAIN1_ADDRESS, 0x0003);//通道0 GAIN = 8
// sendCommand(OPCODE_UNLOCK);
//
// readData(&DataStruct);
spiSendReceiveByte(0x00);
spiSendReceiveByte(0x33);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
spiSendReceiveByte(00);
LL_mDelay(1);
}
void InitADC(void)
{
// IMPORTANT: Make sure device is powered before setting GPIOs pins to HIGH state.
// Initialize GPIOs pins used by ADS131M0x
// Initialize SPI peripheral used by ADS131M0x
MX_SPI1_Init();
LL_SPI_Enable(SPI1);
// Run ADC startup function
adcStartup();
}
SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX;
SPI_InitStruct.Mode = LL_SPI_MODE_MASTER;
SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_8BIT;
SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW;
SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE;
SPI_InitStruct.NSS = LL_SPI_NSS_SOFT;
SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16;
SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST;
SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE;
SPI_InitStruct.CRCPoly = 10;
LL_SPI_Init(SPI1, &SPI_InitStruct);
LL_SPI_SetStandard(SPI1, LL_SPI_PROTOCOL_MOTOROLA);
void adcStartup(void)
{
/* (OPTIONAL) Provide additional delay time for power supply settling */
setSYNC_RESET(LOW);
LL_mDelay(50);
/* (REQUIRED) Set nRESET pin high for ADC operation */
setSYNC_RESET(HIGH);
LL_mDelay(1);