图8.AD7768通过DOUT0和DOUT1将数据输出到STM32F429 MCU SPI连接
固件可以不使用中断模式,而使用轮询模式,以减少从DRDY)上升沿触发到使能SPI接收数据的时间延迟。这样可以在DCLK为8 MHz时实现32 kSPS的ODR。
解决方案3:MCU SPI作为从机,通过DMA与SPI主机ADC接口
直接存储器访问(DMA)用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。DMA可以迅速移动数据而不需要任何MCU操作,这样可以腾出MCU资源用于执行其他操作。下面是MCU SPI用作从机通过DMA接收数据的设计说明。
解决方案4:MCU SPI作为主机和从机,通过两条DOUT线读取数据
高吞吐量或多通道精密ADC为SPI端口提供两条、四条甚至八条SDO线,以在串行模式下更快地读取代码。对于具有两个或更多个SPI端口的微控制器,这些SPI端口可以同时运行以加快代码的读取。
图9.EXTI0处于轮询模式,SPI4和SPI5通过DOUT0和DOUT1接收AD7768数据位。
图10.EXTI0处于轮询模式,SPI4 DMA通过DOUT0接收AD7768数据位。
在以下使用案例中,32F429IDISCOVERY使用SPI4作为SPI主机,SPI5作为SPI从机,通过DOUTA和DOUTB接收EVAL-AD7606B-FMCZ数据,如图8所示。
AD7606B是一款16位同步采样模数转换数据采集系统(DAS),具有八个通道,每个通道均包含模拟输入箝位保护、可编程增益放大器(PGA)、低通滤波器和16位逐次逼近寄存器(SAR)型ADC。AD7606B还内置灵活的数字滤波器、低漂移2.5 V精密基准电压源和基准电压缓冲器,可驱动ADC及灵活的并行和串行接口。AD7606B采用5 V单电源供电,支持±10 V、±5 V和±2.5 V真双极性输入范围,所有通道均能以800 kSPS的吞吐速率采样。
图11.在主从模式下使用MCU SPI通过DOUTA和DOUTB接收数据