异步通信十篇

时间:2023-04-11 18:33:58

异步通信

异步通信篇1

异步方式通信,又称起止式异步通信,是计算机通信中最常用的数据信息传输方式。它是以字符为单位进行传输的,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。收、发双方取得同步的方法是采用在字符格式中设置起始位和停止位。在一个有效字符正式发送前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发送一个停止位,起始位至停止位构成一帧。异步串行通信是指通信双方以一个字符(包括特定附加位)作为数据传格单位且发送方传送字符的间隔时间不一定,具有不规则数据段传送特性的串行数据传输。

(来源:文章屋网 http://www.wzu.com)

异步通信篇2

[关键词]异步串行通信接收发送器,VHDL,ModelSim

中图分类号:TN702 文献标识码:A 文章编号:1009-914X(2016)15-0280-02

[Abstract]The Universal Asynchronous Receiver/Transmitter(UART) is one of the key components in modern electron systems. In this paper,we use Very High-Speed Integrated Circuit hardware Description Language(VHDL) to design the UART?circuit which can satisfied design requirement.In the end,we use the ModelSim software to simulate?and?test, to verify the UART so that it can meet the criterias.

[Key words]UART,VHDL,ModelSim

1.引言

异步串行通信接收发送器是现代电子系统中的关键部件之一,其作为一种体积小、重量轻和可靠性高的混合集成电路(MIC),在电子系统尤其是近代航天、航空技术中被广泛使用。

本文采用VHDL语言进行UART的设计实现,首先VHDL描述UART系统,包括系统的顶层描述和串行输入并行输出、并行输入串行输出子系统描述;其次,使用ModelSim对设计进行功能仿真,为子系统编写仿真程序来验证其行为是否符合设计要求;最后将程序下载到芯片,在演示板上进行设计功能的硬件验证。

2. 异步串行通信接收发送器(UART)的设计

2.1 设计环境

一台装有Windows操作系统的计算机,安装了XILINX公司设计软件ISE6.2和ModelSim。

2.2 UART电路主要功能和外部引脚图

UART电路的主要功能为:

(1)当CS和WR有效时(低电平时),从计算机接收8位并行数据到后在TXD端串行输出。发送完毕后,INT0置“0”,直到再次写入一个数据为止。

(2)当接收端RXD检测到由“1”到“0”的负跳变后,开始接收数据到移位寄存器,接收完毕后,INT1置“0”。当RD有效时,将缓冲区的数据送到输出端D[0:7]。

2.3 UART的设计

UART电路可以分为串行输入并行输出、并行输入串行输出两个模块,按照Top-Down设计方法,首先作出系统的顶层描述,部分代码如下:

component par_in_ser_out

port (reset,clk16x,cs,wr : in std_logic;

din : in std_logic_vector(7 downto 0);

txd : out std_logic;

int0 : out std_logic);

end component ;

component ser_in_par_out

port (reset,clk16x,rxd,rd : in std_logic;

dout : out std_logic_vector(7 downto 0);

int1 : out std_logic);

end component ;

上述程序表示了UART内两个子系统的划分,由2个元件,即par_in_ser_out 和ser_in_par_out构成,其中clk16x是系统时钟CLOCK。但上述程序未定义元件的具体实现。

下面是并入串出模块par_in_ser_out的VHDL程序的部分代码,定义了元件par_in_ser_out的具体实现。当CS和WR有效时(低电平),将输入口din的数据装入缓冲区tbr,时钟信号clk16x经16分频后产生串行输出时钟clk1x。其中clk1x_enable当WR有效时为高电平。在时钟clk1x的上升沿,移位寄存器tsr依次左移,经TXD输出,每移出一位,tsr的最低位补“0”。

--16分频部分

process (reset,clk16x,clk1x_enable)

begin

if reset = '1' then

clkdiv

elsif clk16x'event and clk16x = '1' then

if clk1x_enable = '1' then

clkdiv

end if ;

end if ;

end process ;

clk1x

--移位寄存器移出数据到TXD部分

process (reset,clk1x,clk1x_enable)

begin

if reset = '1' or clk1x_enable = '0' then

sent

elsif clk1x'event and clk1x = '1' then

if clk1x_enable = '1' then

sent

end if ;

end if ;

end process ;

process (reset,clk1x,sent,tbr)

begin

if reset = '1' then

txd

tsr

elsif clk1x'event and clk1x = '1' then

if std_logic_vector(sent) = "0001" then

tsr

elsif std_logic_vector(sent) = "0010" then

txd

elsif std_logic_vector(sent) >= "0011" and std_logic_vector(sent)

tsr

txd

end if ;

end if ;

end process ;

串入并出模块ser_in_par_out的时钟16分频部分、接收数据到移位寄存器rsr部分与par_in_ser_out模块类似,这里不再详细解释了。需要说明一下的是,ser_in_par_out模块只有当RD有效时,才将缓冲区的数据送到输出口dout。

3. ModelSim仿真测试及结果分析

3.1 ModelSim仿真测试的结果

par_in_ser_out模块的仿真程序及仿真结果如下图2所示:

tb : PROCESS

BEGIN

reset

din

cs

wr

wait; -- will wait forever

END PROCESS;

ser_in_par_out模块的仿真程序及仿真结果如下图3所示:

tb : PROCESS

BEGIN

reset

rd

rxd

wait; -- will wait forever

END PROCESS;

由上可知,经ModelSim软件仿真测试,采用VHDL生成的UART电路的串行输入并行输出、并行输入串行输出两个模块功能均正常实现。

3.2 设计中可以改进的地方

在par_in_ser_out和ser_in_par_out模块均可以设置奇偶校验位,以便检查接收到数据是否有误,另外也可以考虑加入帧校验位,将程序下载到芯片,在演示板上进行设计功能的硬件验证。

4.结论

本文按照给定的UART电路,给出VHDL硬件描述语言模块化设计过程,得出该电路的相关参数和主要功能,再用ModelSim软件进行UART的仿真测试。经仿真生成的UART电路各项功能指标基本达到要求。

参考文献

[1] Jan M. Rabaey,Anantha,Chandrakasan. Digital Integrated Circuits. Second Edition, 2004

异步通信篇3

1相关理论与技术

通过采用AJAX及SIP通讯协议,设计一个WebService并以Web为接口的端对端异步通信实例,阐释WebService双向通讯的建构方式,同时对AJAX技术、SIP通讯协议的原理与应用作简要介绍。

1.1WebService双向通信机制

如图1所示[1],建立Client/Server双向通信的松散连接及紧密连接架构,WebService双向通信包含了一个Client的主动请求和一个Server端的前项式Push或事件通知。这是从服务互动的观点来设计的,最少会包含这3种型态,而每一个端点都像这样具备Client与Server的功能设计。

(1)TYPEI是一个常见的单向WebService交互式样板;Rc:表示Client端初始化一个请求,这个请求可以接收响应或是不需要响应。

(2)TYPEII是一个ServertoClient的异步Reply与EventNotification的交互式样板,实际上异步Reply常被塑造成EventNotification的模式,有ACK就响应,否则就是Notification;Es:表示Server的事件通知,可以要求具有ACK的响应,也可以是一个事件通知。

(3)TYPEIII与TYPEI相反;Rs:表示Server端初始化一个请求,这个请求可以接收响应或是不需要响应。

图1中实心的箭头是初始化请求,虚线则是选择性的信息响应,TYPEIServer必须提供适当的WSDL,通过SOAP传递给Client来使用,TYPEII和TYPEIII在Client必须提供适当的WSDL,通过SOAP传递给Server来使用,而WebService人需同时具备TYPEI~TYPEIII的行为能力,在一个WebService的端点中同时存在Client/Server的角色时就会出现状态协调性的问题,如果协调性出现问题就会出现错误,传统WSDL是One-way方式,要实现WebService双向通信就要做动态的设计。

1.2AJAX技术

AJAX的全名为AsynchronousJavaScriptandXML,是JavaScript及XML等技术的结合体,另外AJAX也包含浏览器端如何呼叫服务器端WebService的HTTPRequest技术[3]。从AJAX全名的字义中可以了解,AJAX就是异步的JavaScript与XML,它突破了传统网页开发技术的限制,使得网页更具互动性。

1.3SIP通讯协议的原理与应用

SIP是一个应用层的控制通讯协议,可以建立、修改或结束多媒体联机[4]。以OSI定义的网络七层来分类,SIP应该属于会话层,但是也有人将其归类在广义的应用层。

SIP目前共定义九大逻辑组件[5],因该文仅使用到ProxyServer这个组件,利用该组件的原理,将该组件的部分功能设计成WebService。ProxyServer是一个中介组件,同时具有Server与Client的双重角色,相当于H.323中的Gatekeeper,通常SIPUserAgent发出请求时并不知道对方的地址,需要ProxyServer从中协助,当ProxyServer无法取得SIPUserAgent所要求的联机对象的地址时,ProxyServer会通过预设的路由选择方式转送给其他ProxyServer代为解析,此时转送请求的ProxyServer便会成为Client端。如图2所示,以INVITE为例,假设Smith要用SIPPhone与John通话,首先Smith与John的SIPPhone要先分别向各自的SIPProxy注册,接着Smtih的SIPPhone发出INVITERequest,其中INVITERequest中会有几个标头字段:Via、To、From、Call-ID、CSeq、Contact、Max-Forward、Content-Type、Content-Length。因为Smith的SIPPhone并不知道John的地址或是John所注册的SIPProxy地址,Smith会将INVITERequest送到自己所注册的SIPProxy(Smith’sProxy),Smith’sProxy会回传100(Trying)给Smith的SIPPhone,100(Trying)表示Proxy已经收到并处理INVITERequest,而Smith’sProxy会根据IP或是域名找到John的SIPPhone所注册的Proxy,在把INVITERequest传送出去之前,Smith’sProxy会先将自己的地址填在Via字段,加到INVITERequest的标头,然后送到John的SIPPhone所注册的Proxy(John’sProxy),而John’sProxy则会在收到INVITE讯息后回传100(Trying)给Smith’sProxy,表示已经收到并处理INVITERequest,此时John’sProxy会查询数据库,找到John目前所在的IP地址,之后John’sProxy会将自己的地址填在Via字段,加到INVITERequest的标头并将INVITERequest传送给John的SIPphone。在收到INVITE信息后,John的SIPPhone会进入Ringing的状态,并依照先前所纪录的Via字段,依照路径回传180(Ringing)讯息给Smith的SIPPhone并告知John有来电。当Smith的SIPPhone收到180(Ringing)信息后,可以显示某些信息并等待John接起电话,若John接起电话,表示John允许建立联机,John的SIPPhone响应200(OK)信息给Smith的SIPPhone,而200(OK)的讯息中,可以携带John希望建立RTP封包联机的相关信息和参数(IP地址与Port)的SDP给Smith,其中SDP是附加在SIPMessage后面。此时Smith的SIPPhone因应200(OK)的信息响应ACK给John的SIPPhone,两端SIP联机就算是建立完成,此时便可以利用之前Message所攜带的SDP里的相关参数,开始传输RTP封包。若John拒绝受话,则John的SIPPhone就会传送一个CANCEL讯息给Smith的SIPPhone。

2结语

过去在浏览器上运行需要单向、双向,全双工、半双工的服务(如聊天室、语音通话、视讯等)都存在一些问题,网页聊天室采用共通的Session或全局变量来达成信号沟通的目的,而浏览器也会定时PostBack,造成Client端浏览器换页的动作产生,也会存在一些Session中断或是无法清除的问题,对于实时的讯号交换是一个瓶颈,许多运行顺畅的语音或视讯软件,都是以ActiveX或是Applet的组件嵌入方式安装在Client端浏览器中,运用了AJAX的方式呼叫CallBack机制后,寻找可用的WebService,结合SIP通信协议,让信息或软件可以快速地组合出新的服务,也可以达到信号实时交换的需求,另外提供了一种快速开发以浏览器为用户端软件系统的新方式,而Client浏览器不再需要一直进行更新网页的动作,也不需要嵌入任何组件,这对目前很多使用者因嵌入不明组件造成中毒或是黑客入侵,有实质上的帮助,提高信息安全的防护。

参考文献

[1] ZhenshengWu.AWayofUsingWebServicebyAJAX[C]//Proceedingsof2008InternationalSymposiumonDistributedComputingandApplicationsforBusinessEngineeringandScience.2005.

[2] WuChou,FengLiu.WebServiceforTele-Communication[C]//ProceedingsoftheAdvancedInternationalConferenceonTelecommunicationsandInternationalConferenceonInternetandWebApplicationsandServices.2006.

[3] 谢延红,钱爱增.利用Ajax技术开发无刷新聊天室系统[J].长春师范学院学报,2007,26(6):86-89.

[4] 施昌伟.基于SIP协议的即时通讯系统的研究与实现[D].南京邮电大学,2012.

[5] 张晨光.基于H.323协议的IP呼叫中心坐席終端设计与实现[D].北京邮电大学,2008.

异步通信篇4

关键词:数字信号处理器 串行异步通讯 交流调速系统

随着电力电子技术的不断发展和微处理技术尤其是数字信号处理器(DSP)的出现,基于数字控制的现代交流调速系统可以应用复杂的控制策略,实现高速动态响应功能。在以DSP为控制核心的异步电机驱动系统中,要实现观测驱动系统在运行中的数据变量,根据需要对程序进行控制,就需要应用DSP中的串口通讯接口与上位机——控制面板或者计算机系统进行通讯。本文针对一套基于DSP的异步电机变频调速驱动系统,设计了DSP与上位机系统通讯的硬件电路,编写了通讯的汇编程序,实现了DSP与上位机的异步通讯。在调试阶段,为了方便调试,在WINDOWS环境下,在PC机上利用VB编写了通讯控制程序,实现了DSP与上位PC机的通讯。通过多种条件下的运行调试,证明通讯可靠,运行稳定。

1 变频调速系统

近年来交流调速领域中最活跃、发展最快的是变频调速技术,它是交流调速的基础和主干内容。变频调速对于提高电工作效率和工作质量以及节约能源等,都起着十分重要的作用。本文以AD公司的专用DSP芯片ADMC328为控制核心,实现异步电机的变频调速。

·调速系统的硬件电路分为四个主要模块:电源模块、控制器模块、功率模块以及通讯模块。

电源模块负责为其它模块提供相应的电源。它的输入是交流220V,由主控板或其它交流电源提供;输出是三个直流电源,为逆变器提供直流300V和直流15V,为控制器部分提供直流5V。

控制器模块的主要功能是实现空间矢量脉冲宽度调制(SVPWM),对直流300V母线进行电压和电流检测,与外界通讯。

功率模块的实质是一个10A/600V的三相逆变器,它受控于控制器输出的PWM信号,为异步电动机(IM)提供三相正弦电流。

通讯模块是变频驱动板与主控板以及UART设备通讯的通道。通讯模块是保证上位机与下位机准确快速联系的重要环节,是确保系统可靠运行的重要因素。

变频调速系统的控制框图如图1所示。

2 ADMCF328及其串口简介

ADMCF328芯片是美国AD(Analog Devices)公司生产的一种低价位、基于DSP的单片机控制器,适合于控制交流感应电机、永磁同步电机、无刷直流电机和开关磁阻电机。它包括一个20MIPS的定点DSP内核和一整套电机控制外设,适于开发快速有效的电机控制器[1]。

ADMCF328提供有共同步串行通讯口,支持多种串行通讯协议,并且可以在多处理器系统中直接互连各个处理器。每个串口包括五个引脚:

SCLK(串行时钟),

RFS(接收帧同步),

TFS(发送帧同步),

DR(串行数据接收),

DT(串行数据发送)。

串口有独立的发送和接收部分,并且每个部分都有一个寄存器能把数据字从处理器移进或移出,双缓冲区技术为串口服务提供了附加时间。串口可以使用外部时钟或在内部生成时钟,频率范围宽,最小为0Hz,最大为6.144MHz。串口可以支持串行字长从3位到16位的数据传输。串口还可使用可以灵活控制的帧同步信号。接收和发送一个完整的数据字之后,可以产生一个中断。

发送数据时,由TX寄存器实现TFS信号,表明传送开始,写入TX寄存器的每个值都会被传送到内部发送移位寄存器中,然后从MSB开始发送各位,每一位都是在SCLK上升沿移出;接收数据时,接收到一个完整的字后,写入RX寄存器,同时产生接收中断。

3 串行通讯接口电路

串行通讯接口包括数据传输线DT和数据接收线DR。这样,可以通过对串口控制寄存器(Sport Control Register)的值进行修改,来控制数据接收帧同步只对串行通信中的第一个字节有效。也就是说,将DR和RFS连在一起之后,在进行数据传输的时候,在数据传输开始的时刻,就是第一个字节的起始位到达的时刻,RFS会对其进行判断,产生一个数据接收中断,从而达到异步通信的效果。

当需要把TTL(0V和+5V)电平转换为UART电平(-10V和+10V)时,比如说要和PC串口(RS/232)进行通讯时,就要添加一些硬件电路。如图2所示,使用了AD7306BR转换电平,由图中可以看出PC串口的3(TD)管脚即数据发送管理,经过AD7306BR之后,电平由-10V~+10V转换到0~+5V连接到DSP串口的数据接收(DR)管脚;同理DSP串口的数据发送(DT)管脚经过AD7306BR完成电平转换接到PC串口的2(RD)管脚即数据接收管脚上。在完成电平转换之后,还要使用HCPL2630将DSP与电平转换电路隔离。

4 通讯协议及软件设计

4.1 通讯协议

通讯协议采用异步串行通讯方式,波特率为2400bps,数据包括8位数据位、1个奇校验位、1个低电平起始位和1个高电平停止位;变频驱动板与主控板的通讯由3个字节组成:同步码0XFF、命令码和命令参数;主控板为主设备,变频驱动板为从设备,变频驱动板接到命令后立即应答,50ms无应答则重发命令,1s无应答则出错误报警。

通讯数据格式如表1所示。

表1 通讯数据格式

UART

数据格式起始位8位数据字奇偶校验停止位LSB123456MSB串口

数据格式000XXXYYYXXXYYYXXXYYYXXXYYYXXX11124位数据组成的字节

4.2 由于ADMCF328只有一个同步串口,为了实现通讯协议的异步串行通讯,本文采用了一种使用同步串口作为异步通讯接口的方法。将串口的同步时钟频率设定为通讯协议波特率(2400)的三倍(7200),这样,命令字节中的第一位(bit)将读被取三次,取中间一次作为正确结果,用以保证消除上升、下降沿对通讯命令读取造成的误差;为了保证异步通讯,硬件上要求将数据接收线DR和RFS接在一起,以便产生异步中断。

由于是三倍频,所以每一位(bit)需要发送三次(接收时亦按三个字节接收),每一个命令字节共包括11位:一个起始位、八个数据位、一个奇偶校验位和一个停止位,所以共需33位,而串口传输数据的寄存器TX和RX只有32位,所以

在接收数据的过程中,最后的停止位只接收2/3次,由于是三分频,只读取中间一部分的数据,所以不影响接收的正确性;在发送数据的时候,最后停止位只能发送2/3次,因此发送一个完整的命令字节后,补发一个0XFF来补齐停止位,以保证通讯完整,和上位机正常通讯。发送和接收数据均采用中断方式。由于串口接收数据采用的是双缓冲的方式,由硬件实现数据的收发,因此不会受高级中断的影响而使通讯失败。只要在发数据的两条指令前屏蔽其它中断,一来可以保证通讯的准确性,二来又不会对PWM同步中断造成很大影响,从而保证对电机的控制。

4.3 软件流程

确定了通讯方式以后,即可根据通讯协议设计通讯程序,图3是串行异步通讯程序的流程图。

4.4 同步与异步串行通信比较

异步通信其它是依赖于同步性的,字符到达可以不同步,但每个字符的接收要通过起始位使之同步。事务上,异步和同步通信之间的基本差别只是程序不同,前者在每个字符中都需要同步位,而后者则经常需要一个精的时间控制时,连续位方式的同步传送要比异步传送优越。然而即使完全的同步化能够实现,系统仍然在许多方面产生故障,因为它需要的是不可中断的数据流,换句话说,传送字符串数据的技术没有办法将一个字符与另一个字符分离。所以,即使环境理想,如果字符不能按照指定时间到达接收方的应用系统。纯粹的同步是不能实现的[3],所以可靠准确的数据传输需要使用异步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校验位的异步通信方式并不对数据处理造成过多的影响。因此,本文工作中采用了串行异步通信的方式。

采用这种方法的特点和实际意义如下:

(1)利用同步串口实现了异步通信,充分利用了DSP的资源,使DSP可以对异步电机的调速控制和与上位机的通讯同时处理,节约了成本。

(2)由于这套异步电机调速系统主要应用于家电中,因此功率不大,线路不长,本方法采用的设定三倍频率同步时钟以及合适的波特率,保证了通讯抗干扰能力,使得运行可靠。

本文提出的利用ADMCF328芯片的同步串口进行串行异步通讯的方法,通过对ADMCF328芯片的同步串口进行软件编程,实现异步通讯。由于采用了三分频的方法,读取数据准确,双工串行异步通讯效果良好。在驱动板与主控板连接调试之前,利用VB编写了通讯监控程序,通过硬件电平转换电路使DSP与PC机之间进行通讯,收发数据准确,通过良好,而且驱动板带动异步电机工作,运行正常。将主控板与驱动板连接整机调试,通讯正常,电机运行正常。

总之,从软件到硬件的实施方案,通过实验以及应用,证明了这个方法的可行性和可靠性。

摘要:介绍了基于专用DSP芯片ADMC328的异步电机调速系统中的主控部分与驱动部分之间的通信。详细介绍了通讯的硬件接口电路、通讯协议以及软件实现方法,实现了利用DSP的网步带口进行异步通讯的方法,并确保通讯准确可靠。实验结果证明了其可靠性。

关键词:数字信号处理器 串行异步通讯 交流调速系统

随着电力电子技术的不断发展和微处理技术尤其是数字信号处理器(DSP)的出现,基于数字控制的现代交流调速系统可以应用复杂的控制策略,实现高速动态响应功能。在以DSP为控制核心的异步电机驱动系统中,要实现观测驱动系统在运行中的数据变量,根据需要对程序进行控制,就需要应用DSP中的串口通讯接口与上位机——控制面板或者计算机系统进行通讯。本文针对一套基于DSP的异步电机变频调速驱动系统,设计了DSP与上位机系统通讯的硬件电路,编写了通讯的汇编程序,实现了DSP与上位机的异步通讯。在调试阶段,为了方便调试,在WINDOWS环境下,在PC机上利用VB编写了通讯控制程序,实现了DSP与上位PC机的通讯。通过多种条件下的运行调试,证明通讯可靠,运行稳定。

1 变频调速系统

近年来交流调速领域中最活跃、发展最快的是变频调速技术,它是交流调速的基础和主干内容。变频调速对于提高电工作效率和工作质量以及节约能源等,都起着十分重要的作用。本文以AD公司的专用DSP芯片ADMC328为控制核心,实现异步电机的变频调速。

·调速系统的硬件电路分为四个主要模块:电源模块、控制器模块、功率模块以及通讯模块。

电源模块负责为其它模块提供相应的电源。它的输入是交流220V,由主控板或其它交流电源提供;输出是三个直流电源,为逆变器提供直流300V和直流15V,为控制器部分提供直流5V。

控制器模块的主要功能是实现空间矢量脉冲宽度调制(SVPWM),对直流300V母线进行电压和电流检测,与外界通讯。

功率模块的实质是一个10A/600V的三相逆变器,它受控于控制器输出的PWM信号,为异步电动机(IM)提供三相正弦电流。

通讯模块是变频驱动板与主控板以及UART设备通讯的通道。通讯模块是保证上位机与下位机准确快速联系的重要环节,是确保系统可靠运行的重要因素。

变频调速系统的控制框图如图1所示。

2 ADMCF328及其串口简介

ADMCF328芯片是美国AD(Analog Devices)公司生产的一种低价位、基于DSP的单片机控制器,适合于控制交流感应电机、永磁同步电机、无刷直流电机和开关磁阻电机。它包括一个20MIPS的定点DSP内核和一整套电机控制外设,适于开发快速有效的电机控制器[1]。

ADMCF328提供有共同步串行通讯口,支持多种串行通讯协议,并且可以在多处理器系统中直接互连各个处理器。每个串口包括五个引脚:

SCLK(串行时钟),

RFS(接收帧同步),

TFS(发送帧同步),

DR(串行数据接收),

DT(串行数据发送)。

串口有独立的发送和接收部分,并且每个部分都有一个寄存器能把数据字从处理器移进或移出,双缓冲区技术为串口服务提供了附加时间。串口可以使用外部时钟或在内部生成时钟,频率范围宽,最小为0Hz,最大为6.144MHz。串口可以支持串行字长从3位到16位的数据传输。串口还可使用可以灵活控制的帧同步信号。接收和发送一个完整的数据字之后,可以产生一个中断。

发送数据时,由TX寄存器实现TFS信号,表明传送开始,写入TX寄存器的每个值都会被传送到内部发送移位寄存器中,然后从MSB开始发送各位,每一位都是在SCLK上升沿移出;接收数据时,接收到一个完整的字后,写入RX寄存器,同时产生接收中断。

3 串行通讯接口电路

串行通讯接口包括数据传输线DT和数据接收线DR。这样,可以通过对串口控制寄存器(Sport Control Register)的值进行修改,来控制数据接收帧同步只对串行通信中的第一个字节有效。也就是说,将DR和RFS连在一起之后,在进行数据传输的时候,在数据传输开始的时刻,就是第一个字节的起始位到达的时刻,RFS会对其进行判断,产生一个数据接收中断,从而达到异步通信的效果。

当需要把TTL(0V和+5V)电平转换为UART电平(-10V和+10V)时,比如说要和PC串口(RS/232)进行通讯时,就要添加一些硬件电路。如图2所示,使用了AD7306BR转换电平,由图中可以看出PC串口的3(TD)管脚即数据发送管理,经过AD7306BR之后,电平由-10V~+10V转换到0~+5V连接到DSP串口的数据接收(DR)管脚;同理DSP串口的数据发送(DT)管脚经过AD7306BR完成电平转换接到PC串口的2(RD)管脚即数据接收管脚上。在完成电平转换之后,还要使用HCPL2630将DSP与电平转换电路隔离。

4 通讯协议及软件设计

4.1 通讯协议

通讯协议采用异步串行通讯方式,波特率为2400bps,数据包括8位数据位、1个奇校验位、1个低电平起始位和1个高电平停止位;变频驱动板与主控板的通讯由3个字节组成:同步码0XFF、命令码和命令参数;主控板为主设备,变频驱动板为从设备,变频驱动板接到命令后立即应答,50ms无应

答则重发命令,1s无应答则出错误报警。通讯数据格式如表1所示。

表1 通讯数据格式

UART

数据格式起始位8位数据字奇偶校验停止位LSB123456MSB串口

数据格式000XXXYYYXXXYYYXXXYYYXXXYYYXXX111

24位数据组成的字节

4.2 由于ADMCF328只有一个同步串口,为了实现通讯协议的异步串行通讯,本文采用了一种使用同步串口作为异步通讯接口的方法。将串口的同步时钟频率设定为通讯协议波特率(2400)的三倍(7200),这样,命令字节中的第一位(bit)将读被取三次,取中间一次作为正确结果,用以保证消除上升、下降沿对通讯命令读取造成的误差;为了保证异步通讯,硬件上要求将数据接收线DR和RFS接在一起,以便产生异步中断。

由于是三倍频,所以每一位(bit)需要发送三次(接收时亦按三个字节接收),每一个命令字节共包括11位:一个起始位、八个数据位、一个奇偶校验位和一个停止位,所以共需33位,而串口传输数据的寄存器TX和RX只有32位,所以在接收数据的过程中,最后的停止位只接收2/3次,由于是三分频,只读取中间一部分的数据,所以不影响接收的正确性;在发送数据的时候,最后停止位只能发送2/3次,因此发送一个完整的命令字节后,补发一个0XFF来补齐停止位,以保证通讯完整,和上位机正常通讯。

发送和接收数据均采用中断方式。由于串口接收数据采用的是双缓冲的方式,由硬件实现数据的收发,因此不会受高级中断的影响而使通讯失败。只要在发数据的两条指令前屏蔽其它中断,一来可以保证通讯的准确性,二来又不会对PWM同步中断造成很大影响,从而保证对电机的控制。

4.3 软件流程

确定了通讯方式以后,即可根据通讯协议设计通讯程序,图3是串行异步通讯程序的流程图。

4.4 同步与异步串行通信比较

异步通信其它是依赖于同步性的,字符到达可以不同步,但每个字符的接收要通过起始位使之同步。事务上,异步和同步通信之间的基本差别只是程序不同,前者在每个字符中都需要同步位,而后者则经常需要一个精的时间控制时,连续位方式的同步传送要比异步传送优越。然而即使完全的同步化能够实现,系统仍然在许多方面产生故障,因为它需要的是不可中断的数据流,换句话说,传送字符串数据的技术没有办法将一个字符与另一个字符分离。所以,即使环境理想,如果字符不能按照指定时间到达接收方的应用系统。纯粹的同步是不能实现的[3],所以可靠准确的数据传输需要使用异步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校验位的异步通信方式并不对数据处理造成过多的影响。因此,本文工作中采用了串行异步通信的方式。

采用这种方法的特点和实际意义如下:

(1)利用同步串口实现了异步通信,充分利用了DSP的资源,使DSP可以对异步电机的调速控制和与上位机的通讯同时处理,节约了成本。

(2)由于这套异步电机调速系统主要应用于家电中,因此功率不大,线路不长,本方法采用的设定三倍频率同步时钟以及合适的波特率,保证了通讯抗干扰能力,使得运行可靠。

异步通信篇5

关键字:转报系统;智能程控异步单元;FA36;DCD控制信号

中图分类号:TP335 文献标识码:A 文章编号:2095-1302(2013)11-0054-02

0 引 言

广州新机场的新转报系统负责整个中南地区AFTN电报的传输和交换,而FA36设备则是基于IP的新一代的传输接入设备,是面向企业核心和运营商网络的高性能、高可靠性的多业务传输接入需求,面向全业务、开放的业务模型而开发的新一代智能业务传输接入设备。FA36网络作为中南地区新建的综合业务传输网络,负责中南地区各空管分局(站)之间的雷达、报文、话音等业务的传输交换。

这两套新系统投入使用后,大大改善和提高了中南地区AFTN电报和其他空管业务的传输和交换能力。但是,新设备的一些电气特性和功能与原来的设备有所不同,在日常维护使用过程中曾经出现过以下故障。

1 转报系统智能程控异步单元故障描述

某月某日,转报系统出现多个信道没有收到电报,检查发现这几个信道都是接在同一台智能程控异步单元上,在转报主机上无法PING通该异步单元。用电脑从智能程控异步单元配置端口登录后,发现该设备处于死锁状态,敲键盘没有任何反应。更换了一台冷备异步单元,接上数据线和网线后,发现新接上的异步单元也出现同样的故障,反而替换下来的异步单元经过加电检查发现状态正常。于是尝试逐条拔插异步单元上所接入的数据线和网线,最后发现把其中一路连接FA36设备的数据线拔掉后,异步单元恢复正常工作。

2 故障现象分析

被拔掉的数据线原来是连接“数字空管系统”进行报文传输的,该系统当初接入转报系统时,中间通过2台FA36作为中继连接,后来为简化网络连接,改为直接采用网线连接到转报系统,同时在FA36设备上取消了相应端口、链路的配置,但数据线仍然保留。具体连接如图1所示。

造成转报系统故障的原因应该与连接FA36设备的数据线缆有关系,因此,笔者首先使用设备对连接FA36的数据线进行了检测。转报机与FA36互联的数据线以及数据线两端的接口详细情况如图2所示。

以及数据线两端的接口详细情况

在制作数据线缆时,FA36的DB-25接口只接入了接收、发送和信号地3个管脚,即2脚、3脚和7脚;而由于新转报机异步单元的异步端口是RJ-45端口,除了收、发管脚和信号地管脚以外,其他的控制信号(DCD、CTS、RTS等)管脚也全部接入了异步单元。

通过对FA36的物理端口测试发现,该端口的发信号管脚有一个峰值为15 V左右,占空比约为30%的方波信号输出,图3所示是其方波信号图。该方波信号既不是用户数据信号 (当时FA36端口没做任何配置 ,为初始状态),又不是常态恒定的电平信号。另外,测试同时发现,在连接数据线的末端 (新转报机异步模块端),DCD控制信号管脚也产生了感应方波信号,形状与发信号管脚相同,峰值为5 V左右。

虽然接在FA36上的数据线端口没有接入DB-25的DCD控制信号管脚,但FA36端口发信号管脚输出的的方波信号经过4 m左右的数据线到达转报机端口时,在DCD控制信号管脚上产生了感应方波信号。由于异步单元的RJ-45端口接入DCD控制信号管脚,结果感应方波信号输入到了异步单元的异步端口中去。

(a) FA36设备SAE端口针脚3(TxD脚)默认输出电平波形图

(b) 转报异步单元针脚7(DCD脚)感应信号电平波形图

图3 方波信号波形图

DCD信号是载波检测信号,智能程控异步单元是通过检测DCD管脚的电平高低来判断链路是否中断。根据美国电子工业协会(Electronic Industry Association,EIA)制定的RS-232-C串行物理接口标准,正常的DCD管脚应该是常态恒定的,即全是正电压或全是负电压的输出状态。当DCD管脚出现了方波状态(即正电压和负电压交替出现),将会造成智能程控异步单元对链路状态的误判为一会儿中断一会儿正常。方波的频率越大,对链路状态的判断功能消耗了设备CPU的资源越多,最终几乎将CPU资源全部占用,而无法响应其他端口的数据收发。这时,如果把这条数据线拔掉,智能程控异步单元CPU资源被释放,可以恢复正常工作。

经过进一步测试发现,无论FA36的SAE端口配置成何种速率,端口的发送数据管脚都会输出15 V方波信号,区别是端口的速率越高,方波的频率也越大。同时,在数据线末端(故障实例为RJ-45接口端)的7针脚(异步单元定义为DCD控制信号管脚)会产生前文提到的5 V感应方波。测试表明,当FA36的SAE端口速率较低,如300 b/s~19.2 Kb/s时,由于感应方波频率较小,异步单元的CPU资源占用不算太大,还可以响应其他端口的数据收发;当FA36的SAE端口处于高速状态时,感应方波干扰频率较大,异步单元的CPU资源占用也随着增大,造成异步单元没有CPU资源去处理其他端口的数据收发和其他功能,从而产生死锁现象。

后经证实,FA36的SAE端口如果取消端口配置,而还原成默认状态时(即端口不作任何配置,不指定同异步状态和速率),端口会处于默认配置状态,即同步64 Kb/s。

3 故障启示

从故障分析中可以看到:新转报系统的智能程控异步单元的端口,除了一般异步线路所需的收管脚、发管脚和信号地管脚以外,其他控制信号管脚也接入了系统,包括DCD控制信号。新转报机的智能异步单元新增了对端口的DCD信号管脚的检测功能,通过对DCD信号的检测判断链路状态。如果判断链路状态为中断,就自动把要发送的AFTN电报保存起来,待链路状态恢复正常后继续发送,以避免发送电报的丢失。在默认设置下,转报机智能程控异步单元会探测并处理端口的DCD信号,所以DCD针脚的高频感应方波信号会导致异步单元CPU资源大量消耗,甚至死锁。针对这一特点,在对新转报系统的日常运行维护中,应避免感应方波信号干扰异步单元正常工作。

同时,要规范自动转报系统的运行维护,在取消转报系统异步业务时,应同时拆除相应端口的连线或设备,避免意外原因干扰设备正常工作。

4 结 语

本文通过日常运行维护中的一个故障实例分析,希望借此抛砖引玉,和大家一起分享一些设备维护的经验。目前,民航“十二五”规划正在逐步实施中,为了提高空管保障的水平,空管业务的传输设备不断升级和更新,平面通信网络性能也不断完善和提高。在新设备逐渐取代旧设备的过程中,特别应注意研究传输设备通信模块的电气特性,多与厂家沟通、了解并尽可能多地掌握新系统设备的技术特点和设计理念,尽快地熟悉和深入了解新设备的各种特性,不断积累维护经验,以提高自身的设备保障能力。

参 考 文 献

[1] 吕国祥.东进自动转报机应急系统的改造[J]. 空中交通管理, 2011(7): 48-50.

[2] 孙涛. 通信导航设备的维护工作漫谈[J]. 空中交通管理, 2001(3): 52-53.

[3] 付波. 自动转报机堵报预警系统[J]. 空中交通管理,1997(2):45-48.

异步通信篇6

关键词:信息异化;信息安全;安全保障策略

中图分类号:G202 文献标志码:A 文章编号:1000-8772(2013)09-0170-03

引言

在当前的错综复杂的信息环境中,信息随着信息环境多样化的发展,变得更加的丰富与多样。在信息的传播过程中,信息异化现象的越发明显,不仅给人们获取和利用信息带来了障碍。而且也进一步地影响了人们信息活动的安全。

“异化”(alienation)源于拉丁语alienation,有转让、疏远、脱离、差异和分离之意。所谓信息异化,是指人们创造的信息在生产、传播和利用等活动过程中,因受到各种因素的干扰,而导致信息丧失原有的内涵,甚至反客为主演变成外在的支配、统治和控制人的异己力量。简单地说,信息异化就是作为主体的人与作为客体的信息之间产生关系的颠倒,从而使人丢失了自身的主体性。由此可以看出,信息异化扭曲了信息的本质,直接影响了信息的合理利用,而如何客观的认识信息异化环境,准确处理信息异化问题,是我们必须解决的核心问题。

信息安全是信息异化所涉及到的最为敏感且重要的问题之一。关于信息异化在信息安全方面的研究,其采用的处理手段主要集中在信息导航、信息过滤控制以及信息安全保密角度三个方面。信息导航作为展示信息资源内容与结构的基本手段,以有序化的方式体现无序化的信息,为用户提供方便快捷的信息指引;网络信息过滤作为筛选信息、满足用户需求的有效方法,通过运用一定的标准和工具,从大量的动态网络信息流中根据用户的信息需求选取相关的信息或剔除不相关信息;信息安全保密控制的核心在于融合管理、技术、执法几种手段综合加以治理,通过内部网的安全保密技术以及内部网与外部网的防火墙技术隔离技术确保内部网的安全,同时细化电子文件密集,完善身份验证、存取控制、数据完整性、数据机密性、防火墙技术、安全协议等手段,实现信息安全技术的应用。

现阶段对于信息异化中信息安全的研究大多都处于强针对性条件下的研究现状,单一的目的性导致了信息异化影响无法完全消失,信息污染无法被彻底地清除,信息安全依旧得不到完善的保障。因此,本文旨在参照目前信息异化的现状处理的不足,在分析现有的安全保障系统缺陷的条件下,提出一套系统性的安全保障模式。

一、现有的企业信息安全保障系统

目前,国内外与信息异化环境下的信息安全保障相关的系统结构主要为OPSEC安全保障策略和网络信息创新平台。

(一)安全保障策略(OPSEC)系统

OPSEC安全保障策略(Operation Seeurity),是美国国家安全局依照企业反竞争情报的理念设计的一套以分析信息的价值人手,针对信息的价值来确定所要采取的保护策略的安全保障系统。OPSEC的运行机制是通过鉴别和分析竞争对手想要获得的决定竞争成败的关键信息,确定关键信息的危害程度,采取措施进行补救减少威胁,同时对自身信息系统的所有过程进行检验和分析。找到直接危害信息安全的弱点并采取弥补措施,通过对自身弱点的分析,找到弥补措施的平衡点,并最终综合上述所有的环节进行研究,制定出综合应对策略嘲。

OPSEC在通过运用过程中通过全面分析信息找出存在的漏洞,通过分析这些漏洞是否值得保护而进行的筛选信息保护。OPSEC的应用偏重于针对一定信息的异化处理和安全保障,有利于在低投入的条件下从根本上清除相关的信息污染,但降低了针对信息自身的多变性和时效性的异化分析。

(二)网络信息创新平台模式

网络信息创新平台即建立在技术进步基础之上,利用信息科学的基本原理和方法实现人类信息处理扩展的技术模式。网络创新平台的着重点在于虚实与创新有机结合的信息技术模式,从提高信息技术的综合水平上加强安全保密措施。虚实与创新有机结合的信息技术模式,在于针对现代信息技术发展造成信息生产者创新能力的丢失以及虚假信息扩散的现状,发展出的一种将虚实和创新有机结合的信息技术模式,通过信息的时效性、开放性等特征,将各种现实信息紧密联系,实现不同媒介信息的融合,提升信息的创新价值,在信息生产的阶段,由于信息技术的促使信息量逐步提升使得信息在急剧增加的同时质量下降,而提高信息技术的信息加工传递的速率以及信息的辨别处理能力。当今的技术漏洞使信息安全受到了威胁,成为威胁信息安全的隐患。信息系统安全保密技术是防止信息污染发生的一项关键性技术系统,保障信息活动逐步规范化。

网络信息创新平台在理论上建立起了针对信息异化环境的信息安全保障系统,通过从信息的生产源人手,进一步体现信息的本质并兼顾自身的安全保障,对信息的处理和安全保障更加规范化。但目前信息安全的发展缺乏在信息安全应用上的创新研究,研究与应用发展不平衡性,没有覆盖信息安全的主要方向。

二、企业信息安全保障系统构建与分析

(一)核心目标

信息安全保障系统是指在信息环境下由信息安全的各个组成部分相互联系且相辅相成所建立的总体结构。在信息异化的环境下,信息污染将成为信息安全的首要威胁之一,因此对于信息异化的处理将成为信息安全保障的首要工作。

信息安全保障系统能否具有可行性的关键,在于系统自身能否解决异化环境中信息污染的处理问题,以及能否适应当前所面对的各种客观的信息安全保障环境和日益加剧的安全系统漏洞。

(二)企业信息安全保障系统结构构建

信息异化环境下的企业信息安全保障系统(如图1所示),该系统的关键在于将异化后的信息通过信息清理模块的初步处理,使信息的核心价值得以体现,再通过安全保障模块的核心进行分析处理与安全保护模块的信息加密,防止信息受到二次异化,从而使得信息价值得到充分的利用。

(三)企业信息安全保障系统的运行机制

信息异化环境下企业信息安全保障系统的运行机制(如图2所示):将信息异化环境中被异化的信息提取并选择与自身安全有关联的信息进行关键词挖掘,通过对异化信息中的核心词汇进行提取用以找到合适的信息源,同时对同信息源或同类关键词汇进行合成从而形成关键信息并进行分析和制定安全保障策略,最后通过设置的保密措施来对安全保障策略进行实施和成效反馈。因此,该信息安全保障系统中应包含信息清理模块、安全保障策略模块以及自身的安全保护模块三个部分。

(四)企业信息安全保障系统功能分析

1 信息清理模块

信息清理模块主要用以对信息异化环境中受到异化的信息进行初处理,其具体的实施功能为信息源选取、关键词挖掘和信息集成。

(1)信息源选取。对信息异化环境中的信息进行过滤,选取与目前对自身安全有关的信息,并确认信息的信息源。(2)关键词挖掘。通过对与自身安全相关联的信息进行语义挖掘,判断并找出信息中的核心词汇。(3)信息集成。明确信息的信息源,并将其与被挖掘出来的信息关键词进行关联分析,同时通过将信息源所发出的所有与自身目前相关的信息与挖掘LIJ的信息关键词进行匹配,找到合适的信息体进行合成。

2 安全保障模块

安全保障模块是以信息分析,策略制定和实施以及成效反馈为主要步骤来进行的信息安全保障活动。

(1)信息分析。将已经合成的信息进行分析,发现其对自身信息安全产生的威胁,并找到自身信息安全存在的漏洞。(2)策略制定。对信息威胁和发现的信息漏洞进行综合研究,制定}H相关补救策略,同时进一步加强总体性的信息安全保障。(3)策略实施。针对所制定的策略细节进行加密保护,再将加密后的策略信息进行实施和传递存储。(4)成效反馈。基于策略实施后的成效进行反馈研究,并将结果进行加密后返送至信息分析功能板块,通过对反馈的成效分析,查漏补缺,进一步制定和完善信息安全保障策略。

3 安全保护模块

安全保护模块的主要功能是保密措施,其运行机制在于对安全保障模块中保障措施的实施和反馈进行的加密保护,并通过一系列实践活动进一步对策略的实施给予保障。

三、实验分析与验证

(一)信息清理

目前从网络销售平台中,将某手机品牌制造企业生产的E型手机选取三条相关信息:

信息1:本品牌产品本月综合关注排行有所提升;

信息2:此E型手机的总销量为近两百四十台;

信息3:此E型手机本月销量上升一个百分点。

(二)信息挖掘与集成

现分别将以上三条信息的关键词进行挖掘与集成,即如下表所示:

(三)安全保障

根据集成信息进行分析,可以得出本产品具有一定的市场潜力,在品牌效应促使下产品销量也正在逐步提升,因此,保障品牌的可信度以及产品的好评率是取得客户信任的关键一环。针对此现象,制定出进一步打造品牌效应,加强广告宣传力度以及实行产品促销活动,争取更广泛的客户群体的提升策略。

在策略进行的同时,开展有偿回访,积极深入了解客户的内心需求,并针对客户的需求进一步完善产品的功能,并在产品平台的基础上研发功能更加全面的软件,进行升级下载。

(四)安全保护

在策略制定的过程中,为了获取准确的客户信息。需要在客户回访中,深入了解客户购机的背景以及用途,同时进行多层次的交流以及实行多次的效应评估和完善评价。在品牌宣传的过程中实施相关信息的及时反馈,并在促销活动中体现品牌诚信以及公信度,从而进一步保障策略准确的实施和虚假异化信息的有效防范。

四、结论

信息是人及其活动中不可缺少的要素之一。在社会信息环境中,信息异化会促使人们表现出对自己创造的信息环境的不适感。针对信息异化现象的控制,需遵循信息生产、传播和利用的利他法则。因此,信息行为也必须像其他行为一样受道德与法律的双重规范的约束。对于信息异化的控制,需努力寻找其根源,从多个角度进行控制研究,有效控制信息异化。

通过对于目前所提出的信息异化环境下的企业信息安全保障系统的阐述,我们可以从中发现系统性综合性的信息安全保障模式可以在信息异化的环境下,针对特定的信息进行相关异化分析,并在内部和外部环境下的信息综合评价进行安全保护。但作为系统性的运作模式,各模块由于其间特性的不同,从而导致的模块之间的衔接较为简单,因而形成了信息安全保护相对较低、对于个别综合性较大的异化信息所需进行的处理力度略显不够的状况。因此,进一步提升信息安全的防范指数,促进信息异化环境下的信息安全运作系统各模块间的衔接,下一步所需研究的核心问题。

参考文献:

[1]刘丹丹,孙瑞英,网络环境下信息异化的心理原因探析[J]图书馆学研究,2009,33(4)

[2]孙瑞英。信息异化问题的理性思考[J]情报科学,2007,25(3):340-344

[3]曾忠禄,情报制胜[M],北京:企业管理出版社,2000:281-283

[4]俞培宁,信息异化的成因及对策研究[J],图书馆学研究,2011(3):9-11

[5]张立彬,信息异化的根源及其控制研究[J],情报科学,2009,27(3):338-343

异步通信篇7

关键词:异步时序逻辑电路;触发器;计算分析法;卡诺图分析法

中图分类号:TN710 文献标识码:A

文章编号:1004-373X(2008)06-014-05

Study on the Analyzing Method of Asynchronous Sequential Logic Circuit

QI Yaohui

(College of Physics Science and Information Engineering,Hebei Normal University,Shijiazhuang,050016,China)

Abstract:Firstly,the characteristics and kinds of the asynchronous sequential logic circuit are expatiated.Subsequently,in order to improve and enhance the analysis of circuit,the two-analysis methods,which include calculation analysis method and Karnaugh-map method are discussed in operating process and expression patterns by means of different examples,respectively,and improve the calculation analysis method.The results show that the improved calculation analysis symplized the analysis of asynchronous sequential logic circuits.The Karnaugh map method make its train of thought in process clear and its change of state directly.

Keywords:asynchronous sequential logic circuit;flip-flop;calculation analysis method;Karnaugh map method

数字逻辑电路按功能可以分为组合逻辑电路和时序逻辑电路。对于时序逻辑电路任一时刻的输出状态不仅取决于该时刻的输入信号,还与电路原有的状态即以前的输入有关。时序逻辑电路的分析是要找出给定电路的工作状态和输出状态在输入变量和时钟信号作用下的变化规律,得到其逻辑功能。依据组成存储电路各个触发器的时钟信号的不同,可分为同步时序逻辑电路和异步时序逻辑电路。同步时序逻辑电路中组成存储电路的各个触发器用同一个时钟脉冲作为时钟信号,各触发器状态的变化在这个时钟脉冲控制下同时进行,所以在分析中通常不考虑时钟信号,分析过程较为简单;异步时序逻辑电路中各个触发器采用不同的时钟信号,各触发器状态的变化不是同时发生,有先有后,分析时必须同时考虑各触发器的输入和时钟信号,分析过程比较复杂,是数字电子技术基础的难点。本文将对其分析方法进行详细的对比,以期更好地指导和利用异步时序逻辑电路。

1 异步时序逻辑电路功能的描述

异步时序逻辑电路功能的描述有4种方法:状态方程、状态转换表、状态转换图、时序图。状态方程是异步时序逻辑电路中各个触发器的次态与现态及输入量之间的逻辑表达式。他要求首先写出各个触发器的驱动方程、时钟方程和特性方程,然后将驱动方程代入到相应功能触发器的特性方程中,得到的逻辑表达式就是状态方程。由于状态方程所表示的逻辑关系只有在时钟信号作用下才成立,且各个触发器的时钟信号不同,时钟信号必须作为变量写入特性方程中。

通过状态方程就能够求得在任何输入变量状态下电路的输出和次态,电路的逻辑功能就已经清楚,但由于电路每一时刻的状态都和电路的历史情况有关,从状态方程还不能获得电路逻辑功能的完整印象。如果把电路在一系列时钟信号作用下状态转换的全部过程找出来,则电路的逻辑功能就可一目了然。用于描述时序电路状态转换的全部过程的方法有状态转换表、状态转换图和时序图。三种方法从不同的方面突出了异步时序逻辑电路的功能特点,他们可以互相转换,时序图可用于示波器观察,状态图更直观形象,可根据不同的需要选用不同的方法。

2 异步时序逻辑电路的分析方法

异步时序逻辑电路分析方法与同步时序逻辑电路的步骤基本相同,只是在计算各个触发器的次态时,必须首先考虑时钟信号,只有时钟信号到达时才能按照状态方程所决定的状态变化。接下来,通过具体的异步时序逻辑电路实例分析来将其3种方法进行比较。

2.1 计算分析法

异步时序逻辑电路的计算分析法的步骤一般分为如下几步:

确定电路:根据给定的电路,确定是否为异步时序逻辑电路,并明确电路的各个组成部分及输出、输入信号;写出逻辑表达式:逻辑表达式包括4个方程:驱动方程、时钟方程、状态方程、输出方程;推出异步时序逻辑电路的状态转换表、状态图及时序图;总结和概括出该电路的逻辑功能。

构造异步时序逻辑电路的触发器主要是J-K触发器和D触发器,下面通过J-KТシ⑵鞯氖道用计算分析法分析异步时序逻辑电路。

例1 分析如图1所示的异步时序逻辑电路的逻辑功能。

图1 九进制计数器

(1) 确定电路:根据给定的时序逻辑电路可知,构成存储电路的各个触发器的时钟信号不是由同一时钟脉冲提供的(即不连在同一条线上),因而各个触发器的状态变换是异步的,此时序逻辑电路是异步时序逻辑电路。

A、B、C、D是4个J-KТシ⑵鳎各个触发器的时钟脉冲不是连在一起,A触发器的时钟脉冲信号CP为外部输入脉冲,B触发器的时钟脉冲信号CP端取自Q1;C触发器的时钟脉冲信号CP端取自Q2;D触发器的时钟脉冲信号CP端取自外部输入脉冲。J-K触发器状态的翻转发生在CP脉冲的下降沿,分析在输入外部脉冲CP后各个触发器的状态的变化情况,从而找出该电路的状态变化规律。

(2) 写出逻辑表达式

① 各个触发器的驱动方程:

(3) 推出异步时序逻辑电路的状态转换表、状态图及时序图。

由状态方程推出异步时序逻辑电路的状态转换表时必须先分析各个触发器的时钟信号。所以在状态表中列出各个触发器的时钟信号,表示出现下降沿,-表示没出现下降沿。如表1所示。

表1 状态转换表1

做出状态转换图如图2所示:

图2 九进制计数器状态转换图

画出时序图如图3所示。

(4) 总结和概括出该电路的逻辑功能,通过分析可知,电路来9个脉冲循环1次,并且在CP脉冲的作用下,9个有效状态是按递增的规律变化的,所以该电路的逻辑功能是一个9进制异步加法计数器。

图3 九进制计数器时序图

2.2 改进的计算分析法

触发器的特性方程是分析时序逻辑电路的基本依据,他表达了触发器输出和输入的逻辑关系,但这种关系只有在时钟脉冲CP到达时才有效。那么将脉冲CP作为一个输入变量考虑进去,就可以得到带有时钟脉冲CP的触发器特性方程。将驱动方程带入到此特性方程中,即可得到带有时钟脉冲CP的状态方程。通过这种带有时钟脉冲CP的状态方程计算异步时序逻辑电路的次态,称为改进的计算分析法。这种方法可以直接把CP的取值代入到带有时钟脉冲CP的状态方程中来计算异步时序逻辑电路的次态,对比计算分析法中的考虑触发器的CP是否满足状态变化条件而言,不容易出现错误。

以D触发器为例进行说明:把CP写入D触发器的特性方程中得到带有时钟脉冲CP的D触发器特性方程:Qn+1=D•CP+Qn•CPD触发器是在CP脉冲的上升沿发生状态变化的,在异步时序逻辑电路中,把CP脉冲出现上升沿看成是一个事件。

(1) 当上升沿事件没有发生时,认为CP=0,则:Qn+1=D•CP+Qn•CP=Qn (触发器维持原态)。

(2) 当上升沿事件发生时,认为CP=1,则:Qn+1=D•CP+Qn•CP=D(各触发器按特性方程计算次态)。

例2分析如图所示的异步时序逻辑电路的逻辑功能

图4 八进制计数器

(1) 确定电路

由给定的时序逻辑电路可知,构成存储电路的各个触发器的时钟信号不是由同一时钟脉冲提供的(即不连在同一条线上),因而各个触发器的状态变换是异步的,此时序逻辑电路是异步时序逻辑电路。

A,B,C是3个D触发器,各个触发器的时钟脉冲不是连在一起的,A触发器的时钟脉冲信号CP为外部输入脉冲,B触发器的时钟脉冲信号CP端取自Q1,C触发器的时钟脉冲信号CP端取自Q2。

D触发器状态的翻转发生在CP脉冲的上升沿,分析在输入外部脉冲CP后各个触发器的状态的变化情况,从而找出该电路的状态变化规律。

或先计算CP的值,再把CP的值代入到各个带有时钟脉冲CP的状态方程中进行计算。

(3) 推出异步时序逻辑电路的状态转换表、状态图及时序图

由带有时钟脉冲CP状态方程推出异步时序逻辑电路的状态转换表如表2所示。作出状态转换图如图5所示。画出时序图如图6所示。

(4) 总结和概括出该电路的逻辑功能

通过分析可知,电路来8个脉冲循环一次,并且在CP脉冲的作用下,8个状态是按递减的规律变化的,所以该电路的逻辑功能是一个八进制异步减法计数器。

2.3 诺图分析法

卡诺图是分析和设计数字逻辑电路的重要工具,他是逻辑函数的一种表示方法,是反映输入变量与其函数逻辑关系的图形。一般情况下卡诺图的方格中是填入函数的最小项,用以表示一个函数。在分析异步时序逻辑电路时,首先要根据驱动方程、时钟方程和触发器的特性方程推出状态方程组,然后采用初态代入法列出状态转换表、做出状态转换图、画出时序图。

状态方程是表示以现态为自变量,以次态为因变量的逻辑式,那可以将由逻辑式表示的逻辑函数用卡诺图来表示,即在卡诺图的方格中填入相应的次态,成了次态卡诺图。

制作出次态卡诺图后,就可以直接读出状态转换表、状态转换图、时序图,这就是卡诺图分析法。

表2 状态转换表2

图5 八进制计算器状态转换图

图6 八进制计数时序图

(1) 卡诺图分析法分析异步时序逻辑电路功能的一般步骤为:

①确定电路;

②由给定的电路写出各个触发器的驱动方程、时钟方程;

③推出各个触发器的状态方程;

④画出次态卡诺图;为了得到总的次态卡诺图,可以先画出每个触发器的次态卡诺图,然后把他们合在一起即可得到电路的次态卡诺图。

⑤做出状态转换表、状态转换图、时序图;

⑥描述功能。

下面通过例1来说明卡诺图分析法。

①~③步骤同例1用的计算分析法。

(2) 次态卡诺图

先分别写出各个触发器的次态卡诺图:

① 将Qn+11=Qn4Qn1(CP)Ф寥肟ㄅ低

因为CP1=CP,且CP下降沿作用有效,所以每来一个CP下降沿脉冲,触发器A按状态方程Qn+11=Qn4Qn1规律翻转;若不提供相应的时钟脉冲则维持原态,按Qn+11=Qn1填入。如图7所示。

图7 Q1次态卡诺图

② 将Qn+12=Qn2(Q1)读入卡诺图

因为CP2=Q1,且Q1下降沿作用有效,即Qn1=1,Qn+11=0(Q1由1变0)。在Q1的卡诺图中找出满足Qn1=1,Qn+11=0的方格,用表示,为B提供时钟条件,在这些方格内(中间两列)按Qn+12=Qn2读入。在不提供CP2信号的方格内(边上两列)维持原态,按Qn+12=Qn2Ф寥搿H缤8所示。

图8 Q2次态卡诺图

③ 将Qn+13=Qn3(Q2)读入卡诺图

因为CP3=Q2,且Q2下降沿作用有效,即Qn2=1,Qn+12=0(Q2由1变0)。在Q2的卡诺图中找出满足Qn2=1,Qn+12=0的方格,用表示,为C提供时钟条件,在这些方格内(第3列)按Qn+13=Qn3读入。在不提供CP3信号的方格内(其他3列)维持原态,按Qn+13=Qn3Ф寥搿H缤9所示。

图9 Q3次态卡诺图

④ 将Qn+14=Qn1Qn2Qn3Qn4(CP)读入卡诺图

因为CP4=CP,且CP下降沿作用有效,所以每来一个CP下降沿脉冲,触发器D按状态方程Qn+14=Qn1Qn2Qn3Qn4规律翻转;若不提供相应的时钟脉冲则维持原态,按Qn+11=Qn1填入。如图10所示。

将以上4个卡诺图合在一起,得到Q4Q3Q2Q1的卡诺图。如图11所示。

图10 Q4次态卡诺图

图11 Q1,Q2,Q3,Q4次态卡诺图

⑤ 做出状态转换表、状态转换图、时序图(同例1)

状态转换表可以直接从次态卡诺图中读出。

⑥描述功能(同例1)。

3 三种方法的比较

分析异步时序逻辑电路的功能,可以采用上述的任意一种方法。通过分析可知,计算分析法和改进的计算分析法的计算工作量比较大,一个由n个触发器组成的异步时序逻辑电路,计算次态时需要进行n×2nТ渭扑悖并且在计算中稍不小心就会出错;改进的计算方法把CP脉冲写进状态方程中,计算时可以直接代入现态值,不需要考虑时钟的影响,相比传统的计算法较简单、出错率减小;而在卡诺图分析法中由状态方程画出次态卡诺图时,各个触发器的时钟信号可以直接看出,并且可以整行或整列填充,也使工作量、出错率减小。

4 结 语

对比同步时序逻辑电路的分析而言,异步时序逻辑电路的分析相当地复杂,因为每来一个时钟脉冲并不是所有的触发器都满足翻转条件,只有满足翻转条件的触发器才能用状态方程求出次态,而不满足翻转条件的触发器则保持原态,所以在分析中判断各个触发器是否满足翻转条件是关键,也是难点。而改进的计算分析法通过带有时钟脉冲的状态方程计算次态,分析时不用考虑各个触发器的翻转条件,直接把现态值代入带有时钟脉冲的状态方程即可得出次态;卡诺图分析法在卡诺图中列出了各个触发器时钟信号的现态和次态,使各个触发器的翻转条件变得直观,容易判断。这2种方法在简化异步时序逻辑电路的分析,使分析速度加快的同时,也加速了异步时序逻辑电路的应用和发展。

参考文献

[1]阎石.数字电路技术基础\[M\].北京:高等教育出版社,1998.

[2]清华大学电子学教研组.数字电子技术基础\[M\].3版.北京:高等教育出版社,1998.

[3]唐昌凡.时序逻辑电路分析方法剖析\[J\].四川师范学院学报:自然科学版,1995,16(3):237-240.

[4]李永生.异步时序逻辑电路的卡诺图分析法\[J\].淮北职业技术学院学报,2002,1(1):65-67.

[5]李哲英.电子技术及其应用基础\[M\].北京:高等教育出版社,2003.

[6]宋学君.数字电子技术\[M\].北京:科学出版社,2002.

[7]刘必虎,沈建国.数字逻辑电路\[M\].北京:科学出版社,1999.

[8]江静.时序逻辑电路分析方法的改进\[J\].防灾技术高等专科学校学报,2005,7(2):107-110.

[9]唐昌凡,段金蓉.时序逻辑电路的次态卡诺图分析法\[J\].四川师范学院学报,1999,20 (3):273-277.

[10]倪数范.次态卡诺图在时序逻辑电路分析和设计中的运用\[J\].绵阳师范高等专科学校学报,2000,19(5):30-37.

[11]李弋,任骏原,张凤云.时序逻辑电路功能表示方法的分析\[J\].渤海大学学报:自然科学版,2004,25(4):326-327.

[12]吴恒玉.利用条件输出增多EPROM的数据线\[J\].现代电子技术,2007,30(4):174-175,182.

异步通信篇8

关键词:线路保护;光纤通道参数;失步次数

作者简介:唐磊(1979-),男,安徽阜阳人,安徽省阜阳供电公司,工程师,高级技师。(安徽 阜阳 236046)

中图分类号:TM77  文献标识码:A  文章编号:1007-0079(2011)36-0168-02

2011年9月14日,在某变电站内进行继电保护巡检过程中,发现运行中的220kV 甲线路光纤纵差保护(南瑞继保的RCS-931型)通道状态参数中的失步次数在不断增加,平均每秒增加1次,但保护装置运行正常,无异常信号。检修人员立即联系对侧运行人员,发现本线路对侧光纤纵差保护的失步次数也出现相同现象。在向调度申请后,将该线路两侧的光纤纵差保护转为信号状态。经过检查发现,使用中的光纤差动保护1号光纤芯衰耗增大,致使保护装置收到的电平超过了正常灵敏接收电平。将1号光纤芯更换为测试正常的3号备用光纤芯后,通道状态参数恢复正常。

一、光纤通道的应用

目前线路光纤纵联保护所使用的光纤通道按通道方式一般可分为专用光纤通道和复用光纤通道。220kV及以上电压等级线路采用光纤通道双重化配置,即一套采用专用光纤通道,另一套采用复用光纤通道,或两套均采用专用光纤通道,但不能共用一根光缆。具体到线路纵联保护配置即为一套采用光纤纵差保护,另一套采用光纤纵联方向保护,或两套均为光纤纵差保护,或一套采用光纤纵联距离保护,另一套采用光纤纵联方向保护。

二、光纤通道参数

虽然各个厂家的线路光纤保护通道参数菜单不一致,但所涉及的参数却不尽相同。大体包括通道状态、纵联码、通道延时、失步次数、误码(帧)总数、丢(无)帧总数、报文异常数、对侧异常数、报文间超时、严重误码数等。

通道状态:实时显示当前光纤通道运行是否正常;

纵联码:通过设置线路两侧保护装置的主从机状态或者纵联码,实现两侧信息的同步交换,其中一侧作为参考端,另一侧作为同步端,同步端实时调整采样间隔,如果满足同步条件就向对侧传输信息,当两侧不满足同步条件就启动同步过程,直到满足同步条件为止;

通道延时:实时显示测量到的通道通信延时数据;

失步次数:为两侧装置采样失步(由通道中断、丢帧等原因所致)次数的累加;

误码(帧)总数:为接收到错误帧(通不过CRC校验的数据帧)的累加数;

丢(无)帧总数:为约定时间内接收不到数据帧的累加数;

报文异常数:为接收到错误帧(由于数据流传输过程发送错误引起同步字节出错)的累加数;

对侧异常数:为对侧装置接收不到正确数据帧的累加数;

报文间超时:为两相邻同步报文间的时间间隔大于规定门槛值的次数累加(同步时前后两报文间的时间间隔应保持恒定);

严重误码数:为约定时间内接收到错误帧达规定数量时的累加数;

上述通道状态参数所统计的数字应恒定不变,长时间运行时可能会有小的增加,以每天增加数字不超过10个为宜。

三、故障分析与处理

1.故障现象及原因分析

(1)现场运行中的220kV 甲线路微机光纤纵差保护通道状态参数分别为:本侧变电站――通道延时184us、误码总数332、报文异常数215、报文间超时19601,对侧变电站――通道延时184us、误码总数51765、报文异常数57031、报文间超时13578,上述参数固定不变,而两侧的失步次数在不断增加,平均每秒增加1次。保护装置运行正常,无异常信号,其中本侧三相电流采样值均为0.19A,对侧A相电流采样值为0.21A,B相电流采样值为0.21A,C相电流采样值为0.17A,两侧差动电流A相为0.03A,B相为0.07A,C相为0A。

(2)虽然保护装置运行正常,两侧差动电流接近为0,可失步次数的不断增加,说明线路两侧保护装置不能实时交换信息,失步次数每增加1次,由于收不到对侧交流采样值,两侧差动保护就瞬时退出1次,但由于差动保护退出时间小于通道异常报警条件(当差动保护退出400ms时装置报“通道异常”),所以装置没有告警信号。由于两侧通道延时数据相同,且除了失步次数外其它参数固定不变,初步判断为保护光纤传输衰耗增大。

2.故障分析和处理

(1)经过紧急向调度申请,将该线路两侧的光纤纵差保护转为信号状态。两侧共有4根专用光纤芯,其中3、4号光纤芯为备用光纤,本侧变电站使用1号光纤芯为发信光纤、2号光纤芯为收信光纤,对侧变电站反之,以RCS-931型装置本体光源作为发信光源,两侧分别用光功率测试仪来测量光纤收信电平、传输衰耗,结果。

经检查发现,1号光纤芯衰耗由原来的16dB增大到26dB,致使保护装置收到电平为-40dBm,超过了保护装置正常灵敏接收电平-35dBm(本线路长度为35.3km,保护采用2M单模专用光纤,常规插件波长为1310nm的接收灵敏度为-35dBm)。

(2)将1号光纤芯更换为3号备用光纤芯后,两侧通道参数分别为:本侧变电站――通道延时184us、失步次数30033、误码总数479、报文异常数423、报文间超时56801,对侧变电站――通道延时184us、失步次数30040、误码总数51995、报文异常数59879、报文间超时109291,上述参数固定不变,通道状态恢复正常。

四、结束语

随着线路微机光纤纵差保护理论的日臻完善,光纤技术在电力系统得到了广泛应用。光纤通道的加工设备少、可靠性高、抗干扰能力强的优点使得保护装置的运行更加稳定可靠。但是大量的光纤通道状态参数的使用和日常维护管理也使得检修人员和运行人员的工作量大大增加。

异步通信篇9

0 引言

PIC18F__8单片机是美国微芯公司推出的16位RISC指令集的高级产品,由于芯片内含有A/D、内部E2PROM存储器、I2C和SPI接口、CAN接口、同步/异步串行通信(USART)接口等强大的功能,具有很好的应用前景。但是,目前介绍其应用和以C语言编程的中文参考资料很少。本文将探讨该型单片机异步串行通信的编程应用,程序用HI-TECH PICC-18 C语言编写,并在重庆大学-美国微芯公司PIC单片机实验室的PIC18F458实验板上通过。

1 PIC18FXX8单片机同步/异步收发器(USART)

通用同步/异步收发器(USART)模块是由PIC18FXX8内的三个串行I/O模块组成的器件之一(USART也叫串行通信接口即SCI),可以配置为全双工异步方式、半双工同步主控方式、半双工同步从动方式三种工作方式。

TXSTA是PIC18FXX8单片机串行通信发送状态和控制寄存器,RCSTA是接收状态和控制寄存器。由于在实际工程中,异步方式用得最多,这里仅介绍异步工作方式,其它方式可参阅相关资料。

1.1 USART 异步工作方式

在异步工作方式下,串行通信接口USART采用标准的不归零(NRZ)格式(1位起始位、8位或9位数据位和一位停止位),最常用的数据位是8位。片内提供的8位波特率发生器BRG可用来自振荡器时钟信号产生标准的波特率频率。通过对SYNC位(在TXSTA寄存器中)清零,可选择USART异步工作方式。

1.2 USART波特率发生器(BRG)

USART带有一个8位的波特率发生器(BRG),这个BRG支持USRAT的同步方式和异步方式。用SPBRG寄存器控制一个独立的8位定时器的周期。在异步方式下,BRGH位(控制寄存器TXSTA的)也被用来控制波特率。在同步方式下,用不到BRGH位。表1给出了在主控方式下(内部时钟)不同USART工作方式时的波特率计算式。

表1 主控方式下的波特率计算式

SYNC

BRGH=0(低速)

BRGH=1(高速)

(异步)波特率=FOSC/[64(X+1)]

波特率 = FOSC/[16(X+1)]

1

(同步)波特率=FOSC/[4(X+1)]

1.3 USART 异步工作方式配置

下面是串行通信异步工作方式配置步骤(顺序可以改变):

(1)配置发送状态和控制寄存器TXSTA;

(2)配置接收状态和控制寄存器RCSTA;

(3)配置RX(RC7引脚)、TX(RC6引脚)分别为输入和输出方式;

(4)通过设定的通信波特率配置SPBRG寄存器,计算公式参见表1;

(5)设置串行通信接收或发送中断是否使能;

(6)清串行通信接收或发送中断标志;

(7)设置串行通信接收中断或发送中断的优先级是高或低优先级中断方式,PIC18单片机默认情况下是高优先级中断,若是低优先级中断,则必须进行设置;

(8)设置串行通信接收和发送数据是否允许。

若用到了中断功能,还需设置总中断和中断使能,以开放未屏蔽的中断。

2 USART接口硬件电路

利用PC机配置的串行口,可以很方便地实现PC机与PIC18单片机的串行数据通信。PC机与PIC单片机USART连接最简单的是三线方式。由于PIC单片机输入、输出电平为TTL电平,而RS-232C PC机配置的是RS-232C标准串行接口,二者电气规范不一致,因此要完成PC机与微控制器的串行数据通信,必须进行电平转换。图1为PIC18F458单片机的RS-232电平转换电路。图中MAX232(或MAX202)将PIC18单片机TX输出的TTL电平信号转换为RS-232C电平,输入到PC机,并将PC机输出的RS232C电平信号转换为TTL电平输出到PIC微控制器的RX引脚。J9和PC机的连接方式见RS-232标准,与单片机相接的D型头(J9)的2脚(PIC接收信号)与接PC机D型头的3脚(PC机发送信号)相连,与单片机相接的D型头(J9)的3脚(PIC发送信号)与接PC机D型头的2脚(PC机接收信号)相连,二者的5脚与5脚相连(地相连)。PC机串口数据的发送和接收显示均可采用各种串口调试软件,我们使用的是串口调试助手V2.2(或V2.1、V2.0均可),在网上可以下载该调试软件,该软件操作简单,这里不作介绍。

3 USART异步工作方式编程

串行通信的接收有查询和中断2种方式,在实际应用中,一般不采用查询接收数据,常用的是中断接收数据。发送有中断发送和非中断发送,在下面的例程中我们采用了中断接收数据,发送数据采用中断方式还是非中断方式可以在程序中通过对发送方式标志Send_Mode(不为0,中断方式发送;=0,非中断方式发送)进行设置实现。

在PIC单片机发送数据时,发送中断标志TXIF不能用软件清0,只有当新的发送数据送入发送数据寄存器TXREG后,TXIF位才能被硬件复位,因此在程序中清该标志是无效的。采用中断发送数据的方法是:在主程序中启动发送一串数据的第一个数据,然后利用发送完成中断启动下一个数据发送,当一串数据发送后,不再发送数据,但有发送完成中断标志,程序还要进入一次中断,这最后一次中断对数据发送是无用的,必须将该标志清0,采用的方法是禁止发送使能(TXEN=0)而引起发送被终止或对发送器复位。

下面是一个用串行通信进行接收和发送数据的例程,程序实现功能:PIC18单片机接收到PC机下发的8个数据后,将收到的8个数据以中断或非中断发送方式返送回PC机。

#include "pic18.h" /* PIC18系列的头文件 */

unsigned char receive232[8]; /* 接收数据数组 */

unsigned char send232[8]; /* 发送数据数组 */

unsigned char receive_count=0; /* 接收数据个数计数 */

unsigned char send_count=0; /* 发送数据个数计数 */

unsigned char *point

er; /* 发送数据指针 */

unsigned char i; /* 程序中用到的循环变量 */

unsigned char SciReceiveFlag; /* =1,接收到8个数据 */

unsigned char Send_Mode=0; /* 不为0,中断方式发送;=0,非中断方式发送 */void sciinitial() /* 串行通讯初始化子程序 */

{

TXSTA=0x04; /* 选择异步高速方式传输8位数据 */

RCSTA=0x80; /* 允许串行口工作使能 */

TRISC=TRISC|0X80; /* :将RC7(RX)设置为输入方式 */

TRISC=TRISC&0Xbf; /* RC6(TX)设置为输出 */

SPBRG=25; /* 4M晶振且波特率为9600时,SPBRG设置值为25 */

PIR1=0x00; /* 清中断标志 */

PIE1=PIE1|0x20; /* 允许串行通讯接口接收中断使能 */

RCIP=0; /* 设置SCI接收中断为低优先级中断 */

CREN=1; /* 允许串口连续接收数据 */

if(0==Send_Mode) TXEN=1; /* Send_Mode=0,非中断方式发送,串口发送数据使能 */

else /* Send_Mode=1,中断方式发送 */

{

PIE1=PIE1|0x10; /* 允许中断发送 */

TXIP=0; /* 发送低优先级中断 */

}

}

void interrupt low_priority LOW_ISR() /* 低优先级中断子程序 */

{

if(RCIF==1) /* RS232接收中断 */

{

RCIF=0; /* 清中断标志 */

receive232[receive_count]=RCREG; /* 接收数据并存储 */

send232[receive_count]=RCREG; /* 接收数据存放到发送缓冲数组 */

receive_count++; /* 接收计数器加1 */

if(receive_count>7) /* 如果已经接收到8个数据 */

{

receive_count=0; /* 接收计数器清0 */

SciReceiveFlag=1; /* 置接收到8个数据标志 */

}

}

else if((0!=Send_Mode)&&(TXIF==1)) /* 中断发送数据方式且为发送中断 */

{

if(send_count>7) /* 已经发送完8个数 */

{

TXEN=0; /* 发送不使能 */

return;

}

else

{

send_count++; /* 发送计数器加1 */

TXREG=*pointer++; /* 发送当前应发送数据,发送指针加1 */

}

}

}

main() /* 主程序 */

{

INTCON=0x00; /* 关总中断 */

ADCON1=0X07; /* 设置数字输入输出口,不用作模拟口 */

PIE1=0; /* PIE1 的中断不使能 */

PIE2=0; /* PIE2 的中断不使能 */

PIE3=0; /* PIE3 的中断不使能 */

Send_Mode=1; /* Send_Mode不为0,中断方式发送数据;

Send_Mode =0,非中断方式发送数据 */

sciinitial(); /* 串行通讯初始化子程序 */

IPEN=1; /* 使能中断高低优先级 */

INTCON=INTCON|0xc0; /* 开总中断、开接口中断 */

while(1)

{

if(1==SciReceiveFlag) /* 是否接收到8个通信数据 */

{

SciReceiveFlag=0; /* 清接收到8个通信数据标志 */

if(0!=Send_Mode) /* Send_Mode不为0,中断方式发送 */

{

send_count=0; /* 发送数据计数清0 */

pointer=&send232[0]; /* 发送指针指向发送数据数组首地址 */

TXREG=*pointer++; /* 发送第一个数据后,将发送指针加1 */

TXEN=1; /* 使能发送 */

}

else /* Send_Mode =0,非中断方式发送数据 */

{

pointer=&send232[0]; /* 发送指针指向发送数据数组首地址 */

for(i=0;i<8;i++)

{

TXREG=*pointer++; /* 发送数据后,将发送指针加1 */

while(1) /* 等待发送完成 */

{

if(TXIF==1) break; /* 等待发送完成 */

}

}

}

}

}

}

异步通信篇10

[关键词]数字资源Web集成模式异步通讯

[分类号]G250.76

1 引 言

实体图书馆的可用数字资源快速增加,多数通过Web界面使用,给用户提供一种方便的使用环境成为图书馆的迫切任务。由此,数字资源的整合与集成…逐渐成为一种发展的趋势和业界研究与实践的热点,其中,数字资源的整合检索和关联集成是两个比较主要的方面:整合检索要解决的问题是通过统一的界面从众多的数字资源系统中获取相关的资源,已经比较成熟;关联集成要解决的问题是揭示内容相关的分布式存在的数字资源之间的内在联系,在应用系统中由一个资源对象通过关联条件与其它的资源对象建立相关关系,将相关联的资源尽可能地集中展示给用户。关联集成的效果取决于关联条件、接口类型、技术架构、响应速度、表达形式等多方面的因素,集成方案设计时需要根据预期集成效果和可用的条件选择最合适的模式。本文试从数字资源Web关联集成实现中普遍涉及的侧面对集成的模式进行研究,对具有良好应用前景的异步通讯资源集成进行具体讨论。

2 数字资源Web关联集成模式分析

数字资源Web关联集成主要从三种途径实现:①在页面中直接嵌入目标资源的内容,如:书封;②在页面上提供一个到目标资源的访问链接,如:电子全文链接;③在页面上提供一个到目标资源的检索链接,如:查找一个特定ISBN随书光盘的链接。无论何种途径,都存在一些共性的侧面,形成了不同适用性的集成模式。本文将关联集成结构中发出关联请求的资源称为源资源,将被请求的资源称为目标资源。

2.1 紧耦合模式和松耦合模式

从关联程度划分,紧耦合模式在源资源和目标资源之间有明确的绑定关系,通过加工生成的资源标识或内部ID等作为关联条件。例如:通过索书号关联处于两个不同的资源系统中的图书和随书光盘。它的优势在于有排它性的、稳定的匹配关系,其覆盖范围是所有经过这种加工的资源。它的缺点是不通用,只适用于图书馆内部或特定的采用相同标识做区分的联合体中,并且有维护各种标识体系的麻烦。

松耦合模式则通过资源本身的特征属性进行关联,源资源和目标资源之间没有事先设计的匹配关系。如:通过ISBN/ISSN号关联OPAC的书刊记录和他们的电子版全文。此模式可以跨系统、跨地域、跨国界地使用,有广泛的集成范围,但有产生误匹配的可能。如:多刊共用一个ISSN号的情况下匹配就有一定的错误几率。通过书名的关联其匹配正确率更低。实际应用中需要根据具体情况确定一个相对合适的匹配方案,如:首选ISBN号匹配,无ISBN号时自动使用“书名+著者”匹配。

2.2 静态模式和动态模式

从关联建立过程划分,静态模式将到目标资源的访问链接预先写在源资源中,典型的例子是将书目对应的电子全文的链接直接写在MARC书目记录的856字段中。也有实践是将相应的数字资源信息写在专用表中,如:Melinets书目系统提供了与其他电子资源链接的接口表manager,oth_guangcang,将相对应的电子图书的URL链接写入这个接口表中就可以在Melinets系统的OPAC检索界面上看到“其他电子资源数据”下对应的电子全文链接了。静态模式的优点是匹配相对准确,是对确定存在资源的关联,在正常情况下一定有目标资源存在,缺点是需要根据目标资源的地址变动不断地更新数据,维护成本较高,也难以保持数据的完全实时。

动态模式是通过提交含有关联条件的资源请求临时建立源资源和目标资源之间的关联,其优点是没有附加的数据维护成本,可以快速地建立起资源之间的关联连接,支持更灵活的表达形式、更丰富的信息格式,是目前占主导地位的集成模式。但它在速度上有延迟的可能,也会多消耗一定的计算能力和网络流量,并且需要一定的系统开放接口。不同类型的开放接口对资源集成的难度和效果都有很大影响。

基于数据库的开放接口提供了通过ODBC、JDBC等直接连接数据库进行匹配操作的途径,其优势是使用者有比较多的主动权,可以灵活地得到多种个性化输出结果。但这要求开发人员对目标资源的数据库结构有清楚的了解,同时需要制作比较复杂的SQL语句,并考虑速度等多方面的优化问题。而且,当数据库结构改变时,相应的应用程序会受到影响,需要随之变动。

基于标准工业协议的开放接口屏蔽了目标资源系统的数据库结构和技术细节,应用相对安全,如:Z39,50、OpenURL、SOAP等。他们也比较成熟,在资源系统升级换代时相对稳定。但要求源资源和相关系统都支持同样的协议,经过适当的配置。

基于Web API的开放接口近几年发展特别迅速,他们直接通过http协议实现,降低了异构系统互连的门槛,使用简单,也为将资源系统的技术实现与应用系统的构建分离开来提供了一个便捷的途径。但它也有比较明显的缺点:目前尚缺少统一的标准,信息处理难度差异大,要针对多种应答形式开发不同的解析程序。Web API的常见应答形式是:JSON、XML、文本和HT―ML。一般情况下,前三种是作为开放接口专门开发的,应答信息的长度短、结构性强、传递快;HTML API一般来自网页调用,信息结构性差,传递时要获取整个网页,信息提取也比较困难。

2.3 同步通讯模式和异步通讯模式

从通讯方式划分,同步通讯模式时,浏览器的Web页面内容采取整体处理的方式,即:无论是文字还是图片,无论来自本地还是远程,页面的显示过程要等全部内容都有响应后才结束,才允许用户进行下面的操作。因此,当某些应答反应缓慢时,用户就有等待感。

异步模式允许web页面的内容分步显示,页面中的同步部分传输完毕后就把操作权力交给了用户,异步部分的应答到达后可以局部刷新页面,等待异步请求应答期间不影响用户的其他操作。由于异步通讯改善了用户体验,人们甚至用它逼近GUI的效果。目前异步通讯主要由AJAX(Asynchronous JavaSeript AndXML)和AJAJ(Asynchronous JavaSeript and JSON)两种架构实现。由于XML、JSON格式的应答能够传输复杂的含有语义和结构的信息,并且有机会将这些信息用程序处理后使用,所以异步通讯模式下还可以实现复杂的资源集成功能。

2.4 直接模式和间接模式

从关联路径划分,直接模式是源资源直接与目标

资源发生关联。其优势是保持了各系统原有的使用独立性,数据实时,没有额外的存储开销,但与动态模式结合使用时需要目标资源系统有一定的开放接口。

间接模式下则存在一个中间数据源作为中间转换点(或称中间库),源资源与中间转换点发生关联,中间转换点含有目标资源的访问地址,源资源从中间转换点获取目标资源的访问地址,继而与目标资源确定访问关系。中间转换点可能是通过OAI―PMH收割的信息,也可能是以批导人方式集中的元数据等,如:重庆大学图书馆构建的电子图书平台。间接模式有两个主要的作用:一是可以解决部分资源系统没有合适的开放接口,不能直接集成的问题;二是可以减少一定的网络连接数量,源资源的一个指向中间转换点的请求可以实现对多个目标资源的关联。间接模式的缺点是,需要不断维护和更新中间转换点的数据,也不能实时反映目标资源的可访问性。

2.5 浏览器模式和服务器模式

从关联请求发起点划分,浏览器模式是从浏览器发出请求到目标资源或中间转换点。其优点是不占用服务器的资源,中间环节少。但是,有一些客观上的限制需要考虑:①与异步通讯模式结合使用时,AJAX不能跨域使用,不能用AJAX在浏览器端直接集成远程资源。如果目标资源有JSON API,可以使用无跨域限制的AJAJ架构。②目标资源有IP地址限制时,要求浏览器端的IP地址必须在许可范围之内。

服务器模式下浏览器将请求发到本地服务器,由服务器再发出到目标资源或中间转换点的请求,服务器负责反馈应答信息至浏览器。这种模式下的所有流量都经过服务器,对服务器的性能要求较高。但是它可以解决浏览器模式不能解决的一些问题。如:异步通讯模式下使用AJAX集成远程资源。另外,在目标资源有IP地址访问限制时,可选择不同的揭示方案,对于互联网上的公开资源,可取浏览器模式,而图书馆购买的资源使用服务器模式,这样可以不受浏览器端的IP地址限制去显示图书馆的资源信息,而实际访问由IP地址控制。

2.6 检索链接模式与访问链接模式

从链接性质划分,检索链接模式提供含有关联条件(如:ISBN号)的到目标资源的检索表达,用户点击后可以得到在目标资源库的检索结果。这种链接在技术上实现简单,缺点是有无命中记录事先不确定,用户每次都要搜搜看。

访问链接模式提供到确定性存在资源的使用链接,用户在界面上可以一目了然地知道存在哪些相关资源。如:在书目记录显示页面直接给出相应的电子图书、随书光盘等的使用链接。这种模式服务更主动,给用户提供了更大的方便。但动态模式下实现起来比较复杂,需要系统自动判断目标资源是否存在,然后根据实际情况给出链接。

3  数字资源集成实践

针对数字资源集成的一些问题:如何在应用系统中无缝地融合与揭示,如何消除延迟响应造成的用户等待感,如何协调不同的接口与预期集成效果等,笔名进行了Web API(XML API、HTML API、JSON API)接口的异步通讯资源集成实践,获得了预期的集成效果。即:在现有资源系统的基础上,不借助第三方软件,主动揭示出一个资源项在其它资源系统中的相关资源,同时具有可设计的显示形式和良好的用户界面响应速度。本实践使用ALEPH 500的OPAC作为Web应用系统,几类具有代表性的资源如表1所示:

3.1 通过XML/HTML API进行异系统异步通讯资源集成

XML API和HTML API接口的异步通讯资源集成技术架构选用AJAX和MAH(Asynchronous JavaScriptAnd HTML)。两个关键点是:AJAX/AJAH不能跨域的问题和应答信息处理问题。前者的解决使用了CGI技术,将浏览器的异步请求转向本地服务器的CGI;后者使用XML DOM解析了XML应答信息,另使用正则匹配方法通过页面分析从无结构的HTML应答中提取信息。其AJAX/AJAH集成架构如图2所示:传递应达信息;⑤解析应答信息,提取目标资源访问地址,在Web页面上生成访问链接;⑥用户点击链接打开目标资源。

3.2 通过XML/HTML API进行同系统异步通讯资源集成

在同系统异步通讯资源集成中不涉及跨域问题。其AJAX/AJAH集成架构如图3所示:

异步通讯资源集成架构

注:①通过XMLHttpRequest向本地服务器发出请求;②返回 XML/HTML应答信息;③解析应答信息,并在Web页面上生 成链接;④用户点击链接打开目标资源。

3.3 通过JsON API进行异步通讯资源集成

JsoN应答信息可以通过HTML中script标签的src属性获取。其AllAJ集成架构见图4所示。

注:①通过scrpt标签的src属性使用JsON API访问目标资源席;②返同JSON格式应答信息给callback函数;③解析JSON信息,在Web页面上生成访问链接;④用户点击链接打开目标资源。

3.4 基于中间库的xML/HTML API接口异步通讯资源集成

源资源通过中间库获得相应的目标资源的访问地址。其AJAX/AJAH集成架构如图5所示:

注:①通过XMLHttpRequest向本地服务器发出请求;②使川XML/HTMLAPI访问中间库;③返回XMIVHTML应答信息;④传递应答信息;⑤解析应答信息,提取目标资源访问地址,并在Web页而面上生成链接;⑥用户点击链接打开目标资源。