![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
01前言 某客户开发一款高精度工业测量仪器,打算使用 STM32H7+外置高精度 ADC 采样的分离方案来实现。客户选取了一款所属行业内比较通用的 ADC 采样芯片。在读取该 ADC 芯片手册后,客户发现该款 ADC 采样芯片使用 MCU 标准 SPI 与之通信存在问题,手册里面也推荐使用 DSP/FPGA 的来实现,客户一下就犯难了。为了降低成本和开发周期,客户想使用 MCU 来替代 DSP/FPGA 与 ADC 采样芯片的高速通信。 8 r& R' F4 [. A; m * f2 P! u- w6 S. k7 v7 p9 ~; K- u 02现场调研与问题分析 ) _: | k1 D- a6 f2 h4 b' X 根据客户提供的信号采集板上使用的 ADC 数据手册及现场反馈: 1.该 ADC 转换芯片 DataSheet 提供的通信接口参考设计如下: ![]() $ x* z& Q1 u# `8 |5 ~ 2. 该 ADC 采样芯片工作于 Master 模式,DSP/FPGA 工作于 Slave 模式,其通信时序如下 图所示。 在 DRDY 信号的下降沿通过 DOUT0~DOUT7 引脚将数据输出到 DSP/FPGA。客户使用 STM32H7 的 SPI Slave 模式与该 IC 进行通信,采用 Software NSS 工作模式来接收 Master 的数据。 6 S* |) s' }$ B- m9 P9 ? ![]() 在连续采样模式下(Master 不间断采样),STM32H7 接收数据正常,其通信时序如下图所示。$ G5 e! N7 [2 P- I5 D1 f- {4 p ' {$ m* C! P M% F8 u; U, u0 T: P ![]() 但是,当 Master 停止采样时,DCLK 仍然会一直工作发出工作时钟。此时,STM32H7 的 SPI 做 Slave 在 Stop 期间仍然会收到数据(无效干扰数据)。此数据会造成 Slave 端接收数据失序,如下图所示。 ![]() 9 D( C6 K# g$ O& n! E4 z x 03问题分析与解决5 n5 L' C9 R1 n3 g: f 显然使用标准 SPI 与该芯片进行通信是行不通的,再次聚焦到客户 DRDY 信号并未使用和充分利用,能否利用 DRDY 信号来滤除 Stop 期间的干扰信号呢? # B# {" g# I8 X4 ` 笔者也再次查阅 RM 后发现 STM32H7 的 SPI NSS 脉冲模式(RM 中称为 TI 模式)。在本文中统称为 NSS 脉冲模式,STM32H7 的 NSS 脉冲模式其核心要点如下: 1. 通过设置 SPI_CFG2 寄存器的 SP[2:0]位来使能 SPI 工作在 NSS 脉冲模式,当 SPI 工作于 脉冲模式时,SCK 和 SS 引脚的信号极性、相位、字节序是固定的,不需要配置 CPOL, CPHA, LSBFRST, SSOM, SSOE, SSIOP 和 SSM 相关寄存器位。 2. SPI NSS 脉冲模式通信时序如下图,与标准 SPI 通信相比差异如下: 7 B% g. o- X C, M4 J% ? 启动数据传输前,NSS 会被拉高并维持一个时钟周期(NSS 脉冲)。+ N% S: K4 _4 x! i e! ` 数据帧的传输过程起止于 2 个 NSS 脉冲之间(前一帧 LSB 开始拉高 SS,前一帧 LSB 结束后 拉低 NSS 开始下一帧传输)。 在时钟 SCK 的上升沿开始发送数据,在时钟 SCK 的下降沿进行采样和接收。' B9 m9 T7 P) Q6 y 所以,STM32H7 的 SPI 的 NSS 脉冲模式时序刚好与该 ADC 芯片是匹配的。$ z. M: W( u0 [7 H; I ![]() 4 p( |$ p( `" l8 V: X; o3 t; k 那么我们将客户的接法进行改进,并配置 STM32H7 的 SPI 工作于 NSS 脉冲模式,经过客户反复验证工作正常。 ![]() 1 q8 l; P8 ?7 s) L1 @5 V8 ] 9 j a0 Y1 y& }1 o0 W 转载自: STM32 如有侵权请联系删除4 G' l! [) K' t% s% O. i2 \ |
【NUCLEO-H533RE评测】4、移植TouchGFX
【NUCLEO-H533RE评测】3 SPI驱动st7735
基于STM32H5 PB14输出波形异常分析经验分享
【NUCLEO-H533RE评测】coremark 跑分
【NUCLEO-H533RE评测】2、低功耗模式电流测量
【NUCLEO-H533RE评测】-01-开箱及资料准备
【NUCLEO-H533RE评测】1、i3c与X-NUCLEO-IKS4A1A亲密接触
行业应用篇 | AI 浪潮带火光通信,STM32H5 助力高速光模块应用
线下培训 与ST专家面对面 | STM32H7R/S系列高性能微控制器-拥有MPU般高性能与安全性的MCU
基于STM32H563ZI官方评估版使用经验分享