主题中讨论的其他器件: ADS1292R
您好!
我正在尝试将 ADS1292R ECG AFE 与 TM4C1294NCPDT Tiva C 微控制器进行连接。
我已按如下方式配置 SSI0。
void SPI_Setup()
{
SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SSIDisable (SSI0_BASE);
GPIOPinConfigure (GPIO_CONFIG_SSI0CLK);
GPIOPinConfigure (GPIO_CONFIG_SSI0RX);
GPIOPinConfigure (GPIO_CONFIG_SSI0TX);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinTypeSSI (GPIO_PORta_base、(GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_3));// SPI0
SSIAdvModeSet (SSI0_BASE、SSI_ADV_MODE_LEGACY_LEGACY_);
SSIConfigSetExpClk (SSI0_BASE、 // SPI0
40000000、 SSI 时钟的//系统时钟
SSI_FRF_MOTO_MODE_1、 //数据帧格式(极性0、相位1)
SSI_MODE_MASTER、 //配置为主设备
SSI0_SPEED、 //设置速度
8); //字节长字长
SSIEnable (SSI0_BASE);
}
我的连接显示在随附的文件中
Tiva C 控制器-- ADS1292R
PN4 ---- ARD_PWDN/复位
PQ0--- ARD_START
PQ1---- ARD_DRDY
PA3 ---- ARD_CS
PA4 ---- ARD_MOSI
PA5 ---- Aard_MISO
PA2---- ARD_SCK
我尝试通过 Tiva C 控制器写入 ADS1292R 的寄存器。 我可以在示波器上看到预期的数据和时钟、但无法确认 ADS 是否正确接收到数据。
我已经按照 ADS 的数据表、按以下方式写入单个寄存器
第一个字节--写入操作码|寄存器地址
第二字节--(写入1的寄存器数)
第三字节--- 寄存器数据
现在我尝试回读写的寄存器、我期望的是读回我已经写过的值、读操作通过以下方式完成。
第一个字节--读取操作码|寄存器地址
第二字节--(要读取的寄存器数)
第三字节--- 0x00
但我无法读回写入的值、我正在从同一个寄存器中读出其他一些值。 因此,我无法理解问题在哪里。
从寄存器读取的值是否为二进制补码格式?
注意:在执行 SPI 写入之前、ADS 的 RESET BAR 引脚保持高电平。
需要快速回复。
谢谢、此致、
Janardan M