一种基于串口的ARM和UWB无线数据透传处理方法与流程

阅读: 评论:0


一种基于串口的arm和uwb无线数据透传处理方法
技术领域
1.本发明涉及无线数据处理领域,尤其涉及一种基于串口的arm和uwb无线数据透传处理方法。


背景技术:



2.随着技术的发展,分布式系统越来越庞大,原来的电缆网络通信方式虽然也可实现数据交换的功能,但是其占用空间体积和重量越来越大,带来的成本增加甚至超过了关键性设备,为了解决这一问题无线通信应运而生,即通过无线的方式进行数据传输,但是现有的民用或专用的无线网络频带资源随着发展越来越拥挤,这会导致数据的传输速率降低,进而导致信号传输的稳定性大大降低,增大了信号传输的延迟时间。


技术实现要素:



3.本发明针对现有技术存在的不足,提供了一种基于串口的arm和uwb无线数据透传处理方法,具体技术方案如下:
4.一种基于串口的arm和uwb无线数据透传处理方法,包括以下步骤:
5.s1:建立至少两组数据交互模块(a,b);
6.s2:通过所述数据交互模块a接受用户发送的数据,并将接受的数据附加信息标识后传递至所述数据交互模块b;
7.s3:数据交互模块b将数据交互模块a传递的数据附加帧号后进行检测并将通过检测的附加帧号后的数据传输给数据交互模块a以及其他用户;
8.s4:通过所述数据交互模块a执行下一次数据传输并在下一次传输的数据当中附加上一次数据传输中数据交互模块b所附加的帧号。
9.作为上述技术方案的改进,所述数据交互模块(a,b)包括arm处理器、uwb模块以及串口模块。
10.作为上述技术方案的改进,所述步骤s1还包括:通过arm处理器建立4个环形存储区并设置4个dma通道以及4个中断。
11.作为上述技术方案的改进,所述数据交互模块a与用户以及数据交互模块b进行数据交互,所述数据交互模块b对数据交互模块a传递的数据进行响应,所述数据交互模块a配置有发送端当前帧号,所述数据交互模块b配置有接收端当前帧号。
12.作为上述技术方案的改进,所述串口模块包括有spi串口以及uart串口,所述arm处理器通过spi串口与uwb数据交互,所述arm处理器通过urat串口与用户进行数据交互。
13.作为上述技术方案的改进,4个所述环形存储区分别为数据发送缓冲区、数据接收缓冲区、长度发送缓冲区、长度接收缓冲区,所述数据发送缓冲区与长度发送缓冲区为一组环形缓冲区,所述数据接收缓冲区与长度接收缓冲区为另一组环形缓冲区,4个所述dma通道分别为uart串口发送通道、uart串口接收通道、spi串口发送通道、spi串口接收通道,4个所述中断分别为uart串口空闲中断、uart串口的dma发送完成中断、spi串口的dma发送完成
中断、uwb模块的数据接收/发送中断。
14.作为上述技术方案的改进,所述环形缓冲区设置有当前数据待接收指针与当前数据待发送指针。
15.作为上述技术方案的改进,所述数据发送缓冲区与所述数据接收缓冲区由二维数组构成,所述二维数组内存储有单帧数据帧,所述单帧数据帧包括有命令帧、帧控制、发送端帧号、网络id、目的地址、源地址、接收端帧号、有效载荷以及crc,所述长度发送缓冲区和长度接收缓冲区由一维数组构成,所述长度发送缓冲区的一维数组内存储有数据发送缓冲区的长度存储值,所述长度接收缓冲区的一位数据内存储有数据接收缓冲区的长度存储值

16.本发明的有益效果:
17.1、通过在传输的数据中附加帧号,可以在数据传输的过程中进行对数据附加的帧号进行对比,在多次数据交互中能够仅以帧号对比的方式确认数据传输是否成功,降低了系统的负载,提供了系统的数据传输速度,避免出现网络频带资源拥挤,导致信号传输不稳定的问题。
18.2、通过设置两组环形缓冲区一组用于用户发送的数据存储,一组用于用户接收的数据存储,每个数据缓冲区由数组组成,同时每个数组里提前设定命令帧,帧控制,发送端帧序号,网络id,目的地址,源地址,接收端帧序号,可省去中间转存消耗系统运行能力。
附图说明
19.图1为本发明的系统框图;
20.图2为本发明的流程示意图;
21.图3为本发明的环形缓冲区示意;
22.图4为本发明的数据流向图;
23.图5为本发明的逻辑流程图。
具体实施方式
24.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
25.现有的民用或专用的无线网络频带资源随着发展越来越拥挤,这会导致数据的传输速率降低,进而导致信号传输的稳定性大大降低,增大了信号传输的延迟时间。
26.为了解决上述问题,本实施例提供一种基于串口的arm和uwb无线数据透传处理方法,包括如下步骤:
27.s1:建立至少两组数据交互模块(a,b);
28.请参阅图1,在步骤s1中,数据交互模块(a,b)包括arm处理器,uwb模块,串口模块。
29.其中,数据交互模块a与用户以及数据交互模块b进行数据交互,数据交互模块b对数据交互模块a传递的数据进行响应,即数据交互模块a用于接收用户发送的数据,数据交互模块b用于响应数据交互模块a传递的数据并负责将传递的数据发送给其他用户,串口模块包括uart串口以及spi串口。
30.具体的,请参阅图2,步骤s1还包括通过arm处理器建立4个环形存储区并设置4个dma通道以及4个中断。
31.其中,4个所述环形存储区分别为数据发送缓冲区、数据接收缓冲区、长度发送缓冲区、长度接收缓冲区,所述数据发送缓冲区与长度发送缓冲区为一组环形缓冲区,所述数据接收缓冲区与长度接收缓冲区为另一组环形缓冲区,4个所述dma通道分别为uart串口发送通道、uart串口接收通道、spi串口发送通道、spi串口接收通道,4个所述中断分别为uart串口空闲中断、uart串口的dma发送完成中断、spi串口的dma发送完成中断、uwb模块的数据接收/发送中断。
32.请参阅图3,环形缓冲区设置有当前数据待接收指针与当前数据待发送指针。
33.此外,数据发送缓冲区和数据接收缓冲区均由一个二维数据数组组成,2个二维数组用于临时存储待传输和待发送的数据,二维数组中存储单帧数据帧,单帧数据帧内包含:命令帧、帧控制、发送端帧号、网络id、目的地址、源地址、接收端帧号、有效载荷、crc。
34.在执行步骤s1之后、执行步骤s2之前还需要进行整体的初始化操作,即需要对各个环形缓冲区进行初始化,并写入网络id、目的地址、源地址等数据,还需要对串口模块以及uwb模块进行初始化,对于串口模块的初始化包括配置波特率、dma通道等参数,对于uwb模块进行初始化包括配置uwb模块、spi串口、dma通道的参数。
35.其中,命令帧、发送端帧号、接收端帧号根据运行情况实施更改,crc由uwb模块自动生成校验。
36.crc即循环冗余校核,是一种根据网络数据包或电脑文件等数据产生简短固定位数校核码的快速算法,主要用来检测或校核数据传输或者保存后可能出现的错误。
37.s2:通过所述数据交互模块a接受用户发送的数据,并将接受的数据附加信息标识后传递至数据交互模块b。
38.数据交互模块a周期性发送数据帧或者无载荷的心跳帧,数据交互模块b收到数据交互模块a的数据帧或者无载荷的心跳帧后立即回应数据帧或者心跳帧。即数据交互模块a与数据交互模块b之间实时建立一条数据交互的高速通道,数据不停地在高速通道中传输,有数据时正常传输数据帧,而无数据时则传输无载荷的心跳帧,正常数据帧的传输和心跳帧的传输以不间断的周期进行。每次接收到的数据直接存入“数据发送缓冲区”,接收到的长度存入“长度发送缓冲区”,每次数据交互模块a发送至数据交互模块b的单帧数据帧都带有当前帧号,通过uwb模块校验并确定为新帧,且为连续帧后更新数据发送缓冲区和长度发送缓冲区的当前数据待接收指针,同时更新发送端当前帧号和接收端当前帧号。
39.具体的,数据交互模块a通过uart串口接收到用户的透传数据,数据存入提前配置的“数据接收缓冲区”的数组内特定的位置即数据帧的有效载荷,长度存入“长度接收缓冲区”内,由于数据产生更新,“当前数据待接收指针”增加,“发送端当前帧号”增加,当arm处理器检测到“当前数据待发送指针”落后“当前数据待接收指针”时,即表面有需要发送的数据,arm处理器通过spi串口从dma通道将数据发送至uwb模块,数据交互模块b的arm处理器检测到uwb模块的中断,然后arm处理器通过spi串口从dma通道读取uwb模块接收到的数据,数据存入数据交互模块b的“数据发送缓冲区”,长度存入“长度发送缓冲区”,同时对数据进行判断,若判断结果为有效帧,则使“当前数据待接收指针”指向下一个位置。
40.数据交互模块a对数据附加的信息标识包括命令帧、帧控制、网络id、目的地址、源
地址、有效载荷以及接收端帧号、发送端帧号等,其中接收端帧号需要在第二次及以后的数据传递中附加,第一次数据传输中因为没有与数据交互模块b完成交互,因此不存在接收端帧号,发送端帧号在初次传递数据时即附加至数据帧并传递给数据交互模块b。
41.s3:数据交互模块b将数据交互模块a传递的数据附加帧号后进行检测并将通过检测的附加帧号后的数据传输给数据交互模块a以及其他用户。
42.其中,对于数据传输给其他用户的部分:由于“当前数据待接收指针”指向下一个位置,因此数据交互模块b的arm处理器会检测到“数据发送缓冲区”的“当前数据待发送指针”和“当前数据待接收指针”差1,通过arm处理器将“当前数据待接收指针”的数据通过uart串口从dma通道发送有效载荷给其他用户,完成数据的发送。
43.对于数据传输给数据交互模块a的部分:数据交互模块a发送数据帧至数据交互模块b后,数据交互模块b将数据交互模块a中的发送端当前帧号写入数据帧,并通过uwb模块对写入发送端当前帧号的数据帧进行crc计算,校核数据传输或保存是否出现错误,校验所得到的crc数据存入数据帧的尾帧,将具有发送端当前帧号以及crc数据的数据帧附加数据交互模块b的接收端当前帧号后再重新发送至数据交互模块a中,通过数据交互模块a对发送的数据帧再次进行crc计算,若发送的数据通过crc计算,即数据交互模块b发送的数据帧中的发送端帧号与数据交互模块a中所记载的帧号一致,则表示数据交互模块b接收到了数据交互模块a所发送的数据帧。
44.数据交互模块a和数据交互模块b建立连接时,数据交互模块b始终处于监听状态,无论数据交互模块a先上电还是数据交互模块b先上电,都由数据交互模块a发送握手帧,通过数据交互模块b发送回应帧建立连接,即数据的交互始终由数据交互模块a发起,建立连接包括初始化新上电的“数据接收缓冲区”的信息预置,即初始化数据接收缓冲区的“当前数据待接收指针”,“当前数据待发送指针”,“发送端当前帧号”,“接收端当前帧号”。
45.s4:通过数据交互模块a执行下一次数据传输并在下一次传输的数据当中附加上一次数据传输中数据交互模块b所附加的帧号。
46.执行步骤s4中的“通过数据交互模块a执行下一次数据传输”之前,需要先执行“判断uwb模块是否发送成功”以及“检测是否产生uwb模块的数据接收/发送中断”这两个步骤。
47.在执行初始化操作之后、执行步骤s2之前,需要先判断uwb模块是否发送成功,即判断数据接收缓冲区是否有新数据,有新数据则通过spi模块将数据帧写入uwb模块并启动发送,若没有新数据则通过spi模块将无载荷的心跳帧写入uwb模块并启动发送,无载荷的心跳帧即不负载数据的空帧。
48.此处的“判断uwb模块是否发送成功”是指在数据交互模块a与数据交互模块b开始第一次交互之后,此处的判断是为了保证在无新数据传递的情况下,uwb模块以发送无载荷的心跳帧的方式来维持周期性的数据传输,通过此种方式来保证数据交互模块a与数据交互模块b之间始终有数据进行传输,能够测试高速通道是否能正常传输数据,以保证通道无法出现问题时能够及时发现。
49.在uwb模块确认发送数据之后,检测是否产生uwb模块的数据接收/发送中断,uwb模块的数据接收/发送中断标志通常包括有模块错误中断、发送完成中断和接受完成中断。
50.若出现发送完成中断则执行数据传输,若出现接收完成中断则执行步骤s2,若模块错误中断判定为否,即uwb模块并未发送成功,此时复位uwb模块并重新发送数据,此处的
重新发送数据,是指在第二次发送数据时,所检测到的第一次uwb模块发送失败的信息,因此此处的重新发送数据是指第一次uwb模块发送的数据,若产生了多次数据交互,则此处的重新发送是指上一次uwb模块发送的数据。
51.步骤s4中的“通过数据交互模块a执行下一次数据传输”指执行步骤s2,请参阅图4,在将数据发送给其他用户并执行下一次数据传输的同时,将数据帧里面数据交互模块b的帧号接收端帧序号写入数据交互模块a下一帧数据帧内进行发送,往复进行,即发送的数据帧会带上上一接收到的数据帧的帧应答,即每一个数据帧既是对接收到的数据帧进行回答,同时也搭载了自身需发送的数据组成回传帧,如此往复,提高了系统的数据传输速度。
52.同样的,在每次往复执行步骤s2的同时还需要先执行“判断uwb模块是否发送成功”以及“检测是否产生uwb模块的数据接收/发送中断”这两个步骤,以检测本次是否有新数据传输和上一次的数据传输是否正常完成。
53.图1与图3中的ack标记表示发来的数据已确认接收无误。
54.图5为本实施例的逻辑流程图,图示中记载了本实施例的循环逻辑条件。
55.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于串口的arm和uwb无线数据透传处理方法,其特征在于,包括以下步骤:s1:建立至少两组数据交互模块(a,b);s2:通过所述数据交互模块(a)接受用户发送的数据,并将接受的数据附加信息标识后传递至所述数据交互模块(b);s3:数据交互模块(b)将数据交互模块(a)传递的数据附加帧号后进行检测并将通过检测的附加帧号后的数据传输给数据交互模块(a)以及其他用户;s4:通过所述数据交互模块(a)执行下一次数据传输并在下一次传输的数据当中附加上一次数据传输中数据交互模块(b)所附加的帧号。2.根据权利要求1所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:所述数据交互模块(a,b)包括arm处理器、uwb模块以及串口模块。3.根据权利要求2所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:所述步骤s1还包括:通过arm处理器建立4个环形存储区并设置4个dma通道以及4个中断。4.根据权利要求3所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:所述数据交互模块(a)与用户以及数据交互模块(b)进行数据交互,所述数据交互模块(b)对数据交互模块(a)传递的数据进行响应,所述数据交互模块(a)配置有发送端当前帧号,所述数据交互模块(b)配置有接收端当前帧号。5.根据权利要求3所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:所述串口模块包括有spi串口以及uart串口,所述arm处理器通过spi串口与uwb数据交互,所述arm处理器通过urat串口与用户进行数据交互。6.根据权利要求5所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:4个所述环形存储区分别为数据发送缓冲区、数据接收缓冲区、长度发送缓冲区、长度接收缓冲区,所述数据发送缓冲区与长度发送缓冲区为一组环形缓冲区,所述数据接收缓冲区与长度接收缓冲区为另一组环形缓冲区,4个所述dma通道分别为uart串口发送通道、uart串口接收通道、spi串口发送通道、spi串口接收通道,4个所述中断分别为uart串口空闲中断、uart串口的dma发送完成中断、spi串口的dma发送完成中断、uwb模块的数据接收/发送中断。7.根据权利要求6所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:所述环形缓冲区设置有当前数据待接收指针与当前数据待发送指针。8.根据权利要求3-7任一所述的一种基于串口的arm和uwb无线数据透传处理方法,其特征在于:所述数据发送缓冲区与所述数据接收缓冲区由二维数组构成,所述二维数组内存储有单帧数据帧,所述单帧数据帧包括有命令帧、帧控制、发送端帧号、网络id、目的地址、源地址、接收端帧号、有效载荷以及crc,所述长度发送缓冲区和长度接收缓冲区由一维数组构成,所述长度发送缓冲区的一维数组内存储有数据发送缓冲区的长度存储值,所述长度接收缓冲区的一位数据内存储有数据接收缓冲区的长度存储值。

技术总结


本发明涉及无线数据处理领域,尤其涉及一种基于串口的ARM和UWB无线数据透传处理方法,包括:数据交互模块B将数据交互模块A传递的数据附加帧号后进行检测并将通过检测的附加帧号后的数据传输给数据交互模块A以及其他用户;通过所述数据交互模块A执行下一次数据传输并在下一次传输的数据当中附加上一次数据传输中数据交互模块B所附加的帧号。本发明通过在传输的数据中附加帧号,在多次数据交互中能够仅以帧号对比的方式确认数据传输是否成功,降低了系统的负载,提供了系统的数据传输速度,避免出现网络频带资源拥挤,导致信号传输不稳定的问题。输不稳定的问题。输不稳定的问题。


技术研发人员:

杨鑫 谭伟

受保护的技术使用者:

上海航天科工电器研究院有限公司

技术研发日:

2022.10.19

技术公布日:

2023/3/2

本文发布于:2023-03-13 10:24:12,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/69840.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   模块   缓冲区   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图