hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1441回复:10

求助\"pdiusbD12的A0口线该怎么用\"

楼主#
更多 发布于:2003-08-06 22:06
小弟刚刚接触PDIUSBD12,对D12不熟悉.看了datasheet后,对于A0口线的用法比较迷惑:
1.A0口线对于D12而言是输入还是输出?
2.假如对于D12是输入的话,该如何在单片机的程序中对它操作以实现对D12输出命令,数据或输入数据?
小弟的理解是:当要对D12输出命令时,置A0为1,且此时的输出地址为奇数;当要对D12输出数据时,置A0为0,且此时的输出地址为偶数;当要从D12读入数据时,置A0为0,且地址为偶数.不知对不对?恳请高手的帮助,谢谢
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-06 22:53
急盼高手指点
niro
驱动牛犊
驱动牛犊
  • 注册日期2001-04-02
  • 最后登录2011-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-07 01:07
1.A0口线对于D12而言是输入还是输出?

对于d12,如果是data OUT,就是HOST->DEVICE,D12->MCU
A0是输出,因为MCU需要用它区分接到的数据是命令还是数据。A0 为高时表示DATA<0>~DTAT<7>上收到的是命令字,A0 为低时表明收到的是数据。

data IN,就是MCU->D12。 是不是A0没有用,因为D12只需要数据,解析工作留给PC端的驱动程序,或是USB控制器
 :(
我这么理解不知道对不对,互相学习嘛 :D

参考FRANK老大的“USB 项目技术报告”
maxipeiz
驱动小牛
驱动小牛
  • 注册日期2003-01-28
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-07 10:57
晕!
在使用时,要是用片选cs选中d12,d12只是负责接收、发送数据。A0通过10k电阻接地!
天高任鸟飞
didar
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-07 10:58
frank的报告

)ALE 和A0 的接法必须组合在一起,根据USB 芯片与MCU 之间数据地址总线情况
的不同,有两种接法:a)如果总线和地址复用,则可以将ALE 接至MCU 的ALE ,A0 接高
电平,这种情况下D12 会在ALE 的下降沿锁存地址信号,直接将数据写入对应的USB 地
址码中。比如D0 是D12 的地址使能命令字,则直接将要使能的USB 地址写入D0 中,在
MCU 的ALE 下降沿,D12 先将D0 保存下来,然后再将端口地址作为数据送至D12 ;b)如
果MCU 总线和地址是分开的,则ALE 总接低,A0 为高时表示DATA<0>~DTAT<7>上收到
的是命令字,A0 为低时表明收到的是数据,通过将地址线的高位接至A0 ,D12 就可以有独
立的命令和数据端口,同样,端口使用时,先将D0 写入命令端口,再将端口号写入数据端
口,不同的端口其实只有A0 的变化,从而告之D12 当前发送的是什么内容。
qweasdzxc
驱动牛犊
驱动牛犊
  • 注册日期2003-07-14
  • 最后登录2005-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-07 11:24
那么将A0用10K电阻接地应该怎么理解?请指教
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-07 11:54
请问能不能将Frank大哥的USB项目技术报告贴上来,非常感激!
didar
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-07 12:37
共享共享
附件名称/大小 下载次数 最后更新
2003-08-07_usb开发指南.pdf (298KB)  19
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-08-07 12:46
didar老兄,实在豪爽,这里谢过!
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-08-07 13:38
假如MCU的总线和数据线是分开的话,那我原先的说法对吗?
/////////////////////////////////////
当要对D12输出命令时,置A0为1,且此时的输出地址为奇数;当要对D12输出数据时,置A0为0,且此时的输出地址为偶数;当要从D12读入数据时,置A0为0,且地址为偶数.不知对不对?恳请高手的帮助,谢谢
////////////////////////////////
hoosyman
驱动小牛
驱动小牛
  • 注册日期2002-10-31
  • 最后登录2006-07-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-08-08 22:38
请高手指点一番!谢谢
游客

返回顶部