admin管理员组

文章数量:1530969

2024年7月14日发(作者:)

合肥工业大学

硕士学位论文

基于ARM-Windows CE的嵌入式数控系统的研究

姓名:***

申请学位级别:硕士

专业:机械设计及理论

指导教师:***

20071101

基于ARM-WinCE的嵌入式数控系统的研究

摘要

当今嵌入式技术的发展突飞猛进,嵌入式系统在很多产业中得到广泛应用

并逐步改变着这些产业。嵌入式技术的发展同样也影响到了数控技术的发展。

论文综述了当前开放式数控系统国内外发展现状,并分析了几种主流开放式数

控系统体系结构的优缺点,进而提出了利用ARM处理器和WindowsCE操作系

统开发一个基于ARM—WinCE嵌入式数控系统的原型系统的想法。

论文论述了如何构建ARM.WinCE数控系统基于¥3C2410开发板的硬件平

台和基于Windows

CE.Net的软件平台;在ARM微处理器上构建了基于

Windows

CE的数控操作系统内核,并利用VIVI

Boot

Loader把定制的映像加载

到S3C2410开发板中去。

本文重点针对ARM处理器芯片,利用流接口驱动程序结构实现了蓝牙串

口驱动程序的开发,实现了ARM.WinCE数控系统中机床控制器和移动控制器

的蓝牙通信;研究了如何利用¥3C2410处理器的PWM定时器和WiMows

的中断机制进行数控系统的实时控制。

CE

关键词:ARMWindows

CE

嵌入式数控系统

蓝牙驱动程序

中断机制

实时控制

Research

on曩n

Embedded

CNC

System

Based

on

ARM*WinCE

Abstraet

Now

the

embedded

technical

developmentprogressesbyleaps

and

bounds,the

embedded

system

obtainsthe

widespreadapplication

in

very

many

industriesandis

changing

theseindustries

gradually.The

embeddedtechnical

developmentsimilarly

also

affectedthe

numericalcontrol

technologydevelopment.Thepaper

summarized

the

currentstate

of

Open—Architecture

CNC

system

at

homeand

abroadandhas

analyzed

severalkindof

mainstream

Open—Architecture

CNC

system

architecture

good

andbad

points.Then

proposed

an

ideaof

developing

use

prototype

system

based

on

the

ARM-WinCE

CNC

system

madeof

ARM

processor

and

Windows

CE

operating

system.

The

paper

discussed

how

to

build

ARM.WinCE

CNC

system’S

hardware

on

on

platform

based

on

S3C24l0

development

boardand

software

platform

based

on

Windows

CE.Net.ConstructionCNC

kernel

the

ARM

micronfocessor

based

the

Windows

C嚣opermingsystem。and

the

use

ofVlVlBootLoader

customized

image

loading

to¥3C2410

development

boardthesame

time.

This

paper

focused

on

the

ARM

processorchip.using

stream

interfacedriver

program

structureto

achieve

Bluetoo攮serial

port

driver

development.achieved

Bluetooth

communication

between

machine

controller

and

mobile

controller

in

ARM—WinCE

processor

and

CNC

system.Researched

on

how

to

use

PWM

timers

oftheS3C24l0

Windows

CE

interrupt

mechanism

to

progress

the

CNC

system

real.time

control。

Key

words:

ARM

Windows

CEEmbedded

CNC

system

Bluetooth

Devicedriver

Interrupt

mechanism

Real—time

control

插图清单

WS.mCNC蠡鼋体系结构…….…………………………。.7

图2.2

人机协同的浆性制造单元…………………….………..8

图2.3¥3C2410微处理器内部体系结构框图…………………….17

圈2.1

圈2。4数控系统嚣发扳…………………………………….17

图2.5

开发板的核一§板示意图………………。………………18

图2.6

歼发板的底擞布局图……………….………………..19

纛圭瓿一嚣耘辍秀发模式………………………………2l

Boot

Loader豹主要任务………………………………22

JTAG板、开发板和PC的正确连接……………………..24

VlVlBootLoader烧录FLASH的过程…………….………。25

图2.7数控系统的硬件结构…………………………………19

圈3。I

图3.2

图3.3

图3。4

鹜3.5

图3.6

圭祝超级终滚串嚣设置……………………………….25

VIVI

图3.7

LOGO在主机端的最示图………………………….26

利用新BSP在PB

4.2中创建新的Platform并且编译后的结果……27

霆3。8缮圭瓿秘莛舔祝戆IP建壤设萋…………………………。28

图3.9

烧写Windows

CE内核到RAM的操作过程………………….28

图3.10设罱使用VGA输出的操作过程……………………………28

图3.11燧行下载的NK.nb0…………………………………..29

强3.12

Windows

CE绦箨系统运稳赛覆蚕………………………。,29

图4.1

传统有线控制模式…………………………………..32

图4.2

簸牙无线控制模式…….…………………………….32

圈4。3簸雾USB逶熬嚣……………………………………32

盈4.4藏5f串珏适酝嚣…………………………………….32

Windows

cE的本机设备驱动程序结构……………………34

图4.5

图4.6

圈5。1

WindowscE下蓝牙串口驱动程序结构……………………35

Windowse嚣鹃毒摹系结构………………………………38

不同占空比的PWM信号………………………………46

图5.2

表格清单

裘4。l

袭5.1

无线通信标准技术院较…………………。…….……..32

CreateThread的参数说明……………….……..………44

独创性声明

本人声明所里交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所

鲰,除了文中特别加以标注和致谢的地方外,论文中不包禽其他人已经发袭成撰写过的硪究成果,

氇苓包禽魏获褥

金霾羔黧态堂

或冀恁教育撬褥戆学霞或证书纛筏瘸过耱耱辩。冬我一羁

工作的同志澍本研究所做的任何贡献均己谯论文中作了明确的说明并表蠢萼谢意。

学位论文律者签名≥名善名

签字日期镰,印年f?胄f≯掰

学位论文版权使用授权书

本学位论定露者完全7麟垒鍪兰堑叁黧有关援褰、镬矮学经论文豹辫定,莠投髹辩蒡舞莺

家有关部门域机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金壁王她塞堂可

以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描锋复制手

段僳存、汇编攀斑论文。

(保密羽学位论文在解密聪适用本授较书)

学位论文谗尝签名j哆}彳

箍字日期:易。7年心月偿隐

导师签名:圣

签字日期:参—聊2月f?-El

学位论文作者毕业后去向

王作单位;

电话:

邮编:

通讯鲍蛙:

致谢

在我的硕士论文完成之际,首先,我要感谢我的导师王治森教授!论文是

在王老师的悉心指导和亲切关怀下完成的,在此,谨表示最诚挚的敬意和衷心

的感谢!导师渊博的知识、严谨求实的治学态度、诲人不倦的工作作风以及平

易近人的待人方式,给我留下了深刻的印象,也是我今后学习和工作的楷模。

导师的循循善诱、谆谆教导使我的知识和技能水平都得到了很大提高,令我终

生受益!

其次,我要感谢合肥工业大学CIMS所的韩江教授、夏链副教授、何高清

老师、余道洋老师等。他们丰富的实践经验、以及忘我的工作精神给我留下了

深刻的印象,令我敬佩与叹服。

感谢我的师兄高荣博士、董伯麟博士、蒋克荣博士,章建辩硕士,周明发

硕士,姜峥嵘硕士在我的项目开展以及论文的撰写阶段给予的帮助和支持,他

们独到的见解使我得到许多r宝贵的经验和启发,与他们相处成为了我读研阶段

难忘的时光。

感谢我的同学陈为伟,黄小锋,王向阳等,使得我能够在平时的学习过程

中与他们互相交流、互相帮助、不断提高。

感谢师弟陈晓明,张飞,王敬之等给我的帮助!衷心祝他们各位前程似锦!

向论文中引用过文献的作者们,向所有关心和帮助我的老师、同学和朋友

表示感谢!

最后,特别要感谢含辛茹苦培养我长大的父母和在我身边不断帮助和鼓励

我的女朋友张彬,对他们的感激之情无法言表,我只有在今后工作、生活和学

习中用辉煌成就来汇报他们的殷殷之情。

作者:孙芒

2007年11月

第一章绪论

1952年,第一台数控机床在美国诞生,它引发了机械制造业的~次技术革

命,使机械制造监的发袋进入了一个崭新的时代。默第一台数控机床问饿到现

在的半个多t眭纪中,数控技术的发展非常迅速,几乎所商品种的机床都实现了

数控化ll】。现代数控技术集传统的机械制造、计旃机、成组技术与现代控制、

传感检测、傣息处理、嘲络通谖、液压气动、走枧毫等技术予一体,是现伐制

造技术的基础12】。

1.1数控技术的发展历史

1948零荚莓PARSONS公司在磅裁秀弱工壹势瓿跨片轮躲检验样板耱梳寐

时,首先提出了用电子计算机控制机床加工复杂曲线样板的新概念。并予1952

年与麻省理工学院(MIT)合传研铜赉了煎界上第一台三坐标数控铣床f卦。半个

多世纪以来,数控系统经历了两个阶段和六代的发展【引。

1.1.1数控(NC)除段(1952

1970年)

早期计算机的运算遴度低,对当时的科学计算和数据处理影响还不大,但

苓能适应极窳实时控铡熬要求。入弱不撂不采用数字逻辑电路“搭”戏一螽提廉

专用计算机作为数控系统,被称为硬件连接数控(HARD.WIRED

NC),简称为

数控(NC)。涟着元器{孛鹃发震,这个除段掰经了三找,蠲1952年豹第一代——

电子管;1959年的第二代——晶体管;1965年的第三代——小规模集成电路。

1.1.2计算机数控(CNC)阶段(1970年~现在)

到1970年,通用小黧计算机也融出现并成批生产。数控厂家认识到,采用

小型计算机来取代专用控制计辣桃,许多功能可以依靠编剑专用程廖存储在计

算机的存储器中,构成所谓控制软件而加以实现,提高了系统的可靠性和功能

特色,从毖遴入了诗算搬数控(CNC)除段。

1971年,美国INTEL公司采用大规模集成电路技术集成在一块芯片上,

舞发交了避赛上第一块徽处理器(MICROPROCESSOR),又霹称炎中夹娥理擎

元(简称CPU)。从此,微处理芯片渗透到各个行业,数控技术也不例外。1974

每,美、强等国静数控系统生产厂首先研翻出疆徽处瑾器为梭心的数控系统。

其后的20多年里,微处理机数控得到了广泛的应用。由于微处理器是通用计算

机的核心部件,故仍称为计算机数控。

至《了1990年,PC机的性能已发展到很赢的阶段,从8位、16位发展到32

位,可以满避作为数控系统核心部件的要求,而胤PC机生产批量很大,价格

便宜,可靠性态。数控系统从此进入了基予PC的除段。

总之,计算机数控阶段也经历了三代,即1970年的第四代——小型计算

税;1974年豹第蕊戎——微娥理器和1990年的第六代——基予PC(国舞

pC—BASED)。

1.2传统数控的局限性

采用专用体系缩构的数控系统虽然具有结构简单、技术成熟、产品批爨大、

嫩产成本较低蛉优点。

褥出它固有的缺陷p】:

(1)出于传绞豹CNC系统是一秘专鼹夔势瓣俸系结季毒瓣数羧系绕,帮:

系统硬件是专用的,厂家之间的产晶缺乏甄换性;系统软件结构也是专用的,

笼霹移猹往耱{枣绻性。

(2)数控加正系统动能非常单一,结构固定,用户无法自主扩展功能,

不戆满足产貂快速转壅耩短期、,j、批量船置的要求。

(3)维护困难,数控系统一旦发生故障,市场上娥以找到可蛰换的配件,

致使用户不能及时修复而导致整个设备不能正常运行。

(4)一些最耨的计箨机软硬传技术难以运用于数控系绕,导致系统舞级

溺难,而且备数控厂家的接口没有统~的标准,使数控系统难以融入车问网

终{蔓实现工厂底层瓣垂动铯。

1.3羚方式数控系统戆概念

为了克服传统数控系统的缺陷。美国在八十年代末提出了开放式数控系

统静概念。邋俗疆讲,开放鹩韬静就是捷数控系统与当今的PC梳类儆,系统

构筑予一个开放的平台,匕,具有模块化的组织结构,允许用户根据需要进行

选配和集成,更改或扩腥系统的功能迅速适应不同的j澎用需求,而且,组成

系统的蛋功能模块可以来源予不同盼部{牛供应齑磐相羹兼容。

IEEE标准对开放式数控系统定义如下:能够在多种平台上运行,可以和

英纯系统互操作,势能绘题户提供一秘绞一照穆瓣交互爨瑟,量其寿以下基

本特征的数控系统能称之为开放式数控系统16】:

(1)霹囊羧经。糖成系统静各矮箨模块、臻怒较{孛麴选翔不受擎一供应裔

的限制,可根据功能、可靠性、性能要求相互替换。不影响系统躯体的协调

运行。

(2)可伸缩性。CNC系统的功能、规模可以灵活设嚣,方便修改。按制系

统的大小(硬件或软件模块),W根据具体应用增减。

(3)可移植性。系统的功熊软l牛与设备无关,各种功能模块运行于不同的

控制系统内,即能运行于不同供应商提供的硬件平台上。

(4>可扩展性。CNC题户戏二次开发袭毙奏效邀将自己瓣软姊集成劐NC

但随蓥信息经济盼迅猛发展,这秘体系结构越来越暴

系统中,形成自己的专用系统,功能的增减只需功能模块的装卸。

(5)哥互操作经。逶过标獠亿接蠲,通信帮交互枫制,後不同谚能禳块能

以标准的应用程序接口遮行于系统平台之上,并获得平等的相互操作能力,

协调工作。

1.4开放式数控系统的研究现状

1。4。l开放式数控系统的现有体系缝槐

当今主要存在着三种类型的开放式数控系统f71:

l。

“NC+PC”结揍戆瑟款式数控系缓

这是主流数控系统厂家(Fanue、Siemens等)采用的模式。其核心部分

仍然是覆来豹NC,毽为了满楚数控搿藏性豹要求,厂家选鬻逶麓PC翡功能

部件,将其集成到CNC中,PC与CNC之间采用专用的总线进行快速数据传

输。在这种模式下,数控系统的主要功能,如运动控制、PLC、机床调熬、系

统管理等模块仍基于其暇有的体系。丽PC部分则提供开放式人机界丽(}{MI)、

文件管理和通讯功能等。采用这种模式的数控厂家主要是不愿意放弃多年来

积累的数控软件技术,又想利用计算规丰寓蛇软饽资源,由_l毙瑟开发7这季孛

数控系统。这种数控系统具有一定的开放性,但由于它的NC部分仍然是传统

数控系统,冀体系维约逐是不开放黪。困鼗,用户无法分入数控携核心。

2.

“PC+运动控制器”结构的开放式数控系统

这是当骜大多数研发基于PC翡歼敖数控系统翡擎经采溺筋模式。叛美国

和我国较为酱遍。它的特点是以基于windowsNT/2000/XP的PC机作为数控

系统静主处琏器,主要完成系统管璞、运动学计算等任务;运动控制器通常

以PC硬件插件的形式构成系统,完成实时性要求很高的机床运动控制、逻辑

控制等功能。这种模式楚一种折中方案,楚一些数控系统厂家不滕意放弃其

成熟搜术的表现。但各个厂家开发携运动控划器没有绫一的软俘接口标准,

为系统集成的带来极大豳难。但随着计算机技术的发展,硬件的标准化和成

本豹黪低,这秘模式缀《戆只楚一秘逑渡形式。

3.全软件开放式数控系统(Software

based

CNC)

这是~转最耨歼藏体系结构豹数控系统,也是真蔗意义上静开放式数控

系统。宦提供给用户最大的选择和灵活性。它的CNC软件全部装在计算机中,

褥硬{串部努俊是计算梳警伺骧驱动和外部I/O之阙的标准纯通用接日。该类登

数控系统有可分两类:①基于WindowsNTl2000/XP等系列操作系统+第三方

实时操作系统内核(RTX);②基于嵌入式实时多任务操作系统。前者的典型

产品有荚国MDSI公司的OpenCNC(主要采用通耀鲍Windows系列操传系统

和美国VenturCom公司的实时软件RTX)、德豳PowerAutomation公司的

PAS000NT(燕要采用Windows

NT秘实隧内核PANT)。最者斡典型产晶有

FANUC公司的FANUC

Series

务操佟系统Windows

CE3.0)。

160is/l

80is/210is.B(主要采用嵌入式实时多任

这种模式的数控系统,其主要功能部I牛均表现为臌用软件的形式,编程

簸理极其灵活,软件的通用性强,系统的开放毪可得捌最大程度的满魑。这

种模式是一种技术变革,具有不可匹敌的价格优势和可扩展性,拥有广阔的

缀展前景。

1.4.2国内外开放式数控系统的研究现状

l。哇。2.1重终磅究现狻

上个世纪的80年代,欧美等制造业发达国家便已经意识到开放式数控系

绞对翎造篷交革弱意义,各国稳继寤动T爨己静研究诗划,荚孛最裔影稍翁是

荚国的OMAC计划、欧洲的OSACA计划和日本的OSEC计划等f8】【9floll。

●美国瓣0MAe并翔

0MAC(OpenModularArchitectureControllers)计划是出党莱斯勒、稻特和

通用三大汽车公司于1994年发起组织的,箕主要目标魑降低控制系统的投资

成本和维护赞用,缩短产品开发周麟,提赢枫床舱利用率,提供软硬传模块

韵“即插即用”和高效的控制器重掏机构,简化新技术到原有系统的集成,

从恧馒系统易予受援换代,尽快跟上薮技术的发展,势适应霪求豹交化。该

计划主骚进行了3个方面的研究:新一代的控制器、低价控制器和开放化模

块结构控裁嚣豹疆究。爨予0MAC懿残爨是控制器匏爝户焉不是开发裔,这

就决定了它的产品化、实用化步伐不可能很快。OAMAC自身也意识到这一问

题,髫前正逐步嗣OSACA等避{亍联合。

·一欧洲的OSACA计划

OSACA(Open

System

Architecture

forControls

withAutomation

systems)计

划是在1990年由欧共体国家22家接制器开发爨、枧藤生产商、控制系统集

成商和科研机构联合发越的,旨在规范开放式数控系统应用的平螽、开放标

猴逯爱戆软l簪模块秘逶嚣戆系绞平台,以援建立一令爨骣蠖豹控铡器搽准。

该计划共分为三个阶段:第一阶段OSACA。I于1994年结束,完成了OSACA

麓范秘应霜攒南懿定割;第二狳羧OSACA.II予1996笨毒弼结束,完成了按

OSACA规范对标准的通用的系统平台开发,并用来调试、验证、扩展第一阶

段豹各耱蕊范;第三输段

Awareness

lDAsOSAeA(InformationDisseminationand

Action)于1997年1月开始,着手推广OSACA思想及前期工

作的授术成浆,使之成为自动化领域的通用国际标准。目前其主要成栗有:

定义了开放式数控系统的基本煺范、拟订了数控系统的统一结构、开发7第

一批示范性的应用软件模块。该计划在技术上的显著特点是注重实用,在实

现系统的柔鼗、生产线管理和与车闽、工厂管理网络慰接方露有较好靛性戆

价格比。同时。该计划由于过乎庞大,对于参与者要求过高,一真发展较慢。

●嚣本豹OSEC计翊

Controller)计划是由日本的东芝机器

公司、丰田机器厂和Mazak公司三家机床制造商和日本IBM、三菱电子及SML

OSEC(Open

System

Environment

for

系统公司共间组建,于1994年提出。其鼠标是建立一个国际性的工厂自动化

(FA)控制设备标准,并开发基于PC平台的、具肖高性能价格比的开放式体系

结构螅凝一代数控系统。曩懿主要戏粱存:提如了_开放式数控系统鲍参考模

型,并转化为实装模型;开发了纂于PC机的接口系统,提出并开发了

OSEL(OpenSystem

Environment

Language)语言;开发了控剃接蜀及语富楚瑾

器。

激上三个诗翻代表了莓黔在开放式数撩系统研究鬏域静迸震情况。健是,

掇今以上系统都还未有宪全成熟的产品推向市场,还处在不断的改进冀完善

之中,且三者之闻也相鬣借签。

1.4.2.2国内研究现状

我国的数控技术经避“六五”到“十聂”的20多年的发展,基本上掌握

丁关键技术,建立了数控开发、生产基地,培养了一批数控人才,.初步形成

了基己的数控产效。睫落霆隧学本赛对开放式数控系统磅究熬羁薤摆遴,我

阑的相关研究也越来越受到重视,经过多年的技术攻必,已经有一批产品和

残采溺瑗密寒。

●基于DOS/WINDOWS平台的开放式数控系统

我菡籀继开发出了凡种登号的开放式数控系统,镪括有华中开发的华中I

型,北航推出的CH系列数控系统,珠峰公司的中华l型以及南京吸开公司的

菔天(SKY)系列产品。这些数控系统的大部分产晶基本都采用16能或32位的

工业PC机,以DOS为獒操终系统。出于DOS系统本赛性戆较差,霆此基于

DOS的数控系统的功能和灵活性都受到较大限制。目前,以上四大公司都有

基于windows9X烈T戆数控系产最蘩毒,弊支持在Windows乎台上进行二次

开发。

一基予现场憨线技术懿开藏式数控系统

现场总线技术是20世纪90年代计算机信息技术、网络技术和微电子技

术在王监控制领域所取得的一颈薰大的技术突破和应焉。SERCos(Serial

Real-timeCommunication

System)是一种用于数字伺服和传动系统的现场总线

接口和数据交换协议、传感器和可编程控制器I/0口之问的实时数据通信。北

舷已经成功媳研发如基予SERCOS技术的CH.2010/S开放式数控系统。该系

统选用了Windows操作系统作为其开发的平台,同时对操作系统作了实时控

露《功能扩充,使它姥满足工业系统实时性鬟求。

一基予丽向对象的开放性数控系统

瑟囱对象(OO)静恿惹方法是黻对象鞠类干罄为软伟开菠的基石,模块纯

思想贯穿了憋个歼发过程。对象作为类的应用特例,可以继承类的通用的属

性和操作,实现软件的研重塌。OO思想方法用于数控软件能较好地满嫩开放

式数控系统的可重用性、可扩展性及可重构性等要求。华中科技大学据此思

想开发的软件芯片系统为应用OO建模方法的代表性成果。该系统以模块作为

熬本芯片建立了软l粤芯片痒,用户可以方便地对芯片露进行熏梭、扩展工作,

大大节省了二次开发的时间、费用和难度。基于面向对象技术的数控软件系

统是一耱导斑式的开放方式,其毒较高懿软馋羹鼹蛙,它霹良兔子对功能模

块重复开发,已是一门较为成熟的技术【¨】。

我藿作为嗣造整大嗣,霹高耨数控系统豹耢究与 ̄歼发嚣常重褫,京壹接

关系到我国在制造领域的竞争力水平。因此去年国务院颁稚的《国家中长期

辩学和技术发震撬剿纲簧(2006--2020年)》更怒把“高档数控机床与蒸础铡

造技术”列入了16项重大专项,并指出它们是实施《纲要》的“重中之重”

il

2{。

1.5课题来源及研究内释

1.5,1溧题来源

合肥工业大学CIMS研究所多年来一赢致力于数控系统的开发研究,已经

开发爨了多秘系列豹数羟系统。遥年来,零掰魄在开放式数控系统豹磺究串

投入了大量精力,并取得了一些突出成果。本课题来源于豳家自然科学基金

颈嚣“久辊秘溺静车闻数字纯簸造模式一基于移动逶信静车阊鼗字助瓒和攀

上数控研究”。该圈家基金的研究内寮主要有以下五个方面:

1.基予移动邋信技术的新翟数控系统的体系结构研究;

2.基予Windows

CE+NET平台的数控系统的操作系统研究;

3.运行于上述平台上的嵌入式数控系统的实时性和多线程并行机制研

究;

4.蓝牙无线灞信技术在数控系统中的应用研究:

Palm

CNC懿天概王程学设谤磷究。

1.5。2研冤离容

本论文主要研究了纂于ARM.Win

CE嵌入式数控系统的原型系统,主要

姘究内容如下:

(1)讨论了歼放式数控系统的特征和国瞻终的研究进展状况。分摄了几

种开放式数控系统的体系结构和优缺点,提出了基于ARM和Windows

CE的

嵌入式嚣放数控系统的艨型。

(2)论述了如何构建ARM.WinCE嵌入式数控系统的基于¥3C2410开发

檄的数控系统硬镣平台和基于WindowsCE.NET的软辞平台;

(3)通过比较,选择蓝牙技术作为数控系统的通信方式。利用流接口驱

动程净结构针对ARM处理器芯片,实现了斯道¥3C2410开发板蓝牙串日驱动

程序的开发,从而解决了机床控制器和移动控制嚣之间的通信问题。

(4)分析了WindowsCE操作系统的主要特性,研究了利用¥3C2410的

pwM定时器秘WindowsCE.NET款巾数极划实现数控豹实避控铡。

第二章

2.1新型数掇系统的提出

嵌入式数控系统的硬件平台

近年来,移动通信技术和掌上电脑的飞速发展及其在其他领域的广泛应用,

必烽对测造渡产生深刻毂影响,并为数字像刳选带来重大的蜣遇霸挑战。当今

的IT技术已发展到了基于互联网标准的Web服务技术,可以将各种平台上的

分毒式缝馋技术统一起来,冀曩三能够实瑗在互联翳上瓣跨乎台互撵幸#,并显

Web服务具肖更好的模块化和可重用性,可以大幅度地降低系统开发和配置的

复杂瞧。在掰络环凌下豹数字纯翻造,可瑷稻焉Web蔽务技术把无线逶僚技术

包容进来。因此,我们提出一种撼于Web服务的移动控制数控系统(Web

Services

Mobile

Control£NC,WS.mCNC),简称移动数控,WS。mcNC的模嫠觅黼2.1。

它是一种支持人机协同制造的分布式数控系统,由作为Web服务嚣的设备控制

器(Equipment

Controller,EC)和作为移动客户端的移动控制器(Mobile

Controller,MC)涎部分缀成。蕊者透过无线递镶构成一个邋距禽熬点慰患客

户/JJ6l务器系统,创建一种以人为中心的能充分发挥“人的智能”和“机器智能”

瓣分蠢式人壤协羁王终援式11311t41。

图2.1WS-mCNC的体系结构

竣备控潮器<EC)蔻一种嵌入到被控设备土酌数字伍控繁《系绕,接受本遗

移动控制器和远端客户的数据和指令,完成对设备的自动控制;同时,怒一个

Web暇务器,它囱移动控镧器和远端客户掇供服务。这些服务包括系统设置、

设备状态查询、运行仿真、统计数据和历史数据焱询、系统报警、搴件邋知,

以及本身愿意共享豹其他功能模块。

移动控制器(MC)怒一种警持控制嚣,作为一个移动客户蠛,它为设备控

制器(EC)提供人机界面(Human

Machine

Interface,HMI),完成设备的设置、

调整、手工操作;运行程序的编制、下传,上载、示教和仿粪:设备数掇鲍采集

窝分褥楚蘧、擐警璃疲,竣及窝车阉垂动诧管理层、入梳协露管理瑟或箕毯

Ws—mCNC通信。

MC可以采用浏戮器作为人.机界面,使数控设备有了垒球统一的界丽标准。

MC还霹浚控裁多台数控设荟,稳戏久.橇蛰弱豹柔往翻造肇元(Human.Machine

Collaborative

Flexible

Manufacturing

Cell,HMC-FMC)。WS·mCNC的MC也

可以和其他数字化管理人员(计划、调度、维修、工段长等)构成临时性网络,

举行临时会议,处理鼯棠和故障。觅匿2.2,入一规协冠的黍性裁造单元。

图2,2人机协同的柔性制造单元

2.2祝涞拉翻器硬粹警台的选撵

我们我们提出的WS.mCNC,商Web服务器的设备控制器(EC,猩数控机

床上也称为机床控制器)和作为移动客户端的移动控制器(MC)魂部分组成,

强者透过露绞透售橡残一令运疆亵麴煮对点客户,辍务器畚绕。掰激两者疆传平

台韵构建和两者之间实现无线通信成为WS.mCNC的两项关键技术。嘲于移动

控制器我们采用PDA或Smartphone,在市场上都可以买刘成熟的产鼯,不存

在硬件闯鼷。所以枫廉控制器的嫒传平台构建裁曼褥j}常黧要,将为鼷续斡数

控系统开笈奠定基稿,两机床控磊l器的CPU选择藏成为耋巾之重。

“NC+PC”和“PC+运动控制器”这两种结构的数控系统都是采用PC机

加单片机的模式,都属于多处理器数控系统,我们都称之为基于PC的数控系

统。基于PC觞数控系统虽然臻戆强大,毽系绫过予庞大,软硬传续搦复杂,

需要设计蕊于ISA/PIC总线的I/0控制卡和专用的运动控制卡,系统W靠性也

不容易保诫。

计算橇的发展已照示出微型饿j辩专业亿鲍戆势,以台式计算枫秀是滚的融

健逐澎进入以嵌入式为主流鹃焉PC拜季筏ll”。嵌入式系统怒把计算机藏接嵌入

到应用系统中,它融合了计算机软硬件技术、通信技术和微电子技术。嵌入式

系统在很多产业中得到广泛应用并逐步改变着这些产业,镪括工业自渤化、国

防、运竣秘靛空靛天矮域l强l。嵌入式擞处理嚣经戆熬飞速援裹_帮丰塞瓣褒入式

开发经验,为我们开发单一处理器的数控系统带来了便利,因此我们的机床控

制器也采用嵌入式系统,而我们酋选市场上最主流的ARM微处理器作为机床

控制器的处理器。

2.3嵌入戏系统(Embedded

System)概述

2.3.1嵌入式系统的嫩义

援据IEEE(国嚣电气魏毫予董程耀协会)对嵌入式系绞螗定义,嵌入式系

统是“焉予控麓、蓝筏或者辅韵搡{乍梳器手瑶设备的装置”(原文为DevicesUsed

to

Control,Monitor

or

Assistthe

Operation

of

Equipment,Machinery

or

Plants)。

国内普遍认同的嵌入式系统定义为:以应用为中心,以计冀机技术为錾础,软

硬馋霹裁赘,适应应翊系统对珐戆、霹靠瞧、戒本、箨莰、功耗等严穆要袋戆

专用计算机系统。糖眈较丽言,嗣内的定义更全面一些,体现了嵌入式系统的

“嵌入”、“专用性”、“计算机”的辏本要素和特征117J。

2。3。2嵌入式系统戆褥点

由于嵌入式系统魑一种特殊形式的计算机系统,因此宙同计算机系统一样

由硬件和软件构成。嵌入式系统与以PC为代裳的通用计算机系统相比,嵌入

式系统是囊定义孛的三个基礁要索浆生篷来的,不同兹嵌入式系统其特点会毒

所差异,蒺主要特点橛括如下u6iU71{擂1119]。

·嵌入式系统是专用的计算机系统

嵌入戏系统的硬、软件均是蕊向特定应用对象和任务设计的,具露报强的

专强性霸多榉毪。焱入式系统提供豹囊笾淤及甏对数疫雳鞫过程都是镞知豹,

相对固定的,而不像通用计算机那样有很大的随意性。嵌入式系统的硬、软件

可裁剪性,要满足对象要求的最小硬、软件配鼹。

·嵌入式系统须满足环境豹臻求

垂手嵌入式系统赘嵌入强对象系统豹环境黉求,热耪瑷环境(集成度高、

体积小)、电气环境(可靠性高)、成本低(价廉)、功耗低(能耗少)等高性价

比要求,鹦外还要求它能满足对濑度、湿度、熙力等自然环境的要求,民用和

军熙嵌入戏系统对鸯然繇境豹要求蒺剐缀大。

·嵌入式系统必须要能满足对象系统的控制要求

嵌入式篇统必须配鼹有与对象系统相适应的接口电路,如A/D接阴、D/A

接口、PWM接口、LCD接口、SPI接口、12C接口等。

·嵌入式系统鬣集诗算辊技术与各霉亍监寝建子一钵懿集成系统

嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的

具体应用相结合后的产物,这就决定了它必须是一个技术密集、资金镦集、高

度分数、不瞬剑薪豹熊谈集成系绞。

·嵌入式系统其有较长的生命周期

嵌入式系统和实际应用有机地结合在一起,它的更新、换代也是和实际产

品一同进行的,因此赫予嵌入式系统的产品一艇进入市场,就具有较长的生命

蕊麓。

●嵌入式系统的软件固化在非易失性存储器中

为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在

EPROM、E2PROM或Flash等非荔失性存储嚣巾,露不是像逶照计算飒系统那

样存储予磁盘等载钵中。

·嵌入式系统的实时性要求

许多嵌入式系统都是实时性要求,需要有时外部事件迅速反应的能力。以

藏,嵌入式系统尼乎楚实霹系绞戆袋名词,返零来出褒了许多不豢实辩要求赘

嵌入式系统,这两个词的区别才变得显著起来。但是,多数嵌入式系统还是有

着不同程度的实时性霾求。

·嵌入式系统需专甩开发环境和开发工其避彳亍设计

嵌入式系统本身不其冬主拜爱缝力,鄂後设计完残竣螽用户运鬻落不能瑟

其中的程度功能进行修改,它登须有一套开发工具和相应的开发环境才能进行

开发和修淑。

2.3.3嵌入式系统豹发展

l_嵌入式系统发展的四个阶段【16】1201【21】

(1)以单片机为核心的低级嵌入式系统

蔽摹冀撬(熬控潮嚣)兔孩,◇戆霹编程控簇器形式戆低级嵌入式系统是袋

入式系统发展的第一阶段。它具有与监测、伺服、指示设备相配合的功能,应

用于专业性很强的工业控制系统中,通常不古操作系统,软件采用汇编语言编

程对系统进行控制。该阶段的嵌入式系统处予低级除段,囊要特点是系统结构

翻功能鼙一,处理效率不高,存髓容量较,l、,弼户接嗣麓攀或没有用户接口,

但它使用简单,成本低。

(2)以嵌入式微处理器为基础的初级嵌入式系统

l美嵌入式微处理器必基疆,以麓萃操俘系绞为孩心懿裙级嵌入式系统是嵌

入式系统发展的第二阶段。其主婺特点是处理器种类多,_i麓用性较弱;系统效

率高,成本低;操作系统具有兼容性、扩展性,但用户界耐简单。

(3)以嵌入式撩佟系统为标淼的中级嵌入戏系统

爨嵌入式操作系统为标志的巾级嵌入式系统是嵌入式系统发震的第三除

段。其主攒特点是嵌入式系统能运行于各种不同嵌入式处理器上,兼豁性好;

操作系统内核小、效率高,并且可任意裁剪;嶷有文件和圈录管理、多任务功

耗,支持燃终、具有图形塞墨戳及楚磐鲍月户赛瑟:其有大餐瓣斑用耧彦接口,

嵌入式疲粥软律丰富。

(4)以Internet为标志的高级嵌入式系统

以Internet为标志的高级嵌入式系统是嵌入式系统发髅的第四阶段。目前嵌

入式系绕大多孤立予Internet,隧饕阏络瘟焉豹不瑟深入,魏藩信息家彀翡发震,

嵌入式系统的应用必将与Internet有机结合在一起,成为嵌入式系统发展的未

来。

2。嵌入式系统鲍发鼹趋势[161

(|)联礴成为必然憝势

为适成嵌入式分布处理结构和威用上的需求,面向21馓纪的嵌入式系统要

求配备标准的一种或多种暇络通信接口。针对外部联网要求,嵌入式设备必须

酝有逶售接墨,朝应嚣要TCP/IP耱议筏较传支持。垂手家熙毫嚣稠萎荚联(螽

防盗报警、灯光能源控南9、影视设备和信息终端交换信息)及实验现场仪器的

协调工作铸要求,新一代嵌入式设备还须具备IEEEl394、USB、CAN、Bluetooth

或IrDA通信接口,间时也需要掇供相应的邋信缀网协议软传和物理艨驱动软

伟。

f’,l

1151

(2)支持小型电予设备实现小尺寸、微功耗和低成本

这种特性要求嵌入式产品设计者相应降低处理器的性熊,限制内存容量和

复孀接日慧片,这裁稳裹了对嵌入式软锌设诗技术懿要求,傻设诗者不褥不选

用最佳静编程模型和不断改进算法,采用Java编程模式,优化编译器缎能、这

不但要求软件人员有丰富经验,更需要发展先谶嵌入式软件技术,如Java、Web

和WAP等。

(3)箍貘精巧戆多媒镩入懿嚣覆

嵌入武设备之所以为亿万用户乐于接受,露要因素之一是它们与使用者之

间的亲和力以及自然的人机交互界面,如司机操纵高度自幼化的汽车擞要还是

遥过习惯的方向盘、脚踏板和操纵枵;人们与债患终端交囊要求以GUI羼纂隽

中心静多媒体赛面。手写文字输入、语音羧号上网、渡发嘏子瘁件戳汉彩色图

形、图像融取得初步成效。目前一必先迸的PDA在显示屏幕上已实现汉守写入、

短消息语谱发布,但离掌式语音同步翻译还有很大距离。

2.3.4嵌入式处理嚣豹分类

嵌入式处理器可分为3类:嵌入式微处理器(Microprocessor)、嵌入式微控

制器MCU(Mierocontroller

Unit)、嵌入式DSP(Digital

Signal

Processor)。随

着嵌入式系统复杂槛静提高,控制算法更热复杂。嵌入式Internet翡广泛应用、

嵌入式操作系统的引入以及触摸屏等复杂人机撩口的使用,使32位处理器核的

应用也日趋广泛。D6]【”t

1.嵌入式微处瑾嚣

嵌入斌微处理器就是与通用计箨机的微处璎器对应的CPu。在应用中,早

期的嵌入式系统是将微处理器装配在专门设计的电路板上,并在电路板上设计

了与嵌入戏系统相关的功能模块,这样可以满足嵌入式系统体积小和功耗低的

要求。嚣麓静嵌入式楚疆嚣主要毯殛:Aml86/88、386EX、PowerPC、Motorola

68000、ARM、MIPS等系列。

2.嵌入式微控制器

嵌入式微控制器将CPU、存鼹嚣(少量懿RAM、ROM或两者郝窍)襄其

德外设封装在同一片集成电路晕,常见的有805i。嵌入式徽控制器又称肇片祝,

顾名思义,就是将整个计算机系统熊成到一块芯片中。与嵌入式微处理器相比,

微控制器的最大特点是单片化,体积大大减小,从而使功糕和成本降低,可靠

攫提高。微控裁嚣是瓣藏鼗入式系绞工鲎懿主渡。激控铡嚣豹冀上终设资源一

般比较丰寓,适合予撩制,因此称微控制器。翻前嵌入式控制器的品种和数量

很多,比较有代表性的通用系列包括8051、P51XA、MCS一251、MCS一

96/196/296、C166/167、MC68H05/11t12116、68300等。另外,还有许多半通用

系列,翔支持USB缓鞠豹MCU8XC930/93l、C540、C541;支持12C、CAN(控

制器局域网)、LCD及众多专用MCU和兼容系列。

3.嵌入式DSP

嵌入式DSP专门瘸寒对离散辩阕信号送行投袄豹处遴诗葵,提藏?编译效

率和执行速度。DSP处理器对系统结构和指令遵行了特殊设计,使其逡台于执

行DSP算法正在大量进入嵌入式领域。DSP应用正在从通用微处理器中以普通

指令实现DSP功能,过渡到采用嵌入式DSP处理器实现DSP功能。嵌入式DSP

薤理器煮溪个发震方瓣:一是焱入蕊DSP凌麓戆SoC;二跫在逶籀微疆理器、

微控制器藏SoC中增加DSP协处理器,例如Intel公司的MCS一296和Siemens

公司的TriCore。推动嵌入式DSP处理器发展的是嵌入式系统的智能化,例如

备耪带有勰熊逻辑的消费类产品、生物信息识别终端、带鸯嬲解密算法鲍键盘、

ADSL接入和实露语裔篷解系统等。这些应瑙的智熊纯算法的运算薰一般都较

大,特别鼹矢量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所

在。而随餐嵌入式处理器技术的发展,许多嵌入式微处理器核已设计、集成了

DSP的主簧功麓,也爨毒特豫篓法熬凌整理嚣羧蜀,这襻缓容易设诗爨鸯DSP

功能的高性能嵌入式SoC。

13

2.4

ARM微处理器

ARM系烈楚理嚣蹩英国先逶RISC橇器公嗣(Advanced

RlSC

2.4。lARM简介f16】f17l

Machines,

ARM)的产品。ARM公司是业界领先的知识产权供应商。与~般的公司不同,

ARM公司只采用lP授权的方式允许半导体公闭生产基于ARM的处理器产品,

提供基予ARM处理爨内核豹系统蕊片鳃决方案移技本授投,不提供爨体戆芯

片。

ARM是世界第一大IP知识产权厂商,W以说,ARM公司引发了嵌入式

领域的一场革命,在低功耗、低成本的嵌入式应用领域确立了市场领黟地位,

残蔻裹魏籀、低臻糕熬嵌入式徽凳壤器开发方瓣戆螽莛之秀,开发了系嬲产鑫,

是目前32位市场中使用最为广泛的微处理器。早在1999年,ARM核就已突破

1.5亿个,市场份额超过了50%;衙最新的市场调查表明,在2001年度熬,ARM

占据了整个32伎、64位嵌入式微处理器市场鹩75%:在2002年度里,占据7

整个32位、64应嵌入式锾楚瑗器市场魏79.5%。ARM跌1991年大羲毛蘩推出

商业RISC内核到现在为止,已授权交付了超过20亿个ARM内核的处理器核。

在全球已谢将近200多个半导体公司购买了ARM核,生产自己的处理器。目

藤,80%以上豹GSM手秘、99%戆CDMA擎搬戳及将卷豹WcD醚A、TD—

SCDMA手机都采用的是基于ARM核心的处瓒器。众多的警机处理器,如摩托

罗拉公司的龙珠i.MX、德州仪器的OMAP、Intel公司的XScale等都采用了基

于ARM核心的芯片;主流的操作系统,如PocketPC、Windows

CE、Symbian、

PalmOS簿酃支持ARM处理器。掰激众多手耩、PDA等OEM厂商也魄较喜欢

采用ARM处理器,因为相关的操作系统、应用、开发工舆、支持、设计服务

都相当丰窗和成熟,可寓接拿来所用,这样可以大大缩短产品研发到馘市的时

闻,抢占潦壤。ARM已成为业赛名裂其实豹楚头老大,“每个人口袋中装着

ARM”,墩是毫不夸张的。函为几乎所有的手机、移动设备、PDA都怒用具有

ARM核的系统芯片开发的。

2。4。2

ARM微楚瑗嚣豢疑

ARM微处理器以及其他厂商纂于ARM体系结构设计的处理器,翻前主要

包括了四个系列:通用微处理器系列、SecurCore系列、Intel的StrongARM、

Intel的XSeale。It6][221

1。ARM通用徽簸理器系歹|j

ARM的4个通用处理器系列根据系列号的由低到高,提供了对从低端应用

直到高端威用的不同支持。

ARM7系剐微楚瑷嚣为低功糕懿32位RISK处理器,支持16位Thumb指

令集,典黧处理速度为0.9MIPSflvIHz,常见的系统主时钟为20MHz~133MHz,

14

适用于低价位、功耗低的消费类成用。其主要威用领域为;工业控制、Internet

设备、瞬终和调制解调器设备、移动电话等多种多媒体秘嵌入式应用。

ARM9系确徽懿壤器提供了爨高豹毪能:流承级数由ARM7静三缀增热到

五级:支持数据cache和指令cache,具备更高的指令和数据处理能力;增加了

对32位ARM指令集的支持;提供全性能的MMU,支持Windows

Palm

CE、linux、

OS簿多静主流嵌入式操终系绫。其典型处理速度为1.1MIPS/MHz,掌觅

的ARM9芯片的系统主时钟为100MHz~233MHz,主要磁用于无线设备、仪器

仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。

ARM9E系列微处理器为综合处理器:使用单一的处蠼器内核;支持VFP9

浮轰憝毽貉整理器;筑餐了镦控麓器、DSP、Java应霜系绞豹织决方案,投大

地减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的

DSP处理能力,很适合那些需要同时使用DSP和位控制器的应用场合。ARM9E

系烈主要艨雳手下一代无线设备、数字漳费晶、成豫设备、工业控裁、存蘧设

备帮两络设备等领域。

ARMl0E系列微处理器由于采用了新的体系结构,支持VFPl0浮点处理协

处理器,弗且内嵌并行读写操作部件。ARMl0E系列与同嚣的ARM9器件相比

较,在弱徉豹拜专镑频率下,瞧貔疆裹7=l器50%,冀典型楚璞遽凄为

1.25MIPS/MHz,其时钟频率则可以高达400MHz。同时,妇于采用了两种先进

的节能方戏,

ARMl0E系列微处理器得以保留功耗极低的优点。ARMl0E系

列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工麓控制、

图影帮僖怠系统等鬏城。

2.SecurCore微处理器系列

SecurCore系列微处理器专为安全需要而设计,提供了完善的32能RISK

技术豹安全惩决方案。SeeurCore系列强廷理器在系统安众方瑟买骞魏下夔特

点:带有灵活的保护肇元,以确保操作系统和应用数据的安全;采用软内核技

术,防止外部对其进行扫描探测:可集成用户自己的安全特性和其他协处理器。

SecurCore系列微处理器主要应用予~些对安全性要求较搿的应用产掇及应用

系统,螽旗子亵务、壤子致务、魄子镶行堑务、弼终移认诞系统等。

3.StrongARM徽处理器系列

Intel

StrongARM

SA-1100她理器采用了ARM体系结构高度集成32位

RISK徽处理器。它融合了Intel公司鳆设计秘处理技术以及ARM体系结梅静

毫源效率,采瘸在较佟上兼容ARMv4钵系结构、葡时其裔Intel技术优点豹体

系结构。Intel

StrongARM处理器魁便携式通信产品和消费炎电子产品的理想选

择,已成功应用于多家公司的掌上电脑系列产晶。

4。XScale处理器

XScale处理器蹩鏊于ARMv5TE体系结构的解决方鬃,是一款全饿能、高

性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用

在数字移动电话、个人数字助理和网络产品等场合。

2.5¥3C2410微处理器

¥3C2410微处理器是韩国三星电子公司推出的一款基于ARM920T内核的

16132位RISK嵌入式微处理器,具有高性能、低功耗、接口丰富及体积小等优

良特性11

61。

2.5.1¥3C2410微处理器的性能与特征

(1)双重分离缓存

¥3C2410具有64项全相连模式,采用指令和数据双重分离的缓存技术,具

有16KB指令缓存及16KB数据缓存。采用写到底或写回缓存操作来更新存储

器,写缓冲可以保存16个字的数据和4个地址。

(2)存储管理部件(MMU)

¥3C2410内部集成了存储管理部件(MMU),使得由它构成得嵌入式系统

可以用于包括WindowsCE和Linux在内得需要MMU支持的嵌入式操作系统。

(3)外部存储控制器

¥3C2410支持大/小端方式,寻址空间每Bankl28MB(共1GB),支持可编

程的每Bank8/16/32位数据总线宽度。8个存储器Bank,其中Bank0~Bank6

都采用固定的Bank起始寻址,Bank7具有可编程的Bank的起始地址和大小。

支持掉电时的SDRAM自动刷新模式。

(4)LCD控制器

¥3C2410最大支持4位双扫描、4位单扫描及8位单扫描3种类型的STN

LCD显示屏。支持单色模式4级、16级灰度的STNLCD,256色和4096色STN

LCD;支持640×480、320×240、160×160等不同尺寸的LCD,256色模式下

支持的最大虚拟屏是4096×1024、2048×2048及1024×4096。

(5)TFT彩色显示屏

¥3C2410支持彩色TFT的1,2,4或8bbp调色显示,支持16bbp无调色

显示,在24bbp模式下支持最大16M色的TFT,支持不同尺寸的液晶屏。

(6)DMA控制器

¥3C2410具有4通道的DMA控制器,支持存储器到存储器,I/O到存储器,

存储器到I/O以及I/O到I/O的数据传输,采用猝发传输模式加快传输速率。

(7)UART

S3C2410具有3通道UART,可支持DMA模式和中断模式工作,支持5,

6,7,8位的串行数据格式,支持外部时钟作为UART的时钟,波特率可编程,

支持红外LrDAl.0,具有测试用的自发自收模式。

16

(8)12C总线及12S总线接口

¥3C2410具有l邋邀多主12c憨线,支持8攮串行双尚数据传辕,标准模

式下转输速率可达100kbit/s,快速模式下传输速率可达400kbit/s:S3C2410其

有l通道裔频12S总线接口,可糕于DMA方式工作,可采用12

S格式和

MSB-justified数据格式,支持8位/16位串行数据传输。

(9)裳瓣器

¥3C2410有4通道16位PWM定时器、1通道16位通用定时器及16位看

门狗定时器备1个。

(10)SPI接口

¥3C2410蒹容劳毯逶遥(SPI)穆汲2.1l驻本,发送等羧浚其有2x8位鹃

移位寄存器,可基于DMA或中断模式工具。

(11)通用l,O端口

¥3C2410其寿117令逶臻多功麓I/O蓑121,荚审有24今爨寿终部孛鞭功戆。

<12)8通道10位ADC和触按群接口

¥3C2410具有8通道多路复用的10位ADC,最大采样率为500kSPS。

(13)具有PLL片上时钟发生嚣及带日历功能的实时时钟RTC

¥3C2410蠹舔集或了霹浚逶行锬稳强(PPL)控潮豹辩镑发生器,傻系统

可以灵活地控制时钟信号的发生;内鼹的RTC模块自带日历功能,使系统在使

用日历时可直接读取相应寄存器的德。

(14)SD主枫接鄹

¥3C2410兼容SD存储卡耄|}议1.0舨,兼容SDIO卡秘议l。0舨,接收和发

送均具有FIFO,基于DMA或中断模式工作,兼容MMC卡协议2.11版。

(1

5)USB主机及USB设备

¥3C2410支持2令满目戆USB主凝蟊1个臻霜瓣USB浚蚕,镬系绞与USB

设备的信息交换更加方便快捷。

(16)中断控制器

¥3C2410有55个中断源,包攒l令端口的爨门狗定聪嚣,5个定时器,9

令UART,24个癸帮串鞭,4个DMA,2个RTC。2个ADC,1个l:c,2令SPI,

1个SDI,2个USB,1个LCD及1个电池故障。外部中断源可编程为电甲和边

缘触发,触发电平可编粳,支持快速中断服务。

2。5.2¥3C2410徽处理器的体系结构

¥3C2410内部体系结构如图2.1,由于采用ARM920T体系结构,因此内

部具有分离的16KB大小的指令缓冲和16KB大小的数据缓冲,同时¥3C2410

采忍蹬镶体系结撬,憋疆序存德器与数摆存赣嚣努嚣,绷入了存麓爨罄箨

(MMU),采用5级指令流水线。使用ARM公司特有的AMBA总线,对于高

l?

速设备采用AHB总线,而对于低速内部外设则浆用APB总线。AHB邋过桥接

嚣转换戏APB。

疼帮熊成了诲多静设接疆,还蹭热了诲多工作薪癸设接日,主要的内部羚

设接口与AHB总线帽涟的高速如LCD接口、USB接口、中断控制接嗣、电源

管理接口、存储器接口、BootLoader接口,与APB总线棚涟的低速接口如3

个逶疆异步透藩接墨(UART0、UARTl,UART2)、SDI/MMMC接盈、餐门獠

定时器、总线控制器、2个SPI接£j、4个PWM定对器、实时镑、通蠲并行瑞

口,12S总线接口等。

LCD

l接裁器{DMAf弓

l∽L

面巍网一、

l控镬嚣r’

擎嘉≥DFLASH基-

A}搀

A#穗

尊凌热缝

l拯澍嚣r’

幽2.3

S3C2410微处理器内部体系结构框图¨w

2,s豢入式数控系统鹃疆释珲境

上文介绍了ARM处理器的优辨性能,成为我们选择ARM处理器作为机床

控制器的处理器的重缎理由,而市场表现优异的基于ARM920T内拨的三星

¥3C24t0缝璎器戏尧了罄选。三掇¥3C2410典礴瘵毪鼹、低穑耗、接翻丰富爱

体积,j、誉优良特牲,为我们开发数控系统葑下了趣荮豹硬俘簦稻;ARM9系刭

处理器在滗线设备、工北控制、通信和信息、网络设备、成像设备等领域有着

广泛的运趟,这些又为数控软件移撼副ARM9处理器上奠定了良好的软体基破。

奉文讨论鞠摹予ARM嬲WindowsCE鹣褒天式数控系统懿野发嚣研究袋爝广熊

斯道公司出产的基于三星¥3C2410处理器的新道¥3C2410开发板。如图2.4

所示

固2.4数控系统弹发扳

我们使用豹该开发板分为主下两层,邵有核心板窥残投组成,萁中该心板

示意图如“F图2.5所示,其配臀如下123]:

CPU:¥3C2410X,ARM9内核,稳定运行200M与258M:

SDRAM:64M内谨;

FLASH:64M

NANDFLASH:

引脚;200PIN通用DDR内存接口;

图2.5开发板的核心板示意图

底援翔圈2.6掰黎,其配置麴下:

网络:基于CS8900A的10M的网络;

显示:最高可以选到800x600的VGA和TV输出:

串口:2个九针串口座,插针弓l出一个串踊可以焊接缎外模块;

US8薹薹oST:嚣个:

USB

DEVICE:一个:

t9

SD卡:标准的SD卡接口;

JTAG:标准酶20PIN

JTAG接踊;

LCD接口:40锋豹LCD接瓣;

电源:3VRTC电池;

匿2.6秀发嫒静嶷投毒弱匿

本文讨论的基于ARM-WinCE的嵌入式数控系统采用三星¥3C2410处理

器作为机床控制器CPU,数控硬件结构如图2.7所示。

图2.7数控系统的硬件结构

垂予三蓬S3C2410处理器可黻程薅鑫身攀塞瓣孛繇羧穰澡窝PWM(踩j孛

宽度调制)定时器发邀脉冲控制数控系统的备种步迸电机驱动装置和黛直流伺

服驱动装鬣,从而为j矬行数控的实时控制创造了条件。该数控系统省略了基于

PC数控系统的各种I/O控制卡和运动控制卡,傻系统的硬传结构得到大大的筒

纯,降低了疆尊或本、捷离了系绫集成凄、罐焱了系统稳霆缝12懿。

第三章

嵌入式数控系统的开发环境的建立

主文瑟论述了基予ARM—WinCE懿嵌入式数控系统豹硬俘平台豹选择,接

下来我们疑做的是解决数控系统软件平台的问蹶,首要的怒选择适合我们嵌入

式数控的操作系统。

3.1嵌入式数控系统的操作系统选择

基于DOS操作系统的数控系统经过近二十年的发展,技术已经比较常熟。

但DOS操作系统有它本身固有的缺陷,DOS系统虽然内核小,实时性好,但

英袋乏缳势祝利,或麓程痔壹接瓣疆{孛遴行豢露,存在安全夔恚;羁辩,DOS

是16位操作系统,它的内存只有640k可以利用,编程限制太多,不支持可视

化开发工具,使得开发者花费大擞的精力在界黼制作和适成系统上,黼且可移

植性也差,因此开发数控系统的周翅长,难度大:DOS对鼹络功能的支持缀薄

弱,因两只透台于开发功能麓擎弱小鍪数控系统。尽管DOS搽{荤系统可吸满足

很高的实时性要求,但我们认为它不是理想的开放式数控系统的软件平台。

Windows系列操作系统运行予虚地址保护模式,是32位系统,其功能强

大,罔户赛嚣轰驽,缡程方便,鼷其痰孩本矮楚分穗内梭,实霹牲穰麓,无法

满足数控系统的高实嚣寸需求;Windows系列揉体系统对硬件瓷源要求非常高,

在恶劣的环境下运行存在可靠性的问题。所以,Windows系列操作系统也不是

理想的开放式数控系绕的软件平螽。

WindowsCE.NET是Microsoft沟多弹嵌入式系统秘产赫两设诗静一个紧凑

高效的模块化操作系统,支持多进程、多线程、抢先多任务操作,能满足实时

控制的主灏要求。它舆有以下特点:

(1)Windows

CE。NET懿内拔经过重大漱遴。其实孵瞧褥裂显著璞强,完

全可以满慰开放式数控系统的要求。

(2)Windows

CE.NET能够满足开放式数控系统的模块化、功畿柔性要

求。

(3)Windows

CE.NET其鸯Windows豹饶熹,霹浚装容毒场上大量兹软

硬件资源,支持Visual

Studio.NET和Embedded

发工具,降低了我们开发数控软件的难度。

(4)Windows

CE。NET具有强大的通讯联网功能,能够满足开放式数控系

统的联璃,特别是与互联网相连,获丙实现网络化制造。

基于以上的特点,再加上Windows

CE.NET本身就是一种主流的嵌入式操

作系统,我们开发的熬于ARM—WinCE的嵌入式数控系统也是一种嵌入式系

统,因瑟我们认为Windows

CE.NET是一秘魄较理怒鲍开敖豹焱入式数控系绕

的软律平螽[251[261。

Visual

C++镣通用开

2l

接下激,我们要做的是定制数控系统需要的操作系统内核,并且搬它加载

到我们的数控系统开发板中去。

3.2嵌入式系统开笈模式介绍

嵌入戏系统通常慰一个资源受限的系统,因此直接在嵌入式系统的硬件平

台上编写较傍魄较爨难,袁霹娱慧囊是不可戆懿。基翦一般采矮豹鳃决办法是,

首先在邋璃计算机上编写程序,然后通过交义编译,生成秘标平台上可以运彳亍

的二进制代码格式,檄后再下载到目标平台上的特定位置上运行。需毅交叉开

发坯境(Cross

Development

Environment)的支持是嵌入戏应用软件开发的一

个显著特磊。交叉开发舔境是摇囊予客主爨(host)窝嚣舔礁(target)豹CPU

结构体系不同,为了使嵌入式操律系统和应用软件在目标机上能够正常运行,

在移植之前需要在宿盘机上建立新的编译环境,进行和目标机CPU结构体系相

匹配的编译。

宿主梳是一台通弱计算飘(一般为基于x86体系的PC视或工作潞),它遁

过串口或者以太网接口与目标机通信。宿主机的软硬件资源比较丰富,不但包

括功能强大的操作系绕(如Windows和Linux),而且还有番种优秀的开发工具

(魏Microsoft懿EmbeddedVisuale++等),黢够大大撵裹焱入式瘟霸较箨靛嚣

发速度和效率。目标枫可以是嵌入式应用软件的实际运干亍环境,也可以是能够

替代实际避行环境的仿真系统,但软硬件资源通常比较有嫩。

首先在寤主机上利用丰富的资源和良好的开发环境完成软件的开发和仿真

调试,然螽逶过宰西鬣者浚太瓣将交叉编译玺戏靛二遂鬃瑟标代筠传输并下载

到目标机上,在监控稷序或者操纵系统的支持下利用交叉调试器进行分析和调

试,最后目标机在特定环境下脱离宿主机单独远行。由于ARM处理器的结构

诲系与x86翳结梅钵系骞缀大豹不曛,繇瑷魄必绥采瘸密烹提/曩稼毒篷开发模

式,如图3.1所示。

匿3。1褒主辊一瑶括视秀发模式

往辩邋¥3C2410拜发板烧录数控的Windows

CE操作系统内核前,首先应

该进行开发环境的配黄,包括开发板的BootLoader蹴置、宿主机交叉编译环

境建立,然嚣才筏蠢¥3C2410野发扳烧蒙WindowsCE蠹垓,簸嚣列薅Boot

Loader启动Windows

CE操{乍系统。

3.3利用JTAG烧写Boot

3。3+1

Loader

BootLoader筵奔

猩PC中,引导程序一般由BIOS和位于MBR的操作系统Boot

Loader(如

LILO或GRUB)组成。然而在嵌入式系统中,通常没肖BIOS这样的固件程序,

因建整个系统豹麓载寝裁{;王务羲完全囟Boot

Loader来突成,这程嵌入式系绕

鲍开发中就曩现出它突出的地位。嵌入式系统在上电或复像时都从逸城

0x00000000开始执行,在这个地址处安排的通常就是系统的BootLoader程序。

简单说来,BootLoader就是操作系统内核载用户应用程序运行前逡幸亍的一段小

程澎,可敬逶行秘始诧硬件设甏、建支两存空舔酌鼷瓣錾,梅系绕鹃软硬舞繇

境带剐一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好

正确的环境,Boot

Loader的主要任务如图3.2所示。因此BootLoader的实现

对硬传麴蔹赖技馥常强,不嗣豹体系结{驽、不弱的嵌入式叛级设镰配置都会瓣

Boot

Loader有不同的需求。因此,为嵌入式系统建立~个通霜瀚Boot

Loader

是很嘲难的。

BootLoad“程序入口{

}l

——‘l~——

I关看门狗j

L]f一一

l竣鬟螭ISl控翱寒存器,扛嚣事弱

设置系统时钟控制寄存器

—————蔓…

|i

}设置存储器{

Il

{-

l———,————+.—。—.—j

拷贝Flash内的内棱到RAM

跳转到RAM中执行内核

爨3.2

Boot

Loader的主要径务

Loader

由于Boot

Loader的实现依赖于CPU驹体系结构,所戬大多数Boot

都分为stagel和stage2两大部分。依赖于CPU体系结构的代碣,例如设备初

始化代码憋,通常都敞在stageI中,而且一般都用汇编语裔来实现,以达到短

小精湛的秘的;stage2剿通常用C疆言来实瑗,从丽可以实现更复杂的功能,

褥显代码会其有更鳋豹《读往窥可移植性}2粥{281。

Boot

Loader的stagel通常包括以下步骤:

(1)硬件设备的韧始化。

(2)为热载Boot

Loader鑫冬除段2准冬冀AM空耀。

(3)复制Boot

Loader的阶段2到RAM空间中。

(4)设置好堆栈。

(5)跳转到阶段2的C入口点。

Boot

Loader豹stage2遥零售旗瑷下多骤:

(1)初始化本阶段要使用到的硬件设备。

(2)梭测系统内襻映射(Memory

(4)为肉核设嚣囊动参数。

(5)调用内核。

Map)。

(3)搀内核映像秘掇文馋系统姨像扶Flash上读入到RAM空阀巾。

3。3。2逶邀J稻。G终V|Vl嶷入嚣笈叛

VIVI怒由MIzI公司为ARM缱理器系列设计的一个BootLoader,本文目

标板采用的是广州斯道公司生产的撼于SamSung¥3C2410的普及板,因此也采

用了VIVI

Boot

Loader,但增加了一些薪的功能。

(1)臻热了疆络翡支持,胃酸傻焉TFTP,NFS等溺终功麓;

(2)增加了CS8900a和DM9000两种网卡的支持:

(3)增加了斯道VGA/TV显示的初始化黼数;

(4)壤趣了弓l导WindowsCE以及葵毯搽佟系统的孳|警添数;

(5)增加了Logo部分,弼户可以方便的添加自己的logo。

vIVIBoot

Loader原有功能如下:

(1)分区管理:

(2)参数管瑾;

(3)通过串口下裁程序到FLASH或者RAM中;

(4)扁动linux撵作系统;

(5)bon文件系统褥的管理。

通鬻绩况下,BootLoader遴j建串西与宿主机迸豸亍交昝传输,但是帛日传

输的速度烧有限的,因此通过以太网连接并借助于TFTP协议来下载文件是个

鼹好的选择。TFTP全称Trivial

FileTransfer

Protocol(简单文件传输协议或零

碎文侮传竣镑议),弼黻善成一令筵健了豹FTP,主要区朔蹙没骞爱户极陵管

理功能,瞧就是说,TFTP不需要认证客户端酌权限,所以在启动一个究整韵

操作系统之前,就可以通过TFTp下载启动映像文件。TFTP在安装时~定要设

立一个单独的目录作必TFTP服务的掇星录,TFTP服务只缝访阚这个翳录。

使胡颓遂¥3C2410拜发板进行BootLoadert豹烧写,需甍安装并口驱动、设

置宿主机(服务器)和目标板的Ip,设置串口信息等等。猩进行并口鞭动程序

的安装时,需要安装一个叫GiveIO并口驱动程J挚,它可以用软件直接控制并口

豹菜些管嬲。爨麴可以竣霆开发投lp兔192.168.0.1,trip

serverIP爻192,168。0,ll

(也就是PC机的IP)。

我们使用的是NANDFLASH的启动方式,当FLASH里面是空的时候(出厂

状态),我们必须使用JTAG板将BootLoader烧入开发扳。这里我们介绍在

Windows乎蠹下怎样傻强JTAG教烧写FLASH。

第~疹:正确避接JTAG板、开发板和PC,如图3.3所示:其中JTAG工

具用于完成板卡硬件检测、下载、运行、烧写FLASH、内核调试、单步调试等

最底层熬溪溅功毙。

翻3.3

JTAG擞、开发扳和PC的正确连接

第二步:在Windows系统下烧写FLASH

1)安装并口驱动GIVEIO.SYS,该程序存在随扳光盘J下AG/win/GIVEIO

●遴入JTAG/win/GlVElO鼗录:

·并将GIVEIO.sys系统文件拷贝到windows安装目录下的

/windows/system32/driver/内;

·遗入windows攘翎瑟板,逡择添燕硬捧;

·选择端日设备,手动选择驱动;

·选择giveio.ini,完成驱动安装。

2)运杼sjf2410.exe(JTAG/win/sjf2410/debug),选择nand并且烧蒙薷0地

址。

其中sjf2410.exe怒在windows下饶写FLASH的工具,光擞里的sjf2410针对的

是型号为K9S1208、28F128J3A的FLASH等。系统先检测到¥3C24lo处理器,然

后提供SJF蛇主菜单,我们选择第O块K9S1208作为我们的测试区域,这说明我

韬是将BootLoader浇譬迸FLASH@,绣骧搂下采滋褒豹裁是蠲JTAG烧写NAND

FLASH的菜单,我们嗣样选择K9S1208。接着就出现了要烧写的目标地址的选

择0~4095,我们选择从0地址开贻。等待烧蒙究成大约5分钟。整个烧录操作

过程如躅3。4。

鬣3.4

VtVIBoot

Loader筑录FLASH的过程

第三步:检查烧泶是否正确。

将PC机的COMl口和开发扳的串口通过RS232以太网线连接起来,接着

括嚣windows豹超缀终臻(开始一>辩舞一>遴讽一>超级终臻),其审COMl

口设置如图3.5所示。

巨3。5生桃越级终璃攀口设置

然籍。断开JTAG板秘歹;=发税的连接并按。F开发板上鹣Rest按键,觏聚得到

如图3.6输出,说明我们的BootLoader力l载成功,并可以实现开发板的囱启动

了。

图3.6

VIVl

LOGO在擞机端的显示豳

3.4基予¥3C2410帮缎板戆WindowsCE.NET痣核熬谬箍

3.4.1

Windows

CE.NET内核的定制

VIVIBoot

Loader的成功加载为我们进彳亍WindowsCE.NET内核盼移植创

造了冬箨。在我餐嵌入式数控系统懿歼发串,蓠先要囊或操佟系统痨棱的移疆,

方箍进芎亍溺户应蠲程垮开发。毽怒鬻完成操俸系统静蠹核移植,首先瑟在宿主

机上完成Windows

CE.NET的内核定制。

Mierosoft

PlatfornlBuilderfor

Windows

CE(一般筠称为PlatfoITn

Builder

或PB)蹩懑于创建鏊予Windows

CE静嵌入箴操俸系统设计的一个粲成开发

环境(IDE),它集成了进行设计、产生、构建、测试和调试Windows

CE操作

系统设计所需要的所有开发工具。下丽我们将介绍利用PB进行Windows

操撵系统镜像瓣定铡l熏毽:

第一疹:将斯道公司提供的Windows

BSP替代原来的Windows

CE

CE

CE

4.2下基于¥3C2410硬佟平台的

4.2下基于SAMSUNGARM硬件平台的BSP。

(1)将\wINCE420\PLATFORM目录下鬈为“SMDK24lO”的鼠录救名备

傍,势置凝建一令名为“SMDK2410”酶嚣录;

(2)将斯道提供豹光盘中的2410WINCE、2410wINcE4.2BSP目录中的内容

拷贝到步骤l建立的SMDK2410目录,并去掉该目录中所有文件的只读属性;

(3)将“SMDK24l

O、for

Publie、oak、d蛀vers\NETCARD”嚣录下的C¥8900R

韬录拷燹剃\wINeE420\PUBUC\e0MMON、0A鼯DR{vERS\NETeAR翻蒙下。

(4)征“WINCE420\PUBLIC\COMMON\0AK\DRIVERS、NETCARD”目录

下的dirs文件中添Ncs8900r。

(5)拷受“SMDK241戳forp麟blic、cES¥SGEN”嚣象下豹Makefile文磐委

“WINCE420\PUBLIC\CESYSGEN”目录下。

(6)打开PB,选择“File”菜单下的“Manage

豹smdk2410

BSP。

Catalog

Features…”浆单项在

Catalog列表中,选中smdk2410.cec,点击Remove按镪,删除PB4。2自带

(7)点击Import按钮,导入PLATFORM、SMDK2410\smdk2410.cec文件,

在Catalog的BSPs下,将会自动添加Samsung

SMDK2410:ARMV4项,此时斯

道公司提供的BSP戴安装宠成了。

第=疹;使用安装好豹BSP猩PB

4.2中创建一个新的Platform并且编译连接

生成“NK.BIN”和“NK.nb0”Image文件。前漪是压缩的操作系统映像,而后

者是没有胍缩靛映像。编译结果如嬲3。7聪示。

图3.7利州新BSP在PB

4.2中创建新的Platform并肛编译侨的结果

3.4.2秘蹋麓遒Boot

Loader烧录WindowsCE.NET肉援陕像

第一步在windows下安装tftp

server,然后启动tftpserver,将根目录

定义在e盘稚舀录。将上述生成的“NK.nbO”Image拷贝到C盘搬目录下。

第二步设置超级终端,启动颠遂BootLoader。这一步积蘸文一样,霹以

参照图3.9和图3.10。

篱三多按空格遴入shell设置倍患,设置宿主梳耧目标梳的lP趣琏。宿

生机IP地址设为192.168.0.1,目标机IP地址设为192.168.0.1l,并且测

试网络是否接通,过程如图3.8所示。

gzsd>

gzsd>netset

ipaddr

192.1秘,#。ll

gzsd>net

set

serverip

192.168.0.1

gzsd>netshow

Current

Network

Configuration

Ethernet

Address:携:03:Fi:鹞:驻:疰

IPflddress:192.168.011

Netflask:255.255.255.0

6atewav:192.168.0.19

Seruer

IP:192+168.g.i#

gzsd>netping

192.168.0.1

RRPbroadcast1

getreply

from192.168.8.1

get

reDlyfro.32.32.32。32

gzsd>一

强3.8宿主税秘蟊标橇匏lP泡址设蓬

第哩步下载NK。nbO到0x30200000处,大约3分锋。操作如熙3。9历示。

圈3.9烧写WindowsCE虎核到RAM的操作过程

第五步设置输出设备类型,并且初始化。Distype类型1为输出到显乐器。

攥佟翅强3。10爨示。

蹦3.10设饕使用VGA簸出的操{#避程

第六步运行下载的NK.nbO。操作如图3.儿所示。然后猩显示器上可以看

翔WindowsCE豹输毒了。

gzsd)

go

to

lt拍断13

2803

al

22:鞋:捞

sp.undef=ffffc800

0EHnddressTable;8c281288

图3.1l运行下载的NK.nb0

将编译好的Windows

CE的NK.bin下载到目标板的FLASH中,按下

野发板上蛇Rest键,秀发叛就缝痘动WindowsCE了,翔3.12是Windows

扁动后的界面。

CE

图3.12Windows

CE擞作系统运行界面图

至此,WindowsCE的内核移植到数控开发板巾的任务就算完成了,为进

一步进行数控纛爆程序熬嚣发奠定了基懿。

3I

第四章机床控制器的蓝牙驱动开发

前文我们已构建好了基于ARM—WinCE的软硬件平台,按下来要做的是选

择合适的梳臻控制器和移动控制器之闯的无线通信方式。

WS.mCNC的无线通信技术豹选择

隧凑季喜皴熬Et蔹舅舅,短鼹离无线通信镶域中涎生了众多靛标臻与滋议,在

这些标准与协议中,最为引人注目的魑Bluetooth、IrDA、HomeRF、HiperLAN2、

UWB鞠IEEES02.1l等。我粕分褥魄较了死耱主要静标准及荬疲嗣特j轰|291,冤

袭4.1。

技术

撂撼

工作

IEEE802.

1lb

4.I

HiperLA

N2

5GHZ

蘸牙

HomeRFIrDA

UWB

(1。e§秀黪

2.402GHz

2.4GHz

2.4GHz

红外线

3.1GHz~

{O。6GHz

频段

2.48GHz

传输

11Mbps

10~100m

54Mb/s

1Mbps

1~2Mbps

16Mbps

蒜480Mbps

速率

通信

距离

应用WLAN

3~150m

10m左右50m内定向1m

耋10m

WLAN家庭和办

公莰备短

无线浆庭

网终要联

近距离

2台设

近距离多媒

蓬爨

距离互联

笔记本

电脑、

PC、掌

上电脑

备之间

互联

电脑、

打印机

PDA、

终端

类型

笔记本魄

笔记本电

脑、无绳

PC、无绳

电话、宽

无线数字电

视、DVD等

娱乐设备、

Internet高速

脑、PC、

掌上电脑

电话、手

机、小型

无线数字

设备

较低

Nokia、

带电缆或

DSL调制

手机、

笔记零

电脑

较低

摩托罗

鳃调器

较瓴

Proxim、

接入嬲关

较{羲

TI、Intel、

俭爨

主要支

持公镶

较裹

Cisco、

较毫

ACX公

Amphio

Lucent等

MOtOrola

、Ericsson

西门予、

摩托罗

拉、康柏

拉、三

星等

Motorola等

n公司

袋4.1

无线遴信标缓技寒院较

32

作为技术前沿,这燃技术之间稃在着相互竞争,但在某贱实际应用领域内它

们又相互补充。那么在这么多标准与技术之中,哪一种技术性能最逡合我们

WS.mCNC躯要求程?扶嚣施够程祝床控翻嚣鞠移动控裁嚣之闽桨起入枫资弱

的桥梁。缀过以上的比较可以看出,虽然IrDA、HomeRF、HiperLAN2、UWB

均可以实现无线通信及组网功能,但是由于其技术及性能方面的局限蚀并不能

潍是我们WS.mCNC系统懿要求,因忿我识重点磁较蓝牙秘IEEE802。l

l。

蓝牙与IEEE802.1lx毕竟属予不同的无线通信标准,掰以其特性与应用也

存在着许多差异。在考虑具体选择哪种技术时,还需要做谶一步的比较,具体

如下130l:

l,王传频段上:IEEE802.1lx窝夔雾嫠Z作在2。4GHz频段主。

2.技术上:IEEE802.11X支持1~11Mb/s的数据速率,但是它只嶷持数据

通信,要进行无线数据通信,数据设备先要安装有无线网卡。蓝牙技术具有一

整套全薪的协议,可以应用于更多螅场合:不仪支持数据透傣,两时遥支持语

音通信。并且蓝牙技求是Ad

Hoc阚中豹一个主流技术。

3.成用上:IEEE802.11X的传输距离长、德度快,可以满足用户远行大量

占用带宽的网络操作,就像在有线局域网上~样。而蓝牙技术面向的却是移动

设蠢阉懿套蘧盈连接,毽焉本葳上说,宅是一季孛钱骜邀缓黪技本。

4.稳定性:IEEE802.11x容翁受到外来信号的干扰:弼蓝牙跳频鼹快,数

据包更短,因此蓝牙比IEEE802.11x更稳定。

5.系统安全:蓝牙在其基带部分从物理鼷为用户提供保护和信息保密极

铡,瑟IEEE802+llx帮没有,嚣魏鞠对更麓安全。

6.成本及功耗:tEEE802.1lx实现成本高,蓝牙芯片却不到5美觉。而且,

IEEES02.1lX的硬件实现需要较大的容纳空削,不能像蓝牙模块一样械入电子

设备当中。另终,IEEES02.1lX戆平均功耗为lW左右,大大裹于蓝牙麴功耗。

车闽条件普遍比较复杂,所以簧求我们选用的无线通信技术应其旃可靠往

高、数据分组透明、传输时间短、功耗低、耐温强度大等特点,而蓝牙技术较

好地符合了这些要求:具有成本低、体积小、安全性高等优势,更重要的是蓝

雾魄IEEE802。llX更瑟夺移魂瞧,筵逶合车瓣豹移动控剿。因我,蘸雾技零鸯

我们人机协同工作模_式提供了一种邂加轻便和灵活的解决方案13”。

4。2辊廉控制器耪移动控制器之阏簸牙逶信的实现

当今豹许多工照设备酃蹩使躅传统线缆接麓(RS232、RS485或USB),如图

4.1。这对使用蓝牙无线连接创造了条件,使得菔牙适配器很快应运而墩,如瑞

典的ConneetBlue公司,它发布了世界上第一个工业蓝牙产品一串行接口适配

器Adapter,这秘接嗣霹竣搜饪簿繁骞RS.232搴行接臼静王蝗设备之润透过夔

牙这种无线方式进行通信,也能实现工业设备与其弛蓝牙设备(如智能手视、

PDA、笔记本电脑等)之间的无线连接[321。圈4.2灌示工业现场设备采用蘸牙

适瞰器进行连接以替换传统的串行线缆连接的工作模式。

圈4。1传统蠢线经剁摸式

图4

2菔牙无线控制模式¨吖

使用蓝牙适配器最大的优点是无需改动现有设备的硬件,只要插入已有的

设锯就可以痿爆,拔出来敷可以便之按原舂黪方式运作。使用对无需对已蠢的

设备进行任何变动,实现舆币的即插即用。这样减少了安装成本,简化维修过

程,劳撼裹使用移动枫器鑫冬灵活蠖,璧它兔谗使舅跫存在装配嚣翻缡程工舆,

这姥使其应用于工业领域,取代传统的有线电缆更加成为可能。以下是蓝牙适

配器蚕稠。

潮4.3蓝芽USB逶酝器

隧4.4蓝蒡串墨适配器

由于我们数控系统的机床控制器的开发使用了斯道¥3C2410开发板,它本

身没有集成蓝牙功戆。要突褒梳床控镪嚣霹移动控麓器之阕豹薤牙瀵信,在祝

床控制器上插入蓝牙适配器,不失为~种较好的解决之道。那么在机床撩制器

上拜发箍矛瓤动就成为我们要解决静蠲题。

4.3

Windows

CE下蓝茅串口驱动程净的实现

驱幼程序将操作系统和设器连接起来,为使操作系统能够识别设各势应用

程序提供设备服务。我们数控操作系统采用了Windows

CE.NET,它提供了四

耪设备模型,其中辑转怒专用予Windows

CE的模型,爨终鼷秘终郏模型来自

其它操作系统。基于Windows

CE的两种模型是本机的设备驱动模型和流接口

鞑动模型。秘秘铃部模熬赐予通用率零亍总线(USB)_葶爨嚣终驱韵嚣接掰糕准

(NDIS)的驱动模型。

崮予蓝学镑议楚在纛线技术下静仿真率西,蔻牙孛OBEX戆诲多应蠲正是

綦于蓝牙仿真串口【33】。而流接翻驱动程序通过一组流接口函数使得应用程序可

瑷逶过文侔系统率的特豫文俘与设备接口,因魏蘸牙仿冀串翻的功能性黧适合

流接口驱动程序的结构[341。

虽然蓝牙设备驱动程序的实现采用流接口驱动程净设计,但由于两种驱动

稷序的基本终构与原理檩似,所以下文从本帆设冬驱动程序续梅开始,可以更

清楚地认识蕊牙设备驱动程序的实现原理。

Windows

CE本机设备驱劝程序结构[351

4.3.1

Windows

CE豹本承设备驱凌程澎分羹疆耱类鍪:蕈片驱动程痔(Monolithie

device

driver)和分层的驱动程序(Layered

Device

driver)。单片驱动程序基于

肇个码片,该码片藏接稳硬件设备的功能毪通过设备驱渤程序接日传递绘操作

系统。与单片驱动程序相比,分层驱动程序由两个设置好的屡组成:上殿是模

型设备层(MDD,Model

Platform

Development

Device

Driver),下层是依赖平台的驱动程序(PDD,

Driver)。大多数的设备驱动程序楚分屡的两不是单片的。

本文采用分鼷的驱动程序来连接蓝牙硬件和上面的文件传输成用。阑4.5说明

了嚣静驱动穆序是如露农WindowsCE操俘系统中集成瓣。

设备驱动程序接口(DDI)是在MDD中实现的函数集,GwES模块通过

这个接强调璃设备驱动程序;设备驱动程淳服务器箍供接舀(DDSI)是奁PDD

中实现的函数集并由MDD调用。由于微软提供了所有与MDD模块相关的源

代码,新瑷对这部分不用徽任何改动,只需将自蠢豹PDD模块与MDD橇块链

结成一个公用库。

理解了本机设备驱动程序的结构后,从图4.5右边不难肴出,流接翻驱动

摆序只是把溅接口作为它们的DDI馒用。谯这秘愤况下,不必要把这些驱动程

序与GWES模块逻接起来。它们以普通的DLL方式存在并根据需簧被调用。

幽4.5Windows

CE的本机设备驱动程序结构

4.3.2菔牙仿真串日驱动程序实现

蓝牙仿真串口是利用蓝牙RFCOMM协议实现无电缆的茏线串目通传,与

本机设备驱动程序一样,实现流接口的串口驱动程序同样只需实现蕊牙的PDD

模块。

PDD模块包括四部分:第一部分是必须自己实现的所有DDSI接口:第二

部分是簸牙揍议栈镪括RFCOMM、SDP、L2CAP戮及HCI实俸;繁三帮分是

HCI传输层通过UART或者USB接口连接到蓝牙硬件;最后一部分是为蓝牙应

照提供豹图形界瑟接日帮控镪灞舀搂涣,焉寒对整个诲议栈嵇始记、蓝碧硬释

初始化、搜索附近的蓝牙没备以及发现指定设备上的服务。如图4.6所示。

在豳4.6所示的蓝牙仿真窜口驱动程序酾系统结构中,设备管理程净是用

户层的程序,在基-y-Windows

CE的平台上不停地运行麓。设冬管理程膨不是

内核的一部分,但它是与内核、注册袭和流接口驱动程序DLL有相飘影响的单

独部分。它圭要执行以下任务:

·在系统启动时或收到用户在基于Windows

CE的平台上增加了外围设备

的售爨对,初始豫驱凌程彦懿艇载;

·向内核注册特定文件名,该文件名{巴应用稷序使用的流I/O函数映射到

滚接瓣驱动程序豹那些缀数静实现:

●通过从外围设备获得即插即用标识符或激活一个检查予程序来发现可

戳处理该设备静驱动程净,为矫国设备我到合邋的设备驱动程序;

●通过读写注册值加载和跟踪驱动程序;

·当不褥需要设备时,卸载驱动程序。

流接口驱动程序是用户一缴的动悉链接库,周来实现一组固定的流接口函

数,这簇流接蜀函数佼褥应用耩序可黻通遵文件系统中的特殊文俘两与谶备进

行接口,因此对上颓的OBEX成用程序来说,使用非常方便。

图4.6

Windows

CE下篮牙串口驱动程序结构

从阁4.6可以看出,蓝牙流接口驱动程序中一个MDD模块对应精两个PDD

模块,释实王蔸了瑟个镑囊枣墨设备:一令凳控裁灞嚣,翔柬完成蓝雾渗议察硬

件的初始化,给OBEX应用程序提供~个发现设备和服务的接口,这个串口只

供其俸瘦用内部往弼:勇一个叠“逶寞歪的为萁它蓝牙应蠲往用的蓝牙仿真率日,

它通过实现一组系统提供的标准串口DDSI接口函数,实现蓝牙RFCOMM协

议的串翻仿真。

加载驱动程序魁由设备管理程序避过查找注jl!}表

HKEY—LoCAL—MACHINE\

Driver\鼹录,注艇的串日驱动程序豹籀关信息竟或,困鼗必绥至少泼薅嚣令蓝

牙串口设备。WindowsCE中,一个串L7被初始化前MDD层会先调GetSeriaObject

()丞数{:霉裂宰蜀驱动程痔孛安瑗懿枣强设备数鑫。因戴在蓝牙审鞠驱动程彦

的初始化时,由如下代码实现:

HWOBJ

BluetoothObj={

/4箍述箍牙仿真串西特征+,

(PDEVICE—LIST)&SerDL,

THREAD—IN—PDD,

/+中断楚理全部由PDD层熊理+/

0,

NU毛L,

(PHWVTBL)&BluetoothVTbl/木包含需螫实现的所有标准串口DDSI

函数的列表车,

};

HWOBJ

BluetoothcTRLobj={

(PDEVICE—LIST)&SerDL,

’FHREAD—IN—PDD,

0,

p描述蓝牙控制端口特征牢/

NULL,

(PHW~VTBL)&CTRLVTbl

’;

PHWOBJ

rgpHWObjects[]=f≯包含两个PDD实铡翡数缝鬻,

&BluetoothObj,

&BluetoothCTRLObj

’;

DEVICE~LIST

SerDL={

产存储设备驱动程序中所有串韶设备+/

,宰宰IZl驱动程黟黪名掌+,

“CESerial。dll”,

sizeof(rgpHWObjects)/sizeof(PHWOBJ),/掌串口设备的数目’/

regHWObjects

};

PDEVICE—LIST

GetSerialObject(VOID)

return(&SerDL):

在串口驱动程序中注册了两个串口设备质,就鼹实现这聪个PDD实例对应

豹流接嗣函数。微软为要实现的串口PDD模块提供了一个HWOBJ(Haredware

Object)类型的串行对象袭,这令结构烈出了实现串日驱动的所有接口函数指

针。见下面的描述:

typedef

PVOID

struet~珏W—VTBL{

f+HWInit)(ULONG

Identifier,PVOID

pMDDContext,PHWOBJ,

pHWObj);

BOOL(+HWIoctl)(PVOIDpHead,DWORD

PBYTE

dwCode,

pBufln,DWORD

dwLenIn,PBYTE

pBufOut,DWORD

3S

dwLenOut,PDWORD

pdwActualOut):

}HW—VTBL,+PHW

VTBL:

用户通过修改率行鞠PDD的窜彳亍对象表改变涵数集或璐数名。下耩的结构

BluetoothVTbl定义了麓牙仿真串口DDSI函数的名称。

const

HW—VTBLBluetoothVTbl需{

8luetoo壕l拄i£Se妊al,

BluetoothlOctl

};

同样算j结构变量cTRLvTbl定义了控制端口的DDSI函数名列表。由于这

个串口设备用作内部实现特殊的功能,下面只列如了需要关一0的主要函数名。

const辩W

VTB己C零R毛VT班=f

CTRLInitSe“a1.

CTRLDeinit.

CTRLOpen,

CTRLCIose,

…’

…,

CTRLloetl

,;

机床控制器的蓝牙驱动的解决,也意味着WS.mCNC的机床控制器和移动

控制器之I_目J的通信问题得到了解决,接下来要做的就是利用菔牙实现车间内的

数蕹交换凌缝。移动捡到器黧透过蘸矛,实瑗_砖凝庆整裁爨豹操终、傣惫蠢询、

加工程序下载和手工编程,对机床控制器的诊断与维护,对车间的数据采集与

反馈、决策处理等一系列工作。

第五章

嵌入式数控系统的实时控制的实现

我们要实现基予ARM.winCE嵌入式数控系统的实时控制,就要先了鳃

WindowsCE的体系结构和特点。

5。1

Windows

CE。NET的体系缝魄

WindowsCE被设计成了一种分层结构,如图5.1,从底层向上分别为硬件

餐、OEIk4层、操作系统层和应焉层,每一层分剐由不丽韵模块绠成,每个模块

又由不同的组件构成。这种层次的结构试图尽量将硬件和软件、操作系统子应

用程序隔离开,以便于实现系统的移植,便于迸行硬件、驱动程序、操作系统

秽应用稷序的开发的人员分工合作、并行开发[36l【3"。

Windows

CE的体系结构图

窑牟嚣蕊舞痒

Windows

盛羯层

翻际化

探佧系现朦

Internet客户服务税序

cE艇用稷孵

㈧ll

多媒钵

技术

核心DLL

客户和应用程序开发

对象存储

图形寤墨秘

事件子系统

设备

管理器

逶信掇务

和网络

援心

I启动引导程序l|

OA.;

配置文件

l罂瞩|

硬件层

驱动程序

强5.tWindowsCE静体系结构

l。凝{牛层

硬件层是指由CPU、存储器、I/O端口、扩展板卡筹组成的嵌入式硬件系

统,是磷indowsCE攥终系统必不霹少的载钵。

2.0EM层

OEM层麓嵌入式硬律与WindowsCE撩作系统得接合瑶,羯来撼象硬佟功

能实现操作系统的可移植性。OEM层I妇OAL(OEM

(1)0AL

Adaptation

Layer,OEM适

配层)、稿动弓|导程净(BootLoader)、配餮5C粹、设备驱动程序等模块组成。

OAL是Windows

CE内棱与目标硬件之问的一个代码层,主要用来处理

Windows

CE内核与啜标硬{牛设锯之间魄通信,其主要功熊主要包挺CPU裙始

化、处理中断、计时器等。

40

(2)启动弓l导程序

启动引导程序用于将WindowsCE操作系统内核加载到目标硬件系统的内

存并开姣定动撩{乍系绞茨技行。

(3)配黼文件

配鬟文转嗣予瓣WindowsCE搡铸系统瓣毯建过程逡行醚嚣,葵主要镪摇

源代码配置文件和映像配赞文件。

(4)设锯驱动程序

设备驱动程序怒对物理或虚拟设备功能的软件抽象,是操作系统与外部设

备或虚拟设备的桥梁,应用程序只有通过驱动程序接口才能实现对物理或虚拟

设备的操作。WindowsCE下的驱动被设计成为用户模式的应用程序,没有必

要必须运行在内核模式。

3。操作系统层

操作系统层是WindowsCE操作系统的核心层,它既要为下层OEM层提供

接口彝鼹务,也要为上层瓣应窝翟痔旋铗鼹务与盛嗣程序编疆缓强。主要有蔽

下模块构成:

({)孩。蛰DLL(Core

DLL)

Core

DLL是Windows

CE操作系统最为蘑要的组成部分之一。宗是处在操

{譬系统鼷和应弱层之间豹一个模块,籍的是为了隔离操作系统层的箕佳模块与

应用层之间的联系,这样使系统的应用层通过CoreDLL来与操作系统的核心

模块进行通信,就使操作系统获得了~个保护层。在系统中,CoreDLL层主要

攫任对处部调用系统功能进行代理的经务,它实现了系统API豹管理秘按名谖

用。

(2)按,§

核心是Windows

CE操作系统的的最小定制内核,究成操作系统的主要功

糍,羯楚理嚣调度,蠹存管理、异常懿理、系统肉静通信撬镧戳及为其穗帮分

提供调用例程,还为系统范围内的调试提供支持。在系统运行时体现为NK.exe,

NK.exe始终遴行在较高静优先缀和憝埋器特权级溺上。豫中断例程外,一般不

允许系统内其它线稷抢占它的远行。

(3)对象存储模块

对象存储是指WindowsCE的存鼹内狂空蝴。它怒捶三种类型鲍数握:

Windows

CE的文件系统,包括数据文件和程序;系统注册表;WindowsCE数

攒瘁。茭孛,WindowsCE文馋系统又包惩三秘类型:基本RAM麴文终系统;

基本ROM文件系统和FAT文件系统。

(4)多媒体技术模块

多媒体技术模块将桌面计算机上的高性能多媒体技术引入到了嵌入式设备

镶域。Window's

CE支持扶声音列图像及蜀视频酌全方佼的多媒体支持,为多

4l

媒体硬件提供了相应驱幼程序接口,为多媒体威用程序提供丫丰富的API,还

为多种媒体文传和媒钵滚提供了事塞懿解码和缡弱。

(5)鬻形窗口稻事伟系统模块(GWES)

Windows

CE操作系统将桌面操作系统的WIN32

API的用户界面和图形设

备接口合并成了一个模块,即图形窗口和事件系统模块,又称为GWES予系统。

它在运行辩表现隽GWES.exe。宅烹要实璎基零瓣绘嚣弓l擎、塞13罄嚣、赛瑟

的事件机制等。

(6)设备管理器模块

设备篱理器模块怒Windows

CE.NET操体系统对设备进行管理匏核心模

块,运行辩袁瑰舞Device,exe豹一个进程。设备管理器模块提供基本匏设备管

理、即插即用管理、I/O资源管理以及设备驱动程序工作的基本机制。它由内

核加载并避续运行,一恩运行就永不卸载。

(7)邋蕊驻务帮瓣终模块

通信撒务和丽络模块的主要功熊是完成Windows

CE.NET操作系统与外界

网络的通信功能,并为操作系统提供网络服务。

(8)艘用和服务开发模块

应爱秘羧务开发模块是梵瘦鬻程序嚣发鬟供编程接翻窥骚务支{孝豹瘁模

块,这些麾模块一般都是一些DLL。在应用开发和服务开发时,系统就是利用

这一模块完成开发者的系统调用。

4.应用层

应雳屡主要毽耩Windows

CE藏焉程彦、客户服务程净、Internet客户服务

和用户接口部分等。

5。2

Windows

CE瓣遴程帮线茬撰述【3秘

进程、线程是一个内核最基本的服务,也怒一个内核最主要的组成部分。

掌握了进稷、线程和内存管理方面的知识,就能够充分利用操作系统内核提供

的服务,挝离编写的软{牛的执行效零、更节省资源。

5.2.1

WindowsCE的进程

Windows

CE是一个抢占多任务操作系统,抢占多任务又被称为调度。在

调度过程孛,内孩斡调瘦系统包含~令姿翦嫒窍遴程中线稷瓣优先级列袭,著

对所有的线程按优先级排列顺序。当中断发生辩,调度系统霾新安排所有线程

的排歹U月顷序。

一个进程是一个正运行的应用程序的实例。它由两个部分组成:…个是操

终系统鼹爱管理这令遴穗懿蠹核蹿象,是一个楚这个遴程攘窍匏连整象翔。这

个地址空闯包含应用穰序的代码段、静态数据段、堆、栈、本地执行DLL。从

执行角度方面看,一个进程由一个溅多个线程鳃成。一个线程是一个执行单元,

宅控铡CPU撬行进程巾菜一段我磁段。一个线程霹敷访闽这个进程孛骚毒的遮

址空间和资源。一个避程最少包括一个线程粟执行代码,遮个线程又明做主线

程。

Windows

CE可以同时运行的进程数多达32个。WindowsCE启动时,系统

裁会翻建鬻令遂程:

NK。exe(爨镞系统骚务)、Filesys.exe(提镤文黪系统鞭

务)、GWES伸黾供GUl支持)和Device.exe(加藏和维护设备驱动)。所以,用

户可创建的实际进程数约为24个发右。进程在需要的时候可随时创建附加的线

程,如果进程不够用,可以考虑使豫多线程代蛰多进程。戳加线程的数量只受

羁RAM大,l、静限翩,WindowsCE.NET内核可寻垃512M酌耪联内存。

Windows

CE在初始化时就创建~个单一的4GB的虚拟地址空间。这个虚拟地

址空间为所有进程所共享。地址空间的一部分被分为33个檄(Slot),镪个Slot

32MB。程一令逶程开始瓣,WindowsCE羲努鬻绘宅一个窆翊鲍Slot,Slot

0是

为当前运行的迸程骈僳留的。除了为每个进程创建一个Slot以外,Windows

CE.NET邂为主线程创建一个栈(STACK),为j{£程创建~个堆(HEAP)。一个

进程所能餐理的线程的最大数量取决于可以获褥的内存的多少。还可以利用内

存浚錾文(memory.mappedfiles)或调蔫VirtualAItoe丞数褒避程豹虚羧蟪蛙空润

中保留或指定一区域,来为进程在32MB的Slot之外分配额外的内存。

5.2。2

Windows

CE懿线程

一个线程就是一个可执行静纂元,当操佟系统剖建一个进程时,嗣时也会

至少创建一个线程,使用线程是为了尽可能有效利用CPU时间。一个进程可能

包含多个线程,每一个线程都共搴包括进程地址空闻在内的所有资源。每个线

程帮套蠡基豹筏包含CPU毒存器豹状态。当~个线程霰接麓嚣,寄存嚣受戆篷

被推进栈,活动栈被切换到下一个将要运行的线程。~个线程的主进稷的栈大

小是由编译时链接器设鼹的,默认大小为64KB,其他线稷的栈大小默认与主

线程相同,癯这个默认的栈大小在线程创建时谭以被重颓设嚣。

一个邋稷蠢的辑裔线程共享这个迸程的逸皴空溺,宙一个线程分酝的内存

对于进程内所有线程都是可以访问的,这些线稷具有相同的访问权限。但对于

不同进程的线程之间的访问,其权限受到限制,需要通过进程间的通信来进行

楚理瓠谖。一个进程内靛每个线稷郯楚独立攥穆懿,除≤}缓它稻互稳霹冕,否

则,它们各自执行并强相意识不劐其他线程的存在。

线程有五种状态,分别为:运行(Running)、挂越(Suspended)、休眠

(Sleeping)、阻塞(Blocked)、终止Terminated)。当所有线程都处于阻塞状态时,

痰核链子窆溺模式(Idle

mode),这露对CPU豹毫力供斑将减夸。

5.2.2.1

WindowsCE的线程创建

可以通过调用CreateThread函数创建一个线程,CreateThread函数的声明

麴-F;

HANDLE

CreateThread(LPSECURITY

ATTRIBUTES

IpThreadAttributes,

DWORD

dwStackSize.

IpStartAddress。

LPT}|READ

S下ARTROUTINE

己pVolD

lpParameter,

DWORD

dwCreationFlags,

lpThreadld):

LPDWORD

务参数豹说瓣瓣表5。1掰零

参数

IpThreadAttributes

参数为NULL

定义堆我熬大枣,费浆兔ZERO,稻使鼹进程默认篷。鲡

dwStackSize

STACKSIZE

果dwCreationFlags参数使用了

PARAM

ISA

RESERVATION标志,则定义

线稷特定的堆栈大小

lpS镪r重Addfess

IpParameter

dwCreationFlags

定义线程懿嫠始恁缝

定义传递给线程入口点函数的参数

线程产生控制标志。CREATESUsPENDED:产生一个

挂莛静线稷;S{AeK

SIZE

PAPAM

IS

RESE狲印疆ION:

鲁定义线程的拽大小

IpThreadld

返回线程的ID

表5.1CreateThread的参数说明

强莱线程截建成功,CreateThread蕊数返霾繇翻建线程静萄禚,否翻返飘

NULL。当成功创建一个线程后,也W以通过程一个线程内调用函数

GetCurrentThreadId返回线程的ID,使用GetCurrentThread返回线程的旬柄。

当创建一个挂蓦的线程对,可娃通过调用瀚数ResumeThread搜它恢复运行,

当需要并次挂超时,调餍SuspendThread瓣数。调用ExitThread两数会结束一

个进稷的运行,假当对一个应用程序的主线程调用了ExitThread时,会引起熬

个应用程序终止遮彳亍。

5.2.2.2

WindowsCE线程的优先级

Windows

CE不像其他Windows操作系统将进程分为不同的优先级类,

Windows

CE只将线程分为256个优先级。0优先级最裔,255优先级最低。0

到248优先缀属予实晴性饶宠级。0虱247优先缀一般分配给实辩设应用程穿、

驱动程序、系统穰序。248到255优先级一般分配给普通应用程序的线程使用。

249到255优先级中,251优先级(THREAD

PRIORITY

NORMAL)是正常优

先级。255优先级(THREAD—PRIORITYIDLE)为空闲优先级。249优先级

(THREAD

PRIORITY

HIGHEST)是高优先级。

Windows

CE操作系统具有实时性,所以调度系统必须保证高优先级线程

先运行,低优先级线程在高优先级线程终止后或者阻塞时才能得到CPU时间

片。一旦发生中断,内核会暂停低优先级线程的运行,让高优先级线程继续运

行,直到终止或者阻塞。具有相同优先级的线程平均占有CPU时间片,当一个

线程使用完了CPU时间片或在时问片内阻塞、睡眠,那么其他相同优先级的线

程会占有时间片。这里提到的CPU时间片是指内核限制线程占有CPU的时间,

默认为100ms。OEM可以更改这个值,甚至设置为0。

5.3

Windows

CE的中断机制

Windows

CE的中断处理过程分两部分实现:中断服务例行程序

Service

ISR(InterruptRoutine)和中断服务线程IST(Interrupt

Service

Thread)。

Windows

CE处理中断的模式是把每个设备的硬件中断请求fIRQ)和一个终端服

务例程ISR联系起来。当一个中断发生并未被屏蔽时,操作系统内核调用该中

断注册的ISR。ISR的代码要求效率很高,只实现最简单的功能,它的基本职

责是引导内核调度和启动合适的终端线程IST。IST才真正处理用户的中断请

求。Windows

CE还支持中断嵌套,即在一个ISR运行时,内核并不关闭中断,

当优先级比之高的中断发生时,内核保存当前执行的ISR的运行状态,挂起该

ISR,转而执行高优先级中断的ISR。等高优先级中断的ISR执行完毕后,被挂

起的低优先级中断的ISR再从新被CPU调度执行。WindowsCE将线程的优先

级增加到了256级(WindowsNT只有32级),赋予了开发者在系统调度方面

更多的自由度。Windows

CE各线程的定时系统相互独立,各线程的时间片大

小可调,最快可达到1ms(WindowsNT固定为25ms)。应用程序可根据任务的

实时要求来决定线程的优先级和时间片大小。

PWM定时器的调速功能

数控系统中最重要的功能便是运动控制等实时性要求很高的功能,如插补、

伺服控制等。现在的数控系统普遍提出了高速度高精度的加工要求,必须在有

限的时间内,对各坐标轴实时地分配相应的位置控制和速度控制信息【391。因此,

位置控制任务和插补任务都是强实时性的任务。由于基于x86的数控系统的x86

处理器只具有系统定时器,它被用作操作系统的本身的分时调度,因此必须外

插一块的定时器卡来周期性地触发插补和伺服任务。增加定时器卡给系统的结

构带来了复杂性。而三星¥3C2410处理器除了系统定时器外,还有4个PWM

脉宽调制定时器,可以利用它们实现对4个坐标轴的控制1401,简化了硬件结构,

降低了成本。

5.4

PWM(PulseWidth

Modulation)即脉冲宽度调制,就是利用微处理器的数

字输出来对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通

信到功率控制与变换等许多领域。

伺服控制单元主要的任务是,以数控系统接受指令,接收位置/速度反馈信

号,并进行运算处理,完成控制算法。基于ARM—WinCE的数控系统可利用PWM

定时器输出占空比可调的PWM脉冲驱动直流伺服电机调速【41I【421。不同占空比

的PWM信号如图5.2。

n『1

『1占空一

比10%

r]厂]厂]艨

厂]厂]厂]占空

图5.2不同占空比的PWM信号

1=匕70%

步进电机工作原理控制绕组通断电状态的改变,是由外加输入脉冲通过驱

动电路来实现的。每当外电路输入一个脉冲,控制绕组的通断电状态改变一次,

与此同时,步进电机将转动一个步距角。因此,其位移正比转过的步距角数,

等于外加的脉冲数,平均转速严格正比于输入脉冲的频率1431。基于ARM.WinCE

的数控系统可以通过改变PWM定时器输出的脉冲频率来改变步进电机的转

速。

¥3C2410内部有6个16位定时器,其中定时器0-定时器3具有PWM脉

冲输出功能。¥3C2410内部的PWM组件可以选择接通时间和周期。占空比是

接通时间与周期之比;调制频率为周期的倒数。

rTCNTB0用于设置输出频率,预分频值(0-255)由rTCFG0设定,除法

器值为2,4,8,16,32由rTCFGl设定;rTCMPB0用于调整占空比(Rate)。

PWM定时器改变输出脉冲频率的参考程序如下:

rTCFG0=OxFF;/+设置定时器的预分频率值:TIMEO/l=255,TIME2/3=0,

TIME4/5=0‘/

rTCFGl=0xl;/+设置定时器的工作模式:中断模式+/

/+设置定时器的分频率值:TIME0为1/4,其他为l/2+/

p输出脉冲:频率为4000Hz~14000

Hz,使用2/3的占空比+/

for(freq=4000:freq<14000:freq+=1000){

div=(MCLK/256/4)/freq;

,I’CoN=0x0:

rTCNTB0=div:

rTCMPB0=f

2丰div)/3:

rTCON=0xA;/+手工装载定时器的计数器+/

rTCON=Ox9;

/+启动定时器+/

for(index=O:index<100000;index++);

rTCON=OxO;/+延时并停止定时器+/

PWM定时器改变输出脉冲占空比的参考程序如下:

div=(MCLK/256/4)/8000;

/+输出频率8000Hz,使用1/100—95/100的

占空比·/

for(rate;l;rate<50.

rTCNB0=div:

rate扣5){

rTCNPB0=(rate¥diV)/+修改占空比+/

rTCON=0xA:/+手工装载定时器的计数值+/

rTCON=0x9;

/+启动定时器+/

for(index=0;index<100000:index++);

rTCON=0x0;

/+延时并关闭定时器+/

for(index=0:index<10000:index++):

我们可以把以上通过PWM定时器对步进电机和伺服电机调速的功能单独

组成一个调速模块。

5.s基于ARM.WinCE数控系统的实时中断控制

PWM定时器通过触发中断的方式来获得操作系统的服务,以实现以上调

速模块的调用。因此,如何编写适合于数控系统的PWM定时器中断驱动程序,

并正确设计ISR和IST就成了开发基于ARM和Windows

CE的嵌入式数控系

统的一项关键工作[441[451。

Windows

CE提供了2种驱动程序模型:分层结构驱动和单层结构驱动。

出于实时性的考虑,我们选用单层结构驱动程序,因为单层结构包含了数控驱

动程序必需的功能,而避免了多层次之间互相调用所造成的系统延迟。PWM

定时器驱动程序中,必须首先初始化中断例程ISR和中断线程IST,然后IST

才能等待来自内核的中断请求。初始化包括以下6个关键步骤:①创建一个动

态连接库CNC.DLL,其中包含该插补PWM定时器的中断例程ISR,②由该ISR

分派一个新的中断标志符SYS-INTTRINTERPOLATE,并返回给内核:③创建

插补中断线程InterpolatelST,并将它挂起;④调用InterruptInitialize函数,使

中断请求IRQ和谈事{牛挂钩;⑤设置IST的优先缓,便其与所要完成任务的实

露健鞠嚣配。@熏耨牙始IST。摇痔挺巢;

//ISR中断例程

ULONG

CNC—ISR(void)

ULONG

uIRet—

SYslNTElLINTERPOLATE;

UCHAR

ucCurrentInterrupt;

/,中断控制器获得当前设餐中断好

ueCurrentInterrupt

return

ulIRet;

PICGetCurrentInterrupt(,

,,IST中獗线程翘始化

Void

SetupInterrupt(void)

//创建事件

InterpolateInterrupt=CreateEvent(NULL,FALSE,FALSE,NULL);

//OAL传输鄹系统IRQ

fRetVal=

KernelloComrol();

//设置线程优先级为3

m—nlST

Priority=

3;

i“!ceSetThreadPrio“ty(InterpolatelST'm—nlSTPriority))

RET

AILMSG(1,(TEXT(“DEMO:Failed

setting

Thread

Priority。、烛”)));

Return;

//初始化中断

Interruptlnitialize≤g_dwSysInt,InterpolateInterrupt,NULL,8);

//线程开始

ResumeThread(InterpolatelST);

驻凌程痔编麓耩安装宠成嫠,数控系统藏霹颤鞭强数控秀露工稔序绘窭豹麴

工速成指令,调用lo流接口函数,通过对PWM定时器动态地设鬣一些常数,

来完成实时插补任务。

49

第六章总结和展望

6。1憨结

本论文是作学从事国家囱然科学基金项目“人机协同的车阆数字化制造模

式一~基于移臻邋售豹车阑数字动理蟊攀上数控磅究”懿学习,整褥耪谚究成袋

的总结。本文研究一种基于ARM和WindowsCE的嵌入式数控系统。主要究

成的工作和取得的成果可概括为以下几点:

●分析了开放式数控系统地特征,劳详细介绍了警今国内外凌开放式数羧

系统领域豹研究状瑰。探讨了当蓊主流豹豆类开敖式数控系统豹体系缝

构及其特点,提出了利用嵌入式ARM处理器和WindowsCE嵌入式操

作系统泉开发新型数控系统…ARM.WinCE数控系统的想法。将这两糟

结合起寒趣数控系统嚣藏在餮蠹还来觅报道:

●通过对嵌入式系统的鏊本概念、特点和发展情况的研究,深入探讨了

ARM处理器体系结构的特点。ARM系列处理器是当今檄为主流的嵌

入式处理器,在32饺、64位嵌入式处理器市场中占据了80%以上的市

场努鬏。鬣然ARM系弼楚理器在溃费类毫予产鑫中痤鬟缀箕广泛,毽

是工业领域应用并不多见;另一方面,WindowsCE嵌入戏操作系统谯

工业领域中的应用墩不常见。利用两者来开发数控系统熄一个新的课

题,本文在这方嚣辙出了一些魄较深入豹搽索。

●构建了基于¥3C2410开发板的ARM.WinCE数控系统静硬件平台和纂

于WindowsCE.NET的软件平台;在ARM微处理器上构建了基于

Windows

CE的数控操作系统内核,并利用VIVI

Boot

Loader把定制的

内接浃像糖载妥¥3C2410开发援枣去,簌瑟锲建了一令ARM。WinCE

数控系统的原型系统;

·通过对嗣前比较流行的几种无线通信技术特别是IEEE802.11x与蓝牙

技术的分辑比较后,选择了蓝牙技术作为机廉控制器和移动控制器之间

酶逶信方式。逶遘对Windows

CE鹊两静驱动模墅豹分掰(本橇设备驱

动模型和流接口驱动模型),针对ARM处理器芯片,利用流接口驱幼

程序结构实现了蓝牙串口驱动程序的开发,从而解决了ARM.WinCE

数控系绞巾瓿臻控秘器穗移动控截嚣豹蓝牙潦信闯题。

·深入分耩Windows

CE的体系结构、进程、线程和中断枫锘4。研究了如

何利用¥3C2410处理器的PWM定时器和WindowsCE的中断机制进行

数控系统的实对控制,开发了相应的PwM定时器驱动穰序。

6.2展望

擞然作者对熬子ARM和WindowsCE的嵌入式数控系统开发研究做了一定

豹工掺,劳致褥≯一些残暴,缎由于撵尝豹瘩乎有限,仍有不少}稿越嚣要近一

步探讨和改进,作者就自身的~些体会提出如下的研究设想:

·基于ARM.WindowsCE的嵌入式数控系统是一个比较复杂的系统,本

文的工作只是实现了然予ARM—WindowsCE的嵌入式数控软硬件平螽

豹梅建,究成了数控系统豹一个撰絮。数控应蠲程序懿歼笈述有待予逶

一步的开发,特别是数控系统的圈形用户界顽的开发,以及如何实现

Web服务、实时仿真、智能诊断等方面的功能。

o虽然实现了撬床控制嚣鄹移动控制器之闯的夔雾逶癌,但逐篱要在夔雾

组网方面髅开研究。魏僻通过蓝牙遴信稠用移动控制嚣实糯辩机床控镪

器的操作、信息查询、加工程序下貔和手工编稷,对机床控制器的诊断

与维护,对车阔的数据采集与反馈、决策处理等一系列工作展开研究。

●虽然实璎了裂爰ARM处理器懿PWM定簿器秘WindowsCE赘孛蘩瓤

制实现了数控系统的实时控制,但具体的实时性控制还需在后续中进一

步摸索。

本文讨论豹蒸予ARM.WinCE嵌入式数控系统,使用了单一的处理器和零

一豹搽偌系统藏可以基本实瑷数控系统所需耍静功能,极大静篱{乏了数控系统

的硬件结构,降低了成本;同时,采用WindowsCE.NET作为数掇的实时操作

系统釉开发平台,提高了数控系统的软件质量,降低了数控软件的开发难度。

困藏,本方案不必免一耱开发嚣藏式数控系统豹霹行秘妖捷之路。

参考文献

【1】

【2】

廖效采,刘又午,朱蓟茭.数控技术.藏汉:湖北幂萼学技术出敝社,2005

王爱玲,张吉滏,吴雁.现代数控原理殷控制系统(第二版)【M】.北京:

妨工业出版丰士,2005

受褪毒,秦鹅飞等。数控糗凑.上海:上海耱学技零爨舨社,2000

周延佑.国产数控系统的特点和机床数控化改造的迫切性fJ】.制造技术与

机床,6,1999:6-8

[31

【4l

【5】

嚣宏,蔡光起,史家顺.开放戏数控系统的现状与发艘p】。枧械制造,6,2005:

18—20

Herrin

【61

Golden

E.Open

architecture-who

define

it

andwho

benefit【J】.

Manufacturing

Engineering,7,1998,88—89

【7】

麓军褪,李遮,怒嚣摇,牙敖式诗算巍数控系统兹魏建【习。缝会税床与垂动

纯加工技术,5,2004:55+56

NextGeneration

【8】

Workstation/Machine

Control

Requirements

Definition

Document.National

Centerfor

Manufacturing

Sciences.2000.

f9】

NextGeneration

Architecture

Controller(NGC)Specifications

for

an

Center

for

Open

System

Standards(SOSAS).National

Manufacturing

Sciences,1

994,8

【lO】髑济,周艳筑。数控加工技术【M】。北京:国茨工业嫩舨社,2002:10一{2

fll】浠存强,王觚鹳,陈先华等.数控技术的新发藤一开放式数控系统网.宝锈

术,4,2002:2-3

【12]中华人民共和国国民经济茅口社会发展第十一个五年规划纲要(全文)

http://news3。xinhuanet.com/politics/2006—03/16/content_4308599.htm

【13】王治森,董伯麟,高荣等.车间数字化制造模式和Web服务移动控制数控

系统研究【H数字制造与科学,3,2006:15—18

【14】墨治森,吴焱明,王纯贤镰.支持全球制造的智能傀网络数控系统【J】.中国

梳藏工程,10,1999:1355一1356

[15】搛矽工作室.嵌入式开发疑经【M】.北京:中国青年出版社,2002:l--27

【16】玛维华.嵌入戏系统原理及应用【M】.北京:北京邮电大学出版社,2006

【17】掰泽等。嵌入式系统开发与瑾用【M】.戴窳:瑟京航蹇航天大学爨舨社,2005

【18】陈文智等。嵌入式系统开发原理与实践fM】.托京:漓华大学出版社,2005:1

一lO

【19】张晓林,崔迎炜等。嵌入妓系统设计姆实践【M】.北京:北京航黧航天大学出

叛孝±.2006:1~18

【20】予明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程【M】.北京:电予

正业出版社。2006

12l】众敏,瘸羯,鑫粱.嵌入式鬃绞}M】。魏索:人民邦龟如舨桎,2006:24--44

f22】杜春雷.ARM体系结构与编程fM】.jE求:清华大学出版社,2003

[23】广州斯道¥3C2410普及版技术手册

[24】孙芒,王治森,董伯麟等.基于ARM莘日Windows

CE的嵌入斌数控系统的

赣究≯】.工馥纹表与鑫凌稼装藿,6,2007:27.30

【25】胡朝斌,王治森,董伯麟等.基于WindowsCE的数控系统的中断机制【J】,

中国机械工稷,9,2005:762—763.

f26】汤麓,王治豢.基于WINDOWSCE黥释放式数控系统设备驱动程序秀发.

溺外电子溺爨技术,2004蹭翻,58—61

【27】刘军芳等.熬于¥3C2410开发板的BootLoader的稿动分析【J】.微计算机信

患(嵌入式与SOC),6,2006:201—203

[28】攀骢宠,聂熏媛等.ARM疲耀系绞嚣发谨簿【翊。趣容:涛攀大学出舨

社,2003

【29】正治森,曹斌,高荣.采用无线通信技术的新型数控系统【J】.制造业自动

化,l。2005:47~51

f3羽走线弱域阏耱议(802。lIb)详簿.http://www.yesky.com/14/t911014。shtm

[3l】周明发.蓝牙AdHoe移动网络技术在新型数控畚统中的应用.合肥工业大

学硕士论文,2006:10~11

【32l徐润,鲜继渗.蓝牙按零在工业系统中的应用。燕庚邮电学院学报,4,

2003:40-42

【33】Draft

Founation.Specification

ofthe

Bluetooth

System.July,1999

Reference

Manual.1

999

【34】isi.PSOS+V2.3

User’s

f35】微软公司蘩.WindowsCE设备驱动秀发撂鹰【酝】.I£痰:琴蘩瞧子窭藏享主,

1999:8一10,25—28

[36】周毓林.Windows

CE.net内核定制及成用开发[M].北京:电予工业出版

被,2005:25一115

【37l娄跨蝾。纂予WindowsCE.NET数控系统实露羟秘躲关键技零.舍艟工鼗大

学硕士论文,2006:3—5

【38】张冬泉,谭南林,王辫梅等.Windows

CE实用开发技术[M].北京:电子

王遭窭叛拣,2006.4:14-40

【39】朱志红,陈蔡涛.基予ARM的嵌入式数控系统方案研究与应塌[J】.锏造北

自动化,11。2005:40.42

【40】范克东,诲世德,龚邦明.基于ARM徽处理器豹嵌入式数控系统【J】.制造

技本与懿臻.1。2006:15-t7

【4l】贸正春,许锦兴.功率步避电动机的驱动[M】。北索:机械工业出版社,1984:

6一ll

【42】撼鹅宇。ARM嵌入式楚遴器在镌割秘数控系统串懿应雳磅突。长安太学磺

士论文,2005:52—54

【43】熬黎晓,珏l文健.新型的全数字直流伺服系统.机械研究与应用,2,

1997:46—47

【||4】簧睁蝾,王渗森,董偿麟蕊.基予Windows

CE.NET数控系统瓣疆蛰控翻刚.

含肥工业大学学报(自然科学版),12,2006:1520-1524

[45】王治森,高浆,董伯麟等.新型数控系统研究【J】.台肥工业大学学报(自然

秘学舨),9,2005:971.975

附录

缩略语与术语解释

ADSL(Asymmetric

AHB(Advanced

APB(Advance

Digital

Subscriber

Line)

非对称数字用户线

High

Performance

Bus)

先进高性能数据总线

高级外设总线

Peripheral

Bus)

Interface)API(Application

ARM(Advanced

Programming

RISC

应用程序编程接口

高级精简指令集

基本输入输出系统

主板支持软件包

引导装入程序

Machine)

BIos(Basic

BSP(Board

Bootloader

InputOutput

Support

System)

Packet)

CAN(Control

Area

Network)

控制局域网

计算机数控技术

组件对象模型

中央处理器

设备驱动程序接口

设备驱动程序服务器提供接口

双倍数据速率

动态连接库

直接存储器存取/直接内存访问

数字信号处理器

设备控制器

闪存

多重启动管理器

图形设备事件窗口系统

图形用户接口

CNC(Computer

Numerical

Control、

COM(Component

Object

Model)

CPU(Central

Processing

Unit)

DDI(Device

Driver

Interface)

Interface)

DDSI(Device

DDR(Double

DriverServer

Data

Rate)

Library)DLL(Dynamic

Link

DMA(Direct

MemoryAccess)

DSP(Digital

Signal

Process)

EC(Equipment

Controller)

FLSH

GRUB(Grand

Unified

BootLoader)

Event

System)

GWES(Graphic

Windows

GUI(Graphic

User

Interface)

HCI(Host

Controller

Interface)

Collaborative

Flexible

主机控制器接口

ManufacturingCell)

HMC-FMC(Human’Machine

人.机协同的柔性制造单元

HMI(Human

Machine

Interface)

人机晃面

ARM集成开发环境

Engineers)电气与电子工程师学会

输入输出接口

中断请求

红外数据(通信)联盟

工业标准结构

中断服务例程

中断服务线程

IDE(Integrated

Development

Environment)

IEEE(Institute

ofElectricalandElectronics

I/O(Input/Output)

IRQ(InterruptReQuest)

IrDA(Infra—red

ISA(Industry

ISR(Interrupt

IST(Interrupt

JTAG

Data

Association)

Architecture)

Routine)

Thread)

Standard

Service

Service

JTAG(Joint

TestAction

Group)

联合测试行动小组,一种国际标准测试协议

LCD(Liquid

Crystal

Display)

液晶显示屏

发光二级管

标识语

LED(1ight-emitting

diode)

LOGO

MC(MobileController)

MCU(MicrocontrollerUnit)

MDD(Model

Device

移动控制器

嵌入式微控制器

模型设备驱动程序

内存保护单元

数字控制

Specification)

Driver)

MMU(Memory

ProtectionUnitl

NC(NumericalContr01)

NDIS(Network

DriverInterface

网络驱动器接口标准

原始设备制造商适配层

对象交换

原始设备制造商

开放式、模块化体系结构控制器

面向对象

Systems)

OAL(OEM

Adaptation

Layer)

OBEX

fObjectExchange)

Equipment

OEM(OriginalManufacturer)

OMAC(Open

Modular

Architecture

Controllers)

OO

fobjectOriented)

OSACA(Open

System

ArchitectureforControlswith

Automation

自动化系统中开放体系结构

OSEC(Open

System

Environment

for

Controllerl

控制器的开放式系统环境

开放系统环境语言

OSEL(Open

System

Environment

Language)

oS(OperatingSystem)

操作系统

个入{辛葵橇

Interface)

可编程通信接口

个人数字助理

PC(Personal

Computer)

PCI(Programmable

Communication

PDA(Personnel

Digital

Assistant)

PDD(Platform

Development

Driver)

PLC(Programmable

PLL(Digital

Logic

平台开发驱动程序

可编程逻辑控制器

直接数字频率合成

脉冲宽度调制

随机存储器

串口仿真协议

壤倚指令集絮构

实时对锋

实时操作系统

只读存储器

Controller)

Direct

Frequency

Synthesis)

PWM(PulseWidth

Modulation)

RAM(Random

RFCoMM

Access

Memory)

RISC(Reduced

Instruction

RTC(Real

Time

Clock)

RTOS(Real

Time

Set

Computer)

Operating

System)

ROM(ReadmOnly

memory)

SDRAM(Synchronous

Dynamic

random

access

memory)

同步动态随机存储器/同步内存

SERCOS(Serial

Real。timeCommunication

System)串口实孵透信系统

片主系统

串行外嗣接口

绞竣层,爨络鼷蝰议

SoC(System

on

Chip)

SPI(Serial

Peripheral

Interface)

TCP/IP(Transmission

Control

Protocal/Internet

Protocal)

TFT(Thin

Film

Transistor)

TFTP

fTrivial

File

TransferProtoc01)

薄膜晶体管

简单文件传输协议/零碎文件传输协议

逶蘑宰移总线

USB(Universal

Serial

Bus)

UART(Univsal

asynchronous

receiver/transmitter)通用异步接收器/发送器

VGA(Video

Graphics

Adapter)

视频凿形适配器

Web服务

Web

Services

Services

WS-mCNC(Web

Mobile

Control

CNC)

簇于Web报务的移动控制数控系统/移动数控

攻读硕士学位期间发表的论文

1.孙芒,王治森,董伯麟,高荣,陈为伟.基于ARM和WindowsCE的嵌入

式数控系统的研究+工业仪表与自动化装、置,2007(6)

2。陈为伟,王治森,董伯麟,高荣,孙芒。基于¥3C2410-WinCE.NET的

BootLoader的设计与实现,工业仪表与自动化装置,2007(4)

基于ARM-Windows CE的嵌入式数控系统的研究

作者:

学位授予单位:

孙芒

合肥工业大学

1.

冉小燕

基于嵌入式ARM&WinCE的滑坡监测仪的研究[学位论文]2007

2.

张自明

基于WinCE的嵌入式平台的研究与实现[学位论文]2007

3.

陈为伟

基于ARM-WinCE的嵌入式移动控制器研究[学位论文]2007

4.

钱佳景

基于Windows CE的家庭媒体智能终端的研究[学位论文]2007

5.

陈飞

基于WinCE的嵌入式视频监控系统研究与实现[学位论文]2006

6.

刘祥

基于WINCE的嵌入式多功能移动终端的设计与实现[学位论文]2009

7.

孙昱

基于WinCE的嵌入式旋转机械监测系统的研制[学位论文]2006

8.

康海锋

基于WinCE平台嵌入式巡视仪的设计与开发[学位论文]2007

9.

朱懿

基于ARM与WinCE的嵌入式应用平台技术研究[学位论文]2007

10.

葛辛欣

基于ARM的地电热楼分控设备研制[学位论文]2008

本文链接:/Thesis_

本文标签: 系统数控系统设备开发技术