资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
天水师范学院基于EDA的小车控制器的设计实践报告学院: 物理与信息科学学院 专业: 电子信息科学与技术 班级: 11 级电信二班 姓名: 尹天林 倪波波 学号: 20111060235 201110602192013年12月30日目 录摘要11 引言11.1 选题背景11.1.1 智能小车简介11.1.2 FPGA在控制方面的应用21.2 本课题研究目的及意义31.2.1 研究目的31.2.2 研究意义32 总体方案说明32.1 设计目标32.2方案概述43 软件设计53.1 VHDL语言介绍53.2 Quartus II软件介绍63.3 分频器模块73.3.1 分频器的功能73.3.2 分频器的设计73.4 周期运行控制模块83.4.1 周期运行控制模块实现的功能83.4.2 状态机简介83.4.3 周期运行控制模块的设计93.5 避障模块113.5.1避障模块实现的的功能113.5.2 避障模块的设计113.6 遥控模块123.6.1 遥控模块的功能123.6.2 遥控模块的设计123.7循迹模块123.8驱动模块153.8.1 驱动模块的功能153.8.2 脉冲宽度调制调速基本原理153.8.3驱动模块的设计153.9模式选择模块163.10顶层图设计174 硬件设计184.2 检测电路184.3 遥控接收电路204.4 驱动电路214.4.1 直流电机驱动原理214.4.2 L298N电机驱动芯片及驱动电路224.5 模式选择电路235 设计结果235.1 硬件组装235.2 软硬件联合测试245.2.1 测试准备246 总结与展望25附录A27摘 要:现场可编程逻辑阵列(FPGA)具有可在线反复编程,开发周期短,并行处理,运算速度快,集成度高,可靠性高等特点,广泛应用于数字信号处理,工业控制,通信等各个领域。基于FPGA设计控制器,可以把一些外设和逻辑器件集成起来,从而缩小体积,减少电路的走线,降低功耗,提高可靠性,同时能够通过在线编程来修改和扩充控制器功能,缩短了开发周期,也使系统的使用变的灵活,扩展方便。由于FPGA可以实现真正的并行处理,并且运算速度快,用它实现复杂的控制算法可以提高算法运算速度,满足实时控制要求。本设计是典型的软件和硬件结合的设计产品,基于EPM570T100C5型FPGA芯片设计了一个较为通用的小车控制器。通过数字量输入/输出通道连接了障碍检测模块无线接收模块;电机驱动模块;模式选择模块等。采用硬件描述语言(Verilog HDL)实现了对各个功能模块的编程、仿真、编程下载、功能测试。并在Quartus II开发环境下搭建了一个基于FPGA的小车控制器研究平台,用Verilog HDL语言实现了整个系统的设计和仿真,使小车控制器系统实现了周期运行、避障、循迹、遥控等功能。通过此方法可在软件中嵌入不同的控制算法,扩展多种控制性能,实现各种硬件功能,这种基于FPGA的电子设计的开发方法可根据需要随时增加扩展用户需要的功能,具有很大的开发潜力,在工业控制中有一定的推广应用价值。1引言1.1选题背景1.1.1智能小车简介工业的发展对生产的自动化程度和产品精度要求越来越高,传统的人工很难适应产业升级带来的挑战;科技的进步使得人类的探索范围越来越大,亟需一种能够在恶劣的环境替代人类完成任务的智能装置。智能机器人控制系统应运而生。工业机器人和探测机器人的发展成为了当下机器人发展的主要方向,智能小车是机器人的一种,又称轮式机器人,在工业和探测两个领域均有广泛应用。智能小车控制器的设计具有极强的可移植性和易扩展性,可应用于替代一些单调枯燥简单重复的岗位。同时,配合传感器等数据采集装置,小车可以作为一个独立运动单元自主执行一些要求更高的任务。在军事上,现代战争的复杂程度越来越高,需要在复杂恶劣的环境中完成各种侦察或作战任务,增加了作战人员的危险性;在工业、民用、社会公共设施等诸多领域上,比如在恶劣环境下进行的科学研究、在危险地段作业、危险品排除等诸多场合需要人们冒着巨大的风险;在影视剧拍摄、家庭服务、智能化家居、康复医疗等多种应用领域,为了确保工作人员的安全性,提高舒适性,都急需一种能够替代人完成这些任务的机器人。智能小车控制系统为人类突破这些限制提供了条件。这种智能小车可以适应不同环境,不受温度、大气、重力、强辐射等外界条件的影响,在人类不适宜的工作环境或者技术含量较低的高强度任务中有效地替代人类完成工作,提高效率。从机器人诞生至今,随着科学技术的不断发展,机器人应用已经从制造领域向非制造领域发展,原先只是在航空军事领域中才使用的机器人也开始走进人们的日常生活。机器人的发展经历了三代,第一代机器人属于示教再现型,第二代则具备了一定的环境感知能力,第三代机器人是智能型机器人,它除了具有感觉能力之外,还具备独立辨别和自主运动能力。它上面装有多种环境感应设备,是人工智能技术发展到高级阶段的产物。随着计算机、网络、微电子等领域迅速发展,人类活动领域的不断扩大,智能小车的应用领域也不断扩大,有了客观的发展理由:a. 智能小车系统可以把人从有毒有害、缺氧、高压、高温等危险的环境中解放出来。比如,发电厂的高温环境的设备检修,煤气管道的修复,易燃易爆危险品排除装置等。b. 智能小车系统可以进入到人类无法生存或无法进入的区域代替人类工作,例如可以把智能小车送入太空,探测火星;或者潜入海底,勘探资源等。c. 随着经济的不断增长及互联网的迅速普及,人们的生活水平和质量不断提高,智能化家居生活开始推广开来,人们可以通过网络远程控制家中的智能小车完成特定的任务,比如整理房间、远程监控等。1.1.2FPGA在控制方面的应用FPGA是英文Field Programmable GateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上经过进一步发展的产物。出现至今历经30年的发展,FPGA已由当初的1200门发展成为今天的百万门级。FPGA一般是基于SRAM工艺,基本结构是基于查找表加寄存器结构。FPGA采用了逻辑单元阵列LCA(LogicCell Array),内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(Input Output Block)和内部连线(InterConnect)三个部分。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,在其工作时需要对片内的RAM进行编程。用户可以根据不同的模式进行配置,并可以采用不同的方式进行编程。FPGA芯片在控制方面可实现的优点:a. 采用FPGA芯片设计ASIC电路,不需要大量生产,就能得到适用的芯片;b. FPGA芯片可做其它全定制或半定制ASIC电路的中试样片;c. FPGA芯片内部有丰富的触发器和I/O引脚;d. FPGA芯片设计周期最短、开发费用低、风险小;e. FPGA芯片采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。基于以上特点,可以说FPGA芯片是小批量系统提高系统集成度、可靠性是实现小车控制的最佳选择之一。1.2本课题研究目的及意义1.2.1研究目的为了适应工业和科技的快速发展产生的新要求,使生产达到较高的自动化水平和效率及实现产品精度的提高,基于FPGA的小车控制系统应运而生。本设计意在设计一种设计具有较强可移植性的小车控制器,经改进可应用于替代一些单调枯燥简单重复的岗位,如流水线、仓储物流等。设计功能包括周期运行、自动避障、循迹、遥控运行,这些功能具有很强的使用意义,正常状态下小车能够自主周期运行完成设定的任务,遇到障碍物能够自行躲避,在一些突发情况下能够人工干预小车的运行。本次设计旨在用来检查这学期专业知识的学习情况,通过综合知识运用锻炼解决问题的能力,通过软硬件设计锻炼实践能力,通过对设计全局的把握培育系统观念。1.2.2研究意义本课题以FPGA芯片为控制器设计了智能小车控制系统,意义如下:a. 基于FPGA开发的控制器具有运算速度快,体积小,修改方便,集成度高,可靠性高,易扩展等优点。b. 用FPGA实现智能算法可以提高算法的运算速度,满足实时控制的要求。本文在基于FPGA实现复杂的智能算法方面作了一些探索性的工作,为以后进一步嵌入其它复杂算法打下了基础。c. 搭建了智能小车控制系统的实验平台,为将来进一步研究和开发智能小车控制器做了基础性工作。d. 对这学期所学的专业知识进行系统梳理、综合运用。2总体方案说明2.1 设计目标本课题基于EDA技术,使用Altera公司的的EDA软件开发工具Quartus II进行设计准备、设计输入、功能仿真、设计处理、时序仿真和器件编程及测试,以可编辑逻辑器件FPGA为核心部件,基于FPGA核心开发板进行扩展做出硬件,主要包括以下各项:a. 掌握利用Verilog HDL设计智能小车控制器的原理、方法;b. 利用芯片内部时钟进行分段定时周期直线运动;c. 小车外接光电传感器检测障碍物并做出相应反应;d. 人工干预遥控运行;e. 在FPGA开发板上,针对FPGA芯片的特点进行系统配置并验证功能的实现,并做出扩展硬件;2.2 方案概述本设计是基于FPGA芯片,采用Verilog HDL语言进行的EDA设计,是软硬件协同设计,分为软件和硬件设计两部分。首先进行软件的设计输入、功能仿真、设计处理,然后下载到FPGA芯片内配合外围电路进行硬件测试。图2.1 小车控制器原理框图其具体功能是实现自主的周期运行,通过光电传感器检测障碍物进行避障运动,除此之外又加入了遥控功能,其原理框图如图2.1所示。光电传感器模块是芯片外接的三个光电传感器,当传感器检测到障碍时其输出电平信号发生变化,输入电平信号经程序处理后发送到FPGA芯片,向驱动模块发出相应的信号,使小车做出适当的规避动作。遥控模块是实现遥控运行功能的模块,包括硬件的信号接收装置和软件处理模块。遥控器以无线信号的形式从发射端发出不同的指令信号,经无线接收电路处理之后输出并行信号,FPGA芯片根据程序设定向驱动模块发出信号,小车做出相应的动作。周期运行控制程序存储在FPGA芯片中,使用状态机进行状态循环,并在不同状态下向驱动模块发送不同的驱动信号,使小车实现周期运行。驱动模块是接收FPGA芯片输出信号进行电机驱动的模块,由驱动程序和外围的驱动芯片两部分构成,在接收以上各模块的输出信号之后,进行处理之后输出控制信号驱动直流电机的运行。以上各模块综合起来实现智能小车控制器的全部功能,其流程图如图2.2所示。程序按照此流程设计完成之后下载进FPGA芯片中,完成外设电路之后再软硬件联合测试,以实现设计要求。图2.2 小车控制器流程图3软件设计小车控制器的软件程序设计采用Verilog HDL语言,利用Altera公司的EDA开发软件QuartusII进行设计。软件部分由原理图和模块程序两部分组成,包括模式选择模块、分频器模块、电机驱动模块、周期控制模块、障碍检测模块遥控模块。以及下文将详细介绍介绍各个功能块的功能及实现方法,并给出仿真波形。3.1VHDL语言介绍VHDL 的英文全名是Very High Speed Integrated Circuit Hard
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号