找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

CY7C68013A开发基础

[复制链接]
admin 发表于 2012-8-24 13:00:54 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
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
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 17:11 , Processed in 0.055585 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表