CN112422242B - 一种提高发送数据安全性的方法和异构系统 - Google Patents

一种提高发送数据安全性的方法和异构系统 Download PDF

Info

Publication number
CN112422242B
CN112422242B CN202011274234.7A CN202011274234A CN112422242B CN 112422242 B CN112422242 B CN 112422242B CN 202011274234 A CN202011274234 A CN 202011274234A CN 112422242 B CN112422242 B CN 112422242B
Authority
CN
China
Prior art keywords
chip
packet
data packet
data
confirmation
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.)
Active
Application number
CN202011274234.7A
Other languages
English (en)
Other versions
CN112422242A (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.)
Zhuhai Amicro Semiconductor Co Ltd
Original Assignee
Zhuhai Amicro Semiconductor 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 Zhuhai Amicro Semiconductor Co Ltd filed Critical Zhuhai Amicro Semiconductor Co Ltd
Priority to CN202011274234.7A priority Critical patent/CN112422242B/zh
Publication of CN112422242A publication Critical patent/CN112422242A/zh
Application granted granted Critical
Publication of CN112422242B publication Critical patent/CN112422242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种提高发送数据安全性的方法和异构系统,所述异构系统包括芯片A与芯片B,所述芯片A与芯片B各自具有一套相同的信息收发系统,用于芯片A和芯片B判断是否发生丢包,所述信息收发系统包括数据包和心跳包。所述数据包至少包括待处理数据、数据包ID和确认ID中的任一种,所述心跳包至少包括数据包ID和确认ID中的任一种,所述数据包ID和确认ID随着数据在芯片A和芯片B之间的收发进行更新。本发明所述的方法可以让芯片通过确认ID判断是否发生丢包,从而提高发送数据的安全性。

Description

一种提高发送数据安全性的方法和异构系统
技术领域
本发明涉及异构系统数据通信领域,具体涉及一种提高发送数据安全性的方法和异构系统。
背景技术
目前,在一些智能机器人上,比如采用激光或视觉方案的扫地机器人,至少由两个主控芯片组成,一个是单片机如STM32的级别,一个是AP如cortex-a7的级别。前者用于控制电机与采集数据,一般跑RTOS等实时操作系统,后者用于复杂算法计算,一般跑linux/android等大系统。为了实现机器人的功能,需要两个主控芯片协调合作,而这必然涉及芯片与芯片之间的数据通信问题。一般来说,两颗芯片之间采用通用异步串行收发接口UART或串行外设接口SPI进行通信。而这些通信是不可靠的,没法保证对方安全收到数据。
发明内容
为解决上述问题,本发明提供了一种提高发送数据安全性的方法和异构系统,可以确保接收方在丢包场景下也能安全地接收到数据。本发明的具体技术方案如下:
一种提高发送数据安全性的方法,芯片A和芯片B之间互相发送数据包,所述方法具体如下:芯片A接收芯片B的数据包或心跳包;如果芯片A接收到的是数据包,则芯片A读取数据包中的确认ID并与芯片A最近一次发送给芯片B的数据包ID进行比较,若两者相同,则表明芯片B成功接收到芯片A最近一次发送的数据包,那么芯片A更新其确认ID并添加到芯片A下一次发送给芯片B的数据包中;若两者不相同,则表明芯片B没有接收到芯片A最近一次发送的数据包,那么芯片A更新其确认ID并添加到芯片A最近一次发送过的数据包中,然后发送给芯片B;如果芯片A接收到的是心跳包,则芯片A读取心跳包中的确认ID并与芯片A最近一次发送给芯片B的数据包ID进行比较,若两者相同,则表明芯片B成功接收到芯片A最近一次发送的数据包;若两者不相同,则表明芯片B没有接收到芯片A最近一次发送的数据包,那么芯片A重新发送最近一次发送的数据包给芯片B。本发明所述的方法,通过数据包ID和确认ID之间的比较和心跳包不断传输数据包ID和确认ID的功能,确保了能及时发现丢包现象并重新发送,提高了数据发送的安全性。
进一步地,所述芯片A和芯片B根据发送指令来发送所述数据包。
进一步地,所述芯片A会按预设的时间间隔接收和发送心跳包;所述接收的心跳包中的数据包ID和确认ID分别为芯片B最近一次发送过的数据包的ID和接收过的数据包的ID,所述发送的心跳包中的数据包ID和确认ID分别为芯片A最近一次发送过的数据包的ID和接收过的数据包的ID;所述心跳包可以让芯片A和芯片B保持通信,并通过对方发送的确认ID判断数据包是否丢失。心跳包的设计可以使得数据包ID和确认ID不断地在芯片之间进行传输,避免了一方没有传输数据包时,另一方无法判断是否丢包的问题,同时,也可以用于确定系统是否能够正常通信。
进一步地,所述确认ID的更新方法为,使用接收到的数据包ID替换原本的确认ID,用于表明已接收到的数据包。用接收到的数据包ID更新确认ID并发送给对方,可以让对方知道自己的数据包已被成功接收。
一种异构系统,所述异构系统包括芯片A和芯片B。芯片A和芯片B采用前述的一种提高发送数据安全性的方法进行通信,通过数据包ID和确认ID之间的比较和心跳包不断传输数据包ID和确认ID的功能,确保了芯片A和芯片B能及时发现丢包现象并重新发送,提高了数据发送的安全性。
进一步地,所述芯片A与芯片B各自具有一套相同的信息收发系统,用于芯片A和芯片B判断发送的数据包是否丢失,所述信息收发系统包括数据包和心跳包。相同的信息收发系统确保了芯片A和芯片B能够以同样的方法判断是否发生丢包。
进一步地,所述数据包至少包括待处理数据、数据包ID和确认ID中的任一种。
进一步地,所述心跳包至少包括数据包ID和确认ID中的任一种。
本发明的有益效果在于:本发明公开的一种提高发送数据安全性的方法和异构系统,维护了一套信息收发系统,让芯片可以通过确认ID判断是否发生丢包,从而提高发送数据的安全性。
附图说明
图1为本发明一种实施例所述提高发送数据安全性的方法流程图。
图2为本发明一种实施例所述提高发送数据安全性的异构系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
如图1所示,一种提高发送数据安全性的方法,芯片A和芯片B之间互相发送数据包,所述方法具体如下:芯片A接收芯片B的数据包或心跳包;如果芯片A接收到的是数据包,则芯片A读取数据包中的确认ID并与芯片A最近一次发送给芯片B的数据包ID进行比较,若两者相同,则表明芯片B成功接收到芯片A最近一次发送的数据包,那么芯片A更新其确认ID并添加到芯片A下一次发送给芯片B的数据包中;若两者不相同,则表明芯片B没有接收到芯片A最近一次发送的数据包,那么芯片A更新其确认ID并添加到芯片A最近一次发送过的数据包中,然后发送给芯片B;如果芯片A接收到的是心跳包,则芯片A读取心跳包中的确认ID并与芯片A最近一次发送给芯片B的数据包ID进行比较,若两者相同,则表明芯片B成功接收到芯片A最近一次发送的数据包;若两者不相同,则表明芯片B没有接收到芯片A最近一次发送的数据包,那么芯片A重新发送最近一次发送的数据包给芯片B。本实施例所述的方法,通过数据包ID和确认ID之间的比较和心跳包不断传输数据包ID和确认ID的功能,确保了能及时发现丢包现象并重新发送,提高了数据发送的安全性。
作为其中一种实施例,所述芯片A和芯片B根据发送指令来发送所述数据包。
作为其中一种实施例,所述芯片A会按预设的时间间隔接收和发送心跳包;所述接收的心跳包中的数据包ID和确认ID分别为芯片B最近一次发送过的数据包的ID和接收过的数据包的ID,所述发送的心跳包中的数据包ID和确认ID分别为芯片A最近一次发送过的数据包的ID和接收过的数据包的ID;所述心跳包可以让芯片A和芯片B保持通信,并通过对方发送的确认ID判断数据包是否丢失。本实施例所述的心跳包的设计可以使得数据包ID和确认ID不断地在芯片之间进行传输,避免了一方没有传输数据包时,另一方无法判断是否丢包的问题,同时,也可以用于确定系统是否能够正常通信。
作为其中一种实施例,所述确认ID的更新方法为,使用接收到的数据包ID替换原本的确认ID,用于表明已接收到的数据包。本实施例所述的方法,用接收到的数据包ID更新确认ID并发送给对方,可以让对方知道自己的数据包已被成功接收。
如图2所示,一种异构系统,所述异构系统包括芯片A和芯片B。芯片A和芯片B采用前述的一种提高发送数据安全性的方法进行通信,本实施例所述的方法,通过数据包ID和确认ID之间的比较和心跳包不断传输数据包ID和确认ID的功能,确保了芯片A和芯片B能及时发现丢包现象并重新发送,提高了数据发送的安全性。
作为其中一种实施例,所述芯片A与芯片B各自具有一套相同的信息收发系统,用于芯片A和芯片B判断发送的数据包是否丢失,所述信息收发系统包括数据包和心跳包。本实施例所述的相同的信息收发系统确保了芯片A和芯片B能够以同样的方法判断是否发生丢包。
作为其中一种实施例,所述数据包至少包括待处理数据、数据包ID和确认ID中的任一种。
作为其中一种实施例,所述心跳包至少包括数据包ID和确认ID中的任一种。
下面结合附图2对本发明的内容做进一步的描述。
图2展示了一个包含芯片A和芯片B的异构系统,芯片A和芯片B在互相传输数据。一般,芯片之间使用的是UART或SPI传输,但是如果直接传输数据,可能会丢包,而且很难被发现。所以,本发明在需要传输的数据包中加入了一个msg_id(数据包ID)和ack_id(确认ID),通过两个ID之间的比较来判断是否发生丢包。所述数据包是一个结构体,根据需要还可以添加其他参数,比如数据长度和数据校验参数等。需要说明的是,芯片A和芯片B各自维护一套相同的信息收发系统,其中发挥主要作用的是msg_id和ack_id,每个系统的msg_id分别计算,即芯片A与芯片B都会有msg_id=1的包,但代表的是不同的包。本发明还设计了心跳包,该心跳包中也含有msg_id和ack_id,所述心跳包是一个结构体,根据需要还可以添加其他参数,比如内存使用和工作进度等。心跳包按照一定的时间间隔在两颗芯片之间不断传输,比如40ms传输一次。而且,心跳包的传输与芯片之间因任务需要而产生的数据传输是互不干扰的,它是后台的一个定时任务。心跳包的存在可以满足msg_id和ack_id不断传输的需求,避免其中一颗芯片不传输数据或者丢包时,另一颗芯片因接收不到ack_id而无从判断其最近一次发送的数据包是否丢包的情况,同时,还能确定系统的通信是否正常。
假设芯片A接收到传输数据的命令,因芯片A发送数据包时没有接收到任何数据,所以向芯片B传输的数据包中的msg_id=1,ack_id=0。这个数据包没有丢失,芯片B在成功接收后,读取芯片A的msg_id并赋值给自己的ack_id,即当前芯片B的ack_id=1,然后芯片B将此ack_id写入下一次要发给芯片A的数据包中。同时,心跳包中的ack_id也会得到更新。
芯片B同样接收到传输数据的命令,此时向芯片A传输一个msg_id=1,ack_id=1的数据包,这个数据包也没有丢失。于是,芯片A读取数据包中的ack_id与其最近一次发送给芯片B的msg_id进行比较,发现两者相同,表明芯片B安全接收到了芯片A发送的msg_id=1的数据包。然后,芯片A给自己的ack_id赋值并写入下一次要发给芯片B的数据包中。
芯片A给芯片B发送数据包,此时msg_id=2,ack_id=1。但是这个数据包丢失,芯片B没有接收到,那么芯片B就没法根据芯片A返回的ack_id判断其发送给芯片A的msg_id=1的数据包是否丢失。这时,一直运行在后台的心跳包发挥了作用:它将当前芯片B的msg_id和ack_id发送给了芯片A。芯片A经过比较,发现其最近一次发送过msg_id=2的数据包,但是接收的芯片B的ack_id=1,两者不相等,表明msg_id=2的数据包丢失。于是芯片A重新发送该包给芯片B,确保芯片B能够安全地收到数据。
对于发送过的数据包,芯片A和芯片B都会去确认对方是否成功接收到,这可以通过数据包的传输来完成,也可以通过心跳包的传输来完成,一旦发现丢包,就会重新发送一次,提高了发送数据的安全性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种提高发送数据安全性的方法,芯片A和芯片B之间互相发送数据包,其特征在于,所述方法具体如下:
芯片A接收芯片B的数据包或心跳包;
如果芯片A接收到的是数据包,则芯片A读取数据包中的确认ID并与芯片A最近一次发送给芯片B的数据包ID进行比较,若两者相同,则表明芯片B成功接收到芯片A最近一次发送的数据包,那么芯片A更新其确认ID并添加到芯片A下一次发送给芯片B的数据包中;若两者不相同,则表明芯片B没有接收到芯片A最近一次发送的数据包,那么芯片A更新其确认ID并添加到芯片A最近一次发送过的数据包中,然后发送给芯片B;
如果芯片A接收到的是心跳包,则芯片A读取心跳包中的确认ID并与芯片A最近一次发送给芯片B的数据包ID进行比较,若两者相同,则表明芯片B成功接收到芯片A最近一次发送的数据包;若两者不相同,则表明芯片B没有接收到芯片A最近一次发送的数据包,那么芯片A重新发送最近一次发送的数据包给芯片B。
2.根据权利要求1中所述的一种提高发送数据安全性的方法,其特征在于,所述芯片A和芯片B根据发送指令来发送所述数据包。
3.根据权利要求1中所述的一种提高发送数据安全性的方法,其特征在于,所述芯片A会按预设的时间间隔接收和发送心跳包;所述接收的心跳包中的数据包ID和确认ID分别为芯片B最近一次发送过的数据包的ID和接收过的数据包的ID,所述发送的心跳包中的数据包ID和确认ID分别为芯片A最近一次发送过的数据包的ID和接收过的数据包的ID;所述心跳包可以让芯片A和芯片B保持通信,并通过对方发送的确认ID判断数据包是否丢失。
4.根据权利要求1中所述的一种提高发送数据安全性的方法,其特征在于,所述确认ID的更新方法为,使用接收到的数据包ID替换原本的确认ID,用于表明已接收到的数据包。
5.一种异构系统,其特征在于,该异构系统采用上述权利要求1至4中任一项所述的提高发送数据安全性的方法来发送数据,包括芯片A和芯片B。
6.根据权利要求5中所述的一种异构系统,其特征在于,所述芯片A与芯片B各自具有一套相同的信息收发系统,用于芯片A和芯片B判断发送的数据包是否丢失,所述信息收发系统包括数据包和心跳包。
7.根据权利要求6中所述的一种异构系统,其特征在于,所述数据包至少包括待处理数据、数据包ID和确认ID中的任一种。
8.根据权利要求6中所述的一种异构系统,其特征在于,所述心跳包至少包括数据包ID和确认ID中的任一种。
CN202011274234.7A 2020-11-15 2020-11-15 一种提高发送数据安全性的方法和异构系统 Active CN112422242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011274234.7A CN112422242B (zh) 2020-11-15 2020-11-15 一种提高发送数据安全性的方法和异构系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011274234.7A CN112422242B (zh) 2020-11-15 2020-11-15 一种提高发送数据安全性的方法和异构系统

Publications (2)

Publication Number Publication Date
CN112422242A CN112422242A (zh) 2021-02-26
CN112422242B true CN112422242B (zh) 2022-03-04

Family

ID=74832665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011274234.7A Active CN112422242B (zh) 2020-11-15 2020-11-15 一种提高发送数据安全性的方法和异构系统

Country Status (1)

Country Link
CN (1) CN112422242B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100025066A (ko) * 2008-08-27 2010-03-09 (주) 엘지텔레콤 무선 네트워크에서의 유디피를 이용한 데이터 전송 시스템및 그 방법
CN104202414A (zh) * 2014-09-17 2014-12-10 合一网络技术(北京)有限公司 基于udp的可靠传输方法
WO2016106780A1 (zh) * 2015-01-04 2016-07-07 华为技术有限公司 一种用户数据的传输方法、装置及终端
CN108199811A (zh) * 2017-12-28 2018-06-22 深圳市瑞云科技有限公司 一种数据传输方法
CN110855626A (zh) * 2019-10-18 2020-02-28 北京字节跳动网络技术有限公司 电子白板丢包处理方法、系统、介质和电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070109313A (ko) * 2006-05-10 2007-11-15 삼성전자주식회사 고속 데이터 처리를 위한 효율적인 재전송 요청 장치 및방법
JP4905395B2 (ja) * 2008-03-21 2012-03-28 富士通株式会社 通信監視装置、通信監視プログラム、および通信監視方法
CN108933735B (zh) * 2017-05-27 2020-12-25 华为技术有限公司 一种报文发送的方法、装置及设备
CN113728604B (zh) * 2019-02-05 2023-09-08 卡萨系统公司 用于恢复网络关联信息的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100025066A (ko) * 2008-08-27 2010-03-09 (주) 엘지텔레콤 무선 네트워크에서의 유디피를 이용한 데이터 전송 시스템및 그 방법
CN104202414A (zh) * 2014-09-17 2014-12-10 合一网络技术(北京)有限公司 基于udp的可靠传输方法
WO2016106780A1 (zh) * 2015-01-04 2016-07-07 华为技术有限公司 一种用户数据的传输方法、装置及终端
CN108199811A (zh) * 2017-12-28 2018-06-22 深圳市瑞云科技有限公司 一种数据传输方法
CN110855626A (zh) * 2019-10-18 2020-02-28 北京字节跳动网络技术有限公司 电子白板丢包处理方法、系统、介质和电子设备

Also Published As

Publication number Publication date
CN112422242A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US7873007B2 (en) Method for retransmitting data in the multi-carrier system
RU2409900C2 (ru) Использование заголовка кадрового протокола для сообщения контроллеру радиосети о том, что узел "в" не способен определить или точно определить число повторных передач
US20100260102A1 (en) Communication protocol for wireless enhanced controller area networks
EP2557741B1 (en) Method and apparatus for sending / receiving downlink control signaling
EP3941137A1 (en) User equipment assistance for resource selection in new radio vehicle to everything
KR100304648B1 (ko) 무선통신시스템에서무선자원할당방법
EP1231736B1 (en) Wireless data communication
JP2008306549A (ja) 無線制御局、及び無線端末局の制御方法、当該制御方法をコンピュータに実行させるためのコンピュータプログラム
CN110753284A (zh) 无线耳机通信方法、系统及无线耳机
CN112422242B (zh) 一种提高发送数据安全性的方法和异构系统
CN112422238B (zh) 提高并行发送数据安全性的方法和异构系统
CN110677302B (zh) 一种通信控制方法、装置及系统
CN111405609B (zh) 一种数据传输方法、装置、系统、介质和设备
EP3094033A1 (en) Base station, user equipment and adaptive retransmission method
JP2020061655A (ja) 通信システム
KR20080016260A (ko) 차량 정보 전달 조절 시스템
US20230262812A1 (en) Wireless communication control device, wireless communication device, and wireless communication control method
CN115277295B (zh) 控制器的通信方法及控制器
JPS6172432A (ja) 通信制御方式
CN116636171A (zh) Harq反馈方法、装置、设备及存储介质
JP2989917B2 (ja) 多重伝送方式
CN114096463A (zh) 可移动平台的控制方法、装置、可移动平台及存储介质
JPH1155348A (ja) データ通信方法
JPS62219893A (ja) ワイアレスリモ−トコントロ−ル装置
JPH06284166A (ja) データ通信方式

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
CB02 Change of applicant information

Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong

Applicant after: Zhuhai Yiwei Semiconductor Co., Ltd

Address before: 519000 room 105-514, No. 6, Baohua Road, Hengqin new area, Zhuhai City, Guangdong Province (centralized office area)

Applicant before: Zhuhai Yiwei Semiconductor Co., Ltd

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant