一种数据手套的多传感数据高速同步采样方法

文档序号:25607332发布日期:2021-06-25 14:06阅读:208来源:国知局
一种数据手套的多传感数据高速同步采样方法

1.本发明涉及人机交互技术中数据手套领域,特别是一种数据手套的多传感数据高速同步采样方法。


背景技术:

2.近年来人机交互技术发展迅猛,它主要通过相关设备识别人的各种行为动作、身体姿势等与计算机设备进行交互,为用户提供自然、直观、方便的交互体验。数据手套是人机交互常用的手段,它通过光纤、弯曲电阻或者惯性器件实现对人手动作的捕捉,进而为增强现实、智能驾驶、遥操作或者医疗康复等研究课题和应用领域提供数据支撑。
3.但是目前数据手套的研究和产品都在数据采样方面存在一些问题,比如:多传感器的采样数据不同步,由于传感器数目的增加导致采样速率大幅度降低等。进而,给相关研究和产品体验带来一定的限制:多传感数据之间存在误差,无法在相同时间间隔内捕捉更多的手部运动特征,无法提供响应速度更快的交互体验等,导致相关研究无法更加细致深入,产品的用户体验较差。


技术实现要素:

4.要解决的技术问题
5.为了避免现有技术的不足之处,本发明提出一种数据手套的多传感数据高速同步采样方法,可以提高数据手套多传感数据的采样速度,并确保获取到的数据手套多传感数据为同步数据。
6.技术方案
7.一种数据手套的多传感数据同步高速采样方法,微处理器和n个搭载于数据手套的传感器节点,所述的微处理器包括控制调度模块、数据传输模块和数据缓存模块;其特征在于步骤如下:
8.步骤1:微处理器的控制调度模块向所述的多个传感器节点发送同步信号;
9.步骤2:每个传感器节点接收到来自所述微处理器发送的同步信号后,开始采集传感器数据;
10.步骤3:每个传感器节点将采集到的多组传感器数据存储在传感器节点的缓存区;
11.步骤4:当传感器节点的缓存区中数据数目达到缓存区大小后,传感器节点向微处理器发送中断请求;
12.步骤5:微处理器的控制调度模块接收到中断请求后,启动微处理器的数据传输模块响应中断请求;
13.步骤6:微处理器的数据传输模块与传感器节点建立高速通信,接收传感器节点的缓存区数据;
14.步骤7:微处理器的数据传输模块将接收到的传感数据实时存储在微处理器的数据缓存模块;
15.步骤8:待微处理器的数据传输模块传输数据结束后,微处理器的控制调度模块响应来自其他传感器节点的中断请求,重复步骤5~8。
16.本发明技术方案更进一步的说:所述的n值满足条件:2≤n≤18,且n取正整数。
17.本发明技术方案更进一步的说:所述的搭载于数据手套的传感器节点包括大小为512字节的先进先出缓存区。
18.本发明技术方案更进一步的说:所述的搭载于数据手套的传感器节点包括将mems惯性传感器和磁力计进行封装后的传感器。
19.本发明技术方案更进一步的说:所述的传感器数据为一组包括三轴加速度测量数据、三轴角速度测量数据和三轴磁力计测量数据的数据。
20.本发明技术方案更进一步的说:所述的采用spi高速串行通信协议与dma硬件结合的方式进行数据传输。
21.有益效果
22.本发明相较于现有的数据手套数据采样方法,本发明具有的有益效果是:
23.(1)本发明通过微处理器的控制调度模块向所有传感器节点发送帧同步信号,确保数据手套上多个传感器节点同步采样,避免多传感数据之间因采样时间不同导致的误差;
24.(2)由于传感器节点与微控制器的每次数据传输过程,都存在通信本身的开销。本发明在传感器节点设置缓存区,存储传感器节点上连续时刻的传感数据,通过将存储的多组传感数据整体发送,传感器节点与微控制器的通信次数减至一次,从而减少一部分通信开销,降低多传感数据在传感器节点和微处理器数据传输模块的处理时延;并且采用传输速率高的spi通信总线,降低数据在通信信道上的传播时延;且在微处理器中采用dma传输,避免等待微处理器cpu的处理,降低多传感数据在微处理器上的排队时延和处理时延。基于以上技术手段,本发明能够高速地完成多传感数据从多传感器节点到微处理器的传输;
25.(3)本发明能够高速地完成多传感数据从多传感器节点到微处理器的传输,降低了数据传输造成的时延,因此,本发明能够以较高的频率和较好的实时性对数据手套的多传感数据进行采样。
附图说明
26.图1是本发明数据手套的多传感数据同步高速采样方法的原理框图。
27.图2是本发明数据手套的多传感数据同步高速采样方法的流程示意图。
具体实施方式
28.现结合实施例、附图对本发明作进一步描述:
29.本发明针对现有数据手套的数据采样方法所存在的一些问题,提出了一种数据手套的多传感数据同步高速采样方法,通过设计一种数据采集、存储和传输的方法,可以将数据手套的多传感同步数据高速地传输到微处理器,并且与现有数据手套研究和产品相比,该发明可以获得更高的数据采样率。
30.如图1所示,本发明数据手套的多传感数据同步高速采样方法,包括微处理器和n个搭载于数据手套的传感器节点。所述微处理器包括控制调度模块、数据传输模块和数据
缓存模块;所述传感器节点包括一个先进先出缓存区和一个由mems惯性传感器和磁力计封装的传感器。
31.所述传感器节点的先进先出缓存区是一个大小为512字节的存储区域。数据手套的每一个传感器节点将采集的传感器数据按照固定格式存放在各自传感器节点的先进先出缓存区。其中,一组传感器数据包括三轴加速度测量数据、三轴角速度测量数据和三轴磁力计测量数据,其数据格式如表1所示。所述的先进先出缓存区存储的传感器数据达到512字节时,传感器节点会触发缓存区溢出中断,并且该中断信号可传输到微处理器。
32.所述传感器节点可以接收来自微处理器发送的帧同步信号,传感器节点接收到所述的帧同步信号时,启动传感器进行采样。
33.表1一组传感器数据的格式
[0034][0035]
所述的微处理器控制调度模块,负责整个方法的调度和控制,具体处理以下两种事件:第一,向数据手套的多传感器节点发送帧同步信号;第二,处理来自多个传感器的缓存区溢出中断。
[0036]
所述的微处理器数据传输模块,使用spi高速通信协议与dma传输相结合的方式接收存储在传感器节点先进先出缓存区的传感器数据。
[0037]
i2c和spi是嵌入式系统中常见的两种串行通信协议,i2c协议是官方标准的串行通信协议,适合远距离通信,不易受噪声干扰,使用方便,由于是官方标准,拥有良好的兼容性;spi协议是一种事实协议,传输距离较短,易于理解和实施,并且为扩展和变体提供了很大灵活性,可以提供更高的数据传输性能和几乎完全的自由度。所述传感器节点支持i2c和spi两种通信协议,其中,i2c通信方式的最快速率为400khz,而spi通信方式的最快速率可以达到1mhz。相比而言,数据手套采用spi通信方式可以确保数据更快地从传感器节点传输到微处理器。
[0038]
dma是直接存储器访问(direct memory access)的缩写。dma传输方式无需cpu直接控制传输,cpu仅初始化传输动作,传输动作本身由dma控制器来实现和完成,可以大大提高数据的传输速度。所述微处理器数据传输模块采用dma传输,可以减少数据传输对微处理器cpu的占用,从而使得微处理器的cpu在数据传输过程中,可以执行其他的数据转存或运算操作。
[0039]
所述的微处理器数据缓存模块,包括一个双缓存区。所述双缓存区包括两块大小均为512字节的存储区。由于数据传输模块使用dma传输,而dma传输需要指定传输的目标存储空间,因此限定数据传输模块所使用的目标存储空间为双缓存区中的任一存储区。进一步地,为了提高数据的传输效率并且避免数据覆盖,在新的一次dma传输事务开始前,数据传输模块的目标存储空间将被更换,由双缓存区中的一个存储区更换为双缓存区中的另一个存储区。进一步地,设置两个存储指针,分别指向双缓存区两个存储区的首地址,新的一次dma传输事务开始前,交换数据传输模块指向目标存储空间的存储指针,进而更换数据传输模块的目标存储空间。在新的一次dma传输事务中,双缓存区中的一个存储区用来接收数
据传输模块传输的数据,而另一个存储区中存放上一次dma传输事务接收的全部数据,这些数据将被微处理器及时传输到pc等中央处理设备作进一步分析处理。通过设置双缓存区的方式,将数据的传输和处理分离,可以在dma硬件进行数据传输的同时,使用微处理器的cpu对上一次传输的数据进行处理,避免因cpu执行其他任务而阻塞数据传输。
[0040]
图2说明了本发明数据手套的多传感数据同步高速采样方法的具体流程。整个方法的具体实施流程为:
[0041]
(1)微处理器的控制调度模块向数据手套的所有传感器节点同时发送帧同步信号;
[0042]
(2)数据手套的传感器节点接收到帧同步的信号后,同时开始采样,确保了数据手套的多个传感器能够同步采样;
[0043]
(3)传感器节点将采样得到的传感器数据存储在传感器节点自身设置的先进先出缓存区,将多组传感器数据存储在缓存区,避免了将每组传感器数据传输到微处理器带来的通信开销;
[0044]
(4)传感器数据按组存储在传感器节点的先进先出缓存区,直到传感器节点先进先出缓存区的512字节存储空间全部被传感器数据占用,由于一组传感器数据的大小与先进先出缓存区大小不是倍数关系,因此,先进先出缓存区中会存在一组不完整的传感器数据,在后续的数据处理阶段将此组数据抛弃即可;
[0045]
(5)传感器节点的先进先出缓存区产生溢出中断,并将中断状态通过信号线传输到微处理器;
[0046]
(6)微处理器的控制调度模块接收到来自传感器节点的中断信号后,开启数据传输模块进行数据传输。数据传输模块使用spi高速通信和dma传输方式,大大提高了数据的传输速度。其中,数据传输模块的具体执行流程如下:
[0047]
a)交换dma传输目标存储空间的存储指针,避免上一次dma传输的数据被此次dma传输的数据覆盖;
[0048]
b)使能dma通道;
[0049]
c)通过spi通信方式,高速传输传感器节点先进先出缓存区的数据;
[0050]
d)dma硬件自动将spi接收到的数据实时存储在设置的存储区;由于使用了dma硬件进行传输,不占用微处理器的cpu,此时的cpu可以执行其他数据传输或运算任务,比如:将双缓存区中另一存储区的数据发送到pc等中央处理设备;
[0051]
e)待传感器节点先进先出缓存区的全部数据均被数据传输模块接收并存放在双缓存区的存储区后,dma产生数据传输完成中断。
[0052]
(7)微处理器的控制调度模块响应dma传输完成中断:关闭spi通信,失能dma通道;
[0053]
(8)微处理器的控制调度模块响应其他传感器节点的中断请求,具体流程如上述(6)~(7),直到微处理器接收了所有传感器节点先进先出缓存区的传感器数据;
[0054]
(9)微处理器接收了所有传感器节点先进先出缓存区的传感器数据后,重复步骤(1)~(8)。
[0055]
通过所述数据手套的多传感数据同步高速采样方法,可以提高数据手套多传感数据的采样速度,并确保获取到的数据手套多传感数据为同步数据。
[0056]
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。
熟悉本领域技术的人员可以很容易对上述实施例提到的方法做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1