阅读:1654回复:6
为什么读写端口不正确 ???
我使用9052(isa 工作模式)实现 从pci 转 isa ,映射到 io 空间。资源分配正常。但是在写端口的时候,总是不太灵,时好时坏,在 ice 下直接写也是如此。我在 local bus 侧使用了12 M 的晶振而不是 8M 的,不知有没有关系?
|
|
|
沙发#
发布于:2002-01-23 15:38
既然怀疑晶振有问题,那就马上换一下试一试,反正不费什么时间.
|
|
|
板凳#
发布于:2002-01-24 00:02
我把晶振换成 8M 的也不灵。反复测试,发现好像是 io 端口访问速度太慢(也可能是时序不对)的原因。如果写端口的间隔时间足够长(几秒钟),就不会有问题。但在这种速度下,系统是无法工作的。
仔细查阅了资料(9052 rdk ),发下里面强调 nows# 的接法。我不是很理解。不知那位对这一块比较了解? 我使用 16 bit 的 io 端口,将 nows#(不插入等待周期) 接死(上拉或者下拉),chrdy 信号上拉,这样接会不会有问题?9052 rdk 中的 nows1# 信号不知道从哪儿来的?直接接一恒定电平不行吗? |
|
|
地板#
发布于:2002-01-24 08:06
检查一下你的电路的数据延迟大约是多少,如果已经到了临界状态,看来是要加上了.
|
|
|
地下室#
发布于:2002-01-24 18:52
jst 兄,我不明白你所说的数据延迟时间,怎么测呀?
我写数据都写不过去,都不知如何下手。今天折腾了一天,本以为解决问题了,结果反复测试,发现还是不灵。 为什么总是头疼 who can help me 。。。。。。。 :( |
|
|
5楼#
发布于:2002-01-24 19:21
9052我长久没研究,可能说不上什么了,不过如果怀疑是数据延迟,
就找个再慢一点的晶振,如果是时序不对,就用逻辑分析仪分析一 下,总之应该问题不大,别着急。 |
|
|
6楼#
发布于:2002-01-26 09:33
很着急!!
我装上 plxmon 及其驱动程序,读/写端口就正常了,不会出现数据丢失的情况。在 soft-ice 下直接读写端口也正常了。 但是加载我的设备驱动程序(将 plx 的驱动程序下载掉),读写却不灵! 在 soft-ice 下也不灵!! 按理说,我将映射的端口地址取回,在 soft-ice 下直接读写端口应该是与其他驱动程序相独立的,但不知为什么会有这种情况发生? 我大致阅读了一下 plx api 的源码,其 deviceiocontrol 采用了 overlap 结构参数,不知 io 访问是不是还有竞争一说? 有谁知道个中原由? |
|
|