搜索
bottom↓
回复: 9

PCI总线及PCI9030 Compact PCI开发心得【恢复】

[复制链接]

出0入0汤圆

发表于 2008-12-3 16:08:22 | 显示全部楼层 |阅读模式
PCI总线及PCI9030 Compact PCI开发心得(我和我哥们的作品) 开发了一款16通道14bit 50M采样率的COMPACT PCI采集卡,下面是我哥们写的心得,大家可各取所需。



 



研究PCI总线的接口卡已近10年,仅涉及到从模式,没有研究过主模式,稍有遗憾。如今采用PCI9030设计了Compact PCI接口卡仍有不少感触,写下来,也作小结。



初始软件编程多一些,Fortran、TURBO C 2.0、BORLAND C++,现在使用Visual C++,偶尔VB,Delph。硬件初学51单片机,使用TANGO3.0设计原理图和PCB,汇编编程,深入研究RS232接口。后来转到ISA接口,作ISA接口卡。1998年,开始关注PCI总线,读PCI协议,当时中文资料少,只好看英文原版;同时研究PCI接口芯片,选定PCI9052,从此和PLX结缘。



2001年,对USB接口感兴趣,使用USB9004研究USB1.1接口,从美国找人捎来的芯片,现在还库存2片。还是51单片机,采用PROTEL98设计原理图和PCB。USB1.1接口的英文协议看了很多遍,特别是第9章(如果没有记错的话)。51汇编编程,使用RS232和超级终端查看调试信息。Fireware调通,数据读写都没有问题,问题在设备驱动程序。WIN98可以支持VxD和WDM两种设备驱动程序,先研究了VxD,没看懂,放弃了;再学WDM,买了市面上所有的书,研究了microsoft的例程,感觉全懂了。改造了一个USB设备驱动程序,一插上卡就蓝屏,再没动过。



2002年,再次回到PCI,使用PCI9052做了AD采集卡,PROTEL99设计原理图和PCB,硬件一次成功。先用windriver作设备驱动程序,后来看到了武安河的书,改用driverstudio。由于WDM深入研究过,瞬间编好设备驱动程序,中断也顺利调通。后来偶尔碰到蓝屏,用SoftIce简单调通。虽然起步晚,但过程顺利,信心大增。



2003年Altera的Cyclone FPGA出现,感觉是好东西,伴随Quartus II 4.0接触PCI IPcore,对其蠢蠢欲动。直到2005年,才使用Cyclone ep1c6 240管脚设计了PCI卡。ep1c6与金手指间设计了Altera推荐的电平逻辑转换芯片。由于没有买到上述芯片,只好选择了自认为功能完全兼容的芯片。FPGA的功能一次调试成功,但是使用JTAG调试Altera的Target PCI IPcore一直没成功。2006年,狠心买了一块ep1c3 144管脚的PCI卡,主要看中了免费的PCI IPcore。收货后,发现该卡上竟然没有PCI电平逻辑转换芯片。将其IPcore用到自己的PCI卡上,仍然不通。愤然将卡上的电平逻辑转换芯片焊掉,飞线直连金手指,竟然通了,兴奋。



2007年,因项目需要,采用ep2c5 208管脚设计了PCI接口卡,使用DXP2004设计原理图和PCB(库比较全),采用的是Lattice免费的Target PCI IPcore。硬件和PCI IPcore很快调通,但在实现具体功能上,由于疏忽耽误很多时间。Lattice免费的Target PCI IPcore提供一个IO口映射,一个Memory口映射,一个中断。很奇怪,直接编译的IPcore不好用,但是将局部总线宽度改了一下就好了。但好用的只是Memory口映射,IO口映射和中断至今没调通。还好利用查询方式足以满足项目的要求,也没有太多的时间和精力再研究了。然而将该卡查到工控机上,竟然识别不出。至此意识到PCI电平逻辑转换芯片的重要。PCI总线(服务器除外)是5V电平协议,Altera FPGA IO管脚是3.3V电平协议,没有电平转换芯片的PCI卡在PC机上玩玩还可以,真正在工业场合,还是要考虑更稳定的方案。



鉴于上述原因,2008年重新选择PCI桥芯片。项目已决定采用Compact PCI机箱,发现PLX的PCI9030是最佳选择。原以为PCI接口很快接可以调通,没想到在几处小地方耽误了大时间,主要还是轻敌,PCI9030说明书没仔细看。下面把遇到的主要问题写一下:



1.  PCI9030说明书中明确指出当没有外加配置芯片时,会使用默认配置(PCI9052确实如此)。没想到,根本不是这样。由于对说明书深信不已,调整了板子上众多的上拉下拉电阻,排列组合多次,也没成功。板子没有采用Hot Swap功能,PLX的参考电路实际意义不大。PCI9030说明书对与Hot Swap相关的管脚说明也似是而非,耽误了很多时间。后来,干脆焊上了配制芯片(表贴的,所以坚持到最后才焊),使用了PLX的参考电路的配置内容,马上成功,系统立即识别出板卡(启动时没有显示,进入Windows后才发现新硬件)。真后悔相信了PCI9030说明书。回过头再排列组合上拉下拉电阻,对板子功能基本没有影响,上火。



2.  采用PLX的参考电路的配置内容,读写局部总线存储器,总是有问题,十分迷惑。花费很长时间调试读写局部总线的FPGA程序,总是不对。后来,采用Altera Quartus II 7.2的SignalTAP II查看PCI9030局部总线读写时序,发现了问题:PLX的参考配置开启了PCI9030局部总线读写的等待功能(Read/Write Data-to-Address wait)。关闭该功能后(LAS0BRD:28h寄存器),一切顺利,没再出什么问题。PLX真实多此一举。



 



 



注:对CPCI总线的Hot Swap功能感触



Hot Swap功能确实好,热插拔。本设计中没有采用,原因有2:



1,  没有人会没事热插拔CPCI总线板卡;



2,  实际中布线太难。CPCI插槽中,和Hot Swap功能有关的电源、控制、状态针多集中在1~5列,即靠近板子下边缘的一端,没有空间再放置Hot Swap电源控制芯片。要实现Hot Swap功能,上述信号、电源线要引到板子上面的某个空位置,没有个6层板很难实现,费用太高。CPCI协议对总线布线的要求很高,加个几乎没用的Hot Swap功能,不值。





CPCI采集卡,只焊接了接口芯片部分 (原文件名:CPCI-1.jpg) 







CPCI采集卡,只焊接了接口芯片部分 (原文件名:588282701325794112.jpg) 





本贴被 Friendz 编辑过,最后修改时间:2008-12-03,16:13:50.

出0入0汤圆

发表于 2008-12-4 22:02:50 | 显示全部楼层
楼主是学水声的么?

出0入0汤圆

 楼主| 发表于 2008-12-5 21:52:02 | 显示全部楼层
呵呵,谢谢捧场。

我们学校很多研究水声的,但我不是搞水声的,我主要是搞激光雷达的、光电子信号处理的。

出0入0汤圆

发表于 2010-5-17 20:31:09 | 显示全部楼层
平时用PCI9054的较多。

出0入0汤圆

发表于 2010-6-8 21:50:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-14 18:37:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-23 00:01:03 | 显示全部楼层
回复【楼主位】Friendz  
-----------------------------------------------------------------------

楼主,我最近也在做PCI9656的驱动,楼主能把你的驱动源码发过来,我想仔细学学,我现在对地址映射和DMA传输不太懂,请楼主多指教。
e-mail:lxqcumt@qq.com

出0入0汤圆

发表于 2011-2-23 00:01:13 | 显示全部楼层
回复【楼主位】Friendz  
-----------------------------------------------------------------------

楼主,我最近也在做PCI9656的驱动,楼主能把你的驱动源码发过来,我想仔细学学,我现在对地址映射和DMA传输不太懂,请楼主多指教。
e-mail:lxqcumt@qq.com

出0入0汤圆

发表于 2011-2-23 00:01:27 | 显示全部楼层
回复【楼主位】Friendz  
-----------------------------------------------------------------------

楼主,我最近也在做PCI9656的驱动,楼主能把你的驱动源码发过来,我想仔细学学,我现在对地址映射和DMA传输不太懂,请楼主多指教。
e-mail:lxqcumt@qq.com

出0入0汤圆

发表于 2017-2-18 19:07:43 | 显示全部楼层
挖坟 学习 谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 13:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表