主题中讨论的其他器件: REF6030、 REF6050
您好、Keith、
现在、我正在尝试使用2个 ADC 来获得2个处理值的2通道输入、这是在原型阶段使用 ADS8860 EVM。
我已通过以下方式将其连接、以便在4线制 CS 模式下使用 ADS8860:
两个卡的 DIN 引脚分别连接到我的 MCU 端口 P2.3和 P2.7
两个卡的 CONV 引脚连接到我的 MCU 端口 P2.6
两个卡的 SDO 引脚都连接到我的 MCU 端口 P2.5 (可映射到 PM_UCA0SOMI)
两个卡的 CLK 引脚都连接到我的 MCU 端口 P2.0 (可映射到 PM_UCA0CLK)
基准电压(使用 REF6030代替 REF6050)已被检查为3V
提供的 AVDD 和 DVDD 电压为3.3V、已经过检查
现在、为了读取进入 Card1输入的 CH1和进入 Card2输入的 CH2的 ADC 计数、软件中执行了:
1) 1) 两个卡的第一个 CONV 引脚保持高电平。 因此、P2.6由 MCU 保持在高电平。 在 CONV 上观察到的电压电平为3.3V
2) 2) 最初、两个 DIN 引脚在两个卡上都保持高电平
3) 3)延迟1ms 后、CH2的 DIN (P2.7)变为低电平、使用 SPI 读取驱动器从 DOUT 读取数据、并存储 CH2的值
4) 4)然后在1m 延迟后、CH1 (P2.3)的 DIN 变为低电平、并使用 SPI 读取驱动器从 DOUT 读取数据、并存储 CH1的值
现在、我在这里发现、即使测量时的模拟输入从0–3V 发生变化、DOUT 中接收到的值也是0xFFFF。 在示波器中检查时、我始终将 DOUT 信号设置为高电平。 请在下面找到所实现的软件、在硬件中所做的更改如上所示(还提供了 ADS8860的原理图以及上面所写的更改)和所附的示波器屏幕截图。
在示波器中、绿色波形为 SCLK、粉红色信号用于 P2.3、蓝色信号用于 P2.7、这是为 MCU 的各个 DIN 提供的
DOUT 是黄色信号
uint16_t SPI_ADC_CH_READ (ADC_Ch_EnumerTypeDef enPV_SV)
{
_DELAY_CYCLES (24000);//1ms 延迟
if (position_ADC_count = enPV_SV)
{
P2OUT |= 1 << 3;//第一个通道的 DIN 为高电平、用于数据转换
P2OUT &=~(1 << 7);对于数据采集、第二通道的//DIN 为低电平
ADC_READ_VAL_ADC = SPI_READ ();//SPI_READ 是通过 SPI 接口读取数据的驱动程序
}
其他
{
P2OUT |= 1 << 7;对于第二通道、//DIN 为高电平、用于数据转换
P2OUT &=~(1 << 3);对于数据采集、第一个通道的//DIN 为低电平
ADC_READ_VAL_ADC = SPI_READ ();
}
返回 ADC_READ_VAL_ADC;//ADC_READ_VRA_ADC 根据指定的通道返回数据
}
uint16_t SPI_read (空)
{
uint16_t ADC_READ_VAL_MSB;
uint16_t adc_read_val_lsb;
UCA0TXBUF = 0x0FF;//TX 缓冲区写入来启动 SPI 传输
while (!(UCA0IFG & UCTXIFG));
while (UCA0STAT 和 UCBUSY);
UCA0IFG &=~UCTXIFG;
while (!(UCA0IFG & UCRXIFG));
while (UCA0STAT 和 UCBUSY);
ADC_READ_VAL_MSB = UCA0RXBUF;//通过读取 SPI 缓冲器读取第一个字节
UCA0TXBUF = 0x0FF;//TX 缓冲区写入来启动 SPI 传输
while (!(UCA0IFG & UCTXIFG));
while (UCA0STAT 和 UCBUSY);
UCA0IFG &=~UCTXIFG;
while (!(UCA0IFG & UCRXIFG));
while (UCA0STAT 和 UCBUSY);
ADC_READ_VAL_lsb = UCA0RXBUF;//通过读取 SPI 缓冲器读取第二个字节
返回((ADC_READ_VAL_MSB << 8)|(ADC_READ_VAL_lsb));
}
我想知道以下几点:
1) 1) 由于我在 EVM 上使用的是四线制 CS 模式、该模式并非针对相同的设计、因此还需要进行哪些更改、以便能够获得2通道输入的输出
2) 2) EVM 中已为 DOUT 提供的10K 上拉电阻是否正常、或是否应将 DOUT 连接到两个板、然后将上拉电阻添加到 MCU 的线路中。 此外、还有2个并联的上拉电阻器彼此相邻、因为两条具有上拉电阻器的 DOUT 线路连接在一起并提供给 MCU
此致、
Dhiren