基于Windows CE嵌入式车载监控终端研究与实现_图文

发布于:2021-05-14 23:49:02

电子科技大学 硕士学位论文 基于Windows CE嵌入式车载监控终端研究与实现 姓名:李毅然 申请学位级别:硕士 专业:通信与信息系统 指导教师:李少谦 20090501

中文摘要

中文摘要

车载监控技术是*年来新兴的技术,它集成了全球卫星定位技术、地理信息 技术、数据库技术、多媒体技术、现代通信技术和嵌入式技术。车辆监控系统分 为监控中心和监控终端,本文主要研究的是监控终端。实际上,监控终端使用当 前最为流行的嵌入式技术,它通过操作系统和微处理器相互作用把硬件和软件有 机的结合在一起。 本论文主要研究基于Windows CE操作系统和三星公司的s3c2410a芯片的工 程车辆监控终端,全文共分六章。 第一章简要介绍了车辆监控终端的研究背景、意义以及目的,然后介绍了其 国内外的研究状况,并对本文要研究的重点做了简要描述。 第二章介绍了车载监控终端的总体设计方案,介绍了车载终端各个组成部分, 分析了车载终端的系统需求,包括功能需求和非功能需求,介绍了车载终端系统 的开发流程,分析了操作系统和处理器选型。 第三章重点介绍了V~rmdows CE操作系统*台搭建,介绍了Windows CE操作 系统结构,介绍了操作系统开发*台和开发流程,并完成了Boot Loader和OAL 的开发,完成了硬件驱动程序的开发,包括触摸屏、ADC、CAN总线和GPIO, 最后,完成了操作系统的定制工作。 第四章重点分析了车载终端的硬件总体架构,并给出了各个模块的具体实现

方案,包括ADC数据采集电路、CAN总线接口电路、GPIO接口电路、GSM模
块电路和GPS模块电路,给出了电路图,并进行了电路分析。 第五章主要介绍了车载终端的软件实现方案,完成了软件功能分析、任务分 析和线程分析,完成了通信模块、数据采集模块和操作界面的软件实现。 第六章总结了全文,并为下一步研究工作指出了方向。
关键词:

监控终端,W'mdows CE操作系统,ARM单片机,嵌入式系统

Abstract

Abstract

Recently vehicle monitoring technology has appeared,and it integrates global

technology,geographic technology,multimedia technology,modern
positioning satellite

information

technology,database
technologies and into control center and

communications

embedded

technology.V“cle

monitoring system iS

divided

control terminals,what this paper studies is monitoring terminal.In fact,control

terminals are the most popular

use

of the current

embedded technology,and

it put

hardware and software together through the interaction of the operating system

and

microprocessor.
The main study of this thesis is the
on

the Windows CE

engineering vehicle monitoring terminals based operating system and Samsung¥3C241 0A chip,the text is

divided into six chapters.

Chapter I briefly introduces research background,meaning and purpose of the engineering vehicle monitoring terminals,and I introduce the research at home and

abroad,and

give



brief description of the

content of this paper.

Chapter II introduces the overall design program of the
ing terminals.and analysis of system

vehicle-mounted

monitor
all

introduces

the various

components of

the Car

terminal,and makes

requirements,and
on

introduces the development process of the

system,
built,

then,makes

an

analysis of the operating system focuses the

and processor selection.

Chapter

III

Windows

CE operating

system


platform

introduces the

Windows

CE operating system structure,makes OAL

detailed

analysis of

the Boot Loader and the

hardware drivers,including touch

development,and completes the development of screen,ADC,CAN bus and GPIO,finally,complets

the customization of the operating system.

Chapter IV focuses on the vehicle terminal hardware architecture,and gives a concrete realization of the various modules,including the ADC data acquisition circuit,

C』州bus

interface circuit,GPIO interface circuit,and

SO on.

Chapter V introduces the software program of the vehicle terminal,completes the software analysis,task analysis and thread analysis,eomplets the software program of the communication module,data acquisition modules and the operating interface. Chapter VI gives the conclusions of this paper,and direction ofresearch.

points

out

the

next step in

the

Keywords:monitoring

terminal,Windows CE

operating

system,ARM rnicrocontroller,

embedded systems
.II.

图目录

图目录

图2.1车载监控系统结构框图…………………………………………………………6 图2.2车载监控系统框图………………………………………………………………7
图2.3监控人员用例图……………………………………………………………….10

图2-4用户用例图…………………………………………………………………….11 图2-5车载嵌入式系统开发流程图………………………………………………….1l
图3.1 Windows CE系统架构图……………………………………………………….15 图3.2 Windows CE系统地址映射图…………………………………………………16 图3.3 Windows CE系统内核图………………………………………………………………………。17 图3_4 Windows CE系统开发流程图…………………………………………………19 图3.5 BSP对硬件接口的抽象………………………………………………………一20 图3.6 BPS关系图…………………………………………………………………….20 图3.7 BSP开发流程图…………………………………………………………………20 图3.8
Boot

Loadel"架构图……………………………………………………………2l

图3-9 Boot Loadel"控制流程图……………………………………………………….22 图3.10 Windows CE驱动结构图…………………………………………………….26 图3.11 Windows CE驱动终端处理结构图……………………………………………27 图4-l系统硬件结构框图………………………………………………………………35

图4—2核心板电路框图………………………………………………………………。35 图4-3剐DC接口电路图………………………………………………………………。36 图年4 GPIO接口电路图………………………………………………………………..37 图5.1车载终端软件任务图……………………………………………………………38 图5.2车载终端软件线程结构图…………………………………………………….39 图5.3通信过程图…………………………………………………………………….40 图5_4命令与响应时序………………………………………………………………….40 图5.5指示与确认………………………………………………………………………4l 图5.6短信初始化状态转移图………………………………………………………..48
图5.7短信发送流程图……………………………………………………………….49 图5.8短信接收流程图……………………………………………………………….49

图5-9短信删除流程图……………………………………………………………….50
图5-lO短信事物处理状态图………………………………………………………….5l

图5.11车载终端操作界面图…………………………………………………………..54 图每1监控中心界面操作图………………………………………………………….58

表目录

表目录

表3.1串口调试函数表…………………………………………………………………23

表3-2以太网控制函数表………………………………………………………………24
表3.3 Flash存储器操作函数表……………………………………………………….25 表5.1帧类型表…………………………………………………………………………..41 表5.2子类型表………………………………………………………………………。42 表5.3车辆状态信息表…………………………………………………………………43 表5.4车辆状态参数类型号表……………………………………………………….43

表5.5传感器对应表…………………………………………………………………。43 表5-6终端时间格式表……………………………………………………………….43 表5.7工作参数查询表……………………………………………………………….44
表5.8工作参数类型符号对应表…………………………………………………….44 表5-9锁车命令报文表………………………………………………………………..45 表5.1 0报警指示数据字段格式表……………………………………………………45 表5.11传感器报警内容表…………………………………………………………….45 表5.1 2其他报警内容表………………………………………………………………46 表5-13 AT命令表………………………………………………………………………47

表昏l监控中心命令与测试结果表……………………………………………………59

缩略词表

缩略词表

英文缩写
rrS

英文全称

中文释义

智能交通系统
Global Position System Global System for Mobile communication Subscriber Identity

GPS

全球定位系统 全球移动通信系统 客户识别模块 通用分组无线业务 OEM适配层

GSM

SM
GPRS oAL BBS

Module

General Packet Radio Service

OEM Adapter

Layer

Base Station Subsystem

基站子系统
移动终端

MS
NSS OSS

Movable Station
Network SubSystem

交换网络子系统 操作支持系统

MPS

Microproeessor without Interlocked Pipeli无互锁流水线微处
ne

Stages

理器 片上系统

SOC BSP

System On Chip

板级支持包

删U

Memory Management Unit

内存管理单元

VIU

独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。

签名.蓥垒垫嘶研年岁月。7日
关于论文使用授权的说明
本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定)

签名:痞名≥袅芝 签名:<簦垒Z《銎
—刃写钐L厂队,f

第一章绪论

第一章

绪论

智能交通系统(ITS)是一门刚兴起的科学研究,它是在通信、导航、控制、计 算机等学科在交通管理中的应用和发展中必然产生的。它集成了多个系统和多种 学科,是一个开放性的复杂系统,属于新兴的交叉学科研究领域。智能交通系统 主要用来解决当今世界的车辆管理问题、交通堵塞问题、交通安全问题等等。 车载监控系统也叫车载终端系统,它是智能交通系统中的一个重要组成部分, 它是把先进的全球卫星定位技术、地理信息技术、数据库技术、多媒体技术、现 代通信技术和嵌入式技术综合在一起,实时掌握车辆位置和状态数据。 嵌入式技术的发展是车载监控系统更新的另一个重要因素。根据IEEE(国际电 气和电子工程师协会)的定义,嵌入式系统是“控制,监视或者辅助设备、机器和 车问运行的装置”。目前,国内的定义是:以应用为中心、以计算机技术为基础, 软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的
专用计算机系统。嵌入式系统一般是由硬件层、中间层、系统软件层、和应用软 件层组成。

本文研究的车载监控系统正是综合了各种技术,使之成为一个较为完善的系
统。

1.1课题背景 1.1.1问题提出
随着社会的进步、经济的发展,大规模公路及其它公共设施的基础建设规模 也进一步扩大,工程机械作为人类丌发利用资源和进行基础建设的最有力工具, 也进入了一个新的发展时期。 工程机械是资源开发、社会发展、市区建设、水电工程、农业工程等工地施 工中的重要开发设备。在人们的生产生活中更是有着重要作用,当今社会,国家 资源、水电、交通等基础设施建设以及国防建设等在相当一段时间内(10.15年)是 国家重点投资与建设方面【11。例如中国的基础设施建设还远没有到完成;国家城市 化建设正在稳步进行;新农村建设也有待发展;现代化物流业发展对工程机械的 发展也有着需求12J。

电子科技大学硕士学位论文

有了工程机械的需求,就有对工程机械监控系统的需求,由于大量的工程机 械的存在,必不可少的车辆配备也需要有供应,这对车辆监控系统的发展提供了 很好的机会,促进了监控终端的研究进程。

1.1.2课题研究意义
随着建设施工规模的扩展,国家对工程机械的需求数量迅速增加,因而对其 可靠性、维修性、安全性和燃油经济性也提出了更高的要求。工程机械产品由于 其操控系统复杂、施工环境恶劣、负载较高、运行时间长,系统会出现各种故障。 原来的依靠人工进行检查、预警已经无法满足大量的需求,必须依靠先进的、高 科技的智能监控系统。随着高科技电子的进入,嵌入式系统的发展,工程机械逐 步进入了人性化,智能化,对于工程机械的监控、维修、维护更加方便快捷。用 户可以实时监控车辆位置,车辆运行状况,操作人员可以根据各种信息及时的采 取相应的措施,减少损失,提高工作效率。 随着工程机械行业的发展,过去老的监控技术已经跟不上时代发展的需求, 他们技术含量低,质量低,但是,由于他们价格也比较低,所以仍然有市场,但 是一旦新的技术的出现,他们必然会退出历史潮流,取而代之的是新兴的、智能 的、高科技含量的嵌入式系统产品。这是车载监控系统发展的一个机会,同时, 也对研究人员提出了挑战。 基于上述考虑,国家863计划先进制造与自动化技术领域机器人技术主题专 家组将“智能化工程机械’’列为十五期间的重大专项之一,可见开发自主产权的 智能监控系统势在必行【3】。

1.1.3课题研究目的
为了满足国内的市场需求,填补国内的空缺,我需要根据自身的研发条件, 借鉴国内外现有产品优点,同时结合本地域的地理、交通、公路等实际情况,研
制适合中国国情的车辆监控系统。

该系统是依托卫星定位、地理信息及无线通信等技术手段,对J下在工地上施 工的工程机械的运行状态、位置及施工进度进行检测,并将检测结果传送回监控 中心进行统计、分析,以利于监控中心的监控人员对其进行远程指导,优化机械 化施工组织和管理水*,从而提高经济效益。整个系统主要有:车载终端、GSM 无线通信网络、监控中心组成。车载终端由主机模块、天线和可选配件组成,其 中主机模块和天线构成了车载终端的基础部分,可实现实时定位,探测经纬度、

第一章绪论

时间、行进方向和速度的基本功能,并可以实现锁车,解锁等实时监控功能。主 机上留有数据接口,可根据需要外接设备和传感器,以实现附件的功能要求。监 控中心由服务器软件和客户端软件组成,客户可以通过网络方便的查看自己的车 辆信息,并进行实时的管理和调度。

1.2国内外发展现状
集中化和智能化是工程机械监控系统的一个发展方向【4】。工地开发通常是一个 相当复杂的任务。外场施工地点,资源的协调和控管都相当复杂,因此,时刻掌 握车辆动态为保证车辆安全、合理配置资源、合理调度有着相当重要的意义。所 以,车载终端采用了运算能力较强的处理器,同时,硬件上配置了GPS模块,GSM 模块,为实现车辆的定位和车辆与监控中心的通信,使得用户可以方便的对车辆 进行管理。 人性化和网络化是工程机械监控系统的一个发展方向。以前的工程机械监控 系统功能少,只能完成例如监控系统状态、数据采集等工作。而如今人民日常生 活和社会生产步伐渐渐提速,人民更加关注提升施工节奏、操作员驾驶的简单性
和安逸性以及车辆的可监控性,良好的图像在大屏幕的彩色液晶显示也成为了一

种需求,这是以往的系统不能满足的。车载监控系统从70年代初发展到现在,依 次经历了四个主要阶段【51。分别是传感与诊断系统(SOM)、车辆事故数据记录器 (EOR)、工程机械数据记录仪、工程机械远程监控系统。

1.2.1国外发展状况
当前,国外对于工程机械监控系统的研究已经做了很大的工作,他们能够对 工程车辆进行数据采集、数据分析并能够利用GPS定位系统对车辆进行定位,并 通过无线通信网络进行数据通信,从而对工程车辆进行有效的管理、监控,同时, 对用户提供良好的服务。 具有代表性的是CATERPILLER公司的采矿铲土运输机群监控系统【41,该系统 由车载终端和监控中心构成,它的组成部分有GPS定位模块、机械状态数据采集 模块、无线通信模块、机械动态管理模块,通过无线通信网络,监控中心可以实 时的监控机械车辆,可以对车辆速度、路线、机械工作状态等进行相应的处理。 并传向中心。

电子科技大学硕+学位论文

1.2.2国内发展状况
我国GPS技术发展较晚,但是市场很大,发展潜力很大,目前,GPS主要用 于公安、金融等系统,而随着无线通信网络的发展和嵌入式技术的发展,GPS定 位技术已经深入到车载监控系统中,在车辆中的应用占的比例约为40%,不论是 公交系统还是金融运钞车的监控都用到了GPS技术,这对人民的生活和工作带来 了极大的方便,同时,也为车载监控系统带了巨大的市场,对其发展有着深厚的 影响161。 GPS在工程机械监控系统中的应用方面,国内一些主要机械生产厂家已经开 始了“工程机械监控系统’’的研究开发工作,例如:普什重机、三一重机、四川 建工集团、重庆第一机械制造等都开始这方面的研究工作,目前,对于挖掘机、 起重机、压路机等重型机械的监*饕丫度肷保捎诠谘芯克* 有限,各种技术还不是很成熟,这为我的研究工作留出了巨大的空间,同时,这 也是对国内的研究工作者提出了挑战,我只有以更高的标准来要求自己,只有做 到更好,才能与国外先进的技术进行竞争,从而占据市场,使得自己的技术得到
发展。

1.3课题来源、研究内容及作者工作 1.3.1课题来源
本课题来源于成电亿赛公司与电子科技大学抗干扰国家重点实验室合作项 目:车载智能监控系统。

1.3.2论文内容结构安排
本文第一章简要介绍了车载监控系统的组成、国内外研究状况和发展潜力, 并交待了本论文的主要工作内容。 第二章主要介绍了系统总体设计方案,讲解了*台的搭建,分析了CPU和操 作系统的选择、外围硬件设备需求、以及软件开发*台。 第三章重点研究了Windows CE操作系统架构,介绍了Windows CE开发软件, 分析了BSP开发流程并完成了Boot Loader、OAL及驱动程序的开发(包括触摸屏、
ADC、CAN总线和GPIO)。

第四章重点研究了工程车辆监控终端的硬件结构,并完成了终端核心板电路 设计和外围电路设计,包括AI)C电路、CAN总线接口电路、GPS模块电路、GSM

第一章绪论

模块电路及GPIO接口电路。 第五章主要分析了车载终端的软件架构,并给出了各个软件模块的实现方案。 最后,第六章对全文进行了总结,并对下一步工作的方向和重点提出了建议。

1.3.3作者工作
在本文中,作者本人主要从事了外围硬件电路设计、底层驱动开发、操作系 统定制以及软件开发和相关测试工作。

电子科技大学硕士学位论文

第二章

车载监控终端总体设计方案

2.1车载监控系统简介
车载监控系统主要是由三大部分组成:监控中心,监控终端,通信网络。监
控中心是整个监控系统运行的管理中心,其作用是:l、对被监控车辆车载终端发 送命令,等待终端响应,如“锁车"、“解锁’’等;2、接收车载终端指示,并给予 确认;3、接收车载终端数据,并进行数据分析;4、提供操作界面,以供操控人 员可以方便的进行操作。 监控终端是安置在工程车辆上的控制器,其作用是:1、采集工程车辆运行参 数以及GPS地理信息,并按照中心信息对车辆进行控制;2、处理中心发送的命令、 并向中心给予指示;3利用无线通信模块与中心进行通信。如图2.1是一种基于 GSM/GPS的工程机械远程监控系统的结构图。 本文通信网络是采用中国移动公司的GSM网络,它以良好的性能和人性的服 务赢得了广大消费者的喜爱,它推出的动感地带套餐使得发短信相对便宜,为此, 本项目采用了短信模式。

厂i;{-
图2.1车载监控系统结构框图

2.1.1车载监控终端简介
车载监控终端是放置在机械车辆之上的监控设备,它主要功能是采集车辆的

第二章车载终端总体设计方案

各种数据,包括地理位置、油温、油压、运行时间、车速、转速等,同时将采集 的数据通过GSM无线通信模块传送给监控中心,还可以实现车辆报警以及锁车的
功能。监控终端由五大部分构成:微处理器及液晶显示器、车辆传感器、GPS信

息接收器、GSM无线通信模块、嵌入式软件。结构框图如图2.2所示:

图2-2车载监控系统框图

图中处理器主要有两个功能。一方面通过GSM模块接收监控中心发送的命令、 指示等消息并按照中心的指示进行相应的操作,另一方面采集传感器及GPS定位 模块传送的数据,通过终端软件进行处理。终端软件是数据处理的核心,它的主 要功能有:1.解析中心的命令、指示;2.传输的信号进行编码、解码;3.分析采集 的数据并按中心指示发送给中心。

2.2系统需求分析 2.2.1系统功能需求分析
工程车辆作为特别车辆,其工作外场相当不简单,在运行中,工程车辆的检 查、诊查与维修面临着许多难以解决的问题。我需要研发一种可以对车辆进行实 时监控的系统。为此,我需要能够对车辆的各种参数进行即时的采集,这些参数 包括GPS位置信息、油温、油压、发动机转速等车辆工作状态信息,同时,需要 能够将参数在需要的情况下发送给监控中心以便监管人员进行分析,能够显示车 辆信息让车辆操作人员清楚车况以便采取相应的措施。监控中心需要电子地图和

电子科技大学硕士学位论文

数据库以便对收到的信息进行详细的分析。
为此,车载监控终端所需功能如下:

(1)工程车辆地理位置信息采集功能:车载终端通过GPS定位模块实施对地 理位置的数据采集,可以采集到经度、纬度、速度、运行方向等数据,同 时通过串口给核心处理部分。 (2)工程车辆状态信息采集功能:车载终端通过ADC模块、GPIO接口、串 口等对车辆各种运行状态数据进行采集,包括油温、油压、转速、车速等
数据。

(3)人机交互功能:本终端配置有彩色液晶显示器,同时,我开发了操作界面, 在第五章会讲到,界面可以显示车辆的各种信息,并配置了报警指示灯, 一旦发生意外情况,报警指示灯会变亮来提示操控人员进行相关操作,同 时,我应用了虚拟仪表技术,使得操控人员可以更方便、更直接、更形象
的观察到数据。 (4)远程监控功能:车载终端会定时的向监控中心发送消息,以便监控中心可

以及时的观察到车辆当前的运行状态,同时,监控中心也会记录下车辆的
运行状态,以便同后查询,从而发现问题,解决问题。监控中心也会主动

发送命令告知车载终端发送信息,从而满足监控人员及时的对车辆进行监
控。

(5)无线通讯功能:为了和监控中心通信,我显然不能采用有线通信的方式。
所以车载终端配置了无线通信模块,并且,我完成了无线通信模块的软件

工作,通过对GSM模块的操作,我可以通过GSM无线通信网络来传输 我所要的信息。 (6)硬件扩展功能:一个好的设计需要有很好的提升空间,为此,我在硬件设 计方面提供了很多外围接口,以供将来硬件升级,这些接口包括112C总线, CAN总线等。 (7)软件升级功能:软件是系统必不可少的一部分,没有软件,硬件就是一个 空架子,而对软件的升级对于我来说提出更大的要求,它需要有良好的软 件架构,在添加代码时可以方便的、有序的、有效的进行,为此,为软件 升级留出了很多接口,以便同后方便快捷的升级。

2.2.2系统非功能需求分析
工程车辆相对一般车辆具有一定的特殊性,它们的工作环境很不稳定,经常
.8.

第二章车载终端总体设计方案

会在恶劣的气候、天气下进行施工作业,这对车辆的监控系统提出了更高的要求。 在满足了系统的功能需求之外,我必须考虑系统的其他非功能需求,也就是系统 的稳定性、可靠性、安全性、实用性、开发性、实时性等。以下几个方面是系统
的非功能需求。

(1)系统的可靠性和稳定性:系统的可靠性包括了数据传输的准确性、完整性, 车载监控终端长时间工作的稳定性和有效性。为此,我必须从软件、硬件 两个方面去着手。软件方面,首先,我需要搭建稳定的开发*台,在操作 系统的选择上要选择可靠、稳定的操作系统如WindOWS
CE、Linux、Vx

Works等。其次,在软件设计中要考虑软件运行条件,减少程序错误执行 的可能,在程序运行错误的情况下能够进行排错处理,并重新恢复软件的 正确执行。硬件方面,在配件的选择上必须选择那些质量好、稳定性高的 配件,同时,在硬件设计是需要加入硬件保护电路,硬件检测电路或硬件
复位电路来保证硬件的可靠的运行。

(2)系统的实用性和扩展性:工程机械监控系统的服务对象是国内广大的工程 机械制造商和租赁商,而工程机械的种类较多,这就需要监控系统具有很 强的伸缩性,可以支持不同的机械车辆,如挖掘机、起重机、推土机等。 为此,在软、硬件的设计中需要考虑到其扩展性,在软件架构的设计上要 允许方便的加入其他的模块,做到软件的模块化,硬件方面需要留出可扩 展的接口,从而满足不同车辆的要求,也为今后的发展需求留出空间。 (3)系统的响应速度:车载监控系统是一个实时系统,它需要及时的采取到车 辆的信息,才能进行及时的措施,所以在系统设计的时候,我要选择实时 操作系统,在软件和硬件的设计中我要考虑尽量简化从而提高系统的响应
速度。

(4)系统的可维护性:车载监控子系统的安装和调试不应该过于复杂,在系统 运行过程中出现错误时要能够及时详细的报告错误类型和原因。 (5)系统的开放性和保密性:工程车辆是通常用来为企业和单位搞基础建设和 资源开发等重要工作,涉及到企业和单位很多的机密和信息,为此必须采 取相应的措旖,如对传输信息加密、对用户进行身份验证等。在确保系统 安全和数据安全的前提下,要求系统具有一定的开放性,即产品应遵循统 一的与工程机械生产厂商无关的国家标准和行业标准。

电子科技大学硕士学位论文

2.2.3系统用例分析
车载监控系统涉及到的人员一方面是管理中心的监控人员,另一方面是合法 的授权用户,操作人员和用户享有不同的权限,用户需要快捷方便的了解自己车 辆的状况,操作人员要按照用户的要求对车辆进行监管,并能够及时向用户反映 车辆状况。与监控人员相关的系统用例如下所示: (1)查询:查询是指监控人员通过管理中心发送查询指令,车载监控终端在接 到并识别中心指令后,将采集的信息通过无线网络反馈给监控中心,同时 通过监控中心界面告知监控人员。 (2)设置短消息服务中心号码:在发送消息时,监控中心发送命令要求车载终 端提取短信的中心号码并保存。 (3)设定传感器门限:监控人员根据车辆需要,通过监控中心向终端发送“设 定传感器门限”指令,监控终端需要按照中心发送的门限与采集的数据进 行对比决定是否报警。 (4)传感器报警使能:监控人员通过管理中心发送“开启报警”指令,车载终 端在接到并识别指令后,立即开启自动报警功能。 (5)取消报警:监控人员通过管理中心发送“取消报警一指令,车载监控子系 统在接到并识别指令后,立即停止报警功能。 (6)锁车:监控人员通过监控中心发送“锁车"指令,车载监控终端在接收、
识别指令后,马上利用置内的控制端口切断车辆油路。

与监控人员有关的系统用例图如图2-4所示,各种用例交互作用。

图2.3监控人员用例图

第二章车载终端总体设计方案

与用户有关的系统用例如下所示: (1)查询:用户通过手持终端发送“查询"指令,车载监控子系统在接到并识

别指令后,将收集的信息通过无线网络发送给用户的手持终端一次,显示
车辆当前工作信息。 (2)锁车:用户通过手持设备发送“锁车"指令,车载监控子系统在接到并识 别指令后,立即通过内置的控制端口切断车辆油路。 与用户有关的系统用例图如图2.5所示,参与者“授权用户"与用例“单次查 询’’、和“锁车"交互作用。

图2-4用户用例图

2.3车载终端系统开发流程
整个车载监控系统实际是一个嵌入式系统的开发,它的设计和开发流程一般 分为以下几个阶段【111:产品定义(即系统需求分析阶段、规格说明阶段)、硬件和软

件划分、迭代与实现、详细硬件与软件设计、硬件与软件集成、系统测试和系统
维护和升级。其具体流程图2-6如下:
第 二 阶 段


第 阶 段 产
口 I:ZI.I

第 阶 段 迭 第四阶段: 详细的硬件

第 五 阶 段 硬

第 —L
/、








段 系
统 测 试 与 发 布







与 软 件 划 分

与软件设计




与 实 现


软 件 集 成


维 护

定 义


升 级

硬件设计 软件设计

图2.5车载嵌入式系统开发流程图

电子科技大学硕士学位论文

2.4车载终端操作系统及软件开发*台分析
随着嵌入式技术的不断发展,各种嵌入式操作系统以及相应的软件开发*台
大量涌现。其中较具特色的有VxWorks、嵌入式Linux、Windows
CE、uC/OS.II

和PalmOS等。在选择操作系统时我必须结合工程实际选择适合的操作系统,通常
在选择时我需要考虑的主要因素有:响应时间、开发时间、成本、体系结构、可

靠性、能源损耗等。各种因素互相作用,相互制约,因此,在实际工程中,研发
人员必须综合考虑各种因素选择最为合适的操作系统和开发工具。 考虑到系统响应时间、开发时间和开发成本等因素,我考虑在微内核系统中 VxWorks和Windows CE中选择。它们是两种典型的操作系统。VxWorks是美国 WindRiver System公司开发的一款嵌入式实时操作系统,具有良好的可靠性和卓越 的实时性,整个系统由四百多个相对独立、短小精炼的目标模块组成,用户可以 进行裁减和配置,根据自己需要来选择适当的模块。然而,美中不足的是它的界 面开发难度较大,没有提供很好的开发工具。而Windows CE是~个基于优先级的 多任务操作系统,它的主要特点如下【12】: (1)拥有良好的通信能力,可以支持各种通信硬件,集成了TCP/IP协议,支 持Internet,支持局域网。 (2)支持嵌套中断,具有更高优先级的线程可以优先得到响应,而不必等待, 这为系统的实时性提供了条件。 (3)更好的线程响应能力,对高级别IST(@断服务线程)的响应时间上限的要 求更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的 具体时间,并通过增强的监控能力和对硬件的控制能力创建新的嵌入式应

用程序。
(4)具有多个线程优先级,共有256个,开发者可以通过设置优先级来控制任 务的调度,从而方便了开发,提高了灵活性,使得产品有更强的适应能力 和更大的升级空间。 (5)Windows CE操作系统的API是Win32API的一个子集。支持*1 500个 Win32API。可以为开发提供方便的开发工具,而不需要开发者一个个写

程序,从而节省了开发时间。
同时,微软公司还提供了一组功能强大的开发工具,如系统开发工具Platform Builder,程序开发工具Visual Studio.NET、Embeded

Vi刚C++、Embedded Visual

Basic等。便利的开发工具、强大的图形界面以及多种技术支持无疑为我的开发带

第二章车载终端总体设计方案

了极大的便利。通过以上分析,为了提高研发效率,节约研发成本,从而尽快抢 占市场。我最终选择了Windows CE操作系统,并选择Embeded VisualC++4.0作为 软件开发工具。

2.5车载终端处理器选型分析
本项目采用ARM公司的ARM9产品,其具体型号是s3c2410a。该芯片是基 于ARM920T而开发的一款多功能SOC,它采用了O.18微米标准CMOS技术【13】。 它的小巧低功耗全静态设计特别适合于价格和功耗敏感的系统。最高运行速度可 达200MHz。其特点如下: (1)体系结构为手持和一般嵌入式应用设计高集成度系统【¨】;16/32位RISC 体系结构和强大的指令集;增强型ARM结构MMU支持W科CE、Linux 等嵌入式操作系统;ARM920T内核支持ARM的调试结构;内部AMBA(A
DVANCED

MICRoCC)NTROLLER

BUS

ARCHITECTURE)总线。

(2)系统管理器支持大小端系统;地址空间共达1G,每个BANKl28M;每个 BANK支持可编程的数据总线有8位、16位、32位;BANK0.6起始地址 固定,BANK7的起始地址和大小可编程;8个BANK:6个BANK支持
ROM、SRAM,2个BANK支持ROM、SRAM、SDRAM。

(3)NAND闪存引导器支持NAND闪存自动引导;4KB的内部引导缓冲空间; 支持引导后的NAND闪存存储功能。 (4)时钟和电源管理片*ǎ停校蹋毯停眨校蹋蹋眨校蹋滩眨樱律璞杆枰 时钟,MPLL产生内核时钟,最大可达到203MHz;提供给每个内部模块 的时钟都是可编程的;四种电源管理模式:1正常工作状态,2减速模式: 不使用内部PLL时候系统频率降低,3休眠模式:CPU时钟停止,4调电 模式:内部所有时钟关闭支持外部中断EINT[15:0]和RTC报警中断调电 模式。 (5)中断控制器共支持55个中断源:外部中断支持电*触发和边沿触发模式 并支持高低电*和上升沿下降沿可编程;支持FIQ模式。

2.6本章小结
本章首先对车载监控系统做了一个整体介绍,并分析了各个部分框架结构, 而后详细分析了系统的需求,包括功能需求、非功能需求,并分析了系统的用例。 然后介绍了车载系统的开发流程、所需软件*台和硬件*台。并提供了一个很好

电子科技大学硕+学位论文

的解决方案,为下一步的软件、硬件设计提供了一个大的框架结构,指导了下一 步的工作。

第三章Windows CE操作系统*台构建

第三章

Windows CE操作系统*台构建

3.1

Windows CE操作系统结构分析

3.1.1系统架构
Windows CE被设计成为一种分层结构,如图3.1所示,从底层向上分别为硬 件层、OEM层、操作系统层和应用层【l 61。每一层分别由不同的模块组成,每个模 块又由不同的组件构成。这种层次性的结构试图尽量将硬件和软件、操作系统与 应用程序隔离开,以便于实现系统的移植,便于进行硬件、驱动程序、操作系统
和应用程序等开发的人员分工合作、并行开发。

图3.1 Windows CE系统架构图

3.1.2文件系统
Windows CE的文件系统和数据存储都指的是对象存储,对象存储是Windows CE的默认文件系统,它相当于Windows CE设备上的硬盘。对象存储是由共享一 个内存堆的文件系统、数据库和注册表组成的,即使在没有系统主电源时,对象 存储也能维持应用程序及相关数据不会丢失。Windows CE的对象存储是在当主电

电子科技大学硕士学位论文

源被撤掉而只有一个后备电源时,提供对应用程序及相关数据的永久存储。一个 或多个非易失的RAM存储器芯片构成了物理的对象存储。 对象存储由三种类型的永久存储即文件系统、数据库和系统注册表组成117J。
Windows CE的文件系统既可以是一个RAM和ROM文件系统,也可以是一个ROM

的文件系统;Windows CE数据库(CEDB)模型是一个小型的、扁*的结构,并为小 型的、有效的存储进行了优化;Windows CE注册表的结构类似于在其他桌面 Windows中的注册表结构,它被组织成为树状结构。

3.1.3内存管理
Windows CE被设计成为一个ROM+RAM的文件系统,它无缝的集成了基于 ROM的应用和基于RAM的数据。在Windows CE系统中,ROM的大小可以达到 32MB甚至64MB,可以用来存储整个Windows CE操作系统以及与操作系统捆绑

到一起的程序。
Windows CE提供的4GB的虚拟地址,空间被分为2个2GB的区域:上面2GB

的内核空间,下面为2GB的用户空间,如图3.2所示,内核空间是专门为内核使
用而保留的,只能由具有kmode优先权的线程访问,而用户空间是为运行用户应

用程序准备的,可以由除了进程空间保护限制的所有线程访问。用户空间被分为 64个32MB的Slot,其中Slotl.S10t32保留给要加载的每一个进程,Windows
CE

系统最多同时可以运行32个进程,每个进程将占有一个Slot;而Slot是一个特殊 的Slot当前正在运行的进程总是被映射到Slot0。
内核地址:内核 页,Trap区域及 其他 静态映射的虚拟 地址:0EM附加的
Slot97:NK.EXE

Slot63:资源映射

Slot33—-slot62:

对象存储和内存映 射文件

Slot娜lot32:
进程
Slotl:XIP DLLs

未使用的 静态映射的虚拟 地址:非缓冲的 静态映射的虚拟 地址;非缓冲的

Slot0:当前进程

图3.2 Windows CE系统地址映射图

第三章Windows CE操作系统*台构建

内核地址空间包含了静态映射的虚拟地址、NK.EXE进程空间和其他内核映 射。512MB之上的物理资源都可以被映射到主要的静态映射区域内。对于ARM
和X86架构的CPU来说,在Windows CE内核的启动过程中内核会将系统所有的 物理内存地址全部的映射是由OEM在OAL中通过OEMAddressTable来定义的。

3.1.4系统调度
Windows CE内核是Windows CE操作系统的核心,内核为基于Windows
CE

的设备提供了基本的操作系统功能,其中包括进程、线程、内存管理及一些文件 管理功能等。内核服务使应用程序能够使用这些核心功能。图4.3为Windows
CE

操作系统内核的一般结构【17】,从图3.3中可以看出,内核是核心操作系统其他部 分的管道,它将核心操作系统的各个部分串联成一个有机整体。

图3.3 Wmdows CE系统内核图

电子科技大学硕士学位论文 3.2

Windows CE*台开发工具及开发流程

3.2.1集成开发环境Platforill Builder 4.2介绍
本课题使用的Platform
Builder

4.20是微软公司提供的基于WINCE.NET*台下

嵌入式操作系统定制的集成开发环境,Platform Builder提供了所有进行设计、创 建、编译、测试和调试WinCE.NET操作系统的工具,它运行在桌面Windows下, 我可以通过交互式的环境来设计和定制系统内核、选择系统特性,然后进行编译
和调试,同时还可以利用Platform Builder来进行驱动程序开发和应用程序开发等。
Platform Builder提供的主要开发特性如下:

●具有开发*台向导和BSP开发向导【l引。使用者可以方便的利用该工具进行 BSP的移植和开发。 ●基础配置。它提供了一个基本的操作系统,用户可以在此基础上进行修改, 编译,从而节省开发的周期。 ●特性目录。它为使用者提供了操作系统组件,用户可以随意添加组件,以 供项目需要。 ●自动化的依赖性检查【18】。使用者在添加组件时,相应组件会随之被添加, 而当删除组件时,也会被随之被删除。 ●内核调试器【19】。在完成操作系统基本定制后,用户可以对完成的操作系统 进行调试,并可以看到调试内容以便发现错误。 ●导出SDK向导。用户可以导出一个自定义的软件开发工具包(SDK)[20】,用 户需要有针对性的SDK以供特殊的硬件要求。并可以安装在Windows操作系统下, 这可以方便开发。

●远程工具。PlatformBuilder提供了远程调试工具,包括spy等,这样用户可
以直接在PC机上对开发的应用程序和操作系统进行远程的监控和调试,为调试工 作带了极大的方便。 ●仿真器。PlafformBuilder提供了Windows公司开发的仿真器,用户可以将 应用程序在仿真器上调试,而不用放到真实硬件上去,这样减少了调试的复杂度, 节省了调试的时间。 ●应用程序编译器。PlatformBuilder还提供了应用程序编译。
3.2.2

Windows CE操作系统开发流程

第三章Windows CE操作系统*台构建

Windows CE操作系统的开发大致可以分为四个部分【21】:Boot Loader开发、 OAL开发、BSP开发和内核定制,其具体流程如图3.4所示:

图3.4 Windows CE系统开发流程图 3.3

BSP开发 BSP简介及开发流程

3.3.1

BSP又称板级支持包,它是一个包括启动程序、OEM适配层程序(OAL)、标 准开板(SDB)和相关硬件设备的驱动程序的软件包【矧。实际上,BSP是介于硬件和 操作系统中的一层软件系统,它抽象操作系统和硬件之间的交互接口,是操作系 统和硬件的桥梁。BSP对硬件接口的抽象示意图如图3.5所示。

电子科技大学硕士学位论文

图3.5 BSP对硬件接口的抽象

在WinCE.NET中,BSP主要由4个部分构成【16】:OEM抽象层(OAL)、引导 程序(BootLoadcr)、设备驱程序和配置文件。它们之间的关系如图3-6所示。

图3-6 BPS关系图

大致而言,开发BSP可以分为7个步骤【251,其具体开发流程如图3.7所示:

图3.7 BSP开发流程图

第三章Windows CE操作系统*台构建 3.3.2
3.3.2.1

Boot
Boot

Loader开发
Loader架构

一个典型的以太网Boot Loader是由Blcommon、OEM代码、Eboot和网络驱 动程序等组成【251,如图3.8所示Blcomrnon是通用的Boot Loader框架;OEM代码 是与目标硬件相关的初始化和扩展程序;Eboot是以太网功能程序,如UDP、DHCP 等;EDBG驱动是调试以太网的驱动程序:Bootpart是用于永久存储设备的分区管
理程序;FMD是用于Samsung/Sandisk的NAND Flash或Intel StrataFlash(NOR Flash) 的Flash管理程序。




EDBQ驱动
图3-8
3.3.2.2 Boot Boot
Boot

Loader架构图

Loader的组件及控制流程
Startup

Loader是由OEM
Startup

Code和Main Code两部分组成的【161。首先执

行的是OEM

code,它对硬件进行初始化,同时还可以完成一些附加的初

始化功能,然后跳转到C:\wince420kPlatform\S3C2410\Src\BootLoader\EbootLMain.c 实现的Main入口点。Main Code是管理Boot Loader执行的主要C语言代码,它 主要包括映像下载代码、以太网I/O代码、调试串口I/O代码、Flash写入代码。 其控制流程如图3-9所示。当打开电源或复位时,CPU首先执行Startup函数,然 后Startup函数跳转到Blcommon框架的BootLoaderMain函数,接着再执行OEM Debuglnit等函数。

电子科技大学硕士学位论文

I………………………………………………一一●
图3.9
3.3.2.3 Boot
Boot

Loader控制流程图

Loader主要函数模块及其实现

1)串口调试函数实现 串口调试函数负责初始化目标设备的串口并与调试信息输出设备进行通信,在 典型情况下,使用标准的UART串口通过Modem串口连接线连接到开发工作站的 超级终端。在本项目中我在微软提供的2410硬件*台的源代码基础上进行了相应 修改。 2)OEMPlatformInit函数实现 OEMPlatformInit函数是用来实现板级硬件初始化,它主要完成以下功能: (1)初始化实时时钟或通过OEMEthGetSeCs函数初始化其他计时设备。 (2)在使用NANDFIash存储器的情况下,初始化Flash存储器或Flash存储器 控制器。

第三章Windows CE操作系统*台构建

(3)初始化主PCI桥(Host

PCI

Bridge)、列举挂接到PCI总线上的设备以便找

到下载所用的以太网控制器,并配置与操作以太网控制器有关的PCI硬
件。
表3一l串口调试函数表

函数
OEMDebughfit

描述

初始化调试UART串口,由Blcommon调用,它又
去调用OEMInitDebugSerial

OEMWriteDebugStfing 将调试信息字符串输出到调试UART串口
OEMWriteDebugByte 输出一个字节到调试UART串口,由OEMWriteDe

bugString调用,用于逐个字节输出调试字符串
OEMReadDebugByte

从调试UART串口读取一个字节数据

(4)初始化用于从开发工作站上下载运行时映像的以太网控制器。微软已经为 许多网络控制器提供了用于初始化和与控制器进行通信的静态库,由于这

些库向外导出一个共同的接口,所以开发者可以使用函数指针来从这些控 制器库中选择所用的特定以太网控制器硬件,开发者可以在整个Boot ader中使用这些函数指针代替实际的网络控制器库的调用。 (5)初始化启动变量、启动参数以及其他操作系统可能用到的保存信息的内存
区域。
Lo

31以太网控制器相关的函数实现 Blcommon.1ib和cboot.1ib通过对DHCP、UDP和TFl’P服务的支持来调用以太 网控制器相关的函数,与以太网控制器相关的函数如表4.2所示。 4)OEMPreDownload函数实现 OEMPreDownload函数主要完成下列任务:
(1)为Platform Builder下载运行时映像产生一个唯一的目标硬件*台名,这

个硬件*台名一般是一个与网络接口卡的MAC地址关联的静态文本字符
串。

(2)为目标硬件分配一个静态口地址或从DHCP服务器获一个动态口地址。

电子科技大学硕士学位论文 表3.2以太网控制函数表

函数 OEMReadData

描述 由Blcommon框架调用,用于在下载过程中从传输 端口数据。OEMReadData接着会调用位于eboot.1ib 里EbootEtherReadData函数,EbootEtherReadData 再去调用OEMEthGetFrame

OEMEthGerFFame OEMEthSendFrame OEMEthGetSecs

通过pfnEDbgGetFrame指针从网卡读取数据。 通过pfnEDbgSendFrame指针直接写数据到网卡。 返回从某个确定的时间到现在为止的时间秒数。

(3)初始化TFTP传输端口或Platform Builder下载协议。开发者可以通过调 用在eboot—lib里定义的EbootlnitEtherTransport函数来实现。 5)实现OEMLaunch函数 OEMLaunch函数主要完成以下任务: (1)OEMLaunch可以应用在eboot.1ib中定义的EbootWaitForHostConnect函 数,等待Platform Builder发送关于启动什么服务和从什么端口启动服务 的信息。开发者可以直接将已有*台实现EbootWaitForHostConnect函数

的代码复制过来使用。
(2)检查从EbootWaitForHostCormect的返回值,然后将口和端El信息保存到 DriverGlobalS参数里,后面OAL将会用到这些信息。

(3)跳转到由dwLaunchAddr参数定义的第一条指令,这条指令就是Boot
ader映像的Startup函数

Ix)

6)实现OEMIsFlashAddr函数
OEMIsFlashAddr函数用于决定是将J下在下载的.bin文件存储到Flash存储器还 是RAM,如果它所传递的地址是一个Flash地址,那么返回为TRUE,.bin文件将 被写入Flash存储器,Blcommon将在下载过程结束后调用Flash存储器函数将映 像保存和写入Flash存储器。

7)实现OEMMapMemAddr函数

第三章Windows CE操作系统*台构建

在典型情况下,一个运行时映像在被写入到目标设备的Flash之前,需要先完 全下载到目标设备的RAM,待运行时映像被验证没有问题之后,才开始被写入。 在运行时映像的下载过程中,可以并行地进行Flash的擦除工作。这允许在进行慢 速的Flash擦除工作的同时先将下载的运行时映像临时缓存到RAM,待Flash擦除 完毕、运行时映像验证无误后再将运行时映像写入到Flash存储器。 8)实现Flash存储器擦除操作函数 擦除操作函数由库调用,它包括如表所示的三个函数。
表3.3 Flash存储器操作函数表

函数
oEMStartEraseFlash

描述 在下载过程开始时被调用,并提供完整的运行 时映像的起始地址和运行时映像的长度。运行 时的映像的起始地址和长度用来确定需要擦 除Flash存储器的地址范围。

OEMContinuetEraseFlash

在下载.bin文件的每个记录时都调用这个函
数,以允许Boot Loader继续进行Flash存储器 的擦除操作。

OEMFinishEraseFlash

在运行时映像被完全下载后调用,以允许Boot
Loader完成Flash存储器的擦除操作。

3.3.3驱动程序开发
3.3.3.1驱动开发简介 驱动程序是一个抽象物理设备或虚拟设备的功能软件,它是操作系统与硬件交 互的方式,是连接硬件和操作系统的桥梁。它为操作系统提供驱动程序接口,使 得操作系统可以方便的使用硬件设备。 1、分层驱动与单体驱动 Windows CE设备驱动程序在结构上可分为单体结构和分层结构【32】.【4¨。用户 可以直接在操作系统层对设备进行驱动也可以把它单独作为一个驱动层进行驱 动。其具体结构如图4-14所示。单体结构的设备驱动程序直接访问设备,把跟硬

电子科技大学硕士学位论文

件设备相关的函数,也就是DDI(Device DriverInterface)函数直接提供给操作系 统。分层结构的设备驱动程序在结构上分为MDD(model
device

driver)层和PDD

(platform—dependent dfiver)层,MDD层是提供给操作系统调用的,MDD层通过 DDSI(Device
Driver Service Provider

Interface)i函数来调用PDD层,而PDD层

是跟硬件设备相关的。

图3-10 Windows CE驱动结构图

2、本地驱动与流接口驱动
本地驱动是指Windows CE为一些特定设备提供的驱动,这些驱动早以放在操

作系统中,不需要用户另外添加,这些设备包括鼠标、键盘、USB口等,因为这 些驱动的特殊性,所以用户是看不到的(在微软没有公开源代码的情况下),不过微
软要是公开源代码的话,我还是可以参考的。

流接口驱动程序是动态连接库【42】-【431,流接口驱动是用户可以自己开发的,用 户通过创建一些驱动接口,并把这些接口提供给设备管理器,驱动的名字都是按
照Windows CE的标准命名的。

3、设备驱动程序中断处理 就其中断处理而言,Windows CE采用了一种独特的方法。它将中断处理分为 两步:中断服务例程0SR)和中断服务线程(IST)。具体来讲就是把每个硬件的设备 中断请求(瓜Q)和一个ISR联系起来,当一个中断发生并未被屏蔽时,内核调用该 中断注册的ISR。因为ISR运行于内核模式,所以应该被设计得尽可能的短,ISR 的基本职责是引导内核调度和启动合适的IST。IST在设备驱动程序软件模块中编 写,它从硬件获取或向硬件发送数据和控制代码,并进一步处理设备中断。Windows

第三章Windows CE操作系统*台构建

CE还支持中断嵌套。
内核模式组件 设备驱动程序 中断服 务线程
底层

异常处理I 器 I

l中断服务 I处理器

微软提 供组件

、 ●,/
oEM提 供组件

中断服 务例程

0AL例 程

例程

硬件 图3—1 1 Windows CE驱动终端处理结构图 3.3.3.2

ADC驱动

1、ADC驱动分析 ADC驱动是典型的流驱动【491,它把ADC硬件设备抽象成一个文件,要完成

ADC的驱动实际上是要完成一个动态链接库的编写,通过动态链接把函数传递给 操作系统。 加载ADC接口驱动程序需要4个步骤:
1)为ADC驱动选择前缀,即ADC。

其具体过程是在Platfom Builder创建一个DLL
2)实现ADC驱动DLL所必需的接口函数; 在ADC.cpp文件中包括4个关键函数分析如下: (1)DWORD ADC_Init(DWORD dwContext)

T程命名为ADC。

当操作系统启动时候,首先由设备管理器加载驱动,这时调用ADC!nit0函数。 这其中包括物理地址的映射、IST中断注册、管脚的初始化等等,在本ADC驱动 中我不用中断,所以无需IST中断注册。在基于Windows CE.NET的*台中,C PU的硬件寄存器地址空问要映射到操作系统的物理寄存器地址空间,这样对操作 系统物理寄存器操作如同对CPU的硬件寄存器操作。硬件寄存器地址主要由处理 器决定的,但操作系统的物理寄存器地址空间是固定的,OEM在OEMAddressTa ble中实现了2410的所有硬件寄存器到WinCE物理寄存器空间的映射。WinCE 下应用程序中要实现对ADC的物理寄存器访问,由于地址空间不同(应用程序地 址空间为:0X00000000'-'-'0X41FFFFFF,操作系统物理寄存器为:0XA0000000"--0 XBFFFFFFF),这时就需要用到VirtualAlloc0和VirtualCopy()i函数来实现地址的映 射。主要代码分析如下:

电子科技大学硕十学位论文
pADC

Dev一>pADCreg=(VolatileADCreg木)VirtualAlloc(0,sizeof(ADCreD,ME

M_RESERVE,PAGE_NOACCESS); //申请一段sizeof(ADCreg)的地址空间 VirtualCopy((PVOID)pADC_Dev一>pADCreg,(PVOID)(ADC_BASE),sizeoffAD Creg),PAGE_READWRITE l PAGE_NOCACHE)

//将申请的地址和物理地址进行映射
VirtualFree((PVOID)pADC Dev?>pADCreg,0,MEM_RELEASE); ∥释放虚拟内存 (2)DWORD
ORD DC

hDeviceContext,DWORD ., LDNAH(nepOAccessCode DW

ShareMode)

该函数用于打开ADC设备,为应用程序CreateFile提供接口函数。考虑到触 摸屏也会用到ADCCON寄存器,所以在该函数中并没有对寄存器进行操作,而只
是对两个变量进行了初始化,主要代码如下:
pADC Dev.>channel=0x0; pADC Dev.>prescale=0xff;

//初始化变量channel //初始化变量prescale
hOpenContext,LPVOID

(3)DWORD ADC_Read(DWORD Count)
ADC

pBuffer,DWORD

Read函数用于读取ADC转换后的数据,在该函数对ADC的寄存器进行

操作,完成了对ADC寄存器的保护,该段代码运用了临界区的思想,在使用AD C的时候其他的线程不能访问临界区的代码,即EnterCriticalSection(&(pADC_DeV
.>ADC

CS))与LeaveCdticalSection(&(pADC_Dev->ADC_CS));之间的代码。通过

这种处理可以使得ADC与触摸屏互不干扰。具体代码如下:
EnterCriticalSection(&(pADC_Dev->ADC_CS)); TEMPCON=pADC_Dev->pADCreg->rADCCON;

pADC_Dev.>pADC咿ADCCON&=0x8000;//ADC控制寄存器清零
pADC_Dev->pADCreg->rADCCON[=0x4000;//ADC预分频使能

pAOC_Dev->pADCreg->rADCCONl2((pADC_Dev->prescale)&0xtI)<<6;
∥设置分频因子

pADC_Dev->pADCreg->rADCCON]2((pADC_Dev->ehannel)&7)<<3;
∥选择通道
pADC

Dev一>pADCreg.>rADCCONI=0xl;

∥启动转换
//确定启动

while(pADC_DeV一>pADCreg->rADCCON&0x 1);
一28.

第三章Windows CE操作系统*台构建

while(!(0x8000&pADC_Dev->pADCreg->rADCCON));//检查转换结束
木((DWORD宰)pBuffer)=0x03 ff&(pADC_Dev->pADCreg->rADCDAT0); ∥读取数据
pADC Dev->pADCreg->rADCCON=TEMPCON;

LeaveCriticalSection(&(pADC_Dev->ADC_CS)); (4)DWORD ADC_Write(DWORD hOpenContext,LPCVOID pSourceBytes, DWORD NumberOfBytes)
ADC

Write对ADC进行写操作,和ADC

nepO.存寄对有没并中数函在,似类

器进行操作,只是通过应用程序将参数保存到变量中,目的也是为了进行数据保 护。具体代码如下: DWORD幸ADCControl;
EnterCriticalSection(&(pADC_Dev?>ADC—CS)); ADCControl=(DWORD宰)pSourceBytes; pADC_Dev->prescale=*ADCControl;//设置预分频参数
pADC

Dev->channel=*(++ADCContr01);//设置通道选择参数

LeaveCriticalSection(&(pADC_Dev->ADC--CS));
return

sizeof(pSoureeBytes);

31编写DLL的导出函数定义文件.DEF。
LIBRARY ADC

EXPOIⅡ’S
ADC_Opell ADC——Close ADC——Init ADC——Deinit ADC——Read

ADC——Write

41为驱动程序配置注册表。 在PB里面的platform.bib文件合适位置加上下面代码,把驱动打包到操作系
统内核:
ADC.dll

¥(FLATRELEASEDIR)kADC.dU

NK SH

在PB里面的platform.reg文件的合理位置加上下面的代码,实现驱动在系统
启动时的加载:

电子科技大学硕士学位论文

[HKEY_LOCA L__MACHIN E\:DriVers\:BulltIn\ADC]
”Index”=dword:l ”Prefix”=”ADC’’ ”DLL”=”ADC.dll” ”Order”---dword:0

最后,进行编译即可完成。
3.3.3.3

GPIO驱动

l、驱动函数实现 本例程对GPIO驱动的实现是基于Windowns CE流驱动的实现。ARM
2410

GPIO驱动程序的实现代码主要在于流驱动几个主要接口函数的实现。本例程选择
驱动名字为“PIO",包括GPIO.h和GPIO.c文件,GPIO定义了一些常量和宏定义, GPIO.c实现了流驱动的主要接口函数,如:PIO
O Close、PIO Init,PIO Deinit、PIO Open,PI

IOCon廿ol等,而PIO IOControl是的实现功能的主要代码,其他的 Write,PIO
Seek,PIO PowerUp,PIO

如PIO

Read,PIO

PowerDown只是简单

的返回,没有具体的实现代码。PIO IOControl主要的实现如下: (1)驱动入口:驱动程序从这个函数开始,不过在这里并没有给出真正实现的 代码,仅是给出一些必要的调试信息。这个函数实现比较简单,是基于一 个switch case语句,对不同方式进入驱动,给出不同的调试语句。 (2)安装和卸载驱动:这两个函数是在驱动加载和卸载的时候被调用的,主要

实现一些初始化工作,如,资源的申请,物理寄存器的映射以其相关数据
结构的初始化等。

(3)资源的申请:v_plOPregs=(volatile IOPreg?)VirtualAlloc(0,sizeof(IOPr
eg),MEM_RESERVE,PAGE_NOACCESS); (4)寄存器的映射:VirtualCopy((PVOID)v_plOPregs,(PVOID)(IOP_BASE),s izeof(IOPreg),PAGE—READWRITE I PAGE_NOCACHE); (5)全局变量初始化:g_OpenCount=O;这个变量用来标识驱动打开的次数。

(6)卸载跟安装是相反的,主要用来释放资源,VirtualFree((PVOID)v_plOPr
egs,0,MEM_RELEASE);并重新初始化全局变量g_OpenCount=0。 (7)打开和关闭驱动:这里可以对硬件设备作进一步的初始化,本例程主要是 对全局变量g_OpenCount的操作,用来计数该驱动被打开的次数,也可以

第三章Windows CE操作系统*台构建

用来控制驱动只能够被打开一次,即是驱动是否是独享还是共享的。本例
程设置成独享。

(8)读写操作:本例程并没有实现对设备的读写操作,仅是简单的返回。真正 跟硬件的交互是在PIO IOControl实现的。 (9)设备控制:这里主要要介绍的是PIO—IOControl,这个函数是本驱动的主 体,实现了程序对硬件的控制,以及跟硬件的数据交互。本例程实现了S
3C2410 GPIO

117个管脚的全部驱动。包括实现了对单个管脚和多个管

脚的配置(配置输入,输出,上拉);实现了对单个管脚和多个管脚数据输 出;实现了对单个管脚和多个管脚数据读取。 2.驱动的.clef文件,把驱动接口暴露给操作系统
LIBRARY GPl0
EXPORTS PIO——Init PIO——Deinit PIO_Open PIO——Close PIO——Read

PIO.—Write
PIO—.Seek PIO—.IOControl PIO—.PowerDown PIO PowerUp

3.驱动配置文件

在PB里面的platform.bib文件合适位置加上下面代码,把驱动打包到操作系 统内核:
GPIO.dll

¥(-JLATRELEASEDIR)\GPIO.dn

NK SH

在PB里面的platform.reg文件的合理位置加上下面的代码,实现驱动在系统
启动时的加载: 【HKEY-.LoCAI—MACHINE\DriVers\BuiltIr曲IO】
什FriendlyName”=’’GPIO 241 0 driver¨ ”Prefix”=”PIO¨ ”Indexn=dword:1
”DLL"="GPIO.dll”

.31.

电子科技大学硕士学位论文
”Order”=dword:O

3.4定制操作系统组件
定制操作系统就是对操作系统内核进行裁剪和组件的添加【5¨。Platform
Builde

r使得用户可以方便的操作系统组件进行开发,可以随意的添加和删除组件,在本 文中,我所需要添加的组件如下: (1)在“Cors ent"中选择:
●C Libraries and Runtimes:这为开发者提供C函数库,使得开发者可以方
OS->Display based devices->Application and Services Developm

便的使用c语言。
@Microsoft Foundation Classes(MFC):MFC是微软提供的一个应用函数库,

它包括很多控件和程序,为开发者带来了极大的便利,开发者不用从头到尾写程
序,只需要知道框架就行了。
●Standard SDK for Windows CE.net:SDK是微软提供的标准软件开发包,

在没有创建自己的开发包前可以暂时用之。 (2)在“Cots
OS->Display based devices.>Core OS

Services"中选择:

@Power Management一>Power

Management(FULL):

OSerial Support:实现与串13相关的支持; ●USB Host

Support:实现与USB口相关的支持,本系统有一个USB

Host

接口。
(3)在“Cors
OS->Display based devices一>File System

and

Data

Store”中选择:

●File System—Internal一>RAM and ROM File System:文件系统驱动,能够从

基于对象存储的ROM文件系统和RAM文件系统中读取数据,本系统既有RAM(S DRAM),又有ROM(NAND FLASH);
●Registry Storage->RAM?based Registry:注册表可以保存;

(5)在“Cors face”中选择:

OS一>Display

based devices->Shell and

User Interface->User Inter

●Software Input Panel->Software-based Input Panel Driver:支持软键盘,以
.气2.

第三章Windows CE操作系统*台构建

供用户输入信息;
●Speed Interface->Touch

Display(Stylus):支持触摸屏驱动。 Support’’中选择:

(6)在“Cors

OS->Cors OS Service一>Usb Host

●Usb Storage Class Driver:添加USB驱动; ●Usb Human Input Device(HID class driver):添加鼠标键盘驱动。在系统测

试时需要用到鼠标键盘。 (7)在“Device
Drivers.>USB Host.>USB Host

controllers”中选择:

●OHCI:添加USB HOST驱动:

3.5本章小结
本章首先介绍了Windows CE操作系统的结构,然后介绍了开发工具和操作系 统的开发流程。然后完成了BSP的开发,包括Boot Loader的开发、和驱动程序的

开发。最后完成了操作系统组件的定制。

电子科技火学硕士学位论文

第四章

车载终端硬件设计方案

4.1车载终端硬件任务分析
基于车载终端的功能需求,我做了相应的硬件任务分析,在第二章我提到了 工程车辆地理位置信息采集功能、工程车辆状态信息采集功能、无线通讯功能、 硬件扩展功能和监控功能,针对这5个功能,我设计了相应的5个外围电路,它 们分别是GPS模块电路、ADC模拟数据采集电路、GSM无线传输模块电路、CAN
总线接口电路和GPIO接口电路。

GPS模块电路和GSM无线传输模块电路相对简单,它们的模块提供了串口接 口,为此,我只需要将模块接入对应的串口,并设置好对应的波特率,便可以对 其模块进行操作和数据传输。 工程车辆状态信息的采集分为车速、转速、油温、油位、电压、水温、油水
混合报警信息、油滤报警信息、油压报警信息、空滤报警信息。前面六个是模拟

数据,我通过ADC模拟数据采集电路进行数据采集,后面四个为开关量数据采集, 我通过GPIO接口对其进行采集,同时,为了实现远程监控中的锁车功能,我通过 GPIO对相应的锁车传感器进行操控,从而实现锁车与解锁的功能。

4.2系统硬件结构设计
整个硬件系统由核心板子和外围电路构成,包括了各种传感器电路、GPS模 块电路、GSM通信电路、LCD显示器电路以及锁车控制器电路。GPS模块和GSM 模块分别占用串口0和串口1,油水混合报警、油滤堵塞、空滤堵塞分别占用三个 GPIO口,油温、油位传感器占用两个ADC接口,车速转速传感器是通过CAN总
线进行数据的通信。其结构图如图4-1:

整个系统硬件由核心板和外围电路构成。核心模块就是CPU最小系统的实体 化,包括CPU电路、SDRAM电路、Flash电路、JTAG调试电路、复位电路和核 心模块电源电路。核心模块采用两片Flash,一片内存SDRAM设计,主要考虑程 序运行可靠稳定性,系统引导程序和应用程序存放到不同的Flash存储器中。NORD FLASH用于存储系统引导程序(Boot Loader)。NAND FLASH存储系统应用程序,
包括Windows CE操作系统。

第四章车载终端硬件设计方案

l显示器I州 I器降

油水混合传感器 油滤堵塞传感器 空滤堵塞传感器 ¥3C2410核心板 \几/ 油位传感器 油温传感器 车速转速传感器
图4.1系统硬什结构框图
,1 ^

l苏降 l模块r叫 l越p
I模块r叫

I蠡p
I控制器l犷叫
4.3核心板电路设计方案

在本项目中,我采用了三星公司提供的s3c2410a作为微处理器,相应的我设 计了核心板,核心板主要包括了s3c2410a微处理器、两片Flash存储器、一片
SDRAM内存片,和外围设备接口包括两个串口、USB接口、GPIO接口、CAN

总线扩展接口、以太网接口、以及数据总线和地址总线接口,同时,还包括了ADC 接口、触摸屏接口、LCD接口等。它的框架结构如图4-2所示:

NORD

FLASH

NAND FLASH K29F2808U

ADC

AM29LVl60B

UART0 UARTl USB GPl0

矧GPs模块 劁GSM模块 矧鼠标 矧传感器 矧发动机

么\
DA

/\

弋7

弋夕

PWM

,1J\ ~1/

¥3C2410

/1—卜、

~—,

CAN

触摸屏

LCD

{} {} {} {}
直流电源 并口 JTAG
SD融W

以太网

数据总线
地址总线

图牝核心板电路框图

电子科技大学硕士学位论文

4.4外围硬件模块设计
4.4.1

ADC数据采集电路

如图4.3所示,在设计中我引出了6个ADC接口,为了满足电压需求,我使 用了电阻分压,结构很简单,经过试验可以达到我实验要求。6个ADC分别处理

电压,油压等模拟信号的输入,经过分压公式的计算就可以得到我理想值,在处 理过程中电阻的选择显得非常重要,所以我必须参考它的文档,以便我能够采取
正确的分压方式。

图4-3 ADC接口电路图

4.4.2

GPIO接口电路

GPIO接口电路相对复杂,我采用了耦合装置,电流经过耦合装置后得到了变 化,其中开关量用于检测车辆开关状态报警信息。工程机械远程监控模块对外提

供4路开关量信号采集,这四路都是用来采集报警信号的,同时,有一路GPIO进 行锁车控制,我采取的是高电*报警,一旦有了高电*的出现,我就会检测到,
我会将报警信息传给控制中心电路图如下图4.4所示:

第四章车载终端硬件设计方案

图4—4 GPIO接口电路图

4.5本章小结
本章首先分析了系统硬件整体架构,介绍了硬件*台的构建,完成了包括核 心板的设计和外围电路的设计。在硬件处理时,我必须注意硬件的兼容型,不同 的主频可能会出现不匹配,为此,在硬件选型时要特别注意,同时,在做硬件测 试的时候,要进行多方面的测试,不能单个测试,而要总体测试,不然不能看到 总体效果,这对开发者来说,需要的是细心,不能马虎完事,因为必须做到细致 才能检查出错误。

电子科技大学硕士学位论文

第五章

车载终端软件实现方案

5.1车载终端软件分析

田 区萄


I..........................一

开始



陌丽翻
l初始化界面I 开启并初始化化串口 开启并初始化GPIO 开启并初始化CAN总线 歼启并初始化GSM模块


(力

o o
。口






系 统 任 务

模 块 通 信 任 务



接 收 任 务

数 据 采 集 任 务

数 据 处 理 任 务

界 面 显 不 任 务

> o n

n > Z

数 据 采 集 任 务

总 线 数 据 采 集 任 务

图5.1车载终端软件任务图

第五章车载终端软件实现方案

5.1.2线程分析
Windows CE是有优先级的多任务操作系统【52】,支持最大32位同步进程,一

个进程可包括多个线程,每个线程是一个独立的执行单元,包括一个堆栈和一个

处理器环境。在创建一个进程时会创建一个主线型53H561。本项目拥有一个主线程,
同时创建了另外7个线程分别完成7个任务。在本项目中对线程优先级没有特别 的要求,因此,没有对线程设置优先级,但是线程间需要实现同步。同步的方式 主要有利用事件同步、利用互斥同步、利用临界区同步及利用信号量同步。本项 目中主要是涉及到数据共享的问题,所以我采用临界区同步。线程结构图如下:
空滤堵塞 报警信号 油滤堵塞 报警信号 油水混合 报警信号 主线程

丽丽
警信号





数 据 采 集 线 程
。 叼
【力



’’



面弼 燕丽
信号 信号

油量不足 报警信号


块 通 信 线 程



接 收 线 程

数 据 采 集 线 程

数 据


理 分 析 线 程

童 总 线 数 据 采 集 线 程

界 面 显 不 线 程

蓊蕊

丽酾
警信号

信号

数据共享区

u⑨⑦④④丽

图5.2车载终端软件线程结构图

5.2通信模块设计方案
通信模块的设计主要包括通信协议的制定和GSM模块的控制,GSM模块与 监控中心必须按照我自己制定的协议进行通信。其通信过程如图所示:

5.2.1通信协议制定
5.2.1.1通信过程

车载终端与信息中心的通信过主要是信息交互。在双方交互的信息定义为命

电子科技大学硕士学位论文

令、响应、指示和确认。其中命令和确认由信息中心发送,响应和指示由车载终 端发送。命令又分为查询和设置两种。命令对应于响应,指示对应于确认。

图5.3通信过程图

命令由信息中心发出,车载终端执行命令后,必须向信息中心给出响应。信 息中心如果超时没有收到车载终端的响应,将会产生报警信息。该报警信息可以 被管理员和具有权限的用户通过浏览器阅读,或直接通过短信向负责人报送。对 于超时后收到的命令响应,信息中心将列为日志记录,产生报警解除信息。

图5-4命令与响应时序

对于没有发送命令而收到的响应,信息中心可不予理睬。 注:命令中有一种探询类型,车载终端对这个命令立即给予应答,表示自己 仍处于工作状态。当信息中心超时得不到命令响应时,可用探询来测试。

第五章车载终端软件实现方案

车载终端可能也需要在特定的时候了解信息中心是否能够连接,此时发送一 个探询指示,信息中心立即予以确认。指示信息由车载终端主动发送,对于大部 分的车载终端指示,信息中心都不需确认。需要确认的指示如果超时没有收到确 认,车载终端将重传,直到收到确认为止。 信息中心一 车载终端一

超时

图5—5指不与确认

5.2.1.2协议格式 l、帧类型 本协议部分字段采用面向字符的表达方式,因此协议中提到的数值在传输中 使用ASCII码表达方式(若要用数值进行运算,需先进行转换)。在本协议描述中, 字符指该字段内容为ASCII码,字节指该字段可能使用数值形式。为节约空间, 协议没有采用面向字符协议常用的’,’等符号来对字段进行间隔,而是用规定长度的 方式。报文编码时采用SMS下PDU形式中的八位编码。
表5.1帧类型表

4字符 定界

16字符
ID

1字节 分段

1字节 帧长

l字节
Type

1字节
Code

0,-120字节
Data

2字节

校验

其中帧头和校验共26字节。定界符即帧标志,用忆F>表示,包含4字符(类
似控制台的命令提示符);ID号是16字符序列号,按照如:yymmdd(/_生产时 N)xxxx(型号)xxxxxx(编号)编号;分段代表本帧内容在数据中的位置,0表示最后 一个分段,1表示第一个分段,rl表示第n个分段。(即数据组装最大长度为255


单帧最大长度),单个SMS报文不超过140字节,但待传输的数据内容可能超过

电子科技大学硕士学位论文

140字节,为了组装报文,定义了内容分段字段和分段序号字段,以便进行内容的

组装。(会极大增加代码的复杂度,前期设计应尽量不使单次传输的内容超过140 字节,后期再扩展功能,但协议应考虑到兼容性);帧长是数据内容的总长度,占
用l字节,可表示范围0--255type是类型字段,占用l字节;具体表示O:命令;

1:响应;2-确认;3-指示;code相当于子类型,占用l字节,可表示0-255种
子类型,具体子类型如表5.2所示;data的最后两个字节为通信标签,它占用0..,120 字节;校验占用2字节,本协议采用校验和方式(IP协议使用,累加,溢出再累加), 当发生帧头失布时,可用校验和的方式在字节流中找到下一个帧头。
表5.2子类型表

子类型号
000

子类型名 注册 车辆状态 工作参数查询 工作参数设定 工作状态(锁车)查询

001

002

003

004

005

工作状态(锁车)设定
报警 报警解除 月报 探询

006

007

008

255

2、子类型 车辆状态信息属于子类型Ol,共占用104字节。车辆状态信息主要由车辆主

动指示信息中心,信息中心在特殊的时候也可主动查询。其数据字段如下表5.3
所示。 参数类型字段:为提高协议今后的适应性,在每种数据之前增加类型字段l 字符(ASCII码!)。这样在数据字段不仅可以选择性填入参数,还可以不用担心放 置位置。其参数类型对应表如表5.4所示。

第五章车载终端软件实现方案 表5.3车辆状态信息表

1字 节 参数 类型

32字 节 传感 器

1字 节 参数

2字 节 车辆 状态

1字 节 参数 类型

4字 节 累计 时长

1字 节 参数

70字 符
GPS

类型

类型

表5-4车辆状态参数类型号表

类型号













类型

传感器

车辆状态

GPS

累计工作时

终端时间

开关机状态

传感器输入字段为二进制数值,它占用32字节,有16位模拟量,每一模拟

量占用2Bytes,用二进制表示,其范围为0"~65535,共32Bytes。传感器对应表如
表5.5所示。
表5.5传感器对应表

电压 2字节

水温
2字节

油位 2字节

油温 2字节

车速 2字节

转速
2字节

斗数 4字节

车辆状态字段用二进制数值表示,占用2字节。共有16位开关量。开关量按 位表示;每一bit对应一位开关量,0->低;1->高。 累计工作时间是以分钟为单位,占用2字节。半天发送一次。上午、下午、 晚上各发一次。数值表达范围为0,-65535。其中0表示不按间隔发送,仅发一次车 辆状态指示。 终端时间格式如下表5-6所示,其中小时为24小时制,年月同均为公历。
表5.6终端时间格式表

2字节 年

1字节 月

1字节 日

l字节 小时

1字节 分钟

开关机状态占用l字节。0为关机时刻:l为开机时刻。 工作参数查询属于予类型002,信息中心一般在车辆注册后会主动查询车辆当 前的工作参数,或者在设定工作参数前也会查询一下车辆当前的工作参数。车辆

电子科技大学硕士学位论文

需对本查询命令响应,简化设计时,信息不会对超时不响应查询命令进行报警。 工作参数查询响应报文如表5.7所示。
表5.7工作参数查询表

1字节

1字节

1字节

13字符

1字节

6字节 中心IP地址 32字节 传感器门限

参数类
1字节

通信类
2字节 消息间隔 2字节

参数类
1字节 参数类

中心号
2字节 报警间隔 2字节 丌关量状态 50字符 活动范围

参数类
1字节 参数类

参数类
1字节

1字节
参数类 1字节

参数类
1字节 参数类

传感器报警使能
2字节

开关量报警使能

参数类

其参数类型字段符号对应表如表5.8所示。
表5.8工作参数类型符号对应表

类型号


对应类型
通信类型 中心号码 中心口 消息间隔

类型号


对应类型
报警间隔 传感门限 传感报警使能

类型号


对应类型 开关使能 活动范围















开关状态

工作参数设定为子类型003,信息中心要求车辆终端按设定修改自己的工作参 数。车辆终端在设定后,需进行响应,信息中心超时没有收到响应将产生报警。 其数据字段与工作参数查询响应报文相同。我也可根据需要,设定参数表的一项
或多项。如只设定消息间隔时间。

工作参数设定响应报文的数据字段同工作参数查询响应报文。 工作状态查询为子类型004。管理员在设定车辆工作状态之前,可能需要了解 车辆当前的工作状态设定情况。 工作状态设定(锁车)为子类型005,信息中心命令车载终端对车辆工作状态进 行控制,车载终端控制后,需进行响应。超时没有响应,信息中心将进行报警。 工作状态设定(锁车)命令报文格式如下表5-9所示。

第五章车载终端软件实现方案 表5.9锁车命令报文表

锁车级别 1字节

参数类型 1字节

延时时间 2字节

参数类型
1字节

解锁密码 2字节

报警为子类型006,车载终端在运行过程中发现某些参数超过预定限值时,对 信息中心进行报警。信息中心对关键的报警指示应予以确认,超时没收到确认, 车载终端将重传报警指示。目前协议涉及的报警指示都不需要信息中心确认。信 息中心要求车载终端进行报警,这样的命令似乎没有实际价值,因此报警问题只 设计了指示和确认。报警指示报文数据字段格式如表5.10所示。
表5.10报警指示数据字段格式表

1字节

6字节 终端时 间

1字节

2字节 传感器 报警

1字节 参数类 型

2字节 开关量 报警

1字节 参数类 型

1字节

参数类


参数类


其他报
警项

参数类型字段,可通过该字段放置一种或多种报警信息(包括是否附上车辆状 态指示报文的数据字段)。其对应符号如下:
0:终端时间

1:传感器报警
2:开关量检测异常报警

3:运动超范围报警 4:天线破坏报警 5:终端破坏报警(打开终端) 传感器报警字段占用2字节,每一位对应一个传感器,0->正常;1->报警。报 警内容如下表5.11所示。
表5.1l传感器报警内容表

油水分 离报警

电压低 油量 报警
报警

油压 过低

水温 报警

油温 报警

油滤 报警

空滤 报警

开关量报警占用2字节,每一位对应于一个开关量,O->jE常;1一>报警。 其他报警项占用2个字节,每一位对应于一种报警项,O.>正常;1->报警,其 报警内容如表5.12所示。其中,终端破坏报警指非法打开终端。

电子科技大学硕士学位论文 表5.12其他报警内容表

超范围报警

天线破坏报警

终端破坏报警

报警解除为子类型007,当之前的报警情况解除后,车载终端向信息中心发送 报警情况解除指示。信息中心对关键的报警解除指示应予以确认,超时没收到确 认,车载终端将重传报警解除指示。目前协议涉及的报警解除指示都不需要信息 中心确认。 探询为子类型255,为了确认对方是否在工作,特别是通信状态是否正常而使 用的报文(类似ECHO)。主要用于测试。因此探询命令要求立即的响应,探询指示
也要求立即的确认。只不过超时没有收到响应或确认,不会重传,最多只是报警。
5.2.2

GSM模块AT命令介绍

AT命令是一组对GSM模块进行控制命令。AT命令通常由两个字符AT起始,
就是Attention的缩写,意思就是引起注意,因而称之为AT命令。除特别情况下, 命令行一般均以AT或at开始,而不能为At或者at。模块能从这两个字符中检测 出对计算机的串口所设置的数据传输速率、字长、奇偶校验。AT字符后面紧跟相

应字符构成不同功能的命令,命令结束标志是一个单字符,通常是回车符(CR)。 每当执行完一个AT命令行之后,模块均会以返回结果码的形式对接收到的命令做 出响应。本项目主要使用的AT命令如下表5.13所示。
5.2.3

GSM模块初始化

在GSM模块初始化时我应用了状态机的原理。将整个初始化过程分为4个状 态。分别是检查模块、设置回显、设置短消息回复模式、设置短信模式。其状态 转换如图5-6所示。

第五章车载终端软件实现方案 表5.13 AT命令表

AT命令

功能

备注



激活GSM/GPRS模 块

设置成功,返回OK,否 则返回Error
GSM

初始
ATEO

关闭回显

设置成功,返回OK否则
返回Error



ATHNMI=1,1,2,1

设置收到短消息

设置成功,返回OK,回 显“+CMTh“SM",4”

(4表示手机内短消息数
量),否则返回Error

AT+CMGF

设置短信模式

0=PDU模式,1=Text

模式

AT+CMGL=?

读取SMS消息

本项目用AT+CMGL--0 读取电话上全部未读过 的SMS消息

GSM

短消 息通 信

甑KMGD=X

回车删除第X条短

消息

缸+CMGS=n

发送短消息

n为要发送短消息的字节



电子科技大学硕士学位论文

图5_6短信初始化状态转移图 5.2.4

GSM短信功能实现

1)SMS短信发送 SMS短信的发送首先得求出串长度,再使用AT+CMGS=<串长度>,来执行命

令。这个时候的等待串13读出允许继续发送PDU串的指示(字符.>’)。发送有时候
并不能执行成功,所以我设计了一个线程来反复发送,直到短信成功发送。具体

见下SMS短信事务处理部分。SMS短信发送的实现流程如图5.7所示,在求出所
需发送的字符串长度之后,我们把AT命令发送到GSM无线通信模块,通信模块 会返回一个字符‘>’,如果我收到这个字符就可以往串口发送我的数据了,直到 模块再次返回OK我们就可以确认发送成功,这就完成了一次短信的发送过程, 如果发送失败,程序将反复进行直到发送成功 2)SMS短信接收

SMS短信接收,我使用AT+CMGL=4来代替AT+CMGR=<index>,来读取sI
M卡上的全部短信,再把短信解码。程序的流程图如图5.8所示。同样的道理,

在短息读取的过程中,我们会发现有的时候会读不出信息,为此,我设计了一个

第五章车载终端软件实现方案

循环反复的进行,直到我们读取了所需要的数据,我才结束这个循环继续进行其 它的操作,把调度权交给操作系统。

臣圜

图5.7短信发送流程图

崮 幽
是 图5.8短信接收流程图

3)SMS短信删除

电子科技大学硕士学位论文

SMS短信的删除使用AT+CMGD=<index>来实现的。程序设计是把上述读出 来的短信一条一条的全部删除。程序设计的流程图如图所示。
往串口发送
AT+CMGD=INDEX

◆ 删除串口数据

自由
图5—9短信删除流程图

4)短信事务处理 SMS短信事务处理主要是实现短信的基本功能,如接收,发送和删除短信。

本例程的实现,创建一个线程实现短信的事务处理。事务处理的过程是用一个简
单的状态机实现的。 (1)设计原理: 这里启动一个线程来处理短信的全部基本功能。仿照有限状态机设计方法来实 现SMS短信事务处理。在这里线程维护几个重要的交互过程的信息,即状态。

有状态往往通过有限状态机进行描述和指导实现,它是一种直观、全局、准确
的协议描述方法。在有限状态机中定义了状态、事件、动作、转换等概念。 ●状态:实体有有限个状态,每一时刻,实体只处于其中一个状态 ●事件:事件引起实体产生动作,如收到PDU、定时器到时,或事务处理完成 等;事件按发生的顺序排在事件队列中,等待处理; ●动作:处理队列中的一个事件,转移到下一状态 ?转换:实体从一个状态收到事件激励进入下一个状态,并释放动作的过程。 其具体事物处理状态图如图5.10所示。 (2)数据结构和缓冲队列设计:

为了给上后面的应用程序一个更加友好的编程接口,在这里维护一个线程来处
理短信的全部数据处理,并设计了两个重要的缓冲区: SM PARAM m SmSend[MAX SM SEND]; //发送短消息队列

stBeginRest

stSendMessa


geResponse

响应无OK


数据处理完


stSendMes sa geWai tldle


数据办理完

Jr
响应无OK 要删除



stSendMessa geRequest

stContinueRest

超时

超时
stReadMessageRequest

数据处理完


L1
LI 7l

stReadMessageResponse

响应有0K

c1+nnl^+^U…方仃^D……+l一
S Luc Le



LcMessageKequeSL

11

有OK

需要删除
..◆ stDeleteMessageResponse
一一 ,



lm 时 韶



响应有ERR

c’十n凸1凸十凸¨n。…^urn;+T,|1^I
s Lucie



Le肌essagena上Ll(1ie



图5?lO短信事物处理状态图

SM—PARAM m_SmRecv[MAX_SM_SEND];

//接收短消息队列

这两个缓冲区被设计成FIFO队列,用来缓冲发送和接收到的消息。给上层应 用程序两个简单的接口:
Void

PutSendMessage(SM PARAM幸pSmParam);//将短消息放入发送队列

BOOL

GetReevMessage(SM__PARAM*pSmParam);//接收队列中取一条短消息

(3)程序框架设计 根据有限状态转移表,用switch—case语句可形成以下框架,实现程序的状态 转换。其具体框架如下: fsm(当前状态,事件){ switch(事件){
case事件l: switch(当前状态){

case状态1: 完成动作1:

电子科技大学硕十学位论文
next

state=状态2;

break;


case事件2:


return next——state



5.3数据采集模块设计方案
数据采集包括了GPS串口数据采集、报警信息GPIO采集、CAN总线数据采 集和ADC数据采集。为此,我分别创建GPS接收线程、报警线程、CAN总线接 收线程和ADC接收线程。
5.3.1

GPS数据采集

本文对GPS数据的接收是基于串口的操作,数据处理则是对GPS原始数据的

解析。接收线程实时监控GPS串口并将GPS模块发送的数据放入一个数据缓冲区 内,并不断的更新数据。通过界面静态控件显示在缓冲区域内读取的对应数据信 息,本项目只需要提取RMC信息,它的信息ID是¥GPRMC,我只需要找到数据 头,依次可以提取消息标识、日期、经度、纬度、行驶方向。首先创建一个GPS 数据处理线程:
CreateThread(NULL,0,GPSTbr翩d,this,0,&m_hGPSID);

该线程负责接收GPS模块数据并对数据进行分析和处理然后把数据封装在定 义的数据结构中,该数据结构如下:
typedefstruct s_gps

//推荐定位信息


char

time[20];

//<1>UTC时间,hhrnmss(时分秒)格式 //<2>定位状态,A=有效定位,V-无效定位 //<3>纬度ddmm.mmmm(度分)格式 //<4>纬度半球N(北半球)或S(*肭颍 //<5>经度dddmm.mmmm(度分)格式

char statu[5]; char latitude[20];
char

southomorth[5];

char longitude[20];

第五牵车载终端软件实现方案
char char

eastorwest[5]; speed[10];

//<6>经度半球E(东经)或W(西经)
//<7>地面速率 //<8>地面航向 //<9>UTC日期,ddmmyy(月年)格式 //<10>磁偏角(ooo.0-180.0度
//<1

char director[1 0]; char date[20]; char magic[10]; char magicdirtor[5];
char magicinfo[5];

1>磁偏角方向,E(东)或W(西)

//<12>模式指示
I-Iead;

) 5.3.2

GPRMCHead,母LP_GPRMC

GPIO数据采集

报警信息的采集主要利用线程监控八个GPIO接口,一旦有数据输入,就把数
据放入对应缓冲区域以供其它线程使用。在定时器线程中,有函数定时在该缓冲

区域提取数据,一旦发现高电*,就通知报警控件重新绘图,并显示对应报警信 息。对于报警线程的创建,我使用下面的函数:
CreateThread(NULL,0,WamingThread,this,0,&m_hWaminglD)i 在使用GPIO口时,我必须先打开GPIO口。使用如下函数: hFile=CreateFile(TEXT(”GPIO?:一),GENERIC—READ l GENERIC_WRITE,0, NULL,OPEN_EXISTING,0,O);//9为所要打开的GPIO口号码;

然后对GPIO口进行配置,我需要将其配置为输入口。使用如下函数:
ret=::DeviceloControl(hFile,IOCTL GPA_SET-PIN_rN&pinnum,1,NULL,0, NULL,NULL);

在完成配置后就可以接收GPIO输入的数据了。
5.3.3

CAN总线数据采集

CAN总线线程用于接收车速和转速信息,通过实时监控CAN总线接收CAN 总线输入的数据,一旦有数据输入就把数据放入一个缓冲区域, 在使用CAN总线时我首先要打开CAN总线这个设备,其实现函数如下:
hFile=CreateFile(TEXT(”CAN:”),GENERIC—READ GENERIC_WRITE,0, NULL,OPEN_EXISTING,0,O);

对于CAN总线的读写操作我分别用到ⅧteFile和ReadFile函数来进行数据的
读写。 为了实现线程的互斥,我使用了临界区的方式:
-53.

电子科技大学硕士学位论文

Ente{CfiticalSeetion(&(pCAN-Dev->CAN CS)) //处理接收数据 LeaveCrificalSection(&(pADC_Dev->CAN CS)); ADC数据的处理方式和CAN总线基本一致,只需要接收数据即可

图5一11车载终端操作界面图 5

4操作界面设计方案
本项目的操作界面的设计主要是为了实现人机界面控制,通过界面车辆操控人

员可以查看车辆的状态信息,同时,还可以通过界面对车辆进行操作。在界面设 计中,我采用了虚拟仪表技术,用四个仪表分别显示车速、转速、油温、油位。 用两个电表转轮显示工作时间和工作量,两个模拟LED显示屏显示系统电压和水 温。用八个圆形黄色位图作为报警标识。通过微软提供的静杏控件显示GPS数据。 最后添加了四个按钮可阻对车辆进行锁车、解除报警和信息实时刷新的操作。具 体界面如图5-11所示。

5.5本章小结
本章主要介绍了应用软件的设计,首先分析了软件所需功能,并按照所需功能

第五章车载终端软件实现方案

分析了软件任务以及线程。然后具体分析了通信模块的软件实现和数据采集模块 的软件实现,最后介绍了操作界面的设计。

电子科技大学硕士学位论文

第六章

监控终端性能测试

6.1

测试目标
本项目我的测试目标主要有以下几点: 1、系统功能测试 系统功能测试主要包括了工程车辆地理位置信息采集功能、工程车辆状态信息

采集功能、人机交互功能、远程监控功能和无线通讯功能测试。 地理位置信息需要采用GPS定位模块进行数据采集,车辆状态信息主要包括

了车速、转速、油温、油位、电压、水温、油水混合报警信息、油滤报警信息、
油压报警信息和空滤报警信息。我需要对每个信息量进行测试,以达到功能需求。 人机交互功能主要是对界面操作的测试。无线通信可以单独测试,以保证远程监 控功能的测试正常,远程监控功能是监控中心对车辆的控制,需要和监控中心配 合。 2、系统非公能测试 系统非功能测试主要包括了,系统稳定性测试、系统高温测试、系统长时间运

行测试。

6.2测试环境与测试工具
实验室测试环境:
测试地点:成都市区电子科大抗干扰实验室 测试温度:常温和高温 测试工具:信号发生器、超级终端、万能表等

6.3测试方法与测试结果
1、GPS数据采集模块测试 测试方法如下: 将GPS模块连接到PC主机的串口,通过超级终端查看GPS数据,确保GPS 模块运行正常;

第六章监控终端性能测试

将GPS模块连接到目标设备串口,利用车载终端软件查看GPS信息并通过界
面显示。 测试结果如下:

超级终端查看GPS数据正常;
界面显示GPS数据正常。

2、工程车辆状态信息采集功能测试
测试方法如下:

利用信号发生器依次连接6个ADC接口,通过界面查看接收数据并与信号发 生器数据进行对比;
利用信号发生器连接100---103,通过发送高电*查看界面是否显示报警信息;

连接发光二极管到104,通过终端软件发送锁车、解锁命令查看二极管发光状
态。 测试结果如下:

界面正常显示ADC数据,经过对比和信号发生器发送信号吻合;
界面正常显示报警信息:

发光二极管亮暗正常。 3、通信模块测试 测试方法如下: 连接通信模块到PC机串口,通过超级终端发送AT命令检查通信模块是否完 好无损,功能是否正常; 利用另一个移动终端与该终端进行通信,通过两个终端互发短信来查看通信 模块的短信功能是否正常。 测试结果如下: 通信模块初始化正常,功能正常; 通信模块短信功能正常,可以正确接收和发送短信。 4、远程监控功能测试
.57.

电子科技大学硕士学位论文

测试方法如下:

利用监控中心发送命令,包括注册、车辆状态、工作参数查询、工作参数设 定、工作状态(锁车)查询、报警、报警解除、月报探询,并查看车载终端返回 信息,查看车载终端的指示信息,并给予确认,在通信终端查看确认信息, 完成整个通信过程。监控中心操作界面如图6-2所示:

-越

ms-I监控中心界面操作图

测试结果: 监控中心发送命令测试结果如表6.1所示:

第六章监控终端性能测试 表6.1监控中心命令与测试结果表

监控中心命令
注册

测试结果

终端正常接收,并正确返回信息 终端正常接收,并正确返回信息
终端正常接收,并正确返回信息 终端正常接收,并正确返回信息 终端正常接收,并正确返回信息

车辆状态 工作参数查询
工作参数设定

工作状态(锁车)查询 工作状态(锁车)设定 报警 报警解除
月报 终端正常接收,并正确返回信息 终端正常接收,并正确返回信息 终端正常接收,并正确返回信息

终端正常接收,并正确返回信息

探询

终端正常接收,并正确返回信息

监控终端发送指示,监控中心可以正确接收并给予确认。 5、稳定性测试
测试方法如下:

重复多次进行监控功能测试,查看是否有错误。
测试结果如下:

经过三天,共24个小时的反复测试,系统未出现错误,运行正常。 6、高温测试 测试方法如下: 将监控终端置放于室外地面进行5小时运行,地面温度为50摄氏度左右。
测试结果如下:

车载终端系统运行稳定,功能正常。 7、长时间运行测试
.S9.

电子科技大学硕士学位论文

测试方法如下: 监控终端连续运行72小时。 测试结果如下: 车载终端系统运行稳定,功能正常。

6.4测试工作总结
通过测试,我可以得到以下几个结论: l、系统稳定性良好,车载终端运行正常。 2、散热良好,软件运行稳定。 3、系统功能完整,在测试过程中,我完全按照协议进行了完整的功能测试, 车载终端圆满完成了测试任务。 监控终端设计已经基本达到设计要求,但是仍有问题需要解决: 1、车载终端硬件需要加固,以防止在车辆工作中部件脱落造成的硬件损坏,
增强系统稳定性。 2、操作界面可以更为人性化,增加与操控人员的互动性,可以添加更多人性 化的设计。

3、本车载终端设计时间有限,还有很多方面需要改进,这需要在实践中不断 发现问题,解决问题,使得其更加完善。

第七章结论

第七章

结论

7.1本文贡献与结论
车载监控系统是一个新兴的研究领域,它集成了众多研究理论和科学技术。归 根揭底,它是一个嵌入式系统,但是它把GPS系统、GSM系统以及各种传感系统 联系在一起,组成了一个整体,可以实现对车辆的定位、实时监控、与中心通信 等功能,为车辆的管理提供了一个很好的方案,特别是对于特殊的工程车辆,它 们的工作环境比较特殊,因此更需要有良好的监控终端对其进行检测和控制。本 文具有如下贡献或结论: (1)研究了工程车辆监控系统的发展状况及发展趋势,并研究了工程车辆相关
技术。

(2)研究了Windows CE操作系统架构,介绍了Windows CE开发软件,分析 了BSP开发流程并完成了Boot Loader。主要对ADC和GPIO进行了驱动
开发。

(3)研究了工程车辆监控终端的硬件结构,并给出终端核心板电路设计和外围 电路设计,包括ADC电路、GPS模块电路、GSM模块电路及GPIO接口
电路。

(4)研究了工程车辆监控终端的软件实现,并完成了通信协议的制定、通信模 块的软件实现、数据采集模块软件实现和操作界面软件实现。

7.2下一步的研究工作
本文研究的车载监控终端已经实现了基本功能,能够达到应用需求但还有待 在以下几方面进一步深入的研究: (1)硬件方面:可以添加外围设备,同时更换处理器使其拥有更为强大的处理 能力以实现更多的功能需求; (2)操作系统方面:可以考虑将Windows CE更换为Vx Works,同时,相应的 操作裁剪与驱动编写有具体变化。 (3)软件方面:根据客户的不同需求可以进行相应的软件升级,例如:可以为 终端添加地图功能。 (4)实时性要求:Windows CE是软实时性操作系统【5刀,由于监控系统对实时
.6l一

电子科技大学硕士学位论文

性要求比较高,所以,对Windows CE的实时性研究也是我下一步的研究
目标。

致谢

致谢

时光飞逝,似水流年,转眼间我已在电子科技大学度过了*三年的时光,在 论文即将完成之际,我要感谢电子科技大学对我的培养,同时要特别要感谢我的

导师——李少谦,是您带我步入了通信这个神圣的行业。
“会当临绝顶,一览众山小”,李少谦教授正是站在科学的高峰,以战略的眼 光带领着我克服重重困难,迈向科学的尖端。李少谦教授不但拥有渊博的学识, 更值得我学*的是他高尚的人格,在他*易*人、幽默智慧的谈话中,我往往能 受益匪浅,让人感觉“弹指一挥间,樯橹灰飞烟灭"。在李教授的指导下,我获得 三长:长知识、长文化、长修养。“滴水之恩,当涌泉相报",李教授的恩情又怎 能用滴水来形容,怕是毕生也不能相报了,我只能将李教授传授的知识和做人的
道理用在日后的工作和生活中,也许这就是最好的报答。

本论文是在通信抗干扰技术国家级重点实验室的学术环境下完成的,在实验 室良好的学*研究氛围中,我的科研能力不断提高,学术研究水*得到了很大的 加强,同时,在各位老师和同学的帮助下,我学*到了很多学术以外的东西,让 我的学术生活丰富多彩。同时,我要特别感谢刘浩老师,在刘浩老师的指导下, 在我与成电亿赛公司合作项目中,我的工作能力得到了极大的锻炼和提高。本文 的基于Windows CE的车载监控终端研究正是在刘浩老师的指导下完成的。在此再 次对刘浩老师表示衷心的感谢! 感谢项目组的靳传学老师、王传丹老师、刘明辉师兄、张骞师兄、周楠清师 兄、蓝天师兄、王运健、李发军、房保卫、孙嘉同学,在和大家一起合作的过程 中,每一次的学术交流和讨论都使我受益匪浅。感谢关心帮助我的同学,他们是 文青松、张振刚、叶俊龙、彭伟夫、曾勇、张世昌、王伟达、彭杰文、张伟、李 功名、龚磊。同时还要感谢欧艳在论文写作过程中给予我的鼓励和支持。 此外,我还要感谢所有对本论文提出过宝贵意见的同行专家、老师和同学, 以及将要评审次论文的专家们。 最后,我要感谢我的家人。他们所给予我的充分理解、支持和关怀,使我能 够专注于研究工作,并顺利完成硕士期间学业的重要保证。 向所有给予过我支持和鼓励的人们表示我最诚挚的谢意!

.63.

电子科技大学硕士学位论文

参考文献

【1】 【2】 【3】 【4】 【5】 【6】6 【7】 【8】 p n q∞ U n n U刁* n n q* n n 田刀 n

张金兴.工程机械发展的思考.工程机械,2001,12(26-28) 易明,侍田田.实现租赁业可持续发展.建筑机械化,2004-4 张启君,机群智能化工程机械.建筑机械化.2004 魏洪兴.智能化工程机械及其关键技术研究.微机应用与智能化。2004-5 彭德刚.工程机械远程监控系统的设计与实现:[硕士学位论文】【D】一匕京:北京邮电大学,20
06

李文亮.基于ARM的车载GPS/GPRS系统:【硕士学位论文】[D】.南京:南京理jr大学,2006 张庆峰.车载GPS导航系统的设计与实现:【硕士学位论文】【D】.苏州:苏州大学,2006 吴海艳.GPS/CDMA双模车载导航定位系统的软件设计:[硕士学位论文】[D】.哈尔滨:哈尔 滨,J:业大学.2006 娄辉.GPS车载导航系统设计:【硕十学位论文】(D].杭州:浙江人学,2006 李丹.基于ARM的GPSGSM车辆监控系统的车载端的设计:[硕士学位论文】[D】.成都:电 子科技大学.2005 魏洪兴.嵌入式系统设计师教程.北京:清华人学出版社.2006 陈向群,王雷.Windows CE.NET系统分析及实验教程【M】一匕京:机械:f:业出版社,2003 200MHz&266MHZ 32BIT RISC MICROPROCESSOR USER’S MANUAL

S3C2410A

Rivision I.0【z】,2004

周立功等.ARM嵌入式系统基础教程【M】.北京:北京大学出版社,2005 彭少武,宋娟.Windows CE的CAN总线驱动程序设计.单片机与嵌入式系统应用,2007,32 (1 1):79?81 张冬泉,谭南林.Windows CE实用开发技术[MI.北京:电子工业出版社,2006 周毓林,宁杨,陆贵强,付林林.Windows CE.net内核定制及应用开发【M】一匕京:电子工业出 版社,2005 丁皿军,万静华,汤清明.Windows CE.NET操作系统的架构.计算机与现化,2004.11:120
Chris Muench.Windows CE权威指南【M】.J匕京:中国电力出版社,2001

何宗键.Windows CE嵌入式系统[M】.J七京:北京航空航天大学出版社,2006 张冬泉,谭南林.Windows CE开发实例精粹【M】一匕京:电子jl:业出版社,2008 刘人鹏,马孝江.基于Windows CE的系统*台定制.微型电脑应用,2002.8 傅曦,陈黎等.Windows CE嵌入式开发入门.基-p Xscale架构.人比邮电出版社.2006,6 U口口口口眨 跚卵叫U刁*q 陆本胜.基于ARM及WinCE.NET的GPS车载导航系统的研究与实现:[硕+学位论文】[D】. 重庆:重庆火学,2006 Windows CE.NET ARM922T
help from

microsoft platform builder version 4.O【Z】,2002.

Technical Reference Manual.ARM Co.Ltd,2000

AItM Architecture Reference Manual.ARM Co.Ltd,2000 口口口£L 研q砚跚
SD Memory Card Specifications.Matsushita E.ectric Industrial Co..Ltd,200 1

..64..

参考文献 【29] p p 叫U p刁 p p*q p* p
SanDisk Secure Digital Card Product Manual Versionl.9.December 2003.http://www.san disk.com
System Memory

Management

in

Windows

CE.NET,http://msdn.Microsoft.com,Oct

2002

Douglas Boling.Windows CE.NET Advanced August 2002

Memory

Mangement.http://msdn.Microsoft.

微软公司.Microsoft Windows CE设备驱动程序开发指南【M】.北京:北京希望电脑公司,
1999.

Microsoft公司.Microsoft Windows驱动程序模型设计【M】.北京:北京大学出版社,2000 Ian King,Reliability in Windows CE.NET Device Drivers,http://msdn.Microsoft.com,Jan
uary,2003

微软公司.MierosoftWindows 希望电子出版社,1999

CE

Device Ddver

Kit设备驱动程序开发指南.北京:北京

刘大伟.Windows CE设备驱动程序设计简析.计算机工程,2000.3 李蒙,舒云星.Windows CE驱动程序开发.计算机:1=释与设计,2004,25(6):963.981 胡军辉,王友钊.Windows CE设备驱动程序开发.计算机工程,2006,32(16):41-43 刘人伟.Windows CE设备驱动程序设计简析.计算机:删聱,2000,26(3):88.95 q刀跚观q 陈瑜.基于¥3C2410的Windows CE驱动开发.计算机技术与发展,2006,16(7):10.12 陈俊勇,邓中亮.Windows CE.NET设备驱动程序开发研究.微处理机,2006,3:49.51 李涛,于志贤,孙翱.Windows CE流接口设备驱动程序的研究与应用.:[程控制计算机,200 6,1 9(4):48-49 刘文杰,张政保,原亮,黄飞云,刘文冰,Windows CE.NET环境下流接口驱动程序开发.科学 技术与工程,2006,6(20):3357.3359 傅升红.WindoWS CE.NET下触摸屏驱动程序的开发.微计算机信息,200723(42):43-45

p口p阡H H U刁 H钟

降H哪研 Hq H刀 H研 H叼 q

吴剑,杜春翎,王建超,徐家恺.W'mdows CE.NET驱动开发中的中断处理机制研究.微计算 机应用,2007。28(7):75 1.754 陈艳,李茜.嵌入式操作系统Windows CE下触摸屏驱动的开发.微计算机应用,2007,28(4):
438.-44 l

陶会荣,丁承君,王建超,张明路.嵌入式Windows CE下触摸屏驱动程序开发的关键技术. 机电产品开发与创新,2007,20(5):108.1lO 陈艳,李茜.嵌入式操作系统Windows CE下触摸屏驱动的开发.微计算机应用,2007,28(4):
438-441

舒云,邱绍峰.Windows CE.NET的ADC驱动程序实现与应用的研究.工业控制计算机,20 07,20(4):57?59 邬宽明.CAN总线原理和应用系统设计【M】.北京:北京航空航天人学出版社,2001. 王光霞,彭向东.移植Windows CE至新硬件*台的研究.计算机应刚研究,2001.10:8.1l 汪兵.EVC高级编程及其应用开发【M】.北京:中国水利水电出版社,2005 【美]Microsoft公司.Microsoft Windows CE程序员指南一匕京人学出版社,2000

侈陋陋陋睁 U刁*q

田东风.Windows CE应用程序设计.机械工业出版社.2003电子学报,2002,30(10):1417.14 20.侯俊杰.深入浅出MFC[M].武汉:华中科技人学出版社,2001 姜波.Windows CE.Net程序设计[MI.北京:机械:亡业出版社,2007
Douglas Boling.Microsoft Windows CE程序设计.北京:北京大学出版社,1 999

侈玲 *田

.65一

电子科技大学硕+学位论文 【57】
Mike Thomson,Jason Browne.Designing and Optimizing Microsoft Windows CE.NET f Real—Time Performance.http://msdn.Microsoft.com,June 2002

or

.66.

个人简介

个人简历

李毅然,男,汉族,中共团员,1984年4月20日生于四川省华蓥市。 2001年9月考入中国民用航空大学,就读于电子信息工程专业。2005年7月 同时获工学学士学位。 2006年9月考入电子科技大学通信抗干扰技术国家级重点实验室,攻读通信 与信息系统专业硕士学位,研究方向为移动通信。

电子科技大学硕士学位论文

攻读硕士学位期间的研究成果

参加的科研项目: “智能工程车辆监控终端”产品开发。为成电 【l】2007年9月至2008年3月, 亿赛公司开发一款车载监控终端。主要负责完成软件开发,并参与了部分硬 件的设计和调试,掌握了单片机开发流程。 [2】2007年3月至2007年9月,“升级版智能工程车辆监控终端”产品开发。为 成都亿赛公司开发一款高端的车载终端,产品采用三星s3c2410a芯片,和 Windows CE操作系统,我主要负责完成了上层应用软件的开发、测试,操作 系统的裁剪,底层驱动开发,并参与了部分硬件设计。

发表、录用的论文与申请专利: 【1】李毅然,刘浩,李少谦.车载终端中基于Windows CE.NET触摸屏与ADC的 共用研究.2008中国西部青年通信学术会议.2008年11月.

基于Windows CE嵌入式车载监控终端研究与实现
作者: 学位授予单位: 李毅然 电子科技大学

本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1505103.aspx


相关推荐

最新更新

猜你喜欢