基于ARM的嵌入式温度控制系统设计.docx
《基于ARM的嵌入式温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于ARM的嵌入式温度控制系统设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于ARM的嵌入式温度控制系统设计
毕业设计说明书(论文)
作者:
学号:
系部:
专业:
题目:
基于ARM的嵌入式温度控制系统的设计
指导者:
评阅者:
摘要
温度的测量和控制在工业生产中有广泛的应用,尤其在石油、化工、电力、冶金等工业领域中,对温度的测量和监控是非常重要的一个环节,温度参数是工业控制中的一项重要的指标。
本文主要研究了基于ARM7架构的嵌入式系统对于温度控制的应用,它基于ARM7内核的LPC2124,以DS1820采集温度信号,通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;此温度控制系统应用于热电仪,实际应用表明,系统稳定、可靠,满足了热电仪的温度控制要求。
关键词:
ARM;Proteus;嵌入式系统;温度控制系统
Abstract
Measurementandcontroloftemperatureiswidelyusedinindustrialproduction,especiallyinthepetroleum,chemical,electricpower,metallurgyandotherindustrialfields,measurementandmonitoringofthetemperatureisaveryimportantlink,thetemperatureparameterisanimportantindexinindustrialcontrol.
ThispapermainlystudiestheARM7basedembeddedsystemfortheapplicationoftemperaturecontrolbasedonARM7,whichbasedontheLPC2124kernel,theDS1820collectingtemperaturesignal,toobtaintheactualtemperaturevaluethroughtheRWBtemperaturetransmitterandA/Dconversion,atthesametimethroughtheLCDrealtimedisplay;Thispaperintroducestheprinciple,thesystemimplementationprocess,givessomeapplicationcircuits.Thistemperaturecontrolsystemusedinthepowersystem,thepracticalapplicationshowsthatthesystemisstableandreliable,meet,thethermoelectricinstrumenttemperaturecontrolrequirements.
Keywords:
ARM;Proteus;Embeddedsystem;Temperaturecontrolsystem
第一章绪论
1.1引言
嵌入式系统这几年被广泛应用于各种工业领域、无线通信领域、智能仪表,消费电子等各个领域,离不开微电子技术的迅猛发展,它主要用于各种嵌入式应用,以将计算机硬件和软件相结合的手段,完成指定的任务和功能。
嵌入式系统在系统可分为分为系统级,电路板级,设备级。
系统级指的是各种工业控计算机,板级是指CPU的主板和OEM(原始设备制造商)的产品,最常见的设备是一个单片微机,其后嵌入式应用越来越广泛,很多半导体厂商致力于研发嵌入式微处理器,并有出现许多支撑嵌入式应用的嵌入式操作系统。
一般由于某一领域有着特殊要求,嵌入式系统必须做出相应的调整,不仅要求产品体积够小,能够实时掌握现场情况,系统在任何工作环境中都能出色的完成任务,又要求产品具有令人满意成本和效益。
因此,嵌入式系统的发展,如何选择特定的应用的嵌入式处理器,并且嵌入式操作系统该如何匹配是十分重要的。
温度控制系统的最大特点是过程控制,跟其它控制系统的不同是温度控制系统有其独特的特性。
比如,该系统是由机械和机电为对象,以微分方程求解线性定长参数的动态问题,这种情况是但是用一样的手段来解决温度过程中的问题不会得到较好的结果,这是由于场下是不容易产生较大的误差。
热能的传送形式,所以它具备直观的非线性、时变性、分布性以及时间滞后的特性。
如果你使用分析的方法来建模,其结果通常是非常复杂的,或在对模型进行简化中,失去一些些最重要的因素,使得模型跟对象很难一致。
对此,对温度系统的建模,通常使用的是实证模型,或理论分析与实证研究。
本文对温度控制系统进行了研究,并阐述了优化的PID控制算法,利用微处理器LPC2124,具有ARM7内核,通过传感器DS1820温度信号的采集,在自整定实现实时控制系统最有效的参数,准确地控制所需的温度。
系统由电加热器、控制器和温度传感器及变换器三部分组成,形成闭环控制回路。
在自整定实现实时控制系统最有效的参数,准确地控制所需的温度。
1.2选题背景与意义
近年来,在生产、生活中的各种应用的出现,增加了微电子技术和嵌入式技术的需要,同时也促进了自动控制理论,不断发展,尤其是工业控制对象特定的工业控制器,测量和控制系统的设计进入了一个新的领域。
对温度的测量和控制具有重要的意义,尤其是在工业生产中,在石油,化工,冶金,电力行业这样的一个重要的工业领域。
热处理炉,熔融金属的坩埚炉,以及各种反应器工业中非常普遍,许多行业需要大量的加热装置,因此,温度在有关温度的控制中就成为了非常敏感的参数。
由于类型,目的,方式的不同,不同的加热方法也是不一样的,比如用石油提炼气体、汽油,发电厂发电的方式等等,但它用来控制的系统是不断变化的,基本上属于非实时性的。
因为温度在各种熔炼生产中非常常见,它也属于最重要的的控制因素之一,所以对关于温度的测量和控制的技术和开发具备巨大的实际利用价值和应用前景。
尤其是在许多工业场合中,产品的质量、设备运行的安全性和经济性直接受温度的影响,例如对电厂锅炉的蒸汽温度进行控制,整个过程都需要严格的控制和测量。
通常过热器使用在大于10℃低于20℃下的环境中,它的使用年限会大大减少,严重影设备安全使用,对生产和人员造成非常大的潜在危害。
太低的过热蒸汽温度,会降低设备的运转效率。
倘若汽轮机最后几级蒸汽湿度增加,就会造成汽轮机叶片磨损,一般情况下汽温每降低10℃,循环热效率就会降低约0.5%。
1.3研究现状
借助于越来越先进的互联网技术,通过多年的发展,嵌入式系统又迎来了第二次革新时代,最初的只有低端应用,现在是各种高端和低端应用同时流行,而且对要求及较低的嵌入式系统也不停的发展,这几年32位MCU的出现也是新兴的产品。
目前电流控制方案是基于传统的PLC和单片机控制,可满足大多数用户的需要。
PLC在大多数情况下用于简单工程跟很少重复的工程,其缺点是不够灵活,而且占用空间,代价较高,若想增加功能需要较多的额外组件;而单片机主要出现在小型设备的控制中,特别是用于控制专业电子设备,其优点是花费少,耗能低,运行速度快,其缺点是诸如程序只能在最初使用时装入,未来不能由用户修改,外围设备的控制的能力和抗干扰能力都比较低。
为了适应信息产业的发展,现代化的发展,新的技术创新和产业化,本文采用32位ARM7嵌入式LPC2124ATMEL微控制器实现温度控制,它具有良好的可扩展性,可靠性高,精度高,测量和多任务实时调度控制,响应速度快,体积小等优良特性,在实际应用中已成为用户的首选。
1.4论文主要研究内容
该本论文涉及的理论基础,嵌入式ARM的温度控制系统的硬件接口功能,C语言函数,按照顺序,主要包括了以下几个方面:
一方面我们在ARM7,理论基础,系统的组成,分类、应用领域和研究现状进行了综述,分析了研究的难点,并探讨学习遇到的困难。
接着,我们对本设计中用到的ARM7的各个接口功能作了介绍,对于多余的接口可以适当的增加系统功能,使设计更加完善。
另一方面,本设计完全在proteus软件中进行仿真,对Proteus也进行了详尽的介绍。
程序的编辑、编译用到了ADS1.2,对ADS1.2的种类和软件组成作了简单的介绍。
最后,就全文的成果加以总结,讨论了添加液晶显示屏以使系统具有良好的人机交互界面的必要及对进一步研究的展望。
1.5主要章节安排
首先介绍了课题研究的背景和对实际生产生活的意义。
第一章总体的介绍设计的内容。
第二章主要介绍了ARM的结构,描述了Proteus软件应用,介绍了ADS1.2。
第三章专门分析了硬件设计所需要注意的问题,选择什么处理器和温度传感器。
第四章主要阐述软件的设计,每个功能的实现都对应一段程序代码。
第五章给出了综合测试的结果,对发现的问题进行讨论并提出解决办法。
最后给出结论,并对课题未来的发展做出合理的展望。
第二章开发工具的介绍
2.1Proteus的功能
Proteus用用软件是英国的一个实验室中心研发的EDA软件工具(广州风标电子技术有限公司代理该软件在中国的使用权)。
它应用丰富,不但拥有别的同样软件的功能,还能够对单片机进行仿真,模拟外接模块。
在单片机的教学试验中已经成为首选。
软件如图2.1所示
图2.1Proteus软件图
2.1.1Proteus的功能简述
Proteus软件具备常用的EDA(如:
MULTISIM)的功能。
这些功能是:
1.原理布图
2.PCB自动或人工布线
3.SPICE电路仿真
革命性的特点
1.互动的电路仿真
比如随机存储寄存器,只读存储器,键盘,引擎,LED,LCD,模数转换,数模转化,一些SPI元件,个别IIC元件的模块,用户也可以实时采用。
2.仿真处理器及其外围电路
仿真主流芯片,如51系列,AVR单片机,PI,ARM芯片等。
[1]也可以直接在基于虚拟样机原理图设计,再加上显示输出,看到运行后输入输出的影响。
2.1.2资源丰富
1.Proteus仿真组件可以提供资源:
数字和模拟仿真、AC和DC,成千上万的成分,有30多个元件库。
2.Proteus仿真组件包含许多显示模块:
示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。
理论上相同的仪器可以在一个电路中任意调用。
3.除了在生产生活已经应用的一起,Proteus格外增加了一个显示图像的功能,能够对线路上信号的改变给予实时的显示,示波器也具有此功能,但Proteus功能更多。
[1]这些仿真的模块能设置合格的参数指标,如输入阻抗和输出阻抗都非常低。
这些都尽量减少了仪器质量对测量结果的影响。
4.Proteus具有更加全面的测试信号,用于测试电路。
测试信号包含模拟和数字信号。
2.1.3电路仿真
用PROTEUS搭建模型,完成后导入用ADS1.2编辑编译成功的目标程序:
*.HEX,就能够在PROTEUS中看到与实物完全相同的运行效果。
PROTEUS是一种先进的单片机课堂教学助理。
PROTEUS能够模拟单片机的功能,而且更具有形象化,还能模拟单片机做的实例。
前者可在相当程度上物理演示实验的效果,后者的效果是很难通过实物演示实验达到的。
它的优点之一是与组件、线路等跟原始的单片机实验硬件兼容。
课程设计、毕业设计的完成是学生将理论转化为实践的重要环节,也是成功就业的前提。
因为各种种类繁多的组件一般实验室不可能完全拥有的,但PROTEUS拥有所有的元器件模块,还能更具目的方便的修改电路设计,随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它能够灵活的设计模块,而在设计过程中能随时查看结果。
能够把设计时间大大缩短,成本最大化的减少,也降低了工程制造的风险。
我相信,PROTEUS在单片机开发应用中也会被越来越多的应用。
目前最新版本的Proteus8.0增加了ARMcortex处理器,而在7.10版本中只增加了DSP系列(TMS320)。
2.2ADS1.2
2.2.1ADS种类
ADS包括三种调试器:
1.AXD(扩展调试器):
ARM调试器
2.armsd(ARM符号调试器):
ARM符号调试器。
3.ARM调试工具中与常用操作系统如Windows或Unix版本兼容的,ADW/ADU(ApplicationDebuggerWindows/Unix)
2.2.2软件组成
1.编译器:
ADS具备各种编译器,用来处理ARM和Thumb的指令。
Armcc属于ARMC编译器
Tcc属于ThumbC编译器
Armcpp属于ARMC++编译器
Tcpp属于Thumb和C++共有的编译器
Armasm属于ARM和Thumb共有的汇编器
2.链接器:
armlink是ARM的链接器。
该命令能够对任意数量的目标文件进行编译和任意数量数据库文件的链接关系,然后得到可执行的文件,还能是众多目标文件指向的目标文件的局部。
[3]
3.符号调试器:
armsd是ARM跟Thumb共有的符号调试器。
4.fromELF:
当需要将输出文件转换为特定格式的时,把原始格式的文件转换成相应的格式,支持的文件包含Motorola32位S格式映像文件、bin格式的映像文件、Verilog十六进制文件和Intel32位格式映像文件。
5.armar:
armar函数生成器只存在ARM库中,它是一个收集一系列的ELF格式的目标文件的库函数形式。
用户能后使用以库传递方式的链接器替代多个ELF文件。
6.CodeWarrior:
CodeWarrior集成开发环境(IDE)用一个简单的图形用户界面为多元化经营和发展项目提供了巨大方便,用户开发程序代码时。
7.调试器:
ADS中含有3个调试器:
包含AXD,ARM独有的扩展调试器;第二个是armsd,它是ARM符号调试器;第三个与旧版本的操作系统下的ARM调试工具兼容。
8.C和C++库:
ADS包含有关ANSIC库函数跟C++库函数,能够编译C和C++代码。
用户可以添加C库的应用程序中的一部分,与目标相关的功能都能通过代码实现。
第三章软硬件介绍
3.1ARM
3.1.1ARM简介
ARM是一个知识产权(IP)的供应商,其最显著的特点是不同于其他芯片的制造和销售公司,它仅仅转让设计方案。
ARM公司利用这种双赢的伙伴关系迅速成为了全球性RIRC微处理器标准的缔造者。
这种方法也给使用者带来了极大的利益,原因是使用者只要熟悉了一种ARM内核的节后及其开发工具的原理,就可以使用相同的不同公司研发的ARM核芯片。
当前,世界上100多家公司与ARM公司达成了商用技术使用许可协议,其中有因特尔、IBM、LG、NEC、SONY、NXP、和NS此业内大企业。
至于开发软件系统的合伙人,包括了Microsoft、升阳和MRI等一系列知名的公司。
ARM架构的处理器是ARM公司同类产品的成本最低的,而且已经成功商用。
它具有性价比高、罕见的高代码密度,和良好的实时中断响应,以及低功耗,并且芯片面积尽可能小,使它成为首选的嵌入式系统。
[4]ARM架构被越来越多的使用,比如移动电话、个人数字终端、MP3、MP4与形态各异的娱乐电子产品。
2004年12亿片ARM处理器被ARM公司的合作伙伴生产出来,应用到各种生活生产中。
3.1.2ARM7
ARM公司在1995年设计研发了首个ARM7TDMI处理器内核,现在是世界上使用最为广泛的一款内核。
ARM7系列种类繁多,主要包括ARM7TDMI型号、ARM7TDMI-S型号、拥有高速缓存处理器宏单元的ARM720T以及扩充了JAZELLE的ARM7EJ-S。
由于该类型的处理器集成了Thumb16位简易指令集跟基于EmbeddedICEJTAG的软件调试方式,在许多大应用的SoC设计中能显示出其优越的特性。
同时对ARM720T高速缓存处理宏单元进行了强化,不仅增加了8KB的缓存、读缓冲,还设置了具有高性能的内存管理处理器,还支持Linux和WindowsCE等操作系统。
3.2LPC2124处理器
3.2.1LPC2124简介
LPC2124微控制器是建立在能够实时仿真与跟踪的16/32位ARM7TDMI-SCPU上的,其高速片内Flash存储器包含0KB、128KB和256KB三种大小,加速结构的存储器接口芯片拥有128位宽度,独特的32位程序可以运行在最大时钟速率下。
16位Thumb模式能够降低程序大小至30%,多用于对程序大小有严格要求的应用,其代价只是损失非常小的性能。
LPC2124拥有64和144脚封装两种型号,因此它在同类芯片中耗能最低,还配备了4路10位ADC(64脚和144脚封装),32位定时器跟9个外部中断,因此在工业应用、医疗设备、访问控制和个人使用终端机中具有广泛的应用。
[5]
3.2.2特性
1、32位64/144脚ARM7TDMI-S微控制器。
2、16KB静态RAM。
3、片上Flash程序存储器分为0KB、128KB、256KB三种大小。
128位宽度接口/加速器的操作频率高达60MHz。
4、外部8、16或32位总线。
(144脚封装)
5、通过外部存储器接口可以分配的内存为4组,每组的容量最高位16MB。
6、在系统编程(ISP)和在应用中编程(IAP)能够用片内Boot转载程序实现。
1ms的Flash编程时间可编程512字节,而400ms之内就能实现扇区擦除或整片擦除。
7、当需要将Boot装载的应用程序装入设备的RAM中时,可以用UART0进行装载,同时能够使其之在RAM中运行。
8、嵌入式跟踪宏单元(ETM)的功能是对能够无干扰的高速实时跟踪进行中的执行代码。
9、4路的64脚封装与8路的144脚封装,其10位A/D转换器的转换时间可低以减少到2.44ms。
10、2个32位定时器,分为带4路捕获和4路比较通道、PWM单元(6路输出)、实时时钟及看门狗。
3.2.3结构
在图3.1中所示的LPC2124图中,它由ARM7TDMI-S为CPU仿真功能,ARM的本地总线和内存控制器接口,用于与片内存储器控制器接口的ARM7局部总线。
AHB外设设立了了2MB的地址空间,分布在4GBARM内存地址的最顶端。
16KB的空间大小是每个AHB外设都具有的。
LPC2124外围功能(除了中断控制器)全部与VPB总线相连。
VPB总线与AHB总线的连接需要用AHB与VPB的桥连接起来。
VPB外设也拥有2MB的空间大小,它的空间从3.5GB地址点开始分配。
[6]
引脚连接模块用于控制连接片内外设与器件引脚,软件能够经由控制引脚连接的模块使得引脚连接特定的片内外围设备。
图3.1LPC2124方框图
3.2.4引脚描述
LPC2124的引脚分布如图3.2所示。
图3.2LPC212464脚封装
3.3硬件系统的整体结构
3.3.1硬件系统的设计原
硬件系统设计中必须遵循以下原则:
(1)稳定性和可靠性:
大多数工业实施环境都非常具有挑战性,由于模拟量参数处理的好坏对系统的技术指标有直接的影响,它必须是每个环境给予充分的考虑,采取有效的抗干扰措施,使用正确的组件的类型和参数,以避免串扰和误差积累。
每个部分的设计都要最大化的使硬件电路简单,选择较高集成度的组件,让系统具备良好的抗干扰性能和优越的稳定性和可靠性。
(2)速度与精度:
在误差允许极限值内,根据相应的规则所需的各个部分的最大误差,在系统设计过程中,根据使用的位数更高的转换芯片来提高转换精度,选定最终的电路结构。
(3)功耗以及数据存储:
LPC2124最显著的特征之一是本身拥有非常低的能耗,VDDCORE工作电流为仅30.4mA,待机模式下工作电流仅为3.1mA,它的低速的时钟操作模式和软件功耗优化能力两大优点,使它十分适应对能耗敏感的场合。
采用低功耗器件和贴片封装元器件,可有效降低功耗,减小PCB面积,提高电路本身的抗干扰性能。
考虑到数据的存储大小和安全保障,系统采用的是用32M的NandFlash作为数据跟程序存储区,以确保高容量的数据存储。
[7]
3.3.2系统硬件的整体结构
系统的整体结构如图3.3所示
图3.3系统硬件的整体结构
系统主要分为以下模块:
(1)CPU核心模块:
通常由CPU和外围设备构成,是主要的控制电路系统。
CPU采用的是ATMEL公司研发设计的ARM7,能够对数据进行处理、存储、通讯等一系列的操作。
(2)模拟电路:
主要包含信号处理电路跟信号输出电路两个模块。
信号处理电路主要完成模拟量输入信号的放大和滤波,从而获得在模数转换电路输入范围之内的数值。
信号输出电路通过把经过算法修改后的数字量变为对应的模拟信号进行导出,完成对被控目标的控制。
(3)存储模块:
一班由NorFlash、SDRAM、NandFlash三部分构成。
其中,NorFlash用于启动程序和系统内核的存储系统;SDRAM作为操作系统跟应用程序的工作空间;NANDFlash用来保存采集的数据跟应用程序。
3.3.3基本硬件组成
1、时钟电路
如图3.4所示,LPC2124芯片的振荡器的主要器件是一个反相放大器,从XTAL1端输入,从XTAL2端输出,电路时钟能够由内部设备或者外接设备产生,从XTAL1和XTAL2引脚上连接某个定时器件,其内置的振荡电路就能产生相应的自激振荡。
该系统的并联谐振电路采用石英晶体和电容器。
电路的晶振频率选择的是11.0592MHZ,电容器C1、C2的电容均取值30pF,电容的大小可频率进行微调。
图3.4时钟电路
2、键盘输入电路
如图3.5所示,在本系统中,采用独立式键盘。
此键盘用来设定控制系统所需值,这样可以跟系统的实验值进行比较,计算误差和系统误差。
第一个按键的功能是加1,第二个按键的功能是减1。
图3.5键盘输入电路
3、显示电路
显示电路采用的是LCD功能组件(LM016L),用来显示温度测量值跟设定值。
显示电路如图3.6所示。
图3.6显示电路
4、温度控制电路
本系统中控制核心电路(控制加热丝加热电路)采用由过零检测晶闸管触发器件MOC3061组成的触发电路,次器件专门用于设计双向晶闸管触发器。
LED工作时发射红外线,如果同时过零电路检测到输出端的工作电压大于零,光控双向晶闸管触发导通,否则管断。
图3.7所示为MOC3061组成的触发电路。
[8]
图3.7MOC3061组成的触发电路
5、传感器模
本设计采用的是DS1820传感器,如图3.8所示。
刚研发的“一线器件”的特征是更加小巧,能在各种电压下工作,成本更低。
DS1820由DALLAS半导体公司研发,是数字化的温度传感器,这是全球首个能够“一线总线”的温度传感器。
“一线总线”具有特别而且便宜的特点,使得用户能够方便快捷地搭建一个传感器网络,从而诞生了一个新的概念——测量系统的构建。
经过“一线总线”的最开始的发展后,用于温度传感的技术因DS1820有了卓越的发展。
图3.8DS1820结构框图
DS1820尽管能够方便测,测量的温度也很精确,连接到其他器件上也很方便,需要的连接口线少,但仍然存在以下需要注意的问题:
(1)硬件较小的开销决定了软件必不可少的复杂,因为DS1820与CPU传递信息使用的是串行方式,所以,读去与写入DS1820的代码时尤其要确保读写时序的正确,否则将无法读取测温结果。
在设