良子USB2.0摄像头开发板上使用的芯片是CYPRESS公司的CY7C68013A,是用途最为广泛的高速USB2.0芯片,如果用户要了解更多关于此芯片的开发板,请查看我的店铺。在测试CY7C68013A芯片之前,用户需要先安装配套的USB开发包,并且用户要清楚的知道,如何安装USB固件对应的驱动程序(用户可以参考配套开发板的用户开发手册)。
1、如何下载USB芯片的固件程序。
安装完USB芯片的开发包后,里面有一个USB Control Center程序(以下简称控制台程序),用户主要应用这个控制台程序,完成USB固件程序的下载,调试等工作。固件程序可以下载到CY7C68013A芯片内部的SRAM中,也可以下载到CY7C68013A芯片外部的EEPROM中。这里先对第一种下载方式做详细说明,后面会介绍如何下载固件程序到EEPROM中。
打开控制台程序(以WIN7,64位为例),单击桌面左下角的开始按钮,找到控制台程序组,如下图,
打开控制台程序如下,插入开发板(为了学习方便,需要拔掉开发板上的EEPROM),
此时USB显示的设备名称是Cypress EZ-USB FX2LP No EEPROM,这个名称是默认的名称,如果CY7C68013A加载了具体的固件程序,名字可能就变化了,不是这个默认的名字了。窗口中还显示了其它一些USB设备,如键盘、鼠标等,由于和CY7C68013A无关,这里不做说明。
接下来开始下载固件程序到片内SRAM中。单击控制台程序菜单栏中的“Program FX2”,按下图操作,
弹出对话框如下,
找到电脑中的配套例程bulkloop.hex文件,最后点“打开”按钮,就可以将固件程序下载到CY7C68013A芯片内部了。下载完固件后,在控制台窗口中的USB设备名称会发生变化,变成了如下所示的样子(在固件重新枚举的过程中,可能会需要重新安装新的固件对应的驱动程序,这个过程请参考前面的驱动程序安装一节),
如上图,USB设备名称已经变成了“Cypress EZ-USB Example Device”了,并且固件程序包含有4个大端点,分别是2、4、6、8。前两个是OUT端点,后两个是IN端点。
3、 测试bulkloop固件。
下载完固件后,可以进行数据传输,具体的过程是:上位机一次向OUT端点发送2048个数据,固件程序再将OUT端点收到的数据转发到IN端点,再返回到上位机。CY7C68013A内部的FIFO固件配置成4X512=2048字节,所以上位机一次最多可以发送2048个字节(上位机没有从USB芯片中读走数据)。按如下进行操作,向OUT端点发送2K的数据A,
固件bulkloop共含有4个大端点,需要成对使用,OUT端点2是和IN端点6配对的;OUT端点4是和IN端点8配对使用的。操作时,1先选择OUT端点0x02,2是输入要发送的数据A,3是要发送数据的数量,4是命令执行按钮,5是实际发送的数据。在操作时,记得要选择Data Transfers选项。
接收数据和上面的发送过程相似,按下图进行操作,
操作时1是要选择IN端点6,2是输入要读取的数量,3是命令执行按钮,4是实际读取的内容。可以看出,读出的数据和之前写入的数据是完全一样的。
(另公布一群号178338109,CYUSB3014开发专业讨论区)
淘宝店铺:http://liangziusb.taobao.com
良子.2015年 承接USB开发工程
QQ:2687652834
文章评论(0条评论)
登录后参与讨论