FPGA智能小车设计.doc
《FPGA智能小车设计.doc》由会员分享,可在线阅读,更多相关《FPGA智能小车设计.doc(67页珍藏版)》请在咨信网上搜索。
1、天水师范学院基于EDA的小车控制器的设计实践报告学院: 物理与信息科学学院 专业: 电子信息科学与技术 班级: 11 级电信二班 姓名: 尹天林 倪波波 学号: 2023年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
2、 周期运营控制模块实现的功能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
3、模式选择电路235 设计结果235.1 硬件组装235.2 软硬件联合测试245.2.1 测试准备246 总结与展望25附录A27摘 要:现场可编程逻辑阵列(FPGA)具有可在线反复编程,开发周期短,并行解决,运算速度快,集成度高,可靠性高等特点,广泛应用于数字信号解决,工业控制,通信等各个领域。基于FPGA设计控制器,可以把一些外设和逻辑器件集成起来,从而缩小体积,减少电路的走线,减少功耗,提高可靠性,同时可以通过在线编程来修改和扩充控制器功能,缩短了开发周期,也使系统的使用变的灵活,扩展方便。由于FPGA可以实现真正的并行解决,并且运算速度快,用它实现复杂的控制算法可以提高算法运算速度,满
4、足实时控制规定。本设计是典型的软件和硬件结合的设计产品,基于EPM570T100C5型FPGA芯片设计了一个较为通用的小车控制器。通过数字量输入/输出通道连接了障碍检测模块无线接受模块;电机驱动模块;模式选择模块等。采用硬件描述语言(Verilog HDL)实现了对各个功能模块的编程、仿真、编程下载、功能测试。并在Quartus II开发环境下搭建了一个基于FPGA的小车控制器研究平台,用Verilog HDL语言实现了整个系统的设计和仿真,使小车控制器系统实现了周期运营、避障、循迹、遥控等功能。通过此方法可在软件中嵌入不同的控制算法,扩展多种控制性能,实现各种硬件功能,这种基于FPGA的电子
5、设计的开发方法可根据需要随时增长扩展用户需要的功能,具有很大的开发潜力,在工业控制中有一定的推广应用价值。1引言1.1选题背景1.1.1智能小车简介工业的发展对生产的自动化限度和产品精度规定越来越高,传统的人工很难适应产业升级带来的挑战;科技的进步使得人类的探索范围越来越大,亟需一种可以在恶劣的环境替代人类完毕任务的智能装置。智能机器人控制系统应运而生。工业机器人和探测机器人的发展成为了当下机器人发展的重要方向,智能小车是机器人的一种,又称轮式机器人,在工业和探测两个领域均有广泛应用。智能小车控制器的设计具有极强的可移植性和易扩展性,可应用于替代一些单调枯燥简朴反复的岗位。同时,配合传感器等数
6、据采集装置,小车可以作为一个独立运动单元自主执行一些规定更高的任务。在军事上,现代战争的复杂限度越来越高,需要在复杂恶劣的环境中完毕各种侦察或作战任务,增长了作战人员的危险性;在工业、民用、社会公共设施等诸多领域上,比如在恶劣环境下进行的科学研究、在危险地段作业、危险品排除等诸多场合需要人们冒着巨大的风险;在影视剧拍摄、家庭服务、智能化家居、康复医疗等多种应用领域,为了保证工作人员的安全性,提高舒适性,都急需一种可以替代人完毕这些任务的机器人。智能小车控制系统为人类突破这些限制提供了条件。这种智能小车可以适应不同环境,不受温度、大气、重力、强辐射等外界条件的影响,在人类不适宜的工作环境或者技术
7、含量较低的高强度任务中有效地替代人类完毕工作,提高效率。从机器人诞生至今,随着科学技术的不断发展,机器人应用已经从制造领域向非制造领域发展,原先只是在航空军事领域中才使用的机器人也开始走进人们的平常生活。机器人的发展经历了三代,第一代机器人属于示教再现型,第二代则具有了一定的环境感知能力,第三代机器人是智能型机器人,它除了具有感觉能力之外,还具有独立辨别和自主运动能力。它上面装有多种环境感应设备,是人工智能技术发展到高级阶段的产物。随着计算机、网络、微电子等领域迅速发展,人类活动领域的不断扩大,智能小车的应用领域也不断扩大,有了客观的发展理由:a. 智能小车系统可以把人从有毒有害、缺氧、高压、
8、高温等危险的环境中解放出来。比如,发电厂的高温环境的设备检修,煤气管道的修复,易燃易爆危险品排除装置等。b. 智能小车系统可以进入到人类无法生存或无法进入的区域代替人类工作,例如可以把智能小车送入太空,探测火星;或者潜入海底,勘探资源等。c. 随着经济的不断增长及互联网的迅速普及,人们的生活水平和质量不断提高,智能化家居生活开始推广开来,人们可以通过网络远程控制家中的智能小车完毕特定的任务,比如整理房间、远程监控等。1.1.2FPGA在控制方面的应用FPGA是英文Field Programmable GateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础
9、上通过进一步发展的产物。出现至今历经30年的发展,FPGA已由当初的1200门发展成为今天的百万门级。FPGA一般是基于SRAM工艺,基本结构是基于查找表加寄存器结构。FPGA采用了逻辑单元阵列LCA(LogicCell Array),内部涉及可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(Input Output Block)和内部连线(InterConnect)三个部分。FPGA是由存放在片内RAM中的程序来设立其工作状态的,因此,在其工作时需要对片内的RAM进行编程。用户可以根据不同的模式进行配置,并可以采用不同的方式进行编程。FPGA芯片在控制
10、方面可实现的优点:a. 采用FPGA芯片设计ASIC电路,不需要大量生产,就能得到合用的芯片;b. FPGA芯片可做其它全定制或半定制ASIC电路的中试样片;c. FPGA芯片内部有丰富的触发器和I/O引脚;d. FPGA芯片设计周期最短、开发费用低、风险小;e. FPGA芯片采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。基于以上特点,可以说FPGA芯片是小批量系统提高系统集成度、可靠性是实现小车控制的最佳选择之一。1.2本课题研究目的及意义1.2.1研究目的为了适应工业和科技的快速发展产生的新规定,使生产达成较高的自动化水平和效率及实现产品精度的提高,基于FPGA的小车控制
11、系统应运而生。本设计旨在设计一种设计具有较强可移植性的小车控制器,经改善可应用于替代一些单调枯燥简朴反复的岗位,如流水线、仓储物流等。设计功能涉及周期运营、自动避障、循迹、遥控运营,这些功能具有很强的使用意义,正常状态下小车可以自主周期运营完毕设定的任务,碰到障碍物可以自行规避,在一些突发情况下可以人工干预小车的运营。本次设计旨在用来检查这学期专业知识的学习情况,通过综合知识运用锻炼解决问题的能力,通过软硬件设计锻炼实践能力,通过对设计全局的把握哺育系统观念。1.2.2研究意义本课题以FPGA芯片为控制器设计了智能小车控制系统,意义如下:a. 基于FPGA开发的控制器具有运算速度快,体积小,修
12、改方便,集成度高,可靠性高,易扩展等优点。b. 用FPGA实现智能算法可以提高算法的运算速度,满足实时控制的规定。本文在基于FPGA实现复杂的智能算法方面作了一些探索性的工作,为以后进一步嵌入其它复杂算法打下了基础。c. 搭建了智能小车控制系统的实验平台,为将来进一步研究和开发智能小车控制器做了基础性工作。d. 对这学期所学的专业知识进行系统梳理、综合运用。2总体方案说明2.1 设计目的本课题基于EDA技术,使用Altera公司的的EDA软件开发工具Quartus II进行设计准备、设计输入、功能仿真、设计解决、时序仿真和器件编程及测试,以可编辑逻辑器件FPGA为核心部件,基于FPGA核心开发
13、板进行扩展做出硬件,重要涉及以下各项:a. 掌握运用Verilog HDL设计智能小车控制器的原理、方法;b. 运用芯片内部时钟进行分段定期周期直线运动;c. 小车外接光电传感器检测障碍物并做出相应反映;d. 人工干预遥控运营;e. 在FPGA开发板上,针对FPGA芯片的特点进行系统配置并验证功能的实现,并做出扩展硬件;2.2 方案概述本设计是基于FPGA芯片,采用Verilog HDL语言进行的EDA设计,是软硬件协同设计,分为软件和硬件设计两部分。一方面进行软件的设计输入、功能仿真、设计解决,然后下载到FPGA芯片内配合外围电路进行硬件测试。图2.1 小车控制器原理框图其具体功能是实现自主
14、的周期运营,通过光电传感器检测障碍物进行避障运动,除此之外又加入了遥控功能,其原理框图如图2.1所示。光电传感器模块是芯片外接的三个光电传感器,当传感器检测到障碍时其输出电平信号发生变化,输入电平信号经程序解决后发送到FPGA芯片,向驱动模块发出相应的信号,使小车做出适当的规避动作。遥控模块是实现遥控运营功能的模块,涉及硬件的信号接受装置和软件解决模块。遥控器以无线信号的形式从发射端发出不同的指令信号,经无线接受电路解决之后输出并行信号,FPGA芯片根据程序设定向驱动模块发出信号,小车做出相应的动作。周期运营控制程序存储在FPGA芯片中,使用状态机进行状态循环,并在不同状态下向驱动模块发送不同
15、的驱动信号,使小车实现周期运营。驱动模块是接受FPGA芯片输出信号进行电机驱动的模块,由驱动程序和外围的驱动芯片两部分构成,在接受以上各模块的输出信号之后,进行解决之后输出控制信号驱动直流电机的运营。以上各模块综合起来实现智能小车控制器的所有功能,其流程图如图2.2所示。程序按照此流程设计完毕之后下载进FPGA芯片中,完毕外设电路之后再软硬件联合测试,以实现设计规定。图2.2 小车控制器流程图3软件设计小车控制器的软件程序设计采用Verilog HDL语言,运用Altera公司的EDA开发软件QuartusII进行设计。软件部分由原理图和模块程序两部分组成,涉及模式选择模块、分频器模块、电机驱
16、动模块、周期控制模块、障碍检测模块遥控模块。以及下文将具体介绍介绍各个功能块的功能及实现方法,并给出仿真波形。3.1VHDL语言介绍VHDL 的英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路硬件描述语言,被认为是标准的硬件描述语言,有专家认为,在新世纪中,VHDL与Verilog HDL语言将承担起几乎所有的数字系统设计任务。VHDL 重要用于描述数字系统的结构、行为、功能和接口。除了具有许多具有硬件特性的语句外,VHDL 的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VH
17、DL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件、一个电路模块或一个系统)提成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完毕部分。在对一个设计实体定义了外部界面后,一旦内部开发完毕后,其他的设计可以直接调用这个实体。这种将设计实体提成内外部分的概念是VHDL 系统设计的基本点。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设
18、计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。此外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员可以方便地创建高层次的系统模型。设计人员用VHDL进行设计时,不需要一方面考虑选择完毕设计的器件,就可以集中精力进行设计的优化。当设计描述完毕后,可以用多种不同的器件结构来实现其功能。VHDL是一种标准化的硬件描述语言,同一个设计描
19、述可以被不同的工具所支持,使得设计描述的移植成为也许。基于以上种种优点,VHDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。3.2QuartusII软件介绍Max+plus II作为Altera的上一代PLD设计软件,由于其杰出的易用性而得到了广泛的应用。目前Altera已经停止了对Max+plus II的更新支持。Quartus II是Altera公司继Max+plus II之后开发的一种针对其公司生产的系列CPLD/FPGA器件的综合性开发软件,它的版本不断升级,目前已经发布了13.0版本,该软件有如下几个显著的特点:该软件界
20、面和谐,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌有综合器以及仿真器,可以完毕从设计输入到硬件配置的完整PLD、FPGA设计流程。Quartus II可以在Windows、Linux以及Unix上使用,除了可以使用TCL脚本完毕设计流程外,提供了完善的用户图形界面设计方式。具有运营速度快,界面统一,功能集中,易学易用等特点
21、。Quartus II支持Altera公司的MAX 3000A系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件。支持MAX II CPLD系列、Cyclone系列、Cyclone II、Stratix II系列、Stratix GX系列等。支持IP核,包含了LPM/MegaFunction宏功能模块库,用户可以充足运用成熟的模块,简化了设计的复杂性、加快了设计速度。此外,Quartus II 通过和DSP Builder工具与Matlab/
22、Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。3.3 分频器模块3.3.1 分频器的功能在接口电路中,时钟信号的作用至关重要。一般的FPGA开发板或最小系统板附带的晶振频率过高,达成20MHz甚至50MHz,但是这种时钟脉冲不适合直接接入程序工作,所以需要引入时钟分频电路,即分频器,将晶振输出的脉冲分频。分频之后的时钟信号适合接入电路工作。分频器模块就是用软件方法实现分频器的功能。时钟信号一般有两种功能,计数和选通。对于周期运营控制模块来说,每个状态都需要进
23、行计时,所以需要接入较低频率的时钟脉冲,便于对计时器赋值。驱动模块需要进行调速,而小直流电机需要通过调节驱动脉冲的占空比进行调速,在调节占空比时就需要进行计数运算,也就需要一个合适的时钟信号。障碍检测模块和遥控模块输入的是并行电平信号,在电平忽然改变时,由于电平跃变或信号传输的延迟产生竞争冒险现象,在输出端产生尖脉冲的毛刺,从而产生误操作。为了解决这一问题,需要接入一个选通控制信号。竞争冒险一般发生在输入信号变化瞬间,若选通信号在这期间将输出关闭,等到输入信号稳定后再将输出启动,就可以消除竞争险象。选通信号也是由分频器输出的时钟信号。3.3.2 分频器的设计分频器是将较高的频率进行分频,从而得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 智能 小车 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。