直接存储器访问用于在外设与存储器之间提供高速数据传输

网友投稿 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小时内删除侵权内容。

上一篇:瑞萨电子推出全球首款用于汽车的28nm工艺的集成闪存微控制器
下一篇:Spring Data JPA 设置字段默认值方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~