微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > USB开发基础:USB设备的开发流程

USB开发基础:USB设备的开发流程

时间:12-13 来源:互联网 点击:
USB设备的开发一般包括主机端(上位机)驱动程序的开发(如果您的USB设备符合某一标准设备类且主机端已经提供了此类设备的驱动程序的话,则可以省掉此步骤)和USB设备端驱动程序的开发,有时还可能包括主机端应用程序的设计工作。

1、设备系统需求分析

设备系统需求分析是进行USB设备设计的第一步,通过对USB设备功能特性和USB主机端操作系统的分析,可以获得实现该USB设备的软硬件设计需求。

在该阶段,设计者需要充分了解该设备的应用环境(如USB主机的软件、硬件平台),这样以用来确定是否需要提供USB主机端相关软件工作,以便该设备能得到广泛地应用。为了提供合理的软硬件设计方案,设计者还需要充分了解市场上的USB接口芯片,不同的USB接口芯片在USB协议上有着不同程度的支持,比如,对数据包地址的硬件自动识别、CRC16和CRC5的自动生成等等。

当然,在确定具体的软硬件需求时,产品的开发费用和开发周期也是必须考虑的因素。

2、设备硬件需求

通过设备系统需求分析,以及对市场上USB接口芯片的充分了解,设计者必须确定相应的设备硬件结构以及可能采用的硬件。在选择器件时,需要考虑到器件体积、功耗等,因为,小的设备功耗,有利于采用总线供电模式。必须通过设备系统的功耗来确定是否需要提供本地电源。  

3、设备软件需求

在确定了设备的硬件结构以后,该设备的软件结构就会同时产生。不同的硬件平台,可能需要不同程度的软件支持。

4、设备硬件设计

在选定USB控制芯片以后,如果是带USB接口的单片机,则是一般单片机应用系统的开发;反之,就是如何把USB接口芯片与单片机应用系统融合的问题。一般USB接口芯片都支持多种并行总线结构(复用/非复用),可以方便的与多种单片机接口。硬件设计中要注意的就是USB接口芯片的时钟速度比较高,所以匹配网络的设计以及PCB布线要特别关注。

5、设备软件设计

USB设备的软件设计主要包括两部分:一是USB设备端的软件开发,主要完成USB协议处理与数据交换以及其它应用功能程序。二是主机端的程序,由USB通信程序(驱动程序)和用户服务程序两部分组成,主机端用户服务程序通过USB通信程序(驱动程序)与系统USBDI(USB Device Interface)通信,由系统完成USB协议的处理与数据传输。主机端程序的开发难度比较大,程序员不仅要熟悉USB协议,如果需要开发主机端驱动程序的话,还要熟悉主机端操作系统(如常用的WINDOWS系统)体系结构并能熟练运用DDK工具(驱动程序开发工具)。

6、设备调试

要快捷、成功的开发一个USB设备,正确、合理的调试方法是必不可少的环节。调试基本分三步进行:首先对外部设备(单片机部分)借助PC调试软件(常用的有:bus hound、USB MONITOR,某些芯片生产商还提供针对特定芯片的调试软件)将设备端的USB协议(主要有描述符请求、端口配置、地址设置以及基本数据交换)调通(当然我们还可以使用USB分析仪等开发设备,但此类设备一般比较昂贵)。然后,用调试好的USB设备接口来开发、调试PC软件,这一步相对比较容易。最后,加上USB设备端的其它用户程序,对整个完整的系统进行系统调试。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top