我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 760|回复: 0

P89LPC9251片上温度传感器的使用方法 - 单片机/处理器 - 电子

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:27:45 | 显示全部楼层 |阅读模式
<strong>1概述</strong>

随着微处理器的发展,越来越多的单片机向着小型、低成本、低功耗、高集成度的方向发展。NXP(原Philips半导体)公司推出了集成温度传感器的芯片P89LPC92X1系列微型处理器,进一步为系统设计带来方便。

P89LPC9251(简称LPC9251)是P89LPC92X1系列的一种。它是一款高性能数字微控制器,包括一个内部温度传感器。该传感器可用来校正与温度相关的信号,或作为一个独立的温度计。在嵌入式系统设计中,使用LPC9251不仅可以省去如DS18B20、TMP04等常用的温度传感器件,同时可以节省系统设计的I/O口资源,以及减小布板PCB的尺寸空间,进一步降低了系统设计的成本。

LPC9251有2个模数转换模块:ADC0和ADC1。ADC1是一个8位、4通道复用逐次逼近A/D转换器。ADC0是专门用于片上宽温度范围的温度传感器,其温度测量的范围是-40℃~+85℃,在该工作温度范围内输出分辨率近似为+11 mV/℃。其性能远远高于一般的温度传感器,如TMP04的测量范围,适宜于中低温的测量,因此LPC9251温度传感器可以在低温环境的系统中可靠工作。

<strong>2温度传感器</strong>

2.1ADC功能模块

片上温度传感器集成在ADC0功能模块中,通过Anin03通道测量温度传感器Vsen,其他3个通道Anin00、Anin01和Anin02暂未使用。温度传感器和内部参考电压Vref(bg)(1.23 V±0.123 V)引脚一起复用在相同的输入通道Anin03。通过配置CONTROL LOGIC(控制逻辑单元)中TPSCON寄存器的TSEL1和TSEL0位来选择温度传感器还是内部参考电压。

2.2温度传感器使用步骤

为了准确地测量温度值,必须首先测量内部参考电压Vref(bg)的电源电压。温度传感器的电压计算公式如下:


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (759 Bytes)




</ignore_js_op>


在式(1)中,Aref(bg)是Vref的A/D转换的结果,Asen是Vsen的A/D转换的结果。该温度传感器的计算公式如下:


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (1.09 KB)




</ignore_js_op>


温度传感器的使用步骤如下:

  ①配置TSEL1和TSEL0为“01”,选择内部参考电压;
  ②使用ADC获得Aref转换结果;
  ③配置TSEL1和TSEL0为“10”,选择温度传感器;
  ④等待至少200 μs,使传感器稳定,然后使用ADC测量Asen;
  ⑤通过公式(1)计算Vsen;

⑥通过公式(2)计算温度的数值。

2.3代码例程

本代码将读出温度传感器的数值,并将温度的计算结果发送给UART0。

ADC0的配置方法如下:


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (3.22 KB)




</ignore_js_op>


根据前述温度传感器的测量步骤,应当首先测量内部参考电压Vref(bg)。内部参考电压测量程序如下:


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (2.5 KB)




</ignore_js_op>


每次配置TSEL1和TSEL0为“10”,用来选择温度传感器。在获取ADC转换结果前必须固定地延时200 μs,用来获取稳定的ADC转换结果。温度传感器的计量程序如下:


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (7.2 KB)




</ignore_js_op>


(编者注:LPC9251温度传感器完整的DEMO代码见本刊网站www.mesnet.com.cn。)

2.3.1硬件环境配置

硬件电路原理如图1所示。LPC9251的供电电压采用3.3 V供电,可以通过MAX3232输出给串行口或者74LVC244输出点亮8个LED来实时观测温度传感器的数值。PC软件终端使用的是Tera Term,用于接收LPC9251串行口发出的温度数据。该设置如图2所示。


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (24.39 KB)




</ignore_js_op>



<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (9.26 KB)




</ignore_js_op>


2.3.2使用LPC9251输出固定格式的温度数值

程序中以固定的间隔测量温度传感器的温度数值,并将计量的温度结果发送给UART0,然后在PC机上显示测量结果,如图3所示。


<ignore_js_op>





2010-3-18 09:45:55 上传
<strong>下载附件</strong> (9.4 KB)




</ignore_js_op>


<strong>3结论</strong>

实际测量1000个温度数值,在工作温度范围内100个离散温度点读数的最大标准偏差仅为2.5个ADC最小分辨率或0.25%误差,说明 LPC9251的片上温度传感器具有极佳的重复性。由此看来,LPC9251的重复性比市场上大多数性能出色的温度传感器还好。使用LPC9251用于片上温度监控,具有体积小、功耗低、精度高、易于实现等优点,可以比较容易地实现系统温度监测功能,有一定的推广价值。

作者:陈敏 邓颖
来源:《单片机与嵌入式系统应用》2010年01期
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表