TI论坛
直播中

刘丰标

7年用户 1049经验值
私信 关注
[问答]

将ADS7883与DAC8501一起使用遇到的疑问求解


  • 我想将ADS7883与DAC8501一起使用,使用一个SPI外设控制,但是DAC8501一个周期有24位数据,而ADS7883仅有16位数据,如果给ADS7883在CS拉低时输入24个CLK脉冲,多余的8个脉冲会移出什么数据?连续进行24个脉冲的读取(1MBPS)会不会有问题?

回帖(3)

陈霞

2024-11-14 15:06:32
请问您是说将ADS7883与DAC8501共用SPI,它们都作为SPI slave?
       如果共用SPI总线,需要给这两个芯片分配不同的CS,以实现分时通讯。
举报

陈丹丽

2024-11-14 15:06:39
 通常ADC和DAC的读写都需要MCU先做配置的,然后才能读写,理论上两个芯片同时读写不可行。
     建议您先评估对应芯片具体的SPI读写时序。
举报

百灵千岛酱

2024-11-14 18:09:56
在使用ADS7883和DAC8501时,确实需要注意它们的数据位数和时钟速率。以下是一些建议和解答:

1. 多余的8个脉冲:当给ADS7883输入24个CLK脉冲时,多余的8个脉冲不会影响ADS7883的数据输出,因为它只处理16位数据。多余的8个脉冲会被忽略,不会移出任何数据。

2. 连续进行24个脉冲的读取(1MBPS):理论上,1MBPS的时钟速率对于ADS7883和DAC8501都是可以接受的。但是,实际操作中可能会遇到一些问题,例如信号完整性、时钟同步等。为了确保系统的稳定性,建议降低时钟速率,例如使用500KBPS或更低。

3. 解决方案:为了解决这个问题,可以考虑以下几种方法:

   a. 使用两个不同的SPI外设分别控制ADS7883和DAC8501,这样可以避免数据位数和时钟速率的冲突。

   b. 如果只有一个SPI外设可用,可以考虑使用一个多路复用器(Multiplexer)来切换ADS7883和DAC8501的CS信号。在读取或写入数据时,根据需要切换CS信号。

   c. 另一个方法是使用一个微控制器(如STM32、Arduino等)来控制SPI通信。在这种情况下,可以编写代码来处理16位和24位数据的转换,以及时钟速率的调整。

总之,在使用ADS7883和DAC8501时,需要注意它们的数据位数和时钟速率。通过合理的设计和控制,可以确保系统的稳定性和性能。
举报

更多回帖

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