预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

15目录1引言11.1实验内容及目的11.2实验设备及工具11.3设计分析22系统组成和STM32控制器概述32.1AD采集系统组成32.2STM32微控制器概述32.2.1STM32微处理器概述32.2.2Cortex-M3内核42.3内部直接存储寄存器(DMA)52.4模拟/数字转换控制器(ADC)73硬件实现84软件实现95总结10参考文献11附录121引言随着工业自动化与信息化的不断发展,数据采集已经成为了计算机与外部物理世界连接的桥梁。数据采集系统广泛地应用于工业生产中设备工作状况的监测、控制领域中的闭环控制系统及仿真领域的半实物仿真系统。传统的数据采集装置通常由单片机及采集卡组成,其采集通道数较少、单任务的软件结构及实时性差等不足之处已无法满足人们的需求。ARM(AdvancedRISCMachines)是基于RSIC架构的数据宽为32位可嵌入操作系统的微处理器。由于其体积小、价格低、可靠性高、低功耗等特点在工业自动化、国防、运输等领域得到了广泛的应用。本次设计是基于ARM的多通道实时数据采集系统;该系统主要基于ARM工控开发平台、数据采集板及模拟量输出板,实现多通道数据的采集1.1实验内容及目的1.1.1《嵌入式系统》课程设计为学生提供了一个理论与实践相结合的机会。既锻炼了学生动手能力,又会加深理解学生所学习的理论知识。通过课程设计可以将课本上的理论知识和实际应用有机的结合起来,培养学生又动脑,又动手,独立思考分析问题的能力,提高学生运用所学知识解决实际问题的综合素质。1.1.2《嵌入式系统》课程设计的主要目标是:(1)掌握构建嵌入式系统软硬件平台的基本技能;(2)具备基本嵌入式系统下C语言编程能力及操作系统基本调试的能力;(3)了解应用嵌入式系统技术开发一套嵌入式系统设备的方法。1.2实验设备及工具硬件:ARM嵌入式开发板、用于ARM的JTAG仿真器、四个电位器、盘线,插针等。软件:计算机操作系统WinXP、ARM集成开发环境、仿真器驱动程序、超级终端通讯程序。1.3设计分析1.3.1设计要求(1)查阅相关文献资料,熟悉所选ARM芯片(2)系统硬件设计,熟悉AD转换原理及过程ARM芯片的硬件接口实现(3)能进行最少4路信号采集1.3.2设计思路本课题设计是根据我校老师自主研制的ARM实验板进行设计开发的。用KeiluVision4软件对各个模块进行程序编写并进行调试,当程序调试无误后,将程序下载到ARM实验板上,经ARM芯片的AD转换器,经过模数转换器,将输入的模拟信号(电压)转换成数字信号,再通过串口助手显示出所采集到的数据2系统组成和STM32控制器概述2.1AD采集系统组成如图1所示,系统功能的实现流程是:电源开启后,系统功能初始化,开始采集外部由电位器分压得到的电压信号。其电压信号经过预处理后通过设置的I/O口与芯片的A/D转换接口相连接。经过A/D转换后,由芯片内部数据传输模块(DMA)把数据传给CPU进行相关的处理,得出结论,输出相应的控制信号。电位器分压AD转换端口内部传输DMA控制芯片处理输出控制信号电源控制芯片图1系统框图2.2STM32微控制器概述2.2.1STM32微处理器概述STM32系列32位闪存微控制器使用来自ARM公司具有突破性的Cortex-M3内核,该内核是专门设计与满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。Cortex-M3在系统结构上的增强,让STM32受益无穷;Tumb-2指令集带来了更高的效率和更强的性能,既获得了传统32位代码的性能,又有16位的高代码密度;通过紧藕合的嵌套矢量中断控制器,对中断事件的相应比以往更迅速,所有的这些又都融入了业界领先的功耗水平。2.2.2Cortex-M3内核Cortex-M3内核为ARMv7架构,是建立在一个高性能哈佛结构的三级流水线基础上的,可满足事件驱动的应用要求。通过广泛采用时钟选通等技术,改进了每个时钟周期的性能,包括单周期的32x32乘法和硬件除法,获得了优异的能效比。另外通过一个基于堆栈的异常模式的实现,显著地缩小了内核的物理尺寸。Cortex-M3内核指令和数据各使用一条总线,如图2所示。与Cortex-M3不同,ARM7系列处理器使用冯·诺依曼(VonNeumann)架构,指令和数据共用信号总线以及存储器。由于指令和数据可以从存储器中同时读取,所以Cortex-M3处理器对多个操作并行执行,加快了应用程序的执行速度。内核流水线分3个阶段:取指、译码和执行。当遇到分支指令时,译码阶段也包含预测的指令取指,这提高了执行的速度。处理器在译码阶段期间自行对分支目的地指令进行取指。在稍后的执行过程中,处理完分支指令后便知道下一条要执行的指令。如果分支不跳转,那么紧跟着的下一条指令随时可供使用。如果分支