普适应用的模型驱动开发与外设共享机制探索
立即解锁
发布时间: 2025-08-22 00:14:08 阅读量: 2 订阅数: 12 


嵌入式系统与普适计算的技术进展
### 普适应用的模型驱动开发与外设共享机制探索
#### 1. 普适应用的模型驱动开发
在普适应用开发中,面临着高度异构性、效率需求以及环境高动态性等挑战。为应对这些挑战,提出了模型驱动开发技术。
##### 1.1 ASM状态描述词汇表
为了使用抽象状态机(ASM)进行行为描述,需要在不同层次定义描述ASM状态的词汇表。在最高层,会有集合和函数等;对于较低层次,例如需要定义显示传感器状态的函数。目前正在研究传感器节点可能使用的词汇表。
##### 1.2 ASM的转换
不同层次的词汇表本质上描述了建模语言,即可以用ASM规则描述系统状态及其实体行为的术语。例如,如何将抽象函数“Occupied”转换为描述角色的ASM,这些角色观察运动检测传感器并在检测到运动时传输消息。
ASM方法描述了基于ASM的软件开发过程。开发者从描述正在构建的应用的高层ASM开始,逐步细化,用描述如何实现高层指定内容的细节丰富它。函数可以由计算该函数的附加ASM替换,或者ASM可以由子ASM组成。顺序ASM可以通过添加代理细化为分布式ASM。但这些步骤目前需要开发者手动执行,我们需要自动化这些步骤以形成转换链。
为了在实践中确立这种方法,需要一种表达性强的专用语言来描述ASM转换。目前正在考虑仅使用已建立的模型转换和代码生成模式的通用语言,首先研究如何应用转换以及如何对其进行参数化,未来计划应用特殊的转换语言。
#### 2. 异构环境下普适计算中外设共享机制的需求
随着普适计算融入用户生活,用户周围存在许多基于Linux的嵌入式设备。然而,操作系统的异构性导致在共享外设时出现兼容性问题。例如,使用Windows的用户可能想访问基于Linux的PDA中的外部存储设备,或者使用连接到MP3播放器的扬声器或家用电器中的DVD - RW。
传统的外设共享机制,如SAMBA,依赖于特定的外设,不适用于普适计算中各种复杂的外设。因此,需要一种与外设无关的异构操作系统环境下的共享机制。
#### 3. USB跨平台扩展(UCE)的提出
提出了USB跨平台扩展(UCE),通过TCP/IP网络在异构环境中共享外设。假设所有计算机和嵌入式设备通过网络连接,且具有异构操作系统。UCE使用户能够像访问本地连接的设备一样访问具有不同操作系统的远程USB外设,因为USB支持几乎所有设备,为该方法提供了外设独立性。
#### 4. 相关工作:USB/IP技术
USB跨平台扩展基于USB over IP技术。Takahiro等人提出的USB/IP是在同构环境中通过TCP/IP网络扩展外设总线的技术。在Linux中添加了虚拟主机控制器接口(VHCI)驱动程序和存根驱动程序,以通过网络扩展外设总线。VHCI位于需要访问远程设备的客户端,负责处理排队的USB请求块(URB),将其转换为USB/IP数据包并发送到远程机器。存根驱动程序位于远程机器,解码传入的USB/IP数据包,提取URB并提交给设备。这种机制支持所有USB传输功能,I/O性能足以满足实际使用。
我们将这种机制扩展到异构环境,将客户端的操作系统从Linux改为Windows,需要将VHCI迁移到Windows以处理URB并将其发送到远程机器,因此在Windows中创建了UCE总线作为新的USB总线架构,以将外设总线扩展到其他操作系统。
#### 5. Windows USB系统
Windows通过多种方式支持USB,包括系统提供的USB功能驱动程序(如usbhid.sys、usbstor.sys)、USB总线驱动程序(usbhub.sys)、USB主机控制器驱动程序(usbohci.sys、usbuhcd.sys、usbehci.sys)和USB公共库(usbd.sys)。
##### 5.1 各驱动程序的功能
- **USB功能驱动程序**:包含特定硬件的信息,为应用程序提供硬件控制方法。当设备连接时,Windows根据设备信息动态加载适当的USB功能驱动程序。它将应用程序的I/O请求转换为USB特定的格式URB。
- **USB总线驱动程序**:管理当前连接的USB设备,支持新连接设备的自动识别。它与即插即用(PnP)管理器协作,因为管理和自动识别需要各种PnP操作。
- **USB主机控制器驱动程序**:负责通知设备连接。当设备到达时,主机控制器上的USB根集线器向USB总线驱动程序发送消息。
##### 5.2 设备初始化过程
当USB设备连接到主机时,USB主机控制器驱动程序感知到连接并向USB总线驱动程序发送热插拔通知。USB总线驱动程序为设备分配资源,并使用Windows内核API通知PnP管理器设备关系发生变化。PnP管理器请求设备列表以确认变化原因,然后根据之前的PnP操作加载适当的USB功能驱动程序,为设备分配资源并启动设备。
即使USB功能驱动程序已加载,它最初只知道设备的一般信息。USB规范提供USB描述符,使USB功能驱动程序能够进行自我配置并执行特定于设备的操作。完成所有这些过程后,支持设备的驱动程序架构建立,应用程序可以使用该设备。具体流程如下:
```mermaid
graph LR
A[USB设备连接] --> B[USB主机控制器驱动程序通知]
B --> C[USB总线驱动程序分配资源并通知PnP管理器]
C --> D[PnP管理器请求设备列表]
D --> E[USB总线驱动程序更新列表]
E --> F[PnP管理器执行PnP操作]
F --> G[PnP管理器加载USB功能驱动程序]
G --> H[分配资源并启动设备]
H --> I[USB功能驱动程序获取USB描述符并配置设备]
I --> J[应用程序使用设备]
```
#### 6. USB跨平台扩展(UCE)的架构
UCE是通过TCP/IP网络在异构环境中共享外设的机制。使用UCE,用户可以像本地连接并在相同操
0
0
复制全文
相关推荐









