电子无忧网资讯手机WAP浏览支持
 | 网站首页 | 技术文栏 | 软件下载 | 无忧商城 | 无忧论坛 | 图片中心 | 雁过留声 | 新闻 | 购物指南 | 
您现在的位置: 电子无忧网 >> 技术文栏 >> EDA技术 >> 文章正文

  没有公告

串口通讯误码分析及波特率自适应技术(非典)(ZT)            【字体:
串口通讯误码分析及波特率自适应技术(非典)(ZT)
作者:穆玉隆    文章来源:网络    点击数:    更新时间:2006-11-5    
                                    串口通讯误码分析及波特率自适应技术(非典)

为讨论方便,只论证1位起始位+8位数据+1位停止位的误码问题
现设:发送方每位传输时间为TCK
      接收方每位传输时间为RCK
      起始位L(低电平),停止位H(高电平)
      空闲状态为X(高电平),收据位DX(D0..D7)
      通讯数据流为XXXXXLDDDDDDDDHXXXXXLDDDDDDDDHXXXX...
      采样一般采用串口通讯公认的“中部三中取二”算法
当收发双方采用事先约定固定波特率串口通讯时,由于双方系统
时钟差异和线路传输时延,将会出现以下3种问题:
1. TCK=RCK时(可以稍有偏差)
   发送数据流为XXXXXLDDDDDDDDHXXXXXLDDDDDDDDHXXXX...
   接收数据流为XXXXXLDDDDDDDDHXXXXXLDDDDDDDDHXXXX...
   故在这种情况下不会出现误码现象。
   (别拍砖!这连腹中胎儿都“知道”,不敢“卖弄是非”)
2. TCK<RCK时(发快收慢)
   由于串口采用“中部三中取二”算法,故只讨论RCK<=1.5TCK。
   A)RCK=1.5TCK(“草图”)
     发送数据流为XXXXXLD0D1D2D3D4D5D6D7HX0X1X2X3X4X5X6...
     接收数据流为XXXXXLDDDDDDDDDDDDDDDD5DDD6DDDD7HXXXX...
     故接收到的数据为111D4..D0,既高3位恒为'1'的“怪事”
   B)RCK=1.25TCK(“草图”)
     发送数据流为XXXXXLD0D1D2D3D4D5D6D7HX0X1...
     接收数据流为XXXXXLDDDDDDDDDDDDDDD6D7HXX...
     故接收到的数据为1xD4..D0,既最高位恒为'1',
     次高位不定的“怪事”
   所以,可“总结”为最高位恒为'1',加快接收速率“才是真”
3. TCK>RCK时(发慢收快)
   这种现象总会出现“群魔乱舞”的乱码,只有“天知道”。
   解决的唯一方法是加快发送速率或降低接收速率。
   
所谓的“波特率自适应技术”,就是双方为防止以上问题的出现。
发送方特意在发送数据串前,先发送1个字节的“波特率校准码”
一般为大写字母U,即55H(数据流为方波信号)。
当然也有用AAH(数据流也为方波信号)的串口通讯“奇才”。

该技术的“精华”为“在线测试方波信号的半周期”。
这样,等到10个RCK后接收数据前,就可“从容地”计算出波特率,
从而达到“波特率自动校准”的目的即波特率自适应技术。
软件实现的方法很多,“遍地都是”。
但“路边的野花你莫要采”...

如想了解具体软件实现,可到新手园地一游,那里有“源程序”
主题为:
<反汇编反出的51串口通讯“波特率自动校准技术”(无名氏作)>

HotPower已“让位”与此君,故不便发表自己实现的“魔法”...
      
每个人都有自己很多“百思不得其解”的问题,只要动脑筋,
总会有解吧?最多就是“君子报仇,十年不晚”。
不要什么问题都拿到论坛上“叫床”,“叫”多了就“难听了”。
总要多考虑“晚节不保”所造成的“影响”吧...

文章录入:穆玉隆    责任编辑:穆玉隆 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 安森美完成LSI Logic晶圆厂1…

  • 台积电推出DFM服务 提高65纳…

  • 用于数字地面广播移动电话的…

  • 优化DC/DC转换并降低临界电流…

  • 提高VCO频率的调谐变容二极管

  • 半导体材料研究与开发

  • 89系列单片机的型号编码

  • 从51初学者到电子工程师(4)

  • 从51初学者到电子工程师(5)

  • 从51初学者到电子工程师(7)

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)