• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 基于嵌入式技术的温度测量系统设计

基于嵌入式技术的温度测量系统设计

录入:edatop.com    点击:

利用MSComm控件实现计算机通信的关键是正确设置MSComm控件的属性和方法。以下是用VB编写的部分设置程序:

Private Sub Form_Load()

Me.Show

MSComm1.CommPort = 1            //选择串口com1

MSComm1.Settings = "9600,n,8,1"     //设置MSComm的连接属性

MSComm1.RThreshold = 2           //定义阀值为2

MSComm1.InBufferSize = 2

i = 0

Picture1.Visible = False

On Error Resume Next

End Sub

连接属性"BBBB,P,D,S"中,BBBB 为波特率,P为奇偶校验,D为数据位数,S为停止位数。阀值定为2,则在接收缓冲区中的字节数超过"2"时,就转入OnComm()事件处理程序执行。

3. 嵌入式系统软件

采用了嵌入式操作系统uC/OS-II,它是专门为计算机的嵌入式应用而设计的。 uC/OS-II是基于优先级的占先式多任务实时内核。由于在多任务实时操作系统中,应用程序是以任务形式运行的,操作系统的一个重要的作用就是任务的调度,所以要在操作系统下实现应用程序的执行,就必须建立任务,在任务中实现测温和串行通信等操作。建立任务如下:

#include "config.h"

#define  TASK_STK_SIZE   64            //定义任务栈的大小为64字节

OS_STK  TaskStartStk[TASK_STK_SIZE];   //定义任务栈

void  TaskStart(void *data);                //声明任务

int main (void)

{

OSInit();                               //操作系统初始化

OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0); // 建任务

OSStart();                             //启动操作系统

return 0;

}

在TaskStart任务循环开始前,先进行初始化工作,如调用中间件函数URAT0Init(9600)初始化串口、设置P0.8为GPIO等。然后,在任务循环中调用温度测量函数Measure_Temperature()和串口发送函数URAT0Putch(uint16 data),实现温度的测量并将温度值传送到上位机。嵌入式系统程序总流程见图4。

基于嵌入式操作系统的应用中,还有一项重要的工作就是操作系统的移植和裁剪。

所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。 uC/OS-II的移植工作主要包括:OS_CPU.H 文件中与微处理器类型及相应硬件有关的常数定义、宏定义和类型定义;分别用汇编语言和C语言编写相关函数,特别是OSTaskStkInit(),在任务创建初期,将由其初始化任务堆栈。

实时嵌入式操作系统的裁剪,就是只嵌入用户程序需要的函数,这样可以减少软件所需的存储器空间。由于uC/OS-II采用的是条件编译。即当条件满足时编译相应的代码,否则不编译,故只要对编译条件进行控制就可以控制编译后文件的大小,从而实现对操作系统的裁剪。

4. 系统调试及结果

JTAG(Joint Test Action Group)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。目前,大多数比较复杂的器件都支持JTAG协议。作为ARM的典型调试手段,JTAG除了可以设置ARM的断点以外,还可以对ARM的内核进行控制,从而实现对外围设备的读写(比如:下载程序到RAM或者FLASH空间)。

ADS是ARM公司为方便用户在ARM芯片上进行应用开发而推出的一整套集成开发工具。

在保证电源电路、晶振电路和复位电路正常工作的前提下,可通过JTAG接口来调试以LPC2104为核心的目标板。在系统上电前,首先应检测JTAG接口的TMS、TCK、TDI、TDO信号是否已与LPC2104的对应引脚相连。在保证LPC2104已正常工作的情况下,可用ADS通过JTAG接口对片内的部件进行访问和控制。图5为调试系统的硬件连接。

采用 ADS 下的工具集来进行系统调试:首先建立工程,即将用户文件、操作系统文件、中间件以及目标板的启动代码依次加入到工程中;然后编译程序和链接目标代码;再下载并调试程序。

经调试,当用手握住DS18B20对其加温时,由上位机显示的温度变化曲线如图6所示。

5. 结语

本文构造了一个温度测量系统。该系统用可编程数字式温度传感器DS18B20作为检测元件,以嵌入式芯片LPC2104为核心,除了实现温度测量及相关的数据处理外,还能与上位机通信。实验结果表明,测量精度和速度都符合要求。下一步的工作是,增加温度控制功能并扩充测控点数,构造一个集中监控的分布式温度测控系统。

来源:维库开发网

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:具有高精度的悬浮轴振动测量传感器的设计
下一篇:基于双DSP的电力系统谐波分析仪的设计

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图