fpga的小车转弯运动控制设计
早在上个世纪中叶,人类就已在月球上留下足迹,本世纪,人类已将探索领域延伸到人类难以生存的星球,为便于对这些星球的组成物质的研究,对搭载这些探索设备的智能小车研究就显得尤为重要。本课题是基于FPGA的小车控制器的设计,利用EDA技术,使用Xilinx公司的Zedboard设计一种具有较强可移植性的小车控制器。本论文前面章节主要介绍了Zrobot智能车搭载的硬件平台,主要包含了Zynq-7000芯片中双核ARM Cortex-A9处理器,FPGA中的可编程逻辑部分,PS与PL之间的通信原理,以及实现智能车转弯运动的电机驱动模块,电源模块设计的电路进行分析;后面章节主要介绍了设计的流程,对于Vivado工程的建立,IP核的设计,设置程序从SD卡启动,着重阐述了转弯运动的四路PWM波的设计原理,PWM输出占空比与转弯角度之间的关系。整个智能车由嵌在车体上的锂电池为板卡以及电机供电,借助于Andriod平台的手机,使用WifiHRRobot_V7的控制APP,与智能车WIFI模块连接,人工控制APP来传递信号给智能车,ZedBoard对接收的信号进行处理,输出PWM实现对智能车的转弯实现控制。经过对程序的调试之后,能够基本实现对智能车转弯的控制,但在于远距离对智能车的运动控制,信号传输质量有待提高。
目录
摘要 I
ABSTRACT II
第一章 绪论 1
1.1 课题研究的背景和意义 1
1.2 FPGA发展历史和现状 1
第二章 系统总体设计 3
2.1 智能小车硬件总体设计 3
2.2 智能小车软件总体设计 4
第三章 基于CortexA9的Zrobot智能小车硬件电路设计 5
3.1 zynq7000片内的资源 5
3.1.1 ARM Cortex A9 处理器 5
3.1.2侦听控制单元(Snoop Control Unit,SCU) 6
3.1.3 L2高速缓存 6
3.1.4 APU接口与PL协处理接口 6
3.2 GPIO接口电路设计 6
3.2.1 可动态编程的通用IO接口 6
3.2.2 H桥驱动芯片原理 7
*好棒文|www.hbsrm.com +Q: ^351916072*
3.2.3 电机驱动模块的设计 8
3.2.4 电源模块与时钟电路设计 8
3.3 通信模块电路设计 10
3.3.1 双UART串口 10
3.3.2 PL与PS之间的总线级别通信 11
3.3.3 PL与PS之间EMIO级别通信 13
3.3.4 88E1518千兆以太网芯片的测试 13
3.4 存储系统的设计 14
3.4.1 DDR3存储单元 14
3.4.2 SD卡的简介 15
第四章 软件实现 16
4.1 Vivado套件的操作 16
4.2 IP核的设计 19
4.3 Uboot、内核、File system 20
4.4 系统启动流程的分析 20
4.4.1 阶段一的启动流程 21
4.4.2 阶段一与阶段二的流程 23
4.4 PWM驱动 24
4.5智能车的转向角度与PWM输出占空比的关系 24
第五章 课题总结与展望 28
5.1课题总结 28
5.3 展望 28
致谢 29
参考文献 30
附录一(部分关键程序) 32
附录二(外文翻译) 36
第一章 绪论
1.1 课题研究的背景和意义
当前,智能控制领域是科学研究的一个热门话题,我们的工业生产和日常生活都离不开智能控制。比如,在世界激烈的竞争中,无人陆地战车已经成为两国军事力量的斗争焦点,在恶劣的作战环境中,先进的人工控制只能陆地战车减少了大量不必要的伤亡。再比如,无人控制领域已经深入到抢险救灾的各个领域,当发生火灾时,我们可以用无人控制的智能灭火机器人深入到火场中进行灭火,或者当核电站泄漏时,我们就可以让机器人潜入到核电站内进行故障的排查,这些都大大减少了财产和生命的损失。所以说,研究智能控制以及智能控制下的无人操作能够为我们的生活带来巨大的便利。
本课题采用的是Xilinx公司生产的,基于Zynq7000的智能小车。该小车搭载了丰富的外设,可以实现非常多的功能。此课题通过运用Zynq7000处理器来驱动LM298P的电机驱动,并且通过采用不同的PWM波,实现小车的差速运动,从而实现小车的直线、转弯运动,接着我们就可以灵活的控制小车的运动,小车就能够在我们的控制下完成相应的任务。本课题的研究意义在于,智能小车也只有能够灵活的被人控制,才能向目的地行径,也只有这样才能在无人控制的环境下完成人们想要完成的任务,所以说直线、转弯运动是整个智能小车运动的基石,无论小车的超声波避障,还是小车的实时视频传输,都需要小车的运动作为载体。
1.2 FPGA发展历史和现状
1985年,全球的第一款FPGA[1]产品诞生了,它就是Xilinx公司推出的XC2046。当时的门数量不到1000个,晶体管也只有85000个。而如今FPGA门数量已经达到千万级别,晶体管的数量已经超过10亿个。同时各个厂商还在继续不断的优化,开发有更多逻辑单元,性能更高,成本更低,功耗更小的产品。目前FPGA的产品已经渗透到各行各业,比如汽车电子、工业控制、消费电子等等。目前FPGA目前朝着两个趋势方向发展:
1.采用先进的工艺使产品的性能得到提高,并且不断降低产品的成本;
2.IP核越来越丰富,既包括通用的IP核又包括为用户私人定制的IP核。
目前FPGA的三大厂商有Altera、Xilinx、Lattice。Xilinx是FPGA的老大,它的主要产品有Spartan系列、Virtex系列等等。而Altera的主要产品有Cyclone系列、Stratix系列等等。我们市场上有五分之三的产品都是这两家公司生产的,也就是说,这两家公司领导这FPGA的发展。
第二章 系统总体设计
2.1 智能小车硬件总体设计
Xilinx公司最新的产品是7系列,7系列的构架统一,同时FPGA内硬件例化模块也是同一的,这样的目的能够提高用户的设计速度。比起之前的两个重要产品Virtex和Spartan系列,减少了开发人员在不同平台切换,修改代码的不便之处,加快了项目开发的速度。7系列FPGA采用28nm工艺,其优势主要表现为:低功耗,小型化,低成本,更高的信号处理能力。
7系列FPGA的关键技术介绍:
1.硅片堆叠技术:这种技术使用由许多个逻辑区域组成内插层,然后采用先进的制造工艺技术,这样使得在一个FPGA上集成超过10000个SLR连接,同时FPGA具有低功耗和低延迟的特点。
2.逻辑资源:该系列FPGA的LUT有两种配置方式,分别为一个6输入1输出的LUT和两个5输入具有相同地址或者逻辑输入的独立输出的LUT。
3.时钟管理:具有24个时钟通道,一个锁相环和一个混合模式时钟管理器组成一个时钟模块。为解决高扇出、低抖动、短传输延迟等不同需求,7系列FPGA提供六种不同种类的时钟线,分别为BUFR、BUFG、BUFH、BUFIO、BUFMER以及高性能时钟。
4.块存储器(BRAM):7系列FPGA拥有的双端口BRAM数有30到1880个,每一个可以存储大小为36KB数据,其中每个BRAM有两个独立端口,这两个端口只能共享数据。
5.吉比特收发器:业内第一个实现400G数据吞吐的低功耗单芯片。
目录
摘要 I
ABSTRACT II
第一章 绪论 1
1.1 课题研究的背景和意义 1
1.2 FPGA发展历史和现状 1
第二章 系统总体设计 3
2.1 智能小车硬件总体设计 3
2.2 智能小车软件总体设计 4
第三章 基于CortexA9的Zrobot智能小车硬件电路设计 5
3.1 zynq7000片内的资源 5
3.1.1 ARM Cortex A9 处理器 5
3.1.2侦听控制单元(Snoop Control Unit,SCU) 6
3.1.3 L2高速缓存 6
3.1.4 APU接口与PL协处理接口 6
3.2 GPIO接口电路设计 6
3.2.1 可动态编程的通用IO接口 6
3.2.2 H桥驱动芯片原理 7
*好棒文|www.hbsrm.com +Q: ^351916072*
3.2.3 电机驱动模块的设计 8
3.2.4 电源模块与时钟电路设计 8
3.3 通信模块电路设计 10
3.3.1 双UART串口 10
3.3.2 PL与PS之间的总线级别通信 11
3.3.3 PL与PS之间EMIO级别通信 13
3.3.4 88E1518千兆以太网芯片的测试 13
3.4 存储系统的设计 14
3.4.1 DDR3存储单元 14
3.4.2 SD卡的简介 15
第四章 软件实现 16
4.1 Vivado套件的操作 16
4.2 IP核的设计 19
4.3 Uboot、内核、File system 20
4.4 系统启动流程的分析 20
4.4.1 阶段一的启动流程 21
4.4.2 阶段一与阶段二的流程 23
4.4 PWM驱动 24
4.5智能车的转向角度与PWM输出占空比的关系 24
第五章 课题总结与展望 28
5.1课题总结 28
5.3 展望 28
致谢 29
参考文献 30
附录一(部分关键程序) 32
附录二(外文翻译) 36
第一章 绪论
1.1 课题研究的背景和意义
当前,智能控制领域是科学研究的一个热门话题,我们的工业生产和日常生活都离不开智能控制。比如,在世界激烈的竞争中,无人陆地战车已经成为两国军事力量的斗争焦点,在恶劣的作战环境中,先进的人工控制只能陆地战车减少了大量不必要的伤亡。再比如,无人控制领域已经深入到抢险救灾的各个领域,当发生火灾时,我们可以用无人控制的智能灭火机器人深入到火场中进行灭火,或者当核电站泄漏时,我们就可以让机器人潜入到核电站内进行故障的排查,这些都大大减少了财产和生命的损失。所以说,研究智能控制以及智能控制下的无人操作能够为我们的生活带来巨大的便利。
本课题采用的是Xilinx公司生产的,基于Zynq7000的智能小车。该小车搭载了丰富的外设,可以实现非常多的功能。此课题通过运用Zynq7000处理器来驱动LM298P的电机驱动,并且通过采用不同的PWM波,实现小车的差速运动,从而实现小车的直线、转弯运动,接着我们就可以灵活的控制小车的运动,小车就能够在我们的控制下完成相应的任务。本课题的研究意义在于,智能小车也只有能够灵活的被人控制,才能向目的地行径,也只有这样才能在无人控制的环境下完成人们想要完成的任务,所以说直线、转弯运动是整个智能小车运动的基石,无论小车的超声波避障,还是小车的实时视频传输,都需要小车的运动作为载体。
1.2 FPGA发展历史和现状
1985年,全球的第一款FPGA[1]产品诞生了,它就是Xilinx公司推出的XC2046。当时的门数量不到1000个,晶体管也只有85000个。而如今FPGA门数量已经达到千万级别,晶体管的数量已经超过10亿个。同时各个厂商还在继续不断的优化,开发有更多逻辑单元,性能更高,成本更低,功耗更小的产品。目前FPGA的产品已经渗透到各行各业,比如汽车电子、工业控制、消费电子等等。目前FPGA目前朝着两个趋势方向发展:
1.采用先进的工艺使产品的性能得到提高,并且不断降低产品的成本;
2.IP核越来越丰富,既包括通用的IP核又包括为用户私人定制的IP核。
目前FPGA的三大厂商有Altera、Xilinx、Lattice。Xilinx是FPGA的老大,它的主要产品有Spartan系列、Virtex系列等等。而Altera的主要产品有Cyclone系列、Stratix系列等等。我们市场上有五分之三的产品都是这两家公司生产的,也就是说,这两家公司领导这FPGA的发展。
第二章 系统总体设计
2.1 智能小车硬件总体设计
Xilinx公司最新的产品是7系列,7系列的构架统一,同时FPGA内硬件例化模块也是同一的,这样的目的能够提高用户的设计速度。比起之前的两个重要产品Virtex和Spartan系列,减少了开发人员在不同平台切换,修改代码的不便之处,加快了项目开发的速度。7系列FPGA采用28nm工艺,其优势主要表现为:低功耗,小型化,低成本,更高的信号处理能力。
7系列FPGA的关键技术介绍:
1.硅片堆叠技术:这种技术使用由许多个逻辑区域组成内插层,然后采用先进的制造工艺技术,这样使得在一个FPGA上集成超过10000个SLR连接,同时FPGA具有低功耗和低延迟的特点。
2.逻辑资源:该系列FPGA的LUT有两种配置方式,分别为一个6输入1输出的LUT和两个5输入具有相同地址或者逻辑输入的独立输出的LUT。
3.时钟管理:具有24个时钟通道,一个锁相环和一个混合模式时钟管理器组成一个时钟模块。为解决高扇出、低抖动、短传输延迟等不同需求,7系列FPGA提供六种不同种类的时钟线,分别为BUFR、BUFG、BUFH、BUFIO、BUFMER以及高性能时钟。
4.块存储器(BRAM):7系列FPGA拥有的双端口BRAM数有30到1880个,每一个可以存储大小为36KB数据,其中每个BRAM有两个独立端口,这两个端口只能共享数据。
5.吉比特收发器:业内第一个实现400G数据吞吐的低功耗单芯片。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1740.html