smallhuixin
驱动牛犊
驱动牛犊
  • 注册日期2002-06-18
  • 最后登录2004-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2334回复:12

cy7c68001如何写in packet的啊?

楼主#
更多 发布于:2003-06-04 10:37
我用Cypress的CY7C68001开发usb外设,外部控制器能正确读写寄存器,和pc枚举也正确,pc机能识别出外设。

配置为full speed;端口2、4OUT,6、8IN;fifo为64字节

但是我写一个in packet的数据包(64个字节)到端口6的fifo,用cypress的control pannel读端口6的数据,可是要么说IO Control CRC ERROR,读不到数据;要么读到数据,但不正确,只有几个字节是正确的,这是为什么啊?

最新喜欢:

lmhhlmhhlmhhlm...
gtl5800
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2003-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-27 00:07
顺便问一下,没有EEPROM,上电后PC机能识别出CY7C68001吗?如果可以,那你用的是否是SelfPower?

我用的是外部供电,没有EEPROM,PC就识别不了SX2,这是为什么?
gtl5800
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2003-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-26 22:49
我确定已经读到中断信号了,逻辑分析仪上可以看到enum(fd2)信号的出现。
purplestar
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-25 18:18
你确定读到该中断了吗?我的外部maste 也是FPGA。很想和你切磋一下。
gtl5800
驱动牛犊
驱动牛犊
  • 注册日期2003-05-15
  • 最后登录2003-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-25 15:44
各位高手,
我也正在用CY7C68001开发外设,外部master是xilinx的FPGA。
设备枚举后发出中断,读中断得到中断信息,但是中断信号依然存在,这是为什么?
我的e_mail:gtl5800@hotmail.com
purplestar
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-21 21:01
to smallhuixin:
能告诉我你是怎么产生SLRD,SLOE,SLWR,我使用同步方式产生,可是建立时间达不到datasheet的要求18.7ns.
purplestar
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-09 14:24
to smallhuixin:
多谢!
我想问一下,我自己初始化寄存器要根据read信号,那么是否当我选中命令操作地址100时,ready信号会一直有,我发一个写请求,会紧接着有两个ready信号有效,即使我不需要写或读寄存器时,ready信号也会产生?
smallhuixin
驱动牛犊
驱动牛犊
  • 注册日期2002-06-18
  • 最后登录2004-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-06-09 12:41
就是这个过程了,IFCONFIG在列举前装载,其余的可以在枚举后。
purplestar
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-06-08 22:04
多谢指点,中断问题解决了。
请帮我看一下我想象的启动过程是否正确:
1.系统加电后自检,发现无有效的EEPROM,然后发READY中断。
2.读READY中断以清除它。
3.等待ready信号以便向SX2的RAM中写描述符(遵循写命令协议);
4.SX2找不到EEPROM就会从RAM中读取描述符以完成列举
5.等EMUMOK中断,读该中断以清除它。
那我请问如果我想要初始化其它的寄存器,比如IFCONFIG、POLAR、EPxCFG Register 0x06,那我该在列举完成后还是在列举前呢?
我要实现的功能是单向的,故我只用Endpoint2,设置它为1024x4输出模式,使用VHDL语言实现。
如按上述配置,我写描述符时除了VID、PID、DID,还该写什么?
SX2是通过类型来识别这些不同描述符的,而datasheet上说我只需写一次RAM地址,然后给出总共描述符的长度,那如何先写类型后写描述符呢?请多多指教!
smallhuixin
驱动牛犊
驱动牛犊
  • 注册日期2002-06-18
  • 最后登录2004-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-06-08 19:40
我的项目中读写CY7C68001的寄存器是用外部控制器进行的,没用开发板。

CY7C68001的枚举过程是:读到ready中断后,写描述符表(就是datasheet提供的),收到enum中断后,就成功了。

读SX2中断不要发送读请求,68001会自动将8位的中断状态位送到FD[7..0],只需读就是了。
purplestar
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-06-08 16:17
顺便问一下,读SX2的中断要不要发送读请求,还是有中断的话会自动将8位的中断状态位送到FD[7..0],我只需读就是了?
purplestar
驱动牛犊
驱动牛犊
  • 注册日期2003-06-08
  • 最后登录2004-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-06-08 15:55
请问你读写CY7C68001的寄存器是用程序来实现,还是用SX2的开发工具。
顺便请教CY7C68001的枚举是怎样实现的,都需要写那些描述符?
guo_bin76
驱动牛犊
驱动牛犊
  • 注册日期2003-02-13
  • 最后登录2010-11-20
  • 粉丝0
  • 关注0
  • 积分129分
  • 威望74点
  • 贡献值1点
  • 好评度12点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-06-04 14:17
snow
游客

返回顶部