cy7c68013 块传输问题

xihai   2009-2-6 14:49 楼主
我把CY7C68013设置为Slave FIFO模式的话Firmware是否只是需要初始化相应的一些寄存器的值,不需要做别的操作。用EP2_OUT,EP6_IN,上位机是否通过端点传输数据给EP2_OUT端点呢?怎么传?我每次传的数据长度都不同,比方有10个字节的,那我传了10个字节后怎么通知我的Master我已经传了数据到EP2_OUT中,叫他去读,该读多少?相应的我的Master传数据给Host的时候我传515个数据的话我是否是传512个数据后再传3个数据的话是要把数据放到EP6_IN上然后assert PKTEND脚就行???

回复评论 (8)

怎么没人回答啊。。。急啊
点赞  2009-2-9 08:39
不懂,up
点赞  2009-2-9 09:04
不懂,up
点赞  2009-2-9 09:04
高手过来帮帮啊
点赞  2009-2-9 10:08
看看协议先嘛
点赞  2009-2-11 12:45
1.通过控制传输发6个0x01下去,然后固件把这6个01传到EP6中,第一次传下去测试EP6FULL标志位为0,

再传一次看到EP6FULL标志位为1,感觉好像进入到第2个缓冲区了。这个时候我去读EP6,读了第一次出来的数据跟我发的数

据不一样,这个时候EP6FULL标志位为0了,紧接着再读一次,这个时候的数据才是正确的。

这个怎么理解啊?

2.关于FLAGA,B,C的设置,我通过设置如下:
PINFLAGSAB = 0x8c;
PINFLAGSCD = 0xae;
FIFOPINPOLAR = 0x03;
照道理可以实现FLAGA表示EP2FF,FLAGB表示EP2EF,FLAGC表示EP6FF,FLAGD没用,用了高电
平有效。

初始化完成后所有的FLAG标志位为0,这个怎么解释啊?

传输过程中,我通过EP2传输了512个字节下去,自动的装载到EP6,但这个时候所有的FLAG标志位还是全为1,

不知道问题出在哪里了,各位兄弟有没碰到过啊,我会时刻关注的,希望大家给点帮助,项目太急,新手没有办法,只好求助了!!!!
点赞  2009-2-12 16:06
上面有个地方写错了,是初始化后所有的FLAG标志位为1
点赞  2009-2-12 16:07
我最近也在做这个东西,cpld如何去读取fifo中的数据。还有,关于cy7c68013初始化为slave fifo模式,只是设置cy的寄存器就可以了吗? 从pc通过usb线缆的数据是否自动送到EP2的fifo?
点赞  2009-11-30 22:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复