CYUSB3014-BZXI RAM烧写成功后 PC无法识别设备

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
QiXi_1252501
Level 2
Level 2
10 replies posted 5 replies posted First question asked

我设计了一个CYUSB3014的实验板,连接电脑后controlcenter可以显示BootLoader  ,烧写代码到RAM中,显示烧写成功,但是并没有重枚举。也就是说电脑没有任何反应,包括识别USB设备,或者装驱动之类的。  另外我烧写到ROM(24LC1025)中,显示烧写成功,然后跳线选择ROM启动,也同样没反应,这是什么原因呢?  烧写的软件,包括烧写ROM的软件也按照技术手册用elf文件转换ok了,是经过其他电路验证没有问题的。  我不清楚问题出在什么地方,该如何解决。

在烧写ROM的过程中,偶尔会找不到ROM,偶尔会烧写失败,但是根据以往的设计,ROM的配置是没有问题的。

pastedImage_0.pngpastedImage_1.pngpastedImage_2.pngpastedImage_3.pngpastedImage_4.png

0 点赞
1 解答
lock attach
Attachments are accessible only for community members.
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

你现在贴片的两片 FX3 是从哪个渠道购买的?是否能确保芯片本身没有问题?

另外,你这样测试下:

烧录固件到 EEPROM 里面,之后不改PMODE 设置,再向 RAM 里烧录 SDK 安装目录下的 UsbI2cDmaMode 这个工程。

这个工程实现 FX3 的I2C接口实现对外部设备读写功能。你可以 用 Control center 发送控制命令,将 EEPROM 里的内容读取出来,再和 前面烧录进去的固件进行对比。

附件是 读取 FLASH 的方法,I2C 的读取是类似的,你可以参考I2C DMA 工程下的readme.txt 获知具体该发什么命令。这一实验是检查 烧录进去的固件是否正确。

如果烧录进去的固件正确,再将 PMODE 设置为 I2C 启动,使用 USB2.0 的连接线,使用示波器 测量 D+ 和 D- 上从系统上电开始以后的波形,以供参考。

在原帖中查看解决方案

0 点赞
16 回复数
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

请上传下你的固件工程。

0 点赞

我已提交固件程序,但是我使用官方的slavefifo固件,也无法识别

0 点赞
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

我这边测试过你发来的固件,是可以在Cypress的Demo板上枚举成功的。

你手边是否还有其他的板子,能否用其他板子测试下?

0 点赞

刚找了个板子,也可以枚举成功,就是不清楚现在这个板子在电路设计方面出了什么问题,我这电路的设计就是参考以前设计的板子(刚试过枚举成功的那个),刚查了原理图,没什么区别,焊接了2块,都是这个问题。始终找不到原因,供电,什么的都量了,没找到问题。我是否可以把板子和PCB寄给你,帮我看看是什么问题?

0 点赞
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

你可以参考如下的思路(这里假设你的原理图设计都没有问题):

1. U1B是什么样的接口?请拍图片展示你是如何从U1B 连接到 PC的。

2. 检查下 板上的时钟在下载完固件后是否正常。

3. 抓下 USB 的通信包。

0 点赞

我将你所说的三个思路的结果,写到1.docx文档中了,麻烦看看,谢谢

0 点赞
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

没有附件。

--------------

看到了,你放在上面了。

0 点赞

7.jpg

0 点赞
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

从你提供的文档中

1. FX3 到 USB 接口部分看起来是好的,请你再对照 AN70707 部分检查下 没有涉及到的部分,看看是否有遗漏。

2. 从 时钟波形来看,下载固件后有波形,幅值应该也是对的,你确认下 频率是否正确(我这里看不清楚)。

3. 请提供下 从 control  center 选择要下载的固件开始,到下载完成 截止, BUS HOUND所抓取的log。而不是 BUS HOUND 的命令发送窗口。

0 点赞

我再看看70707,另外我已将BUS Hound抓的数据上传,在帖子最上面。时钟大约在50ns,19.2MHz的晶振,应该也没啥问题

0 点赞

我看了一遍70707没有发现什么大的问题,,,很郁闷啊

0 点赞
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

你的原理图和PCB文件方便在这里贴出吗?或者你可以发送到support_china@cypress.com. 我再检查下。

0 点赞

已发邮箱,谢谢!

0 点赞
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

你试下把 PMODE上的三个电阻换成小一点的行不行。

0 点赞

我将PMODE原先10K的电阻,该我1K的电阻,没有效果,情况和原来是一样的

0 点赞
lock attach
Attachments are accessible only for community members.
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

你现在贴片的两片 FX3 是从哪个渠道购买的?是否能确保芯片本身没有问题?

另外,你这样测试下:

烧录固件到 EEPROM 里面,之后不改PMODE 设置,再向 RAM 里烧录 SDK 安装目录下的 UsbI2cDmaMode 这个工程。

这个工程实现 FX3 的I2C接口实现对外部设备读写功能。你可以 用 Control center 发送控制命令,将 EEPROM 里的内容读取出来,再和 前面烧录进去的固件进行对比。

附件是 读取 FLASH 的方法,I2C 的读取是类似的,你可以参考I2C DMA 工程下的readme.txt 获知具体该发什么命令。这一实验是检查 烧录进去的固件是否正确。

如果烧录进去的固件正确,再将 PMODE 设置为 I2C 启动,使用 USB2.0 的连接线,使用示波器 测量 D+ 和 D- 上从系统上电开始以后的波形,以供参考。

0 点赞