欢迎进入PCB抄板科技有限公司网站
全国服务热线
020-66**9888
芯片解密
STC单片机波特率自适应方法
时间: 2021-09-19 19:18 浏览次数:
串口RS 232是工业限定、仪器仪表、打算机表设常用的一种通讯合同。串口通讯的,现实行使中,一台兴办往往要与多种其他兴办联络,为适合百般差别兴办的通讯速率,就条件该兴办能

  串口RS 232是工业限定、仪器仪表、打算机表设常用的一种通讯合同。串口通讯的,现实行使中,一台兴办往往要与多种其他兴办联络,为适合百般差别兴办的通讯速率,就条件该兴办能适合差此表,杀青这种条件的常见举措有两种,一是扩展波特率采选开闭,二是打算能主动适合百般常见通讯速率的串口。第一种举措扩展了硬件,同时针对差别对象必要从新树立开闭,正在不清晰对方波特率的情状下还无法利用。第二种举措采用软硬件连接,通过检测、打算,主动采选确切的波特率,现实利用极其利便。

  (1)合同商定通讯开端时主机固定发送1 个字符,从机以差此表波特率摸索接管,当接管到的数据与商定相通时,确定该波特率即是确切的通讯波特率。

  (2)合同商定通讯开端时主机发送1 串字符,从机以某固定波特率接管,然后通过软件剖释接管到的数据,打算出接管数据与发送数据之间的倍数干系,从而确定确切的波特率。

  (3)合同商定通讯开端时主机固定发送1 个字符,从机用单片机准时器检测RXD 上的信号宽度,通过打算来确定主机的波特率。

  以上3 种举措,第一种因为必要多次摸索,功效很低;第二种打算量过大,不适合单片机执掌;第三种式样单片机有现成的准时器资源,打算也相对轻易,于是优选这种。

  要丈量脉冲宽度,条件是单片机的时钟信号务必安祥。目前许多STC单片机可选表接晶振时钟或片内RC振荡时钟,片内RC振荡时钟省去了表部的晶振等元件,本钱低重、电途板的体积也可能缩幼,这对本钱及体积敏锐的行使很具上风。但选用片内RC振荡时,频率会有±15%驾御的差错,频率的安祥性也比表接晶振要差,按表面打算值树立波特率参数,无法确保牢靠的通讯,但按以上自适合波特率串口的第三种举措,每次通讯前实测、打算、确定波特率常数,就可能杀青安祥牢靠的通讯,如此充裕愚弄了STC单片机的上风。

  程序51 芯片因为准时器最高分离率惟有1 μs,关于较高的通讯波特率来说,丈量精度不敷,导致打算值禁止,无法寻常任务。STC系列单片机是正在程序51单片机根本上生长起来的,它扩展了许多适用的接口电途,扩张了时钟的频率鸿沟,打算出了1T 时钟的芯片,可能通过软件对编造时钟分频,并供应了片内RC振荡时钟,正在目前51芯片的墟市据有极大的份额。STC系列单片机采用片内RC振荡时钟、自适合波特率串口通讯技巧,可能通常地行使于漫衍式限定、智能仪表、通讯等行业。

  STC 单片机采用异步通讯,UART 任务于形式1(8位UART,波特率可变),用准时计数器2做波特率爆发器,任务于形式2(8位主动重装形式),主从机按图1式样相接,从机自适合主机的波特率。

  自适合进程由主机发送联络字符开端。为了使从机获取最大的丈量脉宽,普及丈量精度,由主机发送二进造“0”.如图2所示,二进造“0”由1位肇端位,8位数据位(低位正在先)及1位阻滞位组成,个中1位肇端位和8位数据位全为0,于是低电平的宽度为9 b.

  从机盘问RXD引脚的电平,检测到低电平后就启动准时器0开端计时,再检测到高电平就阻滞准时器0计时,依据准时器0的准时值就可能打算出主机的波特率。

  当时钟分频寄存器CLK_DIV=0(不分频),卓殊功用寄存器AUXR=0xC0(T0 用1T 时钟),则:

  而STC51 系列单片机正在UART 形式1,时钟形式为1T 时,其波特率公式为:

  从机UART正在形式1下,将式(4)或式(6)打算结果动作准时器1重装值,设定通讯参数,通过串口回送应答信号给主机。主机如确切接管到从机回送的信号,就证实从机已杀青波特率自适合,可能开端寻常通讯了。

Copyright © PCB抄板科技有限公司 版权所有 粤ICP备14031015号-1
全国服务电话:020-66**9888   传真:020-66**9888
公司地址:广东省广州市番禺经济开发区58号