当前许多精密模数转换器(ADC)具有串行外设接口(SPI)或某种串行接口,用以与包括微控制器单元(MCU)、DSP和FPGA在内的控制器进行通信。控制器写入或读取ADC内部寄存器并读取转换码。SPI的印刷电路板(PCB)布线简单,并且有比并行接口更快的时钟速率,因而越来越受欢迎。而且,使用标准SPI很容易将ADC连接到控制器。 一些新型ADC具有SPI,但有些ADC具有非标准的3线或4线SPI作为从机,因为它们希望实现更快的吞吐速率。例如,AD7616, AD7606 和 AD7606B系列有两条或四条SDO线,在串行模式下可提供更快的吞吐速率。AD7768, AD7779和AD7134系列有多条SDO线,用作SPI主机。用户在设计微控制器SPI以配置ADC和读取代码时往往会遇到困难。 图1. AD7768用作串行主机,具有两个数据输出引脚(14001-193)。 SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。图2显示了典型的4线MCU SPI接口连接。 要开始SPI通信,控制器必须发送时钟信号,并通过使能 CS 信号(通常是低电平有效信号)来选择ADC。SPI是全双工接口,因此控制器和ADC可以分别通过MOSI/DIN和MISO/DOUT线同时输出数据。控制器SPI接口允许用户灵活选择时钟的上升沿或下降沿来采样和/或移位数据。为了在主机和从机之间进行可靠的通信,用户必须遵守微控制器和ADC芯片的数字接口时序规范。 图3. SPI数据时钟时序图示例。 如果微控制器SPI和ADC串行接口具有标准SPI时序模式,那么用户设计PCB布线和开发驱动器固件不成问题。 但是,有些新型ADC的串行接口端口不是典型的SPI时序模式。MCU或DSP似乎不可能通过AD7768串行端口(一种非标准时序SPI端口)读取数据,如图4所示。 需要解决的问题:
当软件处于中断模式时,DCLK运行速率可以高达4 MHz,实现8 kSPS的 ODR。软件应进入中断处理程序,在一个半DCLK周期(375 ns)内启动SPI。为使软件更轻松地进入中断例程,MCU可以在DCLK上升沿读取数据,从而提供额外的半个DCLK周期时间。但是, t5 DCLK上升到DOUTx无效最小值为–3 ns(IOVDD = 1.8 V时为–4 ns),因此DOUTx上的传播延迟(>|t5| + MCU 保持时间) 应通过PCB布线或缓冲增加。 https://mp.weixin.qq.com/s/gX1yWEh8r6A9x2Pz9yiZKg |
|
来自: 阿明哥哥资料区 > 《37.电子工程.芯片.电路板》