一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

双向引脚多功能复用电路、FPGA器件及多功能复用系统的制作方法

2022-03-23 20:16:27 来源:中国专利 TAG:

双向引脚多功能复用电路、fpga器件及多功能复用系统
技术领域
1.本实用新型涉及fpga设计技术领域,尤其涉及一种用于fpga的双向引脚多功能复用电路、一种fpga器件及一种多功能复用系统。


背景技术:

2.伴随着可重构设计理念的广泛应用,fpga作为最重要的一种可重构器件,它的应用领域不断扩展。尤其是在高精度自动化控制、高速数据通信接口、人工智能检测识别等领域快速发展。
3.虽然现在单个fpga器件的逻辑资源越做越大,由此可以支撑的fpga逻辑功能设计复杂度也可以越来越高,但是因为受fpga器件成本和制造工艺等多重因素的制约,fpga引脚数量无法大幅度提升。因此fpga器件的引脚数量成为很多新技术应用的设计瓶颈。
4.同时,一些对引脚数量和电磁兼容设计等敏感的技术应用领域(如芯片的sip技术、复杂电磁环境pcb布局布线),较少的引脚使用数量不仅可以提高设计质量,还可以节省设计成本。因此通过fpga的双向引脚多功能复用方法,减少fpga设计中引脚使用数量就显得尤为重要。
5.目前,虽然fpga器件可以通过编写约束文件在每次编译并产生下载文件后更改引脚功能,但是这种方法无法满足一些新技术应用需要fpga器件在运行时可以通过配置寄存器,实时切换引脚功能和信号传输方向。


技术实现要素:

6.本实用新型提供了一种用于fpga的双向引脚多功能复用电路、一种fpga器件及一种多功能复用系统,解决相关技术中存在的无法实现实时切换引脚功能和信号传输方向的问题。
7.作为本实用新型的第一个方面,提供一种用于fpga的双向引脚多功能复用电路,其中,包括:
8.引脚方向和功能配置寄存器,用于接收并暂存上位机的方向和功能配置信息;
9.双向引脚配置模块,与所述引脚方向和功能配置寄存器通信连接,用于根据所述方向和功能配置信息以及时分复用原则确定待配置双向引脚的引脚方向和引脚功能;
10.所述双向引脚配置模块的数量与所述待配置双向引脚的数量一一对应,且每个所述待配置双向引脚均连接一个所述双向引脚配置模块。
11.进一步地,每个所述双向引脚配置模块均包括:数据选择与分配模块和信号传输方向控制器,所述数据选择与分配模块与所述信号传输方向控制器通信连接,且所述数据选择与分配模块和信号传输方向控制器均与所述引脚方向和功能配置寄存器通信连接,
12.所述信号传输方向控制器能够根据所述方向和功能配置信息中方向配置值的电平状态配置所述待配置双向引脚的引脚方向,其中所述引脚方向包括输入方向和输出方向;
13.所述数据选择与分配模块能够根据所述方向配置值的电平状态被使能,且能够在被使能后根据所述方向和功能配置信息中功能配置值将所述待配置双向引脚与对应的功能模块进行通信连接。
14.进一步地,所述数据选择与分配模块包括:
15.数据选择器和数据分配器,所述数据选择器与所述数据分配器均与所述引脚方向和功能配置寄存器通信连接,
16.所述数据选择器能够在所述方向配置值的电平状态为高电平时被使能,
17.所述数据分配器能够在所述方向配置值的电平状态为低电平时被使能。
18.进一步地,所述数据选择与分配模块还包括:
19.寄存器和三态门,所述寄存器分别连接所述数据选择器和所述三态门,所述三态门连接所述数据分配器。
20.进一步地,所述数据选择器包括第一功能端口、第一配置端口、第一选择端口和输出端口,所述第一功能端口用于连接执行输出功能的功能模块,所述第一配置端口用于连接所述引脚方向和功能配置寄存器,所述第一选择端口用于连接信号传输方向控制器,所述输出端口用于连接所述寄存器;
21.所述数据分配器包括第二功能端口、第二配置端口、第二选择端口和输入端口,所述第二功能端口用于连接执行输入功能的功能模块,所述第二配置端口用于连接所述引脚方向和功能配置寄存器,所述第二选择端口用于通过反相器连接信号传输方向控制器,所述输入端口用于连接所述三态门的输出端口;
22.所述寄存器的d端连接所述数据选择器的输出端口,所述寄存器的c端连接时钟信号,所述寄存器的clr端连接复位信号,所述寄存器的q端连接所述三态门的输入端;
23.所述三态门的使能控制端连接所述信号传输方向控制器,所述三态门的输出端为所述数据选择与分配模块的输出端。
24.进一步地,当需要切换所述待配置双向引脚的引脚方向和引脚功能时,
25.若所述待配置双向引脚所需的引脚方向为输出,则将所述引脚方向和功能配置寄存器中的方向配置值配置为高电平,并将所述第一配置端口根据所述引脚方向和功能配置寄存器中功能配置值选通所述第一功能端口所连接的功能模块;
26.若所述待配置双向引脚所需的引脚方向为输入,则将所述引脚方向和功能配置寄存器中的方向配置值配置为低电平,并将所述第二配置端口根据所述引脚方向和功能配置寄存器中功能配置值选通所述第二功能端口所连接的功能模块。
27.进一步地,所述功能模块包括:gpio、pwm、adc和spi。
28.进一步地,所述用于fpga的双向引脚多功能复用电路包括4个所述双向引脚配置模块,4个所述双向引脚配置模块对应4个待配置双向引脚,每个所述双向引脚配置模块均能够实现对应的待配置双向引脚的输入功能配置和输出功能配置。
29.作为本实用新型的另一个方面,提供一种fpga器件,其中,包括:前文所述的用于fpga的双向引脚多功能复用电路和多个待配置双向引脚,所述待配置双向引脚与所述用于fpga的双向引脚多功能复用电路通信连接。
30.作为本实用新型的另一个方面,提供一种多功能复用系统,其中,包括上位机和前文所述的fpga器件,所述上位机与所述fpga器件中的用于fpga的双向引脚多功能复用电路
通信连接。
31.本实用新型提供的用于fpga的双向引脚多功能复用电路,在fpga运行时可以通过引脚方向和功能配置寄存器,实时切换fpga的待配置双向引脚的功能和信号传输方向,达到提高fpga设计中引脚使用效率,减少fpga设计中引脚使用数量的目标。
附图说明
32.附图是用来提供对本实用新型的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本实用新型,但并不构成对本实用新型的限制。
33.图1为本实用新型提供的用于fpga的双向引脚多功能复用电路的结构框图。
34.图2为本实用新型提供的fpga的4个待配置双向引脚的8个功能复用电路原理框图。
35.图3为本实用新型提供的fpga的4个待配置双向引脚的8个功能复用电路原理设计图。
36.图4为本实用新型提供的实现1个待配置双向引脚的8个功能复用电路原理图。
37.图5为本实用新型提供的数据选择器的电路原理图。
38.图6为本实用新型提供的数据分配器的电路原理图。
具体实施方式
39.需要说明的是,在不冲突的情况下,本实用新型中的实施例及实施例中的特征可以相互结合。下面将参考附图并结合实施例来详细说明本实用新型。
40.为了使本领域技术人员更好地理解本实用新型方案,下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分的实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本实用新型保护的范围。
41.需要说明的是,本实用新型的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本实用新型的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.在本实施例中提供了一种用于fpga的双向引脚多功能复用电路,图1是根据本实用新型实施例提供的用于fpga的双向引脚多功能复用电路的结构框图,如图1所示,包括:
43.引脚方向和功能配置寄存器100,用于接收并暂存上位机的方向和功能配置信息;
44.双向引脚配置模块200,与所述引脚方向和功能配置寄存器100通信连接,用于根据所述方向和功能配置信息以及时分复用原则确定待配置双向引脚的引脚方向和引脚功能;
45.所述双向引脚配置模块200的数量与所述待配置双向引脚的数量一一对应,且每个所述待配置双向引脚均连接一个所述双向引脚配置模块。
46.应当理解的是,所述fpga包括多个待配置双向引脚,多个待配置双向引脚均能够根据时分复用原则被配置实现多功能复用。
47.本实用新型实施例提供的用于fpga的双向引脚多功能复用电路,在fpga运行时可以通过引脚方向和功能配置寄存器,实时切换fpga的待配置双向引脚的功能和信号传输方向,达到提高fpga设计中引脚使用效率,减少fpga设计中引脚使用数量的目标。
48.在本实用新型实施例中,所述用于fpga的双向引脚多功能复用电路包括4个所述双向引脚配置模块,4个所述双向引脚配置模块对应4个待配置双向引脚,每个所述双向引脚配置模块均能够实现对应的待配置双向引脚的输入功能配置和输出功能配置。
49.本实用新型实施例以4个双向引脚配置模块对应4个待配置双向引脚为例进行说明,如图2所示,4个双向引脚配置模块分别为例化模块0、例化模块1、例化模块2和例化模块3,4个待配置双向引脚分别为引脚0、引脚1、引脚2和引脚3。
50.需要说明的是,例化模块0、例化模块1、例化模块2和例化模块3这4个双向引脚配置模块,根据引脚方向和功能配置寄存器中的方向配置值选择引脚0、引脚1、引脚2和引脚3这四个fpga的待配置双向引脚的信号传输方向是输入或者输出。再根据引脚方向和功能配置寄存器100中的功能配置值将双向引脚0、引脚1、引脚2和引脚3这四个fpga的待配置双向引脚与执行不同功能的功能模块(如gpio、pwm、adc、spi等)中某一个模块的对应功能的信号相连通,从而实现通过配置寄存器切换信号传输方向和引脚功能。
51.具体地,如图1所示,每个所述双向引脚配置模块200均包括:数据选择与分配模块210和信号传输方向控制器220,所述数据选择与分配模块210与所述信号传输方向控制器220通信连接,且所述数据选择与分配模块210和信号传输方向控制器220均与所述引脚方向和功能配置寄存器100通信连接,
52.所述信号传输方向控制器220能够根据所述方向和功能配置信息中方向配置值的电平状态配置所述待配置双向引脚的引脚方向,其中所述引脚方向包括输入方向和输出方向;
53.所述数据选择与分配模块210能够根据所述方向配置值的电平状态被使能,且能够在被使能后根据所述方向和功能配置信息中功能配置值将所述待配置双向引脚与对应的功能模块进行通信连接。
54.应当理解的是,上位机或者fpga工程中的上层模块可以通过方向和功能选择信号将双向引脚0、引脚1、引脚2和引脚3的方向和功能选择信息发送到引脚方向和功能配置寄存器100。引脚方向和功能配置寄存器100实现对上位机或者fpga工程中的上层模块发来的方向和功能选择配置信息进行暂存。首先,双向引脚配置模块200中的信号传输方向控制器220根据引脚方向和功能配置寄存器100中的方向配置值的电平状态(高电平或者低电平)配置fpga的待配置双向引脚是做信号输出还是信号输入。
55.然后数据选择与分配模块210根据引脚方向和功能配置寄存器100中的方向配置值的电平状态(高电平或者低电平)来选择使能数据选择器或者数据分配器(低电平时选择使能数据分配器,高电平时选择使能数据选择器)。
56.在被使能的情况下,数据选择器和数据分配器根据引脚方向和功能配置寄存器中的功能配置值来选择fpga待配置双向引脚与执行不同功能的功能模块(如gpio、pwm、adc、spi等)中某一个的对应功能的信号相连通。
57.由此可以将4个fpga引脚信号分别配置成4个输入功能中的一个或者4个输出功能中的一个,提高fpga引脚的使用效率。
58.进一步具体地,如图4所示,所述数据选择与分配模块210包括:
59.数据选择器211和数据分配器212,所述数据选择器211与所述数据分配器212均与所述引脚方向和功能配置寄存器100通信连接,
60.所述数据选择器211能够在所述方向配置值的电平状态为高电平时被使能,
61.所述数据分配器212能够在所述方向配置值的电平状态为低电平时被使能。
62.进一步具体地,所述数据选择与分配模块210还包括:
63.寄存器213和三态门214,所述寄存器213分别连接所述数据选择器211和所述三态门214,所述三态门214连接所述数据分配器212。
64.具体地,所述数据选择器211包括第一功能端口d[3:0]、第一配置端口s[1:0]、第一选择端口dir1和输出端口y,所述第一功能端口d[3:0]用于连接执行输出功能的功能模块,所述第一配置端口s1[1:0]用于连接所述引脚方向和功能配置寄存器,所述第一选择端口dir1用于连接信号传输方向控制器,所述输出端口y用于连接所述寄存器213;
[0065]
所述数据分配器212包括第二功能端口y[3:0]、第二配置端口s2[1:0]、第二选择端口dir2和输入端口d,所述第二功能端口y[3:0]用于连接执行输入功能的功能模块,所述第二配置端口s2[1:0]用于连接所述引脚方向和功能配置寄存器,所述第二选择端口dir2用于通过反相器215连接信号传输方向控制器220,所述输入端口d用于连接所述三态门214的输出端口;
[0066]
所述寄存器213的d端连接所述数据选择器211的输出端口,所述寄存器213的c端连接时钟信号,所述寄存器213的clr端连接复位信号,所述寄存器213的q端连接所述三态门214的输入端i;
[0067]
所述三态门214的使能控制端oe连接所述信号传输方向控制器220,所述三态门214的输出端o为所述数据选择与分配模块的输出端io。
[0068]
下面结合图2至图4对本实用新型实施例提供的双向引脚配置模块的具体工作原理进行详细说明。
[0069]
本实用新型实施例提供的用于fpga的双向引脚多功能复用电路,例如可以应用在实现4个fpga的待配置双向引脚(io[0]、io[1]、io[2]和io[3])的8个功能复用电路(其中y[3:0]信号依次连接的是4个输入功能,d[3:0]信号依次连接的是4个输出功能)时的具体原理图如图2所示。每个fpga的待配置双向引脚与下挂的输入或者输出设备相连接。
[0070]
其中双向引脚配置模块100为本实用新型所提出的设计原理框图如图3所示。图3中引脚0模块、引脚1模块、引脚2模块和引脚3模块是双向引脚配置模块的4个例化,分别用来配置对应fpga的 4个待配置双向引脚io[0]、io[1]、io[2]和io[3],每个双向引脚配置模块实现1个fpga的待配置双向引脚的8个功能(其中4个是连接执行信号是输入的功能y[3:0],4个是连接执行信号方向是输出的功能d[3:0])和信号传输方向配置。io0_s[1:0]是引脚0模块的控制信号端的控制信号,io1_s[1:0]是引脚1模块的控制信号端的控制信号,io2_s[1:0]是引脚2模块的控制信号端的控制信号,io3_s[1:0]是引脚3模块的控制信号端的控制信号。
[0071]
其中io0_s[1:0]、io1_s[1:0]、io2_s[1:0]和io3_s[1:0]信号依次是4个双向引脚
配置模块的控制信号端与连接引脚方向和功能配置寄存器中的功能配置值的控制信号。dir[3:0]信号依次是引脚0模块、引脚1模块、引脚2模块和引脚3模块与4个连接引脚方向和功能配置寄存器中的方向配置值的控制信号。
[0072]
clk信号是fpga中使用的全局系统时钟,rst_n信号是fpga中使用的全局复位。在实际使用时,fpga设计中的每个双向引脚功能和方向在实际使用时采取时分复用原则,即每个引脚在一个段时间内只连接一个功能,信号方向也是保持不变的,因此不会造成功能和方向混用的情况。
[0073]
双向引脚配置模块的电路原理框图如图4所示。为保证输出端口驱动力和信号整形,在数据选择器211的输出信号y后经过一级寄存器213再连接1个控制信号传输方向的三态门214的输入端,并在信号传输方向是输出时送入fpga器件的引脚。
[0074]
其中io信号定义为inout类型端口连接fpga器件的引脚。d[3:0]信号分别连接4个执行输出功能的功能模块。y[3:0]信号分别连接4个处理输入信号的功能模块。s[1:0]信号连接引脚方向和功能配置寄存器,用于配置数据选择器211和数据分配器212控制信号端选通功能。dir信号连接数据选择器211和数据分配器212的信号方向控制寄存器用于控制信号传输方向,并且连接1个控制信号传输方向的三态门214的控制端,dir信号是互斥控制数据选择器和数据分配器,当数据选择器使能时数据分配器就不使能,当数据分配器使能时数据选择器就不使能。
[0075]
具体地,当需要切换所述待配置双向引脚的引脚方向和引脚功能时,
[0076]
若所述待配置双向引脚所需的引脚方向为输出,则将所述引脚方向和功能配置寄存器中的方向配置值配置为高电平,并将所述第一配置端口根据所述引脚方向和功能配置寄存器中功能配置值选通所述第一功能端口所连接的功能模块;
[0077]
若所述待配置双向引脚所需的引脚方向为输入,则将所述引脚方向和功能配置寄存器中的方向配置值配置为低电平,并将所述第二配置端口根据所述引脚方向和功能配置寄存器中功能配置值选通所述第二功能端口所连接的功能模块。
[0078]
应当理解的是,当需要切换引脚功能和信号传输方向时,如果这个引脚在执行功能时所需的信号传输方向是输出,则先通过方向和功能选择信号将引脚方向和功能配置寄存器中的方向配置值配置为高电平(逻辑“1”),再通过引脚方向和功能配置寄存器中的功能配置值的连接数据选择器控制信号端的控制信号s[1:0]选通对应执行该功能的fpga设计模块。
[0079]
如果这个引脚在执行功能时所需的信号传输方向是输入,则先通过方向和功能选择信号将引脚方向和功能配置寄存器中的方向配置值配置为低电平(逻辑“0”),再通过引脚方向和功能配置寄存器中的功能配置值的连接数据分配器控制信号端的控制信号s[1:0]选通对应执行该功能的fpga设计模块。
[0080]
需要说明的是,所述数据选择器,又称多路选择器(multiplexer,简称mux)或多路开关,能够通过控制信号端实现对数据的选通,分时地从多个(路)输入数据中选择一个(路)作为输出。在fpga设计中用硬件描述语言(如verilog语言或vhdl语言)通过描述组合逻辑电路实现4选1数据选择器的电路图如图5所示。
[0081]
数据分配器,又称多路分配器(简称demux),其功能与数据选择器相反,能够将一个(路)输入数据,根据控制信号端对数据的选通,传送到多个(路)输出端中的任何一个
(路)作为输出。在fpga设计中用硬件描述语言(如verilog语言或vhdl语言)通过描述组合逻辑电路实现数据分配器如图6所示。
[0082]
还需要说明的是,数据选择器和数据分配器这两者的具体工作原理均为本领域技术人员所熟知,此处不再赘述。
[0083]
另外,本实用新型实施例的实时功能切换性能可以用功能切换所需时间来衡量。每个待配置双向引脚进行输入信号处理功能切换的理论时间,是从功能配置信号s[1:0]有效时刻起至数据分配器的y[3:0]端口中的某一个输出为fpga器件的双向引脚输入信号时止,仅需数据分配器的组合逻辑延时时间。
[0084]
同样地,每个双向引脚从某个输出功能切换到某个输入信号处理功能的理论时间,是从信号传输方向控制信号dir和功能配置信号s[1:0]同时有效时刻起至数据分配器的y[3:0]端口中的某一个输出为fpga器件的双向引脚输入信号时刻止,仅需数据分配器的组合逻辑延时时间。
[0085]
由于功能复用电路中在数据选择器的输出信号和fpga器件的待配置双向引脚间还有一级寄存器和1个三态门电路,所以每个待配置双向引脚进行输出功能切换的理论时间,是从功能配置信号s[1:0]有效时刻起至fpga器件的双向引脚能够输出时刻止,仅需数据选择器的组合逻辑延时时间加上1个全局系统时钟周期和三态门逻辑延时。
[0086]
同样地,每个双向引脚从某个输入信号处理功能切换到某个输出功能的理论时间,是从信号传输方向控制信号dir和功能配置信号s[1:0]有效时刻起至fpga器件的双向引脚能够输出时刻止,仅需数据选择器的组合逻辑延时时间加上1个全局系统时钟周期和三态门逻辑延时。
[0087]
因为fpga设计中用硬件描述语言(如verilog语言或vhdl语言)描述的电路可以并行执行,所以本实用新型设计的双向引脚多功能复用电路可以同时进行多个双向引脚的功能切换和信号传输方向。在批量配置fpga设计中的双向引脚功能和信号传输方向时有着很高的配置效率。
[0088]
本实用新型实施例提供的用于fpga的双向引脚多功能复用电路,可以作为通用模块添加进任何fpga设计中,其功能既不受fpga器件型号的限制,也不会因fpga器件引脚下挂设备的不同而受影响。
[0089]
需要说明的是,fpga上电初始化后每个引脚默认功能应为通用输入输出引脚(简称gpio),方向是输入,确保fpga在上电初始化后、在未收到功能配置信号前不会向下挂设备发送任何可能导致设备误动作的信号。
[0090]
若上电初始化后一直没有新的功能配置信号则引脚方向和功能配置寄存器保持默认功能为通用输入输出引脚(简称gpio),默认方向依旧保持信号输入方向的状态。
[0091]
作为本实用新型的另一实施例,提供一种fpga器件,其中,包括:前文所述的用于fpga的双向引脚多功能复用电路和多个待配置双向引脚,所述待配置双向引脚与所述用于fpga的双向引脚多功能复用电路通信连接。
[0092]
本实用新型实施例提供的fpga器件,其待配置双向引脚具体实现功能复用的原理可以参照前文的用于fpga的双向引脚多功能复用电路的描述,此处不再赘述。
[0093]
作为本实用新型的另一实施例,提供一种多功能复用系统,其中,包括上位机和前文所述的fpga器件,所述上位机与所述fpga器件中的用于fpga的双向引脚多功能复用电路
通信连接。
[0094]
本实用新型实施例提供的多功能复用系统,其具体实现功能复用的原理可以参照前文的用于fpga的双向引脚多功能复用电路的描述,此处不再赘述。
[0095]
可以理解的是,以上实施方式仅仅是为了说明本实用新型的原理而采用的示例性实施方式,然而本实用新型并不局限于此。对于本领域内的普通技术人员而言,在不脱离本实用新型的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本实用新型的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献