阅读:1441回复:10
求助\"pdiusbD12的A0口线该怎么用\"
小弟刚刚接触PDIUSBD12,对D12不熟悉.看了datasheet后,对于A0口线的用法比较迷惑:
1.A0口线对于D12而言是输入还是输出? 2.假如对于D12是输入的话,该如何在单片机的程序中对它操作以实现对D12输出命令,数据或输入数据? 小弟的理解是:当要对D12输出命令时,置A0为1,且此时的输出地址为奇数;当要对D12输出数据时,置A0为0,且此时的输出地址为偶数;当要从D12读入数据时,置A0为0,且地址为偶数.不知对不对?恳请高手的帮助,谢谢 |
|
沙发#
发布于:2003-08-06 22:53
急盼高手指点
|
|
板凳#
发布于: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 项目技术报告” |
|
地板#
发布于:2003-08-07 10:57
晕!
在使用时,要是用片选cs选中d12,d12只是负责接收、发送数据。A0通过10k电阻接地! |
|
|
地下室#
发布于: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 当前发送的是什么内容。 “ |
|
5楼#
发布于:2003-08-07 11:24
那么将A0用10K电阻接地应该怎么理解?请指教
|
|
6楼#
发布于:2003-08-07 11:54
请问能不能将Frank大哥的USB项目技术报告贴上来,非常感激!
|
|
7楼#
发布于:2003-08-07 12:37
共享共享
|
|
|
8楼#
发布于:2003-08-07 12:46
didar老兄,实在豪爽,这里谢过!
|
|
9楼#
发布于:2003-08-07 13:38
假如MCU的总线和数据线是分开的话,那我原先的说法对吗?
///////////////////////////////////// 当要对D12输出命令时,置A0为1,且此时的输出地址为奇数;当要对D12输出数据时,置A0为0,且此时的输出地址为偶数;当要从D12读入数据时,置A0为0,且地址为偶数.不知对不对?恳请高手的帮助,谢谢 //////////////////////////////// |
|
10楼#
发布于:2003-08-08 22:38
请高手指点一番!谢谢
|
|