SOPC课程设计报告.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SOPC课程设计报告.doc

中国地质大学(武汉) 机电学院电子信息工程专业 片 上 系 统 设 计 报 告 指导老师: 小组成员: 日 期: 设计题目:基于NIOSII软核的两轮自平衡小车 摘要:本设计采用FPGA的SOPC技术利用在FPGA内部构建NIOSII软核并在软核中例化定时器模块、PWM模块、UART模块和外部中断等特定的IP核。在规定10ms周期内CPU需要完成采集MPU6050陀螺仪和加速度计的数据,通过卡尔曼滤波计算出小车的姿态;通过外部中断触发方式采集电机自带编码器的输出脉冲信号,计算当前小车左右轮子车速;采用PID闭环控制算法,计算出维持车身姿态的电机驱动信号PWM波的占空比,驱动电机实现小车平衡。 关键词:FPGA;SOPC;NIOSII;IP核;陀螺仪;卡尔曼滤波;PID算法 1.系统方案 1.1 系统结构 1.1.1 系统总体框架 图1 系统整体框图 此设计的二轮平衡车系统主要分为以下功能模块: Nios II软核:用来读取各传感器数据,进行算法运算,产生控制信号维持平衡车姿态。 JTAG_UART:用来下载程序和调试软件各部分功能。 MPU6050:六轴姿态传感器,内部集成三轴陀螺仪和三轴加速度计,用以检测小车姿态。 蓝牙无线收发:连接Nios II软核中的串口内置外设,用以将传感器数据发送给上位机,来进行小车算法调试。 电机驱动:用来将Nios II软核输出的PWM信号转换成电机驱动电流,驱动大功率电机正常运转。 电机自带编码器:用来检测小车左右两个电机的转速,反馈给软核用于下一步运动的解算。 本设计利用FPGA的SOPC功能在FPGA芯片内部利用SOPC Builder设计符合系统要求的Nios II软核,在顶层文件中添加该软核和其他一些硬件资源(PLL,逻辑单元等)并完成引脚分配,最终实现实际电路的综合,配合Nios II IDE开发软件,开发系统软核实现控制二轮小车直立等动作。 1.2.NIOS II软核 1.2.1 Nios II软核整体框架 本系统根据两轮自平衡小车设计的实际需求,采用黑金动力的Cyclone IV代核心板提供核心控制。系统的硬件由一块FPGA 芯片、MPU6050、电机驱动模块、编码及编码整形电路、外部存储SDRAM、外部串行FLASH (EPCS64)等几个模块构成。FPGA 芯片主要实现Nios II 软核处理器和各种接口驱动等功能,其包括 Nios II 系统和外设两部分。Nios II 系统包括 Nios II 处理器、存储器、定时器、通用串行通讯接口、I2C接口、PWM接口和连接各个组件的Avalon 总线。其中I2C Interface 实现与MPU6050的通信,PWM接口实现电机的速度控制,带中断的PIO实现速度编码器的信号捕获,实现车模的速度测量和运动方向测量,定时器Timer为系统控制提供精确的定时周期,通用串行通讯接口用于系统算法的调试。软核整体结构,如图2所示。 图2 Nios II系统框图 1.2.2 Nios II软核使用资源 根据硬件结构及设计需要,使用Quartus II的SOPC Builder构建了一个Nios II 软核,除了建立了系统需要的硬件资源控制器如Nios II Processor、SDRAM、EPCS、JTAG UART调试模块;还为系统配备了硬件需要的接口如I2C接口、PWM控制器、电机方向控制接口、电机编码器输入接口等,为了方便调试;系统还预留了一些方便测试使用的LED接口、PIO_TEST测试专用接口等。具体使用资源如下图所示。 图3 CPU选型及存储配置 图4 NIOS II 软核资源 图5 NIOS II 软核资源(续) 1.2.3 Nios II软核顶层文件和管脚分配 通过创建新的.bpf文件作为工程的顶层文件,在此文件中以图形方式进行Nios II软核例、PLL锁相环的配置和例化并进行相应的连线。运行TCL脚本文件,实现NIOS II软核各接口引脚与外部硬件的真正互联,并对一些输入输出信号做相应的初始化。通过Pin Planner进行引脚连接情况的检查。具体使用情况如下图所示,图6为整体系统及接线情况,图7为整体引脚分部(此处使用的是黑金FPGA开发板提供的脚本文件)。 图6 bpf文件中的连接情况 图7 实际管脚分配 图8 第一次构建软核成功后编译通过内部资源使用情况 1.3硬件选型及系统主要电路设计 1.3.1黑金核心板硬件资源 本设计采用黑金的Cyclone IV核心板,能够最大限度的减小控制板占用的空间,同时核心板上集成有丰富的硬件存储资源和大量的外置引脚,功能完善,且能独立工作,适合此次课程设计的需求。另外

文档评论(0)

我的文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档