JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3315回复:14

先谢斑竹了,关于D12枚举

楼主#
更多 发布于:2001-11-29 17:02
我已经徘徊一周了,斑竹作过D12的firmware,请斑竹帮忙:
因我们是日资公司,用的是日本比较流行的Z80内核的MCU来
控制D12,无法直接用PHILIPS的C51例程,只有从头写程序,
已有眉目,但枚举总通不过,我另外用液晶屏监视通讯的所有
过程如下:(----后为我的处理)
1。挂起中断----不予理睬
2。CONTRAL OUT 中断,SETUP包,80 06 00 01 00 00 40 00
    ------写描述字到CONTRAL IN BUFFER,有效它
3。CONTRAL IN 中断,有错误,----不予理睬
4。CONTRAL IN 中断,传送成功---- 写入下一批数据到IN BUFFER
5。CONTRAL OUT 中断,数据包,长度为零----应为状态阶段,说明
控制阶段结束
6。复位中断
7。重复2--6三次,然后挂起中断
8。OVER

究竟是哪儿的毛病,HOST不发设置地址请求呢?
请斑竹回答详细一点,多谢!
P。我的主机是SIS 7001 USB控制器,可换了台PC也不成功,但过程不一样。  :mad:

最新喜欢:

Jkw_DevJkw_De...
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2001-11-29 17:37
sis7001与d12不兼容!!!!!!!
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-11-30 09:01
可是我买的ONLYDISK在这台PC上就正常,它用的也是PHILIPS 的D12
但型号是PDUSBD12,我用的是PDIUSBD12,多一个I,有什么不同啊?
我觉得SIS的USB控制器很普及的,若有这样不兼容的问题,我的开发
还有意义吗?
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-11-30 09:16
我刚才又做了个实验,把我的PDIUSBD12换到ONLYDISK上,工作正常,这样的话,应该不是不兼容吧?!
再请斑竹帮我分析一下!
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-11-30 13:20
如果你把PDIUSBD12(Rev. B)换到Only Disk上也可以用,那看来我也要对ZBoard再次开发了,说不定OnlyDisk发现了D12的什么bug,做了一些改进,可以让sis7001也能通讯了。

单说你的枚举过程,应该是第一次的DeviceDescriptor没有传送成功,host重试3次以后就fail了。你可以检查一下你的DeviceDescriptor是否正确。
另外,3中的错误是什么意思?
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-11-30 13:59
谢谢斑竹!
3中的错误有时有有时没有,读到LAST STATUS RIGISTER值为92,可能是数据阶段IN令牌来得时候我的数据没写入IN BUFFER。
我们也是才买的PDIUSBD12,在国内买的,不知道什么版,芯片右下角有个A字,A版的?
刚刚又发现一个问题,在我上边所说的情况后,拔下DEVICE端插座,再插进去,可以监视到主机没有重新发获取描述请求,而是马上发出设置地址请求,我的设备是总线供电,难道主机接着枚举了?
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-12-03 10:59
设备描述符我写入IN BUFFER的是00H,08H,12H,01H,10H,01H,00H,00H,00H,10H,有问题吗?主机接收的不对?
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-12-04 09:02
前面的00h,08h是什么意思?
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-12-04 12:51
给IN BUFFER写数据不是需要先写入BYTE0(RESERVE),BYTE1(LENGTH)吗?
jbchen
驱动牛犊
驱动牛犊
  • 注册日期2001-10-10
  • 最后登录2003-05-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-12-04 14:29
是的,低字节在前,高字节在后。但是,你的设备描述符好像不对?
如果描述符不对,是不能通过枚举的
互相学习,互相进步! Email:tojbchen@hotmail.com
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-12-04 15:42
谢谢,描述符哪儿不对啊?
liuwenwyf
驱动牛犊
驱动牛犊
  • 注册日期2001-11-01
  • 最后登录2008-07-31
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-12-06 20:55
    请问JH.quan你在执行到ConnectUSB 时程序会不会停在那不动,直到PC连续发送了约15S数据后才执行下一行?
    另外INT#是否收到PC请求信号后一直为低?
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-12-07 10:26
int为low说明你没有清int register的标志位
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
JH.quan
驱动牛犊
驱动牛犊
  • 注册日期2001-10-26
  • 最后登录2002-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-12-07 15:11
谢谢大家,后来没辙我只好下载了PHILIPS的C51例程,参照他的流程重新写了Z80的FIRMWARE,经过3天奋战,终于枚举成功并通过了USBcheck的控制传输测试。终于松了一口气。
回过头看一下,其实我以前的程序和例程差不多,只是我的一些处理在中断服务里,例程的在主循环里。不太明白问题出在哪儿

xxfmin
驱动牛犊
驱动牛犊
  • 注册日期2001-04-07
  • 最后登录2005-02-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-02-24 10:56
我知道SIS7001与D12问题出在什么地方, xxf3405@163.com
游客

返回顶部