27010协议翻译

最近在网上找相关资料,发现以下资料,稍作整理,转载一下。

27010-500协议:
------------------------------------
中文翻译版
CMUX协议文档
修订情况记录:

修订原因 审核 签收 完成
版本号 修订人
[td=1,1,86]
修订日期
[td=1,1,60]
测试
[td=1,1,96]
V0.8 徐兵林 新建
[td=1,1,84] 2008-11-4
  
V1.0 高金山
[td=1,1,86]
2009-2-11  


目录 CMUX协议文档
1
1. 引言
4
1.1. 编写目的
4
1.2. 编写背景
4
1.3. 参考资料
4
1.4. 名字解释
4
2. CMUX协议框架
5
3. Non Error RecoveryMode
8
3.1. 服务接口定义
8
3.1.1. 服务模型... 83.1.2. 启动CMUX服务模式... 93.1.3. 建立DLC服务... 93.1.4. 数据服务... 103.1.5. 功耗控制... 103.1.5.1. Sleep模式... 113.1.5.2. Wake up模式... 113.1.6. 释放DLC服务... 113.1.7. 关闭服务... 113.1.8. 控制服务... 113.1.8.1. 07.10协议服务... 123.1.8.2 虚拟端口服务... 133.2. 数据帧结构
14
3.2.1. 帧域... 143.2.1.1. 标志域(Flag Sequence Field... 143.2.1.2. 地址域(Address Field... 143.2.1.3. 控制域(Control Field... 153.2.1.4. 信息域(Information Field... 153.2.1.5. 长度指示域(Length Indicator... 153.2.1.6. FCS域(Frame Checking Sequence Field... 153.2.2. 格式约定... 163.2.3. 帧有效性... 163.2.4. 帧中止... 163.2.5. 数据帧之间的填充... 163.2.6. 基本Basic. 163.2.6.1. 约束... 173.2.7. 高级Advanced. 173.2.7.1. 控制字节透明... 173.2.7.2. 开始/停止传输-扩展透明... 173.2.7.3. 流控(Flow-control)透明... 183.2.7.4. 帧的结构... 183.3. 帧类型
18
3.4. 过程和状态
19
3.4.1. 建立DLC链路... 193.4.2. 释放DLC链路... 203.4.3. 信息传输... 203.4.4. 帧变量... 213.4.5. 超时的考虑... 213.4.6. 多路控制通道... 213.4.6.1. 控制消息格式... 223.4.6.2. 控制消息类型参数... 223.4.7. 电源控制与唤醒机制... 293.4.8. 流控... 293.5. 集成层ConvergenceLayer
29
3.5.1. 类型1-未结构化的字节流... 293.5.2. 类型2-带参数的未结构化的字节流... 303.5.3. 类型3-不可中断的帧数据... 313.5.4. 类型4-可中断的帧数据... 313.6. DLCI
32
3.7. 系统参数
33
3.7.1. 确认时间T1. 333.7.2. 帧的最大长度N1. 333.7.3. 最大重发次数N2. 333.7.4. 窗口大小k. 333.7.5. 控制通道的响应时间T2. 333.7.6. 唤醒流程的响应时间T3. 343.8. 启动和关闭MUX
34
4. Error Recovery Mode
34

1. 引言1.1. 编写目的 本文档根据GSM07.10协议同时结合E901 Mobile参考代码,对CMUX多串口协议进行了大致的描述。由于7.10协议可以使用两种传输模式non-errorerror模式,本文档只介绍non-error模式。 1.2. 编写背景1.希望CMUX协议有一个总体框架;2.想要了解CMUX多串口协议的通讯设计; 1.3. 参考资料1GSM07.10协议2E901Mobile参考CMUX通讯代码 1.4. 名词解释1CMUX
多串口协议2ABM
Asynchronous BalancedMode异步平衡模式3ERM
Error-Recovery Mode错误校验模式4DLC
Data Link Connection数据链路连接5FCS
Frame Check Sequence帧校验序列6SARM
Set Asynchronous Balanced Mode设置异步平衡模式7UAU
Unnumbered Acknowledgement未编号的确认信息8DM
Disconnected Mode断开模式9UIH
Unnumbered Information with HeaderCheck未编号的带校验头的信息10UI
Unnumbered Information未编号的信息11PSC
Power Saving Control省电控制12MSC
Modem状态命令13HDLC
High-level data link control高级数据链路控制
2. CMUX协议框架多路复用协议提供在单个物理通信通道之上虚拟出多个并行的逻辑通信通道的能力,一般应用于TE(Terminal Equipment)MS(Mobile Station)之间,TE相当于智能手机的AP端,MS相当于智能手机的MODEM端,下图给出了典型的协议层次关系:[img=553,218]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg[/img]蓝色部分就是MUX多路复用层,它利用底层的物理串口链接收发数据,同时向上层提供若干个逻辑上独立使用的收发通道(上图中提供了四个逻辑通道,不同颜色表示)。每个逻辑通道独立创建,可以拥有软件流控制。在实际使用中,TE端的MUXMS端的MUX发起通道建立请求,设置通道参数等,是主动的一方;MS端的MUX等待TE端的服务请求,根据自身能力提供相应服务。也就是说,两者的角色是不对称的。[img=440,607]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image004.jpg[/img]GSM07.10协议就是一个提供MUX功能的标准协议,也是实际中较广泛使用的协议。在E901项目中,NXP5209 MODEM软件提供标准的07.10 MUX功能,AP端开发了07.10 MUX的驱动,如上图所示,AP 端的MUX驱动利用了物理串口FFUART(COM1:),同时向系统提供了三个逻辑串口(COM7 COM9COM8),其中COM7:AT命令口TE Responder

 

1

 

Responder -> Initiator

 

0

 

Response

 

Initiator -> Responder

 

0

 

Responder -> Initiator

 

1

 

如主机建立的MUX,主机发命令包时,Address0x7,猫响应Address也是0x7 3.2.1.3. 控制域(Control Field2:控制域的编码

位,表示测试 返回。后续会介绍。 比如建立 的时候,主机发 并把 ,如果成功,对方返回 帧,并把 ,否则返回 帧,并把 信息域( 信息域,它是实际数据域。 帧或 帧,才有该域。 长度指示域( 只有在基本模式下,该域才存在。可以是 1 个字节,也可以是 2 个字节长度;

 

Frame Type 1 2 3 4 5 6 7 8 备注
SABM (Set Asynchronous Balanced Mode) 1 1 1 1 P/F 1 0 0
UA (Unnumbered Acknowledgement) 1 1 0 0 P/F 1 1 0
DM (Disconnected Mode) 1 1 1 1 P/F 0 0 0
DISC (Disconnect) 1 1 0 0 P/F 0 1 0
UIH(Unnumbered Information with Header check) 1 1 1 1 P/F 1 1 1
UI (Unnumbered Information) 1 1 0 0 P/F 0 0 0 可选
[/table]P/FPoll/Final/DLCSABM, P1UAF1DMP13.2.1.4. Information FieldUIUIH3.2.1.5. Length Indicator
Bit No. 1 2 3 4 5 6 7 8
Signal E/A L1 L2 L3 L4 L5 L6 L7

 

3:长度域的首字节

Bit No. 1 2 3 4 5 6 7 8
Signal L8 L9 L10 L11 L12 L13 L14 L15

4:长度域的第二个字节EA位表示该域是否只有本字节。为1表示本字节就是长度域,为0表示后续还有一个字节。3.2.1.6. 校验域(Frame Checking Sequence Field帧的校验序列。它是两个CRC校验码,异或后,再取反的结果。这两个CRC校验码,都是8位的,生成的多项式为x8 + x2+ x + 1。一个是xk*(x7+x6+x5+x4+x3+x2+x1+1),其中k是校验数据的BIT位的数目,一个是x8*(校验数据),校验数据,就是该帧的实际数据。由于比较复杂,可以参考CRC校验原理。在包为UIH帧时,实际数据域,不参与校验,只校验AddressControlLength这几个域。3.2.2. 格式约定
所有传输的字符以“一个起始位,八个数据位,无奇偶校验位和一个停止位”进行传输。所有的域,先传输域的第1位。对于字节而言,也就是低位先传。地址,命令,响应和序列数,都先传低位。FCS序列,先传高次方的项的系数。注意:这些约定意味着常常需要转换BIT位顺序。3.2.3. 帧有效性检验数据传输是否正确,可以根据下面的条件判断:1is notproperly bounded by two flags不正确的边界条件位;2)在两个边界条件位(flags)之间,至少有三个字节。3FCSCRC校验错误;4)地址域大于一个字节。无效帧,通常会在不通知发送方的情况下被丢弃。MultiplexerMSTE端接收到无效帧后,所要做的处理,由它的实现者去考虑。然而,接收到FCS校验域错误的帧的提示信息,对音频/视频的DLC或许很有用。3.2.4. 帧中止不支持帧的中止。3.2.5. 数据帧之间的填充除了省电模式唤醒的过程,在数据帧与数据帧之间,需要填充一些stop标识。这种填充了标识字符的情况下,接收方应该能正确处理。如果接收端,收到了多于3个连续的标识,它在第一时间开始传输连续的标识(参见省电部分)。3.2.6. 基本Basic

Control
Flag Address
[td=1,1,65]
Length Indicator Information FCS Flag
1B 1B 1B 1B/2B 长度不确定 1B 1B

5basic模式的帧的结构在基本模式下的flag为下面的格式:=0xF9

Bit 1 2 3 4 5 6 7 8
Data 1 0 0 1 1 1 1 1

6basic模式的标识域3.2.6.1. 约束1)结束flag也可能是下一帧的开始标志。2)在高级的模式中flag不一样。3)不支持DC1/XONDC3/XOFF的控制字符。3.2.7. 高级Advanced如果MUX会话开始,就使用了高级模式,那么,它就可以用于各种数据帧了。这种机制基于控制字节透明(a controloctet transparency)。它基于每帧的开(Opening)和闭(Closing)的Flag标志的出现是唯一的。这些标志不可能出现在数据帧的信息域。如果在TE-MS链路上,出现了同步的丢失,这种机制允许快速的同步恢复。3.2.7.1. 控制字节透明下面的透明机制应用于每个数据帧,从地址域到FCS域(含)。ESC控制字节,是一个透明标识符,它标识了应用了下面透明流程的数据帧的一个字节。ESC控制字节编码如下:[img=347,99]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image008.jpg[/img]传输器(transmitter)将检查从开标识到闭标识的一个数据帧,包括地址域,控制域,FCS域。FCS域是这样计算的:
-
当出现了标识或ESC控制字节时,补足该字节的第6位,并且
-
在传输的前一个字节与本字节中间,插入一个ESC控制字节(Insert a control escape octet immediately preceding the octet resultingfrom the above prior to transmission)。接收器(receiver)将检查两个标识字节之间的数据帧,收到一个ESC控制字节,并且预先进行FCS计算:
-
丢弃ESC控制字节,并且
-
通过补足它的第6位,恢复紧接着的字节。其他字节值也可通过传输器,包含在透明流程中。因此,包含哪些东西,取决于前述的系统和应用程序的约定。3.2.7.2. 开始/停止传输-扩展透明传输器(transmitter)对追加到标志域和ESC控制字节上的其他字节应用上述的透明流程。目前,仅有的其他字节是流控(flow-control)字符。流程参见3.2.6.33.2.7.3. 流控(Flow-control)透明流控(Flow-control)透明选项,为ISO/IEC646(例如1000100x1100100x分别表示x可以是0或者1DC1/XONDC3/XOFF控制字符,提供了透明的流程。这就确保了字节流不包含像流控字符(不管奇偶校验)那样,能被中间设备打断的数值。3.2.7.4. 帧的结构帧的结构如图7所示。注意,这种结构不包括同步(例如,开始和停止位)或者透明目的所增加的信息。传输的顺序从左往右。透明机制被激活的情况下,帧的结构如下所示:

Flag Address Control Information FCS Flag
1B 1B 1B 长度不确定 1B 1B

7advanced模式的帧结构在高级模式下的flag为下面的格式:=0x7E

Bit 1 2 3 4 5 6 7 8
Data 0 1 1 1 1 1 1 0

8advanced模式的标识域注意:结束flag也可能是下一帧的开始标志。3.3. 帧类型

1) Set Asynchronous Balanced Mode (SABM) command
2) Unnumbered Acknowledgement (UA) response
3) Disconnected Mode (DM) response4) Disconnect (DISC) command5) Unnumbered information with header check (UIH) command and response6) Unnumbered Information (UI) command and response3.3.1. SABM commandSABM命令帧用来把指定的一端设置成异步平衡模式(ABM),这种模式下,所有的控制域的长度都是一个字节。另外一端接收到SABM命令帧后,第一时间发送一个UA回应帧,作为确认。接收到该命令,DLC发送和接收的状态,都将被置03.3.2. UA responseUA回应帧,是对SABMDISC这两个命令帧的确认。3.3.3. DM response它用于报告一端(station)逻辑上从数据链路上断开的状态。链路断开后,将收不到任何命令,直到收到SABM重新建立通道为止。如果在链路断开状态,收到DISC命令,就应该发一个DM作为响应。3.3.4. DISC commandDISC命令用于终止通道。一端用它通知另外一端,它正在挂起操作并且将进入逻辑断开模式。在处理这个命令以前,接收一端,用UA命令去回应,作为对收到DISC命令的确认。DLCI 0通道传送的DISC命令,跟MUX的关闭命令(见3.4.6.3)具有相同的意思。关于关闭流程的更多信息,参加3.8.23.3.5. UIH command/response
UIH命令帧/响应帧,用来传递不带有能影响任何一端的VS)和VR)变量的信息。被传输的信息的完整性与传输到正确的DLCI相比,不太重要时,可以用UIHUIH的帧,FCS只对地址域,控制域和长度域,进行计算。
UIH
命令帧/响应帧的接收,不是顺序的编号(被数据链路流程检验)。因此,假如数据链路在受保护的该命令部分的传输过程中发生了异常,UIH数据帧可能丢失;假如对该命令的回复过程中出现了异常,UI数据帧可能会重复。UIH命令帧/响应帧,没有指明回应帧。3.3.6. UI command/responseUI命令帧/响应帧,用来传递不带有能影响任何一端的VS)和VR)变量的信息。UI命令帧/响应帧的接收,不是顺序的编号(被数据链路流程检验)。因此,假如数据链路在受保护的该命令部分的传输过程中发生了异常,UI数据帧可能丢失;假如对该命令的回复过程中出现了异常,UI数据帧可能会重复。UI命令帧/响应帧,没有指明回应帧。UI数据帧来说,FCS对所有域(地址域,控制域,长度域,信息域)进行计算。是否支持UI数据帧,是可选的。3.4. 过程和状态[img=552,408]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image009.gif[/img]3.4.1. 建立DLC链路多数情况,DLC链路是由TE建立的,然而,协议上是对等的,MS也可以建立它,但本文不叙述这种情况。建立过程如下:首先发起方发送P位为1SABM命令,地址域是通道的编号。响应方发F位为1UA作为回应。如果响应方没准备好,或者不愿意建立,那么,它就回一个F位为1DM帧。一旦DLC建立成功,就意味着进入了连接状态,可以传输数据了。如果T1时间以内,收不到UADM的响应,就重发SABM。这个动作可以一直重复,直到得到响应,或者上层应用采取了其他措施。如果没有协商过程,DLC的参数就是默认的。3.4.2. 释放DLC链路双方都可以发送P位为1DISC命令,来释放DLC链路。另外一方回应F位为1UA帧。如果释放成功,DLC就进入断开状态。如果收到DISC命令时,发现已经是断开状态了,就发一个DM作为回应。如果T1时间内,没有收到UA或者DM的响应,就重发DISC命令。这个动作可以一直重复,直到得到响应,或者上层应用采取了其他措施。3.4.3.
信息传输3.4.3.1. 信息数据信息使用UIUIH进行传输。UIH一定要支持,UI是可选的。当知道数据被正确的接收非常重要时,就采用UI,例如IP业务包。传输出错无所谓时,使用UIH。由于及时性的关系,不能采用差错恢复的机制时,可以使用UIUIH,比如音频数据。双方都要把P位置0C/R位,参见上面的描述。信息的最大长度,受系统的参数所限制。3.4.3.2. 优先级每个数据流,都有对应的优先级。总共有0-63级别的优先级,数字越小,表示优先级越高。TE位每个DLC指定一个优先级,并且,用控制通道,通知MS如果一条消息缺省优先级,DLC将根据3.6中的DLCI分配表指定它的优先级。传输器(transmitter)控制哪些帧要传输,以及对它们按何种结构进行封装,并且不描述这些工作是如何完成的。假如比现在正在传输的数据的优先级更高的数据正在等待,传输器有如下几个可以采用的选项:a)
先传输完当前帧。b)
中止对当前帧的打包,传输当前的FCS和终止标识Flag(只对advanced),并且开始传输更高优先级的数据。带有更高优先级数据的DLC,不会阻止任何低优先级的DLC。高优先级和低优先级的帧的交叉,是必要的,因为这能避免低优先级通道被永远堵塞。3.4.4. 帧变量P位置1,表示通道的一端向另外一端请求一个或者一组回应(response)。F位置1,表示通道一端指明发一个响应帧,对另外一端的P命令进行回应。在命令帧和响应帧里,P/F位,最好用一个函数进行设置。3.4.4.1. P位函数P位置1,向另外一端请求F位置1的响应帧。在一个特别的DLCI,在给定的时间和给定的方向,只有一个P位置1的帧。接收到一个P位置0SABM或者DISC命令帧,接收到的帧,将被丢弃。如果接收到未被请求的DM响应,这个帧要做与P/F设置无关的处理。通道的一端在发送另外一个P位置1的帧之前,它会从另外一端收到一个F位置1的回应帧。如果在系统定义的时间段以内,没有收到回应帧,重发一个P位置1的帧,用于错误恢复的目的,是允许的。 3.4.4.2. F位函数F位置1的回应帧,一端回应另外一端的P位置1的命令帧时,使用它。要求在第一时间回应。一端可以随时异步发送F位置0的回应帧。但如果接收到的是F位置0UA回应帧,接受的帧,将被丢弃。如果接收到未被请求的DM响应,这个帧要做与P/F设置无关的处理。假如一端接收到一个P位置1的命令帧,F位置1的回应帧的传输,将优先于其他命令。但模式设置命令(SABM或者DISC)是个例外。3.4.5. 超时的考虑为了检测无回应或者回应丢失的情况,每端都应该提供一个响应超时的函数(T1)。超时后,应该启动错误恢复的流程。为了解决争夺的情况,超时函数的时长,在两端最好不要相等。一端传输过一帧,等待回应时,超时函数就应该启动。收到回应,则停止计时。如果响应超时函数超时了,重发P位置1的命令帧,超时函数重新开始计时。3.4.6. 多路控制通道TEMS通信开始时,使用3.8.1的流程,建立了DLCI 0通道作为控制通道。它用来在两个MUXmultiplexer)之间传递信息。它用ERM模式或者non-ERM模式的流程,这个在用+CMUX命令的时候,就决定了的。如果ERM的流程是可用的,就用它们。 3.4.6.1. 消息格式

Type Length Value1 Value2 Value n


所有在多个MUX之间被传递的信息,都使用上述的typelengthvalue的格式。
上述的每个单元格至少占用1个字节,typelength有扩展位,所以,它们有可能多于1个字节。type域的第一个字节的bit格式如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R T1 T2 T3 T4 T5 T6

考虑EA=1时,长度域的扩展字节的bit位格式如下:

Bit No 1 2 3 4 5 6 7 8
Value EA T7 T8 T9 T10 T11 T12 T13


EA
位就是扩展位,其值为1表示当前就是本域的最后一个字节。
C/R
位指示该信息是命令帧,还是回应帧。
T
位表示类型编码。每个命令都有自己独特的编码方法。2^6=64,这就是说一个字节的type域,能表式63种不同的信息类型。单字节的信息类型,在本文档中已经定义。length的第一个字节的bit位格式如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA L1 L2 L3 L4 L5 L6 L7


后续字节,也是类似的格式。EA的意义跟上面的相同。
L1
是最低位,L7是最高位。2^7=128,也就是一条信息最大可以有127个字节的value值。
在不超过最大长度的情况下,一帧可以包含多条信息。但一条信息不能分割封装在多帧中。3.4.6.2. 操作流程
消息都是成对存在的,一个命令消息和一个相应的回应消息。假如C/R位置为1,消息是命令,假如它置0,消息是回应。一个回应消息,跟引发它的命令一样,拥有同样的T位。
假如在T2的时间内,一个命令没有产生一个回应,命令将被重新发送N2次。假如N2次的发送,都没有收到回应,MUXmultiplexer)的控制通道被认为有错,并且发出一个警报。错误情况的解决方法,相应的执行。3.4.6.3. 消息类型和处理(Action
3.4.6.3.1. 参数协商PNParameterNegotiation这个流程是可选的。如果这个命令不支持,DLC都使用默认值。在一个DLC3.4.1的机制建立之前,TEMS必须对本DLC使用的参数进行协商。这些参数都由PN决定。PN使用下面的type域字节:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R 0 0 0 0 0 1

Length域字节包括值8和下面8个值字节。值字节包括表3的信息。3PN

Value Octet Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8
1 D1 D2 D3 D4 D5 D6 0 0
2 I1 I2 I3 I4 CL1 CL2 CL3 CL4
3 P1 P2 P3 P4 P5 P6 0 0
4 T1 T2 T3 T4 T5 T6 T7 T8
5 N1 N2 N3 N4 N5 N6 N7 N8
6 N9 N10 N11 N12 N13 N14 N15 N16
7 NA1 NA2 NA3 NA4 NA5 NA6 NA7 NA8
8 K1 K2 K3 0 0 0 0 0

各个域的编码如下:D定义了其他信息提及的DLCID1是最低有效位。I定义了用来在特殊DLC装载信息的数据帧的类型。见表44I位的含义

Meaning I1 I2 I3 I4
Use UIH frames 0 0 0 0
Use UI frames 1 0 0 0
Use I frames (note) 0 1 0 0


其他值保留。默认值是0000。缺省协商的情况下,(为DLCI>0)使用的帧类型,跟MUX控制通道使用的相同。
CL
定义了特殊DLC使用的集成层的类型。参见表55CL位的含义

Meaning CL1 CL2 CL3 CL4
Type1 0 0 0 0
Type2 1 0 0 0
Type3 0 1 0 0


其他值保留。默认值是0000
P
定义了指派给特殊DLC的优先级。范围是0-630是最低的优先级。P1是最低有效位。默认值由DLCI的值给定,参见3.6
T
定义了确认时间T1,参见3.7.1。单位是毫秒,T1是最低有效位。
N
定义了最大帧的大小N1,参见3.7.2。该参数是六位的数字,N1是最低有效位。
NA
定义了重发的最大次数N2,参见3.7.3。该参数是八位数字,K1是最低有效位。
TE
MS传输一个参数协商(PN)命令,该命令的域里,赋值成TE想要为特殊DLCI使用的值。MS回应一个参数协商(PN)回应,该回应带有MS提议的值。MS构建回应时,参照下面的规则:-
DLCI值不变。-
使用I帧或UI帧,是可选的,因此,没实现UI帧或I帧,MS采用UIH帧回应。-
MS不会改变被TE提议的集成层。-
MS不会改变被TE提议的优先级。-
T1值是TE使用的,是不可协商的;MS将插入它自己的T1。建议每方使用不同的T1-
假如没有足够的内存,MS将为最大帧的大小N1,提议一个更小的值。-
N2TE使用的,是不可协商的;MS将插入它自己的N2值。-
假如没有足够的内存,MS将为窗口大小k,提议一个更小的值。假如TE认为MS的回应是可以接受的,TE将根据3.3.1的流程,建立DLC。假如回应是不可接受的,TE将发起另一个带有新参数的PN命令,或者向上层传递失败信息。假如网络上有一个来电到达MS,这时没有已经建立好的DLCMS将发起PN流程,并建立一个DLC。这种情况实际上是不会发生的,因为TE通常为各种功能建立DLC,在容量交换后,它与MS所共享。来电的提示,将抛出(be through?)一个07.07或者07.05的结果代码(result code)。3.4.6.3.2. 省电控制PSCPowerSaving Control参见3.4.7。省电控制消息使用如下的type域字节:

4
Bit No. 1 2 3
[td=1,1,34]
5 6 7 8
Value EA C/R 0 0 0 0 1 0


Length
字节包含值0,没有无值字节。
假如一端想进入省电状态,它传输一个PSC命令;另一端回复一个PSC回应。
假如一端想请求让另外一端进入省电状态,它传输一个PSC命令;另外一端回复一个PSC回应。响应端可以进入省电状态,但这不是必须的。3.4.6.3.3. 关闭MUXMultiplexerClose Down
参见3.8.2
MUX
CLD命令用于重置链路为非多串口的正常AT命令模式。它的type域字节如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R 0 0 0 0 1 1


Length
字节包含0值,没有值(value)字节。3.4.6.3.4. 测试命令
测试命令用来测试TEMS的链接。Length字节描述了值的字节数量,它用于验证模型。对端将回应具备相同的值的字节。它的type域字节的格式如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R 0 0 0 1 0 0

3.4.6.3.5. 流控开FConFlowControl On
流控命令用来处理聚集的流(aggregate flow)。当任何一端可以接收新信息的时候,它发送这个命令。
Length
字节包含值0,没有值(value)字节。它的type域字节如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R 0 0 0 1 0 1


3.4.6.3.6. 流控关FCoffFlowControl Off流控命令用来处理聚集的流(aggregate flow)。当任何一端不能接收新信息的时候,它发送这个命令。另外一端不能发送数据帧,除了用控制通道(DLC=0)。Length字节包含0值,没有值(value)字节。它的type域字节如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R 0 0 0 1 1 0

3.4.6.3.7. 猫状态命令MSCModemStatus Command想往一个数据流中传送V.24控制信号,这是通过发送MSC命令来完成的。MSC命令有一个强制的控制信号字节和一个可选的中止信号字节。当basic模式时,这个命令才有效(relevant)。这个命令将在DLC建立之后,优先于任何用数据,进行传输。

Command Length DLCI V.24 signals Break Signals(optional)


这个命令包含值2或值3,并且有23个值字节。
DTE
DCE都使用这个命令,相互通知它们自己V.24控制信号的状态。MSC命令的长度是45字节,这依赖于中止信号。
Command
域字节的格式如下:

Bit No. 1 2 3 4 5 6 7 8
Value EA C/R 0 0 0 1 1 1


C/R
位用来指示它是命令还是回应。
每当信号改变,DTEDCE发送这个命令,来指明每个信号的当前的状态。当DTEDCE接收到猫命令,它总是发送回一个回应。接收方或发送方的V.24信号到控制信号字节里的BIT位的映射表,分别在表6和表7中给出。
MSC
命令中,发送方自己的V.24信号,将被发送;但在回应中,它复制了从将被送回的命令帧里,接收到的V.24信号。
DLCI
域标识了该命令应用的(specificDLC。第2位总被置1EA位根据3.2.1.2的描述设置。

DLCI
Bit No. 1 2 3 4 5 6 7 8
Value EA 1
[td=6,1]

9:地址域的格式
紧跟着DLCI域的是控制信号域,它包含信号状态的表现(representation),见图10。扩展位的使用,允许添加其他字节,以满足其他情况。目前,可选的第二个字节被定义为用来处理中止信号的传输。

Bit No. 1 2 3 4 5 6 7 8
Value EA FC RTC RTR Reserved0 Reserved0 IC DV

10:控制信号字节的格式
控制信号字节的描述如下:
EA
位就是扩展位,其值为1表示当前就是本域的最后一个字节。FCFlow Control)流控位,其值为1表示不能接收数据帧。RTCReady ToCommunicate)位。其值为1表示设备准备好发送数据。RTRReady ToReceive)位。其值为1表示设备准备好接收数据。Bit5/Bit6,保留位,以后使用。发送方置0,接收方忽略它。ICIncoming Call)位。其值为1,表示一个来电。DVData Valid)位。其值为1,表示有效数据正在发送。
控制字节映射到V.24信号,根据下表:6:接收时转V.24信号的映射表

Control Signal Byte DTE receiving
[td=2,1] DCE receiving
bit number, name signal V.24 circuit signal V.24 circuit
3, RTC DSR 107 DTR 108/2
4, RTR CTS 106 RFR (note) 133
7, IC RI 125 -ignored -
8, DV DCD 109 -ignored -

NOTE Circuit133, RFR (Ready for Receiving) is commonly assigned to the connector pin thatis alternatively used for circuit 105, RTS. It is sometimes referred to by thatname.7:发送时转V.24信号的映射表

Control Signal Byte DTE sending
[td=2,1] DCE sending
bit number, name signal V.24 circuit signal V.24 circuit
3, RTC DTR 108/2 DSR 107
4, RTR RFR (note) 133 CTS 106
7, IC always 0- - RI 125
8, DV always 1- - DCD 109

NOTE Circuit133, RFR (Ready for Receiving) is commonly assigned to the connector pin thatis alternatively used for circuit 105, RTS. It is sometimes referred to by thatname.假如一端由于流控的原因,不能传输数据帧,但它想自己停止接收更多的帧,它为了发送流控信号,可以继续发送不包含用户数据的帧(比如,只有控制信号字节和可选的中止信号字节)。EA位就是扩展位,其值为1表示当前就是本域的最后一个字节。

Bit No 1 2 3 4 5 6 7 8
signal EA B1 B2 B3 L1 L2 L3 L4

11:中止信号字节的格式(可选的)
中止信号字节通过数据流能携带被DLC检测到的中止信号的信息。每个位的含义如下表:8:中止信号字节的含义

Bit Value Meaning
B1 1 字节编码了一个中止信号
 0 字节没编中止信号
B2 0 保留,发送方置0,接收方忽略
B3 0 保留,发送方置0,接收方忽略
L1-L4 4-bit value Length of break in units of 200ms


L1-L4
是中止的长度(break length),L1是最低有效位,L4是最高有效位。
当一端接收到一个中止字节,它将处理接收到的信息,并且通过适当的途径传递它。这不在本文档的描述范围内。 3.4.6.3.8. 不支持命令NSCNon Support Command
当接收端不支持某种类型的命令时,发该命令帧作为回应。
Length字节不含值1,并且只有一个值字节。
Type域字节格式如下:

Bit No. 1 2 3 4 5 6 7 8
signal EA C/R 0 0 1 0 0 0


值字节包含不支持命令的命令格式。值字节(value octet)格式如下:

Bit No. 1 2 3 4 5 6 7 8
signal EA C/R
Command type


3.4.6.3.9. 远程端口协商RPNRemotePort Negotiation这个命令是可选的。这个命令用来配置远程端口通信设置的。所以的设备都要保证在发送数据前,通信设置被正确的配置。如果协商没完成,将对所有参数采用默认值。在连接状态,当通信设置变动后,设备必须发送PRN。端口线路状态(Port LineStatus)变动后,也一样要发PRN

域字节格式如下:

 

Command RPN Length 1 or 8 Value octet1 optional
(DLCI)
Value octet2 optional Value octet3 optional Value octet4 optional Value octet5 optional Value octet6 optional Value octet7 optional Value octet8 optional
[/table]RPNtype
Bit No. 1 2 3 4 5 6 7 8
signal EA C/R 0 0 1 0 0 1

 


Length字节包含值18,并且它有1个或8个值字节。DLCI字节格式如下:

DLCI
Bit No. 1 2 3 4 5 6 7 8
signal EA 1
[td=6,1]

DLCI字节的第2位没用,固定为1EA位,依据3.2.1.2的描述。Value数组:端口值字节(Port Value Octet)格式如下:

Value Octet Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8
2 B1 B2 B3 B4 B5 B6 B7 B8
3 D1 D2 S P PT1 PT2 res res
4 FLC1 FLC2 FLC3 FLC4 FLC5 FLC6 res res
5 XON1 XON2 XON3 XON4 XON5 XON6 XON7 XON8
6 XOF1 XOF2 XOF3 XOF4 XOF5 XOF6 XOF7 XOF8
7 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8
8 PM9 PM10 PM11 PM12 PM13 PM14 PM15 PM16

一端向另外一端发送一条RPN命令,它的各个域,都设置了想要的值的,参数掩码指明了哪些参数被设置了值。当另一端接收到RPN命令后,将根据下面的规则,作回应:DLCI值不能变接收方将接收到发送方提议(proposed)的端口值字节,并且回复一个把所有能接受参数的参数掩码置1的数据帧。假如接收方不接受任何提议的值,它回复一个把不支持参数的参数掩码都置0的帧。对这些参数掩码置1的参数,新的值,将被接受并且被使用。假如命令里只包含了一个值字节,它被解释位一个请求,接收方将用当前的端口值的设置,进行回应。假如发送方认为回应是可以接受的,也就是说,各比特位相匹配(match),发送方将开始根据端口值字节使用DLC。假如回应是不可接受的,发送方将启动另一个参数修改了的RPN命令,直到最终协商好,或者向更高层传递失败的信息。B1-B8指明了波特率,见下表。12B位的含义

Meaning B1 B2 B3 B4 B5 B6 B7 B8
2400bit/s 0 0 0 0 0 0 0 0
4800bit/s 1 0 0 0 0 0 0 0
7200bit/s 0 1 0 0 0 0 0 0
9600bit/s 1 1 0 0 0 0 0 0
19200bit/s 0 0 1 0 0 0 0 0
38400bit/s 1 0 1 0 0 0 0 0
57600bit/s 0 1 1 0 0 0 0 0
115200bit/s 1 1 1 0 0 0 0 0
230400bit/s 0 0 0 1 0 0 0 0

所有其他的B位的值都是保留的。默认值是1100 00009600)。D1-D2指示了数据位的数量。

D1
D2
00 5 bits
01 6 bits
10 7 bits
11 8 bits - default

S位指明了停止位的数量。S=01停止位,S=115停止位。默认值S=0P位指明了奇偶校验。P=0:无校验,P=1,有校验。默认值P=0PT1-PT2指明了了校验的类型。

PT1 PT2
00 odd parity
01 even parity
10 mark parity
11 space parity

FLC1-FLC6,默认值为0,没有流控。

Bit1 XON/XOFF on input
Bit2 XON/XOFF on output
Bit3 RTR on input
Bit4 RTR on output
Bit5 RTC on input
Bit6 RTC on output

Note. The RTR is mapped to eitherCTS (circuit 106) or RFR (circuit 133). The RTC is mapped to either DTR(circuit 108/2) or DSR (circuit 107). (Circuit 133, RFR(Ready for Receiving) iscommonly assigned to the connector pin that is alternatively used for circuit105, RTS. It is sometimes referred to by that name)XON1-XON8XON字符(默认值DC1)。XOF1-XOF8XOFF字符(默认值DC3)。PM1-PM8,参数掩码。参数掩码用来指明哪些参数被RPN命令所协商。对一个命令来说,参数掩码将被理解为:0=没改变;1=有改变。对应一个回应来说,0=不可接收的;1=可以接收并且使用的。值字节78的比特位掩码如下:

Bit1 bit rate
Bit2 data bits
Bit3 stop bits
Bit4 Parity
Bit5 parity type
Bit6 XON character
Bit7 XOF character
Bit8 reserved

PM9-PM16,也是参数掩码。

Bit1 XON/XOFF on input
Bit2 XON/XOFF on output
Bit3 RTR on input
Bit4 RTR on output
Bit5 RTC on input
Bit6 RTC on output

所以保留的值,都被发送方设置为0,被接收方所忽略。远程线路状态RLSRemoteLine Status3.4.6.3.10. 远程线路状态RLSRemoteLine Status这个命令是可选的。这个命令指明了远程端口线路的状态。连接状态下,当远程端口线路状态改变时,设备必须发送RLS命令。RLS命令使用如下的type域格式:13type域字节

Bit No. 1 2 3 4 5 6 7 8
signal EA C/R 0 0 1 0 1 0

Length字节包含值2,它有两个值字节。14DLCI字节

Bit No. 1 2 3 4 5 6 7 8
signal EA 1 D L C I

DLCI字节的第2位没用,固定为1EA位,依据3.2.1.2的描述。15RLS字节

Value Octet Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8
1 L1 L2 L3 L4 res res res res

一端向另外一端发送一条RLS命令,它的各个域,都设置了想要的值的。当另外一端接收到RLS命令后,它必须用包含它接收到的值的RLS回应帧回应。L1-L4位指明了线路状态。L10,表示没出现错误。L11,指明了如下的错误:L2-L4:100 越界错误(OverrunError - 接收到的字符有不可读的字符010 校验错误(ParityError - 接收到的字符的校验位不正确001 装配错误(FramingError - 一个字符不是以停止符结束的Res位,由发送方置0,被接收方忽略。3.4.6.3.11.
服务协商命令SNCServiceNegotiation Command这个命令用来查询和设置特殊DLC的特殊服务的。它以特殊的数字视频类型为例子。在一些情况下,AT命令和原始数据在同一个DLC上混合,是不太合适的。这些情况下,可以建立一些特殊的DLC,传输一些特殊的数据类型。这种情况的例子,尤其对视频传输更有用,当AT命令控制了链接,在DLC上传输时,音频数据可以由另一个DLC运载。在数据流里,用AT命令发送ESC序列,这种机制是可供选择的。假如这个命令没被用,DLC默认设置为正常的AT命令模式。假如这个命令使用了,在DLCI字节指明的DLC,修改为用来运载特殊字节类型。这个命令的发起方,也可以查询每个DLCI的特殊服务。SNC的格式如下:16SNC格式

4 Service Value octet (optional)
Byte No. 1 2 3
[td=1,1,118]
5
Meaning Type field code Length DLCI
[td=1,1,118]
Voice Codec Value octet (optional)

Type域字节格式:17type域字节

Bit No. 1 2 3 4 5 6 7 8
signal EA C/R 0 0 1 0 1 1

Length字节包含值1或值3,它有一个或三个值字节。18DLCI字节

Bit No. 1 2 3 4 5 6 7 8
signal EA 1
[td=6,1] D L C I

DLCI字节的第2位没用,固定为1EA位,依据3.2.1.2的描述。19:服务值字节

Value Octet Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8
1 EA S1 S2 S3 S4 S5 S6 S7

EA位,依据3.2.1.2的描述。20:音频编码值字节

Value Octet Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8
1 EA V1 V2 V3 V4 V5 V6 V7

EA位,依据3.2.1.2的描述。21:服务值的各个比特位

Value Bit Service
S1 Data
S2 Voice
S3 Reserved
S4 Reserved
S5 Reserved
S6 Reserved
S7 Reserved

22:音频编码值的各个比特位

Value Bit Service
V1 Voice (coded – GSM 06.21)
V2 Voice (coded - PCM 64 kbit/s U-law)
V3 Voice (coded ADPCM 32kbit/s) ITU-T G.726
V4 Voice (coded halfrate)
V5 Voice (coded - PCM 64kbit/s A-law)
V6 Voice (coded PCM 128kbit/s)
V7 Reserved

发送方传输一个SNC命令,它的各个域,都设置成该特殊DLC可以使用的所有可能的服务的值。接收方用它选择的值的集合,以一个SN回应帧回复它。接收方构建回应帧的时候,必须遵守如下的规则:DLCI值不能变接收方可以而选择发送方提议的服务的子集,但不能是超集。接收方所选择的,才是有效的。假如接收方不支持发送方提议的任何服务,它把服务字节置回复。即使选择了数据服务,音频编码值字节也总要出现的(present)。这种情况下,该字节的V1-V7比特位,都置00值,意味着标准AT命令模式。假如命令里没有包含值字节,它被解释位一个请求,并且接收方用所有可能的服务回应。假如发送方认为回应是可以接收,也就是说,服务别特务都匹配(match),发送方根据服务,开始使用DLC。假如回应是不可接受的,发送方将发起另外一个修改了参数的PNC命令,直到最终协商好,或者向更高层传递失败的信息。假如DLC上没有执行过服务协商,它在标准AT模式下运行。这种情况下,一个来电的指示,在另一个(thatDLC上。发送方把保留位置0,接收方忽略这些保留位。3.4.7. 电源控制与唤醒机制
对各种类型的MS和一些TE来说,设备耗电非常少,这是非常重要的。比如,在非激活的条件下,进入各种省电状态,就能达到这个目标。假如TEMS都希望进入省电状态,MUX系统必须能够完全关闭。通过使用MUX的控制通道,来达到这个功能。
假如TEMS都希望进入省电状态,一个PSC命令在MUX的控制通道上,发送到另外一端。接收端接收到这个消息,将完全传输当前进行中的所有的帧,向上层报告一个忙或者电源关闭的情况,冻结所有的定时器,发送回一个PSC回应帧。当PSC命令的发起方,收到确认后,它就可以进入省电状态了。
每一端都可以发送PSC命令,请求另外一端进入省电状态。接收方必须用PSC回应帧,确认PSC命令帧,但不一定要遵从命令而进入省电状态。如果没有收到回应帧,发送方重发命令帧,但是,必须先执行唤醒流程。
每一端都可以从省电状态,通过发送由连续的标识字符组成的唤醒信号,发起唤醒流程。当另一端收到标识字符时,如果必要它将醒来(wake-up),并且发送标识字符。当发起端接收到这些字符后,它停止发送标识字符,并且开始传输第一个数据帧。当接收端检测到有效帧后,它将停止发送标识字符。两端都解冻它们的定时器,像以前一样继续运行。
假如T3时间内,唤醒流程收不到回应帧(连续的标识字符),将向上层发出一个警告,并且停止标识字符的传输。3.4.8. 流控3.4.8.1. RTR流控
12显示了DTEDCE的链接。本段定义的流控方案,同样适用于DTE-DTE的链接。07.10的两端都用RTRRFR/CTS)流控配置过。对本地应用程序来说,流控信号就是其他三个流控信号和对方设备的RTR信号的联合。标签为FCS1-FCS3的流控信号定义如下:FCS1
MSC命令或者type2的集成层的控制信号字节的第2位。每个DLCI都流控。FCS2
07.10通过控制通道命令FconFcoffbasic模式)聚合的流控。FCS3
07.10内部的缓冲区管理(implementation specific)
流控信号FCS1-FCS3跟对端的RTR信号组合在一起,产生了本地的RTR输入信号。比如,为了模拟DTE串口的CTS信号的表达式是:
DTE.CTS=DCE.RTRAND FCS1 AND FCS2 AND FCS3
moden状态命令(当使用集成层134)的第2位(FC)和第4位(RTR),或控制信号字节(当使用集成层2)的第2位(FC)和第4位(RTR, 流控模拟器复制了发送的RTR信号。[img=553,343]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image011.jpg[/img]3.4.8.2. XON/XOFF流控
当嵌入了XON/XOFF字符,一些07.10的实例可以检测来自本地应用程序的XON/XOFF字符。这种情况下,字符遵照07.10,但不发送给对端的07.10实例,比如XON/XOFF字符被过滤出来,流控信号作为07.10流信号传送,见图13[img=377,260]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image013.jpg[/img]
如果输出(output)使用了XON/XOFF流控,07.10将用XON/XOFF字符实现本地应用程序的流控,比如,XON/XOFF字符根据07.10流控信号(参见图14),被插进数据流。[img=375,304]file:///C:/DOCUME~1/chen/LOCALS~1/Temp/msohtml1/01/clip_image015.jpg[/img]3.5. 集成层Convergence Layer
集成层的定义,允许带结构的数据,通过MUX传输,不丢失结构和其他与数据流相关的参数。集成层通常用来通过一个DLC,运载V.24的状态,或者用来确保一个声音编码帧的边界受到保护。
集成层决定数据是否被ERM模式或者non-ERM模式的流程所运载。
特殊的集成层用于连接被使用的DLCI,但是可能通过MUX控制信道的使用,跟这些默认的DLCI进行协商。3.5.1. 类型1-未结构化的字节流
未结构化的字节流数据,比如64kbit/s的未编码的声音或者不带V.24控制信号的常规异步数据,被直接插入到I域。这种情况下,可以这样说,集成层是空的。
Type1是每个DLC的默认的集成层。3.5.2. 类型2-带参数的未结构化的字节流
传输V.24控制信号相关的一个数据流,它每个I域的第一个字节包括信号的状态,见下图。扩展位的使用,允许添加其他字节来满足其他的情况。目前,可选的第二个字节,被定义为处理中断信号的传输。

Bit No 1 2 3 4 5 6 7 8
Signal EA FC RTC RTR Reserved 0 Reserved 0 IC DV

15:控制信号的字节格式
控制信号字节的描述如下:
Bit1EA1表示本字节是该域的最后一个字节,其他字节EA位为0
Bit2DLC的流控(Flow Control)。Non-ERM模式下,设备不能接收帧时,置1ERM模式下,发送方,永远置0,接收方忽略它。
Bit3。准备好发送(Ready To Communicate)。设备准备好发送的时候,置1Bit4。准备好接收(Ready To Receive)。设备准备好接收数据的时候,置1Bit5/6。保留。发送方要置0,接收方忽略它。Bit7。来电(Incoming Call)标识。该位置1指明有个来电。Bit8。数据有效(Data Valid)。该位置1指明有效的数据正被传送。接收方和发送方的V.24控制信号字节的各BIT位,分别在表23和表24中。Table23: Mapping from the control signal octet by a receiving entity

Control Signal Byte DTE receiving
[td=2,1] DCE receiving
bit number, name signal V.24 circuit signal V.24 circuit
2, FC DLC flow control - DLC flow control -
3, RTC DSR 107 DTR 108/2
4, RTR CTS 106 RFR (note) 133
7, IC RI 125 ignored -
8, DV DCD 109 ignored -
NOTE Circuit 133, RFR (Ready for Receiving) is commonly assigned to the connector pin that is alternatively used for circuit 105, RTS. It is sometimes referred to by that name.

Table24: Mapping to the control signal octet by a sending entity

Control Signal Byte
[td=2,1] DTE sending
DCE sending
bit number, name signal V.24 circuit signal V.24 circuit
2,FC frame flow control - frame flow control -
3,RTC DTR 108/2 DSR 107
4,RTR RFR (note) 133 CTS 106
7,IC always 0 - RI 125
8,DV always 1 - DCD 109
[td=5,1] NOTE. Circuit 133, RFR (Ready for Receiving) is commonly assigned to the connector pin that is alternatively used for circuit 105, RTS. It is sometimes referred to by that name.

Non-ERM模式下,FC位为DLC提供帧的流控。如果一端不能接收数据帧了,比如,由于缓冲区管理的问题,它将置FC位为1。当它又能接收数据帧了,它将置FC位为0。如果一端接收一个FC位置1的数据帧,它将停止传输数据帧,直到收到一个FC位置0的数据帧。如果一端由于流控的原因,不能传输数据帧了,但它想自己停止接收数据帧,或者想在控制信号中发送一个改变信号或者想发送一个中止状态,它要继续发送不包含用户数据(比如只包括控制信号的字节和可选的中止信号的字节)的帧。ERM模式下,FC位没有用,将被发送方置0,被接收方忽略。如果一端已经不再(被防止)发送I帧,例如,正接收一个RNR帧,如果它想在控制信号中发送一个改变信号,或者想发送一个中止状态,它要继续发生一个不包含用户数据的UI或者UIH帧。

Bit No 1 2 3 4 5 6 7 8
Signal EA B1 B2 B3 L1 L2 L3 L4

16:中止信号的字节格式中止信号字节携带能让DLC检测出来的中止信息。其意义如表2525:中止信号的字节的含义

Bit Value Meaning
B1 1 Octet encodes a break signal
 0 Octet does not encode a break signal
B2 1 Discard data in buffers
 0 Do not discard data in buffers
B3 1 Transmit break signal onwards as soon as possible
 0 Transmit break signal onwards in sequence
L1-L4 4-bit value Length of break in units of 200ms

L1break length的最低位,L4是最高位。当一端接收到中止字节(break octet),它将处理这个信息,并用适当的方法传递它。这不在本文档论述范围之内。I域的其他字节包括该DLC所需的数据。3.5.3. 类型3-不可中断的帧数据
一个不可中断的帧数据的例子就是由连续的音频数据帧组成的音频编码数据。音频编码数据数据帧,带有完整的帧结构,在尽可能短的时延下,到达音频解码器,是非常重要的。最简单的把办法是确保把一个完整的音频数据帧放进一个I域中。在传输过程中,即使高优先级的数据在等待,这个数据帧也不能变短(shortened压缩?)。
在传输器(transmitter)那,数据的每个帧,都被插进一个I帧,UI帧或UIH帧的I域中。接收器作为完整帧,处理数据,传输它。
音频编码数据应该使用UI帧或UIH帧传输,因为重新传输的延时,通常是不能接受的。3.5.4. 类型4-可中断的帧数据
当时延不像type3那么重要时,这种类型的集成层,被用来传输有结构的数据。结构化的数据可以被分割成多帧,并且可以在另外一端重新装配。按PPP封装的IP数据,就是一个例子,它的数据可以运载在Type4的集成层上。
每个type4的数据帧的第一个字节是一个控制字节,如下图17

Bit No 1 2 3 4 5 6 7
Signal EA - - - - - B F

Figure17: Format of Type 4 octet
EA位以后扩展,如果需要用到多个字节时。这里设置为1
BF位用来指示该数据帧是一个序列的第一个数据帧,中间的数据帧或者最后一个数据帧。它的含义如下面表26所示。26B位和F位的含义

B F 含义
1 0 一个序列的第一帧
0 0 一个序列的中间帧
0 1 一个序列的最后一帧
1 1 数据完全被包含在一个数据帧中


注意1:假如其他的帧结构,比如第二层协议,已经包含在数据流中,按PPP封装的IP数据可以使用type1的集成层运载。
注意2:如果一个数据帧作为最后一个数据帧进行编码,或者所有的数据包含在一个数据帧中,数据帧不能被压缩,因为,压缩会导致帧头(header)含义的错误。构造不包含任何数据的数据帧作为最后一个数据帧,或者当数据帧需要压缩时避免使用11编码(11 code),是明智的。3.6. DLCI
默认情况下,所有DLC使用了type1的集成层。其他层的使用,可以通过MUX的控制通道进行协商。27DLCI分配表

用法Usage DLCI编号(10进制) Priority优先级
Multiplexer control channel 0 0
AT commands (07.07 and 07.05) 1-7 7
AT commands (07.07 and 07.05) 8-15 15
AT commands (07.07 and 07.05) 16-23 23
AT commands (07.07 and 07.05) 24-31 31
AT commands (07.07 and 07.05) 32-39 39
AT commands (07.07 and 07.05) 40-47 47
AT commands (07.07 and 07.05) 48-55 55
AT commands (07.07 and 07.05) 56-61 61
Reserved 62-63  


DLCI0为控制通道保留。
DLCI62basic模式下BOFCEOFCETSI目的保留,也只能这么用。
DLCI63HDLC模式下的ETSI目的保留(由于特别的含义),也只能这么用。
DLC指定优先级的信息的缺省情况下,使用这个表。3.7. 系统参数
MUX定义了下面这些的系统的参数。T1N1N2k可以通过控制通道进行协商,或者用这里给的默认值。T2T3通过AT+CMUX命令进行设置。3.7.1. 确认时间T1
T1就是通道一端在采取其他动作(比如重发)之前,等待确认信息的时间。通道两端可以有不同的T1值。
单位是毫秒。Times of up to 2.55 seconds may be used.默认值是100ms,最小值是10ms3.7.2. 帧的最大长度N1
N1定义了帧的信息域,能容纳的字节的最大数量。它不包括为了透明而增加的字节。
默认值是64字节(advanced)或者31字节(basic),范围是1-32768
注意:如果使用了a Type 2 convergence layerN1要小心选择了。帧必须足够大,以包含完整的协议帧。3.7.3. 最大重发次数N2
N2定义了重发的次数。通道两端可以有各自不同的N2值。默认值是3,范围是0-2553.7.4. 窗口大小k
窗口大小参数k定义了一个DLC能理解的最大的I帧的数目。不同的方向,需要用同一个值。窗口大小不能大于7
这个参数只使用于错误恢复模式激活的情况下。
默认值是2,范围是1-73.7.5. 控制通道的响应时间T2
T2就是MUX的控制通道重发一个命令前的等待时间。T2必须大于T1。单位也是毫秒。Times of upto 2.55 seconds may be used.
默认值是300ms,最小值是20ms3.7.6. 唤醒流程的响应时间T3
T3就是发送端在无响应报警之前,对省电唤醒命令所等待的时间。
单位是秒。Times of up to 2.55 seconds may be used.
默认值是10s,最小值是1s3.8. 启动和关闭MUX
启动MUX使用+CMUX命令。这个命令指明了启动MUX,使用的ERM还是non-ERM。发送SABM,初始化DLCI 0。然后,使用同样的3.4.1的流程,建立其他的DLCMUX可以跟已经建立的DLC,协商参数。
关闭MUX,可能有TEMS端发起。先要用3.4.2的流程,释放除了DLC 0的所有DLC。然后,MUX通过控制通道,发送一个关闭的消息。这个消息被双方确认后,就退出了多串口模式。如果在T2时间内收不到对方对关闭命令的回应,发起方必须重发关闭命令,如果在T3的时间内还收不到,必须强行关闭。4. Error Recovery Mode错误覆盖模式,用的不多,但是比没有覆盖模式安全,并且只能在高级模式中使用。帧模式是I帧。在这里不做介绍。 英文版[attach]3395[/attach]
------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值