一种pci总线转换为isa和apb总线设计方法

文档序号:8395827阅读:760来源:国知局
一种pci总线转换为isa和apb总线设计方法
【技术领域】
[0001]本发明涉及片上系统级芯片(System on Chip,简称“SoC”)设计领域,特别是涉及总线接口转换方法。
【背景技术】
[0002]在计算机系统中,电子芯片和其它部件是通过总线相互连接的。各种部件可以与总线相连,该总线使得与总线相连的所有设备之间实现相互通信。计算机内各种总线速率不同,处理器总线速度较快,用于连接处理器和存储器等速度较快的外设。速度较慢的外设挂接在处理器总线桥接芯片上(也就是我们常说的北桥),这种芯片是将高速的处理器总线转换为速度较低的局部总线,目前业界常常使用PCI总线作为局部总线。
[0003]可是这些低速设备不一定都具备PCI接口,很多设备接口是ISA接口。这就需要设计一款PCI与ISA之间的接口桥接装置。
[0004]同时,目前片上系统设计已经成为设计主流,即在一款单一芯片上实现多种功能,为了缩短设计及验证周期,基于IP的设计方法已经在片上系统设计上广泛采用。片上系统总线作为片上集成系统的互连结构,解决了各个模块间的通信问题,包括数据格式、时序、协议等方面。目前使用比较成熟的有APB总线。如果要将这个片上系统挂接在PCI总线上,就需要一种PCI与APB之间的接口桥接装置。

【发明内容】

[0005]本发明的目的是提出一种PCI总线转换为ISA和APB总线设计方法,解决目前嵌入式计算机系统中处理器不能同时访问符合ISA并行总线协议的设备(如异步并行存储器),和符合APB片内总线接口设备的问题。
[0006]本发明采取的技术方案为,一种PCI总线转换为ISA和APB总线设计方法,包括:
[0007]PCI总线接口 I接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块2 ;
[0008]PCI指令解析控制模块2从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI总线配置寄存器模块3 ;
[0009]PCI配置寄存器处理模块3将所述寄存器地址写入PCI总线配置寄存器模块3内与寄存器存储地址对应的PCI控制寄存器中;
[0010]PCI总线接口 I接收来自PCI总线的指令,将所述PCI总线指令发送给PCI指令解析控制模块2 ;
[0011 ] PCI指令解析控制模块2从PCI总线指令中解析出PCI总线指令目的地的地址空间,将所述地址空间与PCI总线配置寄存器模块3存储的寄存器地址比对,如果所述地址空间属于APB总线时序控制模块4,将所述PCI总线指令发送给APB总线时序控制模块4 ;如果所述地址空间属于ISA总线时序控制模块5,将所述PCI总线指令发送给ISA总线时序控制模块5 ;
[0012]APB总线时序控制模块4按照PCI总线指令通过APB总线接口 8对APB从设备进行读写操作;
[0013]ISA总线时序控制模块5按照PCI总线指令通过ISA总线接口 9对ISA从设备进行读写操作。
[0014]本发明具有的优点和有益效果:本发明是一种PCI总线协议转换为ISA和APB总线协议IP核设计方法,针对目前嵌入式计算机高,越来越高的功能采用片内实现,同时又有外部存储器类设备的情况,本方法支持主设备同时访问符合APB总线协议的片内设备,也可以访问外部存储器类设备,其优点是适用范围宽,提高线路设计集成度,针对不同速度外部存储器类设备,访问时间、时序可配置,与外设的适配性好,实现了速度性能的最优设计。
【附图说明】
[0015]图1是本发明的IP设计方案示意图。
[0016]图2是PCI总线信号图。
[0017]图3是PCI总线协议解析控制模块状态机示意图。
[0018]图4是APB时序控制状态机示意图。
[0019]图5是ISA时序控制状态机示意图。
【具体实施方式】
[0020]本发明提供一种PCI总线转换为ISA和APB总线设计方法,包括:
[0021]PCI总线接口 I接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块2 ;
[0022]PCI指令解析控制模块2从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI总线配置寄存器模块3 ;
[0023]PCI配置寄存器处理模块3将所述寄存器地址写入PCI总线配置寄存器模块3内与寄存器存储地址对应的PCI控制寄存器中;
[0024]PCI总线接口 I接收来自PCI总线的指令,将所述PCI总线指令发送给PCI指令解析控制模块2 ;
[0025]PCI指令解析控制模块2从PCI总线指令中解析出PCI总线指令目的地的地址空间,将所述地址空间与PCI总线配置寄存器模块3存储的寄存器地址比对,如果所述地址空间属于APB总线时序控制模块4,将所述PCI总线指令发送给APB总线时序控制模块4 ;如果所述地址空间属于ISA总线时序控制模块5,将所述PCI总线指令发送给ISA总线时序控制丰旲块5 ;
[0026]APB总线时序控制模块4按照PCI总线指令通过APB总线接口 8对APB从设备进行读写操作;
[0027]ISA总线时序控制模块5按照PCI总线指令通过ISA总线接口 9对ISA从设备进行读写操作。
[0028]进一步的,APB总线时序控制模块4按照PCI总线指令通过APB总线接口 8对APB从设备进行读写操作的步骤包括:
[0029]如果PCI总线指令是BURST操作,所述APB总线时序控制模块4由当前数据操作结束状态返回APB时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
[0030]进一步的,ISA总线时序控制模块5按照PCI总线指令通过ISA总线接口 9对ISA从设备进行读写操作的步骤包括:
[0031]如果PCI总线指令是BURST操作,所述ISA总线时序控制模块5由当前数据操作结束状态返回ISA时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
[0032]下面结合附图和实施例对本发明做进一步说明。
[0033]实施例
[0034]PCI总线协议转换为ISA和APB总线协议IP核设计方法如图1所示,具体操作步骤如下:
[0035]UPCI总线接口 1:实现对PCI总线接口信号的连接,具体信号见图2,并将信号传递给PCI指令解析控制模块2。
[0036]2,PCI指令解析控制模块2:其工作过程见状态机图3,首先在空闲状态,接收来自PCI总线接口 I的PCI总线接口信号,并对这些信号进行解析,当判断到FRAME信号下降沿时,进入PCI总线信号锁存解析状态,否则返回空闲状态,继续等待。在PCI总线信号锁存解析状态,通过解析PCI总线命令,断是对后续三个模块中的哪个模块进行访问,三个模块包括:PCI配置寄存器处理模块3、APB总线时序控制模块4和ISA时序控制模块5访问。
[0037]3、如果是对PCI总线配置寄存器模块3访问,则PCI指令解析控制模块2解析出寄存器地址,将寄存器地址写入PCI总线配置寄存器模块3内相应的PCI控制寄存器,随后产生TRDY_N和IRDY_N信号,发送给PCI总线上的主设备,结束本次访问,回到IDLE状态。
[0038]4、如果是对APB时序控制模块4访问,见图4,状态机由PCI总线信号锁存解析状态进入APB数据处理状态,在该状态解析出地址和数据,发送给APB时序控制模块4,由APB时序控制模块4判断访问的类型,并完成对APB从设备的访问,如果访问类型是单次访问,则完成一次访问后,返回PCI总线信号锁存解析状态,产生TRDY_N信号,发送给PCI主设备,结束本次访问;如果访问类型是突发式(BURST)总线访问,则以解析的地址作为首地址,顺序进行地址累加,由APB时序控制模块4完成对APB从设备的后续访问,直到判到FRAME_N信号上升沿,返回PCI总线信号锁存解析状态,产生TRD
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1