文摘
本文提出一种方法来集成模糊协处理器硬件描述语言(VHDL) (VHSIC硬件描述语言)中描述软处理器嵌入式FPGA,从而增加整个系统的吞吐量,因为控制器使用并行high-speed-demanding电路级的应用程序,应用程序的其余部分可以用C / c++编写的。我们使用了柔软的手臂32位处理器,它允许顺序和并行编程。方法的协处理器包含一个调优方法,允许操作系统响应。我们展示实验结果使用模糊PD + I控制器作为嵌入式协处理器。
1。介绍
如今,这个词系统芯片(SoC)的收益趋势以来地形使用高效的硬件平台的实时处理是提高(1]。现代FPGA设备允许混合数字和模拟信号使他们一个不错的选择使用它们SoC设计(2]。
FPGA平台的设计是为了实现更高的集成水平低功耗低成本电子系统通过嵌入处理器DSP等有效的架构,RISC,多核处理器系统、公共汽车、片上内存块,外围设备(3]。fpga系统架构支持用户定义的组合synthesizable知识产权(IP)阻塞与IP和软件厂商提供的驱动程序和库(4]。SoC的使用允许完全独立的桌面计算机系统,降低成本,提高应用程序的性能,避免通信接口的瓶颈,延迟和数据丢失(5]。
SoC设计基于现代FPGA可能包含专用处理器嵌入到硅称为“硬”,和可编程处理器称为“软”中实现FPGA的可编程逻辑资源,或者两者的混合。
现实问题是多样和复杂的,治疗很多人会变得困难,因为他们让我们面临许多科学和技术壁垒,如数学建模和高速处理数据处理和控制应用程序6]。
对于控制应用程序,存在许多技术和策略做一个系统的行为根据计划;例如,使用一个模糊逻辑控制器(方法),被认为是一个基于规则的控制策略,通常提出的知识从一个专家。这可能是控制的关键问题,建立准确的数学模型(可能存在困难7,8]。
有两种典型的选项来执行应用程序的方法嵌入到一个FPGA。(1)在C语言描述方法,然后使用一个专门的工具(编译器)翻译韩德尔C比特流(9,10]。(2)使用硬件描述语言(VHDL)来描述方法,这可以作为(a)独立的控制器,(b)合并到一个硬/软处理器软核连接到系统总线,(c)合并到一个硬/软处理器通过一个内部的输入/输出接口(11,12]。
现代系统需要更多的设计工作的复杂性增加了开发成本;所以,尽量减少他们,已经测试回路的二次利用是非常必要的。任何功能组件重用的形式已设计好的电子组件,或捏造的硬件构成知识产权核心(ip核)。
本文提出一种方法来集成一个SoC的方法通过一个内部端口输入/输出;这个想法是使用方法作为协处理器。此外,实验研究的高性能计算使用在fpga中实现模糊建模系统。
其他研究解决相同的问题有不同的焦点。在[13),作者描述自己的经历为SoC设计实时硬件/软件,他们解决问题的心大星中微子实验的数据采集,以及选择性读出处理器的问题对于一个电磁量热计。在[14,15),作者目前的架构和硬件描述语言(VHDL)代码实现一个1型方法,在[16)体系结构和硬件描述语言(VHDL)代码实现一个2型方法和实验。
在文学中,存在许多有趣的作品处理模糊控制器,可以嵌入到一个FPGA,例如。(17]介绍了遗传优化隶属度函数(MFs)增量模糊PD控制器,(18)显示了MFs的优化调节伺服机构与反弹。
本文的组织如下。部分2阐述了嵌入式系统的设计过程中,如何将模糊协处理器集成到一个SoC,和调试过程。节3问题公式化,实验工厂,控制目标和机电有关时间限制。节4通用架构,集成ARM处理器和方法为核心的知识产权(IP核心)。节5、描述方法的主要特点和方法使用一个变量优化方法是解释说。节6实验的设置并解释结果。最后,在节7这项工作的结论。
2。SoC集成模糊协处理器
图1说明了SoC-embedded系统的设计过程。计算机使用自定义它是一个独立的专用硬件外围设备注册到系统作为IP核,和专门的软件来解决特定的问题。
2.1。设计方法作为IP核
图2显示了典型的表示方法;它由三个阶段组成:模糊化阶段,包含规则库和数据库的推理引擎,和去模糊化阶段19]。
一般来说,合并成一个FPGA融合的步骤方法作为软IP核心使用《自由软件。(1)创建的实体设计方法通过使用硬件描述语言(HDL),结构示意图,或混合模式(示意图和寄存器传输逻辑“RTL”)。我们使用硬件描述语言(VHDL)(非常高速集成电路高密度脂蛋白)来指定所有模糊引擎和参数。(2)测试方法的功能实体设计使用试验台程序模型Sim卡等硬件描述语言(VHDL)。(3)创建软处理器和合并方法的IP协处理器(20.]实体系统总线槽的IP。(4)编辑和调试胳膊在C语言来补充控制器的固件设计整合过程的阅读和调节变量。(5)下载比特流到目标FPGA开发板。
获得的方法是一种便携式、可重用和nonencrypted软IP核。它是设计用于通过一个输入/输出接口,这是一个优势,因为许多商业IP核不方便不兼容所有系统的公交车。
图3说明了硬件设计和调试的软件用C语言写的。
3所示。问题公式化
这项工作的主要目标是给一个方法集成软IP方法SoC为了开发高性能的应用程序;然而,这些实验是集中展示使用高性能的优点现实问题的方法。实现目标,包括两个著名的问题。
在第一个问题中,我们使用一个工厂与下一个主要组件:皮特曼GM9236S025-R1直流齿轮传动电动机模型,电源、一个h桥的董事会和PWM系统为电机提供必要的平均功率,以达到所需的速度,没有负载,和干扰。因此,控制目标达到想要的速度尽可能快的最小超调,这是通过正确的计算关系吗实现目标。
这个电机的两个重要特征是电气时间常数和机械时间常数其值分别为1.06和8.5毫秒,女士;所以,我们可以考虑全球9.16毫秒的响应时间常数。是重要的因为它是电动机的速度所需的时间达到63.2%的最终值为一个固定的电压水平。
直流电机本身是一个线性植物由于空载速度是直接与直流电源电压成正比。然而,该系统成为非线性开关电源时,在这种情况下,利用PWM;此外,应用程序的负载和非线性扰动增加。
在第二个问题中,植物是一个倒立摆;参见图4。购物车是安装在一个铝框;它从一方转移到另一个使用滚珠螺杆由一个马达控制的。杆平衡安装在车121年和耦合正交光编码器模型,它提供了300项/革命(CPR)。
4所示。SoC的一般描述
在图5,系统架构为FPGA设计的融合21爱特公司公司显示,嵌入到FPGA。两个内存块,ARM处理器通用输入输出(GPIO)接口,计时器,中断控制器(IRQ), IIC,串行端口(UART),脉冲宽度调制器/转速表块,方法块(14,15];所有嵌入的组件都是IP核。FPGA是外部直流电机高分辨率正交光编码器,核电站的电力供应,一个h桥功率控制,个人电脑和数字显示。
FPGA融合允许将软处理器ARM皮层,以及其他IP核(IPCORE)自定义配置。手臂皮层处理32位总线外围控制命名先进外围总线(APB)。注意在图5块方法包含模糊控制器的设计集成系统作为一个软IP核心,同样其他IPCOREs通用设备目录爱特公司提供的内核和系统板。在此系统中,方法的IP核心的优点是不可靠的总线系统,它提供给用户的能力处理很简单不需要知道内部功能;另一方面,因为它不是加密,可以读取的内容。
图5显示了如何连接方法通过的IP核心的ARM处理器。方法有7个输入和两个输出。输入“时钟”、“ce”、“rst”、“k”,“错误”、“c。错误”和“w”。输入“时钟”是一个50 Mhz系统时钟,“ce”输入的目的是启用或禁用方法,并输入“rst”恢复所有内部寄存器的方法,输入“w”与“ce”允许一起工作,开始一个模糊推理周期;他们都是字节大小。的四位输入“k”修改输入隶属函数的支持来改变系统响应。八位输入“错误”和改变的错误”。控制器的输入错误”。输出是“了”和“硬中断请求优先级别”。“出”是八位宽,这是崭新的输出值。“硬中断请求优先级别”是中断请求方法的输出。 The system has five membership functions (MFs) for each input and output. The input and output MFs are trapezoidal at the extremes, and the remaining are triangular. This FLC uses the simple tuning algorithm for modifying the system’s response in an intuitive way [14,15]。图6显示了方法的实体和GPIO IP总线连接。
的IP有两个32位宽端口;一个用于输出(写总线)和一个用于输入(阅读总线)。输出总线连接的IP使用32位总线APB手臂皮层。输入总线连接方法的IP的IP。在这个配置中,方法作为协处理器的手臂皮层处理器。
ARM处理器写道“k(握)”值设置输入MFs,它提供了误差和误差变化值“错误(7:0)”和“c.error(7:0)”方法输入,这是通过使用输出变量k(握)错误(11:4)和c。错误(19:12)的IP。类似地,手臂读取方法输出”(7:0)”通过的IP使用8位输入变量(0:7)。
5。方法的特征
对每个输入方法的误差和误差的变化,我们定义五个MFs: LN(大负)、N(负面)、Z(零),P(积极的),LP(大积极)。这些隶属度函数的论域范围(80−80)。
输出的方法,我们有五个MFs: LD(大衰减),D(减量)、Z(零),我(增量)和李(大增量),与宇宙的话语区间[100−100]。
图7显示了输入/输出隶属度函数,规则矩阵的方法,集成了25个规则,如图8。
(一)输入错误
(b)输入误差的变化
MF (c)输出
5.1。优化控制器
方法的IP有三位输入操纵MFs改善所需的响应通过使用方法在文学称为简单优化算法(STA) [22,23]。有不同的方法来调优方法,例如,进化计算,模糊知识库控制器,等等,目的是搜索最优解的目标函数,梯度误差,和其他人,但在大多数情况下,这些方法的收敛和数学表示问题;此外,他们通常需要多少系统资源和有相当大的计算复杂度为在线实时系统的适应。
STA利用周围的错误行为的典型特点设置点,因此可以使用一组预定义的MFs和规则和修改他们的支持根据一个非常简单的算术表达式。在这个例子中,两个输入被修改只使用一个优化因素(23];然而,它可能会修改输入使用两个调优因素(22]。在图9标准化的输入显示;数据10 ()和10 (b)展示了MFs STA算法的应用程序被修改的系统行为及其效果。
| (一)调优的因素是 |
| (b)调优的因素是 |
考虑到宇宙中所有的点定义了每个输入的每个MF的话语,一个向量命名法典。STA的基本思想是使用一个指数函数来改变这个向量命名为优化等因素生产系统的变化,如图10。这让我们分析下使用图3例9:(1) :这是规范化MFs的情况没有变化;也就是说,,(2) :应用程序调优的因素后,中间MFs操作点之间的距离大于外部;所以,生产MFs的扩张,如图10 ()。(3) :以前的相反的情况下,在应用程序调优的因素,两者之间的距离外部MFs比其他人更大;也就是说,。这产生MFs的压缩,效果如图10 (b)。
因此,STA基本上包括四个步骤。(1)调优因素选择。一个数字定义优化调整水平。是最大的时间,最小的。(2)归一化的模糊控制器的变量的范围。每个输入模糊变量的范围被修改,以降低和上限等于−1 + 1,分别见图9。(3)调优因素处理。一旦范围是规范化,将由新的向量的操作点。 在哪里MFs的归一化值吗设在和可以的多项式:(一)的值 (b)的值 两个多项式可以实现FPGA,第一个需要更多的计算,而第二个选项提供了多项式大小的减少,降低计算成本。然而,使用一个查找表的大小不是问题。(4)重正化范围的模糊变量。把标准化系统的范围的范围。
该方法可以应用于两个输入,因为它是显示在[22,23];在第一个工作,使用两种不同的优化因素,每个模糊输入一个。在第二个工作,实验修改输入使用相同的调优值都显示。这两种方法的结果是令人满意的,使用[23,24)需要更少的资源和更容易调整系统仅使用一个变量。
6。实验和结果
目的是评估的等效实现高性能的方法嵌入到一个FPGA;两个不同的系统进行了测试。
6.1。系统1:直流电机的速度控制
系统1,进行了两组实验。第一组由六个实验使用不同的开发平台,实现的方法是解决先前规定的速度问题。在第二组,胳膊软处理器的配置方法的IP被选中,因为它证明是最适合这个工作的目标;因此,我们测试了控制器使用STA优化控制器。
所有的实验
我们认为一个完整的模糊推理、模糊化的过程的数据,推断出一个结论使用Mamdani推理引擎,和去模糊化以获得一个脆值。
接下来,对于每一个实验,描述特定特征。表1总结结果。
但是。组1的实验
实验1。电脑系统是基于英特尔酷睿2双核,6 GB的RAM。实现的方法是使用从Matlab-Simulink模糊逻辑工具箱。的方法写和阅读信息使用串行通信控制装置。一个完整的推理近20毫秒。我们没有考虑由于串行通信在微积分。
实验2。我们使用了斯巴达3 FPGA安装在Xilinx的Starter kit。我们实现了在FPGA 32位Microblaze软核与1 MB的内存;系统时钟是50 Mhz。方法是使用C语言实现。我们使用的操作系统内核的Xilinx独立。
实验3。在该测试中,5 Virtex FPGA安装在Xilinx的实验板“ML507 FPGA技术”被用来嵌入Microblaze soft-processor系统,与16 MB的内存,缓存和2 KB的内存;系统时钟是100 Mhz。方法是使用C语言实现。我们使用的操作系统内核的Xilinx独立。
实验4。电源电脑处理器的FPGA Virtex 5使用。FPGA实验板”ML507”为我们提供了16 MB的RAM和2 KB的内存缓存;系统时钟是100 Mhz。方法是用C语言实现的。我们使用的操作系统内核的Xilinx独立。
实验5。这个实验背后的想法是评估一个8位单片机系统中实现的方法。我们使用Atmel AVR开发平台的通用单片机Atmel接口16 16兆赫的频率运行。
实验6。我们使用的系统架构图5在爱特公司开发板中实现FPGA嵌入式M1AFS1500套件模式”。“这板是同一家公司的基于FPGA融合;参见图11。这个实现使用手臂皮层soft-processor和包含方法的IP作为协处理器。方法是在硬件描述语言(VHDL)编码。图11显示了一个简单的测试方法,我们选择值与已知输出。手臂soft-processor发送到方法,通过的IP输入值”()”、“改变的()”、“()”。−60的输出值()是阅读的胳膊和发送到OLED显示器(红色矩形)。
6.1.2。组2的实验
几个实验不同使用FPGA配置为在图融合值5被实现。手臂软处理器处理方法的IP进行了测试。使用STA系统响应被修改。ARM处理器修改调优因素虽然的IP。
结果值为0.5,0.7,0.8,1.0所示。数据12和13显示系统响应和错误,提到优化因素。请注意,提供最佳的系统响应;而反应慢,更快的反应过度。图14显示了一个控制器的控制面值为0.5。这组实验的采样时间是700年。
6.2。系统2:小车倒立摆
对于系统2车的倒立摆系统图4是使用。我们反复的实验表1对于这个系统;与这个表的结果一致,我们获得了几乎相同的运行时间在所有的实验。接下来,我们展示了FPGA核聚变实验装置。隶属度函数是使用STA调谐。
这个方法有两个输入,“错误”和“错误”的变化和一个输出贴上“输出”。图15显示了这个系统,规则矩阵图(16日),16 (b)和16 (c)是输入和输出语言变量的隶属度函数,和图吗17显示表面控制倒立摆的购物车系统。
(一)输入错误
(b)改变的错误
(c)输出
7所示。结论
高性能的设计和实现方法,包括一个有效和实用的方法来调整控制器工厂解释道。可调谐方法的IP集成到一个SoC是基于FPGA与一只手臂共同融合软处理器,并使用两个机电系统测试。
在第一个系统,调节直流电机的速度控制的目的,本文的目标来评估性能的硬件实现的模糊控制器作为IP核,两套系统性能的对比实验。第一组的目的是比较方法的IP协处理器与其他开发平台,包括一个酷睿2 PC系统,三种方法的实现在C语言程序运行在Microblaze软核处理器装在斯巴达3,和Virtex 5 FPGA系统。一个C语言的实现方法运行Atmel AVR的8位单片机,使用硬件描述语言(VHDL)和一个实现方法的编码,和安装IP到FPGA融合。我们实现了实验评价上述系统的计算复杂度。
最糟糕的表现系统使用Atmel AVR的8位微控制器实现的方法,与这个实验我们得到最坏的。
平均绑定,我们发现三个软件原型的方法在C语言程序运行在FPGA平台上,与个人电脑的发展。FPGA系统之间的差异主要是由于系统时钟;这是更明显的斯巴达3运行时钟频率的一半对其他FPGA系统。在个人电脑,问题是,在仿真软件上运行的方法是使用串行通信控制装置。由于实现特点,这不是一个实时系统。
第二系统,同一套测试是实现和执行时间与获得的结果在第一系统一致,一些无意义的值的方法实现在C语言中发生的变化。然而;案例的研究中,方法的IP核心,总是去年同一时间,这是由于系统时钟执行时间很紧,方法总是最后三个时钟周期,因此去年五个时钟周期的IP,方法的IP去年8个时钟周期。
方法的IP设计实时工作,当整个方法完成推理周期(模糊性,推论,去模糊化)它使IRQ中断请求,可以发送输出控制器对于实时应用程序,或锁定来读取一个输入/输出端口工作在轮询方式不需要实时的应用程序。
最好的方法是SoC IP结合手臂soft-processor,加速对其他开发平台是78,125次。
还有其他有趣的点的话,例如,基于FPGA的系统提供的灵活性实现SoC;这很重要,因为它可以设计独立的低成本低功耗消费和廉价的系统,可以混合数字和模拟信号。专业软件的使用,资源日益增多,如IP允许简化实时系统的开发过程。方法IP软核的优点是不可靠的总线系统,它提供给用户一个简单的处理功能而不需要知识的内部功能;另一方面,因为它不是加密,可以读取的内容。
最后,专业调试和测试模块的整合进了SoC促进这些复杂和繁琐的任务。
目前,我们正在开发的IP核心2型方法,逐步模拟,例如2型去模糊化阶段[25]。整个2型方法可以使用STA调优算法2型(26]。
确认
作者要感谢“皇家研究院Politecnico Nacional (IPN)”,“Comision de Operacion y持有对于Academicas (COFAA)”,和墨西哥“Consejo Nacional de Ciencia y Tecnologia (CONACYT)”支持研究活动。