c语言sscanf函数的用法是什么
352
2022-11-19
直接存储器访问用于在外设与存储器之间提供高速数据传输
一些新型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和ADC串行接口具有标准SPI时序模式,那么用户设计PCB布线和开发驱动器固件不成问题。但是,有些新型ADC的串行接口端口不是典型的SPI时序模式。MCU或DSP似乎不可能通过AD7768串行端口(一种非标准时序SPI端口)读取数据,如图4所示。
本文将介绍操纵标准微控制器SPI以便与具有非标准SPI端口的ADC接口的方法。
本文会给出四种通过串行接口读取ADC码的解决方案:
·解决方案1:MCU作为SPI从机,通过一条DOUT线与作为SPI主机的ADC接口。
·解决方案2:MCU作为SPI从机,通过两条DOUT线与作为SPI主机的ADC接口。
·解决方案4:MCU作为SPI主机和SPI从机,通过两条DOUT线读取数据。
图3.SPI数据时钟时序图示例
图4.AD7768FORMATx=1×时序图,仅通过DOUT0输出。
如图4所示,当FORMATx=11或10时,通道0至通道7仅通过DOUT0输出数据。在标准工作模式下,AD7768/AD7768-4作为主机工作,数据流入MCU、DSP或FPGA。AD7768/AD7768-4向从机提供数据、数据时钟(DCLK)和下降沿帧使能信号(DRDY)。
需要解决的问题:
·AD7768用作SPI主机,故必须将STM32F429I SPI配置为SPI从机。
·高电平脉冲只持续一个DCLK周期,这不是典型的。
·完成所有通道数据位的输出之后,DCLK继续输出,为低电平。
解决方案1:MCU SPI作为从机,通过一条DOUT线与SPI主机ADC接口
·将STM32F429的一个SPI端口(如SPI4)配置为从机,以DCLK速率接收MOSI上的数据位。
·接收到通道0至通道7的所有数据后,应禁用SPI以防止读取额外的无效数据,因为会使SPI从机变为低电平,并且DCLK保持切换。
图6.时序解决方案中的AD7768数据位读取
MCU固件开发注意事项
图7.配置SPI4外设
解决方案2:MCU SPI作为从机,通过两条DOUT线与SPI主机ADC接口
在第一种解决方案中,仅使用DOUT0来输出所有8通道数据。因此,数据读取将ADC吞吐速率限制为8kSPS。如图1所示,在DOUT0上输出通道0至通道3,在DOUT1上输出通道4至通道7,可以减少数据传输时间。串行线的连接如图7所示。通过这种改进,在DCLK为4MHz时,ODR可以轻松达到16kSPS。
图8.AD7768通过DOUT0和DOUT1将数据输出到STM32F429MCU SPI连接
固件可以不使用中断模式,而使用轮询模式,以减少从上升沿触发到使能SPI接收数据的时间延迟。这样可以在DCLK为8MHz时实现32kSPS的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以240kSPS运行时BUSY、SCLK、DOUTA和DOUB的数字接口截图。
结论
本文讨论了使用微控制器SPI访问具有非标准SPI接口的ADC的方法。这些方法可以直接使用,也可以稍加调整即可控制ADC SPI;其可作为SPI主机使用,也可以与多条DOUT线配合使用以提高吞吐速率。 责任编辑:pj
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~