CN104714907B - 一种pci总线转换为isa和apb总线设计方法 - Google Patents
一种pci总线转换为isa和apb总线设计方法 Download PDFInfo
- 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
Links
Abstract
本发明提出一种PCI总线转换为ISA和APB总线设计方法,解决目前嵌入式计算机系统中处理器不能同时访问符合ISA并行总线协议的设备的问题。本发明采取的技术方案包括:PCI总线接口1接收来自PCI总线的PCI总线配置指令,将所述PCI总线配置指令发送给PCI指令解析控制模块2;PCI指令解析控制模块2从PCI总线配置指令中解析出寄存器地址和寄存器存储地址发送给PCI总线配置寄存器模块3;PCI配置寄存器处理模块3将所述寄存器地址写入PCI总线配置寄存器模块3内与寄存器存储地址对应的PCI控制寄存器中。
Description
技术领域
本发明涉及片上系统级芯片(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操作的所有数据,最后回到空闲状态。
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)
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)
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总线的转换系统 |
-
2013
- 2013-12-11 CN CN201310675620.0A patent/CN104714907B/zh active Active
Patent Citations (4)
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 |