【红色飓风Nano二代测评】测试USB芯片
0赞板子上用的是Cypress的CY7C68013A,非常经典的USB Controller,本人也对此芯片非常熟悉。手头有现成的固件和测试程序,就直接拿来测试了一下。
刚上电,USB显示是NO EEPROM,说明EEPROM里没有程序。
但我想烧一下自己的固件程序,结果是这样的错误:
我再检查一下原理图,图上是这么画的:
根据CY7C68013A的手册我们可以知道,A2A1A0全为低电平时,EEPROM的地址为0x50,而CY7C68013A默认上电去读配置的IIC总线地址是0x51。所以这里的电路设计有点点小问题,就是无法烧写自己的固件,只能在线下载HEX文件,掉电丢失。这对于调试是没有问题,但是生产的时候是不行的。我设计过的一个板子,上面的关于EEPROM的原理图如下:
思路是这样的,A2A1A0为001的时候,EEPROM的地址是为0x51的,此时上电的时候CY7C68013A就会从这个EEPROM中读入配置数据(具体信息请查看CY7C68013A的手册)。P8是一个跳帽,为了调试的时候方便,比如有时候自己调试的固件有错误,无法引导了,那么此时把跳帽接上,EEPROM的地址就为0x50了,上电之后,还是可以正常识别为NO EEPROM的设备,如本文前面的图所示。上电完成后,把跳帽拿掉,又可以烧写新的固件了。
对于这个板子,我还是在线下载了HEX文件,下载完成后,设备识别成这样:
然后我用自己上位机的软件,就可以读写这个EEPROM的数据了。注意,地址为0x50。
可以看到,刚开始里面是有一些数据的。我从0地址开始写入0~7的数据,然后再读:
这是USB初步的测试,下一步将测试FPGA跟USB的数据通信。
