java怎么拦截某个对象
336
2022-10-31
操纵MCU SPI接口以访问非标准SPI ADC
答案:可以,但可能需要做一些额外的努力。
简介
一些新型ADC具有SPI,但有些ADC具有非标准的3线或4线SPI作为从机,因为它们希望实现更快的吞吐速率。例如,AD7616、AD7606和AD7606B系列有两条或四条SDO线,在串行模式下可提供更快的吞吐速率。AD7768、AD7779和AD7134系列有多条SDO线,用作SPI主机。用户在设计微控制器SPI以配置ADC和读取代码时往往会遇到困难。
图1.AD7768用作串行主机,具有两个数据输出引脚(14001-193)。
与ADC的标准MCU SPI连接
SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。图2显示了典型的4线MCU SPI接口连接。
图2.与ADC从机的标准MCU SPI连接
本文将介绍操纵标准微控制器SPI以便与具有非标准SPI端口的ADC接口的方法。
本文会给出四种通过串行接口读取ADC码的解决方案:
图3.SPI数据时钟时序图示例
图4.AD7768 FORMATx = 1×时序图,仅通过DOUT0输出。
如图4所示,当FORMATx = 11或10时,通道0至通道7仅通过DOUT0输出数据。在标准工作模式下,AD7768/AD7768-4作为主机工作,数据流入MCU、DSP或FPGA。AD7768/AD7768-4向从机提供数据、数据时钟(DCLK)和下降沿帧使能信号(DRDY)。
需要解决的问题:
uAD7768用作SPI主机,故必须将STM32F429I SPI配置为SPI从机。
uDRDY) 高电平脉冲只持续一个DCLK周期,这不是典型的CS)。
u完成所有通道数据位的输出之后,DCLK继续输出,DRDY)为低电平。
解决方案1:MCU SPI作为从机,通过一条DOUT线与SPI主机ADC接口
u将STM32F429的一个SPI端口(如SPI4)配置为从机,以DCLK速率接收MOSI上的数据位。
u接收到通道0至通道7的所有数据后,应禁用SPI以防止读取额外的无效数据,因为DRDY)会使SPI从机CS)变为低电平,并且DCLK保持切换。
图6.时序解决方案中的AD7768数据位读取
MCU固件开发注意事项
图7.配置SPI4外设
解决方案2:MCU SPI作为从机,通过两条DOUT线与SPI主机ADC接口
在第一种解决方案中,仅使用DOUT0来输出所有8通道数据。因此,数据读取将ADC吞吐速率限制为8 kSPS。如图1所示,在DOUT0上输出通道0至通道3,在DOUT1上输出通道4至通道7,可以减少数据传输时间。串行线的连接如图7所示。通过这种改进,在DCLK为4 MHz时,ODR可以轻松达到16 kSPS。
图8.AD7768通过DOUT0和DOUT1将数据输出到STM32F429 MCU SPI连接
固件可以不使用中断模式,而使用轮询模式,以减少从DRDY)上升沿触发到使能SPI接收数据的时间延迟。这样可以在DCLK为8 MHz时实现32 kSPS的ODR。
解决方案3:MCU SPI作为从机,通过DMA与SPI主机ADC接口
解决方案4:MCU SPI作为主机和从机,通过两条DOUT线读取数据
高吞吐量或多通道精密ADC为SPI端口提供两条、四条甚至八条SDO线,以在串行模式下更快地读取代码。对于具有两个或更多个SPI端口的微控制器,这些SPI端口可以同时运行以加快代码的读取。
在以下使用案例中,32F429IDISCOVERY使用SPI4作为SPI主机,SPI5作为SPI从机,通过DOUTA和DOUTB接收EVAL-AD7606B-FMCZ数据,如图8所示。
图11.在主从模式下使用MCU SPI通过DOUTA和DOUTB接收数据
图12.SPI4配置为主机,SPI5配置为从机。
图13显示了AD7606B以240 kSPS运行时BUSY、SCLK、DOUTA和DOUB的数字接口截图。
结论
本文讨论了使用微控制器SPI访问具有非标准SPI接口的ADC的方法。这些方法可以直接使用,也可以稍加调整即可控制ADC SPI;其可作为SPI主机使用,也可以与多条DOUT线配合使用以提高吞吐速率。
致谢
参考文献
Dhaker,Piyu。“SPI接口简介”。《模拟对话》,第52卷。2018年9月。
STM32F427xx数据手册。STMicroelectronics,2018年1月。
UM1670用户手册:带STM32F429ZI MCU的Discovery套件。STMicroelectronics,2017年9月。
Usach, Miguel。AN-1248应用笔记:SPI接口。ADI公司,2015年9月。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~