新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > FPGA的嵌入式系统USB接口设计

FPGA的嵌入式系统USB接口设计

作者:时间:2010-04-07来源:网络收藏


3.2 驱动程序
软件由主机中的软件和设备同件构成。主机中的软件主要包括USB设备驱动(USBDD)、USB总线驱动(USBD)和USB主控制器驱动(HCD)。
USB设备驱动程序(或客户驱动程序)处于最顶层,它支持特定设备类的驱动,负责与其对应的USB设备进行通信和读写控制,实现各个USB设备特殊的功能应用。连接USB设备的每种类型的功能单元都必须具有客户驱动程序。客户驱动程序把USB设备看作是一个可被访问的端点的集合。USB设备可以被控制并与其功能单元通信。USB设备驱动程序通过I/O请求包(IRP)向USB总线驱动程序发送请求。这些请求包将一个给定的传输初始化。这种传输可以来自于一个USB目标设备或发送到USB设备。

USB总线驱动(USBD)是在主机控制器驱动和USB设备驱动之间的模块,它对应USB协议的USBD,在Windows中由USBD.SYS模块提供。它是在某一操作上对USB总线和协议提供支持的软件,独立于USB设备和USB设备驱动,并对它们进行控制和提供统一编程
USB主控制器驱动程序(HCD)处于最底层,它负责对主机控制器进行抽象和对USB提供低级支持。
3.3 PC端的软件
PC端的软件采用面向对象程序,分为核心类(包括Provider,Data,Net)和应用类(包括UI,Call,Record)。其中核心类提供对硬件、操作系统和网络环境的支持,应用类在核心类的基础上提供对用户操作的支持。Provider类定义对USB设备的读写操作,提供读取数据方法(readusb())和写数据方法(writeusb());Data类包括地址数据(Address)、音频数据(Audio)和控制数据(Command)的定义,并提供数据的分解方法(Decompose())和组合方法(Compose());Net类提供对网络的支持,包括网络协议的选择和数据的接收与发送。UI类提供对用户界面的支持,包括窗口、对话框等,实现基本用户框架与应用入口;Call类提供通话功能;Record类则提供电话录音功能;根据不同应用要求,可扩展其他应用类。具体结构如图5所示。

4 结束语
USB灵活的和可编程特性可简化外部硬件的设计,提高系统可靠性。而USB2.O控制器CY7C68013A也广泛应用于许多数据传输领域。已成为通信、计算机、消费类电子产品等领域的基础器件。这里所介绍的USB设备就是一个基于系统,该系统软硬件都具有模块化的特性,易于改造成其他应用场合的语音控制系统(DAA除外)。该设计的应用可节省大量的人力、物力。具有较大的推广意义和使用价值。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭