缺氧乱语:呵呵,还没搞过USB呢。偷偷地把向哥的博文转过来,有空多瞄几眼。
转自:http://www.cnblogs.com/craftor/archive/2011/03/06/1972413.html
关键字: 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=14321 cy3684_ez_usb_fx2lp_development_kit_15.exe
http://www.cypress.com/?rID=34870 CySuiteUSB_3_4_4_B184.exe
一个是开发固件程序的,里面自带了一个简化版的Keil;另一个是开发上位机软件的,还包含了Cypress默认的驱动程序、API库等等。安装的时候最好默认都安装在C盘下,会省很多麻烦。
固件程序是下载到USB芯片里的,就是CY7C68013A的芯片里(程序也可以放在外接的EEPROM芯片里),用于配置芯片工作在需要的状态下。
搭建硬件、软件开发环境(请将步骤全看完再操作)
1、开发板,网上的68013A的开发板很多,百十来块钱。等熟悉之后,可以自己画一个,成本也不高。
2、一般开发板上68013A的芯片外围都会接一个I2C芯片,用来存放固件程序,因为芯片内部的空间有限,太大的程序可能放不下。比如本人手上有块小开发板,上面接有一块EEPROM:
默认情况下,P2是断开的,开发板的USB口与计算机连接后,从这片24LC64里读取配置程序。然后计算机会提示有USB设备接入,要求安装驱动。如果开发板买来芯片里就有程序,那么按照要求装驱动就可以了,如果Cypress的两个开发软件安装正确的话,选择自动搜索驱动应该能自动安装成功。笔者这里显示的是 Cypress EZ-USB Example Device ,如下:
另一种情况,EEPROM里没有程序,或者自己写的固件程序有BUG,系统提示Unknown Device的时候。这时候,(先把开发板与主机的USB口断开)需要把EEPROM断开,我这块板子上是把P2短接,也有的开发板上是把SCL或者SDA信号断开的,原理一样。然后再接上USB线,系统识别出来的应该是 Cypress EZ-USB FX2LP-EEPROM missing ,如下:
这种情况用于一般调试固件程序的时候,不小心改错了地方,系统识别不了,而新的固件程序又下载不了的情况。(后面会介绍如何下载固件程序)
3、在安装第一个软件 EZ-USB Development Kit 的时候,选择 Custom,然后把uVersion2_4K_Demo的勾选上。安装完成后,会在C:\Cypress\USB\uV2_4k的文件夹下有个Keil的安装包,解压缩,然后安装即可。最好默认安装在C盘下。
4、如果Keil也安装正确了,用Keil打开C:\Cypress\USB\Examples\FX2LP\Bulkloop下的这个工程。按F7编译,应该没有错误。
否则就是 EZ-USB Development Kit 或者 Keil没有安装在C盘下。你可以把这个工程复制到别的地方,再打开,然后做如下修改:
4.1,打开Project->Components,Environmem,Bookx…
4.2,修改BIN、INC、LIB的路径到你安装的路径。
4.3打开工程选项,在Output标签下,修改Run User Program #1的路径。
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文件,下载成功后如下。
现在断开USB口,再接上,启动的配置就是刚才下载进去的bulkloop程序了。
7、打开 开始->程序->Cypress->Cypess Suite USB 3.4.4 –>Bulk Loop ,对刚才下载过去的固件程序进行测试,应该正常。
本文就简单地介绍了硬件的连接方法,固件程序的下载等。敬请期待下文。。。
参考文献:
EZ-USB_TRM.pdf
CyAPI.pdf
CyConsole.pdf
CyUSB.pdf
DvkUsersGuide.pdf
EZ-USB_GettingStarted.pdf
都在C:\Cypress\USB\doc目录下。