




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)pda与pc通信模型的研究和应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕士学位论文 摘要 随着p d a ( p e r s o n a ld i g i t a la s s i s t a n t ,即个人数字助理或掌上电脑) 软 硬件水平的提高,其功能越来越强大,p d a 的很多应用和p c 联系到一起,所以 p d a 与p c 的通信功能日益显出其重要性,它大大地扩展了p d a 的应用,可以实 现p d a 与p c 之间的数据更新、备份和同步,另外,它为实现p d a 的系统升级及 动态程序加载提供了底层支持。p d a 与p c 有串口,蓝牙,红外等通信方式,其 中串口通信是最基本的通信方式。进行通信的双方必须遵守相同的通信协议规程 才能协调可靠地工作。本文以此为研究背景,以串口通信为研究基础,结合计算 机通信的理论,参照计算机网络体系的分层模型,定义了一套通信协议,构建了 一个基于串口的可扩展的p d a 与p c 的通信模型。 为了在p d a 与p c 机之间建立一条稳定可靠的通信线路,我们必须定义一套 通信协议,包括传输帧的数据结构,传输信号指令,握手信号机制,以及它们之 间的通信机制等。我们参考了网络协议数据帧的格式并结合p d a 与p c 通信的特 点,重新为p d a 与p c 的通信协议定义了一种包含数据长度,数据,c r c 校验码 的数据帧格式,并定义了一套通信的机制。在定义了通信协议与通信机制的基础 上,考虑到在实际应用过程中,除了串口通信之外也有可能采用其它接口方式来 实现p c 与p d a 的互连以及数据通信,比如红外接口、蓝牙技术等通信方式,并 且不同型号的p d a 之间的通信方式也可能不同,为了使通信模型具有比较好的扩 展性和灵活性,我们参照了网络体系的分层模型,通过对模型的各个不同层面的 研究分析,并且结合串口通信的特点,把通信分为四层:物理层,数据链路层, 控制层,应用层。每一层都相对独立,并且通过层间接口为上层提供服务。实践 证明,这个模型较易于实现并具有较好的稳定性和可扩充性,实现了数据传输过 程由纵向传输到横向传输的转变,有利于通讯程序的维护。通过该通信模型,不 仅使通信快速可靠,而且大大增强通信方式的可扩展性。该通信模型已经应用到 笔者所参与的实际课题和项目中,实践证明了该通信模型的有较好的可行性与可 靠性。 关键词:通信协议、分层结构、通信模型、串口通信、个人数字助理p d a 中山丈学硕士学位论文 a b s l r a c t a b s t r a c t a st h ei m p r o v e m e n to ft h eh a r d w a r ea n ds o f t w a r eo f p d a ( p e r s o n a ld i g i t a l a s s i s t a n t ) ,i t sf u n c t i o n sa r em o r e a n dm o r e p o w e r f u l s o t h ec o m m u n i c a t i o nf u n c t i o n s b e t w e e np d aa n dp ca r ev e r yi m p o r t a n t i te n h a n c e st h es u p p o r tf o ra p p l i c a t i o no f p d a ,s u c ha st h eu p d a t ea n db a c k u po ft h ed a t ao rt h es y n c h r o n i z a t i o no ft h ed a t a b e t w e e np ca n dp d a ,a n di t p r o v i d e st h es u p p o r t sf o rt h es y s t e mu p g r a d ea n dt h e l o a do f n e w p r o g r a m t h e r ea r es o m ec o m m u n i c a t i o nt y p e sb e t w e e np ca n dp d a , s u c ha ss e r i a lc o m m u n i c a t i o n ,b l u e t o o t hc o m m u n i c a t i o n ,i n f l a r e dc o m m u n i c a t i o n , a n dt h es e r i a lc o m m u n i c a t i o ni st h em o s tb a s i cw a y o nt h eb a c k g r o u n do f t h i s ,b a s e d o ns e r i a lc o m m u n i c a t i o n 。r e l i e do nt h e t h e o r y o f c o m m u n i c a t i o n ,r e f e rt ot h el a y e r e d m o d e lo fn e t w o r k ,t h i sp a p e rd e f m e sac o m m u n i c a t i o np r o t o c o la n de s t a b l i s h e sa c o m m u n i c a t i o nm o d e lb e t w e e np d aa n dp c i no r d e rt ob u i l dar e l i a b l ec o n u n u n i c a t i o n w a y ,w e m u s td e f i n ea c o m m u n i c a t i o np r o t o c o lt h a ti n c l u d et h es t r u c t u r eo fd a t af r a m e ,c o m m u n i c a t i o n i n s t r u c t i o n s ,h a n d s h a k ep r o t o c o l sa n dc o m m u n i c a t i o np r i n c i p l e s r e f 醯t ot h ef l a m e s t r u c t u r eo f n e t w o r k ,w er e d e f i n ead a t af r a m et h a ti n c l u d e st h ed a t al e n g t h ,d a t aa n d t h ec r cc h e c k s u m c o n s i d e r i n gm a y b et h e r ea r es o m eo t h e rc o m m u n i c a t i o nt y p e s b e t w e e np ca n dp d a ,w em u s tc o n s i d e rt h ee x p a n s i b i l i t yo f t h em o d e l w ee m p l o ya h i e r a r c h i c a ls t r u c t u r et ot h em o d e l w ed i v i d et h em o d e lt of o u rl a y e r s :p h y s i c a l l a y e r ,d a t a l i n k l a y e r ,c o n t r o ll a y e r a n da p p l i c a t i o n l a y e r e a c hl a y e rp e r f o r m s v a l u e a d d e ds e r v i c ea tt h er e q u e s to ft h ea d j a c e n th i g h e rl a y e ra n dr e q u e s t sb a s i c s e r v i c e sf r o mt h ea d j a c e n tl o w e rl a y e r t h em o d e lc a np r o v i d et h eg o o de x p a n s i b i l i t y a n dr e l i a b i l i t yt h a ti sp r o v e nt ob ep r a c t i c a l i tm a k e st h ec o m m u n i c a t i o nf a s ta n d r e l i a b l ea n db u i l d su pt h ee x p a n s i b i l i t yo f c o m m u n i c a t i o n a n di ti su s e di nt h et o p i c s a n dp r o j e c t sih a v eb e e np a r ti na n dh a v em a d eg o o de f f o r t s k e y w o r d s :c o m m u n i c a t i o np r o t o c o l 、l a y e r e dm o d e l 、c o m m u n i c a t i o n m o d e l 、s e r i a l c o m m u n i c a t i o n 、p e r s o n a ld i g i t a la s s i s t a n t ( p d a ) n 中山大学硕士学位论文引言 引言 近年来,个人数字助理p d a ( p e r s o n a ld i g i t a la s s i s t a n t ) 由于体积轻薄、操作 简便,方便携带而得到很快普及,其功能也越来越强大。p d a 是计算、个人信 息管理、通信及网络等多功能融合的产品。其中,p d a 与p c 的通信功能日益显 出其重要性,它大大地扩展了p d a 的应用,如p d a 与p c 之间数据的导入、导 出及同步,包括名片、记事、约会行程、理财和e m a i l 等;另外,它为实现p d a 的系统升级及动态程序加载提供了底层支持。所以研究p d a 与p c 之间的如何 可靠稳定的通信是非常有意义的。 p d a 与p c 的通信方式主要有串口通信、u s b 通信、红外通信和蓝牙通信 等。由于红外和蓝牙通信需要专门的设备,而串口( r s 2 3 2 c 接口) 成本较低,实 现方便,且大多p d a 的厂商都将串口作为p d a 与p c 机的主要连接方式,所以 我们选择串行通信方式作为我们通信研究的基础。串行端口的本质功能是作为 c p u 和串行设备间的编码转换器。当数据从c p u 经过串行端口发送出去时,字节 数据转换为串行的位;在接收数据时,串行的位被转换为字节数据”1 。目前的 串行数据接口标准主要有r s - 2 3 2 、r s 一4 2 2 与r s 一4 8 5 ,其中r s 一2 3 2 被定义为一 种在低速率串行通讯中增加通讯距离的单端标准,是p c 机与通信工业中应用最 广泛的一种串行接口,也是我们通信模型采用的接口。同时我们还研究了串口的 同步通信方式、异步的通信方式和串口通信的编程实现,包括如何打开串口,对 串口进行缓冲区设置、超时设置、数据格式设置等,以及采用同步或者重叠方式 对串口进行读写操作和关闭串口等。 在研究了串口通信的基础上,我们针对p c 与p d a 通信本身的特点,比如 p d a 的数据处理速度比较慢,缓存比较小,可能会发生低电量,内存溢出,断 线等通信异常情况,为了能在p d a 与p c 机之间建立一条高速稳定可靠的通信 线路,使之正确的传送信息和数据,我们必须制订一套通信协议进行通信,而不 是直接就通过串口进行通信和数据交换。我们重点在数据传输顺序、数据的帧格 式及内容等方面制订协议。我们针对p d a 与p c 通信的特点,在研究通信协议 理论的基础上,参照了网络协议的数据包的格式并结合串口通信的特点,定义了 一套p d a 与p c 通信的协议,包括传输的数据帧结构,传输命令,传输信号, 中山太学硕士学位论文引言 握手信号机制,以及它们之间的通信流程框架和对通信异常情况处理等,保证了 它们通信的可靠性。 在这里我们详细讨论了p d a 与p c 通信中的问题,如怎样识别数据指令, 协议双方如何响应等。我们也讨论了某些通信异常情况以及相应的处理等,比如 常见的通信的过程中双方之间的连线突然断掉或者没有连好;传输过程p d a 的 电源下降到某个水平不足以继续传输数据;p d a 端的内存已经满了,而p c 端仍 有数据传过来的时候等通信异常及处理。我们根据这些问题和p d a 与p c 通信 的特点,并基于简单可靠的原则,构造了一套与具体应用无关的数据帧格式,详 细讨论了各个字段特别是校验字段c r c 的设计。我们讨论了c r c 校验的原理, 算法的流程,以及算法如何产生和检验校验码的问题,最后我们为了进一步提高 通信效率采用了查表法进行设计。在此基础上,我们又讨论了握手信号和握手通 信机制的设计,当发送方准备进行数据传送时,我们要让发送方和接收方先有一 个握手的过程,握手成功后再进行数据传送。我们参照了t c p i p 三次握手协议, 并针对微机环境和p d a 与p c 通信的特点制订了p d a 与p c 通信的握手协议。为了 保证数据的顺利传输,我们还设计了一些通信指令对通信进行控制,比如在通信 过程中需要获得某些参数,包括p d a 的配置,p d a 的型号等,或者设置传输的 波特率等,这时毳们就需要用到某些通信指令。还有针对通信过程中的某些通信 异常情况,我们也设计了特定的通信信号来进行控制。 在定义了通信协议与通信机制的基础上,开始构建通信模型。由于在实际应 用过程中,不同型号的p d a 之间的通信方式包括通信数据格式和通信指令等可 能不同,而且除了串口通信之外,也有可能采用其它接口方式来实现p c 与p d a 的互连以及数据通信,为了能够使通信模型具有更好的扩展性,并且易于实现和 维护,我们参考网络分层体系结构,使用分层技术来实现通信模型。 在构建通信模型的过程中,我们采用了分层结构。分层结构本身有很多优点, 结构的上层的逻辑不需要了解所有的底层逻辑,它只需要了解和它邻接的那一层 的细节;某一层次的下级层可以有不同的实现;同一个层次可以支持不同的上级 层等。我们在进行通信模型分层的时候采取的原则是:层数适当,尽量简单:每 层实现的功能要单一明确并且每层只与上下邻层产生接口。 我们参照了网络体系的分层模型,结合微机通信环境和串口通信的特点,并 中山大学硕士学位论文引言 且也针对p d a 与p c 通信的特点,把通信模型由下到上分为四层:物理层,数 据链路层,数据控制层,应用层。我们对每一层进行详细的设计和实现:由于现 在我们的通信模型是基于串口的通信,所以物理层采用的是串行数据接口标准 r s 2 3 2 协议来实现数据在物理信道中的传输;数据链路层利用物理层所建立起 来的物理连接形成数据链路,为上层透明的传送和接收数据流,包括建立、维持 和释放数据链路,进行数据位流的传输,使数据的比特通过传输介质从发送方传 输到接收方;数据控制层是对上一层传下来的数据根据事先定的协议格式进行分 组打包,并采取c r c 1 6 的校验方式对包数据加入校验码和验证校验码,当数据 包经校验发现有错时,负责进行重传等意外情况处理,其最终目的就是向上一层 提供一个可靠的无差错的运输连接;应用层是模型的最高层,它提供某些完整的 通用的通信服务,并直接把这些服务提供给用户进程,主要为用户的应用进程在 p d a 与p c 之间的数据传输通信提供手段来管理分配和应用通信资源。 这样设计使使通信模型每层的独立性强、功能简单、适应性强、易于实现和 维护、结构可分割。每一层都相对独立并且利用下层服务完成一定的功能,再通 过层间接口为上层提供服务。实践证明,这个模型较易于实现并具有比较好的稳 定性和可扩展性,已经应用于具体研究项目和数款p d a 产品中去了。 中山大学硕士学位论文 1 1 课题的研究背景 第1 章综述 随着计算技术的发展,嵌入式系统已经无处不在,从国防工业中的飞机、 导弹上的控制,通信工程的w a p 手机,可视电话,网络电话,到智能玩具,网 络家电,机顶盒等领域都有极为广泛的应用。它已经成为计算机领域的一个重要 组成部分。嵌入式系统作为计算机的一种应用形式,通常是指埋藏在宿主设备中 的微处理机系统,典型机种如微控制器、微处理器和d s p 等。嵌入式计算机与 支撑软件组合就形成了嵌入式系统”1 。嵌入式系统是将先进的计算机技术、半导 体技术和电子技术和各个行业的具体应用相结合后的产物,而且嵌入式系统也是 多学科互相融合的产物,它以应用产品对象为中心、计算机技术为基础、通信技 术为载体、消费类产品为对象,并可以加入各类传感器。 p d a ( p e r s o n a l d i g i t a la s s i s t a n t ,个人数字助理) 就是一种典型的嵌入式产 品。它将个人平常所需的资料数字化,能被广泛的利用与传输。基本的功能例如: 通讯簿、行事历、记事本、计算器等,其他的扩展功能有从计算汇率的小程序到 交互式心理咨询系统、从购物清单到市场调查分析软件等。在如此庞大的软件技 术支持下,p d a 的功能是非常强大的。但由于它出现的历史并不长,因而它也 有一些缺点,比如:内存较小,处理速度较慢等。但随着硬件技术的发展与成熟 以及相应软件的成熟,它目前的一些不足必将会逐步解决,所以它的发展前景是 十分广阔的。p d a 按操作系统主要来说有四大类:基于p a l n lo s 操作系统的p a l m 系列掌上电脑和兼容产品v i s o r 、t r g p r o 等;基于m i c r o s o f tw i n d o w s 操作系统 的掌上电脑,即w mc e 和p o c k e tp c ;基于l i n u x 的掌上电脑和基于e p o c 的掌 上电脑。 由于p d a 功能的扩展和与p c 通信的增多,p d a 与p c 的通信功能日益显出 其重要性,它大大地扩展了p d a 的应用,可以实现p d a 与p c 之间的数据备份、 更新和同步,包括名片、记事、约会行程、理财和e m a i l 等:另外,p d a 的功能 的增强要靠里面的软件支持,而通常我们是通过p c 把新的软件下载到p d a 里面, 还有p d a 系统的升级通常也是经过与p c 的通信来完成的。所以,p d a 与p c 的通 4 中山大学硕士学位论文 信也为实现p d a 的系统升级及动态程序加载提供了底层支持。 在所有可行的通讯方式中,最基本的通信方式就是串口通讯方式了。目前很 多领域仍然使用串口通讯,例如在实际工程中,串口通信就是广泛应用的点对点 通信方式。它以现有的电话网为介质,在两台计算机之间构造了一条数据传输通 道。许多其它技术,如远程访问服务r a s ( r e m o t ea c c e s ss e r v i c e ) 和虚拟专用 网v p n ( v i r t u a lp r i v a t en e t ) 也都是以串口通信为基础,通过调制解调器以拨 号的方式呼叫远程计算机,在串行口上建立连接的。这是因为串口通讯价格便宜, 可以比其他接口使用更长的导线,并且可以用多种连接方式实现数据的传输,而 且几乎现在所有的计算机都配有串行通讯口。且前虽然u s b 等方式是p c 端更优 化的通信方式,但串口通信却可以支持更多外设。 目前p d a 与p c 通信常见的接口有串口,i s b 接口,蓝牙接口,红外线接口, 由于红外和蓝牙通信需要专门的设备,丽串口( r s - 2 3 2 c 接口) 成本较低,实现方 便,且大多p d a 的厂商都将串口作为p d a 与p c 机的主要连接方式,所以我们选 择串口通信为研究基础。 串行端口的本质功能是作为c p u 和串行设备问的编码转换器。当数据从 c p u 经过串行端口发送出去时,字节数据转换为串行的位;在接收数据时,串 行的位被转换为字节数据。应用程序要使用串口进行通信,必须在串行通信时, 数据和联络信号是使用同一根信号来传送的,所以,收发双方必须考虑解决以下 问题: ( 1 ) 双方约定以何种速率进行数据的发送和接收( 波特率) 。 ( 2 ) 约定采用何种数据格式( 帧格式) ,如果包含控制信息那它的定义又是什么。 ( 3 ) 接收方如何得知一批数据的开始和结束( 帧同步) 。 ( 4 ) 接收方如何判断收到数据的正确性( 数据效验) 。 f 5 ) 收方出错时如何处理。 显然,收发双方必须遵守一些共同的通信协议( 或称为通信控制规范) ,才能 解决以上问题。在传输数字信号时接收端必须有与数据位脉冲具有相同频率的时 钟脉冲来逐位将数据读入寄存器。这种在接收端使数据位与时钟脉冲在频率和相 位上保持一致的机制称为同步,实现这种同步的技术称同步方式”3 。 5 中山丈学硕士学位论文 1 2 当前的研究重点以及存在的问题 无论在过去还是在将来,串口都是计算机的一种重要资源。在通信量不大或 者构造t c p i p 网络通信过于浪费时,串口仍然是很好的选择。比如在调试带有 c p u 的电路板时,电路板上只需要增加少量的串口通信支持代码,就可以在p c 上通过串口进行调试了。还有可以利用串口进行数据采集,它是利用串口通信实 现数据采集的,具有结构简单、价格低廉、测试准确性高的优点。又比如在工业 控制中,经常要组成上位机为p c 机而下位机为单片机的二级系统,通过r s 2 3 2 通信接口进行通信。而对于传统的r s - z 3 z 4 2 2 4 8 5 串口通讯系统,如何以最快 速、简便、经济的方式,与t c p i p 网络进行数据的转换与传递,这些方面国内 外都有进行广泛的研究。现今被广泛运用研究的通信串口主要有三种,即r s 2 3 2 、 r s 4 2 2 和r s 4 8 5 。 在p d a 与p c 通信的研究上,比较多的是研究它们的具体通信方式及其实 现,比如采用同步方式、查询方式、异步方式以及事件驱动方式等,使用控件、 使用a p i 函数、使用行间汇编a s m 或在程序中调用其它串口通信程序来完成 它们的通信。而对它们之间的通信协议和模型研究得比较少。这样的通信只能针 对特定的通信方式和通信对象,例如我们可以通过这样的方式实现p c 与某款 p d a 的串口通信程序,但这样的程序对于红外通信或者另外其他款式的p d a 则 不一定适用,可能需要另外编写一套程序。这样的程序的灵活性和可扩展性都比 较差,从通信的可靠性,规范性,通用性上看,也有不足的地方。在实际应用过 程中,我们在采用其他接口方式来实现p c 与p d a 的通信时,通信程序如果可 以通过适当地修改就方便地应用到其他的通信环境,则程序的可扩展性就相对较 强。因此,针对p c 与嵌入式系统的通信,研究如何定义一套可靠稳定的通信协 议,构建一个有较好扩展性的通信模型是比较有研究意义的。 基于上面的讨论,在本论文中,我们借鉴计算机网络体系分层结构的设计, 结合串口通信和p c 与嵌入式系统通信的特点,着重对构建p d a 与p c 之间的通 信协议和通信模型两个问题进行研究。 中山大学硕士学位论文 1 3 课题的内容和目的 本课题有针对地对p d a 与p c 通信的特点和计算机网络通信协议和通信模 型的相关理论进行研究,并结合实际的课题和项目,提出自己的方法与观点。 首先,研究分析p d a 与p c 通信中常见的问题,针对它们的通信特点和参 照网络通信协议机制,设计了一种比较规范的串行通信协议,实现了p d a 与p c 之间稳定可靠地通信; 其次,在研究了底层通信协议的基础上,我们参照计算机网络分层的结构, 基于串口构建一套p d a 与p c 通信的模型,采用分层体系结构以增强模型的扩 展性和灵活性; 再次,在实际的p d a 与p c 的串口通信中,应用该通信协议和通信模型, 并给出具体的设计和实现方法。实践证明,通过该通信模型可以使p d a 与p c 之间的通信较安全可靠,并且扩展性也较强。 针对p d a 与p c 通信的特点和通信中的常见问题,我们提出一套专用的扩 展性比较好的协议,包括数据信息格式,通信控制指令,握手协议以及差错控制, 流程控制等,以保证通信的可靠性。 对于p d a 与p c 通信的模型,我们参考网络体系结构,提出基于分层的体 系结构,把通信分为应用层,数据控制层,数据链路层,物理层,每一层相对对 立,并利用下层提供的服务为上一层提供服务,从而增强了通信模型的可扩展性。 课题的研究目的在于:通过对基于串口的p d a 与p c 通信协议和通信模型 的研究,并给出详细的设计和实现,使读者对串口通信协议和通信原理以及p d a 与p c 的通信的特性有一定的了解,对通用的接口通信程序设计有较深入的理解, 并对一般的通信协议的设计也有一定的了解。在此基础上,针对计算机与p d a 的接口通信,结合网络通信协议理论以及分层结构理论,提出一些方法和观点, 并给出具体的设计和实现方法,实现了基于串口的p d a 与p c 之间稳定可靠的 通信,对研究人员研究p c 与p d a 或者其他嵌入式系统之间的通信具有一定的 参考实用价值,同时对设计人员分析和设计基于串口或其他接口( 比如红外,蓝 牙通信接口) 的通信有一定的帮助作用,并能为这个领域进一步的研究提供一些 较有意义的理论观点和实践经验。 中山大学硕士学位论文串行通信的原理与机制 第2 章串行通信的原理与机制 2 1 串行通信简介 c p u 与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前 者被称为i 0 接口,而后者则被称为存储器接口。存储器通常在c p u 的同步控制 下工作,接口电路比较简单;而i 0 设备品种繁多,其相应的接口电路也各不相 同,因此,接口一般只是指i 0 接口。串行端口就是计算机的一种标准接口。 串行端口的本质功能是作为c p u 和串行设备间的编码转换器。当数据从c p u 经过串行端口发送出去时,字节数据转换为串行的位;在接收数据时,串行的位 被转换为字节数据。应用程序要使用串口进行通信,必须在使用之前向操作系 统提出资源申请要求,通信完成后必须释放资源。 2 1 1 串行通信的概念及原理 我们可以把与外界的信息交换称为通讯,那么基本的通讯方式就有并行通讯 和串行通讯两种。串行通信是指外设和计算机间使用一根数据信号线( 另外需要 地线,可能还需要控制线) ,数据在一根数据信号线上一位一位地进行传输,每 一位数据都占据一个固定的时间长度。如图2 - 1 所示。串行通讯的特点是:数据 位传送,传按位顺序进行,最少只需根传输线即可完成,成本低但送速度慢。 串行通讯的距离可以从几米到几千米。 l d 0 1 d 1 i d 2 | 1 l d d l d 5 i d l d 7 i l 厂 n 厂 厂 叫t 卜 图2 - 1 串行通讯 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。 信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工:信 息能够同时双向传送则称为全双工。 由于c p u 与接口之问按并行方式传输,接口与外设之间按串行方式传输,因 中山大学硕士学位论文串行通信的原理与机制 此,在串行接口中,必须要有“接收移位寄存器”( 串一并) 和“发送移位寄存器” ( 并一串) 。典型的串行接口的结构如图2 - 2 所示。 图2 - 2 串行接口 在数据输入过程中,数据一位一位地从外设进入接口的“接收移位寄存器”, 当“接收移位寄存器”中已接收完一个字符的各位后,数据就从“接收移位寄存 器”进入“数据输入寄存器”。c p u 从“数据输入寄存器”中读取接收到的字符。 ( 并行读取,即d 7 - d o 同时被读至累加器中) 。“接收移位寄存器”的移位速度由 “接收时钟”确定。同样道理,在数据输出过程中,c p u 把要输出的字符( 并行 地) 送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存 器”,然后由“发送移位寄存器”移位,把数据一位一位地送到外设。“发送移位 寄存器”的移位速度由“发送时钟”确定。 接口中的“状态寄存器”的各位称为“状态位”,每一个状态位都可以用来 指示数据传输过程中的状态或某种错误。“控制寄存器”用来容纳c p u 送给此接 口的各种控制信息,这些控制信息决定接口的工作方式。能够完成上述“串 并”转换功能的电路,通常称为通用异步收发器( u a r t ;u n i v e r s a la s y n c h r o n o u s r e c e i v e ra n dt r a n s m it t e r ) 。 综上所述,串行通信接口的基本任务是实现数据格式化、进行串一并转换、 控制数据传输速率、进行错误检测等。 中山大学硕士学位论文 串行通信的原理与机制 2 1 。2 r s - 2 3 2 、r s - 4 2 2 与r s 4 8 5 标准 r s 一2 3 2 、r s 一4 2 2 与r s 一4 8 5 都是串行数据接口标准,最初都是由电子t 业 协会( e i a ) 制订并发布的。串行通信接口标准经过使用和发展,目前已经有几 种。但都是在r s 一2 3 2 标准的基础上经过改进而形成的。 r 8 2 3 2 在1 9 6 2 年发布,命名为e i a 一2 3 2 一e ,作为工业标准,以保证不同厂 家产品之间的兼容。目前r s 一2 3 2 是p c 机与通信工业中应用最广泛的一种串行接 口。r s 一2 3 2 被定义为一种在低速率串行通讯中增加通讯距离的单端标准。r s - 2 3 2 采取不平衡传输方式,即所谓单端通讯。 r s 一4 2 2 由r s 一2 3 2 发展而来,它是为改进r s - 2 3 2 通信距离短、速率低的缺 点而提出的。r s 一4 2 2 定义了一种平衡通信接口,将传输速率提高到l o m b s ,传 输距离延长到4 0 0 0 英尺( 速率低于l o o k b s 时) ,并允许在一条平衡总线上连接 最多l o 个接收器。r s 一4 2 2 是一种单机发送、多机接收的单向、平衡传输规范, 被命名为t i a e i a - 4 2 2 - a 标准。 为扩展应用范围,e i a 又于1 9 8 3 年在r s - 4 2 2 基础上制定了r s - 4 8 5 标准, 由于r s 一4 8 5 是从r s 一4 2 2 基础上发展而来的,所以r s - 4 8 5 许多电气规定与r s - 4 2 2 相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。但r s - 4 8 5 增 加了多点、双向通信能力,即允许多个发送器连接到同条总线上,同时增加了 发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为 t i a e i a 一4 8 5 一a 标准。由于e i a 提出的建议标准都是以“r s ”作为前缀,所以在 通讯工业领域,仍然将上述标准以r s 作前缀称谓。 r s - 2 3 2 、r s 一4 2 2 与r s 一4 8 5 标准只对接口的电气特性傲出规定,而不涉及 接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。 我们的通信模型是基于r s - 2 3 2 来进行研究的,所以重点谈谈r s 一2 3 2 。严格 地讲r s 一2 3 2 接口是d t e ( 数据终端设备) 和d c e ( 数据通信设备) 之间的一个接 口,d t e 包括计算机、终端、串口打印机等设备。d c e 通常只有调制解调器( m o d e m ) 和某些交换机c o m 口是d c e 。标准指出d t e 应该拥有一个插头( 针输出) ,d c e 拥 有一个插座( 孔输出) ,这经常被制造商忽视,但影响不大。( d t e 、d c e 引脚定 义相同) 。下表显示了r s 一2 3 2 接口引脚定义。: 中山大学硕士学位论文 串行通信的原理与机制 表2 - 1 r s 一2 3 2 接口引脚定义 l2 5 芯9 芯信号方向来自缩写 描述名 l z3p ct x d 发送数据 l 。2 调制解调器 r x d 接收数据 | a7p cr t s 请求发送 | s8 调制解调器 c t s允许发送 i e6 调制解调器 d s r通讯设备准备好 i ,5g n d 信号地 l s1调制解调器c d载波检测 i 2 04p cm 数据终端准备好 l 2 29调制解调器r i响铃指示器 计算机常用的通信总线有r s 一2 3 2 c 和u s b ,从c p u 8 0 4 8 6 开始,生产厂 商就在主板上设置了两个r s 一2 3 2 c 串行通信接口c o m i 和c o m 2 ,串行通信接 口的控制芯片是1 6 c 5 5 0 ,这种芯片与8 2 5 0 兼容,但内含一个1 6 字节的发送 接收先进先出缓冲器f i f o ,能有效降低c p u 的占用率。串行接口除了通信应用 外,还可以作为其它类型的接口使用”1 。 2 2 串行通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、 传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信 双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程。目前,采 用的通信协议有两类:异步协议和同步协议。 异步通信协议的一个实例是起止式异步协议。起止式异步协议的特点是一个 字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符 之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位( 低电平,逻 辑值) ,字符本身由5 - 7 位数据位组成,接着字符后面是一位校验位( 也可以没 有校验位) ,最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位。 停止位和空闲位都规定为高电平( 逻辑值i ) ,这样就保证起始位开始处一定有 一个下跳沿m ,。 中山大学硕士学位论文串行通信的原理与机制 异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时 的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8 个比特 要多传送两个比特,总的传输负载就增加2 5 。对于数据传输量很小的低速设备 来说问题不大,但对于那些数据传输量很大的高速设备来说,2 5 的负载增值就 相当严重了。因此,异步传输常用于低速设备。 而采用同步通信时,将许多字符组成个信息组,这样,字符可以一个接一 个地传输,但是,在每组信息( 通常称为帧) 的开始要加上同步字符,在没有信 息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中, 一个字符可以对应5 8 位。当然,对同一个传输过程,所有字符对应同样的数 位,比如说n 位。这样,传输时,按每n 位划分为一个时间片,发送端在一个时 间片中发送一个字符,接收端则在一个时间片中接收一个字符。 同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始, 般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制 发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当 检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后 的数位作为实际传输信息来处理。 同步传输通常要比异步传输快速得多。接收方不必对每个字符进行开始和停 止的操作。一旦检测到帧同步字符,它就在接下来的数据到达时接收它们。另外, 同步传输的开销也比较少。例如,一个典型的帧可能有5 0 0 字节( 即4 0 0 0 比特) 的数据。其中可能只包含1 0 0 比特的开销。这时,增加的比特位使传输的比特总 数增加2 5 ,这与异步传输中2 5 的增值要小得多。随着数据帧中实际数据比 特位的增加,开销比特所占的百分比将相应地减少。但是,数据比特位越长,缓 存数据所需要的缓冲区也越大,这就限制了一个帧的大小。另外,帧越大,它占 据传输媒体的连续时间也越长。在极端的情况下,这将导致其他用户等得太久。 通过上面的讨论,我们可以得出同步通信和异步通信的主要差异: ( 1 ) 异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允 许误差较小。 ( 2 ) 异步通信只适用于点对点,同步通信可用于单点对多点。 ( 3 ) 通信效率:异步通信低,同步通信高。 中山大学硕士学位论文串行通信的原理与机制 2 3 串口通信编程 关于串口通信的原理和机制我们经介绍过了。这里我们主要研究串口的编程 实现。首先我们先介绍我们通信模型的开发运行平台。我们设计的通信模型可在 任何配有串口的p c 的w i n d o w s 平台上运行。p d a 我们采用的操作系统是权智公 司开发的x p l o r eo s 。它提供了开放式平台,具备软件下载功能,提供丰富的应 用程序界面。支持多国语言,具备多种中文输入法及支持中文及双字节字型处理, 可下载新输入法及新增字型。可支持t c p i p 及i r d a1 0 通讯协议。x p l o r e 采用触屏式输入设计,具有体积小,能耗低,操作简便的特点。它主要又由三大 部份组成:系统核心( s y s t e mk e r n e l ) 、管理程序、用户界面工具( u i ) 。 同样我们p d a 端的开发工具采用的是x p l o r es d k 进行开发。而我们p c 端采 用的是d e l p h i 5 0 进行开发。d e l p h i 是b o r l a n d 公司推出的可视化开发工具, 它利用可视化环境来支持所有的应用程序的界面设计,是一个面向对象,优秀的 可视化软件开发语言。利用d e l p h i 可以开发基于w i n d o w s 平台的3 2 位应用程序。 d e l p h i 对从抽象层次极高的程序产生器到w i n d o w s 程序设计最基本的元素之一 w i n d o w s a p i 都要完整的支持。它整体结构十分完整,并且提供大量的组件,用 户可轻松的开发功能强大的应用程序,利用其编译出来的可执行文件的效率相当 高。 由于我们的通信是基于串口的,所以我们有必要研究一下串口通信编程。串 行通信口是经常用到的计算机资源,在d o s 环境下开发串口应用程序,一般来说 要对u a r t ( 串行通信芯片) 进行编程,调用i n t l 4b i o s 中断来实现串口通信。 w i n d o w s 用户提供了一种具有设备无关性的操作平台,使用户对系统硬件资源的 操作变得完全透明,底层操作则由系统完成,即把硬件资源封装成系统对象。为 此m i c r o s o f t 为用户提供了一组串口w i n 3 2 应用程序接口a p i 。下面我们就来进 行介绍。 在w i n d o w s 环境下,串口是作为系统资源的一部分。w i n d o w s 的串行通信驱 动程序是中断驱动的。每接收到一个字符,这个字符就会产生一个低级硬件中断。 串行驱动程序会立即取得控制权并将字符放入用户定义的输入数据缓存区,然后 再将控制权返回给正在运行的那个应用程序。如果输入缓冲区满了,驱动程序就 用当前定义的流控制机制通知其他设备停止发送数据。应用程序要使用串口进行 中山大学硕士学位论文串行遥倌的原理与机制 通信,必须在使用之前向操作系统提出资源申请要求( 打开串口) ,通信完成后 必须释放资源( 关闭串口) 。在w i n 3 2 下串口通信可以使用两种编程方式实现串 口通信,其一是调用的w i n d o w s 的a p i 函数,其二是使用控件。使用a p i 调用。 可以进行比较底层的操作,并且可以比较灵活实现各种设计,效率也相对比较高, 所以我们的程序的底层通信采用a p i 函数实现。 对于串行通信设备,w i n 3 2a p l 支持同步和异步两种i o 操作。同步操作方 式的程序设计相对比较简单,但i o 操作函数在i o 操作结束前不能返回,这将 挂起调用线程,直到i 0 操作结束。异步操作方式相对要复杂一些,但它可让耗 时的i 0 操作在后台进行,不会挂起调用线程,这在大数据量通信的情况下对改 善调用线程的响应速度是相当有效的。异步操作方式特别适合f 司时对多个串行设 备进行i o 操作和同时对一个串行设备进行读写操作1 。由于我们的通信模型 研究的是对一的通信情况,并且我们的通信量由于受p d a 的内存限制,一般都 不会很巨大,所以我们采用的是同步的操作方式。 串口通信应用程序设计的总体思路是:首先,确定要打开的串口名、波特率、 奇偶校验方式、数据位、停止位,打开特定串口;其次,为了保护系统对串口的 初始设置。需要得到串口的原始超时设置;然后,设置串口超时控制和设置串口 接收发送数据的缓冲区大小等,串口的设置就基本完成,之后就可以启动读写进 程了。注意在设置缓冲区的时候,应指明分配给接收的缓冲存贮器的大小和指明 分配给发送的缓冲存贮器的大小。一般数值为接收的缓冲存贮器为1 0 2 4 字节。 发送的缓冲存贮器为5 1 2 字节。综上所叙,简单来说大概可以分为下面几个主要 的步骤: ( 1 ) 打开串口。使用c r e a t e f i l e ( ) 函数,设置参数可以改变同步和异步模式。 ( 2 ) 设置串口。使用b u i i d c o n m d c b 0 ,s e t c o m m s t a t e ( ) 填写设备控制块d c b ,改 变各个参数,进行缓冲区设置,超时设置、数据格式设置;使用 s e t c o m m t i m e o u t s0 设置超时时间, ( 3 ) 对串口进行读写操作。使用w r i t e f i l e 0 进行串口写数据,使用r e a d f i l e ( ) 进行串口读数据。 ( 4 ) 关闭串口。使用c l o s e f i l e (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公软件培训
- 七年级地理下册 第八章 第四节《澳大利亚》教学设计(新版)新人教版
- 癫痫病人的护理
- 人教新目标 (Go for it) 版九年级全册Unit 2 I think that mooncakes are delicious!Section B一等奖第3课时教学设计
- 人教统编版高中语文必修上册《【写作专题】写景人文化:融情寓理妙笔生花》教学设计
- 2024中国联通浙江省分公司校园招聘(158个岗位)笔试参考题库附带答案详解
- 非转基因认证培训
- 初中英语冀教版八年级上册Unit 3 Families Celebrate TogetherLesson 15 A Present for Li Ming!第3课时教案设计
- 九年级化学上册 专题5 化学变化及其表示 单元2 质量守恒定律教学设计 (新版)湘教版
- 财务会计知识培训
- 2023年4月信息素养系列培训讲座
- 高效机房目前几种全局节能优化控制算法技术路线的分享和探讨
- 屋顶光伏支架安装施工方案
- 挖掘机司机岗位安全培训课件
- 新能源购售电合同模板
- 2024年中国浴室套件市场调查研究报告
- 电炉炼钢工职业技能知识考试题(附答案)
- 依法治县业务培训
- 2024年一级建造师《建设工程项目管理》真题及答案
- 网络安全课件:防范钓鱼攻击与社工库检测分析
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传海报
评论
0/150
提交评论