时间:2023-01-05 16:58:46
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇接口协议,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
关键词:PS/2接口;串行通讯;单片机;键盘;CD4052
1 PS/2接口标准的发展过程
随着计算机工业的发展,作为计算机最常用输入设备的键盘也日新月异。1981年IBM推出了IBM PC/XT键盘及其接口标准。该标准定义了83键,采用5脚DIN连接器和简单的串行协议。实际上,第一套键盘扫描码集并没有主机到键盘的命令。为此,1984年IBM推出了IBM AT键盘接口标准。该标准定义了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个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中
表中,如果数据位中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。
关键词:SDN OpenFlow 体系架构 标准接口
中图分类号: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网络依托其可编程性、集中控制、资源虚拟化等优势,必将在工业中广泛应用。
参考文献
[1] 赵宏昊,孟凡博,王杰,等.辽宁电力通信网容灾体系建设[J].东北电力技术,2013,34(7):10-14.
关键词:数字电视,图文信息,接口
1引言
数字电视图文信息服务系统建立的目的主要是为了更好的给用户提供所需的关于医疗卫生、教育教学、农产品价格和供求等相关信息,对信息资源做到集中管理、共享访问,最终形成一个有一定规模的图文信息服务系统。论文参考,图文信息。为了使各部分模块之间能够顺畅的衔接,本文介绍了数字电视图文信息服务系统接口的设计方案。
2图文信息服务系统外部接口的设计
2.1与门户的接口
图文资源中心作为一个独立的平台,与门户登陆系统之间通过接口传送机顶盒登陆数据信息,如图1所示。
图1 门户系统接口结构图
门户系统接口:功能是获得当前机顶盒的MAC地址。论文参考,图文信息。
接口协议:通信采集用HTTP协议,通信的数据格式采用XML1.0标准。
2.2与合作方网站的接口
对于开放站点数据库的合作方,由于不同的合作方其数据库结构也不尽相同,因此在图文采集子系统的数据迁移模块中,分析合作方数据库结构的协议需要与开放站点做接口。
传输数据:合作方向资源中心提供的信息数据。
接口协议:合作方数据源的数据格式协议。论文参考,图文信息。与开发站点数据库的通信采集JDBC2.0标准;与XML格式数据源通信,数据格式采用XML1.0标准。
2.3短信平台接口
此接口留待扩展,当用户选择接收手机短信时,有新的留言信息会有手机短信提示,可和现有的短信平台对接,实现图文的短信增值。
传输数据:留言发件人、留言标题、留言正文。
接口协议:与留言系统数据库的通信采集JDBC2.0标准;与短信平台接口数据格式符合短信平台的协议。
2.4与中小学教育信息系统(PSTIM)接口
2.4.1数据同步
数据同步部分主要功能是基于TCP协议建立socket连接的方式,将中小学教育信息系统中的年级、年级所学科目、年级所学科目版本、知识点、教学周等信息传递过来,并将此信息转化为图文栏目层次的数据关系,通过此关系可以对学习资料图文信息进行组织。在图文中PSTIM传递而来的数据将组成为图文中一个子系统进行管理。
1.接口结构图
图2PSTIM门户系统接口结构图
2.协议和规范:
TCP协议:从PSTIM中获取数据采用的协议。
JDBC:数据转入图文数据库中遵守的规范。
HTTP:接口程序与图文数据库通信采用的协议。
3.接口实现:
接口实现分为五个模块(类):中间表、socket通信模块、传输数据分析模块、数据结构转化模块、图文库操作模块。论文参考,图文信息。
1) 中间表:
图3 接口图文与中小学教育数据结构图
2) Socket通信模块:
采用成熟的基于TCP协议的socket通信的代码搭建。根据双方沟通和《教学管理系统与EPG等系统的接口协议.》文档,接口同步程序作为socket通信的客户端。论文参考,图文信息。根据配置的IP和PORT向服务端发送数据请求。论文参考,图文信息。服务端数据发生变化由系统外通知,数据通信请求由手动方式触发。
3) 传输数据分析模块:
传输数据分析类根据文档《教学管理系统与EPG等系统的接口协议》制定数据传输协议编写。
4) 数据结构转化模块:
数据结构转化完毕后在栏目表中层次结构为:中小学教育信息系统->年级->年级所学科目->年级所学科目版本->知识点->图文学习资料。转化完毕在图文中中小教学系统传递而来的数据作为一个图文中一个子系统进行管理。
数据同步完毕后在接口图文与中小学教育表中层次结构为年级->年级所学科目->年级所学科目版本->知识点。
5) 图文库操作模块:
该模块主要由操作栏目和操作接口图文与中小学教育两个表。功能分为:
a) 对这两个表进行插入、修改、更新操作。
b) 获得同步数据在图文中所属的rootid。
c) 删除栏目(删除其下所有子栏目和信息)。
3总结
数字电视图文信息服务系统为数字电视增值业务的发展提供了更为广阔的平台,设计适合信息服务平台各类信息模块联接的接口,是图文信息服务系统中的重中之重。本文所设计的方案,满足了各模块之间的信息交互,为数字电视增值业务的发展奠定了坚实的技术基础。
参考文献:
[1]邓晓燕.广播电视台图文信息频道制播系统的升级和改版初探[J]. 技术与市场,2009,(04).
为了保证PLC与变频器之间的数据通信准确、及时、稳定可靠,必须对它们的硬件和软件进行统一的规定和处理,必须解决数字传输的一系列技术问题。
第一要解决的是通信接口。PLC和变频器都必须具备有能够进行通信的硬件电路,然后用导线将它们连接起来进行通信。这种硬件电路称为通信接口。硬件电路的设计标准不同,就形成了各种不同接口标准,如RS232、RS422、RS485等。PLC对变频器进行通信控制,双方的接口标准必须一致。如果不一致,就必须在中间加上接口转换设备,让接口标准编程一致。
第二要解决的是通信传输方式。所谓通信传输方式,是指通信双方按照什么规定来进行数字通信,如并行还是串行、同步还是异步、单工还是双工、基带传输还是频带传输、用什么样的传输介质、通信速率是多少,等等,这些技术问题一部分是通过硬件来完成的,另一部分是通过通信设置来完成的。
第三要解决的是通信控制数据内容的约定,如控制哪个变频器、控制的内容如何表示等。这些问题是由双方对通信的约定——通信协议来解决的。
一般按控制功能和通信数据流向可分为四种:
对变频器进行运行控制;
对变频器进行运行状态监控;
对变频器相关参数进行设定修改;
读取变频器参数值。
所谓通信协议,是指通信双方对数据传送控制的一种约定。约定中包括对通信接口、同步方式、通信格式、传送速度、传送介质、传送步骤、数据格式及控制字符定义等一系列内容作出统一规定,通信双方必须同时遵守,因此又称为通信规程。
广义的通信协议应该包含两部分内容:一是硬件协议,即所谓的接口标准;二是软件协议,即所谓的通信协议。
硬件协议—串行数据接口标准和通信方式。串行数据接口标准属于物理层。而物理层是为建立、保持和断开在物理实体之间的物理连接,提供机械的、电气的、功能性的特性和规程。
因此,串行数据接口标准对接口的电气特性要作出规定,如逻辑状态的电平、信号传输方式、传输速率、传输介质、传输距离等;还要给出使用的范围,是点对点还是点对多。同时,标准还要对所用硬件作出规定,如用什么连接件、用什么数据线,以及连接件的引脚定义和通信时的连接方式等,必要时还要对使用接口标准的软件通信协议提出要求。在串行数据接口标准中,最常用的是RS232和RS485串行接口标准。
在PLC通信系统中,采用的是一步传送通信方式,这种方式速率低,但通信简单可靠,成本低,容易实现。异步传送在数据传送过程中,发送方可以在任意时刻传送字符串,两个字符串之间的时间间隔是不固定的,接收方必须时刻做好接受的准备。也就是说,接收方不知道发送方是什么时候发送信号,很可能会出现当接收方检测到数据并作出响应前,第一位比特已经发过去了。因此,首先,要解决的问题就是如何通知传送的数据到了。其次,接收方如何知道一个字符发送完毕,要能够区分上一个字符和下一个字符。再次,接收方收到一个字符后如何知道这个字符有没有错,这些问题都是通过通信格式的设置来解决的。
在硬件协议—串行数据接口标准中对信号的传输方式作出了规定,而软件协议即通信协议则主要对信息的传输内容作出规定。
信息传输的主要内容是:对通信接口提出要求,对控制设备间通信方式进行规定,规定查询和应答的通信周期;同时,还规定了传输的数据信息帧(即数据格式)的结构、设备的站址、功能代码、所发送的数据、错误检测,信息传输中字符的制式等。
关键词:软交换;综合接入设备;简单会话协议;用户
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)14-3249-02
SIP Protocol Design Based on Integrated Access Device
JIANG Guo-song
(Huanggang Normal University,Huanggang 438000, China)
Abstract: IAD SIP module is part of the upper layer application software system to coordinate, control board SIP protocol stack and hardware between the work and information exchange process. In this paper, functional requirements IAD integrated access devices designed to SIP protocol module structure, and integrated access devices and software based on the exchange interaction between the media gateway controller, developed a way of processing interface and interfaces to achieve a comprehensive Access device and the seamless connection between the MGC.
Key words: soft switch; IAD; SIP; UA
随着三网合一的发展,基于TDM的PSTN话音网必将和分组交换数据网融合,形成可以传递话音和数据等综合业务的新一代网络。如何灵活,有效地实现现有的PSTN网与分组交换网的互通,将PSTN逐步的向IP网络演进,其很重要的一点就是如何接入,即如何将PSTN信号转化为能在IP网络上传送的信号。由于软交换是多种功能实体的的集合,是下一代电信网中语音/数据/视频业务呼叫、控制、业务提供的核心设备,也是目前电路交换网向分组网演进的主要设备之一。
1 SIP协议模型
IAD设备可以建立、修改和释放多媒体会话,这些会话包括基本的电话呼叫、多媒体会议等。作为一个终端接入设备,IAD可以检测到来自硬件板卡的交互信息,如设置物理端口的参数,打开、关闭一个物理端口,设置RTP会话的参数,打开、关闭一个RTP会话,在物理端口上发信号(如振铃音),播放语音(可选功能),在物理端口上检测事件(如DTMF),设置编码方案,接收RTCP报告。IAD收到硬件板卡的交互信息后,控制SIP协议栈建立、修改和释放呼叫,并接收对端IAD设备发送过来的呼叫指示信息。作为支持SIP协议的IAD设备,既可以作为主叫发起呼叫,也可以作为被叫接受呼叫。因此,SIP IAD的UA既具有UAC的功能,也应具有UAS的功能。
分层次模型:采用层次化的组织方法,每一层向其上层提供服务,并利用下层的服务。在一些分层系统中,内部层次全部被隐藏起来,只有外部层次和一部分精心选择的功能可以被系统外部所见。在这种系统中,软件部分是实现在层次结构中的一些虚拟机,连接是层次与层次之间交互的协议。其主要优点是它支持基于抽象程度递增的系统设计,使得设计者可以把一个复杂系统按递增的步骤分解开;细节屏蔽,每层对其上层而言,都是一个比其下层更适用、更高效的虚拟存在。这使得其实现和调试可按层组织、功能扩展也很方便,适用于多人分工、协作开发;支持功能增强,功能的改变最多影响相邻的上下层;支持软件复用。但是,并不是每个系统都可以很容易地划分为分层次模型,甚至即使一个系统地逻辑结构是层次化地,出于对系统性能地考虑,不得不把一些低级或高级地功能耦合起来。另外,很难找到一个合适地、正确地层次抽象方法。分层次模型最广泛应用于分层通信协议。
客户/服务器模型:将软件对资源的使用分成需者(客户)和供者(服务器)两个部分。服务器代表一个进程,它对其他的进程(客户机)提供服务,它接收客户的请求消息,然后发送响应消息给客户机。客户/服务器模型的特点是各系统构成部件小且自含,实现单一、可靠。另外,由于服务器可运行在各种地方,使该结构有很好的硬件结构适应能力,特别适合于多处理系统的分散处理。客户/服务器模型用于人机界面与系统的关系和资源管理。
2 设计思想
从软件工程的角度来分析,我们首先必须进行结构设计,确定软件系统由哪些模块组成,以及这些模块之间的关系。软件系统结构是以选取最佳的软件模型来实现的。软件模型是将系统所提供的特性、服务以及系统所执行的任务统一成一体的概括框架。软件模型选择和建立的适当与否直接影响到软件实现的难易和系统性能的高低。软交换呼叫处理系统的设计和实现采用了分层次模型、客户/服务器模型和面向对象模型,以保证系统设计的高效性、可靠性、可扩展性。
3 系统结构和处理流程
3.1 系统结构
根据系统描述和总体设计说明,结合SIP协议栈和硬件板卡的适配,有图1的SIP IAD系统结构图。其中SO层是SIP协议栈层,HR是RTP协议栈,PG是板卡适配层,呼叫控制层负责整个呼叫过程的控制,可以定义为SV层或者DS层(IAD SIP)。关于呼叫控制层与PG层、SO层的接口名按照Trillium的方法定义,既呼叫控制层和PG的接口名定义为Pgt,呼叫控制层与SO层的接口名定义为Sot。接口之间的原语名定义也完全按照Trillium的方式定义。
3.2 处理流程
以SIP IAD终端既可以做主叫发起呼叫,也可以做被叫接受呼叫。基于SIP的IAD和基于H.248的IAD有所不同,H.248 IAD必须有MGC的参与才能运行,而基于SIP IAD对MGC可选,只有电信级的SIP IAD才需要MGC的参与。
图2中假定IAD1为主叫,IAD2为被叫,IAD1和IAD2之间正常通信的最简单的一种情形,不设及地址解析和路由,没有MGC的参与。实际主被叫IAD通信,可能要经过MGC的控制,以便地址解析和呼叫计费。
4 接口设计
SIP IAD模块的接口分内部接口和外部接口。内部接口是指呼叫控制层SV和SIP协议栈SO层的接口Sot,外部接口是指呼叫控制层和PG层的接口Mgt以及呼叫控制层和HR的接口Hrt。对于内部接口,主要是处理SV层控制SIP协议栈发送和接收SIP消息,而对于外部接口,主要是处理SV层和PG层的消息交互,实质上是处理PG层消息和从SIP协议栈接收/发送消息的映射,同时将SIP的SDP中的媒体信息传送给HR层,打开/关闭RTP端口。内部接口和外部接口相互独立,相互没有本质的联系。此模块要设计好,比较重要的一环是设计好外部接口原语及相应的数据结构。对于外部接口,要处理好以下消息:
当SV层收到PG发送来的消息时,首先判断PG发送来的信号类型:
1)主叫摘机信号
2)被叫摘机信号
3)主叫挂机信号
4)被叫挂机信号
5)主叫电话号码(地址)
6)被叫电话号码(地址)
7)媒体通道信息(用来构建SDP消息)
根据相应的消息类型来构建响应消息来控制SIP协议栈发送相应的SIP消息。同时,当SV层收到SIP协议栈送来的消息时,根据消息的类型向PG层发送消息:
1)Alter tone消息
2)Ringing tone消息
3)挂机请求消息
由此构建SV层和PG层交互的数据结构SvEvnt如下:
struct SvEvnt
{CmMemListCp memLst;
UConnId spConnId;
UConnId suConnId;
TknStrOSXLcaller;
TknStrOSXLcallee;
PGMEDIADESC mediaDesc;
}typedef struct
{U8 pres;
U8 num;
U16port;
U8 fmt[PGMEDIA_FMT_LEN_MAX];,
}PGMEDIA_FMT;
typedef struct
{U8pres;
U8used; /* only for Pg,
TRUE=used,FALSE=nouse*/
CmInetIpAddraddr; /* sdp, c=...IPv4*/
PGMEDIA_FMT audio;/* sdp, m=audio ...*/
PGMEDIA_FMT video;/* sdp, m=video ...*/
}PGMEDIADESC;
4 结束语
本文通过对软交换系统下媒体网关控制和综合接入设备之间的信令交互方式,采用了SIP协议规范,并根据中国电信规范的要求设计了综合接入设备的SIP协议模块,实现综合接入设备的SIP协议注册以及信令处理流程,实现了综合接入设备与MGC之间的无缝对接,达到了语音的端到端数字化。
参考文献:
[1] 信息产业部,2001.软交换设备总体技术要求[S].
[2] 信息产业部,2000.IP电话网关设备技术要求[S].
[3] 信息产业部,2000.IP电话网关设备互通技术要求[S].
[4] 信息产业部,2000.IP电话网关设备测试方法[S].
[5] 信息产业部.Draft Recommendation H.248 (clean text).ITUT Study Group 16,15th June 2001.
[6] M.Arango et.Media Gateway Control Protocol (MGCP),October,1999.
清华大学嵌入式微处理器芯片设计为国家重点863项目,单芯片多处理器设计为项目的一个延伸。单芯片多处理器是提高处理器性能的有效途径,具有低耦合度、粗粒度并行性的主要特点。清华大学已成功开发出具有自主知识产权的MIPS 4Kc架构的32位微处理器--THUMPl07。该处理器具有内核性能高、面积小、功耗低的优点。使其经过裁减非常适合作为单芯片多处理器的内核。
本次单芯片多处理器的设计将两个Thumpl07内核集成在一个芯片上,两个内核处于完全对等地位,实现进程级的粗粒度并行。由于已经具有可以利用的内核,开发的重点就集中在高速缓存(Cache)一致性的实现上。芯片采用了基于内部总线写更新监听的高速缓存一致性协议,具有控制逻辑简单、可扩展性好的特点。内部总线采用适合片上系统通信、高可配置性的WISHBONE总线。使用该片上总线有效地解决了IP核可移植性、设计复用的问题[2l]。
1 WISHBONE总线
WISHBONE最先由Silicore公司提出,现在被移交给OpenCores组织维护。由于其开放性,现在已有不少用户群体。特别是一些免费的IP核,大多数都采用WISH-BONE标准。该总线结构具有公用的接口规范方便结构化设计,有效地解决了IP核可移植性、设计复用的问题。
WISHBON耳总线为半导体内核提供了可配置的互连方式,能够使各种内核互连起来形成片上系统;WISH-BONE总线具有很强的兼容性,提高了设计的可重用性;WISHBONE总线的接口独立于半导体技术,其互连方式既可以支持FPGA设备,也可以支持ASIC设备;WISHBONE总线协议简单、易懂。
WISHBONE总线是一种主/从接口架构的总线技术,如果具有有效的仲裁机制,总线系统可以支持多个ne/从接口;WISHBONE总线的可配置性主要体现在支持点到点、共享总线、数据流、交叉开关型的互连方式;WISHBONE总线协议既包含了一种容易使用、可靠性高、易测试、所有总线事务都可以在一个时钟周期内协同的同步传输协议,也包含了标准时钟周期的异步传输协议;WISHBONE总线的同步传输协议可以工作在一个大范围的时钟频率上。这样WISHBONE总线接口既可以与内核时钟周期同步,也可与不同的目标设备同步,时序都非常简单。此外,WISHBONE总线还具有如下特点:
·简单、紧凑的硬件逻辑接口,需要更少的逻辑门;
·支持流行的单字读/写、块读/写、读-修改-写的总线协议;
·可调整的总线和操作数位宽;
·支持大端(big endian)和小端(1ittle endian)两种数据表示方法;
·握手协议能够控制数据传输速率;
·支持单周期数据传输;
·从接口的部分地址解码;
·根据系统需要,用户可自定义增加接口信号;
·系统包含多个MASTER接口时,用户可以自定义总线仲裁方式与算法。
图2
2 实现方案
单芯片多处理器的每个内核都有分离的16KB指令高速缓存(1Cache)和16KB数据高速缓存(DCache);指令高速缓存和数据高速缓存都采用两路组相联的映射方式;每块都包含8个字;采用虚拟地址定位、物理地址比较的寻址方法;替换方式为LBU(最近最少使用替换)。
指令高速缓存不涉及一致性问题,不多做说明。数据高速缓存采用基于监听总线的写更新一致性协议Dragonl[3]
协议状态说明见表1。
表1 协议状态
状 态说 明
干净独占(E) 只有一个缓存有这一存储块的拷贝,并且还没有被修改(主存状态也有效)。 干净修改(SC) 潜在的两个或多个缓冲有这一存储块,主存不一定是最新的。 共享已修改(SM)潜在的两个或多个缓冲有这一存储块,主存不是最新的。该块在被替换时,要更新主存(写回)。一个存储块在一定时间内只能在一个缓冲内共享已修改状态。 独点已修改(M)存储块的内容已经被修改,并且只在该存储块里,发生替换需要更新主存的内容。 确定一致性协议后,单芯片多处理器的数据高速缓存单元整体设计见图1。
片内总线采用WISHBONE总线共享型连接,每个内核的数据高速缓存的控制单元都包含WISHBONE总线的一个主接口(MASTER)和一个从接口(SLAVE);数据总线为32位;地址总线为33位,其中最高位是两个从接口的选择位;片内总线采用预先同步传输协议;仲裁方式为轮换型;片外总线接口与广泛应用的工业标准SYSAD系统总线兼容。
在UNCAHCE空间发生的读写操作,直接访问外部总线,与主存通信;在CACHE空间发生的读写操作,过程如下所述:
读缺失:当一个内核的数据高速缓存发生读缺失,由本地主接口通过片内总线向远端数据高速缓存发出读请求,远端从接口通过片内总线应答请求。如果应答有该单元数据,就由远端数据高速缓存调来一个数据块(8个字);如果没有,本地主接口结束片内总线周期,转而访问外部总线,由主存调人数据。
写缺失:内核发生写缺失时,前半部分的操作与读缺失完全一致;只是如果缺失单元是从远端数据高速缓存调来的,由于采用基于写更新的Dragon协议,所以在完成片内总线块传输事务后还要产生一个单字写总线事务,更新远端数据高速缓存单元。
读命中:不会产生任何总线事务。
写命中:如果该单元的原来状态是SC或SM,基于写更新协议,由本地主接口通过片内总线向远端数据高速缓存发出写请求,远端从接口通过片内总线应答请求。如果应答有该单元数据,则通过一个单字写总线事务更新远端数据高速缓存单元;如果没有,结束片内总线周期。
替换:实现写回协议,只有被替换出的单元状态为SM或M状态,才通过外部总线更新主存,其他情况抛弃即可。
注意:完成上述操作后要根据DRAGON协议,更新本地和远端DCahe单元的相关状态。
3 总线事务时序分析
由前部分的说明发现在内部总线上可以产生三种类型的总线事务:读缺失时,块传输总线事务;SM或SC状态写命中时,发生单宇写总线事务;写缺失时,先是一个块传输总线事务而后在本地写操作完成后,一个单字写总线事务更新远端的数据高速缓存单元。以下是块传输和单字写总线周期具体的时序分析,下文提到的具体信号其意义可以查阅参考文献[1]。
块传输时序:主接口通过声明CYC_O申请总线的使用权,同时也给出STB_O、CTI_0(010)、WE_O(低电平)和ADR_O;经过若干时钟周期等待后,如果远端从接口给出ACK_I信号,同时给出的SHARE_I信号为低电平(说明远端数据高速缓存没有所需要的数据块,.SHARE_I为自定义的信号),这时主接口忽略DAT-I信号,下一个时钟周期撤销CYC_O信号,结束片内总线周期;如果给出AClI信号的同时,SHARE_I信号为高电平(说明远端数据高速缓存有所需要的数据块),接收DAT-I上的数据;而后7个时钟周期内,每个时钟周期ADR_O数据加4,DAII上的数据根据地址相应地变化,在第7个数据传输的时钟周期CTI_O变为111,告诉远端从接口这是最后一个传输时钟周期,下一个时钟周期:降完成这个总线事务;最后一个时钟周期主接口撤销CYC_O信号,结束片内总线周期。
内块传输时序见图2。
单字写总线周期:主接口通过声明CYC_O申请总线的使用权,同时也给出STB_O、CTI_O(111)、WE_O(高电子)、ADlO和DAT-0;经过若干时钟周期等待后,如果远端从接口给出ACK_I信号, 同时给出的SHARE信号为低电子(说明远端数据高速缓存没有所需要的数_I据块),主接口下一个时钟周期撤销CYC_O信号,结束片内总线周期;如果给出ACK_I信号的同时,SHARK-I信号为高电子(说明远端数据高速缓存有所需要的数据块),说明从接口已经用DAT-O上的数据更新了相应的数据单元,下一个时钟周期撤销CYC_O信号,结束片内总线周期。
单字写时序见图3。
块传输总线事务时序图2,单字写总线事务时序图3中WAIT表示主接口等待总线仲裁和从接口的应答,需若干时钟周期,最快的情况下只要一个时钟周期。 总线仲裁:如果两个数据高速缓存的主接口同时请求,由仲裁单元决定哪个主接口可以使用片内总线,仲裁的优先级算法是轮换法。数据高速缓存的主接口,在声明CYC_O申请总线后,如果AClI一直是低电平无效,但同时该数据高速缓存从接口的CYC_I信号有效,说明数据高速缓存主接口没有得到总线使用权,主接口撤销CYC_O信号,该数据高速缓存响应从接口的操作,操作完成后,主接口再次声明CYC_O信号请求总线;相反,如果数据高速缓存主接口的ACK_I信号高电平有效,说明得到了总线使用权,可以使用总线。
关键词:无线传感器网络; 低压电力载波通信; 网关; 嵌入式Linux
中图分类号:TN911-34; TP336 文献标识码:A 文章编号:1004-373X(2011)24-0087-03
Design of Multi-Functional Gateway for Integrated Wireless Sensor Network,
Carrier Communication and Multiple Field Bus
YE Song
(Department of Computer Science and Technology, Jinling science and technology College, Nanjing 211169, China)
Abstract: Wireless sensor network (WSN) and low-voltage power line carrier communication are being gradually applied in edifice control system. To implement the interconnection and integration of the two communication networks with the existing multiple field bus networks, a design concept of the multi-functional gateway based on ARM microprocessor SEP4020 is proposed. The design methods of hardware and software for multiple kinds of interfaces, including Ethernet, RS 232, RS 485, WSN are explored. Multiple communication protocols for WSN, field bus and Ethernet are implemented. The interconnection of WSN and field bus networks is achieved successfully.
Keywords: wireless sensor network; low-voltage power line carrier communication; gateway; embedded Linux
收稿日期:2011-08-02
基金项目:江苏省教育厅高校自然科学研究项目(09kjd510008)
0 引 言
无线传感器网络作为一项新兴的技术,多用在用于军事、环境监测和预报、健康护理、智能家居、智能楼宇、城市交通、仓库管理,农林业监控等领域,传感器节点部署于监测区域中,负责监测区域内的信息采集,其中部分传感器节点具有路由功能,通过无线组网方式构成网络,将采集到的数据以自组多跳的网络方式传送到用户终端;电力线载波通信网络方兴未艾,电力线载波多用在如远程抄表等直接与电力线有接触的设备中,与采用现场总线的传统传感器网络相比,电力线载波通信网络直接通过电力线进行数据传输,设备部署方便,因为采用有线通信,通信可靠性较高 [1 ]。
目前这两个网络的大部分研究还集中在自身网络上,较少研究它与其他网络的互联和集成问题。已有的控制网络(如现场总线、工业以太网等)也很少考虑到它们与无线传感器网络、电力线载波通信网络的集成问题,相关的集成技术研究和设备开发还处于起步阶段。据此,本文设计了一种支持多接口多协议的多功能网关,可解决WSN无线网络、电力线载波通信网络与其他网络的互联集成问题。
1 总体设计
多功能网关在异构网络中负责建立异构网络之间的连接,无线传感器节点测量的信息在无线传感器网络中通过多跳接力的方式传输,并经过网关转换成其他介质和协议,从而传送给外部网络和用户。如图1所示。
现有的WSN产品中,大多只提供RS 232串行接口,用以连接上位机,实现监控。但是在现实的工控项目中存在各种各样的接口和总线,需要无线传感器网络与其他总线网络互相传输信息。因此,需要一种能够支持多种接口的网关。当连接某种接口或通信协议时,稍加修改该网关的软件和配置硬件模块就可以快速投入使用 [2 ]。
本文设计的多功能网关可支持多种接口和多种应用模式。其主要支持以太网,RS 232,RS 485,GPRS和电力载波通信等接口。支持的应用模式包括:通过GPRS接口连接上位机,实现监控、程序下载等功能;通过RS 485接口实现Modbus协议接入现场总线或其他控制总线中;通过以太网接口接入工业以太网,将无线传感器网络作为子网接入控制网络;通过以太网接口,构建嵌入式Web服务器。客户机可以以网页浏览的方式查看WSN中所有传感器节点的状态和数据,并进行远动控制。
2 硬件设计
多功能网关主要包括主系统部分(控制器、存储器)、电源模块、ZigBee无线通信模块、以太网通信模块、GPRS通信模块、电力载波通信模块(PLC)和人机接口模块等。硬件总体框图如图2所示。
系统硬件分为核心板、扩展底板和外接通信模块3部分。核心板包括主控制器和存储器;外接通信模块包括ZigBee无线模块、GPRS模块和电力载波通信模块;核心板和外接通信模块插接在扩展底板上,并在扩展底板上扩展电源电路、调试接口、RS 485通信模块、人机接口等电路。
2.1 微控制器选型
多功能网关的功能比较复杂,需要实现多种接口和协议的转换,由于外接通信模块较多,应尽量选择性能强大、通信接口丰富,内置所需各种接口的控制器,以降低成本。
本文选择基于ARM体系结构的微控制器搭建整个系统。该结构的微控制器具有强大的功能和丰富的接口扩展,在嵌入式智能网络设备的设计中得到了大量应用。通过分析对比常用的多种ARM7微处理器,最终选择了基于ARM720T核心的工业级微控制器SEP4020。该款微控制器由东南大学国家专用集成电路系统工程技术研究中心设计,集成MMU单元,内置以太网MAC,LCD接口,可通过外部总线接口(EBI)进行扩展,功能丰富、性能强大,接口丰富,功耗较低,完全适合于工业控制的需要 [3 ]。
2.2 串行通信接口扩展
SEP4020内置4路UART接口,其中一路设计时使用跳线的方式连接MAX3221芯片,作为DEBUG串行RS 232接口,主要用于调试时发送信息,同时也可复用为红外接口;其余3路直接以TTL电平引出,分别连接ZigBee无线通信模块、GPRS通信模块、电力载波通信模块。另外利用SEP4020提供的SPI接口连接SC16IS752芯片进行UART接口扩展,该芯片是NXP 公司推出的一款通过SPI/I2C 总线扩展为UART 接口的芯片,可以扩展出两个通道高性能的UART [4 ]。用来连接RS 485系列隔离收发器模块,该模块内部集成电源隔离、电气隔离、RS 485接口芯片和总线保护器件,具有很好的隔离特性。整个串行通信接口结构如图3所示。
2.3 外接通信模块
外接通信模块为ZigBee无线通信模块、GPRS通信模块、电力载波通信模块。无线模块的ZigBee通信芯片选用TI 公司生产的2.4 GHz射频系统单芯片CC2430,该芯片整合了ZigBee RF前端、内存和8051微控制器;GPRS通信模块选用SIM300 GSM/GPRS模块,该模块主要应用于WLL,M2M和手持设备方面,实现语音、SMS、数据和传真信息的高速传输;电力载波通信模块采用扩频通信技术, 选择北京福星晓程公司的PL3106 载波芯片,内嵌扩频通信调制/解调电路和8051微控制器,内部集成2路A/D,其中一路用来采集负载端电压,另一路用来采集负载电流,可以实现负载功率的精确测量 [5 ]。的配置电路主要包括功率放大电路、载波耦合电路、滤波整形电路、谐振电路及接收电路等。以上通信模块与SEP4020之间均使用UART接口进行通信。
3 软件设计
软件平台采用一种开放源码的Linux 操作系统,便于在其基础上完成各项相关应用程序的开发。软件主要涉及到操作系统的裁剪与编译、驱动程序编写和系统主程序编写。多功能网关软件体系架构如图4所示。
图4 多功能网关软件体系架构由底层到高层,软件部分依次包括:BootLoader移植、Linux操作系统移植、设备驱动程序编写、嵌入式端软件和协议转换设计、主站监控软件设计等[6]。
3.1 BootLoader与Linux
BootLoader是系统加电后运行的一小段程序,用来初始化硬件设备、建立内存空间映射,为调用操作系统内核准备好正确的环境,同时也将启动内核所需要的一些信息通过相关机制传递给内核,并引导和加载内核。它的主要功能是完成硬件设备的初始化、操作系统代码的搬运,并提供一个控制台及一个命令集在操作系统运行前操控硬件设备[7]。
Linux 2.6 在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高。
3.2 通信网关
网关的核心功能是完成协议转换和数据中转,即将ZigBee和载波协议的数据转成TCP/IP格式的数据,并在ZigBee网络、Modbus、以太网、电力载波通信和GPRS远程通信网之间无障碍的交互数据。
网关软件包括:数据采集、数据存储、数据显示(测试用)和远程数据传输。数据采集功能负责获取从串口传过来的数据。具体过程是主线程中初始化并打开串口,建立串口接收信号,在信号处理函数中。处理接收到的数据。当接到数据包时产生信号,在信号处理函数里调用协议转换程序按照ZigBee,Modbus和载波协议的定义解析数据,解析出原始数据中的节点号、传感器模拟量、开关量值等信息[8]。整个网关对多种协议的处理采用事件通知和分发机制,如图5所示。利用多线程技术,将数据处理部分、数据存储部分分别放在单独的线程中处理,以提高程序的运行速度。通过在Linux上移植了嵌入式数据库系统,可以有效的实现实时数据的存储。
网关通过GPRS与远程主站通信,主站以自身设置的通信协议发送指令,指令下达到网关后,网关解析主站的指令并获取操作对象,依据操作对象选取载波协议或者ZigBee,对指令进行再封装,并下发指令至操作对象,等待对象返回信息,在获得对象的信息后,根据选取的协议解析对象数据,使用主站协议重新对该数据进行封装,而后将数据上传至主站[9]。
图5 多种协议之间的事件通知和分发机制网关是建立在传输层以上的协议转换器,通常它连接两个或多个相互独立的网络,每接收一种协议的数据包后,在转发之前将它转换为另一种协议的格式 [10 ]。该网关不仅实现了4种协议的转换和4种工控网络的互联,而且通过TCP/IP协议连入工业以太网,实现了与工业以太网之间的数据互传。通过在Linux上移植了嵌入式Web服务器功能,使操作人员能够通过网页远程监控网络节点运行状态。
4 结 语
该系统将WSN、电力线载波、以太网和公共通信网络有机地结合在一起,将信息汇集之后通过以太网接口或者GPRS达到远程传输的目的。通过在一个软硬件平台上提供了工业控制中常见的多种总线和网络的接口,能够支持多种应用模式。该设计适合于现实应用中的多种需求,可以根据具体应用进行快速的裁剪和配置,具有实际的应用价值。
参 考 文 献
[1] 赵俊淋,杨扬,易卫东.智能楼宇中无线传感网混合接入设计[J].电子测量技术,2008,31(11):87-91.
[2] 刘承龙,凌志浩.基于AT91SAM9260的ZigBee多功能网关设计[J].自动化仪表,2009,30(12):30-33.
[3] 张阳,程杰.基于SEP4020的嵌入式Linux系统移植[J].电子技术,2010(1):15-17.
[4] 徐昌伟.用I2C总线转UART芯片实现通用串口扩展[J].铜业工程,2009(2):54-56.
[5] 高蒙,张秋菊,冯涛.基于电力载波通信的供电锁相测控系统[J].现代电子技术,2009,32(1):122-125.
[6] 詹海菊.基于Linux的传感器网络网关设计[J].微计算机信息,2009,25(17):102-103.
[7] 丁小俊.基于S3C2410A的嵌入式系统的U-Boot移植[J].现代电子技术,2009,32(22):26-28.
[8] 夏一行,曲琳,黄轶伦,等.嵌入式数字化仪器设备UML 应用软件框架研究[J].浙江大学学报:工学版,2008,42(7):1174-1178.
[9] 陈乐,唐波,卢力.嵌入式环境下串行帧通信的设计与实现[J].现代电子技术,2010,33(23):60-62.
>> 基于LWIP的串口/以太网协议转换器的设计与实现 基于RapidIO协议的高速数据互联模块设计 基于ARM智能电力协议转换器的设计 基于IPV4和IPv6双协议栈互访的校园网的设计和实施 ProfibusDP/ Modbus协议转换模块研究与设计 基于FPGA的电台接口转换模块设计 关于SDH同步网中光电转换模块的设计研究 基于模块选项教学转换的研究 虚拟试验系统协议转换模块研制 基于VPC3的PROFIBUS—DP协议转换从站设计 基于嵌入式的协议转换设备设计与实现 基于协议转换的安全网关原型系统设计与实现 基于DM642的实时多协议转换器设计 基于AVR处理器的RS232-CAN通信转换模块的设计 基于FT232R的USB-RS232转换模块的设计 基于双策略的WAPI协议改进 基于RS485串口的PLC互连的通讯协议设计 基于IP安全协议的陕西地方电力调度数据网的设计和实现 基于对等网协议的BotNet 防御系统的设计 基于压缩感知的无线传感网稀疏数据传输协议设计 常见问题解答 当前所在位置:
关键词:KS28873;单片机;双网口;RS485;RS232;协议转换
DOI:10.3969/j.issn.1005-5517.2015.10.008
基金项目:国家高新技术研究发展863计划(2011AA05A305)
鲁锦锋(1983-),男,硕士,中级工程师,研究方向:网络通信。
引言
随着工业4.0时代的到来,工业设备的智能化和网络化成为发展趋势,而大量已有设备多采用低速和非智能的RS485总线,人们对工业网络的信息获取要求越来越高,要实现统一、高效和安全的设备管理,就对总线速度提出来高需求,设备IP化和网络化也是必然趋势。
针对新建设备网络和旧设备网络化改造两方面问题,本文提出的双网口转换模块,既可对新设备进行网络化设计,又能对旧设备进行网络化改造。具有低成本、高可靠等优点。
1.硬件设计
1.1模块原理
如图1所示,模块包含两个子模块,交换子模块和转换子模块。
交换子模块的主要器件为KS28873[1],包含了两个对外的RJ45接口(标准网口)和一个对内的RMII接口,其中对外RJ45网口由KS28873的两组标准差分总线经网络变压器转换生成,RMII接口由KS28873的标准RMII总线[2]转换而来。交换子模块有两个主要功能,一是实现两个对外网口间的数据交换,该过程完全由KS28873芯片自动完成,不需要软件参与;二是完成两个对外网口与对内RMH接口间的数据交换,该过程需要与转换子模块配合进行。
转换子模块主要器件有PIC32MX695F512H[4]、MAX485和MAX232芯片,对内的RMII接口由PIC32MX695F512H的RMII接口生成,与交换子模块进行数据通信,对外的RS485和RS232接口由PIC32MX695F512H的两路独立UART接口经MAX48560MAX232芯片转换而来,可以与另一个系统进行数据交互。
1.2双网口电路
KS28873RLLI的电源包括数字电源+3.3V和+1.8V,以及模拟电源+3.3A和+1.8A。使用外部25MHZ有源晶振。复位信号由PIC32单片机控制。芯片工作温度范围-40℃~85℃。
KS28873的配置方式有软件和硬件两种。软件配置使用SPI或I2C总线进行,通过对KS28873内部寄存器进行读写操作,完成工作模式配置。硬件配置采用芯片上电时读取器件管脚电平来完成,在电路设计时需要根据工作模式预先对管脚进行上下拉操作。
表1给出了网口1、网口2和RMII总线在KS28873芯片的管脚分布。网口1和网口2为对外网口。RMII接口与PIC32单片机的RMII接口连接。
1.3单片机以及电路
单片机PIC32MX695F512H主要使用资源包括UART1、UART2和RMH接口。其中UART1和UART2分别经过MAX232和MAX485芯片转换成RS232和RS485接口。RMII接口与KS28873的RMII接口连接。该部分电路成熟度高,在此不作赘述。
2.软件设计
2.1软件架构
软件按照分层思路设计,有驱动层、适配层和应用层。如图2所示。
驱动层主要完成与硬件相关的寄存器配置,从硬件寄存器接收数据,传入适配层,或从适配层接收数据,传给硬件寄存器。
适配层隔离了应用层和驱动层的耦合,实现Modbus-RTU协议、Modbus-TCP[3]和IEC104协议的解析,根据不同协议从应用层获取相关数据,进行格式组帧后,传入驱动层发送,或者从驱动层获取数据帧,按照不同协议解析出有效数据,传入应用层。
应用层主要完成数据存储和映射功能,把来自于不同协议的数据进行综合,按照一定格式进行存储,并实时刷新。
2.2软件流程
软件流程如图3所示。进入主函数后依次进行MCU、驱动层、适配层和应用层的初始化工作,再进入主循环,主循环共包括3个子任务,RS232子任务、RS485子任务和网口子任务。每个子任务主要完成从驱动层接收并解析数据帧,传入应用层;或者从应用层获取实时数据,按照协议进行组帧后,传入驱动层发送。
为了提高软件执行效率和可靠性,采用时分方式进行子任务调度,调度时间间隔为10ms。系统使用1ms的时钟节拍工作,进入主循环前时间计数器t清零,第10ms调用RS232子任务,第20ms调用RS485子任务,第30ms调用网口子任务,并清零时间计数器t。
3.组网模式
链式的组网模式可以替代原有RS485总线。再增加一条网线,可以实现环网,起到冗余作用,提高网络的可靠性[5]。如图4所示。虚线表示增加的网线。
4.结束语
本文介绍了一种基于KS28873芯片的双网口协议转换模块,能够实现RS485/RS232总线与网口的物理层转换,再通过软件实现不同总线上不同协议的转换。使用该模块既可以替代现有RS485总线,也可以在新建系统时实现设备网络化工作,并且能够快速实现环网,使得网络更加可靠,低成本和灵活配置也是其主要特点。
参考文献:
[1]KS28873 Datesheet [M].MicreI,INC,2009
[2]RMII Specification [M].NationaI,INC,1998
[3]Modicon Modbus Protocol [M],ABB,INC,2002
刘 艺 沈阳理工大学信息科学与工程学院 110159
【文章摘要】
为了实现现有以RS232 为通讯方式的设备的网络化监控和管理,提出了以太网转RS232 的转换器设计。利用STM32F103 实现了对转换器的硬件设计,对软件模块进行了功能划分, 利用主程序和中断服务程序对转换器功能进行软件实现。设计的以太网转RS232 转换器具有较强的通用性, 在不改变硬件平台的情况下,仅对软件的处理模块进行少量修改便能适应各种RS232 协议。
【关键词】
以太网;RS232 ;协议转换;STM32
【Abstract】
In order to monitor and manage the existed device with RS232 communication protocol,Ethernet to RS232 converter design is necessary.The converter hardware design used STM32F103 as the main MCU.Converter software modules were divided by the converter function.Main program and interrupt service program software were designed to achieve the function of the converter.The designed Ethernet to RS232 converter has strong generality.It can only do small modification in the data handle module to satisfy the variety of RS232 protocol, without change the hardware platform.
【Key words】
ethernet;RS232;protocol convert;STM32
0 引言
RS232 是工业中应用非常广泛的接口之一,它实现着主设备与从设备之间的数据交互,该技术已经应用于较多的设备现场中。随着科技的发展和互联网技术的飞速发展,人们对设备的监控和传感器信息的网络化管理和显示提出了更高的要求,为了使现有的设备具备网络监控和管理的能力,以太网转RS232 的转换器是一个必不可少的网络转换模块之一。
1 转换器的硬件设计
1.1 转换器的总体框架设计
转换器具有以太网与RS232 之间协议转换功能,所以在系统硬件设计时选取具有以太网和RS232 模块的芯片, 用户不必为实现以太网和RS232 而增加外围电路,不仅可以节约开发费用和时间,而且可以极大地提高系统的可靠性和稳定性。为了实现项目的开发,选用目前工业上应用比较广泛的控制系统开发芯片STM32F103 作为系统控制主芯片。STM32 是一种基于Cotex-M3 内核的新型的32 位闪存微控制器,采用了高性能、高代码密度的Thumb-2 指令集和紧耦合嵌套向量中断控制器,拥有多个RS232 接口和一个RMII 接口的以太网,具有高性能、低成本和低功耗等优点。
转换器硬件总体结构图如图1 所示。监控系统可以通过双绞线或Wi-Fi 与路由器相连,路由器通过双绞线与转换器相连。监控系统由此可以与转换器进行数据交互。具有RS232 接口的设备,通过RS232 接口与转换器相连,并进行数据交互。
1.2 以太网模块电路设计
为了实现STM32F103 芯片与以太网的连接,必须要在芯片和以太网之间加上一个物理层的接口芯片,本文选用了ENC28J60 以太网控制器来实现连接, STM32F103 与ENC28J60 的电路图如图2 所示。ENC28J60 是目前常用的一款独立以太网控制器,符合IEEE 802.3 协议规范。ENC28J60 带有行业标准串行外设接口(SPI),通过SPI 接口与主控制器的通信,嵌入式应用系统的以太网接口由此变得简单,数据传输速率高达10 Mbit/s。ENC28J60 由七个主要功能模块组成:SPI
图1 以太网转RS232 模块结构框图
图2 转换器以太网接口电路图
接口、控制寄存器、双端口RAM 缓冲器、判优器、总线接口、MAC 模块、PHY 模块。
1.3 RS232 串行接口电路设计
RS232 串行通讯接口用正负电压来表示逻辑状态,+3~+15V 表示逻辑电平“0”,-3~-15V 表示逻辑电平“1”,这与TTL 以高低电平表示逻辑状态的规定不同。STM32F103 的接口电路都是TTL 电平,必须经过电平转换,才能以RS232 标准的电平输出。本文选用MAX232 芯片来实现电平的转换工作,STM32F103 与串行接口通信的电路如图3 所示。
2 转换器软件设计
由于STM32 内部没有TCP/IP 协议,所以需要通过移植LWIP 协议来实现以太网功能。LWIP 协议即Light Weight IP 协议, 对操作系统没有依赖性,可以在没有操作系统支持的情况下运行,LWIP 可以实现TCP/IP 协议主要功能,同时有不会占用太多的RAM,这对于RAM 资源不足的低端嵌入式设备是非常合适的。LWIP 主要是完成IP 层和TCP/UDP 数据传输层的任务, 它与底层网络控制器的接口主要体现在ethernetif.c 函数中。在以太网帧的接受过程中,IP 层在收到底层传来的以太网数据包后,首先判断是TCP 数据包还是UDP 数据包,如果是TCP 数据包,则利用TCP 协议的数据传输层处理数据包,如果是UDP 数据包,则利用UDP 协议的数据传输层处理数据包,在处理完数据包后将数据发送到用户应用程序。在以太网帧的发送过程中, 用户程序通过UDP 或者TCP 将数据包发送至各自对应的传输层,再经过IP 层将数据包送至底层,由发送程序发出。
为了实现以太网模块和RS232 模块之间的数据通讯,转换器需要具有接收以太网数据、发送以太网数据、发送RS232 数据、接收RS232 数据和数据处理5 个部分。5 个部分之间的关系如图4 所示。
转换器将来自以太网的数据包进行解包并生成RS232 数据,然后通过RS232 串口将数据发送到设备端;转换器将来自设备的监测数据封装成1 帧1 帧的以太网数据包通过以太网送到监控系统,监控系统可根据收到的数据判断各个监控模块的运行状态。
数据处理模块是汇聚节点中完成TCP/IP 协议与RS232 协议转换的核心, 无论是从以太网至RS232 接口,还是由RS232 至以太网都必须由数据处理模块完成协议转换。
确定了软件功能和划分了功能模块之后,进行主程序设计,主程序设计的流程图如图5 所示。首先是对STM32 芯片初始化,初始化包括:GPIO 初始化、中断初始化、以太网初始化和RS232 初始化。GPIO 初始化主要是定义各个引脚的功能及各IO 端口相关参数;中断初始化用于设定中断向量、中断的入口函数及中断的优先级;以太网初始化用于设定以太网的相关参数;RS232 初始化用于设定RS232 接口的相关参数。
在初始化完成后,需要判断数据的形式才能采取相应的处理。在这里用状态位来做判断,若状态位改变为2,模块接收RS232 数据,并对RS232 数据进行处理和封包,然后通过以太网发送到监控主机, 同时状态位清零;若状态位改变为1,模块接收以太网数据,并对以太网数据进行解包和处理,然后通过RS232 串口将数据送给ZigBee 模块;若状态位为0,不做任何处理,为下一次数据接收做准备。
3 结束语
以太网转RS232 转换器可以方便地利用网络对现有的许多以RS232 为通讯方式的设备进行操控和监测,可以使设备的网络化水平大大提高,也可以提高人们对现有设备的网络化管理、网络化监控和网络化故障诊断。以太网转RS232 转换器同时具有较强的通用性,设备之间的RS232 协议会有较大的区别,在不改变硬件的环境下,仅改变其数据处理模块,便可以实现多设备之间的硬件平台共用,模块的复用性较强,可广泛应用于各种环境的监测。
【参考文献】
[1] 王永虹, 徐炜, 郝立平.STM32 系列ARM Cortex-M3 微控制器原理与实践[M]. 北京: 北京航空航天大学,2008.
[2] 范钦武. 基于Arduino 和ENC28J60 的温湿度监控系统设计[J]. 科技视界,2014,23:108-109.
[3] 周淑华. 单片机以太网通信实现软硬件操作同步[J]. 电脑编程技巧与维护,2014,2:53-55.
[4] 陈聪, 曲波. 基于ENC424J600 的以太网与串行接口转换技术[J]. 单片机与嵌入式系统应用,2011, 12(135): 37-39.
图3 转换器RS232 接口电路图
Abstract: This paper mainly studies the composition and significance of SDN network and SDN controller. And the cases of IP network flow optimization are used to illustrate the advantages of SDN network. Compared with the traditional network and SDN network, this paper expounds the structure of SDN network, the new protocol and the role. This paper analyzes the advantages of SDN network and the problems that need to be solved. The backbone network in IP network is taken as the example to expound the significance of SDN network to the whole network.
关键词: SDN网络架构;南北协议;SDN控制器;PCE+流量调优;Agile Controller-WAN软件
Key words: SDN network architecture;north-south agreement;SDN controller;PCE+ traffic optimization;Agile Controller-WAN software
中图分类号:TP393.0 文献标识码:A 文章编号:1006-4311(2017)11-0085-03
0 引言
在移动网络日趋复杂,移动技术更新日益加速的时代,互联网公司的崛起,对运营商造成了前所未有的挑战,促使运营商对自身网络为适应社会发展,提出了一系列的诉求。为解决网络快速创新慢,管理滞后,设备庞大,技术发展缓慢的问题,从网络的重构开始,利用SDN网络新的思维方式,使用原有传统网络的控制平面与转发平面相分离的原则,采用SDN网络架构,对设备进行改造,从而加快技术创新,业务部署,打造一个开放智能高效的移动网络。
1 产生背景
移动网络在现代社会中有着越来越重要的地位,其中又数IP网络应用最为广泛,在IP协议诞生之初,IP协议仅为Internet服务。随着IP技术的发展,逐步用来承载语音、Vpn等业务。随着承载业务的多样化,业务规模也逐渐向着泛在化和超宽带化发展演进。传统的IP网络将向下一代IP网络(NGI)过渡。同时IP业务商业运营模式也将发生改变。这就造成了移动网络运营商面临诸多问题,比如:管理运维复杂;网络创新困难;设备日益臃肿等,这时NFV/SDN技术应运而生。网络功能虚拟化NFV(Network Function Virtvalization),是采用虚拟化技术,将传统电信设备的软件与硬件解耦,基于通用计算,存储,网络设备实现电信网络功能,提升管理和维护效率,增强系统灵活性。SDN(Software Definef Network)即软件定义网络。2000年由美国斯坦福大学clean slate 研究组提出的一种新型网络创新架构。遵循4个原则:①控制和转发分离原则;②集中化控制原则;③网络业务可编程;④开放的接口。SDN的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,而不是一种新特性、新功能。SDN将比原来网络架构更好、更快、更简单的实现各种功能特性。现在的IP网络管理多且复杂,命令行多,真正痛点是业务部署慢,对网络集中控制,把控制面集中到一个软件(SDN控制器)进行控制,于是很多事情就解决了。如图1所示。
2 SDN架构模型
随着ONF(Open Network Foundation)组织、NFV产业联盟的推动以及运营商、网络服务提供商、设备生产商的积极投入,SDN模型也逐渐达成了共识。如图2所示。
协同应用层:主要是与控制器通信的软件应用程序。用于网络服务的扩展。完成用户意图的各种上层应用程序,此类应用程序(APP)称为协同层应用程序,典型的协同层应用包括OSS、openstack等。OSS负责整网的业招同,而Openstack则在数据中心负责网络,计算,存储的协同。OpenStack是目前最活跃的一个开源云计算管理平台,提供了网络即服务的功能。协同应用层和控制层之间定义为北向接口(NBI,Northbound Intterface)。其中网络配置协议(Netconf)是南北向都应用的协议。北向接口位于控制层与应用层之间,将控制器提供的网络能力和信息进行抽象并开放给应用层使用。它决定SDN发展方向与价值,意义重大。
北向接口主要包含几种接口:REST和RESTful 服务。REST(Representational State Transfer)是一种基于软件架构风格的WWW.基于REST架构的服务成为RESTful服务。Restful接口,用于网络管理,端口管理,业务管理。NetConf和RESTful同时也是东西向的协议。Openstack Plug-In 接口用于网络管理,防火墙管理,路由器管理。
NetConf接口:用于管理SNC.路由器和交换机设备;基于XML的网络配置和管理协议。
NetStream也是北向接口,它是一种基于通过对网络中的通信流量和资源使用情况进行分类统计的网络流量信息的统计技术。主要应用于基于时间或流量的计费和对账,网络规划和分析,网络监控,应用监控和分析,用户监控和分析。
控制层:控制层是系统的控制中心,负责网络内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。它的实现实体就是SDN控制器,也是SDN网络架构下最核心的部件。还有一些其它的协同层应用程序如安全APP,网络业务APP客户端等。其核心功能是实现网络内部交换路径计算和边界业务路由计算。包括一个逻辑上集中的SDN控制器,能很好的完成网络资源调度和控制。协同应用层与转发层之间的接口定义为南向接口(SBI,Southbound Interface)。南向网络控制技术需要对整个网络中的设备层进行管控与调度,包括链路发现 拓扑管理 策略制定 表下发。也需要通过明确定义的应用层接口要求,并通过标准协议进行综合管理和网络设备的监控。南向接口主要包含的几种CLI接口:用于管理防火墙; MROSI接口:用于与U2000对接;SNMP接口:用于管理路由器设备;SFTP接口:用于从U2000获取性能数据。如图3所示。
基础层架构层或转发层:包括物理网络设备,以太网交换机和路由器。提供可编程,高速硬件和软件。
在软件定义网络中,控制平面和转发平面是分离的,转发层主要由转发器和连接转发器的线路构成基础转发网络,这一层负责执行用户数据的转发,其转发过程中需要转发表项则是由控制层生成的,而不是转发器。转发表项可以是2层转发表项或者3层转发表项。转发层一个方面上报网络资源信息和状态,另外一个方面接收控制层下发的转发信息。
在SDN中的定位处于基础架构层与控制层之间 定义为OpenFlow协议,是构建SDN网络的基本要素。是非常著名的南向接口协议。它是用来作为OpenFlow控制器和转发器之间的通信协议。OpenFlow是平面接口或基于标准的协议。定义控制器通信控制器之间的平台和数据平面设备,如物理和虚拟交换机以及路由器。包括OpenFlow PCEP SNMP OVSDB 等协议。
南向接口中网络配置协议(NETCONF)定义是基于可扩展标记语言XML(Extensible Markup Language)的网络配置和管理协议。NETCONF提供了按照操作和删除网络设备的机制;用来远程管理和监控网络设备的网管协议。提供了一套标准的操作以及RPC调用来对网络设备进行管理。使用SSH传输协议。
南向接口简单网络管理协议(SNMP)是广泛用于TCP/IP网络的网络管理标准协议,用来收集,管理,修改设备信息。作为TCP/IP协议族的一部分,SNMP消息被封装为UDP报文在Internet中传输。作用是网管站(NMS),(Agent)和被管理设备。
东西向接口 包括Restful接口和SFTP接口Restful接口:NetMatrix提供网络资源接口,uTraffic通过此接口向NetMatrix获取网络资源数据。uTraffic提供实时流量接口,NetMatrix通过此接口向uTraffic获取实时流量信息,用于显示实时流量情况和流量趋势。
SFDP接口 是NetMatrix通过此接口获取uTraffic采集的历史流量数据
3 SDN网络及SDN控制器
在SDN网络架构下,由于整个网络归属由SDN控制器控制,那么对SDN控制器的可靠性问题显得尤为重要。
①传统网络和SDN网络可靠性的对比如图4所示。
②SDN控制器的可靠性问题主要涉及有4个方面如图5所示。
③SDN控制器架构性能需求。
第一时间指标及网络收敛时间性能分析:要求在部署控制器情况,网络的收敛时间和传统网络情况下的故障收敛时间相当。
第二空间指标:及实现技术DC内要求支持百万级以上OVS(OpenvSwitch)能力;DCI/METEO/CORE,每台控制器管控2000台设备;IPRAN接入场景,每台控制器管控20000台设备。
④SDN网络价值。
第一快速网络创新 SDN的可编程和开放性,使得我们可以快速开发新的网络业务,加速业务创新。第二SDN网络架构简化了网络,消除了很多IETF的协议。协议的祛除,意味着学习成本的下降,运维成本的下降,部署业务速度的提升。第三网络设备通用化。第四业务自动化:自行完成网络业务的部署,提供网络自动化能力。第五网络路径调优和流量调优:当采用SDN网络架构,SDN控制器可以根据网络流量状态智能调整网络路径,达到提升网络吞吐的目的。第六SDN是对电信网络的一次重构,在SDN时代的网络大部分业务需求,能够像IT应用一样快速的进行调整,快速部署新业务。
4 SDN 的主要应用场景
①主要有基于SDN/NFV的以数据中心(DC)的网络的应用。
②随着企业业务的逐步云化,资源集中管理 、网络可灵活调整、 高速、 低时延的专用的面向数据中心互联的承载网络也是需要解决的问题,SDN使能DCI(数据中心二层互联)可以满足这个的需求。
③不断高速增长的互联网流量促使电信行业不断探索降低骨干网络的成本。
以MPLS骨干网络调优应用SDN组网为例,说明SDN如何进行网络调优的过程。组网架构如图6所示。
包含了 WAN(IP CORE)解决方案,DCI解决方案,CloudVPN解决方案 PCE+流量调优解决方案组成。
其中,Agile Controller-WAN 是核心部件,主要面向WAN(IP CORE)场景 DCI场景和Cloud Vpn场景,实现WAN领域的快速发放,域内流量调优,简化现代网络,降低既有网络运营成本。
Agile Controller-WAN 通过提供业务随需 、网络随调、 电信级可靠性、 可视化、 开放创新, 解决运营商业务部署慢,网络利用率低,维护复杂等问题。
PCE+流量调优 PCE(Path Computation Element)是一种基于MPLS TE的集中算路模式,解决了传统MPLS TE独立算路的限制。由隧道的Ingress节点PCC(Path Compution Client)向PCE Server请求路径计算,PCE Server返回算路结果后,PCC触发RSVP-TE协议建立LSP。
主要包括:①PCC(转发器)负责TE隧道创建、带宽标签资源预留,是TE隧道的所有者及管理者。
②PCE Server(控制器)是算路中心,通过IGP-TE收集网络资源信息(TEDB-Traffic Engineering Database)信息,并负责集中算路。
③PCE+是基于PCE技术的演进,和PCE的主要区别是:PCE(也称为Passive Stateless PCE):转发器上报LSP信息但是不托管(Delegation),即控制器不会主动下发信息给转发器。同时控制器仅能收到TEDB信息,收不到网络的业务相关信息(LSP-DB-Label Switched Path Database),无权以全局最优为目标对不同PCC的路径做主动调优。
④PCE+(也称为Active Stateful PCE):转发器授权控制器管理托管的LSP,同时控制器基于PCEP协议收集LSP-DB信息,并基于LSP-DB进行网络优化计算,从而以全局最优为目标进行主动调优。
⑤PCEP(Path Computation Element Communication Protocol)协议是PCC和PCE Server之间的通信协议,用来收集整网RSVP-TE LSP信息,并基于此提供集中算路服务。PECP仅提供了PCE南向接口的俗级ㄒ澹但不包含PCE计算的方法,PCE+拥有自己的集中网络优化算法,支持基于COST、带宽、时延等SLA进行路径计算。
⑥PCE for SR-TE:除了RSVP-TE之外,PCEP也支持收集SR-TE LSP信息,为SR-TE LSP进行调优。
⑦包括 北向协议 RESTCONF、 Syslog client、 AAA、 SFTP 、client 、SNMP agent 。南向协议 SNMP client NETCONF、 SFTP Server、 Trap Server、 PCEP 、BGP、 BGP-LS/GP 。目前最多开发就是南北向协议是Openflow 和Openstack两大协议平台,各项技术处于逐步完善阶段。
以上综述,从以SDN组网的Agile Controller-WAN软件的应用,说明了加快了运营商业务部署业务,减少了工作量,无需要多部门和厂商配合。提高网络效率,快速反应应对网络流量进行全局调整,而且对调优结果能及时感知。使网络维护操作简单,且定位时间短,实现了网络的重构。
5 结束语
从阐明SDN网络架构组成,再到IP网络应用SDN组网,详述了SDN网络对现有网络的重新架构产生的重大意义。综述解决了移动网络适应时展,对网络进行了一系列的改造,采取了通信领域最新产生的新协议,新标准。从而逐步完善对现有网络的改造。打造一个全新的适应时代要求的移动网络。
参考文献:
[1]杨.基于多拓扑路由的IP网络流量工程研究[D].电子科技大学,2013.
关键词:软交换;网络;控制;程序;接口
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)09-2015-02
从概念上讲,传统的交换机是电路交换,基于时隙的交换,软交换的思路和传统交换一样,只是交换的方式改为包交换,或者说叫IP交换。从实际应用来讲,软交换就是指软交换设备。像概念所描述的,软交换与一般交换机的区别也就在于外部的接口不一样,内部的交换的思路和方法也是不相同的,它的交换方式是建立在包交换上。软交换来自于英文单词Softswitch,它是移动通信领域的电路交换域主要信令和业务的处理单元。软交换的结构和使用的接口严格遵守3GPP R4规范,所以也称R4软交换。它主要有MSC Server(移动交换中心服务器)和MGW(媒体网关)组成。移动交换中心服务器包括MSC Server和VAL两部分,其主要特点为:提供呼叫控制、移动性管理、用户业务数据和CAMEL相关数据的管理(VAL功能)等信令处理。媒体网关包括MGW和SG两部分,其主要特点为:与MSC Server配合完成核心网络资源的配置和信令转接。同时完成回声消除多媒体数字信号的编解码以及通知音的播放等。因此说软交换是传统TDM交换方式PBX到IMS的过渡产品,软交换基于IP的交换,其业务形式比传统PBX更丰富,更易开发。
1软交换出现的必然性
软交换技术是在IP电话基础上产生的,基本思路来源于业务可编程、分解网关功能等概念。在软交换体系中,将IP网关分解成媒体网关、信令网关和媒体网关控制器,随着标准化进展,软交换逐渐替代了媒体网关控制器,从而为各种业务应用提供了第三方可编程环境。满足了用户对新业务发展的需求,为软交换的出现和未来发展前景奠定了坚实良好的基础。软交换的特点是与传统交换相比效率更高、灵活性更大,能与多种设备接口,业务范围广,具有多用户性和开放性。因此它为用户任意购买网络的每一部分理想的产品提供了极大的方便。
2软交换技术
2.1软交换的概念
软交换它是一种提供了呼叫控制功能的软件实体,实质上就是把呼叫控制功能从传输层的媒体网关设备中分离出来,然后通过服务器(或网元)上的软件程序实现基本的呼叫控制、路由的选择、通信链路的建立、实施管理控制、建立和拆出会话的连接控制、以及从SS7到IP的信令互通功能。其目的就是把传统的呼叫控制及呼叫传输分别独立开来,其结果就是让软件可编程功能、链路交换功能和控制功能各自独立出来,其作用是为了实现用户业务的控制协议与传输业务能自由结合从而达到业务转移。软交换采用了API这种开放式的应用程序接口尤为关键,使得新的业务很灵活的引入到交换的机制中,而传统的交换机仍然可以通过SS7链路得到保留,并且支持现有的新型会话式多媒体业务,支持现有的电话功能等。由于它采了用标准协议,因而提供了不同厂商的设备之间的互操作能力。
2.2软交换的主要功能
软交换的功能包括呼叫控制和处理、移动性管理、用户业务数据和CAMEL相关数据的管理、协议处理功能、SSF功能、操作维护功能、计费功能、用户承载面功能、媒体转换功能、承载控制及业务交换功能、资源受控功能、支持电路域业务在多种媒介中传输、地址解析功能、语音处理功能。所以说软交换是新旧网络融合和关键设备。
2.2.1媒体网关接入功能
媒体网关接入功能是一种连接到各种媒体网关的适配功能和完成H.248协议功能。其主要功能通过媒体网关控制协议(H.248)与MGCF通信;媒体处理,如媒体编码转换、分组打包、回声抑制、抖动缓冲管理、分组丢失补偿等;媒体插入功能,如提示音、证实音及话音检测;处理信令和媒体时间检测,如DTMF检测、语音动作检测;系统资源管理和分配;以及数字分析功能。
2.2.2呼叫控制功能
软交换的重要功能之一是呼叫控制功能。它为呼叫处理的建立以及智能呼叫,链路连接的保持和控制,通信链路的释放,触发 检出和资源控制实现成为可能。接收来自业务交换功能的监视请求和呼叫控制相关信息并对其中与呼叫相关的信息进行处理以及支持呼叫的建立及监视。实现双方和多方呼叫控制功能。识别媒体网关报告的相关事件,控制其向用户发送各种音信号。当其内部不包含信令网关时,采用SS7/IP协议与其他信令网关互通,完成基本链路建立、链路保持和链路释放过程。与外置终端设备进行连接,提供相应业务。
2.2.3业务提供功能
软交换不但能够实现传统意义上的交换机提供的所有基本业务和补充的业务外,还能够提供其他各种增值业务。如软交换设备与智能网设备配合提供现有的智能网的智能业务以及与第三方应用服务器共同配合向用户提供多种增值业务。
2.2.4互联互通功能
在当前分组网内两大重要协议分别是H.323和SIP协议,其中由ITU-T采用ISDN的设计思想制定了H.323协议,采用Q.931协议完成呼叫建立和释放,很明显具有通信网可管理性和集中的特征。IETF通过IP网络上进行多媒体通信的应用层控制协议来制定了SIP协议,它们都同样完成呼叫的建立、链路释放、补充业务和能力交换等功能。SIP协议具有扩展性好、简单以及和现有的因特网应用紧密的特点,同时SIP在第三代移动通信业务中得到普遍使用。软交换的主要特点是能够兼容多种协议,因此软交换同时可以支持H.323和SIP这两种协议从而实现互联互通功能。
2.3软交换的意义
软交换提供现有的交换机业务与补充业务外,它与现有的智能网配合,提供现有的智能网的智能业务,与第三方配合提供增值业务。软交换支持PSTN电话终端、MGCP分组终端、H.248分组终端、SIP分组终端、H.323分组终端相互之间的基本语音业务,本地网用户相互之间的电话呼叫,国际国内长途自动来去话业务,各种特服呼叫、查询、申告、报警业务。补充业务如热线服务、查找恶意呼叫,无应答呼叫前转、无条件呼叫前转、遇忙呼叫前转及回叫、主叫线识别限制,支持基于H.323协议、SIP协议的多媒体终端(包括软终端)相互之间的多媒体通信,支持G.711、G.723、H.263、H.261等多种语音/视频编码格式,并可根据承载网络的情况在主被叫之间协商网络占用带宽,并进行动态调整。它可以实现即时消息、文件传输、视频通信、应用共享、电子白板、内容等业务。它可以融合多媒体、数据等业务,从而更加方便的为厂矿、企业、学校、医院、政府机关、公司机构等集团用户提供完善的一体化通信解决方案。软交换可用作智能网的SSP,与SCP设备配合可向用户提供丰富的智能网业务。还可以提供UC业务,即统一通信业务,它是软交换与SIP应用服务器以及第三方应用服务器共同配合向用户提供的多种增值业务。因此说以软交换为核心的软交换网络是网络演进的方向。
3基于软交换软交换的增强型业务框架及其接口协议
3.1基于软交换的增值业务框架结构
软交换的增值业务框架结构的体系结构中增加了两个逻辑成分1、媒体服务器。媒体服务器用于提供特殊的媒体资源,并提供到媒体网关的承载接口。2、应用服务器。应用服务器负责各种增值业务的逻辑产生和管理,处理与软交换间的接口信息,同时还提供各种开放的API,为第三方业务的开发提供平台。
3.2软交换体系结构的接口和采用的通信协议
软交换体系结构有传送平面、控制平面、应用平面、数据平面、管理平面。分别对应软交换体系结构的接口分组网与TDM之间的接口。接口二是采用H.323协议、SS7、Q.931、SIP等协议。接口三是采用H.323、SIP、Q.931、BICC、ISUP等协议。数据平面接口有待研究。接口五采用SNMPv2、CMIP等协议,具体功能和接口有待研究。
软交换协议功能有呼叫控制协议、传输控制协议、媒体控制协议、维护管理协议。具体采用的通信协议主要有:MGCP协议、H.248协议、SIP协议、SIP-T协议、H.323/协议、SIGTRAN协议、七号信令协议、V5协议、ENUM协议、TRIP协议、MIDCOM协议、STUN协议、IPSee协议、RADIUS协议、SNMP协议、FTP协议、FTAM协议。
4总结
软交换设备将是未来通信网络的核心设备,未来通信网络技术发展趋势是软交换技术。因为软交换技术实现了把业务系统和控制系统分离开来以及把传送系统和接入系统分离开来,是未来网络体系结构中的核心技术。把硬件软件化是它的主导意图的体现,使用软件方法来实现传统交换机的呼叫控制功能、电路连接功能和各种业务处理等功能。各种应用设备之间是按照不同的通信协议进行接续和通信的,以便在未来通信网络里,更方便更容易的实现不同业务和不同的协议。在当今网络十分开放时代和可编程方面软交换技术的出现为通信网络的发展奠定了坚实良好的基础。它指明了未来通信网络发展趋势。但是软交换只是当前通信网络发展的开始,在技术层面上还有很多技术问题值得大家研究和探讨。
参考文献:
【关键词】SPI协议;双DSP通信;TMS320DM642;TMS320C6747
1.引言
在水声通信机的设计中,经常是由一个处理器进行唤醒检测、AGC(自动增益控制)、A/D(模拟-数字转换)、D/A(数字-模拟转换)等工作。另外一个处理器负责信号调制、解调、纠错编码/解码等复杂计算。在我们的水声通信机设计中,前端采用低功耗的TMS320C6747浮点DSP,进行数据预处理;后端采用高性能的TMS320DM642定点DSP,进行复杂计算。这就需要双DSP分工协作,共同完成系统整机的功能。不可避免的,将涉及到双DSP之间大量的指令和数据交互操作。我们希望采用灵活的架构,简洁的接口连线,简单的控制协议,实现高可靠和高效率的指令与数据双向传输,通过大量的实验,我们最终选择了SPI协议,并对典型的SPI协议进行了改进。典型的水声通信机的架构如图1所示。
图1 典型水声通信机的架构
在我们的设计中,“处理器A”选用了低功耗的TMS320C6747浮点DSP,“处理器B”选用了高性能的TMS320DM642定点DSP。在实际系统中,根据水声通信机的不同工作频段和运算能力要求,处理器A也可选择FPGA/CPLD或者低功耗单片机;处理器B也可选择不同运算能力的DSP、ARM或者FPGA。
2.SPI协议
SPI(Serial Peripheral Interface,串行设备接口)是Motorola公司于2000年提出的一种串行接口协议。该接口占用硬件资源少,通信协议简单,具有同步时钟,通信速率较高,分主设备和从设备,特别适合处理器与设备之间交换数据,在EEPROM(非易失存储器)、串行A/D(模拟-数字转换器)、串行D/A(数字-模拟转换器)、实时时钟等嵌入式系统中得到了广泛的应用。
SPI协议的原理很简单,它以主从方式工作,这种模式需要有一个主设备和一个或多个从设备。典型的SPI协议定义了4线接口,这也是所有基于SPI的设备共有的,分别是SIMO(从机输入、主机输出),SOMI(从机输出、主机输入),SCK(时钟)和CS(片选)。根据系统的不同需求,SPI接口也可以采用3线(数据单向传输)或5线等不同方式,以实现不同的功能。采用4线制SPI接口时,接口示意图如图2所示。
从图2可知,所有的控制信号均由SPI主设备提供,SPI从设备只能在被查询时才能与主设备建立通信。这种限制在处理器与设备通信时影响不大,但应用在双处理器对等双向通信时就有问题,作为从机的处理器无法主动发起通信,与主机交换数据。
在我们设计的水声通信机中,双DSP之间需要对等双向通信,无论哪一方都能发起通信,因此需要对典型的SPI通信协议进行修改,使得从机也能主动发起通信。这需要修改硬件接口设计,增加额外的信号线来实现。
SPI协议没有定义握手机制,在进行双向高速率的可靠通信时,需要从硬件和软件两方面设计握手机制。同时,SPI协议也没有定义“指令”和“数据”传输标识,需要由软件来解析。为了解决上述问题,我们对SPI通信接口进行了改进,主要包括硬件接口设计和软件协议设计两部分。
3.系统硬件接口设计
硬件接口方面,在标准4线SPI协议的基础上,增加ENAn、RSm和RSs三根控制线,分别代表从机请求主机通信、主机发给从机指令/数据指示、从机发给主机指令/数据指示。其控制思路如下:
当TMS320C6747(SPI主机)有指令/数据发给TMS320DM642(SPI从机)时,先设置RSm为某电平(约定高电平代表指令,低电平代表数据),然后发起通信,DM642的SPI模块配置位从动模式,其底层硬件逻辑将自动检测接收,并通知DM642进行后续接收/发送处理。
ENAn信号线平时为低电平,当DM642有指令/数据要传递给C6747时,先设置RSs电平(指示将指令/数据传输),然后设置ENAn信号线为高电平,C6747检测到ENAn信号线电平的变化时,主动发起与DM642的通信。
我们设计的改进型SPI接口示意图如图3所示,图3中左侧虚线框内的部分为TMS320DM642芯片内集成的McBSP0接口,配置为4线SPI从动工作模式;图3中右侧虚线框内的部分为TMS320C6747芯片内集成的SPI1接口,配置为4线SPI主控模式,其中SPI1_ENAn由GPIO引脚控制。
图2 典型的4线制SPI接口连接图
图3 TMS320DM642(SPI从);TMS320C6747(SPI主)
经过如此改进之后,TMS320C6747(主机)和TMS320DM642(从机)之间能进行高速率的全双工数据与指令的交互。
4.系统软件设计
硬件接口设计为实现SPI高速率传输创造了通道,但难以保证数据传输的可靠性和有效性。为此,我们设计了SPI主机(TMS320C6747)和SPI从机(TMS320DM642)通信的软件协议。
为了能进行指令和大容量数据传输,并且易于对接收到的SPI数据进行实时解析,为“指令”和“数据”设计了不同的“帧”结构。
进行指令传输时,固定每个数据包的长度,由“0x55AA”指示一个指令帧的开始,之后跟着帧序号,每次成功传输一帧后,帧序号增1,接下来是本机在前次握手通信时收到的帧序号,方便对方据此判断前次指令是否被成功接收。
序号之后是20个指令字,最后是CRC校验字段,接收端对前23个字进行CRC校验,如果与接收到的CRC不同,则重新请求该指令序号;如果与接收到的CRC相同,则解析该指令。如果接收端收到的帧序号不连续,则表明两个序号之间的部分指令出错,根据需要可请求重发;如接收端收到的对方“已接收序号”和之前发送的不同,也能识别出通信出错。
在进行数据传输时,由“0x55A5”指示一个数据帧的开始,在帧序号之后是数据区的长度,接下来是数据区,最后是CRC校验。指令帧和数据帧的序号分别编号,与传输“指令帧”同样的机制,如果CRC出错也可以请求重传。连续的数据区便于接收端和发送端启用EDMA模式,极大提高传输大量数据的效率。
构建的“帧”结构如下表所示。
“指令”帧格式:
0x55AA 序号 已接收序号 指令1 指令2 …… 指令20 CRC
“数据”帧格式:
0x55A5 序号 数据长度 数据…… CRC
采用上述协议后,有效地保障了SPI主机和从机之间双向、可靠、高速、稳定的指令和数据传输。
5.结论
在我们设计的水声通信机中,采用了上述改进型SPI接口协议,TMS320C6747和TMS320DM642最小系统板之间以SPI接口进行板间连接,采用非屏蔽杜邦排线,长度大约10cm,实际测试表明,SPI时钟速率在8.6 MHz时可稳定进行指令和数据的全双工通信。由于通过SPI接口传输一个字节最少需要8个时钟,加上发送端准备数据、接收端解析并处理数据的开销等,实际测试能以800kB/s稳定通信。
参考文献
[1]http://.cn/cn/lit/ds/symlink/tms320c6747.pdf
[2]http://.cn/cn/lit/ds/symlink/tms320dm642.pdf
[3]张岩,马旭东,张云帆.ARM与DSP的SPI通信设计实现[J].工业控制计算机,2008,21(9):56-57.
[4]高振,罗秋凤.SPI接口与CRC算法在双DSP数据通信中的应用[J].电子产品世界,2011(1-2):46-48.
[5]梁德坚,刘玉琼.SPI总线数据远距离传输实现[J].电子测试,2009(1):72-75.
[6]赵,张楚.多媒体处理器中的SPI接口设计[J].电子测量技术,2007(6):126-129.
[7]任宇飞,张相,程乃平.一种透明传输的双向SPI接口的设计与实现[J].电视技术,2009,49(2):51-54.
基金项目:福建省自然科学基金(项目编号:2013J01253);中央高校基本科研业务费专项资金资助(项目编号:2010121062);国家自然科学基金(项目编号:61301098)资助。
作者简介:
解永军(1978―),男,工程师,主要研究方向:单片机与嵌入式系统,水声通信技术。