首页 / 一种外扩功能系统

一种外扩功能系统有效专利 实用

技术领域

[0001] 本发明涉及物联网技术领域,具体涉及一种外扩功能系统。

相关背景技术

[0002] 物联网应用覆盖工业、商业、消费等数十种行业及数百个细分应用场景,应用场景碎片化问题促使物联网硬件产品的功能灵活多样,为每种应用场景定制不同硬件产品势必导致产品上市周期长,无法满足市场对产品的迫切需要。为加快硬件产品研发节奏,一般采用主控板加上多种外扩功能硬件的组合设计方式,主控板通过装配多类外扩功能硬件来达到改变与扩展产品功能的目的。
[0003] 由于外扩功能硬件涵盖传感、采集、通信、供电等多种功能领域,种类繁多,不同外扩功能硬件的通讯总线规格也不尽相同。硬件产品为了支持外扩功能硬件带来的功能灵活性和扩展性,一种硬件设计方案为在硬件产品主控板上预留各种规格的外设通讯总线接口槽位,以此来支持多种类型外扩功能硬件的装配。此种方案存在缺点,外扩功能硬件只能装配在相对应规格的外设通讯总线接口槽位上,外设通讯总线接口槽位无法支持其他规格的外扩功能硬件,也无法达到灵活装配的要求。
[0004] 由于不同外扩功能硬件的通讯总线类型、通讯总线配置参数、数据帧协议栈结构、各协议层协议规范及业务信息编码方式不同,当硬件产品需要支持多种外扩功能硬件时,外扩功能硬件与相对应的逻辑控制程序关系很难维护,无论是靠人工通过配置工具选择外扩功能硬件与逻辑控制程序的对应关系,或是为指定的外扩功能硬件制作对应的逻辑控制程序版本,都很容易出错。增加了外扩功能硬件使用的复杂度。
[0005] 由于硬件产品需要支持多种外扩功能硬件,如果需要支持的外扩功能硬件数量达到几十甚至上百种,那么主控板上微处理单元同样需要支持上百种外扩功能硬件对应的驱动逻辑程序,严重占用了微控制单元的存储资源。若其中任意驱动逻辑存在改动,则需要修改逻辑控制程序并进行固件升级,增加了硬件产品的固件升级次数和不稳定的风险。
[0006] 由于硬件产品需要支持多种物联网细分应用场景的产品应用,并且每种应用场景下需要装配的外扩功能硬件的种类和数据也不相同,一种方法是根据每种产品的使用形态而定制固件版本,这种方法会随着硬件产品的应用场景增加而增加,不便于版本的维护和管理。另一种方法是在硬件产品开通使用过程中,通过下发配置参数来驱动加载不同的外扩功能硬件,但这需要产品的开通初期进行大量的参数选择与配置,降低了产品的易用性。

具体实施方式

[0027] 下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
[0028] 另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
[0029] 本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
[0030] 本申请技术方案的发明构思是:提供一种可灵活装配多类外扩功能硬件的外扩功能系统,对外扩功能单元配设元信息储存单元,将外扩功能单元对应的管脚参数、总线类型、数据帧协议栈结构、各协议层协议规范和业务信息编码等硬件元信息进行本地存储,使得外扩功能单元与其自身元信息在硬件层面上产生了一对一的绑定关系,由此解决外扩功能硬件及其硬件元信息关系的维护复杂问题。通过将外扩功能单元的相关元信息储存在元信息存储单元上,避免了对外扩功能单元的相关参数及配置修改后,要进行主控硬件上固件版本的升级问题。此外,本申请提供的外扩功能硬件的驱动加载方法,能够通过读取各外扩功能单元的元信息即可对各类外扩功能硬件进行驱动加载,避免通过不同应用场景下的烧录不同定制固件版本带来的固件版本管理困难的问题。
[0031] 实施例一:
[0032] 请参考图1,本申请提供一种外扩功能系统1,其包括外扩功能硬件11和主控硬件12,两者进行总线连接,下面将分别说明。
[0033] 外扩功能硬件11包括外扩功能单元111和元信息存储单元112,其中,外扩功能单元11用于提供一种或多种外扩功能,例如提供传感、通讯、采集、供电等外扩功能,这里的外扩功能单元11可以为传感器、网关、变送器、稳压器等具有特定功能的硬件电路或设备。其中,元信息存储单元112用于存储外扩功能硬件的元信息,可为存储芯片、存储卡等具备数据存储功能的器件。
[0034] 主控硬件12包括控制单元121,该控制单元121与外扩功能硬件11进行总线连接,用于从元信息存储单元112获取外扩功能单元111的元信息,以及根据获取的元信息对外扩功能单元111进行通信配置。其中,控制单元121内置各外扩功能单元111的自动识别、配置、加载及驱动逻辑,内置外扩功能单元111的元信息读写逻辑。
[0035] 进一步地,外扩功能硬件11还包括第一接口单元113,而主控硬件12还包括第二接口单元123。其中,外扩功能硬件11的外扩功能单元111和元信息存储单元112均通过第一接口单元113、第二接口单元123与控制单元121进行总线连接。在一具体实施例中,第一接口单元113包括控制总线接口1131和数据总线接口1132,第二接口单元123包括控制总线接口1231和数据总线接口1232,第一接口单元113和第二接口单元123均并行接入两路总线,分别为控制总线和数据总线,那么,可使得外扩功能单元111在接入控制总线接口1131之后通过控制总线与第二接口单元123的控制总线接口1231连接,元信息存储单元112在接入数据总线接口1132之后通过数据总线与第二接口单元123的数据总线接口1232连接;同时,由于控制总线接口1231、数据总线接口1232通过总线与控制单元121连接,从而实现了控制单元
121分别与外扩功能单元111、元信息存储单元112进行通信连接的目的。
[0036] 需要说明的是,第一接口单元113的控制总线接口1131和第二接口单元123的控制总线接口1231可采用I2C总线、USB总线、RS232总线、RS485总线、SPI总线、PCI总线、CAN总线或TCP/IP总线所对应的插槽。而第一接口单元113的数据总线接口1132和第二接口单元123的数据总线接口1232也可采用I2C总线、USB总线、RS232总线、RS485总线、SPI总线、PCI总线、CAN总线或TCP/IP总线所对应的插槽。由于每种总线所对应的插槽都有规范化的标准连接形式和标准通信协议,属于现有技术,因此这里不再针对每种总线进行详细说明。例如,第一接口单元113和第二接口单元123均可采用USB3.0micro B型的双USB接口,以此来提供相适配的控制总线和数据总线的接入通道。
[0037] 进一步地,元信息存储单元112的元信息包括外扩功能单元111的总线配置信息和硬件标识信息,那么,主控硬件12的控制单元121用于根据总线配置信息对接入第二接口单元123的控制总线进行通信配置。其中,总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
[0038] 由上可知,外扩功能硬件11和主控硬件12进行总线连接从而构成外扩功能系统1,则在上述的硬件基础上,主控硬件12中的控制单元121可以采用现有技术对外扩功能硬件11中的外扩功能单元111进行通信配置,或者采用未来出现的技术对外扩功能单元111进行通信配置,这里不做限制。
[0039] 当控制单元121采用现有技术对外扩功能单元111进行通信配置时,控制单元121的工作原理可以用技术文献进行说明。例如,华为公司的专利文献(CN201210066368.9)公开一种实现单板即插即用的方法、单板及系统,属计算机应用技术领域。该方法包括:单板上电后启动BIOS程序;BIOS程序将预先存储于所述单板的需要更新的新驱动文件复制到系统保留内存;bzImage启动;运行Initrd,Initrd中的程序从所述系统保留内存中读取新驱动文件并替换Initrd中的旧驱动文件;加载所述驱动文件后,执行单板所运行操作系统后续程序的启动。该方法采用在单板上板载变更器件的新驱动文件方式,在驱动加载前,用新驱动文件替换变更部分的旧驱动文件,简化了单板软件升级的方法,操作较简单,提高了工作效率和可维护性。结合该专利文献,按照单板即插即用的工作原理,本申请实施例中的控制单元121在与外扩功能硬件11连接之后,从外扩功能硬件11的元信息存储单元112读取元信息(即新的驱动文件)且加载该元信息,控制单元121就可变更原有的通信驱动方式,驱动外扩功能硬件111与自身进行通信。
[0040] 当控制单元121采用新的技术对外扩功能单元111进行通信配置时,实施例一还提供了一种外扩功能硬件的驱动加载方法,请参考图2,下面将结合步骤S210-S230对该驱动加载方法进行详细说明。
[0041] 步骤S210,获取步骤:从外扩功能硬件11的元信息存储单元112中获取外扩功能硬件111的元信息。
[0042] 在一具体实施例中,主控硬件12的控制单元121通过数据总线访问云信息存储单元112,从云信息存储单元112中获取外扩功能硬件的云信息;这里对云信息存储单元112的访问形式可参考数据总线的具体类型,不同类型的数据总线需要采用不同类型的通信协议来进行访问,属于现有技术,这里不再进一步的说明。
[0043] 进一步地,主控硬件12的控制单元121不断地对第二接口单元123进行接入状态检测,检测该第二接口单元123是否接入外扩功能硬件11,若检测到接入了外扩功能硬件11,则控制单元121通过数据总线开始访问外扩功能硬件11中的云信息存储单元112。
[0044] 步骤S220,解析步骤:对外扩功能硬件11的元信息进行解析,得到外扩功能硬件11的总线配置信息。
[0045] 在一具体实施例中,主控硬件12的控制单元121对外扩功能硬件11的元信息进行解析,得到外扩功能硬件的总线配置信息,还得到外扩功能硬件的硬件标识信息;其中,总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
[0046] 步骤S230,配置步骤:根据总线配置信息对外扩功能硬件11中的外扩功能单元111进行通信配置,以驱动外扩功能单元111进行通信。在一实施例中,见图4,步骤S230可包括步骤S231-S235,分别说明如下。
[0047] 步骤S231,根据总线配置信息中的管脚参数对接入主控硬件12中第二接口单元123的控制总线所对应的管脚进行重定义初始化,即对第二接口单元123的控制总线接口
1231中的各个管脚进行重定义初始化,其中管脚参数包括:模拟或数字模式、输入或输出模式、推挽或开漏模式、工作速率模式、高电平或低电平模式。例如,若控制总线接口1131、
1231均为PCI类型接口且通过PCI总线作为控制总线进行连接,外扩功能单元111具备I2C总线的通信能力时,此时需要对控制总线接口1131、1231的管脚进行重定义,以使得接口中两路线得以启用且分别作为SDA、SCL线来进行I2C的串行通信能力,如此可以实现并行接口的串行通信功能。
[0048] 需要说明的是,本实施例中的控制总线包括串行、并行、同步、异步、高速、低速等多种类型的总线规格,达到对支持各种外扩功能单元的控制访问能力。具体选择哪种外设通信总线规划取决于外扩功能硬件的元信息内容,为了减少接口占用的管脚数量,应考虑将各管脚的功能进行功能复用。
[0049] 需要说明的是,本技术方案通过使能控制总线接入的接口的部分管脚,使得原有的控制总线具备多种类型的总线通信能力,通过为不同外扩功能单元提供标准功能控制访问方式,统一不同外扩功能单元的硬件控制访问方式。
[0050] 步骤S232,根据总线配置信息中的总线类型对第二接口单元123的控制总线进行驱动初始化。
[0051] 例如,控制单元121根据步骤S231获取控制总线接口1131、1231的管脚使能信息,使能管脚的连接关系可满足总线配置信息中的总线类型,那么就可以根据总线类型对使能后的管脚进行驱动初始化,进而依据使能后的管脚对控制总线进行驱动初始化。
[0052] 步骤S233,控制单元121根据总线配置信息中的数据帧协议栈结构加载对应的数据帧。该加载过程是通信准备阶段的常见技术手段,属于现有技术,因此这里不再进行详细说明。
[0053] 步骤S234,控制单元121根据总线配置信息中的协议层协议规范加载对应的协议。该加载过程是通信准备阶段的常见技术手段,属于现有技术,因此这里不再进行详细说明。
[0054] 步骤S235,控制单元121根据总线配置信息中的业务信息编解码加载对应的业务信息。该加载过程是通信准备阶段的常见技术手段,属于现有技术,因此这里不再进行详细说明。
[0055] 本领域的技术人员可以理解,通过上述步骤S231-S235即可对控制总线进行通信配置,使得控制总线可以按照新的总线类型进行通信,也使得控制单元121能够顺利加载新的总线类型对应的驱动信息,按照新的总线类型对应的通信协议与外扩功能单元111进行数据交互。
[0056] 在另一个实施例中,可参考图3,步骤S220之后且步骤S230之前还可以包括步骤S240,即校验步骤:对步骤S220中解析得到的硬件标识信息进行信息合法性的校验,在通过校验后进入步骤S230所示的配置步骤。例如,控制单元121读取硬件标识信息中的固件版本、硬件版本、生产厂家、生产日期、生产批次或唯一流水号,将其中的一者或多者进行信息合法性校验,若校验通过,则表明外扩功能硬件11中的外扩功能单元111是可识别的硬件电路或设备,符合控制总线的配置条件,能够通过控制总线进行通信。
[0057] 通过上述内容可知,外扩功能硬件11中的元信息存储单元112至关重要,其内存储的元信息将决定外扩功能单元111的通信配置结果。为使得技术人员清楚地了解元信息存储单元112中的元信息的构成,这里将对元信息存储单元112的信息烧录过程进行介绍。在另外一个实施例中,可见图5,在任意一外扩功能硬件接入第二接口单元123之前还包括烧录步骤,即在步骤S210之前还包括烧录步骤(S001-S003),分别说明如下。
[0058] 步骤S001,通过一个烧录工具将元信息存储单元112接入诸如计算机的控制设备,用户在计算机上选择将待烧录的驱动信息,在烧录操作开始后,控制设备确认外扩功能硬件11中设置的外扩功能单元111对应的驱动信息,查验驱动信息是否完整,这里的驱动信息可包括总线配置信息和硬件表示信息。其中,总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,这里的管脚参数包括但不限于模拟或数字模式、输入或输出模式、推挽或开漏模式、工作速率模式、高电平或低电平模式,这里的总线类型包括但不限于高速、低速、串行、并行、同步、异步等,这里的数据帧协议栈结构包括但不限于帧头、帧尾编码方式、数据校验算法、长度位置信息、业务数据位置信息等,这里的协议层协议规范包括但不限于TCP/IP网络协议栈、OSI网络协议栈、AT指令集信息、功能模块私有通讯协议栈等,这里的业务信息编解码包括但不限于数据偏移、数据长度、数据解码算法、数据校验算法等。
[0059] 步骤S002,控制设备将驱动信息中的管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码逐一烧录至外扩功能硬件中的元信息存储单元。由于烧录过程是现有技术,因此这里不再进行详细说明。
[0060] 步骤S003,控制设备从外扩功能硬件中的元信息存储单元112内读取烧录后的驱动信息,进行数据完整性校验,以确定烧录成功。这里的数据完整性校验包括CRC、DM5等数据校验方法,由于数据完整性校验属于现有技术,因此这里不再进行详细说明。
[0061] 实施例二:
[0062] 请参考6,本申请公开了另一种外扩功能系统2,其包括主控硬件12和多个外扩功能硬件(如外扩功能硬件1、外扩功能硬件2……第二接口单元N,N>=2),其中,主控硬件12包括多个第二接口单元(如第二接口单元1、第二接口单元2……第二接口单元N,N>=2),各个第二接口单元均与控制单元121连接,用于一一对应连接多个外扩功能硬件。
[0063] 需要说明的是,本实施例中的每个外扩功能硬件包括外扩功能单元和云信息存储单元,与主控硬件12的总线连接方式可参考上述的实施例一,这里不再进行赘述。
[0064] 需要说明的是,这里提供的外扩功能系统2具备了多个外扩功能硬件同时通信的应用需求,可通过主控硬件12对所接入的各个外扩功能硬件进行通信配置,由此可实现通信集中、灵活装配、易于扩展的应用要求。
[0065] 由上可知,多个外扩功能硬件和主控硬件12进行总线连接从而构成外扩功能系统2,则在上述的硬件基础上,主控硬件12中的控制单元121可以采用专利文献(CN201210066368.9)中公开的现有技术分别对每个外扩功能硬件中的外扩功能单元进行通信配置,或者采用未来出现的技术对每个外扩功能硬件中的外扩功能单元进行通信配置,这里不做限制。
[0066] 由于本实施例中存在多个外扩功能硬件同时与主控硬件12同时通信的情形,为满足各个外扩功能硬件即插即用的应用要求,需要使得主控硬件12对外扩功能硬件具有自动识别和自动加载驱动的能力。那么,在一具体实施例中,见图6,主控硬件12包括多个第二接口单元(如第二接口单元1、第二接口单元2……第二接口单元N),各个第二接口单元分别对应一个硬件访问地址,控制单元121可通过每个第二接口单元的硬件访问地址来进行外扩功能硬件的接入状态识别。
[0067] 下面将对本实施例公开的外扩功能系统2的工作原理进行说明。可参考图7,在获取步骤S210之前还包括判断步骤(S201-S202)。
[0068] 步骤S201,参见图6,控制单元121通过主控硬件12中各个第二接口单元对应的硬件访问地址轮询各个第二接口单元的接入状态。优选地,控制单元121可以按照硬件访问地址的数字顺序或者优先级顺序对各个第二接口单元进行轮询。
[0069] 步骤S202,判断每个第二接口单元是否通过总线接入一外扩功能硬件,若是,则进入获取步骤S210,反之,返回步骤S201。
[0070] 之后,控制单元121按照图3中的步骤S210—>S220—>S240—>S230依次进行执行,从而对接入任意一个第二接口单元的外扩功能硬件进行通信配置,达到外扩功能硬件中的外扩功能单元能够与控制单元121进行通信的目的。由于图3中的各个步骤已在实施例一中进行详细说明,因此这里不再进行赘述。
[0071] 本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
[0072] 以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

当前第1页 第1页 第2页 第3页