一种基于fpga的模糊控制芯片的制作方法

文档序号:6326455阅读:159来源:国知局
专利名称:一种基于fpga的模糊控制芯片的制作方法
技术领域
本发明属于模糊控制芯片。尤其涉及一种基于FPGA的模糊控制芯片。
背景技术
随着模糊技术的发展,模糊控制器越来越广泛地应用于以过程控制领域为代表的工业生产控制中。绝大部分的模糊控制器是通过软件或微处理器(8051等)实现的,响应速度慢,这就限制了模糊控制器只能应用在低速系统中,进行非实时控制。为了实现实时控制,必须提高模糊控制器的响应速度,模糊推理过程的硬件实现是一种可行的途径。
一种“用FPGA实现模糊控制器的方法”(王利.基于FPGA的模糊控制器的硬件实现.控制工程,2004,1),有其明显的优点,并用倒立摆作了验证。但这种实现方法存在着一些缺陷首先,这种控制器隶属函数是固定的三角形隶属函数,不能根据不同情况作调整,而且,纯粹的三角形隶属函数在某些被控对象中是不适宜的;其次,使用了分区间查表的方法进行模糊推理,每次推理过程中很多不需要的规则都参与推理,影响了推理速度;再次,实现的模糊控制器参数都是固定的,无法改动,所以通用性差;末次,该控制器在实现过程中没有考虑实际生产中对控制器进行监控和操作的问题,没有设计人机界面和与上位机通讯的模块。

发明内容
本发明的目的是提供一种基于FPGA的单片式模糊控制器芯片技术。这种控制器芯片应具有体积小、通用性好、推理速度高、可实现实时控制等优点。并能实现与上位机通讯、可以根据不同情况进行调整、在实际生产中易对控制器进行监控和操作并便于实现人机交互。
为实现上述目的,本发明所采用的技术方案是将A/D转换控制模块、模糊控制器、串口通讯模块和总控制模块用硬件描述语言VHDL编程并被集成到一片FPGA中,其中模糊控制器由模糊化模块、模糊规则查表模块、模糊规则表、模糊推理模块和反模糊化模块组成;串口通讯模块的一端分别与模糊控制器中的模糊化模块、模糊规则表和反模糊化模块相连,另一端留有串口线供与计算机相连;总控制模块分别与A/D转换控制模块和模糊控制器中的模糊化模块、模糊规则查表模块、模糊推理模块、反模糊化模块相连;采样信号e、de经过A/D转换后送入FPGA中,经过模糊控制器的运算处理后生成控制信号Y。
下面对上述各模块的结构和工作方式作一具体描述A/D转换控制模块由fifo缓存模块和A/D控制模块组成;A/D控制模块的clkin端与总控制模块的AD_clk端相连,A/D控制模块的clkout端、ad_oe端分别与A/D转换模块的clk端、oe端相连,A/D控制模块的写允许信号端rd、读允许信号端wr、full端和empty端分别与fifo缓存模块的rdreq端、wrreq端、full端和empty端相连,fifo缓存模块的fifoclk端与A/D转换模块的clk端相连,A/D转换模块的数据输出端D0~D7与fifo缓存模块的数据输入端i0~i7相连,fifo缓存模块数据输出端q0~q7与模糊化模块的数据输入端in0~in7相连。fifo缓存模块为256个字节。
模糊化模块由论域转换模块、参数选择模块、参数修改模块和隶属度运算模块组成;将A/D转换控制模块中所读取的数据送入论域转换模块,论域转换模块将转换后的结果送入参数选择模块选择参数,然后送入隶属度运算模块,利用广义隶属函数计算隶属度。参数修改模块的数据输入端datain通过串口线与计算机串口的txd端相连,数据输出端dataout0~dataout7与参数选择模块的数据输入端相连。
论域转换模块与fifo缓存模块相连,其输出y=2nx/(b-a)其中 y为论域转换的结果 y∈(-N,-N+1,…,N-1,N),x为A/D转换的结果 x∈[a,b]。
隶属度运算采用广义隶属函数法,广义钟形隶属函数形式如下y=11-|x-b|c/a]]>改变上式中a、b、c的参数就可以逼近常用的三角形、梯形、高斯形的隶属函数,隶属度计算公式是用经过幂函数逼近的广义隶属函数,选定y=1-|x-b|c/a作为一阶逼近计算公式,取定a=2,b的值根据模糊子集的中心点选取
c=1时,近似为三角形;c=2时,近似为高斯形;c=4时,近似为梯形。
模糊规则查表模块采用编码、解码的方式,根据模糊化模块的结果在模糊规则表中进行模糊规则查询,编码方式为NB=0000,NM=0001,NS=0010…PM=0101,PB=0110,解码方式与编码相同;如果偏差E=NB,偏差的微分dE=PB,则地址为00000110,如果规则表中地址为00000110处的数据为0010,则解码为u=NS。
模糊规则表存放在一块ROM中,ROM编程配置在FPGA的内部;模糊规则表的数据修改端d0~d7与串口模块的数据输出端dout0~dout7相连。
模糊推理模块采用了模糊子集推理的方法,由模糊子集判断模块和作用模糊子集推理模块组成;采样值和模糊规则查表模块的查表所得的规则送入模糊子集判断模块,模糊子集判断模块的输出端与作用模糊子集推理模块输入端相连。
模糊子集推理方法描述如下设实测量e、de的模糊子集分别是A1、A2和B1、B2,则相应的隶属度分别是A1(e)、A2(e)和B1(de)、B2(de),若作用模糊控制规则Ri(i=1、2、3、4),则推理过程为模糊控制规则前件的真值为(A1×B1)(e,de)=A1(e)∧B1(de)=V1(u1)(A1×B2)(e,de)=A1(e)∧B2(de)=V2(u1)(A2×B1)(e,de)=A2(e)∧B1(de)=V3(u1)(A2×B2)(e,de)=A2(e)∧B2(de)=V4(u1)以上各真值沿着各自的模糊控制规则Ri(i=1、2、3、4)传给后件,模糊控制规则的后件为Ci(i=1、2、3、4),控制量模糊子集的隶属函数用单点表示,u的模糊子集可表示为Ci=[Ci(u1),Ci(u2)…Ci(u7)]其中Ci(uj)是第j个模糊子集的中心值(uj)的隶属度,u的作用模糊子集接收前件传来的真值Vi(u)可记做Ci(u)=Vi(u)×Ci(uj),则u的作用模糊子集最多有3个记做Ck(k=1、2、3),Ck(u)=VsCs(u)]]>其中,s为u的同一作用模糊子集所接收的真值个数。
反模糊化模块的输入端与作用模糊子集推理模块的输出端相连,反模糊化模块[8]的输出Y以如下方法求得设输出的模糊值Y~=μ(u1)/u1+μ(u2)/u2+Λ+μ(un)/un,]]>则有输出量精确值Y=Σi=1nμ(ui)×ui/Σi=1nμ(ui)]]>串口通讯模块由波特率发生模块、接收模块和发送模块组成;波特率发生模块的clkin端与总控模块的uart_clk端相连,波特率发生模块的波特率输出端bd_out分别与接收模块的波特率输入端rxd_bd和发送模块的波特率输入端txd_bd相连,接收模块的rxd端通过串口线与上位机串口的txd端相连,接收模块的数据输出端dout0~dout7分别与参数选择模块和模糊规则表相连,发送模块的txd端通过串口线与上位机串口的rxd端相连,发送模块的数据输入端din0~din7与反模糊化模块相连。
总控制模块由分频模块和控制模块组成;分频模块的clk端、AD_clk端分别与外部时钟、A/D转换控制模块的clkin端相连,分频模块的control_clk端分别与模糊控制器中的各模块相连,分频模块的uart_clk端与串口通讯模块的clkin端相连;控制模块的复位信号输入端resertin与外部复位开关相连,控制模块的复位信号输出端resertout分别与A/D转换控制模块、模糊控制器中的各模块和串口通讯模块的复位信号输入端resert相连;A/D转换控制模块、模糊控制器中的各模块和串口通讯模块工作过程中的状态值送入控制模块,控制模块的输出送给A/D转换控制模块、模糊控制器中的各模块和串口通讯模块的选通端。
由于采用上述技术方案,该模糊控制芯片具有体积小、通用性好、推理速度高、可实现实时控制等优点。并能实现与上位机通讯、可以根据不同情况进行调整、在实际生产中易对控制器进行监控和操作并便于实现人机交互。


图1是本发明的一种总体结构示意框图;图2是图1中的A/D转换控制模块[2]的工作示意框图;图3是图1中的模糊化模块[3]的工作示意框图;图4是图1中的模糊推理模块[6]的工作示意框图;
图5是图1中的串口模块[7]的工作示意框图;图6是图1中的总控模块[9]的工作示意框图。
具体实施例方式
下面结合实施例对本发明作进一步的描述实施例本实施例如图1所示,将A/D转换控制模块[2]、模糊控制器[10]、串口通讯模块[7]和总控制模块[9]用硬件描述语言VHDL编程并被集成到一片FPGA[11]中,其中模糊控制器[10]由模糊化模块[3]、模糊规则查表模块[4]、模糊规则表[5]、模糊推理模块[6]和反模糊化模块[8]组成,组成模糊控制芯片的主体部分;串口通讯模块[7]的一端分别与模糊控制器[10]中的模糊化模块[3]、模糊规则查表[5]和反模糊化模块[8]相连,另一端留有串口线供与计算机相连,通过串口通讯模块[7]可以实现上位机与模糊控制芯片的人机交互;总控制模块[9]分别与A/D转换控制模块[2]和模糊控制器[10]中的模糊化模块[3]、模糊规则查表模块[4]、模糊推理模块[6]、反模糊化模块[8]相连,协调各部分同步工作;本芯片的工作原理是现场采集的e、de信号经过A/D转换后送入模糊控制器[10]的模糊化模块[3],经过论域转换后根据转换的结果所属的模糊子集的范围选取广义隶属函数的参数,并求出隶属度,实现模糊化。根据所属的模糊子集和在该模糊子集中的隶属度用查表法获得模糊规则,送入模糊推理模块[6]进行模糊子集推理。推理的结果经过反模糊化模块[8]生成控制信号。各个模块的协调工作是通过总控制器[9]来实现的。另外,总控制器[9]为各模块提供所需时钟和复位信号。串口通讯模块[7]用来修改参数和模糊规则,以便使模糊控制器[10]可以在不同的场合使用。上位机对模糊控制器[10]的监控也是通过串口通讯模块[7]实现的。
下面就各个模块的结构和工作作详细说明A/D转换控制模块[2]如图2所示,由fifo缓存模块[12]和A/D控制模块[13]组成;A/D控制模块[13]的clkin端与总控制模块[9]的AD_clk端相连,A/D控制模块[13]的clkout端、ad_oe端分别与A/D转换模块[1]的clk端、oe端相连,A/D控制模块[13]的写允许信号端rd、读允许信号端wr、full端和empty端分别与fifo缓存模块[12]的rdreq端、wrreq端、full端和empty端相连,fifo缓存模块[12]的fifoclk端与A/D转换模块[1]的clk端相连,A/D转换模块[1]的数据输出端D0~D7与fifo缓存模块[12]的数据输入端i0~i7相连,fifo缓存模块[12]的数据输出端q0~q7与模糊化模块[3]的数据输入端in0~in7相连,fifo缓存模块[12]为256个字节。
模糊化就是将论域转换后的采样信号值代入隶属函数求出其隶属度的过程。由于本实施例使用的广义隶属函数法需要在不同的模糊子集中选用不同的参数组合,所以在模糊化前需要根据采样信号值选择参数。然后根据所选参数代入公式,求出隶属度,并将该采样信号所在的模糊子集和在该子集中的隶属度一起送入模糊规则查表模块[4]得出模糊规则。
在实际工程应用中,模糊集合的隶属函数通常取三角形、梯形或高斯形。在实际应用中往往会出现不同的场合所需要的隶属函数的形状不同,或是在同一模糊控制器的不同模糊子集对隶属函数的要求不同,因此这种单一形状的模糊控制器在应用中就有很大的局限性。广义隶属函数法就很好的解决了这一问题。广义隶属函数法是通过改变某个特殊函数中的某几个参数,只需要根据不同的情况或在不同的模糊子集中选取不同的参数值,就可以使隶属函数的形状满足要求。本发明就是根据这一原理在不同的模糊子集设置不同的参数来提高控制精度,在不同的场合只需要重新设置参数就可以了。
模糊化模块[3]如图3所示,由论域转换模块[14]、参数选择模块[15]、参数修改模块[16]和隶属度运算模块[17]组成;将A/D转换控制模块[2]中所读取的数据送入论域转换模块[14],论域转换模块[14]将转换后的结果送入参数选择模块[15]选择参数,然后送入隶属度运算模块[17],利用广义隶属函数计算隶属度,参数修改模块[16]数据输入端datain通过串口线与计算机串口的txd端相连,数据输出端dataout0-dataout7与参数选择模块[15]的数据输入端相连。
论域转换模块[14]与fifo缓存模块[12]相连,其输出y=2nx/(b-a)其中 y为论域转换的结果 y∈(-N,-N+1,…,N-1,N),x为A/D转换的结果 x∈[a,b]。
隶属度运算采用广义隶属函数法,广义钟形隶属函数形式如下y=11-|x-b|c/a]]>改变上式中a、b、c的参数就可以逼近常用的三角形、梯形、高斯形的隶属函数,隶属度计算公式是用经过幂函数逼近的广义隶属函数,选定y=1-|x-b|c/a
作为一阶逼近计算公式,取定a=2,b的值根据模糊子集的中心点选取c=1时,近似为三角形;c=2时,近似为高斯形;c=4时,近似为梯形。
模糊规则查表模块[4]由查表程序和模糊规则表[5]两部分组成。查表程序根据模糊化模块[3]的结果生成查表地址,并将查得的结果译码为输出论域的某一模糊子集,送入模糊推理模块[6]进行推理。
模糊规则查表模块[4]采用编码、解码的方式,根据模糊化模块[3]的结果在模糊规则表[5]中进行模糊规则查询,编码方式为NB=0000,NM=0001,NS=0010…PM=0101,PB=0110,解码方式与编码相同;如果偏差E=NB,偏差的微分dE=PB,则地址为00000110,如果规则表中地址为00000110处的数据为0010,则解码为u=NS。
模糊规则表[5]存放在一块4×4的ROM中,ROM编程配置在FPGA[10]内部;模糊规则表[5]的数据修改端d0~d7与串口模块[7]的数据输出端dout0~dout7相连。
模糊推理模块[6]如图4所示,采用了模糊子集推理的方法,由模糊子集判断模块[18]和作用模糊子集推理模块[19]组成;采样值和模糊规则查表模块[4]的查表所得的规则送入模糊子集判断模块[18],模糊子集判断模块[18]的输出端与作用模糊子集推理模块[19]输入端相连。
模糊子集推理方法描述如下设实测量e、de的模糊子集分别是A1、A2和B1、B2,相应的隶属度分别是A1(e)、A2(e)和B1(de)、B2(de),若作用模糊控制规则Ri(i=1、2、3、4),则推理过程为模糊控制规则前件的真值为(A1×B1)(e,de)=A1(e)∧B1(de)=V1(u1)(A1×B2)(e,de)=A1(e)∧B2(de)=V2(u1)(A2×B1)(e,de)=A2(e)∧B1(de)=V3(u1)(A2×B2)(e,de)=A2(e)∧B2(de)=V4(u1)以上各真值沿着各自的模糊控制规则Ri(i=1、2、3、4)传给后件,模糊控制规则的后件为Ci(i=1、2、3、4),控制量模糊子集的隶属函数用单点表示,u的模糊子集可表示为Ci=[Ci(u1),Ci(u2)…Ci(u7)]
其中Ci(uj)是第j个模糊子集的中心值(uj)的隶属度,u的作用模糊子集接收前件传来的真值Vi(u)可记做Ci(u)=Vi(u)×Ci(uj),则u的作用模糊子集最多有3个记做Ck(k=1、2、3),Ck(u)=VsCs(u).]]>其中,s为u的同一作用模糊子集所接收的真值个数。
反模糊化模块[8]的输入端与作用模糊子集推理模块[19]的输出端相连,反模糊化模块[8]的输出Y以如下方法求得设输出的模糊值Y~=μ(u1)/u1+μ(u2)/u2+Λ+μ(un)/un,]]>则有输出量精确值Y=Σi=1nμ(ui)×ui/Σi=1nμ(ui)]]>串口通讯模块[7]用来实现与上位机的通信,通过该模块[7],可以在上位机修改模糊控制器[10]的参数并对模糊控制器[10]进行监控。
串口通讯模块[7]如图5所示,由波特率发生模块[21]、接收模块[22]和发送模块[20]组成;波特率发生模块[21]的clkin端与总控模块[9]的uart_clk端相连,波特率发生模块[21]的波特率输出端bd_out分别与接收模块[22]的波特率输入端rxd_bd和发送模块[20]的波特率输入端txd_bd相连,接收模块[22]的rxd端通过串口线与上位机串口的txd端相连,接收模块[22]的数据输出端dout0-dout7分别与参数选择模块[15]和模糊规则表[5]相连,发送模块[20]的txd端通过串口线与上位机串口的rxd端相连,发送模块[20]的数据输入端din0~din7与反模糊化模块[8]相连。
总控制模块[9]如图6所示,总控制模块[9]由分频模块[23]和控制模块[24]组成;分频模块[23]的clk端、AD_clk端分别与外部时钟、A/D转换控制模块[2]的clkin端相连,分频模块[23]的control_clk端分别与模糊控制器[10]中的各模块相连,分频模块[23]的uart_clk端与串口通讯模块[7]的clkin端相连;控制模块[24]的复位信号输入端resertin与外部复位开关相连,控制模块[24]的复位信号输出端resertout分别与A/D转换控制模块[2]、模糊控制器[10]中的各模块和串口通讯模块[7]的复位信号输入端resert相连;A/D转换控制模块[2]、模糊控制器[10]中的各模块和串口通讯模块[7]工作过程中的状态值送入控制模块[24],控制模块[24]的输出送给A/D转换控制模块[2]、模糊控制器[10]中的各模块和串口通讯模块[7]的选通端。
本实施例将整个控制系统集成在一片FPGA[11]中,使其成为专用控制芯片,采样信号e、de经过A/D转换模块[1]后送入FPGA[11],经过模糊控制器[10]的运算处理后生成控制信号Y。这样即减小了控制系统的体积,通用性好、推理速度高、可实现实时控制,又由于FPGA[11]可以在线编程、并能实现与上位机通讯,可以根据不同情况进行调整、在实际生产中易对控制器进行监控和操作并便于实现人机交互。
权利要求
1.一种基于FPGA的模糊控制芯片,其特征在于将A/D转换控制模块[2]、模糊控制器[10]、串口通讯模块[7]和总控制模块[9]用硬件描述语言VHDL编程并被集成到一片FPGA[11]中,其中——模糊控制器[10]由模糊化模块[3]、模糊规则查表模块[4]、模糊规则表[5]、模糊推理模块[6]和反模糊化模块[8]组成;——串口通讯模块[7]的一端分别与模糊控制器[10]中的模糊化模块[3]、模糊规则表[5]和反模糊化模块[8]相连,另一端留有串口线用来与计算机相连;——总控制模块[9]分别与A/D转换控制模块[2]和模糊控制器[10]中的模糊化模块[3]、模糊规则查表模块[4]、模糊推理模块[6]、反模糊化模块[8]相连;采样信号e、de经过A/D转换[1]后送入FPGA[11],经过模糊控制器[10]的运算处理后生成控制信号Y。
2.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的A/D转换控制模块[2]由fifo缓存模块[12]和A/D控制模块[13]组成;A/D控制模块[13]的clkin端与总控制模块[9]的AD_clk端相连,A/D控制模块[13]的clkout端、ad_oe端分别与A/D转换模块[1]的clk端、oe端相连,A/D控制模块[13]的写允许信号端rd、读允许信号端wr、full端和empty端分别与fifo缓存模块[12]的rdreq端、wrreq端、full端和empty端相连,fifo缓存模块[12]的fifoclk端与A/D转换模块[1]的clk端相连,A/D转换模块[1]的数据输出端D0~D7与fifo缓存模块[12]的数据输入端i0~i7相连,fifo缓存模块[12]数据输出端q0~q7与模糊化模块[3]的数据输入端in0~in7相连,fifo缓存模块[12]为256个字节。
3.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的模糊化模块[3]由论域转换模块[14]、参数选择模块[15]、参数修改模块[16]和隶属度运算模块[17]组成;将A/D转换控制模块[2]中所读取的数据送入论域转换模块[14],论域转换模块[14]将转换后的结果送入参数选择模块[15]选择参数,然后送入隶属度运算模块[17],利用广义隶属函数计算隶属度,参数修改模块[16]的数据输入端datain通过串口线与计算机串口的txd端相连,数据输出端dataout0~dataout7与参数选择模块[15]的数据输入端相连。
4.根据权利要求2、3所述的基于FPGA的模糊控制芯片,其特征在于所述的论域转换模块[14]与fifo缓存模块[12]相连,其输出y=2nx/(b-a)其中y为论域转换的结果y∈(-N,-N+1,…,N-1,N),x为A/D转换的结果x∈[a,b]。
5.根据权利要求3所述的基于FPGA的模糊控制芯片,其特征在于所述的隶属度运算采用广义隶属函数法,广义钟形隶属函数形式如下y=11-|x-b|c/a]]>改变上式中a、b、c的参数就可以逼近常用的三角形、梯形、高斯形的隶属函数,隶属度计算公式是用经过幂函数逼近的广义隶属函数,选定y=1-|x-b|c/a作为一阶逼近计算公式,取定a=2,b的值根据模糊子集的中心点选取c=1时,近似为三角形;c=2时,近似为高斯形;c=4时,近似为梯形。
6.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的模糊规则查表模块[4]采用编码、解码的方式,根据模糊化模块[3]的结果在模糊规则表[5]中进行模糊规则查询,编码方式为NB=0000,NM=0001,NS=0010…PM=0101,PB=0110,解码方式与编码相同;如果偏差E=NB,偏差的微分dE=PB,则地址为00000110,如果模糊规则表[5]中地址为00000110处的数据为0010,则解码为u=NS。
7.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的模糊规则表[5]存放在一块ROM中,ROM编程配置在FPGA[10]内;模糊规则表[5]的数据修改端d0~d7与串口模块[7]的数据输出端dout0~dout7相连。
8.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的模糊推理模块[6]采用了模糊子集推理的方法,由模糊子集判断模块[18]和作用模糊子集推理模块[19]组成;采样值和模糊规则查表模块[4]的查表所得的规则送入模糊子集判断模块[18],模糊子集判断模块[18]的输出端与作用模糊子集推理模块[19]的输入端相连。
9.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的反模糊化模块[8]的输入端与作用模糊子集推理模块[19]的输出端相连,反模糊化模块[8]的输出Y以如下方法求得设输出的模糊值Y~=μ(u1)/u1+μ(u2)/u2+Λ+μ(un)/un]]>则有输出精确值Y=Σi=1nμ(ui)×ui/Σi=1nμ(ui)]]>
10.根据权利要求8所述的基于FPGA的模糊控制芯片,其特征在于所述的模糊子集推理方法描述如下设实测量e、de的模糊子集分别是A1、A2和B1、B2,则相应的隶属度分别是A1(e)、A2(e)和B1(de)、B2(de),若作用模糊控制规则Ri(i=1、2、3、4),则推理过程为模糊控制规则前件的真值为(A1×B1)(e,de)=A1(e)∧B1(de)=V1(u1)(A1×B2)(e,de)=A1(e)∧B2(de)=V2(u1)(A2×B1)(e,de)=A2(e)∧B1(de)=V3(u1)(A2×B2)(e,de)=A2(e)∧B2(de)=V4(u1)以上各真值沿着各自的模糊控制规则Ri(i=1、2、3、4)传给后件,模糊控制规则的后件为Ci(i=1、2、3、4),控制量模糊子集的隶属函数用单点表示,u的模糊子集可表示为Ci=[Ci(u1),Ci(u2)…Ci(u7)]其中Ci(uj)是第j个模糊子集的中心值(uj)的隶属度,u的作用模糊子集接收前件传来的真值Vi(u)可记做Ci(u)=Vi(u)×Ci(uj),则u的作用模糊子集最多有3个记做Ck(k=1、2、3),Ck(u)=VsCs(u)]]>其中,s为u的同一作用模糊子集所接收的真值个数。
11.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的串口通讯模块[7]由波特率发生模块[21]、接收模块[22]和发送模块[20]组成;波特率发生模块[21]的clkin端与总控模块[9]的uart_clk端相连,波特率发生模块[21]的波特率输出端bd_out分别与接收模块[22]的波特率输入端rxd_bd和发送模块[20]的波特率输入端txd_bd相连,接收模块[22]的rxd端通过串口线与上位机串口的txd端相连,接收模块[22]的数据输出端dout0~dout7分别与参数选择模块[15]和模糊规则表[5]相连,发送模块[20]的txd端通过串口线与上位机串口的rxd端相连,发送模块[20]的数据输入端din0~din7与反模糊化模块[8]相连。
12.根据权利要求1所述的基于FPGA的模糊控制芯片,其特征在于所述的总控制模块[9]由分频模块[23]和控制模块[24]组成;分频模块[23]的clk端、AD_clk端分别与外部时钟、A/D转换控制模块[2]的clkin端相连,分频模块[23]的control_clk端分别与模糊控制器[10]中的各模块相连,分频模块[23]的uart_clk端与串口通讯模块[7]的clkin端相连;控制模块[24]的复位信号输入端resertin与外部复位开关相连,控制模块[24]的复位信号输出端resertout分别与A/D转换控制模块[2]、模糊控制器[10]中的各模块和串口通讯模块[7]的复位信号输入端resert相连;A/D转换控制模块[2]、模糊控制器[10]中的各模块和串口通讯模块[7]工作过程中的状态值送入控制模块[24],控制模块[24]的输出送给A/D转换控制模块[2]、模糊控制器[10]中的各模块和串口通讯模块[7]的选通端。
全文摘要
本发明涉及一种基于FPGA的模糊控制芯片。其技术方案是将A/D转换控制模块[2]、模糊控制器[10]、串口通讯模块[7]和总控制模块[9]用硬件描述语言VHDL编程并被集成到一片FPGA[11]中,其中模糊控制器[10]由模糊化模块[3]、模糊规则查表模块[4]、模糊规则表[5]、模糊推理模块[6]和反模糊化模块[8]组成;串口通讯模块[7]的一端分别与模糊控制器[10]中的模糊化模块[3]、模糊规则查表[5]和反模糊化模块[8]相连,另一端留有串口线供与计算机相连;总控制模块[9]分别与A/D转换控制模块[2]和模糊控制器[10]中的模糊化模块[3]、模糊规则查表模块[4]、模糊推理模块[6]、反模糊化模块[8]相连。该控制器芯片具有体积小、通用性好、推理速度高、可实现实时控制等优点。并能实现与上位机通讯、可以根据不同情况进行调整、在实际生产中易对控制器进行监控和操作并便于实现人机交互。
文档编号G05B13/02GK1737707SQ20041006074
公开日2006年2月22日 申请日期2004年8月20日 优先权日2004年8月20日
发明者方康玲, 李 浩 申请人:武汉科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1