能否用MCU拜访非规范SPI接口?
日期:2023-12-25 13:52:47   来源:数据传输类

  一些新式ADC具有SPI,但有些ADC具有非规范的3线线SPI作为从机,由于它们期望完成更快的吞吐速率。例如,O线,在串行形式下可供给更快的吞吐速率。AD7768, AD7779和AD7134系列有多条SDO线,用作SPI主机。用户在规划微控制器SPI以装备ADC和读取代码时往往会遇到困难。

  SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机能够一起传输数据。图2显现了典型的4线MCU SPI接口衔接。

  要开端SPI通讯,控制器有必要发送时钟信号,并经过使能CS信号(通常是低电平有用信号)来挑选ADC。SPI是全双工接口,因而控制器和ADC能够别离经过MOSI/DIN和MISO/DOUT线一起输出数据。控制器SPI接口答运用户灵敏挑选时钟的上升沿或下降沿来采样和/或移位数据。为了在主机和从机之间进行牢靠的通讯,用户一定要恪守微控制器和ADC芯片的数字接口时序规范。

  假如微控制器SPI和ADC串行接口具有规范SPI时序形式,那么用户规划PCB布线和开发驱动器固件不成问题。可是,有些新式ADC的串行接口端口不是典型的SPI时序形式。MCU或DSP好像不可能经过AD7768串行端口(一种非规范时序SPI端口)读取数据,如图4所示。

  本文将介绍操作规范微控制器SPI以便与具有非规范SPI端口的ADC接口的办法。

  解决方案1:MCU作为SPI从机,经过一条DOUT线与作为SPI主机的ADC接口。

  解决方案2:MCU作为SPI从机,经过两条DOUT线与作为SPI主机的ADC接口。

  解决方案3:MCU作为SPI从机,经过DMA与作为SPI主机的ADC接口。

  解决方案4:MCU作为SPI主机和SPI从机,经过两条DOUT线读取数据。

  STM32Fxxx系列微控制器大规模的运用在许多不同的运用中。该MCU有多个SPI端口,能够正常的运用典型的SPI时序形式将其装备为SPI主机或从机。下文中介绍的办法也可运用于其他具有8位、16位或32位帧的微控制器。

  AD7768/AD7768-4别离为8通道和4通道同步采样∑-∆型ADC,每通道均有∑-∆型调制器和数字滤波器,支撑沟通和直流信号的同步采样。这一些器材在110.8kHz的最大输入带宽下完成了108dB动态规模,具有±2ppm INL、±50µV偏置差错和±30ppm增益差错的典型功能。AD7768/AD7768-4用户可在输入带宽、输出数据速率和功耗之间进行权衡,并挑选三种功耗形式之一以优化噪声方针和功耗。AD7768/AD7768-4的灵敏性使其 成为合适低功耗直流和高功能沟通丈量模块的可重复运用渠道。惋惜的是,AD7768的串行接口不是典型SPI时序形式,而且AD7768充任串行接口主机。一般来说,用户一定要运用FPGA/CPLD作为其控制器。例如,运用32F429IDISCOVERY和AD7768评价板。变通SPI线所示。在这种设置下,AD7768的一切八通道数据仅经过DOUT0输出。

  将STM32F429的一个SPI端口(如SPI4)装备为从机,以DCLK速率接纳MOSI上的数据位。

  将AD7768DRDY 衔接到STM32F429外部中止输入引脚EXTI0和NSS (SPI CS) 引脚。DRDY 的上升沿将触发EXTI0处理例程,以使SPI从机能够在DRDY 变为低电平之后的第一个DCLK下降沿开端接纳数据位。时序规划在这里至关重要。

  接纳到通道0至通道7的一切数据后,应禁用SPI以避免读取额定的无效数据,由于 DRDY 会使SPI从机 CS 变为低电平,而且DCLK坚持切换。

  当软件处于中止形式时,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布线或缓冲增加。

  在第一种解决方案中,仅运用DOUT0来输出一切8通道数据。因而,数据读取将ADC吞吐速率限制为8 kSPS。如图1所示,在DOUT0上输出通道0至通道3,在DOUT1上输出通道4至通道7,能够大大削减数据传输时刻。串行线所示。经过这一种改善,在DCLK为4 MHz时,ODR能够轻松到达16 kSPS。

  固件能够不运用中止形式,而运用轮询形式,以削减从DRDY上升沿触发到使能SPI接纳数据的时刻推迟。这样做才能够在DCLK为8MHz时完成32kSPS的ODR。

  直接存储器拜访(DMA)用于在外设与存储器之间以及存储器与存储器之间供给高速数据传输。DMA能够敏捷移动数据而不需要任何MCU操作,这样做才能够腾出MCU资源用于履行其他操作。下面是MCU SPI用作从机经过DMA接纳数据的规划说明。

  高吞吐量或多通道精细ADC为SPI端口供给两条、四条乃至八条SDO线,以在串行形式下更快地读取代码。关于具有两个或更多个SPI端口的微控制器,这些SPI端口能够一起运转以加速代码的读取。

  AD7606B是一款16位同步采样模数转化数据收集体系(DAS),具有八个通道,每个通道均包括模仿输入箝位维护、可编程增益放大器(PGA)、低通滤波器和16位逐次迫临寄存器(SAR)型ADC。

  AD7606B还内置灵敏的数字滤波器、低漂移2.5V精细基准电压源和基准电压缓冲器,可驱动ADC及灵敏的并行和串行接口。AD7606B选用5V单电源供电,支撑±10V、±5V和±2.5V真双极性输入规模,一切通道均能以800 kSPS的吞吐速率采样。

  文章出处:【微信大众号:analog_devices】欢迎增加重视!文章转载请注明出处。

  文章出处:【微信号:analog_devices,微信大众号:analog_devices】欢迎增加重视!文章转载请注明出处。

  )、DSP和FPGA在内的控制器进行通讯。控制器写入或读取ADC内部寄存器并读取

  好文章当然要共享啦~假如您喜爱这篇文章,请联络后台增加白名单,欢迎转载哟~问题

  ADC的办法 /

  )、DSP和FPGA在内的控制器进行通讯。控制器写入或读取ADC内部寄存器并读取

  ADC的办法! /

  好文章当然要共享啦~假如您喜爱这篇文章,请联络后台增加白名单,欢迎转载哟~问题

  ADC的办法 /

  ADC的办法! /

  )、DSP和FPGA在内的控制器进行通讯。控制器写入或读取ADC内部寄存器并读取

  ADC的办法 /

  )、DSP和FPGA在内的控制器进行通讯。控制器写入或读取ADC内部寄存器并读取

  ?当然,办法交给你~ /

  艾为第3代高灵敏度可编程电容触控芯片AW933xx系列,完成牢靠人体挨近检测和精准接触手势辨认