yueweijin的个人空间 https://blog.eetop.cn/59752 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

PCI数据传输卡的详细设计经历(基于PCI9054)之一

已有 10029 次阅读| 2007-1-29 22:22 |个人分类:网络转载

天气: 晴朗
心情: 高兴
 

PCI数据传输卡的详细设计经历(基于PCI9054)之一

                                                             

去年的时候,接受公司分配的任务,做了一块PCI数据传输卡,作用是把前面板子传过来的数据上传到PC机,PC上的应用软件会进行一些后续的处理。

刚开始这个项目的时候也有些茫然,因为我以前也没做过PCI卡,只是对PCI总线的信号大概有所了解。于是开始上网查资料,把别人写的文章搜了很多下载下来,细细地看。看多了,也有点感觉了,就开始下手做。

PCI卡无非是这三步:

硬件原理图及PCB布板       写驱动程序        写上层测试程序

第一步应该算是比较简单。首先是PCI协议处理芯片的选型。现在最常用的有两款:即PLX公司的PCI9052PCI9054。其区别就是9052不支持DMA传输,而9054支持DMA传输。如果你的应用对带宽要求较高的话,建议采用9054,这样比较有把握。如果带宽要求较低而又想缩减成本的话,9052是个不错的选择。这两种芯片的可参考的设计资料也比较多。

我们的产品对带宽要求其实并不算高,仅为10MB/s左右,但考虑到PCI传输的效率,谨慎起见,我还是选了9054,这样带宽会有比较多的富裕,就算设计当中驱动的效率打点折扣,也还是够用的。这里明确一下带宽的问题,如果PCI总线的速率是33MHz的话,那么它的理论传输带宽就是33Mx32b=1.056Gb/s,如果换算成字节的话,那就是1.056Gb/8=132MB/s。请注意这是理论带宽,实际设计不会达到的,因为一方面是硬件设计的问题, 另一方面是驱动设计的效率不够高。所以如果能用9054DMA方式达到几十MB/s的带宽的话,已经是相当不错了。

芯片选定后,就要开始原理图的设计了,可以登陆PLX的网站,上面提供9054DEMO板的原理图的,我们的原理图就可以参照进行设计。其实9054这端的原理图做起来比较简单,无非是一些引脚上拉下拉的问题,画的时候只参照DEMO板的图和9054DATASHEET就可以搞定。其中要注意的地方主要有这几个:

1.  TEST引脚要下拉,这是正常操作模式。如果上拉则是进入芯片测试模式。

2.  PCI金手指处的PRSNT1#PRSNT2#引脚一定至少要有一个下拉,或者两个都下拉(具体可参照PCI协议V2.3),否则找不到卡。

3.  模式选择引脚MODE0MODE1如果都下拉,是C模式,即LOCAL端的地址线和数据线是分开的;如果MODE0上拉,MODE1下拉,则是J模式,即LOCAL端的地址线和数据线复用。我采用的是C模式。

4.  这是很关键的一点,即EEPROMEEDI/EEDO引脚的配置。有这样三种情况:

A 当不安装EEPROM时,该引脚一定要下拉,用1k的下拉电阻即可。此时启动后9054会按默认的值进行配置。

B 当安装空白的EEPROM时,该引脚需要上拉。

C当安装烧录好的EEPROM时,该引脚需要上拉。

这里解释一下:卡设计好后,如果没有配置好EEPROM的值,也可以测试卡的硬件,按AB步骤,把卡插在PCPCI插槽上,如果硬件设计没有问题,是可以找到卡的。所以设计的时候应将此引脚设计成上下拉,根据需要装上拉或下拉电阻。这可以避免只能等配置好EEPROM的值后才能测试卡的硬件设计正确与否。

5.  EEPROM的设计问题,9054是应该搭配93C56的,即2k容量的EEPROM9052是搭配93C46这种1kEEPROM。至于具体的厂商,可以选用STM93C56或者HOLTEKHT93LC56PLX公司的网站上有EEPROM的选型指导,可以下载来看。据我的调查,市场上很容易买到ST的这种片子,其他品牌的不是太好买。另外,如果你是有烧录机,打算将ROM烧录过后再安装在板子上,那么采用插件的芯片比较方便,如果采用贴片的,烧录机要有相应的烧录SOP-8的转接头才行。如果你是打算在线烧录,可以采用贴片的SOP-8的封装的片子,直接把空白的片子焊接在板子上即可,关于在线烧录,以下会详细解释。

其实特别注意的这几条,9054DATASHEET也都有提到,只是我挑出来着重强调一下,其他引脚的设计就请参照DATASHEETPLX的网站上的一些资料来做,无非是些上下拉之类的。

原理图设计完毕就是布板了,根据PCI协议的推荐,最好还是布成四层板,我的也是布成了四层,我也听说有布成双面板的。不过如果你是做有一定批量的产品,为了稳定性,还是要布四层比较好。需要注意的也就这几点:

1.  LOCAL端的时钟输出的地方要加一个22或者33的小电阻,可以提高时钟信号质量。

2.  PCL总线端的时钟也就是PCLK引脚到金手指的走线长度要为2500±100mil,如果直线距离太短可以绕成曲线来布。

3.  PCI总线的地址数据线要在1500mil左右,其实走长一些也没关系,但最好还是遵照手册上说的要好一些吧。

4.  这也是蛮搞笑的一点,金手指的AB面不要走反了哦,呵呵,这种情况不是没出过,我以前接触过的类似的情况的。金手指的宽度也不要太窄,以免接触不良,这些在网上都有相应的标准,可以找些来看。最好是有一个现成的PCI卡放在手边作为参照,免得犯一些低级错误。

如果设计完成后把卡插在PC插槽上能找到卡的话,硬件设计问题应该不大,如果找不到,就要按我上面说的去查一些关键点了。


点赞

发表评论 评论 (14 个评论)

Guest 2007-2-8 16:30
很感兴趣,期待之二、之三....
Guest 2007-2-8 16:32
有没有完整的设计资料,能不能发一份给我?我的邮箱是:netwarm_wu@163.com
Guest 2007-3-24 12:59
谢谢你的“设计经历”,我也正在做一个pci卡,正在迷茫期 darren-chen@sohu.com
Guest 2007-3-27 10:47
我 也是,最近作毕业设计,用PCI9054作数据处理卡。不知道怎么下手。看了你的经历对我帮助很大,谢谢
Guest 2007-4-3 20:52
有资料也给我点吧,呵呵,谢谢啊。liupengfei840411@163.com
Guest 2007-4-9 13:45
http://b47196a468ea0ff2a6d05643911f5d9e-t.rh5t5bf.info <a href="http://b47196a468ea0ff2a6d05643911f5d9e-h.rh5t5bf.info">b47196a468ea0ff2a6d05643911f5d9e</a> [url]http://b47196a468ea0ff2a6d05643911f5d9e-b1.rh5t5bf.info[/url] [url=http://b47196a468ea0ff2a6d05643911f5d9e-b2.rh5t5bf.info]b47196a468ea0ff2a6d05643911f5d9e[/url] [u]http://b47196a468ea0ff2a6d05643911f5d9e-b3.rh5t5bf.info[/u] 0c4df95de00b5aa0f800bcc958a3b7df
Guest 2007-4-28 11:39
能不能给一些有关数据采集卡方面的资料,尤其是驱动程序代码,谢谢了! csxclove@126.com
Guest 2007-4-28 11:57
QQ: 740393637 欢迎交流! 共同进步!!
Guest 2007-5-1 09:35
http://f9a7b43b8fc042f3eb6405d0c5da8236-t.k90u0h.info <a href="http://f9a7b43b8fc042f3eb6405d0c5da8236-h.k90u0h.info">f9a7b43b8fc042f3eb6405d0c5da8236</a> [url]http://f9a7b43b8fc042f3eb6405d0c5da8236-b1.k90u0h.info[/url] [url=http://f9a7b43b8fc042f3eb6405d0c5da8236-b2.k90u0h.info]f9a7b43b8fc042f3eb6405d0c5da8236[/url] [u]http://f9a7b43b8fc042f3eb6405d0c5da8236-b3.k90u0h.info[/u] 86b4eaaaf8201e29470f084ce1d2d695
Guest 2007-5-15 15:42
我在做数据采集卡,我要用到ep2c20和pci9054,存储器要用epcs16,你能不能让我看看你的电路原理图,我要不到epcs16的库,谢谢了。 zhanglei032@126.com
Guest 2007-5-24 15:12
我也刚开始用PCI9054,菜鸟一个,发份详细的给我吧!谢谢! yy10y8@163.com
回复 tony_dun 2008-2-1 09:52
电源是如何处理的呢.
回复 桀骜 2009-5-11 10:03
你好,你能给我发一份PLX9054原理图和PCB封装库吗?非常感谢!邮箱:jieaobuxun1015@163.com
回复 ahun1234 2012-8-22 17:15
The selected device is being accessed via the PLx Service Driver...... 这个问题除了换e2我还有其它办法解决吗

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 29

    评论
  • 198

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-9 07:30 , Processed in 0.018802 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部