基于fpga的pci总线控制器及控制方法

文档序号:9326839阅读:822来源:国知局
基于fpga的pci总线控制器及控制方法
【技术领域】
[0001] 本发明涉及PCI总线控制技术领域。
【背景技术】
[0002] 现阶段,基于PCI总线的FPGA板卡设备一般是直接放在PC机的PCI总线插槽,PC 机可以提供PCI总线的母板环境和总线控制器来管理板卡设备,许多板卡设备放在CPCI或 者PXI机箱内部组成一些测试和控制系统,在系统中一般存在处理器(例如PC104)用来管 理和仲裁基于PCI总线的板卡设备。PC机或一些类似处理器提供PCI总线控制器,每个PCI 总线板卡设备可以方便进行数据的交换。
[0003] 但是,目前有些基于PCI总线的板卡设备应用场所需要脱离PC机和相关的控制机 箱系统,例如,基于PCI总线的IEEE1394b链路层芯片TSB82AA2直接用一个FPGA控制,实 现IEEE1394b总线的嵌入式开发;多个基于PCI总线的板卡设备之间相互通讯脱离相关处 理器来管理,这样可以节省很多体积空间和成本等。

【发明内容】

[0004] 本发明是为了解决现有基于PCI总线的板卡设备应用场所需要脱离PC机和相关 的控制机箱系统才能应用的问题,提出了一种基于FPGA的PCI总线控制器及控制方法。
[0005] 本发明所述的基于FPGA的PCI总线控制器,它包括处理器、存储器DDR2和PCI总 线控制器;
[0006] 处理器1用于通过Avalon总线、总线控制器3和PCI总线向PCI总线设备发送控 制信号,并接收PCI总线设备发回的响应信号;
[0007] 存储器DDR2用于对处理器发送的控制信号和PCI总线设备发回的响应信号进行 缓存;
[0008] 总线控制器用于接收Avalon总线向PCI总线发送的数据,并将接收的Avalon总 线数据转换为PCI总线数据,并将转换后PCI总线数据发送至PCI总线;同时接收PCI总线 向Avalon总线发送的数据,并将接收的PCI总线数据转换为Avalon总线数据,并将转换后 Avalon总线数据发送至Avalon总线。
[0009] 基于FPGA的PCI总线的控制方法,该方法包括:
[0010] 采用FPGA构建总线控制器的步骤,该步骤中的用于接收Avalon总线向PCI总线 发送的数据,并将接收的Avalon总线数据转换为PCI总线数据,并将转换后PCI总线数据 发送至PCI总线;同时接收PCI总线向Avalon总线发送的数据,并将接收的PCI总线数据 转换为Avalon总线数据,并将转换后Avalon总线数据发送至Avalon总线;
[0011] 该步骤还包括分配Avalon总线至PCI总线的映射是静态转换表格的子步骤和配 置PCI IP核参数的子步骤;所述PCI IP核参数包括系统选项配置、PCI配置和Avalon配 置;所述系统选项配置包括系统选项1和系统选项2,所述系统选项1包括PCI设备模式、 PCI从设备性能、最大从设备突发传输量和PCI主设备性能;系统选项2包括PCI总线速度、 PCI总线数据位宽、PCI时钟设置、是否允许独立Avalon系统复位、PCI总线仲裁和PCI支 持仲裁设备个数。
[0012] 用于通过Avalon总线、总线控制器和PCI总线向PCI总线设备发送控制信号,并 接收PCI总线设备发回的响应信号的步骤;该步骤还包括:对PCI总线设备的配置空间进 行读写和配置的子步骤;
[0013] 用于对存储控制信号和PCI总线设备发回的响应信号进行缓存的步骤。
[0014] 本发明的效果:
[0015] 1)用FPGA构建PCI总线控制器,可以方便实现一些带有PCI总线接口芯片的嵌入 式应用开发。
[0016] 2)用FPGA内部构建PCI总线控制器,并构建PCI总线母版环境,可以方便的管理 多个PCI总线设备相互通讯。
[0017] 3)构建PCI总线控制器的FPGA设备可以作为PCI总线上的协处理器使用。
【附图说明】
[0018] 图1为本发明所述的基于FPGA的PCI总线控制器的电气原理框图;
[0019] 图2为构建PCI总线控制器的FPGA与其他PCI设备数据传输框图;
[0020] 图3为嵌入式FPGA板卡构建PCI总线的母板环境框图。
【具体实施方式】
【具体实施方式】 [0021] 一、结合图1说明本实施方式,本实施方式所述的基于FPGA的PCI 总线控制器,它包括处理器1、存储器DDR2和PCI总线控制器3 ;
[0022] 处理器1用于通过Avalon总线、总线控制器3和PCI总线向PCI总线设备发送控 制信号,并接收PCI总线设备发回的响应信号;
[0023] 存储器DDR2用于对处理器1发送的控制信号和PCI总线设备发回的响应信号进 行缓存;
[0024] 总线控制器3用于接收Avalon总线向PCI总线发送的数据,并将接收的Avalon 总线数据转换为PCI总线数据,并将转换后PCI总线数据发送至PCI总线;同时接收PCI总 线向Avalon总线发送的数据,并将接收的PCI总线数据转换为Avalon总线数据,并将转换 后Avalon总线数据发送至Avalon总线.
[0025] 不同的PCI总线设备之间数据传输不能脱离PCI总线控制器,任何两个PCI设备 之间进行通讯都需要PCI总线控制器对PCI总线的管理和仲裁。
【具体实施方式】 [0026] 二、本实施方式是对一所述的本实施方式所述的基于 FPGA的PCI总线控制方法,该方法包括:
[0027] 采用FPGA构建总线控制器3的步骤,该步骤中的总线控制器3用于接收Avalon总 线向PCI总线发送的数据,并将接收的Avalon总线数据转换为PCI总线数据,并将转换后 PCI总线数据发送至PCI总线;同时接收PCI总线向Avalon总线发送的数据,并将接收的 PCI总线数据转换为Avalon总线数据,并将转换后Avalon总线数据发送至Avalon总线;
[0028] 用于通过Avalon总线、总线控制器3和PCI总线向PCI总线设备发送控制信号, 并接收PCI总线设备发回的响应信号的步骤;
[0029] 用于对处理器1发送的控制信号和PCI总线设备发回的响应信号进行缓存的步 骤;
[0030] 本实施方式应用的FPGA为Altera公司的Cyclone III系列的EP3C120F780I7, 模仿PC机内部PCI总线设备的体系结构,处理器1采用Nios II,挂载到Avalon总线上, 可以作为Host Bridge处理器,同时调用PCI IP核,把此IP核设置为Host bridge,可以 实现Avalon总线与PCI总线之间的数据交换,这样软核Nios II通过Avalon总线访问到 PCI总线,用来直接管理多个PCI设备。
【具体实施方式】 [0031] 三、本实施方式是对一所述的基于FPGA的PCI总线控 制方法的进一步说明,采用FPGA构建总线控制器3的步骤还包括分配Avalon总线至PCI 总线的映射是静态转换表格的子步骤和配置PCI IP核参数的子步骤;所述PCIIP核参数包 括系统选项配置、PCI总线配置和Avalon总线配置;所述系统选项配置包括系统选项1和 系统选项2,所述系统选项1包括PCI设备模式、PCI从设备性能、最大从设备突发传输量和 PCI主设备性能;系统选项2包括PCI总线速度、PCI总线数据位宽、PCI时钟设置、是否允 许独立Avalon系统复位、PCI总线仲裁和PCI支持仲裁设备个数。
[0032] 采用FPGA构建总线控制器3建立嵌入式系统控制PCI总线设备的渠道;实现PCI 总线与Avalon总线的数据转换。
[0033] 配置PCI IP核的各个参数,见表1所示。
[0034] 表1 PCI IP核配置参数表
[0035]
[0036] 分配Avalon总线至PCI总线的映射静态转换表格;静态转换表格见表2所不;
[0037] 第一个地址转换类型是配置读写,用于PCI总线控制器对PCI总线的设备进行配 置空间各个寄存器读写操作,命令寄存器、基址寄存器的配置,地址转换类型是存储空间映 射,用于处理器Nios II对PCI总线设备上的存储空间进行访问。Avalon总线至PCI总线 的映射个数以及每个空间映射地址大小都是根据需求进行设置,但为了 Nios II通过PCI 总线控制器管理PCI总线,第一个地址转换类型是配置读写必不可少。
[0038] 表2静态地址转换表

[0041] 选择不同PCI总线设备配置空间是通过控制设备的IDSEL信号实现的;PCI地址/ 数据线的AD[31:11]连接到每个PCI设备的IDSEL信号上,可以把配置空间地址与每个设 备一一对应。总线AD [31:11]与设备地址线IDSEL连接在FPGA内部用逻辑实现,这样也很 方便后续修改。
[0042] 例如:AD [11]连接到PCI总线上设备1 ;
[0043] AD [12]连接到PCI总线上设备2 ;
[0044] AD [13]连接到PCI总线上设备3 ;
[0045] 则每个PCI总线设备的PCI配置空间分配完成。
[0046] 设备1在PCI总线上的配置地址空间是0x00000800~OxOOOOOFFF ;
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1