首页 > 文章中心 > 异步通信

异步通信

开篇:润墨网以专业的文秘视角,为您筛选了八篇异步通信范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

异步通信范文第1篇

【关键词】单片机 数据串口 异步通信

单片机的体积比较小,集成度较高,整体抗干扰能力比较强,而且可靠性较高,因为具备这些优点,所以被应用到各行各业。经过长时间的使用人们发现,单片机存在着功能简单、管理难等缺点,所以在大部分场合当中,都会将单片机与IBM-PC进行联合使用,组成相应的通信系统。单片机主要负责对相关对象进行控制,而后者则主要负责对单片机进行管理并且对其中的数据进行深层次处理,所以要对多台机器运行中通信方面存在的问题进行解决,下文将主要对单片机数据串口通信进行分析。

一、串口通信模块

首先要保证传输方面的可靠性。串行通信通道从本质上分析,属于数据及指令的一个通道,所以串行通道上的每一个环节都必须有比较强的可靠性,而且要满足传输环境的要求以及相关接口的标准,因为不同接口的标准通常情况下只能满足单一的工作环境才可以正常工作,所以必须要保证通信状态以及校验码等。其次要保证通信抗干扰性。我们选择的标准接口,在不超过适用范围的前提下都必须要具备较高的抗干扰能力,只有这样才可以保证信号的正常传输。但是实际工作过程中,通信环境比较恶劣,所以要根据实际环境,对通信介质以及接口进行选择,在选择的过程中首先要考虑其自身的抗干扰能力,如果能力不足,适当的可以采取一些措施进行弥补。如果工作环境的噪声污染比较严重,工作人员完全可以通过光纤介质来减少噪声对工作的产生的干扰,也可以配合光电隔离来提升系统安全性。标准串行接口自身电气特征都可以满足在可靠传输情况下最大的通讯速度以及传输的距离指标,在通常情况下,这两种标准都具有一定的相关性,如果降低通讯速度就可以增加通讯距离,提升通讯速度就会缩短通讯距离。

二、矩阵式键盘接口技术

矩阵式键盘接口技术属于单片机数据串口通信当中比较重要的一个环节,本文主要对使用过程中比较常见的键盘去抖动进行阐述。为了保证键盘闭合一次,CPU进行一次处理,就必须要对按键释放时产生的抖动进行祛除,这也是该技术在实际使用过程当中比较常见的一个问题。键盘处理程序以及显示处理是十分复杂的,因为这两点在通常情况下都会占据整个应用程序当中大部分带码,重要性可见一斑。所以在进行键盘编写之前,必须要先理清接下来的逻辑顺序,使用比较少适合的算法对其进行表示,表示之后再进行编写,只有这样才能保证代码编写的质量。

三、数据传输

在串行通信当中,数据之间通常会在两地之间传输,数据整体传送速度会受到通信上方的设备配备性能以及所在地区通信线路的影响。从工业场合的角度来分析,9600bpa属于比较常见的一种传输速度,通常情况下通信端口传送数据属于字符型的数据,如果将其用于文件传输,就要涉及到2进制数据。从传输带方向方面,我们可以将其分成三种传输模式,分别为单工传输、半双工传输以及全工传输。不同的设备之间想要进行数据传输,就必须要找到一种双方都可以接受的方式,只有这样才能保证数据传输过程中不会发生冲突,减少产生数据错误的概率。我们常见的串行通信一般情况下分成异步方式和同步方式。本文将主要对异步通信进行分析。

异步方式主要指在通信系统当中,数据传输过程中大多使用独立的字节进行传输,而且每一个字节的前面都存在起始信号,并且在字节的后面都会出多一个终止信号,从而构成一帧的数据。一般情况下,位于标记位置的传输线都是空白状态,表示字节已经开始传输,在传输的最后,使用终止位,让热传输线回到最一开始的标志状态下,在这种情况下准备发送下一字符,所以起始位通常占用一个位置,字符编码会占据7个位置,如果第八位属于奇偶校验位置,则停止位可以占据一位至两位,通过一系列数据我们可以发现, 一帧的数据在正常情况下是10-11位构成的。使用该方式进行字符表示,那么字符就可以不断的进行传送,在数据传输过程当中,CPU和外设二者之间需要有相关规定。

分别为字符格式以及波特率。因为异步通信的传输效率比较低,所以在字符传输之前都必须要添加一些具有标志性的信息。异步通信比较适合在慢速场合使用。异步通信这种通信方式,如果双方的时钟存在误差,则字符之间停止间隔就会给误差提供出相应的缓冲余地,所以在实际使用过程当中,允许系统存在小频率飘逸,这一点是其余模式所不具备的。异步通信的传输率在常规情况下约为50-9600波特,结合异步通信的特点,我们通常情况下将其使用在计算机以及CRT、打印机之间进行通信。

四、结束语:

本文主要对单片机视角下的数据串口通信进行了简要分析,从矩阵式键盘接口技术、串口通信模块、数据传输三个方面进行了进一步的论证,结合笔者自身掌握知识及工作经验提出相应结论,旨在为我国该行业的发展提供一份实际工作及设计经验,以作参考。

参考文献:

[1]王振友,宗风强.在Visual Basic6.0下实现组态王与单片机的串口通信[J]. 山东省计算机学会2012年信息技术与信息化研讨会论文集(二).中国会议.

[2]张佳瑞.基于单片机的数据采集和无线数据传输系统设计[D]. 西南交通大学硕士学位论文,2013:07-09.

[3]陶杰,吴小红.一种微机单片机模型多机串口通信的实现[J] 绍兴文理学院学报(自然科学版),2011,07(12):122-124.

异步通信范文第2篇

UART设置:中文名称为通用异步收发传输器。是指一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。

UART的作用:作为把并行输入信号转成串行输出信号的芯片,是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。UART通常被集成于其他通讯接口的连结上。

(来源:文章屋网 )

异步通信范文第3篇

关键词: TMS320C6713B; VK3366; 异步串口扩展; 通信接口

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2013)12?0106?03

随着数字信号处理技术和集成电路技术的不断发展,数字信号处理器的可靠性也越来越高,应用亦越来越广。在DSP应用系统中通常需要由DSP接受上位机的控制信号或进行下位机通信,最常见的方式是采用异步串行接口RS 232或RS4 22来实现。本文的信号采集模块采用TMS320C6713B芯片为例,但没有集成UART接口,因此进行扩展异步串口通讯芯片或者配置McBSP以实现与其他串行设备高速异步通信。本文选择异步串口扩展芯片VK3366进行扩展。

1 数据采集硬件系统设计

数据采集电路系统主要包括:数据信号处理TMS320C6713B子系统、AIC32音频采集电路子系统和异步串口扩展芯片VK3366系统等,其逻辑框图如图1所示。音频采集电路子系统负责采集外部语音信号,数字信号处理器TMS320C6713B子系统进行采集数据的信号处理,VK3366子系统负责系统接口扩展进行数据传输。

1.1 数字信号处理器子系统

TMS320C6713B(简称C6713)是美国德州仪器公司(TI)推出一款32位浮点型高速数字处理器DSP,它可在300 MHz的时钟频率下实现1 800 MIPS/2 400 MFLOPS的定点和浮点运算,极大满足了高速数据采集与实时控制系统对信号处理速度的要求。采用2级Cache结构,片上共有264K×8 b存储器。C6713的具有丰富的片上外设设备,已经在图像处理、数字信号处理以及自动控制等领域得到了广泛的应用[1]。McASP接口可以外扩音频芯片,32 b的外部存储器接口(EMIF)可以外接异步设备、外扩存储器设备,并可寻址512 MB的片外存储空间,丰富的外设接口满足本次设计的要求。

1.2 UART芯片VK3366基本特性

异步串口扩展芯片VK3366是成都维肯科技研制的业界首款具备 I2C/UART/SPI/8位并行总线接口的4通道UART扩展器件,该芯片在通信系统等实时性要求较高场合有良好的应用效果。其扩展子通道的UART具备以下功能特点:每个子通道UART的波特率、字长、校验格式进行独立设置,最高提供1 Mb/s的通信速率。每个子通道独立设置工作模式,包括IrDA红外通信、RS 485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制和广播接收等高级工作模式。每个子通道具备收/发独立的16 BYTE FIFO,FIFO的中断为4级可编程条件触发点。提供一个子通道的调制解调器控制信号[3]。无需采用地址线控制串口扩展方式,而是通过芯片内置的协议处理器实现多串口扩展,以减少C6713通用I/O的使用个数,降低系统布线难度。本次设计通过模式选择使VK3366实现一个8位并行数据总线与4通道UART串行总线数据通信相互转换的功能。

1.3 VK3366的通信接口硬件设计

数据采集电路模块中C6713B的2路SPI、I2C接口都已经被其他接口使用,因此选择C6713的外部存储器(EMIF)接口来实现4通道UART串行总线数据扩展。C6713的32位EMIF接口用于扩展异步设备,EMIF接口包括数据线、地址线、读/写控制信号、片选空间等。C6713上EMIF共提供4个外设片选空间CE[3:0]。UART芯片VK3366采用3.3 V电源供电,使VK3366与C6713B的EMIF直接连接,无需连接额外的电平转化芯片,节约了空间。VK3366选通信号CS与C6713B的CE3直接相连,读/写信号WR,RD与C6713B的ARE,AWE直接相连,从而将系统中地址0xB0000000~0xBFFFFFFF分配给VK3366芯片,以便按照统一编址来读/写VK3366的寄存器了。

2 VK3366异步通信软件设计

VK3366异步通信软件设计主要包括DSP初始化、主函数、VK3366初始化和数据发送/接收等部分。C语言作为一种高级语言,具有清晰易懂、可维护性和可移植性好、通用性强等优点,尤其对算法的编写更加容易,因此本文在TI公司CCS 3.3编译环境下采用C语言进行软件设计。

2.1 DSP初始化

2.2 VK3366初始化

VK3366初始化主要包括以下两部分:

(1)VK3366复位

VK3366为低电平复位,复位时或复位后,各子串口处于禁止收发状态。VK3366的复位过程是通过上电后外接阻容来实现的。

(2)子串口配置

具体代码如下:

3 结 语

本文主要阐述了基于异步串口芯片VK3366扩展C6713的串口理卡中的设计与实现。使用C语言编写VK3366的驱动程序,在CCS3.3编译器上通过编译,实现了C6713的串口扩展。本设计已在实际项目中得到应用,为DSP扩展串口通信提供了一种新的传输方式和途径。

参考文献

[1] 三恒星科技.TMS320C6713DSP原理与应用实例[M].北京:电子工业出版社,2009.

[2] 李方慧,王飞,何佩琨.TMS320C6000系列DSPs原理与应用[M].2版.北京:电子工业出版社,2003.

[3] 成都维肯电子.VK3366数据手册[M].成都:四川维肯电子有限公司,2008.

[4] 杨侃,张宪起,刘鹏.TMS320C6713和TLV320AIC32通信接口设计[J].集成电路通讯,2011(3)24?28.

异步通信范文第4篇

1 概述

85C30是AMD公司生产的双通道、全双工、支持多种通信协议的通信控制芯片,该芯片自身带有串并、并串转换功能,可广泛应用于微控制器组成的多串口串行通信应用系统中。其内部集成了波特率生成器、数字锁相环和晶体振荡器等可编程器件,因而可大大减少对外围电路的需要,提高了系统的可靠性,更适用于高速通信应用领域。

    85C30的主要特性如下:

具有两个可全双工工作的通信通道;

可异步、同步串行通讯;

符合面向字符的同步协议,如IBM BISYNC(二进制同步通信协议);

符合面向比特的同步协议,如同步数据链路控制协议HDLC和高级数据链路控制协议SDLC;

最高数据传输率为4M bit/s(同步模式);

内含波特率生成器、锁相环和晶体振荡器;

具有奇偶校验、字符插入或删除、CRC(循环冗余码)生成和校验等多种自动纠错功能。

2 内部结构和引脚功能

2.1 内部结构

图1所示为85C30的内部结构框图。85C30可用于各种微控制器系统中,并具有查询、中断和DMA工作方式。

2.2 引脚功能

85C30具有40-PDIP和44-PLCC两种封装形式?图2为其44-PLCC封装的引脚排列图。85C30的主要引脚功能如下:

D0~D7:数据线引脚;

RD、WR:读、写控制端?低电平有效;另外,若两个引脚同时为低,可使芯片复位;

A/ B:通道A/通道B选择;

D/C :数据/命令选择;

CE:片选信号;

+5V,GND:电源接入端;

PCLK:系统时钟输入端;

INT:中断请求;

INTACK:中断响应;

IEI,IEO:分别为中断使能输入、输出端口;

RxDA,TxDA:分别为通道A的串行输入、输出;

RxDB,TxDB:分别为通道B的串行输入、输出;

TRxCA,RtxCA:分别为通道A的时钟控制端;

TRxCB,RtxCB:通道B的时钟控制端;

SYNCA、W/REQA、DRT/REQA、RTSA、CTSA、DC-DA:通道A的同步通讯控制端;

SYNCB、W/REQB、DRT/REQB、RTSB、CTSB、DCDB:通道B的同步通讯控制端。

3 85C30中的寄存器

在数据通信过程中,系统是否能准确地按照规定的协议完成通信任务,主要取决于初始化及系统运行期间程序对85C30的读写寄存器的合理运用。使用时,对片上每个通道的设置都应包括16个写寄存器和11个读寄存器。在这16个写寄存器中,有10个写寄存器用于通用控制,2个用于同步字符的生成控制,2个用于片上波特率设置。此外,还有两个双通道共享的写寄存器,一个用于中断向量控制,另一个用于芯片总中断开关控制。在11个读寄存器中,有9个读寄存器用于存储通信状态和数据。

4 应用电路

85C30的接口电路如图3所示,利用该电路可实现双通道的全双工异步通信,波特率为115.2kbps。电路中采用无响应中断模式,即在85C30有中断申请且没有进行中断服务时,将85C30 的INT引脚拉低有效,以向MCU申请中断,而MCU不用向85C30输出INTACK中断响应信号,从而简化了电路。判定接收发送不同中断源的中断优先级可由程序实现。该电路主要由电平转换电路、译码电路和MCU电路组成。

电平转换电路的主要作用是提高板间通信的可靠性,由于板间通信采用的是485电平标准,因此,可利用MAX490全双工通信转换芯片将TTL电平信号转换为485电平标准的差分信号。而对于译码电路,由于85C30中有两个通道,每个通道又有各自的命令口和数据口,而且每个口都需要有相应的硬件地址。因此,该译码电路由MCU的高8位地址线、低2位地址线及GAL和地址锁存器573组成。

MCU电路主要由80C196KC组成,与MCU的连线有数据线D0~D7、RD、WR控制线和INT线,其中INT连至MCU的外部中断EXINT引脚,这样,一旦85C30有中断申请,MCU可将其作为一个外部中断申请来自动生成相应的中断向量,从而执行相应的中断服务程序。中断服务程序入口地址为0X203E。另外,PCLK外接11.05926M的晶振可用于为系统提供时钟。

图4 接收、发送中断服务程序

5 应用程序

5.1 初始化

图4给出了85C30一个通道的初始化流程图,由于芯片的两个通道所采用的通信协议完全相同,因此初始化过程也相同。每个通道的初始化可分为三个步骤:第一是进行各协议设置(如异步、校验、波特率、字符长度等);第二是对各种功能的使能(包括波特率生成器,接收中断,发送中断);第三为开中断。

5.2 接收发送中断服务程序

MCU在收到85C30的INT有效信号后将进入外部中断服务程序。图4给出了该中断服务的流程图。用该程序的一定顺序查询芯片的RR2即可实现芯片间和芯片内的中断优先处理任务,对85C30各中断事件的优先级设定如表1所列。

表1 85C30各中断事件的优先级

通道A接收中断

通道A发送中断RR2=6

RR2=4HIGH

LOW通道B接收中断

通道B发送中断RR2=2

RR2=085C30中的读寄存器RR2能实时反映出芯片内申请中断的各个中断源优先级最高的中断源,当芯片没有中断申请时,RR2的默认值为3。程序执行时,系统将首先判断U4是否有中断申请,若有,则处理相应任务。另外,在MCU处理了一个85C30的中断源后,再次读取RR2,则可再次得知当前申请中断的优先级最高的中断源。这样,就可以通过一次硬件中断申请来完成多个中断源的任务,从而大大节省了频繁进出中断的现象,从而节约了中断处理时间,提高了系统的可靠性和灵活性。

异步通信范文第5篇

关键词:串口;通信程序;社会发展;通信技术

当前社会是一个信息时代,信息技术手段不断的增多,在当前社会发展的过程中各种通信模式逐渐的应用,为当前社会发展提供了前提和基础。现在通讯方式越来越多,速度越来越快,各种通信手段和通信传递模式不断的增加,为当前社会发展过程中的各种相关手段提供依据。但串行通讯由于自身价格低、协议透明、硬件投资少、软件编程简单等诸多优点,其在发展的过程中被广泛的应用在当前的各个行业中,在远程数据采集、监视、通信及控制领域里一直占据着极其重要的地位。是当前社会发展过程中各种信息手段和计算机技术综合应用过程,串联通信不仅没有因为时代的进步而被淘汰,反而在规格上越来越完善、逐步的被广泛的使用,成为当前通信技术手段的关键,其应用规模也是越来越广,长久不衰。

1、串口通信的通信机理

PC串行通信是指直接对串行端口的UART(PC机的通用异步收发器,也叫异步通信适配器,是PC机用于异步通信的接口)进行编程实现的通信。PC机每个UART中的INS8250中有10个可编程的单字节寄存器,可用于控制、监视操作串行端口,COM1的寄存器地址3F8H-3FEH,COM2的寄存器地址为2F8H-2FEH。10个寄存器由7个地址访问,其中5个寄存器的访问条件是先设置3FBH线路控制寄存器的最高位为“1”,该位也称为DLAB状态位。[1]

一般说来,PC机都有一个或多个串行端口,它们依次为Com1、Com2……。这些串口提供了外部设备与PC进行数据传输和通信的通道,在CPU和外设之间充当了解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;而当接受数据时,从外界进来的比特流数据被转换成字符数据传递给CPU进行处理。在操作系统方面,Windows用通信驱动程序(COMM.DRV)调用API函数发送和接受数据。当用通信控件或声明调用API函数时,它们由COMM.DRV解释并传递给设备驱动程序。

作为一个VB程序员,要编写串口通信程序,只需知道通信控件提供给Windows通信API函数的接口即可,换言之,只需设定和监视通信控件的属性和时间即可。

2、串行通讯接口

串口是当前通信技术发展中的重要手段和措施,是结合当前先进的技术控制手段实现的控制模式和控制方法。其在发展的过程中利用先进的信息传递技术结合计算机使用手段进行分析。RS-232C标准的全称是EIA-RS-232C标准,其中EIA代表美国电子工业协会,RS代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969年),在这之前,有RS232A、RS232B协议。它规定连接电缆和机械、电气特性、信号功能及传送过程。EIA-RS-232C定义了按位串行传输的数据终端设备(DTE)和数据通讯设备(DCE)之间的接口信息。RS-232C是从DTE或计算机串行接口角度来定义引脚信号的。

目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS232采取不平衡传输方式,即所谓的单端通讯。

3、三种读取串口数据的方式

目前通用的串口通讯的软件实现方式有3种,本文都进行详细的介绍,它们各有自身的优缺点,读者在编程时可根据具体的情况选择合适的方式。

3.1利用Mscomm控件

VB提供的这个通信控件“隐藏”了大部分串口通信的底层运行过程,程序员只需编写少量的代码就可以完成软件的开发过程。在通信数据量不大,通信要求不是很高的情况下建议采取此方式。

利用Mscomm控件实现通信最需要掌握的就是它的几个主要属性,下面选取其中重要的进行介绍,其余的可以参考相关资料

(6)Handshaking属性:设置和返回握手协议,即计算机内部CPU与串口之间的通讯协议,保证在缓冲区过载时数据不会丢失。这个属性在保证数据传输的正确性方面有很大的作用,共有四个选项,分别表示:①无流控制;②软件流控制;③硬件流控制;④软硬件流控制。采用硬件流控时,要求串口之间和电缆支持硬件握手,在自己制作串口通信线时,有关硬件握手的线RTS、CTS、DSR、DTR要连接正确。

在正确设置这些属性的基础上,剩下的就是打开串口,通过串口发送及接受数据了。本文后续章节利用一个实例详细讲解了这些属性的设置及具体代码。

3.2直接调用Win32 API通信函数

直接调用Windows API函数,可以清楚地理解串口通信的机制,根据需要灵活地配置串口的各种参数和属性,而且直接调用低层API函数,通信效率比较高,但付出的代价就是程序较复杂,编程周期长,适合于大型通信程序及通讯质量要求较高的场合。

在32位的Windows系统中,串口通信是作为文件处理的,串口操作一般为打开、关闭、读取、写入等操作。

由于Windows API函数大部分是用C或C++编写,所以在Visual Basic 6.0 中调用Windows API函数之前必须先在模块级代码上用Declare语句对所调用的函数和用到的数据结构进行声明,具体的函数声明及数据结构请参考朱友芹编《新编Windows API参考大全》。

3.3调用第三方函数库(如Pcomm函数库)

DLL(Dynamic Link Library)动态链接库是一种可以被VB语言调用的程序模块。DLL中包含的可执行代码不能单独执行,而应由Windows应用程序调用执行。一般数据采集卡的供应商都会提供该采集卡的DLL库函数,使用这些DLL库函数,可以做到程序代码共享,减少程序的编写工作量。用户不需要知道这些代码的实现细节,只需要了解调用函数的参数和函数处理后的返回值。

Pcomm函数库是由台湾Moxa公司为开发串口通信程序提供的一套函数库。通过对Windows API函数的进一步封装,提供50多个串口操作函数。覆盖了Windows操作系统下几乎所有异步通信的问题,可以简洁的开发多线程通讯程序。

4、串口通讯的错误及处理

在串口通信时,如果数据传输突然中断,对串口的读写操作可能会进入无限期的等待状态, 为避免这种情况发生, 必须设置串口读写操作的等待时间, 等待超时后,串口的读写操作将被主动放弃,这样即使数据传输突然中断程序也不会被挂起或阻塞。可以根据具体要求规定串口读写操作的最长时间值,即串口读写必须在这段时间内完成,否则提示串口操作失败。

异步通信范文第6篇

关键词:IETM,ajax,动态目录树

 

树形目录是IETM应用系统中常用的直接访问方式,用户通过清晰的、可折叠的树形目录可以快速定位到目标卡片或章节。这样做有两个优势:一是直观,通过树节点的展开、折叠可以很直观地了解到数据之间的层次关系。二是方便,通过点击树的节点就可以显示所需要的信息,而无需查询操作。常见的目录树有两种类型:

一是静态目录树。在应用程序开始时一次性加载所有数据。优点:纯客户端控制,页面无需刷新。缺点:(1)一架飞机的技术手册数量繁多,所构成目录树中的条目最少也有上千条。庞大的数据量使页面显示速度迟缓,令人难以忍受。而当目录树中的条目多到一定程度时,大数据量会让客户端超时以至于读取失败,严重时甚至会使IE当掉。(2)对于某个终端用户来说,经常使用的只是特定的某几类技术资料,目录中的绝大部分信息是不需要的。

二是动态目录树。每次只加载一级目录。只有用户展开节点时,才加载下一级节点数据。优点:数据量小,响应速度快。缺点:页面频繁刷新,用户体验差,而且刷新后会使其它数据丢失。

本文提出了一种新的解决思路:采用ajax技术构建动态的目录树。免费论文参考网。这种方法综合了前两种方法的优点,一方面数据动态加载,一次只加载一级目录,只有用户点击后才显示下一级分类目录。不仅大大减少了数据的冗余,提高了页面加载速度,而且使得每个用户都能根据实际需要构建出满足自身要求的目录树,灵活性强。另一方面采用ajax技术实现与后台服务器之间的数据交换,使得页面无需全部刷新。

1Ajax技术简介Ajax的全称是Asynchronous JavaScript andXML,2005年2月由Adaptive Path公司提出,之后,在Google地图中得到了成功的应用,发展迅速。实际上,Ajax并不是一种新技术,而是几种技术的组合,包括:

·基于XHTML和CSS标准的表示;

·使用DocumentObject Model进行动态显示和交互;

·使用XMLHttpRequest与服务器进行异步通信;

·使用JavaScript绑定一切。

归纳起来说,它有两大特点:

一是异步读取数据。Ajax技术的核心是XMLHttpRequest对象,它提供了客户端与服务器端异步通信的能力,直接通过浏览器与后端服务器进行通信,在服务器端进行数据的处理(如更新或查询数据库)。

二是页面无需全部刷新。从后台服务器返回的数据,通过JavaScript和CSS来更新页面中相应的区域。可以看出,ajax使Web应用程序无需从服务器重新载入页面来实现页面数据的更改,从而避免了传统web应用程序在提交请求后出现的“白屏”现象。

2IETM系统中目录树结构的构建2.1目录文档的结构在IETM应用系统中,技术资料以数据模块的形式存储在数据库中,每个数据模块对应一个xml文档。出版物模块则用来表示各个数据模块所属的类别和层次关系,相当于技术资料的总目录。免费论文参考网。按照S1000D标准,出版物模块的数据架构与相应的XML文档见图1。

异步通信范文第7篇

关键词:SVG;Ajax;REST;WebGIS

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0083-03

Abstract:Based on SVG and Ajax technology in the application of WebGIS is analyzed, at the same time, in view of the distributed Web application performance is low, often interaction is not smooth, the lack of scalability, combined with restful style of system and resource oriented architecture ROA, use Web Services to develop Web distributed applications, based on SVG/Ajax and REST of WebGIS architecture, to realize the optimization of hainan tourism geographic information system based on WebGIS.

Key words:SVG; Ajax; REST; WebGIS

作为GIS与Internet相结合的产物,WebGIS通过互联网对以图形、图像方式表现的空间数据和其属性数据进行、信息检索、空间分析和应用,以实现空间数据的共享和互操作。但传统的Web语言HTML不利于表现空间地理数据,加上网络带宽的限制,基于WebGIS的空间信息也并不十分理想。因此WebGIS设计的主要问题是如何能减轻网络传输负载,客户端采用何种图形数据方式进行显示,并加快地图显示速度,同时此平台应具备地图数据量小、传输方便、GIS数据更新快、较强的多媒体信息表现能力等特性。

1 SVG和Ajax技术

SVG是一种开放标准,用来描述网络的基于二维矢量图形的一种图形格式,使用SVG技术能在网页上显示出各种高品质的矢量图形,如图形、文字、色彩、动画、特效等。且SVG使用 XML格式定义图形,其可扩展性很强,SVG图像在放大或改变尺寸的情况下不会破坏其图形质量。

Ajax在XHTML和CSS基础上,使用DOM来实现数据的动态显示和交互,用JavaScript绑定和处理所有数据,利用XML和XSTL语言对数据进行交换与处理,使用XMLHttpReques对象读取异步数据。Ajax提供与服务器异步通信的能力,它在浏览器与Web服务器之间使用异步数据传输(HTTP请求),用户需要的数据可以独立于实际网页,从服务器端取得并且被动态地写入网页中。同时还可以把服务器以前承担的一些工作任务转交给用户端,在客户端闲置时来处理这些工作,以此减轻服务器和带宽的负载,并极大地缩短了用户等待时间,提高工作效率。

2 REST风格的Web服务

REST是一种架构风格或者设计原则,满足这些原则的设计就是RESTful。REST风格架构是为了降低Web应用开发的复杂性、提高系统的可伸缩性而设计的。利用REST,任何Web上的资源都可以被当作URI提供,每个资源对应的资源标识符是唯一的,无论对资源做何种操作都不会改变资源标识符。通过URI客户端应用可以获取资源的表现形式,同一个资源有多种不同的表现形式,在服务器获得这些资源表现状态后,驱动客户端应用程序转变其状态,于是客户端应用程序随着每个资源表现状态的不同而发生状态转移。通过设计REST式的Web服务方法,ROA(Resource-Oriented Architecture,面向资源的体系架构)使URI、HTTP和XML的工作方式跟其他Web应用一样。

REST架构是一种风格明确、简单易用的架构。REST支持直接通过 HTTP 传输数据,使用 REST体系结构构建 Web 服务已经开始替代传统的 Web 服务构建方式。远程过程调用(RPC)式的应用是通过自定义接口的方法来抽象WEB服务,而REST架构采用标准的HTTP方法,可以增强系统与系统之间的整合能力和提高互操作性。对于分布式的应用而言,任意给定两个服务请求可以在任何一台服务器上执行,因为其之间没有存在相互的状态依赖关系,所以无需对其进行相互协同处理,其应用很容易在服务器端支持负载均衡。

3 Ajax与WebGIS

传统Web应用模型的运行过程是客户提交给Web服务器一个HTTP请求,服务器接到这个请求后,把处理结果返回一个HTML页面给客户端。用户若没有得到服务器的响应的时间里一直处于等待状态,浏览器由于页面刷新出现白屏。这个过程不断循环直到用户退出,整个过程是同步的。

Ajax模型与传统模型的不同之处在于服务响应的异步性。这是通过在客户端与服务端之间的Ajax引擎(Ajax Engine)实现的。Ajax引擎将客户端的页面分解为数据层、控制层和表现层。AJAX通过JavaScript的XMLHttpRequestt对象提供客户端同HTTP服务器异步通信的协议,Ajax可以使页面像桌面程序一样同服务器端进行数据层面的交换。不需要每次都刷新页面,每次的数据处理工作也不用都交给服务器来完成,这样既减轻了服务器负担又加快了响应速度,缩短了用户等待的时间。

在WebGIS应用中,客户与服务器端需要即时的交互响应和大量的通信,空间数据以图片形式传输,因此可以使用Ajax技术开发为基础。在基于OGC标准的WMS服务实现地图服务的方法中,采用Ajax技术实现客户端与服务器的异步通信,Ajax引擎按用户需求来获取空间信息,以减少冗余请求和响应对服务端造成的负担,使整个WebGIS的性能得到提高。

4 基于SVG/Ajax/REST的WebGIS体系架构的构建与实现

4.1 基于SVG/Ajax/REST的WebGIS体系架构

从客户端来讲,Ajax可以提供很好的图形用户界面,Ajax将网页的结构与内容分开,用户端设计友好的网页界面,从服务器端获取相应的数据。WebGIS应用中最重要的是数据服务,如地理数据的搜索与查询、浏览等。而REST提出的客户端缓存思想与Ajax 吻合,结合REST的特性,将GIS数据服务建成REST风格的Web服务,REST风格的数据资源可以通过HTTP动作获得,浏览器获取数据与用户操作异步,加快获取地理数据的速度。且SVG的许多特性应用在WebGIS中可以提供高质量的WebGIS服务。

综上所述,结合SVG、Ajax 与REST风格来构建以数据为中心的WebGIS架构是可行的。

基于SVG/Ajax/REST的WebGIS体系架构如图所示,本架构分三层,分别是数据层、服务层和表示层。数据层提供基础数据Web服务,以REST方式提供给用户所需要的数据,客户端通过URL远程使用需要的数据。客户端将网页的框架与数据分开,通过Java Script调用客户端上的Ajax引擎,异步地向服务器发送HTTP请求,地理信息中的栅格数据以XML数据格式从服务器端向客户端发送数据,通过服务器端的URI来识别所需资源(即数据),数据以XML、JSON、SVG等格式传回给客户端 Ajax引擎,再由客户端图像引擎将XML格式数据转换为SVG对象在客户端SVG插件中显示。

4.2 基于SVG/Ajax/REST的WebGIS实现

基于以上服务架构,对基于WebGIS的海南旅游地理信息系统进行优化。客户端实现地图的显示、预览、缩放及查询功能,以Ajax的方式与Web应用服务层进行交互,Web应用服务器响应客户的请求。地图服务器根据应用服务器发送的服务请求调用REST风格的Web服务,处理客户请求和对空间数据进行操作,数据中心用来提供SVG数据,包括地理空间数据和属性数据。

系统优化后所实现的主要功能如下:

1)空间数据可视化与

WebGIS中将栅格地图转换为SVG格式,以SVG图形方式显示系统的地理空间数据,并支持XML定义图形,在分辨率变化的情况下图形质量不发生改变,实现数据的可视化。通过XML传输方式,把空间图形及属性数据发送到客户端的浏览器上,客户端通过SVG图像引擎转换为SVG图像供用户使用。

2)空间数据查询检索

通过Ajax实现服务器与浏览器的交互,WebGIS可以实现对图形及属性数据的查询检索,并远程操作这些数据。查询分为两类:属性查询和空间查询。在属性查询中用户可以根据空间对象的文字性属性值快速查出地图中符合条件的空间对象的具置,空间查询可以根据空间对象的空间属性值快速的在地图中确定符合条件的目标。

3)空间地图管理

提供给用户浏览的地图操作功能,包括地图的缩放、漫游、点选、区域选择、鹰眼、全景、图层控制等地图操作。通过Ajax/REST模式用户可以更加快捷、方便地操作地图。利用AjaxControls的MapControl(地图控件)、ToolbarControl(工具条控件)、PanToolControl(地图漫游控件)、ViewEntireToolControl(全图显示控件)、QuickZoomOutToolControl(地图快速缩小控件)、QuickZoomInToolControl(地图快速放大控件)等实现对地图的操作。

5 结论

通过对SVG、Ajax技术及REST的研究,REST特性的Web服务更适应于GIS在Web上提供数据服务;把REST与Ajax的优势相结合,使用Ajax调用WCF Web Services一样也可以提高Web用户的体验;SVG是基于可扩展标记语言格式的,便于在网络、传输空间数据,同时有跨平台数据量少、传输效率高的优点。因此构建SVG/Ajax/REST的WebGIS体系架构有如下特点:1)访问速度快。由于Ajax的异步通信能力,能实现整个页面不用刷新也能更新页面的效果,从而减少了从服务器端下载数据的数量,提高了响应速度。 2)可伸缩性强。利用当前Web基础设施,多个客户与GIS Web服务交互,不会导致网络负载的明显增加。3)良好的互操作性。基于REST原则构建的WebGIS强调服务间的通信协议,具有松散耦合的特点,因此有助于GIS互操作的实现。4)降低开发成本,提高了WebGIS的运行效率。

参考文献:

[1] 孙鸽.郭朝珍.基于SVG的WebGIS空间分析系统的研究与实现[J].小型微型计算机系统,2012(5).

[2] 李学义,李岩.SVG在线空间自相关分析方法及其应用[J].地理与地理信息科学,2012(5).

[3] 周春峰.基于Flex_REST的WebGIS研究[D].阜新:辽宁工程技术大学,2011.

[4] 夏浩波,徐杏芳.Ajax在WebGIS中的应用研究[J]. 长江大学学报:自科版, 2008(4):307-308.

异步通信范文第8篇

引言

本设计的主要目的是介绍IC卡的数据存储技术和IC卡的数据通信,因而使用存储器卡。由于本设计中既可与IC卡进行串行同步通信,又要与上位机进行中行异步通信,因而需要选择一种同时具有这两种通信方式的单片机。因为PIC16F877不仅具有本设计所需要的两种通信方式,而且还具有运行速度快、低功耗、价格低等优点,所以选择PIC16F877单片机作为本设计的单片机。

图1是本设计的电路图,图中电源变换电路和发光二极管等指示电路没有画出。图中的二极管电路是单片机与IC卡通信数据线的保护电路。当数据线上的电压为负电压时,与地相连的二极管导通;当数据线上的电压大于+5V时,与+5V相连的二极管导通,从而保证数据线上的电压在0V~+5V之间,保护单片机和IC卡不受损坏。图中单片机的15脚和23脚分别与IC卡的输出引脚3和4相连。由于IC卡的输出电压为CMOS电平,而单片机能够正确的识别IC卡的输出信号,需要加上拉电阻。

1 SPI工作方式

串行外围设备接口SPI(Serial Peripheral Interface)总线技术是Motrola公司推出的一种同步串行接口。SPI总线是一种三线同步总线,因其硬件能力很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其它事务,因此得到广泛应用。

SPI模式允许8位数据同步发送和接收,支持SPI的所有四种方式。SPI模式传输数据需要四根信号线:串行数据输出(SDO)线、串行数据输入(SDI)线、串行时钟(SCK)和从选择(SS)。其中,从选择线只用于从属模式。

    1.1 SPI主模式

由于控制时钟SCK的输出,主模式可以在任何时候开始传输数据。主模式通过软件协议控制从模式的数据输出。

在主模式中,一旦SSPUF寄存器写入,数据就会发送或接收。在接收数据时,SSPSR寄存器按照时钟速率移位,一旦接收到一个字节,数据就传输到SSPBUF,同时中断标志位和状态标志位置位。

时钟的极性可以通过编程改变。在主模式中,时钟SCK的频率可以设置为:fosc/4(即Tcy)、fosc/16(即4Tcy)、fosc/64(即16Tcy)和定时器2(Timer2)输出的二分频等四种。在芯片时钟为20MHz时,SCK的最大频率为5.0MHz。

在本设计中,使用的就是SPI主模式,由单片机控制时钟SCK的输出。当向IC卡中写数据时,随时可以发送数据;当读IC卡内的数据时,先要发送任意一个数据(此时IC卡不处于写入状态,不会接收该数据), 给IC卡提供输出数据的时钟,然后再接收IC卡发出的数据。其时序如图2所示。(发送和接惦的数据均为6FH)

如果要连续发送数据,那么每次将数据送到SSPBUF寄存器后,都要判断是否已经发送完该数据,即判断PIR1寄存器的SSPIF位是否为1。如果SSPIF位为1,则表明数据已经发送完毕,可以继续发送下一个数据。但此时还不能立即发送下一个数据,因为SSPIF位必须在程序中由软件清零,只有将SSPIF位软件清零后,才能继续发送下一个数据。

1.2 SPI从模式

在SPI从模式,数据的发送和接收领先SCK引脚上输入的外时钟脉冲,当最后一位被锁存后,中断标志位SSPIF(PIR1的D3)位。在休眠模式,从模式仍可发送和接收数据,一旦接收到数据,芯片就从休眠中唤醒。如果采用SS控制的从模式,当SS引脚接到VDD时,SPI模式复位;如果 彩CKE=1控制的从模式,必须开放SS引脚控制。

在本设计中,由于IC卡是存储器卡,不能提供时钟信号,因此不能采用从模式,只能采用主模式,由单片机控制时钟信号。

单片机的SPI方式初始化程序如下:

MOVLW20H ;将20H送到累加器

MOVWF SSPCON ;将累加器中的数送到SSPCON寄存器

BSF STATUS,RP0 ;将定RAM区的第1页

BCF SSPSTAT,SMP ;将SSPSTAT寄存器的SMP位置0

BSF SSPSTAT,CKE ;将SSPSTAT寄存器的CLK位置1

BCF TRISC,3 ;将端口C的第3位设置为输出

BCF TRISC,5 ;将端口C的第5位设置为输出

其中,上述第1、2行程序是配置控制寄存器,将SPI方式配置为主控模式,时钟频率为单片机时钟频率的1/4,并将时钟的高电平设置为空闲状态。第3行程序为换页指令,将指针转到第1页。因为PIC16F877单片机的数据存储器是分页的,而所要操作的寄存器在第1页,因此要用换页指令将指针到第1页。第4、5行程序是配置状态寄存器,将SPI方式设置为数据输出时钟的中间采样,时钟SCK的上升沿触发。第6、7行程序则是将RC口的RC3和RC5设置为输出。

2 USART方式

通用同步异步接收发送模块(USART)是两个串行通信接口之一,USART又称为SCI(Serial Communication Interface)。USART可以设置为全双工异步串行通信系统,这种方式可以与个人计算机PC或串行接口CRT等外围设备进行串行通信:也可以设置为半双工异步串行通信系统,与串行接口的A/D或D/A集成电路、串行EEPROM等器件连接。USART是二线制串行通信接口,它可以被定义如下三种工作方式:全双工异步方式、半双工同步主控方式、半双工同步从动方式。

为了把RC6和RC7分别设置成串行通信接口的发送/时钟(TX/CK)线和接收/数据(TX/DT)线,必须首先把SPEN位(TCSTAT的RD7)和方向寄存器TRISC的D7:D6置1。

USART功能模块含有两个8位可读/写的状态/控制寄存器,它们是发送状态/控制寄存器TXSTA和接收状态/控制寄存器TCSTA。

USART带有一个8位波特率发生器BRG(Baud Rato Generator),这个BRG支持USART的同步和异步工作方式。用SPBRG寄存器控制一个独立的8位定时器的周期。在异步方式下,发送状态/控制寄存器TXSTA的BRGH位(即D2)也被用来控制波特率(在同步方式下忽略BRGH位)。

向波特率寄存器SPBRG写入一个新的初值时,都会使BRG定时器复位清零,由此可以保证BRG不需要等到定时器溢出后就可以输出新的波特率。

对USART方式进行初始化的程序如下:

BSF STATUS,RP0 ;将指针指向数据存储器的第1页

MOVLW 0x19

MOVWF SPBRG ;设置波特率为9600

BCF STATUS,RP0 ;将指针指向数据存储器的第0页

CLRF RCSTA ;将接收控制和状态寄存器清零

BSF RCSTA,SPEN ;串口允许

CLRF PIR1 ;清除中断标志

BSF STATUS,RP0 ;将指针指向数据存储器的第1页

CLRF TXSTA ;将发送控制和状态寄存器清零

BSF TXSTA,BRGH ;设置为异步、高速波特率

BSF TXSTA,TXEN ;允许发送

BCF STATUS,RP0 ;将指针指向数据存储器的第0页

BSF RCSTA,CREN ;允许接收

初始化完成后,即可发送或接收数据。在发送或接收数据时,通过查询发送/接收中断标志位即可判断是否发送完一个数据/接收到一个数据。发送/接收中断标地不需要也不有用软件复位。

在异步串行发送的过程中,只要TXREG寄存器为空,中断标志TXIF就置位。因此,TXIF为1并不是发送完毕的标志,但仍可以用TXIF标志来判断。因此当TXREG为空时,将数据送入后,数据会保留在TXREG寄存器中,直到前一个数据从发送移位寄存器中移出,即前一个数据发送完。

3 IC卡

IC卡是集成电路卡(Integrated Circuit Card)的简称,有些国家和地址称其为智能卡(Smart Card)、芯片卡(Chip Card)。国际标准化组织(ISO)在ISO7816标准中规定,IC卡是指在由聚氯乙烯(PVC)或聚氯乙烯酸脂(PVCA)材料制成的塑料卡内嵌入式处理器和存储器等IC芯片的数据卡。近年来,由于导半体技术的进步,集成化程度和存储器容量有了很大提高,并使CPU和存储器集成在一个芯片上,从而提高了数据的安全性。

在本设计中,IC卡采用的是AT45DB041B-SC芯片,该芯片的特点如一下:

*单一的2.7V~3.6V电源;

*串行接口结构;

*页面编程操作,单一的循环重复编程(擦除和编程,2048页(每页264字节)主存;

*两个264字节的SRAM数据缓存,允许在重编程非易失性存储器时接收数据;

*内置的编程和控制定时器;

*低功耗,4mA有源读取电流,2μA CMOS备用电流;

*15MHz的最大时钟频率;

*串行外围接口方式(SPI)——模式0和3;

*CMOS的TTL兼容的输入和输出;

*5.0V可承受的输入,SI、SCK、CS(低电平有效)、RESET(低电平有效)。

在本设计的调试过程中,曾测试过IC卡的输入输出电平,结果证明这种IC卡的输入电平与TTL兼容,而输出电平与TTL不兼容。

4 IC卡的电源提供电路

在本设计中,由于IC卡的电源电压范围为+2.7~+3.6V,而PIC单片机需要的电源为+5V,而且稳压源提供的电压也是+5V,因此,要设计一个稳压模块,给IC卡提供+3V左右的电压。设计电路如图3所示。

该电路的主要元件为LM317芯片,它是三端可调集成稳压器,输出电压为1.25~37V范围内可调。当其Vin端的输入电压在2~40V范围内变化时,电路均能正常工作,输出端Vout和调整端ADJ间的电压等于基准电压1.25V。该芯片内的基电路的工作电流IREF很小,约为50μA,由一个恒流性很好的恒流源提供,所以它的大小不受供电电压的影响,非常稳定。在图3中,B点为电压输出端,为IC卡提供电压。A点为控制端,与单片机的一个端口引脚相连,当该引脚为低电平时,三极管Q1不工作,B点输出电压约为3.15V;当该引脚为高电平时,三极管Q1工作,B点输出电压约为1.25V。在程序中查询IC卡插座中是否有IC卡,当有IC卡时,将A点所连的单片机引脚设置为低电平,从而为IC卡提供电源;当没有IC卡或对IC卡的操作结束时,将A点连的单片机引脚设置为高电平,从而不给IC卡提供电源。

IC卡的上电和下电程序如下。

IC卡上电子程序 IC卡下电子程序

POWERON POWEROOF

BSF STATUS,RP0 BSFSTATUS,RP0

BCF TRISE,0 BCF TRISE,0

BCF RTISE,1 BCF TRISE,1

BCF STATUS,RP0 BCF STATUS,RP0

BCF PORTE,0 BSF PORTE,0

BCF PORTE,1 BSF PORTE,1

CALL DLYTIM CALL DLYTIM

RETURN RETURN

在本设计中,单片机与IC卡通信的主程序流程图如图4所示。

5 与PC机的通信

在本设计中,有PIC单片机与PC机串行通信的功能。由于本设计所用的单片机PIC16F877有USART方式,该方式可将C口的RC5和RC7设置成异步串行通信模式,因而在本设计中,与PC机的通信模块电路就比较简单。将单片机C口的RC6和RC7设置为异步串行通信模式,经过MAX232A芯片进行电平转换后,将TTL电平转换为RS232电平,再与DB9接口相连,即可实现通信。在PC机端,可以用VC等编程工具根据通信协议编写软件来控制对IC卡的读写操作。

6 结论