通信实现

2024-09-17

通信实现(精选12篇)

通信实现 篇1

1 地铁消防通信的具体要求

通常, 消防部队在地铁设置的火场通信需要满足三级组网以便于在火灾事故中进行有效地应急处理。这三级组网包括:消防一级网, 即城市消防管区的覆盖网;消防二级网, 即火灾现场的指挥网;消防三级网, 即火灾现场的战斗网。一级网通常在城市中已经得到合理的布局, 在地下空间相对封闭的地铁中, 消防通信的重点难点是二级网和三级网的构建。由于地铁火灾抢救具有极大的特殊性, 因此, 地铁消防通信的要求也相对较高。1) 高覆盖率。地铁具有客流量大和空间相对密闭的特点, 遇到突发性安全事故非常容易造型人员拥挤和现场混乱。地铁通常是由进站口、出站口、站台、站厅、隧道、设备用房以及管理用房等构成。乘坐地铁的人员一般多集中于进站口、出站口和站台。地铁消防通信的无线信号在覆盖这些空间的同时, 也需要对隧道等空间进行覆盖, 应当使得覆盖面不低于95%。这样才能确保能够及时有效地预防与处理突发的安全事故;2) 高呼通率。在地铁突发事故中要进行有效地组织, 争分夺秒地处理安全事故, 尽最大努力保证人民群众的人身和财产安全。然而, 地铁消防现场具有极大的复杂性, 情况变化快。因此, 地铁消防通信必须确保通畅以进行有效地指挥。这就要求消防通信设备的频率要充足, 以保证较高的呼通率;3) 稳定性和可靠性。地铁消防通信在保证了高覆盖率和高呼通率的同时, 也必须确保具有较强的稳定性和可靠性。在安全事故抢救的过程中, 地铁消防通信的不稳定会造成指挥失灵和人员恐慌等严重后果, 从而导致巨大的人员和财产损失。因此, 地铁消防通信必须具备稳定性和可靠性, 从而为消防部队顺利地进行抢险救援提供基本的保证。

2 地铁消防通信的实现方式

1) 引入无线信号。地铁消防通信通过引入无线信号能够更好地迎合地铁消防抢救的特点, 进而确保抢救地高效实施。设置地下基站, 引入地面无线链路的信号和原有的系统网络进行联网。集中引入和分散引入是无线链路引入的两种方式。集中式引入是指把已有的主机站或无线交换机的链路信号经过专用的有线或无线链路集中在一处, 进而引入到地铁扩展区的基站内。分散式引入是指一个地铁站设立一个链路信号的引入点, 与地面已有的无线交换机或者中心基站经过无线或有线的方式进行链路连接, 进而把链路信号传至地铁的无线扩展区的无线基站, 再由基站发送无线射频的信号。集中式引入链路信号设置的基站数量少, 占用的频率少, 并且容易和地面既有的系统网络进行联结。因此, 地铁消防通信的无线信号引入通常采用集中式引入链路信号;2) 覆盖途径。地下车站和隧道内的信号覆盖是地铁消防通信无线信号覆盖的主要部分。地下车站通常使用吸顶天线进行覆盖, 这种覆盖方式成本较低, 设置吸顶天线时应注意合理的布局从而达到信号全面覆盖的目的。隧道内一般通过泄漏电缆进行覆盖, 沿着隧道的洞壁铺设泄漏同轴电缆进行信号辐射, 在射频信号传输的同时也能够在隧道内进行辐射, 从而使得无线电波场全面的覆盖隧道空间内;3) 组网方案选择。无线链路集中引入、无线链路分散引入与有线链路集中引入是目前地铁消防通信相对较为成熟的三种方案。无线链路分散引入因为占用的频点资源较多, 所以一般较少采用。有线链路集中引入方案具有安全可靠、不易受干扰和不占用地面已有的基站资源等有点。无线链路集中引入方案具有成本低、维护方便和突发事件中应用等优点。地铁消防通信的组网设计应该采取主备结合的方案, 在地铁控制中心和消防指挥中心间采用有线链路集中引入方案, 并采取无线链路集中引入作为备用, 从而更加有效地保证处理突发事件时地铁通信的顺畅。

3 地铁消防应急通信

1) 常规应急组网。地铁应急组网中通常备有专用的通信系统与350M无线集群通信系统。其中350无线集群通信系统是公安系统已有的地面350M专业系统在地下进行延伸的组网。在突发性事故发生时, 消防部队应当配合使用地铁专用通信系统和350M公安无线集群通信系统;2) 部分信号中断时应急。在突发性安全事故中, 地铁站厅或隧道内的信号辐射设备都有可能受到损坏, 可以采用应急输入输出的接口设备进行现场通信恢复。因此, 应将应急输入输出设备作为地铁消防通信系统的备用设备, 按期维护保证其在突发事故中发挥作用, 也可以由消防部门在处理地铁事故时进行现场安置;3) 大型火灾应急。大型火灾发生时, 人员疏散和灭火都需要及时合理的指挥调度。然而, 此时站厅或隧道等的信号收发设备极易受损, 从而导致整个分基站或者局部联络失效、指挥失灵。此时消防部门可以进行临时布网。消防指挥车可以设置便携式的移动链路基站, 在通道入口设置主发站, 在站厅或隧道等内设置同播站以便于链接。临时组网的无线同播系统应当和350M公安无线集群通信系统进行实时联网, 以促进地铁消防通信的畅通。

4 结论

地铁公共交通的规模正在日益扩大, 客流量也与日俱增。地铁消防通信的通畅在处理突发事件中发挥着重要的作用, 因此, 应当加强对地铁消防通信的设备和运行机制的管理, 进一步保证地铁的安全运行。

参考文献

[1]卢滢.地铁消防无线通信引入系统研究[J].通信/信号, 2003 (9) .

[2]盛建国.地铁消防通信的要求及对策[J].消防科学与技术, 2006 (25) .

[3]肖鹏峰, 冯学智.集成GIS与GPS的城市应急联动指挥系统研究[J].遥感信息, 2006 (3) .

通信实现 篇2

当按下“设定”键时进入手机号码 设定状态,当触发模式转换装置之后进入无人值守状态。手机号码设定状态仅用于输入手机号码,确保报警短信能够直接发送到手机中。无人值守状态时,系统需要对各个传感器进行实时监控,此时不再对设定键进行监控,当再次触发模式转换装置后,转入有人值守状态,一旦传感器被触发时,则由单片机芯片进行处理,接通远程连接并发送报警短信。

为了便于无线通信报警监控系统的开发和后期维护,系统共划分为11个功能模块,采用C语言完成单片机编程。系统主要包括主程序模块、初始化模块、有人值守状态模块、无人值守状态模块、手机号码设定状态模块、数码液晶显示模块、延时定时设置模块、探测检测模块、报警短信发送模块和串口初始化模块等。

1手机号码设置模块

手机号码设置模块主要负责通过键盘输入模块、数码液晶显示模块和定时延时模块来设置指定手机号码,确保报警短信能够及时准确地发送到指定号码。键盘输入模块和定时延时模块共同作用来达到键盘消抖的.目的。此时,数字以全局数组的形式存储于单片机芯片中,再从数组中抽取数字显示在数码液晶屏幕上。

2手机短信发送模块

手机短信发送模块通过调用串口初始化模块和无线通信模块实现短信发送,将AT控制指令发送到GSM通信模块中。手机短信发送模块工作流程

3GSM网络连接模块

本文选择了西门子3618手机作为GSM无线通信模块,以实现报警系统与无线通信模块的连接。按照国家GSM无线通信规范,系统将AT指令通过串口发送到无线通信模块中,以此对GSM无线通信模块进行控制。

PDA与单片机串口通信的实现 篇3

硬件结构

1. 掌上电脑

市场上较多见的掌上电脑是Palm系列产品,它使用的操作系统为Palm OS。Palm OS是一种32位的嵌入式操作系统,是一套开放性极强的系统,开发者向用户免费提供Palm OS的开发工具,允许用户利用该工具,在Palm OS系统的基础上方便地编写、修改相关软件。该系统是专门为掌上电脑编写的操作系统,编写时充分考虑了掌上电脑内存相对较小的情况,本身所占内存极小,基于Palm OS编写的应用程序所占空间也很小,通常只有几十KB。而且基于Palm OS的掌上电脑,虽然只有几兆的存储空间,却可以存储众多的应用程序。支持Palm OS产品的另一大特点是系统耗电量极小,以Palm Ⅲx为例,在正常情况下2节7号碱性电池,可使用2个月。Palm提供了串行通讯接口和红外线传输接口,利用它可以方便地与其它外部设备通讯、传输数据。本系统设计方案采用是PALM公司的Palm IV掌上电脑。

2.串行通信的硬件连接

RS-232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。在此使用的集成电平转换芯片MAX232为RS-232C/TTL电平转换芯片。它只使用单+5V为其工作,配接4个1μF电解电容即可完成RS-232电平与TTL电平之间的转换。转换完毕的串口信号TXD、RXD直接和AT89C51串行口连接。硬件连接如图1所示。

由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。在设计本系统中使用DB-9连接器连接,作为掌上电脑与MAX232芯片串行接口的连接器,它提供异步通信的9个信号。DB-9连接器引脚功能和结构如图2所示。

软件编程

89C51微处理器与掌上电脑通信软件的实现由两个模块组成:微处理器的通信软件和掌上电脑的通信软件。

1. 单片机通信软件的设计

AT89C51与8051系列单片机是兼容的。所以编程、仿真和调试都可采用8051的开发工具。AT89C51单片机通信程序采用ASM51汇编环境下编写,在MCS-51单片机仿真调试软件下调试成功。

AT89C51单片机通过中断方式接收掌上电脑发送过来的字符,并回送确认信号给掌上电脑。程序协议:波特率设置为T1方式2工作,计数常数为F3H,SMOD=1,波特率为9600b/s;

串行口初始化为方式1,允许接收;中断服务程序入口地址为0023H。图3为程序流程框图。

2.掌上电脑串口通信软件设计

目前针对Palm环境的开发工具主要有CodeWarror C、JAVA、AppForgePersonal(Basic)等等。由于Palm平台与微机硬件、软件平台有着本质的差异,为了减少开发人员的培训费用,提高开发速度,我们采用CodeWarror C语言作为系统开发工具,只要熟悉C语言的编程者,都能在极短时间内熟练掌握CodeWarror C编程。

掌上电脑串口通信的实现遵循以下原则来管理串行口:打开和关闭串行口;读写缓冲区数据;查询缓冲区有字节数并读入内存;设置选项。

在本刊的网站上给出了单片机通信软件及掌上电脑串口通信实现的源程序,供读者参考。

3.通信协议

89C51微处理器与掌上电脑的通信协议读者可以采用自定义的协议,在定义通信协议时要注意考虑信号传输的可靠性。也可以采用TCP/IP的协议形式,一是可以提高传输信号的可靠性,二是可以方便以后系统的功能扩展,但编程相对复杂。限于篇幅关系,这里不再作详细介绍。

通信协议设计与实现 篇4

随着超大规模集成电路技术的发展,出现了一大批高性能、低成本的DSP芯片,推动运动控制器从传统的以微处理器或ASIC为核心向以DSP为核心发展[1],多机通信将会是今后的一种发展需要。为此,设计一种1台PC机跟多台以DSP为核心处理器的运动控制器间的串口通讯实现方案有一定的意义,RS-485提供PC访问运动控制器的通道,用于传输控制指令、轨迹参数、运行参数及接受运行状态等,编写上位机软件。

本研究主要探讨一种基于RS485总线串行的通信方案的设计与实现。

1 系统实现

本研究所选DSP为TI公司的TMS320F2812芯片具有高性能位哈佛总线结构、统一寻址模式、最大4MB的程序/数据寻址空间、快速中断响应和处理能力及高代码效率等特点。支持16×16位和32×32位乘累加操作及16×16位双乘累加器,其最高时钟频率可达150MHz,特有的2个EVA和EVB事件管理器特别适合电机控制[2]。它还提供2个串行通讯接口SCI,能很好的实现PC机与运动控制器的串行通讯。SCI提供64K的通信波特率,可以被定义成为全双工异步、半双工同步主控和半双工同步从动方式[3]。

本研究针对电机控制通信的距离采用RS-485通信接口。RS-485是一个多引出线接口,这个接口有多个驱动器和接收器,可以实现1台PC和多台单片机之间的串行通信;而且RS-485接口的最大传输距离标准值为1 200m,适合中距离的传输[4,5]。RS-485总线系统采用一主多从的总线型连接方式,如图1所示。为了消除反射,吸收噪音,采用2个120的终接电阻R1和R2连在总线的两端(但若在短距离传输时可不接终接电阻,一般在300m以下的不需要接终接电阻)[6]。RS-232/RS-485转换选用波利电子公司的RS-232/RS-485转换器。本系统采用MAX 487接口芯片作为收发器,由于它的输入阻抗是标准接收器的4倍,因此最多可以挂128个接收器,而且MAX 487收发器的差分平衡系统抗干扰能力强,接收器可检测到200mV的信号,传输的数据可以在千米以外得到恢复,特别适合远距离通信,可以组成标准的通信网络。

2 通讯协议

在PC机和多台DSP的通讯时,需要定制一个合理的通讯协议[7]。RS-485协议是一种半双工通信协议,发送和接收共用同一物理通道,在任意时刻只允许一台DSP处于发送状态,因此要求DSP必须在侦听到总线呼叫信号已经发送完毕,并且没有其他DSP应答信号的情况下才能应答。如果在时序上配合不好,就会发生总线冲突,使整个系统的通信瘫痪,无法正常工作。

由于运动控制器的RS-485基于ASCII码通信,因此本研究定义SCI帧格式为:1位起始位、7位数据位和2位停止位。在数据包中为了区别不同的分机必须给每个分机一个地址。数据包格式定义如图2所示。

包头2字节,地址1字节,数据长度1字节,数据块n字节,校验码2字节,包尾2字节。考虑到数据传输的可靠性,防止数据误认作包头和包尾,为此本研究设置为2个字节。

TMS320F2812中SCI模块提供16级的接收和发送FIFO,减少了中断的次数。其采用NRZ数据格式,可以与CPU或其他通信数据格式兼容的异步外设进行数字通讯。SCI接收和发送器可以独立操作,在全双工模式下也可以同时操作为保证数据完整性

模块对接收到的数据进行间断、极性、超限和帧错误检测[8]。通过对16位(64K)的波特率控制寄存器进行编程,配置不同的SCI通信频率,本系统配置波特率为9 600。在本系统中接收和发送各设计了1个数据缓冲区用于存取FIFO中的数据和发送数据给FIFO。该缓冲区以结构体的形式给出:

通信的流程为:PC机发1个包给所有的DSP,然后DSP串口接收包,子程序从缓冲区读取数据依次校验包头、地址,如图3所示。当包中地址与本机地址不相符合时丢弃包,当包中的地址与本机地址相符时继续接收数据长度、数据块等信息。最后,检验校验码和包尾是否正确,若正确则发送1个确认收到的指令给PC机,若错误则发送1个错误的指令,要求重发,设置最多支持3次重发,如果3次重发还没确认正确接收,则通信失败。发送数据时还要设置1个定时器,若发送时间超时则重新发送数据包,以免造成无休止的等待。因为RS-485是半双工通信,所以在接收的同时要将发送禁止,在发送的同时也要禁止接收。部分程序的流程图如图3~图4所示(发送子程序跟接收类似)。

SCI模块初始程序代码:

3 上位软件编写

上位机软件采用VC++进行编程,VC++具有强大的串行通信功能。使用功能强大的MSComm控件,MSComm采用事件驱动方式从串口接收数据(消息处理),当串口有事件发生的时候,程序调用消息函数来处理数据。利用OnComm事件捕获和处理通信事件,然后通过CommenEvent属性了解发生了什么事件,从而进行不同的处理[9,10]。因为MSComm控件自身没有提供方法所以大多函数都是函数对用来获取或者设置控件的属性。下面是几个常用的属性设置:

4 结束语

本研究设计的一对多串行通信方案,主要用于运动控制器中指令及状态的传输。在实验室中很好得实现了1台PC机与4、5台DSP运动控制器通信的功能,数据收/发稳定,程序运行可靠。虽然利用DSP的SCI与PC机进行数据传输存在一些不足(传输距离短、传输效率不高等),但其硬件简单,不需专用的通讯接口,性价比高,而且程序容易实现。

参考文献

[1]张宇.基于DSP和FPGA的运动控制卡的研究与开发[D].南京:南京航空航天大学机电学院,2007.

[2]苏奎峰,吕强.TMS320F2812原理与开发[M].北京:电子工业出版社,2006.

[3]TI.TMS320x281x Serial Communication Interface(SCI)[EB/OL].[2009-05-01].http://focus.ti.com/lit/ug/spru051c/spru051c.pdf.

[4]鲍延杰,杨新志.基于RS-485总线的PC与多单片机间的串行通信[J].电子技术,2002,29(10):8-11.

[5]袁德虎,王双林,金惠良.基于组态软件的SF6密度继电器在线监测系统[J].机电工程技术,2008,37(4):28-31.

[6]李现勇.Visual C++串口通信技术[M].北京:人民邮电出版社,2004.

[7]乡碧云.嵌入式PC数控系统控制车铣复合机床的研制[J].机电工程技术,2008,37(3):56-58.

[8]TI.TMS320F2810,TMS320F2812 Digital Signal ProcessorsData Manual[EB/OL].[2007-07-17].http://focus.ti.com.cn/cn/docs/prod/folders/print/tms320f2812.html.

[9]张筠莉,刘书智.Visual C++实践与提高:串口通信与工程应用篇[M].北京:中国铁道出版社,2006.

通信实现 篇5

摘要:随着现代IT软、硬件技术水平的发展,为保证城市消防通信指挥系统设计质量,增强系统快速反应和辅助决策能力,使系统在灭火救灾、为民服务、社会公共安全等方面全面满足消防的需要,本着系统可靠实用、技术先进、经济合理的原则,本文从总体目标、遵循原则、基本功能、系统组成、综合集成等方面,简要探讨了城市消防通信指挥系统系统设计与实现的注意事项。

关键词:消防;通信指挥系统;设计

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

随着国民经济的高速发展,城市建设日新月异,城市人口密度、建筑密度不断增大,建筑高度不断增加,给消防工作带来了更高的难度和要求。准确、方便、直观、快捷地了解着火地点、街道、消防水源等地理信息已经成为消防通信指挥的重要技术支撑和决策依据。为确保执勤灭火和抢险救援任务的顺利完成,需要建立一套符合本地实际需求并能够实现快速、高效、可靠的城市消防指挥系统,使消防部队统一指挥、快速反应、协同作战的水平跃上一个新的台阶。

1总体目标

以计算机网络和计算机通信为基础,充分采用现代计算机、通信、控制与信息综合决策的先进技术,集有线和无线通信、计算机网络通信、计算机辅助决策、视听多媒体、图像处理与显示、地理信息系统(GIS)、全球卫星定位系统(GPS)技术和数据库管理等于一体,能“快速、准确、实用、系统化”地进行宏观调度和指挥,提高消防通信指挥的快速反应和科学决策能力,适应扑救重、特大恶性火灾的需要,确保各项抢险救援任务的完成。

2遵循原则

消防指挥中心系统设计应当遵循以下原则:

2.1统一规划,分步实施

按照战时快速反应、平时模拟训练的要求,对系统进行统一规划和设计。结合各地经济情况和工作需要,有计划地分批建设。

2.2充分利用和整合现有资源

本着共享、有序、关联、协同的思想,整合社会部门各类设备及信息资源,加强信息的管理和应用,使消防指挥保障有力、投入成本减少、经济实用。

2.3技术先进性和实用性相结合利用计算机辅助决策等先进、实用技术,尽可能降低系统对个人经验的依赖,提高接处警速度和智能化水平。系统设计面向用户,必须保证易操作、易理解、易控制。

2.4物理集中和逻辑集中相结合

利用公安专网,实现消防信息采集、管理和存放的物理集中,实现与公安局“三台合一”指挥中心CTI报警接入物理集中,实现消防辅助决策系统的物理集中。通过计算机网络,采用逻辑集中的办法,实现资源共享和指挥协同,实现统一指挥和社会联动。

2.5标准性和可扩展性相结合

符合国家标准和相关法律法规,满足消防业务的实际需求。具有升级和扩展能力,并支持多种接口,方便扩大应用范围和提高应用水平。

3基本功能

城市消防通信指挥系统主要进行宏观管理和决策指挥,同时对消防实力进行实时动态监控,了解掌握消防部队的执勤情况。其主要功能为:

3.1宏观监控和指挥功能

监督管理接处警信息,综合指导重、特大火灾的扑救及各类灾害事故和抢险救援工作,宏观调度消防部队进行跨区域协同作战。

3.2辅助决策功能

利用人工智能技术、综合数据库信息进行宏观调度指挥决策,实时编制跨区域预案,并将出动命令、出动方案、灭火力量部署图、作战计划等信息以多媒体方式下达。

3.3地理信息查询功能

利用消防GIS地理信息系统,自动显示灾害区域的地理地形图、消防设施、水源分布图等消防地理信息,可进行文字与地理信息查询。

3.4全球卫星定位功能

采用GPS卫星定位系统动态管理、监控消防实力和执勤备战情况。

3.5视频图像监控及会议系统功能

远程视频监控消防部队执勤、训练和管理等情况,实时传输火场图像及周边情况。

3.6综合信息管理功能

综合管理和维护消防地理、气象、水源、消防车辆、队伍实力、消防中队、火灾类型、灭火战术、危险源评估、作战预案、典型灭火案例等信息。

3.7消防业务培训功能

综合消防指挥业务理论及题库、跨区域联合作战预案编制等内容,进行多媒体教学和模拟演练。

4系统组成

消防通信指挥系统的结构分为通信指挥业务层、信息支撑层。通信指挥业务层实现接收和处理火灾及其它灾害事故报警、灭火救援指挥调度、现场通信指挥以及模拟演练。信息支撑层提供对通信指挥业务的情报信息支持。

4.1火警受理信息子系统

通过通信网络,接收、处理、传输、记录火警及相关消防业务信息,提供报警接受、警情辨识、出动方案编制、指令下达、录音录时、火警受理终端、地理信息系统、维护管理等功能,可以接收公网固定或移动电话报警、接收其他专网电话报警、接收城市消防远程监控等系统设备的报警,实现报警语音提示、电话呼入排队、火警受理终端智能分配。

4.2消防指挥调度子系统

通过通信网络,进行火警受理后续调度、增援调度、跨区域联合作战调度等消防专业指挥调度业务,实现灾情接收、指挥决策、实力调度、情况反馈、信息记录等指令流程。

4.3火场通信子系统

将灾害现场的各种通信设备与相关系统有效集成,实现信息查询、临机调度指挥、通信交换和组网管理控制。

4.4消防图像信息子系统

系统应用火场及其他灾害事故现场图像信息、城市消防图像监控信息、消防站备勤图像信息、视频会议图像信息等资源,直观了解灾害现场情况,实施可视指挥调度。

4.5消防车辆动态管理子系统

对出动消防车辆的位置、速度、方向、状态等信息进行实时动态管理,实现消防通信指挥中心对消防力量的实时掌控、科学调度、准确引导和精确指挥。

4.6消防情报信息管理子系统

对各类消防业务信息进行更新、维护,实现系统管理、用户管理、权限管理、版本管理等功能,根据需要对不同数据库管理系统之间进行数据的移植、转换、关联、整合,对灭火救援的应急信息数据进行实时采集、提取、自动统计、智能分析以及发布、共享,为其他应急联动相关部门和有关领导提供信息决策服务。

4.7消防图文显示子系统

实现对汇集到消防通信指挥中心的所有视频、音频信息及文字图形进行组合选取、集中显示、控制和管理。消防实力显示:能显示参战消防队及指战员数量、名称,能显示车辆的编号、类型、状态、位置等信息。火警信息显示:能显示日期、时钟,能显示当前的火灾及灾害事故地点、出动方案。视音频信息显示:能显示灾害事故现场图像、城市消防监控图像和消防站图像。

4.8消防指挥决策子系统

综合集成数据、模型、知识等信息,为灭火救援指挥提供辅助决策支持。消防指挥决策支持子系统应用消防地理、消防资源和各种灭火救援模型、专家知识,实现灭火救援信息查询检索、火场指挥、灾害评估、灭火救援力量计算、处置方案编制等功能。

4.9消防救援预案管理子系统

实现对灭火作战和抢险救援数字化预案进行编制、查询、编辑、匹配和输出等综合管理。

4.10重大危险源评估子系统

针对有可能造成重大人员伤亡、重大财产损失的火灾、爆炸、毒害等灾害事故的场所和设施的重大危险源,建立重大危险源数据库。对重大危险源调查结果进行综合分析和评价,区分一般危险和重大危险,实现查询、读取、调用等功能。

4.11通信指挥模拟训练子系统

应用网络、通信、软件编程、数据库等技术,实现消防接处警和消防调度人员进行火警受理、通信指挥等业务训练。

5综合集成

系统综合集成实现的是将系统建设中的各子系统通过硬件或软件的方法连成一个有机的整体,在系统综合集成中,通常需要考虑的问题有:

5.1技术集成

从技术角度考虑各子系统能够连成一个整体,避免出现技术上不可行的局面。从技术上来说,系统总体集成还要实现系统各部分之间的联动控制。

5.2工程集成

从工程实施上考虑各子系统的布局和连接、供电关系等内容,使得技术上可

行的工作从工程实施上保证其质量,增加其合理性。

5.3与其它系统的集成

考虑到指挥系统需要实现各种内部的数据共享和外部的数据共享,因此,在系统的总集成过程中,需要充分考虑内部、外部集成和数据共享的方法,同时要考虑所采用的方法的可靠性、安全性以及方便性。

6结束语

通信实现 篇6

关键词:无线网络 通信技术 设计 实现

21世纪作为信息化社会,人们对于通信网络的要求逐步提高,而相应的通信网络技术本身也在信息处理技术、微电子技术的支撑下发展到了新的层面。但是无线网络通信技术在表现出移动性与便捷性的同时也出现了一些安全隐患。只要是访问者的授权机制以及身份验证足够健全,任何一个具有兼容的无线网卡的用户均可以访问该网络。如果不速之客破解了无线网络不安全的相关安全机制就可以摧毁整个网络,为此无线局域网传输数据具有先天的安全隐患。

1、需求分析

现今高校使用的无线网络结构一般设计为简单的出口认证的层次化无线网络结构,即Hierarchical Wireless Network Architectur 或者简称为HWNA。这种简单的设计结构主要由校园网、外部网络以及出口认证组成,是一种通用的设计方案,被广泛的应用于校园无线网络中。但是上述无线网络结构并不能满足校园网络对于安全的需求,尤其是随着无线网络的发展以及对于网络安全问题的重视,需要对这种存在缺陷的网络设计进行改造升级,从而营造更为安全的局域网。由于上述HWNA设计结构中的防火墙可以对外部攻击起到很好的防御作用,但是内部用户是否合法很难判断,因此对于内部用户的攻击防御能力很弱,为此不适于应用于无线校园网络。下面针对以上问题提出一种MSWN(Multi—layered Security Drotection ofWireless Networ).

2、多层防护的安全无线网络设计

MSWN的结构主要由poe交换机、核心CI、认证服务、校园网服务、DHCP、防火墙以及电信公司与教育网构成,其中最重要的部分是核心CI的设计。

MSWN具有更高的稳定性、通用性与可靠性,可以有效的提升无线通信网络的安全性,对于改善办公室、校园等无线网络信息化建设具有极强的现实意义。合法用户无论是在HWNA或者是MSWN结构的网络,使用上不存在差异。但是非法用户在MSWN结构网络中却不能像在HWNA结构网络中一样获得相关网络信息,从而有效地避免校园用户被攻击等情况的发生。此外合法用户在这种结构网络中即可以访问校内资源也可以访问校外资源,没有资源受限的情况,但是不合法用户由于没有IP就不能实施破坏活动。为此,MSWN较之HWNA更为安全可靠。

3、个人局域网实现

3.1硬件

系统的硬件实现分为四大部分:蓝牙天线、蓝牙模块、供电电源、接口电路。其中蓝牙模块分为无线层、基带层以及链路管理层。其中无线层主要负责符号的过滤与转换、频率的合成、以及符号的收发操作等;其中基带层可以完成加密/解码、编码/解码以及调频频率的选择与生成等;链路管理层负责实现连接的建立以及管理。

蓝牙技术作为一种常用的短距离无线连接通讯手段,其传输距离主要由射频发送功率、使用频率以及天线性能与接收灵敏度决定。由于蓝牙适用电压为3.3v,而PC机串口的工作电压为±12v,为此需要经过电压转换。

3.2软件

蓝牙体系中的协议可大体分为4层:可选协议,包括:IrM、WAP 、PPP、OBEX、WAE、VCard、Vcal UDP/TCP/IP、等;电缆替代协议,串口仿真(RFCOMM);核心协议,连接管理(LMP)、基带(Base Band)以及服务发现(SDP)和链路控制(L2CAP);电话传送协议,AT命令集与电话通信(TCS)。

(1)主机控制接口(HTC)驱动程序。位于中间协议层与两路管理层之间的HCL为主机提供了控制蓝牙模块的方法及途径,从而将两层联系起来,最终实现数据交换。但是要实现有机连接需要向蓝移提供一套驱动程序,即HCL UART驱动程序,这一程序主要完成链路的链接建立以及控制、链路级安全管理以及低功率模式等。

(2)逻辑链路控制以及适配层协议(L2CAP).这一协议负责向高层提供无连接以及面向连接的两种数据服务,它所支持的协议功能主要包括:服务质量、协议复用、组、分段与重组。蓝牙传输与有线物理传输不同,蓝牙基带有数据包大小的限制。输出与最大基带有效载荷限制了更高层的协议带宽的有效使用,从而要求高层协议使用更大的分组。为此就需要在无线传输之前将大L2CAP分段为多個小基带分组。反之,分组后的小基带也可以组装为大L2CAP。

(3)应用程序。应用程序主要为主机数据以及蓝牙服务提供通信接口,也就是建立了两个L2CAP信道:数据信道与控制信道。以文件传输为例:首先要设置本地蓝牙端口、查询远程蓝牙设备,然后是建立ACL连接或者SCO连接,最后实施文件传输。

通过运行发现,MSWN在安全性及适用性上可以满足设计要求,有效地提升了无线网络的安全性。蓝牙作为个人区域网的领先技术,可谓是一种适用于小范围多媒体通信的廉价通信方法,最终实现将各种移动设备、计算机、固定通信设备以及终端连接起来。

参考文献:

[l]宫晓渊.无线传感器网络组织结构研究[J].微电子学与计算机,2005,22(12).

[2]喻宗泉.蓝牙技术基础[M].机械工业出版社,2005,12:6~7.

[3]陈栋等.基于软硬件协同的机群数据通信机制的研究与实现[J].微电子学与计算机,2005,22(11).

通信实现 篇7

关键词:Windows CE,串口通信,应用

引言

在通信和实时监控系统中,串行通信因其具有连接简单、使用灵活方便、数据传输可靠等优点得到了广泛的应用。Windows CE(简称Win CE)是微软推出的一个32位、多任务、多线程的完全抢占式的实时操作系统。Win CE系统以其良好的性能得到越来越普遍的推广[1]。

(1)Win CE下的串行通信简介

串口在Win CE下属于流接口设备,它是串行设备接口的常规I/O驱动程序调用和与通信相关的具体函数的结合。串行设备被视为用于打开、关闭、读写串口的常规、可安装的流设备。Win CE的通信函数和其它大多数Windows的通信函数相同。但仍有几点区别:

a.Win CE设备资源很少,存储器、显示器都很小,接口也比较少,而且根据实际情况变化很大;

b.Win CE只支持Unicode;

c.Win CE还有一些专门设计的控件,比如Command Bar;

d.Win CE不支持直接对串口的寄存器进行编程;

e.通信端口不能像文件一样被共享。

(2)Win CE下的串行通信基本方法

a.打开和关闭串口

在所有的流设备驱动程序中,均使用方法Create File来打开串行端口设备。如果打开串口成功,将返回打开串口的句柄。下面的代码是以读写方式打开串口COM3。

Windows CE规定,当引用一个流接口设备驱动程序时,应用程序使用三字符名,其后跟端口号和一个冒号。例如“COM3:”就表示串行端口3驱动程序。宏_T可以将字符串“COM3:”转成Unicode编码。

关闭串口可以调用Close Handle(m_h Comm)。释放串口资源。

b.配置串口

首先打开串口后,调用Setup Comm函数给串口分配一定大小的发送缓冲区和接收缓冲区;之后调用Get Comm Timeouts函数对读写串口进行超时设置;然后调用Get Comm State函数获得当前串口配置,然后根据需要修改DCB成员,用Set Comm State函数设置新的串口配置,最后调用Purge Comm函数清空串口的发送接收缓冲区。代码如下:

c.读写串口

调用Read File和Write File函数对串口进行读写。在通信过程中可能会发生错误,对有些错误通信将无法进行下去,必须调用Clear Comm Error函数清除这些错误[2]。这个函数还可以返回错误代码和当前通信状态缓冲区的内容。

Win CE不支持重叠I/O,如果在主线程进行大量读写串口操作时,有可能使整个程序陷入缓慢的串口等待中去,因此一般都采用多线程来进行读写串口操作。

d.通信事件

Comm Thread监视线程函数,在此线程函数中不停的调用Wait Comm Event()等待通信事件,当有串口事件发生时去判断是哪一种串口事件,如果是接收事件发生则调用Set ReadTo Port,如果实际发送事件发生则调用Set Write To Port,最后调用Wait For Multiple Objects,通过返回值来决定唤醒读还是写串口线程如果同时读写事件同时发生,则优先响应读串口线程。

1 串行通信的模型设计

1.1 多线程技术

在Windows CE中,线程以时间片为单位来运行,按一定的优先级将时间片段分配给各个线程,各个线程在各自的时间片段内共享。所有高优先级的线程都将在低优先级的线程之前运行。在可以调度被设定为特定优先级的线程之前,所有拥有高优先级的线程都必须被阻塞。同等优先级的线程以循环方式来调度。如果高优先级的线程停止阻塞,而低优先级的线程目前正在运行,则低优先级的线程会立刻被挂起,同时去调度高优先级的线程。低优先级的线程永远不会抢占高优先级的线程。这种方法能很好地实现抢占式多任务的处理,提高数据传输的吞吐量和通信的实时性[3]。特殊情况:一种是线程具有优先级THREAD_PRIOR-ITY_TIME_CRITICAL,它永远不会被抢占;另一种就是低优先级的线程拥有高优先级的线程正在等待的资源,出现优先级倒置。

下面是一个创建线程和线程函数的例子:

Create Thread函数的许多参数在Windows CE下都不支持,所以被设为NULL或0。第三个参数指向线程函数的开始,第四个参数是Create Thread函数传到线程函数的唯一参数。Create Thread函数返回线程句柄,当这个句柄不需要时,调用Close Handle函数关闭它。在线程函数体可以进行串口的读或写操作。

1.2 事件同步对象

对于在系统中运行的多个线程,需要协调它们的活动,也就是实现同步。在Win CE中,采用的方法是使用同步对象。一个线程等待一个同步对象,当用信号通知该对象时,解除阻塞正在等待的线程并调度该线程。同步对象包括事件和互斥体。

事件对象就是一种有两种状态-有信号和无信号的同步对象。调用Create Event函数创建事件后,事件自动被置为信号状态。事件可以被命名,从而被不同进程共享。通常的做法是采用多线程,一旦发现串口有预定事件时,用消息通知主线程请求相应的处理,主线程接收到发送来的消息唤醒相应的线程处理程序。各线程间以事件同步对象来实现同步、形成监视串口与读写串口的协调一致[4]。

2 市场应用

2.1 定位GPS

在车载定位系统中,导航计算机需要接受多种传感器的数据输入,其中最常用到的就是GPS数据。程序采用多线程,主线程负责消息处理,另外还有读写两个附加线程,使用一个事件触发。读线程负责从串口读回GPS数据,写线程由事件触发[5]。

2.2 医疗监护

基于ARM的嵌入式多参数网络监护仪主要面向医院、社区和家庭,具有成本低、功耗小、数据存储量大、数据处理速度快、便于远程医疗、能同时实现实时多任务的操作等各项优势,是现代医疗监护进一步智能化、专业化、小型化、低功耗的发展新方向,困此具有很广阔的市场前景。

2.3 工业控制

Cybectec建立了Substation Modernization Platform(变电站现代化平台,SMP),它是一种基于Win CE用以解决互通性问题的智慧化网关设备。借助Win CE所提供的优越互通性,Cybectec创建出一种从多种数据源整合数据、监视变电站/发电厂运行状况、并与远程能源管理系统进行通信的设备。

2.4 食品安全

FMC Food Tech选择了Win CE作为LOG-TEC Momentum系统的操作系统,这是他们的新一代杀菌控制系统。

Win CE提供的更富有吸引力的一个特性,是它的实时回应能力。Win CE通过优先权来运行中断执行绪,并且以一种确定性的方式来处理输入资料,能对时间敏感的I/O刺激做出高速的响应和反应。Win CE带来的最大好处是它能把LOG-TEC Momentum连接到种类众多的I/O设备上。I/O的扩展能力对于食品加工行业来说是特别重要的,因为它必须对杀菌过程进行跟踪和记录,以保证消费者买回家的食品的安全和质量能满足严格的国家标准。

Win CE的另一个主要优势是系统进入了Windows环境,这使操作员操作起来更加容易了。每个人对Windows环境都已经很熟悉了[6]。

结束语

以上给出了在Windows CE下的串行通信的基本方法及流程。利用多线程技术保证了通信的实时性和数据的吞吐量。也介绍Windows CE程序在不同领域应用情况,具有很大的市场前景。

参考文献

[1]许南雁,郝继飞.WindowsCE环境下单片机串行通信的设计与实现[J].自动化技术与应用,2005.

[2]Charles Petzold.WindowsCE程序设计[M].北京:北京大学出版社.

[3]贾广雷,刘培玉,耿长欣.多线程技术及其在串口通信中的应用[J].计算机工程,2003.

[4]陈淑珍,石波.基于Windows多线程环境下的串口通信[J].武汉大学学报(自然版),2000.

[5]www.DigiTimes.com[EB/OL].

C#实现即时通信软件 篇8

1 即时通信系统

在生活中经常使用即时通信的软件, 经常接触到的有:QQ、阿里旺旺、MSN等。这些都是属于即时通信 (Instant Messenger, IM) 软件, IM是指所有能够即时发送和接收互联网消息的软件。

在前面专题P2P编程中介绍过P2P系统分两种类型——单纯型P2P和混合型P2P (QQ就是属于混合型的应用) , 混合型P2P系统中的服务器 (也叫索引服务器) 起到协调的作用。在文件共享类应用中, 如果采用混合型P2P技术的话, 索引服务器就保存着文件信息, 这样就可能会造成版权的问题, 然而在即时通信类的软件中, 因为客户端传递的都是简单的聊天文本而不是网络媒体资源, 这样就不存在版权问题了, 在这种情况下, 就可以采用混合型P2P技术来实现即时通信软件。前面已经讲了, 腾讯的QQ就是属于混合型P2P的软件。

因此本专题要实现一个类似QQ的聊天程序, 其中用到的P2P技术是属于混合型P2P, 而不是前一专题中的采用的单纯型P2P技术, 同时本程序的实现也会用到TCP、UDP编程技术。具体的相关内容大家可以搜索相关的资料。

2 系统设计

本程序采用P2P方式, 各个客户端之间直接发消息进行聊天, 服务器在其中只是起到协调的作用, 下面先理清程序的流程:

2.1 程序流程设计

当一个新用户通过客户端登录系统后, 从服务器获取在线的用户信息列表, 列表信息包括系统中每个用户的地址, 然后用户就可以单独向其发消息。如果有用户加入或者在线用户退出时, 服务器就会及时发消息通知系统中的所有其他客户端, 达到它们即时地更新用户信息列表。

根据上面大致的描述, 可以把系统的流程分为下面几步来理解 (大家可以参考QQ程序将会更好地理解本程序的流程) :

(1) 用户通过客户端进入系统, 向服务器发出消息, 请求登录。

(2) 服务器收到请求后, 向客户端返回回应消息, 表示同意接受该用户加入, 并把自己 (指的是服务器) 所在监听的端口发送给客户端。

(3) 客户端根据服务器发送过来的端口号和服务器建立连接。

(4) 服务器通过该连接把在线用户的列表信息发送给新加入的客户端。

(5) 客户端获得了在线用户列表后就可以自己选择在线用户聊天。 (程序中另外设计一个类似QQ的聊天窗口来进行聊天)

(6) 当用户退出系统时也要及时通知服务器, 服务器再把这个消息转发给每个在线的用户, 使客户端及时更新本地的用户信息列表。

2.2 通信协议

所谓协议就是约定, 即服务器和客户端之间会话信息的内容格式进行约定, 使双方都可以识别, 达到更好的通信。

2.2.1 客户端和服务器之间的对话 (1) 登录过程

(1) 客户端用匿名UDP的方式向服务器发出下面的信息:

login, username, local IPEnd Point

消息内容包括3个字段, 每个字段用“, ”分割, login表示的是请求登录;username表示用户名;local IPEnd Pint表示客户端本地地址。

(2) 服务器收到后以匿名UDP返回下面的回应:

Accept, port

其中Accept表示服务器接受请求, port表示服务器所在的端口号, 服务器监听着这个端口的客户端连接。

(3) 连接服务器, 获取用户列表

客户端从上一步获得了端口号, 然后向该端口发起TCP连接, 向服务器索取在线用户列表, 服务器接受连接后将用户列表传输到客户端。用户列表信息格式如下:

username1, IPEnd Point1;username2, IPEnd Point2;...;end

username1、username2表示用户名, IPEnd Point1, IPEnd Point2表示对应的端点, 每个用户信息都是由"用户名+端点"组成, 用户信息以“;”隔开, 整个用户列表以“end”结尾。

(2) 注销过程

用户退出时, 向服务器发送如下消息:

logout, username, local IPEnd Point

这条消息看字面意思大家都知道就是告诉服务器username+local IPEnd Point这个用户要退出了。

2.2.2 服务器管理用户

(1) 新用户加入通知

因为系统中在线的每个用户都有一份当前在线用户表, 因此当有新用户登录时, 服务器不需要重复地给系统中的每个用户再发送所有用户信息, 只需要将新加入用户的信息通知其他用户, 其他用户再更新自己的用户列表。

服务器向系统中每个用户广播如下信息:

login, username, remote IPEnd Point

在这个过程中服务器只是负责将收到的"login"信息转发出去。

(2) 用户退出

与新用户加入一样, 服务器将用户退出的消息进行广播转发:

logout, username, remote IPEnd Point

2.2.3 客户端之间聊天

用户进行聊天时, 各自的客户端之间是以P2P方式进行工作的, 不与服务器有直接联系, 这也是P2P技术的特点。

聊天发送的消息格式如下:

talk, longtime, self User Name, message

其中, talk表明这是聊天内容的消息;longtime是长时间格式的当前系统时间;self User Name为发送发的用户名;message表示消息的内容。

协议设计介绍完后, 下面就进入本程序的具体实现的介绍。

注:协议是本程序的核心, 也是所有软件的核心, 每个软件产品的协议都是不一样的, QQ有自己的一套协议, MSN又有另一套协议, 所以使用的QQ的用户无法和用MSN的朋友进行聊天。

3 程序实现

服务器端核心代码:

客户端核心代码:

程序运行结果:

首先运行服务器窗口, 在服务器窗口点击“启动”按钮来启动服务器, 然后客户端首先指定服务器的端口号, 修改用户名 (这里也可以不修改, 使用默认的也可以) , 然后点击“登录”按钮来登录服务器 (也就是告诉服务器本地的客户端地址) , 然后从服务器端获得在线用户列表, 界面演示如图1、图2所示。

然后用户可以双击在线用户进行聊天 (此程序支持与多人进行聊天) , 功能演示如图3所示。

双方进行聊天时, 这里没有实现像QQ一样, 有人发信息来在对应的客户端就有消息提醒的功能, 所以双方进行聊天的过程中, 每个客户端都需要在在线用户列表中点击聊天的对象来激活聊天对话框 (意思就是从图片中可以看出“天涯”客户端想和剑痴聊天的话, 就在“在线用户”列表双击剑痴来激活聊天窗口, 同时“剑痴”客户端也必须双击“天涯”来激活聊天窗口, 这样双方就看到对方发来的信息了, (不激活窗口, 即使发送了信息, 只是没有一个窗口来进行显示) ) , 而且从图片中也可以看出——此程序支持与多人聊天, 即天涯同时与“剑痴”和“大地”同时聊天。

4 结语

通信实现 篇9

Lab VIEW具有强大的信号采集功能和网络通信功能, 这些功能使得Lab VIEW的用户可以很容易编写出具有强大网络通讯能力的Lab VIEW应用软件, 实现远程虚拟仪器。为了将人的语音或某个地点现场的声音信号远传, 可以依托Lab VIEW这些功能, 将联网计算机声卡上采集的语音信号, 进行远程语音数据的点对点传输。应用环境的网络拓扑图, 如图1所示。

1 利用Data Socket技术传输语音

Lab VIEW实现网络通信有3大类方法: (1) 使用网络通信协议编程实现网络通信, 可以使用的通信协议类型包括TCP/IP协议、UDP、串口通信协议等; (2) 使用基于TCP/IP的数据传输协议DSTP的Data Socket技术实现网络通信; (3) 使用共享变量实现网络通信。由于网络语音通信要求实时性强。本文采用第二种方法即Data Socket技术实现网络语音通信。

Data Socket是NI公司提供的一种实时数据传输技术, 可用于一个计算机内或网络中多个应用程序之间的数据交换, 是专门面向测量和自动化工程的网络实时高速数据交换的编程技术。Data Socket克服了传统TCP/IP传输协议需要较为复杂的底层编程、传输速率较慢 (特别是对动态数据) 等缺点, 大大简化了实时数据传输问题, 它提供了一种易用、高效、可编程的软件接口, 能够很方便地实现网络上的多台计算机之间的实时数据交换[1]。

Data Socket包括了Data Socket Server Manager、Data Socket Server和Data Socket函数库这几个工具软件, 以及DSTP (Data Socket transfer protocol, Data Socket传输协议) 、URL (uniform resource locator, 通用资源定位符) 和文件格式等技术规范[2]。在Lab VIEW中, 用户可以很方便地使用这些工具来实现远程数据采集。

语音传输程序用到以下两个Data Socket VI:

(1) 读取Data Socket函数 (Read Data Socket.vi) :该节点用于从打开的URL连接中读取数据。

(2) 写入Data Socket函数 (Wr i te Data Socket.vi) :该节点用于向打开的URL连接中写入数据。这里的数据可以是单个或数组形式的字符串、逻辑 (布尔) 量和数值量等多种类型。

2 语音采集

利用声卡采集语音信号实现语音信号双声道模拟输入。将麦克风 (话筒) 插在声卡的话筒输入端口, 并将其插入声卡上的标记为“Mic In”的插孔中。通过该端口可以采集人的语音信号。

语音采集程序用到以下三个声音处理相关VI:

(1) 配置声音输入函数 (S o u n d Input Configure.vi) :利用该VI配置声卡, 并开始进行语音采集。采样率设置为44.1k Hz。通道数为2 (即立体声双声道输入) , 每采样比特数 (即采样位数为16位, 采样模式为连续采样, 缓存大小设置为每通道10000个样本。

(2) 读取声音输入函数 (S o u n d Input Read.vi) :利用该VI从缓存中读取数据。程序中, 为了连续采集语音信号, 将“读取声音输入VI”放在了一个While循环中, 用于从缓存中连续读取语音数据, 设置每次从每个通道中读取样本数为4410个。

(3) 声音输入清零函数 (Sound Input Clear.vi) :利用该VI停止采样, 并进行清除缓存和清除占用的内存等操作。

3 语音播放

利用声卡输出语音信号实现语音信号双声道模拟输出。将扬声器 (喇叭) 插在扬声器输出端口, 并将其插入声卡上的标记为“Speaker”或“SPK”的插孔中。通过该端口可以外接音箱的音频线插头, 从而播放通过网络传输过来的语音信号。

语音播放程序用到以下四个声音处理相关VI:

(1) 配置声音输出函数 (Sound Output Con gure.vi) :利用该VI配置声卡, 并开始声音输出。采样率设置为44.1k Hz。通道数为2 (即立体声双声道输入) , 每采样比特数 (即采样位数为16位, 采样模式为连续采样, 缓存大小设置为每通道10000个样本。

(2) 调用读取声音输入函数 (Sound Input Write.vi) :该VI用于向缓存中写入信号, 本项目用来向缓存中写入由网络传输过来的语音信号。程序中, 在其外边添加一个While循环, 实现连续写入语音数据。

(3) 设置声音输出音量函数 (Sound Output Set Volume.vi) :该VI使用时串接在“设置声音输出音量VI”上, 用于控制输出音量大小。

(4) 声音输出清零VI (Sound Output Clear.vi) :该VI用于停止输出并执行相应的清除操作。

4 程序实现

程序采用C/S (Client/Server) 模式, 即客户/服务器模式, 包括一个服务器VI和一个客户机VI。这种模型设计人员要做两方面的开发, 一是客户端采集程序和数据远程发布的程序的设计, 另一个是客户端数据的接收程序的设计。

程序的URL输入端口设置数据连接网络地址, 可以使用psp、opc、ftp、http和file等通信协议传输数据, 本程序根据写入数据的类型及网络配置使用dstp协议。dstp协议是Lab VIEW专门为测试数据的安全快速的传输而设置[3,4]。

(1) 服务器端V I采集语音信号, 并利用写入Data Socket节点将数据发布到URL“dstp://127.0.0.1/Test Wave”指定的位置中。服务器VI的程序框图如图2所示。

(2) 客户端VI, 将传输过来的语音信号通过声卡播放出来。客户机VI利用读取Data Socket节点将数据从URL“dstp://127.0.0.1/Test Wave”指定的位置读出, 并还原为原来的语音数据送到声卡中。客户端VI的程序框图如图3所示。

本程序的URL输入端口地址配置为:dstp://127.0.0.1/Test Wave, 即只使用一台电脑模拟网络传输。另外, 需要注意的是, 在利用上述两个VI进行Data Socket通信之前, 必须首先运行Data Socket Server[5]。

5 结束语

Data Socket面向测量和网上实时高速数据交换, 可用于一个计算机内或者网络中多个应用程序之间的数据交换。使用Data Socket技术, 可以更加方便地编写出Lab VIEW的远程数据采集应用程序。所以本例利用Data Socket技术开发网络语音通信模块既能实现开发快速, 又能实现软件模块的高效可靠。

参考文献

[1]齐跃, 李珩.热电偶温度计远程校准系统设计[J].计量与测试技术, 2012, 39 (2) :14-15

[2]何萌, 吕国义.利用Lab VIEW实现温度传感器远程校准[C].第十三届中国湿度与水分学术交流会、第十一届中国气湿敏传感技术学术交流会、2010年国防科技工业热工流量技术交流会论文集.2010:73-75

[3]阮奇桢.我和Lab VIEW一个NI工程师的十年编程经验[M].北京:北京航空航天出版社, 2012

[4]李江全, 任玲, 廖洁安等.Lab VIEW虚拟仪器从入门到测控应用130例[M].北京:电子工业出版社, 2013

通信实现 篇10

关键词:PPP MP,PACKET TRACER,通信

1 MP简介

MP的实现主要有两种方式:一种是通过配置虚拟模板接口(VT)实现;另一种是利用MP-GROUP接口实现。这两种配置方式的区别如下:

(1)虚拟模板接口方式可以与验证相结合,可以根据对端的用户名找到指定的虚拟模板接口,从而利用模板上的配置,创建相应的捆绑,以对应一条MP链路。而MP-GROUP则只能再物理接口下配置验证。

(2)由一个虚拟模板接口还可以派生出若干个捆绑,每个捆绑对应一条MP链路。这样一来,从网络层来看,这若干条MP链路会行程一个点对多点的网络拓扑。从这个意义上讲,虚拟模板接口比MP-GROUP接口更加灵活。

(3)MP-GROUP接口是MP的专用接口,一个MP-GROUP只能对应一个绑定。MP-GROUP不能利用对端的用户名来指定捆绑,也不能派生多个捆绑。但正因为它的简单,导致了这种方式的配置简单,容易理解。

2 配置实例

以下给出一个PPP MP的配置实例,配置环境是PACKET TRACER模拟器,如图1所示。

2.1 RTA配置

(1)创建虚拟接口模板1,并为其分配IP地址。

【RTA】interface irtual-template1

【RTA-Virtual-Template1】ip address 1.1.1.1 24

(2)将S2/0、S2/1两个接口绑定到虚拟接口模板1。

【RTA】interface serial 2/0

【RTA-S2/0】ppp mp virtual-template 1

【RTA】interface serial 2/1

【RTA-S2/1】ppp mp virtual-template 1

2.2 RTB配置

(1)创建虚拟接口模板1,并为其配置IP地址。

【RTB】interface virtual-template 1

【RTBVirtual-Template1】ip addr 1.1.1.2 24

(2)将S2/0、S2/1两个接口绑定到虚拟接口模板1。

【RTBinterface serial 2/0

【RTBS2/0】ppp mp virtual-template 1

【RTBinterface serial 2/1

【RTBS2/1】ppp mp virtual-template 1

3 系统作用总结

按照上述步骤配置好后,可以实现如下功能:

(1)提供更高的带宽。当一条链路带宽无法满足需要时,可以用多个PPP链路捆绑提供更高的带宽。

(2)结合DCC(Dial Control Center,拨号控制中心)实现动态增加或减小带宽。可以在当前使用的链接带宽不足时再自动接通一条链路,而带宽足够时挂断另一条链路。

(3)实现多条链路的负载分担。PPP可以向捆绑在一起的多条链路上平均分配载荷数据。

(4)多条链路互为备份。同一MP捆绑中的某条链路中断时,整个MP捆绑链路仍然可以正常工作。

(5)利用分片可以降低报文传输延迟。MP可以将报文分片并分配在多个链路上,这样在发送较大的分组时可以降低其传输延迟。

(6)当物理层不可用时,PPP链路处于Dead阶段,链路必须从这个阶段开始和结束。当通信双方的两端检测到物理线路激活(通常是检测到链路上有载波信号)时,就会从当前这个阶段跳跃至下一个阶段。

(7)当物理层可用时,进入Establish阶段。PPP链路在这个阶段进行LCP协商,协商的内容包括是否采用链路捆绑、使用何种验证方式、最大传输单元等。协商成功后LCP进入Opened状态,表示底层链路已经建立。

参考文献

[1]赵雪峰,管建和.基于PPP协议软件的实现[J].微计算机信息,2005(20).

[2]杨涛,吕强,钱培德,等.PPP简介与实例详解[J].计算机工程与设计,2004(1).

通信实现 篇11

关键词:VB;网络通信;TCP协议;UDP协议;Winsock控件

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2011) 03-0000-01

VB-based Network Communication System Design and Implementation

Jiang Yahu

(Guangdong Songshan Polytechnic,Shaoguan512126,China)

Abstract:With the rapid economic development of our society and advances in computer information technology,network communication technology,people increasingly demanding,the design of network communication system based on VB.VB and computer system built using a new type of network communication systems have been possible.

In this paper,to improve the system's advanced,data flow,integrity,

scalability,etc.,proposed and studied the software based on VB,availability,a wide range of network communication system.

Keywords:VB;Network communication;TCP protocol;UDP protocol;Winsock control

一、前言

VB即Visual Basic(简称VB),是由微软公司推出,是可视化的编程工具,也是目前世界上使用度最高的程序开发软件之一。VB的程序就是一种较为简单的基于窗体的可视化组成控件的联合,它是依靠增加代码来指定组建的方法和属性。

二、VB控件及TCP、UDP协议介绍

利用VB软件中的多种控件,来设计与实现优质高效的网络通信系统,可以实现网络通信系统的多种通信功能。这些控件包括了Winsock控件,Internet Transfer控件和WebBrowser控件。其中的Winsock控件最为重要,主要用于和远程计算机建立起通信,然后通过TCP或者UDP来进行数据的交换。下面,我们介绍一下基于VB的网络通信系统设计的几个关键的名词。

(一)Winsock控件。Winsock控件是VB5.0以后新增加功能,它解决了以前无法实现的点对点通信难题。Winsock控件使用TCP和UDP协议允许建立并且保持一个到远程主机上面的连接,且可在连接结束以前实时进行数据的交换。用户通过设置属性和借助事件处理就能很容易地连接到远程的主机上,实现数据的通信。

(二)TCP协议和UDP协议。协议是计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。

1.TCP协议。TCP协议(Transmission Control Protocol)即传输控制协议,他提供一种可靠的数据流服务,在网络协议中具有很大的独立性。它对下层的网络协议只做基本的要求,很容易在不同网络上实现。但在开始数据传输之前,须先建立连接。

2.UDP协议。UDP协议(User Datagram Protocol)即用户数据报协议,它是对IP协议的扩充,可取代TCP服务,它实际上是IP层的接口,是一种增加的报文发送机制,利用这种机制可以区分一台计算机上的多个接收者。

三、基于VB的网络通信系统的设计原理与程序

利用VB软件编写应用程序,然后通过网络来实现通信,这是构建基于VB的网络通信系统的基本设计原理。下面我们用Winsock控件编写一个简单的聊天的客服端程序:

在窗口中加入Winsock,取名为Winsockkh

Txtzjm(主机名)文本框

Txtfs (发送)文本框

Txtjs (接收)文本框

Cmdexit(退出)按钮

Cmdlj(连接)按钮

Private Sub Cmdlj_Click()

Winsockkh.Connect

End Sub

Private Sub Cmdexit_Click()

End

End Sub

Private Sub Form_Load()

Txtfs.Visble=False

Txtjs.Visible=False

Winsockkh.RemotePort=80

Winsockkh.RemoteHost=”172.16.51.18”

End Sub

Private Sub Txtzjm_Change()

Winsockkh.RemoteHost=Txtzjm.Text

End Sub

Private Sub Txtfs_Change()

Winsockkh.SendData Txtfs.Text

End Sub

Private Sub Winsockkh_Close()

Winsockkh.Close

End

End Sub

Private Sub Winsockkh_DataArrval(ByvalbytesTotal As Long)

Dim tmPstr As String

Winsockkh.GetData tmPstr

Txtjs.Text=tmPstr

End Sub

四、總结

随着网络时代的到来,网络日益进入到我们生活的每个角落,与我们的生活息息相关,网络通信系统给我们开创了开放自由的交流环境,使我们的生活和工作变得更加快捷方便。因此,利用VB设计和建立高效的网络通信系统,能满足我们生活中的各种需求,使我们能更好的进行网络通信。

参考文献:

[1]Andndrew S Tanenbaum.计算机网络(第三版).清华大学出版社,1999

即时通信语音还原设计与实现 篇12

对网络语音数据进行还原,首先要能够准确识别不同即时通信软件的语音数据包。Toshiya Okabe等人提出利用数据包交互到达时间、流持续时间、包大小等统计信息来识别VoIP网络流量的方法[1,2],指出该方法具有稳定、统计持续时间长的优点。但监测时间较短的情况下得出的统计信息不稳定,从而影响识别准确率,监测时间过长又会浪费大量时间建立识别特征信息库,影响实时流控制作用。文章[3]提出的通用即时通信多媒体数据检测技术局限在只能识别基于SIP协议的网络流量。VoIP流量识别工具Oreka[4]作为一个完整的系统,能够从网卡或声卡中直接捕获语音数据包,并且对支持的编解码格式进行语音数据还原。但扩展性较差。

1即时通信语音传输机制及识别特征分析

1.1即时通信语音传输机制分析

由于各种即时通信软件都采用私有协议,不能互通,也没有统一的体系结构,对不同即时通信语音流量的监测分析非常困难。对其中主流软件(MSN、QQ等)分析后发现,虽然即时通信软件语音通话采用的协议各不相同,但是它们在通信方式和协议结构上具有相同或相似的地方,用户在互相通信时一般会包含以下数据包的传递:用户之间会话建立前连接控制包的传递;包含语音信息的语音数据包的传递。比如,使用SIP[5]信令或者自己约定的私有协议协商RTP端口号和音频数据的压缩编码格式,音频数据都是用RTP[6]协议或者UDP协议来传输。表1是不同即时通信软件的语音聊天通信机制。

例如,利用腾讯QQ进行语音聊天时,连接建立过程采用SIP协议在通信双方进行端口号、语音编码格式等内容的协商,语音数据用UDP数据包传输,如图1所示。QQ呼叫方用INVITE sip命令发起连接建立请求,被呼叫方返回200 OK命令确认连接建立成功。而使用MSN进行语音聊天,连接过程则采用MSN私有协议进行协商,语音数据包采用RTP协议传输,如图2所示。分析RTP的payload type字段可以得到语音编码类型信息,payload部分为语音数据。

1.2即时通信语音识别特征分析

1.2.1 QQ

QQ的语音聊天通过服务器建立连接,并获得对方的IP地址和通信端口。QQ利用SIP协议的明文消息在语音会话开始前协商双方通信使用的端口号、传输数据的编码方式,在会话结束时关闭通话连接,如图3。

通过对大量QQ语音聊天流量Trace的分析,得到QQ语音聊天的会话连接控制数据包和语音数据包特征为:

(1)数据包载荷的第20个字节处出现“INVITE sip”字段,随后有“o=QQuser”字段,说明此数据流过程是由腾迅QQ建立的,“m=audio”字段,表明后续的聊天会话流中传输了语音数据。

(2)首字节为0X 03的UDP 数据包。在SIP命令完成连接、编码方式等信息交换之后,具有此载荷特征的数据包连续出现、长度相近,判断其为实际的语音内容数据包。

1.2.2 MSN

MSN采用TCP协议对控制命令进行传输,所有的控制命令都是在客户端与服务器之间传输的。即使是两个客户端之间的通信内容,也由服务器进行转发。MSN采用RTP协议传输语音数据包,因此MSN的语音聊天会话具有RTP流的所有特征,如表2:

所以,对MSN语音的识别实际上就是针对RTP流量进行的识别,将MSN语音与其他使用RTP传输的语音进行区别。具体的识别特征为:

(1) 数据包载荷的第3位出现“UUN”字段,表示MSN语音会话开始建立;

(2)判断数据包的载荷首字节是否是0x 80,且Payload type位置(载荷第二字节的低7位)数值为114的,认为是MSN语音聊天数据包。

1.2.3 Yahoo Messenger

Yahoo Messenger的语音会话连接建立过程采用SIP协议约定通信双方的RTP端口号、编码方式,用RTP协议传输语音数据包 。具体识别特征为:

(1) 数据包载荷的第20个字节出现“INVITE sip”字段,随后出现“User Agent: Yahoo Voice”字段,说明此SIP数据流是由Yahoo Messenger建立的,“m=audio”字段,表明后续的聊天会话流中传输了语音数据。

(2)RTP数据包长104,payload type=98,数据包开头以0x80 0x62或者0x80 0x 64开始;RTP数据包长84,payload type=97,数据包开头以0x80 0x61开始。

2即时通信语音还原系统设计

在上述分析即时通信软件语音处理机制的基础上,设计实现了一套可动态更新的通用即时通信语音还原系统,如图4。它的上层即时通信软件协议解析模块可动态增减,整体框架无需任何改动即可处理未来新的即时通信软件应用,因此有很高的可扩展性;能够处理不同的协议结构,独立于具体的即时通信协议,具有很好的通用性;它又可作为一个功能相对完善和独立的处理模块,和上层即时通信软件解析模块之间的耦合度很低,很容易集成到其它的应用系统中。

该系统分为两个部分:使用净荷深度检测(DPI-Deep Packet Inspection),特征关键字匹配和会话关联技术来精确识别语音数据包;根据协议特点提取数据包中的语音有效载荷,然后使用相应的编解码库还原语音。

(1)净荷深度检侧:通过特征关键字匹配(例如:invite、ACK等命令)建立对请求报文和应答报文的识别规则,识别语音会话中的连接控制数据包;

(2)会话关联技术:对已确定的与连接控制会话相关的数据包中的特征关键字进行分析,提取出后续语音会话流的判断信息,对语音会话过程中的数据包进行识别,实现对基于协议的语音流量的完整识别;

(3)语音有效载荷提取:根据承载语音数据所采用的UDP协议或者RTP协议,逐层去掉协议头部信息,准确提取出语音的payload type和payload值. payload type为即时通信软件采用的语音编解码格式。payload为语音数据,按照语音数据包顺序将提取出来的payload存储为待解码的连续二进制文件。

(4)语音还原:可动态更新式的语音编解码库,可以动态添加新的编解码类型,具有很好的灵活性和可扩展性。

2.1语音会话识别算法

基于DPI的即时通信语音会话识别算法如图5,其具体处理流程如下:

(1) 初始化Hash表。该Hash用于存储会话标识。该标识用即时通信软件用户 ID和登陆IP地址两元素来表示。Hash表中所有的元素初始化为0。Hash表为键值对,在进行二元数据查找是效率较高。

(2) 接收分组。

(3) 根据即时通信软件会话净荷特征进行DPI检测,以判断该分组是否为相应的即时通信软件会话中的连接控制数据包,再判断该数据包是否为即时通信软件的请求会话包,如是,则获取即时通信软件用户ID号,转4;如匹配失败,丢弃分组,转2。

(4) 判断该会话是否已经存在于哈希表中,如果是,则丢弃分组,转2;如果不是,转5。

(5) 保存该会话标识。Key为即时通信软件用户登录IP地址,element为该即时通信软件的用户ID

(6) 转2。

2.2会话关联识别、还原算法

即时通信语音识别和会话关联算法流程如图6。

(1) 接收分组。该接收过程同会话识别过程是同一过程,只是同一分组复制后用于不同地方。

(2) 根据即时通信软件语音数据包的特征进行特征匹配。如匹配成功,则转3;否则,丢弃分组,转1。

(3) 将语音数据包同语音会话识别结果进行关联识别。将识别出来的即时通信软件语音数据包同已有的即时通信软件会话进行关联检测,如果会话存在,则该即时通信软件语音数据包可以被确定为存在的可能性将大大提高。用该语音数据包中获取的即时通信软件登录IP作为Key,到即时通信软件会话哈希表中查询,如果能够查询到一个对应的用户ID,那么证明该语音数据包存在,转4;如果查询不到结果,则该会话不存在,转1。

(4) 保存和更新语音会话信息。将数据包地源IP、目的IP、源端口、目的端口、语音编码类型等信息保存起来,并且将语音数据包的语音有效载荷提取出来,按照会话归类,按顺序排列,存储为二进制文件,为后面的还原做好准备。

2.3即时通信语音还原

主流即时通信软件的语音会话内容在网络中传输时,基本上采用单连接完成,其还原过程将到达的语音数据包按照不同的连接分别进行缓存,去掉协议头,提取出语音编码信息并对Payload按照顺序进行组包、拼接。然后分析编解码协议,调用相应的编解码库最终完成语音还原。由于很多即时通信软件采用私有协议,语音编码方式不公开,导致目前语音还原的范围仍然具有局限性,但是本文在分析了主流即时通信软件语音会话的流程、特点后,针对语音内容还原提出了一套切实可行的通用流程。

即时通信软件的语音会话在建立连接过程中,使用私有协议或者公开协议在通信双方约定编解码方式,发送方对语音数据包进行编码、压缩,然后递交给传输层、网络层完成从发方的发送。在接收方逐层过滤协议栈头部信息,直到提

取出有效语音载荷,然后对前面分析出的语音编码方式使用对应的解码库,进行语音数据还原。以Yahoo Messenger为例。在会话关联识别、还原算法中分析出Yahoo Messenger的语音RTP包payload type值为114,在语音会话建立过程中,用SIP协议Invite命令中a= rtpmap:98 ILBC/ 8000约定通话双方采用iLBC[7]编解码格式对语音数据包进行压缩、编码、解压、解码,如图7。

iLBC 是为专为提供稳健的 IP 语音通信而开发的语音 codec,采用 iLBC 算法可以获得一个具有丢包响应控制的语音编码系统。iLBC 编解码的出现,解决了在包交换的IP 网络中,传输语音所遇到的网络丢包严重影响通话质量等实际问题,实现了语音质量的飞跃。iLBC 对每一个数据包的处理都能够独立于其它数据包来进行,是数据包通信的理想选择。即使 IP 丢包和/或延迟现象的恶化,这种 codec 的语音质量下降情况也不会太差。

在即时通信语音会话关联识别、还原算法的最后,我们得到了Yahoo Messenger语音数据包的二进制有效载荷,按照iLBC 的标准,调用iLBC解码器,将Yahoo Messenger 的语音流还原成了可播放的.wav文件。

3实验及结果分析

在局域网内的一个冲突域环境下,对实现的即时通信语音聊天流量识别原型系统进行详细实验,实验环境拓扑图如图8所示。测试环境中包括:服务器一台作为即时通信语音数据分析机、台式PC机3台作为语音通信测试机、10M HUB一台以及网线若干。PC机10.21.2.78 、10.21.2.75和10.21.2.48之间利用即时通信软件进行语音通话(如:QQ、MSN、Yahoo Messenger、AIM等)。服务器10.21.2.76的网卡设置为混杂模式,可以捕获到冲突域内PC间语音通信的所有数据包。识别还原系统对数据包进行语音数据的识别和有效载荷的提取。然后针对Yahoo Messenger,将提取出来的有效语音载荷进行语音还原得到可以播放的声音文件。

试验过程中,每次捕获的网络数据包长度在100K-5M之间,每种即时通信软件测试5次,共计20次。总体而言,识别和提取的准确率都较高。

根据Yahoo Messenger采用的语音codec为iLBC编解码格式,我们把经过识别还原系统提取出来的语音二进制文件还原成为可以播放的.wav声音文件。比较原始声音文件波形图和还原声音文件波形图,如图9,可以看出二者相差不大,还原结果较好。

4结束语

即时通信软件所提供的语音会话功能近年来已经成为发展的大势所趋,种类繁多,更新频繁。传统的网络流量识别方法虽然能够对不同的数据流进行区分,但是仍然是二进制数据无法直观的显示数据所表达的内容。在这种背景下,找到具备通用性、准确性、直观性和可扩展性的识别方法是具有重要意义的。本文提出的可扩展性即时通信语音还原系统,在准确识别现有主流即时通信语音的基础上,对已知编码类型的语音包进行还原,直观的显示出语音数据包所携带的信息,为网络信息监测提供了直观、便利的方法。由于即时通信软件协议的不公开以及版本升级较快,经过分析数据包特征,准确得到即时通信软件语音编码格式,是以后将要进一步进行的工作。

参考文献

[1]Gaogang XIE,Guangxing ZHANG,Jianhua YANG,et al.The Survey on Traffic of Metro Area Network with Measurement On-line.Proceedings of the20th International Teletraffic Congress,Ottawa,Canada,June,2007,17~21

[2]Toshiya Okabe,Tsutomu Kitamura,Takayuki Shizuno.Statistical Traffic Identification Method Based on Flow-Level Behavior for Fair VoIP service.VoIP Management and Security,2006.1stIEEE Workshop on,3April2006.

[3]周舜,刘杰,程学旗.通用的即时通讯多媒体数据检测技术.计算机应用研究,2007,26(7).

[4]The open source,cross-platform audio stream recording and retrieval system[EB/OL].(2007-01-26)[2007-09-11].http://oreka.sourceforge.net.

[5]ROSENBERG J,SCHULZRINNE H.SIP:Session Initiation Protocol.RFC3261,2002-06

[6]SCHULZRINNE H,CASNER S,Frederick R.RTP:A Transport Protocol for Real-Time Applications.RFC1889,1996-01

上一篇:问题研究对策探析下一篇:法治理念