CN104239254A - 串行异步通讯数据传输方法 - Google Patents

串行异步通讯数据传输方法 Download PDF

Info

Publication number
CN104239254A
CN104239254A CN201410446457.5A CN201410446457A CN104239254A CN 104239254 A CN104239254 A CN 104239254A CN 201410446457 A CN201410446457 A CN 201410446457A CN 104239254 A CN104239254 A CN 104239254A
Authority
CN
China
Prior art keywords
serial
data
host computer
data transmission
asynchronous communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410446457.5A
Other languages
English (en)
Other versions
CN104239254B (zh
Inventor
杨光海
公丕华海
王海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South West Institute of Technical Physics
Original Assignee
South West Institute of Technical Physics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South West Institute of Technical Physics filed Critical South West Institute of Technical Physics
Priority to CN201410446457.5A priority Critical patent/CN104239254B/zh
Publication of CN104239254A publication Critical patent/CN104239254A/zh
Application granted granted Critical
Publication of CN104239254B publication Critical patent/CN104239254B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开的一种串行异步通讯数据传输方法,旨在提供一种结构模式直观简单,设计流程短,程序层次分明,可靠性高,能够在通讯时序、数据帧格式上保证通讯传输数据实时性的方法。本发明通过下述技术方案予以实现:以上位机微控制芯片作为异步串行通信的上位机和以下位机微控制芯片作为异步串行通信的下位机通过TTL/串口信号转换电路连接组成串行异步通讯数据传输装置,并在上位机和下位机微控芯片中设置以串口数据接收处理模块、串口数据发送模块和定时器T模块构成的串行异步通讯数据传输程序软件,并向上位机和下位机发送缓冲区分时发送串口数据帧信息,将为真的数据帧通过接收缓冲区赋值给缓存数组Ai,把与通信帧协议一致的数组字串存入缓存数组Bi。

Description

串行异步通讯数据传输方法
技术领域
本发明是关于电子系统串行异步通讯采用复合技术实现串行异步通讯数据传输的方法。
背景技术
在电子系统中,各部件间的计算机微控制芯片(单片机或DSP)都需要进行数据交换建立通讯联系,使用串行通讯手段是其中一种重要、常用的通讯方式。串行通讯工作方式分为同步方式和异步方式两种,在实际工作中,异步方式用得最多,包括三个常用的总线标准:RS-232、RS-422、RS-485。串行传输是指数据的二进制代码在一条物理信道上以位为单位按时间顺序逐位传输的方式。串行传输时,发送端逐位发送,接收端逐位接受,同时,还要对所接受的字符进行确认,收发双方要采取同步措施(即判断什么时候有数据,数据是什么,什么时候结束传输)。异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达,造成数据信息传输、使用延时。
在电子系统中,异步串行通讯所在的通讯链路电磁环境相当恶劣,且传输的距离长短不一可能引起串行通讯中传输的数据出现异常,即出现错误数据。目前,在串行异步通讯中,保证使用正确数据的方法一般都仅采取奇偶位校验、累加和校验,或者两者相结合的方法,但都不能从根本上解决通讯中防止使用错误数据的问题,一旦在通讯链路出现错误数据时,计算机根据错误数据作出决断时,必然会严重影响电子系统的实时性、可靠性,达不到其工作目的。
发明内容
本发明的目的是针对电子系统计算机,现有异步串行通讯数据传输中不能保证串行通讯数据实时性、正确性方法的不足之处,提供一种结构模式直观简单,设计流程短,程序层次分明,易综合,可靠性高,能够在通讯时序、数据帧格式上保证通讯传输数据实时性、正确性的方法。
为了达到上述目的,本发明提供的一种串行异步通讯数据传输方法,其特征在于包括如下步骤:一种串行异步通讯数据传输方法,其特征在于包括如下步骤:以上位机微控制芯片作为异步串行通信的上位机,以下位机微控制芯片作为异步串行通信的下位机,二者通过标准的RS-232/RS-422/RS485接口和TTL/串口信号转换电路连接组成串行异步通讯数据传输装置,在上位机和下位机微控芯片中设有串口数据接收处理模块、串口数据发送模块和定时器T模块构成的串行异步通讯数据传输程序软件;在串行异步通讯数据传输中,上位机、下位机周期性工作时刻点,均以对时脉冲上升沿时刻点为基准,串行异步通讯数据传输程序软件根据工作流程需求,向上位机和下位机发送缓冲区分时发送串口数据帧信息,通过TTL/串口信号转换模块发给下位机和上位机,上位机和下位机接收缓冲区接收到串口数据帧信息后,串口数据接收处理模块判断上位机和下位机接收缓冲区接收到的串口数据帧信息是否有效,将为真的数据帧通过接收缓冲区赋值给缓存数组Ai,缓存数组Ai下标变量Ni自加1,把与通信帧协议一致的数组字串存入缓存数组Bi。
本发明相比于现有技术具有如下有益效果。
结构模式直观简单,设计流程短。本发明以上位机微控制芯片作为异步串行通信的上位机,以下位机微控制芯片作为异步串行通信的下位机,二者通过标准的RS-232/RS-422/RS485接口和TTL/串口信号转换电路连接组成串行异步通讯数据传输装置,结构模式直观简单,设计流程短。
程序层次分明,易综合。本发明在上位机和下位机微控芯片中设有串口数据接收处理模块、数据发送模块和定时器T模块构成串行异步通讯数据传输程序软件,串行异步通讯数据传输程序软件根据工作流程需求,向上位机和下位机发送缓冲区分时发送串口数据帧信息,通过TTL/串口信号转换模块发给下位机和上位机,上位机和下位机接收缓冲区接收到串口数据帧信息后,串口数据接收处理模块判断上位机和下位机接收缓冲区接收到的串口数据帧信息是否有效,程序层次分明,易综合。
可靠性高,能够在通讯时序、数据帧格式上保证通讯传输数据实时性、正确性。本发明在串行异步通讯数据传输中,上位机、下位机周期性工作时刻点均以对时脉冲上升沿时刻点为基准,根据工作流程需求分时发送、接收数据信息,采用缓存数组Ai、Bi双缓存存储数据信息,提高了计算机之间传输数据的实时性、正确性、可靠性。即使在通讯链路异常情况下出现错误数据时,保证通讯数据传输数据中计算机采用正确数据,所使用数据延时最短,提高了异步串行通讯数据传输中的正确率及实时性,减少了通讯数据传输的延时,确保电子系统中计算机工作的高可靠性、稳定性。
附图说明
下图结合附图和实施例进一步说明本发明,但并不因此将本发明限制在所属的实施例范围之中。
图1是本发明串行异步通讯数据传输装置的原理图。
图2是图1的串行异步通讯接收数据的原理框图。
图3是本发明的串口接收和发送数据时序图。
图4是本发明的串行异步通讯串口数据接收处理模块程序流程。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。其中,附图构成本申请一部分,并于本发明的实施例一起用于阐述本发明的原理。
参阅图1。在以下描述的实施例中,实现串行异步通讯数据传输的装置,包括,以上位机微控制芯片作为异步串行通信的上位机,以下位机微控制芯片作为异步串行通信的下位机,上位机微控制芯片和上位机微控制芯片为计算机微控制芯片,二者通过标准的RS-232/RS-422/RS485接口和TTL/串口信号转换电路连接组成串行异步通讯数据传输装置,上位机微控制芯片通过TTL/串口信号转换电路和发送对时脉冲的线缆,向下位机微控制芯片发送对时脉冲。上位机微控制芯片和下位机微控制芯片均具有串行异步通讯数据收发功能。在上位机和下位机微控芯片中设有串口数据接收处理模块、数据发送模块和定时器T模块构成的串行异步通讯数据传输程序软件;在串行异步通讯数据传输中,上位机、下位机周期性工作时刻点,均以对时脉冲上升沿时刻点为基准,串行异步通讯数据传输程序软件根据工作流程需求,向上位机和下位机发送缓冲区分时发送串口数据帧信息,通过TTL/串口信号转换模块发给下位机和上位机,上位机和下位机接收缓冲区接收到串口数据帧信息后,串口数据接收处理模块判断上位机和下位机接收缓冲区接收到的串口数据帧信息是否有效。
参阅图2、图3。在上位机和下位机通过标准的RS-232/RS-422/RS485接口和TTL/串口信号转换电路连接组成的串行异步通讯数据传输装置中,上位机对时脉冲产生模块产生一固定周期为Time的硬件脉冲信号作为对时信号,传给下位机微控芯片对时脉冲接收处理模块。根据电子系统工作流程,制定上位机、下位机之间的通信帧协议(包括波特率,帧头、帧号、校验和、帧尾和数据块等),选用一固定周期Time的硬件脉冲信号作为对时信号,约定上位机微控制芯片、下位机微控制芯片周期性工作时刻点均以对时脉冲上升沿时刻点为基准,并根据工作流程需求分时发送数据,发送串口数据时刻点分别在时刻区间Time1~Time2、Time3~Time4发送串口数据;上位机微控制芯片通过对时脉冲产生模块向下位机发送对时脉冲,并在上述时刻区间Time1~Time2发送串口数据帧,下位机数据发送模块根据上述时刻区间Time3~Time4发送串口数据帧;上位机和下位机根据发送数据帧数据两个数据之间最大间隔时间,确定各自接收通讯数据帧中连续2个数据帧的最大间隔时间,作为上位机和下位机的定时器T1、T2定时时间Ti1、Ti2(Ti1、Ti2一般取Time/2);串口数据接收模块中的接收缓冲区接收到数据后,串口数据接收处理模块程序启动。
参阅图4。A.各串口数据接收处理模块初始化串口,设置波特率、定时器Ti等;
B.串口数据接收处理模块接收缓冲区收到数据后,判断该数据是否有效,有效则执行C步骤;否则执行步骤B;
C.串口数据接收处理模块设置定时器T,定时时间Ti,打开定时器T开始计时;
D.串口数据接收处理模块判断定时器T计时时间是否到,若真则说明接收到的串口数据超时,不符合工作流程约定,则执行步骤E,否则执行步骤F;
E.串口数据接收处理模块设置定时器T定时时间Ti,缓存数组Ai下标变量Ni清零,执行步骤F;
F.串口数据接收处理模块判断数据帧帧头标志Fi是否为真,为真则执行G步骤;否则执行J步骤;
G.串口数据接收处理模块将接收缓冲区数据赋值给串口数据接收处理模块缓存数组Ai,缓存数组Ai下标变量Ni自加1;
H.串口数据接收处理模块判断缓存数组Ai中存在数据是否与通信帧协议一致的数据字串,是则执行I步骤;否则执行步骤L;
I.串口数据接收处理模块清数据帧帧头标志Fi,将与通信帧协议一致的缓存数组Ai存入缓存数组Bi,缓存数组Ai下标变量Ni清零,执行步骤B;
J.串口数据接收处理模块判断数据是否为数据帧帧头,为真则执行K步骤;否则执行L步骤;
K.串口数据接收处理模块判断置数据帧帧头标志Fi,将接收缓冲区数据赋值给缓存数组Ai,缓存数组Ai下标变量Ni自加1,执行步骤H;
L.串口数据接收处理模块将缓存数组Ai下标变量Ni清零,执行步骤B。

Claims (10)

1.一种串行异步通讯数据传输方法,其特征在于包括如下步骤:以上位机微控制芯片作为异步串行通信的上位机,以下位机微控制芯片作为异步串行通信的下位机,二者通过RS-232/RS-422/RS485接口和TTL/串口信号转换电路连接组成串行异步通讯数据传输装置,并在上位机和下位机微控芯片中设置以串口数据接收处理模块、串口数据发送模块和定时器T模块构成的串行异步通讯数据传输程序软件;在串行异步通讯数据传输中,上位机和下位机周期性工作时刻点,均以对时脉冲上升沿时刻点为基准,串行异步通讯数据传输程序软件根据工作流程需求,向上位机和下位机发送缓冲区分时发送串口数据帧信息,通过TTL/串口信号转换模块发给下位机和上位机,上位机和下位机接收缓冲区接收到串口数据帧信息后,串口数据接收处理模块判断上位机和下位机接收缓冲区接收到的串口数据帧信息是否有效,将为真的数据帧通过接收缓冲区赋值给缓存数组Ai,缓存数组Ai下标变量Ni自加1,把与通信帧协议一致的数组字串存入缓存数组Bi。
2.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:如权利要求1所述的串行异步通讯数据传输方法,其特征在于:上位机微控制芯片通过TTL/串口信号转换电路和发送对时脉冲的线缆,向下位机微控制芯片发送对时脉冲。
3.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:上位机对时脉冲产生模块产生一固定周期为Time的硬件脉冲信号作为对时信号,传给下位机微控芯片对时脉冲接收处理模块。
4.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:根据电子系统工作流程,制定上位机、下位机之间的通信帧协议,选用一固定周期Time的硬件脉冲信号作为对时信号,约定上位机微控制芯片、下位机微控制芯片周期性工作时刻点均以对时脉冲上升沿时刻点为基准,并根据工作流程需求分时发送数据,发送串口数据时刻点分别在时刻区间Time1~Time2、Time3~Time4发送串口数据。
5.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:上位机和下位机根据发送数据帧数据两个数据之间最大间隔时间,确定各自接收通讯数据帧中连续2个数据帧的最大间隔时间,作为上位机和下位机的定时器T1、T2定时时间Ti1、Ti2,Ti1、Ti2取Time/2。
6.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:串口数据接收模块接收缓冲区接收到数据后,串口数据接收处理模块启动程序。
7.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:串口数据接收处理模块判断接收缓冲区收到数据否有效,有效则设置定时器T,定时时间Ti,打开定时器T开始计时。
8.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:串口数据接收处理模块判断定时器T计时时间,若为真则说明接收到的串口数据超时,不符合工作流程约定,则缓存数组Ai下标变量Ni清零。
9.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:串口数据接收处理模块将接收缓冲区数据赋值给串口数据接收处理模块缓存数组Ai,缓存数组Ai下标变量Ni自加1。
10.如权利要求1所述的串行异步通讯数据传输方法,其特征在于:串口数据接收处理模块判断缓存数组Ai中存在数据是否与通信帧协议一致的数据字串,是则清数据帧帧头标志Fi,将与通信帧协议一致的缓存数组Ai存入缓存数组Bi,缓存数组Ai下标变量Ni清零。
CN201410446457.5A 2014-09-04 2014-09-04 串行异步通讯数据传输方法 Expired - Fee Related CN104239254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410446457.5A CN104239254B (zh) 2014-09-04 2014-09-04 串行异步通讯数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410446457.5A CN104239254B (zh) 2014-09-04 2014-09-04 串行异步通讯数据传输方法

Publications (2)

Publication Number Publication Date
CN104239254A true CN104239254A (zh) 2014-12-24
CN104239254B CN104239254B (zh) 2017-04-05

Family

ID=52227359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410446457.5A Expired - Fee Related CN104239254B (zh) 2014-09-04 2014-09-04 串行异步通讯数据传输方法

Country Status (1)

Country Link
CN (1) CN104239254B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302612A (zh) * 2015-11-18 2016-02-03 西南技术物理研究所 快速升级电子系统机箱内单片机软件程序的方法
CN105718415A (zh) * 2016-01-19 2016-06-29 江苏飞尚安全监测咨询有限公司 一种单片机通用异步收发器接收分帧检测算法
CN106126196A (zh) * 2015-12-30 2016-11-16 中国人民解放军63686部队 一种基于xml的结构化多变量信息帧的界面赋值方法
CN106445717A (zh) * 2016-09-20 2017-02-22 四川长虹电器股份有限公司 提高单片机通讯容错率的系统及其方法
CN107783921A (zh) * 2016-08-29 2018-03-09 南京晨光集团有限责任公司 高可靠低成本多通道rs‑422通信电路
CN109085798A (zh) * 2018-08-06 2018-12-25 常州轻工职业技术学院 一种嵌入式系统g代码异步通讯机制、协议及编程方法
CN111130969A (zh) * 2019-12-30 2020-05-08 歌尔科技有限公司 串口数据接收方法和装置、耳机、充电设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1455489A (zh) * 2003-06-03 2003-11-12 东南大学 电力系统卫星同步授时装置
US6728795B1 (en) * 2000-04-17 2004-04-27 Skyworks Solutions, Inc. DMA channel for high-speed asynchronous data transfer
US20050100114A1 (en) * 2003-09-12 2005-05-12 Airbee Wireless, Inc. System and method for data transmission
CN101136735A (zh) * 2006-09-12 2008-03-05 中兴通讯股份有限公司 使用通用异步收发报机的半双工串口通信系统及通信方法
US20080159188A1 (en) * 2006-06-28 2008-07-03 Kenichi Funagai Serial interface apparatus performing asynchronous serial data transfer using asynchronous serial communication method
CN101561967A (zh) * 2008-04-18 2009-10-21 哈尔滨工业大学 应用串行通信接口标准实现的电机故障检测系统通信方法
CN101944136A (zh) * 2010-09-03 2011-01-12 上海大学 一种记录多路异步串行通讯信息装置和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728795B1 (en) * 2000-04-17 2004-04-27 Skyworks Solutions, Inc. DMA channel for high-speed asynchronous data transfer
CN1455489A (zh) * 2003-06-03 2003-11-12 东南大学 电力系统卫星同步授时装置
US20050100114A1 (en) * 2003-09-12 2005-05-12 Airbee Wireless, Inc. System and method for data transmission
US20080159188A1 (en) * 2006-06-28 2008-07-03 Kenichi Funagai Serial interface apparatus performing asynchronous serial data transfer using asynchronous serial communication method
CN101136735A (zh) * 2006-09-12 2008-03-05 中兴通讯股份有限公司 使用通用异步收发报机的半双工串口通信系统及通信方法
CN101561967A (zh) * 2008-04-18 2009-10-21 哈尔滨工业大学 应用串行通信接口标准实现的电机故障检测系统通信方法
CN101944136A (zh) * 2010-09-03 2011-01-12 上海大学 一种记录多路异步串行通讯信息装置和方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302612A (zh) * 2015-11-18 2016-02-03 西南技术物理研究所 快速升级电子系统机箱内单片机软件程序的方法
CN105302612B (zh) * 2015-11-18 2018-05-08 西南技术物理研究所 快速升级电子系统机箱内单片机软件程序的方法
CN106126196B (zh) * 2015-12-30 2019-02-12 中国人民解放军63686部队 一种基于xml的结构化多变量信息帧的界面赋值方法
CN106126196A (zh) * 2015-12-30 2016-11-16 中国人民解放军63686部队 一种基于xml的结构化多变量信息帧的界面赋值方法
CN105718415A (zh) * 2016-01-19 2016-06-29 江苏飞尚安全监测咨询有限公司 一种单片机通用异步收发器接收分帧检测算法
CN107783921A (zh) * 2016-08-29 2018-03-09 南京晨光集团有限责任公司 高可靠低成本多通道rs‑422通信电路
CN107783921B (zh) * 2016-08-29 2019-04-19 江苏金陵智造研究院有限公司 高可靠低成本多通道rs-422通信电路
CN106445717B (zh) * 2016-09-20 2019-06-21 四川长虹电器股份有限公司 提高单片机通讯容错率的系统及其方法
CN106445717A (zh) * 2016-09-20 2017-02-22 四川长虹电器股份有限公司 提高单片机通讯容错率的系统及其方法
CN109085798A (zh) * 2018-08-06 2018-12-25 常州轻工职业技术学院 一种嵌入式系统g代码异步通讯机制、协议及编程方法
CN109085798B (zh) * 2018-08-06 2021-01-26 常州工业职业技术学院 一种嵌入式系统g代码异步通讯机制、协议及编程方法
CN111130969A (zh) * 2019-12-30 2020-05-08 歌尔科技有限公司 串口数据接收方法和装置、耳机、充电设备及存储介质
CN111130969B (zh) * 2019-12-30 2021-06-18 歌尔科技有限公司 串口数据接收方法和装置、耳机、充电设备及存储介质

Also Published As

Publication number Publication date
CN104239254B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
CN104239254A (zh) 串行异步通讯数据传输方法
CN102868584B (zh) 一种采用串行通信接口的同步时分多路复用总线通信方法
Fang et al. Design and simulation of UART serial communication module based on VHDL
CN104954096B (zh) 一种一主多从的高速同步串行通信数据传输方法
CN102819512A (zh) 一种基于spi的全双工通信装置及其方法
CN102231143A (zh) 一种安全可复用spi外围接口电路
CN104038316B (zh) 空间相机高可靠高时效异步串行通讯方法
CN103051414A (zh) 一种串行通信纠错方法和系统
CN102262572A (zh) 一种带crc校验功能的iic总线接口控制器
CN106598889A (zh) 一种基于fpga夹层板的sata主控器
CN103916284A (zh) Rs485通讯端口自动波特率和通讯地址检测方法
CN105786639A (zh) 一种i2c总线数据的传输方法及系统
CN108494433B (zh) 一种单线通信方法及其电路实现
CN104317762A (zh) 一种fpga自适应控制rs485芯片收发方向的方法
CN205038640U (zh) 一种解决spi总线通信延时的spi设备
CN102546033A (zh) 采用脉冲调制结合串口方式实现的多机通信装置
CN107346997A (zh) 一种数据传输方法以及终端
CN104144137B (zh) 一种高速lvds串行同步通讯控制器
CN203982361U (zh) 一种多路串口通信测试装置
CN103279442A (zh) 一种高速互联总线的报文过滤系统及方法
CN203054827U (zh) 基于串行外围设备接口总线的数据传输系统
CN104102568B (zh) 一种多路串口通信测试系统
JP2011071579A (ja) PCIExpress通信システム
CN203982364U (zh) 基于单片机实现串口抓包的装置
CN106375077A (zh) Si4463芯片采用gpio模式实现数据传输的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170405

Termination date: 20190904