打印
[USB驱动]

Cypress USB Console的使用

[复制链接]
3788|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在做USB的调试,芯片用的cy7c68013a,我想使用Cypress USB Console做一个bulkloop的测试,但是我装上驱动打开Cypress USB Console后,端点2和6的方向反了,此时我还没有下载固件,如图 而官方给的是端点2是OUT,端点6是IN ,且只能选这两个,当我修改固件下载后,管道选择还是这两个,这是什么问题啊,怎么解决

相关帖子

沙发
IoGAoy| | 2016-12-19 20:13 | 只看该作者
Endpoint的 In或Out方向、及需要使用的管道都是要要在固件及固件描述符中同时设置的,默认没有固件的话是不存在可选择管道的。
这个地方我猜测是板子上EEPROM内部有代码,上电后引导进了芯片。或者说你代码修改错了

使用特权

评论回复
板凳
阿甘童鞋|  楼主 | 2016-12-22 20:48 | 只看该作者
IoGAoy 发表于 2016-12-19 20:13
Endpoint的 In或Out方向、及需要使用的管道都是要要在固件及固件描述符中同时设置的,默认没有固件的话是不 ...

好的,谢谢,确实是eeprom原来有固件代码,我想问一下,你用labview的ni-visa做过cy7c68013的上位机没有,我把驱动安装成ni-visa的驱动后,cypress USB Console就无法识别这个usb芯片了,在网上还没找到装了ni-visa的驱动后下载固件的方法,win7 64位系统

使用特权

评论回复
地板
IoGAoy| | 2016-12-22 22:31 | 只看该作者
阿甘童鞋 发表于 2016-12-22 20:48
好的,谢谢,确实是eeprom原来有固件代码,我想问一下,你用labview的ni-visa做过cy7c68013的上位机没有 ...

没错,无法识别确实由于驱动程序不对导致的。安装ni-visa后,应该直接由Labview的驱动更新。
至于你想做的,我想一定是要通过某个面板去控制ez-usb,这时候console已经无法提供这个功能了。
那么唯一能满足你的要求的,只能是使用Labview自己做界面做程序。
大概简单介绍下,创建一个新的visa的IO类中的USB Raw。在Write/Read时务必设对Endpoint对应的地址,如OUT EP2,则地址为0x02;若IN EP6,则地址为0x86;地址的MSB代表IN或OUT。
很久没做过这个东西了,不太记得了,多在cypress官网找例子,看熟TRM,会很有帮助的。

使用特权

评论回复
5
阿甘童鞋|  楼主 | 2016-12-23 13:10 | 只看该作者
IoGAoy 发表于 2016-12-22 22:31
没错,无法识别确实由于驱动程序不对导致的。安装ni-visa后,应该直接由Labview的驱动更新。
至于你想做 ...

恩恩,谢谢。。。但是我最近在搞68013遇到一个问题比较困惑,就是68013使用slave fifo模式时,数据达到设置的字节数就会自动发送,如果需要发送数据短包(就是数据没达到设置的字节数时也上传),就需要给PKTEND引脚一个低脉冲去触发发送。。。。。但是我刚刚简单的做一个回环测试,上位机发数据EP2接收,然后在固件里通过程序让数据转移到EP6,上位机再读EP6的数据,这样就可以把刚才发送的数据读回来。。。。。我的疑惑就是我只发送了几个字节的字符串,就是说并没有达到我设置的自动发送的字节数,而且也没有用PKTEND这个引脚,为什么就可以把这个数据读回来呢

使用特权

评论回复
6
IoGAoy| | 2016-12-23 14:16 | 只看该作者
阿甘童鞋 发表于 2016-12-23 13:10
恩恩,谢谢。。。但是我最近在搞68013遇到一个问题比较困惑,就是68013使用slave fifo模式时,数据达到设 ...

PKT的用处你没有理解错。
关于你提出的,因为这样的Bulk Loop测试根本就不是Slave FIFO模式。
Slave FIFO 是由68013当作Slave,外部Master一般是FPGA或者其他单片机做主机,这个主机并不是PC;换句话说Slave模式是用于芯片间通信的,同样68013有GPIF,GPIF是当作Master使用。你这个测试是从上位机传递数据下至68013内部FIFO,也就是Endpoint FIFO 再由其他EP输出,这样的功能仅仅是EP的测试。

还是这句话,多看TRM呀

使用特权

评论回复
7
阿甘童鞋|  楼主 | 2016-12-23 16:49 | 只看该作者
IoGAoy 发表于 2016-12-23 14:16
PKT的用处你没有理解错。
关于你提出的,因为这样的Bulk Loop测试根本就不是Slave FIFO模式。
Slave FIFO ...

好的,我刚也发现了,cypress官网代码的注释好像错了,我对照手册看,实际上bulkloop是配置的端口模式。。。谢谢,还有一个问题就是我想再加上fpga做回环测试,但是好像出问题了,我就想问一下,上位机通过EP2发送数据,选择slave fifo模式,数据是不是直接就存到了EP2的fifo里,然后FPGA再去读取?fifo的实质是ram把,芯片在从新上电之后所有的fifo都是空的,不知道这样理解对不对

使用特权

评论回复
8
IoGAoy| | 2016-12-23 17:44 | 只看该作者
阿甘童鞋 发表于 2016-12-23 16:49
好的,我刚也发现了,cypress官网代码的注释好像错了,我对照手册看,实际上bulkloop是配置的端口模式。 ...

没错,补充一句,无论是否选择slave fifo模式,从上位机的数据一定且只能进入fifo

使用特权

评论回复
9
阿甘童鞋|  楼主 | 2016-12-23 21:03 | 只看该作者
IoGAoy 发表于 2016-12-23 17:44
没错,补充一句,无论是否选择slave fifo模式,从上位机的数据一定且只能进入fifo ...

我也在不断调试,发现问题在不断涌现啊,我用上位机发送一个字符4,但是fpga读出来的数据是4134h,低8位的34h,我理解是字符4的ascii码的十六进制表示,但是我不明白高8位的数是啥意思,我发不同的一个字符,高8位一直在变,低8位吻合

使用特权

评论回复
10
IoGAoy| | 2016-12-23 21:26 | 只看该作者
阿甘童鞋 发表于 2016-12-23 21:03
我也在不断调试,发现问题在不断涌现啊,我用上位机发送一个字符4,但是fpga读出来的数据是4134h,低8位 ...

建议上位机的数据类型搞成十六进制比较好,这种引起数据传输错误实在太多了,没办法一一赘述。用bulk loop先测试ep传输正确性,随后再去考虑fpga抓取的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

35

帖子

1

粉丝