您的位置 首页 应用

异步串行通信协议的规划与完成

引言 在单片机控制系统中,CPU和外部通信主要有两种方 式:并行通信和串行通信。并行通信,即数据的各位同时传 送;串行通信,即数据按位次序传送。串行通信能够节省传 输线,特别是数据位数很多和传输距

导言
     在单片机操控体系中,CPU和外部通讯主要有两种方 式:并行通讯和串行通讯。并行通讯,即数据的各位一起传 送;串行通讯,即数据按位次第传送。串行通讯能够节约传 输线,特别是数据位数许多和传输间隔较远时,这一长处更 为杰出。现在盛行的高档言语一般都支撑对串口直接操作, 常用的单片机也把串行通讯口作为一个规范接口集成在单片 机内,串行通讯接口的开发具有开发周期短、开发简略等特 点。现在异步串行通讯已广泛用于微机之间的通讯、工业控 制体系中的数据收集与操控、长途数据的传送等范畴。

1 串口通讯的基本原理
在嵌入式体系中,串口是一种重要的数据通讯接口, 其本质功用是,在CPU和串行设备间进行编码转化。当CPU 通过串行端口发送数据时,字节数据转化为串行的位串;接 收数据时,串行的位串被转化为字节数据。使用程序运用串 口进行通讯,有必要在运用之前向操作体系提出资源请求要求 (翻开串口),通讯完结后有必要开释资源(封闭串口)。
典型地,串口用于ASCII码字符的传输。通讯运用3根线完结:(1)地线;(2)发送数据线;(3)接纳数据线。串口通

图1  通讯指令格局  

图2  通讯时序
信最重要的参数是波特率、数据位、中止位和奇偶校验。关于两个相互通讯的端口,这些参数有必要一起:波特率衡量通 信速度,表明每秒钟传送的bit的个数;数据位衡量通讯中 实践数据位宽,规范值是5、7和8位。怎么设置取决于详细 需求;中止位用于表明单个包的最终一位,典型值为1,1.5 和2位,中止位不仅仅表明传输的完毕,还能供给计算机校 正时钟同步的时机;奇偶校验位是串口通讯中一种简略的检 错办法,有四种检错办法——偶、奇、高和低,也能够没有 校验位。

2 异步串行通讯协议的规划
通讯协议是通讯两边一起恪守的约好,对同步办法、 传送速度、传送进程及检纠错办法界说等问题做出一致规 定。
在 控 制 系 统 中 , 单 片 机 间 通 信 一 般 采 用 异 步 串 行 通 信,传统的异步串行通讯协议一般选用如图1所示的指令格 式,指令音讯括帧头(指令码)、 数 据 场 、 校 验 场 ;呼应音讯为ACK信号 ( A C K 取 不 同 的 值 , 例 如 : 正 确 呼应 ACK = 0x55; 错 误 响 应 A C K =0 x A A ) 。 由 于 串 口 通讯存在许多不可靠要素,例如由

表1  通讯指令
电磁搅扰形成帧字节丢掉、 传输误码, 以及因主从单片机处理繁忙而形成呼应推迟等。传统的通讯协议难以战胜由单片机处理
繁忙形成的呼应推迟现象。如图2所示,当主芯片发送[指令1]后,当超越呼应等候时间而没有得到ACK时,主芯片发送[指令2],鄙人一个呼应等候时间内将收到两次[ACK],这种

图4  呼应处理程序  

图5  全体软件规划
现象将导致主芯片做出过错判别,调用过错的程序分支,严 重影响体系的正常运转。因而,本文在通讯协议的规划中, 选用呼应音讯加权的办法,进步了通讯的可靠性,确保体系 正常运转。
本 文 设 计 的 响 应 消 息 加 权 式 通 信 协 议 , 实 现 方 式 如 下:通讯协议选用如图3所示的格局,指令音讯和呼应音讯 选用相同的帧格局,包含帧头(指令码)、数据场、校验场; 其间呼应音讯帧头 = 指令音讯帧头的加权(RPS = CMD | 0x80 或RPS = CMD | 0xC0),主控芯片通过对呼应音讯的处理, 辨认出呼应的类型。通讯协议各数据场的界说如表1所示, 本协议由nByte(n是用户自界说的恣意正整数)构成,D1[7:6]为通讯类型,D1[5:0]为指令码,D2~Dn-1为数据场,Dn为校验场。
程序处理进程如图4所示,当接纳到呼应时,呼应处理 程序对呼应音讯帧头进行0xC0位与运算,复原并判别呼应 类型;一起对帧头进行0x3F位与运算,复原出当时呼应对应 的指令音讯,然后调用相应的使用程序履行。例如,主芯

图6  硬件原理框图
片发送指令音讯,指令音讯帧头D1=0x02,从芯片正常接纳 并进行加权呼应,呼应音讯帧头D1=0x82,主芯片再通过位 与运算判别呼应类型并复原出与之相对应的指令音讯帧头
0x02。然后调用相应的程序履行,完结一次通讯周期。

3 程序规划
在规划通讯程序时充分考虑了主从单片机在通讯进程 中的不确定要素,因而通讯协议选用加权呼应式通讯协议, 战胜主从单片机处理繁忙而形成的呼应推迟;关于通讯进程 中因搅扰而导致通讯数据丢掉、传输误码等现象,能够在程 序规划时选用超时守时、计数重发等办法,确保通讯的精确 性。软件程序规划中,主控芯片选用芯片内部的串口2,通讯波特率为9600 bit /s,8 位数据,1位中止位。软件编写严厉依照异步通讯的时序进行,其呼应处理程序流程如图4。

4 体系的完成及使用
本协议的规划初衷是用于一款内嵌DTMB接纳功用的便 携式DVD产品的操作操控芯片与DTV解码芯片间的通讯服 务。该产品为商业性产品,质量是产品的生命。为确保产品 质量,进步通讯的可靠性,在规划异步串行通讯时选用本文 的呼应加权式通讯协议。体系通讯操控完成如图5。
硬件体系由主控芯片和DTV解码芯片构成,原理框图如图6所示。主控芯片内部串口2的收发引脚与DTV解码芯片 的收发引脚相连接。主控芯片在整个通讯进程中起主导作用,用于建议通讯与判别DTV解码芯片的呼应。DTV解码芯片接纳主控芯片发送的指令,解析后进行相关的动作。

5 完毕语
本协议的规划初衷是为了战胜主从单片机处理繁忙而 形成的呼应推迟现象,一起又具有可扩展性,其间数据场的 字节长度能够由用户自行界说。将本协议使用到DVD产品的通讯操控时,通过测验,在波特率9600bit/s下能够成功通讯;而且本协议能确保主控 端正确辨认呼应类型以及复原出当时呼应相对应的指令消 息,确保主控芯片做出正确的处理,然后确保整个体系的正 确运转。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/205729.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部