完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
在CY7C68013上,我希望在EP6中使用1024大小的EnPoT比512大小更好。它应该得到更多的传输速度。 我只修改了3个零件。但操作不正确。是否有更多的部件运行为1024? 1。在fx2totoxExcCIFFo.c文件中。 空隙TDyIIT(空隙){//将CPU时钟设置为48 MHz CPUCS=((CPUCS&;~BMCLKSPD)BMCLKSPD1);SYNCDELAY; EP2CFG=0xA0;//EP2OUT,散装,大小512,4X缓冲的同步延迟;γIF 0 EP6CFG=0XE0;//EP6IN,散装,大小512,4X缓冲的同步延迟; β-TEL//测试1024大小的包EP6CFG= 0xE8;//EP6IN,块,大小1024,4X缓冲的同步延迟; …… } 2。在DSCR.A51文件中;端点描述符dB dSCrdEnPnttLin;描述符长度dB dSCryEntPNT;描述符类型DB 86h;端点号和方向DB EtTube;;端点类型;;DB 0H;;最大分组大小(LSB);DB 02H;;最大分组大小(MSB)DB 0H;;LSB)DB 04H;1024大小的最大数据包大小(MSB)。 轮询间隔 三。在fx2totoxExcCIFFo.c文件中。 布尔枚举(空){if(EZUBSH高速()){//FX2高速枚举 如果0 / /测试1024大小的同步延迟;//EP6AutoLunh=0x02;//设置AutoIn提交包长度为512字节。高字节同步延迟;//EP6AutoLeNLL=0x00;//低字节。因此,0x200=512。SycRead;Sy-OR SycCurror;//Ep6AutoLunh=0x04;//设置AutoIn提交包长度为1024字节。高字节同步延迟;//EP6AutoLeNLL=0x00;//低字节。因此,0x200=512。同步延迟; 第二节 …… } 以上来自于百度翻译 以下为原文 Hello, On CY7C68013, I want to use 1024 size enpoint in packet better than 512 size for EP6. It should be get more transfer speed. I've modified below three parts only. But it operates incorrect. Are there more parts to run as 1024 ? 1. in FX2_to_extsyncFIFO.c file. void TD_Init(void) { // set the CPU clock to 48MHz CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1); SYNCDELAY; EP2CFG = 0xA0; // EP2OUT, bulk, size 512, 4x buffered SYNCDELAY; #if 0 EP6CFG = 0xE0; // EP6IN, bulk, size 512, 4x buffered SYNCDELAY; #else//test 1024 size packet EP6CFG = 0xE8; // EP6IN, bulk, size 1024, 4x buffered SYNCDELAY; #endif ............ } 2. in Dscr.a51 file ;; Endpoint Descriptor db DSCR_ENDPNT_LEN ;; Descriptor length db DSCR_ENDPNT ;; Descriptor type db 86H ;; Endpoint number, and direction db ET_BULK ;; Endpoint type ;; db 00H ;; Maximum packet size (LSB) ;; db 02H ;; Maximum packet size (MSB) db 00H ;; Maximum packet size (LSB) db 04H ;; Maximum packet size (MSB) for 1024 size. db 00H ;; Polling interval 3. in FX2_to_extsyncFIFO.c file. BOOL DR_SetConfiguration(void) { if( EZUSB_HIGHSPEED( ) ) { // FX2 enumerated at high speed #if 0 //test 1024 size SYNCDELAY; // EP6AUTOINLENH = 0x02; // set AUTOIN commit packet length to 512 bytes. high byte SYNCDELAY; // EP6AUTOINLENL = 0x00; //low byte. thus, 0x200 = 512. SYNCDELAY; #else SYNCDELAY; // EP6AUTOINLENH = 0x04; // set AUTOIN commit packet length to 1024 bytes. high byte SYNCDELAY; // EP6AUTOINLENL = 0x00; //low byte. thus, 0x200 = 512. SYNCDELAY; #endif ........... } |
|
相关推荐
5个回答
|
|
在数据表中,EP6必须是最大的2048字节。
如果我想使用1024个包用于EP6IN,IMUT使用双缓冲,而不是四重缓冲。 因为EP6只有2048个字节。 下面是添加到以上帖子的代码。 如果0 EP6CFG=0xE0;//EP6IN,块,大小512,4X缓冲的同步延迟;α-Tor//Test1024大小缓冲区EP6CFG= 0xEa;//EP6IN,块,大小1024,2x缓冲的同步延迟; 测试完成后,我们的板速度为20Mb/s。以前的速度是16Mb. ^ ^。 但谷歌上有人说他们的系统有30~40MBS,具有正常的PC环境。 怎样才能像任何人一样获得更多的速度? 以上来自于百度翻译 以下为原文 in datasheet, EP6 must be 2048 bytes maximum. If I want to use 1024 packet for EP6IN, I must use double buffering, not quad buffering. because , there are only 2048 bytes for EP6. Below is added code to above posting. #if 0 EP6CFG = 0xE0; // EP6IN, bulk, size 512, 4x buffered SYNCDELAY; #else//test 1024 size buffer EP6CFG = 0xEA; // EP6IN, bulk, size 1024, 2x buffered SYNCDELAY; #endif after test above, our board has 20MB/sec speed. previous speed is 16MBs.^^. But someone on google presents their system has 30~40MBs with normal PC environment. How can I get more speed like anyone ? |
|
|
|
我们在同步从属FIFO 16位总线宽度上达到25MHz IFKK,达到40Mb/s。我们使用512字节端点与四缓冲。1024字节引起一些主机控制器的一些问题。对于高数据速率,您必须传输大的块,以便给FX2提供包包微流的机会。如果你传送每一个512字节的数据包,你只能得到4Mb/s,1024字节传输8Mb/s等等。每秒有8000个微框架,一个微框架可以容纳10个…11个完整的512字节数据包。但是只有当所有数据包都在一个请求中时。我们所看到的最大值是450Mb/s上传,而在Windows 7 X64上使用WINUSB下载几百Kb/s。
以上来自于百度翻译 以下为原文 We reach 40MB/s with 25MHz IFCLK on sync Slave FIFO 16 bit bus width. We use 512 Byte endpoint with quad buffering. 1024 byte causes some problems on some host controllers. For high data rate you have to transfer large blocks in order to give the FX2 the opportunity to fille the microframes with packets. If you transfer every single 512 byte packet you can only get 4MB/s, with 1024 Byte transfers 8MB/s and so on. There are 8000 Microframes per second and one microframe can hold 10...11 full 512 byte packets. But only if all packets are in one request. The maximum we´ve seen is 40.5MB/s upload while several hundret kB/s download using winu*** on Windows 7 x64. |
|
|
|
|
|
|
|
亲爱的克里斯
谢谢你的建议。 但根据我的经验,我的董事会不能超过20MBS。 三星SPCR610笔记本,KojnSa笔记本,戴尔核心i3桌面,全。 当前测试环境 -1MyLoad上传每一次尝试。1MB上传-&T;2秒休息& 1MB上传-和2秒休息…重复。 -使用GPIF流状态可能的CyPress实例在AN66 806PDF上。 GPIF计数器将0x00、0x08、00、00设为500 kb,在16位数据总线中对1MB数据进行计数。 -主机使用BeaDimaTaxFor()、WaWxFar()、FixDATAXFER()。 -通过逻辑分析仪,时序图是 上传1MB需要总共50毫秒。 MCU首先取1024计数,因为它的缓冲区大小为2048。-gt; 一些毫秒的休息时间-gt; 转让约200 USEC & GT; 等待200 USEC - -GT; 重复运行以完成1MB。 -RDY引脚连接到Vcco的最高速度测试。 上传的数据由HHD软件的USB监控程序验证。 我应该多争取40万英镑。 但这是固定的,为了进一步发展,你的建议。谢谢!!!! - 512 FIFO大小,四缓冲。 我会尝试其他部件来提高速度。 以上来自于百度翻译 以下为原文 Dear Chris.R, Thanks your advise. But in my experience, My board can't go beyond 20MBs. Samsung SensR610 Notebook, KojnSha notebook, Dell Core i3 Desktop, entire. Current testing environment, - 1Mbyte upload each try. 1MB uploaded -> 2 sec rest -> 1MB uploaded -> 2sec rest....repeat. - used GPIF flow state likely cypress example on AN66806.pdf. - GPIF counter has set 0x00, 0x08, 00,00 as 500kB counting for 1MB data in 16 bit data bus. - Host uses BeginDataXfer(), waitXfer(), FinishDataXfer() presented in example. - by Logic analyzer, timing chart is total 50 msec is required to upload 1MB. MCU firstly prefetches 1024 counting as it's buffer size 2048. -> some milisecond of rest -> transfer about 200 usec -> wait 200 usec.-> repeatdely run to complete 1MB. - RDY pin tied to VCC for highest speed testing. - uploaded data was verified by HHD software's USB monitor program. I should more try to get about 40MBs. But this is fixed for futher developement with your advice. Thanks !!! - 512 fifo size, quad buffering. I will try other parts to advance speed. |
|
|
|
你好,
IFCK频率是多少? 请使用SUITEUSB的SuriMal/Turror进行吞吐量测量,让我们知道达到的吞吐量值,以便我们有一个共同的参考框架来进一步讨论。 当做, 阿南德 以上来自于百度翻译 以下为原文 Hi, What is the IFCLK frequency? Please use Screamer/Streamer from SuiteUSB to do throughput measurement and let us know the throughput value achieved so that we have a common frame of reference to discuss further. Regards, Anand |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2100 浏览 1 评论
1846 浏览 1 评论
3665 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1782 浏览 6 评论
1532 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
561浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
413浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
433浏览 2评论
379浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
906浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 02:02 , Processed in 1.047457 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号