原创 良子USB2.0摄像头开发板10_测试USB芯片

2015-5-2 19:45 1678 22 22 分类: MCU/ 嵌入式 文集: USB2.0摄像头开发板

       良子USB2.0摄像头开发板上使用的芯片是CYPRESS公司的CY7C68013A,是用途最为广泛的高速USB2.0芯片,如果用户要了解更多关于此芯片的开发板,请查看我的店铺。在测试CY7C68013A芯片之前,用户需要先安装配套的USB开发包,并且用户要清楚的知道,如何安装USB固件对应的驱动程序(用户可以参考配套开发板的用户开发手册)。

1、如何下载USB芯片的固件程序。
       安装完USB芯片的开发包后,里面有一个USB Control Center程序(以下简称控制台程序),用户主要应用这个控制台程序,完成USB固件程序的下载,调试等工作。固件程序可以下载到CY7C68013A芯片内部的SRAM中,也可以下载到CY7C68013A芯片外部的EEPROM中。这里先对第一种下载方式做详细说明,后面会介绍如何下载固件程序到EEPROM中。

      打开控制台程序(以WIN7,64位为例),单击桌面左下角的开始按钮,找到控制台程序组,如下图,

lingziusb_sensor_20150227_0.jpg

       打开控制台程序如下,插入开发板(为了学习方便,需要拔掉开发板上的EEPROM),

lingziusb_sensor_20150227_1.jpg
       此时USB显示的设备名称是Cypress EZ-USB FX2LP No EEPROM,这个名称是默认的名称,如果CY7C68013A加载了具体的固件程序,名字可能就变化了,不是这个默认的名字了。窗口中还显示了其它一些USB设备,如键盘、鼠标等,由于和CY7C68013A无关,这里不做说明。
接下来开始下载固件程序到片内SRAM中。单击控制台程序菜单栏中的“Program FX2”,按下图操作,
lingziusb_sensor_20150227_2.jpg
 
弹出对话框如下,
lingziusb_sensor_20150227_4.jpg
      找到电脑中的配套例程bulkloop.hex文件,最后点“打开”按钮,就可以将固件程序下载到CY7C68013A芯片内部了。下载完固件后,在控制台窗口中的USB设备名称会发生变化,变成了如下所示的样子(在固件重新枚举的过程中,可能会需要重新安装新的固件对应的驱动程序,这个过程请参考前面的驱动程序安装一节),
lingziusb_sensor_20150227_5.jpg
       如上图,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,
lingziusb_sensor_20150227_6.jpg
      固件bulkloop共含有4个大端点,需要成对使用,OUT端点2是和IN端点6配对的;OUT端点4是和IN端点8配对使用的。操作时,1先选择OUT端点0x02,2是输入要发送的数据A,3是要发送数据的数量,4是命令执行按钮,5是实际发送的数据。在操作时,记得要选择Data Transfers选项。
接收数据和上面的发送过程相似,按下图进行操作,
lingziusb_sensor_20150227_7.jpg
      操作时1是要选择IN端点6,2是输入要读取的数量,3是命令执行按钮,4是实际读取的内容。可以看出,读出的数据和之前写入的数据是完全一样的。
 
 

(另公布一群号178338109,CYUSB3014开发专业讨论区)

 

淘宝店铺:http://liangziusb.taobao.com

良子.2015年    承接USB开发工程  

QQ:2687652834

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
22
关闭 站长推荐上一条 /3 下一条