完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我对这个领域很陌生,所以只是学习……
下面是固件代码,如果有错误,请改正。 虚空(虚空) {//在启动时调用一次 CPUCs=0x12;//CkkSPD[1:0]=10,对于48 MHz操作,输出输出 /* 1 0010 48 MHz,CKOUT引脚驱动*/ IFCONFIG= 0xCB;//用于异步?IFCONFIG /* 1100 1111内部默认CLK,48 MHz,异步,从FIFO接口*/ 同步延迟;//参见TRM第15.14节 E2CFG=0xA2;//Buf[1:0]=10,用于2x缓冲 /*端点2配置1010×0010 * //位7 1激活端点 //bit 6 0输出 //位5 1 //位4 0(默认) //位3 0字节512字节 //位2 0 //位1 1双 //位0 0 /EP6 512体积为2x 同步延迟; E26CFG=0xE2;//Buf[1:0]=10,用于2x缓冲 /* 1110 0010×/ //位7 1激活端点 //位6 1英寸 //位5 1 //位4 0(默认) //位3 0字节512字节 //位2 0 //位1 1双 //位0 0 //EP4和EP8不在此实施中使用。 同步延迟; EP4CFG= 0x20;/ /清除有效位10 0000 //位7 0以停用端点 //bit 6 0输出 //位5 1 //位4 0(默认) //位3 0字节512字节 //位2 0 //位1 0四 //位0 0 同步延迟; EP8CFG= 0x60;//清除有效位0110 0000 //位7 0以停用端点 //位6 1英寸 //位5 1 //位4 0(默认) //位3 0字节512字节 //位2 0 //位1 0四 //位0 0 同步延迟; FiPosit=0x80;/ /激活NAC-ALL以避免竞争条件 同步延迟;//参见TRM第15.14节 FIFSET=0x02;//复位,FIFO 2 同步延迟; FIFSET=0x04;//RESET,FIFO 4 同步延迟; FIFSET=0x06;//RESET,FIFO 6 同步延迟; FIFSET=0x08;//RESET,FIFO 8 同步延迟; FiPosit=0x00;/ /去激活NACK-ALL /处理我们已经处于自动模式的情况… 例如……背靠背固件下载… 同步延迟; EP2FIFOFFG=0x00;//OutoOut= 0,WordField=1 //Car需要看到AutoOut= 0到AutoOut= 1切换到ARM EnP的 同步延迟; EP2FIFOCFG=0x11;//AutoOut= 1,WordDead=1 0001×0001(16位) //bit 6 0标志用于同步FIFO //bit 5 0标志用于同步FIFO //bit 4 1自动缓冲区被自动且即时地提交到FIFO端点。 //位3 0 //位2 0 //位1 0 //位0 1 同步延迟; EP6FIFOCFG=0x0d;//Outin=1,ZeloLein=1,WordField= 1,0000,1101(16位) //bit 6 0标志用于同步FIFO //bit 5 0标志用于同步FIFO //位4 0 //bit 3 1自动缓冲区被自动且即时地提交到FIFO端点。 //bit 2 1:当PKKADE激活时,将发送零长度包。 //位1 0 //位0 0 同步延迟; pFrAgAsAb=0xE0;// FLAGA -索引,FLAB-EP6FF 1110 0000 //位7 1 FLABB3 //位6 1 FLABB2 //位5 1 FLABB1(A8优先级11指示满) //位4 0 //位3 0 //位2 0 //位1 0 //位0 0 同步延迟; pFrAGCSCD= 0x08;//FLAC-EP2EF,FLAGD -索引0000 1000 //位7 0 //位6 0 //位5 0 //位4 0 //位3 1 FrcC3-EP2EF(A0优先级9指示满) //位2 0 //位1 0 //位0 0 同步延迟; } 以上是16位从FIFO接口,异步模式的代码。 为了测试固件,我使用批量循环程序来发送和接收数据。我从另一端的32位Atmel AVR微控制器做回环。 当我通过批量循环程序发送数据时,它在ATMEL控制器上被正确接收。但是当我从Atmel发送数据(或者从ATMEL写入数据到从FIFO)时,数据就在CyPress芯片上正确地(我通过数字示波器检查),但是批量循环程序没有显示任何数据。 请查看固件代码的任何错误。 提前感谢…… 以上来自于百度翻译 以下为原文 I am new to this field, so just learning........ Below is the firmware code please correct it if any mistake is there. void TD_Init( void ) { // Called once at startup CPUCS = 0x12; // CLKSPD[1:0]=10, for 48MHz operation, output CLKOUT /*1 0010 48MHz, CLKOUT pin driven*/ IFCONFIG = 0xCB; // for async? IFCONFIG /*1100 1111 Internal default clk, 48MHz,async , slave fifo interface*/ SYNCDELAY; // see TRM section 15.14 EP2CFG = 0xA2; // BUF[1:0]=10 for 2x buffering /*Endpoint 2 Configuration 1010 0010*/ //bit 7 1 to activate an end point //bit 6 0 OUT //bit 5 1 //bit 4 0 Bulk(default) //bit 3 0 512 bytes //bit 2 0 //bit 1 1 double //bit 0 0 // EP6 512 BULK IN 2x SYNCDELAY; // EP6CFG = 0xE2; // BUF[1:0]=10 for 2x buffering /*1110 0010*/ //bit 7 1 to activate an end point //bit 6 1 IN //bit 5 1 //bit 4 0 Bulk(default) //bit 3 0 512 bytes //bit 2 0 //bit 1 1 double //bit 0 0 // EP4 and EP8 are not used in this implementation... SYNCDELAY; // EP4CFG = 0x20; // clear valid bit 10 0000 //bit 7 0 to deactivate an end point //bit 6 0 OUT //bit 5 1 //bit 4 0 Bulk(default) //bit 3 0 512 bytes //bit 2 0 //bit 1 0 quad //bit 0 0 SYNCDELAY; // EP8CFG = 0x60; // clear valid bit 0110 0000 //bit 7 0 to deactivate an end point //bit 6 1 IN //bit 5 1 //bit 4 0 Bulk(default) //bit 3 0 512 bytes //bit 2 0 //bit 1 0 quad //bit 0 0 SYNCDELAY; FIFORESET = 0x80; // activate NAK-ALL to avoid race conditions SYNCDELAY; // see TRM section 15.14 FIFORESET = 0x02; // reset, FIFO 2 SYNCDELAY; // FIFORESET = 0x04; // reset, FIFO 4 SYNCDELAY; // FIFORESET = 0x06; // reset, FIFO 6 SYNCDELAY; // FIFORESET = 0x08; // reset, FIFO 8 SYNCDELAY; // FIFORESET = 0x00; // deactivate NAK-ALL // handle the case where we were already in AUTO mode... // ...for example: back to back firmware downloads... SYNCDELAY; // EP2FIFOCFG = 0x00; // AUTOOUT=0, WORDWIDE=1 // core needs to see AUTOOUT=0 to AUTOOUT=1 switch to arm endp's SYNCDELAY; // EP2FIFOCFG = 0x11; // AUTOOUT=1, WORDWIDE=1 0001 0001 (16 bit) //bit 6 0 flag for synch fifo //bit 5 0 flag for synch fifo //bit 4 1 AUTOOUT buffer is automatically and instantaneously committed to the endpoint FIFO //bit 3 0 //bit 2 0 //bit 1 0 //bit 0 1 SYNCDELAY; // EP6FIFOCFG = 0x0D; // AUTOIN=1, ZEROLENIN=1, WORDWIDE=1 0000 1101(16 bit) //bit 6 0 flag for synch fifo //bit 5 0 flag for synch fifo //bit 4 0 //bit 3 1 AUTOIN buffer is automatically and instantaneously committed to the endpoint FIFO //bit 2 1 a zero length packet will be sent when PKTEND is activated //bit 1 0 //bit 0 0 SYNCDELAY; PINFLAGSAB = 0xE0; // FLAGA - indexed, FLAGB - EP6FF 1110 0000 //bit 7 1 FLAGB3 //bit 6 1 FLAGB2 //bit 5 1 FLAGB1 (A8 priority 11 indicate Full) //bit 4 0 //bit 3 0 //bit 2 0 //bit 1 0 //bit 0 0 SYNCDELAY; PINFLAGSCD = 0x08; // FLAGC - EP2EF, FLAGD - indexed 0000 1000 //bit 7 0 //bit 6 0 //bit 5 0 //bit 4 0 //bit 3 1 FLAGC3 - EP2EF (A0 priority 9 indicate Full ) //bit 2 0 //bit 1 0 //bit 0 0 SYNCDELAY; } Above is the code for 16 bit Slave FIFO Interface, asynchronus mode. For testing firmware, I am using Bulk loop program to send and receive data. And loop back I am doing from 32 bit Atmel AVR micro controller at other end. While I send data through bulk loop program it is received properly at Atmel controller. But when I send data from Atmel (or write data from Atmel into the slave fifo ) data is coming properly at cypress chip(I checked through digital osciloscope) but the bulk loop program not showing any data. Please have a look at firmware code for any mistake. Thanks in advance…… |
|
相关推荐
4个回答
|
|
什么是旗帜地位的前和后(EP6)写?请使用任何USB流量分析器在传输中使用USB跟踪,并将其张贴在这里。
谢谢 普拉吉斯 以上来自于百度翻译 以下为原文 What is the Flag status before and after FIFO (EP6) write? Please take USB trace of IN transfers using any USB traffic analyzer and post it here. Thanks Prajith |
|
|
|
标记状态在写入FIFO(EP6)之前和之后都很高,
我会马上给你发送USB分析器数据。 以上来自于百度翻译 以下为原文 Flag status is high before and after writing it into the fifo(EP6), I will send you the u*** analyser data shortly. |
|
|
|
请阅读EZUB-LX2LP作为EZUSB-FX2LP。
我附加了USB DATA.PDF文件,包含用于第32点的写入FIFO(EP6)的数据。 点1-31是从PC发送到ATMEL控制器的数据。FIFO(EP2) 请看一看并发表评论。 谢谢 德鲁夫 USB DATA PDF 8.2 K 以上来自于百度翻译 以下为原文 Please read EZUSB-LX2LP as EZUSB-FX2LP. I attached USB data.pdf file, contains data capured for write FIFO(EP6) for point no. 32 onwards. Point 1-31 is data send from PC to my ATMEL controller.FIFO(EP2) Please have a look and give comment. Thanks dhruv
|
|
|
|
USB数据文件再次连接,作为USB DATA PDF将不包含完整的信息。
USB数据 197.2 K 以上来自于百度翻译 以下为原文 USB data file attached again, as USB data.pdf will not contain full information.
|
|
|
|
只有小组成员才能发言,加入小组>>
751个成员聚集在这个小组
加入小组2062 浏览 1 评论
1820 浏览 1 评论
3629 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1757 浏览 6 评论
1505 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
494浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
349浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
407浏览 2评论
353浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
846浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-16 19:17 , Processed in 0.903368 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号