mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1293回复:9

急!求救!!!

楼主#
更多 发布于:2003-02-12 15:50
诸位大侠使用9052时有没有遇到过这样的问题:
1,SRAM数据总线不受控。既通过WinDriver向板卡送数据,SRAM数据总线得到的是错误的数据。比如送3、7、BH等数据,8位数据线全高,但如果送0,则全部降为低。
2,SRAM地址总线部分受控。我采样地址线的低8位,其中低4位不受控,但高4位受控。既0~FH不受控;10H~F0H受控。但如果高4位、低4位同时变化,则又不受控。
3,当我通过WinDriver读相关内存空间时,死机;写没事。
4,我没有让9052外接时钟,9052采用的是33M时钟。当我通过WinDriver写相关内存空间时,#ADS,#WR,#BLAST均受控且时序正确。在配置中改变各项延迟信号都可以,通过示波器可以看到时序正确。

请高手一定要帮帮我,我现在是极度郁闷,欲哭无泪呀!
此外,谁有WinDriver的注册码可否借给小弟一用?我的机器用了30天就不让用了,还没办法重装,只好装在同事机器上。每天重启同事计算机n次,我俩都很郁闷。(眼看30天又要过去了)

最新喜欢:

mapoflmapofl
mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-12 16:22
我的板卡采用Non-Multiplexed Mode,Direct Slave Non-Burst,8Bit Local Bus工作方式。9052配置成:8位数据总线,BIG ENDIAN,Non-Brust方式BTERM#、LRDYi#无效。LHOLD、MODE接地。
此外,谁可以帮我解释一下Big Endian和Little Endian?谢谢!
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-12 16:56
BigEndian和Little Endian我可以给你解释一下:
其实这指的是数据在内存中的排列次序的问题。
我们以前学8086汇编的时侯老师总是说高高低低,说的就是在内存中,80x86认为高字节在内存中处于高字节,低字节在内存中处于低字节,例如:
a = 0x1234
b = 0x12345678
设一个内存基地址为0x0100
则按照上面的法则,a数据在内存中的排列次序为
0x0100:  0x34 0x12

b数据(0x12345678)在内存中的排列次序为:
0x0100: 0x78 0x56 0x34 0x12
用DOS下的DEBUG程序就可以观测出来。
以上这种数据在内存中排列的方法就称为 Little Endian

反之呢,就称为Big Endian,即:
0x12345678在内存中的排列次序为:
0x0100:0x12 0x34 0x56 0x78

ISO9660中提到的光驱文件格式中用到了这种排列。
Tom_lyd
asic_liu
驱动中牛
驱动中牛
  • 注册日期2002-04-26
  • 最后登录2004-11-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-13 09:17
拿原理图来看看!
家住虚无飘渺中, 本与世间无相争。 忽如一日刀兵起, 笑傲江湖一狂生。
mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-13 11:46
部分问题已找到,数据线、地址线上数据不受控是因为FPGA内部的3态信号写的有问题。目前写正常,但是读还是死机。
mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-13 14:03
目前的现象是:
读入一个字节时死机。我用WinDriver调试,先指定内存的偏移量,写入一个字节,然后再读出。读出的数据是正确的,但是死机了,每次都是这样。
因为读出的数据正确,所以排除地址线出现错误指到其他内存空间。示波器观察ADS#,BLAST#信号是完整的。但LHOLDA常低,不知是否正常?

可有高人解释一下LHOLD与LHOLDA这两个信号?不胜感激。
domore
驱动中牛
驱动中牛
  • 注册日期2002-04-06
  • 最后登录2008-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-02-14 09:51
 
可有高人解释一下LHOLD与LHOLDA这两个信号?不胜感激。

 


LHOLD 是一个输入信号,为低时9052占有局部总线,应由局部总线上的CPU来驱动。
LHOLDA为输出信号,9052在出让局部总线时会驱动它。
这是我的理解。
不过我可不是什么高人啊。
mustang
驱动小牛
驱动小牛
  • 注册日期2002-05-17
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-14 10:28
to domore:
你好,我目前的做法是让LHOLD接地,在写数据时通过示波器看到LHOLDA永远都是低电平。按照data sheet的解释,9052永远都需要LOCAL BUS,因为“it signals a preempt by de-asserting LHOLDA”。这有问题吗?
还有我的板卡上9052是与FPGA相连的。因为现在写正常,读不正常,所以我将FPGA的电源断掉。这样就等于9052的输入输出是悬空的,可以排除FPGA内程序出问题导致死机。此时对9052操作应该不受其他影响,但是只要读操作,还是会死机。我现在已经没有什么思路了。你认为读操作与写操作的区别在哪里呢?
还有,我已经把分都给出去了,我会另开新帖给分的。
domore
驱动中牛
驱动中牛
  • 注册日期2002-04-06
  • 最后登录2008-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-02-14 10:46
LHOLD直接连到地表明9052要一直占用局部总线,相当于它是局部总线上唯一的“CPU”,这是就不存在9052出让局部总线的问题了,也就是说LHOLDA这个信号就不用管了,可以不接。
我觉得你出的这个问题与LHOLD和LHOLDA无关。但具体是什么原因,我也说不好。
sunyou120
驱动牛犊
驱动牛犊
  • 注册日期2002-10-23
  • 最后登录2005-04-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-02-14 12:32
有没有大侠用过LHLD不是一直 接地的设计?如果需要申请总线控制权,要注意些什么呢?!
游客

返回顶部