论文部分内容阅读
红外通信技术作为计算机通信技术的一个分支,已经广泛应用在各种电子设备,电脑,移动通信设备上。尤其是在移动设备上应用广泛,它具有小巧,灵活方便的特点。IrDA 是 INFRARED DATA ASSOCIATION(红外资料协会)的缩写。为了建立一个统一的红外数据通讯的标准,1993年,由HP、COMPAQ、INTEL等二十多家公司发起成立了红外数据协会。在本文中,详细讨论了红外通信的标准--IrDA 技术,及其在Windows OS 和PalmOS 上的实现。由IrDA的复杂性和它的限制,我们提出了一个绕过IrDA 部分标准,建立在SIR物理层之上的逻辑链路层控制协议:简单红外逻辑链路控制协议SIDLP。并以此为核心,结合其他现有技术,建立了一个实用的应用系统:掌上点菜系统。本文在两个方面对现有的红外通信技术作了扩展:针对于红外通信距离太短的特点,我们从硬件上,主要是有线的串行通信部分作了扩展。把现有的串行通信线路延长,普通串口的RS-232逻辑转换成RS-442逻辑进行传输,可以从原有的RS-232标准的15米延长至几百米。这样可以把与桌面系统相连的红外收发设备放在远离桌面系统的工作区一端,以解决由于掌上系统离桌面系统较远,不能及时方便地传输数据的问题。由于RS-232与RS-442之间的转换已经是成熟的技术,故本文对此没有过多说明。另外一个方面,IRDA标准的编程是比较复杂的,尤其对于异种系统来说,他们的编程方式不同,有的时候他们之间通信比较困难。但由于其物理层标准(本文中指的是SIR标准)是由硬件实现,遵循这一标准的设备<WP=72>可以直接通信,所以可以在此标准之上建立一个数据链路层通信协议,以达到对数据实现可靠传输。本文正是基于这一思想,提出了一个简单红外逻辑链路控制协议SIDLP的。自动重发请求ARQ协议是一个数据链路层协议,该协议实现简单有效。SIDLP是建立在ARQ协议基础之上的。严格来说,SIDLP不仅包含了数据链路层协议,它还包含了网络层和传送层的功能,是多个通信协议层的合并,可以实现端到端的大的数据块传输。对上层来说,它是一个透明的协议。在数据链路层,从发送端发出来的数据,是以帧为单位的,帧是该层的数据单元,是上层协议数据单元加上该层的头部信息和末尾的CRC校验码形成的。一般来说,发送端的数据可能正确传送到接收端,也有可能丢失或产生错误。如果发送的数据丢失,可以由发送端的超时定时器检测到。如果是数据产生了错误,接收端可以通过CRC校验码检测到。无论是丢失还是产生了错误,发送端都要对该帧进行重发。协议就是对这一过程进行控制。除了数据通信层之外,还要实现高层协议,以便应用程序使用。在本文中,高层协议实现起来比较简单,主要是命令传送协议CTP,和文件传送协议FTP。技术是为应用服务的,本文选择的应用是掌上系统与桌面系统在餐饮服务业的一个应用—掌上点菜系统。该系统是应酒店行业为提高服务质量和档次而提出的。该系统是一个多层结构的系统,包括掌上系统部分,桌面前台部分,掌上系统接口部分,业务逻辑服务器部分以及数据库系统。对于掌上系统的编程,主要是PalmOS系统的编程,采用的是C/C++开发工具 CodeWarrior。 这一强大的工具可以用传统的面向过程的方式编程,也可以用面向对象方式编程。POL(Palm面向对象的类库) 是一个<WP=73>该系统中C++的应用程序框架集,他把基本的API进行了封装,形成若干个类,利用它可以大大提高开发效率。掌上系统部分就是用这一框架开发的。组件技术是Microsoft Windows DNA的核心技术,利用它可以构成灵活性,可靠性,易部署,伸缩性良好的应用系统。掌上点菜系统充分利用了这一技术。如何设计组件是使用该技术的关键。在掌上点菜系统中,主要的业务逻辑分成几个类并把这些类构建成组件。数据库系统采用的是Microsoft SqlServer,它是一个成熟的产品,与用VB开发的前台系统结合良好。业务逻辑组件通过SQL直接操纵数据库。前台系统使用业务组件提供的服务。我们把在开发掌上点菜系统的过程中遇到的问题与解决方法一一地在本文中拓展开来。以体现对掌上系统开发的点滴认识。本文中涉及到的主要技术有:IrDA红外通信技术PalmOS 界面编程技术PalmOS 串行通信技术PalmOS 数据库技术Windows串行通信技术及其扩展Windows COM+组件技术SQL Server数据库技术由于涉及到的技术过于繁多,不能一一予以介绍,因此,本文重点讨论了红外通信技术,SIDLP通信协议及其实现,Palm编程技术,掌上点菜系统COM+业务组件的设计和实现,前台机,通信接口机的设计和实现。而对于目前已经应用广泛的数据库技术以及VB编程技术没有做更多地说明。