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