CN104142902A - 用于耦合fpga模块的自适应接口 - Google Patents
用于耦合fpga模块的自适应接口 Download PDFInfo
- Publication number
- CN104142902A CN104142902A CN201410089777.XA CN201410089777A CN104142902A CN 104142902 A CN104142902 A CN 104142902A CN 201410089777 A CN201410089777 A CN 201410089777A CN 104142902 A CN104142902 A CN 104142902A
- Authority
- CN
- China
- Prior art keywords
- register
- fpga
- enable signal
- receiver
- sender side
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
- H03K19/017509—Interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Systems (AREA)
- Logic Circuits (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种用于在至少一个带有至少一个FPGA应用程序(8)的FPGA(2)和至少一个用于与所述FPGA(2)连接的I/O模块(5)之间实现自适应接口的方法,它们构成为对应的发送器侧(3)或接收器侧(4),其中,在FPGA(2)与I/O模块(5)之间构成有串行接口(6),所述方法包括如下步骤:针对每个FPGA应用程序(8)配置最大数目的要传输的寄存器(9);针对所有寄存器(9)配置共同的固定寄存器宽度;针对要传输的寄存器(9)在发送器侧(3)上设置使能信号(EN);将所述使能信号从所述发送器侧传输至所述接收器侧(4);以及将针对其设置所述使能信号的寄存器从所述发送器侧传输至所述接收器侧。此外,本发明还涉及一种FPGA控制系统(1)。
Description
技术领域
本发明涉及一种用于在至少一个带有至少一个FPGA应用程序的FPGA和至少一个用于与所述FPGA连接的I/O模块之间实现接口的方法,所述FPGA和所述I/O模块构成为对应的发送器侧或接收器侧。此外,本发明涉及一种FPGA控制系统,该FPGA控制系统具有至少一个带有至少一个FPGA应用程序的FPGA和至少一个用于与所述FPGA连接的I/O模块,所述FPGA和所述I/O模块构成为对应的发送器侧或接收器侧。
背景技术
在高端应用中,要求调节回路模型的循环时间越来越小。因此,这样的调节回路模型基于调节算法通常在FPGA控制系统中实现在现场可编程门阵列(FPGA)上,由此可以实现采样率为100ns到5μs的非常快速的调节回路。调节回路模型在此可以模块化地构造。这些模块化的FPGA电路或模型FPGA电路在样机系统中通常并不具有适合的I/O布线,以便能够直接响应所必需的传感器和/或执行器。
因此,需要对传感器和/或执行器进行适配,所述适配通过I/O模块进行。I/O模块例如可以通过插接系统建立至模型硬件、亦即FPGA的连接,其中,直接的插接器可以用于插上I/O模块或线缆插接器。
在这种模块化的系统中有问题是,将具有小等待时间和高带宽的任意I/O模块连接到模型FPGA上。
为了解决该问题,现有技术中已知,对于每种特定的I/O模块定义具有适合协议的适合接口。由此可以在带宽尽可能高的情况下实现小的等待时间。不过,每个所定义的接口都必须不仅在FPGA应用程序侧而且对相应的I/O模块被特定地创建,这与大的耗费相联系。
备选地,在现有技术中已知实现模块化总线,这些总线通常具有固定的最大可达到的带宽和等待时间。已知不同的模块化系统,在这些系统中通过地址数据总线进行连接。在此,原理上在并行总线例如PHS总线或ISA总线与串行总线例如PCIExpress之间予以区分。
在并行总线的情况下,带宽通常通过存在的数据线路的数目来确定。在具有N个数据线路的总线的情况下,在传输1比特或N比特时的等待时间相同。最大可达到的带宽和等待时间对于所有I/O模块而言是相同的。
在模块化系统的总线为串行的情况下,使用嵌入了实际有用数据的协议。这些已知的协议具有最小协议附加头,该最小协议附加头在通过协议确定最小有用数据量时与传输例如1比特或32比特无关地是相同的。例如,可以总是仅传输n*字节(8比特)或n*32比特。如果仅传输一个有用数据位,则仍然必须传输完整的最小有用数据量。由于协议附加头和最小有用数据量相对于接口的特定实现而使带宽和等待时间变差。
也可以根据所使用的FPGA模型需要恒定数据率。与恒定数据率的偏差称作抖动。
上述实施方式分别涉及发送器侧和接收器侧,亦即单向接口。在此,FPGA应用程序和I/O模块作为发送器侧或接收器侧的实现可互换。此外,接口也可以实施为双向接口。
发明内容
因此从上述的现有技术出发,本发明的任务在于,给出一种上面所说明的方法以及一种上面所述类型的FPGA控制系统,所述方法和所述FPGA控制系统在提供高数据率和低等待时间的情况下能实现具有所期望的数据率和所期望的等待时间的、在发送器侧与接收器侧之间的可变的数据传输,并且能以低耗费实施或提供。
该任务根据本发明通过独立权利要求的特征来解决。本发明的有利的实施方案在从属权利要求中予以说明。
根据本发明,因此说明了一种用于在至少一个带有至少一个FPGA应用程序的FPGA和至少一个用于与所述FPGA连接的I/O模块之间实现自适应接口的方法,所述FPGA和所述I/O模块构成为对应的发送器侧或接收器侧。在所述至少一个FPGA与所述至少一个I/O模块之间构成有串行接口。该方法包括如下步骤:针对每个FPGA应用程序配置最大数目的要传输的寄存器,针对所有寄存器配置共同的固定寄存器宽度、针对所述最大数目的要传输的寄存器中的要传输的寄存器在发送器侧上设置使能信号,将使能信号从所述发送器侧传输至所述接收器侧,将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧。
此外,根据本发明说明了一种FPGA控制系统,该FPGA控制系统具有至少一个带有至少一个FPGA应用程序的FPGA和至少一个用于与所述FPGA连接的I/O模块,所述FPGA和所述I/O模块构成为对应的发送器侧或接收器侧。在所述至少一个FPGA与所述至少一个I/O模块之间构成有串行接口。所述FPGA控制系统构成为用于根据上述方法在所述至少一个FPGA与所述至少一个I/O模块之间实现自适应接口。
本发明的基本构思因此在于,通过提供在FPGA应用程序与I/O模块之间的自适应接口能实现简单的实现,其方式为:能够使用标准实现和分别能够针对所期望的需要来配置。通过该配置仅对于I/O功能的具体应用而言重要的数据通过自适应接口来传输。通过针对每个FPGA应用程序配置最大数目的要传输的寄存器和配置共同的固定寄存器宽度,可以使FPGA应用程序和I/O模块简单地匹配于不同的FPGA功能,以便提供具有高效率的简单的控制和调节系统。
优选地,所述针对每个FPGA应用程序配置最大数目的要传输的寄存器和所述针对所有寄存器配置共同的固定寄存器宽度包括:针对每个FPGA模型以及寄存器的最大要传输的位数目来选择最大要传输的寄存器的数目。该配置优选是对所有FPGA应用的全局配置。FPGA模型在此涉及所有FPGA应用程序的整体,其中,FPGA模型可以具有多个单独的模型。
在发送器侧上设置使能信号使得不传输未被使用的寄存器的数据,由此可以高效地利用可用的带宽。此外,可以动态地匹配带宽的利用,从而对于小数据量可以达到小的等待时间。这样,利用同一个自适应接口可以实现提供高数据率以及低等待时间。相应地不仅可以可靠且简单地实现在少的通道上具有最小等待时间的应用而且可以可靠且简单地实现具有高通道数目的应用。在此,仅需预定较少的配置参数,由此可以简单且舒适地利用自适应接口。
在FPGA中实现的寄存器的数目对FPGA代码的生成时间而言取决于FPGA模型和/或I/O模块的相应选择的I/O功能的要求。对于实现I/O功能所需的FPGA资源可以根据配置来匹配。在静态确定的使能信号的情况下,FPGA资源可以借助未使用的寄存器进一步优化。例如,如果仅需要一个寄存器,则将FPGA资源减少到最小。在FPGA应用程序的寄存器中的位的数目在此与发送器侧的输入端相同。
优选地,一旦在所基于的FPGA模型中使用数据通道,则在从FPGA应用程序至I/O模块的传输方向中激活使能信号。相应内容适用于在从I/O模块至FPGA应用程序的传输方向中的使能信号,所述使能信号可以通过在FPGA模型中实现I/O模块自动地设置。
优选地,寄存器中未使用的位设置到恒定的值。通过预定义的值简化操作。
串行接口优选实施为LVDS(低电压差分信号)接口,所述LVDS接口能实现高数据传输率。通过将多个LVDS接口并联可以将带宽灵活地提高。LVDS接口通常实施为用于传输具有固定长度(例如8位)的数据块。优选地,LVDS接口的数据块的长度配置为配置调整(Konfigurationseinstellung)。优选地,寄存器的位的数目这样选择,使得该数目连同用于信号化的附加头一起是LVDS接口的数据块的长度的多倍。例如,每个寄存器可以包括34位,34位连同6位附加头一起以LVDS接口的总共五个数据块来传输。
在FPGA与I/O模块之间所使用的物理接口、亦即串行接口于是通过上级的协议来抽象。上级的协议的被抽象的部件可以简单地集成到其他模块和模型中,例如通过块组或者IP核和/或网表来集成。自适应接口由于类属允许不同种的I/O模块的耦合。在此仅需要,接口的配置是相同的。优选地,针对所有I/O模块初始地进行接口的相应配置,由此可以确保共同的使用。通常,FPGA的多个寄存器各映射一个端口。
上述实施分别涉及发送器侧和接收器侧、亦即单向接口。FPGA应用程序和I/O模块实现为发送器侧或接收器侧可互换。此外,接口也可以实施为双向接口。
在本发明的有利实施方案中,所述将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧包括:在所述发送器侧上提供选通信号,以便显示要传输的寄存器对于传输就绪。选通信号优选在发送器侧上由该模型设置,以便显示寄存器中的数据是一致的并且可以启动传输。选通信号优选实施为单个位。选通信号对发送器侧信号化,在寄存器中存在数据以便经由串行接口进行传输。因此,所述数据可以以在发送器侧上的选通信号开始从寄存器读取和传输,以便在接收器侧上将数据写入适合的寄存器中。发送器侧可以借助选通信号可靠地以如下内容为根据,即,所有寄存器被数据一致地相互传递。原则上,通过选通信号可以同步多个I/O模块。
在本发明的有利的实施方案中,所述将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧包括:在发送器侧上提供就绪信号,以便显示所述寄存器到接收器侧上的传输结束。通过就绪信号于是在发送器侧上对FPGA模型信号化传输成功结束,使得该FPGA模型可以重新填充寄存器来传输其他数据。因此随着传输结束,重新传输就绪。就绪信号优选实施为单个位。如果应从发送器侧发送寄存器中的数据,首先检验就绪信号的状态。如果传输已运行,则这通过缺失的就绪信号来显示,并且数据传输是不可能的。优选地,就绪信号在接口初始化、亦即至少使能信号从发送器侧传递到接收器侧上之后才被激活。一旦就绪信号允许数据发送,则FPGA应用程序开始传递。由此,具有小等待时间的接口可以从空闲状态开始数据传输,在空闲状态中不进行数据传输。
在本发明的有利的实施方案中,所述将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧包括:在接收器侧上提供就绪信号,以便显示从发送器侧接收寄存器结束。由此在接收器侧上,相应的硬件实现部可以从被传输的寄存器读取针对其确定的数据。阻止在读取中的延迟,使得随后对其他数据的传输同样不被延迟。
选通信号和/或就绪信号的实现可以任意地作为高电平或低电平来进行,即作为零或一。
在本发明的有利的实施方案中,所述将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧包括:空出每个寄存器的同样的前导位。因此,所有要传输的数据量可以减少了同样的前导位的数目。原理上在此可以选择实施如下的实现,所述实现根据需要来检测和空出作为前导位的前导的零或一,亦即在实现中将前导的一被检测为同样的前导位,而在另一种实现中,前导的零被检测为同样的前导位。在接收器侧上,可以补充未接收的位、亦即空出的位作为具有同样的前导位的值的位。同样的前导位的类型优选可以被配置。
备选地,可以传输完整的寄存器,这可以通过用于每个单个的寄存器的相应控制信号来信号化。
在本发明的有利的实施方案中,所述空出每个寄存器的同样的前导位包括:空出具有同样的前导位的预定义的寄存器区段。于是,当整个寄存器区段包含同样的前导位时才空出同样的前导位。因此,与寄存器区段的长度相对应的前导位的数目必须是同样的,以便空出前导位的传输。优选地,预定义的寄存器区段的长度这样选择,使得该长度与串行接口的传输块的长度相等。特别优选地,预定义的寄存器区段的长度这样选择,使得该长度与LVDS接口的传输块的长度相等。在此,寄存器区段的长度可以这样选择,使得寄存器区段的长度连同用于信号化的附加头一起与传输块的长度相等。传输块在此分别完全或基本上完全用于预定义的寄存器区段。预定义的寄存器区段的参量可以定义为全局值,或动态地在实施FPGA模型期间进行匹配。由此,可以通过节约串行接口的传输块来加速数据传递。
备选地,可以传输完整的寄存器区段,这通过用于每个单个的寄存器区段的相应控制信号来信号化。
在本发明的有利的实施方案中,所述将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧包括:添加前导位作为非同样的位。这迫使传输整个寄存器,使得接口以恒定的数据率工作。相应地可以减少或避免数据传输的抖动。
在本发明的有利的实施方案中,所述将针对其设置所述使能信号的寄存器从发送器侧传输至接收器侧包括:对针对其设置使能信号的寄存器就改变的内容进行检验并且传输具有改变的内容的寄存器。原则上,改变的寄存器能如现存那样地被传递。然而优选地仅传输变化。因此在寄存器的位未改变的情况下,变化例如作为零被传输,而改变的位例如作为一被传输。与空出同样的前导的位(在本情况下为零)的传输相组合地,因此即使以零和一的任意编码的情况下也可以空出未改变的寄存器内容的传输。由此,例如在具有极少变化的信号的系统中(所述信号为前导位),即使在该信号与同样的位、亦即零或一不对应时也能实现要传输的数据的减少。因此,寄存器的所有位由于前导位不相同而不必传输。
在本发明的有利的实施方案中,该方法包括同步发送器侧和接收器侧上的寄存器内容。同步可以周期地、在时间界限之内和/或与事件有关地进行,以便确保或检验接收器侧上的数据完整性。为此,数据如其在寄存器中那样被传输,亦即,寄存器被完全传输。这通过用于每个单个的寄存器的相应控制信号来信号化。优选地,在正常运行中传输寄存器内容的变化,其中,同步保证了寄存器内容的完整性、亦即校准发送器侧和接收器侧的寄存器内容。特别优选地,周期地执行同步。
在本发明的有利的实施方案中,所述针对最大数目的要传输的寄存器中的要传输的寄存器在发送器侧上设置使能信号包括:在传输所述寄存器之前动态地设置使能信号,以及所述将使能信号从发送器侧传输至接收器侧分别在传输寄存器之前进行。例如,使能信号在每次数据传输之前被传输到接收器侧上。由此实现自适应接口的高灵活性。
在本发明的有利的实施方案中,所述针对最大数目的要传输的寄存器中的要传输的寄存器在发送器侧上设置使能信号包括:在要传输的寄存器改变时动态设置所述使能信号,以及所述将使能信号从发送器侧传输至接收器侧分别在要传输的寄存器改变之后进行。因此,使能信号例如可以在系统启动时被传输到接收器侧上。使能信号的改变仅在需要时被传输。由此,使能信号的传输仅要求较少的资源并且对数据流量或等待时间仅产生微小影响。
在本发明的有利的实施方案中,所述将使能信号从所述发送器侧传输至所述接收器侧在串行接口上的传输间歇内进行。使能信号的改变并且配置随之出现的改变于是在接口在IDLE模式中不传输数据时执行。由此,使能信号的传输仅需要较少资源并且对数据流量或等待时间仅产生微小影响。
原则上,在IDLE模式中使能信号在其不改变时也能被重复传输。
在本发明的有利的实施方案中,该方法包括以下附加步骤:向所述发送器侧以及所述接收器侧添加类属功能块。因此,例如在FPGA应用程序中将块组“块”集成到模型中。该块可以针对所有特定I/O模块保持相同。可选地,代替块组块将(V)HDL-IP核集成到用户模型的(V)HDL源代码中或者作为网表集成到用户设计中。此外优选地,功能块可以作为用于图形编程的块来添加,由此可以简单地实现编程。
在本发明的有利的实施方案中,该方法包括以下附加步骤:自动地确定自适应接口的配置。自动配置包括针对每个FPGA应用程序的最大数目的要传输的寄存器以及针对所有寄存器的共同的固定寄存器宽度。可选地,也可以针对预定义的寄存器区段的长度进行自动配置。自动配置的基础优选是用于将数据通过串行接口传输的块参量。通过自动配置确保了达到优化的带宽和/或等待时间。
附图说明
以下参照附图借助优选的实施形式来详细阐述本发明。图中:
图1示出了根据一种优选的实施形式的具有一个FPGA和两个与FPGA通过串行接口连接的I/O模块的FPGA控制系统的示意图,
图2示出了图1中的FPGA控制系统的细节图,
图3示出了用于根据一种优选的实施形式的方法的框图,以及
图4示出了用于阐明自适应接口的功能的示图。
具体实施方式
图1示出了根据一种优选的实施形式的FPGA控制系统1。FPGA控制系统1包括作为一个发送器侧3的一个FPGA2和一个接收器侧4。接收器侧4在该实施例中包括两个I/O模块5,如在图2中详细所示的那样。
在发送器侧3与接收器侧4之间构成有串行接口6。串行结构6是自适应接口7的基础,该自适应接口实现在FPGA2与I/O模块5之间,并且串行接口6用作传输介质。串行接口6实施为具有8位的块参量的LVDS接口,以用于传输数据。
在FPGA2上实施有多个FPGA应用程序8,这些FPGA应用程序分别通过寄存器9与自适应接口7连接。在接收器侧4上,在I/O模块5上构成有多个硬件实现部10,所述硬件实现部同样通过寄存器9与自适应接口7连接。
此外,描述了一种用于在FPGA2与I/O模块5之间实现自适应接口7的方法。
首先在步骤S10中实施对FPGA应用程序8和硬件实现部10的模型化。在此,分别将用于发送器侧3以及接收器侧4的类属功能块作为块组块集成到相应的模型中。该块组块对于所有特定I/O模块5是相同的。添加块组块作为图形编程进行。
在步骤S20中,自动地确定用于自适应接口7的配置。自动配置包括用于每个FPGA应用程序8的最大数目的要传输的寄存器9以及对于所有寄存器9的共同的固定的寄存器宽度。配置基于用于通过串行接口6传输数据的块参量来进行。在该实施例中,FPGA应用程序8利用n个、m个、o个寄存器9来实施,其中,寄存器9的数目n、m、o分别设置为12并且寄存器宽度选择为34位。在此,由寄存器9所使用的位以位编号0开始并且随后增加至位B-1被占有。在寄存器9中未使用的位设置为恒定的值“零”。在FPGA2中实现的寄存器9的数目在此针对FPGA代码的生成时间根据FPGA应用程序8和I//O模块5的相应所选的I/O功能的要求来选择。在FPGA应用程序8的寄存器9中的位的数目在此与发送器侧3的输入端(端口)同义。
在一种备选的实施形式中,在步骤S10之前实施步骤S20。
在步骤S30中,在发送器侧3上针对最大数目的要传输的寄存器9中的要传输的寄存器9设置使能信号EN。一旦在所基于的FPGA模型中使用数据通道,则在从FPGA应用程序8到I/O模块5的传输方向中自动激活使能信号EN。此外,使能信号EN从发送器侧3经由串行接口6被传输到接收器侧4,由此自适应接口7被初始化。实施为单个位的就绪信号RDY接着被激活。
在步骤S40中,针对其设置使能信号EN的寄存器9被从发送器侧3传递至接收器侧4。为此首先检验就绪信号RDY。如果已进行传输,则这通过缺失的就绪信号RDY显示并且不能数据传输。
一旦存在就绪信号RDY,由相应的FPGA应用程序8要传输的数据被写入到寄存器9中。
数据从寄存器9经由串行接口6的传递由FPGA2通过设置选通信号Str来启动。就绪信号RDY相应地被去激活。选通信号Str和就绪信号RDY的实现在此作为高电平、即作为逻辑一来进行。
以选通信号Str开始,在发送器侧3上从寄存器9读取和传输数据。接着,数据在接收器侧4上被写入到适合的寄存器9中。随后,在接收器侧4上提供就绪信号RDY以便显示从发送器侧3接收寄存器9结束,并且在接收器侧4上,每个硬件实现部10从所传输的寄存器9读取针对这些寄存器所确定的数据。
在使能信号EN改变时,这些使能信号被传输到接收器侧4上。否则,直接进行寄存器9的传输。在此,寄存器9的内容如接下来描述的那样被减少。
在寄存器9从发送器侧3传输至接收器侧4时,首先针对每个寄存器9检验,是否设置有使能信号EN。如果未设置使能信号EN,则不传输寄存器9,并且选择下一个寄存器9。
针对剩余的针对其设置有使能信号EN的寄存器,将前导的零检测为同样的前导位。同样的前导位针对每个寄存器9在传递时被空出。通过空出同样的前导位形成了对LVDS接口6的要传输的数据块的数目的匹配。在要传输的位的其余数目为1到6时形成了具有8位的1个LVDS数据块;在要传输的位为7到13时,形成了各有8位的2个LVDS数据块;在要传输的位为14到20时,形成了各有8位的3个LVDS数据块;在要传输的位为21到27时,形成了各有8位的4个LVDS数据块;以及在要传输的位为28到34时,形成了各有8位的5个LVDS数据块。附加地,在LVDS数据块中传输关于定义的控制位的信息“跟随其他包”或“最后的包”。以下参照图4来阐述其他细节。
在接收器侧4上,未被接收的位、即空出的位作为被接收的具有同样的前导位的值的位被输出,亦即以“零”填充。如果寄存器9仅包含值“零”,则寄存器9的传输整体上被减少到控制结构。
为了进一步传输寄存器9,在发送器侧3上按照需要可以改变针对最大数目的要传输的寄存器9中的要传输的寄存器9的使能信号EN并且因此动态地设置所述使能信号。在改变使能信号EN时这如上面所描述的那样在开始传递寄存器9时被传输。备选地,使能信号EN从发送器侧3至接收器侧4的传输在串行接口6上的传递间歇内、亦即在串行接口6在IDLE(空闲)模式中没有数据传输时进行。此外备选地,在IDLE模式中与使能信号的改变无关地也重复地传输相应存在的使能信号EN。
在一种备选的实施形式中,寄存器内容的改变作为数据写入到寄存器9中。值的改变信号化为1,未改变的位设置为零。另外,如上面所描述的那样执行该方法。
在一种备选的实施形式中,省去上面所描述的寄存器9内容的减少。在该备选的实施形式中因此与前导位无关地传输所有针对其设置使能信号EN的寄存器9。这通过针对每个单个的寄存器9的相应控制信号来信号化。由此进行在发送器侧3和接收器侧4上的寄存器内容的同步。所述同步周期地进行。在另一备选的实施形式中,对寄存器内容的改变的与前面所描述的传递相组合地进行在发送器侧3和接收器侧4上的寄存器内容的同步,亦即在传递寄存器内容的改变时通过传递完整的寄存器内容来进行同步。
在另一种备选的实施形式中,在每个寄存器9中前导位被设置为并不同样的位,即设置为1。这迫使传输所有寄存器9,从而自适应接口7以恒定的数据率来工作。
以下参照图4描述了数据传输的示例性过程。
在接通之后,串行接口6处于IDLE模式(SYNC=1、CMD=1、IDLE=1)。在该模式中,循环地且持续地将FPGA应用程序8的12个使能信号EN的状态传输到接收器侧4上。所有12位的传输在此需要四个各有8位的LVDS数据块并且也必须在接通之后完全结束至少一次,以便寄存器9从发送器侧3到接收器侧4上的传输被初始化。
一旦通过发送器侧2发送选通信号Str,则发送器侧3随下一个LVDS数据块开始而变换到针对在寄存器9中的存在I/O数据的传输模式(SYNC=0)。现在,所有输入端口的寄存器9以端口1开始相继地被传输,其中,针对其未设置使能信号EN的寄存器被跳过。
每个寄存器9的传输被划分成最大4×7位包(SYNC=0)加上最后的用于端部识别的6位包(SYNC=1、CMD=0),并且如上面所描述的那样以LSB开始。在传输寄存器9结束之后,立即无缝地跟随后续的寄存器9。
在处理所有12个寄存器9之后,控制器又返回到IDLE模式(SYNC=1、CMD=1、IDLE=1)中并且重新循环地传输输入端的ENABLE位的状态。
所描述的实施例分别涉及作为发送器侧3的FPGA2和作为接收器侧4的I/O模块5。在一种备选的实施形式中,FPGA2形成接收器侧4而I/O模块5形成发送器侧3。在另一种备选的实施形式中,自适应接口7实施为双向接口。相应地,使能信号EN通过在FPGA模型中实现I/O模块5自动地被设置。
附图标记表
FPGA控制系统 1
FPGA 2
发送器侧 3
接收器侧 4
I/O模块 5
串行接口 6
自适应接口 7
FPGA应用程序 8
寄存器 9
硬件实现部 10
Claims (15)
1.一种用于在至少一个带有至少一个FPGA应用程序(8)的FPGA(2)和至少一个用于与所述FPGA(2)连接的I/O模块(5)之间实现自适应接口的方法,所述FPGA和所述I/O模块构成为对应的发送器侧(3)或接收器侧(4),其中,在所述至少一个FPGA(2)与所述至少一个I/O模块(5)之间构成有串行接口(6),所述方法包括如下步骤:
针对每个FPGA应用程序(8)配置最大数目的要传输的寄存器(9),
针对所有寄存器(9)配置共同的固定寄存器宽度,
针对所述最大数目的要传输的寄存器(9)中的要传输的寄存器(9)在发送器侧(3)上设置使能信号(EN),
将使能信号(EN)从所述发送器侧(3)传输至所述接收器侧(4),以及
将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)。
2.根据权利要求1所述的方法,其特征在于,所述将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)包括:在所述发送器侧(3)上提供选通信号(Str),以便显示要传输的寄存器(9)对于传输就绪。
3.根据权利要求1或2所述的方法,其特征在于,所述将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)包括:在所述发送器侧(3)提供就绪信号(RDY),以便显示所述寄存器(9)到所述接收器侧(4)上的传输结束。
4.根据上述权利要求1至3中任一项所述的方法,其特征在于,所述将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)包括:在接收器侧(4)上提供给就绪信号(RDY),以便显示从所述发送器侧(3)接收所述寄存器(9)结束。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)包括:空出每个寄存器(9)的同样的前导位。
6.根据上述权利要求5所述的方法,其特征在于,所述空出每个寄存器(9)的同样的前导位包括:空出具有同样的前导位的预定义的寄存器区段。
7.根据上述权利要求5或6中任一项所述的方法,其特征在于,所述将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)包括:添加前导位作为非同样的位。
8.根据上述权利要求1至7中任一项所述的方法,其特征在于,所述将针对其设置所述使能信号(EN)的寄存器(9)从所述发送器侧(3)传输至所述接收器侧(4)包括:对针对其设置使能信号(EN)的寄存器(9)就改变的内容进行检验并且传输具有改变的内容的寄存器(9)。
9.根据权利要求8所述的方法,其特征在于,该方法包括同步在发送器侧(3)和接收器侧(4)上的寄存器内容。
10.根据上述权利要求1至9中任一项所述的方法,其特征在于,所述针对最大数目的要传输的寄存器(9)中的要传输的寄存器在发送器侧(3)上设置使能信号(EN)包括:在传输所述寄存器(9)之前动态地设置使能信号(EN),以及
所述将使能信号(EN)从所述发送器侧(3)传输至所述接收器侧(4)分别在传输所述寄存器(9)之前进行。
11.根据上述权利要求1至9中任一项所述的方法,其特征在于,所述针对最大数目的要传输的寄存器(9)中的要传输的寄存器在发送器侧(3)上设置使能信号(EN)包括:在要传输的寄存器(9)改变时动态地设置所述使能信号(EN),以及
所述将使能信号(EN)从所述发送器侧(3)传输至所述接收器侧(4)分别在要传输的寄存器(9)改变之后进行。
12.根据上述权利要求1至11中任一项所述的方法,其特征在于,所述将使能信号(EN)从所述发送器侧(3)传输至所述接收器侧(4)在串行接口(6)上的传输间歇内进行。
13.根据上述权利要求1至12中任一项所述的方法,其特征在于,该方法包括以下附加步骤:向所述发送器侧(3)以及所述接收器侧(4)添加类属功能块。
14.根据上述权利要求1至13中任一项所述的方法,其特征在于,该方法包括以下附加步骤:自动地确定用于自适应接口(7)的配置。
15.FPGA控制系统(1),具有至少一个带有至少一个FPGA应用程序(8)的FPGA(2)和至少一个用于与所述FPGA(2)连接的I/O模块(5),所述FPGA和所述I/O模块构成为对应的发送器侧(3)或接收器侧(4),其中,在所述至少一个FPGA(2)与所述至少一个I/O模块(5)之间构成有串行接口(6),其中,所述FPGA控制系统(1)构成为用于根据上述权利要求之一在所述至少一个FPGA(2)与所述至少一个I/O模块(5)之间实现自适应接口(7)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13167208.1 | 2013-05-10 | ||
EP13167208.1A EP2801915B1 (de) | 2013-05-10 | 2013-05-10 | Adaptives interface zur kopplung von fpga-modulen |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104142902A true CN104142902A (zh) | 2014-11-12 |
CN104142902B CN104142902B (zh) | 2017-08-29 |
Family
ID=48428356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410089777.XA Active CN104142902B (zh) | 2013-05-10 | 2014-03-12 | 用于耦合fpga 模块的自适应接口 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9160338B2 (zh) |
EP (1) | EP2801915B1 (zh) |
JP (1) | JP6104210B2 (zh) |
CN (1) | CN104142902B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064537A (zh) * | 2019-12-11 | 2020-04-24 | 中国电子科技集团公司第三十研究所 | 基于不同厂商fpga片间高速接口通信方法 |
WO2022032816A1 (zh) * | 2020-08-11 | 2022-02-17 | 国微集团(深圳)有限公司 | 一种可跨fpga平台的高速通讯方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828943B (zh) * | 2019-01-16 | 2023-07-14 | 北京左江科技股份有限公司 | 一种低速率通信网络的提高串口传输速率处理系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078710A1 (en) * | 2003-10-08 | 2005-04-14 | Hui-Huang Chang | General interface control circuit |
CN202472641U (zh) * | 2012-03-09 | 2012-10-03 | 东风电子科技股份有限公司 | 基于can总线的usb接口卡 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04322347A (ja) * | 1991-04-23 | 1992-11-12 | Toshiba Corp | 情報伝送方式 |
JP2000285069A (ja) * | 1999-03-31 | 2000-10-13 | Copyer Co Ltd | 同期式シリアル通信方法及び同期式シリアル通信システム |
US6650140B2 (en) * | 2001-03-19 | 2003-11-18 | Altera Corporation | Programmable logic device with high speed serial interface circuitry |
DE20307308U1 (de) * | 2003-05-09 | 2003-07-03 | Dbt Autom Gmbh | Steuergerät für den untertägigen Bergbau |
JP2006018729A (ja) * | 2004-07-05 | 2006-01-19 | Toshiba Corp | 適応形インタフェースを有するディジタル電子機器および適応形インタフェースの設定方法 |
US7268582B1 (en) * | 2005-11-22 | 2007-09-11 | Altera Corporation | DPRIO for embedded hard IP |
US20110320765A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Variable width vector instruction processor |
US8675790B2 (en) * | 2010-08-31 | 2014-03-18 | Infineon Technologies Ag | Adaptive digital signal processing of a receive signal |
DE102011052512A1 (de) | 2011-08-09 | 2013-02-14 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät |
-
2013
- 2013-05-10 EP EP13167208.1A patent/EP2801915B1/de active Active
-
2014
- 2014-03-12 CN CN201410089777.XA patent/CN104142902B/zh active Active
- 2014-05-07 JP JP2014095807A patent/JP6104210B2/ja active Active
- 2014-05-12 US US14/275,284 patent/US9160338B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078710A1 (en) * | 2003-10-08 | 2005-04-14 | Hui-Huang Chang | General interface control circuit |
CN202472641U (zh) * | 2012-03-09 | 2012-10-03 | 东风电子科技股份有限公司 | 基于can总线的usb接口卡 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064537A (zh) * | 2019-12-11 | 2020-04-24 | 中国电子科技集团公司第三十研究所 | 基于不同厂商fpga片间高速接口通信方法 |
CN111064537B (zh) * | 2019-12-11 | 2021-07-09 | 中国电子科技集团公司第三十研究所 | 基于不同厂商fpga片间高速接口通信方法 |
WO2022032816A1 (zh) * | 2020-08-11 | 2022-02-17 | 国微集团(深圳)有限公司 | 一种可跨fpga平台的高速通讯方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6104210B2 (ja) | 2017-03-29 |
US20140333344A1 (en) | 2014-11-13 |
EP2801915B1 (de) | 2017-01-18 |
US9160338B2 (en) | 2015-10-13 |
JP2014220813A (ja) | 2014-11-20 |
EP2801915A1 (de) | 2014-11-12 |
CN104142902B (zh) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101911000B (zh) | 用于连接电子装置的控制总线 | |
CN103988262A (zh) | 串行连接的装置中的独立的写和读控制 | |
US20140115229A1 (en) | Method and system to reduce system boot loader download time for spi based flash memories | |
US20130297829A1 (en) | Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain | |
US20030200359A1 (en) | Serial data interface | |
US20080270654A1 (en) | Bus System for Selectively Controlling a Plurality of Identical Slave Circuits Connected to the Bus and Method Therefore | |
US20180123823A1 (en) | Bus interface with bi-directional, one-wire communication and individual select lines | |
JP4903801B2 (ja) | FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法 | |
US8384427B1 (en) | Configuring multiple programmable logic devices with serial peripheral interfaces | |
CN107710179B (zh) | 具有多个sdio单元的多址单sdio接口 | |
CN104142902A (zh) | 用于耦合fpga模块的自适应接口 | |
CN105677598A (zh) | 基于i2c接口快速读取多个mems传感器数据的模块和方法 | |
US10127172B2 (en) | Single SDIO interface with multiple SDIO units | |
US10002090B2 (en) | Method for improving the performance of synchronous serial interfaces | |
US10503686B2 (en) | SPI interface with automatic slave select generation | |
KR100924989B1 (ko) | 데이터 전송 승인 방법, 제조 물품 및 시스템 | |
KR20160016843A (ko) | 데이터 통신 방법, 통신 제어기 및 회로 배열체 | |
US20060184708A1 (en) | Host controller device and method | |
CN107771328B (zh) | 具有多个sdio单元的单中继sdio接口 | |
US20130262610A1 (en) | Communication system and method for configuring programmable hardware | |
US10127180B2 (en) | Bus interface unit and operating method therefor | |
US20080181242A1 (en) | Communications gateway between two entities | |
CN106095714A (zh) | Usb数据传输的存储装置及电子设备 | |
US20230281142A1 (en) | Processing system, related integrated circuit, system and method | |
CN112445742A (zh) | 一种地址宽度自动识别的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Paderborn, Germany Patentee after: Desbeth Co.,Ltd. Address before: Paderborn, Germany Patentee before: DSPACE DIGITAL SIGNAL PROCESSING AND CONTROL ENGINEERING GmbH |