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

发布者:创意探险最新更新时间:2014-02-08 来源: 21ic关键字:单片机  串行通信  波特率  自适应方法 手机看文章 扫描二维码
随时随地手机看文章

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

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,[page]

27.jpg


比较式(3)和式(4),主机和从机波特率应设置相等,则可得从机波特率发生器T1的装入初值为:

28.jpg

由式(5)可看出,从机波特率发生器装入初值与晶振无关,且当N=8时分母为28,此时后一项做除法运算最为方便,分子右移8位即可,在程序运算中只需丢弃分子的最后一个字节即可。

若使用定时器2作波特率发生器,则易得其初值应为:

29.jpg

3 波特率自适应法在IAP编程握手同步中的应用

SST89C54/58单片机可以方便地实现IAP(InApplication Programming),通过IAP功能可以在应用板上直接下载程序,不需任何编程器就可以完成单片机系统的开发及单片机教学实验。作者基于IAP模块设计了一款专用的51单片机开发学习系统,其成本不超过50元,为标准51,52系列单片机的开发与学习提供了一种便捷而廉价的手段和方法。

使用IAP功能可以对产品的软件进行在线升级,而不需要其他硬件。可以这样说,单片机系统只要有串行口,利用IAP功能通过串行口便可将PC机内的产品升级软件下载到产品中去,而实现产品软件升级换代。甚至在远程通过Modem对产品进行软件升级,这也将是以后各种电子产品发展的必然趋势。而在线升级离不开通信速率的自动适应。

30.jpg

同步握手中断处理程序流程图如图4所示。从机在待机监控状态时,开放外部中断 0,当主机访问从机时,先发送同步字节80H,再送FEH(也可为55H, AAH等),则当80H发出时从机RXD脚出现负跳变,触发外部中断0,启动定时器0对同步脉冲进行测量,同时关闭外中断0,并初始化串行口建立串行口数据接收,等待下一同步字节FEH,若同步成功则发应答信号,否则进入监控程序继续等待同步。所有数据收发完毕后再开放外中断0,进入监控待机状态。

4 结 语

在自制的SST89C5X系列单片机IAP仿真系统上对文中提出的方法反复进行了测试,在从机主振为12 MHz条件下,从300~38 400 b/s范围的各种常用波特率从机均很好地适应。当波特率低于120 b/s时,定时器0会产生溢出,若主机可能用到此波特率,可以用T0中断计数对计数值进行修正。若采用查询RXD引脚电平的方式,则图1可进一步简化,即可以不用外中断0,这更能节约硬件资源。文中提出的方法可以很

方便地应用于多机分布式控制系统中,也可以应用于各种需要变波特率的场合。

关键字:单片机  串行通信  波特率  自适应方法 引用地址:单片机串行通信波特率的自适应方法

上一篇:单片机电源可靠性设计
下一篇:SPCE061A单片机在智能报警系统中的设计

推荐阅读最新更新时间:2024-03-16 13:34

瑞萨面向电机控制应用推出性能卓越的RA8 MCU
基于Arm® Cortex®-M85处理器的RA8T1 MCU产品群, 为工业、楼宇和家庭自动化应用提供低功耗操作和专用模拟功能 2024 年 1 月 30 日,中国北京讯 - 全球半导体解决方案供应商瑞萨电子今日宣布推出基于Arm® Cortex®-M85处理器的RA8T1微控制器(MCU)产品群,可满足工业、楼宇自动化,以及智能家居等应用中常见的电机、电源和其它产品的实时控制要求。 RA8T1产品群是瑞萨RA8系列的第三款产品。所有RA8系列产品均具备6.39 CoreMark/MHz(注)的突破性性能,并采用高性能Arm Cortex-M85处理器和Arm的Helium™技术,能够在数字信号处理器(DSP)和机器学习
[工业控制]
瑞萨面向电机控制应用推出性能卓越的RA8 <font color='red'>MCU</font>
MSP430单片机输入与输出
MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11的宽度是3位以外,其他的端口全是8为宽度,为了方便使用,分别命名为PA,PB,PC,……,分别对应P1,P2P3…… 值得注意的是MSP430F5438单片机的P1和P2端口还具有申请中断的功能,而其他的端口则无此功能 每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口都有自己的输入输出寄存器,MSP430F5438海域中断管理寄存器,他们分别决定端口的中断使能,中断有效边沿,和中断标志位 示例代码:
[单片机]
MSP430<font color='red'>单片机</font>输入与输出
基于AT89C51单片机的用电故障控制系统的实现
  1 摘要   对于电网短路和线路故障检测保护已有不少研究。市面上的电器短路、过载、超压的保护器功能单一。容易损坏,没用提示功能,不够人性化。但随人们生活水平的不断提高。用电设备也不断增加,产生了肓目用电现象。这给人们造成极大的安全隐患。其中危害性最大的用电故障有三种:输入电压过高、室内线路严重过载、用电器短路。本文设计的单片机AT89C5l用电故障控制系统的目的就是为了防止这三种故障带来的危害。   2 硬件组成   单片机用电故障控制系统的硬件分别是:由降压变压器、2个相瓦串联的感应线圈、升压变JK器、电磁开关、5V稳压电源、超压过流信号获取比较电路、可编程接门扩展芯片8255、HD44780字符液晶显示模块、ISD2
[单片机]
基于AT89C51<font color='red'>单片机</font>的用电故障控制系统的实现
MCU来控制蓝牙GPS模块
GPS定位产品正在渐渐的深入到大众消费中来,随着电子地图的日趋完善,GPS系统将越来越发挥更加实际的指引作用。蓝牙GPS模块实现以无线蓝牙接口来发送GPS模块的定位数据,它挣脱了导线的束缚,从而可以很容易地在各种支持蓝牙的便携设备上实现导航定位功能。 蓝牙GPS模块也是一个小小的便携设备,需要实现电源的管理、GPS数据的处理、蓝牙状态的判断以及点亮指示灯等功能。这都要求使用一个MCU来协调控制整机的工作。 Freescale半导体的HCS08系列8位高性能MCU:MC9S08QG4即是个不错的选择。适用于本方案的主要参数为: 低功耗,简单的BDM调试口 16脚封装,内嵌10MHz振荡器(外部晶振支持20MHz),最多可用1
[单片机]
用<font color='red'>MCU</font>来控制蓝牙GPS模块
微控制器时钟 — 选择晶振、谐振槽路、RC振荡器还是硅振荡器?
   概述   微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;基于相移电路的时钟源,如:RC (电阻、电容)振荡器。硅振荡器通常是完全集成的RC振荡器,为了提高稳定性,包含有时钟源、匹配电阻和电容、温度补偿等。图1给出了两种时钟源。图1给出了两个分立的振荡器电路,其中图1a为皮尔斯振荡器配置,用于机械式谐振器件,如晶振和陶瓷谐振槽路。图1b为简单的RC反馈振荡器。     ?图1. 简单时钟源:(a) 皮尔斯振荡器 (b) RC反馈振荡器   机械式谐振器与RC振荡器的主要区别   基于晶振与陶瓷谐振槽路(机械式)的振荡器通常能提供非常高的初始精度和较低的温度系数。相对而言,RC振荡器能够快
[应用]
ROM结合了存储孤岛加密技术 泰矽微MCU芯片安全保护方案
目前,业界普遍采用带有动态口令(OTP)的只读内存镜像(ROM)来开发一些对于安全要求比较高的启动升级代码逻辑。 该方案会在流片时一次性烧写进去,能够避免用户对MCU的启动升级逻辑进行改动,从而从源头上隐藏一些安全校验或者升级交互的逻辑实现,起到保护MCU芯片程序不被恶意篡改升级的作用。 但是采用这种方法制备的MCU芯片,在整个生命周期中只能被烧写一次。而在实际的芯片开发过程中,开发人员几乎不可能一次性将芯片中所有的需求都考虑周全,往往随着芯片的量产应用,还需要逐步的升级。 当原有的烧写好的代码逻辑已经被固化时,就无法对MCU芯片内容进行修改以及进一步升级,并且固化的代码逻辑已经被固定,也有泄密的风险。为此,泰矽微在2020年6月
[手机便携]
ROM结合了存储孤岛加密技术 泰矽微<font color='red'>MCU</font>芯片安全保护方案
单片机调EEPROM存储器24C256
设置MSP430单片机为主设备,24C256为从设备。IIC总线由SDA和SCL两条线组成,每根线都联结4.7K的上拉电阻。 主设备向24C56写:主设备发送start信号— 接着发送8位Device address(0xa0写)— 24C256比较受到的地址,发送应答信号ack- 主设备受到ACK后,先发送First word address(高8位)— 24C256受到后返回ack应答— 主设备发送Second word address(低8位)— 24C256受到后返回ack应答- 主设备发送数据data— 256返回ack,从设备每受到一个数据就返回一个ack,主设备受到ack后就接着发送下一个data,直到所有数据发送
[单片机]
Microchip第60亿颗PIC单片机出货
全球领先的单片机和模拟半导体供应商—— Microchip Technology Inc. 宣布已把其第 60 亿颗 PIC 单片机(型号为 PIC 12F 635-I/P )交付给墨西哥白色家电制造商 Mabe 。这距离 2006 年 11 月 Microchip 第 50 亿颗单片机出货的时间仅相隔短短的一年。 Microchip 总裁兼首席执行官 Steve Sanghi 表示:“第 60 亿颗 PIC 单片机的出货是一项让我们引以为豪的成就,而更令我们欣喜的是能够把这颗单片机交付给墨西哥的客户。这说明 Microchip 多元化的嵌入式控制产品
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved