double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:3746回复:8

关于cy7c68013的fifo的flag位的问题

楼主#
更多 发布于:2003-06-12 20:19
我在进行slave fifo的调试,现在的数据已经可以正确的写到fpga内了,但是遇到一个问题,就是只向ep2内写一个字节的时候,它的empty标志为不发生变化,而我的外部读控制是通过这个标志位来控制的。所以现在就被卡在这了。我经过验证怀疑是,第一个字节写入后,empty就是没有变化的。
不知道有没有谁懂这方面的问题,是不是只写一个字节,empty标志位不变化,如果是有没有办法通过设置一下,可以改变这种情况呢。
多谢!!!!!
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
zhange1
驱动牛犊
驱动牛犊
  • 注册日期2001-12-10
  • 最后登录2004-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-16 10:42
好象是68013芯片版本的问题。E版下的问题已经修正!试试看! :)
高歌纵情,长笑舒意
double
论坛版主
论坛版主
  • 注册日期2002-03-30
  • 最后登录2015-05-05
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-16 11:06
你说的是芯片的版本?还是芯片说明的版本呀?
轻轻的我来了 带给你欢乐 悄悄的我走了 带走你忧愁
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-16 16:11
请参考,不只是否是此原因

68013 的4个large data fifos有一个特性是
“Quantum fifo”见其参考手册1。19章

....“when an empty flag goes from 1 to 0(not empty),
the number of bytes in the fifo jumps to a usb packet size,rather than just one byte.”


我没有验证,提供参考 :D
有知道的大虾请指教 ;)
二姑家的猫想......
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-16 19:50
zhange1的说法很有道理,D版本的错误校正pdf里第7条标明:在16位传输情况下full标志是无效的,而empty和pf有效。在E版本里改正了。既然是这种情况,不能确认是否是芯片版本问题,建议还是用其他引脚来代替empty,full和pf。kilroy_guo大虾的那段话似乎是指自动打包功能,对外围逻辑是不可见不可控的。
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-16 20:22
zhange1的说法很有道理,D版本的错误校正pdf里第7条标明:在16位传输情况下full标志是无效的,而empty和pf有效。在E版本里改正了。既然是这种情况,不能确认是否是芯片版本问题,建议还是用其他引脚来代替empty,full和pf。kilroy_guo大虾的那段话似乎是指自动打包功能,对外围逻辑是不可见不可控的。


看到了错误校正:)

自动打包功能是什么?是指SIE从EPX buffer抓数据么?
 :o对外围逻辑不可见么? :(我在书上没有找到相关的说法

二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-16 20:43
你说的是autoin autoout么?
二姑家的猫想......
yjmpepe
驱动牛犊
驱动牛犊
  • 注册日期2003-04-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-06-17 08:48
page 1-25,line 22
this is invisible to the outside interface.
应该指的是对数据自动打包,一个字节也自动打成一个usb packet那么样的大小,可以直接用于传输。但是后头又说明了可用于错误校正,这就令人费解了。难道fifo的倍数用于校正?还是这里的意思和slave fifo设置的倍数大小是两回事?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-06-17 15:55
情况1:  我记得有一个寄存器是用来跟踪写入端点的数据的吧,如果你写数据量不是端点最大包大小,可以把本次要传输的数量写到这个寄存器里(比如写1个字节),然后它会自动跟踪你写到端点中的数据,达到这个之后端点会自动生效,如果用16位总线,但你写的数据量是奇数个字节,那么最后一个字的高位会被舍弃!

情况2:  对应每个端点还应该有个控制寄存器,它的某一位是管理端点的,针对in端点这一位的功能是使能端点,如果你写的是个不满包(比如写1个字节),应该可以通过写某个寄存器来强制使这个包生效的,这个功能和写满512个字节端点自动生效是一样的(如果你在配置端点的时候八端点设置程512个字节的话)。对应out端点有一位是强制清空端点的。

上面的是我根据我用的isp1581做出的推测,但我想68013也应该有这个功能的,你们再看看吧。
游客

返回顶部