CN102970300A - 一种异步通信协议 - Google Patents

一种异步通信协议 Download PDF

Info

Publication number
CN102970300A
CN102970300A CN2012104957840A CN201210495784A CN102970300A CN 102970300 A CN102970300 A CN 102970300A CN 2012104957840 A CN2012104957840 A CN 2012104957840A CN 201210495784 A CN201210495784 A CN 201210495784A CN 102970300 A CN102970300 A CN 102970300A
Authority
CN
China
Prior art keywords
low level
data
communications protocol
signal
detection module
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
CN2012104957840A
Other languages
English (en)
Other versions
CN102970300B (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.)
Suzhou Pixcir Microelectronics Co Ltd
Original Assignee
Suzhou Pixcir Microelectronics Co Ltd
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 Suzhou Pixcir Microelectronics Co Ltd filed Critical Suzhou Pixcir Microelectronics Co Ltd
Priority to CN201210495784.0A priority Critical patent/CN102970300B/zh
Publication of CN102970300A publication Critical patent/CN102970300A/zh
Application granted granted Critical
Publication of CN102970300B publication Critical patent/CN102970300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明公开了一种异步通信协议,其内容包括:定义开始通信时,信号线的空闲为低电平;当所述检测模块检测到信号线由低电平到高电平的跳变时,启动定时器模块对时钟进行计数,计数到指定个数的时钟后,若仍为高电平则定义为起始信号;所述检测模块检测到起始信号后,等待信号线由高电平跳变为低电平,由定时器模块计数所述低电平时间段的时钟个数;当检测模块检测到信号线由低电平跳变为高电平时,定义为停止信号,指示一个数据帧接收完成;所述数据识别模块根据低电平时间段计数的时钟个数识别相应代表的数据,指示一个数据帧完成操作。本发明利用指定的时间段代表不同的数据来传输数据,低成本、易实现,通信效率高,占用I/O资源少。

Description

一种异步通信协议
技术领域
本发明涉及通信协议领域,特别是涉及一种使用一根信号线利用指定时间段代表不同数据的异步通信协议。
背景技术
电子电路之间的通讯方式主要分为并行通讯和串行通讯:并行通讯的优点是通讯协议简单,缺点是信号线较多;串行通讯的优点是信号线较少,容易实现远距离传输,缺点是通讯协议复杂,也就是接口电路复杂。
串口进行通信的方式又有两种:同步通信方式和异步通信方式。同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。
以UART协议为例,其特点是一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。发送端的发送时钟和接收端的接收时钟,其频率允许有一定差异,当频率差异在一定范围内,不会引起接收端检测错位,能够正确接收,并且这种频率差异不会因多个字符的连续加收而造成误差累计,因为每个字符的起始位处接收方均重新定位。而当发送时钟和接收时钟频率差异太大时,会引起接收端采样错位,造成接收错误,通讯效率降低。
目前常用的串行总线有I2C、USB等,串行接口有SPI、RS-232等,其中I2C、USB以及RS-232的通讯协议比较复杂,实现成本稍高,不适用于一般的中低端电子产品,SPI的通讯协议不是很复杂,但需要3~4根信号线,因信号线较多,占用I/O资源较多,使得串行通讯的优势不能完全发挥出来。
因此亟需提供一种新的异步通信协议来解决上述问题。
发明内容
本发明主要解决的技术问题是提供一种异步通信协议,通信效率更加准确,占用I/O资源少。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种异步通信协议,基于唯一的一根信号线进行单向数据传输,包括检测模块、定时器模块及数据识别模块,其内容包括:
定义开始通信时,信号线的空闲为低电平;
当所述检测模块检测到信号线由低电平到高电平的跳变时,启动定时器模块对时钟进行计数,计数到指定个数的时钟后,所述检测模块对输入信号进行检测,若仍为高电平则定义为起始信号;
所述检测模块检测到起始信号后,等待信号线由高电平跳变为低电平,由定时器模块计数所述低电平时间段的时钟个数;
当检测模块检测到信号线由低电平跳变为高电平时,定义为停止信号,指示一个数据帧接收完成;所述数据识别模块根据低电平时间段计数的时钟个数识别相应代表的数据,指示一个数据帧完成操作。
本发明的有益效果是:本发明利用指定的时间段代表不同的数据来传输数据,低成本、易实现,通信效率高,且只需一根信号线即可完成传输,占用I/O资源少。
具体实施方式
下面对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
一种异步通信协议,基于唯一的一根信号线进行数据传输,无需占用其它I/O串口,单线传输的发送方和接收方一般都是以单片机、DSP、微处理器为代表的控制性设备。所述异步通信协议,包括检测模块、定时器模块及数据识别模块。所述检测模块用于检测信号线的电平状态,所述定时器模块用于计数不同电平状态下信号线的时钟个数,所述数据识别模块根据不同的时钟个数识别相应代表的数据。所述异步通信协议内容如下:
定义开始通信时,信号线的空闲为低电平;当然,信号线的空闲也可定义为高电平,则此时信号线的工作状态即为下述工作状态的相反电平。
当所述检测模块检测到信号线由低电平到高电平的跳变时,启动定时器模块对时钟进行计数,计数到指定个数的时钟后,所述检测模块对输入信号进行检测,若仍为高电平则定义为起始信号,否则为干扰信号。确定干扰信号的时钟个数由用户根据需求自定义,但需小于起始信号时间段的时钟个数。
所述检测模块检测到起始信号后,等待信号线由高电平跳变为低电平,由定时器模块计数所述低电平时间段的时钟个数,等待信号线工作状态跳变的时钟个数是由接收端的芯片而定,不同的芯片可以设定不同的起始信号时间段,但需保证接收端的芯片处理中断的时间。
当所述检测模块检测到信号线由低电平跳变为高电平时,定义为停止信号,指示一个数据帧接收完成。停止信号的时间段相对来说会比较短,因为接收端的芯片无需处理任何软件程序即可停止信号的接收。因此,在所述异步通信协议中,一个完整的数据帧包括起始信号、传输信号和停止信号。数据接收完毕之后,所述数据识别模块通过判断定时器模块计数的时钟个数来识别接收到的数据,指示一个数据帧完成操作。不同的时钟个数相应代表一个指定的数据,其可根据用户的需求自定义,例如可通过查表来实现,优选的实施例为一次传输四位数据即半个字节的数据,每半个字节传输的时间为用户预先自定义的时钟个数。以二进制数据为例,例如传输半个字节0000,则相应的有一个时钟个数对应;传输半个字节0001,则相应的有另外一个时钟个数对应。
由定时器模块计数所述低电平时间段的时钟个数,是由发送端单次传输数据的数值决定的。单次传输数据的位数由用户根据需求自定义,若单次传输数据的位数较多,查表的数据会变得相当庞大,所以可分多次进行数据帧的传输,每次传输数据的位数可相同,也可不同,优选的实施例是每次传输的数据位数相同。仍以一次传输四位数据即半个字节的数据为例,若传输数据的位数是四位的倍数,则进行倍数次数据帧的传输,直至整个数据帧的传输完成。例如传输数据10101111,则第一次传输数据帧1010,第二次传输数据帧1111,进行两次数据帧的传输即完成。
所述异步通信协议中一次数据帧的传输均以起始信号为开始,以停止信号为终止,不会形成发送端与接收端之间因频率差异造成的时间误差的累积,通信精准率高,而且只需一根信号线即可完成数据的传送,占用I/O口的资源少。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种异步通信协议,基于唯一的一根信号线进行单向数据传输,包括检测模块、定时器模块及数据识别模块,其内容包括:
定义开始通信时,信号线的空闲为低电平;
当所述检测模块检测到信号线由低电平到高电平的跳变时,启动定时器模块对时钟进行计数,计数到指定个数的时钟后,所述检测模块对输入信号进行检测,若仍为高电平则定义为起始信号;
所述检测模块检测到起始信号后,等待信号线由高电平跳变为低电平,由定时器模块计数所述低电平时间段的时钟个数;
当检测模块检测到信号线由低电平跳变为高电平时,定义为停止信号,指示一个数据帧接收完成;所述数据识别模块根据低电平时间段计数的时钟个数识别相应代表的数据,指示一个数据帧完成操作。
2.根据权利要求1所述的异步通信协议,其特征在于,开始通信时,信号线的空闲也可定义为高电平,起始信号与停止信号则为低电平。
3.根据权利要求1所述的异步通信协议,其特征在于,由定时器模块计数所述低电平时间段的时钟个数,是由数据发送端单次传输数据的数值决定的。
4.根据权利要求3所述的异步通信协议,其特征在于,单次传输数据的位数由用户根据需求自定义。
5.根据权利要求4所述的异步通信协议,其特征在于,若单次传输数据的位数较多,可分多次进行数据帧的传输。
6.根据权利要求1所述的异步通信协议,其特征在于,代表不同数据的时钟个数,是由用户根据需求自定义的。
7.根据权利要求1所述的异步通信协议,其特征在于,确定起始信号时,所述检测模块对信号线的电平状态进行检测,若仍为高电平,则为起始信号,否则为干扰信号。
8.根据权利要求7所述的异步通信协议,其特征在于,确定干扰信号的时钟个数由用户根据需求自定义,但需小于起始信号时间段的时钟个数。
9.根据权利要求1所述的异步通信协议,其特征在于,所述检测模块检测到起始信号后,等待信号线由高电平跳变为低电平的时钟个数是由数据接收端的芯片而定。
CN201210495784.0A 2012-11-29 2012-11-29 一种异步通信方法 Active CN102970300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210495784.0A CN102970300B (zh) 2012-11-29 2012-11-29 一种异步通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210495784.0A CN102970300B (zh) 2012-11-29 2012-11-29 一种异步通信方法

Publications (2)

Publication Number Publication Date
CN102970300A true CN102970300A (zh) 2013-03-13
CN102970300B CN102970300B (zh) 2016-06-22

Family

ID=47800186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210495784.0A Active CN102970300B (zh) 2012-11-29 2012-11-29 一种异步通信方法

Country Status (1)

Country Link
CN (1) CN102970300B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112051890A (zh) * 2020-08-27 2020-12-08 海光信息技术有限公司 I2c总线的时钟控制方法、主设备及连接i2c总线的设备系统
CN112578899A (zh) * 2020-12-10 2021-03-30 海光信息技术股份有限公司 异步数字校正电路、方法、设备、存储介质
CN112822226A (zh) * 2019-11-15 2021-05-18 杭州海康威视数字技术股份有限公司 一种数据传输方法、装置、电子设备及机器可读存储介质
CN113157623A (zh) * 2021-04-02 2021-07-23 中国工程物理研究院总体工程研究所 一种高速自定义通信方法
CN115982087A (zh) * 2023-02-20 2023-04-18 中科可控信息产业有限公司 信号传输方法、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185760A (zh) * 2011-02-23 2011-09-14 北京大学深圳研究生院 一种单芯片异步通信接口
CN102298565A (zh) * 2011-06-08 2011-12-28 东南大学 一种异步串行总线信号的解码与触发方法
CN102739364A (zh) * 2012-06-29 2012-10-17 罗小华 单工异步串行通讯编解码方法
CN102780541A (zh) * 2012-06-29 2012-11-14 罗小华 单信号线的单工异步串行通讯编解码方法
CN102790657A (zh) * 2012-06-29 2012-11-21 罗小华 一种单工异步串行通讯编解码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185760A (zh) * 2011-02-23 2011-09-14 北京大学深圳研究生院 一种单芯片异步通信接口
CN102298565A (zh) * 2011-06-08 2011-12-28 东南大学 一种异步串行总线信号的解码与触发方法
CN102739364A (zh) * 2012-06-29 2012-10-17 罗小华 单工异步串行通讯编解码方法
CN102780541A (zh) * 2012-06-29 2012-11-14 罗小华 单信号线的单工异步串行通讯编解码方法
CN102790657A (zh) * 2012-06-29 2012-11-21 罗小华 一种单工异步串行通讯编解码方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822226A (zh) * 2019-11-15 2021-05-18 杭州海康威视数字技术股份有限公司 一种数据传输方法、装置、电子设备及机器可读存储介质
CN112822226B (zh) * 2019-11-15 2022-09-02 杭州海康威视数字技术股份有限公司 一种数据传输方法、装置、电子设备及机器可读存储介质
CN112051890A (zh) * 2020-08-27 2020-12-08 海光信息技术有限公司 I2c总线的时钟控制方法、主设备及连接i2c总线的设备系统
CN112051890B (zh) * 2020-08-27 2022-07-26 海光信息技术股份有限公司 I2c总线的时钟控制方法、主设备及连接i2c总线的设备系统
CN112578899A (zh) * 2020-12-10 2021-03-30 海光信息技术股份有限公司 异步数字校正电路、方法、设备、存储介质
CN112578899B (zh) * 2020-12-10 2023-08-29 海光信息技术股份有限公司 异步数字校正电路、方法、设备、存储介质
CN113157623A (zh) * 2021-04-02 2021-07-23 中国工程物理研究院总体工程研究所 一种高速自定义通信方法
CN115982087A (zh) * 2023-02-20 2023-04-18 中科可控信息产业有限公司 信号传输方法、计算机设备和存储介质
CN115982087B (zh) * 2023-02-20 2023-09-19 中科可控信息产业有限公司 信号传输方法、计算机设备和存储介质

Also Published As

Publication number Publication date
CN102970300B (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
Fang et al. Design and simulation of UART serial communication module based on VHDL
CN102970300A (zh) 一种异步通信协议
CN101431390B (zh) 一种数据串行传输的电路和方法
US10579581B2 (en) Multilane heterogeneous serial bus
CN107592250B (zh) 基于航空fc总线多速率自适应测试设备
CN108011692A (zh) 一种用于单片机的数据通信方法
CN102694597A (zh) 可见光信号的解码方法和控制方法
CN104156334A (zh) 用于多机通讯的串口自适应数据透明传输协议
CN101471787A (zh) 基于无线通信模块的软件模拟uart的方法
CN105243039A (zh) 一种串口通信系统及方法
CN107454028B (zh) 基于FPGA的LiFi信号解调方法及解调器
CN102546033A (zh) 采用脉冲调制结合串口方式实现的多机通信装置
CN108494433A (zh) 一种单线通信方法及其电路实现
CN101431389A (zh) 一种电路及其信号的传输方法
CN208905026U (zh) 基于lora网络的多功能接口协议转换模块
CN113792003A (zh) 单总线通信单元、系统及方法
CN208477514U (zh) 一种智能温控器的spi转uart的模拟电路
CN108509365B (zh) 一种dbi的数据传输方法及系统
CN105426562B (zh) 一种多io模块与多通讯模块之间的uart通讯方法及装置
CN102968196B (zh) 一种电容笔系统的无线信号传输方法
CN106982199A (zh) 一种基于fpga和cpld的曼彻斯特码通讯协议自适应方法
CN114490488A (zh) 一种低功耗uart串口系统
CN204479937U (zh) 一种用于智能家居近距离通讯的多机无线通讯系统
CN102436433B (zh) 一种移动终端数据下载装置及方法
CN103001901A (zh) 一种基于mdpcm的集成电路高速数字接口模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant