文档介绍:技
文档说明:因为USB的完整开发包括固件开发,驱动开发,上位机应用软件开
发。整个过程包含过多内容,本文档讲述了固件开发过程,且侧重于对例子的
,,对原理
只做些简单介绍。并且介绍了开发USB设备驱动开发的基本方法和例子。本USB
功能主要使用控制面板调试,并提供整个控制面板的VC源码,需要上位机应用
软件开发的用户可进行参考,上位机软件开发提供一个VC编译的SPEED速度测
试的程序的例子。
固件开发:运行在USB芯片中的程序称为固件。CY68013芯片内嵌入的是一个8051增强
型单片机的内核,故其固件编程通常使用Keil C软件编写和调试。
驱动开发:要实现USB通信,需要编写USB设备的驱动程序主机才能识别出来,所以用
户需要为自己的USB设备开发驱动。
应用程序开发:上位机软件开发,通过调用设备驱动实现USB传输,如控制面板。
除此之外还需要设计USB与其它设备的通信接口,如,USB与FPGA的通信接口设计。
因涉及的内容较多,本文档无法一一都包含在内,因此买一本专
业的参考书籍还是必需的。
1. Cypress USB 安装与调试程序
安装光盘上\USB 相关\开发软件目录中的USB开发控制面板
ezusb\,此程序带有FX2-USB的通用驱动。安装完后插上USB线连接
开发板和PC两端,在弹出的对话框中,对于WINXP选择“自动安装软件”,安装完后在“设
备管理器”中的“通用串行总线控制器”会出现“Cypress EZ-USB FX2(68613)-EEPROM
missing”后安装完成
首先打开QII,下载光盘“USB2 \ nios_usb_XX “目录下的的QII工程,下载*.POF到
EPCS口或者下载*.SOF到JTAG口。如果是V4版本的开发板,
的传输程序,按下面的步骤下载完slave_fifo_16bit_4固件文件到USB芯片后,按一下KEY3按键
开始测试。
运行开始菜单->程序->Cypress->USB-> EZ-USB Control Panel
技
在Device 栏显示Ezusb-0,表明系统连接正常( 接口)
下载固件Firmware:
点击download..下载USBEXAMPLES\slave_fifo_16bit_4目录下的*.HEX 文件。
正常下载后显示
技
分别点击以下按钮
如下图所示:
的”GetDev”、”GetConf”、”GetPipes”、”GetString”按钮以获得设备信息
如下图所示:
点击 Bulk/Int按钮,(Pioe选择”3:Endpoint 8 IN”,Length 512)
便可看到由Nios发过来的递增的16位数据。
技
点击 Bulk/Int按钮,(Pipe选择”0:Endpoint 2 OUT”,Length 512)HEX Bytes:1
HEX Bytes:1 PC向FPGA发送01,通过Nios后显示在LED上。
分别再发送 HEX Bytes:2 、HEX Bytes:3 可在LED上看到发送结果。
FX2的启动过程,上电复位后
1) 如果E2PROM不存在,则用默认PID/VID启动USB设备,缺省的USB设备自动处理所有
USB请求,此时的固件需要通过控制面板来下载,调度时常用。
无E2PROM时,FX2有默认的PID/VID来响应请求,见下表:
Vendor ID 厂商ID 0x04B4(Cypress semiconductor)
Product ID 产品ID 0x8613(EZ-USB FX2)
Device Release 发布版本号 0xXXYY(Depends on revision)
2) 如果E2PROM存在,并且E2PROM中第一字节是0xC0,后面字节包括用户定制的
PID/VID,则用定制好的PID/VID来从主机下载固件和加载驱动,此方式称为”C0加
载”模式,产品发布时常用。如下表
“C0加载”数据格式”
E2PROM地址数据
0 0xC0
1 VID低字节
2 VID高字节
3 PID低字节
技
4 PID高字节
5 DID低字节
6 DID高字节