你好,
在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 direc
tion
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
...........
}
0