一种轨道交通道床物联网大数据总线传输方法及系统与流程

文档序号:30221059发布日期:2022-05-31 22:00阅读:97来源:国知局
一种轨道交通道床物联网大数据总线传输方法及系统与流程

1.本发明涉及数据传输领域,具体涉及一种轨道交通道床物联网大数据总线传输方法及系统。


背景技术:

2.一般的物联网传输需求中,要么单次数据传输的数据量比较小(比如电压、电量等),要么就是单点单向地连续传输(比如基于无线网络的振动噪声信号采集等),也相应的有一些通用或是专用的通信协议,然而某些场景中,需要将多个采集终端(从机)布置在一条总线上以减少主机的通道数从而控制成本,同时采集终端在数据传输的同时需兼顾一定的智能运算、指令接收、状态回复等,而指令与回复的数据量与需要传输的数据包的长度差别相当大,并且,主机与从机之间的通信还不能对于总线上的其它从机(僚机)造成指令影响,位于同一个总线之上的各个从机之间还能保持有序的指令接收、状态回复、数据发送而不会出现同一时间同时对话造成总线异常。在这种特殊的要求下,一些传统的通用或专用通信协议(比如以结束符指令或定长指令的通信协议),无法满足使用要求,而且随着物联网需求的增加,对于振动、噪声信号数据的分布式数据采集,并进行实时处理、诊断的场景越来越多。分布式采集点的数量多,同时由于成本(主机的信息传输通道数量直接影响成本)或使用环境的限制(比如隧道结构内、正在施工的无网络覆盖区域、无线通信易受干扰的区域),难以组建1对多的通信网络,此时串行总线是成熟可靠并且满足使用需求的通信技术,但在串行总线的物理层之上,仍然没有相应的可以适用此场景的逻辑层通信协议。


技术实现要素:

3.针对现有技术的不足,本发明提供了一种轨道交通道床物联网大数据总线传输方法,其特征在于,包括:
4.主机发送控制指令至从机;
5.从机根据控制指令执行操作。
6.优选的,所述控制指令包括:
7.广播控制指令,所述广播控制指令的地址与总线中所有从机的地址长度相同,所述广播控制指令的地址与总线中任意从机的地址内容不相同;
8.非广播控制指令;
9.其中,非广播控制指令包括定长控制指令与普通控制指令。
10.优选的,所述从机根据控制指令执行操作包括:
11.当从机接受控制指令时,根据所述控制指令的指令码判断控制指令类型;
12.当从机接收的控制指令为广播控制指令时,总线中所有从机根据广播控制指令执行操作;
13.当从机接收的控制指令为非广播控制指令时,总线中所有从机根据非广播控制指令执行操作。
14.进一步的,所述总线中所有从机根据非广播控制指令执行操作包括:
15.当总线上所有从机接收非广播控制指令后,判断所述非广播控制指令是否为普通控制指令,若是,执行普通控制指令操作,否则,执行定长控制指令操作;
16.当主机发送非广播控制指令后,所述主机切换为侦听状态。
17.进一步的,所述执行普通控制指令操作包括:
18.利用所述普通控制指令的地址分别判断各从机地址是否与所述普通控制指令的地址相同,若是,为执行从机,否则,为僚机;
19.当所述普通控制指令需要回复时,主机发送普通控制指令后切换侦听状态,所述从机根据普通控制指令执行操作后,所述从机切换为回复状态,所述僚机切换为旁听状态,所述从机发送普通回复控制指令至主机与所述僚机,所述僚机不进行操作;
20.当所述普通控制指令不需要回复时,主机发送普通控制指令后不进行操作,所述从机根据普通控制指令执行操作;
21.其中,普通回复控制指令包括所述从机地址,旁听状态为僚机接收普通回复控制指令后不执行操作的状态。
22.进一步的,所述执行定长控制指令操作包括:
23.当总线上所有从机接收定长控制指令时,所述所有从机切换为定长接收状态;
24.利用所述定长控制指令的地址分别判断各从机地址是否与所述定长控制指令的地址相同,若是,为执行从机,否则,为僚机;
25.当所述定长控制指令需要回复时,主机发送定长控制指令后切换侦听状态,所述从机根据定长控制指令执行操作后,所述从机切换为回复状态,所述僚机切换为旁听状态,所述从机发送定长回复控制指令至主机与所述僚机,所述僚机不进行操作;
26.当所述定长控制指令不需要回复时,主机发送定长控制指令后不进行操作,所述从机根据定长控制指令执行操作。
27.进一步的,所述当主机发送非广播控制指令后,所述主机切换为侦听状态包括:
28.当主机发送非广播控制指令后,判断主机发送非广播控制指令后切换侦听状态后等待时间是否超过标准等待阈值,若是,所述主机停止等待,否则,所述主机继续等待;
29.进一步的,所述从机发送普通回复控制指令至主机包括:
30.当从机发送普通回复控制指令至主机后,主机切换为发送状态。
31.进一步的,所述从机发送定长回复控制指令至主机包括:
32.当从机发送定长回复控制指令至主机后,主机切换为发送状态。
33.基于同一发明构思,本发明还提供了一种轨道交通道床物联网大数据总线传输系统,其特征在于,包括:
34.发送模块,用于主机发送控制指令至从机;
35.执行模块,用于从机根据控制指令执行操作。
36.与最接近的现有技术相比,本发明具有的有益效果:
37.主机通过连接有限的总线,所有从机通过总线进行连接,布线方便,传统的总线传输协议采用定长指令的方式,适合传输低频、小数据的数据,并使得不等长的命令与回复可以实现,同时可以支持高于115200bps的传输速度,支撑高速度的物联网采集需求,同时又可以发挥诸如rs485等串口的长距离传输优势。
附图说明
38.图1是本发明提供的一种轨道交通道床物联网大数据总线传输方法流程示意图;
39.图2是本发明提供的一种轨道交通道床物联网大数据总线传输方法系统示意图。
具体实施方式
40.下面结合附图对本发明的具体实施方式作进一步的详细说明。
41.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
42.实施例1:
43.本发明提供了一种轨道交通道床物联网大数据总线传输方法,如图1所示,包括:
44.1.基本约定
45.a)结束符字节串收发
46.结束符字节串是不约定长度的字节串,但其结尾以事先约定某一个或几个连续的特殊字节构成(比如0x0a),发送时,字节串的结尾必须包含结束符。接收时循环接收每个字节,直到收到约定的结束符停止接收。
47.结束符不能与字节串中的其它内容,比如地址或是指令码相同
48.b)定长字节串收发
49.定长字节串没有结束符,发送时将字节串一次性发送,接收时则按照一定的长度循环接收每个字节,直到接收到的字节数与约定长度一致时停止接收。
50.c)从机地址
51.为了能够建立起主机与某一个从机的信息交互,需约定从机地址,从机地址可以由一个或多个字节构成,同一总线上的从机地址不能重复,且不能与广播地址或结束符相同。当主机给从机发送指令时,总线上的所有从机都会收到指令字节串,但从机可以根据字节串中的地址符判断命令对象,如果地址是本从机地址就进行相应的动作,如果地址是其它从机地址则忽略。
52.d)广播地址
53.可以约定一个或多个字节作为广播地址,广播地址不能与任何从机地址相同,也不能与结束符相同,表示广播地址的字节长度必须与表示从机地址字节长度相同。广播表示主机命令面向所有从机,当从机收到广播的命令时,则所有从机进行相关的动作。
54.2.主从机工作模式约定
55.从机在任何条件下,均处于侦听工作状态,所谓侦听工作状态是以结束符字节串收取为目的,在没有收取到一个字节串时不进行任何通信,当收到一个字节串时进行解读,解读成功后作出动作。
56.从机在接收到主机的命令之前,均不能主动发送任何内容。
57.以广播形式发送的命令不能要求从机回复,从机在收到广播形式的命令后静默进行功能动作,但不得回复任何内容。
58.从机在回复主机命令时,也要加上本机的地址。
59.3.收发切换约定
60.当主机的某条命令需要从机回复时,主机发送完命令之后应及时切换回接收状态,等待从机回复,当主机切换回接收状态时,应当设定一定的延时,但超过延时没有收到从机回复时,应停止等待。
61.当从机收到主机的某条命令需要回复时,应结束侦听状态,切换为发送状态并发送相关的内容,发送完成之后切换回侦听状态。
62.4.指令码与回复码
63.指令码由一个或多个连续的字节构成,用以对于命令的具体内容进行约定,从机接收到命令之后先对于指令码进行解读,然后根据不同的指令执行相关的功能。
64.回复码由一个或多个连续的字节构成,用以对主机进行应答回复。
65.指令码与回复码可以是任意长度,但不能重复。
66.5.命令、回复与僚机旁听
67.下文的命令均指收主机发送的字节串,回复均指由从机发送的字节串,是否需要回复,是否需定长接收或发送或旁听均由指令码进行定义。
68.总线上任何设备发出信息,无论是主机的命令还是从机的回复,位于总线上的所有设备均会接收到,所以对于一个主从对话,僚机虽然没有功能参与,但要根据命令码或回复码切换接受状态,进行接收动作,这即是旁听,如不进行旁听操作,则会出现命令响应混乱。
69.a)基本指令:
70.主机发出:[地址码]+[指令码]+[结束符]
[0071]
从机收到后:根据指令进行相关功能,没有回复
[0072]
僚机收到后:不作任何处理
[0073]
b)回复型指令:
[0074]
主机发出:《基本指令》,主机接收《基本回复》
[0075]
从机收到:《基本指令》,从机发出《基本回复》([本机地址码]+[回复码]+[结束符])
[0076]
僚机收到:《基本指令》,僚机收到《基本回复》,不进行处理
[0077]
c)设定参数型指令:
[0078]
主机发出:《基本指令》+[定长参数]
[0079]
从机收到:《基本指令》,切换至定长接收状态,定长接收参数,执行相关功能
[0080]
僚机收到:《基本指令》,切换至定长接收状态,定长接收参数,不进行处理
[0081]
设定参数型指令可以要求从机回复,回复方式同回复型指令
[0082]
d)获得参数型指令:
[0083]
主机发出:《基本指令》,主机接收定长参数
[0084]
从机收到:《基本指令》,从机发送定长参数
[0085]
僚机收到:《基本指令》,僚机切换到定长接收,从机发送的定长参数,不进行处理
[0086]
e)确认型指令:
[0087]
主机发出:《基本指令》,主机接收《基本回复》,主机发出:《基本指令》
[0088]
从机收到:《基本指令》,从机发送《基本回复》,从机收到:《基本指令》
[0089]
僚机收到:《基本指令》,僚机收到《基本回复》,僚机收到:《基本指令》,不进行处理
[0090]
f)读取数据包指令:
[0091]
主机发出:《基本指令》,主机接收《基本回复》
[0092]
无数据:不进行后续接收
[0093]
有数据:接收数据包
[0094]
从机收到:《基本指令》,从机发送《基本回复》(包括了是否有数据的回复码)
[0095]
无数据:不进行后续发送
[0096]
有数据:发送数据包
[0097]
僚机收到:《基本指令》,僚机收到从机《基本回复》
[0098]
无数据:不进行后续接收
[0099]
有数据:接收(旁听)数据包,丢弃
[0100]
注:主机或僚机接收数据包时,先定长接收数据长度字节串,再根据数据长度字节串解析的数据长度再次定长接收字节串
[0101]
6.数据包结构
[0102]
数据包=[数据长度]+[数据头]+[数据体]
[0103]
其中:
[0104]
数据长度=数据头长度+数据体长度
[0105]
数据头:包含不限于时间戳以及采样频率信息字节串
[0106]
数据体:连续的数据字节串。
[0107]
实施例2:
[0108]
本发明提供了一种轨道交通道床物联网大数据总线传输方法实际应用情况,包括:
[0109]
命令码(主机发送至从机)
[0110]
[0111][0112]
2.回复码(从机回复至主机)
[0113][0114]
3.设定从机时间
[0115]
命令及回复码:
[0116]
「命令」:set_time
[0117]
「参数」:8bytes(float64),64位时间戳
[0118]
「回复」:ok/error/busy
[0119]
正在采样回复busy
[0120]
4.设定采样参数
[0121]
命令及回复码:
[0122]
「命令」:set_trigger
[0123]
「参数」:12bytes=
[0124]
1byte:是否矢量触发(1是,0否)
[0125]
1byte:触发通道(0-accx,1-accy,2-accz)
[0126]
4bytes:触发值,单位:m/s^2,float32
[0127]
2bytes:触发前采样时间(预读),单位:s,int16
[0128]
2bytes:触发后采样时间,单位:s,int16
[0129]
2bytes:采样后静默时间,单位:s,int16
[0130]
「回复」:ok/error/busy
[0131]
正在采样回复busy
[0132]
5.采样线程停止
[0133]
命令及回复码:
[0134]
「命令」:stop
[0135]
「回复」:ok/error/lazy
[0136]
8.设定串口速度
[0137]
命令及回复码:
[0138]
「命令」:set_serial
[0139]
「参数」:1bytes(uint8):
[0140]1‑‑
9600bps
[0141]2‑‑
115200bps
[0142]3‑‑
230400bps
[0143]
「回复」:check_confirm/busy
[0144]
正在采样回复busy
[0145]
「命令2」:confirmed
[0146]
9.数据发送
[0147]
「命令」:read_data
[0148]
「回复」:data_ok/no_data/lazy
[0149]
「数据」:数据包
[0150]
10.设定传感器参数
[0151]
命令及回复码:
[0152]
「命令」:set_sensor
[0153]
「参数」:9bytes=
[0154]
1byte:fifo写入加速度开关(0,1)
[0155]
1byte:fifo写入x轴角速度开关(0,1)
[0156]
1byte:fifo写入y轴角速度开关(0,1)
[0157]
1byte:fifo写入z轴角速度开关(0,1)
[0158]
1byte:fifo写入传感器温度开关(0,1)
[0159]
1byte:采样频率参数(0~255)
[0160]
1byte:低通滤波参数(0~7)
[0161]
1byte:加速度量程(0~3)
[0162]
1byte:角速度量程(0~3)
[0163]
「回复」:check_confirm/busy
[0164]
正在采样回复busy
[0165]
「命令2」:confirmed
[0166]
11.设定从机地址
[0167]
命令及回复码:
[0168]
「命令」:set_address
[0169]
「参数」:1byte(uint8),从机地址(1~255,且!=10)
[0170]
「回复」:ok/error
[0171]
12.自检、自标定
[0172]
命令及回复码:
[0173]
「命令」:self_check
[0174]
「参数」:4bytes(int32),自检报告代码
[0175]
正在采样回复500
[0176]
13.数据包格式
[0177]
数据包字节长度4bytes int32(从以下2项到n项的总bytes长度)
[0178]
从机id 4bytes int32:注意是唯一id不是地址
[0179]
记录时间戳8bytes float64
[0180]
通道使能7bytes
[0181]
采样频率参数1bytes
[0182]
低通滤波参数1bytes
[0183]
加速度量程1bytes
[0184]
角速度量程1bytes
[0185]
数据体
[0186]
数据体长度=(触发前时间+触发后时间)*采样频率*通道数*2bytes(16位数值)。
[0187]
实施例3:
[0188]
本发明提供了一种轨道交通道床物联网大数据总线传输系统,如图2所示,包括:
[0189]
发送模块,用于主机发送控制指令至从机;
[0190]
执行模块,用于从机根据控制指令执行操作。
[0191]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0192]
本发明是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0193]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0194]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0195]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1