一种PCI总线控制器及其控制方法技术

技术编号:12671876 阅读:73 留言:0更新日期:2016-01-07 16:58
本发明专利技术一种PCI总线控制器及其控制方法,通过SPI接口信号复用,提供EEPROM加载或者不加载两种配置信息初始化方式,使用灵活;其通过多个接口模块的设置,能够实现SPI总线、PCI总线、Local总线与相应管脚接口。能够作为PCI主从设备,应用范围广,满足系统的不同要求;作为PCI主设备时,进行DMA数据传输,无需CPU干预,提高系统效率。当PCI总线控制器作为PCI总线主设备发起总线操作,完成系统内存与Local设备之间的数据交互;非DMA传输时,该PCI总线控制器作为PCI总线从设备响应总线操作。提供8位、16位、32位复用/非复用Local总线接口,且可配置实现突发、预取、内部等待、外部等待、写周期保持、读写选通延迟、大小端对齐、本地片选、本地中断等多种工作方式,通用性强。

【技术实现步骤摘要】

本专利技术涉及基于PCI总线架构的计算机系统领域,具体为一种PCI总线控制器及其控制方法
技术介绍
基于PCI总线的计算机系统构成包括主设备和从设备两类,主设备发起PCI总线操作,从设备响应操作,并将PCI总线时序转换为本地总线时序,完成对本地设备的访问,PCI总线控制器是这种计算机系统的核心模块。—种基于PCI总线的高速数据传输方法(中国专利CN102495817A)从应用角度介绍基于PCI总线进行高速数据传输的驱动程序的设计方法;一种PCI总线DMA高速数据传输方法(中国专利CN101916237A)通过PCI总线进行DMA数据传输的实现方法;应用于高速运行控制系统的PCI从设备核心控制模块(中国专利CN103729165)针对具体应用进行PCI总线的协议处理;一种从PCI总线扩展LBE总线的设计方法(中国专利CN103678220A)将PCI总线转换为特定的LBE总线。PCI总线技术的研究及相关专利成果,主要是针对PCI总线技术的应用进行总线传输效率的提高、或者针对具体应用进行PCI协议处理,不能满足通用、可灵活配置、高效的系统应用需求。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种通用、配置灵活、高效的PCI总线控制器及其控制方法。本专利技术是通过以下技术方案来实现:—种PCI总线控制器,包括接口单元、控制单元和数据存储单元;所述的接口单元包括SPI接口模块,PCI总线接口模块,Local总线接口模块,以及通用1模块;所述的控制单元包括SPI主控制器模块、数据加载控制模块、配置空间访问控制模块、PCI总线控制模块、fifo访问控制模块、Local总线控制模块、Local仲裁模块;所述的数据存储单元包括PCI配置空间寄存器模块、Local配置空间寄存器模块和fifo模块;SPI总线接口模块、SPI主控制器模块、数据加载控制模块和配置空间访问控制模块依次连接;配置空间访问控制模块的输出端分别连接PCI配置空间寄存器模块和Local配置空间寄存器模块的控制端;Local配置空间寄存器模块的输出端连接通用10模块的配置端;SPI总线接口模块用于SPI接口信号的选择,作为10接口或者作为SPI总线;SPI主控制器模块用于检测外部EEPROM是否存在,并根据检测结果以及SPI总线接口信号的输入,对PCI配置空间寄存器模块和Local配置空间寄存器模块中的寄存器进行加载或不加载配置信息的初始化控制;PCI总线接口模块、PCI总线控制模块、fifo访问控制模块、fifo模块、Local总线控制模块和Local总线接口模块依次连接;通过Local配置空间寄存器模块对Local配置空间寄存器进行加载配置访问,并将相应的控制位、配置工作模式和返回工作状态的配置信息传递给Local总线控制模块、通用1模块和Local仲裁模块;通过PCI配置空间寄存器模块对PCI配置空间寄存器进行加载配置访问,并将相应的控制位、配置工作模式和返回工作状态的配置信息传递给PCI总线控制模块;fifo模块用于PCI时钟域与Local时钟域的同步、传递地址/数据/控制信息;Local仲裁模块用于根据Local总线仲裁请求,在PCI总线控制器空闲时将Local总线控制模块的控制权交给其他Local主设备。 优选的,控制单元还包括分别与PCI总线控制模块(⑶)和fifo访问控制模块((10))相互连接的DMA控制器模块((9));其用于完成DMA传输的启动与关闭、DMA中断、错误状态的产生和传输长度计数器的改变,并将读写控制信号及地址数据传递到Local端。优选的,控制单元还包括输入端接入Local配置空间寄存器模块传递的配置信息的中断管理模块,其用于根据配置信息,完成PCI总线和Local总线中断使能与屏蔽控制,以及不同触发方式的Local总线中断响应与状态清除,提供PCI总线软中断控制。优选的,所述的fifo模块包括写数据同步fifo模块、操作同步fifo模块和读数据同步fifo模块;写数据同步fifo模块用于实现32-Lword的写数据缓存,将PCI时钟域的写数据同步到Local时钟域;读数据同步fifo模块用于实现16-Lword的读数据缓存,将Local时钟域的读数据同步到PCI时钟域;操作同步fifo模块用于缓存读写操作地址、命令和字节使能,将该地址及控制信息从PCI时钟域同步到Local时钟域;写数据同步fifo模块的输入端接入PCI配置空间寄存器模块传递的配置信息。—种PCI总线控制器的控制方法,基于上述的PCI总线控制器,包括,—、进行EEPROM加载或不加载配置信息初始化的步骤;系统上电后,数据加载控制模块检测SPI接口模块上接入的SPI总线接口信号,判断是否连接EEPROM的步骤;不连接EEPROM时,产生控制信号给PCI配置空间寄存器模块和Local配置空间寄存器模块,并在两者内部进行配置信息的初始化;连接EEPROM时,启动EEPROM自动加载,产生控制信号给SPI主控制器模块,由SPI主控制器模块产生SPI总线时序,通过SPI接口模块给对外部EEPROM进行连续读,并将读到的串行数据在SPI主控制器模块中进行串并转换,将转换后的并行数据在数据加载控制模块中进行EEPROM检测、数据有效性检测、连续读数据位数控制和地址编址操作完成地址和数据的加载配置,然后在配置空间访问控制模块中对加载配置的地址和数据进行选择控制和地址转换后,在PCI配置空间访问控制模块中对PCI配置空间寄存器进行加载配置访问,并将相关配置信息传递给PCI总线控制模块和写数据同步fifo模块;在Local配置空间寄存器模块中对Local配置空间寄存器进行加载配置访问,并将相关配置信息传递给通用10模块和Local仲裁模块;二、进行PCI总线控制的步骤;通过PCI总线接口模块将PCI总线操作传递给PCI总线控制模块,在PCI总线控制模块内部进行命令解析、地址译码、奇偶校验,并产生PCI总线访问应答信号给PCI总线接口模块;同时,在PCI总线控制模块内部完成PCI总线对PCI配置寄存器的读写访问;如果PCI总线控制模块内部的地址译码是对Local配置寄存器访问,将PCI访问地址、数据及读写控制信号传递给配置空间访问控制模块,在配置空间访问控制模块内部进行PCI访问的选择控制,在PCI配置空间寄存器模块中完成PCI总线对Local配置寄存器的访问,并返回应答信号给PCI总线控制模块;如果PCI总线控制模块内部的地址译码是对Local空间的访问,将访问地址、命令、写数据、控制信号传递到fifo访问控制模块,在fifo访问控制模块内部进行PCI访问的选择控制,将PCI地址映射成Local地址,产生写数据同步fifo模块和操作同步fifo模块的写控制信号,将映射后的地址、控制信号存入操作同步fifo模块,写数据存入写数据同步fifo模块,并将访问应答信号返回给PCI总线控制模块;如果为读操作,在fifo访问控制模块内部产生读数据同步fifo模块的读控制信号,并将读出的数据、应答信号传递到PCI总线控制模块。优选的,还包括进行DMA数据传输的步骤,该步骤下所述的PCI总线控制器作为PCI主设备;当对DMA读时,启动DMA操作后,DMA控制本文档来自技高网...
一种PCI总线控制器及其控制方法

【技术保护点】
一种PCI总线控制器,其特征在于,包括接口单元、控制单元和数据存储单元;所述的接口单元包括SPI接口模块(1),PCI总线接口模块(7),Local总线接口模块(15),以及通用IO模块(17);所述的控制单元包括SPI主控制器模块(2)、数据加载控制模块(3)、配置空间访问控制模块(4)、PCI总线控制模块(8)、fifo访问控制模块(10)、Local总线控制模块(14)、Local仲裁模块(18);所述的数据存储单元包括PCI配置空间寄存器模块(5)、Local配置空间寄存器模块(6)和fifo模块;SPI总线接口模块(1)、SPI主控制器模块(2)、数据加载控制模块(3)和配置空间访问控制模块(4)依次连接;配置空间访问控制模块(4)的输出端分别连接PCI配置空间寄存器模块(5)和Local配置空间寄存器模块(6)的控制端;Local配置空间寄存器模块(6)的输出端连接通用IO模块(17)的配置端;SPI总线接口模块(1)用于SPI接口信号的选择,作为IO接口或者作为SPI总线;SPI主控制器模块(2)用于检测外部EEPROM是否存在,并根据检测结果以及SPI总线接口信号的输入,对PCI配置空间寄存器模块(5)和Local配置空间寄存器模块(6)中的寄存器进行加载或不加载配置信息的初始化控制;PCI总线接口模块(7)、PCI总线控制模块(8)、fifo访问控制模块(10)、fifo模块、Local总线控制模块(14)和Local总线接口模块(15)依次连接;通过Local配置空间寄存器模块(6)对Local配置空间寄存器进行加载配置访问,并将相应的控制位、配置工作模式和返回工作状态的配置信息传递给Local总线控制模块(14)、通用IO模块(17)和Local仲裁模块(18);通过PCI配置空间寄存器模块(5)对PCI配置空间寄存器进行加载配置访问,并将相应的控制位、配置工作模式和返回工作状态的配置信息传递给PCI总线控制模块(8);fifo模块用于PCI时钟域与Local时钟域的同步、传递地址/数据/控制信息;Local仲裁模块(18)用于根据Local总线仲裁请求,在PCI总线控制器空闲时将Local总线控制模块(14)的控制权交给其他Local主设备。...

【技术特征摘要】

【专利技术属性】
技术研发人员:王瑞晓曲超翟雯艳卢飞
申请(专利权)人:中国航天科技集团公司第九研究院第七七一研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1