宋桓公

【转载】EZ-USB FX2LP,CY7C68013A学习笔记[1]

0
阅读(4209)

/*****************************************

这个是大神Craftor的文章,想开始开发USB

的童鞋,先看看这篇文章绝对没错~~

******************************************/

声明:本文由Craftor原创,首发于craftor.cnblogs.com,转载请保留此处。

关键字: Cypress EZ-USB FX2LP CY7C68013A Keil C++Builder VC6 CyAPI CyUSB CyConsole

Cypress的FX2LP系列的USB芯片很强大,以CY7C68013A为代表之作,详细的介绍不多说,见Cypress的官网:

http://www.cypress.com/?id=193

基于FX2LP的USB开发,包括三部分:固件程序、驱动、上位机软件。

对应用到的开发软件:Keil C51、DDK/Driver Studio、VC/C++Builder

另外,还要下载Cypress的开发环境:

http://www.cypress.com/?rID=14321cy3684_ez_usb_fx2lp_development_kit_15.exe

http://www.cypress.com/?rID=34870CySuiteUSB_3_4_4_B184.exe

一个是开发固件程序的,里面自带了一个简化版的Keil;另一个是开发上位机软件的,还包含了Cypress默认的驱动程序、API库等等。安装的时候最好默认都安装在C盘下,会省很多麻烦。

固件程序是下载到USB芯片里的,就是CY7C68013A的芯片里(程序也可以放在外接的EEPROM芯片里),用于配置芯片工作在需要的状态下。

搭建硬件、软件开发环境(请将步骤全看完再操作)

1、开发板,网上的68013A的开发板很多,百十来块钱。等熟悉之后,可以自己画一个,成本也不高。

2、一般开发板上68013A的芯片外围都会接一个I2C芯片,用来存放固件程序,因为芯片内部的空间有限,太大的程序可能放不下。比如本人手上有块小开发板,上面接有一块EEPROM:

wps_clip_image-32260

默认情况下,P2是断开的,开发板的USB口与计算机连接后,从这片24LC64里读取配置程序。然后计算机会提示有USB设备接入,要求安装驱动。如果开发板买来芯片里就有程序,那么按照要求装驱动就可以了,如果Cypress的两个开发软件安装正确的话,选择自动搜索驱动应该能自动安装成功。笔者这里显示的是 Cypress EZ-USB Example Device ,如下:

wps_clip_image-2743

另一种情况,EEPROM里没有程序,或者自己写的固件程序有BUG,系统提示Unknown Device的时候。这时候,(先把开发板与主机的USB口断开)需要把EEPROM断开,我这块板子上是把P2短接,也有的开发板上是把SCL或者SDA信号断开的,原理一样。然后再接上USB线,系统识别出来的应该是 Cypress EZ-USB FX2LP-EEPROM missing ,如下:

wps_clip_image-12060

这种情况用于一般调试固件程序的时候,不小心改错了地方,系统识别不了,而新的固件程序又下载不了的情况。(后面会介绍如何下载固件程序)

3、在安装第一个软件 EZ-USB Development Kit 的时候,选择 Custom,然后把uVersion2_4K_Demo的勾选上。安装完成后,会在C:\Cypress\USB\uV2_4k的文件夹下有个Keil的安装包,解压缩,然后安装即可。最好默认安装在C盘下。

wps_clip_image-21154

wps_clip_image-9569

4、如果Keil也安装正确了,用Keil打开C:\Cypress\USB\Examples\FX2LP\Bulkloop下的这个工程。按F7编译,应该没有错误。

否则就是 EZ-USB Development Kit 或者 Keil没有安装在C盘下。你可以把这个工程复制到别的地方,再打开,然后做如下修改:

4.1,打开Project->Components,Environmem,Bookx…

wps_clip_image-26338

4.2,修改BIN、INC、LIB的路径到你安装的路径。

wps_clip_image-24597

4.3打开工程选项,在Output标签下,修改Run User Program #1的路径。

wps_clip_image-14986

5、如果第四步编译没有任何错后,会在BulkLoop文件夹下生成一个名为bulkloop.iic的文件,这就是最后要下载到EEPROM里的文件。Keil编译成功后的文伯是HEX格式的,又经过了Cypress的hex2bix程序转换成了iic文件。

6、下载固件程序,打开 开始->程序->Cypress->USB->CyConsole USB 。如果识别正确,Device栏中应该显示出设备的名字。如果开发板上的EEPROM是断开的,请接上(不要断电)。

然后选择 Lg EEPROM ,打开 C:\Cypress\USB\Examples\FX2LP\Bulkloop\bulkloop.iic文件,下载成功后如下。

wps_clip_image-7026

现在断开USB口,再接上,启动的配置就是刚才下载进去的bulkloop程序了。

7、打开 开始->程序->Cypress->Cypess Suite USB 3.4.4 –>Bulk Loop ,对刚才下载过去的固件程序进行测试,应该正常。

wps_clip_image-8341

本文就简单地介绍了硬件的连接方法,固件程序的下载等。敬请期待下文。。。

参考文献:

EZ-USB_TRM.pdf

CyAPI.pdf

CyConsole.pdf

CyUSB.pdf

DvkUsersGuide.pdf

EZ-USB_GettingStarted.pdf

都在C:\Cypress\USB\doc目录下。

Baidu
map