基于GSM 短消息的远程监测系统

95
基于 GSM 短消息的远程监测系统 李海生 2005 3

Transcript of 基于GSM 短消息的远程监测系统

基于 GSM短消息的远程监测系统

李海生

2005 3

国内图书分类号:TP872

国际图书分类号:654

工学硕士学位论文

基于 GSM短消息的远程监测系统

硕 士 研 究 生

导 师

申请学位级别

学 科、专 业

所 在 单 位

授予学位单位

李海生

臧怀泉 教授

工学硕士

控制理论与控制工程

电气工程学院

燕山大学

Classified Index: TP872

U.D.C.: 654

Dissertation for the Master Degree in Engineering

THE REMOTE MONITORING SYSTEM BASED ON GSM-SMS

Candidate: Supervisor: Academic Degree Applied for: Speciality: University:

Li Haisheng Prof. Zang Huaiquan Master of Engineering Control Theory and Control Engineering Yanshan University

摘 要

I

摘 要 随着 GSM(Global System for Mobile communication)移动通信网络的迅

速普及和竞争的日益激烈,新技术和新业务的开发和应用已经提到一个十

分重要的位置。短消息业务(SMS)作为 GSM 网络的一种基本业务,已

得到越来越多的系统运营商和系统开发商的重视,基于这种业务的各种应

用也蓬勃发展起来。

本文提出了一种基于 GSM 短消息的远程监测系统,在给出系统的总

体设计的基础上,设计了系统的硬件和软件,并对其应用领域作了一些探

讨和研究。

系统以 GSM网络作为远程信号的传输平台。对 GSM网络体系结构作

了详细的讲解,并且着重讲述了对于本课题相当重要的短消息业务的通信

原理。数据的传输方式主要是短消息方式,系统中采用 PDU模式,对短消

息的 PDU编码和解码进行详细的讲述。短消息的接收和发送是通过 AT指

令来实现的,讲述了常见的 AT指令及其使用方法。

系统的硬件设计中,对主要硬件 TC35 和 MSP430F149 单片机及其外

围电路进行了详细的讲述。系统分为两个部分进行设计——监测中心站和

远程监测分站:监测中心站硬件包括一台 PC 机,GSM 通信模块 TC35,

两者通过 RS232 连接;远程监测分站硬件包括 GSM 通信模块 TC35,

MSP430F149单片机,显示单元,各种传感器和数据采集与处理单元。

系统的软件设计包括监测中心站软件设计和远程监测分站软件设计。

监测中心站软件设计采用 Visual Basic 6.0,给出通用串行通信控件

MSComm的使用方法,并完成了界面设计、数据的接收与发送以及保存等

功能。远程监测分站软件设计中运用 IAR公司为MSP430系列单片机开发

的 C430集成开发环境和 C语言调试器作为程序开发工具,其软件包括单

片机初始化、主程序、信号采集中断程序、通过串口的短消息接收和发送

程序。

论文的最后部分以 GSM 短消息的远程监测系统为基础,结合温度检

测技术设计出一套基于 GSM 的远程温度监测系统,并给出了此系统应用

燕山大学工学硕士学位论文

II

领域的一些探讨和研究。

关键词 GSM;短消息;远程监测;PDU模式;AT指令;MSP430单片机

Abstract

III

Abstract

Along with rapid popularization and furious competition of GSM network,

research and application of new technology and new operation have been

mentioned to a quite important position. SMS as a basic service of GSM

network has been attented by more and more system operator and developer,

and kinds of applications based on this service have been rapid developed.

This paper present a remote monitoring system based on GSM-SMS, this

paper first presents the system design as a whole, then presents the hardware

and software design of system, at last presents some discussions and

investigation in applying field.

In this system GSM network is a medium for transmitting the remote

signal, it presents detailed explanation of GSM network‘s system structure and

emphasizes the communication principle that is important for the task. The

mode of transmitting data is most SMS. PDU mode is used during transmitting

SMS. It presents encording and decoding of SMS PDU mode. Transmitting and

receiving SMS is realized by using AT command. It presents the familiar AT

command and using method.

It presents TC35 and microchip MSP430F149 MCU and peripheral circuit

during design of system hardware. Hardware of system includes two parts: the

monitoring center and the remote monitoring station. It consists of a computer

and a TC35 communication module of GSM in the monitoring center.

Computer and TC35 are joined by RS232. It includes a TC35 communication

module of GSM, a MSP430F149 MCU, a display part and a gathering data

part.

It includes the monitoring center software and the remote monitoring

station software in design of system software. The monitoring center software

is designed with Visual Basic 6.0. It presents method of serial communication

燕山大学工学硕士学位论文

IV

control MSComm, finishes the interface design and the function of receiving

and transmitting and saving data. The remote monitoring station software is

designed with C430 integration developing environment that IAR designed for

MSP430 single chip and C-language debugger. It includes single chip

initialization and main program and interrupt of gathering signal and SMS

receiving and transmitting program through the serial port.

In the end of the paper, it presents a remote temperature monitoring

system based on GSM, using the designed system of remote monitoring

system based on GSM-SMS and technique of measuring temperature. And then

presents any discussions and investigation in applying field.

Keywords GSM; SMS; remote monitoring; PDU mode; AT command;

MSP430 MCU

目 录

V

目 录 摘要 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯I Abstract⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯III

第 1 章 绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1 1.1 课题背景⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 1 1.2 远程监测系统发展现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 1 1.3 课题的主要工作及论文结构安排⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3 第 2 章 GSM 网络基础知识及 SMS 通信原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 5 2.1 GSM 网的体系结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5

2.1.1 移动台(MS)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 6 2.1.2 基站子系统(BSS)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 7 2.1.3 网络和交换子系统(NSS)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 8 2.1.4 运行子系统(OSS)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 10

2.2 GSM 短消息数据通信原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 12 2.3 本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13 第 3 章 系统硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14 3.1 系统总体结构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14 3.2 监测中心站硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15 3.2.1 监测中心站服务器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 15

3.2.2 GSM 无线通信模块 TC35⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15 3.2.3 标准串行通信接口 RS232⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 16

3.3 远程监测分站硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯18 3.3.1 MSP430F149 结构概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯19 3.3.2 液晶显示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21 3.3.3 键盘功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26 3.3.4 串行通信⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31 3.3.5 A/D 转换功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯35

3.4 本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯40 第 4 章 系统软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41 4.1 系统软件设计基础⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41

4.1.1 常见 AT 指令及使用方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41 4.1.2 短消息的编码方式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42

4.2 监测中心站软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯47 4.2.1 通信控件 MSComm 简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯48

燕山大学工学硕士学位论文

VI

4.2.2 软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯51 4.3 远程监测分站软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯56

4.3.1 A/D 转换部分⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯56 4.3.2 LCD 显示部分⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯57 4.3.3 键盘控制部分⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯65 4.3.4 短消息收发程序和主程序设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯67

4.4 本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯68 第 5 章 基于 GSM 的远程温度监测系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 70

5.1 引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70 5.2 系统的总体结构与功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70

5.2.1 系统的总体结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70 5.2.2 系统功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70 5.3 系统硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯71

5.3.1 热敏电阻工作原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 72 5.3.2 热敏电阻的主要技术参数⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 72 5.3.3 热敏电阻测温电路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 73

5.4 系统软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 75 5.5 本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯76 结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯77 参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯79 攻读硕士学位期间承担的科研任务与主要成果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯84 致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯85 作者简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯86

第 1章 绪 论

1

第 1章 绪 论

1.1 课题背景

进入 21世纪,移动通信技术以惊人的速度迅猛发展。无论是 CDMA、

2.5G 还是 3G,移动通信的发展目标都是在更好的语音通信之外,向用户

提供更加丰富多彩的高速无线数据应用。移动通信技术的进步使得高速的

无线数据应用成为可能。可以预见,高速的无线数据应用的发展也将使新

的移动通信技术更具吸引力。

随着 2.5G的逐渐成熟,世界各国 3G网络的投入研究,基于无线数据

应用的各项服务展现出其独特的魅力。短消息业务(SMS)作为 GSM(Global

System for Mobile communication)网络的一种基本业务,以其连接简单、费

用低廉、覆盖范围广、实现方便等优点得到越来越多的系统运营商和系统

开发商的重视,基于短消息业务的各种应用也蓬勃发展起来。

短消息业务与语音及传真是 GSM 网络提供的主要电信业务,它通过

无线控制信道进行传输,经短消息中心完成存储和转发功能,每条短消息

的信息量为 140bit。在短消息的可靠传递基础上,GSM专业调制解调器的

出现给 GSM 的发展注入了新的活力,它改变了传统的以语音为主要的通

信手段,使 GSM 网络数据通信得到广泛的应用[1-3]。目前市场上提供的

GSM调制解调器和模块提供了 RS232标准数据接口,采用 AT指令控制,

符合 ETSI标准 GSM0707和 GSM0705。基于这种技术,以 GSM网络作为

无线传输平台可以开发出多种应用领域。

1.2 远程监测系统发展现状

目前远程监测主要有以下几种方式:短距离长线监测;通过市话网;

通过 internet网络;通过自组网络(CDPD网);通过数传电台方式。

短距离长线监测和通过自组网络(CDPD网)首先要自行建设通信网络,

燕山大学工学硕士学位论文

2

建网初期投资巨大,运营期间自主维护耗费人力物力较大,信号质量得以

保证,效果好,相对运营费用高;通过市话网和 internet 方式以现有的网

络为依托,无需自行建设通信网络,但是由于市话网和 internet 难以达到

工业现场覆盖面,接入网络受到限制,局限性很大,网络运行效果取决于

网络运营商,线路安全不能得到保证,其通信效果好,信号量大,运营费

用相对低廉;数传电台出现较早,应用很广泛,是一种不错的无线数传方

式,但是建网初期投资巨大,数传电台的传输范围有限,而且容易受到空

间无线信号的干扰,信号不能得到保障,但是数传电台信号传输实时性好,

运行费用低。

远程监测系统应用广泛,遍及国民经济的很多领域,典型应用概括为

以下几个方面。

(1) 煤气/天然气,石油,电力等能源系统设备以及网络的远程监测:

发电机组,变电站,供电所的远程监测;煤气/天然气管线压力,温度,

流量等远程监测;石油开采中抽油井各种参数的远程监测等[4,5]。

(2) 车辆状态远程监测:

如车辆位置/时间,运动方向/速度监测,远程控制车辆中的设备,车

辆丢失的查找和监测等[6-9]。

(3) 自动化工厂,生产过程,机器和设备的远程监测:

在自动化生产线上,一般由可编程逻辑控制器控制,可对其进行远程

监测;关键的机器和设备关系到产品的质量和生产线的安全,对此类设备

工作参数可实现远程监测,超限报警[10]。

(4) 对人体有害的环境下的远程监测:

化工厂周围的空气质量的远程监测,噪声严重区域的噪声远程监测和

噪声抑制;地震测试点的资料上传,气象监测点的资料上传[11]。

(5) 通风设备,制冷设备等的远程监测:

冷库/仓库的远程监测,矿井通风设备,探矿设备的远程监测。

(6) 水库大坝、水闸、供水系统的远程监测:

河流、湖泊、海潮的水位变化,水流量状态等关系到灾害的发生和人

民生命财产安全,水质的变化对供水系统和人们的生活影响很大,远程实

第 1章 绪 论

3

时监测这些状态数据意义重大[12,13]。

(7) 各种信息查询系统:

交通信息、天气预报、银行系统等很多领域的信息查询[14-19]。

而目前这些监测系统无论从成本、可靠性、稳定性、使用方便性、还

是维护的难易程度等方面都不能最大限度的使人满意。因此本文把 GSM

网络引入到远程监测系统中,提出了基于 GSM 短消息的远程监测系统。

GSM网络是目前基于时分多址技术的移动通信体制中最成熟完善、覆盖面

最广、功能最强、用户最多的移动通信网络,GSM短消息业务不需要建立

拨号连接,只需把待发的消息加上目的地址发送至短消息中心,再由短消

息中心转发到最终目标。运用 GSM 短消息实现远程监测可靠性高、信号

传播距离远、覆盖面积广,并且可以节省建网初期的巨额投资,运营期间

无需维护网络,运行费用低廉。随着移动通信技术的迅猛发展,笔者相信

基于 GSM 短消息的远程监测系统将广泛应用于国民经济的诸多领域,也

将成为一个崭新的研究热点[20-22]。

1.3 课题的主要工作及论文结构安排

远程监测系统一般由监测中心站和远程监测分站两部分组成。论文首

先给出系统的拓扑结构,论述系统的结构组成;然后对监测中心站和远程

监测分站两部分进行硬件设计,搭建整个系统的硬件框架;最后对监测中

心站和远程监测分站两部分进行软件设计并进行调试。设计目标是真正实

现基于 GSM短消息的远程数据通信,使其能够运用在实际的监测系统中,

最终面向产品开发。

课题的主要工作是单片机的合理选型及其外围电路的设计、GSM模块

的选择和整个系统的软件设计:单片机采用美国 TI 公司生产的

MSP430F149 系列芯片,论文中将详细讲述这一系列单片机的特点;GSM

模块选择德国西门子公司的 TC35模块,通过标准 AT指令控制;整个系统

的软件设计是本课题的重点,包括监测中心站程序设计和远程监测分站程

序设计。其中,监测中心站程序设计采用 Visual Basic 6.0作为开发工具,

燕山大学工学硕士学位论文

4

其软件包括监测中心控制界面及初始化程序、短消息的收发程序、数据处

理和保存程序。远程监测分站程序设计以 IAR公司为MSP430系列单片机

开发的 C430 集成开发环境为开发平台,其软件包括单片机初始化、主程

序、数据显示程序、定时信号采集及处理子程序、短消息收发子程序。

论文结构安排:

第一章为绪论,主要介绍课题的背景,远程测控系统的发展现状和本

课题的主要工作。

第二章为 GSM网络基础知识及 SMS通信原理,主要介绍 GSM网络

的体系结构并详细讲述整个体系结构的四大子系统即移动台、基站子系统、

网络和交换子系统、运行子系统,另外还将详细介绍 GSM 短消息数据通

信原理。

第三章为系统的硬件设计部分,分监测中心站和远程监测分站两部分

进行设计。监测中心站部分设计监测中心服务器,介绍GSM通信模块 TC35

的硬件特性并设计其与监测中心服务器的通信方案。远程监测分站部分主

要讲述MSP430F149单片机的特点,设计包括液晶显示、键盘功能、串行

通信、A/D转换等几个功能模块。最后设计给出整个远程监测系统的硬件

结构。

第四章为系统的软件设计部分,首先讲述对于本系统很重要的软件设

计基础,然后分监测中心站和远程监测分站两个部分进行软件设计。软件

设计基础主要讲述常见 AT 指令及使用方法和短消息的编码方式。监测中

心站软件设计介绍通信控件MSComm,并设计监测中心站的界面和各个功

能模块。远程监测分站软件设计部分首先给出主程序流程,然后分 A/D转

换部分、LCD显示部分、键盘控制部分和短消息收发部分等几个功能单元

分别进行设计。

第五章为基于 GSM 的远程温度监测系统。利用前面的研究成果,引

入具体的监测对象,把基于 GSM 的远程监测系统与温度检测两者结合起

来,设计出了一种全新的远程温度监测系统。它是基于 GSM 的远程监测

系统的一个应用方向。

第 2章 GSM网络基础知识及 SMS通信原理

5

第 2章 GSM网络基础知识及 SMS通信原理

2.1 GSM网的体系结构

GSM 网络是目前基于时分多址技术的移动通讯体制中最成熟、最完

善、覆盖面最广、用户最多的一种移动通信网络[23]。下面对 GSM 网的系

统结构作简要介绍。

GSM网的总体结构由以下功能单元组成:

(1) MS(移动台)。它包括ME(移动设备)和 SIM(用户识别模块)。根据

业务的状况,移动设备可包括MT(移动终端)、TAF(终端适配功能)和 TE(终

端设备)等功能部件。

(2) BTS(基站系统)。为一个小区服务的无线收发信设备。

(3) BSC(基站控制器)。具有一个或多个 BTS进行控制以及相应呼叫控

制功能。BSC以及相应的 BTS组成了 BSS(基站子系统)。BSS是在一定的

无线覆盖区中,由MSC控制,与MS进行通信的系统设备。

(4) MSC(移动业务交换中心)。对于位于管辖区域中的移动台进行控

制、交换的功能实体。

(5) VLR(拜访位置寄存器)。MSC为所管辖区域中MS的呼叫接听所需

检索信息的数据库,VLR存储与呼叫处理有关的一些数据,例如,用户号

码、所处的位置识别、向用户提供的服务等参数。

(6) HLR(归属位置寄存器)。管理部门用于移动用户管理的数据库。每

个移动用户都应在其 HLR注册登记。HLR主要存储两类信息——有关用

户的参数和有关用户目前所处位置的信息。

(7) EIR(设备识别寄存器)。存储有关移动台设备参数的数据库。主要

完成对移动设备的识别、监视、闭锁等功能。

(8) AUC(鉴权中心)。为认证移动用户的身份和产生相应的鉴权参数的

功能实体。通常,HLR、AUC合设在一个物理实体中,VLR、MSC合设

在一个物理实体中,MSC、VLR、HLR、AUC、EIR也合设在一个物理实

燕山大学工学硕士学位论文

6

体中。MSC、VLR、HLR、AUC、EIR功能实体组成交换子系统(SSS)。

(9) OMC(操作维护子中心)。操作维护子系统中的各功能实体,根据厂

家的实现方式可分为 OMC-R(无线子系统的操作维护中心)和 OMC-S(交换

子系统的操作维护中心),GSM系统通过MSC实现与多种网络互通,包括

PSIN、ISDN、PLMN和 PSPDN[24-26]。

整个体系结构可归为四大子系统,移动台、基站子系统、网络和交换

子系统、运行子系统,以上各功能单元包括在这四大系统中,下面对这四

大子系统作详细介绍。

2.1.1 移动台(MS) 移动台通常代表用户从整个系统看到的唯一设备,移动台的类型不仅

有车载型和便携型设备,还有手机。但是一个移动台包含什么呢?除了通

过无线接口接入网络的一般无线处理功能外,移动台必须提供一个与使用

者的接口(如送话器、收话器、显示器和管理话音呼叫的键盘),或与其它

终端设备的接口(如:与个人计算机或传真机的接口),或者两者都有。已

经作出努力使得脱架终端设备与移动台相连接(例如,第三类传真机就是为

了与电话网相连而设计的),并为此规定了一些特殊的终端适配功能。但是,

所有的实现方法都可以选择,并对制造商开放,使得完全集成化的小型移

动台能与带有标准接口的移动台共存。

涉及用户数据处理时,要分清三大功能:

(1) 终端设备 执行业务特有的功能,而不涉及 GSM特有的功能,如

传真机;

(2) 移动终端装置 执行与无线接口上的传输有关的所有功能;

(3) 终端适配器 作为终端设备和移动终端装置之间的连接器。当移

动终端装置的外部引入一个终端适配器。

移动终端装置、终端适配器和终端设备间的功能划分与每项业务的传

输要求密切相关。

移动台另一个重要的结构特点与用户模块或 SIM 卡(SIM——用户识

别模块,由于它不仅仅包括身份识别,这个名称的使用要有所限制)的概念

有关。从一个将移动终端装置分开的观点出发,移动台被分为两部分:一

第 2章 GSM网络基础知识及 SMS通信原理

7

侧是通讯处理设备,另一侧是 SIM卡。SIM卡基本上是一块遵守 ISO标准

的智能卡(或它切下的一部分),包含存储在无线接口的用户一侧的所有与

用户有关的信息。它的功能,除了信息存储能力,还与保密性有关。移动

台的基本部分包括接入网络的所有通用传输和信令方法,以及人机设备(如

终端)。SIM 卡与移动台的其它部分的接口在规范中都有规定,简称

“SIM-ME”接口(ME代表移动设备)[27]。

在规范中,移动台(MS)一般都包括移动设备和 SIM 卡,在没有 SIM

卡时对移动台操作的情况(如网络允许时,移动台可以处理无名紧急呼叫)

很少。可擦除的用户数据存储设备的概念具有深远的影响。在以前的蜂窝

系统中,移动台的个人化,要求的介入较多,这只对技术专家可能,而对

运营公司的行政管理人员则难以做到。这种情况下有几个缺点:移动台只

能卖给专业商人,他们不但能在车辆中安装设备,而且成为在用户和业务

提供者之间使设备个人化的中间人;一旦移动台失效,很难在维修期间给

用户提供替代品,更不能允许用户在这一期间保留相同的电话号码。

可移走的 SIM卡简化了这些问题,而且带来了其他益处。一个潜在的

用户当然可以买一台移动设备,但他也可以在任何时间租用或借用一台,

并可随意更换,而无需很多管理。他所需要的只是自己的 SIM卡,这可以

从运营者或业务提供者处获得,与选择任何设备无关。SIM卡个人化的最

后一步可通过小型计算机和简单的适配器很容易实现。因为它们不再需要

运营者或业务提供者的介入,移动设备的销量将比以前有大幅度提高,汽

车电话仍在车辆上安装,便携式或手机将鼓励用户从任何商店购买移动设

备。

2.1.2 基站子系统(BSS) 一般来说,基站子系统包括 GSM无线蜂窝方面特有的基础设施。BSS

通过无线接口与移动台直接相连,它包括负责在无线路径上发送、接收及

管理的设备;另一方面,BSS也与网络和交换子系统的交换机相连[28]。因

此,BSS的作用可概括为:将移动台分别与 NSS和其他电信用户连接起来。

BSS要由运动和维护子系统控制,故与它也有联系。

根据规范的 GSM 结构,BSS 包括两类设备:基站收发台(BTS)(它通

燕山大学工学硕士学位论文

8

过无线接口与移动台联系)和基站控制器(BSC)(它与 NSS 的交换机联系)。

功能划分基本上是在传输设备(BTS)和管理设备(BSC)之间。

基站收发台包括无线发射和接收设备、天线和特有的信号处理部分。

BTS可看作一个复杂的无线调节器,其功能很少。典型的第一代 BTS由几

个机柜组成,它包含传输功能所必须的所有电子设备。天线通常位于几十

米远的塔上,通过馈线电缆与设备架相连。只有一个设备机柜的第一代

BTS,典型地可处理 3~5个无线载波,承载 20~40个同时通信。减少 BTS

的体积对于降低蜂房站址的成本很重要,预计在该领域将有大的进展。

基站子系统的一个重要部分(在规范的GSM结构中被认为是BTS的一

部分)是 TRAU(编码变换器/速率适配单元)。TRAU是执行 GSM特有的话

音编码和解码及数据速率适配的设备。虽然规范中把 TRAU 看作 BTS 的

一部分,它可以不与 BTS安装在一起,甚至在许多情况下,它实际上位于

BSC和MSC之间。它的较远位置允许进一步压缩 BTS和 TRAU之间的传

输(这是运营者节省成本的一种途径)。

BSS的内部结构中,在基站收发台的上面是 BSS的第二个基本组成部

分——基站控制器(BSC)。BSC通过 BTS和移动台的远端命令,负责所有

的无线接口的管理,主要是无线信道的分配、释放及切换管理。BSC一端

与几个 BTS 相连接,另一端与网络和交换子系统相连(更确切的说,是与

移动业务交换中心相连)。

一台 BSC实际上是一台具有重要计算能力的小型交换机,它的主要作

用是管理无线接口上的信道和切换过程。典型的 BSC由一个或两个设备机

柜组成,根据 BTS的业务能力,可以管理多达几十个 BTS。

BSC和MSC之间的接口(A接口)在 GSM标准制定早期就引入了。后

来决定制定 BTS和 BSC之间的 Abis接口(实际上,Abis接口并不比 A接

口更有意义)。

在 GSM词汇中,一个 BSS指一部 BSC及它所控制的所有 BTS,以免

与作为子系统(包括所有 BSC和 BTS)的 BSS混淆。

2.1.3 网络和交换子系统(NSS) 网络和交换子系统包括 GSM 的主要交换功能以及管理用户数据和移

第 2章 GSM网络基础知识及 SMS通信原理

9

动性所需的数据库,有时它也称为交换子系统。由于 GSM 网络包括 BSS

和 NSS,因而后一个名称更恰当。NSS 的主要作用是管理 GSM 用户和其

它电信网络用户之间的通信。

在 NSS内部,基本交换功能由 MSC完成,MSC的主要功能是协调呼

叫 GSM 用户和来自 GSM 用户的呼叫的建立。MSC 一侧与基站子系统接

口(通过 BSS与 GSM用户联系),另一侧与外部网络接口。为了与 GSM外

部的用户通信,MSC 与外部网络的接口可能需要一个适配网关(交互工作

功能 IWF)。IWF的作用总是或多或少要依赖用户数据的类型和它要与之接

口的网络类型。NSS 还要利用与外部网络接口的能力,在 GSM 实体之间

传输用户数据和信令。特别地,NSS利用一个遵循 CCITT7号信令系统协

议的信令支持网络(至少有一部分在GSM的外部),因而常常称为SS7网络;

这个信令网使得位于一个或几个 GSM网络内部的 NSS设备能协调交互工

作[29]。

作为一个设备,移动业务交换中心控制着几个基站控制器,它通常是

一台相当大的交换机。MSC与特定网络的互相连接,要求将 GSM网络传

输特性与通信对方的网络特性相适配,这些适配就是交互工作功能(IWF),

这个术语也可指负责该功能的实体。它基本上由一个传输和协议适配设备

构成。它使得 GSM网络可与 PSPDN、CSPDN等网络交互工作,当通信对

方是简单的 PSTN或 ISDN时,IWF也存在。交互工作功能既可与MSC功

能一起实现,也可由单独的设备实现。当单独实现 IWF 时,规范未规定

MSC与 IWF之间的接口。

除了MSC,网络和交换子系统还包括数据库。与电信业务的提供者有

关的用户信息都存储在基础设施中的 HLR(归属位置寄存器)内,而不管用

户当前的实际位置。HLR保存与用户的当前位置有关的信息,从而能够建

立对移动台的呼叫。

作为一个物理设备的 HLR是一台独立的计算机,它没有交换能力,能

管理成千上万的用户。HLR功能的一个部分是鉴权中心(AuC),AuC的作

用是为用户确认管理安全数据。

GSM 中的第二个数据库是 VLR(来访位置寄存器),它与一个或多个

燕山大学工学硕士学位论文

10

MSC相连,负责为那些目前位于相应 MSC业务区域内的用户临时存储注

册数据,它存储的位置数据比 HLR 中的要精确一些。在目前的实践中,

VLR总是与各个 MSC集成在一起的。

NSS包含的不止是 MSC、VLR、HLR。呼叫的 GSM用户的路由包括

一个特殊的询问和转发的交换功能。这个功能在 GSM中称为 GMSC(网关

移动业务交换中心)。一个网关交换机负责收集位置信息,将呼叫按规定路

线送至MSC(通过MSC,被叫 GSM用户才能获得服务)。为此,它首先必

须找到正确的 HLR,根据唯一已知的 GSM用户目录号码询问 HLR。网关

交换机与外部网络有一个接口用来提供网关,还利用 SS7 信令网与其它

NSS实体交互工作。因为GMSC的功能在技术上不是必须连接到一个MSC

上,这个术语有时另人误解。实际上,它可以是一个独立的设备,或作为

一个集成在数字电话交换机内的功能。然而,计费的考虑使得网关的功能

一段时间内不会放在 GSM 网络的外面,经济方面的考虑也不希望用一个

独立的设备实现此功能。因此,目前 GMSC的功能都是与 MSC在一个设

备中实现的。

依据国内的规定,GSM 运营者可能允许或也可能不允许在 NSS 设备

间运行整个 SS7 网络。如果 GSM 运营者能完全控制这个信令网,那么信

令转移点(STP)就可能成为 NSS 功能的一部分,既可以用单独结点实现,

也可以与 MSC 在同一设备内实现,以便节省在 NSS 实体(MSC/VLR、

GMSC、HLR⋯)之间传输信令的成本。

类似地,根据许可证的条件,GSM运营者可能有权利用自己的网络在

GMSC 和 MSC 之间路由呼叫,或将呼叫在使用固定网络之前路由到尽可

能近的目的地。在这种情况下,转汇接局有可能成为 GSM网络的一部分,

并且既可用单独的接点实现,也可以与 MSC结合在一起。

2.1.4 运行子系统(OSS) 所有任务都需要 BSS 或 NSS 中的一些或全部基础设施和各运营公司

之间的相互作用。网络运行和设备维护涉及所有设备(包括 BSS设备),而

注册管理至少对 HLR有影响。

规范中对规范的体系结构的运行和维护方面的描述不如其他方面那么

第 2章 GSM网络基础知识及 SMS通信原理

11

具体,给运营者和制造商留有很多自由。一个充足的理由是:这方面的问

题不是 GSM 特有的。运行和维护功能也可在现存的网络中实现,因此这

方面的许多标准化工作要适用于通用的电信网络。下面讲述几种设想 OSS

的方法。

过去,操作和维护活动是通过在每台设备处介入,在本地执行的。为

此,每台设备都提供了一些人机接口,例如通过一个本地终端,不同设备

上动作的协调要由人来管理。这种方法至少在早期的 GSM 实验网络中被

采用。例如,用户管理可通过在与 HLR相连的现场终端上手工键入用户数

据来完成。这种本地式处理,OSS功能简单的分散在 BSS和 NSS设备中,

唯一的 OSS设备是人机设备,如终端。

现在,随着技术的发展和电信系统复杂性的提高,系统中可能事件的

范围和要处理的信息数量有了巨大增长。当运行的设备数量变得很大时,

本地式处理方法就不够有效了,因此需要集中处理,这要求单个设备介入

到几个业务处理设备和人机设备之间,而且这些单个设备要完成一些协调

功能,在不同设备的路线接法之间提供更多的连接性保证。最终的集中化

处理是 TMN(电信管理网)概念,其中所有的操作和维护设备组成一个网,

作为一个整体与所有业务处理设备相连接。

一旦应用了集中化处理,就出现了业务处理设备和 BSS设备之间的接

口,这些接口需要规范化。在这一层次上,大多数与运行和维护相关的实

体都可在规范中找到。设计这一部分标准时,为了使 GSM 网与高级的运

行和维护设备平稳结合,要考虑 TMN。现在先看看 OSS 的一般术语,再

象规范一样集中于 OSS中与业务处理设备(特别是 BSS)接近的部分。GSM

所特有的、与呼叫不相关的信令则对应于许多不同的协议,组合在MAP(移

动应用单元)中。用不同的名字,如 MAP/B、MAP/C⋯MAP/I 来区分这些

不同协议,例如,MAP/C是 GMSC和 HLR之间的协议。所有这些 MAP/X

协议都使用 SS7 协议 TCAP(转移能力应用单元)提供的业务,而本身又使

用 SS7协议 SCCP(信令连接控制单元)提供的业务。这些不同的 MAP/X不

是一层层的而是平行独立的。

规范中的表示有一点不同:MAP/X协议是作为一个协议规定的,称为

燕山大学工学硕士学位论文

12

MAP;而这里所说的“协议”被称为“接口”。这些接口按字母(B——G,

其顺序并不重要)区分。为了与规范保持一致,用与有关的字母标识相应的

协议。H和 I接口未在MAP规范中出现,所以将MAP/H定义为传输短消

息的协议,虽然规范中相应的MAP接口是MSC之间的 E接口。同样地,

MAP/I作为附加业务管理的MS和HLR之间的协议;为了更接近这一概念,

在规范中出现了MSC和 HLR之间的 D接口。

2.2 GSM短消息数据通信原理

短消息业务与语音传输及传真同为 GSM 数字蜂窝移动通信网络提供

的主要电信业务,它通过无线控制信道进行传输,经短消息服务中心完成

存储和前转功能。短消息业务包括两类:一类是点到点的短消息,即由一

个用户发给另一个用户少量的文字和数据信息;另一类是广播短消息,即

由短消息广播中心收集用户所需的信息给用户。两种方式均可在网络暂时

无法将短消息传给移动台的情况下,将信息在网上记录,当发现移动台可

达时,通知相应实体重新传送短消息,因此,短消息具有很高的可靠性。

基于电路交换的点到点短消息业务中所涉及的网络实体之间的协议:

在电路交换 GSM PLMN(公共陆地移动网)中,移动台接入 GSN PLMN是

通过MSC(移动交换中心)进行的。在移动被叫点到点短消息业务中,首先,

短消息服务中心发送短消息给 SMS-GMSC,SMS-GMSC通过询问 HLR获

得目标 MS所在的 MSC号码,将短消息先转给 MSC。MSC询问 VLR中

存放的用户相关信息,对用户进行鉴权后,将短消息传递给目标 MS。然

后,MS返回报告给 SC;在移动主叫点到点的短消息业务中,用户请求接

入通过鉴权后,将短消息传递给 MSC[30]。

通过以上的 SMS工作原理可以看出,SMS作为 GSM网络的一种主要

的电信业务,其传递可靠性很高。GSM网络在全国乃至全球范围内实现了

联网和漫游,相对于传统的集群系统在无线覆盖面上具有无法比拟的优势,

更加突出了它在无线数据传输方面的巨大优势,为基于它的各类数据传输

业务的开发打下了坚实的基础。

第 2章 GSM网络基础知识及 SMS通信原理

13

2.3 本章小结

本章主要介绍了 GSM网的结构、GSM网的四个子系统和短消息通信

原理。展示了 GSM网的整体概念,对 GSM网络子系统有了进一步的了解,

理解了短消息的接收与发送过程,为利用 GSM网的短消息功能实现远程

监测奠定了基础。

燕山大学工学硕士学位论文

14

第 3章 系统硬件设计

3.1 系统总体结构设计

本系统集先进的 GSM 无线通信技术、计算机控制技术、数据采集技

术、数据库技术于一体,搭建了一种基于 GSM 短消息的远程监测系统平

台。

系统分为监测中心站和远程监测分站两个部分:监测中心站主要由监

测中心站服务器,GSM 调制解调器(TC35)组成;远程监测分站主要由

MSP430F149 单片机及外围电路(液晶显示、键盘功能、RS232 通讯、A/D

转换)和 GSM调制解调器(TC35)组成。监测中心站与远程监测分站之间通

过 GSM网络实现无线远程通信,实现了基于 GSM网络的远程监测。系统

结构图如图 3-1所示。

GSM模块

RS232

GSM网络

蜂窝电话

调制解调器 调制解调器

工作站

调制解调器蜂窝电话

蜂窝电话

数据库

RS232

监测中心站服务器

GSM模块

GSM模块

温湿度数据采集节点

RS232

远程监测分站

温湿度数据采集节点

远程监测分站

N个监测分站

图 3-1 系统结构图

Fig.3-1 System architecture

第 3章 系统硬件设计

15

3.2 监测中心站硬件设计

监测中心站包括的主要硬件设备为:一台作为监测中心站服务器的工

业计算机、GSM无线通信模块 TC35和两者相连的串口线。下面分别介绍

这几部分。

3.2.1 监测中心站服务器 监测中心站服务器基本配置:

CPU Intel奔腾IV 2.4G高速处理器;

硬盘 80G用于数据库系统;

内存 高速 512MB;

显示器 17英寸液晶显示器;

附带打印机;

操作系统为WINDOWS 2000 Server/WINDOWS XP。

监测中心站服务器基本功能:

(1) 实时接收远程监测分站采集的数据并分类保存;

(2) 对远程监测分站进行监控,对各分站的紧急报警进行处理,对各

分站进行各项设置;

(3) 管理数据库,并能够实时显示各监测分站的情况,打印备份的数

据库。

3.2.2 GSM无线通信模块 TC35 在监测中心站,数据的接收和发送采用GSM无线通信模块 TC35[31,32],

它具有语音、数据呼叫、短消息等许多功能,本系统主要采用 GSM 模块

TC35的短消息接收和发送功能,下面对 TC35模块的功能及使用方法作简

要介绍。

3.2.2.1 TC35的特点及功能 TC35是 SIEMENS公司推出的 GSM专用调制

解调器,它可在 GSM网中完成语音、数据呼叫、短消息以及传真的传送。

TC35具有标准的工业接口和完整的 SIM卡阅读器,因此使用非常简单。

(1) TC35的主要特点如下:

可以工作于双频段 EGSM900/GSM1800;

燕山大学工学硕士学位论文

16

具有语音、数据呼叫、短消息和传真传送功能;

具有模拟语音接口;

可以读写 SIM卡;

带一个 RS-232接口;

工作电压范围达 8-30V,在仅传输数据时,电压范围为 5.6-30V;

支持 GSM phase2/2+;

支持 AT命令。

(2) TC35的主要接口及功能:

TC35 采用半成品封装,其对外接口有模拟语音接口、RS-232 接口、

SIM卡、电源和天线等。

TC35的电源接口及各引脚功能:

1脚:正电源输入端;

2脚:空脚;

3脚:复位输入;

4脚:激发输入;

5脚:空脚;

6脚:接地。

3.2.2.2 RS-232接口 采用 9针 D-SUB接头的 RS232接口,该接口主要用

于 TC35与 PC机或单片机的连接,可以根据需要通过软件控制 TC35工作。

3.2.3 标准串行通信接口 RS232 RS-232 是在任何时候都常用的接口之一。它不仅已经被内置于每台

PC机,而且已被内置于从微控制器到主机等多种类型的电脑和与它们连接

的设备。RS-232接口的最通常的用处是连接到一个 Modem上,其他拥有

RS-232 接口的设备包括打印机、数据采集模块等。RS-232 串行通信以正

负 9V代表 0和 1状态。

串行通信可以分为同步及异步两种模式。同步通信的两端使用同步信

号作为通信的依据,而异步则使用起始位及停止位作为通信的判断。目前

采用异步传输模式较为普遍,异步传输只要 9支引脚就足够了。如果要采

用同步传输,则需要 25支引脚。

第 3章 系统硬件设计

17

计算机上 RS-232引脚如图 3-2所示,其引脚定义如下:

引脚 1 CD 载波检测

2 RXD 接收字符

3 TXD 发送字符

4 DTR 数据端备妥

5 GND 接地

6 DSR 数据备妥

7 RTS 要求发送

8 CTS 清除以接收

9 RI 响铃检测

图 3-2 RS-232引脚图

Fig.3-2 Feet of RS-232

RS-232 的每支引脚都有其功能和信号流动的方向。最初的 RS-232 设

计是用来连接调制解调器的,正因如此,它的引脚意义通常和调制解调器

的传输有关。以下是 9支引脚的相关说明。

CD:此引脚由调制解调器控制。当电话接通之后,发送的信号载在载

波信号上面,调制解调器利用此引脚通知计算机检测到载波信号,当前处

于联机状态。

RXD:此引脚将远程所发送过来的数据接收进来。在接收过程中,由

于数据是以数字类型发送的,读者可以在调制解调的 RTS信号灯上看到明

燕山大学工学硕士学位论文

18

灭交错,此即为 0与 1交替所产生的现象,即电位高低变化所产生的现象。

TXD:此引脚将计算机所要发送出去的数据发送出去。在发送过程中,

由于数据是以数字类型发送的,读者可以在调制解调器的 TXD 信号灯上

看到明灭交错,此即为 0与 1交替所产生的现象,也即是电位高低变化所

产生的现象。

DTR:此引脚由计算机控制。用于通知调制解调器进行传输,高电位

表示计算机已经准备就绪,随时可以接收数据。

GND:此引脚为接地端,作为计算机与调制解调器之间的标准电位参

考。两端设备的接地端标准电位必须一样,否则会产生回路,使得信号因

标准电位不同而产生偏移,也会导致结果失常。RS-232数据采用单节点式

的信号发送方式,其特点是信号电压的标准电位就是参考接地端标准电位,

因此传输双方的接地端必须连接在一起,以避免标准电位不同而造成数据

的错误。

DSR:此引脚由调制解调器控制,调制解调器用这支引脚的高电位通

知计算机一切准备就绪,可以发送数据过来。

RTS:此引脚由计算机控制,用以通知调制解调器马上发送数据至计

算机。而当调制解调器收到信号后,便会将它由电话线收到的数据发送给

计算机;在此之前若有数据发送至调制解调器,则会暂存在缓冲区中。

CTS:此引脚由调制解调器通知计算机有电话进来,是否接听电话则

由计算机决定。如果计算机设置调制解调器为自动应答模式,则调制解调

器在接听到一定的铃响后即自动接收电话[33]。

3.3 远程监测分站硬件设计

远程监测分站主要硬件包括单片机及其外围电路和 GSM 无线通信模

块 TC35。GSM 无线通信模块 TC35 在上一节已经做过详细讲述,在此不

再赘述。单片机采用美国 TI公司生产的MSP430F149系列,根据系统需要

设计了液晶显示、键盘功能、RS232通讯、A/D转换等几个功能单元。其

中 A/D转换部分是完全由MSP430F149片内集成模块实现的。

第 3章 系统硬件设计

19

3.3.1 MSP430F149结构概述 MSP430 系列单片机是一个特别强调超低功耗性能的单片机品种。它

适合应用在各种要求极低功耗的场合,具有一定的技术特点。在这个系列

中有多个型号,它们由一些基本功能模块按不同的应用目标组合而成。其

中 FLASH 型芯片又可分为几个分支,如 11x、11x1、13x、14x 等。它们

都具有开发设备简便、可现场编程等特点。MSP430系列采用存储器-存储

器结构,即用一个公共的空间对全部功能模块寻址,同时用精简指令组对

全部功能模块进行操作[34,35]。图 3-3是MSP430F14x 系统结构图。

首先来看一下 CPU(Central Processing Unit)。MSP430的 CPU运行正

交的精简指令集,由 16位 ALU(Arithmetic and Logic Unit)、指令控制逻辑

和 16 个寄存器组成。寄存器中有 4 个具有特殊用途,即程序计数器

R0/PC(Register 0/Program counter)、堆栈指针 R1/SP(Stack pointer)、状态寄

存器和常数发生器 R2/SR/CG1(Special Register/Constant Generator 1)、

R3/CG2。除了 CG1 和 CG2,所有寄存器都可作为通用寄存器,用所有指

令操作。常数发生器只用于指令执行时提供常数,但不能存储数据。对

CG1、CG2 访问时的寻址模式可以区分所获得的常数数值。PC(program

counter)、SP和 SR配合精简指令所实现的控制,可以使应用系统的程序设

计实现复杂的寻址模式和软件算法。

对程序存储器进行访问时,对于程序代码总是以字形式取得,而对于

数据可以用字或字节指令进行访问。每次访问均需要 16位数据总线(MDB,

即:Memory Data Bus)和访问当前存储器模块所需的地址总线(MAB,即:

Memory Address Bus)。存储模块由内部模块允许信号自动选中,这样可以

减少总的电流消耗。对于MSP430F系列,程序存储器是 FLASH的。在程

序设计中,可以将数据安排在程序存储器中,它们可以用字或字节指令方

式访问,因此可以实现查表处理等应用。64 KB空间顶部的 16字(0FFFFh~

0FFE0h)保留用作复位及中断的向量地址。

数据存储器(RAM)与程序存储器相同,经地址总线(MAB)和数据总线

(MDB)与 CPU相连。RAM内的数据可以以字或字节宽度访问。由于 RAM

与程序存储器是经过相同的地址总线和数据总线与 CPU相连,因此程序代

燕山大学工学硕士学位论文

20

图3-3

MSP430F14x系统结构图

Fig.3-3Systemstructure

figure

ofMSP430F1

4x

振荡器

系统时钟

60KBFlash

48KBFlash

32KBFlash

2KBRAM

2KBRAM

1KBRAM

12BitADC

8通道

<10μ

s

I/O

Port

½16端口具有

中断功能

I/O

Port

¾16

I/O

I/O

Port

5

8I/O

I/O

Port

6

8I/O

CPU

含16寄

存器

Test

JTAG

Bus

转换

硬件乘法器

MPY,MPYS

MAC,MACS

8×8

Bit

8×16

Bit

16×

8Bit

16×

16Bit

看门狗

定时器

15/16Bit

Timer_B7

7CC寄存器

Timer_A3

3CC寄存器

上电复位

比较器

A

USART0

UART模式

SPI模式

USART1

UART模式

SPI模式

ACLK

SMCLK

XT2OUT

XT2IN

Rosc

XINXOUT/TCLK ACLK

SMCLK

MAB,16Bit

MDB,16Bit

MAB,4

Bit

MCB

MDB,8

Bit

TMS

TCK

TDI

TDO/TDI

DVcc

DVcc

AVcc

AVss

RST/NMI

P1

P2

P3

P4

P5

P6

第 3章 系统硬件设计

21

码可以装入 RAM,也可以在 RAM内运行。这给程序的调试提供了很大的

方便。所有指令都有字节操作或字操作形式。但是,对堆栈和 PC 的操作

是按字宽度进行的,寻址时必须对准偶地址。

MSP430 的运行主要受控于存储在特殊寄存器 (SFR,即:Special

Function Register)中的信息。SFR 中的各位信息可以允许中断以支持取决

于中断标志状态的软件;可以定义外围模块的工作模式,被禁止的外围模

块将暂停运行以减少电流的消耗,而所有存储在模块寄存器中的数据仍然

保留。

外围模块经MAB、MDB和中断服务及请求线与 CPU相连。对于大多

数外围模块,MAB 通常是 5 位,MDB 是 8 位或 16 位。大多数外围模块

工作在字节形式。8位数据总线的模块经总线转换电路连到 16位的 CPU。

这些模块的数据交换毫无例外地必须用字节指令操作,SFR的处理也全部

为字节指令;部分工作在字形式的外围模块必须用字指令操作。

振荡器LFXT1(Low Frequency Oscillator)是专门为通用的低功耗 32768

Hz时钟晶振设计的,也可以用一个高速晶振工作。当采用 32768 Hz晶振

时,除了晶体需要外接以外,所有的模拟元件都集成在片内。如果采用高

速晶振,仍需要外接负载电容。MSP430F14x 片内还有一个可实现高速晶

振的 XT2 振荡器。除了晶体振荡器外,MSP430 系列 FLASH 型芯片都有

一个数控 RC振荡器(DCO,即:Data Control Oscillation)。DCO与其它普

通的 RC(Resistance and Capacitance)振荡器不同,它可以实现数字控制及频

率的调节。外围模块及 CPU的时钟源选择非常灵活。绝大多数外围模块设

计成可以用 32768 Hz、高速晶振或 DCO来工作。CPU可以用 DCO工作,

也可以用晶振时钟信号运行[36]。

3.3.2 液晶显示 在单片机系统中,最常用的显示器有:发光二极管,简称 LED(Light

Emitting Diode);液晶显示器,简称 LCD;荧光管显示器,简称 VFD(Vacuum

Fluorscents Display)。其中 LCD是一种极低功耗显示器,广泛应用于电子

表、计算器、袖珍式仪表、便携式微型计算机等产品中,最适于在本次设

计中采用。另外由于在应用中不仅要显示英文字符,还要显示汉字,因此

燕山大学工学硕士学位论文

22

选用点阵型液晶。目前点阵式液晶显示模块正在迅速、广泛地应用于各行

各业的电子产品当中。其应用的最大特点是在平板显示的时候占用空间较

小,CMOS(Complementary Metal-Oxide-Semiconductor Circuit)电路功耗低,

可显示汉字[37]。

3.3.2.1 LCD 显示器简介 液晶是一种介于液体与固体之间的热力学中间

稳定相。它的特点是能够在一定的温度范围内既保持有液体的流动性和连

续性,又具有晶体的各向异性。它的分子呈长棒形,长与宽之比比较大,

分子不能弯曲,是一个刚性体,中心一般具有一个桥链,分子两头都具有

极性。

正是由于这个特点,在采用直流电压驱动 LCD时,会使液晶体产生电

解和电极老化,大大降低 LCD的使用寿命,所以现用的驱动方式多属交流

电压驱动。此外液晶本身不能主动发光,它是通过环境光来显示信息的,

这也是 LCD功耗低的原因。

在点阵式 LCD中,使用了行驱动和列驱动,使选通点上的选通电压大

于开启电压,但由于多点共用一个电极,在选通点外的非选通点上也加有

电压,从而使清晰度下降,这就是交叉效应现象。如果在非选通点上施加

的电压只有选通电压的 1/2,使非选通电压值低于显示的截止电压,这样

将减少交叉效应的影响,这就是 1/2偏压法。在实际应用中常用 1/3,1/4,

1/7 等偏压法,使选通电压与非选通电压之间差距加大,以提高显示的清

晰度。

点阵式 LCD的控制一般都采用行扫描方式,行扫描驱动原理见图 3-4

所示。各行上所施加的电压脉冲占空比为 1/行数,占空比越小,那么清晰

度就越差,甚至还会产生闪烁现象。图中仅仅是一个字符,当一行有多个

字符时,先把列数据以串行码方式输出给列驱动器,然后将产生行扫描,

用以实现显示状态。假设一帧的扫描行数为 N,扫描一帧的时间为 1,那

么一行所占有的选择时间就是一帧时间的 1/N,那么该值就被称为占空比

系数[33]。

液晶使用寿命较长,只要按规定使用,没有机械损伤,使用在 10年以

上是没有问题的。

第 3章 系统硬件设计

23

移位寄存器

1000000

移位寄存器

01110100011000111111100011000110001

图 3-4 行扫描驱动原理图

Fig.3-4 Row scan and drive principle

3.3.2.2 LMB-018液晶显示模块 液晶显示模块是一种将液晶显示器件、连

接件、集成电路、PCB(printed circuit board)线路板、背光源、结构件装配

在一起的组件。从广义上说,凡是由液晶显示器件和集成电路装配在一起

的部件,都属于“模块”,但实际上我们通常所说的“模块”主要是指点阵

液晶显示器件装配的点阵液晶显示模块,这是因为几乎所有通用型点阵液

晶显示器件都是加工成模块后才供给用户的。

液晶显示模块可以分为:数显液晶模块,只能显示数字和一些标识符

号;液晶点阵字符模块,可以显示数字和西文字符;点阵图形液晶模块,

不仅能显示字符还能显示图形。

为了显示图形,点阵图形液晶模块的像素数量大量增加。只能选用 1/32

以上,甚至 1/256 占空比驱动。这无论对液晶显示器、集成电路,还是对

装配应用都提出了更高的要求,所以点阵图形方式的液晶显示器件更倾向

于模块化生产。其分类系统如下所示:

接口型)行、列控制型(数据线

控制型(总线接口型)驱动

接口型)行、列驱动器(控制器

从集成电路划分

彩色

蓝黄

白黑

有背光彩色

黑色有源矩阵型

有背光

无背光

超扭曲向列型

扭曲向列型

从液晶显示器件划分

图形模块

//

燕山大学工学硕士学位论文

24

在这次设计中选用了 LMB-018 系列液晶显示模块,LMB-018 系列液

晶属超扭曲效应型。目前,几乎所有点阵图形和大部分点阵字符液晶显示

器件都采用了超扭曲效应模式。超扭曲效应技术在液晶产业中已处于成熟、

完善阶段。扭曲向列型及其它大部分类型的液晶显示部件的电光响应曲线

都不够陡峭,使液晶在大信息量显示、视频显示上受到了限制。超扭曲效

应型液晶通过加大扭曲角改善了驱动特性。

LMB-018系列液晶的一些技术特性如下:

(1) 液晶显示模块:超扭曲效应型;反射;灰模式。

(2) 显示颜色:显示数据“1”,蓝黑色。

(3) 背景颜色:显示数据“0”,青灰色。色调会随温度及驱动电压的

不同而略有改变。

(4) 占空比及偏压:1/64,1/6。

(5) 其外形尺寸为 113×65×10(mm),点阵数是 128×64(点) ,点尺

寸是 0.48×0.48(mm),点间为 0.52×0.52(mm)。

(6) 工作温度范围是-20℃~70℃,存储温度在-30℃~80℃之间,属于

宽温显示。引脚功能如表 3-1所示,各参数的最大值如表 3-2所示。 表 3-1 引脚功能

Table 3-1 Pin functions

序号 符号 输入/输出 功能

1 VSS 供电 地

2 VDD 供电 正电源

3 /RES 输入 复位端,为“低”时系统复位并初始化

4 P/S 输入

串行/并行接口选择端

接“高”时,并行接口方式

接“低”时,串行接口方式

5 /CS1 输入 片选端,“低”电平有效

6 CS2 输入 片选端,“高”电平有效

7 C86 输入

接口方式选择端

接“高”时,使用 68系列方式

接“低”时,使用 80系列方式

第 3章 系统硬件设计

25

续表 3-1 引脚功能

Table 3-1 Pin functions (continued)

8 A0 输入 数据/命令选择端,接“高”时,输入数据为显示数据,

接“低”时,输入数据为控制命令

9 /WR(R//W) 输入

使 用 68 系 列 方 式 : R//W “ 高 ” 读 数 据 ,

R//W“低”写数据;使用 80系列方式:/WR“低”有

效(边沿触发)

10 RD(E) 输入 使用 68系列方式,E高电平有效

使用 80系列方式,RD低电平读有效

11~16 D0~D5 输入输出 并行数据 I/O口,当串行输入(P/S=0)时,高阻

17 D6(SCL) 输入输出 选择并行输入方式时,D6为并行数据 I/O口,选择串

行输入方式时,SCL为串行时钟输入端

18 D7(SDI) 输入输出 选择并行输入方式时,D7为并行数据 I/O口;选择串

行输入方式时,SDI为串行数据输入端

19,20 NC — 未用端,不接收任何信号

表 3-2参数性能

Table 3-2 The characteristic of parameters

定型值 参数 符号

最小 最大 单位

供电电压 VDD -0.3 4.5 (3V模块)

6.0 (5V模块)

V

输入电压 0.3 VDD+0.3 V

工作温度 OPT -20 +70 ℃

存放温度 STT -30 +80 ℃

燕山大学工学硕士学位论文

26

从表 3-2可以看出 LMB-018液晶模块在使用时有 68系列和 80系列两

种方式,由于本设计选用了 TI公司的MSP430系列单片机,对外围器件的

要求很低,因此可选任一系列。本系统设计中选用了 68系列方式,并且为

并行输入方式。硬件连接[38]如图 3-5所示。

C 86

P/S

C S2

/C S1

/R ES

A 0

E

R /W

D 0-D 7

V D D

P3.0

P3.1

P3.4

P3.5

P1

M PU

图 3-5 LMB-018模块和 6800系列微处理器接口硬件连接参考图

Fig.3-5 Recommended connection of LMB-018 module with microprocessor of 6800

3.3.3 键盘功能 键盘在单片机系统中是一个很重要的部分。输入数据、查询和控制系

统的工作状态,都要用到键盘。键盘是单片机最简单的输入设备,是人工

干预计算机的主要手段,与显示器同属人机通信部分。

微机键盘可分为编码和非编码两种:编码键盘采用硬件线路来实现键

盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还能

由硬件实现去抖动和采取一些保护措施。这种键盘使用方便,可以节省中

央处理器相当多的时间,但电路结构复杂,PC(Personal Computer)机所使

用的键盘就属于这种;非编码键盘仅提供按键开关的工作状态,其它工作

由软件完成,这种键盘键数较少,硬件简单,但占用中央处理器较多时间,

一般在单片机应用系统中广泛使用。

非编码式键盘可分独立式键盘和行列式键盘两种:独立式键盘中,每

第 3章 系统硬件设计

27

个键占用一根 I/O口线,每根 I/O口线上的按键工作状态不会影响其它 I/O

口线上的状态。独立式按键电路配置灵活,软件结构简单,但每个按键必

须占用一根 I/O口线,在按键数量较多时,I/O口线浪费较大,且电路结构

显得繁杂。故这种形式适用于按键数量较少的场合;行列式键盘又称矩阵

式键盘,设计 4行 4列 16个键,只占用 8根 I/O口线,所以键数目较多时,

可节省 I/O口线。这种结构的软件较繁琐。

在本次设计中,根据具体应用情况,选择了矩阵式键盘。下面对矩阵

式键盘作详细描述。

3.3.3.1 键盘设计基础 包括键盘工作方式、键盘扫描技术、键盘抖动消除

几个部分。

(1)键盘工作方式 在单片机应用系统中,扫描键盘只是中央处理器的

工作任务之一。在实际应用中要想做到既能及时响应键操作,又不过多地

占用处理器的工作时间,就要根据应用系统中处理器的忙闲情况,选择适

当的键盘工作方式。键盘的工作方式分为程序控制扫描方式、定时扫描方

式和中断扫描方式 3种[39]。

程序控制扫描方式:是利用处理器在完成其它工作的空余,调用键盘

扫描子程序,来响应键输入要求。在执行键功能程序时,处理器不再响应

键输入要求。程序控制扫描程序应具备以下功能:判断键盘上有无键按下;

去除键的抖动影响;扫描键盘,得到按下键的键号。

定时扫描方式:单片机对键盘的扫描也可采用定时方式,即每隔一定

的时间对键盘扫描一次。在这种扫描方式中,通常利用单片机内的定时器,

产生 10 ms的定时中断,处理器响应定时器溢出中断请求,对键盘进行扫

描,以响应键盘输入请求。

中断扫描方式:对键盘定时扫描控制方式的主要优点,是能及时响应

键入的命令或数据,便于用户对正在执行的程序进行干预。这种控制方式,

不管键盘上有无键闭合,处理器总是定时地关心键盘状态,因为人工键入

动作极慢,有时操作员对正在运行的系统很少甚至不会干预,所以在大多

数情况下,处理器对键盘进行空扫描。为了进一步提高效率,可以采用中

断方式,当键盘上有键闭合时产生中断请求,处理器响应中断,执行中断

燕山大学工学硕士学位论文

28

服务程序,判断键盘上闭合键的键号,并作相应处理。对于本系统的设计,

由于系统的实时性要求不高,所以选择了程序控制扫描方式。

(2)键盘扫描技术 检测到有键闭合时,或因有闭合键而申请中断并得

到响应后,应进行键扫描,以判断是哪个键被按下。通常的键盘扫描方式

有:行扫描法、状态矩阵法、线路反转法。

行扫描法:是在确认有键闭合之后,逐行(或逐列)置低电平,并读入

列(或行)状态,如果出现非全 1 状态,那么 0 状态的行列交叉点就是被按

下键。

状态矩阵法:它主要适用于多定义键。多定义键的含义是多重的,即

同一个键在不同操作状态之下,具有不同的指定功能,即中央处理器执行

完成不同任务的程序。所谓操作状态,指进行该键操作之前,操作了哪个

或哪几个键。由于本系统采用单定义键,在此对状态矩阵法不再赘述。

线反转法:通过单片机本身并行口或扩展的并行口均可实现。比行扫

描法速度快,经过两个步骤即可得到键值。图 3-6为 4×4键盘线反转法的

原理图。该键盘采用中断方式。现将反转法工作的两个步骤分述如下:

1

0

1

1

0

0

0

0

I/O口单片机

IN T

与门

V C C

V C C

D 0

D 1

D 2

D 3

D 4

D 5

D 6

D 7

第一步

(a) First step

第 3章 系统硬件设计

29

1

0

1

1

0

0

0

0

I/O口单片机

IN T

D 0

D 1

D 2

D 3

D 4

D 5

D 6

D 7

第二步

(b) Second step

图 3-6 4×4键盘线反转法的原理图

Fig.3-6 line reversion principle of 4×4 keyboard

第一步如图 3-6(a)所示。首先将 D0~D3 编程设定为输入口线,用于

输入列信息。然后将 D4~D7编程设定为输出口线,并输出 0000。若有按

键闭合,与门的输出将为低电平,此时向处理器申请中断,表示键盘中有

按键闭合。当处理器响应中断后,由中断服务程序读取 D0~D3的列信号,

并将信号存入到专用单元 N中。图中闭合按键位置使 N单元得到的信息为

xxxx1101。

第二步如图 3-6(b)所示。首先将 I/O 口的输入与输出口线反转过来,

即将 D0~D3编程设定为输出口线,将 D4~D7编程设定为输入口线。然

后再将单元 N中的内容送到列线,最后通过输入口线读入行线的状态,并

将其存入 N+1单元中。图示闭合按键位置使 N+1单元得到 0111xxxx信息。

最后将 N与 N+1单元内容拼接得到 0x7D,即为图 3-6中所示的闭合按键

的键值。

(3)按键抖动消除 键触点在闭合或断开瞬间,由于机械触点的弹性作

用,会产生短暂的抖动现象。抖动时间长短与机械特性有关,一般为 5 ms~

10 ms,抖动过程引起电平信号的波动,有可能令处理器误解为多次按键操

作,而引起误处理。

燕山大学工学硕士学位论文

30

消除键抖动影响的硬件方法是为每个键增加一个 R-S(Register and

Storage)触发器,这种方法只适用于键数目较少的情况。若键数目较多,通

常采用软件延时的方法:当检测到有键按下时,调用一个延时(一般为 5

ms~20 ms)子程序,然后再次检测到该键电平仍为闭合状态,才确认该键

已按下,并进行相应处理工作。这种软件延时以消除键抖动影响的措施是

切实可行的。

3.3.3.2 系统键盘设计 系统键盘设计选用非编码键盘系统中的程序控制扫

描方式,设计的矩阵键盘电路如图 3-7所示。

V C C

P1.0

P1.1

P1.2

P1.5

P1.4

P1.3

P6.7

P6.6

P6.5

P6.4MSP43

0F149

图 3-7 矩阵键盘电路图

Fig.3-7 Matrix keyboard circuit

图中行线 P6.4~P6.7通过 4个上拉电阻接电源端 VCC,处于输入状态,

称 P6口为输入口;P1.0~P1.5控制键盘的列线电位,作为键扫描口,处于

输出状态。按键设置在行列线交叉点上,行、列线分别连接到按键开关的

两端。

单片机通过读取 P6.4~P6.7的状态,即可知道有无键按下。当键盘上

没有键闭合时,行、列之间是断开的,所有行线 P6.4~P6.7输入全部为高

电平。当键盘上某个键被按下闭合时,则对应的行线和列线短路,行线输

入电平即为列线输出电平。

键盘中究竟哪个键被按下,是由列线置低电平后,检查行输入状态的

方法来确定。其方法是:可先令列线 P1.0 输出低电平“0”, P1.1~P1.5

第 3章 系统硬件设计

31

全部输出高电平“1”,读行线 P6.4~P6.7输入电平。如果读得某行线电平

为“0”,则可确认对应于该行线与列线 P1.0相交处的键被按下,否则 P1.0

列上无键按下。如果 P1.0列线上无键按下,接着令 P1.1输出低电平“0”,

其余为高电平“1”,再读 P6.4~P6.7,判断是否全为“1”,若是表示被按

键也不在此列,依次类推直到列线 P1.5。如果所有列线均判断完,仍未出

现 P6.4~P6.7读入值为“0”的情况,则表示此次并无键按下。

如果每次都这么判断会很浪费时间,可以先简单的断定一下键盘上究

竟有无键按下。如果有,再执行上述扫描过程。具体方法是先使 P1 口输

出全扫描字“0”(即低电平),然后读 P6.4~P6.7状态。若全为“1”,则键

盘无键按下;若不全为“1”,则有键按下。

3.3.4 串行通信 本系统中单片机与 GSM 通信模块 TC35 之间采用 RS232 方式的串行

通信。

RS-232-C是使用最早,应用最多的一种异步串行通讯总线,它是美国

电子工业协会(Electronic Industries Association)1962年公布的,1969年最后

一次修订而成。其中 RS是 Recommended stander的缩写,232是该标准的

标识,C表示最后一次修订。RS-232-C主要用来定义计算机系统的一些数

据终端设备和数据通信设备之间接口的电气特性。如打印机与中央处理器

通信大都采用 RS-232-C 总线。由于 MSP430 系列单片机本身有一个异步

串行通信接口,因此该系列单片机使用 RS-232-C 串行总线极为方便。

3.3.4.1 异步串行通信简介 许多外部设备和计算机是按照串行方式来进行

通信的。即数据是一位一位进行传输的,在传输过程中,每一个数据都占

据一个固定的时间长度。串行通信可分为同步和异步通信两种类型。

采用同步通信时,将许多字符组成一个信息组,这样字符可以一个一

个的传输。但是在每组信息(通常称为一个信息帧)的开始都要加上同步字

符,在没有信息要传输时,要填上空字符,因为在同步传输的情况下不允

许有间隙。

异步通信是以字符为单位进行传输的,两个字符之间的传输间隔是任

意的,所以每个字符的前后都要用一些数位来作为分隔位。

燕山大学工学硕士学位论文

32

比较起来,在传输率相同时,同步通信方式下的有效信息率要比异步

方式下的高,因为同步方式下的非数据信息的比例比较小。但是从另一方

面看,同步方式下,要求进行信息传输的双方必须要用同一个时钟进行协

调。这样一来,如果采用同步方式,那么在传输数据的同时,还必须传送

时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必

完全一样,只要比较相近,即不超过一定的允许范围就行了。

0/10/1 0/1 ⋯ 0/1 0/1 0/1 ⋯SPA C E电平

M A R K电平

起始位数据位(5~8)

奇耦校验位(可无)

停止位(1,1.5,2)

空闲时间

下一字符起始位

图 3-8 标准的异步通讯数据格式

Fig.3-8Criterion asynchronisms communication sequence

图 3-8 是异步通信时的标准数据格式。采用这种通信方式发送一个字

符时,必须在信息位的前面加上一个起始位,而在信息位的后面加上一个

或多个停止位,所有构成的数据称为一帧。信息的长度可根据需要规定,

一般为 5~8位,信息位和停止位之间还可以插入奇偶校验位。起始位用来

通知接收器已经开始字符传送。接收器一旦收到起始位,就开始装配一个

字符,使接收器和发送器能够同步工作。加在数据字后面的停止位(一个或

多位)能够保证下一个字符的起始位在通信线路上引起跳变。在异步通信方

式下,从一个字符的结束到下一个字符的开始之间,没有规定固定的间隔

长度,因此称为异步传输方式。

异步串行通信一般适用于较低速的通信,传输速度一般最高只能达到

19.2 Kbps(Kilo-Bits Per Second),实际使用一般不超过 9600bps。

在串行通信过程中,数据是以二进制形式在一根线上传输的,通常用

高电平表示二进制 1,而用低电平表示二进制 0。为了保证发送的数据和接

收的数据保持一致,每一位二进制数的持续时间必须是固定的,因此在发

送端和接收端都必须有一个时钟来定时。它们被称为发送时钟和接收时钟。

第 3章 系统硬件设计

33

一位二进制数可以是一个时钟宽度,也可以是多个时钟宽度。异步通信中

发送端和接收端可有自己的独立时钟。因为在异步通信中,一帧信息的长

度只有 10~11位,在起始位启动后,接收时钟只要在接收期间能够和发送

时钟保持同步,就可以正确接收数据[40]。

3.3.4.2 RS-232C 总线标准芯片及通信功能实现 考虑到此次设计中单片机

与 GSM 通信模块 TC35 之间通信为近距离通信,采用了 RS-232C 接口。

RS-232C定义了 20根信号线,其中最常用的信号线的定义、分类及功能见

表 3-3。 表 3-3 RS-232C接口常用引线信号定义

Table 3-3 Pin of RS-232C description 引脚号 信号名称 简称 方向 信号功能

1 保护地 — — 接设备外壳,安全地线

2 发送数据 TXD DCE → DTE发送串行数据

3 接收数据 RXD DTE ← DTE接收串行数据

4 请求发送 RTS DCE → DTE请求切换到发送方式

5 清除发送 CTS DTE ← DCE以切换到准备接收(清除发送)

6 数据设备就绪 DSR DTE ← DCE准备就绪

7 信号地 — — 信号地

8 载波检测(RLSD) DCD DTE ← DCE已接收到远程信号

20 数据终端就绪 DTR DCE → DTE准备就绪

22 振铃指示 RI DTE ← 通知 DTE通信线路已妥

下面来看一下 RS-232C的电气特性。

RS-232C的逻辑 0电平规定为+5~+15 V之间,逻辑 1电平为-5~-15 V

之间,与 TTL、MOS逻辑电平完全不同。在与 TTL、MOS电平连接时必

须经过电平转换。

RS-232C由于发送器和接收器之间具有公共信号地,不能使用双端信

号,因此共模噪声会耦合到信号系统中,这是迫使 RS-232C使用较高传输

燕山大学工学硕士学位论文

34

电压的主要原因。

MAX3222是MAXIM公司生产的专门实现 TTL与 RS-232C电平转换

的芯片。MAX3222芯片内部的电源电压变换器,可以把输入的+3 V电源

电压变换成为 RS-232C输出电平所需的 10 V电压。典型工作电路如图 3-9

所示。用 RS-232C总线连接系统时,有近程通信方式和远程通信方式之分。

近程通信是指传输距离小于 15 m的通信,这时可以用 RS-232C电缆直接

连接。15 m以上的长距离通信需要采用调制解调器。本系统采用近程通信。

Vcc17

C1+2

C1-4

C2+5

C2-6

T1IN 12

R1OUT 13

/EN1

V+ 3

V- 7

T1OUT15

R1IN14

T2IN 11

R2OUT 10

R2IN 9

T2OUT 8

/SHDN 18

GND 16D5 MAX3222VCC

C260.1uf C16

0.1uf

C130.1uf

C140.1uf

C150.1uf

inout

R1

10k

VCC

图 3-9 MAX3222典型工作电路

Fig.3-9 Recommended connection circuit of MAX3222

当两台 PC系列机进行近距离点对点通信,或 PC系列机与外部设备进

行串行通信时,可将两个数据终端设备直接连接,而省去作为数据通讯设

备的调制解调器,这种连接方法称为零调制解调器连接。在这种连接中,

计算机往往貌似调制解调器,从而能够使用 RS-232C标准。在这次设计中

采用了最简单的连接方法[41],如图 3-10 所示。图 3-10 的连接方法直接将

“接收数据”与“发送数据”交叉连接,其余的信号均未用,可用软件实

现握手功能。具体硬件连接图如图 3-11所示。

第 3章 系统硬件设计

35

图 3-10 终端/计算机与终端/计算机连接的最简单形式

Fig.3-10 The simplest connection of terminal/computer with terminal/computer

2

3

5

TIIN RIIN

RIO U T TIO U T

G N D

P3.6

P3.7

A V SS

D V SS

M A X 3222 D B9

D 5 X S5

图 3-11 实现通讯功能的硬件连接图

Fig.3-11 Hardware connection circuit of communication realization

3.3.5 A/D转换功能 在本系统中需将外部传感器采样的模拟信号转换为数字信号并交给单

片机进行处理,因此涉及到模数转换功能。MSP430F149 单片机本身集成

了 A/D模块,简化了外围电路设计。

3.3.5.1 ADC12功能简介 在MSP430F149中模数转换器 ADC12(Analog to

Digital Converter)是 12位精度的 A/D转换模块,具有高速、通用的特点。

内含可独立配置的 5大功能模块:带有采样/保持功能的 ADC内核;可控

制的转换存储;可控制的参考电平发生器;可控制和选择的时钟源;可控

制的采样及转换时序电路。

ADC12 的主要特性可归纳为:最大采样速率为 200 ksps;转换为 12

位精度,1 位差分非线性,1 位积分非线性;内装采样/保持电路,可选择

软件、采样定时器或其它片内定时器来控制采样周期;内装 RC 振荡器,

可以用于产生采样序列;内装用于温度测量的热敏二极管;8 个可配置的

终端或计算机

发送数据

接收数据

发送数据

接收数据 终端或计算机信号地

燕山大学工学硕士学位论文

36

外部信号采样通道;4个内部通道,用于温度、Avcc及外部参考电平采样;

内部的参考电平为 1.5 V或 2.5 V,可用软件选择;可以为每个通道的正负

参考电平选择内部或外部的电压源;可选择转换时钟源;具有单通道单次、

单通道重复、序列通道单次、序列通道重复等转换模式;16个保存转换结

果的 12 位寄存器,可独立用软件访问及配置通道及参考电平;ADC 内核

与参考电平发生器可分别进入省电模式[42]。

3.3.5.2 A/D功能实现 在使用 A/D时,应首先设置相应的寄存器,可称其

为初始化操作,初始化流程如图 3-12所示。

开始

写控制寄存器ADC12CTL0

写转换存储寄存器ADC12MCTLx

写控制寄存器ADC12CTL1

写控制寄存器ADC12CTL0

写控制寄存器ADC12CTL0

返回

图 3-12 初始化流程图

Fig.3-12 Initialization flowchart

图 3-12中控制寄存器ADC12CTL0及ADC12CTL1主要用来定义转换

模式、采样和转换控制信号、A/D时钟、采样时序等;转换存储控制寄存

器 ADC12MCTLx可用来定义每次转换的采样通道和参考电平。

初始化的第一步是第一次写 ADC12CTL0,是为了通过复位 ENC位禁

止转换,在 ENC置位前的所有输入信号将被忽略。ADC12共有 16个转换

存储寄存器(ADC12MEMx)使得 A/D 可以进行多次转换而不需要软件干

第 3章 系统硬件设计

37

预。这一点提高了系统性能,也减小了软件开销。并且每个转换存储寄存

器都配有一个控制寄存器(ADC12MCTLx),提高了转换的灵活性。

初始化的第二步就是通过设置 ADC12MCTLx 中的 SREF 位及 INCH

位选择参考电平和采样通道。

ADC12内部有两种参考电平,可以选择 1.5 V或 2.5 V。参考电平可

以加在 A/D 内核的 VR+上,也可以从外部连接到 VREF+引脚上。如果用外

部的参考电平做参考,则通过 VeREF+引脚加到 VR+上。VR-的参考电平可以

选择 AVSS,也可以经过 VREF-或 VeREF-引脚由外部引入,如果 VREF-或 VeREF-

引脚未用,则 VR-连接到 AVSS。SREF 位与配置参考电平的关系见表 3-4

所示。

如果只用外部的参考电平,那么内部的参考电平发生器可以关闭,以

降低功耗。 表 3-4 参考电平配置

Table 3-4 Selection of reference power

SREF VR+电平 VR-电平

0 AVcc AVss

1 VREF+(内部) AVss

2、3 VeREF++(外部) AVss

4 AVcc VREF-/VeREF-(内部或外部)

5 VREF+(内部) VREF-/VeREF-(内部或外部)

6、7 VeREF++(外部) VREF-/VeREF-(内部或外部)

参考电平 VR+和 VR-建立了可以得到读数的模拟输入信号上下限,分别

为满量程和“0”值。在实际使用中,参考电平和输入模拟信号不应高于供

电电压和低于 VSS。转换数值在输入信号大于等于 VR+时为满量程值,小

于等于 VR-时为“0”。

ADC12的 8个外部模拟信号通道和 4个内部信号经过多路模拟开关选

择。通道由与每个转换存储器对应的 ADC12MCTLx 寄存器的 INCH 位选

燕山大学工学硕士学位论文

38

择,见表 3-5 所示。多路模拟开关为先关后开型,以减小因通道切换而引

入的噪声。它是一个 T型开关,为了尽量减少通道间的耦合,未选中的通

道与 A/D隔离,中间节点接模拟地(AVSS),使得杂散电容接地以减少串扰。 表 3-5 采样通道选择

Table 3-5 Selection of sampling channel

INCH 输入通道

0 A0

1 A1

2 A2

3 A3

┇ ┇

15 A15

初始化的第三步是设置ADC12CTL1寄存器。ADC12CTL1的CONSEQ

位用于定义转换模式:当为 0时选定单通道单次转换;为 1时选定单通道

重复转换;为 2时是序列通道单次转换;为 3时则是序列通道重复转换。

单通道单次转换模式对单一通道完成一次采样,由 ADC12CTL1 中的

CStartAdd 位指定转换存储寄存器,用于保存转换结果。序列通道单次转

换模式对一个通道序列作一次转换,此时 CstartAdd 位指定的为第一个转

换存储寄存器,其后的转换将结果存放在顺序的转换存储寄存器中。单通

道重复转换模式与单通道单次转换模式类似,只是转换在选定的通道上重

复发生,直至用软件将转换停止。序列通道重复模式则与序列通道单次模

式类似,只是序列转换会重复发生,直至用软件将转换停止。以上各种转

换模式,在每次转换结束后,相应的中断标志位 ADC12IFG.x 都会置位。

如果此时允许中断,将产生中断服务请求。

ADC12CTL1中的 ADC12SSEL及 ADC12DIV位分别用于选择转换时

钟源和选择分频系数。当 ADC12SSEL设置为 0时,时钟源为内部振荡器

ADC12OSC;为 1时选 ACLK;为 2选 MCLK;为 3时则选择 SMCLK。

第 3章 系统硬件设计

39

内部振荡器产生约 5 MHz的 ADC12OSC信号。振荡频率会随芯片电源电

压、温度等因素改变。ADC12DIV 位为 0~7 之间的数时,对应于对时钟

源进行 1至 8分频。

在采样操作中,当采样信号 SAMPCON 为高时,采样/保持电路对模

拟信号采样。当 SAMPCON出现下降沿时,转换立即发生。当 SAMPCON

为低时,采样/保持电路保持信号值。转换需要 13 个时钟周期,采样及转

换时序如图 3-13所示。

采样 保持及转换

SAMPCON

开始采样 停止采样,开始转换 停止转换

图 3-13 采样及转换时序

Fig.3-13 Sampling and conversion timing diagram

为了得到精确的转换,在采样期间,输入模拟信号应保持稳定有效。

同时也希望在整个转换过程中,相邻的通道不出现数字活动,以保证电源

毛刺、地电平波动、交互串扰等不会影响转换结果。

控制采样时序及转换开始的 SAMPCON 信号可以来自几种信号。

SAMPCON可来自采样信号输入或采样定时器。采样信号输入在发生输入

选择时有效。当采样定时器作为 SAMPCON的源时,采样信号输入可用于

触发采样定时器。

采样信号输入用 ADC12CTL1中的 SHS位来选择。有 4种选择,即:

ADC12SC、Timer_A.OUT1、Timer_B.OUT0和 Timer_B.OUT1。分别对应

于 SHS的值为 0、1、2、3。ISSH位用于选择采样信号输入极性,为 0时

表示采样输入信号为同向输入;为 1时则表示采样输入信号为反向输入。

ADC12CTL1中的 SHP位为 0时设定 SAMPCON直接来自采样输入信

号;为 1时 SAMPCON来自采样定时器,由采样输入信号的上升沿触发采

样定时器。

燕山大学工学硕士学位论文

40

初始化的第四步是再次写 ADC12CTL0 寄存器。主要是为了通过

ADC12ON位打开 ADC内核,否则无法进行 A/D转换。同时利用 REFON

位选择内部参考电压的开关,用“2~5V”位选择内部参考电压的电压值

等。

初始化的最后一步是最后一次写 ADC12CTL0 寄存器,是为了置位

ENC 位允许转换,其它位已设定的值不变。ADC12CTL0 和 ADC12CTL1

的绝大多数位和 ADCMCTLx的所有位都只能在 ENC为低时才能修改。所

以初始化过程开始先在不影响其它位的情况下,复位 ENC位,并在初始化

结束时置位 ENC位。

本次设计中,参考电平选为内部 2.5 V;转换模式为 A0通道的单通道

单次转换模式;转换结果存储在转换存储寄存器 ADCMEM[0]中;时钟源

选为内部振荡器 ADC12OSC,进行 1分频;选用采样输入信号 ADC12SC

的上升沿触发采样定时器方式,并且禁止中断。

经过上述设定后,就可通过置 ADC12CTL0 中的 ADC12SC 位来启动

采样,通过反复读取 ADC12CTL1中的 ADC12BUSY位来判断转换是否结

束,若结束则读取 ADCMEM[0]值,作相应处理。

3.4 本章小结

本章主要讲述了系统的硬件设计,从系统的两个重要组成部分——监

测中心站和远程监测分站,分别进行了详细的设计。其中监测中心站部分

主要介绍了监测中心服务器和 GSM通信模块 TC35,远程监测分站部分主

要讲述了 MSP430F149单片机的特点、外围电路的设计(包括液晶显示、键

盘功能、串行通信、A/D转换几个部分),最终构成了整个远程监测系统的

硬件框架。

第 4章 系统软件设计

41

第 4章 系统软件设计

4.1 系统软件设计基础

本系统重点就是解决监测中心站与远程监测分站的远程无线通信问

题。系统中采用 GSM无线通信模块 TC35实现两者的数据通信,GSM无

线通信模块 TC35 通过 AT 命令来进行控制,数据传输采用短消息方式。

AT命令和短消息的编码、解码方式是系统软件设计的基础,下面对两者作

详细的介绍。

4.1.1 常见 AT指令及使用方法 AT指令集是指专用于调制解调器的命令集,GSM07.07 协议对 AT指

令做了详细的介绍。计算机和单片机可以发送 AT指令来控制调制解调器,

发送 AT指令给调制解调器时,应注意以下几点:

(1) 每个 AT 命令字符串的最后面必须加上 CR(也就是键盘上的 Enter

键)字符,否则调制解调器将不识别此命令。这个字符就是结束符。

(2) 除了“A/”及“+++”命令外,其它的命令必须加上 AT两个字符。

(3) 命令字符串可以合成一个字符串后再一次送给调制解调器,但总

的字符串长度不得超过 40个字符,而且所有的字符必须一律大写或小写。

(4) 命令集分成 AT 标准命令集、AT 高级命令集、S 缓存器命令集、

AT+F传真命令集及 AT+V语言命令集等[43,44]。

常见的 AT指令[45-47]的功能:

A/:重新执行前一命令,当此字符串被数据收到后,调制解调器即执

行前一个命令,不需要加上 AT,而在此字符串的后面也不需要加上 CR。

+++:从数据模式切换到命令模式。

AT+CMGC:Send an SMS command(发出一条短消息命令)。

AT+CMGD:Delete SMS message(删除 SIM卡内存的短消息)。

AT+CMGF:Select SMS message formate(选择短消息信息格式:

0-PDU;1-文本)。

燕山大学工学硕士学位论文

42

AT+CMGL:List SMS message from preferred store(列出 SIM卡中的短

消息 PDU/text:0/“REC UNREAD”-未读,1/“REC READ”-已读,2/“STO

UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”-全部的)。

AT+CMGR:Read SMS message(读短消息)。

AT+CMGS:Send SMS message(发送短消息)。

AT+CMGW:Write SMS message to memory(向 SIM内存中写入待发的

短消息)。

AT+CMSS:Send SMS message from storage(从 SIM内存中发送短消

息)。

AT+CNMI:New SMS message indications(显示新收到的短消息)。

AT+CPMS:Preferred SMS message storage(选择短消息内存)。

AT+CSCA:SMS service center address(短消息中心地址)。

AT+CSCB:Select cell broadcast messages(选择蜂窝广播消息)。

AT+CSMP:Set SMS text mode parameters(设置短消息文本模式参数)。

AT+CSMS:Select Message Service(选择短消息服务)[48-50]。

4.1.2 短消息的编码方式 根据 GSM07.07协议标准,对 SMS的控制共有 3种实现途径[51]:

(1) 最初的 Block Mode:一个二进制的协议,这个协议适用于在不完

全可靠的地方,特别是对远程设备的控制。但是,Block Mode已是昔日黄

花,目前应用很少。

(2) 基于 AT命令的 Text Mode:定义了一个基于 AT命令以字符为基

础的界面。此模式适用于无智能终端,一般不支持中文。

(3) 基于 AT命令的 PDU Mode:此模式定义了一个基于字符的接口,

以二进制传送十六进制编码的消息块,此模式适用于基于 AT 命令结构的

软件驱动程序,不需要了解消息块的内容,只是在终端之间传送消息块。

因现在手机和 GSM Modem 都支持 PDU 模式,还支持中文,为满足

系统的通用性,系统中短消息均采用 PDU Mode。那么什么是 PDU模式呢,

简单的说是发送或接收手机 SMS的一种方法。PDU串表面上是一串 ASCII

码,由‘0’-‘9’、 ‘A’-‘F’这些数字和字母组成。它们是 8位字节的十六进制

第 4章 系统软件设计

43

数,或者 BCD 码十进制数。PDU 串不仅包含可显示的消息本身,还包含

很多其它信息,如 SMS服务中心号码、目标号码、回复号码、编码方式和

服务时间等[52,53]。发送和接收的 PDU串,结构是不完全相同的。下面介绍

短消息的 PDU编码方式。表 4-1 为发送短消息的 PDU模式的解析,表 4-2

为接收短消息的 PDU模式的解析。 表 4-1 发送短消息的 PDU模式

Table 4-1 The mode of sending short message

SCA FO MR DA PID DCS VP UDL UD

SCA:服务中心地址;

FO:文件字节头,一般为 11;

MR:短消息参数,一般为 00;

DA:目的地址;

PID:协议指示标志,一般为 00;

DCS:数据编码方案;

VP:有效期限,00表示 5分钟;

UDL:用户数据长度;

UD:用户数据域。 表 4-2 接收短消息的 PDU模式

Table 4-2 The mode of receiving short message

SCA FO OA PID DCS SCTS UDL UD

SCA:服务中心地址;

FO:文件字节头,一般为 04;

OA:发送方地址;

PID:协议指示标志,一般为 00;

DCS:数据编码方案;

SCTS:短消息中心时间戳;

UDL:用户数据长度;

UD:用户数据域。

燕山大学工学硕士学位论文

44

下面以两个例子来说明短消息的 PDU编码方式。

例 1:实现将字符“Hi”发送到目的地址“+8613677328099”,短消息

中心号码为“+8613800210500”。

发送的 PDU字符串为:

08 91 683108200105F0 1100 0D91 683176378290F9 0000 00 02 C834

(1) 08——短消息中心地址长度。指(91)+(683108200105F0)8个字节的

长度。

(2) 91——短消息中心号码类型。是 TON/NPI遵守 International/E.164

标准,指在号码前加‘+’号;此外还有其它数值,但 91最常用,91指国

际类型的电话号码。

91——10010001,表 4-3为此号码类型的解析。 表 4-3 号码类型

Table 4-3 Type of number

BIT No. 7 6 5 4 3 2 1 0

Name 1 数值类型 号码鉴别

数值类型(Type of Number):000—未知,001—国际,010—国内,111

—留作扩展;

号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/

电话号码(E.164/E.163),1111—留作扩展。

(3) 683108200105F0——短消息中心号码。对于短消息中心号码的编码

采用的是半位码。取十六进制的 ASCII码,8的 ASCII码是 38,6的 ASCII

码是 36,所以数字编码只要取相应的二进制的后四位就可以有效的表示一

个数字,也就是十六进制的右边一位。所有数字都取二进制的后四位,然

后两两合并,后面的字符是高四位,前面的字符是低四位。依此原则,短

消息中心号码的前两位号码为 86,编码后为 68,同样的 13编码为 31,但

是最后只剩下一个 0,用 F补齐,编码为 F0。其中 86为中国的区号[54]。

(4) 11——文件头字节。

11&h=00010001&b,表 4-4为文件头格式的解析。

第 4章 系统软件设计

45

表 4-4 文件头格式

Table 4-4 Format of file header

BIT No. 7 6 5 4 3 2 1 0

Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI

Value 0 0 0 1 0 0 0 1

bit7:应答路径——TP-RP(TP-Reply-Path)。0—不设置, 1—设置。

bit6:用户数据头标识——TP-UDHL(TP-User-Data-Header-Indicator)。

0—不含任何头信息,1—含头信息。

bit5:状态报告要求——TP-SPR(TP-Status-Report-Request)。0—需要

报告,1—不需要报告。

bit4、bit3:有效期格式—TP-VPF(TP-Validity-Period-Format)。00—不

提供(Not present), 10—整型(标准),01—预留,11—提供 8位字节的一半

(Semi-Octet Represented)。

bit2:拒绝复制——TP-RD(TP-Reject-Duplicates)。0—接受复制,1—

拒绝复制。

bit1、bit0:信息类型提示——TP-MTI(TP-Message-Type-Indicator)。00—

读出(Deliver), 01—提交(Submit)。

(5) 00——信息类型(TP-Message-Reference)。

(6) 0D——被叫号码长度。“8613677328099”共 13位,实际号码长度。

(7) 91——被叫号码类型(同(2))。

(8) 683176378290F9——为被叫号码,它经过了移位处理,实际号码为

“8613677328099”,编码方式与短消息中心号码相同。

(9) 00——协议标识 TP-PID(TP-Protocol-Identifier)。

Bit No.7与Bit No.6两位: 00—如下面定义的分配Bit No.0—Bit No.5;

01—参见 GSM03.40 协议标识完全定义;10—预留;11—为服务中心(SC)

特殊用途分配 Bit No.0—Bit No.5。一般将这两位置为 00。

Bit No.5:0—不使用远程网络;1—使用远程网络。

Bit No.0—Bit No.4:00000—隐含;00001—电传;00100—语音;

燕山大学工学硕士学位论文

46

00010—group3 telefax;00101—欧洲无线信息系统(ERMES);00110—国内

系统;10001—任何基于 X.400的公用信息处理系统;10010—Email。

(10) 00——数据编码方案 TP-DCS(TP-Data-Coding-Scheme)。表 4-5 为

编码控制位的解析。 表 4-5 编码控制位

Table 4-5 Control bits of coding

BIT No. 7 6 5 4 3 2 1 0

Bit No.7与 Bit No.6 :一般设置为 00;Bit No.5:0—文本未压缩,1—

文本用 GSM标准压缩算法压缩;Bit No.4:0—表示 Bit No.1、Bit No.0为

保留位,不含信息类型信息,1—表示 Bit No.1、Bit No.0含有信息类型信

息;Bit No.3与 Bit No.2:00—默认的字母表,01—8bit,10—USC2(16bit),

11—预留;Bit No.1与 Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM

卡特定信息),11—Class 3。

(11) 00——有效期 TP-VP(TP-Valid-Period)。 表 4-6 有效时间计算表

Table 4-6 The table of calculating valid time

VP value(&h) 相应的有效期

00 to 8F (VP+1)*5 分钟

90 to A7 12小时+(VP-143)*30分钟

A8 to C4 (VP-166)*1天

C5 to FF (VP-192)*1 周

(12) 02——用户数据长度 TP-UDL(TP-User-Data-Length)。

(13) C834——用户数据 TP-UD(TP-User-Data)“Hi”[55]。

设需要发送的短消息内容为“Hi”,使用的 GSM 字符集为 7 位编码。

首先将字符转换为 7位的二进制,然后,将后面字符的位调用到前面,补

齐前面的差别。例如:H翻译成 1001000,i翻译成 1101001,显然 H的二

进制编码不足八位,那么就将 i的最后一位补足到 H的前面。那么就成了

11001000(C8),i剩下六位 110100,前面再补两个 0,变成 00110100(34),

第 4章 系统软件设计

47

于是“Hi”就变成了两个八进制数 C834。

PDU 格式支持汉字,汉字的十六进制 PDU 编码直接采用汉字的

Unicode 编码。由于汉字的编码是十六进制的,当中英文出现在同一条短

消息时,中文每个汉字是十六进制的,但字母和数字是八位的编码,所以

这时就要采用统一的十六进制编码,也就是在八位的 ASCII码前面补 0。

假如我们要发送的短消息内容是:“快乐 a”。61H是“a”的 ASCII码,

补齐十六位为 0061H,一个汉字的 Unicode 十六进制编码在 VB 中可以通

过函数 Hex(AscW(”汉字”))获取,比如取“节”字的编码就可以直接利用

函数 Hex(AscW(”节 ”)),解码也非常方便的利用函数 ChrW(”&H”

&”8282”),就可以得到 8282所对应的汉子也就是“节”。

以上是对发送的短消息 PDU模式的详细介绍,接收短消息的格式与发

送格式类似,下面举例说明。表 4-7是对接收到的短消息 PDU格式的解析。

例 2 接收的短消息内容:

08 91 683108200105F0 04 A1 3156914657F6 00 08 20701190021520

022D4E 表 4-7 接收短消息的 PDU模式解析

Table 4-7 Explain to PDU mode of the receiving short message

08 91 683108200105F0 04 A1 3156914657F6

服务中心

长度

服务中心

类型 服务中心地址

文件

字节头

源地址

类型 发送方地址

00 08 20701190021520 02 2D4E

协议指示

标志

编码方式

中文编码

时间戳

02/07/11/09:20:

51.2时区

用户数

据长度 用户数据

4.2 监测中心站软件设计

监测中心站程序设计采用 Visual Basic 6.0作为开发工具,其软件包括

监测中心控制界面及初始化程序、短消息的收发程序,数据处理和保存程

燕山大学工学硕士学位论文

48

序。其中最重要的是监测中心服务器与 GSM无线通信模块 TC35之间的串

口通信,它是实现短消息接收和发送的关键。Visual Basic 6.0提供了串口

通信控件 MSComm,能够方便的实现串口通信,下面简要介绍通信控件

MSComm。

4.2.1通信控件 MSComm简介 VB 下的串口通信是通过其提供的控件 Microsoft Comm control(简称

MSComm)实现的。该控件屏蔽了通信过程中的底层操作,程序员只需设置

并监视 MSComm 控件的属性和事件,结合其他 VB 提供的控件就完成对

串口的初始化和数据的发送接收。本系统中用到的 MSComm 控件属性[56]

如下:

(1) CommPort属性:用于设置或返回通信连接端口号码。程序必须指

定所要使用的串口号码,Windows系统会使用所设置的通信端口与外界进

行通信。程序也可借助此属性返回所使用的连接端口号。在此所设置的通

信号由 1开始往上递增,MSComm控件的最大值是 16,当超过 16时,此

控件会生成错误信息。

例如:MSComm1.CommPort=1指定使用 COM1进行通信传输。

(2) Setting 属性:Setting 属性用于设置初始化参数。以字符串的形式

设置或返回联机速率、奇偶校验、数据位、停止位等 4个参数。其格式为

“BBBB,P,D,S”,其中 BBBB表示联机速率,P表示奇偶校验位检查方式,

D 表示数据位,S 表示停止位数。默认值是“9600,N,8,1”,它表示所使用

的通信端口是以每秒 9600位的速率进行传输,不进行奇偶校验位的检查,

每个数据单元是 8个位,而停止位是 1个位,联机速率可为 110bps、300bps、

600bps、1200bps、2400bps、9600bps 等。Mark 是在奇偶校验的位置放一

个 1的位,Space则是在奇偶校验的位置上放一个 0的位。由于 RS-232用

于通信时,一般的连接距离都不会太长,因此默认值是不进行奇偶校验。

正确的数据位有:4,5,6,7 和 8(默认值)。日本系列的产品多使用 7 位

的数据位,而欧美的产品多采用 8 位数据位。正确的停止位的值有:1(默

认值),1.5或 2。Settings设置完以后,所传输及接受的字符串以此设置为

准,使用 RS-232通信的双方,Settings设置必须完全一样,彼此才能顺利

第 4章 系统软件设计

49

通信,否则双方将无法正确的收到彼此所传输的数据信号。

例如:MSComm1.Settings=“9600,N ,8,1”

(3) PortOpen 属性:PortOpen 属性用于设置或返回通信连接端口的状

态。使用串行端口之前必须先将要使用的串行端口打开,而且再使用完毕

之后,也必须执行关闭操作。串行通讯端口的各功能都是在 PortOpen 的

True和 False之间完成的。

(4) Input属性:用于从输入缓冲区返回并删除字符。程序靠此命令将

对方传到输入缓冲区的数据读入程序中,并清除缓冲区中已被读取的数据。

例如:Buffer$=MSComm1.Input,将输入缓冲区的字符读入 Buffer字符

串变量中。

(5) Output属性:用于将要发送的数据输入传输缓冲区。当程序需要传

输字符串到对方时,可将字符串使用此命令输入输出缓冲区中。

例如:MSComm1.Output=“ABCDE”,将 ABCDE 这 5 个字符通过

RS-232串行通信端口发送出去。

(6) InputLen属性:用于指定由串行端口读入的字符串长度或字节数。

Visual Basic程序可使用 Input命令将存放在输入缓冲区的字符读入,但要

指定所读入的字符长度则需要设置本属性。

(7) HandShaking属性:用于指定通信双方的握手协议,只有在缓冲区

没有超速的情况下,才能保证数据不被遗失。而缓冲区超速是指数据到达

连接端口的速度太快,以致于通信装置来不及将数据移到接收缓冲区。握

手协议所进行的是数据传输速度的控制,因此也被称为“流量控制”;简单

的说,当双方传输数据时,如果一方送出数据快于另一方所能处理的速度

时,接收的一方便要求发送的一方暂停数据的发送,待接受的一方处理完

数据之后,再通知发送方继续发送未传完的数据。

(8) Rthreshold属性:用于设置或返回引发接收事件的字节数,即属性

页的“最小接收字符数”。当接收缓冲区达到所设置的字节数时,将引发

OnComm 事件中的接收事件。此属性也就是引起接收事件的“阈值”。此

属性默认是 0,其意义是无论缓冲区中有多少字符均不引起接收事件。

例如:MSComm1.Rthreshold=20,当接收缓存区达到 20 字符时,引发

燕山大学工学硕士学位论文

50

接收事件。

(9) Sthreshold属性:若设置 Sthreshold属性为 0,则不生成 OnComm

事件中的发送事件。若设置 Sthreshold属性为 1,将使用的MSComm控件

在传输缓冲区完全空时,生成 OnComm事件。如果在接收缓冲区中的字符

数少于所设置的数值,则 CommEvent属性会被设置为 commEvSend,并生

成 OnComm事件。

例如:MSComm1.Sthreshold=20,当发送缓冲区字符少于 20个字符时

引发发送事件。

(10) CommEvent 属性:在通常错误或事件发生时都会生成 OnComm

事件,CommEven属性存有该错误或事件的数值码。

(11) DTREnable属性:用于判断通讯时是否启用 Data Terminal Ready

线路。通常 Data Terminal Ready是使由计算机发送到调制解调器的信号,

表示计算机在等待接受传输。当 DTREnable 设置为 True,Data Terminal

Ready 线会在连接端口打开时被设置为高电位,在连接端口关闭时被设置

为低电平。

例如:MSComm1.DTREnable=True,将 DTR引脚升为高电位。

(12) RTSEnable属性:用于决定是否使 Request To Send线有效。一般

情况下,由计算机发送 Request To Send信号到调制解调器,以请求准许发

送数据。如果 RTSEnable设置为 True,则连接端口打开时 Request To Send

线会被设置为高电平,连接端口关闭时就被设置为低电位。

(13) InBufferCount属性:用于返回在接收缓冲区中的字符数。该属性

在设置阶段无法使用。InBufferCount是指已接收,并在缓冲区中等待读取

的字符数。用户可以把 InBufferCount设置为 0,以清除接收缓冲区。

例如:Count%=MSComm1.InBufferCount,返回已接收到的字符数。

(14) InputMode属性:用于设置或返回 Input属性如何取回数据,数据

可能会以字符串的形式接收或是作为字节数组中的二进制数据来接收,完

全要由属性的设置来决定。

有两种方法可实现 VB串行通信的控制:一是查询法(Polling),二是事

件驱动法(Event-driver)。

第 4章 系统软件设计

51

(1) 查询法

这种方法是在每个重要的程序之后查询 MSComm 控件的某些属性值

(如 CommEvent属性和 InbuferCount属性)来检测事件和通信状态。适用于

小程序。查询可使用定时器或 Do…..Loop实现。

(2) 事件驱动法(Event—driven)

这是处理串口通信的一种有效方法。当串口接收和发送指定数量的数

据或当串口通信状态发生改变时,MSComm控件就将触发 OnComm事件。

在 OnComm事件当中,可通过检测MSComm,CommEvent属性值获知串

口的各种状态,从而进行相应的处理。这种方法程序响应非常及时,可靠

性比较高。

4.2.2 软件设计

监测中心站软件设计任务包括:发送指令给远程监测分站(以短消息形

式);接收远程监测分站的监测数据(以短消息形式);保存并处理数据库,

打印历史数据。采用 VB 设计监测中心站软件,优点在于它有良好的人机

界面,自身提供的串口通信控件 MSComm 便于实现串口通信,编程简单

操作方便,便于与数据库建立连接并进行数据库的管理。以下分几个部分

对监测中心站进行软件设计。

4.2.2.1 人机操作界面设计 启动 VB 并新建工程,往窗体中加入一个通信

控件(MSComm1)以访问串口。两个 Frame框即短消息发送区和短消息接收

区。在发送区中有四个文本框和两个按钮:Txtcen用于设定短消息中心号

码;TxtPhon用于输入接收方电话号码(对应远程监测分站的序号);Txtcon

用于输入要发送的短消息内容;Txtpdu 用于显示要发送的短消息的 PDU

格式内容(为 ASCII 码);“生成短消息”按钮,可将要发送的短消息生成

PDU 格式;“发送短消息”按钮,可将编辑好的短消息发送给接收方。在

接收区有三个文本框用于显示来电号码、来电时间、来电内容;一个 Timer

控件用于周期性串口查询,当有短消息进入时,将短消息读入并对短消息

进行解码,将短消息号码、发送短消息时间、短消息内容分别显示在文本

框中,同时保存在设定好的数据库中。短消息收发界面如图 4-1所示。

燕山大学工学硕士学位论文

52

图 4-1短消息收发界面

Fig.4-1 Interface of receive and transmit SMS

4.2.2.2 各个功能块设计 包括串口初始化、发送短消息、接收短消息和数

据库接口几个功能块。

(1) 串口初始化

监测中心站通过串口控制 GSM 无线通信模块 TC35 接受和发送短消

息,VB提供了通信控件MSComm,以下是对它的设定[57]。

MSComm1.Settings = "9600,n,8,1" '波特率 9600,无奇偶较验,8

第 4章 系统软件设计

53

位数据位,1位停止位(“'”后面内容为注释)

MSComm1.InBufferSize = 5000 '设置接收缓冲区字节大小长度

MSComm1.OutBufferSize = 5000 '设置发送缓冲区字节大小长度

MSComm1.Handshaking = comRTS 'RTS/CTS握手

MSComm1.CommPort = 1 '选择端口 1

MSComm1.PortOpen = True '打开端口

(2) 发送短消息

短消息的接收和发送是通过 AT 命令控制 GSM 无线通信模块 TC35

实现的。发送短消息的过程:首先将短消息中心号码、对方号码、短消息

内 容 编 码 成 PDU 格 式 ; 然 后 计 算 出 短 消 息 的 长 度 , 发 送

AT+CMGS=<lenght><CR>,<CR>代表回车即 ASCII码 0x0D。等待 TC35

模块返回 ASCII字符“〉”,则可以将 PDU数据输入,PDU数据以<Z>作

为结束符。短消息发送结束后模块返回<CRLF>OK<CRLF>。发送短消息

流程图如图 4-2所示。

NO

开始

初始化:设置变量

判断是否对短消息进行了编码

发送at+cmgs=<lengh>

调用短消息编码程 序

等收到字符”>”后 ,发送 PDU模式的短消息

等收到字符”>”后,发送

结束

YES

图 4-2发送短消息流程图

Fig.4-2 Flow chart of transmit SMS

燕山大学工学硕士学位论文

54

(3) 接收短消息

接收短消息使用定时器进行周期性串口查询的方式。短消息到达后,

计算机可以接收到指令<CRLF>+CMTI:“SM”,INDEX(短消息存储位

置)<CRLF>。读取 PDU数据的 AT命令为 AT+CMGR=INDEX<CRLF>,

执行此命令后模块返回刚刚收到的 PDU格式的短消息内容。收到 PDU格

式的短消息后,将这个短消息进行解码,解码出短消息发送方的手机号码、

短消息发送时间、发送的短消息内容。最后,将这三项内容显示在界面上,

并将它们存储到数据库中。接收短消息流程图如图 4-3所示。

YES

开始

结束

接收缓冲区是否为空

初始化:设置变量

是否为短信提示

关闭 Tim er1

读取 SIM卡中的短消息

对短消息进行解码并显示在界面上

删除 SIM 卡中的短消息

将收到的短信存入数据库

清接收缓冲区

打开 Tim er1

YES

NO

NO

图 4-3接收短消息流程图

Fig.4-3 Flow chart of receive SMS

第 4章 系统软件设计

55

(4) 数据库接口

在 Visual Basic中,常用的数据访问接口有下列三种:数据库访问对

象(DAO,Data Access Object)、远程数据库对象(RDO,Remote Data Object)

和 ActiveX数据对象(ADO,ActiveX Data Object )。其中最新的是 ADO,

它是比 RDO 和 DAO 更加简单,然而更加灵活的对象模型。因此,系统

使用 ADO作为数据库访问接口。

在开发过程中,通常的使用方法是:先使用数据库管理系统(本系统

采用Microsoft Access)建立好数据库和相应的数据表结构,然后在程序中

通过使用 ADODC数据库控件与数据库中的数据表建立连接,再通过数据

库感知控件进行数据库的各种操作。以下是与事先建立好的数据库的连接

程序:

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=E:\Jeffrey\vb 短消息程序调试\短消息调试备份(最终成功)\

短消息收发成功与数据库建立连接 (有删除功能 )\短消息收发纪

录.mdb;Persist Security Info=False"

rs.Open "短消息收发纪录 ", conn, adOpenKeyset, adLockPessimistic

rs.AddNew

rs.Fields("来电号码").Value = Txtnum.Text

rs.Fields("来电时间").Value = TxtTime.Text

rs.Fields("来电内容").Value = TxtReiceve.Text

rs.Update

rs.Close

conn.Close

利用数据库实现了将接收到的短消息按照来电号码(对应远程监测分

站序号)、来电时间、来电内容(所需测量的数据)分类保存,使得查询、处

理历史数据方便快捷,保存的历史数据为系统制定合理的控制方案提供了

有力依据。

燕山大学工学硕士学位论文

56

4.3 远程监测分站软件设计

远程监测分站主要任务:通过 A/D进行转换并处理外围传感器采集的

数据;显示接收到的短消息(控制指令);通过键盘按键触发发送实时数据

给监控中心或管理人员;控制GSM无线通信模块TC35接收和发送短消息。

MSP430F149 系列单片机支持 C 语言编程,系统软件开发以 IAR 公司为

MSP430 系列单片机开发的 C430 集成开发环境和 C 语言调试器作为开发

工具[58],软件设计采用模块化编程,各功能模块以子函数形式出现,缩短

了软件开发时间,易于程序修改和移植。以下对各个功能单元进行设计。

4.3.1 A/D转换部分 MSP430F149单片机本身提供了 ADC12,下面以单通道多次采样为例

来说明如何对 ADC12的各个控制寄存器进行设置。

#include "msp430x14x.h" //包含头文件(//为注释标志,它后面的内容在

程序中是注释的,程序不运行此部分)

extern void ADCnum(void); //定义子函数名称和类型

int i=0, kp=0; //定义全局变量

unsigned int sumall; //采样的数据累加值

int ADC_Result; //单次采样的数据值

void ADCnum(void)

{

ADC12CTL0 &=~ ENC; //在进行设置时首先复位 ADC的转换使能

ADC12CTL0 = ADC12ON+REF2_5V+SHT0_8; //采用内部 2.5V参考,

打开通道 10 REFON自动打开

ADC12CTL1 = SHP+ADC12SSEL_2; //上升沿采样,主时钟, MEM0

ADC12MCTL0 = EOS + INCH_0+SREF_1; //选择通道 0,Vref+为

参考电压

ADC12CTL0 |= ENC; //ADC的转换使能

while (kp<16) //采样 16次

第 4章 系统软件设计

57

{

ADC12CTL0 |= ADC12SC; // 开始转换

while (!(ADC12IFG & BIT0)); //如果转换完毕,读走数据

ADC_Result=ADC12MEM0; //将数据转存到 ADC_Result

sumall=sumall+ADC_Result; //将 ADC_Result得值累加

kp++;

}

sumall=sumall/16; //取 16次采样结果的平均值

}

单片机负责进一步处理采样得到的数据,把它编码成 PDU格式以便以

短消息的形式发送到监测中心站,实现远程监测。

4.3.2 LCD显示部分 4.3.2.1 液晶驱动函数 包括液晶复位、初始化、液晶全点亮等函数。

在编写液晶驱动程序之前,应先了解其读/写时序和指令集,知道要实

现相应功能应在什么时刻输入哪些命令和数据。在并行接口,6800系列接

口方式时的读/写特性如图 4-4所示。

TA W 6 TA H 6

A 0

R //W

/C S1

(C S2=1)

E

D 0-D 7

(写)

D 0-D 7

(读)

TC Y C 6

TEW H W TEW H R TEW LW TEW LR

TD S6

TA C C 6 TO H 6

TD H 6

图 4-4 交流读写特性

Fig.4-4 Read and write cycle timing diagram

燕山大学工学硕士学位论文

58

图中 A0 信号电平高低决定数据口输入的是控制命令还是显示数据,

不同的控制命令可设定液晶的一些特性参数或者决定显示数据在屏幕上的

位置;/CS1 及 CS2 信号决定选片与否,在此时序图中,假定 CS2 一直为

高电平,而由/CS1决定片子选通与否;E为输入使能端,68系列时高电平

有效,80系列则低电平表示读有效;D0~D7为输入输出数据信号,可将

其选为并行数据口或串行数据口。由于本次采用的是并行接口,6800系列

方式,对于串行及 80系列方式不再叙述。

以下会根据具体选择的单片机 MSP430F149,依据图 4-4 所示的交流

读写特性给出相应程序的设计过程及硬件连接方式。图 4-4 中各符号的含

义如表 4-8所示。 表 4-8 读写时序参数表

Table 4-8 Read and write cycle timing parameters

VDD=2.4~4.5V Ta=-20~+70℃

项目 适用端 符号 最小 最大 单位

系统周期时间 --- TCXC6 4.50 — Ns

地址设置时间

地址保持时间

A0

R//W

TAW6

TAH6

15

19

— Ns

数据设置时间

数据保持时间

TDS6

TDH6

40

15

— Ns

输出禁止时间

访问时间

D0至 D7TOH6

TACC6

10

100

140

ns

ns

读 TEWHR 140 — Ns 使能低电

平宽度 写 E

TEWHW 60 — Ns

TEWLR 140 — Ns 使能高电平宽度 E

TEWLW 200 — Ns

第 4章 系统软件设计

59

与单片机 MSP430F149的具体连接情况为:VSS脚接地;C86、VDD、

P/S脚接高电平;片选/CS1通过反向放大器接到单片机 P5.4脚,CS2则直

接接到 P5.4脚;A0、/RD(E)、/WR(R/W)及/RES端依次接到单片机 P5.0~

P5.3脚;D0~D7则接到单片机 P2口。

程序初始化流程图如图 4-5所示。

送/RES信号

置LCD偏压比

设置寄存器电压

A D C选择

设置供电控制

显示开

图 4-5 程序初始化流程图

Fig.4-5 Initialization flowchart

由程序初始化流程图可看出应先发送复位信号/RES。在发送/RES信号

后,该 LMB-018 模块会自动设定默认值。复位时序如图 4-6 所示。其中

TR为复位时间,TRW为复位低脉冲宽度,最小值为 1.0 μs,最大不限制。

复位中 复位结束

TR

TR W

/R ES

内部状态

图 4-6 复位时序

Fig.4-6 Reset timing diagram

燕山大学工学硕士学位论文

60

因单片机 P5.3 脚接于/RES 端,根据时序图 4-6,先使 P5.3 脚输出高

电平“1”,延时一段时间;再将其置为低电平“0”,延时 1.0 μs 以上;

最后置为高电平,延时,结束复位工作。程序如下所示:

P5OUT|=0x08;

for(i=0;i<4;i++);

P5OUT^=0x08;

for(i=0;i<8;i++);

P5OUT^=0x08;

for(i=0;i<8;i++); 完成复位之后,就应设置相应参数。由读/写特性图 4-4看出,通过数

据线 D0~D7 和控制线进行读写操作时,应先使 LMB-018 模块的引脚 E

发送使能信号。根据表 4-8 可知使能信号高低电平宽度限制并不严格,只

给出最小值而且是 ns级,很容易满足。当然,在发使能信号前引脚 E的状

态是不定的,为了避免验证初态的麻烦,可以用 C语言中的异或运算来实

现电平的改变,其程序如下:

void enable(void)

{

int ii;

P5OUT^=0x02;

ii=1;ii=2;ii=3;ii=4;

P5OUT^=0x02;

return;

}

程序中的 ii 赋值过程是为了实现短暂的延时。当 P5.1 脚(接于液晶 E

脚)初态为“1”时,与“0x02”异或后变为“0”,经延时后的第二次异或

又变为“1”;当初态为“0”时,变换过程为“0”→“1” →“0”。都能

达到复位目的。接下来就应实现偏压的设置,在这里选用 1/6偏压,即 D7~

D0的输入为“0xA3”。在输入“0xA3”前应先将 A0置低,/RD置高,/WR,

即使单片机的 P5口输出“0x1A”。

第 4章 系统软件设计

61

P50UT=0x1A;

enable();

P2OUT=0xA3;

enable();

初始化流程中其它部分实现过程与此类似,不再叙述。

完成初始化之后,就可以向液晶模块中写显示数据。对于本模块一般

不用读模块的状态来查询是否能往模块中写数据。只要每次往模块中写数

据后,都有一定的延时,就能达到模块的要求。其流程图如图 4-7所示。 置A0=0

输入显示的页地址

输入显示的列地址

置A0=1

输入显示数据

数据结束?

Y

N

其它操作

图 4-7 写显示数据流程

Fig.4-7 Write flowchart of show data

将 A0置为 0,是说将要输入的数据是指令,置为 1,则是说输入的为

要显示的数据。在这里将要显示的是一些字符及汉字。就以汉字为例来说

明显示过程。一个汉字的字模由 32个字节组成,在液晶屏上显示时,要占

用 16列,2页的位置。虽然当输入显示数据时,模块的列地址会自动加 1,

但为了能在屏幕的任意位置显示汉字,并且不会出现交叉重叠现象,就应

将整个液晶屏进行一下划分。一屏有 8页,128列,恰好显示 4行,8列总

共 32 个汉字。那么每个汉字的起始地址就应是偶数页,起始列地址应是

燕山大学工学硕士学位论文

62

16的整数倍,也就是当用十六进制表示列地址时,它的末位数应为 0,高

位为 0~7。这样在形式上将页地址设为 0~3,列地址设为 0~7,再通过

软件进行处理,转换为液晶认识的数。

列地址高 4位、低 4位是分开发送的。假设 y是我们接收到的,由使

用者发来的列地址,范围是 0~7 ,则首先应得到列地址高 4 位 yh,则

yh=y&&0x0F;列地址低 4 位总是 0,yl=0x00;页地址 x=2x1(其中 x1 是程

序接收的页地址 0~3,对应液晶的 0、2、4、6页)。接下来再按时序图 4-7

要求,将字模的 32个字节按液晶的 2页送出就可完成显示。

当显示字符时,就应将液晶的一页在形式上分为 16 列,则列地址 0

对应实际列地址 0,而列地址 1对应 0x08,2对应 0x10依次类推。

此外,液晶屏显示数据并不是不变的,所以还应该设计有清屏函数,

清屏的实现流程同图 4-7,只不过最后在液晶屏的每行每列显示的数据都

是 0。这样在每显示一屏信息之前先调用清屏函数,可避免以前显示数据

的影响。

4.3.2.2 LCD短消息显示 短消息采用 Unicode编码、解码方式,不仅需要

显示字符、数字还需要显示汉字,单片机显示功能要通过查询提供的字库。

本系统根据标准的 16*16点阵字库建立自己的小型字库以便于单片机显示

查询[59]。

建立小型字库程序范例比较普遍,以任意一种方式建立均可,主要是

提取每个汉字的 16*16 点阵信息,Unicode 编码中每个字符、数字和汉字

均对应一个数值。

例如:“学”的 Unicode编码为 23398,“学”的 16*16点阵信息是:

{ 0xbf,0xfb,0xcf,0xfb,0xee,0xfb,0x69,0xfb, 0x6f, 0xfb, 0x6f, 0xbb,0x6e,0x7b,

0x69,0x81,0x6f,0xf9,0x6f,0xfa,0x67,0xfb,0xeb,0xfb,0xec,0xfb,0xaf,0xf9,0xcf,

0xfb,0xff,0xff }。

单片机在接收到短消息以后,调用短消息解码程序得到短消息内容所

对应的 Unicode 编码,程序建立了结构体,建立起每个汉字的点阵信息与

其所对应的 Unicode 编码之间的联系,调出 Unicode 编码就得到其点阵信

息,这样就可以实现在液晶屏上的汉字显示。例如要调用“学”的 16*16

第 4章 系统软件设计

63

点阵信息只要调用其对应的 Unicode编码即可。建立的结构体如下:

struct menulib

{

unsigned int index; //汉字的 Unicode编码

char menuhz[32]; //该汉字对应的 16*16点阵信息

}

短消息的 LCD显示过程如下:单片机接收短消息;调用解码程序得到

每个汉字对应的 Unicode编码;查询字库得到对应的 16*16点阵信息;调

用 LCD显示程序显示短消息内容。

用 C语言实现如下:

void put_HZ(char *d,int x,int y,int z) //LCD打点程序

{

int yh,yl;

int i,j,page;

P2DIR=0xFF;

yh=0x0f&y;

yh+=0x10;

y*=16;

yl=0x0f&y;

page=(0xB0);

x*=2;

page+=x;

P5DIR = 0x7F;

for(i=0;i<2;i++)

{

P5OUT = 0x1A;

P2OUT = (page+i); //送页号

enable();

P2OUT = yh;

燕山大学工学硕士学位论文

64

enable();

P2OUT = yl;

enable();

P5OUT = 0x1B;

if(y==0)

{

P2OUT = 0x00; //collum start from 2

enable();

P2OUT = 0x00;

enable();

}

for(j=0;j<16;j++)

{

P2OUT = (~d[i+j*2]);

enable();

}

}

return;

}

void LCD_test(void) //汉字显示程序

{

int i,d,j;

for(i=0;i<mlens/2;i++)

{

for(j=0;j<15;j++)

{

d = i;

if(lib[j].index==LMESSAGE[i])

put_HZ(lib[j].menuhz,d/8,(d-(d/8)*8),0);

第 4章 系统软件设计

65

}

}

return;

}

4.3.3 键盘控制部分 在上一章中对键盘功能部分的硬件设计做个详细地讲述,在前述硬件

设计的基础上来设计键盘功能的软件部分。整个流程图如图 4-8所示:

开始

有键闭合?

延时10 m s

有键闭合?

查键盘值并存储

已闭合键释放?

返回

N

Y

Y

N

N

Y

图 4-8 扫描键盘流程图

Fig.4-8 Scan flowchart of keyboard

查询有无键按下的程序名为 get_a_key(),当有键按下时返回值为 1。C

语言程序如下:

char getch(void); //定义子函数名称和类型

char get_a_key(void);

extern void delay(int ms); //延时子函数

P6DIR=0x00;P1DIR=0xFF; //先将 P6口置为输入,P1口置为输出。

燕山大学工学硕士学位论文

66

P1OUT=0x00; //通过 P1口使所有列线输出低电平“0”。

any_key=P6IN; //读取 P6口状态,以判断按键情况。

char getch(void)

{

char key_No,key_pressed;

int i;

int scan_word,line_word;

int code[16]={0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3};

P6DIR&=0x00 //将 P6口设为输入。

P1DIR=0xFF; //将 p1口设为输出。

key_pressed=0;

key_test:

while(!key_pressed) //此循环用于判断有无键按下

{

key_pressed=get_a_key();

}

delay(1); //延时,用于键盘去抖动。

key_pressed=get_a_key(); //再次判断有无健按下。

if(!key_pressed)

goto key_test; //如果没有再次检测到键值,说明是键盘抖动

//造成的误判断,应继续判断有无键按下。

scan_word = 0x0FE; //确实有键按下,则接着判断是哪个键。

key_No = 0x0FF;

for(i=0;i<6;i++) //有 6条列线,需循环扫描 6次。

{

P1OUT =scan_word; //首先让 p1口输出 11111110。

line_word =P6IN; //读行线的输入电平。

line_word =~line_word;

line_word&=0xF0; //只保留 P6.4~P6.7脚的读入状态。

第 4章 系统软件设计

67

if(line_word) //如果 line_word不为 0,说明此列有键,按下得到键值。

{

line_word/=16;

key_No = 6*code[line_word]+i;

goto END;

}

scan_word*=2; //若现在判断的列无按键,则改 scan_word

//值,为判断下一列做准备

scan_word+=1;

}

END:

while(key_pressed) //等待,直到按键松开再返回键值

{

key_pressed=get_a_key();

}

return key_No;

}

系统根据检测的键盘序号决定执行其对应的操作,例如可以定义以下

操作:

1——发送实时检测数据给管理人员的手机;2——发送实时监测数据

给监测中心站服务器;

其他键盘序号可根据需要自行定义。

4.3.4 短消息收发程序和主程序设计

用单片机接收和发送短消息与 PC 机基本相同,不同之处在于要将

PDU 格式的短消息以 ASCII 码的形式发送给 GSM 模块 TC35。单片机控

制 TC35接收和发送短消息是通过 RS232的串口通信实现的。在监测中心

站中已经给出接收和发送短消息的程序流程,在此不再赘述。远程监测分

站主程序流程如图 4-9所示。

燕山大学工学硕士学位论文

68

串口接收短消息

开始

硬件初始化

定时和串口中断初始化

参数初始化

Modem连接?

NO

YES

串口中断或定时中断?

串口中断信号 定时中断信号

解码短消息并显示

执行控制指令

读取ADC12MEM

编码成短消息

向Modem发送发送指令

YES

NO

超限报警信号?YES

NO

开始采集信号并A/D转换

发送振铃信号

图 4-9监测分站主程序流程图

Fig.4-9 Flow chart of dispart monitoring station’s program

4.4 本章小结

本章主要讲述了系统的软件设计,分三个部分:系统软件设计基础、

第 4章 系统软件设计

69

监测中心站软件设计和远程监测分站软件设计。系统软件设计基础主要讲

述了常见 AT 指令及使用方法和短消息的编码方式;监测中心站软件设计

主要介绍了通信控件 MSComm,并详细讲述了中心站的界面设计方案和各

个功能模块的具体设计方案;远程监测分站软件设计分A/D转换部分、LCD

显示部分、键盘控制部分和短消息收发程序和主程序设计四个部分,分别

讲述了详细的设计过程,并给出了部分源程序。这一章的软件设计使系统

真正实现了基于 GSM的远程监测。

燕山大学工学硕士学位论文

70

第 5章 基于 GSM的远程温度监测系统

5.1 引言

温度监测系统是一个典型的、在工业控制中应用极其广泛的系统,对

于不同控制对象的温度进行监测具有很强的应用性。对于特定场合由于监

测中心与监测分站的通信距离较远、监测分站比较分散、监测分站比较偏

远等,利用现有的有线通信需铺设专门的通信线路,使得系统的造价提高。

基于此本章提出了一个方案,将前面章节设计的基于 GSM 的远程监测系

统与温度检测相结合,引入 GSM 网络的短消息传输方式,从而有效地克

服了现有远程监测系统的不足,设计出了一种全新的基于 GSM 的远程温

度监测系统。

5.2 系统的总体结构与功能

5.2.1 系统的总体结构 根据前面章节设计的远程监测平台,本系统采用温度监测中心站和远

程温度监测分站两部分的设计方案。系统结构图如图 5-1所示。

5.2.2 系统功能 温度监测中心功能:

(1) 控制 GSM无线通信模块收发短消息,接收各个监测分站采集的温

度数据,然后对数据进行显示、存储、打印、处理。

(2) 对监测分站温度传感器的阈值进行设置。

远程温度监测分站功能:

(1) 控制 GSM无线通信模块收发短消息,处理温度传感器采集的数据

并且实现 LCD显示。

(2) 将采集到的温度数据与阈值比较,当不在阈值范围内时发出报警

信号,同时发出控制信号关闭或启动加热设备,以保证监测对象的温度在

阈值范围。

第 5章 基于 GSM的远程温度监测系统

71

GSM模块

RS232

GSM网络

蜂窝电话

调制解调器 调制解调器

工作站

调制解调器蜂窝电话

蜂窝电话

数据库

RS232

监测中心主机

GSM模块

GSM模块

温湿度数据采集节点

RS232

远程温度监测分站

温湿度数据采集节点

远程温度监测分站

N个监测分站

图 5-1 系统结构图

Fig.5-1 System architecture

5.3 系统硬件设计

本系统的硬件设计部分完全采用前面章节所设计的基于 GSM 的远程

监测系统,不同之处是在本系统中加入了具体的温度检测电路,所以在这

一部分着重设计温度检测电路。

温度传感器是温度检测电路的基本单元,可分为以下几种:热电偶传

感器、热电阻传感器、PN结温度传感器、新型温度传感器、温度变送器。

本系统设计目标是应用于物品储存、粮食储存的大型仓库,农业上的

大型种植、养殖温室等,检测的温度为常温(-50°C~150°C)。根据系统的要

求选用热敏电阻检测温度。

燕山大学工学硕士学位论文

72

5.3.1 热敏电阻工作原理 热敏电阻工作原理是利用电阻随温度变化的特性测量温度。热敏电阻

是由某些金属氧化物按不同的配方比例烧结制成的。不同的热敏电阻材料,

具有不同的电阻-温度特性,按温度系数的正负,将其分为正温度系数热敏

电阻、负温度系数热敏电阻和临界温度系数热敏电阻。热敏电阻的优点是:

灵敏度高、体积小、响应快、功率低、价格低廉,缺点是:电阻值随温度

呈非线性变化、元件的稳定性及互换性差[60]。

本系统采用负温度系数热敏电阻(NTC),负温度系数热敏电阻器的电

阻-温度特性,可表示为:

00

1 1exp ( )T TR R BT T

= − (5-1)

式中, TR ——绝对温度为T时热敏电阻的阻值;

0TR ——绝对温度为 0T 时热敏电阻的阻值;

B——负温度系数热敏电阻器的热敏系数。

5.3.2 热敏电阻的主要技术参数 (1) 标称电阻值 25R 是热敏电阻在环境温度为 (25 0.2)± °C 时的电阻

值。通常是指热敏电阻上标注的值,也称为额定零功率电阻值。如果环境

温度 t不是 (25 0.2)± °C,而在 (25 ~ 27) °C 之间,则可按下式换算成基准温度(25°C)的阻值 25R 。

25251 ( 25)

tRRtα

=+ −

(5-2)

式中, 25R ——标称电阻值;

tR——温度为 t °C时的电阻值;

25α ——被测热敏电阻在 25°C时的电阻温度系数。

(2) 零功率电阻值 TR 在规定温度下,由于电阻体内部发热引起的电阻

值变化相对于总的测量误差而言,可以忽略不计时测得的热敏电阻的阻值

称为零功率电阻值。 (3) 零功率电阻温度系数 Tα 在规定温度(T通常为20°C)下,热敏电阻

的零功率电阻值的相对变化率与引起该变化的相应温度之比,称为零功率

第 5章 基于 GSM的远程温度监测系统

73

电阻温度系数,单位为%/°C。用公式表示为式(5-3)。

2

1 TT

dR BR dT T

α = = − (5-3)

(4) 热敏指数 B 它是描述热敏材料物理特性的一个常数。B值越大,

阻值也越大,灵敏度越高。在工作温度范围内, B值并非是严格的常数,

它随温度的升高略有增加。 B值可用公式表示为

1 2 1

2 1 2

2.303 lgTT RBT T R

=−

(5-4)

式中, B——热敏指数;

1R, 2R ——在温度 1T, 2T 时的电阻值,单位欧姆。

5.3.3 热敏电阻测温电路 热敏电阻常用接线方法分为二线制、三线制和四线制方式。由于本系

统选用的热敏电阻阻值较小,为消除接线电阻和引线电阻的影响,采用三

线制连接方法。R1、R2、R3 为固定电阻,Rw 为零位调节电位器,Rt 为热

敏电阻。三线制不平衡电桥测量方法的特点是简单可靠,具有一定的灵敏

度和准确度;不足之处是输出电压 U和热敏电阻 Rt之间为非线性关系,但

是在智能测温系统中可用软件修正。该方法适合于工业热电阻的在线测量。

MSP430F149 单片机具有片内集成的模数转换器 ADC12,它是 12 位

精度的 A/D转换模块,具有高速、通用的特点。内部含有可独立配置的 5

大功能模块:带有采样/保持功能的 ADC 内核;可控制的转换存储;可控

制的参考电平发生器;可控制和选择的时钟源;可控制的采样及转换时序

电路。

本系统设计时采用片内 ADC12。被测温度信号经过热敏电阻检测电路

转化为对应的电压信号 U,这一电压信号被送到模拟多路器的 A0~A7口,

模数转换参考电压选择 2.5V,被测信号 U应被处理在 0~2.5V范围内。信

号经模拟多路器、采样保持器被送到 12位模块转换内核。转换内核通过单

片机片内时钟控制转换,对于 ADC12 转换时钟,可有多种选择来形成采

样时序。ADC12可以选择所有有效的MSP430片内时钟,也可以选择一个

外围模块所含的时钟,对于选择的时钟源可以引入一个 1~8的分频因子。

燕山大学工学硕士学位论文

74

转换内核将转换结果存储在转换存储寄存器 ADCMEM[0]中,这样完成整

个温度检测和转换过程。温度检测和转换电路如图 5-2所示。

on on

参考源

AVCC

INCH=0AHREFON

2.5V

Rw

R2

AVss

REF_X

采样保持

S/H

分频

12位模数转换内核

采样定时器

1,2,3,4,5,6,7,8

ADC12OSC

ADC12DIV

SYNC

ADC12SCTimer_A.OUT1

Timer_B.OUT0Timer_B.OUT1ENC

SHS

VR- VR+ADC12CLK

SAMPCON

ADC12MEM0...

ADC12MEM15

ADC12MCTL0...

ADC12MEM15

0140H...

015EH

080H...

08FH

.

.

.

12位SAR 转换控制

MSC

16*12位16个转换存储器

16*8位对应的存储控制寄存器

内部振荡器

ACLK

MCLKSMCLK

ADC12SSEL

A0A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1

ADC12C

TLx.0..3

模拟多路器12:1

VREF+/VeREF+VREF-E

R3

U

R1

Rt

图 5-2温度检测和转换电路

Fig.5-2 Cricuit of measuring temperature and conversion

第 5章 基于 GSM的远程温度监测系统

75

本设计以单个测量点作为实例进行讲述,单片机具有 8位可作为外围

输入的模拟多路通道,可根据系统需要进行扩展。

5.4 系统软件设计

本系统软件设计应用了前面章节的结论,监测中心站和远程监测分站

之间采用短消息方式实现远程通信。涉及的短消息接收与发送在前面章节

已经作了详细地讲述,为本系统的开发作了很深的铺垫,不同的是本设计

引入了具体的控制对象——远程温度监测。

在监测中心站软件设计中,作为监测中心,它承担着与各个远程温度

监测分站的通信:以短消息方式发送给监测分站进行基本信息设定;接收

监测分站以短消息方式发送过来的监测数据;负责保存和打印数据库等其

它基本服务。监测中心站的软件基本上与前面章节的软件设计相近,此处

不再赘述。

在远程温度监测分站软件设计中,引入了温度检测单元,其它短消息

的传输等软件没有大的改动,在此处不再赘述。这一部分主要针对温度的

采样、处理以及补偿进行讲述。

下面讲述这一温度检测过程:

(1) 首先通过热敏电阻测温电路将温度转换为电压,将这一电压处理

后接到单片机的 ADC12模拟多路器的一个通道。

(2) 单片机通过 ADC12的模拟多路器采样这一电压信号,然后循环采

样 16次,并取平均值,以保证测量精度。

(3) 将测量值与实际值进行比较,并根据情况做软件补偿。计算出测

量算法。

(4) 将测得的采样电压根据测量电路换算为电阻值,带入公式(5-1)计

算出检测的温度。

(5) 将计算出来的温度与用温度计检测到的温度进行比较,根据系统

精度需要对系统进行软件补偿。

(6) 将测得的温度编码成短消息,调用发送短消息程序,将其发送到

监测中心站,完成对测量点的远程温度监测。

燕山大学工学硕士学位论文

76

5.5 本章小结

本章讲述了一个全新的基于 GSM 的远程温度监测系统。给出了系统

的总体结构与功能,然后分为硬件和软件两方面进行了设计,主要讲述了

热敏电阻工作原理、主要技术参数,并设计了以热敏电阻为测量器件的测

温电路。这套基于 GSM的远程温度监测系统具有较高的实用价值。

结 论

77

结 论

经过一年左右的分析、研究、设计和调试,本次毕业设计最终实现了

一套比较完整的基于 GSM短消息的远程监测系统。

本系统着眼于建立一个基于 GSM 短消息方式的远程监测平台,能够

实现监测中心站与远程监测分站的 GSM远程通信。在详细分析研究 GSM

网络协议和短消息通信原理的基础上,给出了系统的大体框架,设计了短

消息通信软件。同时给出了远程监测分站部分的硬件结构方案,设计了基

于MSP430系列单片机的远程监测分站子系统,实现了对监测对象的数据

采集和处理功能,并通过 GSM通信模块 TC35与监测中心站通信。

最终设计出来的系统分为监测中心站和远程监测分站两大部分。监测

中心站能够成功接收远程监测分站的监测数据并且保存在数据库当中,根

据需要还可随时调用和打印出来,同时也能实时监测远程监测对象的状态,

还可以通过发送短消息的方式发送设置命令给远程监测分站。远程监测分

站能够把测量到的监测对象的数据通过单片机数据处理然后以短消息的形

式发送给监测中心站,并能实现测量数据的液晶显示,能够通过键盘操作

及时发送短消息也可以定时发送短消息,能够接收监测中心站发送的设置

命令并完成设置。通过最后阶段的调试研究,发现系统能够及时准确地接

收和发送短消息,远程监测分站能够精确的采集和处理监测数据,基本实

现了基于 GSM短消息的远程监测。

同时将本系统与温度检测相结合,成功地实现了基于 GSM 的远程温

度监测。研究结果表明,将 GSM 短消息方式应用于监测系统是切实可行

的,基于 GSM 短消息的远程监测系统具有其他一些监测系统无法比拟的

优势,因此该系统的广泛应用将指日可待。

由于作者水平有限,同时又由于时间和费用的限制,本系统很多细节

方面的开发还有很多不能够做到非常完美。这套系统整个研发过程都局限

在实验室中,没能够在工业现场中进行运行调试,同时随着通信系统的进

步和发展,以后将对这一系统升级和更新,采用更为先进和完善的 GPRS

燕山大学工学硕士学位论文

78

网络进行数据传输是将来的努力方向。

笔者相信随着系统的进一步完善和发展,最终能够把一套完整的监测

系统应用于国民经济的众多领域。这也正是笔者撰写本文的初衷。

参考文献

79

参考文献

1 莫雷(Mouly,M),帕特(Pautet,M.B.).GSM数字移动通信系统.北京.电子工业出

版社.1996:20-24

2 John Scourias.Overview of the Global System for Mobile Communications.2000

3 Michel Mouly and Marie-Bernadette Pautet. The GSM System for Mobile

Communications.2000:15-60

4 胡珊 ,顾其威 .无人值守变电站智能化远程图像监控系统 .计算机工程 .

2003,29(2):218-220

5 李晔,于大鹏,李昀.基于 GSM/SMS 建立远程智能抄表系统的设计与实现.移动通

信.2003,(1):124-127

6 倪建军,范跃祖,李松林.利用 GSM 短消息业务实现 GPS 车辆监控.电子技术应

用.2000,26(7):53-55

7 齐保良 ,杜文洪 .利用全球移动通信系统的公交车预报与调度系统 .电子技

术.2003,(2):27-30

8 袁明新,李勇,张勇.汽车状态远程监测中计算机与手机通讯的实现.工业控制计算

机,2003,16(3):53-55

9 G Derekenaris,J Garofalakis,C Makris,etal.Integrating GIS,GPS and GSM

technologies for the effective management of ambulances. Computers, Environment

and Urban Systems.2001,25:267-278

10 余成波 .无线点对多点的远程在线数据采集系统的研制 .电子技术应

用.2002,(12):16-19

11 李洪涛, 皇甫堪, 闫吉洁.基于无线数据传输的水下爆炸压力遥测系统.电子工程

师.2003,29(1):28-30

12 张小平 .GSM 污染源自动连续监控系统的设计与实现 .计算机应用研

究.2003,(2):158-160

13 李业德.基于 GSM 短信息方式的远程自来水厂地下水位自动监控系统.计算机机

应用.2002,(8):20-22

燕山大学工学硕士学位论文

80

14 潘耀芳,张邦廉.GSM信息增值服务系统的架构及应用.通信技术.2003,(1):89-91

15 易庆 ,石志国 ,王志良等 .基于 GSM 短消息的信息查询系统 .计算机应用研

究.2003,(2):63-65

16 叶常春 ,罗金平 ,周兴铭 .一种交通信息服务系统的设计 .电子技术应

用.2002,(7):47-49

17 Michael Kennedy.The Global Positioning System and GIS:An Introduction,An Arbor

Press.1996

18 Peter Burrough and Rachael McDonnell.Principles of Geographical Information

System.Oxford University Press.2000

19 Kerth Clarke.Getting Started with Geographic Information System.Prentice Hall.2001

20 Paul Longley,Michael Good Child,Parid Maguire al et.Geographic Information

System and Science.John Wiley&Sons and ESRI Press.2003

21 文芳,徐斯伟,钟宏志.GSM 短消息在公交调度和电子站牌系统中的应用.移动通

信.2003,(1):128-130

22 Ming-Chung Tang, Chun-Nun Chou, Ching-Hui Tang, et al. Exploiting GSM short

message service for ubiquitous accessing. Journal of Network and Computer

Applications.2001,24:249–267.

23 Roger Kalden,Ingo Meirick and Michacl Meyer.Wireless Internet Access Based on

GPRS.IEEE Personal Comm.Apirl 2000

24 ETSI,GSM04.07, Mobile radio interface signaling layer3 General aspects, version

6.2.1, Release 1997

25 ETSI,GSM04.10, Mobile radio interface layer3 supplementary services spe- cification;

General aspects version 6.0.1, Release 1997

26 ETSI,GSM04.08, Mobile radio interface layer3 Specification, version 6.2.1, Release

1997

27 ETSI,GSM04.05, Data Link (DL) layer, General aspects version 6.0.0, Release 1997

28 ETSI,GSM04.06, Mobile Station-Base Station System (MS-BSS) interface; Data Link

参考文献

81

(DL) layer specification version 6.0.0, Release 1997

29 ETSI,GSM01.02, General description of a GSM Public Land Mobile Network

(PLMN), version 5.0.0,March 1996

30 ETSI,GSM 07.05,Digital cellular telecommunications system (Phase 2+).Use of Data

Terminal Equipment-Data Circuit terminating; Equipment (DTE - DCE) interface for

Short Message Service (SMS) and Cell Broadcast Service (CBS) (GSM 07.05 version

5.5.0). January, 1998

31 李迎春.基于 TC35T的短消息监控系统.国外电子元器件.2003, (1): 20-22

32 SIEMENS Ins Technical Product information TC35 Preliminary

33 戴畅 ,官伯然 .GSM 无线测控系统的硬件设计 .杭州电子工业学院学

报.2002,23(4):25-28

34 胡大可,季燕飞.应用MSP430微控制器时需注意的问题.电子产品世界.2000,(3):63

35 魏小龙.MSP430 系列单片机接口技术及系统设计实例.北京:北京航空航天大学出

版社.2002:85-120

36 维提,郭强.液晶显示应用技术.北京:电子工业出版社.2000:129-140

37 John Cramer. LCD在无线/便携式设备中的应用.岳云.今日电子.2001, (7): 21

38 郭强 .在单片机平台上建立规范化的液晶显示接口 .单片机与嵌入式系统应

用.2001,(1):19-21

39 黄宇飞,吴江,秦旭等.单片机单总线技术.单片机与嵌入式系统应用.2001,(1):22-26

40 李朝青 .PC 机及单片机数据通讯技术 .北京 :北京航空航天大学出版

社.2000:129-149

41 周艳琼,白木.彩色电视机中的 I2C总线.单片机与嵌入式系统应用.2001, (4): 28-30

42 胡大可.MSP430系列 FLASH型超低功耗 16位单片机.北京:北京航空航天大学出

版社.2001:123-169

43 AT Command for Central Site Modems, Rockwell Semiconductor Systems, 1997

44 Siemens Mobile, AT Command Set Siemens Cellular Engines

45 Guillaume Peersman and Srba Cvetkovic.The Global System for Mobile

燕山大学工学硕士学位论文

82

Communications Short Message Servive.IEEE Personal Comm.June 2000

46 ETSI,GSM 07.07; Digital cellular telecommunications system (Phase 2+); AT

command set for GSM Mobile Equipment (ME) (GSM 07.07 version 7.5.0 Release

1998)

47 ETSI,GSM 07.07 Digital cellular telecommunications system (Phase 2+);AT

command set for GSM Mobile Equipment (ME) .GSM 07.07 Version 5.0.0: July 1996

48 ETSI,GSM 03.38; Digital cellular telecommunications system (Phase 2+); Alphabets

and language-specific information (GSM 03.38 version 5.6.1)

49 ETSI,GSM03.04, Technical realization of the Short Message Service (SMS);

point-to-point (PP), version 6.0.0, Release 1997

50 ETSI,GSM04.11, point-to-point (PP) Short Message Service (SMS) support on

Mobile radio interface version 6.0.1, Release 1997

51 刘涛, 张春业, 韩旭东等.基于手机模块 TC35 的单片机短消息收发系统.电子技

术.2003,(3):36-38

52 http://www.ccw.com.cn/htm/net/seminar/02_1_22_4.asp.董瑞华.利用手机模块实现

短消息

53 李鸿.用单片机控制手机收发短信息.电子技术应用.2003,(1):24-26

54 ETSI,GSM04.12, Short Message Service Cell Broadcast (SMSCB) support on the

mobile radio interface version 6.0.0, Release 1997

55 ETSI,GSM 03.40; Digital cellular telecommunications system (Phase 2+); Technical

realization of the Short Message Service (SMS); Point-to-Point (PP) (GSM 03.40

version 5.7.0), May, 1998

56 范逸之,陈立元编著.Visual Basic 与 RS-232 串行通信控制.北京:清华大学出版

社.2002

57 http://joejove.51.net/network/re232/MSComm-detail.htm. MSComm控件使用详解

58 胡大可主编.MSP430系列单片机 C 语言程序设计与开发.北京:北京航空航天大学

出版社.2002

参考文献

83

59 王士元.C高级实用程序设计.北京:清华大学出版社.2002

60 赵继文主编.传感器与应用电路设计.北京:科学技术出版社.2002

燕山大学工学硕士学位论文

84

攻读硕士学位期间承担的科研任务与主要成果

1 臧怀泉,李海生,范亚伟.一种基于 GSM 短消息的小型煤矿瓦斯监测系统.煤矿安

全.2005,2: 57-60

2 臧怀泉,李海生.基于 GSM 短消息的远程测控系统的设计与实现.燕山大学学

报.2005,1:55-58

3 臧怀泉,李海生,范亚伟.基于 GSM 的温湿度远程监测系统.微计算机应用.(已录

用)

4 臧怀泉,范亚伟,李海生.基于µC/OS 与 MSP430 的手持数据采集系统.微计算机信

息.2005,2:105-106

5 臧怀泉,张寅,李海生.基于 GPRS 的瓦斯防爆远程监控系统.煤矿安全与环保.(已

录用)

6 臧怀泉,范亚伟,李海生.µC/OS在排污处理系统中的应用.微计算机应用.(已录用)

致 谢

85

致 谢

三年的时光转瞬即逝,在燕山大学的学习和生活是我人生中一段非常

宝贵而难忘的经历。在即将毕业之际,我要感谢所有在这里给予我关心和

帮助的师长、朋友和同学!

首先要感谢我的导师臧怀泉教授,在三年的时间里,他给了我深刻的

教诲和莫大的鼓舞。当我对一切还懵懂的时候,是他给我指明了道路,引

我进入学术研究的大门,引导我如何进行科学研究,开阔了我的视野,丰

富了我的学识,这些将使我终身受益。他严谨的治学态度、敏锐的洞察力、

缜密的思维能力以及忘我的工作热情一直是我学习的榜样和努力的方向。

感谢范亚伟、李振鹏、张寅、李卫华等课题组的师兄弟们在生活和学

习上给我的热情帮助。

感谢自动化系的全体教师在我从本科到研究生的学习期间所给予的无

私帮助,我所取得的一切成绩都是与他们的指导和帮助分不开的。

感谢张志强、欧阳高翔、范亚伟三位室友在学习和生活上给予我的无

私帮助,同时感谢所有关心和帮助过我的朋友们。

感谢我的父母,是他们教我热爱生活、直面挫折、乐观向上,我的每

一点进步都离不开他们的关心和帮助。

燕山大学工学硕士学位论文

86

作者简介

李海生,男,汉族,1978年 5月生于河

北省迁安市。2002年 7月毕业于燕山大学电

气工程学院自动化专业,获学士学位;2002

年 9月开始在燕山大学控制理论与控制工程

专业攻读硕士学位。主要研究领域为无线远

程监测技术。