EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件_第1页
EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件_第2页
EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件_第3页
EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件_第4页
EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 EDA技术工程应用实例5.1 SOPC设计5.2 基于FPGA的PID算法实现第5章 EDA技术工程应用实例5.1 SOPC设计5.1 SOPC设计5.1.1 概述作为PLD和ASIC相结合的产物SOPC(System on Programmable Chip,片上可编程系统),可以在单片PLD器件上实现SOC。SOPC系统的硬件由一个软核CPU(Altera的Nios II)加上各种标准的IP核及用户自定义IP核组成,Altera提供的Qsys嵌入式套件作为硬件系统的集成工具。SOPC软件系统可以使用高级C语言进行系统工程实现,Altera提供了基于开源的Eclipse的Nios I

2、I 11.1 Software Buider Tools for Eclipse来支持系统功能的开发。5.1 SOPC设计5.1.1 概述作为PLD和ASIC层次设计Qsys内部互联层次设计Qsys内部互联Nios II系统框图Nios II系统框图Nios II处理器原理框图Nios II处理器原理框图Nios II硬件和软件开发流程图软件的目录结构Nios II硬件和软件开发流程图软件的目录结构 BSP工程的基本结构基于HAL系统的层次结构图 BSP工程的基本结构基于HAL系统的层次结构图5.1.2 Hello World工程1.硬件系统设计Qsys界面CPU设置5.1.2 Hello W

3、orld工程1.硬件系统设计Q设置外部SDRAM控制器设置ROM控制器的数据及地址总线设置ROM控制器的时序设置外部SDRAM控制器设置ROM控制器的数据及地址总线设置组件总线连接外部Flash接口及三态桥的总线连接 jtag_uart设置Sysid设置组件总线连接外部Flash接口及三态桥的总线连接 jtag_浮点硬件组件sys_timer设置浮点硬件组件sys_timer设置系统总线连接系统总线连接系统地址空间分配系统地址空间分配最终生成的Qsys系统图最终生成的Qsys系统图CPU复位设置生成Qsys系统添加sys_HD至顶层原理图文件CPU复位设置生成Qsys系统添加sys_HD至顶层

4、原理图文顶层原理图顶层原理图采用的命令: to,location 采用的模板形式: to,location Name1 PIN_XX Name2 PIN_XX插入工程配置,进行引脚锁定。采用的命令: set_location_assignment -to采用的模板形式:set_location_assignmentPIN_XX -to Name1 set_location_assignmentPIN_XX -to Name2使用tcl脚本,进行引脚锁定。 插入引脚配置移除引脚配置采用的命令: to,location 插入工程配置,Quartus II编程下载器JTAG下载器设置 Configu

5、ration设置转换sof文件Quartus II编程下载器JTAG下载器设置 Confi编程pof文件编程pof文件2.软件系统设计打开Nios II SBT选择Nios II视图2.软件系统设计打开Nios II SBT选择Nios II创建应用工程向导创建完工程后的Nios II SBT界面创建应用工程向导创建完工程后的Nios II SBT界面BSP Editor Main标签页运行Nios II硬件配置查看系统ID属性BSP Editor Main标签页运行Nios II硬件配Flash 编程设置Flash编程对话框Flash 编程设置Flash编程对话框连接EPCS控制器到总线CP

6、U复位向量设置EPCS控制器的引脚连接情况设置EPCS外部引脚端口连接EPCS控制器到总线CPU复位向量设置EPCS控制器的引Flash编程Flash编程5.2 基于FPGA的PID算法实现5.2.1 概述模拟PID控制系统原理框图5.2 基于FPGA的PID算法实现5.2.1 概述模拟PEDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件位置式PID实现原理框图使用了3个浮点

7、乘法器、3个浮点加法器和3个寄存器,实现了位置式数字PID控制器。如果只需要增量型数字PID控制器,可以移除图中的虚线下方的加法器和寄存器即可。位置式PID实现原理框图使用了3个浮点乘法器、3个浮点加法器EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件图5-52 PID顶层原理图图5-52 PID顶层原理图浮点数加减器创建向导第2a页浮点数加减器创建向导第1页浮点乘法器向导第3页浮点转换器向导第3页浮点数加减器创建向导第2a页浮点数加减器创建向导第1页浮点乘十进制数累加器向导第1页十进制数累加器向导第4页选

8、择ALTPLL软核十进制数累加器向导第1页十进制数累加器向导第4页选择ALTPclk_pll创建向导第1页clk_pll创建向导第2页clk_pll创建向导第6页clk_pll创建向导第8页clk_pll创建向导第1页clk_pll创建向导第2页clcounter_n计数器的源程序如下:library ieee;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity counter_n isgeneric (counter_cc: integer := 16;

9、 n_width:integer := 9); port( clk_c : in std_logic; ena : in std_logic; cc_out : out std_logic; rst : in std_logic );end counter_n ;architecture vco_do OF counter_n issignal reg_12 : std_logic_vector(n_width downto 0);signal cc_out_pre : std_logic;begin process(clk_c,rst) begin if rst = 1 then reg_1

10、2 0); cc_out_pre = counter_cc) then reg_12 0); cc_out_pre = 1; else cc_out_pre = 0; reg_12 = reg_12 + 1 ; end if; end if; else reg_12 0); cc_out_pre = 0; end if; cc_out = cc_out_pre; end process;end architecture vco_do;counter_n计数器的源程序如下:PID控制器仿真波形PID控制器仿真波形EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件系统结构图软PI

11、D控制的实现系统结构图软PID控制的实现Nios II处理器定制外设示意图Nios II处理器定制外设示意图EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件EDA技术及应用第5章-EDA技术工程应用实例-EDA技术与应用课件PWM组件的原理框图式中,fPWM为PWM波形的频率;fclk为PWM组件的工作时钟频率;CR为周期寄存器值。PWM组件的原理框图式中,fPWM为PWM

12、波形的频率;fcl组件编辑器PWM组件总线信号设置设置总线的关联时钟和复位信号组件编辑器PWM组件总线信号设置设置总线的关联时钟和复位信号设置复位信号关联时钟设置复位信号关联时钟编写的软PID程序如下:/定义变量float r;/调整目标量float Kp; /PI调节的比例常数float Ti; /PI调节的积分常数float T; /采样周期float Td;/微分时间float a0;float a1;float a2;float ek; /偏差ekfloat ek1; /偏差ek-1float ek2; /偏差ek-2float del_uk;/增量输出float uk; /位置量输出uk/PID参数初始化void PID_init(float rn) a0 = Kp*(1+T/Ti+Td/T); a1 = -Kp*(1+2*Td/T);a2 = -Kp*Td/T;r=rn;/PID控制器核心子程序float PID_fix(float cn) ek2 = ek1; ek1 = ek;ek = r-cn;/计算误差 del_uk = a0*ek+a1*ek1+a2*ek2;/计算增量输出 /uk = del_uk + uk;/计算位置量输出 return del_uk;/AD采样子程序float AD_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论