基于FPGA的Adaline神经网络控制器的制作方法

文档序号:6323482阅读:304来源:国知局
专利名称:基于FPGA的Adaline神经网络控制器的制作方法
技术领域
本发明涉及一种神经网络控制装置,具体地说是一种基于FPGA的Adaline神经网 络控制器。
背景技术
人工神经网络(Artificial Neural Network,ANN)是一种模仿动物神经网络行为 特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整 内部大量节点之间相互连接的关系,从而达到处理信息的目的。它的提出是为了解决一些 非线性,非平稳,复杂的实际问题。目前,许多人工神经网络模型已经通过软件程序模拟仿 真实现,但用于运行程序的个人计算机不能满足目前嵌入式系统的需求。另一方面,人工神 经网络的本质是并行分布式信息处理系统,而以DSP为代表的微处理器大多数都是运行于 单任务操作系统,并不适合并行计算,因此也不是人工神经网络硬化实现的理想选择。

发明内容
本发明的目的是针对现有的利用软件程序实现神经网络算法所遇到的运行速度 慢,效率低,稳定性差的问题,提供一种基于现场可编程门阵列(Field Programmable Gate Array, FPGA)的有利于提高神经网络计算效率和工作稳定性的基于FPGA的Adaline神经 网络控制器。本发明解决技术问题采用如下技术方案本发明基于FPGA的Adaline神经网络控制器的特点是采用FPGA处理芯片M1,所 述FPGA处理芯片Ml连接有EPCS4芯片M2、LED阵列电路M3、信号输入接口 M4、信号输出 接口 M5、电压匹配电路M6、有源晶体振荡器电路M7、程序下载接口 M8,以及+5V、+3. 3V和 +1. 8V三路稳压电源电路M9 ;所述电压匹配电路M6还连接有128X64位点阵式液晶显示屏 MlO ;以所述FPGA处理芯片Ml进行信号接收、权值计算、转移函数计算和系统权值的修 改;在所述FPGA处理芯片Ml的内部设置浮点数加减法器、浮点数乘法器、浮点数除法 器、函数发生器、存储器和查找表,用于实现Adaline正向算法以及Widrow-Hoff学习规则。本发明基于FPGA的Adaline神经网络控制器的特点也在于所述EPCS4芯片M2的ADSI、nCS、DCLK, DATA引脚分别与FPGA处理芯片Ml的对
应端口相连。所述LED阵列电路M3的LEDl LED8引脚分别与FPGA处理芯片Ml的对应端口相连。所述信号输入接口 M4的DO D31、EN、RST、ENTER引脚分别与FPGA处理芯片Ml 的对应端口相连。所述信号输出接口 M5的DoutO Dout31引脚分别与FPGA处理芯片Ml的对应端口相连。所述电压匹配电路M6的V、CS、R/W、EN、RST、DBO DB7引脚分别与FPGA处理芯 片Ml的对应端口相连;所述电压匹配电路M6的Vo、CSo、R/Wo、ENo、RSTo、DBOo DB7o分 别与128X64位点阵式液晶显示屏MlO的对应端口相连。所述程序下载接口 M8的1、7、8、9脚分别与专用配置芯片M2的DCLK、DATA、nCS、 ADSI引脚相连;程序下载接口 M8的3、5、6脚分别与FPGA处理芯片Ml的C/D、nC0N、nCE引 脚相连。与已有技术相比,本发明有益效果体现在本发明采用FPGA为核心,其功能的设计可以由用户采用硬件描述语言以及原理 图等输入方式实现,具有与软件编程一样的灵活性,程序或原理图经综合器综合之后可生 成专用硬件芯片,相比较软件程序而言,提高了算法的运行速度、加强了系统工作的可靠 性。


图1是本实用新型中部分电原理示意图。图2为本实用新型中另一部分电原理示意图。
具体实施例方式参见图1、图2,本实施例基于FPGA的Adaline神经网络控制器包括有FPGA处理 芯片Ml,以FPGA处理芯片Ml分别连接EPCS4芯片M2、LED阵列电路M3、信号输入接口 M4、 信号输出接口 M5、电压匹配电路M6、有源晶体振荡器电路M7、程序下载接口 M8,以及+5V、 +3. 3V和+1. 8V三路稳压电源电路M9 ;电压匹配电路M6还连接有128 X 64位点阵式液晶显 示屏M10。具体实施中,各芯片之间的连接关系分别是EPCS4芯片M2的ADSI、nCS、DCLK、DATA引脚分别与FPGA处理芯片Ml的对应端口 相连;LED阵列电路M3的LEDl LED8引脚分别与FPGA处理芯片Ml的对应端口相连;信号输入接口 M4的DO D31、EN、RST、ENTER引脚分别与FPGA处理芯片Ml的对 应端口相连;信号输出接口 M5的DoutO Dout31引脚分别与FPGA处理芯片Ml的对应端口相 连;电压匹配电路M6的V、CS、R/W、EN、RST、DBO DB7引脚分别与FPGA处理芯片Ml 的对应端口相连;电压匹配电路M6的Vo、CSo、R/ffo、ENo、RSTo、DBOo DB7o分别与128 X 64 位点阵式液晶显示屏MlO的对应端口相连;程序下载接口 M8的1、7、8、9脚分别专用配置芯片M2的DCLK、DATA、nCS、ADSI引 脚相连;程序下载接口 M8的3、5、6脚分别与FPGA处理芯片Ml的C/D、nC0N、nCE引脚相连;神经网络控制器以Altera公司的Cyclone II系列EP2C35F672C7型FPGA芯片为 核心。通过信号输入接口 M4接收数据信号和控制信号;数据信号宽度为32位,结合控制 信号ENTER可逐个输入系统输入数据;数据接收完毕后,输入FPGA内部电路,经电路按照Adaline算法处理后,一方面通过输出信号输出接口 M5输出,另一方面,通过128 X 64位点 阵式液晶显示屏MlO显示;控制信号EN、RST可实现系统的使能和复位。系统采用Altera公司的EPCS4芯片M2作为专用配置芯片,通过程序下载接口 M8 串行下载程序。系统通过78LS05、ASl 117-3. 3、ASl 117-1. 8三种芯片构成三路稳压电源电路M9, 分别给系统各模块供电。系统采用24MHz有源晶振作为时钟输入。FPGA的内部结构可以描述成为“阵列块”,通过可编程的内部连接将各逻辑器件连 接起来。用户可以通过其可重复编程能力来不断改进其电路设计。考虑到神经网络硬件实 现的复杂性及设计模块的可扩展性,本系统采用电路原理图和硬件描述语言混合输入的自 上而下的设计方法,即在顶层采用原理图形式将系统划分为若干个功能模块,然后再用HDL 实现各功能模块,并对其进行仿真、验证和完善。系统采用Altera公司的Quartus II软件, 硬件描述语言选用VHDL语言进行编程,实现基于FPGA的Adaline神经网络芯片的设计。其 中Quartus II开发环境自带的LPM宏功能模块简化了设计的复杂性、加快了设计的速度。本系统中,以FPGA处理芯片Ml进行信号接收、权值计算、转移函数计算和系统权 值的修改;在FPGA内部包括信号输入模块、权值计算模块、转移函数计算模块和系统权值 修改模块;在FPGA处理芯片Ml的内部设置浮点数加减法器、浮点数乘法器、浮点数除法 器、函数发生器、存储器和查找表(Look-up Table, LUT),用于实现Adaline正向算法以及 Widrow-Hoff学习规则。加法器和乘法器用于计算神经元输入信息的加权和,存储单元包括权值单元、输 入节点单元和阈值单元,用于存储神经元的连接权值、输入值及阈值,LUT可作为转移函数 的实现单元。在神经元实现状态机的控制下,多个输入的权值计算可并行运算,不同模块间 的信息可串行传递。神经网络系统的输入节点单元值与权值进行乘加运算,结果与阈值累 加后送给转移函数发生器,从而获得相应的输出信号值,并且根据Widrow-Hoff学习规则 在线调整连接权值。系统工作后,接收的输入信号为Χ = [χ0,χι,χ2, Λ,χη]τ ;其中X为输入信号向量, Xi (i = 1,2···η)为向量中的η个分量,T表示转置。初始权值向量为W= [w0, W1, w2, A,wn]T。其中W为输入权值向量,Wi (i = 1,2… η)为向量中的η个分量,T表示转置。通过正向通道计算求得模拟输出值,然后将Adaline的期望输出值与实际的模拟 输出值相比较,获得一个误差值,根据该误差信号的大小和正负不断地在线调整权向量,以 保证在任何时刻始终保持实际输出与期望的输出相等(y(t) =d(t),其中y(t)为实际输 出,t为自变量,表示时间;d(t)为期望输出,t为自变量,表示时间,从而可将一组输入模拟 信号X= [χ0;χι;χ2; Λ,χη]τ转换为任意期望的波形d(t)。数据精度的确定是在FPGA实现神经网络过程中需要认真考虑的重要因素之一。 高精度意味着较小的量化误差和较高的综合性能;低精度可以简化神经网络的设计,提高 运算速度,降低芯片面积需求和降低神经网络的功耗。数据精度确定的下限一般是通过试凑方法获得,即在用FPGA实现神经网络之前, 通过软件对所设计的方案不断进行数字仿真,在保证不超过所要求误差的前提条件下,获得最少的数据处理位数。数据精度确定的上限主要取决于FPGA硬件资源的限制,同时还会 影响到神经网络的处理速度。一般在保证实时性要求的前提条件下,可以充分利用FPGA内 部的所有资源,并且留有适当的可扩展余地。基于以上分析和研究过程中积累的经验,应优 先采用浮点数据形式,从而保证运算过程中不会出现数据溢出和饱和限幅等现象。因此,四 字节32位浮点数运算形式是比较合理的选择,既可以确保神经网络处理运算的精度,也可 以保证本系统所选用的FPGA芯片硬化实现的可行性。事实上,系统最终的试验也证明了结 果的正确性。
权利要求
1.一种基于FPGA的Adaline神经网络控制器,其特征是采用FPGA处理芯片M1,所述 FPGA处理芯片Ml连接有EPCS4芯片M2、LED阵列电路M3、信号输入接口 M4、信号输出接口 M5、电压匹配电路M6、有源晶体振荡器电路M7、程序下载接口 M8,以及+5V、+3. 3V和+1. 8V 三路稳压电源电路M9 ;所述电压匹配电路M6还连接有128X64位点阵式液晶显示屏MlO ;以所述FPGA处理芯片Ml进行信号接收、权值计算、转移函数计算和系统权值的修改;在所述FPGA处理芯片Ml的内部设置浮点数加减法器、浮点数乘法器、浮点数除法器、 函数发生器、存储器和查找表,用于实现Adaline正向算法以及Widrow-Hoff学习规则。
2.根据权利要求1所述的基于FPGA的Adaline神经网络控制器,其特征是所述EPCS4 芯片M2的ADSI、nCS、DCLK, DATA引脚分别与FPGA处理芯片Ml的对应端口相连。
3.根据权利要求1所述的基于FPGA的Adaline神经网络控制器,其特征是所述LED阵 列电路M3的LEDl LED8引脚分别与FPGA处理芯片Ml的对应端口相连。
4.根据权利要求1所述的基于FPGA的Adaline神经网络控制器,其特征是所述信号输 入接口 M4的DO D31、EN、RST、ENTER引脚分别与FPGA处理芯片Ml的对应端口相连。
5.根据权利要求1所述的基于FPGA的Adaline神经网络控制器,其特征是所述信号输 出接口 M5的DoutO Dout31引脚分别与FPGA处理芯片Ml的对应端口相连。
6.根据权利要求1所述的基于FPGA的Adaline神经网络控制器,其特征是所述电压 匹配电路M6的V、CS、R/W、EN、RST、DBO DB7引脚分别与FPGA处理芯片Ml的对应端口相 连;所述电压匹配电路M6的Vo、CSo、R/Wo、ENo、RSTo、DBOo DB7o分别与128X64位点阵 式液晶显示屏MlO的对应端口相连。
7.根据权利要求1所述的基于FPGA的Adaline神经网络控制器,其特征是所述程序下 载接口 M8的1、7、8、9脚分别与专用配置芯片M2的DCLK、DATA、nCS、ADSI引脚相连;程序 下载接口 M8的3、5、6脚分别与FPGA处理芯片Ml的C/D、nCON、nCE引脚相连。
全文摘要
本发明公开了一种基于FPGA的Adaline神经网络控制器,其特征是采用FPGA处理芯片M1,所述FPGA处理芯片M1连接有EPCS4芯片M2、LED阵列电路M3、信号输入接口M4、信号输出接口M5、电压匹配电路M6、有源晶体振荡器电路M7、程序下载接口M8,以及+5V、+3.3V和+1.8V三路稳压电源电路M9;电压匹配电路M6还连接有128×64位点阵式液晶显示屏M10。本发明基于现场可编程门阵列FPGA,有利于提高神经网络计算效率和工作稳定性。
文档编号G05B19/05GK102004464SQ201010602789
公开日2011年4月6日 申请日期2010年12月23日 优先权日2010年12月23日
发明者张崇巍, 汪木兰, 谢震, 鲍伟 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1