PCB抄板技术网


首页 -- PCB抄板-- PCB技术-- 芯片解密-- 新闻技术 --关于我们
 
PCB抄板技术网 >> 芯片解密 >> 当前位置

串口断帧检测

问题:
在某些串行工业总线协议中,如 Profibus,每帧发送的数据长度不定,导致接收方在接收数据时无法 确定帧的结束点。
调研:
STM32 系列产品的定时器具有 slave reset 模式。利用该功能可以捕获总线上的设定长度的空闲位。
结论:
本例程在 STM3220G-EVAL 上实现了 USART 空闲帧的检测,空闲帧的长度可配置。在 Profibus 协议中, 空闲帧长度为 33 位。检测到空闲帧后,接收方认为该帧结束,停止 DMA 接收数据。处理:
该例程可在 STM3220G-EVAL 上运行。使用 USART6 的 DMA 方式收发数据,使用 TIM9 的 Slave Reset 模式: TIM9_CH1 用于捕获串口的接收数据波形,并在下降沿将 TIM9 的计数器清零; TIM9_CH2 用于输出比较,监测是否收到连续 33 位的高电平,即空闲帧;PG8 用于输出空闲帧信号, 每次检测到空闲帧时信号点平翻转。
建议:
本例程的缺陷:如果帧中最后的一个数据为 0xFF 时,将会被做为空闲帧的一部分处理。但是在 Profibus 协议中,最后一个数据可自行定义。
在本例程的基础上,也可实现 SPI 等其它串行协议的断帧处理。
返回顶部


2013-2015 PCB抄板技术网 All Rights Reserved.
如有任何问题和建议请联系:498187676@qq.com

深圳市协同电子有限公司 版权所有
电话:0755-88820678 QQ: 498187676 地址:深圳市龙岗区南湾街道平吉大道1号建昇大厦B栋1618(李朗软件园对面)
手机:13713820066 联系人:周工

 

 


站点地图

粤ICP备12084176号-11