基于PCI软“核”的PCI总线接口设计与实现
发布时间:2008/5/27 0:00:00 访问次数:572
摘要:介绍一种利用pci软“核”快速实现pci总线接口设计的方法,并给出pci master下设计dma控制器的例子。 关键词:pci bus logicore dma pci master pci slave pci总线是通过主桥电路挂接在host cpu上的局部总线,典型的pci局部总线系统结构如图1所示。pci的外部设备既可以作为pci总线目标设备(slave),实现基本的传送要求,也可以作为pci总线的主控设备(master),访问其他pci总线设备及系统的其他资源。用户在实际应用中可以根据实际需求来设计设备的功能。 由于pci总线规范[1]定义了严格的电气特性和时序要求,因而开发基于pci总线的接口卡有一定的难度。它要求在接口卡和终端设备之间有一个总线接口控制器,以解码pci总线线范并完成数据传送,这需要开发人员对pci总线规范有深刻的理解并具有较高的计算机开水平。开发pci接口大体有两种方式:使用专用的pci接口芯片和可编程器件。如果使用asic厂家提供的专用接口芯片,用户使用到的只是部分pci接口功能,会造成了一定的资源浪费,而且芯片价格高,不经济。使用可编程器件设计,将厂家提供的pci软“核”引入可编程器件中,根据插卡的功能进行最优化,不必实现所有的pci功能机以将pci插卡的用户逻辑与pci接口逻辑集成在一个芯片上,实现紧凑的系统设计。当系统升级时,只需更改可编程器件的逻辑,无需更新pcb版图。许多可编程器件产生厂商都提供经过测试的pci接口功能模块,如xilinx公司的logicore,altera公司的ampp(altera megafunction partners prongam)。下面介绍用xilinx公司的logicore来实现控制连接在pci局部总线上的外设。 1 xilinx公司的logicore简介 xilinx公司的logicore逻辑框图如图2所示。可以看出,该logicore的功能是将左边复杂的pci接口转换成右边的用户接口信号:周期控制信号(包括用于配置pci接口的信号ceg[255:0])、从设备控制信号、主设备控制信号、状态机信号等。其主要的功能是起一个桥梁作用,完成用户设备与pci总线的信息传送,并且可以在bus master方式下直接访问系统主存储器。图2的logicorem逻辑框图只给出xilinx的logicore中与pci master控制器有关的关键信号。现在就以上信号进行介绍: pci host 端总线接口: ad[31:0] 时分复用地址/数据信号,在帧信号有效的一个时钟ad[31:0]上的信号为地址信号。 c/be[3:0] 命令/字节使能信号,在帧信号有效的第一个节拍,指示总线作业类型。 framf 由总线上设备驱动,指明传输的起始时间和终止时间,在该信号有效期间表示总线传输开始,当该信号无效时,传输的是最后一个数据节拍。 irdy 由总线主设备驱动,读操作时表示总线传输开始,当该信号无效时,传输的最后一个数据节拍。 irdy 由总线主设备驱动,读操作时表示已准备好接受数据,写操作时表示有效数据已经在数据上。 trdy 由从设备驱动,读操作时从设备正在把有效数据放在数据总线上;写操作时表示从设备准备接受来自host的数据。 debsel 译码出的地址在该设备的地址范围内时,则该信号有效。 idsel 配置读、写期间由host发出的片选信号。 stop 从设备向host表示停止目前信号的传送。 par 奇偶校验信号,它通过ad[31:0]和c/be[3:0]进行奇偶校验。 perr 该信号只报告数据奇偶校验错。 serr 该信号只报靠地址奇偶校验错,或者特殊命令序列中的数据奇偶校验错。 intr_a 表示pci设备请求中断。 req 表示总线主设备向仲
摘要:介绍一种利用pci软“核”快速实现pci总线接口设计的方法,并给出pci master下设计dma控制器的例子。 关键词:pci bus logicore dma pci master pci slave pci总线是通过主桥电路挂接在host cpu上的局部总线,典型的pci局部总线系统结构如图1所示。pci的外部设备既可以作为pci总线目标设备(slave),实现基本的传送要求,也可以作为pci总线的主控设备(master),访问其他pci总线设备及系统的其他资源。用户在实际应用中可以根据实际需求来设计设备的功能。 由于pci总线规范[1]定义了严格的电气特性和时序要求,因而开发基于pci总线的接口卡有一定的难度。它要求在接口卡和终端设备之间有一个总线接口控制器,以解码pci总线线范并完成数据传送,这需要开发人员对pci总线规范有深刻的理解并具有较高的计算机开水平。开发pci接口大体有两种方式:使用专用的pci接口芯片和可编程器件。如果使用asic厂家提供的专用接口芯片,用户使用到的只是部分pci接口功能,会造成了一定的资源浪费,而且芯片价格高,不经济。使用可编程器件设计,将厂家提供的pci软“核”引入可编程器件中,根据插卡的功能进行最优化,不必实现所有的pci功能机以将pci插卡的用户逻辑与pci接口逻辑集成在一个芯片上,实现紧凑的系统设计。当系统升级时,只需更改可编程器件的逻辑,无需更新pcb版图。许多可编程器件产生厂商都提供经过测试的pci接口功能模块,如xilinx公司的logicore,altera公司的ampp(altera megafunction partners prongam)。下面介绍用xilinx公司的logicore来实现控制连接在pci局部总线上的外设。 1 xilinx公司的logicore简介 xilinx公司的logicore逻辑框图如图2所示。可以看出,该logicore的功能是将左边复杂的pci接口转换成右边的用户接口信号:周期控制信号(包括用于配置pci接口的信号ceg[255:0])、从设备控制信号、主设备控制信号、状态机信号等。其主要的功能是起一个桥梁作用,完成用户设备与pci总线的信息传送,并且可以在bus master方式下直接访问系统主存储器。图2的logicorem逻辑框图只给出xilinx的logicore中与pci master控制器有关的关键信号。现在就以上信号进行介绍: pci host 端总线接口: ad[31:0] 时分复用地址/数据信号,在帧信号有效的一个时钟ad[31:0]上的信号为地址信号。 c/be[3:0] 命令/字节使能信号,在帧信号有效的第一个节拍,指示总线作业类型。 framf 由总线上设备驱动,指明传输的起始时间和终止时间,在该信号有效期间表示总线传输开始,当该信号无效时,传输的是最后一个数据节拍。 irdy 由总线主设备驱动,读操作时表示总线传输开始,当该信号无效时,传输的最后一个数据节拍。 irdy 由总线主设备驱动,读操作时表示已准备好接受数据,写操作时表示有效数据已经在数据上。 trdy 由从设备驱动,读操作时从设备正在把有效数据放在数据总线上;写操作时表示从设备准备接受来自host的数据。 debsel 译码出的地址在该设备的地址范围内时,则该信号有效。 idsel 配置读、写期间由host发出的片选信号。 stop 从设备向host表示停止目前信号的传送。 par 奇偶校验信号,它通过ad[31:0]和c/be[3:0]进行奇偶校验。 perr 该信号只报告数据奇偶校验错。 serr 该信号只报靠地址奇偶校验错,或者特殊命令序列中的数据奇偶校验错。 intr_a 表示pci设备请求中断。 req 表示总线主设备向仲
上一篇:单端PECL与差分PECL的互连
上一篇:HD7279A的原理与应用