louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1452回复:11

请教PCI高手...救命...

楼主#
更多 发布于:2003-09-15 10:22
小弟正在调试我的PCI数据采集卡,遇到以下问题,不甚明白请各位PCI高手指教!
在用PCISDK对PCI9054进行DMA操作(用PCI COMMON BUFFER)测试过程中,问题如下:
1、PCI COMMON BUFFER初始化
   在PCI COMMON BUFFER中预存储16个字节的数据,这16个字节均为0X88
2、初始化PLX SDK API中用于DMA块操作的有关函数
3、DMA块操作,方向:PCI---LOCAL
4、用PLXMON中的MEMORY对话框读取S0,结果如下:
   88F8   A8FA   88F8   A8F8   88F8   88F8   A8F8   88F8
   另外,每按一次ReadBlock按钮,上述数据有所变化
5、DMA块操作,方向:LOCAL---PCI
   查看PCI缓冲区的存储数据,结果如下:
   FFFF   F888   F888   F888   F888   F888   F888   F888
   (小弟用的是12位的模数转换器,故只用了PCI9054本地总线上的LD0~LD11,PCI9054工 作在C模式下,本地时钟频率为20兆赫兹。存储器为IDT公司的双口RAM---IDT70V7339)
请问这是何原因?谢谢你的指点!
   另外,用WinDriver检测板卡并读写存储器时(只进行了32个字的实验),大部分数据读写正确,只有几个不正确。 可是用Windriver的Samples中的PCI9054诊断程序却发现写入与读出的数据几乎没有什么关系(无论写入什么,读出均为0xffff)
  求求各位大虾和PCI高手,指点指点....
 :mad:

最新喜欢:

woaidaimiwoaida...
y9387
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2007-09-20
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-15 17:05
请问楼上大哥有没有PCI的开发资料,小弟想做一个虚拟示波器,想自己做一个PCI的数据采集卡,希望你能帮帮我,谢谢!
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-16 19:58
请问需要什么东西?
电子邮件地址
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-16 20:00
怎么没有人回答小弟的问题雅?快点救救我把!
ljn
ljn
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2004-12-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-17 19:45
你的情况和我很类似哦,我现在情况也差不多。我做了一个板卡,奇怪的是我的s0读写都是死机的,s1就没问题了。
我用了PLX公司提供的标准板,两个空间读写都没问题,奇怪的是,在测试dma传输的时候,我自己用windriver写的,发现:无论我是否屏蔽s0空间(由于标准卡上s0和s1空间物理地址都是相同2000 0000H),我对是s1
写数据,总是只有低16位有效,高16位不定。用plxmon每读一次也是会发生变化,而且,在去读s0,数据保持的很好,不会变化的。我用的数据位数是8位,idt7006的dpsdram。现在也不知道什么原因,也是很郁闷的。
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-19 19:08
我用的存储器是双口RAM,我将它的高低字节使能信号UB、LB字节接了地
而没有与9054的本地字节使能信号LBE3# LBE0#连接原因是否是因为这个原因?兄弟咱们多多交流吧!对了你的卡是作甚么用的?
ljn
ljn
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2004-12-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-09-22 11:58
是不是lbe[3:0]#问题我不知道,我看plx的demo卡,我看到它用的是32位的数据位,所以它把lbe和sdram的数据位控制信号连在一起,由cpld控制的。不知道有没关系,我的卡类似数据采集,dma进行实时处理的。我的qq:10807082 ,晚上有在。。。
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-09-24 09:42
兄弟, 你的问题解决了吗?
niwenchuan
驱动牛犊
驱动牛犊
  • 注册日期2003-06-05
  • 最后登录2005-08-11
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-01 22:29
如果你用FPGA来实现的话,我也许能帮你,我前段时间用XILINX SPARTAN2 30来实现,全部为自己用VHDL实现的,如果你真的想弄PCI的话,最好用FPGA来做,因为接口芯片很贵,在实际用时,你还要加额外的芯片才能完成你的板卡功能。
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-03 21:51
我的VHDL水平比较烂呢用FPGA设计PCI接口对我来说太难啦
louis_hioe
驱动小牛
驱动小牛
  • 注册日期2003-04-23
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-10-07 22:05
ljn老兄,我得问题已经解决拉好高兴哦
luyaoxin
驱动牛犊
驱动牛犊
  • 注册日期2003-01-17
  • 最后登录2004-10-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-10-08 20:53
1.若是读写双口RAM,必须保证读写时钟是否同步,如果时钟与数据不能保持同步,你的数据就有可能不正确
2.你的双口RAM的地-PIN 是否焊接牢靠,如果地线不稳,也会出现这种现象
  调试方法:你可以用示波器观察连续发送数据块的波形,然后看时钟是否与它同步

3.你可以发送55AA测试你的RAM的数据线是否正常,否则也可能有数据线被压住的现象
4.你可以观察LBE(0-3)是否存在时序配合问题
我只能提供以上的一件给你,我觉得你的数据不稳,只要有一次是正确的,可能就是时序配合不准,你需要在你的相关电路中加延时环节,或则反相试试
testsmart
游客

返回顶部