CN112559402B - 一种基于fpga的pci从接口控制电路及fpga - Google Patents

一种基于fpga的pci从接口控制电路及fpga Download PDF

Info

Publication number
CN112559402B
CN112559402B CN202011540684.6A CN202011540684A CN112559402B CN 112559402 B CN112559402 B CN 112559402B CN 202011540684 A CN202011540684 A CN 202011540684A CN 112559402 B CN112559402 B CN 112559402B
Authority
CN
China
Prior art keywords
pci
signal
state
data
end access
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
CN202011540684.6A
Other languages
English (en)
Other versions
CN112559402A (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.)
Gowin Semiconductor Corp
Original Assignee
Gowin Semiconductor Corp
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 Gowin Semiconductor Corp filed Critical Gowin Semiconductor Corp
Priority to CN202011540684.6A priority Critical patent/CN112559402B/zh
Publication of CN112559402A publication Critical patent/CN112559402A/zh
Application granted granted Critical
Publication of CN112559402B publication Critical patent/CN112559402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本文公开基于FPGA的PCI从接口控制电路。控制电路包括:基于FPGA实现的状态机模块、后端访问控制模块和基地址空间模块;状态机模块用于根据来自PCI总线的命令信息控制状态的跳转;以及根据当前状态相应触发基地址空间模块和/或后端访问控制模块;基地址空间模块用于在被触发时对来自PCI总线的地址信息进行译码,以及当译码成功时生成PCI从设备的选通信号;后端访问控制模块用于在被触发时根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取。本文提供的PCI从接口控制电路能作为FPGA的基础接口电路供后端设备的制造商调用以降低PCI接口应用的开发难度。

Description

一种基于FPGA的PCI从接口控制电路及FPGA
技术领域
本文涉及但不限于计算机总线接口领域,尤其涉及一种基于FPGA的PCI从接口控制电路及FPGA。
背景技术
随着数字系统的发展,在接口的设计上既要高性能,又要考虑与其他厂商系统的兼容。针对这种需求,PCI(Peripheral Component Interconnect,外设部件互联)接口标准自问世以来,一直在计算机系统中扮演着重要角色。PCI接口标准是一种局部并行总线标准,工作频率为33MHz或66MHz,数据传输速率较快。
随着FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)技术的兴起,一些基于FPGA实现的电子设备希望能够借助FPGA的灵活设计快速开发基于PCI接口的应用。
发明内容
第一方面,本公开实施例提供了一种基于现场可编程逻辑门阵列FPGA的外设部件互联PCI从接口控制电路,包括:基于FPGA实现的状态机模块、后端访问控制模块和基地址空间模块;
所述状态机模块,用于根据来自PCI总线的命令信息控制状态的跳转;以及根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块;
所述基地址空间模块,用于在被触发时对来自PCI总线的地址信息进行译码,以及当译码成功时生成PCI从设备的选通信号;
所述后端访问控制模块,用于在被触发时根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取。
第二方面,本公开实施例提供了一种现场可编程逻辑门阵列FPGA,包括上述基于FPGA的外设部件互联PCI从接口控制电路。
本公开实施例提供的基于FPGA的PCI从(Target)接口控制电路和FPGA,PCI从接口的状态机模块根据来自PCI总线的命令信息控制状态的跳转,根据当前状态相应触发基地址空间模块和/或后端访问控制模块,基地址空间模块在被触发时对来自PCI总线的地址信息进行译码,以及当译码成功时生成PCI从设备的选通信号,后端访问控制模块在被触发时根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取。该PCI从接口控制电路可以作为FPGA的基础接口电路,比如IP(Intellectual Property)核,供后端设备的制造商调用以进行PCI接口应用的开发,从而降低电子设备基于PCI接口开发应用的难度,缩短应用开发的周期。
附图说明
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开实施例提供的一种基于FPGA的PCI从接口控制电路的结构示意图;
图2为本公开实施例提供的另一种基于FPGA的PCI从接口控制电路的结构示意图;
图3为本公开实施例提供的另一种基于FPGA的PCI从接口控制电路的结构示意图;
图4为本公开实施例提供的一种控制状态跳转的示意图;
图5为本公开实施例提供的一种配置读传输的时序示意图;
图6为本公开实施例提供的一种配置写传输的时序示意图;
图7为本公开实施例提供的一种后端访问读传输(存储器读传输或I/O读传输)的时序示意图;
图8为本公开实施例提供的一种后端访问写传输(存储器写传输或I/O写传输)的时序示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,下文中将结合附图对本公开的实施例进行详细说明。注意,实施方式可以以多个不同形式来实施。所属技术领域的普通技术人员可以很容易地理解一个事实,就是方式和内容可以在不脱离本公开的宗旨及其范围的条件下被变换为各种各样的形式。因此,本公开不应该被解释为仅限定在下面的实施方式所记载的内容中。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
图1提供了一种基于FPGA的PCI从接口控制电路的结构示意图。如图1所示,本公开实施例提供一种基于FPGA的PCI从接口控制电路,包括:基于FPGA实现的状态机模块、后端访问控制模块、基地址空间模块;
所述状态机模块,用于根据来自PCI总线的命令信息控制状态的跳转;以及根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块;
所述基地址空间模块,用于在被触发时对来自PCI总线的地址信息进行译码,以及当译码成功时生成PCI从设备的选通信号;
所述后端访问控制模块,用于在被触发时根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取。
上述实施例提供的基于FPGA的PCI从(Target)接口控制电路,PCI从接口的状态机模块根据来自PCI总线的命令信息控制状态的跳转,根据当前状态相应触发基地址空间模块和/或后端访问控制模块,基地址空间模块在被触发时对来自PCI总线的地址信息进行译码,以及当译码成功时生成PCI从设备的选通信号,后端访问控制模块在被触发时根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取。该PCI从接口控制电路可以作为FPGA的基础接口电路,比如IP核,供后端设备的制造商调用以进行PCI接口应用的开发,从而降低电子设备基于PCI接口开发应用的难度,缩短应用开发的周期。
在下文中,基于FPGA的PCI从接口控制电路可以简称为PCI从接口控制电路或PCI从接口。PCI主设备和PCI主机是同一个事物。PCI从设备、PCI从机和后端设备是同一个事物。
如图1所示,PCI从接口通过PCI总线连接PCI主设备(PCI主机),PCI从接口通过后端接口连接后端设备(PCI从设备)。
在一些示例性的实施方式中,图2表示了一种基于FPGA的PCI从接口控制电路的示意图。如图2所示,所述PCI从接口控制电路还包括:配置空间模块,用于根据PCI协议控制数据进入配置空间,以及将配置空间中相应寄存器中的数据放入PCI总线。
PCI协议定义了三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。由于PCI协议支持设备即插即用,PCI从(Target)接口与PCI主机进行通信时,PCI主机首先会遍历地对PCI配置空间进行访问,此时数据的传输方式包含两种:配置读传输与配置写传输。在PCI主机完成PCI配置空间的访问后,便可以通过I/O读传输(或者存储器读传输)与I/O写传输(或者存储器写传输)来和PCI从设备进行通信。
在一些示例性的实施方式中,图3表示了一种基于FPGA的PCI从接口控制电路的示意图。如图3所示,所述PCI从接口控制电路还包括:奇偶校验模块,用于对PCI总线上的地址信息、数据信息和命令信息进行奇偶校验,并在预定时刻将校验结果放在pci_par信号线上。其中,pci_par信号线是PCI协议规范中的信号线,用于传输奇偶校验结果。
在一些示例性的实施方式中,所述状态机模块根据来自PCI总线的命令信息控制状态的跳转包括:
在初始状态(IDLE)下,当接收到有效的pci_idsel信号与pci_frame_l信号,且pci_cbe_l信号指示的命令为配置读/写,则进入配置等待(Configure wait)状态;
在配置等待状态下,当pci_devsel_l信号使能后进入配置访问(Configureaccess)状态;
在配置访问状态下,当pci_trdy_l信号使能后进入结束(Backoff)状态。其中,进入结束状态表示一次PCI读/写的结束(PCI配置读/写的结束)。
pci_idsel信号是PCI协议规范中的信号,PCI主设备(PCI主机)选中PCI从设备时给出该信号。pci_frame_l信号是PCI协议规范中的信号,用以指示一次读写操作的开始与结束。pci_cbe_l信号是PCI协议规范中的信号,用以指示字节使能以及命令信息。pci_devsel_l信号是PCI协议规范中的信号,当PCI从设备发现自己被寻址时将pci_devsel_l信号线置低以应答。pci_trdy_l信号是PCI协议规范中的信号,用以表示PCI从设备准备好传输数据。其中,配置读/写是指:配置读或者配置写。pci_irdy_l信号是PCI协议规范中的信号,用以表示PCI主设备准备好传输数据。
在一些示例性的实施方式中,所述根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块包括:
在配置等待状态下,触发所述基地址空间模块。
在一些示例性的实施方式中,所述状态机模块根据来自PCI总线的命令信息控制状态的跳转包括:
在初始状态下,当接收到有效的pci_idsel信号与pci_frame_l信号,且pci_cbe_l信号指示的命令为I/O读写或者存储器读写时,进入后端访问等待(Backend access wait)状态;
在后端访问等待状态下,当pci_devsel_l信号使能且判断来自PCI总线的地址信息属于配置空间中配置的基地址的范围时,进入后端访问(Backend access)状态;
在后端访问状态下,当pci_trdy_l信号使能,且后端预定接口上的数据已经有效时,进入结束(Backoff)状态。其中,进入结束状态表示一次PCI读/写的结束(PCI存储器读/写或者I/O读/写的结束)。
其中,I/O读写是指:I/O读或者I/O写。存储器读写是指:存储器读或存储器写。
在一些示例性的实施方式中,所述根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块包括:
在后端访问等待状态下,触发基地址空间模块;以及触发后端访问控制模块;
在后端访问状态下,触发后端访问控制模块。
在一些示例性的实施方式中,当来自PCI总线的命令信息指示I/O读或者存储器读时,所述后端信号包括:
tg_access信号,用于指示后端访问的开始与结束;
tg_read_l信号,用于指示后端访问的类型为读传输;
tg_value信号,用于指示后端访问的数据传输信号线上的数据可以被读取;
tg_ready_l信号,用于指示后端访问的PCI从设备已经做好收发数据的准备;
tg_addr信号,用于指示后端访问的PCI从设备的地址;
tg_data_in信号,用于从后端访问的PCI从设备向PCI从接口传输数据;
tg_cbe_l信号,用于指示字节使能;
tg_cmd_o信号,用于指示命令信息;
tg_bar_hit信号,用于指示当前PCI主机正在对哪一基区上挂载的PCI从设备进行访问。
在一些示例性的实施方式中,当来自PCI总线的命令信息指示I/O写或者存储器写时,所述后端信号包括:
tg_access信号,用于指示后端访问的开始与结束;
tg_write_l信号,用于指示后端访问的类型为写传输;
tg_value信号,用于指示后端访问的数据传输信号线上可以写入数据;
tg_ready_l信号,用于指示后端访问的PCI从设备已经做好收发数据的准备;
tg_addr信号,用于指示后端访问的PCI从设备的地址;
tg_data_out信号,用于从PCI从接口向后端访问的PCI从设备传输数据;
tg_cbe_l信号,用于指示字节使能;
tg_cmd_o信号,用于指示命令信息;
tg_bar_hit信号,用于指示当前PCI主机正在对哪一基区上挂载的PCI从设备进行访问。
在一些示例性的实施方式中,当tg_bar_hit信号大于0时表明PCI主设备发送的地址已经译码成功,此时tg_addr上的地址是有效的,后端设备(PCI从设备)可以根据tg_bar_hit信号的数值,知晓哪一基区上的PCI从设备将要参与数据传输。接着,tg_cbe_l(字节使能信号)和tg_cmd_o(命令信号)会在传输初期出现,方便后端设备提前判断PCI主设备(PCI主机)要执行的命令,为后端设备随后的处理留出了余量。接着,当后端设备准备好接收数据时,需要使能tg_ready_l信号,随后只需等到tg_value信号有效,后端设备便可以取走tg_data_out信号线上的数据。
在一些示例性的实施方式中,所述后端访问控制模块根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取,包括:
当对来自PCI总线的地址信息译码成功,且该地址信息属于配置空间中配置的基地址的范围时,使能tg_bar_hit信号,并将tg_bar_hit信号设置为表示和PCI主设备进行通信的PCI从设备对应的基区的值;
当pci_trdy_l信号被使能后,如果后端访问的类型为读传输,则使能tg_value信号以指示后端访问的数据传输信号线上的数据可以被读取;如果后端访问的类型为写传输,则使能tg_value信号以指示后端访问的数据传输信号线上可以写入数据。
PCI从(Target)接口与PCI主机进行通信时,PCI主机首先会遍历地对PCI配置空间进行访问,此时数据的传输方式包含两种:配置读传输与配置写传输。
图5提供了一种配置读传输的时序示意图。如图5所示,在pci_frame_l信号和pci_idsel信号同时有效时,pci_cbe_l信号线上会出现命令,所述命令为配置读,PCI从接口进入配置等待状态,此时称为PCI的地址周期。PCI从接口对pci_ad信号线上出现的地址进行译码,判断PCI主机在对哪一个配置空间进行操作,当译码成功便会使能pci_devsel_l信号,然后进入配置访问状态。地址周期持续一个周期之后便会进入数据周期,此时pci_ad信号线上的信号表示的是数据,pci_cbe_l信号线上的信号表示的是字节使能信息,pci_irdy_l信号使能,表示PCI主机准备好传输数据。在配置访问状态,当PCI从接口准备好数据之后,会使能pci_trdy_l信号,表示PCI从机(PCI从设备)准备好传输数据。在pci_irdy_l信号和pci_trdy_l信号同时有效时,PCI主机便会取走在pci_ad信号线上的数据。之后PCI从接口进入结束状态,表明一次PCI配置读传输的结束。
其中,pci_cbe_l信号线是PCI协议规范中的信号线,用以指示字节使能以及命令信息。PCI主设备首先在pci_cbe_l信号线给出命令,比如,配置读命令或配置写命令。pci_ad信号线是PCI协议规范中的信号线,是地址与数据总线,地址和数据分时复用该信号线。pci_irdy_l信号线是PCI协议规范中的信号线,是PCI主机准备好传输数据的标志。pci_irdy_l信号线是PCI协议规范中的信号线,是PCI从机准备好传输数据的标志。
图6提供了一种配置写传输的时序示意图。如图6所示,在pci_frame_l信号和pci_idsel信号同时有效时,pci_cbe_l信号线上会出现命令,所述命令为配置写,PCI从接口进入配置等待状态,此时称为PCI的地址周期。在配置等待状态下,PCI从接口对pci_ad信号线上出现的地址进行译码,判断PCI主机在对哪一个配置空间进行操作,当译码成功便会使能pci_devsel_l信号,然后进入配置访问状态。地址周期持续一个周期之后便会进入数据周期,此时pci_ad信号线上的信号表示的是数据,pci_cbe_l信号线上的信号表示的是字节使能信息,pci_irdy_l信号使能,表示PCI主机准备好传输数据。在配置访问状态,当PCI从接口准备好数据之后,会使能pci_trdy_l信号,表示PCI从机准备好传输数据。在pci_irdy_l信号和pci_trdy_l信号同时有效时,pci_ad信号线上的数据便会写入所对应的配置寄存器中。之后PCI从接口进入结束状态,表明一次PCI配置写传输的结束。
在PCI主机完成配置空间的访问后,PCI主机便可以通过后端访问读传输(I/O读传输或存储器读传输)与后端访问写传输(I/O写传输或存储器写传输)来和PCI从(Target)接口进行通信,以完成对后端设备的控制。
图7提供了一种后端访问读传输的时序示意图。如图7所示,在pci_frame_l信号和pci_idsel信号同时有效时,pci_cbe_l信号线上会出现命令,所述命令为I/O读或存储器读,PCI从接口进入后端访问等待状态。在后端访问等待状态下,pci_irdy_l信号使能,表示PCI主机准备好传输数据。PCI从接口使能tg_access信号,向后端设备指示一个后端访问的开始,请后端设备做好准备。PCI从接口还使能tg_read_l信号,向后端设备指示接下来的是一个后端访问读传输操作。pci_ad上会出现将要访问的地址,此时称为PCI的地址周期,PCI从接口对pci_ad上出现的地址进行译码,此时译码的依据是基于PCI配置空间中的基地址(BAR)寄存器,判断PCI主机发送的地址是否处于BAR寄存器中地址范围,当译码成功便会使能pci_devsel_l信号,并且使能后端接口的tg_bar_hit信号,来表明当前PCI主机正在与挂载在哪一基区上的后端设备进行通信,接着会进入后端访问状态。当tg_bar_hit信号携带的数值大于0时表明PCI主机发送的地址已经译码成功,此时tg_addr信号线上的地址是有效的,tg_bar_hit信号线的使用大大降低了后端设备识别tg_addr信号的门槛,并且可以根据tg_bar_hit信号的数值,知晓哪一基区上的后端设备将要参与数据传输。PCI的配置空间有多个基区,这些基区用于为后端设备分配地址空间。PCI从接口的后端接口上可以挂载多个设备,一个基区可以挂载一个后端设备。当PCI主机发出的地址符合基区地址时,tg_bar_hit信号便会指示当前哪一基区上的后端设备正在与PCI主机进行通信。
在后端访问状态,如果后端设备做好了发送数据的准备,则使能tg_ready_l信号,然后将数据放在tg_data_in信号线上。PCI从接口使能tg_value信号,向后端设备指示tg_data_in信号线上的数据可以被读取,PCI从接口读取tg_data_in信号线上的数据,使能pci_trdy_l信号,向PCI主机指示PCI从设备准备好发送数据,并将读取的数据放在pci_ad信号线上。在pci_irdy_l信号和pci_trdy_l信号同时生效时,PCI主机便会取走在pci_ad信号线上的数据。之后PCI从接口进入结束(Backoff)状态,表明一次PCI后端访问读传输的结束。
图8提供了一种后端访问写传输的时序示意图。如图8所示,在pci_frame_l信号和pci_idsel信号同时有效时,pci_cbe_l信号线上会出现命令,所述命令为I/O写或存储器写,PCI从接口进入后端访问等待状态。在后端访问等待状态下,pci_irdy_l信号使能,表示PCI主机准备好传输数据。PCI从接口使能tg_access信号,向后端设备指示一个后端访问的开始,请后端设备做好准备。PCI从接口还使能tg_write_l信号,向后端设备指示接下来的是一个后端访问写传输操作。pci_ad信号线上会出现将要访问的地址,此时称为PCI的地址周期,PCI从接口对pci_ad信号线上出现的地址进行译码,此时译码的依据是基于PCI配置空间中的基地址(BAR)寄存器,判断PCI主机发送的地址是否处于BAR寄存器中地址范围,当译码成功便会使能pci_devsel_l信号,并且使能后端接口的tg_bar_hit信号,来表明当前PCI主机正在与挂载在哪一基区上的后端设备进行通信,接着会进入后端访问状态。当tg_bar_hit信号携带的数值大于0时表明PCI主机发送的地址已经译码成功,此时tg_addr信号线上的地址是有效的,tg_bar_hit信号线的使用大大降低了后端设备识别tg_addr信号的门槛,并且可以根据tg_bar_hit信号的数值,知晓哪一基区上的后端设备将要参与数据传输。
在后端访问状态,后端设备准备好接收数据后,使能tg_ready_l信号。当PCI从接口准备好接收数据之后,会使能pci_trdy_l信号,在pci_irdy_l信号和pci_trdy_l信号同时生效时,PCI从接口读取pci_ad信号线上的数据。PCI从接口使能tg_value信号,向后端设备指示tg_data_out信号线上可以写入数据。PCI从接口向tg_data_out信号线上写入数据。后端设备从tg_data_out信号线上取走数据。之后PCI从接口进入结束(Backoff)状态,表明一次PCI后端访问写传输的结束。
本公开实施例还提供了一种现场可编程逻辑门阵列FPGA,包括上述基于FPGA的外设部件互联PCI从接口控制电路。
本领域普通技术人员可以理解,上文中所公开的全部或某些功能模块/单元被实施为硬件,或者被实施为集成电路,如专用集成电路时,以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能可以由若干物理组件合作执行。
虽然本公开所揭露的实施方式如上,但所述的内容仅为便于理解本公开而采用的实施方式,并非用以限定本公开。任何本公开所属领域内的技术人员,在不脱离本公开所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本公开的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (8)

1.一种基于现场可编程逻辑门阵列FPGA的外设部件互联PCI从接口控制电路,包括:基于FPGA实现的状态机模块、配置空间模块、后端访问控制模块和基地址空间模块;
所述状态机模块,用于根据来自PCI总线的命令信息控制状态的跳转:在初始状态下,当接收到有效的pci_idsel信号与pci_frame_l信号,且pci_cbe_l信号指示的命令为配置读/写,则进入配置等待状态;在配置等待状态下,当pci_devsel_l信号使能后进入配置访问状态;在配置访问状态下,当pci_trdy_l信号使能后进入结束状态;在初始状态下,当接收到有效的pci_idsel信号与pci_frame_l信号,且pci_cbe_l信号指示的命令为I/O读写或者存储器读写时,进入后端访问等待状态;在后端访问等待状态下,当pci_devsel_l信号使能且判断来自PCI总线的地址信息属于配置空间中配置的基地址的范围时,进入后端访问状态;在后端访问状态下,当pci_trdy_l信号使能,且后端预定接口上的数据已经有效时,进入结束状态;以及根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块;其中,所述状态包括以下状态的任意一种:初始状态、配置等待状态、配置访问状态、后端访问等待状态、后端访问状态和结束状态;
所述配置空间模块,用于根据PCI协议控制数据进入配置空间,以及将配置空间中相应寄存器中的数据放入PCI总线;
所述基地址空间模块,用于在被触发时对来自PCI总线的地址信息进行译码,以及当译码成功时生成PCI从设备的选通信号;
所述后端访问控制模块,用于在被触发时根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取。
2.如权利要求1所述的PCI从接口控制电路,其特征在于,所述PCI从接口控制电路还包括:奇偶校验模块;
所述奇偶校验模块,用于对PCI总线上的地址信息、数据信息和命令信息进行奇偶校验,并在预定时刻将校验结果放在pci_par信号线上。
3.如权利要求1所述的PCI从接口控制电路,其特征在于:
所述根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块包括:
在配置等待状态下,触发所述基地址空间模块。
4.如权利要求1所述的PCI从接口控制电路,其特征在于:
所述根据当前状态相应触发所述基地址空间模块和/或后端访问控制模块包括:
在后端访问等待状态下,触发基地址空间模块;以及触发后端访问控制模块;
在后端访问状态下,触发后端访问控制模块。
5.如权利要求1所述的PCI从接口控制电路,其特征在于:
当来自PCI总线的命令信息指示I/O读或者存储器读时,所述后端信号包括:
tg_access信号,用于指示后端访问的开始与结束;
tg_read_l信号,用于指示后端访问的类型为读传输;
tg_value信号,用于指示后端访问的数据传输信号线上的数据可以被读取;
tg_ready_l信号,用于指示后端访问的PCI从设备已经做好收发数据的准备;
tg_addr信号,用于指示后端访问的PCI从设备的地址;
tg_data_in信号,用于从后端访问的PCI从设备向PCI从接口传输数据;
tg_cbe_l信号,用于指示字节使能;
tg_cmd_o信号,用于指示命令信息;
tg_bar_hit信号,用于指示当前PCI主机正在对哪一基区上挂载的PCI从设备进行访问。
6.如权利要求1所述的PCI从接口控制电路,其特征在于:
当来自PCI总线的命令信息指示I/O写或者存储器写时,所述后端信号包括:
tg_access信号,用于指示后端访问的开始与结束;
tg_write_l信号,用于指示后端访问的类型为写传输;
tg_value信号,用于指示后端访问的数据传输信号线上可以写入数据;
tg_ready_l信号,用于指示后端访问的PCI从设备已经做好收发数据的准备;
tg_addr信号,用于指示后端访问的PCI从设备的地址;
tg_data_out信号,用于从PCI从接口向后端访问的PCI从设备传输数据;
tg_cbe_l信号,用于指示字节使能;
tg_cmd_o信号,用于指示命令信息;
tg_bar_hit信号,用于指示当前PCI主机正在对哪一基区上挂载的PCI从设备进行访问。
7.如权利要求5或6所述的PCI从接口控制电路,其特征在于:
所述后端访问控制模块根据来自PCI总线的命令信息和地址信息,对用于控制PCI从设备的后端信号进行相应的使能、赋值或读取,包括:
当对来自PCI总线的地址信息译码成功,且该地址信息属于配置空间中配置的基地址的范围时,使能tg_bar_hit信号,并将tg_bar_hit信号设置为表示和PCI主设备进行通信的PCI从设备对应的基区的值;
当pci_trdy_l信号被使能后,如果后端访问的类型为读传输,则使能tg_value信号以指示后端访问的数据传输信号线上的数据可以被读取;如果后端访问的类型为写传输,则使能tg_value信号以指示后端访问的数据传输信号线上可以写入数据。
8.一种现场可编程逻辑门阵列FPGA,包括权利要求1-7中任一项所述的基于FPGA的外设部件互联PCI从接口控制电路。
CN202011540684.6A 2020-12-23 2020-12-23 一种基于fpga的pci从接口控制电路及fpga Active CN112559402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011540684.6A CN112559402B (zh) 2020-12-23 2020-12-23 一种基于fpga的pci从接口控制电路及fpga

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011540684.6A CN112559402B (zh) 2020-12-23 2020-12-23 一种基于fpga的pci从接口控制电路及fpga

Publications (2)

Publication Number Publication Date
CN112559402A CN112559402A (zh) 2021-03-26
CN112559402B true CN112559402B (zh) 2021-11-26

Family

ID=75032272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011540684.6A Active CN112559402B (zh) 2020-12-23 2020-12-23 一种基于fpga的pci从接口控制电路及fpga

Country Status (1)

Country Link
CN (1) CN112559402B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257467B (zh) * 2022-02-28 2023-04-14 天津航空机电有限公司 一种基于动态管理的低功耗can总线通信网络及其控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805844A (en) * 1996-10-07 1998-09-08 Gustin; Jay W. Control circuit for an interface between a PCI bus and a module bus
CN111026592A (zh) * 2019-12-06 2020-04-17 西安和光明宸科技有限公司 一种计算机硬件检测装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375484C (zh) * 2003-12-31 2008-03-12 中兴通讯股份有限公司 Pos-phy总线与pci总线间的数据包转发的装置
KR100745681B1 (ko) * 2005-12-07 2007-08-02 한국전자통신연구원 방송 스트림 데이터를 인터넷 프로토콜 패킷화하는 장치 및그 방법
CN102253909A (zh) * 2011-06-30 2011-11-23 济南大学 Fpga环境下多用途pci接口及其数据传输方法
CN104467909B (zh) * 2014-12-23 2016-11-30 天津光电通信技术有限公司 一种基于fpga技术的可配置pci总线的收发电路
CN108052468A (zh) * 2017-12-04 2018-05-18 北京控制与电子技术研究所 一种基于fpga的自主可控pci总线控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805844A (en) * 1996-10-07 1998-09-08 Gustin; Jay W. Control circuit for an interface between a PCI bus and a module bus
CN111026592A (zh) * 2019-12-06 2020-04-17 西安和光明宸科技有限公司 一种计算机硬件检测装置

Also Published As

Publication number Publication date
CN112559402A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
JP4799417B2 (ja) ホストコントローラ
JP4279451B2 (ja) ロー・ピン・カウントのバスにおけるメモリ・トランザクション
US6119189A (en) Bus master transactions on a low pin count bus
JP4008987B2 (ja) バス通信システム及びバス調停方法並びにデータ転送方法
US5590377A (en) Automatic control of distributed DMAs in a PCI bus system supporting dual ISA buses
US6131127A (en) I/O transactions on a low pin count bus
US6157970A (en) Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
US5507002A (en) Peripheral component interconnect special cycle protocol using soft message IDS
KR100240922B1 (ko) 컴퓨터 시스템 버스상에서 슬레이브 dma를 에뮬레이션하는 방법
CN107710179B (zh) 具有多个sdio单元的多址单sdio接口
US5867645A (en) Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system
CN112559402B (zh) 一种基于fpga的pci从接口控制电路及fpga
CN115033515A (zh) 一种主从spi通信方法
CN112256615B (zh) Usb转换接口装置
CN113824741A (zh) 一种iic设备的通信方法、装置、设备、系统及介质
JPH1055331A (ja) プログラム可能な読み出し/書き込みアクセス信号とその方法
US10860513B1 (en) I3C hub promoting backward compatibility with I2C
CN107771328B (zh) 具有多个sdio单元的单中继sdio接口
CN110990310B (zh) 一种设备端sd控制器、控制方法及电子设备
US6240480B1 (en) Bus bridge that provides selection of optimum timing speed for transactions
US6230216B1 (en) Method for eliminating dual address cycles in a peripheral component interconnect environment
US20070131767A1 (en) System and method for media card communication
US6463490B1 (en) Dual data rate transfer on PCI bus
US6081861A (en) PCI migration support of ISA adapters
CN113326220A (zh) 一种外设电子标签信息获取方法及设备

Legal Events

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