基于波形分析的串行通信波特率识.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于波形分析的串行通信波特率识

精品论文 参考文献 基于波形分析的串行通信波特率识 天津市三特电子有限公司 王现国   摘要:串口通信是很多单片机系统中不可或缺的功能,在通讯中,如何实现通信双方波特率的匹配极为重要。文中提出了一种由从机自动适应主机波特率的新方法,此法方便实用,握手时间快关键词:串口;波特率;自适应在控制系统中,串口通讯是使用最为广泛的通讯方式,用串口进行数据通讯时,都需要配置串口的波特率和数据格式。在很多系统中,为了适应不同速率的数据通讯,可以设置多种波特率。   如何在一方改变波特率后,另一端能自动与之进行波特率匹配,就成为一种需求,本论文从串口通讯的原理出发,分析串口通讯波特率自适应的实现思路,并通过实验验证了实际效果。   一、常规波特率侦测实现方式1、利用单片机上的波特率发生器和串口接收电路这种工作方式下,发送端和接收端设定的波特率要一致,才能正确通讯,不管是发送端还是接收摘,都要占用单片机的一个定时器资源。如果波特率设置有偏差,通讯时会出现误码,造成适应波特率的范围变窄。且波特率数值为固定的几种。   2、利用引导字符在这种方式中,通讯开始的时候,发送端发送一个或几个字符作为引导字符,通过测量引导字符的接收情况,判断当前波特率,也可尝试在不同的波特率下接收的引导字符,当接收字符与发送的引导字符相同时,判定当前的波特率与发送的波特率相同,就可以用当前的波特率建立通讯。   这种方式下,需要发送方和接收方约定好引导字符,且为防止发生误判,对引导字符有特殊的要求,没有普适性。不能适应未知的系统。   二、基于波形分析的识别方式原理本论文提出的波特率识别方式,原理如下:接收端对发送端发送信号的高电平和低电平脉冲持续时间进行测量,依次存储波形脉冲的宽度值,当超时未侦测到通讯线上的电平变化,判定为一帧数据接收结束,开始检测这个过程中的最小方波周期,并以这个最小方波周期为基准,对波形进行压缩处理。然后根据收到的波形与RS232 通讯时哪种波特率数据的特点相符,来判断发送端的波特率。   和前面的两种方式比较,这种侦测方式,具有自动适应发送波特率,不占用硬件资源,接口与原单片机兼容。可适用于非标准波特率等优点。   三、实验测试与分析1、基本电路本控制电路用STC5410AD 单片机作为核心控制器,这种单片机是由宏晶公司生产的单时钟/机器周期(1T)的单片机。   其指令代码完全兼容传统8051 单片机,速度快8-12 倍。片上集成512 字节的RAM。两个与传统8051 兼容的定时器/计数器,16 位定时器T0 和T1。   在测试电路中,上位机的RS232 电平,通过MAX232 芯片,转换成TTL 电平,接入到STC12C5410AD 单片机的RXD 和TXD 口上。   在本系统中,单片机工作频率设定为12MHz。工作于1T模式下。   2、理论与实际波形在单片机的串口通讯系统常用的“n,8,1”通讯格式中,每字节数据由一位高电平开始,以一位低电平结束,中间为8位数据位。 UART 通讯中,总是先传输数据低位(LSB),再传输数据高位(MSB),无通讯信号时,单片机的RXD 口维持高电平这样, 对于每一字节的数据, 数据位可以统一为0XXXXXXXX1 这样的格式。如数据01H 的数据位为:0100000001,数据FFH 的数据位为:01111111111。这样,每字节数据都可以看作是由不同宽度的脉冲信号组合而成。我们接收到波形数据时,就可以把相应的脉冲转换为二进制数据,再把二进制数据根据通讯格式,转换为8 位的16 进制数据,就得到了发送的通讯数据。   3、程序设计根据波形和数据的对应,程序流程设计如下:单片机程序利用计时器测量波形脉冲电平的宽度。在主程序中循环监测脉冲的上升/下降沿,捕获到上升/下降沿后,开始计时,捕获到下一个上升/下降沿后,计时结束,存储定时器的值,这样,一个脉冲的宽度测量完毕。然后开始下一个脉冲的测量。当测量到的脉冲宽度超过最小波特率的9 位数据的宽度时,判定此次的数据传输完毕,总线回到了空闲状态,进入波形处理程序,处理接收到的波形数据。   在接收到的数据中,首先寻找最小宽度的脉冲,根据最小脉冲的宽度,查表得到相应的波特率,然后用此最小脉冲宽度做为基本单位,其它脉冲是紧小脉冲宽度的几倍,就转换为几个1 或0。这样就得到了波形对应的二值化数据,再根据串口通讯的格式,把这些二值化数据转化为相应的字节数据。这样,就既得到了通讯的波特率,也得到了传输的数据内容。   得到波形对应的数据后,就可以对数据进行处理,处理完毕后,再进入下一帧的测量,开始进行下一次通讯的过程。   波形脉冲压缩的处理流程:首先判断各个字符在单片机中记录的时间在波形处理程序中,寻找最小宽度的脉冲值,做为单位脉冲宽度,其它宽度的脉冲,都是单位脉

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档