SOPC课程设计报告资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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精品文档

相关文档