打印

EZ-USB 68013A开发指南(一)--转

[复制链接]
14067|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lh8008|  楼主 | 2010-8-25 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.
元器件 CYPRESS 68013A:支持USB 2.0协议,带增强型8051单片机,时钟频率48Mhz。支持串口通讯。
2.
文档
cy7c68013.pdf
68013外设手册
cy7c68013_5.pdf
68013外设手册
CY3684_A_SCH.PDF
68013A外围电路图
FX2 TechRefManual.pdf
EZUSB-FX2技术手册
fx2_to_fx2lp.pdf
FX2和FX2LP的区别
CYAPI.PDF
CYAPI手册 高级类库
CYUSB.PDF
CYUSB手册 底层API



3.
开发环境
3.1

Keil C 7.0
编译器
3.2

C++ Builder 6.0

3.3

VC++ 6.0

3.4

EEPROM
烧写器
3.5

68013A
的开发包(含CYPRESS CONSOLE、CYUSB.SYS、例程等)
3.6

BUS HOUND 5.0


4.
开发流程
4.1

硬件程序编写
1)根据CYPRESS的示例程序建立工程框架,一般由FW.C PERIPH.C和定义寄存器的几个头文件组成。
2)FW.C负责了设备连接、重枚举、设备初始化等过程
3)PERIPH.C负责响应各种中断事件。
4)dscr.a51文件定义了USB设备握手时需要的各种描述符
5)FX2REGS.H定义了USB中所有的寄存器
6)FX2.H主要定义了各种二级中断向量和描述符的数据结构
7)编译后的二进制代码和工程同名,扩展名为HEX。
8) 相应的头文件和类库在KEIL C的lib和inc文件夹内,需在项目设置中设置路径。

4.2

硬件程序烧录
1)因为本产品要求将二进制代码和硬件PID/VID烧录在EEPROM,而不是使用CYPRESS推荐的在线下载方式,所以外部采用了8K的EEPROM。上电后68013A会将EEPROM中的数据和程序加载到RAM中运行。
2)HEX文件只是68013A上8051的程序代码,还要加上PID/VID等信息才能正确运行,CYPRESS在开发包中提供了HEX2BIN.EXE这个工具,可以根据HEX生成完备的IIC文件,将此文件烧录到EEPROM上即可。
3)HEX2BIN.EXE的使用方法如下:
将XXX.HEX文件拷贝到HEX2BIN.EXE所在目录,打开CMD,按如下格式输入:
hex2bix -i -o xxx.iic xxx.hex -f 0xC2 -v 0x1234 -p 0x1234
-i
表示输出文件,也就是IIC文件
-o

表示输入文件,也就是HEX文件
-f
表示68013A发送PID/VID的方式,这里为C0,即从EEPROM上读取。
-v
表示VID的BCD码,开发阶段使用1234
-p
表示PID的BCD码,开发阶段使用1234
4)将生成的IIC文件用烧写器烧录到EEPROM上,本项目使用的是深圳思泰佳电子公司的NSP通用烧写器,此烧写器不支持IIC类型,选择BIN类型可替代。

4.3

驱动的识别
1)将EEPROM连到68013A上后,接上USB线,上电。计算机提示找到新硬件,要求安装驱动。
2)CYPRESS针对68013A提供了全新的驱动程序CYUSB.SYS。这个驱动使用了新的API,所以上位机的编写上和旧的方式完全不同。底层的IOCTL控制字的定义也完全不同,详见CYAPI.PDF和CYUSB.PDF。
3)安装驱动之前,必须先根据VID/PID正确编辑CYUSB.INF文件,在文件中添加自己的PID/VID代码和设备描述,连接设备时,将根据硬件上的PID/VID查找INF文件中对应的驱动,如果找不到,在设备管理器中将显示“68013 EEPROM MISSING”的字样。
4)详细的INF配置方法参考CYUSB.PDF PART1/PART2/PART3。这里不在赘述。
5)安装驱动时候找到修改好的CYUSB.INF文件,驱动将被正确安装,此时设备可以正常使用。

4.4

测试过程
1)被正确识别的设备可以在CYPRESS CONSOLE上看到设备信息。如图:
2)CYPRESS CONSOLE的具体使用方法请参考CyConsole.chm。
3)要注意的是,除EP0/EP1外,当其他端点Max Pkt Size大小为64字节时,表示工作在USB 1.1模式,有可能是软件的原因,也有可能是外围上拉电阻的问题。开发中要特别注意。

5.
推荐开发流程
5.1

看本介绍USB 2.0协议的书,对USB 2.0协议有所了解。推荐《USB 2.0原理与工程开发》
5.2

看CYUSB.PDF文档。了解驱动安装方法。
5.3

看KEIL C51的书籍,熟悉C51的编程方法,熟悉KEIL C编程环境。
5.4

看CYPRESS提供的例程,了解68013A编程框架。推荐《EZ-USB 2100系列单片机原理、编程及应用》(基本框架类似,部分寄存器定义不同)。
5.5

对照USB 2.0协议,编写dscr.a51文件,配置各种描述符。
5.6

结合FX2 TechRefManual.pdf,研读FW.C、PERIPH.C、FX2REGS.H、FX2.H,了解寄存器的定义。
5.7

根据系统需求编写响应代码,有开发板时,根据开发版上的LED来测试程序正确与否。
5.8

根据CYAPI.PDF CYUSB.PDF编写上位机通讯程序。
同步读取数据方法
XferData();

异步读取数据方法

BeginDataXfer()/WaitForXfer()/FinishDataXfer();

5.9

调试程序。
5.10
编写其他8051上的程序,并继续调试。

6.
发布时应提供的文件
1)CYUSB.SYS
2)CYUSB.INF
3)XXX.IIC
沙发
飞翔的猪| | 2010-8-25 14:55 | 只看该作者
学习了

使用特权

评论回复
板凳
lh8008|  楼主 | 2010-8-26 09:53 | 只看该作者
不知道谁有CYUSB.PDF文档啊?

使用特权

评论回复
地板
wangzsa| | 2010-8-26 18:27 | 只看该作者
去源码去找找

使用特权

评论回复
5
whzzz| | 2010-10-18 15:47 | 只看该作者
感谢楼主给我指明方向

使用特权

评论回复
6
Go_PSoC| | 2010-10-18 22:33 | 只看该作者
楼主总结的挺好

使用特权

评论回复
7
llia| | 2010-10-18 22:35 | 只看该作者
楼主也是转载的吧,呵呵

使用特权

评论回复
8
bigda| | 2011-5-25 20:18 | 只看该作者
没得下载啊 啊 啊

使用特权

评论回复
9
longwonder| | 2011-5-26 01:30 | 只看该作者
看一看这里面的知识,会学到很多东西,不敢独处分享,大家看一看,还是不错的。有USB2,0的内容,还有最新关于CYUSB3014的最新的内容,大家不会失望的。这是我找到的最好的博客,
http://blog.**/liangziusb/

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

151

帖子

1

粉丝