基于arm的ad采集-毕设论文.doc
《基于arm的ad采集-毕设论文.doc》由会员分享,可在线阅读,更多相关《基于arm的ad采集-毕设论文.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1引言11.1实验内容及目的11.2实验设备及工具11.3设计分析22系统组成和STM32控制器概述32.1 AD采集系统组成32.2 STM32微控制器概述32.2.1 STM32微处理器概述32.2.2 Cortex-M3内核42.3内部直接存储寄存器(DMA)52.4模拟/数字转换控制器(ADC)73硬件实现84软件实现95 总结10参考文献11附录12 1引言随着工业自动化与信息化的不断发展,数据采集已经成为了计算机与外部物理世界连接的桥梁。数据采集系统广泛地应用于工业生产中设备工作状况的监测、控制领域中的闭环控制系统及仿真领域的半实物仿真系统。传统的数据采集装置通常由单片机及采集
2、卡组成, 其采集通道数较少、单任务的软件结构及实时性差等不足之处已无法满足人们的需求。ARM ( Advanced RISC Machines) 是基于RSIC 架构的数据宽为32 位可嵌入操作系统的微处理器。由于其体积小、价格低、可靠性高、低功耗等特点在工业自动化、国防、运输等领域得到了广泛的应用。本次设计是基于ARM的多通道实时数据采集系统;该系统主要基于ARM工控开发平台、数据采集板及模拟量输出板,实现多通道数据的采集1.1 实验内容及目的1.1.1 嵌入式系统课程设计为学生提供了一个理论与实践相结合的机会。既锻炼了学生动手能力,又会加深理解学生所学习的理论知识。通过课程设计可以将课本上
3、的理论知识和实际应用有机的结合起来,培养学生又动脑,又动手,独立思考分析问题的能力,提高学生运用所学知识解决实际问题的综合素质。1.1.2嵌入式系统课程设计的主要目标是:(1)掌握构建嵌入式系统软硬件平台的基本技能;(2)具备基本嵌入式系统下C语言编程能力及操作系统基本调试的能力;(3)了解应用嵌入式系统技术开发一套嵌入式系统设备的方法。1.2实验设备及工具 硬件:ARM嵌入式开发板、用于ARM的JTAG仿真器、四个电位器、盘线,插针等。软件:计算机操作系统WinXP、ARM集成开发环境、仿真器驱动程序、超级终端通讯程序。1.3设计分析1.3.1设计要求(1)查阅相关文献资料,熟悉所选ARM芯
4、片(2)系统硬件设计,熟悉AD转换原理及过程ARM芯片的硬件接口实现(3)能进行最少4路信号采集1.3.2设计思路本课题设计是根据我校老师自主研制的ARM实验板进行设计开发的。用Keil uVision4软件对各个模块进行程序编写并进行调试,当程序调试无误后,将程序下载到ARM实验板上,经ARM芯片的AD转换器,经过模数转换器,将输入的模拟信号(电压)转换成数字信号,再通过串口助手显示出所采集到的数据2系统组成和STM32控制器概述2.1 AD采集系统组成如图1所示,系统功能的实现流程是:电源开启后,系统功能初始化,开始采集外部由电位器分压得到的电压信号。其电压信号经过预处理后通过设置的I/O
5、 口与芯片的A/D转换接口相连接。经过A/D转换后,由芯片内部数据传输模块(DMA)把数据传给CPU进行相关的处理,得出结论,输出相应的控制信号。电位器分压AD转换端口内部传输DMA控制芯片处理输出控制信号电源控制芯片图1系统框图2.2 STM32微控制器概述2.2.1 STM32微处理器概述STM32系列32位闪存微控制器使用来自ARM公司具有突破性的Cortex-M3内核,该内核是专门设计与满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。Cortex-M3在系统结构上的增强,让STM32受益无穷;Tumb-2指令集带来了更高的效率和更强的性能,既获得了传统32位代码
6、的性能,又有16位的高代码密度;通过紧藕合的嵌套矢量中断控制器,对中断事件的相应比以往更迅速,所有的这些又都融入了业界领先的功耗水平。2.2.2 Cortex-M3内核Cortex-M3内核为ARMv7架构,是建立在一个高性能哈佛结构的三级流水线基础上的,可满足事件驱动的应用要求。通过广泛采用时钟选通等技术,改进了每个时钟周期的性能,包括单周期的32x32 乘法和硬件除法,获得了优异的能效比。另外通过一个基于堆栈的异常模式的实现,显著地缩小了内核的物理尺寸。Cortex-M3内核指令和数据各使用一条总线,如图2所示。与Cortex-M3不同,ARM7系列处理器使用冯诺依曼(Von Neuman
7、n)架构,指令和数据共用信号总线以及存储器。由于指令和数据可以从存储器中同时读取,所以Cortex-M3处理器对多个操作并行执行,加快了应用程序的执行速度。内核流水线分3个阶段:取指、译码和执行。当遇到分支指令时,译码阶段也包含预测的指令取指,这提高了执行的速度。处理器在译码阶段期间自行对分支目的地指令进行取指。在稍后的执行过程中,处理完分支指令后便知道下一条要执行的指令。如果分支不跳转,那么紧跟着的下一条指令随时可供使用。如果分支跳转,那么在跳转的同时分支指令可供使用,空闲时间限制为一个周期。图2 Cortex-M3内核结构图Cortex-M3内核包含一个适用于传统Thumb和新型Thumb
8、- 2指令的译码器、一个支持硬件乘法和硬件除法的先进ALU、控制逻辑和用于连接处理器其他部件的接口。Cortex-M3处理器是一个32位处理器,带有32位宽的数据路径,寄存器库和存储器接口。其中有13个通用寄存器,两个堆栈指针,一个链接寄存器,一程序计数器和一系列包含编程状态寄存器的特殊寄存器。 Cortex-M3处理器支持两种工作模式:线程(Thread)和处理器(Handler);两个等级的访问形式:有特权或无特权。在不牺牲应用程序安全的前提下实现了对复杂的开放式系统的执行。无特权代码的执行限制或拒绝对某些资源的访问,如某个指令或指定的存储器位置。Thread是常用的工作模式,它同时支持享
9、有特权的代码以及没有特权的代码。当异常发生时,进入Handler模式,在该模式中所有代码都享有特权。此外,所有操作均根据以下两种工作状态进行分类,Thumb代表常规执行操作,Debug代表调试操作。借助bit-banding技术,Cortex-M3处理器可以在简单系统中直接对数据的单个位进行访问。存储器映射包含两个位于SRAM的大小均为IMB的bit-band区域和映射到32MB别名区域的外设空间。在别名区域中,某个地址上的加载/存储操作将直接转化为对被该地址别名的位的操作。对别名区域中的某个地址进行写操作,如果使其最低有效位置位,那么bit一and位为1,如果使其最低有效位清零,那么bit-
10、band位为零。读别名后的地址将直接返回适当的bit-band位中的值。除此之外,该操作为原子位操作,其他总线活动不能对其中断。2.3内部直接存储寄存器(DMA)直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须 CPU任何干预,通过 DMA数据可以快速地移动。这就节 CPU的资源来做其他操作。 DMA控制器有 7个通道,每个通道专门用来管来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个 DMA请求的优先权。它的主要特性如下:(1)7个 独的可配置的通道(请求)(2)每个通道都直接连接专用的硬件 DMA 请求,每个通道都同样支持软件触发。这些功能
11、通过软件来配置。(3)在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等 和低),假如在相等优先权时由硬件决定(请求 0 优先于请求 1,依此类推)。(4) 独的源和目标数据区的传输宽(字节、半字、全字),模拟打包和拆包的过程。(5)支持循环的缓冲器管 (6)每个通道都有3个事件标志(DMA 半传输,DMA 传输完成和 DMA 传输出错),这 3个事件标志逻辑或成为一个单独的中断请求。(7) 存储器和存储器间的传输 (8) 外设和存储器,存储器和外设的传输(9)闪存、SRAM、外设的 SRAM、APB1 和 APB2 外设均可作为访问的源和目标。(10)可编程的数据传输数目:最
12、大为 65536如图3所示:DMA控制器和 Cortex-M3核共享系统数据总线执直接存储器数据传输。当CPU和 DMA同时访问相同的目标(RAM或外设)时,DMA请求可能会停止 CPU访问系统总线达干个周期,总线仲裁器执循环调,以保证 CPU至少可以得到一半的系统总线(RAM或外设)带宽。在发生一个事件后,外设发送一个请求信号到 DMA控制器。DMA控制器根据通道的优先权处请求。当 DMA控制器开始访问外设的时候,DMA控制器即发送给外设一个应答信号。当从 DMA控制器得到应答信号时,外设即释放它的请求。一旦外设释放这个请求,DMA控制器同时撤销应答信号。如果发生多的请求时,外设可以启动下次
13、处。总之,每个 DMA传送由3个操作组成:(1)从外设数据寄存器或者从DMA_CMARx 寄存器指定地址的存储器单元执加载操作。(2)存数据到外设数据寄存器或者存数据到DMA_CMARx 寄存器指定地址的存储器单元。(3)执一次DMA_CNDTRx 寄存器的递减操作。该寄存器包含未完成的操作数目。图3 DMA框图 仲裁器根据通道请求的优先级来启动外设/存储器的访问。 优先权管分2个阶段:(1)软件:每个通道的优先权可以在 DMA_CCRx寄存器中设置,有 4个等级: 最高优先级 高优先级 中等优先级 低优先级(2)硬件:如果2个请求有相同的软件优先级,则拥有较低编号的通道比拥有较高编号的通道有
14、较高的优先权。举个子,通道2优先于通道4。2.4模拟/数字转换控制器(ADC)12位 ADC是一种逐次逼近型模拟数字转换器。它有 18个通道,可测 16个外部和 2个内部信号源。各通道的 A/D转换可以单次、连续、扫描或间断模式执。ADC的结果可以左对齐或右对齐方式存储在 16位数据寄存器中。 它的主要特征如下:(1)12-位分辨(2)转换结束,注入转换结束和发生模拟看门狗事件时产生中断(3)单次和连续转换模式(4)从通道 0到通道 n的自动扫描模式(5)自校准(6)带内嵌数据一致的数据对齐(7)通道之间采样间隔可编程(8)规则转换和注入转换均有外部触发选项(9)间断模式(10)双重模式(带2
15、个ADC的器件)(11) ADC转换时间: STM32F103xx 增强型产品:ADC 时钟为 56MHz 时为 1s(ADC 时钟为72MHz为 1.17s) STM32F101xx 基本型产品:ADC 时钟为 28MHz 时为 1s(ADC 时钟为36MHz为 1.55s) (12)ADC供电要求:2.4V到3.6V (13)ADC输入范围:Vref- Vin VREF+ (14)规则通道转换期间有 DMA请求产生。S12内置了2组10位/8位的A/D模块:ATD0和ATD1,共有16个模拟量输入通道,属于逐次逼近型A/D转换器(这个转换过程与用天平称物的原理相似)。图4 A/D 模块功能
16、结构图 图4所示的是 A/D 模块的功能结构,这个功能模块被虚线划分成为图示所示的虚线所隔离的三个部分:IP 总线接口、转换模式控制/寄存器列表,自定义模拟量。IP 总线接口负责该模块与总线的连接,实现 A/D 模块和通用 I/O 的目的,还起到分频的作用;转换模式控制寄存器列表中有控制该模块的所有的寄存器,执行左右对齐运行和连续扫描。自定义模拟量负责实现模拟量到数字量的转换。包括了执行一次简单转换所需的模拟量和数字量。3硬件实现本设计的基于ARM的多通道AD采集的系统采用“电源部分+ARM核心控制模块”实现所需功能。其中电源电路由两部分组成:ARM核心模块电源电路和有电位器提供的可变电源。其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 arm ad 采集 论文
限制150内