CN110768775A - 一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质 - Google Patents
一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110768775A CN110768775A CN201910821349.4A CN201910821349A CN110768775A CN 110768775 A CN110768775 A CN 110768775A CN 201910821349 A CN201910821349 A CN 201910821349A CN 110768775 A CN110768775 A CN 110768775A
- Authority
- CN
- China
- Prior art keywords
- data
- uart
- communication
- full
- duplex
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
- H04L5/1415—Two-way operation using the same type of signal, i.e. duplex using control lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bidirectional Digital Transmission (AREA)
Abstract
一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质,涉及数据通讯技术领域,本发明低成本全双工的通讯方法是利用半双工芯片的UART通讯资源结合控制方法,具体可通过控制半双工芯片的两个UART通讯口来实现全双工的通讯方式,或者利用半双工芯片的一个UART通讯口结合外部中断输入口模拟UART通讯口来实现全双工的通讯,可实现在只支持半双工通讯的芯片平台上来实现全双工的通讯方式,无需升级使用全双工通讯芯片,进而可节约产品的成本,提高市场竞争力。
Description
技术领域
本发明涉及数据通讯技术领域,特别是涉及一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质。
背景技术
现阶段随着物联技术的不断进步以及用户对于通讯速度要求的逐渐提高,家用电器增加物联技术势在必行。目前也有越来越多的家用电器增加了wifi功能,可以让用户直接用手机来操作空调等家用电器,但通讯速度过慢仍为用户不满wifi功能的主要投诉点。为提高通讯速度,在绝大部分主芯片的选择上,选择支持全双工通讯的主MCU来提高通讯速度,而升级使用全双工通讯芯片,则会导致成本增加。
发明内容
本发明的目的在于避免现有技术中的不足之处而提供一种低成本全双工的通讯方法,该低成本全双工的通讯方法可在不需增加使用支持全双工通讯的主MCU的前提下达到全双工的通讯目的,可降低产品的成本,提高市场竞争力。
本发明的目的通过以下技术方案实现:
提供一种低成本全双工的通讯方法,利用控制半双工芯片的至少一个UART通讯口的通讯方式来实现全双工的通讯。
优选的,通过控制半双工芯片的两个UART通讯口的通讯方式来实现全双工的通讯。
进一步的,所述通讯方法具体是:使用第一个UART通讯口UART0用于全双工通讯的接收功能,只用于接收功能;使用第二个UART通讯口UART1用于全双工通讯的发送功能,只用于发送功能,则接收到的数据在UART收发缓存buff0中,而发送的数据则只会在UART收发缓存buff1中。
另一优选的,利用半双工芯片的一个UART通讯口结合外部中断输入口模拟UART通讯口来实现全双工的通讯。
进一步的,所述通讯方法具体是:使用UART通讯口实现发送功能,而不使用其接收功能;接收功能通过使用外部中断输入检测,模拟UART时序检测,达到实现UART接收功能。
更进一步的,外部中断模拟UART接收算法包括如果下步骤:
步骤一:上电判断是否为高电平,如果是则表示信号正常,外部中断设置为双边沿信号检测中断,即上升沿或下降沿都能触发中断信号,
步骤二:如果无中断触发,则说明无接收数据需求,无需判断;如果检测到中断,则表示有数据接收需求,启动计时器,此时间点记录为A,并记录此时中断电平信号;并同步启动倒计时计时器,此时间长度根据波特率,数据格式长度计算出一帧数据的接收时长。
步骤三:下一次中断触发,则说明数据发生改变或是数据发送结束,此时间点记录为B,根据计时器计时计算AB间隔时间,即计算上一个电平所保持的时间,通过双方协议好的波特率来计算AB间隔时间段内发送了多少个数据位,并存入相应的缓存器,如果数据位未达到一帧数据位长度,则继续判断;如果满足,则根据双方通讯协议进行相应的奇校验或偶校验,判断数据是否正确,正确则此接收到的数据正确,可以用于数据判断或通讯;若没有中断发送,且倒计时计时器计时到,则说明距离上一次中断触发至此的所有数据全部为1且数据包发送完成(注:因UART一定是高电平结束,故数据0的情况下一定会有一个上升沿变成高电平结束,故若没有中断产生而倒计时结束,数据只有全1的可能)。
步骤四:重置变量,等待下一次中断触发并接收数据。
本发明还提供计算机可读存储介质,用于存储计算机程序,其处理器在调用所述计算机程序时实现以上所述的通讯方法。
本发明还提供低成本全双工的通讯系统,包括半双工芯片的一个UART通讯口和处理器,其还包括以上所述的计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
本发明的有益效果:本发明利用半双工芯片的UART通讯资源结合控制方法,可实现在只支持半双工通讯的芯片平台上来实现全双工的通讯方式,无需升级使用全双工通讯芯片,进而可节约产品的成本,提高市场竞争力。
附图说明
利用附图对发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1是本发明的一种低成本全双工的通讯方法的实施例2的中断函数处理流程图。
图2是本发明的一种低成本全双工的通讯方法的实施例2的主循环处理流程图。
具体实施方式
结合以下实施例对本发明作进一步描述。
本发明中,因只支持半双工通讯的芯片,大部分都是因为发送缓存buff与接收缓存buff通用同一个地址(下文使用UART收发缓存buff描述替代),全双工通讯时,芯片同时发送与接收数据,因UART收发缓存buff同一地址无法同时存放两个数据,从而导致接收和发送数据撞车(即:在进行数据发送时,同时在接收,数据未发送完成而接收已完成,则接收数据存入UART收发缓存buff而导致发送数据丢失),引起通讯功能混乱,故在半双工芯片的内部资源中,需解决此问题,以下介绍本发明所采取的两种方法。
UART:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。
具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。在UART上追加同步方式的序列信号变换电路的产品,被称为USART(Universal Synchronous Asynchronous Receiver Transmitter)。
本发明的一种低成本全双工的通讯方法,利用控制半双工芯片的至少一个UART通讯口的通讯方式来实现全双工的通讯,可实现在只支持半双工通讯的芯片平台上来实现全双工的通讯方式,无需升级使用全双工通讯芯片,进而可节约成本。
实施例1。
目前市面上绝大部分芯片,都有不止一组支持UART通讯功能口,而不同的UART通讯口在芯片内部资源地址分配时,UART收发缓存buff在不同的UART功能口地址是不同的。
故在功能逻辑上(例:本方案的两个UART功能通讯口用UART0与UART1进行举例说明),使用第一个UART通讯口UART0用于全双工通讯的接收功能,只用于接收功能;而第二个UART通讯口UART1用于全双工通讯的发送功能,只用于发送功能。则接收到的数据在UART收发缓存buff0中,而发送的数据则只会在UART收发缓存buff1中,两者地址互不冲突,不会导致同时接收和发送导致的数据丢失问题,可以实现全双工通讯。
本实施例的控制方法较为简单,适用于芯片的支持UART通讯功能口足够用的情况。
实施例2。
本实施例可适用于因芯片资源有限,或实际运用需要使用多组UART口的时候,而无法满足同时使用两组UART口来实现全双工通讯,则可考虑使用外部接收中断模拟UART接收功能,从而实现全双工通讯要求。
本功能逻辑上,使用UART发送功能,而不使用其接收功能;接收功能通过使用外部中断输入检测,模拟UART时序检测,达到实现UART接收功能。
外部中断模拟UART接收算法步骤如图1和图2所示:
步骤一:上电判断是否为高电平,如是则表示信号正常,外部中断设置为双边沿信号检测中断(即上升沿或下降沿都能触发中断信号)。
步骤二:如无中断触发,则说明无接收数据需求,无需判断;如检测到中断(此时间点记录为A),则表示有数据接收需求,启动计时器,并记录此时中断电平信号(高电平或低电平);并同步启动倒计时计时器,此时间长度根据波特率,数据格式长度计算出一帧数据的接收时长。
步骤三:下一次中断触发(此时间点记录为B),则说明数据发生改变或是数据发送结束(数据全部为零),根据计时器计时计算AB间隔时间,即计算上一个电平所保持的时间,通过双方协议好的波特率来计算AB间隔时间段内发送了多少个数据位,并存入相应的缓存器,如数据位未达到一帧数据位长度,则继续判断;如满足,则根据双方通讯协议进行相应的奇校验或偶校验,判断数据是否正确,正确则此接收到的数据正确,可以用于数据判断或通讯;若没有中断发送,且倒计时计时器计时到,则说明距离上一次中断触发至此的所有数据全部为1且数据包发送完成(注:因UART一定是高电平结束,故数据0的情况下一定会有一个上升沿变成高电平结束,故若没有中断产生而倒计时结束,数据只有全1的可能)。
步骤四:重置变量,等待下一次中断触发并接收数据。
本实施例仅利用半双工芯片的一个UART通讯口结合外部中断输入口模拟UART通讯口来实现全双工的通讯,可解决因芯片资源有限,或实际运用需要使用多组UART口的时候,而无法满足同时使用两组UART口来实现全双工通讯的技术问题。
本发明还提供计算机可读存储介质,用于存储计算机程序,处理器在调用所述计算机程序时实现实施例1或实施例2的控制方法。
本发明还提供低成本全双工的通讯系统,包括半双工芯片的一个UART通讯口和处理器,其还包括以上所述的计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。
Claims (8)
1.一种低成本全双工的通讯方法,其特征在于:利用控制半双工芯片的至少一个UART通讯口的通讯方式来实现全双工的通讯。
2.如果权利要求1所述的一种低成本全双工的通讯方法,其特征在于:通过控制半双工芯片的两个UART通讯口的通讯方式来实现全双工的通讯。
3.如果权利要求2所述的一种低成本全双工的通讯方法,其特征在于:所述通讯方法具体是:使用第一个UART通讯口UART0用于全双工通讯的接收功能,只用于接收功能;使用第二个UART通讯口UART1用于全双工通讯的发送功能,只用于发送功能,则接收到的数据在UART收发缓存buff0中,而发送的数据则只会在UART收发缓存buff1中。
4.如果权利要求1所述的一种低成本全双工的通讯方法,其特征在于:利用半双工芯片的一个UART通讯口结合外部中断输入口模拟UART通讯口来实现全双工的通讯。
5.如果权利要求4所述的一种低成本全双工的通讯方法,其特征在于:所述通讯方法具体是:使用UART通讯口实现发送功能,而不使用其接收功能;接收功能通过使用外部中断输入检测,模拟UART时序检测,达到实现UART接收功能。
6.如果权利要求5所述的一种低成本全双工的通讯方法,其特征在于:外部中断模拟UART接收算法包括如果下步骤:
步骤一:上电判断是否为高电平,如果是则表示信号正常,外部中断设置为双边沿信号检测中断,即上升沿或下降沿都能触发中断信号,
步骤二:如果无中断触发,则说明无接收数据需求,无需判断;如果检测到中断,则表示有数据接收需求,启动计时器,此时间点记录为A,并记录此时中断电平信号;并同步启动倒计时计时器,此时间长度根据波特率,数据格式长度计算出一帧数据的接收时长。
步骤三:下一次中断触发,则说明数据发生改变或是数据发送结束,此时间点记录为B,根据计时器计时计算AB间隔时间,即计算上一个电平所保持的时间,通过双方协议好的波特率来计算AB间隔时间段内发送了多少个数据位,并存入相应的缓存器,如果数据位未达到一帧数据位长度,则继续判断;如果满足,则根据双方通讯协议进行相应的奇校验或偶校验,判断数据是否正确,正确则此接收到的数据正确,可以用于数据判断或通讯;若没有中断发送,且倒计时计时器计时到,则说明距离上一次中断触发至此的所有数据全部为1且数据包发送完成。
步骤四:重置变量,等待下一次中断触发并接收数据。
7.计算机可读存储介质,用于存储计算机程序,其特征在于:处理器在调用所述计算机程序时实现权利要求3或4至6任意一项所述的通讯方法。
8.低成本全双工的通讯系统,包括半双工芯片的一个UART通讯口和处理器,其特征在于:还包括权利要求7所述的计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910821349.4A CN110768775A (zh) | 2019-09-02 | 2019-09-02 | 一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910821349.4A CN110768775A (zh) | 2019-09-02 | 2019-09-02 | 一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110768775A true CN110768775A (zh) | 2020-02-07 |
Family
ID=69329671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910821349.4A Pending CN110768775A (zh) | 2019-09-02 | 2019-09-02 | 一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768775A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113141244A (zh) * | 2021-04-16 | 2021-07-20 | 珠海格力电器股份有限公司 | 一种全双工的通讯装置、电器系统及其通讯方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025781A (zh) * | 2006-02-22 | 2007-08-29 | 海尔集团公司 | 具有双接口射频读卡器的家电控制装置 |
CN101783674A (zh) * | 2008-12-24 | 2010-07-21 | 联发科技股份有限公司 | 管脚共享装置及管脚共享方法 |
CN102752001A (zh) * | 2011-04-22 | 2012-10-24 | 无锡爱睿芯电子有限公司 | 一体化收音机模块 |
CN104142900A (zh) * | 2014-08-04 | 2014-11-12 | 西京学院 | 一种通信接口转换装置 |
CN104156335A (zh) * | 2014-08-08 | 2014-11-19 | 成都联星微电子有限公司 | 一种uart多接口复用方法 |
CN104216854A (zh) * | 2014-09-03 | 2014-12-17 | 南京磐能电力科技股份有限公司 | 一种uart串口拓展的通路自主适配装置及方法 |
CN208477514U (zh) * | 2018-07-17 | 2019-02-05 | 卡乐电子(苏州)有限责任公司 | 一种智能温控器的spi转uart的模拟电路 |
-
2019
- 2019-09-02 CN CN201910821349.4A patent/CN110768775A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025781A (zh) * | 2006-02-22 | 2007-08-29 | 海尔集团公司 | 具有双接口射频读卡器的家电控制装置 |
CN101783674A (zh) * | 2008-12-24 | 2010-07-21 | 联发科技股份有限公司 | 管脚共享装置及管脚共享方法 |
CN102752001A (zh) * | 2011-04-22 | 2012-10-24 | 无锡爱睿芯电子有限公司 | 一体化收音机模块 |
CN104142900A (zh) * | 2014-08-04 | 2014-11-12 | 西京学院 | 一种通信接口转换装置 |
CN104156335A (zh) * | 2014-08-08 | 2014-11-19 | 成都联星微电子有限公司 | 一种uart多接口复用方法 |
CN104216854A (zh) * | 2014-09-03 | 2014-12-17 | 南京磐能电力科技股份有限公司 | 一种uart串口拓展的通路自主适配装置及方法 |
CN208477514U (zh) * | 2018-07-17 | 2019-02-05 | 卡乐电子(苏州)有限责任公司 | 一种智能温控器的spi转uart的模拟电路 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113141244A (zh) * | 2021-04-16 | 2021-07-20 | 珠海格力电器股份有限公司 | 一种全双工的通讯装置、电器系统及其通讯方法 |
CN113141244B (zh) * | 2021-04-16 | 2023-07-21 | 珠海格力电器股份有限公司 | 一种全双工的通讯装置、电器系统及其通讯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064815B (zh) | 一种单spi总线控制多can接口的控制方法 | |
WO2022037664A1 (zh) | 非连续接收drx配置方法、装置和设备 | |
CN111277388A (zh) | Harq-ack码本生成方法、信息发送方法及设备 | |
CN102819512A (zh) | 一种基于spi的全双工通信装置及其方法 | |
CN102306136B (zh) | 基于单片机输入捕获功能的波特率自适应方法 | |
CN103077148B (zh) | 一种基于pcie的主机通讯方法和主机 | |
CN102420877B (zh) | 一种多模式高速智能异步串口通信模块及实现方法 | |
CN104104412B (zh) | 一种基于dma的电力线网络系统及其通讯方法 | |
CN104750588A (zh) | 一种基于串口通信的压力测试方法 | |
CN110401522B (zh) | 一种数据通讯装置、控制器及其数据通讯方法 | |
WO2011116610A1 (zh) | 一种对上网设备进行初始化的方法、系统及设备 | |
CN110768775A (zh) | 一种低成本全双工的通讯方法、通讯系统及计算机可读存储介质 | |
CN113792003A (zh) | 单总线通信单元、系统及方法 | |
CN103516815A (zh) | 并行接口时序控制装置 | |
CN202694039U (zh) | 一种适配器电路 | |
CN200944235Y (zh) | 数字信号处理器同步串口与异步串行设备的接口装置 | |
CN101140551B (zh) | 一种实现数字信号处理器异步串行通讯的装置 | |
CN110099028A (zh) | 一种串口数据传输的方法及装置 | |
CN101610217A (zh) | 实现在扩展处理器和交换芯片之间传输报文的方法和系统 | |
CN101183948B (zh) | 一种以太网串口驱动单元及窄带拨号时数据流的传输方法 | |
CN114500159B (zh) | 中央吸油烟机系统的有线通讯方法、装置和电子设备 | |
CN107846709B (zh) | 一种基于LoRa的无线通信装置及无线通信方法 | |
US9619005B2 (en) | Apparatus and method for saving power of USB device | |
CN105488010B (zh) | 一种背板实时同步接口协议 | |
CN109600457B (zh) | 一种多至一映射的phy-mac接口控制装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200207 |