完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用FPGA + FX3+ SLAVEFIFO测试传输数据到PC的速度。
但是速度是6Mb/s,所以速度慢,固件使用SLaveFiFrimc。 发生什么问题了吗? 那么有没有解决办法呢? 以上来自于百度翻译 以下为原文 I use the fpga+fx3+slavefifo to test the speed of transfer data to PC. but the speed is 6MB/s,so slow,the firmware is use the SlaveFifoSync. Any problem happened? so there is any solutions to fixed it? |
|
相关推荐
25个回答
|
|
你好,
在创建DMA通道的代码的一部分中,更改从手动到自动的DMA传输类型。例如 改变 ApIdReStase= CYU3PDMACHANNEL CREATION(&GLCHANDACLE LIFOPPOTH,CYUU3PYDMAX Type手册,和DMACFG); 到 ApIdReStase= CYU3PDMACHANNEL CREATION(&GLCHANDACLE LIFOPPOTH,CYUU3PYDMAX Type AUTO,和DMACFG); 我很想知道你的速度是多少。 索达法尔 以上来自于百度翻译 以下为原文 Hi, In the part of the code that creates a DMA channel change the type of DMA transfer from manual to auto. For example change apiRetStatus = CyU3PDmaChannelCreate (&glChHandleSlFifoPtoU, CY_U3P_DMA_TYPE_MANUAL, &dmaCfg); to apiRetStatus = CyU3PDmaChannelCreate (&glChHandleSlFifoPtoU, CY_U3P_DMA_TYPE_AUTO, &dmaCfg); I would be interested to know what speed you get. Sodafarl |
|
|
|
我有一位从FIFO回送配置使用Windows7和NEC UPD 720202主机适配器实现了七八MB / s的。
不过,这是远低于理论可能。有人测得多了,能给一些提示如何提高性能?谢谢。 -西尔维奥 以上来自于百度翻译 以下为原文 I have achieved 78 MB/s for a 32 Bit slave fifo loopback configuration using Windows 7 and NEC uPD 720202 host adapter. Still, this is far below the theoretical possible. Has somebody measured more than that and is able to give some hints how to improve the performance? Thanks. -Silvio |
|
|
|
我~ 300MB/s的FX3 PC,与从属FIFO,32位,自动模式,每爆16包和80 MHz PCLK在AMD板载NEC控制器。结合PCIe 1.1插槽PCIe主机控制器到惠普办公系统相同的硬件,速度只有~ 180mb/s。
以上来自于百度翻译 以下为原文 I got ~300MB/s from FX3 to PC, with slave fifo, 32 bit, auto-mode, 16 packets per burst and 80 MHz PCLK on an AMD board with on-board NEC controller. Connecting the same hardware to a HP office system with PCIe host controller in a PCIe 1.1 slot, the speed is only ~180MB/s. |
|
|
|
索达法尔
谢谢你!现在速度是36M/s Chris R.每爆16包?我在PCIE 1.1插槽中使用PCIE主机控制器,但不能用USP3.0检测到FX3。所以速度仍然是36M/s。 以上来自于百度翻译 以下为原文 Sodafarl thank you for eveything ! now the speed is 36M/s. Chris R. 16 packets per burst? I use the PCIe host controller in a PCIe 1.1 slot,but fx3 can not be detected by u***3.0. so the speed is still 36M/s . |
|
|
|
好的,现在速度是80M/s,但它不稳定。有时它可以被检测为UB3.0有时不。
以上来自于百度翻译 以下为原文 OK,now the speed is 80M/s.but it dit't stable.sometimes it can be detected as u***3.0 sometimes not. |
|
|
|
克里斯,你能指定你正在使用的AMD板的P/N吗?
如果指定16的突发长度而不是1,它是否有区别?我的PCIE NEC USB主机控制器不再识别FX3,如果我使用突发长度为16,而机载ASMIVER控制器则: 谢谢你告诉我。 -西尔维奥 以上来自于百度翻译 以下为原文 Chris, can you please specify the P/N of the AMD board you are using? Does it make a difference if you specify burst length of 16 instead of 1? My PCIe NEC USB host controller doesn't recognise the FX3 anymore if i use burst lenght of 16, while the on-board ASmedia controller does :-( Thanks for letting me know. -Silvio |
|
|
|
如果你用16包每破裂而你得到更高的速度,但你必须建立在正确的描述符,DMA配置等。300MB/s我技嘉ga-790fxta-ud5板与NEC控制器是运行Windows XP。我假设控制器通过PCIE 2连接到那里。
以上来自于百度翻译 以下为原文 You get much more speed if you use the 16 packets per burst instead of one, but you have to set up this correctly in the descriptors, the dma config and so on. The 300MB/s I got on a Gigabyte GA-790FXTA-UD5 board with NEC controller even running Windows XP. I assume the controller is connected via PCIe 2.0 there. |
|
|
|
谢谢克里斯的详细信息。现在我已经分别测试了上下带宽,而不是使用回环配置。结果是,上游(FX3到PC)I约为270 Mb/s,而DOWSWROW(PC到FX3)仅80 Mb/s。
你在下游测量什么?你也测试了回环配置吗?谢谢。 -西尔维奥 以上来自于百度翻译 以下为原文 Thanks Chris for detailled info. Now I've tested upstream and downstream bandwidth separately instead of using a loopback configuration. The outcome is that upstream (FX3 to PC) I get about 270 MB/s while donwstream (PC to FX3) only 80 MB/s. What do you measure downstream? And have you tested a loopback configuration as well? Thanks. -Silvio |
|
|
|
你好,
克里斯R你使用什么来测量带宽。如果在描述文件中正确地配置了突发长度,那么突发长度值等于n+1,其中n是突发长度数,所以如果你想要一个突发包长度为4,则设置n=3。然而,当配置主源文件中的端点时,包突发长度等于n,因此如果需要4,则n=4。 索达法尔 以上来自于百度翻译 以下为原文 Hi, Chris R what application are you using to measure the bandwidth. Take the point about the burst length being configured correctly as in the descriptor file the burst length value is equal to n + 1 where n is the burst length number so if you want a burst packet length of 4 you set n = 3. However when configuring the endpoints in the main source file the packet burst length is equal to n so if you want 4, n = 4. Sodafarl |
|
|
|
我使用了自己的基于WiUSB驱动的应用程序。我在一个单独的Win USB读请求中传输了100兆字节,甚至多达2千兆字节,并使用QueRealExcCeCurter函数来测量时间。WiNUSB处理内部的所有封装,因此您可以请求每个大小,不管爆裂设置和其他低级别的东西。
我将描述符设置为15,端点配置为16,在超高速模式下将DMA传输大小设置为16×1024字节。 以上来自于百度翻译 以下为原文 I used my own application based on WinUSB Driver. I transferred hundrets of megabytes or even up to two gigabytes in one single blocking WinUSB read request and measured the time using the QueryPerformanceCounter function. WinUSB handles all packaging internally, so you can request every size you want, regardless of the burst settings and other low level stuff. I set up the descriptors to 15 and the endpoint config to 16, the dma transfer size to 16*1024 byte in super speed mode. |
|
|
|
|
|
|
|
下游速度较慢,据我所知,我在PCIE 1.1上得到了120 Mb/s,在AMDB板上得到了220Mb/s。
以上来自于百度翻译 以下为原文 The downstream was slower, as far as I remember, I got 120MB/s on PCIe 1.1 and 220MB/s on the AMD board. |
|
|
|
|
|
|
|
你好,
是否有人写在一个地方,在超高速描述符、等时端点配置和DMA通道配置中必须指定什么值,以便使用从FIFO获得最大数据传输速度?谢谢。 /EP2等时 0x07,/ /描述符大小 CyuU3pU***bEnpNttDESCR,//端点描述符类型 CyfxxEP2AISO ISO,/ /端点地址和描述 CYU-U3PUSB,ISO/ISO端点类型 0x00,0x04,//max分组大小=1024字节 0x01,/ /用于数据传输的服务间隔 /超高速端点伴随描述符 0x06,/ /描述符大小 CyuU3PysSpEpCopnNoDeCSC//SS端点伴随描述符类型 0x02,//????2+1=3????突发数据包的最大数目 0x0f,????15+1=16????Mult:最大分组数 0x00,0x04/ /字节每间隔:1024 CYU3PMESET((UTI8*T**)和EndoPoToCiFig,0,SiZeof(EndoPoToNoFIG));EndoPoToCuff.Inabess=1;EndoPoToSoop.EpType CyuU3PySubPePaSISO;EndoPosikCop.Isopkts=16;???EndoPosikOng.BurtLLN=3;//????EnPositCopy.PCKTStase= 1024;ApIrtStase= Cyu3pStEpFiFig(CyfxxEP2AISO ISO,ANP;EndoPosiTCONFIG);--CYU3PMESET((UTI8*T*)和DMACONFIG,0,SIZEOF(DMACONFIG));DMACONFIGIZE大小=1024;DMACONFIGO计数=2;???DMACONFIG.DMAMODE=CYU-U3PYDMAYMODEY字节;ApItReStase= CUU3PDMACHANNEL CREATION(&GLCHIFOPPOTH,CYUU3PYDMAX Type AUTO,和DMACONFIG); 以上来自于百度翻译 以下为原文 Hi, Can anybody write in one place what values must be specified in Super Speed descriptor, isochronous endpoint configuration and DMA channel configuration in order to get max data transfer speed using slave FIFO ? Thanks. // EP2 isochronous IN 0x07, // Descriptor size CY_U3P_USB_ENDPNT_DESCR, // Endpoint Descriptor Type CY_FX_EP2_ISO, // Endpoint address and description CY_U3P_USB_EP_ISO, // Iso End point Type 0x00,0x04, // Max packet size = 1024 bytes 0x01, // Servicing interval for data transfers // Super Speed Endpoint Companion Descriptor 0x06, // Descriptor size CY_U3P_SS_EP_COMPN_DESCR, // SS Endpoint Companion Descriptor Type 0x02, // ??? 2+1=3 ??? Max no. of packets in a Burst 0x0F, // ??? 15+1=16 ??? Mult.: Max number of packets 0x00,0x04 // Bytes per interval : 1024 --- CyU3PMemSet((uint8_t *)&endPointConfig, 0, sizeof(endPointConfig)); endPointConfig.enable = 1; endPointConfig.epType = CY_U3P_USB_EP_ISO; endPointConfig.isoPkts = 16; // ???? endPointConfig.burstLen = 3; // ???? endPointConfig.pcktSize = 1024; apiRetStatus = CyU3PSetEpConfig(CY_FX_EP2_ISO, &endPointConfig); --- CyU3PMemSet ((uint8_t *)&dmaConfig, 0, sizeof (dmaConfig)); dmaConfig.size = 1024; dmaConfig.count = 2; // ??? dmaConfig.dmaMode = CY_U3P_DMA_MODE_BYTE; ... --- apiRetStatus = CyU3PDmaChannelCreate(&glChFifoPtoU, CY_U3P_DMA_TYPE_AUTO, &dmaConfig); --- |
|
|
|
/超高速端点伴随描述符
0x06,/ /描述符大小 CyuU3PysSpEpCopnNoDeCSC//SS端点伴随描述符类型 0x0f,????15+1=16????突发数据包的最大数目 0x02,//????2+1=3????Mult:最大分组数 0x00,0x04/ /字节每间隔:1024 以上来自于百度翻译 以下为原文 // Super Speed Endpoint Companion Descriptor 0x06, // Descriptor size CY_U3P_SS_EP_COMPN_DESCR, // SS Endpoint Companion Descriptor Type 0x0F, // ??? 15+1=16 ??? Max no. of packets in a Burst 0x02, // ??? 2+1=3 ??? Mult.: Max number of packets 0x00,0x04 // Bytes per interval : 1024 |
|
|
|
Endpoint:
EpCF.Eng= Cytrue:EpCF.EpType=CyuU3PySubpEPultBulax;EpCF.BurSTLLN=CyfxSLFIFOOXPACTETSH PiRySurb;EPCFG流=0;EpCFG.PCKTSIZE=大小; DMA: 如果(CyuU3PySuxOyList==UbStand)大小*= CyfxFxSLIFOFOXPACETSsPiRySurb;/*创建一个用于U2P传输的DMA手动通道。*基于USB速度设置DMA大小。*/ 大小=大小; 描述符: /*超高速端点伴随描述符,用于生产者EP*/0x06,/*描述符大小*/CyuU3pSysEpFixNo.DeCr,/*SS端点伴随描述符类型*/CyfxFixSulfoOxPoTeSt*PiySurb - 1,/*max的包中的突发:0:突发1包在时间*/0x00,/*马克斯流用于批量Ep=0(无流)*/0x00,0x00,/*服务间隔为EP:0为散装*/ 在头文件中: 定义每个突发的CyffxSLIFOFOXPACETSSI- PyrSurb(16)//超速分组 以上来自于百度翻译 以下为原文 Endpoint: epCfg.enable = CyTrue; epCfg.epType = CY_U3P_USB_EP_BULK; epCfg.burstLen = CY_FX_SLFIFO_PACKETS_PER_BURST; epCfg.streams = 0; epCfg.pcktSize = size; DMA: if(CY_U3P_SUPER_SPEED == u***Speed)size *= CY_FX_SLFIFO_PACKETS_PER_BURST; /* Create a DMA MANUAL channel for U2P transfer. * DMA size is set based on the USB speed. */ dmaCfg.size = size; Descriptor: /* Super speed endpoint companion descriptor for producer EP */ 0x06, /* Descriptor size */ CY_U3P_SS_EP_COMPN_DESCR, /* SS endpoint companion descriptor type */ CY_FX_SLFIFO_PACKETS_PER_BURST - 1, /* Max no. of packets in a burst : 0: burst 1 packet at a time */ 0x00, /* Max streams for bulk EP = 0 (No streams) */ 0x00,0x00, /* Service interval for the EP : 0 for bulk */ And in the header file: #define CY_FX_SLFIFO_PACKETS_PER_BURST (16) //SuperSpeed Packets per Burst |
|
|
|
端点配置?ISOPKTS=3;//????
端点配置.BursLLN=16;//???? 以上来自于百度翻译 以下为原文 endPointConfig.isoPkts = 3; // ??? endPointConfig.burstLen = 16; // ??? |
|
|
|
DMACONFIG计数=8;//????2, 8还是什么?
以上来自于百度翻译 以下为原文 dmaConfig.count = 8; // ??? 2, 8 or what ? |
|
|
|
ISOPKTS仅用于ISO端点。在我的设计中,DMABUFFER是每个DMA信道的4。但也可以在两个缓冲区保持不变。
以上来自于百度翻译 以下为原文 isoPkts is only for iso endpoints. DMA buffers is 4 per dma channel at the moment in my design. But you can leave it unchanged at two buffers also. |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2071 浏览 1 评论
1827 浏览 1 评论
3640 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1761 浏览 6 评论
1513 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
511浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
362浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
860浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 20:07 , Processed in 1.406571 second(s), Total 114, Slave 97 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号