新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机串行通信波特率的自适应实现方法

单片机串行通信波特率的自适应实现方法

作者:时间:2012-02-13来源:网络收藏

异步中,目前率自动检测并的设计思想有多种,可是他们或者需要额外的硬件支持,或者繁杂且软件开销大。文章介绍了一种简单可靠的用软件率自动,并给出了仿真调试电路原理图,给出了同步程序的详细框图。该提高了率解调的便捷性和兼容性。

本文引用地址:http://www.eepw.com.cn/article/172120.htm

1 仿真电路

SST89C54/58是MCS-51系列的派生产品,他们在指令系统、硬件结构和片内资源上与标准8052完全兼容。实际上 SST公司的SST89C54/58是一款使用非常方便51系列单片机,如不考虑其看门狗定时器和内部Flash程序存储器,可以将其看成是一个可在线编程的标准8052单片机。图1为实现仿真调试硬件原理图,这是一个通用的接口电路INT0脚用来启动从机同步。同步建立后的数据传送过程中外部中断0被禁止,而一批数据传送完毕后进入待机监控状态时则开 放外中断。

23.jpg

2 波特率自适应实现原理

2.1 波特率

对于8052单片机,串行通信用定时器1或定时器2作波特率发生器,波特率取决于他们的溢出率。当串行口在工作方式1,3,用定时器1作波特率发生器时, 则波特率计算如下:

24.jpg

当定时器1工作方式2时,n=8,X为定时器1初值。

当定时器1工作方式1时,n=16,X为定时器1初值。

若用定时器2作波特率发生器时,则波特率计算公式如下:

25.jpg

其中:X为定时器2的初值。

2.2 波特率自适应原理

主机端要求和从机建立通信时,先发送同步字符80H,从机根据此同步字符来计算当前的通信速率,并设置此值为本从机的波特率,从而完成通信速率的自适应。以串行通信方式1为例,他是一个10位的数据格式,如图2所示。

26.jpg

所以,在发送同步字符80H时,在数据线上他所呈现的电平状态如图3所示。

从机通过检测本机RXD引脚的信号,并利用定时器对RXD信号的低电平进行宽度测量,其负脉宽时间TDOWN刚好是8位数据的宽度,这有利于波特率发生器初值的计算。采用定时器0方式1并置初值0对TDOWN进行定时,可得计数值TH0,TL0,用XT来表示,设从机晶振为ff,

27.jpg


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭