位置:51电子网 » 技术资料 » 显示光电

基于CPLD的通用PCI扩展总线桥设计

发布时间:2007/8/28 0:00:00 访问次数:425


引言

        随着微处理机性能的迅速提高以及多媒体技术和高速网络的不断发展,人们对微机系统的I/O带宽提出了越来越高的要求,计算机的标准总线也从ISA、EISA和MC逐渐过渡到PCI总线。由于PCI总线具有诸多优点,如支持64位数据传送,多总线主控和线性突发方式(Burst)和高达132Mb/s数据传输率,使得人们更倾向于用PCI总线的处理芯片来构造系统机、工作站、外围设备及板卡。于是,一些旧的I/O设备和存储器由于不支持PCI总线而面临着被淘汰的地步,为了实现连接PCI总线和这些I/O设备、存储器的连接,可以设计一个PCI扩展总线桥,通过桥电路,接出一条标准的I/O扩展总线,如ISA、EISA或MCA总线,从而可继续使用现有的I/O设备,以增加PCI总线的兼容性和选择范围。

        开发PCI总线接口电路,通常有两种途径。一种是使用专用接口芯片,如美国AMCC公司生产的PCI协议控制芯片S5920、S5933或PLX公司的PCI905X系列芯片等,另一种则是利用可编程逻辑器件(PLD)来实现PCI总线接口功能。采用专用芯片,可以比较容易的实现PCI接口,可以让开发者避开复杂的PCI总线协议,减少工作量,降低设计难度,缩短开发周期。但是,使用PCI专用芯片也存在一些问题:价格太高,功能太全,开发者一般只用了其中的一部分,既造成了资源浪费又不经济;并且它的接口固定,使用起来不太灵活。而应用可编程逻辑器件进行PCI接口,能够较灵活的实现所需要的功能。由于PCI扩展总线桥的后端用户逻辑时序较简单,主要是要设计PCI总线的接口电路,所以设计选用Altera公司的CPLD器件EPM3512,该芯片是该公司生产的MAX3000系列器件中的一种,它有512个宏单元,10000个可用门,最大用户I/O脚为188个,最高频率可达176MHz,封装为208脚PQFP形式。


PCI扩展总线桥逻辑设计

        PCI扩展总线桥的设计包括前端的PCI总线接口设计和后端的用户逻辑设计。PCI总线是一个地址/数据、命令/字节选择信号复用的总线,它采用主从信号双向握手的方式来控制数据的传输。在一个典型的PCI总线系统结构中,PCI扩展总线桥可定义为一个从设备,根据PCI总线协议,这时PCI接口信号线至少为47条。设计中的用户逻辑是为桥后端的设备产生正常工作所需的触发信号、地址选通信号以及进行数据传输,这一部分实质是将一些常规电路,如时基电路、触发电路和地址选通电路等,用硬件描述语言编程来实现,这部分实现起来很容易,相应的接口部分逻辑图1所示。

根据逻辑图,设计的PCI接口模块应该包括以下部分:

1)存及数据分离、命令锁存及字节选择信号分离电路。这两部分电路比较简单,很容易实现。

2)地址产生电路。PCI的突发传输方式包括一个地址周期和若干个数据周期,因此在PCI接口中必须包含高速的地址产生部件用于向后级电路提供连续的地址。

3)地址译码及命令译码,这一部分与传统总线设计相同。

4)控制信号交互电路。PCI总线上的数据传输基本上由四根信号线控制。Frame#表示对话的开始和结束,它同时受主设备和从设备控制,IRDY#和TRDY#分别表示主、从设备准备好;DE-VSEL#由从设备发出,表示从设备将响应此次传输,所有的控制信号必须对齐时钟上升沿。这部分电路没有固定的模式,通常由具体应用环境决定其逻辑,一般至少要接收地址译码信号及外部传来的表示传送结束的信号(如BUSY、HOLD和STOP之类)来完成整个交互过程。

5)配置寄存器。按照PCI协议,PCI设备至少应当实现厂商标记、设备识别和命令状态字等配置数据,这些可以用RAM来实现。


PCI扩展总线桥的实现

        上面设计的PCI扩展总线桥的接口逻辑最终要在CPLD中来实现。在进行PCI总线接口设计中,使用Altera公司的Quartus II 2.0作为开发平台。由于PCI协议的时序逻辑比较复杂,因此,对CPLD的设计全部采用Verilog HDL语言作为设计输入。整个设计由一个顶层模块和六个底层模块组成(图2)。

1)顶层模块:该模块包含了整个设计的输入/输出信号和底层设计模块的定义。

2)浆糊逻辑模块:该模块包含了设计中的各种混杂逻辑,包括PCI地址寄存器,命令/字节使能寄存器和配置读/写使能寄存器,在每次PCI传输的地址有效期内触发这些寄存器。

3)配置寄存器模块:该模块实现PCI配置寄存器的配置和读写功能。根据PCI协议,每个PCI设备都有25


引言

        随着微处理机性能的迅速提高以及多媒体技术和高速网络的不断发展,人们对微机系统的I/O带宽提出了越来越高的要求,计算机的标准总线也从ISA、EISA和MC逐渐过渡到PCI总线。由于PCI总线具有诸多优点,如支持64位数据传送,多总线主控和线性突发方式(Burst)和高达132Mb/s数据传输率,使得人们更倾向于用PCI总线的处理芯片来构造系统机、工作站、外围设备及板卡。于是,一些旧的I/O设备和存储器由于不支持PCI总线而面临着被淘汰的地步,为了实现连接PCI总线和这些I/O设备、存储器的连接,可以设计一个PCI扩展总线桥,通过桥电路,接出一条标准的I/O扩展总线,如ISA、EISA或MCA总线,从而可继续使用现有的I/O设备,以增加PCI总线的兼容性和选择范围。

        开发PCI总线接口电路,通常有两种途径。一种是使用专用接口芯片,如美国AMCC公司生产的PCI协议控制芯片S5920、S5933或PLX公司的PCI905X系列芯片等,另一种则是利用可编程逻辑器件(PLD)来实现PCI总线接口功能。采用专用芯片,可以比较容易的实现PCI接口,可以让开发者避开复杂的PCI总线协议,减少工作量,降低设计难度,缩短开发周期。但是,使用PCI专用芯片也存在一些问题:价格太高,功能太全,开发者一般只用了其中的一部分,既造成了资源浪费又不经济;并且它的接口固定,使用起来不太灵活。而应用可编程逻辑器件进行PCI接口,能够较灵活的实现所需要的功能。由于PCI扩展总线桥的后端用户逻辑时序较简单,主要是要设计PCI总线的接口电路,所以设计选用Altera公司的CPLD器件EPM3512,该芯片是该公司生产的MAX3000系列器件中的一种,它有512个宏单元,10000个可用门,最大用户I/O脚为188个,最高频率可达176MHz,封装为208脚PQFP形式。


PCI扩展总线桥逻辑设计

        PCI扩展总线桥的设计包括前端的PCI总线接口设计和后端的用户逻辑设计。PCI总线是一个地址/数据、命令/字节选择信号复用的总线,它采用主从信号双向握手的方式来控制数据的传输。在一个典型的PCI总线系统结构中,PCI扩展总线桥可定义为一个从设备,根据PCI总线协议,这时PCI接口信号线至少为47条。设计中的用户逻辑是为桥后端的设备产生正常工作所需的触发信号、地址选通信号以及进行数据传输,这一部分实质是将一些常规电路,如时基电路、触发电路和地址选通电路等,用硬件描述语言编程来实现,这部分实现起来很容易,相应的接口部分逻辑图1所示。

根据逻辑图,设计的PCI接口模块应该包括以下部分:

1)存及数据分离、命令锁存及字节选择信号分离电路。这两部分电路比较简单,很容易实现。

2)地址产生电路。PCI的突发传输方式包括一个地址周期和若干个数据周期,因此在PCI接口中必须包含高速的地址产生部件用于向后级电路提供连续的地址。

3)地址译码及命令译码,这一部分与传统总线设计相同。

4)控制信号交互电路。PCI总线上的数据传输基本上由四根信号线控制。Frame#表示对话的开始和结束,它同时受主设备和从设备控制,IRDY#和TRDY#分别表示主、从设备准备好;DE-VSEL#由从设备发出,表示从设备将响应此次传输,所有的控制信号必须对齐时钟上升沿。这部分电路没有固定的模式,通常由具体应用环境决定其逻辑,一般至少要接收地址译码信号及外部传来的表示传送结束的信号(如BUSY、HOLD和STOP之类)来完成整个交互过程。

5)配置寄存器。按照PCI协议,PCI设备至少应当实现厂商标记、设备识别和命令状态字等配置数据,这些可以用RAM来实现。


PCI扩展总线桥的实现

        上面设计的PCI扩展总线桥的接口逻辑最终要在CPLD中来实现。在进行PCI总线接口设计中,使用Altera公司的Quartus II 2.0作为开发平台。由于PCI协议的时序逻辑比较复杂,因此,对CPLD的设计全部采用Verilog HDL语言作为设计输入。整个设计由一个顶层模块和六个底层模块组成(图2)。

1)顶层模块:该模块包含了整个设计的输入/输出信号和底层设计模块的定义。

2)浆糊逻辑模块:该模块包含了设计中的各种混杂逻辑,包括PCI地址寄存器,命令/字节使能寄存器和配置读/写使能寄存器,在每次PCI传输的地址有效期内触发这些寄存器。

3)配置寄存器模块:该模块实现PCI配置寄存器的配置和读写功能。根据PCI协议,每个PCI设备都有25

相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!