CN102279835B - 基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法 - Google Patents

基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法 Download PDF

Info

Publication number
CN102279835B
CN102279835B CN201110177594.XA CN201110177594A CN102279835B CN 102279835 B CN102279835 B CN 102279835B CN 201110177594 A CN201110177594 A CN 201110177594A CN 102279835 B CN102279835 B CN 102279835B
Authority
CN
China
Prior art keywords
frame
equipment
main process
slave
process equipment
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
CN201110177594.XA
Other languages
English (en)
Other versions
CN102279835A (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.)
Xiamen Yaxun Zhilian Technology Co ltd
Original Assignee
Xiamen Yaxon Networks 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 Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN201110177594.XA priority Critical patent/CN102279835B/zh
Publication of CN102279835A publication Critical patent/CN102279835A/zh
Application granted granted Critical
Publication of CN102279835B publication Critical patent/CN102279835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明提供一种嵌入式系统中主从设备串行总线通信方法及动态识别过程,其通信方法包括一个主机设备和至少一个从机设备,主机设备和从机设备通过串行总线建立通信连接,主机设备与从机设备之间的通信是根据特定的通信协议来生成数据帧,该特定的通信协议包括:第一层,定义用于该数据帧的发送和接收,第二层,定义数据帧的编码和解码,以及第三层,定义数据帧的帧格式;基于该通信方法实现的主从设备的动态识别过程,采用本发明的方法不需要智能操作系统的支持,具有热插拔功能,从机设备可以自由连接主机设备的任意通信接口,主从设备连接可以通过相同版本的程序软件实现,更新、维护、管理简单高效,大大减少了人力资源和时间。

Description

基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法
技术领域
本发明涉及一种嵌入式系统中主从设备串行总线通信方法及动态识别过程,特别是涉及一种通过通用串行总线通信,实现主机设备对从机设备的识别和管理的方法。
背景技术
随着嵌入式技术发展和嵌入式设备的多样化,各种设备之间经常要通过通用串行总线进行连接。
在实际应用中,主机和从机之间的连接有多种应用场景情况,场景1:一个主机设备需要同时连接各种不同的从机设备,场景2:一个主机设备可以任意选择连接需要的从机设备,场景3:主机设备通信接口有限时需要能够热插拔不同的从机设备,在实际应用,经常在安装主机设备时需要插入具有显示功能的从机设备,该从机设备主要用来检测主机设备的安装情况和工作状态,但是在主机设备安装完毕后,这个设备将拔掉,插入需要的从机设备。
场景1:一个主机设备需要同时连接各种不同的从机设备,以往的实现方式是在设计主机程序时,将主机设备的所有通信接口按照事先约定固定分配给各个指定从机设备,对应的通信接口只能收发处理固定的从机设备数据,其他从机设备不能连接该通信接口,同时为了避免客户连接错误,通信接口的接插件采用不同的型号,这样各种从机设备不能自由连接主机设备的任意通信接口。缺点一需要组装各种型号的接口接插件,给生产带来极大不便;缺点二通常情况下采购一种接插件时都是有最低购买数量,不能按需购买,或者购买一定的数量才有优惠,上述的采用不同型号的接插件增加采购成本和库存风险。
场景2:一个主机设备可以任意选择连接需要的从机设备,以往的实现方式是通过设计不同版本的程序软件来解决,每一个版本的程序软件对应一种的从机设备连接方式,在安装设备时,代理商需要根据不同的组合应用选择对应版本的主机设备软件,并下载更新到主机设备。缺点一:代理商需要区分管理众多版本的主机设备软件,造成混乱,增加代理商人力资源费用,同时在批量安装设备时再下载更新主机设备软件,效率低下;缺点二:由于从机设备的连接方式根据不同应用会变化多样,这样就导致软件版本众多,设备厂家也需要花费更多的人力资源来维护程序版本,当一个版本程序出现一个问题时,往往需要升级相关所有的程序版本,花费大量人力和时间。
场景3:主机设备通信接口个数有限时需要能够热插拔不同的从机设备,在实际应用,安装主机设备时需要插入具有显示功能的从机设备,用来检测主机设备的安装情况和工作状态,但是在安装完毕后,这个设备将拔掉,插入需要的从机设备。当选用的通信接口只能一对一通信,不能多个通信接口并接在一起通信时,以往的实现方式是在设计开发主机设备时选择具有多路通信接口的微处理器,或者通过外部增加通信接口扩展电路来扩展通信口,而实际上增加的通信接口只有在安装主机设备时用到,这样导致不必要资源浪费,而且增加产品成本;当选择比较智能能够将所有设备的通信接口并接在一起通信的总线,而这种比较智能的通信接口往往比较昂贵,从而增加产品成本。
发明内容
针对上述问题,本发明提供一种嵌入式系统中主从设备串行总线通信方法及动态识别过程,实现简单,实用性强,稳定可靠,应用灵活,不需要智能操作系统的支持,具有热插拔功能。采用本发明的嵌入式设备动态识别方法,能够解决以上所述问题,降低产品的研发、制造和售后服务的成本,提高产品的竞争力。
本发明的所采用的技术解决方案是:一种嵌入式系统中主从设备串行总线通信方法及动态识别过程,包括一个主机设备和至少一个从机设备,主机设备和从机设备通过串行总线建立通信连接,主机设备与从机设备之间的通信是根据特定的通信协议来生成数据帧,该特定的通信协议包括:
第一层,定义用于该数据帧的发送和接收,                      
第二层,定义数据帧的编码和解码,以及
第三层,定义数据帧的帧格式,
其中,生成数据帧的步骤包括根据协议第三层的帧格式、根据协议第二层对数据帧进行编码;将数据帧通过从机设备发送给主机设备接收,其中数据帧的发送和接收根据协议第一层进行传输;以及根据协议第二层对数据帧进行解码;
所述的第三层的数据帧的帧格式包括6个字段:帧头、校验码、设备编码、命令、数据内容、帧尾。
进一步的,所述的第一层是根据RS232总线通信协议的第一层来定义的,采用RS232总线通信协议,兼容性强,方便实用。
进一步的,所述的第二层的数据帧的编码规则为:若数据帧的校验码、设备编码、命令和数据内容字段中出现与帧头和帧尾相同的字节A,则采用2字节B和字节b替换;若数据帧的校验码、设备编码、命令和数据内容字段中出现字节B,则采用字节B和a替换。
进一步的,所述的第二层的数据帧的解码规则为:若数据帧的从校验码至数据内容字段中出现字节B和字节b,则解码为字节A;若数据帧的从校验码至数据内容字段中出现字节B和a,则解码为字节B。
进一步的,所述的第三层的数据帧的帧格式中各字段定义和字段长度如下:
①帧头:占1个字节,用于指示一个数据帧的开始,采用具有特定的特征性字节A表示;
②校验码:占1个字节,作为数据帧的有效性校验,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和;
③设备编码:占1个字节,对每一个从机设备设定唯一的设备编码;
④命令:占1个字节,用于指示该数据帧的用途;
⑤数据内容:具体的数据信息;
⑥帧尾:占1个字节,用于指示一个数据帧的结束,采用字节A表示表示。
进一步的,所述的从机设备根据特定的通信协议来生成和发送数据帧的处理流程为:
步骤600,根据协议的第三层,在数据内容字段前面填充“设备编码”数据和“命令”字段;
步骤601,根据协议的第三层,计算校验码,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和,将计算出来的校验码填充到“校验码”字段;
步骤602,根据协议第三层,将计算后的数据串头和尾添各加上字节A 作为“帧头”和“帧尾”;
步骤603,根据协议第二层,对数据串从“校验码”字段到“数据内容”字段所有字节的数据进行编码,生成数据帧;
步骤604,根据协议第一层,将数据帧发送给主机设备。
进一步的,所述的主机设备根据特定的通信协议来接收和解析数据帧的处理流程为:
步骤700,根据协议第一层,接收从机设备发送过来的数据帧;
步骤701,根据协议第二层,对数据帧去掉帧头和帧尾的字节A,并对剩余的数据串中的所有字节的数据进行解码;
步骤702,根据协议第三层,将解码后的数据串从“设备编码”字段到“数据内容”字段的所有字节数据的累加和,计算出校验码值;
步骤703,根据协议第三层,判断计算后的校验码值与原数据帧的“校验码”字段中的值是否相等,若相等,则该数据帧有效,数据帧接收成功,进入下一步数据处理;若不相等,则该数据帧无效,数据帧接收错误,丢弃该错误帧,不处理。
该动态识别方法包括:上电识别过程和状态查询过程;
根据特定的通信协议的三层定义,生成①上电指示帧、②上电指示应答帧、③心跳维护帧、④心跳维护应答帧,
①上电指示帧:用于表示从机设备发送给主机设备的上电指示,该上电指示帧的帧结构是帧头、校验码、设备编码、上电指示命令、数据内容、帧尾,
②上电指示应答帧:主机设备对从机设备的上电指示应答,
③心跳维护帧:主机设备对从机设备的在线、拔出、正常、异常状态查询,
④心跳维护应答帧:从机设备发送给主机设备的在线、拔出、正常、异常状态查询应答;
(1).上电识别过程包括:
步骤1a,从机设备上电启动后将自动间隔循环向主机设备发送上电指示帧;
步骤1b,主机设备接收到从机设备上电指示帧后,若同意该从机设备连接,则向从机设备发送上电指示应答帧;否则不发送;
步骤1c,若从机设备收到上电指示应答帧,则停止发送上电指示帧;否则执行步骤1d;
步骤1d,若从机设备没有收到上电指示应答帧,则累计连续发送一特定次数上电指示帧后,停止发送;
(2).状态查询过程包括:
步骤2a,主从设备建立连接后,主机设备间隔循环向从机设备发送心跳维护帧;
步骤2b,从机设备接收到心跳维护帧后,向主机设备发送心跳维护应答帧;
步骤2c,若主机设备收到从机设备的心跳维护应答帧,表示从机设备连接正常,则清除发送累计次数,启动下一个时间发送心跳维护帧;否则执行步骤2d;
步骤2d,若主机设备没有收到心跳维护应答帧,则累计连续发送一特定次数③心跳维护帧后,断开从机设备电源,再上电重启从机设备。
更进一步的,步骤1d中所述的一特定次数和步骤2d中所述的一特定次数均为3次,能够比较准确地判定。
进一步的,根据所述的上电识别过程和状态查询过程来实现主从设备的通信和检测管理,其中包括
步骤900,插入检测:从机设备插入主机设备的通信口上电启动后会主动发起上电指示帧,主机设备接收到从机设备的上电指示帧时,解析出当前从机设备编号,从而获知当前插到通信口上的从机设备的设备型号,及通信口被该从机设备的占用情况,主机设备记录该通信口上从机设备连接状态;
步骤901,拔出检测:主机设备与从机设备之间正常连接工作时,主机设备将间隔循环发送心跳维护帧,从机设备接收到心跳维护帧后,从机设备发送心跳维护应答帧,如果主机设备发送心跳维护帧一特定次数次后未收到从机设备的心跳维护应答帧,则检测到从机设备已拨出,或者从机设备已工作异常,主机设备清除通信口上从机设备连接状态,同时主机设备断开从机设备电源,再重新上电重启从机设备;
步骤902,更换检测,从机设备A插入主机设备通信口,正常连接工作后从机设备A从主机设备通信口拔出,接着插入从机设备B,主机设备将检测到从机设备B插入到通信口,主机设备将清除通信口上从机设备A的连接状态并记录通信口上为从机设备B连接状态;
步骤903,交换检测:当主机设备有多个通信口时,从机设备A插入主机设备通信口1,从机设备B插入主机设备通信口2,正常工作后从机设备A和从机设备B从主机设备通信口拔出,从机设备A插入主机设备通信口2,接着从机设备B插入主机设备通信口1,主机设备将检测到从机设备A插入到通信口2,主机设备将清除通信口2上从机设备B的连接状态并记录通信口2上为从机设备A连接状态,并且清除通信口1从机设备A连接状态,所以从机设备B插入主机设备通信口1时将按照正常“插入检测”方式检测;
更进一步的,901中所述的一特定次数为3次,能够比较准确地判定。
本发明的一种嵌入式系统中主从设备串行总线通信方法及动态识别过程,实现简单,实用性强,稳定可靠,应用灵活,不需要智能操作系统的支持,具有热插拔功能。从机设备可以自由连接主机设备的任意通信接口,不需要安装各种型号的接口接插件,生产成本大大降低,用户可以按需购买,降低采购成本和库存风险;主从设备连接可以通过相同版本的程序软件实现,更新、维护、管理简单高效,大大减少了人力资源和时间;不需要通过外接通信接口或扩展电路来实现主从设备识别,大大减少了设计成本。采用本发明的嵌入式系统中主从设备串行总线通信方法及动态识别过程,能够降低产品的研发、制造和售后服务的成本,提高产品的竞争力。
附图说明
图1为本发明第一实施例特定的通信协议的第三层的数据帧的帧格式;
图2为本发明第一实施例的从机设备根据特定的通信协议来生成和发送数据帧的处理流程;
图3为本发明第一实施例的主机设备根据特定的通信协议来接收和解析数据帧的处理流程;
图4a为本发明第一实施例的上电识别过程流程图;
图4b为本发明第一实施例的状态查询过程流程图;
图5为本发明第二实施例的主从设备连接示意图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
结合图1、2、3、4a、4b,对本发明第一实施例说明:
结合图1、2、3、4a、4b,本发明第一实施例一种嵌入式系统中主从设备串行总线通信方法,包括一个主机设备和至少一个从机设备,主机设备和从机设备通过串行总线建立通信连接,其特征在于,主机设备与从机设备之间的通信是根据特定的通信协议来生成数据帧,该特定的通信协议包括:
第一层,定义用于该数据帧的发送和接收,
第二层,定义数据帧的编码和解码,以及
第三层,定义数据帧的帧格式,
其中,生成数据帧的步骤包括根据协议第三层的帧格式、根据协议第二层对数据帧进行编码;将数据帧通过从机设备发送给主机设备接收,其中数据帧的发送和接收根据协议第一层进行传输;以及根据协议第二层对数据帧进行解码;
所述的第三层的数据帧的帧格式包括6个字段:帧头采用16进制数7E表示、校验码、设备编码、命令、数据内容、帧尾采用16进制数7E表示。
进一步的,所述的第一层是根据RS232总线通信协议的第一层来定义的,采用RS232总线通信协议,兼容性强,方便实用。
进一步的,所述的第二层的数据帧的编码规则为:若数据帧的校验码、设备编码、命令和数据内容字段中出现与帧头和帧尾相同的16进制数7E,则采用16进制数7D和02替换;若数据帧的校验码、设备编码、命令和数据内容字段中出现字节7D,则采用7DH和01H替换。
进一步的,所述的第二层的数据帧的解码规则为:若数据帧的从校验码至数据内容字段中出现连续的2个16进制数字节为7D和02,则解码为一个16进制数字节7E;若数据帧的从校验码至数据内容字段中出现连续的2个字节为7D和01,则解码为一个16进制数字节7D。
如图1所示,所述的第三层的数据帧的帧格式中各字段定义和字段长度如下:
①帧头:占1个字节,用于指示一个数据帧的开始,采用16进制数字节7E表示;
②校验码:占1个字节,作为数据帧的有效性校验,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和;
③设备编码:占1个字节,对每一种从机设备设定唯一的设备编码;
④命令:占1个字节,用于指示该数据帧的用途;
⑤数据内容:具体的数据信息;
⑥帧尾:占1个字节,用于指示一个数据帧的结束,采用16进制数字节7E表示。
如图2所示,所述的从机设备根据特定的通信协议来生成和发送数据帧的处理流程为:
步骤600,根据协议的第三层,在“数据内容”字段前面填充“设备编码”数据和“命令”字段;
步骤601,根据协议的第三层,计算校验码,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和,将计算出来的校验码填充到“校验码”字段;
步骤602,根据协议第二层,对数据串从“校验码”字段到“数据内容”字段所有字节的数据进行编码,生成数据串;
步骤603,根据协议第三层,将编码后的数据串头和尾添各加上16进制数字节7E 作为“帧头”和“帧尾”,生成数据帧;
步骤604,根据协议第一层,将数据帧发送给主机设备。
进一步的,所述的主机设备根据特定的通信协议来接收和解析数据帧的处理流程为:
步骤700,根据协议第一层,接收从机设备发送过来的数据帧;
步骤701,根据协议第二层,对数据帧去掉帧头和帧尾的16进制数字节7E,并对剩余的数据串中的所有字节的数据进行解码;
步骤702,根据协议第三层,将解码后的数据串从“设备编码”字段到“数据内容”字段的所有字节数据的累加和,计算出校验码值;
步骤703,根据协议第三层,判断计算后的校验码值与原数据帧的“校验码”字段中的值是否相等,若相等,则该数据帧有效,数据帧接收成功,进入下一步数据处理;若不相等,则该数据帧无效,数据帧接收错误,丢弃该错误帧,不处理。
该动态识别方法包括:上电识别过程和状态查询过程;
根据特定的通信协议的三层定义,生成①上电指示帧、②上电指示应答帧、③心跳维护帧、④心跳维护应答帧,
①上电指示帧:用于表示从机设备发送给主机设备的上电指示,该上电指示帧的帧结构是帧头、校验码、设备编码、上电指示命令、数据内容、帧尾,
②上电指示应答帧:主机设备对从机设备的上电指示应答,
③心跳维护帧:主机设备对从机设备的在线、拔出、正常、异常状态查询,
④心跳维护应答帧:从机设备发送给主机设备的在线、拔出、正常、异常状态查询应答;
如图4a所示:(1).上电识别过程包括:
步骤1a,从机设备上电启动后将自动间隔循环向主机设备发送上电指示帧;
步骤1b,主机设备接收到从机设备上电指示帧后,若同意该从机设备连接,则向从机设备发送上电指示应答帧;否则不发送;
步骤1c,若从机设备收到上电指示应答帧,则停止发送上电指示帧;否则执行步骤1d;
步骤1d,若从机设备没有收到上电指示应答帧,则累计连续发送一特定次数上电指示帧后,停止发送;
如图4b所示:(2).状态查询过程包括:
步骤2a,主从设备建立连接后,主机设备间隔循环向从机设备发送心跳维护帧;
步骤2b,从机设备接收到心跳维护帧后,向主机设备发送心跳维护应答帧;
步骤2c,若主机设备收到从机设备的心跳维护应答帧,则停止发送心跳维护帧;否则执行步骤2d;
步骤2d,若主机设备没有收到心跳维护应答帧,则累计连续发送一特定次数③心跳维护帧后,断开从机设备电源,再上电重启从机设备。
进一步的,根据所述的上电识别过程和状态查询过程来实现主从设备的通信和检测管理,其中包括
步骤900,插入检测:从机设备插入主机设备的通信口上电启动后会主动发起上电指示帧,主机设备接收到从机设备的上电指示帧时,解析出当前从机设备编号,从而获知当前插到通信口上的从机设备的设备型号,及通信口被该从机设备的占用情况,主机设备记录该通信口上从机设备连接状态;
步骤901,拔出检测:主机设备与从机设备之间正常连接工作时,主机设备将间隔循环发送心跳维护帧,从机设备接收到心跳维护帧后,从机设备发送心跳维护应答帧,如果主机设备发送心跳维护帧一特定次数次后未收到从机设备的心跳维护应答帧,则检测到从机设备已拨出,或者从机设备已工作异常,主机设备清除通信口上从机设备连接状态,同时主机设备断开从机设备电源,再重新上电重启从机设备;
步骤902,更换检测,从机设备A插入主机设备通信口,正常连接工作后从机设备A从主机设备通信口拔出,接着插入从机设备B,这种情况下,主机设备将检测到从机设备B插入到通信口,主机设备将清除通信口上从机设备A的连接状态并记录通信口上为从机设备B连接状态;
步骤903,交换检测:当主机设备有多个通信口时,从机设备A插入主机设备通信口1,从机设备B插入主机设备通信口2,正常工作后从机设备A和从机设备B从主机设备通信口拔出,从机设备A插入主机设备通信口2,接着从机设备B插入主机设备通信口1, 这种情况下,主机设备将检测到从机设备A插入到通信口2,主机设备将清除通信口2上从机设备B的连接状态并记录通信口2上为从机设备A连接状态,并且清除通信口1从机设备A连接状态,所以从机设备B插入主机设备通信口1时将按照正常“插入检测”方式检测;
进一步的,步骤1d中所述的一特定次数和步骤2d中所述的一特定次数均为3次,能够比较准确地判定。
进一步的,步骤901中所述的一特定次数为3次,能够比较准确地判定。
实施例2:
结合图5,结合本发明第二实施例做进一步说明。本发明第二实施例是一个由GPS车载终端1、LCD黑白屏2、LCD导航屏3、LED文字屏4组成主从设备系统,主从设备之间通过RS232通信接口进行连接,RS232通信接口只能一对一通信,不能多个接口并接在一起通信。
GPS车载终端1是一个安装在车辆上的主机设备,包含了微处理器11、RAM存储器12、FLASH闪存13、外围输入输出接口14、RS232通信接口15、移动通信模块16和卫星定位模块17的子系统。主要起到移动网络无线数据通信和GPS卫星定位功能。
LCD黑白屏2一个安装在车辆上的从机设备,具有键盘和LCD黑白屏2显示,通过键盘可以编辑输入,通过LCD黑白屏2可以显示简单菜单,所以可以用配置参数,浏览信息,拨打电话,发送短信,一般应用于低端客户群体。
LCD导航屏3为安装在车辆上的从机,具有触摸输入,人机交互界面显示,能够播放多媒体、进行车辆导航等功能显示终端,导航所需要的GPS经纬度等数据必须从GPS车载终端1获取,一般应用于私家车高端客户群体。
LED文字屏为安装在公交车上报站显示的从机设备,能够显示公交站的站点名和温馨提醒,所有的显示信息、显示方式和控制方式都是由GPS车载终端1通过RS232通信接口发送命令来控制。
基于以上的介绍,可以知道这么多从机设备并不是一起都安装在一个车辆上的使用,根据客户应用场景的不同选择安装需要的从机设备。
系统按如下所述的实际应用场景阐述本发明的嵌入式设备动态识别方法的应用:
应用场景1:
公交车行业应用,需要安装GPS车载终端1和LED文字屏4,但是GPS车载终端1在启动应用时必须通过LCD黑白屏2配置GPS车载终端1的通信参数,如服务器的IP地址、端口等参数,通过LCD黑白屏2检查GPS车载终端1是否安装正确和工作正常,那么在只有1路RS232通信接口情况下,以前1路RS232只能识别连接一个从机设备,而且RS232通信接口只能一对一通信,不能多个通信接口并接在一起通信,碰到这种情况,以往在设计开发GPS车载终端1时就必须考虑选择具有多路RS232通信接口的微处理器,或者通过外部增加RS232扩展电路来扩展RS232通信口,从而增加产品成本。鉴于以上应用,采用本发明的嵌入式设备动态识别的方法,首先插上LCD黑白屏2,这时通信接口被LCD黑白屏2占用,通过LCD黑白屏2配置需要配置参数和检查设备安装情况,接着将LCD黑白屏2拔掉,插上LED文字屏4,通信接口将切换到LED文字屏4,通信接口被LED文字屏4占用,从而达到不需要增加产品成本解决串口复用问题;
应用场景2:
代理商产品销售和厂家产品维护,由于GPS车载产品多种多样,如上所述由GPS车载终端1和各种从机设备组成,并且根据不同的行业用户需要不同组合安装方式,如公交车则需要安装GPS车载终端1和LED文字屏4,私家车则需要安装GPS车载终端1和LCD导航屏3,有些客户需要安装GPS车载终端1和LCD黑白屏2,有些用户可能只需要安装GPS车载终端1等等不同组合应用。以前关于这么多种不同形态应用,主要通过设计不同版本的程序软件来解决,每一个版本的程序软件对应一种从机设备连接方式,在安装设备时,代理商需要根据不同的组合应用选择对应版本的GPS车载终端1软件,并下载更新到GPS车载终端1。鉴于以上问题,采用本发明的一种嵌入式系统中主从设备串行总线通信方法及动态识别过程,主机设备与从机设备之间的通信是根据特定的通信协议来生成数据帧,该特定的通信协议包括:①帧头:占1个字节,用于指示一个数据帧的开始,采用16进制数字节7E表示。②校验码:占1个字节,作为数据帧的有效性校验,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和;③设备编码:占1个字节,对每一种从机设备设定唯一的设备编码;④命令:占1个字节,用于指示该数据帧的用途;⑤数据内容:具体的数据信息;⑥帧尾:占1个字节,用于指示一个数据帧的结束,采用16进制数字节7E表示。900,插入检测:从机设备插入主机设备的通信口上电启动后会主动发起上电指示帧,主机设备接收到从机设备的上电指示帧时,解析出当前从机设备编号,从而获知当前插到通信口上的从机设备的设备型号,及通信口被该从机设备的占用情况,主机设备记录该通信口上从机设备连接状态;通过拔出检测:主机设备与从机设备之间正常连接工作时,主机设备将间隔循环发送心跳维护帧,从机设备接收到心跳维护帧后,从机设备发送心跳维护应答帧,如果主机设备发送心跳维护帧一特定次数次后未收到从机设备的心跳维护应答帧,则检测到从机设备已拨出,或者从机设备已工作异常,主机设备清除通信口上从机设备连接状态,同时主机设备断开从机设备电源,再重新上电重启从机设备;902,更换检测,从机设备A插入主机设备通信口,正常连接工作后从机设备A从主机设备通信口拔出,接着插入从机设备B,主机设备将检测到从机设备B插入到通信口,主机设备将清除通信口上从机设备A的连接状态并记录通信口上为从机设备B连接状态;903,交换检测:当主机设备有多个通信口时,从机设备A插入主机设备通信口1,从机设备B插入主机设备通信口2,正常工作后从机设备A和从机设备B从主机设备通信口拔出,从机设备A插入主机设备通信口2,接着从机设备B插入主机设备通信口1,主机设备将检测到从机设备A插入到通信口2,主机设备将清除通信口2上从机设备B的连接状态并记录通信口2上为从机设备A连接状态,并且清除通信口1从机设备A连接状态,所以从机设备B插入主机设备通信口1时将按照正常“插入检测”方式检测;只要一个程序版本就可以解决各种不同形态应用。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (10)

1.基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法,其特征在于:
该嵌入式系统中主从设备串行总线通信方法是:
包括一个主机设备和至少一个从机设备,主机设备和从机设备通过串行总线建立通信连接,主机设备与从机设备之间的通信是根据特定的通信协议来生成数据帧,该特定的通信协议包括:
第一层,定义用于该数据帧的发送和接收,
第二层,定义数据帧的编码和解码,以及
第三层,定义数据帧的帧格式,
其中,生成数据帧的步骤包括根据协议第三层的帧格式、根据协议第二层对数据帧进行编码;将数据帧通过从机设备发送给主机设备接收,其中数据帧的发送和接收根据协议第一层进行传输;以及根据协议第二层对数据帧进行解码;
所述的第三层的数据帧的帧格式包括6个字段:帧头、校验码、设备编码、命令、数据内容、帧尾;
该动态识别方法包括:上电识别过程和状态查询过程;
根据特定的通信协议的三层定义,生成①上电指示帧、②上电指示应答帧、③心跳维护帧、④心跳维护应答帧,
①上电指示帧:用于表示从机设备发送给主机设备的上电指示,该上电指示帧的帧结构是帧头、校验码、设备编码、上电指示命令、数据内容、帧尾,
②上电指示应答帧:主机设备对从机设备的上电指示应答,
③心跳维护帧:主机设备对从机设备的在线、拔出、正常、异常状态查询,
④心跳维护应答帧:从机设备发送给主机设备的在线、拔出、正常、异常状态查询应答;
(1).上电识别过程包括:
步骤1a,从机设备上电启动后将自动间隔循环向主机设备发送上电指示帧;
步骤1b,主机设备接收到从机设备上电指示帧后,若同意该从机设备连接,则向从机设备发送上电指示应答帧;否则不发送;
步骤1c,若从机设备收到上电指示应答帧,则停止发送上电指示帧;否则执行步骤1d;
步骤1d,若从机设备没有收到上电指示应答帧,则累计连续发送一特定次数上电指示帧后,停止发送;
(2).状态查询过程包括:
步骤2a,主从设备建立连接后,主机设备间隔循环向从机设备发送心跳维护帧;
步骤2b,从机设备接收到心跳维护帧后,向主机设备发送心跳维护应答帧;
步骤2c,若主机设备收到从机设备的心跳维护应答帧,表示从机设备连接正常,则清除发送累计次数,启动下一个时间发送心跳维护帧;否则执行步骤2d;
步骤2d,若主机设备没有收到心跳维护应答帧,则累计连续发送一特定次数心跳维护帧后,断开从机设备电源,再上电重启从机设备。
2.根据权利要求1所述的主从设备的动态识别方法,其特征在于,根据所述的上电识别过程和状态查询过程来实现主从设备的通信和检测管理,其中包括:
步骤900,插入检测:从机设备插入主机设备的通信口上电启动后会主动发起上电指示帧,主机设备接收到从机设备的上电指示帧时,解析出当前从机设备编号,从而获知当前插到通信口上的从机设备的设备型号,及通信口被该从机设备的占用情况,主机设备记录该通信口上从机设备连接状态;
步骤901,拔出检测:主机设备与从机设备之间正常连接工作时,主机设备将间隔循环发送心跳维护帧,从机设备接收到心跳维护帧后,从机设备发送心跳维护应答帧,如果主机设备发送心跳维护帧一特定次数次后未收到从机设备的心跳维护应答帧,则检测到从机设备已拨出,或者从机设备已工作异常,主机设备清除通信口上从机设备连接状态,同时主机设备断开从机设备电源,再重新上电重启从机设备;
步骤902,更换检测,从机设备A插入主机设备通信口,正常连接工作后从机设备A从主机设备通信口拔出,接着插入从机设备B,主机设备将检测到从机设备B插入到通信口,主机设备将清除通信口上从机设备A的连接状态并记录通信口上为从机设备B连接状态;
步骤903,交换检测:当主机设备有多个通信口时,从机设备A插入主机设备通信口1,从机设备B插入主机设备通信口2,正常工作后从机设备A和从机设备B从主机设备通信口拔出,从机设备A插入主机设备通信口2,接着从机设备B插入主机设备通信口1,主机设备将检测到从机设备A插入到通信口2,主机设备将清除通信口2上从机设备B的连接状态并记录通信口2上为从机设备A连接状态,并且清除通信口1从机设备A连接状态,所以从机设备B插入主机设备通信口1时将按照正常“插入检测”方式检测。
3.根据权利要求1所述的主从设备的动态识别方法,其特征在于,步骤1d中所述的一特定次数和步骤2d中所述的一特定次数均为3次。
4.根据权利要求2所述的主从设备的动态识别方法,其特征在于,步骤901中所述的一特定次数为3次。
5.根据权利要求1所述的主从设备的动态识别方法,其特征在于,该嵌入式系统中主从设备串行总线通信方法中,所述的第一层是根据RS232总线通信协议的第一层来定义的。
6.根据权利要求1所述的主从设备的动态识别方法,其特征在于,该嵌入式系统中主从设备串行总线通信方法中,所述的第二层的数据帧的编码规则为:若数据帧的校验码、设备编码、命令和数据内容字段中出现与帧头和帧尾相同的字节A,则采用字节B和字节b替换;若数据帧的校验码、设备编码、命令和数据内容字段中出现字节B,则采用字节B和字节a替换。
7.根据权利要求1所述的主从设备的动态识别方法,其特征在于,该嵌入式系统中主从设备串行总线通信方法中,所述的第二层的数据帧的解码规则为:若数据帧的从校验码至数据内容字段中出现字节B和字节b,则解码为字节A;若数据帧的从校验码至数据内容字段中出现字节B和a,则解码为字节B。
8.根据权利要求1所述的主从设备的动态识别方法,其特征在于,该嵌入式系统中主从设备串行总线通信方法中,所述的第三层的数据帧的帧格式中各字段定义和字段长度如下:
①帧头:占1个字节,用于指示一个数据帧的开始,采用具有特定的特征性字节A表示;
②校验码:占1个字节,作为数据帧的有效性校验,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和;
③设备编码:占1个字节,对每一种从机设备设定唯一的设备编码;
④命令:占1个字节,用于指示该数据帧的用途;
⑤数据内容:具体的数据信息;
⑥帧尾:占1个字节,用于指示一个数据帧的结束,采用字节A表示表示。
9.根据权利要求1所述的主从设备的动态识别方法,其特征在于,该嵌入式系统中主从设备串行总线通信方法中,所述的从机设备根据特定的通信协议来生成和发送数据帧的处理流程为:
步骤600,根据协议的第三层,在数据内容字段前面填充“设备编码”数据和“命令”字段;
步骤601,根据协议的第三层,计算校验码,校验码的值为从“设备编码”字段到“数据内容”字段所有字节数据的累加和,将计算出来的校验码填充到“校验码”字段;
步骤602,根据协议第三层,将计算后的数据串头和尾添各加上字节A 作为“帧头”和“帧尾”;
步骤603,根据协议第二层,对数据串从“校验码”字段到“数据内容”字段所有字节的数据进行编码,生成数据帧;
步骤604,根据协议第一层,将数据帧发送给主机设备。
10.根据权利要求1所述的主从设备的动态识别方法,其特征在于,该嵌入式系统中主从设备串行总线通信方法中,所述的主机设备根据特定的通信协议来接收和解析数据帧的处理流程为:
步骤700,根据协议第一层,接收从机设备发送过来的数据帧;
步骤701,根据协议第二层,对数据帧去掉帧头和帧尾的字节A,并对剩余的数据串中的所有字节的数据进行解码;
步骤702,根据协议第三层,将解码后的数据串从“设备编码”字段到“数据内容”字段的所有字节数据的累加和,计算出校验码值;
步骤703,根据协议第三层,判断计算后的校验码值与原数据帧的“校验码”字段中的值是否相等,若相等,则该数据帧有效,数据帧接收成功,进入下一步数据处理;若不相等,则该数据帧无效,数据帧接收错误,丢弃该错误帧,不处理。
CN201110177594.XA 2011-06-29 2011-06-29 基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法 Active CN102279835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110177594.XA CN102279835B (zh) 2011-06-29 2011-06-29 基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110177594.XA CN102279835B (zh) 2011-06-29 2011-06-29 基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法

Publications (2)

Publication Number Publication Date
CN102279835A CN102279835A (zh) 2011-12-14
CN102279835B true CN102279835B (zh) 2014-01-22

Family

ID=45105291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110177594.XA Active CN102279835B (zh) 2011-06-29 2011-06-29 基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法

Country Status (1)

Country Link
CN (1) CN102279835B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103378992B (zh) * 2012-04-18 2016-12-14 珠海格力电器股份有限公司 家庭总线系统的总线数据测试方法及装置
CN102760109B (zh) * 2012-06-15 2016-03-30 华为技术有限公司 数据的通信方法、装置及系统
CN104102482B (zh) * 2013-04-12 2018-09-07 厦门雅迅网络股份有限公司 一种嵌入式系统的控制台串口与应用串口复用方法及应用
CN103761191B (zh) * 2013-12-25 2016-06-08 广西科技大学 一种非易失性存储器的固定数据格式读写方法
CN106502944B (zh) * 2015-09-08 2019-05-07 杭州华为数字技术有限公司 计算机、pcie设备以及pcie设备的心跳检测方法
CN105491017B (zh) * 2015-11-23 2018-05-15 泰华智慧产业集团股份有限公司 Rs485总线多设备多协议解析方法及系统
CN105975424B (zh) * 2016-04-28 2018-06-26 北京信息科技大学 一种主从串行通讯协议
CN109753477A (zh) * 2017-11-06 2019-05-14 沈机(上海)智能系统研发设计有限公司 一种嵌入式控制设备及其控制方法
WO2020172802A1 (zh) * 2019-02-26 2020-09-03 深圳配天智能技术研究院有限公司 主从设备通信系统及方法
CN110995686B (zh) * 2019-11-26 2022-04-01 珠海泰芯半导体有限公司 一种软件通信协议的校验方法
CN111711609A (zh) * 2020-05-21 2020-09-25 重庆川仪自动化股份有限公司 一种串口通信中的协议设计方法
CN112650277A (zh) * 2020-12-07 2021-04-13 航天时代飞鸿技术有限公司 一种用于无人机电气设备的拓扑式在线编程方法及无人机
CN112671770A (zh) * 2020-12-23 2021-04-16 波达通信设备(广州)有限公司 室外机串口协议解析方法、装置、计算机设备及存储介质
CN114337915A (zh) * 2021-12-02 2022-04-12 华人运通(江苏)技术有限公司 基于串行通讯的私有协议容错处理方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527561A (zh) * 2003-09-22 2004-09-08 中兴通讯股份有限公司 实现rs-485多点通讯的方法
CN1787536A (zh) * 2004-12-06 2006-06-14 厦门雅迅网络股份有限公司 虚拟rs232接口的方法
CN101213798A (zh) * 2005-05-27 2008-07-02 诺基亚公司 使用网络层服务质量(QoS)管理的高速串行总线体系

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527561A (zh) * 2003-09-22 2004-09-08 中兴通讯股份有限公司 实现rs-485多点通讯的方法
CN1787536A (zh) * 2004-12-06 2006-06-14 厦门雅迅网络股份有限公司 虚拟rs232接口的方法
CN101213798A (zh) * 2005-05-27 2008-07-02 诺基亚公司 使用网络层服务质量(QoS)管理的高速串行总线体系

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Don Anderson.USB系统体系.《USB系统体系》.2001, *

Also Published As

Publication number Publication date
CN102279835A (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
CN102279835B (zh) 基于嵌入式系统中主从设备串行总线通信方法实现的主从设备的动态识别方法
CN102662697B (zh) 一种软件升级方法及装置
CN102638397B (zh) 一种usb设备通信传输方法、设备及系统
KR101327680B1 (ko) 전력량계의 펌웨어 업그레이드 장치, 시스템 및 방법
CN105354488A (zh) 一种应用安装方法、相关装置及应用安装系统
CN103019755B (zh) 嵌入式系统中多cpu的无线程序下载方法
CN104714815A (zh) 一种对应用软件进行升级的方法及装置
CN104468260A (zh) 一种移动终端设备的识别方法、装置及系统
CN109213530A (zh) 一种基于usb的通信连接方法、移动终端及存储介质
CN110083375A (zh) 一种设备间交互进行ota升级的方法及装置
EP2664988A1 (en) Method, device and system for installing terminal software
CN111756858A (zh) 嵌入式设备的远程开发处理系统、方法及装置
CN112486733B (zh) 系统还原方法、装置、终端及存储介质
CN109683917A (zh) 用于将应用部署于应用服务器的方法、设备以及介质
CN104301343A (zh) 一种数据库更新方法及相关设备、系统
CN109901853A (zh) 一种升级方法及设备、系统
US20180196773A1 (en) Method and host node for configuring a remote node and a host node
CN105739694A (zh) 一种穿戴式设备交互的方法、终端及穿戴式设备
CN115129351A (zh) 升级从控制器的方法、主控制器及从控制器
CN104951325A (zh) 一种信息显示方法及电子设备
CN101971562B (zh) 控制自动运行过程执行的方法、装置及系统
CN111610995B (zh) 一种设备固件升级方法、装置、电子设备和存储介质
CN104641305A (zh) 用于账户设置和/或设备安装的系统
CN104980564A (zh) 充电插座以及基于充电插座的移动终端处理方法
CN111338642A (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20111214

Assignee: XIAMEN LEELEN ELECTRIC CONTROL TECHNOLOGY CO.,LTD.

Assignor: XIAMEN YAXON NETWORK Co.,Ltd.

Contract record no.: 2014350000044

Denomination of invention: The dynamic identifying method of the master-slave equipment of realizing based on master-slave equipment serial bus communication method in embedded system

Granted publication date: 20140122

License type: Exclusive License

Record date: 20140425

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: XIAMEN LEELEN ELECTRIC CONTROL TECHNOLOGY CO.,LTD.

Assignor: XIAMEN YAXON NETWORK Co.,Ltd.

Contract record no.: 2014350000044

Date of cancellation: 20180206

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 303-e, Zone C, innovation building, software park, torch hi tech Zone, Xiamen City, Fujian Province

Patentee after: Xiamen Yaxun Zhilian Technology Co.,Ltd.

Country or region after: China

Address before: No.46 guanri Road, phase II, software park, Xiamen City, Fujian Province, 361000

Patentee before: XIAMEN YAXON NETWORK Co.,Ltd.

Country or region before: China