CN104714907B - 一种pci总线转换为isa和apb总线设计方法 - Google Patents

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

Info

Publication number
CN104714907B
CN104714907B CN201310675620.0A CN201310675620A CN104714907B CN 104714907 B CN104714907 B CN 104714907B CN 201310675620 A CN201310675620 A CN 201310675620A CN 104714907 B CN104714907 B CN 104714907B
Authority
CN
China
Prior art keywords
pci
bus
pci bus
isa
apb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310675620.0A
Other languages
English (en)
Other versions
CN104714907A (zh
Inventor
陈浩
左忠卫
高尚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No 618 Research Institute of China Aviation Industry
Original Assignee
No 618 Research Institute of China Aviation Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by No 618 Research Institute of China Aviation Industry filed Critical No 618 Research Institute of China Aviation Industry
Priority to CN201310675620.0A priority Critical patent/CN104714907B/zh
Publication of CN104714907A publication Critical patent/CN104714907A/zh
Application granted granted Critical
Publication of CN104714907B publication Critical patent/CN104714907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提出一种PCI总线转换为ISA和APB总线设计方法,解决目前嵌入式计算机系统中处理器不能同时访问符合ISA并行总线协议的设备的问题。本发明采取的技术方案包括:PCI总线接口1接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块2;PCI指令解析控制模块2从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI总线配置寄存器模块3;PCI配置寄存器处理模块3将所述寄存器地址写入PCI总线配置寄存器模块3内与寄存器存储地址对应的PCI控制寄存器中。

Description

一种PCI总线转换为ISA和APB总线设计方法
技术领域
本发明涉及片上系统级芯片(System on Chip,简称“SoC”)设计领域,特别是涉及总线接口转换方法。
背景技术
在计算机系统中,电子芯片和其它部件是通过总线相互连接的。各种部件可以与总线相连,该总线使得与总线相连的所有设备之间实现相互通信。计算机内各种总线速率不同,处理器总线速度较快,用于连接处理器和存储器等速度较快的外设。速度较慢的外设挂接在处理器总线桥接芯片上(也就是我们常说的北桥),这种芯片是将高速的处理器总线转换为速度较低的局部总线,目前业界常常使用PCI总线作为局部总线。
可是这些低速设备不一定都具备PCI接口,很多设备接口是ISA接口。这就需要设计一款PCI与ISA之间的接口桥接装置。
同时,目前片上系统设计已经成为设计主流,即在一款单一芯片上实现多种功能,为了缩短设计及验证周期,基于IP的设计方法已经在片上系统设计上广泛采用。片上系统总线作为片上集成系统的互连结构,解决了各个模块间的通信问题,包括数据格式、时序、协议等方面。目前使用比较成熟的有APB总线。如果要将这个片上系统挂接在PCI总线上,就需要一种PCI与APB之间的接口桥接装置。
发明内容
本发明的目的是提出一种PCI总线转换为ISA和APB总线设计方法,解决目前嵌入式计算机系统中处理器不能同时访问符合ISA并行总线协议的设备(如异步并行存储器),和符合APB片内总线接口设备的问题。
本发明采取的技术方案为,一种PCI总线转换为ISA和APB总线设计方法,包括:
PCI总线接口1接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块2;
PCI指令解析控制模块2从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI总线配置寄存器模块3;
PCI配置寄存器处理模块3将所述寄存器地址写入PCI总线配置寄存器模块3内与寄存器存储地址对应的PCI控制寄存器中;
PCI总线接口1接收来自PCI总线的指令,将所述PCI总线指令发送给PCI指令解析控制模块2;
PCI指令解析控制模块2从PCI总线指令中解析出PCI总线指令目的地的地址空间,将所述地址空间与PCI总线配置寄存器模块3存储的寄存器地址比对,如果所述地址空间属于APB总线时序控制模块4,将所述PCI总线指令发送给APB总线时序控制模块4;如果所述地址空间属于ISA总线时序控制模块5,将所述PCI总线指令发送给ISA总线时序控制模块5;
APB总线时序控制模块4按照PCI总线指令通过APB总线接口8对APB从设备进行读写操作;
ISA总线时序控制模块5按照PCI总线指令通过ISA总线接口9对ISA从设备进行读写操作。
本发明具有的优点和有益效果:本发明是一种PCI总线协议转换为ISA和APB总线协议IP核设计方法,针对目前嵌入式计算机高,越来越高的功能采用片内实现,同时又有外部存储器类设备的情况,本方法支持主设备同时访问符合APB总线协议的片内设备,也可以访问外部存储器类设备,其优点是适用范围宽,提高线路设计集成度,针对不同速度外部存储器类设备,访问时间、时序可配置,与外设的适配性好,实现了速度性能的最优设计。
附图说明
图1是本发明的IP设计方案示意图。
图2是PCI总线信号图。
图3是PCI总线协议解析控制模块状态机示意图。
图4是APB时序控制状态机示意图。
图5是ISA时序控制状态机示意图。
具体实施方式
本发明提供一种PCI总线转换为ISA和APB总线设计方法,包括:
PCI总线接口1接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块2;
PCI指令解析控制模块2从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI总线配置寄存器模块3;
PCI配置寄存器处理模块3将所述寄存器地址写入PCI总线配置寄存器模块3内与寄存器存储地址对应的PCI控制寄存器中;
PCI总线接口1接收来自PCI总线的指令,将所述PCI总线指令发送给PCI指令解析控制模块2;
PCI指令解析控制模块2从PCI总线指令中解析出PCI总线指令目的地的地址空间,将所述地址空间与PCI总线配置寄存器模块3存储的寄存器地址比对,如果所述地址空间属于APB总线时序控制模块4,将所述PCI总线指令发送给APB总线时序控制模块4;如果所述地址空间属于ISA总线时序控制模块5,将所述PCI总线指令发送给ISA总线时序控制模块5;
APB总线时序控制模块4按照PCI总线指令通过APB总线接口8对APB从设备进行读写操作;
ISA总线时序控制模块5按照PCI总线指令通过ISA总线接口9对ISA从设备进行读写操作。
进一步的,APB总线时序控制模块4按照PCI总线指令通过APB总线接口8对APB从设备进行读写操作的步骤包括:
如果PCI总线指令是BURST操作,所述APB总线时序控制模块4由当前数据操作结束状态返回APB时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
进一步的,ISA总线时序控制模块5按照PCI总线指令通过ISA总线接口9对ISA从设备进行读写操作的步骤包括:
如果PCI总线指令是BURST操作,所述ISA总线时序控制模块5由当前数据操作结束状态返回ISA时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
下面结合附图和实施例对本发明做进一步说明。
实施例
PCI总线协议转换为ISA和APB总线协议IP核设计方法如图1所示,具体操作步骤如下:
1、PCI总线接口1:实现对PCI总线接口信号的连接,具体信号见图2,并将信号传递给PCI指令解析控制模块2。
2、PCI指令解析控制模块2:其工作过程见状态机图3,首先在空闲状态,接收来自PCI总线接口1的PCI总线接口信号,并对这些信号进行解析,当判断到FRAME信号下降沿时,进入PCI总线信号锁存解析状态,否则返回空闲状态,继续等待。在PCI总线信号锁存解析状态,通过解析PCI总线命令,断是对后续三个模块中的哪个模块进行访问,三个模块包括:PCI配置寄存器处理模块3、APB总线时序控制模块4和ISA时序控制模块5访问。
3、如果是对PCI总线配置寄存器模块3访问,则PCI指令解析控制模块2解析出寄存器地址,将寄存器地址写入PCI总线配置寄存器模块3内相应的PCI控制寄存器,随后产生TRDY_N和IRDY_N信号,发送给PCI总线上的主设备,结束本次访问,回到IDLE状态。
4、如果是对APB时序控制模块4访问,见图4,状态机由PCI总线信号锁存解析状态进入APB数据处理状态,在该状态解析出地址和数据,发送给APB时序控制模块4,由APB时序控制模块4判断访问的类型,并完成对APB从设备的访问,如果访问类型是单次访问,则完成一次访问后,返回PCI总线信号锁存解析状态,产生TRDY_N信号,发送给PCI主设备,结束本次访问;如果访问类型是突发式(BURST)总线访问,则以解析的地址作为首地址,顺序进行地址累加,由APB时序控制模块4完成对APB从设备的后续访问,直到判到FRAME_N信号上升沿,返回PCI总线信号锁存解析状态,产生TRDY_N信号发送给PCI主设备,结束本次访问。
5、如果是对ISA时序控制模块5访问,见图5,状态机由锁存解析命令状态进入ISA数据处理状态,解析出ISA设备的地址和数据,根据地址对应的从ISA设备,传递相应的时序控制参数,包括单次访问、突发式(BURST)总线访问、读写地址保持时间、访问间隔时间,应答等待时间,根据时序控制参数,如果访问类型是单次访问,则完成一次读写访问后,返回锁存解析命令状态,产生TRDY_N信号,发送给PCI主设备,结束本次访问;如果访问类型是突发式(BURST)总线访问,则以解析的地址作为首地址,顺序进行地址累加,由ISA时序控制模块5完成对ISA从设备的后续访问,直到判到FRAME_N信号上升沿,完成后续的访问,返回锁存解析命令状态,产生TRDY_N信号,发送给PCI主设备,结束本次访问。
6、PCI配置寄存器处理模块3:接收来自PCI总线指令解析控制模块2的PCI总线配置操作,完成对本发明IP核PCI控制寄存器的配置,通过配置,实现对PCI总线指令解析控制模块2工作状态、基地址分配等内容的设置,具体设置参见PCI总线协议规范。
7、APB时序控制模块4:此模块完成APB从设备参数的设置以及APB总线接口时序的生成,工作过程如图3所示。首先从空闲状态开始,接收来自PCI总线指令解析控制模块2传递过来的地址,进行地址解析状态,进行地址解析,如果地址有效,即在APB地址空间内,则进入APB时序生成状态,向PCI总线协议解析控制模块2发出有效标识,在得到PCI总线指令解析控制模块2的指示后,启动相应从设备APB接口时序的生成,在相应从设备完成操作后,会给出PREADY和PSEL信号,进入当前数据操作结束状态,此数据操作完成,如果PCI发起的是BURST操作,则由当前数据操作结束状态返回APB时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
8、ISA时序控制模块5:此模块完成ISA从设备参数的设置以及ISA总线接口时序的生成,工作过程如图4所示。首先从空闲状态开始,接收来自PCI总线指令解析控制模块2传递过来的地址,进行地址解析状态,进行地址解析,如果地址有效,即在ISA地址空间内,则向PCI总线指令解析控制模块2发出有效标识,进入选通相应SLAVE参数状态,将选中的相应从设备的参数全部选通,然后进入ISA时序生成状态,依据相应参数完成ISA时序的生成,当完成当前数据操作后,会给出PREADY和PSEL信号,并进入当前数据操作结束状态,如果PCI发起的是BURST操作,则由当前数据操作结束状态返回ISA时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
9、RETRY计数器模块6:用于监听PCI总线访问是否超时,如果在规定的时间内,PCI总线指令解析控制模块2未收到来自APB时序控制模块5和ISA时序控制模块6的访问结束信号,即应答信号,则由RETRY计数器模块6向PCI总线指令解析控制模块2发出RETRY信号,再由PCI总线指令解析控制模块2发送至PCI总线上,具体实现可参见PCI总线协议规范。
10、校验位生成模块7:用于对来自PCI总线指令解析控制模块2的PCI总线信号进行偶校验,即在PCI读周期,对AD[31:0]、C_BE_N[3:0]上的数据全部做运算并产生校验码,然后通过PCI总线指令解析控制模块2向PCI总线接口1发送校验信号PAR。
11、APB总线接口8:对来自APB时序控制模块4的APB总线信号进行切换,实现对外部不同APB从设备的访问。
12、ISA总线接口9:对来自ISA时序控制模块5的ISA总线信号进行切换,实现对外部不同ISA从设备的访问。
本发明的PCI总线协议转换为ISA和APB总线协议IP核可以有多种应用。其中一个应用例中,如图5所示,CPU外总线与CPU桥接芯片相连,而CPU桥接芯片对外访问往往通过PCI总线,PCI总线桥接FPGA,FPGA内集成本发明的IP核,以及支持APB片内总线的设备,如串口等,FPGA与外设相连,包括各类存储器,如NVRAM、双端口存储器、支持ISA接口的设备,通过本发明的PCI总线协议转换为ISA和APB总线协议IP核,CPU就可以访问FPGA内部的设备和FPGA外接的设备。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (3)

1.一种PCI总线转换为ISA和APB总线设计方法,其特征在于,包括:
PCI总线接口(1)接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块(2);
PCI指令解析控制模块(2)从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI配置寄存器处理模块(3);
PCI配置寄存器处理模块(3)将所述寄存器地址写入PCI配置寄存器处理模块(3)内与寄存器存储地址对应的PCI控制寄存器中;
PCI总线接口(1)接收来自PCI总线的指令,将所述PCI总线指令发送给PCI指令解析控制模块(2);
PCI指令解析控制模块(2)从PCI总线指令中解析出PCI总线指令目的地的地址空间,将所述地址空间与PCI配置寄存器处理模块(3)存储的寄存器地址比对,如果所述地址空间属于APB总线时序控制模块(4),将所述PCI总线指令发送给APB总线时序控制模块(4);如果所述地址空间属于ISA总线时序控制模块(5),将所述PCI总线指令发送给ISA总线时序控制模块(5);
APB总线时序控制模块(4)按照PCI总线指令通过APB总线接口(8)对APB从设备进行读写操作;
ISA总线时序控制模块(5)按照PCI总线指令通过ISA总线接口(9)对ISA从设备进行读写操作。
2.如权利要求1所述的一种PCI总线转换为ISA和APB总线设计方法,其特征在于,APB总线时序控制模块(4)按照PCI总线指令通过APB总线接口(8)对APB从设备进行读写操作的步骤包括:
如果PCI总线指令是BURST操作,所述APB总线时序控制模块(4)由当前数据操作结束状态返回APB时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
3.如权利要求1所述的一种PCI总线转换为ISA和APB总线设计方法,其特征在于,ISA总线时序控制模块(5)按照PCI总线指令通过ISA总线接口(9)对ISA从设备进行读写操作的步骤包括:
如果PCI总线指令是BURST操作,所述ISA总线时序控制模块(5)由当前数据操作结束状态返回ISA时序生成状态,进行地址累加,再进入前数据操作结束状态,如此反复循环,直至完成本次BURST操作的所有数据,最后回到空闲状态。
CN201310675620.0A 2013-12-11 2013-12-11 一种pci总线转换为isa和apb总线设计方法 Active CN104714907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310675620.0A CN104714907B (zh) 2013-12-11 2013-12-11 一种pci总线转换为isa和apb总线设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310675620.0A CN104714907B (zh) 2013-12-11 2013-12-11 一种pci总线转换为isa和apb总线设计方法

Publications (2)

Publication Number Publication Date
CN104714907A CN104714907A (zh) 2015-06-17
CN104714907B true CN104714907B (zh) 2018-01-16

Family

ID=53414257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310675620.0A Active CN104714907B (zh) 2013-12-11 2013-12-11 一种pci总线转换为isa和apb总线设计方法

Country Status (1)

Country Link
CN (1) CN104714907B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106292544B (zh) * 2016-08-18 2018-12-28 深圳市德堡数控技术有限公司 基于pcie接口硬件板卡及其总线控制方法及系统
CN107247677B (zh) * 2017-05-24 2020-12-18 联想(北京)有限公司 一种转换装置和电子设备
CN107562673B (zh) * 2017-08-28 2020-06-30 上海集成电路研发中心有限公司 一种应用于嵌入处理器总线协议转换桥接装置
CN110750476B (zh) * 2019-10-22 2023-08-29 深圳震有科技股份有限公司 一种spi总线与并行总线的桥接方法、设备、系统及介质
CN112181879B (zh) * 2020-08-28 2022-04-08 珠海欧比特宇航科技股份有限公司 用于dma控制器的apb接口模块、dma控制器和芯片
CN113496107B (zh) * 2021-06-29 2024-04-09 山东华芯半导体有限公司 一种可综合的cpu模型

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996000940A1 (en) * 1994-06-28 1996-01-11 Intel Corporation Pci to isa interrupt protocol converter and selection mechanism
US5812858A (en) * 1994-09-16 1998-09-22 Cirrus Logic, Inc. Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits
CN2461051Y (zh) * 2000-12-22 2001-11-21 中国科学院紫金山天文台 计算机pci总线与isa总线的转换器
CN202422113U (zh) * 2012-01-11 2012-09-05 成都雷思特电子科技有限责任公司 PowerPC嵌入式计算机实现ISA总线的转换系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996000940A1 (en) * 1994-06-28 1996-01-11 Intel Corporation Pci to isa interrupt protocol converter and selection mechanism
US5812858A (en) * 1994-09-16 1998-09-22 Cirrus Logic, Inc. Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits
CN2461051Y (zh) * 2000-12-22 2001-11-21 中国科学院紫金山天文台 计算机pci总线与isa总线的转换器
CN202422113U (zh) * 2012-01-11 2012-09-05 成都雷思特电子科技有限责任公司 PowerPC嵌入式计算机实现ISA总线的转换系统

Also Published As

Publication number Publication date
CN104714907A (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
CN104714907B (zh) 一种pci总线转换为isa和apb总线设计方法
KR20180050728A (ko) 멀티-노드 네트워크에서의 입력/출력 신호 브릿징 및 가상화
CN108228513B (zh) 一种基于fpga架构的智能串口通讯装置
CN103218313B (zh) 用于实现缓存描述符交互的方法和电子设备
CN110837486B (zh) 一种基于FPGA的FlexRay-CPCIe通信系统
US8041867B2 (en) Method and apparatus for enhancing data rate of advanced micro-controller bus architecture
CN108255754B (zh) 一种兼容i2c的i3c主设备、i3c主从设备通信系统及方法
CN107911391A (zh) 一种基于fpga的axi协议与spi协议转换的方法
CN203812236U (zh) 一种基于处理器和现场可编程门阵列的数据交换系统
CN103136163B (zh) 可配置实现fc-ae-asm和fc-av协议的协议处理器芯片
CN110635985A (zh) 一种FlexRay-CPCIe通信模块
CN101937412A (zh) 一种片上系统及其访问方法
CN102169470B (zh) 一种ahb总线到bvci总线的转换桥
CN107562672A (zh) 一种提高矢量网络分析仪数据传输速率的系统及方法
CN219574799U (zh) 一种基于amba总线的多总线桥接器及其片上系统
CN102591817B (zh) 一种多总线桥控制器及其实现方法
CN104572515B (zh) 跟踪模块、方法、系统和片上系统芯片
CN102722457A (zh) 总线接口转换方法及总线桥接装置
CN201812284U (zh) 一种存储器接口
TWI727581B (zh) 資料傳輸系統
Guo et al. A SPI interface module verification method based on UVM
WO2021113778A1 (en) Data transfers between a memory and a distributed compute array
RU158939U1 (ru) Контроллер периферийных интерфейсов (кпи-2)
Yi et al. Design of USB-UART interface converter and its FPGA implementation
CN219916336U (zh) Lpc接口至axi总线协议桥接器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant