版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
word文档可自由复制编辑学校代码10126学号分类号TP31密级本科毕业论文(设计)基于Proteus的Contex-M3的数据采集系统设计学院、系电子信息工程学院专业名称自动化年级学生姓名指导教师教授201基于Proteus的Contex-M3的数据采集系统设计摘要给出了一种基于PROTEUS仿真实现的数字温度采集系统设计。系统以Cortex-M3芯片和数字温度传感器DS18B20为基础,进行温度采集。通过PROTEUS对温度采集系统的工作过程进行模拟,以检验和评估设计的可行性和稳定性,是一种有效可行的仿真方法。关键词:PROTEUS,cortex-M3,DS18B20DesignofdataacquisitionsystemofProteusbasedonContex-M3ABSTRACTAuthor:DaoqiSunTutor:RunjingZhouDesignofadigitaltemperatureacquisitionsystembasedonPROTEUSsimulationisgiven.ThesystemisbasedontheCortex-M3chipanddigitaltemperaturesensorDS18B20,temperatureacquisition.BysimulatingtheworkingprocessofPROTEUSonthetemperatureacquisitionsystem,thefeasibilityandstabilityofthesystemtestandevaluation,isakindofsimulationmethodiseffectiveandfeasible.Keywords:PROTEUS,cortex-M3,DS18B20目录1绪论 11.1研究背景和意义 11.2图像处理软件研究现状 11.3研究主要内容与论文结构 22混合编程与编程方法选择 32.1软件简介 32.2VC与MATLAB混合编程 32.2.1MCC编译器法 32.2.2Matcom编译法 42.2.3调用MATLAB引擎法 42.2.4三种混合编程的比较 52.3编程方法选择 62.4小结 73牧草识别分类系统设计与算法 83.1系统开发平台 83.2系统设计与算法 83.2.1牧草叶片图像预处理 83.2.2牧草纹理特征提取 103.2.3牧草种类识别 123.3
小结 144系统用户界面工程创建及界面介绍 154.1工程创建 154.1.1libeng.lib和libmx.lib文件的生成 154.1.2创建基于MFC的Dialog工程 154.1.3VC环境设置 154.1.4VC读取excel表格中数据并显示的相关设置 184.1.5VC读取txt文件中的字符串并输出的设置 194.2牧草纹理分析系统用户界面简介 194.2.1登陆界面 194.2.2系统主界面 194.2.3参数分析界面 224.3实例分析 234.4小结 27总结 28致谢 29参考文献 301绪论一个基本的温度采集系统包括温度的采集和显示,按照传统的模式,先根据控制系统要求设计原理图、PCB电路图绘制、电路板制作、元器件焊接等操作,然后再进行软件编程与烧录,软件可以模拟调试,牵涉到硬件调试或整个系统的调试是在整个硬件系统焊接完成后进行的,若设计过程中有纰漏需要修改硬件,就需重新制板,成本和开发周期将相应增加。据此,Proteus软件可以完全脱离硬件平台进行嵌入式系统虚拟开发,通过各虚拟仪器构建硬件电路,调试ADS中生成的软件程序,达到虚拟硬件调试系统调试程序的目的,为后续实际软硬件系统的设计提供实践理论依据。英国Labcenterelectronics公司开发的EDA工具软件—Proteus软件,可以仿真、分析各种模拟器件和集成电路,支持Philips公司系列的ARM(LPC系列),并能够进行SCH(原理图)和PCB(印刷板)电路的设计。虽然自身只带汇编编译器,不支持C语言,但可通过与Keil,ADS集成开发环境连接,实现软、硬件结合的系统仿真,获的较好的仿真效果。2cortex-M3内核结构特性及lm3s315芯片简介2.1cortex-M3内核结构特性本系统使用了ARM的Cortex-M3核。它是一个低功耗的32位中央处理单元。具有数目少,中断延迟短,调试成本低的特点,它是一个高效的哈佛三级流水线核,一个固定的4GB储存映射。支持16/32位的Thumb-2指令集。其特性也包括使用硬件除法指令和低延迟中断服务程序ISR入口和退出特性。Cortex-M3处理器支持两种工作模式,线程模式和处理模式.在复位时处理器进入线程模式,异常返回时也会进入该模式。特权和用户(非特权)代码能够在线程模式下运行。出现异常时处理器进入处理模式,在处理模式中,所有代码都是特权访问的。Cortex-M3处理器有两种工作状态:Thumb状态:这是16位和32位半字对齐的thumb和thumb-2指令的正常执行状态。调试状态:处理器停机调试时进入该状态。Cortex-M3处理器有32位寄存器Cortex-M3处理器内核采用ARMv7-M架构,其主要特性如下:Thumb-2指令集架构(ISA)的子集,包含所有基本的16位和32位Thumb-2指令。2位单周期乘法ISR的低延迟进入和退出:无需多余指令就可实现处理器状态的保存和恢复。在保存状态的同时从存储器中取出异常向量,实现更加快速地进入ISR。中断控制器的紧密式耦合接口,能够有效地处理迟来中断。采用末尾连锁(tail-chaining)中断技术,在两个中断之间没有多余的状态保存和恢复指令的情况下,处理背对背中断(back-to-backinterrupt)。可中断-可继续(interruptible-continued)的LDM/STM,PUSH/POP。ARMv6类型BE8/LE支持ARMv6非对齐访问Cortex-M3处理器包含:13个通用的32位寄存器,链接寄存器(LR)程序计数器(PC)程序状态寄存器,xPSR,两个分组的SP寄存器Cortex-M3处理器在数据加载/存储的同时能够执行指令取指。存储器访问由下面的部件控制:一个独立的加载存储单元(LSU),与来自ALU的加载和存储操作是分离的。一个3字的入口预取指单元(entryprefetchunit)。一次取一个字。在取这个字时,可以使用2种thumb指令,字对齐的thumb-2指令或半字对齐的thumb-2指令的高/低半字。所有来自内核的取地址操作都是字对齐的。如果是半字对齐的,则需要两次取指操作才能完成thumb-2指令的取指。而3字入口的预取指缓冲区确保了只有第一个被取出的半字的thumb-2指令才需要一个暂停周期(stallcycle)。图2.1cortex-m3内核结构2.2Lm3s315特性该lm3s315微控制器包括以下产品特点:32位RISC的性能32位ARM®皮质™M3v7m结构优化的嵌入式应用,系统(SysTick定时器),提供了一个简单的,24位清楚写,递减,裹在零一个灵活的控制机构,拇指®兼容的thumb-2-only指令集处理器为核心高代码密度25兆赫操作硬件划分和单周期乘法,集成的嵌套向量中断控制器(NVIC)提供确定性的中断处理,23中断八优先级,存储器保护单元(MPU),提供受保护的操作系统特权模式功能,未对齐的数据访问,使数据能够被有效地装入内存,原子位操作(位带),提供最大的内存利用率和简化外围控制。图2.21lm3s315微控制器引脚图2.3小结本章通过介绍cortex-M3内核结构特性及lm3s315芯片,学习和了解了主控微处理器的基本特性和结构,为以后在proteus中仿真设计原理图打下基础。3数据采集系统介绍3.1数据采集理论概述3.1.1采样定理数据采集系统所要采集的信号一般为传感器的输出信号,多为连续的电压信号或电流信号,而要使其变为能够被数字系统处理的信号,必须对其进行离散化,也即采样来的信号波形。采样是由采样器来进行,采样器即是一个开关,每隔时间T接通开关,输入信号进入采样器,所以只在开关接通时间内的输入信号的一些小段内采样器才有输出信号,原输入信号的取样就是接通时的信号小段,这样采样器的输出信号就可以看成是由原信号和开关函数的乘积,而且开关函数在接通时间段内对原函数没有影响。单位冲积函数是一条条高度为1的位于时间点上的直线,所以一般选取单位冲激序列作为开关函数,原函数经单位冲激函数开关接通后,也即是采样后,得到的采样函数就是由位于时间点上的原始函数的函数值的离散的点,如图1所示采样的模型。f(t)为原始连续信号,(t)为周期性单位冲激脉冲序列,fs(t)为采样信号。3.11采样模型在时域中,f(t)、(t)和fs(t)三个时间函数存在如下的关系:由卷积定理,当去极限情况时,以上三个信号时间函数在频域中应当有下式:将上式进行从频域到时域的反变换就可得到采样冲激序列上述变换中冲激序列(t)取极限情况,因此采样信号f(t)被称为冲激采样信号,或者理想采样信号。f(t)在频域中的频谱函数叫做理想取样频谱。一般在实际的应用中比较关心的就是理想采样信号和理想采样频谱如图2所示采样信号的频谱与原信号的频谱间的关系,图中(1)和(2)分别为原始信号和原始信号的频谱,频带为频带之外为零;图中(3)和(4)分别为单位冲激序列和单位冲击序列信号的频谱,T为采样周期,图中(6)所示为理想采样频谱。在图(6)所示的理想采样信号频谱中,虚线框内的部分信号频谱在频率轴上的平移量为零,其与原信号频谱具有完全形同的结构,幅度是原来频谱的1/T,所以只要将采样信号输入一个理想低通滤波器,把这虚线框内所属的频谱段成分取出,同时滤除所有其它部分,在滤波器的输出端就可以得到原来的信号。由图中(6)可知,上述低通滤波器的截止频率只要满足就可将原信号滤出。图3.12采样信号的频谱与原信号的频谱间的关系由上可知,要想通过采样器采样原始信号而且能够重建原始信号必须满足两个条件,一是原信号频谱的频带是有限的,即不包含的频率成分;二是采样频率大于或者至少不低于原信号频谱中最高频率成分频率的两倍,也就是,式中是可以恢复原信号的最小采样频率。3.1.采样定理提出的用于滤出原信号的低通滤波器是理想的,但实际应用中的低通滤波器是不可能达到理想状态,非理想低通滤波器的幅频特性如图3所示。由于这种滤波器的滤波特性在进入截止频率后不够陡直,滤波器输出端除了含有原信号的频带成分以外,还夹杂着采样信号频谱中相邻部分的一些频率分量,如图3阴影部分。经过非理想低通滤波器滤出的信号与原来的信号就有差别。所以在实际的采集应用中需要尽可能提高采样频率,此外可以使用结束较高的滤波器,使得滤波器的输出端只有原信号频带的信号成分。图3.1.2在实际应用中,要尽量高地提高采样频率,工程应用中通常选取信号带宽的3~5倍以上的采样频率,这样既可以减少采样后信号频谱上的混叠,也可减小低通滤波器的设计难度;其次需要设计具有一定陡度的低通滤波器。过采样技术是用一个很简单的抗混叠滤波器M(M为整数,称为过采样率)以上的信号衰减,接着用比香农采样频率高得多的采样率实现A/D转换,然后在数字域内实现瑞截止的抗混叠,再将采样频率降低,实现较好的抗混叠效果。3.2
数据采集系统设计方案系统主要由测温器件、ARM控制器、及显示单元三部分组成,系统结构,如图3.2所示。工作原理为:ARM微处理器向温度传感器发出信号,启动温度传感器采集温度数据,温度传感器采集完数据后,将模拟数据量转变成便于ARM微处理器读取的数字信号,然后由ARM微处理器将数据处理显示到液晶显示设备上LCD显示温度报警主控芯片:Lm3s315LCD显示温度报警主控芯片:Lm3s315温度采集:DS18B20图3.2系统结构框图系统技术指标要求:(1)采集温度,精度达到0.5℃;(2)实时显示温度。主机coryex-m3选择luminarymicro公司的lm3s315,温度传感器选择DALLAS半导体公司的DS18B20,LCD选择字符型液晶显器LM032L。具体系统硬件模块设计如下:3.2.1cortex-m3控制模块系统选用的lm3s315是luminarymicro公司的coryex-m3核微处理器,这是由于目前PROTEUS支持的ARM芯片仅有lm3s***系列,且有较小的48引脚LQFP封装,极低的功耗和极小的体积等优点。具有25MHz操作;硬件除法和单周期乘法;16KB单周期闪存;用户管理的闪存块保护,以2KB块为单位;用户管理的闪存数据编程;用户定义和管理的闪存保护块;4KB单周期SRAM;通用定时器;32位定时器模式:可编程的周期定时器;16位定时器模式;带有8位预分频器的通用定时器功能;可编程的单次触发定时器,可编程的周期定时器;输入边沿计数捕获;输入边沿时间捕获;16位PWM模式;带有使能的独立看门狗时钟;带有中断屏蔽的可编程中断产生逻辑;带有使能/禁能的复位产生逻辑;同步串行接口(SSI);主机或从机操作;可编程的时钟位速率和预分频;从4~16位的可编程数据帧大小;2个完全可编程的16C550类型UART;3个独立的集成模拟比较器;将外部引脚输入与外部引脚输入相比或与内部可编程的电压参考相比;灵活的复位源;上电复位(POR);复位引脚有效;掉电(BOR)检测器向系统警报电源下降;软件复位:看门狗定时器复位;内部线性稳压器(LDO)输出变为不稳定;其他特性:6个复位源可编程的时钟源控制;遵循IEEE1149.1-1990的测试访问端口(TAP)控制器;通过JTAG和串行线接口的调试访问;完整的JTAG边界扫描。3.2.2测温模块系统选用美国DALLAS公司生产的单总线数字温度传感器DS18B20,具有体积小、结构简单、实用电压宽、可组网、成本低廉、便于总线扩展和维护等诸多特点。特别是具有较宽的电压适用范围(3~5.5)V,并能够通过编程实现温度信号的9~12位的数字转换,分辨率最高可以达到0.0625℃。其测量温度范围为(-55~+125)℃,其中:在(-10~+85)℃范围内,精度达到±0.5℃,有3脚和8脚两种封装形式,PROTEUS库中提供了3脚的封装,其引脚功能分别为GND,电源Vcc,信号DQ。DS18B20作为1-wire单总线数字温度传感器,采用一根信号线实现信号的双向传输,接口简单、便于扩展和维护[3]。LPC2114对DS18B20控制时,只需使用一个普通的I/O端口就可以对其驱动,这里选用P0.25口对其驱动,考虑到DS18B20是单总线传输数据,数据读写均在一条线上进行的,测温系统要严格按照该器件单总线协议规定的时序进行工作,需有严格的通信协议来保证各位数据传输的正确性和完整性。因此通信协议规定了复位脉冲、应答脉冲、写0、写1、读0和读1等几种信号的时序。除了应答脉冲,所有这些信号都由主机发出同步信号。总线上还接有一个4.7K的上拉电阻以在温度转换中提供足够的功率。3.2.3显示模块这里采用HITACHI公司的LM032L液晶显示屏以满足温度显示的要求。当LPC2114驱动LCD时,因ARM本身电流微小以及传输过程的损耗,在实际应用驱动LCD时,常采用信号增益模块加以驱动。PROTEUS仿真过程中不考虑信号损耗,系统外部晶振电路,复位电路等因素,故予以省略,设计了一蜂鸣报警应用于温度超常时报警。根据所选器件在PROTEUS中设计的原理图,如图3.2.3所示3.3系统软件设计软件编程是在keilforarm环境下开发,主要包括嵌入式多任务实系统,DS18B20温度采集、LM032L温度显示及蜂鸣报警等内容。系统采用层次化、模块化结构设计,主要包括主程序和具有特定功能模块的子程序,如温湿度采集及转换处理子程序、显示子程序、键盘中断子程序、报警子程序等。系统软件结构框图如图3.3所示。3.3系统软件结构框图3.3.主程序的主要功能是对系统进行初始化设置,包括设置中断入口、设置堆栈区、中断初始化和定时器初始化等,温湿度的测量每1s进行一次,然后完成对温湿度的转换处理、发送、显示以及开关量的控制输出。主程序流程图如图3.3.1所示图3.3.1主程序流程图3.3.2测温程序流程图3.3.2测温程序流程图DS18B20对温度的测量主要包括三个子程序:初始化子程序init_ds18b20()、“写”操作子程序write-ds18b20()、“读”操作子程序read_ds18b20()。DS18B20的测温程序流程图,如图3.22所示。DS18B20初始化程序中主机拉底总线(480~960)us,启动复位。接着主机拉高总线以释放总线,准备接收DS18B20的应答脉冲,应答脉冲为(60~240)us的低电平。后续的“写”操作子程序write-ds18b20()和“读”操作子程序read_ds18b20()都要调用初始化子程序init_ds18b20(),DS18B20的初始化成功与否关系到整个温度采集的成败。温度采集时需注意以下操作:①初始化DS18B20(发一个不少于480μs的低脉冲);②执行ROM命令,主要用于定位;③执行DS18B20的存储器控制命令,用于转换和读数据;④数据处理,从DS18B20读出的二进制值必须先转换成十进制值,才能用于字符的显示。本系统为了提高转换精度采用12位,而温度寄存器中的值是以0.0625为步进的,即温度值为温度寄存器中的二进制值乘以0.0625,就是实际的十进制温度值。湿度采集时计数出20ms内输入的脉冲个数,此脉冲个数即为555定时器的脉冲频率的1/50,因此,根据测得的脉冲频率即可求出温度值。DS18B20的“写”、“读”操作可分别分为写1和写0,读1和读0。不管是写数据还是读数据,都是以主机lm3s315将总线从高电平拉至低电平开始,每个写或读时隙总线上只能传输一位数据,所以数据的读写都是以字节的低位到高位一位一位传送。所有读时隙和写时隙的最短持续时间都为60us。测温程序流程图如图3.3.2所示3.3.3LM032L显示LM032L显示部分包括LCD初始化,写指令,写数据,显示文本等。其中,显示文本部分先要设置好显示地址,再显示从DS18B20读出来的温度数据。这里设置当温度在正常范围内时,正常显示,但温度超出警戒温度,显示的温度值后面显示“>H”,小于最低温度时,会显示“<L”。主函数中设置LPC2114的P0.30接一蜂鸣器电路,当温度高于最高温度55℃或低于最低温度(-10)℃时,蜂鸣器报警。在主函数中用一个do-while循环不停地采集温度并送显可实现温度的实时显示。3.4小结本章通过介绍数据采集的原理已经设计采集系统的电路图,通过温度传感器DS18B20采集温度发送到主控芯片lm3s315,然后在LM032L中显示出来。并且介绍了系统的软硬件实现。整个硬件设计都在proteus中完成,软件的编译调试通过第三方软件实现。4系统调试与仿真系统的调试以程序的调试为主,采用英国Lab2centerelectronics公司开发的EDA工具软件Proteus来实现仿真调试。该软件是模拟电路、数字电路、模数混合电路的设计与仿真平台,也是单片机及嵌入式系统先进的设计与仿真平台。它具有丰富的库资源,如有ARM7、805x、PIC、AVR、HC11等多种系列单片机;有8000多种元器件模型;有示波器、逻辑分析仪等10多种虚拟仪器;有各种信号源;有可作精密分析的直观的ASF高级图表仿真;还提供了编辑源程序、生成目标代码、联合实时调试和与第三方集成开发环境Keil联合仿真的环境。系统硬件调试比较简单,采用Proteus软件进行电气检查,在各个连接点正确,以及各个器件引脚极性无误的情况下,则会顺利通过电气检查。系统软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、各个子程序的编程及调试,最后将编译好的程序生成.hex文件后加载给lm3s315,点击运行按钮即可看到实时仿真结果。原理图在PROTEUS中仿真运行,DS18B20模型上的温度值即模拟当前环境温度,点击运行,稍后LCD上即显示出:“Temperature:025.0”,改变DS18B20模型温度值为55℃,稍后LCD上显示:“Temperature:055.0>H”,同时蜂鸣器响起报警,改变DS18B20模型温度值为-11℃,稍后LCD上显示:“Temperature:-11.0<L”,同时蜂鸣器响起报警。仿真结果可以看出测温精度达到了0.5℃,并能实时显示,仿真效果与程序中预期要实现的一致。结束语基于Proteus的Contex-M3的数据采集系统是一种比较智能、经济的方案,安装简单方便,系统稳定可靠,可维护性好,抗干扰性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度杭州市民住宅转租合同2篇
- 二零二五年度无人机农药喷洒与农业科技推广合同3篇
- 二零二五年度幼儿园幼儿教育咨询服务合同2篇
- 2025年度建筑行业劳动用工合同标准3篇
- 二零二五年度医院护理工护理工作流程优化合同3篇
- 2025年度卫浴安装与智能家居系统集成与运维服务合同3篇
- 2025年度猪肉品牌形象设计与品牌推广合同3篇
- 2025年度网络安全产品研发借款合同2篇
- 养殖场土地租赁合同(二零二五年度)农业观光旅游合作3篇
- 二零二五年度新能源汽车全款购车合同模板3篇
- 全膝关节置换术加速康复临床路径(2023年版)
- 机电安装工程质量控制
- 江苏省宿迁市2022-2023学年高一上学期期末数学试题(含答案详解)
- Unit 1 Art Using Language (教案)-高中英语人教版(2019)·选择性必修第三册
- 2023-2024学年鞍山市重点中学高一上数学期末质量检测试题含解析
- 基于PLC的自动打铃控制器
- 中式烹调技艺教案
- 招标代理及政府采购常识汇编
- 人工智能引论智慧树知到课后章节答案2023年下浙江大学
- 医保按病种分值付费(DIP)院内培训
- 国开2023秋《药剂学》形考任务1-3参考答案
评论
0/150
提交评论