libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1202回复:10

很简单的ISA的译码问题

楼主#
更多 发布于:2003-08-01 14:13
最近做好了驱动和硬件联调,硬件是个简单的ISA的板子,驱动要写ISA的8位端口。我想问的是在没有插上ISA板子的时候,我执行我的驱动,能不能在数据线(直接测量ISA插槽)D0-D7上看到我的驱动中要写到ISA板子的数据?还是一些很无规律的数据?
问题也可以这么说,如果ISA板子的译码不正确的话,数据肯定是写不到ISA板子的寄存器里的,总线上的数据线上是否有我要写往板子的数据?
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
hwzhou
驱动小牛
驱动小牛
  • 注册日期2003-01-28
  • 最后登录2004-06-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-01 16:34
总线上应该有数据,但您只看D0-D7,恐怕很难发现您的数据,因为您难以知道总线上哪一时刻的数据是您写入的。如果使用逻辑分析仪同时监视地址、数据和控制总线,再设定地址线=“您的写入地址”为触发条件,是可以监视到数据的。不过,作为ISA的地址译码电路,相对应该比较容易实现。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-01 21:21
谢谢楼上大哥的回答,我也是这么认为的,如果译码无效,数据线上也应当有我发送的数据,只是译码无效,没真正把数据写入寄存器!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-04 10:05
数据线上一定会发出来的,
如果有问题的话看一下你译码器前后的信号。
助人乃快乐之本 有人给分就更快乐了 :-)
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-05 08:25
我现在的情况是,数据线上的信号很乱,我是用逻辑分析仪看的,我的驱动在不停的执行,不停地往总线发数据,看来只有看片选信号是否有效了,如果有效,说明译码成功,否则失败!是这样吧?
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-07 21:26
现在用逻辑分析仪能看到IOW信号为低的时候,我发送的数据了,和我在驱动中写的数据一样,说明我成功发送数据了。

另外我还想知道的是对于ISA,8位的I/O写,译码,哪些控制信号线是必须的??
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2003-08-07 22:48
以下在8位操作下必须的信号:
ior,iow,aen,ale
aen是在dma传送过程中,避免总线冲突的信号,在其为高的时候禁止io译码。
ale是地址锁存,下降沿锁存地址。
其他中断和时钟是可选的
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-08 09:26
以下在8位操作下必须的信号:
ior,iow,aen,ale
aen是在dma传送过程中,避免总线冲突的信号,在其为高的时候禁止io译码。
ale是地址锁存,下降沿锁存地址。
其他中断和时钟是可选的


谢谢斑竹的回答,我不是做硬件的,很菜的!
但感兴趣,想研究研究,你说的AEN,这个信号线,如果我是简单的8位I/O传输,不用DMA的话,也需要吗?我还是有点糊涂,还有就是地址信号一定要锁存吗??我看时序图上,地址线持续的时间很长,可以不用锁存吧?很菜,见笑了!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-08-10 19:31
怎么,这个问题很难吗??
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2003-08-10 23:52
在isa的dma传送过程中,aen是一直有效的,所以使用aen无效的时候来译码地址,避免总线冲突。
地址线可以不用锁存,直接译码也可以。
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-08-11 19:32
谢谢斑竹的回答,放分!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
游客

返回顶部