一种CPU控制器的扩展方法及装置制造方法及图纸

技术编号:36257931 阅读:10 留言:0更新日期:2023-01-07 09:54
本发明专利技术公开了一种CPU控制器的扩展方法,在CPU侧将MCU上每个需要扩展的控制器虚拟成与其功能相对应的虚拟控制器,然后CPU就可通过虚拟控制器来驱动连接到MCU的扩展控制器的外设,扩展非常快捷灵活;同时,还提供了一种CPU控制器的扩展装置;其技术方案:一种CPU控制器的扩展方法,包括以下步骤:将MCU连接到CPU上,所述MCU上设有多个需要的扩展控制器;在CPU侧虚拟出与MCU上的扩展控制器一一对应的虚拟控制器,所述CPU通过虚拟控制器驱动连接到MCU上的扩展控制器的外设,属于计算机技术领域。术领域。术领域。

【技术实现步骤摘要】
一种CPU控制器的扩展方法及装置


[0001]本专利技术属于计算机
,更具体而言,涉及一种CPU控制器的扩展方法及装置。

技术介绍

[0002]现有的嵌入式计算机系统通常需要通过CPU的内置控制器及其接口与外部通信,常用的控制器有SPI、I2C、UART、GPIO、ADC、CAN等。但并不是所有的CPU都会支持如此丰富的控制器,即便有支持,部分控制器的数量未必能满足实际需求。特别是物联网网关设备领域的专用CPU,其内置的控制器种类和数量较为有限,为了丰富控制器接口获取更多的原始数据,所以需要对CPU的控制器进行扩展,通常有两者方法:
[0003]第一种方法是直接使用专用IC来扩展控制器,如常见的用I2C转GPIO的IC来扩展IO控制器,用USB转UART的IC来扩展UART控制器,用USB转SPI的IC来扩展SPI控制器。专用IC厂商通常提供扩展控制器驱动,使用起来非常方便。但如果是要扩展多个类型的控制器就需要多个专用IC,甚至可能还需要增加USB HUB IC,硬件成本会大增。
[0004]第二种方法是通过增加外置协处理器MCU来扩展CPU的控制器,这种方式下,CPU要访问连接到MCU上的扩展控制器的外设时,需要在应用层先将访问请求封装再通过双机通信发给MCU,MCU解封装后再由访问代理程序来实现对扩展控制器实际的访问,访问代理程序还需要集成外设驱动程序;MCU访问代理程序接收到数据后先封装再通过双机通信发给CPU,CPU解封后才能得到实际的数据。该方法涉及CPU和MCU两侧多个软件模块,交互较为繁琐;还需要为不同的外设类型,不同的数据交互类型定义数据结构封装,可扩展性非常差;上层应用程序需要针对同一功能的扩展控制器和CPU的内置控制器区分处理,同时MCU侧还需要提供额外的外设驱动程序,严重影响代码复用。

技术实现思路

[0005]本专利技术的主要目的在于提供一种CPU控制器的扩展方法,通过在CPU侧将MCU上每个需要扩展的扩展控制器虚拟成与其功能相对应的虚拟控制器,在CPU侧通过虚拟控制器来驱动连接到MCU的扩展控制器的外设,扩展非常快捷灵活;同时,还提供了一种CPU控制器的扩展装置。
[0006]根据本专利技术的第一方面,提供了一种CPU控制器的扩展方法,包括以下步骤:
[0007]将MCU连接到CPU上,所述MCU上设有多个需要的扩展控制器;
[0008]在CPU侧虚拟出与MCU上的扩展控制器一一对应的虚拟控制器,所述CPU通过虚拟控制器驱动连接到MCU上的扩展控制器的外设。
[0009]上述的CPU控制器的扩展方法中,所述CPU是通过驱动程序将MCU上各个扩展控制器虚拟成与其功能对应的虚拟控制器。
[0010]上述的CPU控制器的扩展方法中,所述MCU是通过USB接口与CPU连接。
[0011]上述的CPU控制器的扩展方法中,所述CPU使用Linux系统。
[0012]根据本专利技术的第二方面,提供了一种用于实现上述第一方面所述方法的CPU控制器的扩展装置,包括CPU和MCU,所述MCU上设有多个需要的扩展控制器;
[0013]所述CPU和MCU通过通信单元实现通信连接;
[0014]所述CPU上设有虚拟单元,所述虚拟单元在CPU侧虚拟出与MCU上的扩展控制器一一对应的虚拟控制器,所述CPU通过虚拟控制器驱动连接到MCU上的扩展控制器的外设。
[0015]上述的CPU控制器的扩展装置中,所述虚拟单元包括设置在CPU上的驱动程序。
[0016]上述的CPU控制器的扩展装置中,所述通信单元包括设置在CPU上的USB Host接口、设置在MCU上的USB Device接口,所述USB Host接口和USB Device接口之间通过USB总线连接。
[0017]本专利技术上述技术方案中的一个技术方案至少具有如下优点或有益效果之一:
[0018]本专利技术中,在CPU侧将MCU上每个需要扩展的扩展控制器虚拟成与其功能相对应的虚拟控制器,在CPU通过虚拟控制器来驱动连接到MCU上扩展控制器的外设;虚拟控制器的操作方法完全兼容CPU相同功能的内置控制器,MCU上的扩展控制器和内置控制器从CPU的上层看来是完全一致的,在MCU侧只需要实现需要扩展的控制器层面的操作接口,无需实现外设驱动,后续的外设扩展并不涉及MCU上的软件变更,扩展非常快捷灵活。
附图说明
[0019]下面结合附图和实施例对本专利技术进一步地说明;
[0020]图1是本专利技术一实施例示出的CPU控制器的扩展方法的流程图;
[0021]图2是本专利技术一实施例示出的CPU控制器的扩展装置的示意图。
具体实施方式
[0022]下面详细描述本专利技术的实施方式,实施方式的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0023]通过增加外置协处理器MCU来扩展CPU的控制器,这种方式下,CPU要访问连接到MCU上的扩展控制器的外设时,需要在应用层先将访问请求封装再通过双机通信发给MCU,MCU解封装后再由访问代理程序来实现对扩展控制器实际的访问,访问代理程序还需要集成外设驱动程序;MCU访问代理程序接收到数据后先封装再通过双机通信发给CPU,CPU解封后才能得到实际的数据。
[0024]该方法涉及CPU和MCU两侧多个软件模块,交互较为繁琐;还需要为不同的外设类型,不同的数据交互类型定义数据结构封装,可扩展性非常差;上层应用程序需要针对同一功能的扩展控制器和CPU的内置控制器区分处理,同时MCU侧还需要提供额外的外设驱动程序,严重影响代码复用。
[0025]参照图1所示,本专利技术一个实施例中,提供了一种CPU控制器的扩展方法,其在CPU侧将MCU上每个需要扩展的扩展控制器虚拟成与其功能相对应的虚拟控制器,在CPU侧就可通过虚拟控制器来驱动连接到MCU的扩展控制器的外设,而在MCU侧只需要实现控制器相关操作接口,不涉及MCU与其外设的具体交互过程,扩展非常快捷灵活。
[0026]该CPU控制器的扩展方法,包括以下步骤:
[0027]将MCU连接到CPU上,所述MCU上设有多个需要的扩展控制器;
[0028]在CPU侧虚拟出与MCU上的扩展控制器一一对应的虚拟控制器,所述CPU通过虚拟控制器驱动MCU上的扩展控制器的外设。
[0029]外设属于计算机术语,本实施例中,外设指通过MCU上的扩展控制器来连接的外设设备,通常不同的扩展控制器连接不同的外设。
[0030]本实施例中,CPU是通过驱动程序将MCU上各个需要扩展的控制器虚拟成与其功能对应的虚拟控制器;并使虚拟控制器的操作方法完全兼容CPU相同功能的内置控制器,这样MCU的扩展控制器的外设就可以在CPU侧复用系统自带的设备驱动来驱动;MCU上的扩展控制器和内置控制器从CPU的应用层看来是一致的,后续本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CPU控制器的扩展方法,其特征在于,包括以下步骤:将MCU连接到CPU上,所述MCU上设有多个需要的扩展控制器;在CPU侧虚拟出与MCU上的扩展控制器一一对应的虚拟控制器,所述CPU通过虚拟控制器驱动连接到MCU上的扩展控制器的外设。2.根据权利要求1所述的CPU控制器的扩展方法,其特征在于,所述CPU是通过驱动程序将MCU上各个需要扩展控制器虚拟成与其功能对应的虚拟控制器。3.根据权利要求1所述的CPU控制器的扩展方法,其特征在于,所述MCU是通过USB接口与CPU连接。4.根据权利要求1所述的CPU控制器的扩展方法,其特征在于,所述CPU使用Linux系统。5.一种用于实现权利要求1

4任一所述方法...

【专利技术属性】
技术研发人员:麻长葆黄章良陈小军
申请(专利权)人:广州鲁邦通物联网科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1