在嵌入式平台上连接多种外接设备的方法及装置的制作方法

文档序号:6365288阅读:219来源:国知局
专利名称:在嵌入式平台上连接多种外接设备的方法及装置的制作方法
技术领域
本发明涉及嵌入式处理器领域,更具体地说,涉及ー种在嵌入式平台上连接多种外接设备的方法及装置。
背景技术
对于现在的嵌入式系统平台(通常是以嵌入式处理器为核心的),其系统资源越来越丰富,外围接ロ也越来越多,进而支持的外围设备也会越来越多的;同时,在现在的应用中,需要连接在平台上的外围设备也越来越多。连接在嵌入式系统平台上的设备的増加,使得对于设备的开发变得较为复杂。按照传统的外围设备与平台的连接方法,都是在平台上 单独设置每个接ロ所连接的外围设备的驱动,但是这样的方法也有ー些缺点,首先是工作量较大,当一个接ロ更换连接设备时,需要重新开发或设置;除了工作量的増加外,也不能灵活变换连接设备;同时传统的开发过程中,由于多个设备之间相互通讯,造成通讯错综复杂,当出现问题需要跟踪查找时,也会比较复杂,不易查找到问题所在。

发明内容
本发明要解决的技术问题在干,针对现有技术的上述工作量较大、不灵活、不便于查找问题缺陷,提供ー种工作量较小、灵活、便于查找问题的在嵌入式平台上连接多种外接设备的方法及装置。本发明解决其技术问题所采用的技术方案是构造ー种在嵌入式平台上连接多种外接设备的方法,包括如下步骤
A)在嵌入式平台的接口上连接设备;
B)所述设备发出注册请求,在所述嵌入式平台的设备接ロ模块上注册所述设备;
C)所述设备接ロ模块调节描述所述接ロ的函数指针使其指向所述设备注册类型对应的函数位置。在本发明所述的在嵌入式平台上连接多种外接设备的方法中,所述步骤B)进ー步包括
BI)所述设备向所述设备接ロ模块发送注册请求;
B2)所述设备接ロ模块为所述设备分配设备ID,并将所述设备加入到所述设备接ロ模块保持的设备链表中;
B3 )所述设备接ロ模块将所述设备的注册信息上报所述嵌入式平台的主控模块。在本发明所述的在嵌入式平台上连接多种外接设备的方法中,所述步骤C)进ー步包括
Cl)所述主控模块接收所述设备接ロ模块发送的设备注册信息;所述设备注册信息包括函数指针指向的函数地址;
C2)所述主控模块依据其接收到的设备注册信息输出函数指针控制信号到所述设备接收模块;C3)所述设备接ロ模块依据接收到的控制信号调节其函数指针指向注册设备对应的函数地址。在本发明所述的在嵌入式平台上连接多种外接设备的方法中,在开始工作时,所述设备接ロ模块中的设备链表是ー个只有表头的链表;加入的注册设备信息依次排列在所述链表的尾部。在本发明所述的在嵌入式平台上连接多种外接设备的方法中,步骤BI)中,所述设备向所述设备接ロ模块发出的注册请求中包括一个被调用的注册函数和加入所述设备链表的请求;所述被调用的注册函数中包括了所述设备的设备类型和设备名称。在本发明所述的在嵌入 式平台上连接多种外接设备的方法中,步骤B2)中,加入所述设备链表的信息包括分配给所述设备的设备ID、设备类型和设备名称。在本发明所述的在嵌入式平台上连接多种外接设备的方法中,还包括如下步骤
D)连接在所述嵌入式平台接口上的一个设备对所述设备接ロ模块发出数据请求,要求另ー个接口上连接的设备数据;
E)所述设备接ロ模块发送数据请求,所述连接在另ー接口上的设备发送数据到所述设备接ロ模块;
F)所述设备接ロ模块发送得到的数据到所述请求数据的设备。本发明还涉及ー种实现上述方法的装置,包括
设备接ロ模块用于连接嵌入式平台和与所述嵌入式平台的接ロ连接的设备; 设备注册模块用于在所述嵌入式平台的设备接ロ模块上注册所述设备;
设备驱动模块用于使所述设备接ロ模块调节描述所述接ロ的函数指针使其指向所述设备注册类型对应的函数位置。在本发明所述的装置中,所述设备注册模块进ー步包括
注册请求发送单元用于使所述设备向所述设备接ロ模块发送注册请求;
注册操作単元用于使所述设备接ロ模块为所述设备分配设备ID,并将所述设备加入到所述设备接ロ模块保持的设备链表中;
注册信息上报单元所述设备接ロ模块将所述设备的注册信息上报所述嵌入式平台的主控模块。
在本发明所述的装置中,所述设备驱动模块进一歩包括
注册信息接收单元用于使所述主控模块接收所述设备接ロ模块发送的设备注册信
息;
控制信号发送单元用于使所述主控模块依据其接收到的设备注册信息输出函数指针控制信号到所述设备接收模块;
指针函数调节单元用于使所述设备接ロ模块依据接收到的控制信号调节其函数指针指向注册设备对应的函数地址。实施本发明的在嵌入式平台上连接多种外接设备的方法及装置,具有以下有益效果由于在连接外围设备是通过设备接ロ模块注册、并通过调节设备连接模块的函数指针来取得相应的设备驱动,同吋,设备之间的通讯也是通过上述的设备接ロ模块转发,不存在设备之间的直接通讯,信号流向较为单一。所以其连接的工作量较小、灵活、便于查找问题。


图I是本发明在嵌入式平台上连接多种外接设备的方法及装置实施例中方法流程图;的结构示意 图2是所述实施例中设备注册的流程图;的逻辑框 图3是所述实施例中函数指针调节的流程图;
图4是所述实施例中多个连接在嵌入式平台上的设备相互通讯的流程 图5是所述实施例中装置的结构示意图。
具体实施例方式下面将结合附图对本发明实施例作进ー步说明。如图I所示,在本发明在嵌入式平台上连接多种外接设备的方法及装置实施例中,其在嵌入式平台上连接多种外接设备的方法包括如下步骤
步骤Sll连接设备到嵌入式平台的接ロ 对于嵌入式平台而言,其必然带有多个用于连接外围设备的物理接ロ,这些接ロ可以包括多种类型,用于连接不同类型的外围设备。这些接ロ有多少,分别是什么类型,都是事先确定的。但是,这些接ロ连接的外围设备的具体參数,则是无法事先确定的。此外,也存在物理接ロ复用的情况,即ー个物理接ロ可能可以连接两种或两种以上类型的外围设备,但具体连接何种设备,也不能事先确定。在现有技术中,通常都是将每个接ロ连接的外围设备类型及其參数都设定并在嵌入式平台上预置其驱动。这种做法使得每个接ロ连接的设备类型及參数都已经被固化,不能灵活地变换连接设备;同时,还会使得在变化设备类型或參数时需要另外在平台上设置驱动,严重时可能导致整个嵌入式平台需要重新开发。本实施例中采用的方法则可以有效地避免上述情况的出现。为此,首先要进行的第一歩就是将需要连接到上述嵌入式平台上的设备连接到对应的接口上。步骤S12设备发送注册请求到嵌入式平台上的设备接ロ模块注册在本步骤中,连接到上述接口上的外围设备(即设备)通过与其连接的接ロ,向嵌入式平台上的设备接ロ模块发送注册信息;该设备接ロ模块是ー个在嵌入式平台上有软件形成的功能模块,其起到连接设备及嵌入式平台本身的作用。在本实施例中,上述设备发送的注册信息包括一个被调用的设备注册函数以及将该设备加入到设备链表中的请求;其中,该设备注册函数中包括了该设备的设备类型和设备名称;当上述设备接ロ模块收到来自设备的注册信息之后,设备接ロ模块为该设备分配设备ID (也就是设备编号,每个连接的设备都有其唯一的编号),之后将设备发来的注册信息中的设备类型、设备名称以及该设备分配到的设备ID写入设备链表中。在本实施例中,上述设备链表是一直存在于上述设备接ロ模块之中,当ー个设备注册时,其上述信息(包括设备ID、设备类型和设备名称)被列入该设备链表;当ー个设备被删除时,其上述信息由上述设备链表中被删除。在系统开始工作时,该设备链表就存在,只不过此时由于没有设备连接在接口上,该链表只有ー个表头。步骤S13调节设备接ロ模块的函数指针指向对应的函数在本步骤中,调节设备接ロ模块中的函数指针,并将其指向对应的函数。函数指针,即函数所在位置或地址,其指明了到何处取得该函数,也就是该函数的位置;函数指针的作用,就是让所有设备相对主控模块可见的函数名是统ー的,同时主控模块需要调用不同设备的相同操作,只需要调用相同函数即可,而不需要关心设备类型和函数实现等问题。在本实施例中,上述步骤S12中的设备注册过程还包括了一些更为具体的步骤,如图2所示,这些步骤包括
步骤S21设备向设备接ロ模块发送注册请求在本步骤中,连接在嵌入式平台上的设备首先发送注册请求到上述设备接ロ模块,在这些注册请求中,包括了一个被调用的设备注册函数以及ー个将该设备加入设备链表的请求,其中上述被调用的设备注册函数中包括了设备类型及设备名称。步骤S22设备接ロ模块为该设备分配设备ID并将其加入设备链表在本步骤中,上述设备接ロ模块收到设备发送的注册请求,取出其中的数据,并为该设备分配设备ID。由于设备传输来的被调用的设备注册函数中包括了设备名称及设备类型,所以,设备接收模块只要读取上述设备注册函数中的信息就可以得到上述设备类型和设备名称,再将ー个未使用或被释放的设备ID分配给该设备即可。值得ー提的是,上述设备ID也是设备的识别码或地址,嵌入式平台上的其他设备都是依靠该编号对该设备进行寻址或查找,进而通过上述设备接ロ模块的中转来实现信息交互的,所以,这些设备ID虽然可以重复使用,但是在同一时间段内,每个设备ID都是唯一指向一个设备的。同时,在本步骤中,上述设备接ロ模块还将取得的关于该设备的信息添加到设置在该设备接ロ模块本身的设备链表中,这些信息包括设备ID、设备类型以及设备名称等;该设备链表的作用是在主控模块需要对设备进行操作时能够快速定位到实体的设备(设备本身),同时也便于管理和维护所有已经注册的设备。步骤S23设备模块上报设备信息到主控模块在本步骤中,上述设备接ロ模块将得到的设备注册信息上报到嵌入式平台的主控模块上,与设备接ロ模块相同的是,嵌入式平台的主控模块也是由软件构成的功能模块,其主要的作用就是控制整个嵌入式平台的动作,当然也包括控制设备接ロ模块,使得其取得与上述接口上连接的设备的类型、參数相适应的驱动,进而使得该接口上连接的设备能在上述嵌入式平台上正常地工作。同时,在本实施例中,上述步骤S13中的上传并调节设备接ロ模块中的函数指针的步骤也可以进一歩分解,如图3所示,这些步骤包括
步骤S31主控模块接收设备注册信息在本步骤中,上述主控模块接收由设备接收模块发送来的设备注册信息,这些信息包括设备类型及设备名称,这些信息包含在设备注册信息中的被调用的注册函数中;当主控模块接收到上述注册函数时,按照事先设定的格式或方法打开上述注册函数就可以得到表示设备类型及设备名称的信息;当主控模块接收到这些信息之后,就可以依据这些信息判断出设备的类型及參数,也就可以决定输出何种控制信号使得设备接ロ模块适应该设备。步骤S32输出函数指针控制信号到设备接ロ模块在本步骤中,主控模块输出在上述步骤中依据设备注册信息而得到的函数指针控制信号到设备接ロ模块。在本实施例中,这些控制信号都是事先存储的,主控模块只是依据接收的注册信号将其查找到、调出并输送到上述设备接ロ模块。步骤S33调节设备接ロ模块的函数指针在本步骤中,设备接ロ模块接收到由主 控模块输出的函数指针控制信号,并依据该信号调节函数指针,使其指向对应的函数(或函数所在的地址),便于在需要时调出该函数。
在本实施例中,上述步骤在一个设备连接到嵌入式平台上时,便执行一次,使得该设备能够正常在上述嵌入式平台上工作。嵌入式平台上连接多少个设备,上述步骤就执行多少次。而当嵌入式平台上连接有多个设备时,设备之间还可以通过上述设备接ロ模块进行通讯(或数据交換),其具体步骤如图4所示,包括
步骤S41连接在嵌入式平台上的一个设备向设备接ロ模块发出请求要求另ー个连接在嵌入式平台上的设备的数据当ー个嵌入式平台上连接有多个外围设备时(这些设备的类型及參数可能相同,也可能不同),ー个不能避免的情况是,其中一个设备可能会要求得到另ー个设备上的数据。在现有技术中,通常是两个设备通过上述嵌入式平台直接通讯。这种方法虽然也可以实现数据的交互,但是,在较多设备时可能造成较为复杂的信号流向。一旦出现问题,就较难查找到问题的出处。在本步骤中,采取ー种虽然看起来较现有技术的方案复杂,但是其信号流向却较为简单的方法,及要求数据的那个设备直接向设备接ロ模块 发出数据请求,当然,其要求的仍然是另ー个设备的数据,不过并不是直接向另ー个设备发出请求,而是想设备接ロ模块发出数据请求。当然,要求数据的那个设备会在本步骤中将自己的ID及目标设备的ID—起通知设备接ロ模块。步骤S42设备接ロ模块发出指令,被要求数据的设备上传数据到设备接ロ模块在本步骤中,设备接ロ模块由于自身并没有这些被要求的数据,只能转发给目标设备(即被要求数据的那个设备),要求目标设备上传这些数据到设备接ロ模块,再由设备接ロ模块转发给要求数据的那个设备;在本步骤中,被要求数据的设备准备好要求的数据,并将这些数据发送到上述这边接ロ模块。步骤S43设备接ロ模块转发该数据到要求数据的设备在本步骤中,设备接ロ模块将得到的数据发送到发出数据请求的那个设备。如图5所示,在本实施例中,还涉及一种实现上述方法的装置,该装置包括设备接ロ模块51、设备注册模块53及设备驱动模块52 ;其中设备接ロ模块51用于连接嵌入式平台和与所述嵌入式平台的接ロ连接的设备;设备注册模块53用于在所述嵌入式平台的设备接ロ模块上注册所述设备;设备驱动模块52用于使所述设备接ロ模块调节描述所述接ロ的函数指针使其指向所述设备注册类型对应的函数位置。在本实施例中,设备注册模块51进ー步包括注册请求发送单元511用于使所述设备向所述设备接ロ模块发送注册请求;注册操作単元512用于使所述设备接ロ模块为所述设备分配设备ID,并将所述设备加入到所述设备接ロ模块保持的设备链表中;注册信息上报单元513用于所述设备接ロ模块将所述设备的注册信息上报所述嵌入式平台的主控模块。
而设备驱动模块52进ー步包括注册信息接收单元521用于使所述主控模块接收所述设备接ロ模块发送的设备注册信息;控制信号发送单元522用于使所述主控模块依据其接收到的设备注册信息输出函数指针控制信号到所述设备接收模块;指针函数调节单元533用于使所述设备接ロ模块依据接收到的控制信号调节其函数指针指向注册设备对应的函数地址。在本实施例中,上述装置中的各模块或单元可能并不是在同一个物理载体上,其可以分布在不同的物理载体之上,例如,注册请求发送单元位于设备上,而注册操作单元则位于上述的嵌入式平台之上。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护 范围应以所附权利要求为准。
权利要求
1.ー种在嵌入式平台上连接多种外接设备的方法,其特征在于,包括如下步骤A)在嵌入式平台的接口上连接设备; B)所述设备发出注册请求,在所述嵌入式平台的设备接ロ模块上注册所述设备; C)所述设备接ロ模块调节描述所述接ロ的函数指针使其指向所述设备注册类型对应的函数位置。
2.根据权利要求I所述的在嵌入式平台上连接多种外接设备的方法,其特征在于,所述步骤B)进ー步包括BI)所述设备向所述设备接ロ模块发送注册请求;B2)所述设备接ロ模块为所述设备分配设备ID,并将所述设备加入到所述设备接ロ模块保持的设备链表中;B3 )所述设备接ロ模块将所述设备的注册信息上报所述嵌入式平台的主控模块。
3.根据权利要求2所述的在嵌入式平台上连接多种外接设备的方法,其特征在于,所述步骤C)进ー步包括 Cl)所述主控模块接收所述设备接ロ模块发送的设备注册信息;所述设备注册信息包括函数指针指向的函数地址; C2)所述主控模块依据其接收到的设备注册信息输出函数指针控制信号到所述设备接收模块; C3)所述设备接ロ模块依据接收到的控制信号调节其函数指针指向注册设备对应的函数地址。
4.根据权利要求3所述的在嵌入式平台上连接多种外接设备的方法,其特征在于,在开始工作时,所述设备接ロ模块中的设备链表是ー个只有表头的链表;加入的注册设备信息依次排列在所述链表的尾部。
5.根据权利要求4所述的在嵌入式平台上连接多种外接设备的方法,其特征在干,步骤BI)中,所述设备向所述设备接ロ模块发出的注册请求中包括一个被调用的注册函数和加入所述设备链表的请求;所述被调用的注册函数中包括了所述设备的设备类型和设备名称。
6.根据权利要求5所述的在嵌入式平台上连接多种外接设备的方法,其特征在干,步骤B2)中,加入所述设备链表的信息包括分配给所述设备的设备ID、设备类型和设备名称。
7.根据权利要求6所述的在嵌入式平台上连接多种外接设备的方法,其特征在于,还包括如下步骤 D)连接在所述嵌入式平台接口上的一个设备对所述设备接ロ模块发出数据请求,要求另ー个接口上连接的设备数据; E)所述设备接ロ模块发送数据请求,所述连接在另ー接口上的设备发送数据到所述设备接ロ模块; F)所述设备接ロ模块发送得到的数据到所述请求数据的设备。
8.一种实现如权利要求I所述的方法的装置,其特征在于,包括 设备接ロ模块用于连接嵌入式平台和与所述嵌入式平台的接ロ连接的设备; 设备注册模块用于在所述嵌入式平台的设备接ロ模块上注册所述设备; 设备驱动模块用于使所述设备接ロ模块调节描述所述接ロ的函数指针使其指向所述设备注册类型对应的函数位置。
9.根据权利要求8所述的装置,其特征在于,所述设备注册模块进ー步包括 注册请求发送单元用于使所述设备向所述设备接ロ模块发送注册请求; 注册操作単元用于使所述设备接ロ模块为所述设备分配设备ID,并将所述设备加入到所述设备接ロ模块保持的设备链表中; 注册信息上报单元所述设备接ロ模块将所述设备的注册信息上报所述嵌入式平台的主控模块。
10.根据权利要求9所述的装置,其特征在于,所述设备驱动模块进一歩包括 注册信息接收单元用于使所述主控模块接收所述设备接ロ模块发送的设备注册信 息; 控制信号发送单元用于使所述主控模块依据其接收到的设备注册信息输出函数指针控制信号到所述设备接收模块; 指针函数调节单元用于使所述设备接ロ模块依据接收到的控制信号调节其函数指针指向注册设备对应的函数地址。
全文摘要
本发明涉及一种在嵌入式平台上连接多种外接设备的方法,包括如下步骤在嵌入式平台的接口上连接设备;所述设备发出注册请求,在所述嵌入式平台的设备接口模块上注册所述设备;所述设备接口模块调节描述所述接口的函数指针使其指向所述设备注册类型对应的函数位置。本发明还涉及一种实现上述方法的装置。实施本发明的在嵌入式平台上连接多种外接设备的方法及装置,具有以下有益效果工作量较小、灵活、便于查找问题。
文档编号G06F13/10GK102646082SQ20121004369
公开日2012年8月22日 申请日期2012年2月24日 优先权日2012年2月24日
发明者钟亚平, 韩云龙 申请人:深圳市长宇电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1