当前位置:文档之家› FIX协议介绍_v0.5

FIX协议介绍_v0.5

Financial Information Exchange (FIX)介绍

目录

1 背景 (2)

1.1 FIX协议不同版本[1,2] (4)

1.2 FIXatdl (5)

2 FIX协议工作流程 (7)

2.1 会话层 (7)

2.2 应用层 (8)

3 FIX协议结构[2] (9)

3.1 信息传送过程 (9)

3.2 信息格式和内容 (9)

3.2.1 管理信息 (9)

3.2.2 应用信息 (10)

4 国内FIX现状 (11)

4.1 证券交易数据交换协议-STEP[4,5,6] (11)

4.1.1 制定背景......................................................................... 错误!未定义书签。

4.2 券商 (15)

4.2.1 国信[3] (15)

5 参考文献 (15)

1背景

Financial Information eXchange(FIX)金融信息交换协议是适用于实时证券、金融电子交易开发的数据通信协议。它是由FPL提供的—个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖力建立起实时的电子化通信协议。FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为—个可用计算机语言描述的功能流程,并在每个业务功能接口上统—交换格式,方便各个功能模块的连接。目前,欧、美主要发达国家都是FIX协会的成员。

FIX的制定是由多个致力于提升其相互间交易流程效率的金融机构和经纪商于1992年共同发起。这些企业把他们及他们的行业视为一个整体,认为能够从对交易指示,交易指令及交易执行的高效电子数据交换的驱动中获利。FIX由此诞生,一个不受单一实体控制的开放消息标准,一个能够被调整组建适用于任何一个企业的商务需求的协议。

FPL(FIX Protocol Limited , FIX 协议组织)是一家非营利性交易协会,专门免费发布为电子证券交易设立的公开的通信标准。其会员包括几乎所有的大中型经纪商、货币市场银行、机构投资者及共同基金等。此机构在证券交易的盘前交易及交易领域的标准设定方面占有垄断地位。

FIX协议作为一个消息标准,促进与安全交易相关的信息交换,在希望进行自动通信的交易对手间进行使用。该消息协议将支持各种商务功能。FIX最早用于支持美国国内的委托人间基于直接信息流转的证券交易。随着协议本身的发展,增加了大量的支持多边界交易的、衍生工具及其它产品的数据域。同样,该协议被扩展允许第三方参与于交易对手间的信息传递。

从下图可以看到,在金融数据交换国际标准中,主要的金融数据交换国际标准是FIX,SWIFT,ISO15022,及ISO20022(由ISO15022 第二版ISO15022XML 升级发展而来)。[4]

图金融数据交换国际标准关系图[4]

从下表可以看出,FIX 协议主要应用于证券交易前和交易中阶段,SWIFT 主要应用于交易后/结算前、结算中和结算后阶段。ISO15022 逐渐在证券交易的各个阶段推广。

表金融数据交换国际标准应用现状示意表[4]

产品交易前交易中交易后/结算前结算中结算后

FIX、SWIFT FpML、SWITF

柜台交易/

衍生产品

FIX FIX、SWIFT SWIFT SWIFT

共同基金/

单位信托

外汇交易FIX FIX、SWIFT SWIFT SWIFT SWIFT

FIX FIX、SWIFT SWIFT SWIFT

交易所交易/

衍生产品

SWIFT SWIFT

固定收益产品FIX FIX、SWIFT GSTPA、SWIFT、

OMGEO、FIX

股票FIX FIX、SWIFT SWIFT SWIFT SWIFT

FIX协议和金融行业的其它协议不同的最重要的特征就是,FIX是—个连接的、基于会话的协议。FIX协议包含两层:会话层和应用层。会话层包含所有会话相关的信息,所有与商业相关的信息如报价和交易信息都在应用层中。

FIX协议在欧美和亚洲地区的应用主要集中在买卖意向、成交揭示、交易定单、执行报告、结算划拨和市场新闻等信息交换上。有研究表明,有82%的经纪商在使用它

FPL认为FIX的优势在于:

?就商务流程而言,FIX为机构,中间商,以及其他市场参与者提供了一个减少不必要的电话沟通和琐碎的文档传递方法,为面向特定个体传递高质

量的信息提供便利。

?FIX为于技术专家提供了一个开放的标准,对他们开发的努力和实践产生了影响,使他们能高效地创建同一个更大范围的参与者之间的联系。

?FIX可以为卖主提供一条现成的通往行业的信息存取路径,减少了市场营销的难度,增加了潜在的客户群。

开放性已成为FIX成功的关键。出于开放的原因,当在鼓励各方参与标准制定时,FIX保留了参与者需求的不确定性。同时FIX避免“过标准化over-standardization”。它不受限于一个简单类型的载体,及一个简单的安全协议。它把决定权交给使用它的多个企业。FPL希望这种鼓励在非标准化领域的努力能够促进技术的完善。

FIX现已被许多企业和销售商使用。它已经成为行业内的推荐的消息协议。FIX已经从最初的买方-到-卖方的证券交易中得到发展。现在被广泛的用于交易市场,及其它市场参与者。除了证券交易,FIX现在支持4种产品:Collective Investment Vehicles (CIVs)集成投资工具, Derivatives金融衍生产品,Fixed Income,Foreign Exchange外汇交易。

1.1FIX协议不同版本[1,2]

随着业务的发展及加入该组织机构的增多,FIX的内容不断得到扩充,它的演变经历了如下几个发展阶段:1993 年2 月,Fidelity2Salomon 试验性使用;1994 年6 月,FIX 委员会成立;1995 年1 月,FIX2. 7 发布; 1995 年9 月, FIX 3. 0 发布; 1997 年1 月,FIX 4. 0发布;1998 年4 月,FIX 4. 1 发布;1998 年6 月,组织结构正式确立;1999 年9 月,FIX 4. 2 初稿发布;2000年1 月,FIX 4. 2 发布。2001 年6 月,又发布了FIX 4. 3,目前最新版本为5.0SP2。

006年10月,FPL’s Global Techenical Committee 引入了一个新的框架,将FIX会话层协议从FIX应用层协议分离开来。这就使应用协议消息可以使用任何适的会话传输技术进行传送,而FIX会话层协议是这些可选的协议中的一个。在新的框架下,GTC引入了一个新的别名,之后FIX会话层协议版本为FIXT.x.y,第一个版本为FIXT1.1。

表1 FIX协议各个版本

2008年03月17日 5.0版本的Service Pack 1[文件][FIXimate][FIXML]

2006年12月30日 5.0版[文件][FIXimate][FIXML]

2003年04月30日版本4.4(勘误表20030618)[文件][FIXimate][FIXML]

2001年08月24日 4.3版(勘误表20020920)[文件][FIXimate][FIXML] 2000年3月1日 4.2版(勘误表20010501)[文件][FIXimate][FIXML]

1998年4月1日 4.1版(勘误表19990630)[文件][FIXimate][FIXML]

1996年01月13日 4.0版[文件][FIXimate]

会话级规范

2006年12月30日修复T1.1[文件][FIXimate]

1.2FIXatdl

与传统市场的限价订单相比,算法交易需要的通信参数要多得多。买方交易员所使用的交易系统(通常称为“指令管理系统Order Management System”或“执行管理系统Execution Management System”)必须能够适应与日俱增的新型算法指令。新型复杂算法需要花费巨量的研发及其它费用,例如基础设施、市场推广等。卖方需要做的是让新型算法电子指令直达买方交易员,并且让后者无需每次都再编码就能直接下单交易。在2006-2007年,几家会员联合发布了描述算法交易指令类型的XML标准草案。这个标准被称作FIX算法交易定义语言(FIXatdl)。在2008年3月FIXatdl正式发布之前,多家大型机构参与了该标准的测试,其中包括:TransMarket集团、巴克莱、彭博、盛富证券、花旗集团、瑞士信贷、富达投资、高盛、ITG、摩根大通、美林集团、摩根士坦利、NeoNet、Pragma@Weeden和瑞士银行等。

1.3FAST

FAST是一种面向消息数据流的二进制编码方法。FAST是FIX Adapted for Streaming.的缩写(适流FIX)。虽然FAST提出的初衷是为了对FIX消息进行优化,FAST规范中定义的编码方式已经被推广应用到更广泛的协议集。

FAST的发展是为了解决FIX协议传输市场数据存在冗余度高,带宽需求大的问题,芝加哥商品交易所于2003年11月17日向FPL提交了一个隐示标记(Implicit tags)方案。FPL于2004年12月27日宣布成立市场数据优化工作组(MDOWG,Market Data Optimization Working Group)。2005年5月开始MDOWG 根据一系列POC的结果,开始进行协议标准制定。2006年初完成FAST(FIX

Adapted for STreaming)V1.0。2006年12月完成FAST V1.1。

FAST编码方法在两个层面上降低数据流的大小。首先,通过“字段操作符”的概念使得可以利用流中数据的相关性,消除冗余数据。其次,在二进制编码对余下数据的串行化中利用了可自描述的字段长度以及指示字段是否存在的位图。

上交所Level II采用的就是FAST协议,相比深交所采用的STEP协议(每秒200KB的流量),能减少大约80%的流量。FAST工作流程如下图。与STEP 的比较详细见国内FIX现状章节。

图FAST工作流程

1.4证券交易数据交换协议-STEP[4,5,6]

2005年3月24日全国金融标准化技术委员会审查通过《证券交易数据交换协议》等八项行业标准。STEP: Securities Trading Exchange Protocol,是中国金融行业数据通信标准JR/T0022-2004,目前被深圳交易所采用,作为Leve II数据向信息服务商分发的数据的标准协议。详细见国内FIX现状章节。

2FIX协议工作流程

Fix协议可以分两大部分,会话层协议和业务层协议。

会话层定义了数据通信相关的协议,业务层定义了金融活动相关的业务数据结构。

2.1会话层

Fix的会话层设计时候充分考虑了稳定性,安全性,健壮性,高效性。稳定性指会话协议中定义了心跳消息来维护会话连接,安全性指协议从消息结构上支持数据加密,出错重传指每个会话在两个端点各自维护一套消息序列号,防止消息丢失,漏发漏收,出现这种情况只要检查两边序列号的连续性就可以确定需要重传哪些消息。

Session的通信各方维护一个incomming和一个outgoing 序列号。Incomming 序列号用来检测序列号是否乱序或跨越。心跳在initiator 发送logon 消息时候设置在心跳域上,acceptor 和initiator 的心跳间隔时间一致。

Fix消息要按序列号从小到大顺序处理,若收发过程中出现丢包则有两种策略:重传序列号出错的包及以后所有收到得包;另一种是只重传出错的包。

Fix协议没有定义应答消息,使用序列号不连贯来检测消息丢失,用checksum,签名或消息体长度来检测消息错误。

Logon阶段,客户端选择了了一个加密密钥,但服务器选择了不同的密钥放在返回的logon消息中,这时候客户端还得发一个logon消息应答服务器端,两个作用:

1.让服务器知道密钥变更获得了客户端的响应;

2.下面的消息开始要加密了。

在logon 阶段完成后必须马上检查序列号,同步收发的消息,比如一端发送了消息但另一端没收到,这时候需要重传。可以通过对比logon 消息中的序列号和通信一方的期望收到的消息序列号来检测消息漏收发。

序列号最好每隔24小时重置一次,重置前要商量好哪一方来首先发送重置请求及发重置请求的时间。重置之前要一方首先发送testrequest 消息,等待收heartbeat 消息来确认连接是否正常,然后才发送logon 消息,并把消息中的序列号重置域设为Y,并且序列号置为 1 ,接收方回复同样消息,重置成功;Logout 之前需要发送testrequest 消息强制心跳,检测消息序列号是否连续,logout 消息发送出去之后,需要等待一段时间接收logout 回应消息,这段时间让双方来处理序列号不一致的问题,一旦序列号同步之后logout 接收者马上发送回应的Logout 消息,Logout 发起方收到回应后负责来关闭会话。

Fix4.4中在logon消息中加入了NextExceptedSeqNumb 域,用来表示本方

期望对方发过来的下一个序列号,这样logon 阶段完成后直接就是漏发消息的重发,不需要再发送testrequest, heartbeat和ResendRequest消息了。

possResend 和possDupFlag 区别就是前者使用了新序列号发送老的消息,可以通过检查消息中的域来确定是否已经收到过改消息,比如order 的ID 等;后者是用老的序列号重发消息,可以直接检查序列号来确定是否已经收到过该消息,若已收到过了就丢弃该消息。logon 消息中有两个字段RAW Data Length 和RAW data 用来存放认证需要的数据;FIX协议在具体的实施中已经就一些业务流程进行了规范,考虑到世界各地业务模式的差异和应用环境等不同,FIX委员会也留给了实施者相当大的回旋空间,在这个空间内实施者可以定义特殊的应用需求。

在FIX协议包含两个层面(会话层和应用层)中,会话层主要任务是信息交换双方的连接建立及保持、信息交换过程中的安全性、完整性和一致性,具体实施中,由于会话层对如何实现已经有了明确描述,实现起来相对容易。

2.2应用层

应用层定义了具体的业务接口,同时也包含了在这些业务接口中的业务逻辑。所以,对应用层业界有多种看法。首先FIX协议应用层是一个标准的接口,这个接口可以用来定义机构之间(券商与券商、券商与交易所等)或机构内部的应用业务接口。其次它又不仅仅是一个接口。在这些应用层信息之间,包含着很明确的业务逻辑。我们可以这样认为,FIX协议是一个带有一个会话层应用接口。所以,FIX协议的实施,不仅是接口的统一规范,同时需要将业务逻辑延伸到信息交换的过程当中。

通常,FIX协议的业务逻辑是通过FIX引擎(FIX Engine)来实现的。FIX 引擎的主要功能是根据业务需求,生成相应的业务请求(信息),以点对点(可以经由第三方)的方式,最终将交换信息送达目标FIX引擎;同时FIX引擎对接受的信息进行解析,在此基础上,生成相应的应答信息。信息的解析过程,实际上是业务逻辑的实现过程。

FIX引擎的任务是将FIX协议应用层接口所需的域信息从信息库中取出,按FIX协议所要求的信息格式打成数据包,然后提交。首先,撇开FIX引擎会话层属性,在应用层,FIX引擎具有上述特性;其次,FIX引擎在处理信息过程中是一个交互的过程,除原始的请求和广播信息外,FIX协议的应答信息按照信息之间的业务逻辑生成数据包,在数据包生成过程中,同时会伴随其他相关的信息交换,如一个订单信息(Order-Single),它是在证券信息/行情信息/报价信息(IOI 信息)等信息交互过程中而生成的;再次,在信息交换过程中,FIX引擎会遵循FIX协议的域、信息类型定义、数据字典约定以及相应的信息定格;最后,FIX 引擎还会对信息交换双方的自定义域和信息类型进行约定,这些约定会完整地贯穿于整个信息交换过程中。

3FIX协议结构[2]

本章节摘自2002年邓少灵所撰写的论文《金融信息交换协议FIX》,应该是基于FIX4.2或FIX4.3版本,由于目前国内和大多数交易软件普遍支持的FIX版本为4.2和4.4,所以本章所述内容,仍然具有较高的参考性。

3.1信息传送过程

FIX 协议适用于任何希望自动连接的交易双方,它简化了与证券交易相关的电子信息交换。协议信息有两部分内容:管理信息和应用信息。FIX 信息传送过程如图2 所示。

图2

1)登录。其过程如下:

1.交换过程发起人建立和接收人的电信连接。

2.发起人发送登录信息,接收人通过核查登录信息,以确认发起人,并用登

录信息作回应确认,如果确认失败,交换过程接受人关闭连接。

3.确认之后,发起人和接收人须在发送任何排队信息或新信息之前,通过询

问信息使他们的信息得以同步。

2)信息交换。发起过程完成之后,标准信息交换开始,交换内容包括管理信息

与应用信息。

3)注销。双方互相发送注销信息后,信息交换过程结束。

3.2信息格式和内容

每条FIX 信息都是由一系列带有〈标记〉=〈值〉的域组成。每个标记代表不同的含义,可以是信息的类型,目标商务名称,证券买入价等。FIX 协议规定了0~5000 的标记含义,5000 以上可由使用者自己定义,以适用特定的应用。信息内容包括以下两种:

3.2.1管理信息

它是为了信息交换过程更加顺畅一致而使用的控制,包括:登录、心跳、检验请求、重新发送请求、拒绝(交换过程) 顺序重设及注销等。

3.2.2应用信息

也就是交易的数据,它包括:

消息字段描述

公告宣布已完成的交易信息。

重要提示告知由经纪人买卖的证券是由私人股份有限公司所有,还是由代理持有,以及持有量。

消息是经纪人和机构之间传送的一般自由格式信息,带有识别信息紧急性和商号主题词分类标志。

电子邮件其格式和用途与消息信息相同,但更倾向于双方非公开的用途。

报价请求有些市场,要求经纪人在每次订单前提出报价。

报价与多宗报价回应报价请求的信息,并用于发表主动的报价。

请求对多宗报价

的确认

使用报价回应水平标记,有选择地支持对报价的确认。

报价撤销报价发起人用于撤销报价。

报价状况请求机构用来生成执行报告。

报价确认针对报价、多宗报价、报价撤销和报价请求,作出回应。

行情数据请求通过此请求得到所指定的证券和外汇交易报价的行情数据。

行情数据—快照/ 完全刷新该信息用于发送双方的订单登记簿、报价清单、交易清单、指数值、开盘价、收盘价、成交单价、最高价、最低价和变动加权平均价等。

行情数据—添加

刷新

用于添加刷新请求。

行情数据请求拒绝用于经纪人因交易或技术上的原因不承兑行情数据请求的情况。

证券定义请求用于某一指定证券与第二方交易。

证券定义接受或拒绝证券定义信息中请求的证券,发回证券及类型清单。

证券状况请求用于提出有关证券状况的请求。

证券状况提供有关证券状况改变的报告。

交易盘状况请求请求有关市面状况的信息。

交易盘状况提供有关市场状况的信息。

新订单单一机构向经纪人提供有关证券或外汇的订单。

新订单—清单因两种市场规则的不同而不同。

执行报告确认收到订单或订单改变信息,传递订单状况或订单成交信息,报告交易的费用。

未知交易通知交易方,收到的订单已被执行。

订单撤销/ 替换

请求

改变订单的参数。

订单撤销拒绝是经纪人在不能承兑所收到的撤销请求信息时发出的信息。订单状况请求机构要求经纪人生成并发挥有关订单状况的信息。

划拨指定如何将一个订单或一组订单细分为一个或多个账户。划拨确认确认收到机构发送的划拨信息及状态。

结算指令经纪人或机构交易结算的指令。

出价请求在“非公开”市场与“公开”市场,因市场规则不同,该信息的用法也不同。

出价回应因两个市场规则不同,有不同的用法。

敲定价交换本金交易的敲定价。

状况清单卖方以主动方式发送回应状况清单请求信息。

清单执行机构用于指示经纪人开始执行已被提交的证券订单信息。清单撤销执请求用于机构希望在执行交易盘之前或之中,撤销已被提交的证券订单消息。

状况清单请求用于机构指示经纪人生成有关某一状况清单的信息。

清单订单信息的分解使用与其它FIX 信息相同的方法,支持程序交易中的信息分解。

交易信息拒绝拒绝因遵循了交易盘规则而不能以其它方式进行拒绝的应

用层面的信息。

4国内FIX现状

国内目前有两个FIX标准的应用,一个是在FIX基础上提出的有国内证券特殊内容的STEP协议,另一个是FAST协议。两者分别是深交所和上交所使用的Level-II行情的接入协议。

4.1证券交易数据交换协议-STEP[4,5,6]

2005年3月24日全国金融标准化技术委员会审查通过《证券交易数据交换协议》等八项行业标准。STEP: Securities Trading Exchange Protocol,是中国金融行业数据通信标准JR/T0022-2004,目前被深圳交易所采用,作为Leve II数据向信息服务商分发的数据的标准协议。

STEP是为我国证券市场所有参与方在使用计算机系统进行交易业务处理时使用的标准化、格式化的信息规范。经过吸收国际先进的金融信息交换协议(Financial Information eXchange, FIX),STEP不仅将目前证券市场上使用的操

作指令和通知用标准的格式描述出来,而且完全与国际流行的FIX兼容。因此这个协议标准的颁布,不仅为我国的证券市场参与者之间的全计算机化通讯提供了标准语言,也为与国际接轨提供的有效的基础设施。

表STEP与FIX的相似和差异点[4]

4.2STEP协议的优缺点

?基于FIX ,已成为事实上的证券数据标准

?语法简单,定义灵活,易扩展

?数据相对冗余

4.3FIX Adapted for Streaming (FAST) [7,8]

FIX Adapted for Streaming (FAST)是一种面向消息数据流的二进制编码方法。FAST是FIX Adapted for Streaming.的缩写(适流FIX)。

4.3.1FAST的技术优势

●高压缩比(70-80%)

●低资源消耗

●算法简单,效率高,每秒百万级别消息的处理能力

4.3.1.1压缩比高

如下面两图:行情快照STEP平均每条消息长度为467字节,FAST编码后为127字节;逐笔成交STEP平均每条消息长度为160字节, FAST编码后为25字节。

4.3.1.2带宽利用率与STEP系统对比测试结果比较

如图所示,IDC测试FAST和STEP的上游带宽对比测试结果:

STEP FAST

最大值0.679Mbps 2.23Mbps

平均值0.162Mbps 0.668Mbps

FAST版本平均值为STEP版本的24.2%

4.3.2FAST关键技术

●Field Encoding

?隐式标签(Implicit Tag)(模版Template)

◆提供消息层面的优化

?操作符(Operator)

◆消息层面和tag层面的优化

●Transfer Encoding

?二进制数据流

?Presence Map(PMAP)

?Stop Bit Encoded Entities

●Implicit tag

?将FIX的tag=value格式进行分离,变成消息模板和消息内容。

?消息模板在双方通信之前就确定,实际只需要传输消息内容

4.4券商

4.4.1国信[3]

据了解,国信证券目前掌握的FIX技术包括FIX、FIXATDL、FAST、STEP 等多条产品线,涉及了交易和行情多类业务,涵盖了国内股票和国内期货等主要的资产类别,可对业务前中台各业务环节进行服务,也可以轻松地延伸到国际市场。包括Bloomberg、恒生、金证、根网、上期技术在内的业务系统已可以与国信证券的交易系统通过FIX协议进行交互。该技术对于国信证券推动创新证券交易业务起到了关键作用。

FIX协议是事实上的国际证券电子化交易标准,在交易所、机构投资者和投资银行群体中得到了广泛的应用,在涉及跨境投资的证券交易业务方面,如QFII、QDII业务上FIX已经扮演了重要的桥梁作用。

5参考文献

[1].FIX协议官方网站,https://www.doczj.com/doc/2715140501.html,/,2012年1月17日

[2].邓少灵,金融信息交换协议FIX,计算机应用研究,2002年12期

[3].国信证券加入FIX联盟,

https://www.doczj.com/doc/2715140501.html,/stock/qsxw/20110627/4195547.shtml,2012年1月17日

[4].张静、刘大海,金融数据交换国际标准在证券登记结算领域的应用研究,

[5].JR/T0022-2004证券交易数据交换协议,2005年3月25日

[6].guibin,STEP协议解读https://www.doczj.com/doc/2715140501.html,/blog/858879,2012年1月17

[7].徐广斌,FAST规范,2006年12月20日

[8].高昀,上证所Level-2行情接口开发

常用网络通信协议简介

常用网络通信协议简介 常用网络通信协议 物理层: DTE(Data Terminal Equipment):数据终端设备 DCE(Data Communications Equipment):数据电路端接设备 #窄宽接入: PSTN ( Public Switched Telephone Network )公共交换电话网络 ISDN(Integrated Services Digital Network)ISDN综合业务数字网 ISDN有6种信道: A信道 4khz模拟信道 B信道 64kbps用于语音数据、调整数据、数字传真 C信道 8kbps/16kbps的数字信道,用于传输低速数据 D信道 16kbps数字信道,用于传输用户接入信令 E信道 64kbps数字信道,用于传输内部信令 H信道 384kbps高速数据传输数字信道,用于图像、视频会议、快速传真等. B代表承载, D代表Delta. ISDN有3种标准化接入速率: 基本速率接口(BRI)由2个B信道,每个带宽64kbps和一个带宽16kbps的D信道组成。三个信道设计成2B+D。 主速率接口(PRI) - 由很多的B信道和一个带宽64Kbps的D信道组成,B信道的数量取决于不同的国家: 北美和日本: 23B+1D, 总位速率1.544 Mbit/s (T1) 欧洲,澳大利亚:30B+2D,总位速率2.048 Mbit/s (E1) FR(Frame Relay)帧中继

X.25 X.25网络是第一个面向连接的网络,也是第一个公共数据网络. #宽带接入: ADSL:(Asymmetric Digital Subscriber Line)非对称数字用户环路 HFC(Hybrid Fiber,Coaxial)光纤和同轴电缆相结合的混合网络 PLC:电力线通信技术 #传输网: SDH:(Synchronous Digital Hierarchy)同步数字体系 DWDM:密集型光波复用(DWDM:Dense Wavelength Division Multiplexing)是能组合一组光波长用一根光纤进行传送。这是一项用来在现有的光纤骨干网上提高带宽的激光技术。更确切地说,该技术是在一根指定的光纤中,多路复用单个光纤载波的紧密光谱间距,以便利用可以达到的传输性能(例如,达到最小程度的色散或者衰减)。 #无线/卫星: LMDS:(Local Multipoint Distribution Services)作区域多点传输服务。这是一种微波的宽带业务,工作在28GHz附近频段,在较近的距离双向传输话音、数据和图像等信息。 GPRS:(General Packet Radio Service)通用分组无线服务技术。 3G:(3rd-generation,3G)第三代移动通信技术 DBS:(Direct Broadcasting Satellite Service)直播卫星业务 VAST: 协议:RS-232、RS-449、X.21、V.35、ISDN、FDDI、IEEE802.3、IEEE802.4、IEEE802.5等。 RS-232:是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries

rtmp流媒体协议

H5视频直播扫盲 1 H5到底能不能做视频直播 当然可以, H5火了这么久,涵盖了各个方面的技术。 对于视频录制,可以使用强大的webRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的技术,缺点是只在PC的chrome上支持较好,移动端支持不太理想。 对于视频播放,可以使用HLS(HTTP Live Streaming)协议播放直播流,ios和android都天然支持这种协议,配置简单,直接使用video标签即可。 webRTC兼容性: video标签播放hls协议视频:

1 2 3 4

Your browser does not support HTML5 video. 2 到底什么是HLS协议 简单讲就是把整个流分成一个个小的,基于HTTP的文件来下载,每次只下载一些,前面提到了用于H5播放直播视频时引入的一个.m3u8的文件,这个文件就是基于HLS协议,存放视频流元数据的文件。 每一个.m3u8文件,分别对应若干个ts文件,这些ts文件才是真正存放视频的数据,m3u8文件只是存放了一些ts文件的配置信息和相关路径,当视频播放时,.m3u8是动态改变的,video标签会解析这个文件,并找到对应的ts文件来播放,所以一般为了加快速度,.m3u8放在web服务器上,ts文件放在cdn上。 .m3u8文件,其实就是以UTF-8编码的m3u文件,这个文件本身不能播放,只是存放了播放信息的文本文件: 1 2 3 4 5#EXTM3U m3u文件头 #EXT-X-MEDIA-SEQUENCE 第一个TS分片的序列号#EXT-X-TARGETDURATION 每个分片TS的最大的时长#EXT-X-ALLOW-CACHE是否允许cache #EXT-X-ENDLISTm3u8文件结束符

单片机串口通信协议程序

#include #include #define R55 101 #define RAA 202 #define RLEN 203 #define RDATA 104 #define RCH 105 //#define unsigned char gRecState=R55; unsigned char gRecLen; unsigned char gRecCount; unsigned char RecBuf[30]; unsigned char gValue; void isr_UART(void) interrupt 4 using 1 { unsigned char ch; unsigned char i; unsigned char temp; if (RI==1) { ch=SBUF; switch(gRecState) { case R55: // wait 0x55 if (ch==0x55) gRecState=RAA; break;

case RAA: if (ch==0xaa) gRecState=RLEN; else if (ch==0x55) gRecState=RAA; else gRecState=R55; break; case RLEN: gRecLen=ch; gRecCount=0; gRecState=RDATA; break; case RDATA: RecBuf[gRecCount]=ch; gRecCount++; if (gRecCount>=gRecLen) { gRecState=RCH; } break; case RCH: temp=0; for(i=0;i

常用无线通信协议

常用无线通信协议 目前使用较广泛的近距无线通信技术有蓝牙(Bluetooth),无线局域网802.11(Wi-Fi)和红外线数据传输(IrDA).此外,还有一些具有发展潜力的近距无线技术标准,分别是ZigBee,超宽频,短距通信,WiMedia,GPS,DECT,无线1394和专用无线系统等。 蓝牙(Bluetooth)技术 蓝牙是一种支持设备短距离通信的无线电技术。它是一种无线数据与语音通信的开放性全球规范,它以低成本的短距离无线连接为基础,可为固定的或移动的终端设备提供廉价的接入服务。蓝牙技术的实质内容是为固定设备或移动设备之间的通信环境建立通用的近距无线接口,将通信技术与计算机技术进一步结合起来,使各种设备在没有电线或电缆相互连接的情况下,能在近距离范围内实现相互通信或操作。其传输频段为全球公众通用的2.4GHzISM频段,提供1Mbps的传输速率和10m 的传输距离。 优势:⑴全性高。蓝牙设备在通信时,工作的频率是不停地同步变化的,也就是跳频通信。双方的信息很难被抓获,防止被破解或恶意插入欺骗信息。⑵于使用。蓝牙技术是一项即时技术,不要求固定的基础设施,且易于安装和设置。 不足:⑴通信速度不高。蓝牙设备的通信速度较慢,有很多的应用需求不能得到满足。⑵传输距离短。蓝牙规范最初为近距离通信而设计,所以他的通信距离比较短,一般不超过10m。 Wi-Fi(无线高保真)技术 无线宽带是Wi-Fi的俗称。所谓Wi-Fi就是IEEE 802.11b的别称,它是一种短程无线传输技术,能够在数百英尺范围内支持互联网接入的无线电信号。Wi-Fi速率最高可达11Mb/s,电波的覆盖范围可达200m左右。 优势:⑴覆盖广。其无线电波的覆盖范围广,穿透力强。可以方便地为整栋大楼提供无线的宽带互联网的接入。⑵速度高。Wi-Fi技术的传输速度非常快,通信速度可达300Mb/s,能满足用户接入互联网,浏览和下载各类信息的要求。 不足:安全性不好。由于Wi-Fi设备在通信中没有使用跳频等技术,虽然使用了加密协议,但还是存在被破解的隐患。 IrDA(红外线数据协会)技术 IrDA是一种利用红外线进行点对点通信的技术,是第一个实现无线个人局域网(PAN)的技术。 IrDA 的主要优点是无需申请频率的使用权,因而红外通信成本低廉。并且还具有移动通信所需的体积小、功耗低、连接方便、简单易用的特点。此外,红外线发射角度较小,传输上安全性高。IrDA的不足在于它是一种视距传输,两个相互通信的设备之间必须对准,中间不能被其它物体阻隔,因而该技术只能用于 2 台(非多台)设备之间的连接。 优势:⑴无需申请频率的使用权,因此红外线通信成本低廉。⑵移动通信所需的体积小、功耗低、连接方便、简单易用。⑶外线发射角度较小,传输上安全性高。 不足:IrDA是一种视距传输,两个相互通信的设备之间必须对准,中间不能被其它物体阻隔,因而只用于两台设备之间连接。ZigBee(紫蜂)技术 ZigBee使用2.4 GHz 波段,采用跳频技术。它的基本速率是250kb/s,当降低到28kb/s 时,传输范围可扩大到134m,并获得更高的可靠性。另外,它可与254个节点联网。 优势:⑴功耗低。在低耗电待机模式下,两节普通5号干电池可使用6个月以上。⑵成本低。因ZigBee数据传输速率低,协议简单,所以成本很低。⑶网络容量大。每个ZigBee网络最多可支持255个设备。⑷作频段灵活。使用的频段分别为2.4GHz、868MHz(欧)及915MHz(美),均为免执照频段。 不足:⑴数据传输速率低。只有10kb/s~250kb/s,专注于低传输应用。⑵有效范围小。有效覆盖范围为10~75m之间,具体依据实际发射功率的大小和各种不同的应用模式而定,基本上能够覆盖普通的家庭或办公室环境。 UWB(超宽带)技术 UWB(Ultra Wideband)是一种无线载波通信技术,利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。UWB 有可能在10 m 范围内,支持高达110 Mb/s的数据传输率,不需要压缩数据,可以快速、简单、经济地完成视频数据处理。 特点:⑴系统复杂度低,发射信号功率谱密度低,对信道衰落不敏感,载货能力低。⑵定位精度高,相容性好,速度高。⑶成本低,功耗低,可穿透障碍物。近距离无线传输 NFC(近距离无线传输)技术 NFC采用了双向的识别和连接。在20cm 距离内工作于13.56MHz 频率范围。NFC现已发展成无线连接技术。它能快速自动地建立无线网络,为蜂窝设备、蓝牙设备、Wi-Fi 设备提供一个“虚拟连接”,使电子设备可以在短距离范围进行通讯。 特点:NFC的短距离交互大大简化了整个认证识别过程,使电子设备间互相访问更直接、更安全和更清楚,不用再听到各种电子杂音。NFC 通过在单一设备上组合所有的身份识别应用和服务,帮助解决记忆多个密码的麻烦,同时也保证了数据的安全保护。此外NFC 还可以将其它类型无线通讯(如Wi-Fi 和蓝牙)“加速”,实现更快和更远距离的数据传输。

常用的硬件接口及通信协议详解

一:串口 串口是串行接口的简称,分为同步传输(USRT)和异步传输(UART)。在同步通信中,发送端和接收端使用同一个时钟。在异步通信中,接受时钟和发送时钟是不同步的,即发送端和接收端都有自己独立的时钟和相同的速度约定。 1:RS232接口定义 2:异步串口的通信协议 作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。图一给出了其工作模式: 图一 其中各位的意义如下: 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。

数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200字符/秒=1200波特。 3:在嵌入式处理器中,通常都集成了串口,只需对相关寄存器进行设置,就可以使用啦。尽管不同的体系结构的处理器中,相关的寄存器可能不大一样,但是基于FIFO的uart框图还是差不多。

发送过程:把数据发送到fifo中,fifo把数据发送到移位寄存器,然后在时钟脉冲的作用下,往串口线上发送一位bit数据。 接受过程:接受移位寄存器接收到数据后,将数据放到fifo中,接受fifo事先设置好触发门限,当fifo中数据超过这个门限时,就触发一个中断,然后调用驱动中的中断服务函数,把数据写到flip_buf 中。 二:SPI SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

rtmp协议

RTMP:Real Time Messaging Protocol 实时消息传送协议 字节序:大端 Message Format: Timestamp:4 bytes Length:3 bytes Type ID:1 bytes Message Stream ID:4 bytes 小端 Handshake three static_sized chunks client:C0 C1 C2 server:S0 S1 S2 simple handshake: handshake sequence 握手开始于客户端发送C0、C1块 客户端在发送C2块之前必须等待直到S1块被接收 客户端在发送任何其他数据之前必须等待直到S2块被接收 服务器在发送S0、S1之前必须等待直到C0被接收或是C1被接收服务器在发送S2之前必须等待直到C1被接收 服务器在发送任何其他数据之前必须等待直到C2被接收 C0和S0格式 一个字节(8bits) 本版本是3 C1和S1格式 1536个字节

C2和S2格式 1536个字节,是C1和S1的回复响应 time:必须包含对等段发送的时间戳(对C2来说是S1,对S2来说是C1)time2:必须包含先前发送的被对端读取的包(S1或C1)的时间戳 handshake diagram

Complete handshake Chunking Chunk format A header and data +--------------+----------------+--------------------+----------+ | Basic Header | Message Header | Extended Timestamp | Chunk Data| +--------------+----------------+--------------------+----------+ | | |<------------------- Chunk Header ----------------->| Chunk Format Basic header:1-3bytes,chunk stream ID and chunk type(fmt) 长度可变type depend on the format of the encoded message header the length depend on the chunk stream ID ID:3-65599,0\1\2 reserved 0:2bytes,ID range 64-319 (the second byte+64) 1:3bytes,ID range 64-65599(the third byte*256+the second byte+64) 2:low-level protocol 2-63: 64-319:

51串口通信协议(新型篇)

51串口通信协议(新型篇) C51编程:这是网友牛毅编的一个C51串口通讯程序! //PC读MCU指令结构:(中断方式,ASCII码表示) //帧:帧头标志|帧类型|器件地址|启始地址|长度n|效验和|帧尾标志 //值: 'n' 'y'| 'r' | 0x01 | x | x | x |0x13 0x10 //字节数: 2 | 1 | 1 | 1 | 1 | 1 | 2 //求和: ///////////////////////////////////////////////////////////////////// //公司名称:*** //模块名:protocol.c //创建者:牛毅 //修改者: //功能描述:中断方式:本程序为mcu的串口通讯提供(贞结构)函数接口,包括具体协议部分 //其他说明:只提供对A T89c51具体硬件的可靠访问接口 //版本:1.0 //信息:QQ 75011221 ///////////////////////////////////////////////////////////////////// #include #include //预定义 //帧 #define F_ST1 0x6e //帧头标志n #define F_ST2 0x79 //帧头标志y #define F_R 0x72 //帧类型读r #define F_W 0x77 //帧类型写w #define F_D 0x64 //帧类型数据帧d #define F_B 0x62 //帧类型写回应帧b #define F_C 0x63 //帧类型重发命令帧c #define F_Q 0x71 //帧类型放弃帧q #define F_ADDR 0x31 //器件地址0-9 #define F_END 0x7a //帧尾标志z #define F_SPACE 0x30 //空标志0 #define F_ERR1 0x31 //错误标志1,flagerr 1 #define F_ERR2 0x32 //错误标志2 2 //常数 #define S_MAXBUF 16 //接收/发送数据的最大缓存量 #define FIELD_MAXBUF 48 //最小场缓存,可以大于48字节,因为协议是以20字节为

最熟悉的通信常用的协议你了解吗

最熟悉的通信常用的协议你了解吗? 熟悉基本通讯协议 分类:默认栏目 一、TCP/IP: (1)掌握协议的构成成份。 (2)理解OSI模型、TCP/IP模型。 (3)掌握以太网的接入方法,以太网和802.3帧的区别是什么?了解无线以太网无线以太帧的构成。(4)第二层主要设备和工作原理。 (5)掌握IP层主要必须协议、IP编址、理解协议配置步骤。 (6)理解传输和应用层主要协议功能。 二、七号信令 (1)掌握三种信令单元的功能。 (2)信令网组成。 (3)信令点编码。 (4)移动网和信令网的关系。 三、移动网 (1)GSM网络结构、信道、帧。 (2)GSM互联其他网络。 (3)GSM网络组成设备的功能。 (4)GSM的编号。 (5)MSC局数据步骤。 (6)GPRS网络结构。 (7)GPRS协议模型。 (8)GPRS路由管理。 (9)EDGE组网。(在欧洲使用,我们国家没有,所以只是作为了解内容) 第一、网络技术的基础(向移动通信软件开发人员转型的入门阶段)要学习通信协议,我们先从网络技术基础开始学起,这也是传统软件开发人员向移动通信软件开发人员过渡的入门知识,掌握这几个知识点后,你也就基本对计算机通信有个概念了。 在本阶段应该掌握以下知识点: (1)网络协议的概念。 (2)传输模式的种类和它们的区别。 (3)能够描述出OSI(开放系统互连参考模型)的七层。 (4)了解调频、调幅、调相的原理和区别。 (5)知道正交调幅的概念和解决的问题。 (6)知道脉码调制和脉冲幅度调制的区别。(模数转换的两种方式) (7)复用的概念及其主要的三种复用技术是什么? (8)FDM(频分复用)如何将多个信号组合为一个,又如何分开?FDM和WDM的相似之处和不同之处。(9)TDM(时分复用)的两种类型。TDM如何将多个信号合并成一个,又如何分开?

RTMP协议

RTMP Protocol Connect NetConnect.connect() Flash Play 通过NetConnect.connect连接到RTMP Server时,首先进行握手,再发送connect的参数. 1) 握手过程有三步: Step 1, Flash Player 至RTMP Server : 1个byte(0x03)+1536个byte数据. Step 2, RTMP Server至Flash Player : 1个byte(0x03)+1536个byte数据(Server的握手数据) + 1536个byte数据(通过和随机数hash得出, 详见附录) Step 3, Flash Player 至RTMP Server : 1536个byte数据(RTMP Server计算出来的). 注意:这个数据块没有1个byte的0x03. 2) 接下是connect参数 RTMP Server <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

RTMP Server >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Flash Player RTMP协议步骤 Step 1 发送一个0x05的包,即ServerBW, (channel 0x02) (0x00 26 25 a0) Step 2 发送一个0x06的包,即ClientBW, (channel 0x02) (0x00 26 25 a0) + (0x02) Step 3 发送一个0x14的包,即Invoke, (channel 0x03) (body超过128的长度就要分包, 用0xc3来) string (“_result”) + number (0x3F F0 00 00 00 00 00 00) + Object string (“capabilities”) ; number (31.0) string (“fmsV er”) ; string (随便填) (“RubyIZUMI/0,1,2,0”) End Of Object (0x00 00 09) //(connect status) + Object string (“code”) ; string (“NetConnection.Connect.Success”) string (“level”) ; string (“status”) string (“description”) ; string (“Connection Succeeded.”) End Of Object (0x00 00 09) RTMP Server <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

常用通信协议介绍

常用通信协议介绍 RS-232-C RS-232-C是OSI基本参考模型物理层部分的规格,它决定了连接器形状等物理特性、以0和1表示的电气特性及表示信号意义的逻辑特性。 RS-232-C是EIA发表的,是RS-232-B的修改版。本来是为连接模拟通信线路中的调制解调器等DCE及电传打印机等DTE拉接口而标准化的。现在很多个人计算机也用RS-232-C作为输入输出接口,用RS-232-C作为接口的个人计算机也很普及。 RS-232-C的如下特点:采用直通方式,双向通信,基本频带,电流环方式,串行传输方式,DCE-DTE间使用的信号形态,交接方式,全双工通信。RS-232-C在ITU建议的V.24和V.28规定的25引脚连接器在功能上具有互换性。 RS-232-C所使用的连接器为25引脚插入式连接器,一般称为25引脚D-SUB。DTE端的电缆顶端接公插头,DCE端接母插座。RS-232-C所用电缆的形状并不固定,但大多使用带屏蔽的24芯电缆。电缆的最大长度为15m。使用RS-232-C在200K位/秒以下的任何速率都能进行数据传输。

RS-449 RS-449是1977年由EIA发表的标准,它规定了DTE和DCE 之间的机械特性和电气特性。RS-449是想取代RS-232-C而开发的标准,但是几乎所有的数据通信设备厂家仍然采用原来的标准,所以RS-232-C仍然是最受欢迎的接口而被广泛采用。 RS-449的连接器使用ISO规格的37引脚及9引脚的连接器,2次通道(返回字通道)电路以外的所有相互连接的电路都使用37引脚的连接器,而2次通道电路则采用9引脚连接器。 RS-449的电特性,对平衡电路来说由RS-422-A规定,大体与V.11具有相同规格,而RS-423-A大体与V.10具有相同规格。 V.35 V.35是通用终端接口的规定,其实V.35是对60-108kHz群带宽线路进行48Kbps同步数据传输的调制解调器的规定,其中一部分内容记述了终端接口的规定。 V.35对机械特性即对连接器的形状并未规定。但由于48Dbps-64Kbps的美国Bell规格调制解调器的普及,34引脚的ISO2593被广泛采用。模拟传输用的音频调制解调器的电气条件使用V.28(不平衡电流环互连电路),而宽频带调制解调器则使用平衡电流环电路。

各种通信协议

分层及通信协议 协议软件是计算机通信网中各部分之间所必须遵守的规则的集合,它定义了通信各部分交换信息时的顺序、格式和词汇。协议软件是计算机通信网软件中最重要的部分。网络的体系结构往往都是和协议对应的,而且,网络管理软件、交换与路由软件以及应用软件等都要通过协议软件才能发生作用。 一、通信协议 1、什么是通信协议 通信协议(简称协议Protoco l),是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。一个网络有一系列的协议,每一个协议都规定了一个特定任务的完成。协议的作用是完成计算机之间有序的信息交换。 通信网络是由处在不同位置上的各节点用通信链路连接而组成的一个群体。通信网必须在节点之间以及不同节点上的用户之间提供有效的通信,即提供有效的接入通路。在计算机通信网中,将这种接入通路称为连接(connection)。建立一次连接必需要遵守的一些规则,这些规则也就是通信网设计时所要考虑的主要问题。 (l)为了能在两个硬件设备之间建立起连接,应保证在源、宿点之间存在物理的传输媒介,在该通路的各条链路上要执行某种协议。 如果传输线路使用电话线,则要通过调制解调器将信号从数字转换成模拟的,并在接收端进行反变换。 如果用的是数字传输线路,则在数据处理设备和通信设备之间,必须有一个数字适配器,以便将数字信号的格式转换成两种设备各自所期望的形式。 为了在两个端设备之间互换数据,需要协调和同步,调制解调器和数字适配器必须执行它们自己的协议。 无论是模拟的还是数字的通信设备,调制解调器和数字适配器的状态必须由接到节点上的设备来控制,这里必定有一个物理的或电气的接口来执行这种功能,执行某种适当的协议来达到这一控制目的。 (2)在计算机通信网中,许多信息源都是突发性的(bursty),问题是要利用信息的这种突发性质来降低消耗在线路上的费用,由此开发了许多共享通信资源的技术。所谓共享,是指允许多个用户使用同一通信资源,这就产生了多用户的接入问题。多路接入

课题_nginx搭建rtmp协议流媒体服务器总结

nginx搭建rtmp协议流媒体服务器总结 最近在ubuntu12.04上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下。 大部分都是参考网络上的资料。 前提: 在linux下某个目录中新建一个nginx目录。 然后进入该目录去下载搭建环境所需要的一些资源包。 此处在/root/ 目录下新建一个nginx目录即: /root/nginx/ ==================================== 1、安装依赖包: #yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 2、安装相关工具包 1). git # mkdir soft-source # cd soft-source # wget ://https://www.doczj.com/doc/2715140501.html,/projects/git-snapshots/git/git-latest.tar.xz # xz -d git-latest.tar.xz # tar xzvf git-latest.tar # cd git-2014-06-27 # autoconf # ./configure # make && make install # git --version git version 2.0.0.GIT # cd .. 2). zlib # wget ://https://www.doczj.com/doc/2715140501.html,/zlib-1.2.8.tar.gz # tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 # ./configure # make # make install # cd .. 3). pcre # wget ://exim.mirror.fr/pcre/pcre-8.12.tar.gz # tar zxvf pcre-8.12.tar.gz # cd pcre-8.12 # ./configure # make && make install # cd .. 4). yadmi yadmi的作用是为flv文件添加关键帧,才能实现拖动播放 # wget ://https://www.doczj.com/doc/2715140501.html,/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download # tar xzvf download # cd yamdi-1.4 # make && make install # cd .. 使用方法: # yamdi -i input.flv -o out.flv 给input.flv文件添加关键帧,输出为out.flv文件 5). OpenSSL # wget ://https://www.doczj.com/doc/2715140501.html,/source/openssl-1.0.1c.tar.gz # tar -zxvf openssl-1.0.1c.tar.gz # ./config # make # make install 3、安装ffmpeg及其依赖包: 1). Yasm # wget ://https://www.doczj.com/doc/2715140501.html,/projects/yasm/releases/yasm-1.2.0.tar.gz # tar xzvf yasm-1.2.0.tar.gz

通信协议简介及区别(串行、并行、双工、RS232等)

基本的通讯方式有并行通讯和串行通讯两种。 并行通讯:一条信息的各位数据被同时传送的通讯方式称为并行通讯。 并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。 串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。 串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。 异步通信:接收器和发送器有各自的时钟; 同步通信:发送器和接收器由同一个时钟源控制。 1、异步串行方式的特点 所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为: ①以字符为单位传送信息。 ②相邻两字符间的间隔是任意长。 ③因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以,不需同步。 ④异步方式特点简单的说就是:字符间异步,字符内部各位同步。 2、异步串行方式的数据格式 异步串行通信的数据格式如图1所示,每个字符(每帧信息)由4个部分组成: ①1位起始位,规定为低电0; ②5~8位数据位,即要传送的有效信息; ③1位奇偶校验位; ④1~2位停止位,规定为高电平1。 3、同步串行方式的特点 所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为: ①以数据块为单位传送信息。 ②在一个数据块(信息帧)内,字符与字符间无间隔。 ③因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。 4、同步串行方式的数据格式 同步串行通信的数据格式如图2所示,每个数据块(信息帧)由3个部分组成: ①2个同步字符作为一个数据块(信息帧)的起始标志; ②n个连续传送的数据 ③2个字节循环冗余校验码(CRC) 图1 异步串行数据格式图2 同步串行数据格式

菱f系列plc编程口通信协议

三菱FX系列 PLC 编程口通信协议总览 三菱PLC-FX2N 三菱FX系列PLC编程口通信协议总览 该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。 通讯格式: 命令命令码目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD "8" X,Y,M,S,T,C 传输格式: RS232C 波特率: 9600bps 奇偶: even 校验: 累加方式(和校验) 字符: ASCII 16进制代码: ENQ 05H 请求 ACK 06H PLC正确响应 NAK 15H PLC错误响应 STX 02H 报文开始 ETX 03H 报文结束 帧格式: STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子: STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H

SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位 1、DEVICE READ(读出软设备状态值) 计算机向PLC发送: 始命令首地址位数终和校验 STX CMD GROUP ADDRESS BYTES ETX SUM 例子:从D123开始读取4个字节数据 02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h 地址算法:address=address*2+1000h 再转换成ASCII 31h,30h,46h,36h PLC返回 STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 注:最多可以读取64个字节的数据 例子:从指定的存储器单元读到3584这个数据 02h 33h 35h 38h 34h 03h 44h,36h 2、DEVICE WRITE(向PLC软设备写入值) 始命令首地址位数数据终和校验 STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD 02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回 ACK (06H) 接受正确 NAK (15H) 接受错误 3、位设备强制置位/复位 FORCE ON置位 始命令地址终和校验 STX CMD ADDRESS ETX SUM 02h 37h address 03h sum FORCE OFF复位 始命令地址终和校验

实时流煤体协议概述v1.0

实时流煤体协议概述v1.0

实时流煤体协议概述 流媒体传输类型: 流媒体传输分两类:实时流媒体和顺序流媒体 一般来说,如果视频为现场直播,或使用专用的流媒体服务器,或应用如RTSP等专用实时协议,即为实时流媒体传输; 如果使用普通的HTTP服务器,将音视频数据以从头至尾方式发送,则为顺序流媒体传输。 实时流传输既可传输实况直播,也可传输完整的音视频文件(专用协议流式)。 顺序流媒体不可用于实况直播,仅能传输完整的音视频文件(HTTP渐进式)。 主流的流媒体协议 主流的流媒体协议主要有:RTMP,HLS,RTSP等。

附:流媒体播放实现流程 一,h ttp渐进式下载原理(仅支持文件播放)http边下载边播放,严格意义上讲,不是实况直播协议。他的原理是先下载文件的基本信息,音频视频的时间戳,再下载音视频数据,以播放mp4为例,先下载文件头,根据文件头指引下载文件尾,然后再下载文件的音视频数据。 播放方式:1. 浏览器调用系统播放器播放; 2. 使HTML5的Video标签,浏览器内部支持直接播放。

二,苹果支持的hls原理(支持文件播放和实况直播)HLS的文件点播 1.使用“文件分段器”将基于H264和AAC或MP3的MPEG4分段, 生成.ts和.m3u8文件,存储于普通服务器上。 2.苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引, 并下载所需要的数据片段来播放。 HLS的实况直播 1.使用“流分段器”将基于H264、AAC、MP3的MPEG2传输 流分段, 2.可使用其它工具将MPEG4音视频文件加载到MPEG2传输流当中。 3.生成.ts和.m3u8文件,存储于普通服务器上。 4.苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引, 并下载所需要的数据片段来播放。 三,A dobe Flash 支持的RTMP协议(支持文件播放和实况直播) 必须采用Flash服务器FMS(Flash Media Server) 或 RED5. FMS的文件点播 1. 服务器(FMS或RED5)将F4v 或 Flv文件转化为RTMP流或HTTP流 2. 客户端(Flash插件或应用程序)获取RTMP流,提取相应的Flv 或 F4v文件片段进行播放。 FMS的实况直播 1.设备端(摄像头)将数据转化为F4v片段,通过RTMP流上传到服务器 2. 服务器(FMS或RED5)转发RTMP流到客户端 3. 客户端(Flash插件或应用程序)获取RTMP流,提取数据片段播放。 四,R TSP协议 RTSP为纯粹的传输控制协议。 RTSP协议本身不与它负载的媒体数据相关。 RTSP协议需要自定义客户端向服务器发送RTSP命令。

通信协议与编程

MODBUS通讯协议及编程 ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU 通讯协议,如:YD2000智能电力监测仪、巡检表、数显表、光柱数显表等。下面就ModBus RTU协议简要介绍如下: 一、通讯协议 (一)、通讯传送方式: 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与MODBUS RTU通讯规约相兼容: 初始结构= ≥4字节的时间 地址码= 1 字节 功能码= 1 字节 数据区= N 字节 错误校检= 16位CRC码 结束结构= ≥4字节的时间 地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus通讯规约定义功能号为1到127。本仪表只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。 CRC码:二字节的错误检测码。

(二)、通讯规约: 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。 1.信息帧结构 地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 功能码:主机发送的功能码告诉从机执行什么任务。表1-1列出的功能码都有具体的含义及操作 数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 错误校验码:主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。 注:信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。 2.错误校验 冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。

相关主题
文本预览
相关文档 最新文档