jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1435回复:10

PCI9052中CS的问题

楼主#
更多 发布于:2004-02-17 23:01
设定的CS0和CS1有什么讲究吗?我的CS0的地址设定在LOCAL SPACE 1中,LS1是IO访问的,但现在对CS0的地址范围内的地址写,CS0没有反应,这是怎么回事?谢谢。
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-18 22:41
没有朋友了解这个基本问题吗?我从DATASHEET上看的是CS0所在的地址范围一定要在LOCAL SPACE内,不管是哪个LS,现在由EEPROM确定的,PCI给板卡分配的空间是LSA1是0xe400-0xe4ff,CS0BASE是0xe405,请问这样设置有问题吗?
我现在的情况就是向0xe404或附近其它的地址写数,CS0没有任何变化,请问这是什么情况,万分感谢,已经困扰了我近一周了。
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
jpl1978
驱动小牛
驱动小牛
  • 注册日期2002-03-31
  • 最后登录2008-01-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-20 14:39
我现在上班,完上回去我给你设定。ok
满意的话,请给分! 互相学习,互相前进
jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-20 14:48
好,谢谢您,晚上我一直在线等着您的消息,谢谢。
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
jpl1978
驱动小牛
驱动小牛
  • 注册日期2002-03-31
  • 最后登录2008-01-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-20 19:14
你还得看看书,本地地址空间0,1,2,3分别有4个寄存器来设定(如本地空间0由LAS0RR,LAS0BA,LAS0BRD,CS0BASE设定。)
你一会儿LSA1,一会儿CS0当然不行了。我给你一个设定这4个寄存器的文档。
附件名称/大小 下载次数 最后更新
2004-02-20_configuration_registers_an.pdf (56KB)  14
满意的话,请给分! 互相学习,互相前进
jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-02-20 22:47
不行啊,我按下面这个样子写入EEPROM:eep  0 905010b5 echo PCIIDR; Device ID, Vendor ID
eep  4 06800002 echo PCICCR; Class Code
eep  8 905010b5 echo Subsystem ID, Subsystem Vendor ID
eep  c 00000100 echo Maximum Latency, Minimum Grant, Int Pin, Int Routing
eep 10 fffe0000 echo LAS0RR; Local Address Space 0 Range
eep 14 ffffff01 echo LAS1RR; Local Address Space 1 Range
eep 18 fffffff1 echo LAS2RR; Local Address Space 2 Range
eep 1c 00000000 echo LAS3RR; Local Address Space 3 Range
eep 20 00000000 echo EROMRR; Expansion ROM Range
eep 24 00000001 echo LAS0BA; Local Address Space 0 Base Address (Re-Map)
eep 28 000f0001 echo LAS1BA; Local Address Space 1 Base Address (Re-Map)
eep 2c 000ffff1 echo LAS2BA; Local Address Space 2 Base Address (Re-Map)
eep 30 00000000 echo LAS3BA; Local Address Space 3 Base Address (Re-Map)
eep 34 00000000 echo EROMBA; Expansion ROM Base Address (Re-Map)
eep 38 000000a2 echo LAS0BRD; Local Address Space 0 Bus Region Descriptors
eep 3c 00400022 echo LAS1BRD; Local Address Space 1 Bus Region Descriptors
eep 40 00400022 echo LAS2BRD; Local Address Space 2 Bus Region Descriptors
eep 44 00000000 echo LAS3BRD; Local Address Space 3 Bus Region Descriptors
eep 48 00000000 echo EROMBRD; Expansion ROM Bus Region Descriptors
eep 4c 00010001 echo CS0BASE; Chip Select 0 Base
eep 50 000f0081 echo CS1BASE; Chip Select 1 Base
eep 54 00000000 echo CS2BASE; Chip Select 2 Base
eep 58 00000000 echo CS3BASE; Chip Select 3 Base
eep 5c 00000039 echo INTCSR; Interrupt Control/Status
eep 60 00200003 echo CNTRL; User I/O, EEPROM, Init Control
往CS1的地址范围内的0Xf00f9写数,但CS1还是没有变化。
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-02-21 12:27
好了,有几点不明白,现在全说了吧:
1、9052的说明中明确写着CS0跟任意一个LAS没有直接的关系,但为什么CS0跟LSA0、CS1跟LSA1一定要有您所说的那个关系呢?
2、我按我上面的那个EEPROM编程,发现无论我LSA1BA设定什么值,计算机分配给的空间都是0xe400-0xe4ff,这是怎么回事?按说我的LSA1BA设定的是0xF0001的话,分配的空间至少要在0xF0001之上啊,不太明白。
3、按照上面的,我向0xe400-0xe4ff中的任何地址中写数,出现的情况是:CS1变低(终于低了,老天),但同时死机,也就是说,CS1一直为低了,而CS0没有变低,说明应该是向此地址写数影响到CS1变低的,但为什么会死机就不懂了。
4、说明:0xe400在我修改EEPROM之前计算机就分配的这个地址,但现在还是这个地址,计算机同时还分配的地址有0xe000-0xe00f,0xe800-0xe80f。
谢谢。
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
jpl1978
驱动小牛
驱动小牛
  • 注册日期2002-03-31
  • 最后登录2008-01-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-02-21 16:22
1.CS0跟LSA0、CS1跟LSA1有关系的
2.0xe400-0xe4ff是pc虚拟内存地址,0xF0001使本地地址,两个概念,两则只有空间一样大小。
你的本地空间0LAS0RR,LAS0BA,CS0BASE配置是对的,不知你本地空间0连的是什么东东,故不能确定LAS0BRD。
满意的话,请给分! 互相学习,互相前进
jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-02-21 16:50
BADDR0:dffeff80
BADDR1:e801
BADDR2:dffc0000
BADDR3:e401
BADDR4:e001
BADDR5:0
我现在只是想向CS1对应的地址中送数,然后CS1出现正常的低电平,请问应该在程序里向什么地址送数呢?
下面是我套用了windriver中的程序的写数据的函数,您看应该写什么值呢?
P9050_WriteSpaceDWord(hPlx, P9050_ADDR_SPACE1, 0x001, temp);//向CS1写数

[编辑 -  2/21/04 by  jj_pp]
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
jpl1978
驱动小牛
驱动小牛
  • 注册日期2002-03-31
  • 最后登录2008-01-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-02-21 17:20
0x001,为偏移地址。temp为值。
满意的话,请给分! 互相学习,互相前进
jj_pp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2004-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-02-21 17:46
不懂您的意思,我的意思是您告诉我,如果我向CS1写数的话,应该写什么地址,那段函数中的变量是我加进去的,但我不知道它的值对不对,按照我上面说的内容,出现的情况是CS1变低,但是死机了。
如果我问了问题,麻烦帮忙回答一下吧,我会给分的,谢谢; 如果我回答了你的问题,麻烦帮忙给我分吧,这样我才有继续回答的热情,不谢。
游客

返回顶部