dengyih
驱动牛犊
驱动牛犊
  • 注册日期2004-11-02
  • 最后登录2004-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1930回复:2

9054调试手记

楼主#
更多 发布于:2004-11-21 22:42
今天,我们的9054板终于可以在win2000下找到,并可通过WINDRIVER进行寄存器读写了。回忆在这些天的调试过程的酸甜苦辣,觉得有必要对先行者表示敬意,和对后来者鼓励。将这几天来的调试手记与大家分享,希望大家对其间不对的地方不吝指出。

我们的开始并不顺利:
1。我们做了两块9054信号发生器板,一块用了EEPROM,一块没用。
2。我们有两台机,都是P4,一个是微星845gv,一台是华硕的。
开始,我们用微星的进行实验。两块板分别插入,情况都是一样的。根本看不见机器自检,等了半天才在显示器的左上角看见一个下划线在闪动。唯一庆幸的是,没有冒出清烟。
接下来,我们换了另一台华硕的,它用的是Award Plug and Play BIOS Extension V1.0A的BIOS。在启动时,一阵惊喜,因为看见了久违的RAM的跳动的自检,然后提示PNP Init Completed。接下来时对硬盘等的检测。经验告诉我,不可能这么快就成功的。果然,硬盘检测完,机器就不动了。如上一个一样,一个小光标在Detecting Secondary Slave ... None 的下面闪烁着。
怎么回事呢?
我们将卡拔了出来,如果正常的话,硬盘检测完后,应该是CPU,内存等的列表,往后是PCI Device listing...
仔细观察,我看见每一个PCI设备的条目下都有IRQ的分配,它告诉我一个很重要的信息,也就是PNP的初始化是在计算机启动自检时就已经完成了,我以前一直以为这个工作是在WINDOWS下完成的。这就解释了为什么WINDRIVER等工具,可以不需要驱动时就可以枚举所有PCI设备了。

碰到问题并不是坏事,它促使我们要对事物有更深的了解。
在网上,我们收集了许多有关9054不能启动的问题,两天下来,只有一个念头,本网站是最权威,最专业的,对前辈们,我要再次致以深深的敬意。如果没有他们前面的开拓和不吝地将经验分享,我们的板子不可能如此快就有起色,谢谢了。
只要耐心,你可以在本站找到不下50篇的9054调试手记,我就不一一列举,只将一些共性的东西写写:
1。EEPROM的问题,有EEPROM时,EEDI/DO的管脚电平的上拉还是下拉。
2。READY的电平问题。
3。TRDY的下拉问题。
4。PCICLK,LCLK问题。
5。TEST问题。
6。LHOLD,LHOLDA的问题。
本站有多篇关于这些问题的回答,我想写的是我们在调试过程中对板子调试的结果。


调试过程
1。我们调试的是那块没有EEPROM的板子。因为有帖子说最好是烧好EEPROM后再调,但我们没有条件烧,所以没采纳这个方法。也有帖子说没有EEPROM也可以启动,我们就坚定了信心。

2。没有EEPROM的情况,DATASHEET上说应该将EEDI/DO下拉。网上多篇帖子也是如此说的。于是我们将原来按RDK设计的电路中,上拉的电阻焊了下来,只保存着下拉电阻。
但当插上后,问题依然故我。

3。用示波器看PCLK和LCLK。发现PCLK的频率是33.3MHZ,没问题。而LCLK的却是90MHZ。明显不对。我们用的是CY2308做时钟缓冲,发现其输入的有源晶振没有起振。其电压正确,接地正确。但为什么不能启动呢?
原来晶振有一端叫NC的,那个管脚必须悬空,我们把它接地了。解决了这个问题。满心等待着奇迹的出现。
开机,问题依然。但用示波器看LCLK,已经正常了,40MHZ,我们晶振的数值。

4。正发愁中,一帖子说到,要将READY#下拉。READY#是LOCAL BUS的信号线,如何就影响到PCI BUS端呢?姑且一试吧。
原图――RDK上,READY#是有一个上拉电阻的,因为它是低电平有效,此一来,READY#岂不总有效?它是当数据进行传输时,LOCAL BUS给PPLX9054的线,在ADS#有效后,BLAST#有效之间,数据传输时有效的。
我们将READY#接地了,但开机问题依然。除了沮丧外,没有别的。

5。TRDY#
我们将TRDY#按一篇帖子上说,下拉。因为没有在设计是考虑这点,于是直接在金手指的地方,将它和旁边的GND短路了。
这回更糟!计算机根本不能启动,更不要说是自检了,只看见显示器的黄灯不断闪烁,说明压根就没有显示信号。(正常显示时,是绿灯的。)

6。下午,看了一篇帖子,说,将LHOLD和LHOLDA碰一下,就可以通过自检,并启动了。
于是在板上焊出两条飞线,当机器自检到不动时,碰了一下。
机器出现了与原来截然不同的结果。竟然重启了。^_^

7。于是又按另一篇帖子说的做,将TEST上拉一下。
从PROTEL上找到TEST线,发现我们的板子直接将TEST接地了,如何是好?再看看RDK的图,发现人家是在TEST处接了两个电阻,一个大电阻上拉,然后一个零电阻接地。我们原来是省了些事,没又做这件事。如何是好?

8。没则了。军,直接将LHOLD和LHOLDA的两根线绑了起来。插上,开机。机器居然自检通过了,但在PCI Device listing上却看不见它的DEVICE ID和VENDOR ID。
接着,WINDOWS2000启动,启动完毕后,系统发现新硬件,正是9054。

这就是我们的经历,我问军,你怎么知道要将LHOLD和LHOLDA绑起来?他笑笑。我想这可能就是叫做灵感,或叫做天分了。

回想一下,其实这样做也是有道理的。因为我们在9054后接的是FPGA,而且还没有给它配置呢。在系统初始化时,主机要来读9054,99054需要LOCAL BUS的支持,而READY#,LHOLD和LHOLDA正是重要的线路。

前面是我们调板的一些经验,有不对的地方,恳请指正。
接下去,我们要为它写驱动了,若有兴趣,我还会再贴的。

zhouandraw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-19
  • 最后登录2005-10-21
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-23 11:23
ding一个,同时感谢!

我也用9054做的板子,才投出去,估计下周就可以做硬件调试了。

这篇调试手记对我这样才开始搞硬件的很有帮助。
扒皮周
ythweb
驱动牛犊
驱动牛犊
  • 注册日期2002-03-31
  • 最后登录2013-08-04
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望32点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-25 19:46
强烈支持!
游客

返回顶部