"这篇应用笔记主要讨论了在STM32H7微控制器上使用SPI接口与一个特定的ADC采样芯片进行通信的问题。在标准SPI模式下,由于ADC芯片的特殊通信时序,当主设备停止采样时,从设备STM32H7会接收到无效的数据,导致数据混乱。为了解决这个问题,文章提出了利用SPI的NSS脉冲模式(TI模式)来过滤干扰信号,并充分利用ADC的DRDY信号。通过启用SPI_CFG2寄存器的SP[2:0]位,可以使得STM32H7进入NSS脉冲模式,从而改善通信效率和数据准确性。" 在这款高精度工业测量仪器的开发过程中,客户面临的一个关键挑战是如何用STM32H7微控制器替代更昂贵的DSP或FPGA,与一个推荐使用高速通信的ADC芯片进行有效连接。初始尝试使用MCU的SPI从设备模式遇到了问题,因为在连续采样模式下,当主设备停止采样时,DCLK时钟持续工作,导致STM32H7接收到无效数据,破坏了数据序列。 为了解决这个问题,应用笔记深入探讨了ADC芯片的通信时序,并注意到DRDY(数据准备好)信号未被充分利用。通过研究STM32H7的参考手册,作者发现了SPI的NSS脉冲模式,也称为TI模式。在这一模式下,SPI的配置简化,SCK和SS引脚的信号特性固定,不再需要配置CPOL和CPHA参数。启用这个模式,可以在DRDY信号的下降沿触发数据传输,有效地避免了在主设备停止采样时接收到的无效数据。 启用NSS脉冲模式的过程包括设置SPI_CFG2寄存器的相关位,确保在DRDY信号的下降沿,SPI从设备仅在必要的时候开始接收数据,从而提高通信的同步性和准确性。这一方法不仅解决了通信时序不匹配的问题,还允许客户继续使用STM32H7,降低了系统成本和开发复杂性。 这篇应用笔记提供了一个巧妙的解决方案,通过巧妙地利用SPI的非标准功能和ADC的DRDY信号,成功地解决了在MCU与特定ADC之间进行高速通信的难题,为其他面临类似挑战的开发者提供了有价值的参考。
![](https://csdnimg.cn/release/download_crawler_static/89139845/bg1.jpg)
下载后可阅读完整内容,剩余4页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/5671098e354d4349a885dbe6bdb22d5d_u014319604.jpg!1)
- 粉丝: 1667
- 资源: 157
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)