目前使用TI-M4對ADS1247在讀資料上有一些問題請教,在DOUT回傳24Bit(MSB-Mid-Byte-LSB)時量到的前二個Byte是一模一樣的,
不管怎麼改變電位差,DOUT回傳前二個Byte是一模一樣的不知問題在哪???
REFP0–2.5v
AIN1—–0~~~2.5
AIN3—GND
以下是我程式的大概流程
Step1 配置register
SPI2_Buffer_Tx[0] = 0x40; //write (register 0)
SPI2_Buffer_Tx[1] = 0x03; // nuber – 1 (4)
SPI2_Buffer_Tx[2] = 0x0B; //MUX0
SPI2_Buffer_Tx[3] = 0x00; //VBIAS
SPI2_Buffer_Tx[4] = 0x00; //MUX1
SPI2_Buffer_Tx[5] = 0x06;//0x06; //SYS0 320 SPS
SPI2_Send_Data(6);
while(SSIBusy(SSI3_BASE))
{
}
Step2
SPI2_Buffer_Tx[0] = 0x13; //Read Data Once
SPI2_Send_Data(1);
while(SSIBusy(SSI3_BASE))
{
}
Step3
SysCtlDelay(20000);
SPI2_Send_Data(3); //no operation
SPI2_RxIdx = 0;
while(SSIBusy(SSI3_BASE))
{
}
附件
綠色線—SCLK
黃色線—DOUT
kqian0327:
你好,
我想和你确认几个问题:
1.写入波形是否是ok的?
2.读数据时,有没有注意第一帧是写地址,第二帧开始才是读数据。
3.有没有注意到SPI的四种模式问题。
Janet Sun:
你好,
REFP0–2.5v
AIN1—–0~~~2.5
AIN3—GND
是什么意思?参考是REF0,2.5V,输入是AIN1和AIN3,差分输入?要注意数据手册中有共模输入范围的限制。AVSS+0.1+VIN*GAIN/2~AVDD-0.1-VIN*GAIN/2,如果你是差分输入的话,需要提供一个合适的偏置电压,满足共模的要求。