CN102523024B - 基于蓝牙通信的高容错实时信号采集*** - Google Patents
基于蓝牙通信的高容错实时信号采集*** Download PDFInfo
- Publication number
- CN102523024B CN102523024B CN201110410173.7A CN201110410173A CN102523024B CN 102523024 B CN102523024 B CN 102523024B CN 201110410173 A CN201110410173 A CN 201110410173A CN 102523024 B CN102523024 B CN 102523024B
- Authority
- CN
- China
- Prior art keywords
- signal
- time
- bluetooth communication
- communication
- real
- 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.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种基于蓝牙通信的高容错实时信号采集***,包括:采集信号的从设备,接收与处理信号的主设备,以及自定义蓝牙通信协议。此***在采集信号的同时,可计算出信号触发的精确时刻。从设备负责采集信号和触发时刻,通过自定义的蓝牙通信协议与主设备通信。主设备负责自动查找,配对,连接从设备,并通过计算当前通信延迟从而得出信号精确触发时刻,判断丢包错包问题等。自定义蓝牙通信协议则通过心跳检测与延迟测量,信号数据封装,防丢包通信机制等屏蔽掉实际应用中的信号干扰。
Description
技术领域
本发明涉及一种基于蓝牙通信的信号采集***,具体地说,涉及的是用于高容错及需精确捕捉信号触发时刻的信号采集***。
背景技术
在很多应用场景中,在利用嵌入式设备采集信号的同时,还需要采集其信号触发的精确时刻,实时地通过无线通信技术发送给计算机,并尽可能解决掉通信中的丢包错包问题。蓝牙是目前较为成熟的无线通信技术,但在传输过程中仍会出现信号丢失问题,而且通信会产生一定的延迟。对市面上使用最广的CSR蓝牙芯片进行测试,发现当通信频率足够高时,会出现明显的丢包问题,并且受距离,电磁干扰,发射功率等影响,有一定的通信延迟出现,在激光枪射击的应用中,10米通信延迟在200ms左右。
对于现有的无线信号采集解决方案,如蓝牙鼠标,对实时性要求也很高,但现有技术做到的只是尽可能地降低通信延迟,而无法采集到信号精确地触发时刻。而某些应用,如激光枪射击应用,需要精确地捕捉扳机扣动的射击时刻,这是现存技术无法解决的。另外,对于蓝牙鼠标蓝牙耳机,对容错性要求也不高,偶尔错包丢包对应用影响甚微。而若射击信号丢失,对此类应用来说是致命的。
另外,对于现有的大多数蓝牙应用,都需用户手动进行设备查找,配对连接和虚拟化串口等操作,操作烦琐,且对用户并非透明。
发明内容
本发明针对现有技术中的不足,提供一种基于蓝牙通信的高容错实时信号采集***,能够克服现有技术无法精确采集信号触发时刻和容错性弱的不足,同时克服了现有技术无法自动查找,配对,连接蓝牙设备的不足。
本发明是通过如下技术方案实现的,本发明包括:
用于采集信号及触发的精确时刻,实时响应主设备命令的从设备;
负责发起通信,接收并处理采集信号,计算信号精确触发时刻及判断丢包错包的主设备;以及
负责保证主从设备通信的自定义蓝牙通信协议。
为保证通信效率,本发明选择蓝牙虚拟串口通信方式。这里采用了主从式通信模式的设计方案:嵌入式端作为从设备,功能做得尽量精简,尽可能降低信号采集与通信的延迟,以实时采集和响应主设备的各种命令为主;而PC端作为主设备,负责发起通信,接收并处理采集到的信号,如计算当前通信延迟从而得出信号精确触发时刻,判断丢包错包问题。
在本发明中,将以激光枪射击应用作为示例来进行阐述。在激光枪射击应用需要实时采集扳机触发时刻和上膛退膛信号(别的应用中可替换成相应的事件进行捕捉)。这里从设备端采用AT89S52单片机,中断优先级为INT0>T0>INT1>T1>UART,由于只对扳机触发时刻需要精确采集,因此外部中断INT0用于扳机触发信号,外部中断INT1用于上退膛信号(中断与查询方式相结合,此为本应用特定需求,可忽略),时钟中断T0用于蓝牙信号发送的时间间隔,时钟中断T1用于蓝牙发送的波特率。外部中断由硬件电路产生的延迟可忽略不计,时钟中断则借助晶振精确地产生时间间隔。
为了保证实时性与容错性,这里采用了心跳检测与信号采集分时复用的方式,相当于单片机端的多线程。在非工作阶段,主设备向从设备发起心跳检测(示例中随机发送一个字节0xFX),若在一定时间内返回相同的字节,则心跳检测成功,以此握手及时掌控从设备的生命周期。另外,心跳检测更重要的一个目的是为了测量当前无线网络环境与通信距离下,蓝牙通信的固定延迟时间。由于通信距离和当前的无线网络环境可能会逐渐变化,经过大量实验得出的经验公式为:
新平均延迟=3/4*平均延迟+1/4*(心跳检测发送时刻-心跳检测接收时刻)/2
而信号接收时刻减去蓝牙通信固定延迟,就能精确计算出此信号触发的真正时刻,从而实现了实时性。
对于容错性,此处设计了防丢包通信机制:首先在发送信号中包含序号,以便PC端检测出丢包问题。更进一步的是,每次发送信号并非发送一个,而是发送一组信号,信号间采用固定合理的延时以防止两次通信间的干扰,此信号间的延时使用单片机的时钟中断来精确计数。
除此之外,本发明中还包括对Windows操作***蓝牙API的封装与扩展,实现了蓝牙设备查找,配对,连接的全自动化。对于用户来说,无需像以往的蓝牙应用一样,需人工判断设备与串口,手动进行连接配对,整个过程对于用户来说都是透明的。
与现有技术相比,本发明的有益效果是:实现了基于蓝牙通信的高容错信号采集,并在采集信号的同时,可计算出信号触发的精确时刻。从设备负责采集信号及触发时刻,通过自定义的蓝牙通信协议与主设备通信。主设备负责自动查找,配对,连接从设备,并通过计算当前通信延迟从而得出信号精确触发时刻,判断丢包错包问题等。自定义蓝牙通信协议则通过心跳检测与延迟测量,信号数据封装,防丢包通信机制等屏蔽掉实际应用中的信号干扰。
附图说明
图1为本发明实施例的原理示意图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施例主要包括主设备,从设备以及自定义的蓝牙协议。
从设备将信号源连接到嵌入式MCU的外部中断引脚,MCU采用中断方式采集信号及其触发时刻,并将蓝牙TX,RX连接到MCU的串口引脚,往MCU烧入包含心跳检测,信号采集与封装,防丢包通信机制的程序,即可由MCU来控制嵌入式端蓝牙信号的发送与接收。
主设备***通用的蓝牙适配器,C++库BluetoothDiscoveryDLL.dll封装了windows蓝牙标准API,封装并扩展了查找,匹配,连接蓝牙设备的接口。C#库BluetoothMgnt.dll则示例了PC端作为主设备,如何自动化查找匹配连接从设备,并负责发起通信,接收并处理采集到的信号,如计算当前通信延迟从而得出信号精确触发时刻,判断丢包错包问题。
本实施例将以激光枪射击应用作为示例来进行阐述。在示例中必定要着眼于特定的软硬件环境特定的业务需求,但并不局限于此,不具有对独特条件的依赖性,很容易扩展到类似的应用中。
本实施例中,在激光枪射击应用需要实时采集扳机触发时刻和上膛退膛信号(别的应用中可替换成相应的事件进行捕捉)。这里嵌入式端1采用AT89S52单片机,中断优先级为INT0>T0>INT1>T1>UART,由于只对扳机触发时刻需要精确采集,因此外部中断INT0用于扳机触发信号,外部中断INT1用于上退膛信号(中断与查询方式相结合,此为本应用特定需求,可忽略),时钟中断T0用于蓝牙信号发送的时间间隔,时钟中断T1用于蓝牙发送的波特率。外部中断由硬件电路产生的延迟可忽略不计,时钟中断则借助晶振精确地产生时间间隔。
本实施例中,为了保证实时性与容错性,通过心跳检测与信号采集模块,采用了心跳检测与信号采集分时复用的方式,相当于单片机端的多线程。在非射击阶段,PC端2向嵌入式端1发起心跳检测(示例中随机发送一个字节0xFX),若在一定时间内返回相同的字节,则心跳检测成功,以此握手及时掌控从设备的生命周期。另外,心跳检测更重要的一个目的是为了测量当前无线网络环境与通信距离下,蓝牙通信的固定延迟时间。由于通信距离和当前的无线网络环境可能会逐渐变化,经过大量实验得出的经验公式为:
新平均延迟=3/4*平均延迟+1/4*(心跳检测发送时刻-心跳检测接收时刻)/2
而射击信号接收时刻减去蓝牙通信固定延迟,就能精确计算出此信号触发的真正时刻,从而实现了实时性。
对于容错性,此处设计了防丢包通信机制模块:首先在发送信号中包含序号,以便PC端检测出丢包问题。更进一步的是,每次发送信号并非发送一个,而是发送一组信号,信号间采用固定合理的延时以防止两次通信间的干扰,此信号间的延时使用单片机的时钟中断来精确计数。如在应用中,射击信号每次均发送5帧数据,两帧间隔时间为200ms。此通信机制极大程度地解决了丢包问题,经过大量实验已确认,丢失一两帧数据比较常见,但五帧全丢的可能性几乎为0。另外,连续发送一组信号另一个作用是更为精确地计算出信号触发时刻,对于蓝牙通信的固定延迟时间,通过实验证明,延迟时间是呈高峰波的正态分布(双向通信对等性的证明),因此可以用峰值处的延迟时间近似作为每次通信的固定延迟时间。通过若干帧数据求平均值,减小了蓝牙通信的波动误差。
除此之外,蓝牙在PC端Windows操作***下,目前不存在蓝牙设备查找,配对,连接成熟通用的框架(WinCE中有,但只用于嵌入式设备),因此,本实施例中还包括对Windows操作***蓝牙API的封装与扩展,实现了蓝牙设备查找,配对,连接的全自动化。对于用户来说,无需像以往的蓝牙应用一样,需人工判断设备与串口,手动进行连接配对,在应用中,整个过程对于用户来说都是透明的。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (5)
1.一种基于蓝牙通信的高容错实时信号采集***,其特征在于包括:
用于采集信号及触发的精确时刻,实时响应主设备命令的从设备;
负责发起通信,接收并处理采集信号,计算信号精确触发时刻及判断丢包错包的主设备;以及
负责保证主从设备通信的自定义蓝牙通信协议;
所述主设备通过心跳检测实时监控从设备状态,双方均发送一组信号而非单帧信号来防止丢包问题,从而保证信号采集的高容错性;
所述***采用心跳检测与信号采集分时复用的方式,通过心跳检测测量本次通信延迟,并根据经验公式计算出当前通信延迟,再通过一组信号求平均值的方式得出信号触发的精确时刻;所述经验公式为:
新平均延迟=3/4*平均延迟+1/4*(心跳检测发送时刻-心跳检测接收时刻)/2。
2.根据权利要求1所述的基于蓝牙通信的高容错实时信号采集***,其特征是:所述***采用防丢包通信机制,首先在发送信号中包含序号,以便PC端检测出丢包问题,每次发送信号并非发送一个,而是发送一组信号,信号间采用固定的延时以防止两次通信间的干扰,此信号间的延时使用单片机的时钟中断来精确计数。
3.根据权利要求1所述的基于蓝牙通信的高容错实时信号采集***,其特征是:所述的主设备,自动化查找,配对,连接从设备。
4.根据权利要求1所述的基于蓝牙通信的高容错实时信号采集***,其特征是:所述的自定义蓝牙通信协议,通过心跳检测与延迟测量,信号数据封装,防丢包通信机制屏蔽掉了实际应用中的信号干扰。
5.根据权利要求1所述的基于蓝牙通信的高容错实时信号采集***,其特征是:所述***采用蓝牙虚拟串口通信方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110410173.7A CN102523024B (zh) | 2011-12-09 | 2011-12-09 | 基于蓝牙通信的高容错实时信号采集*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110410173.7A CN102523024B (zh) | 2011-12-09 | 2011-12-09 | 基于蓝牙通信的高容错实时信号采集*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523024A CN102523024A (zh) | 2012-06-27 |
CN102523024B true CN102523024B (zh) | 2014-01-15 |
Family
ID=46293835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110410173.7A Expired - Fee Related CN102523024B (zh) | 2011-12-09 | 2011-12-09 | 基于蓝牙通信的高容错实时信号采集*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523024B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601217A (zh) * | 2015-02-15 | 2015-05-06 | 桂林恒毅金宇通信技术有限公司 | 智能光口旁路交换保护*** |
CN111885555B (zh) * | 2020-06-08 | 2022-05-20 | 广州安凯微电子股份有限公司 | 一种基于监听方案的tws耳机及其实现方法 |
CN112040063A (zh) * | 2020-09-08 | 2020-12-04 | 广州市埃特斯通讯设备有限公司 | 一种手机与obu之间的蓝牙数据信息传送方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004289431A (ja) * | 2003-03-20 | 2004-10-14 | Nippon Telegraph & Telephone West Corp | リアルタイム情報の伝達システム、リアルタイム情報の送信装置、リアルタイム情報の伝達方法及びプログラム |
CN101934803A (zh) * | 2010-08-05 | 2011-01-05 | 北京国正信安***控制技术有限公司 | 智能容错故障安全采集板卡 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080020752A1 (en) * | 2006-07-24 | 2008-01-24 | Webb Ronald J | Fault Tolerant User Interface for Wireless Device |
US7918611B2 (en) * | 2007-07-11 | 2011-04-05 | Emcore Corporation | Reconfiguration and protocol adaptation of optoelectronic modules and network components |
-
2011
- 2011-12-09 CN CN201110410173.7A patent/CN102523024B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004289431A (ja) * | 2003-03-20 | 2004-10-14 | Nippon Telegraph & Telephone West Corp | リアルタイム情報の伝達システム、リアルタイム情報の送信装置、リアルタイム情報の伝達方法及びプログラム |
CN101934803A (zh) * | 2010-08-05 | 2011-01-05 | 北京国正信安***控制技术有限公司 | 智能容错故障安全采集板卡 |
Non-Patent Citations (2)
Title |
---|
实时信号数据采集***的研发与设计;陈峰;《上海交通大学硕士学位论文》;20110603;全文 * |
陈峰.实时信号数据采集***的研发与设计.《上海交通大学硕士学位论文》.2011, |
Also Published As
Publication number | Publication date |
---|---|
CN102523024A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101738600B (zh) | 高频地波雷达组网的时钟同步控制装置 | |
CN103248471B (zh) | 基于ptp协议与反射内存网的时钟同步方法 | |
CN204228833U (zh) | 一种基于gps超远程核相检测装置 | |
CN102523024B (zh) | 基于蓝牙通信的高容错实时信号采集*** | |
CN103207851A (zh) | 串行数据实时采集标时方法 | |
CN110928176B (zh) | 一种支持多种授时技术的多功能授时设备 | |
CN109683567A (zh) | 基于rs485网络中***时钟同步方法 | |
CN102904766A (zh) | 串行通信波特率识别方法、装置及监控设备 | |
CN102811480B (zh) | 基于物理脉冲耦合的无线传感器网络时间同步方法 | |
CN103796338A (zh) | 一种无线传感器组件及tdma自组织网络实现方法 | |
CN109426299A (zh) | 传感器装置、方法及多传感器装置 | |
CN107390090A (zh) | 一种线路故障检测方法及*** | |
CN109996325A (zh) | 一种无线传感器网络的时钟同步***及方法 | |
CN103399808B (zh) | 一种在飞控计算机内实现晶振双冗余的方法 | |
CN103516423A (zh) | 一种用于光纤时钟拉远的方法和装置 | |
CN109407752A (zh) | Rs485通讯中实现时钟同步的gis断路器在线监测*** | |
CN103399264B (zh) | 高压电缆局部放电在线监测及定位*** | |
CN103595588A (zh) | 一种非同步以太网精确测量线路延时方法 | |
CN109358256A (zh) | Rs485通讯中实现同步采样的避雷器在线监测*** | |
CN104869587B (zh) | 无线传感器网络时间同步误差测定方法 | |
CN104601231B (zh) | 一种测试仪表、***及方法 | |
CN205142532U (zh) | 一种采用无线通信对分散节点对时同步的*** | |
CN205068068U (zh) | 一种基于以太网传输的分布式时间同步数据采集通用模块 | |
CN205195718U (zh) | 基于fpga的嵌入式网络同步*** | |
CN204964593U (zh) | 一种新能源电厂结算电量采集*** |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140115 Termination date: 20191209 |
|
CF01 | Termination of patent right due to non-payment of annual fee |