我设计了一个CYUSB3014的实验板,连接电脑后controlcenter可以显示BootLoader ,烧写代码到RAM中,显示烧写成功,但是并没有重枚举。也就是说电脑没有任何反应,包括识别USB设备,或者装驱动之类的。 另外我烧写到ROM(24LC1025)中,显示烧写成功,然后跳线选择ROM启动,也同样没反应,这是什么原因呢? 烧写的软件,包括烧写ROM的软件也按照技术手册用elf文件转换ok了,是经过其他电路验证没有问题的。 我不清楚问题出在什么地方,该如何解决。
在烧写ROM的过程中,偶尔会找不到ROM,偶尔会烧写失败,但是根据以往的设计,ROM的配置是没有问题的。
已解决! 转到解答。
你现在贴片的两片 FX3 是从哪个渠道购买的?是否能确保芯片本身没有问题?
另外,你这样测试下:
烧录固件到 EEPROM 里面,之后不改PMODE 设置,再向 RAM 里烧录 SDK 安装目录下的 UsbI2cDmaMode 这个工程。
这个工程实现 FX3 的I2C接口实现对外部设备读写功能。你可以 用 Control center 发送控制命令,将 EEPROM 里的内容读取出来,再和 前面烧录进去的固件进行对比。
附件是 读取 FLASH 的方法,I2C 的读取是类似的,你可以参考I2C DMA 工程下的readme.txt 获知具体该发什么命令。这一实验是检查 烧录进去的固件是否正确。
如果烧录进去的固件正确,再将 PMODE 设置为 I2C 启动,使用 USB2.0 的连接线,使用示波器 测量 D+ 和 D- 上从系统上电开始以后的波形,以供参考。
请上传下你的固件工程。
我已提交固件程序,但是我使用官方的slavefifo固件,也无法识别
我这边测试过你发来的固件,是可以在Cypress的Demo板上枚举成功的。
你手边是否还有其他的板子,能否用其他板子测试下?
刚找了个板子,也可以枚举成功,就是不清楚现在这个板子在电路设计方面出了什么问题,我这电路的设计就是参考以前设计的板子(刚试过枚举成功的那个),刚查了原理图,没什么区别,焊接了2块,都是这个问题。始终找不到原因,供电,什么的都量了,没找到问题。我是否可以把板子和PCB寄给你,帮我看看是什么问题?
你可以参考如下的思路(这里假设你的原理图设计都没有问题):
1. U1B是什么样的接口?请拍图片展示你是如何从U1B 连接到 PC的。
2. 检查下 板上的时钟在下载完固件后是否正常。
3. 抓下 USB 的通信包。
我将你所说的三个思路的结果,写到1.docx文档中了,麻烦看看,谢谢
没有附件。
--------------
看到了,你放在上面了。
从你提供的文档中
1. FX3 到 USB 接口部分看起来是好的,请你再对照 AN70707 部分检查下 没有涉及到的部分,看看是否有遗漏。
2. 从 时钟波形来看,下载固件后有波形,幅值应该也是对的,你确认下 频率是否正确(我这里看不清楚)。
3. 请提供下 从 control center 选择要下载的固件开始,到下载完成 截止, BUS HOUND所抓取的log。而不是 BUS HOUND 的命令发送窗口。
我再看看70707,另外我已将BUS Hound抓的数据上传,在帖子最上面。时钟大约在50ns,19.2MHz的晶振,应该也没啥问题
我看了一遍70707没有发现什么大的问题,,,很郁闷啊
已发邮箱,谢谢!
你试下把 PMODE上的三个电阻换成小一点的行不行。
我将PMODE原先10K的电阻,该我1K的电阻,没有效果,情况和原来是一样的
你现在贴片的两片 FX3 是从哪个渠道购买的?是否能确保芯片本身没有问题?
另外,你这样测试下:
烧录固件到 EEPROM 里面,之后不改PMODE 设置,再向 RAM 里烧录 SDK 安装目录下的 UsbI2cDmaMode 这个工程。
这个工程实现 FX3 的I2C接口实现对外部设备读写功能。你可以 用 Control center 发送控制命令,将 EEPROM 里的内容读取出来,再和 前面烧录进去的固件进行对比。
附件是 读取 FLASH 的方法,I2C 的读取是类似的,你可以参考I2C DMA 工程下的readme.txt 获知具体该发什么命令。这一实验是检查 烧录进去的固件是否正确。
如果烧录进去的固件正确,再将 PMODE 设置为 I2C 启动,使用 USB2.0 的连接线,使用示波器 测量 D+ 和 D- 上从系统上电开始以后的波形,以供参考。