当前位置:首页 > 工业控制 > 电子设计自动化

  摘 要: 一种在计算机工业测控系统中应用FPGA和软IP核实现PCI总线接口的方法。重点介绍了本地总线读写状态机的设计,3.3V FPGA兼容PCI2.2、5V规范的电气设计及其时序和布线问题,并给出了使用嵌入式逻辑分析仪实际捕获的信号时序。实验证明,该结构的PCI接口测控系统工作稳定可靠。
  关键词: 现场可编程门阵列 IP核 PCI总线


  PCI总线是高性能的32/64位同步总线,具有严格的规范保证数据传输的可靠性,为处理器与高集成度的外围设备提供高速安全的接口,是迄今为止最成功的总线规范之一。
  由于PCI总线协议非常复杂,目前实现PCI总线接口主要使用两种方式:(1)采用专用接口芯片,如AMCC公司的S5933和PLX公司的9054、9080。使用接口芯片开发人员可以不考虑PCI接口的实现问题,但是在实际应用中通常只用到接口芯片的部分功能,造成了资源的浪费。同时接口芯片占用了板卡上的有限空间,给应用设计带来不便。(2)使用可编程逻辑器件实现PCI总线控制器。使用这种方式开发难度大,消耗周期长,系统验证困难,且不具备通用性。
  随着IC产业的迅速发展,传统的、基于标准单元的数字IC设计方法已经发展到基于IP(知识产权)复用的SoC设计方法。根据实现的硬件描述级的不同,IP核分为软核、硬核和固核。其中软核是采用可综合的HDL实现的RTL级设计,与具体实现工艺无关,相比于固核和硬核具有较大的灵活性。在FPGA中定制PCI接口软核实现PCI接口控制具有明显的优势:可以在单片FPGA中同时完成PCI接口和用户逻辑的设计,缩减成本,提高集成度,减少资源浪费;实现32/64位的PCI、PCI-X及兼容Compact PCI的PCI主设备/目标设备接口;消除PCI接口芯片与本地通信的信号线的硬线连接,提高用户逻辑设计的弹性,降低因硬件设计不当造成的损失;统一设计工具和平台,缩短开发周期。
  本文应用PCI接口控制IP实现了PCI多卡测控系统中PCI总线到本地总线的转换。实际应用表明,采用此设计方案的PCI卡运行稳定可靠。
1 应用背景
  本文的应用背景为某一工业测控系统。该系统采用FPGA实现测量数据的采集和控制信号的输出,通过定制PCI接口IP实现一个32位目标设备的PCI总线接口转换。PCI核选用Altera PCI编译器所包括的pci_t32兆核函数。FPGA选用Altera公司的Cyclone系列芯片ep1c6q240c8,以配合32位/33MHz的PCI接口的I/O标准和速度要求。在硬件设计上,为保证3.3V FPGA对PCI 2.2、5V总线的兼容性要求,在PCI总线接口与FPGA引脚间加入总线开关进行电平转换。由于系统应用在工业生产控制场合,因此FPGA与外部数据的I/O接口间需加入光电隔离器件以增强系统的抗干扰能力。系统结构如图1所示。


2 PCI接口兆核函数
  Altera的PCI编译器(PCI Compiler)提供了使用Altera器件实现PCI接口设计的完全解决方案,包括4个32/64位、主/从模式PCI接口控制器兆核函数(即接口IP)及相关测试平台。通过选择合适的芯片速度,可以满足运行在33MHz或66MHz PCI时钟下的时序要求。支持Altera的Stratix Ⅱ、Stratix、Stratix GX、Cyclone、Cyclone Ⅱ和MAX Ⅱ系列器件;支持PCI配置空间读写、内存方式读写和I/O方式读写;支持预先读取模式;支持可参数化的配置寄存器,包括参数化的设备信息、6个可变长度的基址空间和一个扩展ROM空间;具有奇偶校验检错;支持PCI终止、重试和断开作业及中断操作,并提供灵活的本地端接口。pci_t32兆核函数是32位目标设备控制器,其结构和总线接口信号如图2所示。


  在PCI总线端,IP核提供32位数据线和目标设备控制信号、中断请求信号及错误报告信号;本地总线端提供32位数据线和地址线、控制信号、中断输入信号和状态表示信号接口。其中,本地端信号l_adi为地址/数据输入,l_adro为地址输出,l_dato为数据输出,l_beno为字节使能输出,l_cmdo为本地命令输出。控制信号lt_abortn、lt_discn和lt_rdyn为本地端输入,分别标志本地设备终止、断开和准备好,lt_framen、lt_ackn和lt_dxfrn为目标传输控制信号,相当于PCI总线的frame#、devsel#和trdy#。lt_tsr为目标作业状态寄存器输出。lirqn为中断输入信号。
  可以通过PCI编译器IP工具台或编辑兆核函数头文件的方式修改PCI配置空间信息。本系统PCI兆核函数的配置信息如下:
  CLASS_CODE=24′hFF0000
  DEVICE_ID=16′h1100
  VENDOR_ID=16′h1172,为Altera的厂商编号
  REVISION_ID=8′h01
  BAR0=32′hFFFFFC00,BAR0空间为1KB,使用内存方式读写
  NUMBER_OF_BARS=32′h00000001
  INTERRUPT_PIN_REG=8′h00,未使用中断
3 本地总线读写状态机
  在用户逻辑中,通过总线读写状态机实现内存方式单周期或迸发读写、I/O单周期或迸发读写以及在设备不能完成作业时发起(目标)或响应(主)终止、断开或重试等作业,保证PCI作业正确结束。以带迸发模式的内存读写作业为例,作为目标设备的本地总线读写状态转移图如图3所示。


  IDLE为设备空闲状态。
  ADD_LATCH为地址锁定状态。lt_framen有效表示IP核接到一次PCI读写作业并启动本地端做出响应,此时目标设备锁存地址l_adro及命令l_cmdo,并对命令做出解释。l_cmdo的值为6,则进入MEMORY_READ状态;为7,则进入IP_READY状态;其他值,则使能lt_discn并进入RETRY状态。
  MEM_READ为内存读作业状态,lt_ackn有效驱使目标设备将数据放到总线上;如为迸发方式,则lt_rdyn和lt_dxfrn持续有效,驱使目标设备连续将地址相连的数据输出。如目标设备在迸发作业中需延缓迸发作业,则可使lt_rdyn无效来加入等待周期,此时状态机回到ADD_LATCH状态,直到目标设备再次准备好,并同时使lt_rdyn有效并输出数据。
  RETRY为设备重试状态。在作业开始,目标设备尚未准备好发送或接收数据,则发起一次重试作业,即在lt_framen有效后使lt_discn有效并等待主设备结束作业。
  DISCN为设备断开状态。在迸发读写作业中,目标设备检测到地址超出有效范围,则发起目标断开作业;在迸发写作业中断开,在最后一次有效写数据前一时钟使lt_discn有效。在迸发读作业中,将最后一个数据放在总线上的同时使lt_discn有效。
  IP_READY为内存写操作IP核准备传输数据状态。
  MEM_WRITE为内存写作业状态。在同时使能lt_rdyn后等待lt_ackn和lt_dxfrn有效时读取总线上的数据l_dato,迸发写或加入等待周期的时序与读作业类似。
  STAT_CHECK为状态检测。lt_ackn和lt_dxfrn同时无效标志着内存单次/迸发读作业完成,然后检测作业状态寄存器lt_tsr并返回IDLE状态。
  在每一次作业开始,都启动计数器,防止操作超时。
  使用SignalTap II嵌入式逻辑分析仪实际捕获的PCI内存读写作业的PCI和本地总线信号时序图如图4所示,采样时钟为PCI总线时钟。


4 PCI电气特性要求设计
  由于目前绝大多数主板采用5V的PCI规范,而Altera的Cyclone系列FPGA的I/O口电压只支持3.3V,因此需要在FPGA和PCI连接器间加入电平转换电路。
  实现电平转换的原理是在总线间加入NMOS总线开关,实现方式如图5所示。


  其中总线开关选用IDT公司的QS3861。首先,考虑电平转换的实现方法。当总线选通信号BE#使能,总线A的输入电压上升,总线B的电压随之上升。当总线A的电压超过vcc-Vt(Vt的典型值为1V)时,总线B的电压将被箝位到vcc-Vt,而不会继续上升。因此选择vcc为4.3V,则能保证总线B的信号满足3.3V标准。当3.3V总线B驱动总线A时,由于5V PCI规范中定义的逻辑高电压是2V~5.5V,因此也能够保证FPGA端驱动PCI的高电压要求。
  其次,验证是否满足PCI时序要求。PCI2.2协议规定一个时钟周期分为4部分:
  t(30ns)=tval+tprop+tsu+tskew
  其中:tval为时钟到输出信号有效延迟,tsu为输入建立时间,tpro为最大总线传输时间,tskew为时钟抖动时间。PCI 2.2协议规定的保持时间为0。tprop是由于PCI总线采用反射波技术引入的,典型值为10ns,tprop与tskew的和不超过12ns。PCI 2.2规范规定33MHz信号的建立时间为7ns,66MHz信号的建立时间为3ns。由QS3861引入的数据传输延迟为0.25ns。但由于所有PCI信号都经过总线开关进行电平转换,到达FPGA的信号整体只有0.25ns的延迟,因此FPGA的建立时间仍然设置为7ns。FPGA经过运算输出的信号时序由时钟到信号有效延迟tval所限定。PCI 2.2规范规定33MHz时tval最大为11ns,最小为2ns。由于电平转换芯片在双向数据通路的延迟累加,FPGA必须保证时钟到信号最大延迟在10.5ns以内。
  最后,考虑布局布线因素。在加入总线开关后,要保证从PCI连接器到总线开关及总线开关到FPGA的所有32位信号线(除中断输入信号、系统信号和JTAG信号)的走线长度和不大于1.5英寸,时钟线长度和为2.5±0.1英寸。
  在FPGA中定制IP核实现PCI总线到本地总线的转换,能够有效节约PCI设备的成本,提高硬件资源利用率,缩短开发时间。目标设备读写状态机对本地总线进行监测,完成设备的内存、I/O读写并提供迸发作业支持,在发生异常状况时,及时发起重试、断开或终止作业,保证PCI总线传输正确结束,防止不安全的数据操作出现。为了满足PCI电气规范,在硬件设计时需要注意3.3V设备挂接5V总线的电平转换及其带来的时序和布线问题。
参考文献
1 任爱锋.基于FPGA的嵌入式系统设计.西安:西安电子科技大学出版社,2004
2 PCI Compiler User Guide(Version 3.2.0).Altera Corporation,2004
3 Connecting Altera 3.3-V PCI devices to a 5-V PCI Bus (Version 1.0).Altera Corporation,2004
4 PCI Local Bus Specification(Revision 2.2).PCI SIG,1998

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

苏州2023年8月22日 /美通社/ -- 近日,复旦大学附属中山医院葛均波院士团队成功在新一代介入式人工心脏(NyokAssist®,心擎医疗)支持下为三支病变、左主干病变伴前降支慢性完全闭塞病变合并低左室射血...

关键字: PCI ASSIST 血压 血流动力学

一直以来,工控机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来工控机的相关介绍,详细内容请看下文。

关键字: 工控机 嵌入式 PCI

全球支付卡行业标准机构PCI安全标准委员会(PCI SSC)宣布郑有光(Yew Kuann Cheng)为新任亚太区副总裁。郑有光将负责推动整个亚太地区采用PCI安全标准以促进支付安全。郑有光的工作地点位于新加坡,他将担...

关键字: PCI 数据安全 新加坡 行业标准

(全球TMT2022年11月8日讯)动视暴雪第三季度净营收17.8亿美元,同比减少14%;净利润4.35亿美元,同比减少32%。公司月活跃用户3.68亿,同比减少5.6%。 美国网约车公司Lyft公布三季...

关键字: LYFT PCI 变焦 开源

今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。

关键字: 工控主板 主板 PCI

上海2022年9月20日 /美通社/ -- 近日,在长江之歌学术周功能学与影像学高峰论坛上,波士顿科学血管内超声系统Polaris(以下简称"Polaris")巡回上市会正式启动。这是继实现国产化之后...

关键字: POLAR 超声系统 PCI 影像

上海2022年5月28日 /美通社/ -- 今日,在由上海市医学会、上海市医学会心血管专科分会主办的"第十六届东方心脏病学会议(OCC 2022)"上,全球领先的医疗科技公司波士顿科学(NYSE:BS...

关键字: PCI 成功率 BSP MICRO

北京2022年4月23日 /美通社/ -- 今日,微创介入治疗领域的全球领导者波士顿科学(NYSE: BSX) ,积极响应国家卫健委“千县工程”号召,聚焦县域心内科能力提升,携手全国心血管疾病管理...

关键字: PCI CD RSQUO 医疗技术

(全球TMT2022年4月19日讯)新思科技(Synopsys, Inc.)联合Juniper Networks(简称“Juniper”)于近日宣布,双方已完成交易成立一家独立的新公司。该新公司将为业界提供开放式硅光子...

关键字: ip ni 新思科技

共同投资的新公司将为业界提供首个“片上激光”开放式硅光子平台,用于电信、数据通信、激光雷达、医疗保健、HPC、AI及光学计算领域。 加利福尼亚山景城2022年4月19日 /美通社/ -- 新思科技(Synopsys,...

关键字: ip ni 新思科技
关闭
关闭