搜索
bottom↓
楼主: Snailzhang

USB3.0的时代到来,一起围观CYPRESS的USB3.0芯片DEMO板!!

[复制链接]

出0入0汤圆

发表于 2011-10-26 09:54:16 | 显示全部楼层
好奇板子底部的铺铜,这都是一块一块画出来的么?

有区分这么多地么? 最近见过几块板子这么画,PROTEL?

出0入0汤圆

 楼主| 发表于 2011-10-26 10:26:12 | 显示全部楼层
回复【101楼】Astrom  子非鱼
-----------------------------------------------------------------------
QQ邮件已发出,请您查收。前期手上的片子不是很多,不过开发使用足够了!

出0入0汤圆

 楼主| 发表于 2011-10-26 10:28:07 | 显示全部楼层
回复【102楼】study_yu  
-----------------------------------------------------------------------
这颗芯片的资料相对还是比较丰富的,可以在本贴中参考 Beta -3的资料,你看了便明白了!

出0入0汤圆

 楼主| 发表于 2011-10-26 10:43:16 | 显示全部楼层
回复【104楼】hzd52044  
-----------------------------------------------------------------------
您好,现在layout一般有三种软件1>PROTEL (包括 Altium Designer 所有的产品)2>PADS(即之前的POWER PCB) 3>Cadence Allehgo
三种软件的使用范围:1>中国的小型民营企业,一般在小企业教老的工程师,还有就是一般大学毕业生,在南方小企业中运用的较多 2>中国中端企业比如:华为(手机事业部);手机设计行业用PADS软件较多。3>中高端企业使用,欧美企业和台企使用比较多。
这种比喻:
1>PROTEL 比喻成在一般的铁路铁轨上行驶的火车
2>PADS比喻成在动车的铁轨行驶的动车
3>Cadence Allegro比喻成在高铁铁轨上行驶的高铁
其中的特点我想大家会更明白。

出0入0汤圆

 楼主| 发表于 2011-10-26 10:45:05 | 显示全部楼层
回复【楼主位】Snailzhang  
-----------------------------------------------------------------------
附件为USB3.0的规范,如有需要的请下载!
点击此处下载 ourdev_688724NPU5DN.rar(文件大小:5.47M) (原文件名:usb_30_spec_072911.rar)

出0入0汤圆

发表于 2011-10-26 13:33:22 | 显示全部楼层
谢谢先。
正在读usb2.0的规范,问问usb3和usb2区别很大吗?如果调试,目前的计算机有usb3接口?

出0入0汤圆

发表于 2011-10-26 14:34:24 | 显示全部楼层
usb的规范还不太懂,特来学习下,有机会就买一片回去试试啊

出0入0汤圆

 楼主| 发表于 2011-10-26 14:36:00 | 显示全部楼层
回复【109楼】study_yu  
-----------------------------------------------------------------------
USB规范应该说大同小议,其实区别就是速度上的区别x10倍关系。现在有的电脑开始有USB3.0的借口,如果你电脑上还有空的PCIE接口,可以到网上买USB3.0的PCIE板卡。

出0入0汤圆

发表于 2011-10-26 22:26:53 | 显示全部楼层
回复【102楼】study_yu  
-----------------------------------------------------------------------

目前FX3的资料还相当少,只有:
1、DataSheet;
2、Layout Guide,据说很多人栽USB SS的layout上了;
3、IIC Boot ROM format,这个对IIC ROM的文件格式很有价值。
4、FX3 Manual,关于内核的部分写的糙的很;主要是介绍API和Firmware Lib的流程。
5、FX3 Lib API,内部API库的手册,好多事情也交代的很粗糙。
还有一两个手册,实用价值不太大。

剩下的就是SDK的FX3 Demo代码。
注释还算不错,但是好多关键的地方需要自己连猜带试的改,用的东西都是Demo里边抄,难找别的出处。

Cypress看起来不像要在近期内公开详尽底层资料。



回复【109楼】study_yu  
-----------------------------------------------------------------------

从Spec看,USB 3.0 Spec不是完全替代2.0的Spec,而是定义/更新了USB SS部分相关的内容。
完整的USB 3.0 = USB 3.0 Spec + USB 2.0 Spec两个手册。参考USB 3.0 Spec 1.3描述。

要想完全从Spec上弄清USB,必须从USB 2.0开始。
USB 3.0在2.0的HS链路之外定义了新的基于包转发的全双工差分串行链路,物理层和MAC层很多通常用户不可见的机制和USB 2中规定的内容相差甚远。但是用的时候是USB HS/SS共存的。

对上层应用来说,USB3和USB2用起来无本质区别,比如LibUSB,代码都可以不改。只不过需要注意一些细节。

出0入0汤圆

 楼主| 发表于 2011-10-27 16:40:24 | 显示全部楼层
开始说要给关注此帖的人一定的福利,现在已经决定开始做这块板子了,如果有需要的可以提前预定,提前预定的肯定会给你一定的惊喜!

出0入0汤圆

发表于 2011-10-27 17:06:01 | 显示全部楼层
回复【113楼】Snailzhang  
-----------------------------------------------------------------------

Cong. Go ahead. 特别注意Layout的相关问题。

注意跑Slave FIFO需要的资源,否则痛苦。

出0入0汤圆

 楼主| 发表于 2011-10-27 17:14:48 | 显示全部楼层
回复【114楼】dr2001  
-----------------------------------------------------------------------
目前的想法是先把这DEMO做出来,layout是第二版本的,就仅仅是这个板厂都是个很大的问题。投入在5-6W之间的,风险还是有的,但是保证PCB等各个方面的质量和原厂的DEMO的质量处于同等水平!
预定的人数决定一次做多少PCS!
USB3.0绝对是以后的主流,需要的抓紧了。
10.28-11.06 10天时间................

出0入22汤圆

发表于 2011-10-27 19:14:05 | 显示全部楼层
200左右 我可以预订一个,但是前提是拿回来要能动。

出0入0汤圆

发表于 2011-10-27 19:39:14 | 显示全部楼层
回复【115楼】Snailzhang  
-----------------------------------------------------------------------

只要是重新做板子,就要那么多钱,无论上SS与否。
考虑周全,认真布局,尝试一下SS也算对未来的开发积累一些经验。

FX3如果只有HS的话也算是不错的一个平台,至少是ARM的,比51的FX2开发爽快多了。
但这样的话,就不一定比HS的MCU,比如SAM3U,FreeScale的爽了。
定位比较难。

不知道想Demo什么?现在能Demo也就是SDK那些,本来FX3就没什么外设接口。
感觉最多就是带个S3AN这样的FPGA,做成一堆GPIO那样子。

USB 3.0因为向下兼容,怎么说都是主流。
USB SS因为嵌入式系统的处理能力限制,以及受到板卡,连接器,线材的设计、成本限制,只会在需要上百兆带宽的有限领域得到广泛应用。长期看,它受到光口,外置PCIe等的威胁。

出0入0汤圆

 楼主| 发表于 2011-10-27 20:13:30 | 显示全部楼层
回复【116楼】lixin91985  
-----------------------------------------------------------------------
200块搞不定的,光板子(板子难度有点大)就要100块一块,芯片要100多,其他都不算,这个难度有点大的。

出0入0汤圆

 楼主| 发表于 2011-10-27 20:18:57 | 显示全部楼层
回复【117楼】dr2001  
-----------------------------------------------------------------------
开始都是摸索阶段,先demo,然后再这块demo的基础上外接FPGA+DDR II SDRAM,或者加FPGA+FIFO等等,这一切都在实施。对图像采集,虚拟仪器等还是很有帮助的。
你的提议也是对的,我现在正尝试用ALLEGRO画这种高速的板子,我之前都是用PADS(power PCB)但是像这种板子,我觉得还是ALLEGRO还是合适这样的板子。

出0入0汤圆

发表于 2011-10-27 22:38:54 | 显示全部楼层
关键在于用合适的工具,算清参数,仿真通过。用什么工具搞PCB到是次要的,只要工具的差分走线功能和等长调节功能不要太差就行。
认真学习那个Layout Guide并且学习EVK板卡的Gerber。

准备做比EVK多加点料的开发板形式的东西啊,考虑上带DDR硬核的芯片吧。不过那就真的不便宜了。。。一般人也买不起玩。

出0入0汤圆

发表于 2011-10-28 07:23:07 | 显示全部楼层
usb3.0的差分信号也就5G,用什么工具画pcb我感觉是次要的。我同学做光模块,10G的差分线,照样用protel完成。阻抗的关键是要与pcb厂家联系,有他们给你相应的参数,找个大点的pcb厂家,都会提供支持。
  附件一些资料很大,所以没有看完。想问问demo板主要实现什么功能?是不是只有一个usb芯片,完成和计算机通信?
  目前cypress有没有usb3.0 phy芯片?

出0入0汤圆

发表于 2011-10-28 07:25:47 | 显示全部楼层
另外,建议做demo板时,也没必要和原厂一样。太多插座,成本也很高,用户用到的也不多,最好能简化一点

出0入0汤圆

 楼主| 发表于 2011-10-28 08:17:41 | 显示全部楼层
回复【122楼】study_yu  
-----------------------------------------------------------------------
打算只留一个120PIN的那种接口,另外二个不打算留下了......不然成本搞不起呀。

出0入0汤圆

 楼主| 发表于 2011-10-28 08:20:07 | 显示全部楼层
回复【120楼】dr2001  
-----------------------------------------------------------------------
所以嘛。先一步一步的走,一点一点的去完善,不能一次到位,IPHONE也有1,2,3,4,4s呢。呵呵.......
我问下dr2001能否留下联系方式如QQ.MSN等之类的呢?

出0入0汤圆

发表于 2011-10-28 08:41:33 | 显示全部楼层
回复【115楼】Snailzhang  
-----------------------------------------------------------------------

预订一块

出0入0汤圆

发表于 2011-10-28 08:50:16 | 显示全部楼层
即便用Samtech那种120Pin的QSE也不便宜,而且也不是那么好买。
2.0mm或者2.54mm的IDC是最方便的了;而且GPIF II信号最高就100M。或者用0.8mm的那种B2B的塑料插接件也行。

从CY的EVK图上看,也就是AC耦合电容和USB座的引脚需要对阻抗和电容处理一下,别的貌似也没特殊处理。重要的是计算。

出0入0汤圆

发表于 2011-10-28 09:18:11 | 显示全部楼层
问个诺诺的问题, 目前的USB2.0用的线,可以满足3.0的要求吗?

出0入0汤圆

发表于 2011-10-28 09:38:15 | 显示全部楼层
回复【127楼】zajia  
-----------------------------------------------------------------------

USB SuperSpeed要求整个链路,即主机(PC的Host控制器),主机插座,线缆,路由器,设备插座,设备均支持SS,并且驱动支持SS,才能发挥作用。
其中任意一个是HS(USB High Speed,通常意义下的“USB 2.0”),那么就只能按照HS跑。

所以你用HS线,只能跑在HS的速度上。

出0入0汤圆

发表于 2011-10-28 09:54:56 | 显示全部楼层
很想玩玩

出0入0汤圆

 楼主| 发表于 2011-10-28 12:33:39 | 显示全部楼层
回复【126楼】dr2001  
-----------------------------------------------------------------------
既然用120PIN的那种连接器,就保证能搞到的嘛(板子上母座,送公座),所以板子的生产成本很高。这种高速的东西,不管怎么搞,板子的价格就在那里,不会便宜很多的。

出0入0汤圆

 楼主| 发表于 2011-10-28 12:35:33 | 显示全部楼层
回复【128楼】dr2001  
-----------------------------------------------------------------------
dr2001,你要是想玩,我给你半价,另一半我出........

出0入0汤圆

 楼主| 发表于 2011-10-29 14:52:55 | 显示全部楼层
回复【楼主位】Snailzhang  
-----------------------------------------------------------------------
今天又重新开始测试了下USB3014的速度如下图:

(原文件名:1.JPG)
速度为105.4MB/S

(原文件名:2.JPG)
速度为111.8MB/S,在实际测试过程中达到过118.XMB/S。
可是跟协议上写的500(480)MB/S 还是相差比较远呀。
听说PCIE的1个line的都可以跑120MB/S,4个line 40XMB/S还要多.....
看来USB3.0的实际运用还是要一段时间,等intel 、microsoft原生支持USB3.0的时候,USB3.0 Device才有的搞头!
不知是Renesas 的USB3.0的HUB的问题,还是系统支持性的问题。
希望有好的测试方法,大家贴出来,一起探讨下!

出0入0汤圆

发表于 2011-10-29 18:23:10 | 显示全部楼层
FX3目前大家测试的结果大约都在100MiB左右。如果用Slave FIFO,OUT会略低,IN差不多。

Win7下用LibUSB + WinUSB可以试试4MiB一个请求,加上Fx3固件进行处理,可能会更好一些。

出0入0汤圆

发表于 2011-10-29 18:31:26 | 显示全部楼层
mark
2.0 还没用明白呢

出0入0汤圆

 楼主| 发表于 2011-10-30 14:23:30 | 显示全部楼层
回复【133楼】dr2001  
-----------------------------------------------------------------------
在WIN7 下用Renesas 的USB3.0HUB测的速度和XP下用Renesas的USB3.0的HUB速度差不多。
看样子,WIN7对USB3.0的兼容还不是很好。

出0入0汤圆

发表于 2011-10-30 18:05:01 | 显示全部楼层
回复【135楼】Snailzhang  
-----------------------------------------------------------------------

Win7也不是系统内核直接支持的USB3,这个需要等Win8或者之后的操作系统才行。

Linux的支持开始的相对比较早,但是因为没有十分普及,似乎效率不是太高。

出0入0汤圆

发表于 2011-10-31 08:50:15 | 显示全部楼层
cypress这些驱动,是否有源码开放?

出0入0汤圆

 楼主| 发表于 2011-10-31 09:32:03 | 显示全部楼层
回复【137楼】study_yu  
-----------------------------------------------------------------------

貌似驱动可以自己开发.....现在很多资料都还是Beta版,所以只能等正式资料下来,才知道具体是什么样子的。

出0入0汤圆

发表于 2011-10-31 11:58:30 | 显示全部楼层
自己开发驱动有点难,如果有源码作参考,可以节省很多时间

出0入0汤圆

发表于 2011-10-31 12:06:15 | 显示全部楼层
很不错啊

出0入0汤圆

发表于 2011-10-31 12:31:37 | 显示全部楼层
不错 有的话  可以考虑订一块

出0入0汤圆

 楼主| 发表于 2011-10-31 14:32:05 | 显示全部楼层
回复【楼主位】Snailzhang  
-----------------------------------------------------------------------
问了下NEC的FAE,他们的USB3.0的HUB使用过程中实际测试速度最高就是:240-260MB/S
在其官方网站上贴出来的也是200MB/S。
所以运用CYPRESS 的USB3.0的DEVICE达到120MB/S左右,已经很不错了。
USB3.0的HUB也是限制USB3.0速度的其中因素之一。
在PLX的官方网站上看到了PLX的USB3.0的HUB。
下图为其的框架结构和一些简要说明!

(原文件名:PLXUSB3.0HUB.jpg)
其声称可以达到400MB/S,不知道实际测试过程中到底能达到多少速度。
顺便贴上这个芯片的简要说明。

点击此处下载 ourdev_690299RMZY99.pdf(文件大小:98K) (原文件名:USB3380_Product_Brief_v1.3_17Aug11.pdf)

出0入0汤圆

发表于 2011-11-1 18:48:41 | 显示全部楼层
回复【142楼】Snailzhang  
-----------------------------------------------------------------------

Cypress论坛上已经有人说FX3 USB SS速度测试到220MiB/s了,具体的测试环境不明。、

目前不清楚FX3内部AHB的工作频率和数据宽度,否则可以估出来可实现的最大带宽。
由于FX3 DMA数据必须过系统内存,因此它可能是一个瓶颈。按照CY手册上说,GPIF II 100MHz PCLK 32Bits可实现的最大带宽是320MiB,也就是说,内部DMA-AHB要工作在200MHz @ 32Bit才能满足Host - GPIF II。
考虑到FX3 ARM 926EJ-S Core跑在200MHz,故猜测System Memory、ARM-AHB,DMA-AHB应该都是200MHz @ 32bit的。所以实际性能可能比320MiB略低。220MiB还应该能提升一些。

USB SS的HUB貌似主要是存储转发的机制,性能应该不至于拖后腿,10G以太网技术都挺成熟了,5G的应用出问题应该不至于。
USB Host Controller的性能可能会导致一定的瓶颈,而且,PCIe的Lane数量以及每个Lane的带宽都可能最终影响到USB SS的可用带宽。
另外就是驱动,系统的支持,再好的硬件赶上个RZ的系统也白搭。

现在貌似100MiB的水平是大家都能达到的,更高的还不知道需要什么环境使用什么技巧。

出0入0汤圆

发表于 2011-11-1 20:28:59 | 显示全部楼层
3.0的900毫安的供电较2.0的500是亮点,至于传输速度,有E-SATA在,个人不是很关注。

出0入0汤圆

 楼主| 发表于 2011-11-1 23:33:18 | 显示全部楼层
回复【143楼】dr2001  
-----------------------------------------------------------------------
后面的回复中看到,有人用SYNC FIFO模式下测试达到了300MB/S。
所以我先打电话给力NEC的FAE首先确认了我用的USB3.0HUB芯片的PCIE的版本,明确是PCIE-2.0(现在我还是怀疑)!
然后找PLX的一个USB3.0HUB进行测试,这一个行动还在进行中......ing.....
明天在仔细研究下该那些参数可以提高测试速度。
一下是在CYPRESS论坛中找到的测试速度达到300MB/S的截图!


Hello,

now I tested the FX3 Board in sync slave FIFO mode (80MHz PCLK) on a Gigabyte ga-790fxta-ud5 Mainboard. And the speed is nearly 300MB/s while BULK IN streaming with 16 packets per transfer. See screenshot. I think the Renesas host controller is connected via PCIe 2.0 on this board. On my office HP Compaq 6000 pro PC it seems to be only PCIe 1.0 connection.

出0入0汤圆

发表于 2011-11-2 08:15:53 | 显示全部楼层
如果是在Win下,不妨考虑以下参数:
FX3侧:
1、USB Burst Transfer要允许,开到MAX 16Packets。这个要修改描述符表和EP设置至少这两个地方。
2、DMA Buffer多开几个,保证这里不会堵塞。
3、Sync Slave FIFO,90MHz,32Bit Mode。(主要是100MHz 32it据说FW有Bug,不能用19.2M晶体。)

PC侧:
1、使用异步IO,玩命堆请求。
2、每个请求使用大包,Windows的最大包是4MiB。
最好查看一下那个PC侧界面的代码,看看用什么参数发的。

出0入0汤圆

发表于 2011-11-2 08:36:46 | 显示全部楼层
用过Cadence Allegro,玩过FX2,Xilinx的FPGA也比较熟,还有什么DDR2也挂过,楼主需要帮助的话可以联系我;
QQ: 64二9叁五五四3

出0入0汤圆

 楼主| 发表于 2011-11-2 08:46:33 | 显示全部楼层
回复【146楼】dr2001  
-----------------------------------------------------------------------
在仔细分析下FX3的FW,多测试几个板卡,看看到底USB3.0能跑多少。
我希望,USB3.0能达到其理论的80%,就足够了.........
能留个联系方式嘛?好好的讨论下........

出0入0汤圆

发表于 2011-11-2 09:13:03 | 显示全部楼层
回复【148楼】Snailzhang  
-----------------------------------------------------------------------

如果那个300MiB/s的结果,是单向Sync Slave FIFO的测试结果的话,那就已经相当好了。而且他用的80M PCLK。
指:使用Sync Slave FIFO模式,PC单向传送数据,EP OUT发送或者EP IN读取。

FX3手册上已经说了,GPIF II设计吞吐率是320MiB/s @ 100MHz 32Bit Sync Slave FIFO。

出0入0汤圆

 楼主| 发表于 2011-11-2 10:13:58 | 显示全部楼层
回复【149楼】dr2001  
-----------------------------------------------------------------------
如果单向能达到300MB/S,对于很多场合足够使用了.......

出0入0汤圆

发表于 2011-11-3 20:32:27 | 显示全部楼层
最近接了个高速采集板的项目,双向通讯,要求至少22mb/s的传输速率(下限,最好能40-60mb/s),第一次做这个,还是一个人做,我觉得用USB2.0很难实现啊,所以想到了用USB3.0。不过查了一下,发现Cypress的3.0芯片国内买不到啊,悲剧。。。不知道大家有好的建议不

出0入0汤圆

发表于 2011-11-4 08:49:04 | 显示全部楼层
回复【151楼】lizardno1  
-----------------------------------------------------------------------

尽量用已经成熟的方案实现,FX3现在应该说是在趟雷阶段,SS自己做搞成功的目前据说不多。

如果用FX3建议联系CY的Sales,他们会帮你联系到分销商,目前该芯片正在量产过程中,可以拿到ES作为测试。急用的话建议暂时不选择FX3。

出0入0汤圆

发表于 2011-11-4 08:55:22 | 显示全部楼层
回复【145楼】Snailzhang
回复【143楼】dr2001   
-----------------------------------------------------------------------
后面的回复中看到,有人用sync fifo模式下测试达到了300mb/s。
所以我先打电话给力nec的fae首先确认了我用的usb3.0hub芯片的pcie的版本,明确是pcie-2.0(现在我还是怀疑)!
然后找plx的一个usb3.0hub进行测试,这一个行动还在进行中......ing.....
明天在仔细研究下该那些参数可以提高测试速度。
一下是在cypress论坛中找到的测试速度达到300mb/s的截图!
hello,
now i tested the fx3 board in sync slave fifo mode (80mhz pclk) on a gigabyte ga-790fx......
-----------------------------------------------------------------------

PCI-E 1.0的最高速度是2.5Gbps(8b/10b解码后是250MB/S),再转USB3.0当然会限制fx3的速度,PCI-E2.0的速度翻倍

出0入0汤圆

 楼主| 发表于 2011-11-4 09:25:10 | 显示全部楼层
回复【151楼】lizardno1  
-----------------------------------------------------------------------
用USB2.0实现有点难度的,SS实现起来很轻松,不过需要在等段时间.......

出0入0汤圆

发表于 2011-11-4 09:39:50 | 显示全部楼层
正在学习USB3.0的开发,现在市面上只有这一款USB3.0的芯片,那就是CYPRESS的cyusb3014。USB3.0的开发要比2.0的复杂许多,增加了ARM926E内核,增加了实时操作系统,又是BGA封装,不容易啊!

出0入0汤圆

发表于 2011-11-4 09:46:16 | 显示全部楼层
关于CYUSB3014的传输速度,我这里有几个数据提供给大家(当然是有依据的了,不会瞎说的)
1、一般的测试速度能达到120MByte/S,当然这和主板、PCI-E转换卡等因素有关。
2、最近有记录的测试速度是220MByte/S,还是用PCI-E的转换卡,只不是2.0的卡。
3、按照官方估计,如果本地芯片组支持的话,可以达到330MByte/S,不过,这可能是明年的事情了。

             cyusb3014

出0入0汤圆

发表于 2011-11-4 10:02:57 | 显示全部楼层
楼主的开发板不错,我这也有一块,也有SCH或者GERBER文件。我们可以做一个自己的USB3.0的开发板,只是我来晚了这里,如果早点来,一定发起一个活动,做一个咱们广大网友负担得起的USB3.0的开发板。如果后来者有兴趣,可以站内联系我,大家一起讨论学习USB3.0的技术。

出0入0汤圆

发表于 2011-11-4 22:19:53 | 显示全部楼层
回复【152楼】dr2001  
-----------------------------------------------------------------------

回复【154楼】Snailzhang  
-----------------------------------------------------------------------

非常感谢!现在觉得还是先上USB2.0
同时再买块3.0的发卡板,时间够的话做点尝试

出0入0汤圆

发表于 2011-11-5 00:46:20 | 显示全部楼层
mark!!

出0入8汤圆

发表于 2011-11-5 20:46:22 | 显示全部楼层
不错,有点意思

出0入0汤圆

发表于 2011-11-11 09:17:44 | 显示全部楼层
mark!!

出0入0汤圆

 楼主| 发表于 2011-11-15 19:46:14 | 显示全部楼层
回复【楼主位】Snailzhang  
----------------------------------------------------------------------
大家看看一下几张图片看看,是不是我测试错了呀。

竟然达到了512MB/S,超出理论? (原文件名:USB3.0测速3.JPG)


(原文件名:USB3.0测速4.JPG)


(原文件名:USB3.0测速5.JPG)


(原文件名:USB3.0测速6.JPG)


(原文件名:USB3.0测速7.JPG)
顺便贴上测试的程序的IMG文件和C++的测试软件,请大家验证下。
点击此处下载 ourdev_695581FHKAA6.rar(文件大小:69K) (原文件名:测试文件.rar)

出0入0汤圆

发表于 2011-11-15 21:19:28 | 显示全部楼层
我去 这数据真的假的。。。

出0入0汤圆

发表于 2011-11-15 22:15:30 | 显示全部楼层
回复【162楼】Snailzhang  
-----------------------------------------------------------------------

不太你测试清楚用的什么原始Demo修改的?

如果是用Manual DMA,Source Sink Demo改的,测试结果应该比较低才对。这里速度低的原因是每个Buffer需要手工Drop,不能自动完成。

软件界面已经说了,Windows Driver的数据传输大小是4MiB。为了冲速度,程序可能试图提交大缓冲,也许程序是拿你试图提交的数据算的流量,实际上是按照4MiB跑的。检查程序吧。
Windows下可以直接用Process Explorer看IO吞吐量,基本准确。

检测吞吐量最好的办法是Slave FIFO,直接示波器看波形。

出0入0汤圆

发表于 2011-11-21 14:30:39 | 显示全部楼层
回复【楼主位】Snailzhang  
-----------------------------------------------------------------------

非常感谢楼主的慷慨!
因为我目前没有这个开发板,供应商说得一周后才能给我找一个,还只能提供一两天时间,晕哪!
不知道这个板子哪里能买到?我现在在北京,如果可以告知个方法。

另外,有点不是太明白,请教一下:usb3连接线最长能到多少米?我很关心这个参数。
我在规范中没有看到具体的数据,看其意思是跟Cable的参数有关,但是目前市面最多是1.5m和3m,
如果要更长不知如何操作?

非常感谢!

出0入0汤圆

发表于 2011-11-21 14:34:41 | 显示全部楼层
回复【34楼】Snailzhang  
-----------------------------------------------------------------------

好啊,算我一个,我正在进行中,不过暂时没法保证时间哪天能搞定。

出0入0汤圆

发表于 2011-11-21 14:36:01 | 显示全部楼层
回复【132楼】Snailzhang  
-----------------------------------------------------------------------

能否提供一下测试软件的代码?以便能学习参考。
谢谢!

出0入0汤圆

发表于 2011-11-21 14:39:20 | 显示全部楼层
刚刚听说供应商送样品过来,不知道这圣物如何

出0入0汤圆

发表于 2011-11-29 09:33:33 | 显示全部楼层
回复【164楼】dr2001
-----------------------------------------------------------------------

回复【164楼】dr2001  
-----------------------------------------------------------------------
问各位一个问题:
本工程的思路是:在UART的二个socket,CY_U3P_LPP_SOCKET_UART_PROD和CY_U3P_LPP_SOCKET_UART_CONS,通过CY_U3P_DMA_TYPE_MANUAL_OUT和CY_U3P_DMA_TYPE_MANUAL_IN的模式使数据正常的传输,但是已经修改过多次也试验过多次,本工程还是没有正常的跑起来,请高手们指点下迷津。
以下是程序的重点部分:
第一部分,进程事件处理部分
void
UartThread_Entry(uint32_t input)
{
        CyU3PDmaBuffer_t        FX3UartDmaBuffer,UartOutBuffer;
        CyU3PReturnStatus_t        apiRetstatus;
        //Initialize the UART Example application
        CyFxUartAppInt();
        //CyU3PMemSet(FX3UartDmaBuffer.buffer,0x32,CY_FX_UART_DMA_BUF_SIZE);
        for(;;)
        {
                if(CyU3PSemaphoreGet(&UartDmaSemaphore,CYU3P_WAIT_FOREVER)== 0 )
                {
                //CyU3PMemSet(FX3UartDmaBuffer.buffer,3,CY_FX_UART_DMA_BUF_SIZE);
                if (CyU3PDmaChannelGetBuffer (&UartDmaChHandleIn, &FX3UartDmaBuffer,CYU3P_NO_WAIT) == CY_U3P_SUCCESS)
                {
                        if(CyU3PDmaChannelGetBuffer (&UartDmaChHandleOut, &UartOutBuffer,CYU3P_WAIT_FOREVER) == CY_U3P_SUCCESS)
                        {
                                CyU3PMemCopy (UartOutBuffer.buffer, FX3UartDmaBuffer.buffer, FX3UartDmaBuffer.count);

                                apiRetstatus=CyU3PDmaChannelCommitBuffer(&UartDmaChHandleOut,FX3UartDmaBuffer.count,0);
                                if(apiRetstatus != CY_U3P_SUCCESS)
                                {
                                        CyFxAppErrorHandler(apiRetstatus);
                                }
                        }
                }
                apiRetstatus = CyU3PDmaChannelDiscardBuffer (&UartDmaChHandleIn);
                if(apiRetstatus != CY_U3P_SUCCESS)
                {
                        CyFxAppErrorHandler(apiRetstatus);
                }

                CyU3PThreadSleep(100);
                }
        }
};
第二部分:二个DMA通道的初始化部分
//configure DMA channel Manual In
                                dmacfg.size                        =        CY_FX_UART_DMA_BUF_SIZE;
                                dmacfg.count                =        2;
                                dmacfg.consHeader        =        0;
                                dmacfg.prodFooter        =        0;
                                dmacfg.prodHeader        =        0;
                                dmacfg.dmaMode                =        CY_U3P_DMA_MODE_BYTE;
                                dmacfg.consSckId        =        CY_U3P_CPU_SOCKET_CONS;//ENGRESS
                                //dmacfg.consSckId        =        CY_U3P_LPP_SOCKET_UART_CONS;//ENGRESS
                                //dmacfg.prodSckId        =        CY_U3P_LPP_SOCKET_UART_PROD;//INGRESS
                                dmacfg.prodSckId        =        CY_U3P_LPP_SOCKET_UART_PROD;//INGRESS
                                dmacfg.notification        =        CY_U3P_DMA_CB_PROD_EVENT;
                                dmacfg.cb                        =        CyFxUartDmaCallback;
                                //dmacfg.cb                        =        NULL;
                                dmacfg.prodAvailCount=        0;
                        //Manual Channel
                        //apiRetstatus = CyU3PDmaChannelCreate(&UartDmaChHandle,CY_U3P_DMA_TYPE_MANUAL,&dmacfg);
                        //Manual out Channel
                        apiRetstatus = CyU3PDmaChannelCreate(&UartDmaChHandleIn,CY_U3P_DMA_TYPE_MANUAL_IN,&dmacfg);
                        //
                        if(apiRetstatus != CY_U3P_SUCCESS)
                        {

                                CyFxAppErrorHandler(apiRetstatus);
                        }
        //configure DMA channel Manual Out
                //dmacfg.size                        =        CY_FX_UART_DMA_BUF_SIZE;
                dmacfg.count                =        2;
                dmacfg.consHeader        =        0;
                dmacfg.prodFooter        =        0;
                dmacfg.prodHeader        =        0;
                dmacfg.dmaMode                =        CY_U3P_DMA_MODE_BYTE;
                dmacfg.consSckId        =        CY_U3P_LPP_SOCKET_UART_CONS;//ENGRESS
                //dmacfg.consSckId        =        CY_U3P_LPP_SOCKET_UART_CONS;//ENGRESS
                //dmacfg.prodSckId        =        CY_U3P_LPP_SOCKET_UART_PROD;//INGRESS
                dmacfg.prodSckId        =        CY_U3P_CPU_SOCKET_PROD;
                //dmacfg.notification        =        CY_U3P_DMA_CB_PROD_EVENT;
                //dmacfg.cb                        =        CyFxUartDmaCallback;
                dmacfg.cb                        =        NULL;
                dmacfg.prodAvailCount=        0;
        //Manual Channel
        //apiRetstatus = CyU3PDmaChannelCreate(&UartDmaChHandle,CY_U3P_DMA_TYPE_MANUAL,&dmacfg);
        //Manual out Channel
        apiRetstatus = CyU3PDmaChannelCreate(&UartDmaChHandleOut,CY_U3P_DMA_TYPE_MANUAL_OUT,&dmacfg);
        //
        if(apiRetstatus != CY_U3P_SUCCESS)
        {

                CyFxAppErrorHandler(apiRetstatus);
        }
请高手们务必指点下。
在挂上整个工程的文件:
点击此处下载 ourdev_699996RCKO4X.rar(文件大小:560K) (原文件名:FX3UartDmaMode.rar)

出50入0汤圆

发表于 2011-11-29 10:34:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-1 13:11:52 | 显示全部楼层
回复【165楼】shaoqi  
-----------------------------------------------------------------------

USB 3.0线缆长度需要这样考虑:
1、标准没有规定单纯支持SS模式的电缆,因此,电缆必须支持HS/FS。
2、根据USB 3.0 Spec 5.5.7节,SS的线缆长度未做规定。信号线对衰减小,电源线对粗的线缆就可以比较长。SS是全双工的。
3、考虑到支持HS的半双工链路,因此线缆长度有限制。

基本就是这个意思。



回复【170楼】yuzr  
-----------------------------------------------------------------------

具体例程请参考SDK相关内容。
请特别注意,UART开DMA后,外部输入到DMA的数据不满一个Buffer,是可能没有事件发生的。

出0入0汤圆

 楼主| 发表于 2011-12-1 14:23:47 | 显示全部楼层
回复【171楼】dr2001  
-----------------------------------------------------------------------

这个问题,我已经意识到了,我发送了一个很长的文本,在正常的AUTO和MANUAL模式下都可以正常的工作,就是在MANUAL_OUT和MANUAL_IN的情况下,没有反应。请具体的指点下.......

出0入0汤圆

发表于 2011-12-1 17:12:20 | 显示全部楼层
问两个问题:
1、linux环境下,支持usb3.0 burst transfer 吗?
2、linux环境下,如果使用异步iso传输,大家现在测试的速率大概多少?
谢谢!

出0入0汤圆

发表于 2011-12-2 15:56:10 | 显示全部楼层
太帅了,以后有机会要玩下

出0入0汤圆

发表于 2011-12-8 16:46:02 | 显示全部楼层
回复【162楼】Snailzhang  
回复【楼主位】snailzhang  
----------------------------------------------------------------------
大家看看一下几张图片看看,是不是我测试错了呀。
----------------------------------------------------------------------

下图是我测试的你的固件,竟然达到600MB/s,显然是有问题的!

想问一下你的固件都改动了什么地方?


600MB (原文件名:USB3.0测速600MBps.jpg)

出0入0汤圆

发表于 2011-12-8 23:08:08 | 显示全部楼层
别沉啊

出0入0汤圆

 楼主| 发表于 2011-12-9 09:39:18 | 显示全部楼层
回复【175楼】xiao_qi  奇奇
-----------------------------------------------------------------------
你用C#和C++二个测试软件,测试的结果不一样,可能是C++那个程序有问题吧。具体的还没有确定.......
等你研究明白了,发个帖子出来........

出0入0汤圆

发表于 2011-12-9 09:50:44 | 显示全部楼层
回复【177楼】Snailzhang  
-----------------------------------------------------------------------

  The default example is not optimised for performance in USB 3.0, in order to get
  better perfomance the following changes has to be done.
  1. Have only 1 endpoint (IN or OUT) This avoids any USB host bandwidth issues.

  2. Update the "Max. no. of packets in a Burst" field (1 to 15)in the "Super Speed
     Endpoint Companion Descriptor" in cyfxbulkdscr.c.

  3. In cyfxbulksrcsink.c change the dmaBulkSrcSinkConfig.size by factor of ("Max. no. of
     packets in a Burst" field in the "Super Speed Endpoint Companion Descriptor" + 1) for
     USB 3.0

  4. In cyfxbulksrcsink.c change endPointConfig.burstLen to "Max. no. of packets in
     a Burst" field in the "Super Speed Endpoint Companion Descriptor" + 1, before
     calling CyU3PSetEpConfig.

请教一下,这4个优化中,第3个你怎么改的?

出0入0汤圆

 楼主| 发表于 2011-12-9 10:46:27 | 显示全部楼层
回复【178楼】xiao_qi  奇奇
-----------------------------------------------------------------------
  if (txApiRetStatus == CY_U3P_SUCCESS)
        {
            /* Based on the Bus Speed configure the DMA buffer size */
            if (glUsbSpeed == CY_U3P_FULL_SPEED)
            {
                dmaBulkSrcSinkConfig.size = 64;
            }
            else if (glUsbSpeed == CY_U3P_HIGH_SPEED)
            {
                dmaBulkSrcSinkConfig.size = 512;
            }
            else if (glUsbSpeed == CY_U3P_SUPER_SPEED)
            {
                dmaBulkSrcSinkConfig.size = 15360;
                CyU3PDebugPrint (4, "USB Connect SS");
            }
            else
            {
                /* Error Handling */
                CyU3PDebugPrint (4, "Error! USB Not connected\n");
                CyFxAppErrorHandler(CY_U3P_ERROR_INVALID_CONFIGURATION);
            }

出0入0汤圆

发表于 2011-12-9 11:14:18 | 显示全部楼层
回复【179楼】Snailzhang  
-----------------------------------------------------------------------

我也是这么改的,但是加载固件后就没反应了。

又试着改了其他地方都不好使,郁闷啊!除了这个地方还有其他要改的吗?

出0入0汤圆

 楼主| 发表于 2011-12-9 12:54:40 | 显示全部楼层
回复【180楼】xiao_qi  奇奇
-----------------------------------------------------------------------
点击此处下载 ourdev_703043KEM05D.rar(文件大小:575K) (原文件名:cyfxbulksrcsink.rar)
下载我修改好的固件。

出0入0汤圆

发表于 2011-12-9 14:59:30 | 显示全部楼层
回复【181楼】Snailzhang  
-----------------------------------------------------------------------

原来是其中的数据填充溢出造成的。

我现在测试的bulk in到220MB/s的速度,但很不稳定,而且有时会将计算机干蓝屏

出0入0汤圆

 楼主| 发表于 2011-12-9 15:45:09 | 显示全部楼层
回复【182楼】xiao_qi  奇奇
-----------------------------------------------------------------------
其实USB3.0的实际速度测试还是可以在搞下的......我还没有测试出来.

出0入0汤圆

发表于 2011-12-14 11:31:56 | 显示全部楼层
USB3.0 ,cypress的板子,大赞一下,可以现在英特尔的主板对于USB3.0支持的不是很好....开发起来不是像2.0这么给力~不过cy的板子还是很给力的哈~usb3.0和thunderbolt也不知道结果会怎么样哈~

出0入0汤圆

 楼主| 发表于 2012-1-10 21:40:18 | 显示全部楼层
CYPRESS USB3.0的正式资料已经出来了和测试版的资料差别还是有点的,不过主体还是一样的。如果需要的到CYPRESS的官方网上去下。
http://www.cypress.com/?rID=57990

出0入0汤圆

发表于 2012-1-11 08:56:20 | 显示全部楼层
mark 顶起。

出0入0汤圆

发表于 2012-1-11 11:10:01 | 显示全部楼层
回复【185楼】Snailzhang  
-----------------------------------------------------------------------

SDK 1.0基本内容没动,但是IO Matrix的配置多了一个LPP Mode,需要认真配置一下,否则启动不能。
别的基本没什么变化。

出0入0汤圆

 楼主| 发表于 2012-1-11 12:31:20 | 显示全部楼层
回复【187楼】dr2001  
-----------------------------------------------------------------------
在DOC文档中,说明的更详细了,很多之前没有说的说明,在文档中有比较详细的说明。

出0入0汤圆

发表于 2012-1-15 16:36:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-15 22:40:53 | 显示全部楼层
前几天接到一个上海代理商的电话
说现在主要还是推2.0,
3.0的样片都是工程样片

出0入0汤圆

 楼主| 发表于 2012-1-16 08:43:58 | 显示全部楼层
回复【190楼】Jigsaw  
-----------------------------------------------------------------------
现在CYPRESS 的USB3.0的芯片已经量产了......我这边是原厂的代理,可能信息比较全面些!

出0入0汤圆

发表于 2012-1-16 09:12:25 | 显示全部楼层
CY网站上报价都登出来了,还问代理啊。-_b

千片批发价好象是24块多,一点都不便宜。

出0入0汤圆

发表于 2012-1-16 11:23:29 | 显示全部楼层
USB3.0,帅气啊

出0入0汤圆

发表于 2012-1-16 13:40:33 | 显示全部楼层
回复【173楼】ft_sss  
-----------------------------------------------------------------------

1、Linux Kernel驱动看起来用的是XHCI 0.95协议实现,对Burst有一定支持。

2、基于不严谨的测试,从Bulk传输速率上看,Linux是支持Burst的。但此不意味着Linux对USB SS特性的完整支持,特别是用户态用USBFS/LibUSB进行访问的情况下。

3、似乎Linux对ISO传输仅有有限支持,特别是用LibUSB的情况下。对此的评估性测试结果显示不乐观。后来没进行深入测试。

出0入0汤圆

发表于 2012-1-19 10:57:47 | 显示全部楼层
淘宝上卖的USB3.0开发板空PCB要500大洋一片啊,8层板
烧不起啊

出0入0汤圆

发表于 2012-1-19 22:13:37 | 显示全部楼层
先记下

出0入0汤圆

发表于 2012-2-3 10:12:24 | 显示全部楼层
usb3.0的host和device的兼容性似乎存在问题
我手上有两款host controller,一款是ASMedia的xHCI,一款是VIA的xHCI,
使用CY的slfifosync,
ASMedia的xHCI在某些情况下会出现传输数据错误,
VIA的xHCI就没有问题。
cypress的官方论坛上也有人说使用ASMedia的xHCI出现问题。
目前无法确定真的是兼容问题还是ASMedia的xHCI有bug。

出0入0汤圆

发表于 2012-2-13 17:51:38 | 显示全部楼层
2k 楼来了 呵呵

出0入0汤圆

发表于 2012-2-14 08:29:16 | 显示全部楼层
回复【197楼】byeyear  
-----------------------------------------------------------------------

用Linux试试看,Linux内核现在是0.95 XHCI的实现,对所有的控制器都是一样的。
如果差很多,那就说明硬件链路存在不兼容的现象,当然也有可能是线缆的问题。

FX3的ES芯片在OUT EP的时候,Burst似乎有点配置问题,感觉是窗口计数器有Bug。测试极限速度用IN方向测试。

出0入0汤圆

发表于 2012-2-15 18:33:30 | 显示全部楼层
顶起 好东西

出0入0汤圆

发表于 2012-2-23 23:11:29 | 显示全部楼层
回复【7楼】jianchangd
-----------------------------------------------------------------------

3.0向下兼容2.0的,我买的一个3.0U盘在2.0的电脑下比一般的都快

出0入0汤圆

发表于 2012-3-25 12:38:15 | 显示全部楼层
支持楼主.楼主做板子的话算我定一套.

出0入0汤圆

发表于 2012-4-27 09:11:37 | 显示全部楼层
请问:
USB3.0(CYUSB3014)接PC端USB2.0接口,可以吗?
CYUSB3014自动识别支持,还是需要改变CYUSB3014内部程序才支持USB2.0接口?
谢谢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 00:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表