1 PS/2接口标准的发展过程
随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981年IBM推出了IBM PC/XT键盘及其接口标准。该标准定义了83键,采用5脚DIN连接器和简单的串行协议。实际上,第一套键盘扫描码集并没有主机到键盘的命令。为此,1984年IBM推出了IBMAT键盘接口标准。该标准定义了84~101键,采用5脚DIN连接器和双向串行通讯协议,此协议依照第二套键盘扫描码集设有8个主机到键盘的命令。到了1987年,IBM又推出了PS/2键盘接口标准。该标准仍旧定义了84~101键,但是采用6脚mini-DIN连接器,该连接器在封装上更小巧,仍然用双向串行通讯协议并且提供有可选择的第三套键盘扫描码集,同时支持17个主机到键盘的命令。现在,市面上的键盘都和PS/2及AT键盘兼容,只是功能不同而已。
2 PS/2接口硬件
2.1 物理连接器
一般,具有五脚连接器的键盘称之为AT键盘,而具有六脚mini-DIN连接器的键盘则称之为PS/2键盘。其实这两种连接器都只有四个脚有意义。它们分别是Clock(时钟脚)、Data数据脚、+5V(电源脚)和Ground(电源地)。在PS/2键盘与PC机的物理连接上只要保证这四根线一一对应就可以了。PS/2键盘靠PC的PS/2端口提供+5V电源,另外两个脚Clock(时钟脚)和Data数据脚都是集电极开路的,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。现在比较常用的连接器如***1所示。
2.2 电气特性
PS/2通讯协议是一种双向同步串行通讯协议。通讯的两端通过Clock(时钟脚)同步,并通过Data(数据脚)交换数据。任何一方如果想抑制另外一方通讯时,只需要把Clock(时钟脚)拉到低电平。如果是PC机和PS/2键盘间的通讯,则PC机必须做主机,也就是说,PC机可以抑制PS/2键盘发送数据,而PS/2键盘则不会抑制PC机发送数据。一般两设备间传输数据的最大时钟频率是33kHz,大多数PS/2设备工作在10~20kHz。推荐值在15kHz左右,也就是说,Clock(时钟脚)高、低电平的持续时间都为40μs。每一数据帧包含11~12个位,具体含义如表1所列。
表1 数据帧格式说明
1个起始位
总是逻辑0
8个数据位
(LSB)低位在前
1个奇偶校验位
奇校验
1个停止位
总是逻辑1
1个应答位
仅用在主机对设备的通讯中
表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。
2.3 PS/2设备和PC机的通讯
PS/2设备的Clock(时钟脚)和Data数据脚都是集电极开路的,平时都是高电平。当PS/2设备等待发送数据时,它首先检查Clock(时钟脚)以确认其是否为高电平。如果是低电平,则认为是PC机抑制了通讯,此时它必须缓冲需要发送的数据直到重新获得总线的控制权(一般PS/2键盘有16个字节的缓冲区,而PS/2鼠标只有一个缓冲区仅存储最后一个要发送的数据)。如果Clock(时钟脚)为高电平,PS/2设备便开始将数据发送到PC机。一般都是由PS/2设备产生时钟信号。发送时一般都是按照数据帧格式顺序发送。其中数据位在Clock(时钟脚)为高电平时准备好,在Clock(时钟脚)的下降沿被PC机读入。PS/2设备到PC机的通讯时序如***2所示。
当时钟频率为15kHz时,从Clock(时钟脚)的上升沿到数据位转变时间至少要5μs。数据变化到Clock(时钟脚)下降沿的时间至少也有5 μs,但不能大于25 μs,这是由PS/2通讯协议的时序规定的。如果时钟频率是其它值,参数的内容应稍作调整。
上述讨论中传输的数据是指对特定键盘的编码或者对特定命令的编码。一般采用第二套扫描码集所规定的码值来编码。其中键盘码分为通码(Make)和断码(Break)。通码是按键接通时所发送的编码,用两位十六进制数来表示,断码通常是按键断开时所发送的编码,用四位十六进制数来表示。
3 PS/2接口的嵌入式软件编程方法
PS/2设备主要用于产生同步时钟信号和读写数据。
3.1 PS/2向PC机发送一个字节
从PS/2向PC机发送一个字节可按照下面的步骤进行:
(1)检测时钟线电平,如果时钟线为低,则延时50μs;
(2)检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);
(3)检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);
(4)延时20μs(如果此时正在发送起始位,则应延时40μs);
(5)输出起始位(0)到数据线上。这里要注意的是:在送出每一位后都要检测时钟线,以确保PC机没有抑制PS/2设备,如果有则中止发送;
(6)输出8个数据位到数据线上;
(7)输出校验位;
(8)输出停止位(1);
(9)延时30μs(如果在发送停止位时释放时钟信号则应延时50μs);
通过以下步骤可发送单个位:
(1)准备数据位(将需要发送的数据位放到数据线上);
(2)延时20μs;
(3)把时钟线拉低;
(4)延时40μs;
(5)释放时钟线;
(6)延时20μs。
3.2 PS/2设备从PC机接收一个字节
由于PS/2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态。PC机通过下拉时钟线大于100μs来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当PS/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。而PS/2设备则要配合PC机才能读到准确的数据。具体连接步骤如下:
(1)等待时钟线为高电平。
(2)判断数据线是否为低,为高则错误退出,否则继续执行。
(3)读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收。
(4)读地址线上的校验位内容,1个bit。
(5)读停止位。
(6)如果数据线上为0(即还是低电平),PS/2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS/2设备没有读到停止位,则表明此次传输出错)。
(7 输出应答位。
(8) 检测奇偶校验位,如果校验失败,则产生错误信号以表明此次传输出现错误。
(9)延时45 μs,以便PC机进行下一次传输。
读数据线的步骤如下:
(1)延时20μs;
(2)把时钟线拉低
(3)延时40μs
(4)释放时钟线
(5)延时20μs
(6)读数据线。
下面的步骤可用于发出应答位;
(1)延时15μs;
(2)把数据线拉低;
(3)延时5μs;
(4)把时钟线拉低;
(5)延时40μs;
(6)释放时钟线;
(7)延时5μs;
(8)释放数据线。
4 用于工控机的双键盘设计
工控机通常要接标准键盘,但是为了方便操作,常常需要外接一个专用键盘。此实例介绍了在工控PC机到PS/2总线上再接入一个自制专用键盘的应用方法。
该设计应能保证两个键盘单独工作,而且相互不能影响。因此,不能直接把专用键盘和标准键盘一起接到工控PC的PS/2口。鉴于这种情况,本设计使用模拟开关CD4052并通过时分复用工控PC的PS/2口,来使在同一个时刻只有一个键盘有效,从而解决上述问题。其硬件原理***如***3所示。其中P2口和P1口用于键盘扫描电路(***中未画出),P0.0为数据端,P0.1为时钟端,P0.2为模拟开关选通端。由于专用键盘不需要接收工控PC机的命令,所以软件中并不需要写这部分相应的代码。
通过软件可在专用键盘复位后把P0.2清0,以使模拟开关CD4052打开相应的通道。这时工控PC的标准键盘将开始工作。标准键盘可以完成工控PC刚启动时对外设检测的应答。复位后的专用键盘不停地扫描有没有按键,如果有键按下则识别按键,并且按照预先的设计进行编码,同时调用发送程序并通过PS/2口发送到工控PC。此时模拟开关关闭相应通道(将P0.2置1),专用键盘接入工控PCPS/2口的时钟线和数据线而工作,但标准键盘被模拟开关从PS/2的时钟线和数据线中断而不工作,这样,双键盘便可时分复用同一个工控PC机的PS/2口。相应的发送子程序如下:
#define DATAP00 用P0.0做数据线
#define CLKP01 用P0.1做时钟线
#define INHIBITP02 用P0.2做CD4052的INH端
#define PORTRP1 用P1口做读入口
#define PORTWP2 用P2口做写出口 可以实现64个自定义键
void send(ucharx)/***function forsend a char da-ta***/
{
uchar i,temp,char_temp;
bit flag_check=1;
INHIBIT=1;//disable standard keyboard
delay_ ms(3);
temp=x;
for(i=0;i<8;i++)//find the number of 1 in this uchar x is odd or not
{
char_temp=temp&0x01;
if(char_temp==0x01)
{
flag_check=!flag_check;
}
temp=temp>>1;
}
CLK=1;//send 1 to P1 then read P1
while (!CLK) //ifCLK is low wait
{
;
}
CLK=1;DATA=1;//send 1 to P1 then read P1
if(CLK==1)
{
delay_us(30);//
}
if(CLK==1&&DATA==1)//send data
{
DATA=0;//start bit 0
delay_us(10);
CLK=0;
delay_us(5);//
temp=x;
for(i=0;i<8;i++)//send 8 bits LSBfirst
{
CLK=1;
delay_us(5);
char_temp=temp&0x01;
if(char_temp==0x01)
{
DATA=1;
}
else
{
DATA=0;
}
//DATA=(bit)(temp&0x01);
//LSB
delay_us(10);
CLK=0;
delay_us(5);
temp=temp>>1;
}
CLK=1;//send check bit
delay_us(5);
DATA=flag_check;
delay_us(10);
CLK=0;
delay_us(5)
CLK=1;//send stop bit
delay_us(5);
DATA=1;
delay us10
CLK=0
delay_us(5);
CLK=1;
delay_us(30);
CLK=1;DATA=1;//send 1 to P1 then read P1
if(CLK==1&&DATA==0)
{
return; //pc is sending data to mcu, go to
receiving function
}
INHIBIT=0; //enable standard keyboard
1 传统多协议通信的特点和问题
1.1 “子板”方式
广域网串口应用中的通用实现方法是为所需的每一种物理协议提供一个***的子板。一个支持EIA-232,EIA-449及V.35协议的系统,通常需要三个***的子板以及三个不同的连接器。这种方法由于每种协议要求配置一块子板,因此系统需要对PCB子板、收发器芯片、连接器等进行管理,这样既浪费资源,又会使管理工作复杂化。
1.2 通用连接器方式
为解决“子板”方式的缺点,可使用一块母板及通用连接器。一个母板上有多种收发器芯片,可以满足多串口协议的要求,并可共用一些通用器件,同时可减少资源的浪费。在配置中,应注意因连接器的管脚较少而带来的问题,较好的办法是根据信号而不是根据协议来分配管脚,即给每一个信号分配一个通用管脚,而不管其物理协议如何定义。如对EIA-232,EIA-449,EIA-530,V.35和V.36来说,其TxD信号可连至连接器相同的管脚。即SD?a?信号连接到管脚2,SD?b?信号连接到管脚14。然后利用这对管脚来描述所有协议的发送信号TxD。
这种方法同样也会带来一个问题,即所有收发器的I/O线至通用连接器的管脚必须彼此共用。例如,一个V.28驱动器芯片中的发送数据信号线的接连接器DB-25的管脚2;同时,一个V.11驱动器芯片中的发送数据信号线要接至连接器的管脚2和14;而V.35驱动器芯片中发送数据信号线也会接至连接器的管脚2和14。这样,通用连接器的管脚2将同时接有三根信号线,管脚14接有两根信号线。这样,在这一配置中,所有的驱动器都必须具有三态特性,以禁止不必要的输出。若收发器没有三态特性,则需要使用一个多路复用器来选择相应的输出端。由此带来的另一个问题是收发器在禁止使用时会产生漏电电流。如果选择了V.28协议,其输出电压理论值为15V。此时对于V.11协议的驱动器会被禁用,而处于三态时,其输出漏电电压就必须足够低,才能使得连在同一连接器管脚的V.28协议的驱动器信号不受影响。如果在发送器与接收器之间有隔断开关,则开关也要考虑漏电情况。
1.3 串口的DTE/DCE模式切换
DTE/DCE的切换可通过选择不同的连接器转换电缆来实现,这样,在实现DTE/DCE转换时可最大程度地减小收发器的复杂性,但缺点是需要更换电缆,尤其是设备放置位置不便或DTE/DCE需要频繁切换时这一点尤为突出。
如果保持传输电缆不变,则可将收发器配置为两套以分别支持DTE、DCE方式。而将DTE收发器的驱动器输出与DCE收发器的接收器输入相连,而将接收器输入端与DCE收发器的驱动器输出相连。为了控制DTE或DCE方式,驱动器或接收器的输出必须为三态。当选择为DTE方式时,DCE芯片禁止,其驱动器和接收器处于三态,反之亦然。
该方法虽然解决了对电缆的频繁更换问题,但由于多用了一套收发器而使得设计成本大为提高,且串口板的体积也大了很多。
2 多协议串口通信的实现原理
传统设计中,针对某种协议通常应选择相应的收发芯片,如对于RS-232协议,常用DS-1488/DS-1489、MAX232或SP208等收发器芯片;而对于RS-449协议,则常使用SN75179B、MAX488、MAX490等收发器芯片。当同时使用RS-232、RS-422和V.35协议时,就需要多个收发器芯片来支持不同的协议。
现在,一些收发器的生产厂商研制出了多协议收发器芯片。Sipex是第一家生产出RS-232/ RS-422软件可选择协议芯片SP301的公司。这种芯片可将RS-232和RS-422收发器的电气特性综合到一个芯片中实现。其中SP50X系列产品最多可支持8种协议标准。其它生产厂家如Linear公司生产的LTC154x系列、LTC284x系列芯片也具有以上功能。用户可根据自己的需要选择适当的芯片。
***2为采用分立的收发器芯片与采用一片多协议收发器芯片实现多协议串口通信的通信卡。从***可知,前者实现的复杂度要远远大于后者,具体的性能比较如表1所列。
表1 两种方法实现串口通信的性能比较
分立器件板综合器件板供电电压+5V,-5V,+12V,-12V+5V所需收发器芯片数121支持的物理层协议RS-232,RS-422,RS-449,EIA-530,V.35,V.36RS-232,RS-422,RS-449,RS-485,EIA-530,EIA-530A,V.35,V.36协议选择方式跳线或开关软件或硬件(通过内部译码)串口板大小除了15个收发器芯片外还需其它硬件支持非常小功耗大约1W大约100mW~250mW除此之外,与分立收发器芯片相比,多协议收发器对驱动器使能控制和对输出漏电电流的处理要容易得多。当通过软件或硬件方法选择某一协议时,驱动器和接收器的电气参数将调整至适当的大小,电路内部将自动控制驱动器的输出电平、接收器的输入门限、驱动器和接收器的阻抗值以及每一物理层协议的常用模式范围。
另外,由于外部网络终端对V.35的需求,使得与V.35收发器的连接不能象其它协议那么简单。当使用分立收发器芯片时,常常通过采用昂贵的继电器开关电阻在选择其它协议接口时将V.35网络终端断开,或者要求用户每选择一个新的接口标准就改变一次终端模块,这样既浪费资源又会使接口电路变得复杂,因而不是一种理想的实现方法。而多协议串口芯片则自动提供适当的终端和片上开关来符合V.10、V.11、V.28和V.35电气协议,从而解决了电缆终端转换问题。
3 基于LTC1546/44的多协议通信
为了说明多协议串口芯片的工作原理,现以Linear公司的LTC1546/1544芯片为例进行分析。
3.1 LTC1546/LTC1544的性能
LTC1546芯片是一个3驱动器/3接收器的收发器,其主要特点如下:
带有软件可选的收发器可支持RS232、RS449、EIA530、EIA530A、V.35、V.36和X.21协议?
可提供片上电缆终端?
与LTC1543引脚兼容?
与LTC1544配合可完成完整的DTE或DCE?
工作在5V单电源?
占位面积小。
LTC1544芯片是一个4驱动器/4接收器的收发器,其主要特点有:
软件可选的收发器支持RS232、RS449、EIA530、EIA530A、V.35、V.36和X.21协议?
采用LTC1344A作为软件可选的电缆终端?
采用LTC1543、LTC1544A或LTC1546可实现完整的DTE或DCE端口?
与LTC1543同样工作于5V单电源。
这两种芯片均采用28引线SSOP表面贴封装,***3所示为其引脚排列。
由LTC1546/ LTC1544可组成一套完整的软件可选择DTE或DCE接口,以应用于数据网络、信息业务单元?CSU?和数据业务单元(DSU)或数据路由器中,它支持多种协议,电缆终端可在片上提供,因此不再需要单独的终端设计。其中,LTC1546每个端口的一半用来产生和适当终止时钟和数据信号。LTC1544则用来产生控制信号及本地环路返回信号(Local Loop-back,LL)。接口协议通过模式选择引脚M0、M1和M2来决定,具体选择方式见表2。
表2 通信协议的模式选择
LTC1546模式名称M2M1M0DCE/DTED1D2D3R1R2R3未用(缺省V.11)0000V.11V.11V.11V.11V.11 RS530A0010V.11V.11ZV.11V.11V.11RS5300100V.11V.11ZV.11V.11V.11X.210110V.11V.11ZV.11V.11V.11V.351000V.35V.35ZV.35V.35V.35RS449/V.361010V.11V.11ZV.11V.11V.11V.28/RS2321100V.28V.28ZV.28V.28V.28无电缆1110ZZZZZZ未用(缺省V.11)0001V.11V.11V.11ZV.11V.11RS530A0011V.11V.11V.11ZV.11V.11RS5300101V.11V.11V.11ZV.11V.11X.210111V.11V.11V.11ZV.11V.11B.351001V.35V.35V.35ZV.35V.35RS449/V.361011V.11V.11V.11ZV.11V.11V.28/RS2321101V.28V.28V.28ZV.28V.28无电缆1111ZZZZZZ由表2可知,如果将端口设置为V.35模式,模式选择引脚应当为M2=1,M1=0,M0=0。此时,对于控制信号,驱动器和接收器将工作在V.28(RS232)模式;而对于时钟和数据信号,驱动器和接收器将工作在V.35模式。
模式选择可通过控制电路?或利用跳线将模式引脚接至地或Vcc?来实现对引脚M0、M1和M2的控制,也可通过适当的接口电缆插入到连接器上实现外部选择控制。若选用后者,则当移开电缆时,全部模式引脚均不连接,即M0=M1=M2=1,此时LTC1546/ LTC1544进入无电缆模式。在这种模式中,LTC1546/1544的供电电流将下降到500μA以下,并且LTC1546/ LTC1544驱动器输出将被强制进入高阻状态。同时,LTC1546的R2和R3接收器应当分别用103Ω端接,而LTC1546和LTC1544上的其它接收器则应通过30kΩ电阻接到地。
通过DCE/DTE引脚可使能LTC1546中的驱动器3/接收器1、LTC1544中的驱动器3/接收器1和驱动器4/接收器4;LTC1544中的INVERT信号对驱动器4/接收器4起使能作用。可以通过下面两种方法中的一种将LTC1546/LTC1544设置为DTE或DCE工作模式:一种是将专门配有适当极性的连接器接至DTE或DCE端;另一种是通过专用DTE电缆或专用DCE电缆发送信号给LTC1546/LTC1544,同时使用一个连接器构成一种既适合DTE又适合DCE的工作模式。
3.2 典型应用
***4为一个带有DB-25连接器端口并可被设置为DTE或DCE工作模式的多协议串口通信电路,***中LTC1546/LTC1544芯片一边与连接器相连,另一边接至HDLC芯片,M0、M1、M2及DCE/DTE引脚接至EPLD硬件控制电路以实现对通信协议和工作模式的选择。其中DTE或DCE工作模式需要连接对应的电缆以保证正确的信号发送。例如,在DTE模式中,TxD信号通过LTC1546的驱动器1发送到引脚2和14。在DCE模式中,驱动器则将RxD信号发送到引脚2和14。
***4中,LTC1546采用一个内部容性充电泵来满足VDD和VEE。其中,VDD为符合V.28的正电源电压端,该端应连接一只1F的电容到地;VEE为负电源电压端。一个电压倍增器在VDD上将产生大约8V电压,而电压反相器则将在VEE上产生大约-7.5V的电压。四只1μF电容均为表面贴装的钽或陶瓷电容,VEE端的电容最小应为3.3μF。所有电容耐压均应为16V,同时应尽可能放置在LTC1546的附近以减少EMI干扰。
***4 用LTC1546/LTC1544芯片实现多协议串口通信(DTE/DCE可选)
在V.35模式中,LTC1546中的开关S1和S2将导通,同时应连接一个T型网络阻抗,以将接收器的30kΩ输入阻抗与T网络终端并联起来,但不会显著影响总输入阻抗,因此对于用户来说,这种模式下的电路设计与其它模式下完全相同。
由于LTC1546是3驱动器/3接收器的收发器,LTC1546是4驱动器/4接收器的收发器,所以如果同时采用RL、LL和TM信号,则LTC1546/LTC1544就没有足够的驱动器和接收器。因此,可用LTC1545来替换LTC1544。LTC1545为5驱动器/5接收器的收发器,它能够处理多个可选的控制信号,如TM和RL。
关键词: Ir接口协议;自动化;消息构造;数据管理
Key words: Ir Interface protocol;automation;message construction;data management
中***分类号:TP39 文献标识码:A 文章编号:1006-4311(2013)11-0184-03
――――――――――――
作者简介:江浚(1987-),男,湖北鄂州人,武汉邮电科学研究院硕士研究生,在读硕士研究生,专业为通信与信息系统,研究方向为移动通信,无线通信。
0 引言
作为3GPP长期演进的LTE,与3G相比,具有更高速率,更低延时,无线接口等方面的具大优势,为了确保在未来更长时间具有较高的市场竞争能力,各大运营商都在大力发展LTE网络的研究与建设工作。Ir接口是TD-LTE网络分布式基站BBU(基带单元)和RRU(射频远端单元)之间的接口单元,如***1所示,RRU通过Ir接口与基带单元设备BBU相连,BBU通过S1接口和EPC(核心网)连接[1]。
但是在LTE系统测试中,Ir接口协议的手动测试过程非常繁锁与复杂,整个测试周期相对较长,为了提高测试效率,简化复杂繁琐的测试流程[2],对于Ir接口协议自动化测试的研究具有相当重要的现实意义。本文将着重介绍如何设计和实现一个基于Windows平台下的Ir接口协议自动化测试系统,支持对协议功能,性能等测试指标的自动提取与呈现。
1 Ir接口测试介绍
在国内TD-LTE网络中,BBU和RRU遵循的是用中国通信行业标准的Ir协议来传递信令和数据信息,Ir接口目前支持多种光速率传输,主要有2.5Gb/s,5Gb/s,10Gb/s,支持多种组网方式包括单点连接,星型连接,链型连接,所有BBU和RRU间的消息通讯必然会经过Ir接口协议的处理,同时IR接口协议定义了BBU和RRU的互操作流程,可以让BBU对RRU进行相应的参数查询以及配置,这些互操作流程测试项目的实现是保障网络稳定运行的重要前提。根据协议规定可以把测试功能划分为以下几大类:
①查询功能:主要进行状态查询,参数查询,告警查询等对RRU设备内各参数的查询操作,获取相应功能的参数信息。
②配置功能:主要进行参数配置,小区配置,等对RRU设备内各参数的配置操作,使相关功能参数设置为特定值。
③级联操作功能:主要在RRU级联情况下对级连RRU设备进行一些操作使级联RRU受到BBU的控制。
原有测试方案是通过串口线进行调测,但是不能满足测试项目的需求,新的系统必须改为网线调测,整机测试原理***如***2所示:电脑终端发出测试命令给BBU模拟盘,BBU模拟盘将命令转发给RRU设备进行相关操作,RRU将结果上传至BBU模拟盘,电脑端获取数据,其中衰减器和负载是用来衰耗信号,频谱仪是用来给BBU模拟盘提供10MHz参考信号。
2 软件体系的设计
本设计作为基于Ir接口协议的自动化测试应用软件,主要支持Ir接口协议的各项测试功能的实现,基于Windows平台环境的系统开发比较实用和快捷,开发工具用Visual Studio软件进行系统开发。Visual C++因其拥有方便易用的AppWizard、ClassWizard和丰富的可视化资源编辑工具,成为人机对话界面设计中使用最广泛的平台之一,并且拥有强大的集成开发环境,在此环境中测试人员可以方便的进行工程管理、编写C++源程序、编译、修改,更重要的是,Visual C++还提供了MFC(Microsoft Foundation Classes)的程序类库,为实现界面设计提供支持,本测试软件设计是基于模块化的设计方法[3],同时采用MFC进行界面设计,软件的整体框架结构如***3所示。
一个完整的软件测试流程是从测试人员配置Ir协议参数开始,测试软件读取测试人员配置参数的情况,将各参数赋与Ir协议消息构造模块,经过通信模块建立PC端与BBU模拟盘的连接,根据自定义的网络通信协议加上相应的包头,将数据包通过连接链路发送出去,BBU模拟盘收到消息后开始解析数据包,解包后进行合法性的判断并将有用数据转发给RRU,RRU接收到消息后作出相应回应,再将结果传至模拟BBU回传通信模块,通信模块将数据提交给测试结果处理模块进行检验和储存。
3 关键模块的设计
3.1 协议消息构造模块 Ir接口协议定义每个控制功能的实现,必须要按协议规定的格式和结构去构造消息实体,消息组装比较灵活,当测试消息配置好以后,通过自定义的通信链路通过发送特定消息,否则发出的消息不会收到回应,Ir协议的消息结构如***4所示。
消息由消息头、消息体组成。消息头的长度为15个字节,它由消息编号、消息长度、RRU序列号、流水号组成,其中消息编号代表了此消息属于什么功能的消息,RRU序列号是逻辑上RRU,BBU的序列识别号,流水号都是即时统计得出,消息头内各参数值不能随意填写,必须是当前真实硬件环境下的参数值,否则消息不能被RRU识别。消息体是由各个具体IE组成的。
在此模块的实现是采用C++语言进行消息类的构造,消息类成员变量包括消息头和消息体,消息头又是一个单独的类,它再包含RRU序列号,流水号等成员变量,消息体则由自定义各IE的类的实体对象构成,并且各个IE可以灵活排列,这充分体现了协议消息配置的灵活性与可扩展性,通过软件实现消息的配置可以满足测试项目对定向化与多重化的需求。
3.2 通信处理模块 PC端要把消息发往模拟BBU端就必须要建立一条可以信任的通信链路,本项目中PC端与模拟BBU端的关系就类似于服务器与客户端的模式,即PC机的测试系统发出连接请求,BBU模拟盘接收到请求后再建立好通信链路,本实验方案会选择网络通信协议来建立连接,由于RRU内部有很多不同类型的程序代码在执行,串口会打印大量的BSP信息及其它不相关消息,这些无用的数据会对Ir协议测试结果的反馈造成严重的干扰,非常不利于测试数据的剥离,所以必须使用网络通信协议。
基于Socket套接字的网络通信,通常会采用TCP或者UDP的套接字连接。相对于TCP的三次握手过程,在实际测试中,需要更快的反应速度与更有效率的数据传输[4],所以本模块采用UDP接连方案,保证测试能够及时快速地进行单元和联合测试。在进行连接以后,通信模块要获取BBU模拟盘与RRU的一些参数配置情况,这都需要在通信处理模块添加相应的接口程序来完成。同时,此模块会将Ir消息包进行第二次封装,加上与BBU模拟盘端自定义的标志位信息,保证消息在发出后能够被BBU模拟盘识别是IR协议的消息与其它网络消息区别开来。整个通信模块的运行流程如***5所示。
3.3 测试数据管理模块 测试数据管理模块分为两大部分,结果处理部分以及数据存储部分[5]。测试结果处理部分:当BBU模拟盘上传的测试结果被通信模块收到以后,这些数据是有复杂的数据结构的,要把其中每个IE的参数都要单独剥离出来,这里就必须要用到指针,根据消息类的数据结构进行指针的偏移,从而定位到每个单独的参数,处理流程如***6所示。
本系统的数据存储部分划分为两大类,测试结果报表选用和配置文件管理。系统对各个测试项都会制作相应的报表模板以便测试结果的导入,测试报表应选用尽可能简单快捷的报表解决方案,通常会采用EXCEL,WORD或第三方控件进行测试结果的报表导入,本系统选用第三方控件FLEXCELL,相对于EXCEL,WORD等报表,它的灵活性及快捷性,能很大程度上方便测试代码的编写,只需要添加相应支持的接口函数就可以直接对报表进行操作,当测试数据经过数据处理模块后可以很方便的将各个参数导入报表完成数据的存储。
配置文件是用来存储测试结果各参数的门限值,将测试结果数据的门限值存放在特定的文件里面,当测试数据获取以后直接根据配置文件内的门限范围进行比对,本系统利用Win32 API提供的相关函数从Win.ini文件直接读取各个参数值的值域并对测试结果进行判断,这样可以大大减轻测试人员测试代码的编写,并且在调整门限范围时不用修改源代码,只需要在配置文件内进行修改即可,让相关代码的修改和扩展得到很大的简化。
4 实验结果及分析
为了验证本软件的实用性,对其中一个测试项进行实验测量,在WIRESHARK中对所获取的有效信息进行抓包,得到如***7所示结果,经过测试软件的数据处理得到如***8所示的部分最终实验结果,由此可知,本次实验获得了预期的目标。
5 结论
本文对基于Ir接口协议的自动化测试技术进行了研究,通过对IR协议理解分析,设计了在Windows平台下的IR接口自动化测试软件的设计方案,重点介绍了消息构造,端口连接设计,测试结果处理等几个重要模块的实现方法,在真实平台环境下进行调测以后,结果表明可以获得理想的实验的目标,证明了本设计方案的实用性和可行性,能够极大的降低测试人员的工作量,保证LTE研发工作更加有效率地进行。
参考文献:
[1]中华人民共和国工业与信息化部.TD-LTE蜂窝移动通信网分布式基站Ir接口技术要求[S].2011.
[2]杨柳,王晓斌.基于SSL***自动化测试工具设计与实现[J].成都信息工程学院学报,2009,24(4):361-365.
中***分类号:TN929;TM73 文献标识码:A 文章编号:1674-098X(2016)09(a)-0009-04
当前阶段,社会对高速信息网络需求不断提升,为应对这一形势,互联网不断开发新协议,通过局部修补实现结构的进一步完善。国际互联网标准化工作组IETF对这一完善过程起着主导作用,通过对新标准的制定与修改提升互联网性能,完善其功能。在这种发展背景下,网络架构日益变得复杂,为管理与维护工作带来较大难度[1]。这一问题的决定性因素在于互联网的最初设计,特别是对TCP/IP的设计。而对于TCP/IP的修改又存在较大困难,因此,社会各界均在寻求一种新的解决途径来化解当前的困境。于是,新型体系架构应运而生。
传统的网络构架中由于逻辑控制和数据转发紧密地耦合于网络设备中,新的网络控制管理策略很难到现网上部署,网络的扩展性和灵活性被束缚,因而从控制和转发分离成为许多研究者的共识。因此,在尝试改变互联网的体系结构的同时,软件定义的网络(software defined networking,SDN)被作为一种新型的网络体系结构提出。OpenFlow技术作为SDN转发抽象的实现之一,已经受到学术界和工业界的普遍关注和广泛研究。OpenFlow实现了将设备控制平面与数据平面相分离,让用户对设备的控制和修改变得更容易[2]。
1 SDN的发展现状
为了有效解决TCP/IP构架带来的问题,国际学术界通过未来网络研究的实施致力于未来网络创新实验平台的开发与建设,同时先后启动了GENI、FINE、4WARD、FIA等项目。IETF开发出了ForCES网络构架,用于标准化控制组件与网络组件的通信,网络设备主要由两部分组成,包括控制件(CE)与转发件(FE),其中CEM件主要执行控制与信令的功能,使用ForCES协议指导转发组件处理报文的方式。ForCES自2003年起开始实行标准化,同时出版了许多应用文档,定义网络实体和接口的框架模型。但是,这一标准化形式只是致力于创新与建模,并未获得设备商的普遍运用。后期,又开发了网络构架Ethane,这一构架主要针对于企业网的应用管理,允许相关网络管理者对精细粒度策略进行定义,并于网络中予以执行。将基于流转发的以太网交换机直接和管理网络接入的路由控制器相连,这种方式看上去较为激进,但其可向后兼容现有主机与交换机。控制器对主机的网络注册、认证及数据流的路由策略有控制作用,而下层交换机主要承担对数据的转发工作。
基于上述的这些研究,斯坦福大学的Nick教授等人提出了OpenFlow,可让研究者在现今的网络运行试验协议。它可以作为像GENI项目这样大规模试验床的重要部件,斯坦福的两栋大楼很快就部署了OpenFlow网络,随后,OpenFlow受到了学术界的广泛关注。OpenFlow思想也逐渐演变成了今天的SDN网络构架,具备控制、转发分离、集中化控制、资源虚拟化等优势。不久后,OFELIA、GENI项目和FIRE项目均提出采用OpenFlow技术搭建未来网络的创新实验平台。在Nick教授等人的推动下,2011年开放网络基金会(ONF)成立,专门负责相关规范和标准的制定以及推广,包括OpenFlow协议版本、配置协议OF-Config和SDN白皮书,有力地促进了SDN/OpenFlow的标准化进程,使它成为未来网络体系构架研宄和创新实验平台构建领域的热点技术。ITU-T与IETF等国际标准化组织也纷纷开始关注SDN的应用场景和组网方式。但SDN不仅停留在学术研究层面,应该说工业界的热情不亚于学术界,谷歌、微软等互联网公司均在SDN领域投入了大量的科研力量。企业界也出现Nicira和Big Switch等为代表的SDN公司,开发出了OpenVSwitch和Floodlight等网络软件。
2 OpenFlow协议及特点
2.1 OpenFlow规范
OpenFlow交换机规范定义了交换机的基本功能以及通过远端控制器对OpenFlow交换机进行管理的协议。远端控制器在安全通道上通过OpenFlow协议对交换机中的安全控制单元直接进行管理(***1)。
在OpenFlow1.0.0的交换机中,数据报文处理和寻址的过程如下。
步骤1,以太网数据进入交换机后被输送至数据解析系统。步骤2,提取报头字段信息,将其置于分组报头,报头信息主要用于匹配操作。步骤3,对分组报头进行查找,成功匹配后送至匹配系统。步骤4,对比数据包报头与OpenFlow流表中流条目规则。OpenFlow流表中流条目存在优先级由高到低的顺序,所以,在查找数据包报头时,应自流表中的首个表项开始。成功匹配后,在匹配的流表条目上继续进行;如果匹配不成功,则将数据报文送至控制器进行处理。具体见***2。
在OpenFlow交换机中流表示进行分组转发查询的最关键部件,在流表中包含了一系列的入口项(用于匹配收到的分组),激活计数器并自动匹配到与该分组所对应的操作。如果在流表中找到对应的入口项,将对该报文执行预先设定的动作,而控制器的作用则是用于确定某一报文没有找到对应入口时的动作,同时还负责流表中每一条记录的增删。
2.2 OpenFlow协议特点
作为一项灸手可热的新技术,OpenFlow之所以能够受到广泛的关注和支持,是和OpenFlow协议的技术特点息息相关的。OpenFlow协议主要有以下特点。
(1)OpenFlow技术将原有的IP承载架构完全打乱。OpenFlow的流表(Flow Table)是由多个流表项共同构成的,任何一个流表项均为一项转发规则。数据包进至交换机后,对流表进行查询以此获取转发端口。OpenFlow的流表中任何一个流表条均包含头部、计数器及行为3部分内容。其中头部属于十元组,不仅包含传统的七元组,另外增加了交换端口、以太网类型以及VlanID,以此对流表进行定义;计数器用于做流二量的数据统计工作;而行为主要指转发、丢弃,规定了与流表项匹配的数据包所应进行的操作行为。对于OpenFlow技术而言,将控制与转发进行分离是其关键特性,这就决定了其远端控制与查询功能的进一步实现。要想对流表进行相应改变,只要通过远端指令操作即可实现;若想对网络状态进行实时掌握,通过远程操控即可查询与获取。这一功能的实现,使网络灵活性获得有效提升,真正实现了网络的智能化。从某种角度来讲,OpenFlow技术实现了传统硬件定义互联网向软件定义互联网的巧妙转变,更加动态化与灵活化,同时使Software Designed Network的核心思想得以凸显。总体而言,可控软件定义互联网的实现,在提升网络灵活性的同时,凭借相应的控制算法,使网络安全性与鲁棒性均得以有效提升,大大改善了其运行效率。
(2)从网络创新角度来看,OpenFlow技术的运用具有非常大的价值。近年来,互联网技术飞速发展,呈现出日新月异的变化的同时,也呈现出许多问题。为应对以上问题,网络体系结构日益复杂化,在解决相关问题的同时,也带来了新的问题,例如OSPF、BGP、NAT、防火墙、流量均衡等技术的应用,使网络设备日益臃肿。相较于网络领域发展瓶颈,可以说计算机领域的变化日新月异。而作为计算机网络体系结构的相关研究者,通过对计算机问题、所遇瓶颈以及成功解决经验进行分析,认为应将功能单元化作为核心思想,将控制与转发功能进行合理分离。基于设计模式与软件工程的分析,交换机与路由器相对简单,满足其基本功能需求的同时,为上层控制层提供API库,并由控制层对其进行有效控制。
如此一来,研究人员就能通过对下层API进行自由调用实现协议的编写,最终促进网络创新的实现。OpenFlow对网络创新思想起到重要的推动作用。以往通过自制数据包的转发过程,经OpenFlow交Q机实现了控制器的数据包转发操作,控制器下发流表指令后,自己按照指令对数据包进行相应的处理,进而对转发与控制操作进行有效分离。
OpenFlow的技术特点同时也对交换设备提出了新的要求,OpenFlow提出新的交换机解决方案必须具备以下4个特点。
(1)设备必须具有商用设备的高性能和低价格的特点。
(2)设备必须能支持各种不同的研究范围。
(3)设备必须能隔绝实验流量和运行流量。
(4)设备必须满足设备制造商封闭平台的要求。
3 SDN的体系结构及特点
软件定义网络(SDN)作为一种新型的网络构架,其本质的特征就是网络控制和转发分离,网络具备可编程特性。OpenFlow标准定义了控制层和转发设备间的通信协议,是SDN网络构架的核心[3]。
3.1 SDN体系结构
SDN可以用来提供标准的接口,可以通过软件的方式控制网络中的资源连接和网络业务流,必要时对业务流进行特定的检查和修正,所定义的原始函数被抽象成标准的网络服务。OpenFlow是其中的一种接口协议。
基本的SDN网络部件,如***3所示NE通过D-CPI接口上报设备的能力,SDN业务应用通过A-CPI接口告知控制器其具体的业务需求,控制器根据业务应用的需求实施对于底层设备的控制,通过优化控制策略在有限的网络资源下提供具有竞争力的业务。
SDN几个平面之间的关系:在数据平面,OSS至少应当支持NE的初始建立过程、分配SDN控制功能并配置SDN控制器;在控制平面,OSS需要配置SDN业务的控制策略并监测系统的性能;在应用平面,OSS配置业务合同与业务等级协定(SLA)。对于所有的平面,OSS需要提供安全性的管理和认证方式。
(1)数据平面。
包含了多个网络部件,每个NE包含一系列的网络转发单元和业务处理资源,SDN的资源是根据底层的物理实体和所支持的能力而定的。
(2)控制平面。
SDN控制器组成,每个控制器负责NE分组的专用控制。SDN控制器的最基本功能是执行它所支持的应用程序请求,而每个应用程序之间通常是相互***的。SDN控制器需要与对等的控制器、下属控制器以及非SDN环境之间进行交互以实现复杂的控制功能。
SDN控制器的一个常见但不必要的功能作为网络的反馈控制元件,可以应对网络的突发事件,如将网络从故障中恢复及资源的再优化分配,等等。
(3)应用平面。
应用平面由一个或多个应用程序,每个都有专用的控制逻辑,负责SDN控制器所管辖的多个资源组。应用程序本身也可以调用其它应用程序,其自身也可以作为一个SDN控制器。
(4)管理平面。
每个应用、SDN控制器、NE均具有与管理者相连的功能接口,可以负责从底层资源池中为高层业务分配资源,并建立底层平面和高层平面的通信方式。
OF-config协议的定位主要是提供管理接口所需要的功能。
OF-switch协议的定位主要是执行D-CPI和A-CPI之间的功能。
3.2 SDN的特点
(1)控制和数据平面分离。
控制平面和数据平面采用分离的设计方法,通过D-CPI接口进行控制。SDN控制器可以控制NE的重要功能,并且能够获知NE的状态信息。
(2)逻辑化的集中式控制。
与本地化控制方式相比,集中控制的方法具有掌控更广范围的资源的能力,并且可以为网络做出更好的决策。为了提升网络的可扩展性,通常在集中式控制方法中不建议获取详细的网络资源,可以通过资源的抽象集合进行表示。逻辑化的集中式控制方式相比传统的集中型网管具有更高的灵活性。
(3)对外部应用的拓扑和资源抽象方法。
应用可以存在于任何级别和粒度的抽象,同时控制器和业务应用均可将对方作为对等级别、客户端或者服务器端。
网络拓扑和资源的抽象通过A-CPI接口进行管理,并可通过程序化的控制方式进行管理。在了解网络中的资源和状态信息后,应用可以通过SDN控制器定制需求并根据网络的实时状态调整网络服务。
SDN垂直体系架构支持信息模型的外送,并可以在客户端执行CRUD操作(Create-Read-Update-Delete)。
分层模型的主要目的在于如下几方面。
可扩展性:更高层次的控制器可以获取更高的抽象度和更广的管辖范围。
安全性:每一层数据分属于不同的信任域,在分层参考点处执行标准的域间安全性管理。
4 基于OpenFlow的架构层次设计
基于openFlow的虚拟网络架构主要分为4个层次,分别为应用层、虚拟平台、控制层和物理层,如***4所示。
(1)应用层对网络架构的具体运行状况进行访问与监控,对数据流处理逻辑与规则进行有效控制。通常来讲,应用层应用程序主要包括两种形式,即GUI与CLI。其中GUI为***形界面,用户通过此界面对网络流量与数据转发等情况全面掌握,同时以自身需求为依据,在网络中对实体与数据流处理规则进行相关处理。CLI为命令行程序,此程序能够为用户提供更多操作功能,仅需执行单命令即可完成,工作效率非常高。
(2)VTN虚拟平台作为OpenFlow虚拟网络架构的关键部分,对虚拟网络架构中各项主要业务逻辑均有所涉及。从某种角度来讲,VTN虚拟平台是建立在网络硬件层与用户应用层之间的重要桥梁。在VTN虚拟平台中,最上层为服务器,在外部应用程序的运行中,服务器根据其运行需求向其提供内部数据服务接口;逻辑层通过逻辑网络的建立,对网络请求的处理逻辑进行定义操作,并对各项网络任务用到的控制器与相关设备进行指定,保证虚拟网络流控制、网络监控及流过滤器等各项功能的实现;物理层对物理实体有配置和维护的功能,通过对通信状态的查看与修改,实现其管理功能,同时可对控制器、网络物理设备配置信息及域或边界配置信息进行更改;驱动器则为VTN虚拟平台实现物理设备单独操作的重要接口。
(3)控制层的组成包含了多种网络设备控制器,例如OpenFlow交换机控制器、Overlay交换机控制器与Legacy交换机控制器等,主要负责对物理设备数据转发的控制。
(4)物理层作为整个OpenFlow虚拟网络架构的底层结构,网络通信中涉及的一切硬件均涵盖于此,主要为OpenFlow设备与非OpenFlow设备两种类型,例如OpenFlow交换机、Overlay交换机和Legacy交换机等。
5 结语
经30多年的实践,基于TCP/IP构架的互联网取得一定成果,并被世界多领域广泛应用,逐渐成为产业规模最大的重要基础设施之一。近年来,信息社会不断进步,社会对互联网技术的需求不断提升,这为网络发展带来一定压力。在此发展背景之下,ITU-T提出未来网络的需求指标与发展目标,同时国际学术界通过未来网络研究项目的大量开发,致力于未来网络创新实验平台的建设,并先后启动了GENL FIND、4WARD、FIA等项目。
该文从理论层面介绍了SDN网络的发展现状、OpenFlow协议的特点,并提出了SDN的体系架构。应用这些概念,设计了基于OpenFlow的架构层次。SDN网络依托其可编程性、集中控制、资源虚拟化等优势,必将在工业中广泛应用。
参考文献
2 PS/2接口硬件
2.1 连接器
一般,具有五脚连接器的键盘称之为AT键盘,而具有六脚mini-DIN连接器的键盘则称之为PS/2键盘。其实这两种连接器都只有四个脚有意义。它们分别是Clock(时钟脚)、Data熓据脚牎ⅲ5V(电源脚)和Ground(电源地)。在PS/2键盘与PC机的连接上只要保证这四根线一一对应就可以了。PS/2键盘靠PC的PS/2端口提供+5V电源,另外两个脚Clock(时钟脚)和Data熓据脚牰际羌电极开路的,所以必须接大阻值的上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。现在比较常用的连接器如***1所示。
2.2 电气特性
PS/2通讯协议是一种双向同步串行通讯协议。通讯的两端通过Clock(时钟脚)同步,并通过Data(数据脚)交换数据。任何一方如果想抑制另外一方通讯时,只需要把Clock(时钟脚)拉到低电平。如果是PC机和PS/2键盘间的通讯,则PC机必须做主机,也就是说,PC机可以抑制PS/2键盘发送数据,而PS/2键盘则不会抑制PC机发送数据。一般两设备间传输数据的最大时钟频率是33kHz,大多数PS/2设备工作在10~20kHz。推荐值在15kHz左右,也就是说,Clock(时钟脚)高、低电平的持续时间都为40μs。每一数据帧包含11~12个位,具体含义如表1所列。
表1 数据帧格式说明
1个起始位 总是逻辑0
8个数据位 (lsb)低位在前
1个奇偶校验位 奇校验
1个停止位 总是逻辑1
1个应答位 仅用在主机对设备的通讯中
表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。
2.3 PS/2设备和PC机的通讯
PS/2设备的Clock(时钟脚)和Data熓据脚牰际羌电极开路的,平时都是高电平。当PS/2设备等待发送数据时,它首先检查Clock(时钟脚)以确认其是否为高电平。如果是低电平,则认为是PC机抑制了通讯,此时它必须缓冲需要发送的数据直到重新获得总线的控制权(一般PS/2键盘有16个字节的缓冲区,而PS/2鼠标只有一个缓冲区仅存储最后一个要发送的数据)。如果Clock(时钟脚)为高电平,PS/2设备便开始将数据发送到PC机。一般都是由PS/2设备产生时钟信号。发送时一般都是按照数据帧格式顺序发送。其中数据位在Clock(时钟脚)为高电平时准备好,在Clock(时钟脚)的下降沿被PC机读入。PS/2设备到PC机的通讯时序如***2所示。
当时钟频率为15kHz时,从Clock(时钟脚)的上升沿到数据位转变时间至少要5μs。数据变化到Clock(时钟脚)下降沿的时间至少也有5 μs,但不能大于25 μs,这是由PS/2通讯协议的时序规定的。如果时钟频率是其它值,参数的内容应稍作调整。
上述讨论中传输的数据是指对特定键盘的编码或者对特定命令的编码。一般采用第二套扫描码集所规定的码值来编码。其中键盘码分为通码(Make)和断码(Break)。通码是按键接通时所发送的编码,用两位十六进制数来表示,断码通常是按键断开时所发送的编码,用四位十六进制数来表示。
3 PS/2接口的嵌入式软件编程方法
PS/2设备主要用于产生同步时钟信号和读写数据。
3.1 PS/2向PC机发送一个字节
从PS/2向PC机发送一个字节可按照下面的步骤进行:
(1)检测时钟线电平,如果时钟线为低,则延时50μs;
(2)检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);
(3)检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);
(4)延时20μs(如果此时正在发送起始位,则应延时40μs);
(5)输出起始位(0)到数据线上。这里要注意的是:在送出每一位后都要检测时钟线,以确保PC机没有抑制PS/2设备,如果有则中止发送;
(6)输出8个数据位到数据线上;
(7)输出校验位;
(8)输出停止位(1);
(9)延时30μs(如果在发送停止位时释放时钟信号则应延时50μs);
通过以下步骤可发送单个位:
(1)准备数据位(将需要发送的数据位放到数据线上);
(2)延时20μs;
(3)把时钟线拉低;
(4)延时40μs;
(5)释放时钟线;
(6)延时20μs。
3.2 PS/2设备从PC机接收一个字节
由于PS/2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态。PC机通过下拉时钟线大于100μs来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当PS/2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。而PS/2设备则要配合PC机才能读到准确的数据。具体连接步骤如下:
(1)等待时钟线为高电平。
(2)判断数据线是否为低,为高则错误退出,否则继续执行。
(3)读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收。
(4)读地址线上的校验位内容,1个bit。
(5)读停止位。
(6)如果数据线上为0(即还是低电平),PS/2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS/2设备没有读到停止位,则表明此次传输出错)。
(7 输出应答位。
(8) 检测奇偶校验位,如果校验失败,则产生错误信号以表明此次传输出现错误。
(9)延时45 μs,以便PC机进行下一次传输。
读数据线的步骤如下:
(1)延时20μs;
(2)把时钟线拉低
(3)延时40μs
(4)释放时钟线
(5)延时20μs
(6)读数据线。
下面的步骤可用于发出应答位;
(1)延时15μs;
(2)把数据线拉低;
(3)延时5μs;
(4)把时钟线拉低;
(5)延时40μs;
(6)释放时钟线;
(7)延时5μs;
(8)释放数据线。
4 用于工控机的双键盘
设计 工控机通常要接标准键盘,但是为了方便操作,常常需要外接一个专用键盘。此实例介绍了在工控PC机到PS/2总线上再接入一个自制专用键盘的应用方法。
在我们承担的《基于MCU的积木式数据传输实验平台的研究》项目中,要实现一些以MCU为核心的具有不同功能的模块电路——积木块,这些积木块通过各种不同的接口,可以像搭积木一样组合实现各种不同形式的数据传输。
在积木块内部或积木块之间进行串行通信,就得根据具体的需要,事先确定好串行通信接口协议。为方便项目的开发和应用,我们尽量使用标准化的接口协议,如UART,I2C,SPI等。下面笔者就简单介绍MCU应用开发中常用的串行通信接口协议,并结合各接口协议在本项目中的应用进行比较分析和选择。
1. 常用的串行通信协议
(1)UART总线协议
UART的全称是“Universal Asynchronous Receiver/Transmitter”,意为“通用异步收发传输器”,是一种异步收发传输器,是电脑硬件的一部分,广泛应用于MCU应用开发中。UART可以将数据在串行通信与并行通信间进行传输转换,即在MCU内部以字符为单位进行并行处理,而***路上逐个比特串行传输。UART可用于全双工点对点通信,一条线接收(RX),另一条线发送(TX)。
通常MCU的UART接口不能直接和DTE(Data Terminal Equipment,数据终端设备)设备对接,需要通过电平转换芯片将UART接口的TTL电平转换成RS232C、RS485或RS422的接口电平,然后才能和具有对应接口的DTE设备对接。
由Motorola公司推出的串行通信接口SCI(Serial Communication Interface)是一种UART接口。
(2)I2C总线协议
I2C的全称是“Inter-Integrated Circuit”(在中国一般读作“I方C”,也可写作“IIC”),意为“内部整合电路”,是由PHILIPS公司开发的两线式串行总线,用于连接MCU及其设备。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。每个连接到I2C总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器。I2C使用多主从架构,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏。AVR序列单片机内部集成TWI(Two-wire Serial Interface)总线,是对I2C总线的继承和发展,可以看做一类。
(3)SPI总线协议
SPI的全称是“Serial Peripheral Interface”,意为“串行外设接口”,是Motorola公司首先在其MC68HCXX系列处理器上定义的一种同步串行外设接口,它可以使MCU与各种设备以串行方式进行通信以交换信息。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器上,还有数字信号处理器和数字信号解码器之间。
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要***的使能信号。
(4)USART总线协议
USART全称是“Universal Synchronous/Asynchronous Receiver/Transmitter”,意为“通用同步/异步收发传输器”,是一个高度灵活的串行通信设备。USART相对UART来说是在异步通信的基础上还有同步的功能,USART能够提供主动时钟。USART可以配置成UART或SPI模式,AVR USART对AVR UART完全兼容。
(5)1-wire总线协议
1-Wire协议是美国Maxim/Dallas公司开发的一种单线总线协议,简称“单总线”。系统由一台主机和若干台从机通过一条线连接而成,主机由此完成对从机的寻址、控制、数据传输甚至供电(当然一条功能线之外还有地线,如需由主机供电,还要有电源线)。1-Wire协议采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/O口线资源,结构简单,成本低廉,便于总线扩展和维护等诸多优点。
1-Wire协议适用于单个主机系统,控制一个或多个从机设备。当只有一个从机位于总线上时,系统可按照单节点系统操作,而当多个从机位于总线上时,则系统按照多节点系统操作。
主机一般由MCU组成,从机由Maxim/Dallas提供的1-Wire器件构成,每个1-Wire器件内嵌唯一的地址码,以实现主机对不同从机的寻址。主机可通过各种方式联入计算机系统。作为一种单主机多从机的总线系统,在一条1-Wire总线上可挂接的从器件数量几乎不受限制。
(6)USB总线协议
USB全称是“Universal Serial Bus”,意为“通用串行总线”,是1994年底由Intel、Compaq、Digital、IBM、Microsoft、NEC、Northern Telecom等七家世界著名的计算机和通信公司共同推出的一种新型接口标准。USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps),使用方便,支持热插拔,连接灵活,***供电等优点。因为USB已经替代并行和串行接口,成为PC的标配,所以MCU与PC之间的连接越来越多地采用USB接口,一般是通过USB转UART电路,将MCU的UART与PC的USB连接起来。
(7)SDIO总线协议
SDIO的全称是“Secure Digital Input and Output”,意为安全数字输入输出,是SD型的扩展接口。SDIO除了可以接SD卡外,还可以接支持SDIO接口的设备,插口的用途不止是插存储卡。支持SDIO接口的PDA、笔记本电脑等都可以连接像GPS接收器、WiFi或蓝牙适配器、调制解调器、局域网适配器、条形码读取器、FM无线电、电视接收器、射频身份认证读取器或者数码相机等采用SD标准接口的设备。
SDIO协议可以支持三种操作模式:SPI、SD一线,SD四线(接口通过寄存器来配置)。SPI速度较低,一线或者四线需要寄存器来选择,高速模式下需要四线支持。
(8)CAN总线协议
CAN的全称为“Controller Area Network”,意为控制器局域网,是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。
CAN总线是德国BOSCH公司从20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。
(9)GPIO总线协议
GPIO的全称为“General-Purpose Input/Output ports”,意为“通用IO口”,即可以根据使用者的需要将某个接口引脚设置成输入、输出或其他特殊功能。GPIO的功能类似8051的P0~P3。GPIO是一种非常重要的I/O接口,具有使用灵活、可配置性好、硬件代价小等优点。
(10)RJ45 以太网接口协议
10/100 Base-T RJ45接口是常用的以太网接口,支持10兆和100兆自适应的网络连接速度,常见的RJ45接口有两类:用于以太网网卡、路由器以太网接口等的DTE类型,还有用于交换机等的DCE类型。RJ45接口通常用于数据传输,最常见的应用为网卡接口。
RJ45是各种不同接头的一种类型(例如:RJ11也是接头的一种类型,不过它是电话上用的);RJ45头根据线的排序不同分为两种:一种是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕,另一种是绿白、绿、橙白、蓝、蓝白、橙、棕白、棕。因此使用RJ45接头的线也有两种即:直通线、交叉线。
MCU控制板集成或外扩网卡模块后,就能直接接入到计算机网络。
2.各接口协议的比较和选择
(1)本项目中串口通信应用分析
第一,在本项目的应用中,串口通信分为以下三种。
①积木块内部即MCU与器件间的串口通信
对于积木块内部的串口通信,可选用的接口协议有UART、I2C、SPI、USART、1-wire、SDIO和GPIO等。
②积木块之间的串口通信
对于积木块之间的串口通信,可选用的接口协议有UART、I2C、SPI、USART、SDIO、CAN、GPIO和RJ45等。
③积木块和上位机PC之间串口通信
对于积木块和上位机PC之间串口通信,可选用的接口协议有UART、USB和GPIO等。
第二,在本项目的应用中,串口通信按照拓扑结构可以分为以下三种。
①点对点通信。可选用的接口协议有UART、I2C、SPI、USART、1-wire、SDIO、CAN、GPIO和RJ45等。
②一主多从通信。可选用的接口协议有I2C、SPI、USART、1-wire、SDIO、CAN和GPIO等。
③多主从通信。可选用的接口协议有I2C、CAN和GPIO等。
(2)本项目中串口通信接口协议的选择
在实现各种功能的积木块时,遵循一条最基本的原则:兼顾积木块实现的通用性和复杂性。即有选择地将某几个功能做到一个积木块上,既减少积木块的复杂性,又增强它的通用性。这样根据需要做出几种通用的积木块,加上相应的器件就能实现相应的某项功能。
具体实现一个积木块还得选择通用性较好的MCU和选定功能的相关器件,这二者是相互影响的。比如器件的接口是SPI的,MCU就应该有相应的SPI接口。反过来,先选定MCU,选择器件时就要注意选择MCU具有的接口类型。
实践证明,通用性好的积木块至少应该具有UART、I2C、SPI和一定数量的GPIO接口。另外,为方便和上位机PC通信,最好有USB接口。
其余接口的实现有三种方式:
①在一些专用的积木块上实现
②在通用性积木块上通过GPIO配置实现
③通过接口转换积木块来实现
总之,在选择串口通信接口协议时,以满足积木块基本功能为目的,适配MCU或器件的接口类型。
参考文献:
[1]赵振德,张建新.单片机原理及实验/实训.西安:西安电子科技大学出版社,2009.
[2]耿仁义.新编微机原理及接口技术.天津:天津大学出版社,2006.
[3]赵宏,王小牛,任学惠.嵌入式系统应用教程.北京:人民邮电出版社,2010.
[4]李群芳,肖看.单片机原理、接口及应用——嵌入式系统技术基础.北京:清华大学出版社,2005.
[5]刘海成.AVR单片机原理及测控工程应用——基于ATmega48/ATmega16.北京:北京航空航天大学出版社,2009.
河北省高等学校科学技术研究项目资助/Supported by science and technology research projects of colleges and universities in Hebei province 编号:Z2010316)
本文提出一种网络传输层安全技术,利用DES加密算法[4]对TCP/IP协议中传输层的首部字段和应用层数据段进行加密,同时将传输层的TCP/UDP协议转换为自拟的SDTCP/SDUDP协议。传输层协议转换传输层为应用进程之间提供端到端的逻辑通信。运输层包括两种不同的运输协议:面向连接的传输控制协议TCP和无连接的用户数据报协议UDP[5]。根据TCP和UDP原有的协议,本文提出了一种自拟的SDTCP(Self-DefineUserDatagramProtocol)和SDUDP(Self-DefineTransmissionControlProtocol)协议,重新定义了TCP和UDP的首部格式并对首部数据进行加密。同时,考虑到DES加密算法属于对称密码加密体制,如果长时间使用同一个密钥,容易被攻击者破解,因此在传输层首部加入了密钥选择字段,随机选择DES密钥,增强系统的可靠性。这样,经过传输层协议转换后,可以防止入侵者轻易地拆解IP数据包,以及防止各类运输层或应用层的攻击。SDUDP在UDP中,首部字段有8个字节,包括源端口号、目的端口号、数据长度和校验和[6]。SDUDP协议重新定义了UDP的首部格式,①数据长度:SDUDP用户数据报的长度,其最小值为10,仅有首部,最大值为1510。共占11位。②密钥选择:用于选择DES加密算法的密钥,共占5位。在设备的Flash中存放32组密钥并按顺序进行编号管理,该字段的数值即选择密钥的编号,系统根据该字段的数值来选择使用哪组密钥进行数据加解密。该字段数值由系统随机产生,保证了密钥的保密性。③校验和:检测数据报在传输中是否有错,如果发生错误就丢弃。④加密的源端口号与目的端口号:将UDP报文中的源端口号和目的端口号经64位DES加密算法加密后放在该字段中。UDP报文中的源端口号和目的端口号共有32位,在加密时后32位填充0。同时,修改IP数据报首部中的协议字段,以区别UDP协议。本文定义SDUDP的协议字段值为136。SDTCPTCP是TCP/IP体系中非常复杂的一个协议。由于网络摄像头与上位机之间的数据传输通常采用标准的TCP协议,因此在SDTCP中并没有改变TCP的可靠传输、流量控制和拥塞控制等的实现方法,而是重新定义了TCP的首部格式。在标准的TCP协议的首部格式中,包含了源端口号和目的端口号、序号、确认号、数据偏移、紧急指针、窗口、校验和等信息[6]。为了能使SDTCP的首部还原为TCP的首部,在SDTCP中保留了TCP的首部信息,但这些信息会使用DES加密算法进行加密,防止入侵者窃取。同时,在SDTCP首部加入摄像头的控制信息。①数据偏移:指出了SDTCP报文段的首部长度,占4位。该字段的计算单位是32位字(即以4字节长的字为计算单位)。由于网络摄像头使用的TCP协议在首部通常没有加入选项字段,因此该字段的值一般为5。②密钥选择:用于选择DES加密算法的密钥,共占5位。与SDUDP协议的密钥选择字段意义一致。③标志位:TCP协议中的控制标志位,包括紧急URG、确认ACK、推送PSH、复位RST、同步SYN、终止FIN。④校验和:检测数据报在传输中是否有错,如果发生错误就丢弃。⑤加密的窗口、紧急指针、源端口号和目的端口号:将TCP报文中的窗口、紧急指针、源端口号和目的端口号经64位DES加密算法加密后,密文数据的前16位放入加密的窗口字段,随后的16位放入加密的紧急指针字段,最后的32位放入加密的源端口号与目的端口号字段。⑥加密的序号和确认号:将TCP报文中的序号和确认号经64位DES加密算法加密后,密文数据的前32位放入加密的序号字段,后的32位放入加密的确认号字段。同时,修改IP数据报首部中的协议字段,以区别TCP协议。本文定义SDTCP的协议字段值为137。传输层安全技术设计流程网络摄像头传输层安全技术算法流程如***5所示。网络接口1接入监控中心或网络摄像头,网络接口2接入Internet网络。从网络接口1接收到的数据,经过DES加密和协议转换后通过网络接口2发送至Internet网络中;从网络接口2接收到的数据,若传输层为TCP/UDP协议则直接丢弃,若为SDTCP/SDUDP则经过解密后通过网络接口1发送至监控中心或网络摄像头。
1 基于电缆替代的蓝牙协议简析
1.1 蓝牙协议体系
蓝牙协议规范所措述的协议栈模式如***1所示。
蓝牙体系结构中的协议可分为四层:
核心协议:基带控制协议(Baseband)、链路管理协议(LMP)、逻辑链路控制应用协议(L2CAP)、服务发现协议(SDP);
电缆替代协议:RFCOMM;
电话传送控制协议:TCS二进制、AT命令集;
可选协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。
在协议中,规定了为基带控制器、LMP、硬件状态及控制寄存器提供命令接口的主机控制器接口(HCI)。在不同的应用模式下,HCI所处的位置不同。它可以位于L2CAP的下面,也可以在L2CAP之上。
1.2 电缆替代协议应用模式
基于ETSI标准的TS07.10信令的RFCOMM协议,提供了一个基于L2CAP协议之上的串口仿真应用模式。蓝牙协议1.0版中,RFCOMM提供的上层服务模式主要有三种:对9针RS-232接口仿真模式、空Modem仿真模式和多串口仿真模式。典型的RFCOMM应用模式框***如***2所示。
1.3 蓝牙嵌入式应用模式
仅仅以RFCOMM协议为基础,作为串口的电缆替代应用,无形中限制了蓝牙设备的应用范围,降低了蓝牙设备的应用价值。目前计算机与外部设备的接口种类繁多,比较常见的有RS-232、RS-485、Parallel Port、CAN总线、SPI总线、I2C总线等。如果要使蓝牙设备在各种场合发挥作用,必须使蓝牙设备具备适合这些应用场合的多种接口功能。使用DSP数字信号处理器作为嵌入式控制器,不仅实现蓝牙物理设备的初始化、蓝牙高层协议,而且利用其接口灵活的特点,可以方便地对蓝牙电缆替代协议进行有效扩展。具体应用模式如***3所示。
2 系统硬件结构
本系统的构成在硬件上分为两个部分,蓝牙基带和射频部分采用爱立信(ERICSSON)公司提供的蓝牙模块ROK101007;嵌入式控制器采用美国TI公司的TMS320VC54X系列的DSP数字信号处理器。
2.1 ERICSSON蓝牙模块
ROK101007是根据蓝牙规范1.0版(Bluetooth 1.0B Version)而设计的短距离蓝牙通信模块,它包括三个主上部分:基带控制芯片、Flash存储器和Radio芯片。它工作在2.4GHz~2.5GHz的I***频段,支持声音和数据的传输,其主上功能参数有:
Bluetooth 1.0B预认证;
2级RF射频功率输出;
提供FCC和ETSI纠错处理;
最大460 KB/s UART数据传输速率;
提供UART、USB、PCM、I2C等多种HCI接口;
提供内部晶振;
内部预制HCI框架;
点到点、点到多点操作;
嵌入式屏蔽保护。
ROK101007特别适合计算机及设备、手持设备、端口设备使用。其内含的蓝牙协议构架及内部系统框***如***4、***5所示。
2.2 DSP处理器
TMS320C54X是16-bit定点DSP,适合无线通信等实时嵌入式应用的需要。C54x使用了改进的哈佛结构。CPU具有专用硬件算术运算逻辑,大量的片内存储器、增强的片内外设以及高度专业化的指令集,使其具有高度的操作灵活性和运行速度。主要特点如下:
运算速度快:指令周期为25/20/15/12.5/10ns,运算能力为40/50/66/80/100MIPS;
优化的CPU结构:内含1个40位的算术运算逻辑单元,2个40位的累加器,2个40位的加法器,1个17×17的硬件乘法器和1个40位的桶形移位器。有4条内部总线和2个地址产生器等。先进的CPU优化结构可以使DSP高效地实现无线通信系统中的各种功能。
低功耗方式:54x系列DSP可以在3.3V或2.7V电压下工作,而有些DSP内核采用1.8V电压工作以减小功耗。
智能外设:除了标准的串行口和分时复用(TDM)串口外,54x还提供了多路缓冲串口(McBSP)和外部处理器通信的HPI并行接口。
2.3 系统构成
本系统中,采用单5V电源供电,嵌入式系统控制器与蓝牙模块之间的HCI接口采用UART方式。硬件构成框***如***6所示。整个系统分为四个部分:发射机、嵌入式控制器、电源管理、接口逻辑。
(1)发射机由蓝牙模块ROK101007和阻抗为50Ω的天线构成。初始化阶段,模块接收控制器通过UART发送的HCI命令,实现蓝牙设备的复位、启动、地址查询、跳频算法、自动寻呼等初始化操作,与附近的蓝牙设备建立可靠的物理链路,并对物理链路进行相应的加密。在数据传送阶段,接收控制器(HCI驱动模块)送来的HCI数据包,经过模块中HCI固件(HCI Firmwire)转化为基带数据包并送给基带协议层(Baseband)处理,基带对上层送来的数据进行解码,将其变为可以发送的位数据流,按照设定的跳频算法,采用高斯频移键控(GFSK)编码方式通过天线送出去。接收数据时,以相反的过程将接收到的数据进行编码,组合成HCI数据包格式并通过UART口送给控制器。具体的收发执行过程可以参考ROK101007数据及应用手册以及蓝牙协议相关部分。
(2)嵌入式控制器由TI的定点数字信号处理器TMS320C54x、Flash Memory、SRAM组成,完成对蓝牙模块的初始化、数据传送、协议实现等功能。
(3)接口控制逻辑包括应用接口和控制接口。控制接口为控制器的HPI接口,主要实现系统的***特殊控制和Flash***编程数据传送口。HPI控制接口通过DSP的HPI主机接口实现。应用接口包括RS-232/RS-485串行接口逻辑、并行接口逻辑(如IEEE488总线)、SI同步串口逻辑,在不同的嵌入式应用中,分别通过不同的接口形式实现本嵌入式系统与主设备控制器的接口。应用接口通过DSP的片内外设(enhanced peripherals)或者通用I/O端口模拟实现。
(4)电源管理。系统通过单5V电源供电,可以简单地从主设备接口中获取电源,无须另加电源器件。电源管理模块采用TI专用电路,提供两路电压输出,+3.3V工作电压和+1.8V控制器内核工作电压。
提高电气监控系统实时性的优化方法
提高电气监控系统实时性的方法有多种,总体可分为升级电气监控系统硬件和优化软件算法两方面。本文采用软件上对网络通信协议进行优化的方法,实现电气监控系统实时性能的提升。
(一)IEC60870-5-103协议的实时性优化
国际标准的103协议电气接口有2种,一种为光纤接口,另一种是EIARS485接口。光纤传输具有抗干扰能力强,传输速度快等优点。当继电保护装置与监控系统在同一个变电站内或距离较近时,光纤接口与EIARS485接口的传输速度差别可忽略不计。采用光纤接口和EIARS485接口在通信链路拓扑上是相同的,因此光纤接口与EIARS485接口的分析方法是一致的。下面重点对EIARS485接口进行分析。EIARS485接口是一种三线制半双工接口,在一个时间点只能进行信号的接收或者发送,即信号收发不能同时进行。在工程上常采用***4的通信拓扑结构。EIARS485总线上并联的3个继电保护装置轮流获得通信权,向通信前置机发送数据。继电保护装置的数据能否尽快地传送给通信前置机,取决于获得通信权的时间间隔。基于这样的机制,就会出现如果一个继电保护装置传输多个信号时,将会占据比较长的传输时间。特别是当发生大面积电气故障时,继电保护装置可能会产生较多的变位信号。如果按一个继电保护装置上传5个遥信信号计算,传输这5个变位遥信信号要通过至少20帧报文才能完成。为保证继电保护装置的信号能实时传输给通信前置机,在考虑EIARS485接口连接继电保护装置的数量时,就需要计算极端情况下,在EIARS485接口中继电保护装置信号传输的最大延时。计算EIARS485数据的传输延时,本文参考国标GB/T18657.2-2002中的非平衡传输过程进行计算。
(二)IEC60870-5-104协议的实时性优化
104协议是基于以太网传输的,以太网RJ45接口是一种平衡传输的全双工接口。影响104协议实时性的主要有2个因素:一是以太网的传输性能。这是由网络拓扑结构和以太网带宽决定的。二是104协议报文的信号携带效率。下面主要通过对第二个因素优化来提高104协议的实时性。104协议通过I格式帧进行数据传输。104协议中规定一个ASDU在不超过249个字节时,既可以传输一个信号(如开关变位信号),也可以传输一组信号(包含多个遥信信号)。在现有的监控系统104协议使用中,一个I个格式帧通常只传输一个变位遥信信号。如果能够做到在一个I个格式帧内尽可能传输多个数据,无疑提高了信号的传输效率。本文认为可以采用一个I个格式帧包含5~10个遥信变位信号。这样传输虽然增加了I个格式帧的长度(增加了15~50个字节),但对于100M以太网的传输性能来说,增加15~50个字节的影响可以忽略不计。采用这种方法传输后,原先传输500个遥信变位信号需要1000帧报文(一个遥信变位包括一帧遥信变位报文和一帧SOE报文),现在只需要500帧报文,传输延时可节约接近1半。
提高电气监控系统可靠性的优化方法
电气监控系统可靠性主要依靠通信前置机、数据服务器、远动机等设备的冗余配置和通信网络的冗余配置实现。在现有的使用过程中,硬件虽然冗余配置,但冗余设备之间的相互无扰无缝切换却是一直存在的问题。本文通过优化网络通信协议应用,使通信前置机冗余切换和通信网络冗余切换的可靠性得到提高,从而提升电气监控系统的可靠性。
(一)IEC60870-5-103协议双机热备接口切换
103协议在采用EIARS485接口时,一个EIARS485接口只能有1台主机,即2台通信前置机不能通过同一个EIARS485接口向1台继电保护装置发送报文。为提高103协议传输的可靠性,本文认为可将2台通信前置机的所有EIARS485接口并接运行。1台通信前置机处于工作状态(向继电保护装置发送和接收报文),另1台通信前置机处于热备状态(通过该EIARS485接口,只接收工作状态通信前置机与继电保护装置的通信报文)。当热备状态通信前置机检测到工作状态前置机的任何一个EIARS485接口通信中断(该EIARS485接口没有通信报文)时,热备状态前置机接过该EIARS485接口的主机地位,通过该EIARS485接口向继电保护装置发送和接收报文。此时,工作状态通信前置机则放弃该EIARS485接口的主机地位,从而实现IEC60870-5-103协议双机热备接口切换。
(二)IEC60870-5-104协议双以太网(双通道)并行数据传输
现有的监控系统大多都采用通信前置机、数据服务器、远动机和以太网的冗余配置。冗余配置大大提高了信号传输的可靠性。但目前常用的双机双网切换机制都为“硬切换”,即正常情况下冗余的两台通信前置机中只有其中一台使用冗余通信网络中的一条与远动机或服务器进行通信。当正常运行的前置机发生故障或者正常运行的通信网络中断时,通信切换到冗余的另一台通信前置机或另一条通信网络。但是使用这种机制最大的缺点是:通信前置机的切换和通信网络的切换是通过通信前置机内部软件进行判断实现的,切换过程通信是中断的,无法做到无扰连续切换。2008年,IECSC65WG15了IEC62439高可用性自动化网络协议,其中IEC62439-3规定的并行冗余协议(PRP),提出了将设备连接在具有相同特性并列运行的2个LAN网络结构上,在设备上实现冗余网络通信的数据处理。
IEC60870-5-104协议没有规定如何使用冗余通信网络进行数据传输。如果采用并行冗余协议(PRP),需要在各设备内部增加链路冗余体(LRE)进行冗余网络通信的数据处理。但传统变电站现有的监控系统设备并不具有这样的功能结构。如果采用并行冗余协议(PRP),无疑需要重新设计现有的监控系统设备。本文根据并行冗余协议(PRP)的通信原理和104协议的通信机制,在不改动现有设备的基础上,对现有的104协议的通信方式进行修改,从而实现104协议在冗余网络上的并行数据传输。
下面以通信前置机与远动机通信为例,介绍104协议并行数据传输方法(如***5)。在通信前置机和远动机的104协议程序中定义冗余传输的以太网口A和以太网口B。在以太网口A与以太网口B冗余并列通信时,双方链路初始化结束后,总召换和对时报文均由远动机通过以太网口A启动,通信前置机通过这2个以太网口,以相同的报文(包括相同的发送序号和数据内容)向远动机发送报文。远动机则同时从本机冗余传输的以太网口A和以太网口B读取报文,判断2个以太网口收到报文的发送序号,舍弃发送序号较小的报文。如果其中一条以太网链路发生翻动(因路由器或交换机的原因导致通信链路短时中断)时,通信前置机与远动机对这条以太网链路重新进行通信链路初始化(如***6)。初始化结束后,通信前置机并不将该条链路报文的发送序号置0,而是使用与另一正常链路相同的报文(包括发送序号和数据内容)继续发送,从而保证在冗余的通信网路上进行数据的同步传输。
【Abstract】V5 interface which between the local exchange (LE) and Access Network (AN) is designed for the development of access networks (AN), with an open, strong business ability, etc. The article first introduced the technical features of V5 interface and the protocol architecture of V5.2 interface, And then introduced the pre-reform and major shortcomings of the audio access networks in Foshan Power Supply Bureau, Focuses on how to use Huawei C&C08 exchanges and access network equipment FA16, and useV5 interface technology to optimize the audio access network of Power Supply Station. At last, explained the configuration parameters which used to connect the access network equipment and the local exchange.
【Key words】V5;Power Supply Station;Audio;Access Network
1. 引言近几年,佛山供电局为提供更好的供电服务,在佛山五区新建改造了多个供电所和营业厅。随着供电所和营业厅数量增加及电话用户增多,传统的使用Z接口延伸方式的电话接入网已不能满足话务需求。因此,佛山供电局采用了深圳华为公司的FA16接入网设备,利用V5接口技术与交换机对接,实现语音业务的灵活透传,优化了供电所语音接入网的组网及管理。
2. V5接口的技术特点及V5.2接口的协议结构
2.1V5接口的技术特点。V5接口是专用于本地交换机(LE)和接入网(AN)之间的接口。已颁布的V5接口规范包括了V5.1接口(ITU-T建议G.964,邮电部标准YDN-020-1996)和V5.2接口(ITU-T建议G.965,邮电部标准YDN-021-1996)。V5.1接口由一个2048Kbit/s链路构成,时隙与业务端口一一对应,用于支持模拟电话接入、基于64Kbit/s的ISDN基本接入,和用于半永久连接的、不加带外信令信息的其它模拟接入或数字接入。这些接入类型都具有指定的承载通路分配能力,在接入网内无集线能力;V5.2接口按需要可由1~16个2048Kbit/s链路构成,时隙动态分配,它除了支持V5.1接口的接入类型外,还支持ISDN一次群速率接入,具有集线能力。由于V5.2接口支持的接入类型具有灵活的、基于呼叫的承载通路自动分配能力,因此,广泛应用于连接本地交换机和接入网。
2.2V5.2接口的协议结构。V5.2的接口协议分为物理层、数据链路层和网络层三部分。
(1)第1层为物理层,主要实现接人网(AN,Access Network)与本地交换机(LE,local Exchuge)的物理连接。一个V5.2接口具有1~16个E1,这些E1接口由交换机和接入网的E1接口板来提供,每个E1称为一条链路。E1接口可由同轴75欧姆或平衡120欧姆电缆连接,可经过PDH、SDH等设备透明传输。V5.2接口的每个E1链路由32个时隙组成,其中,时隙TS0用作帧同步和服务于CRC-4规程;时隙TSl5、TSl6、TS31用作物理C通路,即物理通信通道(用于传输PSTN信令、控制协议、链路控制协议、BCC协议、保护协议以及ISDN D通路等信息);其余时隙则用来作为业务承载通路。
(2)第2层为数据链路层,该层仅对C通路起作用,目的是将不同的信息流灵活地复用到C通路中去。数据链路层使用的规程称为LAPV5。LAPV5基于ISDN的LAPD规程分为:封装功能子层(LAPV5-EF:用于封装AN和LE间的信息,实现透明传输)和数据链路子层(LAPV5-DL:定义了AN和LE间对等实体的信息交换方式)2个子层。另外,接入网的第2层功能中还包括帧中继层(AN-FR),用以支持ISDN网D通路信息。第2层中各个子层之间的通信由映射功能完成。 ***1V5.2接口的协议结构
(3)第3层为网络层,支持不同的面向消息的第3层协议,包括PSTN协议、控制协议(公共控制和用户端口控制)、BCC协议、保护协议和链路控制协议,后三个协议仅用于V5.2接口。[1]
3. 传统供电所语音接入网的现状及语音业务的主要缺陷传统的佛山供电局供电所语音接入网主要采用Z接口延伸方式把二线模拟语音业务通过PCM及SDH从交换机侧传送到用户侧,部分供电所在本地安装敏迪2000L小型交换机,直接在当地下业务。 ***2采用Z端口延伸方式的供电所接入网组网简***随着用户点不断增加及各用户点的业务需求不同,传统的语音接入网表现出巨大的弊端:
(1)高成本、低效率:必须在本地交换机侧及PCM用户侧配置大量的话路板;必须通过SDH传输网开通足够多的E1进行连接(采用Z接口延伸的方式必须给每个话路分配一个固定时隙,而每个E1只能提供30路话路时隙)。
(2)运行维护工作量大:由于每个话路都必须先从本地交换机的话路板通过音频双绞线成端到VDF配线架,然后硬跳线接至PCM的交换机侧话路板的对应端口,经过传输网在用户侧PCM的话路板下话路再跳接到用户处,因此,每开通一个话路都需要配置交换机和接入网侧的数据,并且需要至少2次的硬跳线。并且,当业务出现故障时需要逐级检查多个环节。
4. 采用V5.2接口技术优化佛山供电局供电所语音接入网随着办公大楼语音业务需求增加以及供电所、营业厅的站点增加,传统的供电所语音接入网只有进行扩容和改造才能满足业务需求。改造后的供电所语音接入网应用V5.2接口技术,主要由哈里斯IXP2000LX交换机、华为C&C08交换机以及华为FA16设备组成。
4.1采用华为FA16设备改造供电所语音接入网。以改造后的南海及三水的供电所语音接入网组网为例,如***3所示。 ***3改造后南海及三水的供电所接入网组网简***在南海局机房和三水局机房各安装一套华为FA16设备,配置为OLT(Optical Line Terminal),采用GV5-Ⅲ子架,安装8块DTE板(每块DTE板可提供8个E1接口,整个子架可提供62个E1接口,保留最后2个E1为设备内部总线),配置如***4。 ***4OLT——GV5-Ⅲ子架而南海、三水的各供电所及营业厅分别安装一台华为FA16设备,配置为ONU(Optical Network Unit),采用PV8-10子架,根据用户数量配置话路板(一般使用的ASL用户侧语音板每块可提供16个话路,最多可配置10块,共提供160个话路),配置如***5。在南海局机房的C&C08交换机的V5数字中继板(V5TK)上分别开通4个E1通过SDH传输网与南海的OLT和三水局的OLT设备的数字中继板DTE相连,南海局、三水局的OLT设备的DTE板也分别通过传输网开通所需数量的E1分别与当地的各供电所、营业厅所安装的ONU设备相连。由于V5.2接口具有时隙动态分配的功能,只有当用户摘机拨号时,才会即时占用E1中的时隙,根据电力系统语音业务的收敛比配置合理的E1数量,可以有效节省交换机和接入网资源。供电所、营业厅侧安装的华为FA16设备一般配置2块主控板(PV8/PV4),当接入2个或以上2M时,把2M分别接到不同的主控板上。利用V5.2接口承载的保护协议,接入网网管侧从两块主控板上各选一个2M配置为同一保护组的主备链路。当主链路中断或堵塞时,自动启用次链路承载业务,使用证明,倒换时间在1分钟内。实际应用中,我们还把所用的2M采用不同的物理路由传输,确保业务的可靠运行。
4.2交换机和接入网设备对接过程中应用到的配置参数。交换机与华为FA16设备利用V5接口技术对接时,必须采用双方一致的以下配置参数,以南海C&C08交换机与南海、三水OLT的对开的两个V5.2接口为例:
(1)接口标识:取值为:0~224-1。接人网和交换机可以有1个或多个V5接口.每个接口都应有唯一的标识以区分。南海C&C08交换机与南海OLT的V5接口标识为0、与三水OLT的V5接口标识为1。
(2)变量编码:取值为:0~255。当对接的LE对变量值有要求时,需取其要求定义变量值;若无明确要求,在AN侧和LE侧都取0即可。南海C&C08交换机与南海OLT和三水OLT的V5接口变量编码均为0。
(3)是否启用链路身份标识规程:链路身份标识规程是V5接口协议中的一个检验2M链路是否正常连通的规程,用来防止PCM物理连线交叉接错。其取值为不启动、定时启动、重启动时启动、重新指配时启动、链路故障恢复时启动四种。启用链路身份识别会影响启动速度,因此正常应用时一般都不启用。
(4)V5接口物理通道保护组类别:1个V5.2接口最多可以有16条2 M链路,每一条链路的第15、16、31时隙都可以用作物理通信通道。但是,1个V5.2接口只允许有1条保护组一主用的物理通信通道(一般用16时隙),用于运载V5接口的各种协议信令;还可以有1条保护组一备用物理通信通道,对保护组一主用的物理通信通道进行保护,同时运载保护协议的信令(在主用通道故障时,LE和AN能通过备用通道上的保护协议的数据链路通信,协调进行保护切换到备用的2M上)。另外,1个V5.2接口还可以有多条保护组二主用的物理通信通道及最多3条保护组二备用的物理通信通道。当需要传送的PSTN协议和ISDN的D信道信令太多,保护组一主用的时隙不够用的情况下,才使用保护组二的通信通道。佛山局使用的每个V5.2接口一般包含2~8条2M链路,只采用保护组一方式。
(5)V5接口逻辑通信通道标识:取值为:0~65535。该标识是接入网和交换机用来识别逻辑通信通道的唯一标识。对于保护组中主用物理通道,一般取值与“V5接口标识”的值相同;对于保护组中备用物理通道,则固定为65535,表明该物理通道暂时不承载逻辑通信数据。因此,南海C&C08交换机与南海OLT的V5逻辑通信通道标识为0、与三水OLT的V5逻辑通信通道标识为1。
(6)对接2M链路的链路标识:取值为:0~255。由于1个V5.2接口可以有1~16条2M链路,为了区分不同的2M链路,为免连接时收发2M线间交叉或检验2M线是否连接正确,需要给每条2M链路指定1个唯一的标识,只有2M线两端的交换机及接入网设备对该2M的链路标识一致,V5接口才能正常启用。
(7)对接2M链路的CRC4校验:指明V5接口的2M链路是否需要启用CRC校验及差错对告功能。若交换机和接入网设备对该功能的启用不一致,则将出现线路告警。因此两侧需保持一致,佛山局不选择启用CRC4校验。
(8)PSTN协议通信通道标识:取值为:0~65535。PSTN子协议的数据链路可以在任何一个主用物理通信通道上传递,所以必须配置其所在的逻辑通信通道标识。佛山局只采用保护组一的方式,即只有l条主用物理通信通道,则PSTN协议通信通道标识就是保护组一主用的物理通信通道所用的逻辑通信通道标识。为了更好地管理配置数据,一般取值为V5接口标识、V5接口逻辑通信通道标识和PSTN协议通信通道标识三者一致。
(9)用户端口的协议地址(又称L3地址):取值为:0~32767。交换机对通过指定V5接口传输的每一个电话号码定义相应的协议地址,接入网设备把协议地址对应到用户端口。这样当用户摘机时,V5.2协议才能通过两侧一致的协议地址将用户端口和交换机的电话号码对应起来,建立起一条话路。[2]
5. 结束语采用V5接口技术改造后的佛山供电局供电所语音接入网组网灵活简单,业务运行比采用Z端口延伸的方式更可靠稳定,节省了大量设备板件及线缆等资源,同时大大减少了语音业务开通及维护的工作量,达到了优化供电所接入网的预期效果。但是,接入网的建设很大程度上受传输网的制约,需要接入的供电所和营业厅必须在传输网覆盖的范围中。因此,佛山供电局的光纤传输网络覆盖范围广、容量大是本次接入网优化的前提条件。
本文来自投稿,不代表本网立场,如若转载,请注明出处。