首页 基于PROTEUS的ARM温度采集系统仿真设计

基于PROTEUS的ARM温度采集系统仿真设计

举报
开通vip

基于PROTEUS的ARM温度采集系统仿真设计 28 机械设计与制造 MachineryDesign&Manufacture 第2期 2010年2月 文章编号:1001—3997(2010)02—0028—03 基于PROTEUS的ARM温度采集系统仿真设计 胡凯伟孙毅毛亚郎樊狄锋 (浙江工业大学机械制造及自动化教育部重点实验室,杭州310032) ThePrOteUS—baSedsimulationdesignoftemperatureacquisitionARMsystem HUKai-wei,SUNYi,MAOYa-lang,FANDi-f...

基于PROTEUS的ARM温度采集系统仿真设计
28 机械设计与制造 MachineryDesign&Manufacture 第2期 2010年2月 文章编号:1001—3997(2010)02—0028—03 基于PROTEUS的ARM温度采集系统仿真设计 胡凯伟孙毅毛亚郎樊狄锋 (浙江工业大学机械制造及自动化教育部重点实验室,杭州310032) ThePrOteUS—baSedsimulationdesignoftemperatureacquisitionARMsystem HUKai-wei,SUNYi,MAOYa-lang,FANDi-feng (’11leMOEKeyLaboratoryofMechanicalmanufaetureandAutomation,ZhoiangUniversityofTechnology, Hangzhou310032,China) 【摘 要】给出了一种基于PROTEUS仿真实现的数字温度采集系统设计。系统以ARM7芯片 LPC2114、实时嵌入式操作系统uC/OS-II和数字温度传感器DSl8820为基础,进行温度采集,且用虚拟 示波器实现了延时函数的精确延时,解决了温度采集中关键的时序问题。通过PROTEUS对温度采集系 统的工作过程进行模拟,以检验和评估设计的可行性和稳定性,是一种有效可行的仿真方法。 关键词:Proteus;ARM;LPC2114;Uc/OS—II;DSl8820 【Abstract】hconstructsaproteus-baseddigitaltemperatureacquisitionsimulationsystem.Thes芦一 terngatherstemperaturebyaARM7chipfpc2114,areal-timeembeddedOSuC/OS-IIandadigitdtem- peraturesensorDSl8820.Theaccuratetime-delayfunctionWasrealizedbyavirtualoscillographandit solvedthekeytimesequenceproblem.Thetemperatureacquisitionsystem’sworkingprocessWassimulated byProteustoverifyandevaluatethedesign’sfeasibilityandstabilityandasaresuhit’5aeffectiveand feasiblesimulationmethod. Keywords:Proteus;ARM;LPC2114;UC,oS一Ⅱ;DSl8820 d》-o}·护,护廿《争q芦、驴舻-#--扩驴 中图分类号:THl2文献标识码:A 1引言 一个基本的温度采集系统包括温度的采集和显示[11,按照传 统的模式,先根据控制系统要求设计原理图、PCB电路图绘制、电 路板制作、元器件焊接等操作,然后再进行软件编程与烧录,软件 可以模拟调试,牵涉到硬件调试或整个系统的调试是在整个硬件系 统焊接完成后进行的,若设计过程中有纰漏需要修改硬件,就需重 新制板,成本和开发周期将相应增加。据此,Proteus软件可以完全 脱离硬件平台进行嵌入式系统虚拟开发,通过各虚拟仪器构建硬件 电路,调试ADS中生成的软件程序,达到虚拟硬件调试系统调试程 序的目的,为后续实际软硬件系统的设计提供实践理论依据。 英国Labcenterelectronics公司开发的EDA工具软件—Pm— teus软件,可以仿真、分析各种模拟器件和集成电路,支持Philips 公司系列的ARM(LPC系列),并能够进行SCH(原理图)和PCB (印刷板)电路的设计。虽然自身只带汇编编译器,不支持c语言, 但可通过与Keil、ADS集成开发环境连接,实现软、硬件结合的系 统仿真,获的较好的仿真效果。 2系统设计要求 系统主要由测温器件、ARM控制器、及显示单元三部分组 成,系统结构,如图1所示。 工作原理为:ARM微处理器向温度传感器发出信号,启动温 度传感器采集温度数据,温度传感器采集完数据后,将模拟数据 量转变成便于ARM微处理器读取的数字信号,然后由ARM微 处理器将数据处理显示到液晶显示设备上吼 广————————1广————————1广———————] J激DSl8糕B20H丞簖1片4H般露I 1........................一I......................._J 1......................_J 图l系统结构框图 系统技术指标要求:(1)采集温度,精度达到0.5。C;(2)实时 显示温度。 主机ARM选择PHIHPS公司的LPC2114,温度传感器选择 DALLAS半导体公司的DSl8820,LCD选择字符型液晶显示器 LM032L。具体系统硬件模块设计如下: 2.1ARM控制模块 系统选用的LPC2114是Philips公司的ARM7TDMI-S核 ARM微处理器,这是由于目前PROTEUS支持的ARM芯片仅有 LPC2***系列,且有较小的64引脚I_QFP封装,极低的功耗和极小 的体积等优点。具有16kb静态RAM、128kb片内Flash、4路10位 ADC、多个内部中断、2个32位定时器、6路输出的PWM单元等片 上资源,比较适合于工业控制。它是整个系统的杨0部件,控制各个 功能模块正常的工作,在系统初始化完毕之后,LPC2114发出控制 信号,DSl8820接收到此信号后便启动采集温度数据并对所采集 的数据进行处理(数字化),LPC2114再将此数据送LCD显示。 2.2测温模块 。 系统选用美国DALLAS公司生产的单总线数字温度传感器 DSl8820,具有体积小、结构简单、实用电压宽、可组网、成本低 廉、便于总线扩展和维护等诸多特点。特别是具有较宽的电压适 ★来稿刚胡:2009—04—20★基金项目:浙江省自然科学摹金(Y1080963),浙江省科技 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 项目(2008C31023), 浙江省先进制造技术与装备重中之重开放课题资助 万方数据 第2期 胡凯伟等:基于PROTEUS的ARM温度采集系统仿真设计 29 用范围(3巧.5)V,并能够通过编程实现温度信号的9~12位的数 字转换,分辨率最高可以达到0.0625。C。其测量温度范围为(一 55叶125)℃,其中:在(一lO叶85)℃范围内,精度达到±0.5℃,有3 脚和8脚两种封装形式,PROTEUS库中提供了3脚的封装,其引 脚功能分别为GND,电源Vec,信号DQ。 DSl8820作为1-wire单总线数字温度传感器,采用一根信 号线实现信号的双向传输,接口简单、便于扩展和维护【3】。 LPC2114对DSl8820控制时,只需使用一个普通的I/O端u就可 以对其驱动,这里选用P0.25口对其驱动,考虑到DSl8820是单 总线传输数据,数据读写均在一条线上进行的,测温系统要严格 按照该器件单总线 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 的时序进行工作,需有严格的通信协 议来保证各位数据传输的正确性和完整性。因此通信协议规定了 复位脉冲、应答脉冲、写0、写l、读0和读1等几种信号的时序。 除了应答脉冲,所有这些信号都由主机发出同步信号。总线上还 接有—个4.7K的上拉电阻以在温度转换中提供足够的功率Pqo 2.3显示模块 这里采用HITACHI公司的LM032L液晶显示屏以满足温度 显示的要求。当LPC2114驱动LCD时,因ARM本身电流微小以 及传输过程的损耗,在实际应用驱动LCD时,常采用信号增益模 块加以驱动。PROTEUS仿真过程中不考虑信号损耗,系统外部晶 振电路,复位电路等因素,故予以省略,设计了一蜂鸣报警应用于 温度超常时报警。根据所选器件在PROTEUS中设计的原理图, 如图2所示。 3系统软件设计 . 软件编程是在ADS环境下开发,主要包括嵌入式多任务实 时操作系统uC/OS—II移植,DSl8820温度采集、LM032L温度显 示及蜂鸣报警等内容。 3.1uc/OS一¨的移植 uC/OS--II是—个完整的、可移植、固化、裁剪的占先式实时多 任务内核,因其结构小巧,性能优良,源代码公开,安全性高而被广 泛应用目。uC/OS-II的源代码大部分是使用移植性很强的的ANSIC 编写的,与微处理器硬件相关的部分使用汇编语言编写。移植时, 与处理器无关的核心代码保持不变,主要需对与处理器相关的汇 编语言进行代码重写,将uC/OS—lI移植到LPC2114主要有3个 文件的变化:OS_CPU.H,OS_CPU_A.ASM和OS_CPU—C.C。 OSCPU.H文件中定义了与处理器相关的数据类型和宏,宏 主要是进入临界区的OS_ENTER_CRITICAI.和退出临界区的 OS_EXITCRITICAL,还定义了堆栈的增长方向,即#define OS__STK—GROWTH1,因为所使用的编译器ADSI.2只支持堆栈 从上往下增长。 OS_CPU_AASM文件中,需要编写四个简单的汇编语言函数: (1)OSStartHighRdy()OSStart()通过调用OSStartHighRdy() 运行多任务启动前优先级最高的任务。 (2)OSCtxSw()在CPU运行时实现任务级任务切换。 (3)OSIntCtxSw()在中断服务程序中切换任务时会调用OS— IntCtxSw() (4)OSTicklSR()为系统时钟节拍中断函数,主要作用是检 查是否有被挂起的任务成为就绪任务。如果有,就调用OSIntC- txSw()进行任务切换,并运行高优先级的任务。 OSCPU_C.C文件中主要编写了10个C语寿函数,其中9 个Hook函数可以为空函数,任务栈结构初始化函数OSTaskStklnit ()必须根据移植时统一定义的任务堆栈结构进行初始化。测温系 统原理仿真图,如图2所示。 图2测温系统原理仿真图 3.2DSl8820测温 访问DSl8820必须严格遵守命令序列:初始化(复位),ROM 命令,功能命令。也就是说在每个ROM命令和功能命令之前都 必须发送初始化时序。LPC2114的P0.25脚连接DSl8820的DQ 脚,用与他们之间的数据通信。这里需要特别注意的是,DSl8820 是单总线协议,对时序的要求特别严格,因此软件程序中用到的 延时均要准确。精确的延时可以用LPC2114自带的定时器实现, 但考虑到LPC2114仪有2个定时器,这里使用另一种更直接的 方法:示波器测延时。 整个系统都是在PROTEUS中仿真,因此这里使用PRO— TEUS中的虚拟示波器测延时函数。在ADSl.2中编写好一延时 程序,设置LPC2114与示波器相连的脚输出一高电平,来一段延 时,再输出—低电平,再来一同样长的延时,循环。将上面的程序 编译,链接生产“.HEX”文件,在PROTEUS下只要设计一个 LPC2114与示波器相连,将LPC2114的运行文件的路径设置为 刚才生产的".HEX”文件。这里LPC2114的时钟频率设置为12M, 与图2测温中的LPC2114的时钟频率应一样。运行时,在示波器 中将看到一方波,从中就叮读出延时的时间。一周期为4us的方 波图,用上面的方法测试得到程序中需要的延时时间lus,2us, 60U8480us,750ms等对应延时函数中的参数,一周期为4us的方 波图,即延时函数为2us,如图3所示。特别要注意的足延时中的 万方数据 机械设计与制造 No.2 Feb.2010 参数与延时时间不成线性比例关系,延时时间需要一一测试。 DSl8820初始化时序波形图,如图4所示。 图32us延时函数方波图 图4DS18820仞始化时序波形图 DSl8820对温度的测量主要包括三个子程序:初始化子程 序init_dsl8b20()、“写”操作子程序write--dsl8b20()、“读”操作子 程序read_dsl8b20()。DS18820的测温程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图,如图5所示。 DSl8820初始化程序中主机拉底总线(480—960)us,启动复 位。接着差饥拉高总线以释放总线,准备接收DS18820的应答脉 冲,应答脉冲为(60—240)us的低电平。后续的“写”操作子程序 write-dsl8b20()和“读”操作子程序readdsl8b20()都要调用初 始化子程序init_dsl8b20(),DSl8820的初始化成功与否关系到 整个温度采集的成败。为此可以在DQ总线上接一示波器,单步 运行时示波器中初始化波形,如图4所示。程序开始时单步运行, 可以观察DSl8820的初始化波形,从波形中可以看出和程序中 的时序一致。 初始化DSl8820l《夕‘ 上Y I 启动温度转换(写44H) ‘ l 调用延时函数(750ms) 0 初始化DSl8820夸 l跳过旺配ROM(写CCH) ‘ I 读取温度命令(写BEll) 图5测温程序流程图 DSl8820的“写”、“读”操作可分别分为写I和写0,读l和 读O。不管是写数据还是读数据,都是以主机LPC2114将总线从 高电平拉至低电平开始,每个写或读时隙总线上只能传输一位数 据,所以数据的读写都是以字节的低位到高位一位一位传送。所 有读时隙和写时隙的最短持续时间都为60UB。 3.3LM032L显示 LM032L显示部分包括LCD初始化,写指令,写数据,显示文 本等。其中,显示文本部分先要设置好显示地址,再显示从 DSl8820读出来的温度数据。这里设置当温度在正常范围内时, 正常显示,但温度超出警戒温度,显示的温度值后面显示“>H.', 小于最低温度时,会显示“H”,同时蜂鸣器响起报警,改变DSl8820 模型温度值为-1l。C,稍后LCD上显示:‘'Temperature:一1I.0
本文档为【基于PROTEUS的ARM温度采集系统仿真设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_699471
暂无简介~
格式:pdf
大小:374KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2012-03-26
浏览量:67