一种基于面向对象化的单片机USB软件开发系统及方法技术方案

技术编号:26303825 阅读:32 留言:0更新日期:2020-11-10 19:58
本发明专利技术提供一种基于面向对象化的单片机USB软件开发系统及方法,包括STM32中断服务、USB HAL库、虚拟USB设备对象和USB设备注册模块,STM32中断服务提供响应USB中断的入口;USB HAL库提供实现USB数据中断回调、控制中断回调和API调用这些操作的标准函数接口;虚拟USB设备对象与USB HAL库的标准函数接口关联,用于实现USB数据传输、事件响应、功能操作,以及虚拟USB设备对象的基本配置;USB设备注册模块用于设置USB设备各自的操作方法,与虚拟USB设备中的功能操作关联。本发明专利技术将设备对象功能操作模块与USB设备相关联,方便切换不同的USB设备。

【技术实现步骤摘要】
一种基于面向对象化的单片机USB软件开发系统及方法
本专利技术涉及一种基于面向对象化的程序处理方法和单片机USB软件开发方法,具体而言,涉及一种基于面向对象化的单片机USB软件开发方法。
技术介绍
在国家电网关于智能融合终端目前采用CPU+MCU组合的设计,而CPU和MCU之间的通讯采用了USB总线通讯,所以USB总线通讯在智能融合终端中显得尤为重要。USB总线作为一种高速串行总线,其极高的传输速度可以满足高速数据传输的应用环境要求,可挂载多个外设、支持四种传输模式,以及兼容良好等优点,满足智能融合终端设备对实时性的需求。但在实际的单片机USB开发中,通常的芯片SDK并不支持USB设备多功能配置和功能切换,而且较为复杂的枚举过程,且不同的MCU有不同的USB驱动,而且USB接口也分为高速,全速和低速接口,都极大的增加开发的工作难度和工作量,且不利于系统的稳定性和可移植化的需求,最终可能会影响设备内部通讯的实时性和稳定性的需求。
技术实现思路
本专利技术的目的在于提出一种基于面向对象化的单片机USB软件开发方法。实现本专利技术目的的技术解决方案为:一种基于面向对象化的单片机USB软件开发系统,包括STM32中断服务、USBHAL库、虚拟USB设备对象和USB设备注册模块,所述STM32中断服务用于提供响应USB中断的入口;所述USBHAL库用于提供实现USB数据中断回调、控制中断回调和API调用这些操作的标准函数接口;所述虚拟USB设备对象与所述USBHAL库的标准函数接口关联,用于实现USB数据传输、事件响应、功能操作,以及虚拟USB设备对象的基本配置;所述USB设备注册模块用于注册USB设备的信息,包括USB设备各自的操作方法,与虚拟USB设备中的功能操作关联,在需要操作USB设备时,直接使用在USB设备注册模块的操作方法,调用USBHAL库的API接口进行操作,或者调用虚拟USB设备进行功能配置,切换配置功能对应的API接口,完成功能切换。所述USBHAL库包括USB数据中断回调接口、USB控制中断回调接口和USB的API接口,其中USB数据中断接口用于处理枚举后的USB数据收发,包含USB数据传输的输入、输出和完成这些响应;USB控制中断回调接口用于实现USB的枚举过程,包含USB枚举过程中设置、重置、连接这些控制操作;USB的API接口包含对USB的端点操作。所述虚拟USB设备对象包括设备对象管理模块、USB数据处理模块、USB事件处理模块和设备对象功能操作模块,其中设备对象管理模块包含对虚拟USB设备的初始化、启动、停止这些基本操作;USB数据处理模块关联USB数据中断回调接口,实现对USB数据的传输;USB事件处理模块关联控制中断回调接口,实现枚举过程中设置、重置、连接这些事件处理;设备对象功能操作模块关联USB的API接口,实现所有端点功能操作。所述USB设备注册模块包括设备描述符、接口描述符和设备的操作方法这些基本信息,其中设备的操作方法,与设备对象功能操作模块关联。一种基于面向对象化的单片机USB软件开发方法,基于上述任一项所述的系统进行面向对象化的单片机USB软件开发。本专利技术与现有技术相比,其显著优点为:虚拟USB设备对象可以包含所有的功能操作,将设备对象功能操作模块与USB设备相关联,那么USB设备就有了一整套的USB的功能操作,而且USB设备可以通过对虚拟USB对象管理做配置操作,切换不同的USB设备。附图说明图1为本专利技术基于面向对象化的单片机USB软件开发系统的框图。图2是本专利技术基于面向对象化的单片机USB软件开发方法的流程图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本专利技术基于面向对象化的单片机USB软件开发系统及其方法,在基于STM32的HAL库的基础上做了进一步的开发,使USB软件开发模块化,抽象化,且更加具有扩展性,让智能融合终端设备内部通讯更加稳定,高速。如图1所示,一种基于面向对象化的单片机USB软件开发系统,包括STM32中断服务,USBHAL库,虚拟USB设备对象,USB设备注册模块,其中:(1)STM32中断服务STM32的中断服务是STM32响应USB中断的入口。中断其实就是当CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程就称为中断,引发中断地称为中断源。比如:看电视时突然门铃响,那么门铃响就相当于中断源。有些中断还能够被其他高优先级的中断所中断,那么这种情况又叫做中断的嵌套。Crotex-M3内核支持256个中断,其中包含了16个内核中断和240个外部中断。但STM32并没有使用M3内核的全部东西,而是只用了它的一部分。例如STM32F10x芯片有84个中断通道,包括16个内核中断和68个可屏蔽中断,对于STM32F103系列芯片只有60个可屏蔽中断,在STM32F107系列才有68个。除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。这些中断通道已按照不同优先级顺序固定分配给相应的外部设备。(2)USBHAL库HAL库是STM32官方提供的一种标准的函数接口,包括USB数据中断回调接口,USB控制中断回调接口,以及USB的API接口。USB的数据的中断接口用于处理枚举后的USB数据收发,主要包含USB数据传输的输入、输出和完成响应。USB的控制中断回调接口用于实现USB的枚举过程中的一些操作,主要包含USB枚举过程中的一些SETUP、RESET等一些控制操作。USB的API接口主要包含对USB的端点的一些操作。(3)虚拟USB设备虚拟USB设备对象包括设备对象管理模块,USB数据处理模块,USB事件处理模块,以及设备对象功能操作模块。虚拟USB设备对象管理模块包含对虚拟USB设备的初始化、START、STOP等那些基本操作。USB数据处理模块关联HAL库的OUT,IN和Complete中断,主要用于枚举后的数据传输。虚拟USB事件处理模块包含了一整套枚举过程的事件处理,包括SETUP,RESTART,CONNECT等,与HAL库的控制中断回调接口相关联。设备对象功能操作模块包含了设备所支持的所有端点功能操作,与HAL库的USBAPI接口相关联。将虚拟USB设备对象与HAL库相关联,那么这个虚拟的USB设备对象就有了USB的中断的所有响应回调和端点操作。(4)USB设备注册模块USB设备注册模块用于注册USB设备的信息,主要包含设备的描述符,接口描述符,以及设备本身的操作方法。通常一个接口描述符代表一个USB设备,根据不同的接口描述符可建立多个USB设备,每个设备的包含各自的操作方法,将这些操本文档来自技高网...

【技术保护点】
1.一种基于面向对象化的单片机USB软件开发系统,其特征在于,包括STM32中断服务、USB HAL库、虚拟USB设备对象和USB设备注册模块,所述STM32中断服务用于提供响应USB中断的入口;所述USB HAL库用于提供实现USB数据中断回调、控制中断回调和API调用这些操作的标准函数接口;所述虚拟USB设备对象与所述USB HAL库的标准函数接口关联,用于实现USB数据传输、事件响应、功能操作,以及虚拟USB设备对象的基本配置;所述USB设备注册模块用于设置USB设备各自的操作方法,与虚拟USB设备中的功能操作关联,在需要操作USB设备时,直接使用在USB设备注册模块的操作方法,调用USB HAL库的API接口进行操作,或者调用虚拟USB设备进行功能配置,切换配置功能对应的API接口,完成功能切换。/n

【技术特征摘要】
1.一种基于面向对象化的单片机USB软件开发系统,其特征在于,包括STM32中断服务、USBHAL库、虚拟USB设备对象和USB设备注册模块,所述STM32中断服务用于提供响应USB中断的入口;所述USBHAL库用于提供实现USB数据中断回调、控制中断回调和API调用这些操作的标准函数接口;所述虚拟USB设备对象与所述USBHAL库的标准函数接口关联,用于实现USB数据传输、事件响应、功能操作,以及虚拟USB设备对象的基本配置;所述USB设备注册模块用于设置USB设备各自的操作方法,与虚拟USB设备中的功能操作关联,在需要操作USB设备时,直接使用在USB设备注册模块的操作方法,调用USBHAL库的API接口进行操作,或者调用虚拟USB设备进行功能配置,切换配置功能对应的API接口,完成功能切换。


2.根据权利要求1所述的基于面向对象化的单片机USB软件开发系统,其特征在于,所述USBHAL库包括USB数据中断回调接口、USB控制中断回调接口和USB的API接口,其中USB数据中断接口用于处理枚举后的USB数据收发,包含USB数据传输的输入、输出和完成这些响应;USB控制中断...

【专利技术属性】
技术研发人员:樊驰舟周红卫
申请(专利权)人:江苏润和软件股份有限公司江苏润和科技投资集团有限公司
类型:发明
国别省市:江苏;32

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

1