一种USB设备的控制系统及控制方法与流程

文档序号:11250814阅读:882来源:国知局
一种USB设备的控制系统及控制方法与流程

本发明涉及智能网关嵌入式系统中的usb设备的控制技术领域,具体涉及一种usb设备的控制系统及控制方法。



背景技术:

通用串行总线(usb)由于其高速的传输速度以及在行业内的通用性,已经成为嵌入式设备与其他设备通信的极为重要的方式。如手机通过usb与上位机连接后,可以高速的传递数据,又可以用来充电等,使手持设备可以发挥存储设备,无线网卡以及调试等多种功能。但是在智能网关嵌入式系统中的usb设备只能实现usb设备的挂载,不能实现诸如识别挂载的设备类型,卷标的读取写入,上报拔插时间给感兴趣的模块等其他的功能,不能够满足用户需求,例如光猫只能对usb设备进行挂载,并不能进行过多的处理,而随着光猫越来越智能化,用户有更多智能化的需求,对usb设备的控制要求越高。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种usb设备的控制系统及控制方法,能够实现usb设备的控制管理功能。

为达到以上目的,本发明采取的技术方案是:

一种usb设备的控制系统,包括:

底层驱动模块,用于捕捉底层的usb事件,并根据usb事件的类型上报对应的关键字,所述usb事件的类型包括设备类型识别、卷标读写、容量读取和热插拔事件;

监控进程模块,用于接收所述关键字,判断所述关键字对应的usb事件的类型,响应所述usb事件,根据所述usb事件的类型与对应模块进行交互。

在上述技术方案的基础上,所述底层驱动模块捕捉到所述usb事件的类型是设备类型识别,则向所述监控进程模块发送存储设备关键字或串口设备关键字,所述监控进程模块根据存储设备关键字或串口设备关键字识别出设备类型是存储设备或串口设备,并将设备类型发送给显示设备。

在上述技术方案的基础上,所述底层驱动模块捕捉到所述usb事件的类型是卷标读写,则向所述监控进程模块发送卷标读取关键字,所述监控进程模块根据卷标读取关键字调用开源软件读取卷标的格式,根据卷标的格式调用移植软件实现卷标的写入。

在上述技术方案的基础上,所述底层驱动模块捕捉到所述usb事件的类型是容量读取,则向所述监控进程模块发送容量读取关键字,所述监控进程模块根据容量读取关键字调用xml文件,写入usb设备的容量信息、设备名称信息和格式化类型信息。

在上述技术方案的基础上,所述底层驱动模块捕捉到所述usb事件的类型是热插拔事件,则向所述监控进程模块发送热插拔事件关键字,所述监控进程模块根据热插拔事件关键字调用通信接口,上报所述热插拔事件给感兴趣的模块。

一种usb设备的控制方法,具体步骤如下:

s1,底层驱动模块捕捉底层的usb事件,所述usb事件的类型包括设备类型识别、卷标读写、容量读取和热插拔事件,根据usb事件的类型上报对应的关键字;

s2,监控进程模块接收所述底层驱动模块上报的关键字判断usb事件的类型,根据usb事件的类型,调用相关模块,执行与usb事件对应的功能。

在上述技术方案的基础上,若所述usb事件的类型是设备类型识别,所述监控进程模块调用web显示设备,显示设备类型。

在上述技术方案的基础上,若所述usb事件的类型是卷标读写,所述监控进程模块调用开源软件和移植软件,实现卷标的读写。

在上述技术方案的基础上,若所述usb事件的类型是容量读取,所述监控进程模块调用xml文件,将usb设备的容量信息、设备名称信息和格式化类型信息写入xml文件中。

在上述技术方案的基础上,若所述usb事件的类型是热插拔事件,所述监控进程模块调用socket通信接口,上报所述热插拔事件给感兴趣的模块。

与现有技术相比,本发明的优点在于:

本发明通过在usb设备中启动一个监控进程,对底层的usb事件进行监控,对底层驱动上报的usb事件进行处理,相较于传统嵌入式设备只能实现usb设备的挂载功能,本发明能够实现对usb设备的设备类型识别、卷标读写、容量读取、热插拔事件的控制管理功能,满足用户需要,适用范围广,操作方面。

附图说明

图1为本发明实施例中控制系统的结构框图;

图2为本发明实施例中控制方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种usb设备的控制系统,包括:

底层驱动模块,底层驱动模块用于捕捉底层的usb事件,usb事件的类型包括设备类型识别、卷标读写、容量读取和热插拔事件,根据usb事件的类型上报对应的关键字;

监控进程模块,监控进程模块用于接收关键字判断出对应的usb事件的类型,并响应usb事件,根据usb事件的类型与对应模块进行交互。能够实现对usb设备的设备类型识别、卷标读写、容量读取、热插拔事件的控制管理功能,满足用户需要,适用范围广,操作方面。

底层驱动模块捕捉到usb事件的类型是设备类型识别,则向监控进程模块发送存储设备关键字或串口设备关键字,其中存储设备关键字包括“ttyacm”,串口设备关键字包括“ttyusb”,监控进程模块根据“ttyacm”识别出设备类型是存储设备,根据“ttyusb”识别出设备类型是串口设备,并将识别出的设备类型发送给web显示设备呈现给用户。

底层驱动模块捕捉到usb事件的类型是卷标读写,则向监控进程模块发送卷标读取关键字,卷标读取关键字包括“label”,监控进程模块调用开源软件blkid,开源软件blkid实现卷标的读取,识别出是fat32或ntfs格式的设备,对于fat32格式的设备,则调用移植软件mlable来完成卷标的写入,对于ntfs格式的设备,则调用移植软件ntfslablee来完成卷标的写入。

底层驱动模块捕捉到usb事件的类型是容量读取,则向监控进程模块发送容量读取关键字,容量读取关键字包括“storage”,监控进程模块根据容量读取关键字调用xml文件,xml文件写入usb设备的容量信息、设备名称信息和格式化类型信息,供其他模块使用。

底层驱动模块捕捉到usb事件的类型是热插拔事件,则向监控进程模块发送热插拔事件关键字,热插拔事件关键字包括“hotplus”,监控进程模块根据热插拔事件关键字调用socket通信接口,上报热插拔事件给感兴趣的模块。

一种usb设备的控制方法,具体步骤如下:

s1,底层驱动模块捕捉底层的usb事件,usb事件的类型包括设备类型识别、卷标读写、容量读取和插拔事件,根据usb事件的类型上报对应的关键字;底层驱动模块捕捉到usb事件的类型是设备类型识别,则向监控进程模块发送包括“ttyacm”或“ttyusb”的关键字;底层驱动模块捕捉到usb事件的类型是卷标读写,则向监控进程模块发送包括“label”的关键字;底层驱动模块捕捉到usb事件的类型是容量读取,则向监控进程模块发送包括“storage”的关键字;底层驱动模块捕捉到usb事件的类型是热插拔事件,则向监控进程模块发送包括“hotplus”的关键字;

s2,监控进程模块接收底层驱动模块上报的关键字判断usb事件的类型,根据usb事件的类型,调用相关模块,执行与usb事件对应的功能。若usb事件的类型是设备识别,则监控进程模块调用web显示设备,显示设备类型;若usb事件的类型是卷轴读写,则监控进程模块调用开源软件识别卷标的格式,根据卷标的格式调用相应的移植软件,实现卷标的写入;若usb事件的类型是容量读取,则监控进程模块调用xml文件,将usb设备的容量信息、设备名称信息和格式化类型信息写入xml文件中;若usb事件的类型是热插拔事件,则监控进程模块调用socket通信接口,上报热插拔事件给感兴趣的模块。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1