CN109669732B - 一种外扩功能系统及外扩功能硬件的驱动加载方法 - Google Patents
一种外扩功能系统及外扩功能硬件的驱动加载方法 Download PDFInfo
- Publication number
- CN109669732B CN109669732B CN201910114152.7A CN201910114152A CN109669732B CN 109669732 B CN109669732 B CN 109669732B CN 201910114152 A CN201910114152 A CN 201910114152A CN 109669732 B CN109669732 B CN 109669732B
- Authority
- CN
- China
- Prior art keywords
- hardware
- expansion function
- bus
- unit
- information
- 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
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims description 213
- 238000004891 communication Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 34
- 238000004519 manufacturing process Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 9
- 230000006386 memory function Effects 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000004458 analytical method Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000003381 stabilizer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
一种外扩功能系统及外扩功能硬件的驱动加载方法,其中外扩功能系统包括外扩功能硬件和主控硬件,驱动加载方法包括获取单元、解析单元和配置单元。一方面,由于在外扩功能硬件中设置了元信息存储单元,使得外扩功能硬件中设置的外扩功能单元的总线配置信息可以方便地实现本地存储,也使得外扩功能单元与其自身元信息在硬件层面上产生了一对一的绑定关系,从而解决了外扩功能单元与自身元信息之间的关系维护复杂问题;另一方面,在外扩功能硬件接入主控硬件之后,主控硬件中的主控单元可以方便地从元信息存储单元中读取元信息,避免了对外扩功能硬件的相关参数及配置修改后要对控制单元进行固件版本升级的问题。
Description
技术领域
本发明涉及物联网技术领域,具体涉及一种外扩功能系统及外扩功能硬件的驱动加载方法。
背景技术
物联网应用覆盖工业、商业、消费等数十种行业及数百个细分应用场景,应用场景碎片化问题促使物联网硬件产品的功能灵活多样,为每种应用场景定制不同硬件产品势必导致产品上市周期长,无法满足市场对产品的迫切需要。为加快硬件产品研发节奏,一般采用主控板加上多种外扩功能硬件的组合设计方式,主控板通过装配多类外扩功能硬件来达到改变与扩展产品功能的目的。
由于外扩功能硬件涵盖传感、采集、通信、供电等多种功能领域,种类繁多,不同外扩功能硬件的通讯总线规格也不尽相同。硬件产品为了支持外扩功能硬件带来的功能灵活性和扩展性,一种硬件设计方案为在硬件产品主控板上预留各种规格的外设通讯总线接口槽位,以此来支持多种类型外扩功能硬件的装配。此种方案存在缺点,外扩功能硬件只能装配在相对应规格的外设通讯总线接口槽位上,外设通讯总线接口槽位无法支持其他规格的外扩功能硬件,也无法达到灵活装配的要求。
由于不同外扩功能硬件的通讯总线类型、通讯总线配置参数、数据帧协议栈结构、各协议层协议规范及业务信息编码方式不同,当硬件产品需要支持多种外扩功能硬件时,外扩功能硬件与相对应的逻辑控制程序关系很难维护,无论是靠人工通过配置工具选择外扩功能硬件与逻辑控制程序的对应关系,或是为指定的外扩功能硬件制作对应的逻辑控制程序版本,都很容易出错。增加了外扩功能硬件使用的复杂度。
由于硬件产品需要支持多种外扩功能硬件,如果需要支持的外扩功能硬件数量达到几十甚至上百种,那么主控板上微处理单元同样需要支持上百种外扩功能硬件对应的驱动逻辑程序,严重占用了微控制单元的存储资源。若其中任意驱动逻辑存在改动,则需要修改逻辑控制程序并进行固件升级,增加了硬件产品的固件升级次数和不稳定的风险。
由于硬件产品需要支持多种物联网细分应用场景的产品应用,并且每种应用场景下需要装配的外扩功能硬件的种类和数据也不相同,一种方法是根据每种产品的使用形态而定制固件版本,这种方法会随着硬件产品的应用场景增加而增加,不便于版本的维护和管理。另一种方法是在硬件产品开通使用过程中,通过下发配置参数来驱动加载不同的外扩功能硬件,但这需要产品的开通初期进行大量的参数选择与配置,降低了产品的易用性。
发明内容
有鉴于此,本发明主要解决的技术问题是现有外扩功能硬件的适配性差、驱动逻辑程序维护难、不易进行参数配置。为解决上述技术问题,本申请提供一种外扩功能系统及外扩功能硬件的驱动加载方法。
根据第一方面,一种实施例中提供一种外扩功能系统,包括:
外扩功能硬件,包括外扩功能单元、元信息存储单元,所述外扩功能单元用于提供一种或多种外扩功能,所述元信息存储单元用于存储所述外扩功能硬件的元信息;
主控硬件,包括控制单元,所述控制单元与所述外扩功能硬件进行总线连接,用于从所述元信息存储单元获取所述外扩功能单元的元信息,以及根据所述元信息对所述外扩功能单元进行通信配置。
所述外扩功能硬件还包括第一接口单元,所述主控硬件还包括第二接口单元;
所述外扩功能单元、所述元信息存储单元均通过所述第一接口单元和所述第二接口单元与所述控制单元进行总线连接。
所述第一接口单元、所述第二接口单元均包括控制总线接口和数据总线接口,用于配合并行接入控制总线和数据总线;
所述外扩功能单元通过所述控制总线与所述第二接口单元连接,所述元信息存储单元通过所述数据总线与所述第二接口单元连接。
所述元信息存储单元的元信息包括所述外扩功能单元的总线配置信息和硬件标识信息;
所述控制单元用于根据所述总线配置信息对接入所述第二接口单元的所述控制总线进行通信配置;
所述总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,所述硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
所述主控硬件包括多个所述第二接口单元,各个所述第二接口单元均与所述控制单元连接,用于一一对应连接多个所述外扩功能硬件。
根据第二方面,一种实施例中提供一种扩功能硬件的驱动加载方法,所述外扩功能硬件与一主控硬件总线连接且构成上述第一方面所述的外扩功能系统,所述驱动加载方法包括以下步骤:
获取步骤:从所述外扩功能硬件的元信息存储单元中获取所述外扩功能硬件的元信息;
解析步骤:对所述外扩功能硬件的元信息进行解析,得到所述外扩功能硬件的总线配置信息;
配置步骤:根据所述总线配置信息对所述外扩功能硬件中的外扩功能单元进行通信配置,以驱动所述外扩功能单元进行通信。
在所述解析步骤中,对所述外扩功能硬件的元信息进行解析,得到所述外扩功能硬件的总线配置信息,还得到所述外扩功能硬件的硬件标识信息;
所述总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,所述硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
在所述解析步骤之后且所述配置步骤之前还包括校验步骤,所述校验步骤包括:
对所述硬件标识信息进行信息合法性的校验,在通过校验后进入所述配置步骤。
在所述配置步骤中,根据所述总线配置信息对所述外扩功能硬件中的外扩功能单元进行通信配置,包括:
根据所述总线配置信息中的管脚参数对接入所述主控硬件中所述第二接口单元的控制总线所对应的管脚进行重定义初始化;
根据所述总线配置信息中的总线类型对所述第二接口单元的控制总线进行驱动初始化;
根据所述总线配置信息中的数据帧协议栈结构加载对应的数据帧;
根据所述总线配置信息中的协议层协议规范加载对应的协议;
根据所述总线配置信息中的业务信息编解码加载对应的业务信息。
所述主控硬件包括多个第二接口单元,在所述获取步骤之前还包括判断步骤,所述判断步骤包括:
通过所述主控硬件中各个所述第二接口单元对应的硬件访问地址轮询各个所述第二接口单元的接入状态,判断每个所述第二接口单元是否通过总线接入一外扩功能硬件,若是,则进入所述获取步骤。
在任意一外扩功能硬件接入所述第二接口单元之前还包括烧录步骤,所述烧录步骤包括:
确认所述外扩功能硬件中设置的外扩功能单元对应的驱动信息,所述驱动信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码;
将所述驱动信息中的管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码逐一烧录至所述外扩功能硬件中的元信息存储单元;
从所述外扩功能硬件中的元信息存储单元内读取烧录后的驱动信息,进行数据完整性校验,以确定烧录成功。
根据第三方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现上述第二方面所述的方法。
本申请的有益效果是:
依据上述实施例的一种外扩功能系统及外扩功能硬件的驱动加载方法,其中外扩功能系统包括外扩功能硬件和主控硬件,驱动加载方法包括获取单元、解析单元和配置单元。第一方面,由于对主控硬件和外扩功能硬件均进行了通信接口的标准化硬件设计,使得主控硬件上的接口槽位可以装配多种类型的外扩功能硬件,从而使得主控硬件的实现功能更加灵活多变,具备良好的易扩展性;第二方面,由于在外扩功能硬件中设置了元信息存储单元,使得外扩功能硬件中设置的外扩功能单元的总线配置信息可以方便地实现本地存储,使得外扩功能单元与其自身元信息在硬件层面上产生了一对一的绑定关系,从而解决了外扩功能单元与自身元信息之间的关系维护复杂问题;第三方面,在外扩功能硬件接入主控硬件之后,主控硬件中的主控单元可以方便地从元信息存储单元中读取元信息,避免了对外扩功能硬件的相关参数及配置修改后要对控制单元进行固件版本升级的问题;第四方面,由于读取外扩功能单元对应的元信息即可对各类外扩功能单元进行驱动加载,避免了通过不同应用场景下烧录不同定制固件版本带来的固件版本管理困难的问题;第五方面,由于在系统启动之后,主控硬件中的控制单元能够自动判断接入的外扩功能硬件,利于自动加载外扩功能硬件的驱动,可避免产品使用过程中对外扩功能硬件的复杂配置,提升了硬件产品的易用性,降低了产品开发和维护成本。
附图说明
图1为一种实施例中外扩功能系统的结构图;
图2为一种实施例中外扩功能硬件的驱动加载方法的流程图;
图3为另一种实施例中外扩功能硬件的驱动加载方法的流程图;
图4为配置步骤的流程图;
图5为烧录步骤的流程图;
图6为另一种实施例中外扩功能系统的结构图;
图7为另一种实施例中多个外扩功能硬件的驱动加载方法的流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
本申请技术方案的发明构思是:提供一种可灵活装配多类外扩功能硬件的外扩功能系统,对外扩功能单元配设元信息储存单元,将外扩功能单元对应的管脚参数、总线类型、数据帧协议栈结构、各协议层协议规范和业务信息编码等硬件元信息进行本地存储,使得外扩功能单元与其自身元信息在硬件层面上产生了一对一的绑定关系,由此解决外扩功能硬件及其硬件元信息关系的维护复杂问题。通过将外扩功能单元的相关元信息储存在元信息存储单元上,避免了对外扩功能单元的相关参数及配置修改后,要进行主控硬件上固件版本的升级问题。此外,本申请提供的外扩功能硬件的驱动加载方法,能够通过读取各外扩功能单元的元信息即可对各类外扩功能硬件进行驱动加载,避免通过不同应用场景下的烧录不同定制固件版本带来的固件版本管理困难的问题。
实施例一:
请参考图1,本申请提供一种外扩功能系统,其包括外扩功能硬件11和主控硬件12,两者进行总线连接,下面将分别说明。
外扩功能硬件11包括外扩功能单元111和元信息存储单元112,其中,外扩功能单元111用于提供一种或多种外扩功能,例如提供传感、通讯、采集、供电等外扩功能,这里的外扩功能单元111可以为传感器、网关、变送器、稳压器等具有特定功能的硬件电路或设备。其中,元信息存储单元112用于存储外扩功能硬件的元信息,可为存储芯片、存储卡等具备数据存储功能的器件。
主控硬件12包括控制单元121,该控制单元121与外扩功能硬件11进行总线连接,用于从元信息存储单元112获取外扩功能单元111的元信息,以及根据获取的元信息对外扩功能单元111进行通信配置。其中,控制单元121内置各外扩功能单元111的自动识别、配置、加载及驱动逻辑,内置外扩功能单元111的元信息读写逻辑。
进一步地,外扩功能硬件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进行通信连接的目的。
需要说明的是,第一接口单元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.0 micro B型的双USB接口,以此来提供相适配的控制总线和数据总线的接入通道。
进一步地,元信息存储单元112的元信息包括外扩功能单元111的总线配置信息和硬件标识信息,那么,主控硬件12的控制单元121用于根据总线配置信息对接入第二接口单元123的控制总线进行通信配置。其中,总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
由上可知,外扩功能硬件11和主控硬件12进行总线连接从而构成外扩功能系统,则在上述的硬件基础上,主控硬件12中的控制单元121可以采用现有技术对外扩功能硬件11中的外扩功能单元111进行通信配置,或者采用未来出现的技术对外扩功能单元111进行通信配置,这里不做限制。
当控制单元121采用现有技术对外扩功能单元111进行通信配置时,控制单元121的工作原理可以用技术文献进行说明。例如,华为公司的专利文献(CN201210066368.9)公开一种实现单板即插即用的方法、单板及系统,属计算机应用技术领域。该方法包括:单板上电后启动BIOS程序;BIOS程序将预先存储于所述单板的需要更新的新驱动文件复制到系统保留内存;bzImage启动;运行Initrd,Initrd中的程序从所述系统保留内存中读取新驱动文件并替换Initrd中的旧驱动文件;加载所述驱动文件后,执行单板所运行操作系统后续程序的启动。该方法采用在单板上板载变更器件的新驱动文件方式,在驱动加载前,用新驱动文件替换变更部分的旧驱动文件,简化了单板软件升级的方法,操作较简单,提高了工作效率和可维护性。结合该专利文献,按照单板即插即用的工作原理,本申请实施例中的控制单元121在与外扩功能硬件11连接之后,从外扩功能硬件11的元信息存储单元112读取元信息(即新的驱动文件)且加载该元信息,控制单元121就可变更原有的通信驱动方式,驱动外扩功能硬件11与自身进行通信。
当控制单元121采用新的技术对外扩功能单元111进行通信配置时,实施例一还提供了一种外扩功能硬件的驱动加载方法,请参考图2,下面将结合步骤S210-S230对该驱动加载方法进行详细说明。
步骤S210,获取步骤:从外扩功能硬件11的元信息存储单元112中获取外扩功能硬件11的元信息。
在一具体实施例中,主控硬件12的控制单元121通过数据总线访问元信息存储单元112,从元信息存储单元112中获取外扩功能硬件的元信息;这里对元信息存储单元112的访问形式可参考数据总线的具体类型,不同类型的数据总线需要采用不同类型的通信协议来进行访问,属于现有技术,这里不再进一步的说明。
进一步地,主控硬件12的控制单元121不断地对第二接口单元123进行接入状态检测,检测该第二接口单元123是否接入外扩功能硬件11,若检测到接入了外扩功能硬件11,则控制单元121通过数据总线开始访问外扩功能硬件11中的元信息存储单元112。
步骤S220,解析步骤:对外扩功能硬件11的元信息进行解析,得到外扩功能硬件11的总线配置信息。
在一具体实施例中,主控硬件12的控制单元121对外扩功能硬件11的元信息进行解析,得到外扩功能硬件的总线配置信息,还得到外扩功能硬件的硬件标识信息;其中,总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
步骤S230,配置步骤:根据总线配置信息对外扩功能硬件11中的外扩功能单元111进行通信配置,以驱动外扩功能单元111进行通信。在一实施例中,见图4,步骤S230可包括步骤S231-S235,分别说明如下。
步骤S231,根据总线配置信息中的管脚参数对接入主控硬件12中第二接口单元123的控制总线所对应的管脚进行重定义初始化,即对第二接口单元123的控制总线接口1231中的各个管脚进行重定义初始化,其中管脚参数包括:模拟或数字模式、输入或输出模式、推挽或开漏模式、工作速率模式、高电平或低电平模式。例如,若控制总线接口1131、1231均为PCI类型接口且通过PCI总线作为控制总线进行连接,外扩功能单元111具备I2C总线的通信能力时,此时需要对控制总线接口1131、1231的管脚进行重定义,以使得接口中两路线得以启用且分别作为SDA、SCL线来进行I2C的串行通信能力,如此可以实现并行接口的串行通信功能。
需要说明的是,本实施例中的控制总线包括串行、并行、同步、异步、高速、低速等多种类型的总线规格,达到对支持各种外扩功能单元的控制访问能力。具体选择哪种外设通信总线规划取决于外扩功能硬件的元信息内容,为了减少接口占用的管脚数量,应考虑将各管脚的功能进行功能复用。
需要说明的是,本技术方案通过使能控制总线接入的接口的部分管脚,使得原有的控制总线具备多种类型的总线通信能力,通过为不同外扩功能单元提供标准功能控制访问方式,统一不同外扩功能单元的硬件控制访问方式。
步骤S232,根据总线配置信息中的总线类型对第二接口单元123的控制总线进行驱动初始化。
例如,控制单元121根据步骤S231获取控制总线接口1131、1231的管脚使能信息,使能管脚的连接关系可满足总线配置信息中的总线类型,那么就可以根据总线类型对使能后的管脚进行驱动初始化,进而依据使能后的管脚对控制总线进行驱动初始化。
步骤S233,控制单元121根据总线配置信息中的数据帧协议栈结构加载对应的数据帧。该加载过程是通信准备阶段的常见技术手段,属于现有技术,因此这里不再进行详细说明。
步骤S234,控制单元121根据总线配置信息中的协议层协议规范加载对应的协议。该加载过程是通信准备阶段的常见技术手段,属于现有技术,因此这里不再进行详细说明。
步骤S235,控制单元121根据总线配置信息中的业务信息编解码加载对应的业务信息。该加载过程是通信准备阶段的常见技术手段,属于现有技术,因此这里不再进行详细说明。
本领域的技术人员可以理解,通过上述步骤S231-S235即可对控制总线进行通信配置,使得控制总线可以按照新的总线类型进行通信,也使得控制单元121能够顺利加载新的总线类型对应的驱动信息,按照新的总线类型对应的通信协议与外扩功能单元111进行数据交互。
在另一个实施例中,可参考图3,步骤S220之后且步骤S230之前还可以包括步骤S240,即校验步骤:对步骤S220中解析得到的硬件标识信息进行信息合法性的校验,在通过校验后进入步骤S230所示的配置步骤。例如,控制单元121读取硬件标识信息中的固件版本、硬件版本、生产厂家、生产日期、生产批次或唯一流水号,将其中的一者或多者进行信息合法性校验,若校验通过,则表明外扩功能硬件11中的外扩功能单元111是可识别的硬件电路或设备,符合控制总线的配置条件,能够通过控制总线进行通信。
通过上述内容可知,外扩功能硬件11中的元信息存储单元112至关重要,其内存储的元信息将决定外扩功能单元111的通信配置结果。为使得技术人员清楚地了解元信息存储单元112中的元信息的构成,这里将对元信息存储单元112的信息烧录过程进行介绍。在另外一个实施例中,可见图5,在任意一外扩功能硬件接入第二接口单元123之前还包括烧录步骤,即在步骤S210之前还包括烧录步骤(S001-S003),分别说明如下。
步骤S001,通过一个烧录工具将元信息存储单元112接入诸如计算机的控制设备,用户在计算机上选择将待烧录的驱动信息,在烧录操作开始后,控制设备确认外扩功能硬件11中设置的外扩功能单元111对应的驱动信息,查验驱动信息是否完整,这里的驱动信息可包括总线配置信息和硬件表示信息。其中,总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,这里的管脚参数包括但不限于模拟或数字模式、输入或输出模式、推挽或开漏模式、工作速率模式、高电平或低电平模式,这里的总线类型包括但不限于高速、低速、串行、并行、同步、异步等,这里的数据帧协议栈结构包括但不限于帧头、帧尾编码方式、数据校验算法、长度位置信息、业务数据位置信息等,这里的协议层协议规范包括但不限于TCP/IP网络协议栈、OSI网络协议栈、AT指令集信息、功能模块私有通讯协议栈等,这里的业务信息编解码包括但不限于数据偏移、数据长度、数据解码算法、数据校验算法等。
步骤S002,控制设备将驱动信息中的管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码逐一烧录至外扩功能硬件中的元信息存储单元。由于烧录过程是现有技术,因此这里不再进行详细说明。
步骤S003,控制设备从外扩功能硬件中的元信息存储单元112内读取烧录后的驱动信息,进行数据完整性校验,以确定烧录成功。这里的数据完整性校验包括CRC、DM5等数据校验方法,由于数据完整性校验属于现有技术,因此这里不再进行详细说明。
实施例二:
请参考图6,本申请公开了另一种外扩功能系统,其包括主控硬件12和多个外扩功能硬件(如外扩功能硬件1、外扩功能硬件2……第二接口单元N,N>=2),其中,主控硬件12包括多个第二接口单元(如第二接口单元1、第二接口单元2……第二接口单元N,N>=2),各个第二接口单元均与控制单元121连接,用于一一对应连接多个外扩功能硬件。
需要说明的是,本实施例中的每个外扩功能硬件包括外扩功能单元和元信息存储单元,与主控硬件12的总线连接方式可参考上述的实施例一,这里不再进行赘述。
需要说明的是,这里提供的外扩功能系统具备了多个外扩功能硬件同时通信的应用需求,可通过主控硬件12对所接入的各个外扩功能硬件进行通信配置,由此可实现通信集中、灵活装配、易于扩展的应用要求。
由上可知,多个外扩功能硬件和主控硬件12进行总线连接从而构成外扩功能系统,则在上述的硬件基础上,主控硬件12中的控制单元121可以采用专利文献(CN201210066368.9)中公开的现有技术分别对每个外扩功能硬件中的外扩功能单元进行通信配置,或者采用未来出现的技术对每个外扩功能硬件中的外扩功能单元进行通信配置,这里不做限制。
由于本实施例中存在多个外扩功能硬件同时与主控硬件12同时通信的情形,为满足各个外扩功能硬件即插即用的应用要求,需要使得主控硬件12对外扩功能硬件具有自动识别和自动加载驱动的能力。那么,在一具体实施例中,见图6,主控硬件12包括多个第二接口单元(如第二接口单元1、第二接口单元2……第二接口单元N),各个第二接口单元分别对应一个硬件访问地址,控制单元121可通过每个第二接口单元的硬件访问地址来进行外扩功能硬件的接入状态识别。
下面将对本实施例公开的外扩功能系统的工作原理进行说明。可参考图7,在获取步骤S210之前还包括判断步骤(S201-S202)。
步骤S201,参见图6,控制单元121通过主控硬件12中各个第二接口单元对应的硬件访问地址轮询各个第二接口单元的接入状态。优选地,控制单元121可以按照硬件访问地址的数字顺序或者优先级顺序对各个第二接口单元进行轮询。
步骤S202,判断每个第二接口单元是否通过总线接入一外扩功能硬件,若是,则进入获取步骤S210,反之,返回步骤S201。
之后,控制单元121按照图3中的步骤S210—>S220—>S240—>S230依次进行执行,从而对接入任意一个第二接口单元的外扩功能硬件进行通信配置,达到外扩功能硬件中的外扩功能单元能够与控制单元121进行通信的目的。由于图3中的各个步骤已在实施例一中进行详细说明,因此这里不再进行赘述。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (7)
1.一种外扩功能系统,其特征在于,包括:
外扩功能硬件,包括外扩功能单元、元信息存储单元,所述外扩功能单元用于提供一种或多种外扩功能,所述元信息存储单元用于存储所述外扩功能硬件的元信息;其中,所述外扩功能单元与所述元信息在硬件层面上产生一对一的绑定关系;
主控硬件,包括控制单元,所述控制单元与所述外扩功能硬件进行总线连接,用于从所述元信息存储单元获取所述外扩功能单元的元信息,以及根据所述元信息对所述外扩功能单元进行通信配置;
所述外扩功能硬件还包括第一接口单元,所述主控硬件还包括第二接口单元;
所述外扩功能单元、所述元信息存储单元均通过所述第一接口单元和所述第二接口单元与所述控制单元进行总线连接;
所述第一接口单元、所述第二接口单元均包括控制总线接口和数据总线接口,用于配合并行接入控制总线和数据总线;所述外扩功能单元通过所述控制总线与所述第二接口单元的控制总线接口连接,所述元信息存储单元通过所述数据总线与所述第二接口单元的数据总线接口连接;
所述主控硬件包括多个所述第二接口单元,各个所述第二接口单元均与所述控制单元连接,用于一一对应连接多个所述外扩功能硬件;其中,所述控制单元通过所述主控硬件中各个所述第二接口单元对应的硬件访问地址轮询各个所述第二接口单元的接入状态;判断每个所述第二接口单元是否通过总线接入一所述外扩功能硬件,若是,则从所述外扩功能硬件的所述元信息存储单元中获取所述外扩功能硬件的元信息;
在任意一外扩功能硬件接入所述第二接口单元之前还包括烧录步骤,所述烧录步骤包括:
确认所述外扩功能硬件中设置的外扩功能单元对应的驱动信息,所述驱动信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码;
将所述驱动信息中的管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码逐一烧录至所述外扩功能硬件中的元信息存储单元;
从所述外扩功能硬件中的元信息存储单元内读取烧录后的驱动信息,进行数据完整性校验,以确定烧录成功。
2.如权利要求1所述的外扩功能系统,其特征在于,所述元信息存储单元的元信息包括所述外扩功能单元的总线配置信息和硬件标识信息;
所述控制单元用于根据所述总线配置信息对接入所述第二接口单元的所述控制总线进行通信配置;
所述总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,所述硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
3.一种外扩功能硬件的驱动加载方法,其特征在于,所述外扩功能硬件与一主控硬件总线连接且构成权利要求1-2中任一项所述的外扩功能系统,所述驱动加载方法包括以下步骤:
获取步骤:从所述外扩功能硬件的元信息存储单元中获取所述外扩功能硬件的元信息;
解析步骤:对所述外扩功能硬件的元信息进行解析,得到所述外扩功能硬件的总线配置信息;
配置步骤:根据所述总线配置信息对所述外扩功能硬件中的外扩功能单元进行通信配置,以驱动所述外扩功能单元进行通信;
所述主控硬件包括多个第二接口单元,在所述获取步骤之前还包括判断步骤,所述判断步骤包括:
通过所述主控硬件中各个所述第二接口单元对应的硬件访问地址轮询各个所述第二接口单元的接入状态,判断每个所述第二接口单元是否通过总线接入一外扩功能硬件,若是,则进入所述获取步骤。
4.如权利要求3所述的驱动加载方法,其特征在于,在所述解析步骤中,对所述外扩功能硬件的元信息进行解析,得到所述外扩功能硬件的总线配置信息,还得到所述外扩功能硬件的硬件标识信息;
所述总线配置信息包括管脚参数、总线类型、数据帧协议栈结构、协议层协议规范和业务信息编解码,所述硬件标识信息包括固件版本、硬件版本、生产厂家、生产日期、生产批次、唯一流水号中的一者或多者。
5.如权利要求4所述的驱动加载方法,其特征在于,在所述解析步骤之后且所述配置步骤之前还包括校验步骤,所述校验步骤包括:
对所述硬件标识信息进行信息合法性的校验,在通过校验后进入所述配置步骤。
6.如权利要求4所述的驱动加载方法,其特征在于,在所述配置步骤中,根据所述总线配置信息对所述外扩功能硬件中的外扩功能单元进行通信配置,包括:
根据所述总线配置信息中的管脚参数对接入所述主控硬件中所述第二接口单元的控制总线所对应的管脚进行重定义初始化;
根据所述总线配置信息中的总线类型对所述第二接口单元的控制总线进行驱动初始化;
根据所述总线配置信息中的数据帧协议栈结构加载对应的数据帧;
根据所述总线配置信息中的协议层协议规范加载对应的协议;
根据所述总线配置信息中的业务信息编解码加载对应的业务信息。
7.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求3-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910114152.7A CN109669732B (zh) | 2019-02-14 | 2019-02-14 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910114152.7A CN109669732B (zh) | 2019-02-14 | 2019-02-14 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669732A CN109669732A (zh) | 2019-04-23 |
CN109669732B true CN109669732B (zh) | 2024-05-17 |
Family
ID=66151532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910114152.7A Active CN109669732B (zh) | 2019-02-14 | 2019-02-14 | 一种外扩功能系统及外扩功能硬件的驱动加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669732B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306550A (zh) * | 2020-10-30 | 2021-02-02 | 广州朗国电子科技有限公司 | 一版固件兼容多个板卡方法、装置、存储介质及终端 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097563A (zh) * | 2006-06-27 | 2008-01-02 | 中兴通讯股份有限公司 | 一种单板集中管理与控制的实现系统与方法 |
CN101673212A (zh) * | 2009-10-27 | 2010-03-17 | 华为技术有限公司 | 软件加载方法和装置 |
CN201608799U (zh) * | 2010-01-19 | 2010-10-13 | 深圳市冠普电子科技有限公司 | 能处理外部数据的液晶电视 |
CN102214154A (zh) * | 2011-05-31 | 2011-10-12 | 上海交通大学 | 基于usb的交流伺服驱动器通信模块及通信方法 |
CN202150273U (zh) * | 2011-06-02 | 2012-02-22 | 北京联华中安信息技术有限公司 | 多功能存储介质信息消除系统 |
CN102625087A (zh) * | 2012-03-30 | 2012-08-01 | 浙江工业大学 | 无线视频监控系统的设备端 |
CN103106163A (zh) * | 2013-03-06 | 2013-05-15 | 上海维宏电子科技股份有限公司 | 基于数据帧异步传输协议的fpga芯片在线升级结构及方法 |
CN103530121A (zh) * | 2013-10-15 | 2014-01-22 | 武汉邮电科学研究院 | 一种rru单软件版本兼容多硬件平台的方法 |
CN104090986A (zh) * | 2014-07-28 | 2014-10-08 | 福建三元达通讯股份有限公司 | 一种无线控制器槽位控制方法、接入设备和无线控制器 |
CN104572164A (zh) * | 2014-03-21 | 2015-04-29 | 中电科技(北京)有限公司 | 一种基于飞腾便携式计算机的uefi固件实现方法 |
CN105743902A (zh) * | 2016-03-08 | 2016-07-06 | 江苏大学 | 一种面向智能互联的多cpu硬隔离的辅助驾驶车载网关 |
CN107315607A (zh) * | 2017-06-21 | 2017-11-03 | 南京翼辉信息技术有限公司 | 一种驱动自适应加载系统 |
CN108701256A (zh) * | 2016-08-22 | 2018-10-23 | 甲骨文国际公司 | 用于应用编程接口的元数据驱动的外部接口生成的系统和方法 |
CN109254762A (zh) * | 2018-08-23 | 2019-01-22 | 深圳市默贝克驱动技术有限公司 | 一种开放式驱动器软件平台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299096A (zh) * | 2001-01-12 | 2001-06-13 | 常促宇 | 通用串行总线接口的大容量移动存储器及其实现方法 |
US20080301358A1 (en) * | 2004-05-25 | 2008-12-04 | Chih-Chiang Wen | Electronic device that Downloads Operational Firmware from an External Host |
JP4511264B2 (ja) * | 2004-07-02 | 2010-07-28 | 株式会社東芝 | 画像形成装置及びその画像形成装置の情報出力方法 |
-
2019
- 2019-02-14 CN CN201910114152.7A patent/CN109669732B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097563A (zh) * | 2006-06-27 | 2008-01-02 | 中兴通讯股份有限公司 | 一种单板集中管理与控制的实现系统与方法 |
CN101673212A (zh) * | 2009-10-27 | 2010-03-17 | 华为技术有限公司 | 软件加载方法和装置 |
CN201608799U (zh) * | 2010-01-19 | 2010-10-13 | 深圳市冠普电子科技有限公司 | 能处理外部数据的液晶电视 |
CN102214154A (zh) * | 2011-05-31 | 2011-10-12 | 上海交通大学 | 基于usb的交流伺服驱动器通信模块及通信方法 |
CN202150273U (zh) * | 2011-06-02 | 2012-02-22 | 北京联华中安信息技术有限公司 | 多功能存储介质信息消除系统 |
CN102625087A (zh) * | 2012-03-30 | 2012-08-01 | 浙江工业大学 | 无线视频监控系统的设备端 |
CN103106163A (zh) * | 2013-03-06 | 2013-05-15 | 上海维宏电子科技股份有限公司 | 基于数据帧异步传输协议的fpga芯片在线升级结构及方法 |
CN103530121A (zh) * | 2013-10-15 | 2014-01-22 | 武汉邮电科学研究院 | 一种rru单软件版本兼容多硬件平台的方法 |
CN104572164A (zh) * | 2014-03-21 | 2015-04-29 | 中电科技(北京)有限公司 | 一种基于飞腾便携式计算机的uefi固件实现方法 |
CN104090986A (zh) * | 2014-07-28 | 2014-10-08 | 福建三元达通讯股份有限公司 | 一种无线控制器槽位控制方法、接入设备和无线控制器 |
CN105743902A (zh) * | 2016-03-08 | 2016-07-06 | 江苏大学 | 一种面向智能互联的多cpu硬隔离的辅助驾驶车载网关 |
CN108701256A (zh) * | 2016-08-22 | 2018-10-23 | 甲骨文国际公司 | 用于应用编程接口的元数据驱动的外部接口生成的系统和方法 |
CN107315607A (zh) * | 2017-06-21 | 2017-11-03 | 南京翼辉信息技术有限公司 | 一种驱动自适应加载系统 |
CN109254762A (zh) * | 2018-08-23 | 2019-01-22 | 深圳市默贝克驱动技术有限公司 | 一种开放式驱动器软件平台 |
Non-Patent Citations (3)
Title |
---|
《 Linux桌面系统上VGA设备热拔插机制的研究与扩展实现》;黄明明;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315(第3期);I136-262 * |
《Understanding and mitigating refresh overheads in high-density DDR4 DRAM systems》;Mukundan J 等;《ACM SIGARCH Computer Architecture News》;20130623;第41卷(第3期);48-59 * |
《基于aCoral操作系统的设备驱动模型及USB协议栈的设计与实现》;张林江;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315(第3期);I137-388 * |
Also Published As
Publication number | Publication date |
---|---|
CN109669732A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5748980A (en) | System for configuring a computer system | |
US6336152B1 (en) | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information | |
CN108008914B (zh) | 一种arm设备中磁盘管理的方法、装置和arm设备 | |
Yang et al. | μ PnP: plug and play peripherals for the internet of things | |
US7822964B2 (en) | Booting apparatus for booting a computer and method therefor and computer with a booting apparatus | |
US20060282653A1 (en) | Method for updating frimware of memory card | |
CN102200916A (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN109426625A (zh) | 一种多驱动兼容的控制装置和实现方法 | |
CN109032623A (zh) | 一种bios镜像的初始化方法及bios镜像 | |
CN104468811B (zh) | 升级方法及装置 | |
CN105389180B (zh) | 一种基于Android平台的USB端口可配置化方法 | |
CN109669732B (zh) | 一种外扩功能系统及外扩功能硬件的驱动加载方法 | |
CN102830982A (zh) | 处理器配置方法、装置及处理器 | |
US20040103172A1 (en) | Method of updating an operation system | |
CN114217951A (zh) | 一种多云多集群的kubernetes集群管理方法及系统 | |
US7257701B2 (en) | Method and system for configuring an operating system in a computer system | |
CN102830988A (zh) | 固件更新的方法及其相关计算机系统 | |
CN209401007U (zh) | 一种外扩功能系统 | |
CN111338699A (zh) | 电脑主板初始化方法、装置、计算机设备及存储介质 | |
CN102043638A (zh) | 计算机系统以及计算机启动设定方法 | |
CN110795369A (zh) | 基于gpio管脚实现mido从机功能的方法及终端 | |
CN109426511B (zh) | 软核更新方法和系统 | |
US10540151B1 (en) | Graphical customization of a firmware-provided user interface (UI) | |
CN113612671A (zh) | 总线适配器与通道绑定配置方法、映射管理器及连接系统 | |
US20090271599A1 (en) | Method for setting to enable or disable software function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |