• 1.71 MB
  • 2022-04-22 13:38:05 发布

DLT790.51-2002采用配电线载波的配电自动化第5部分:低层协议集第1篇:扩频型移频键控(SFSK)协议.pdf

  • 47页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'DL/T790.51一2002前言本标准根据国家经贸委电力【2000]22号文下发的《1999年度电力行业标准、修订计划项目表》第28项制定。本标准等同采用国际电工委员会标准IEC61334-5-1:2001《采用配电线载波的配电自动化第5-1部分;低层协议集一扩频型移频键控‘SFSK)协议》。随着我国城乡电网改造事业的发展,对配电自动化的要求已日益迫切。和传输配电自动化信息的其他通信方式相比,配电线载波可以降低建设投资和运行费用,便于管理,是一种经济实用的通信方式。配电电压不高,但电网结构复杂,信号传输衰减大,针对配电网信号传输特点,1995年起,国际电工委员会陆续发布了IEC61334系列的国际标准或技术报告。IEC61334《采用配电线载波的配电自动化》标准文件系列包含以下5部分:IEC61334-1第1部分:总则IEC61334-3第3部分:配电线载波信号传输要求IEC61334-4第4部分:数据通信协议IEC61334-5第5部分:低层协议集IEC61334-6第6部分:A-XDR编码规则每一部分包含若干篇。到制定本标准时止,有20余篇已发布、在制定或在计划中。第5部分包括以下5篇。本标准采用的是其中第1篇。IEC61334-5-1低层协议集一扩频移频键控(S-FSK)协议IEC61334-5-2低层协议集一移频键控(FSK)协议IEC61334-5-3低层协议集一扩频自适应宽带(SSAW)协议IEC61334-5-4低层协议集一多载波调制(MCM)协议IEC61334-5-5低层协议集一扩频快速跳频(SSFFF)协议我们拟逐步将这些标准文件采用为我国电力行业标准或标准化指导性技术文件。本标准的附录A是标准的附录。本标准由国电力系统控制及其通信标准化技术委员会提出并归口。本标准由中国电力科学研究院负责起草,国家电力公司电力自动化研究院、北京供电局、四方研究所、烟台东方电子信息产业集团公司参加起草。本标准主要起草人:刘佩娟、谭文恕、徐石明、昊福保、赵进f41、焦邵华、马君华。 DL/T790.51一2002IEC前言1)国际电工委员会IEC是一个由各国家电工委员会(IEC国家委员会)组成的国际性标准化组织。IEC的目的是在与电气电子领域标准化有关问题上促进国际间合作。为了这个目的及其他工作,IEC发布国际标准。标准编制工作委托技术委员会进行。任何对该题目感兴趣的国家委员会以及与IEC有联系的国际的、政府的和非政府的组织都可以参加编制工作。IEC与国际标准化组织IS(〕间按两组织协议规定的条件实现了紧密合作。2)由所有特别关切的国家委员会派代表参加的技术委员会所制定的国际电工委员会有关技术间题的正式决议或协议,尽可能接近地表达了对涉及问题的国际间协商一致的意见。3)这些决议或协议以国际标准、技术报告或指导文件的形式出版,作为建议供国际使用,并在此意义上为各国家委员会接受。4)为促进国际间的统一,国际电工委员会各国家委员会应在最大可能范围内直接采用国际电工委员会标准作为他们的国家或地区标准。国际电工委员会标准与相应国家或地区标准间任何不一致处,应在后者文字中明确指出。5)国际电工委员会对任何声称符合它的某个标准的设备不设表示认可的标志申请程序,也不为此承担责任。6)注意到本国际标准的某些部分可能属专利权内容,国际电工委员会不承担辨别任何或所有这类专利权的责任。国际标准IEC61334-5-1由国际电工委员会57技术委员会(电力系统控制及其通信)编制。本第2版对1996年发布的第1版技术报告在技术上作了修改。它废止并代替第1版,现已成为国际标准。本标准的文本以下列文件为基础:最终草案投票报告57/512/FDIS57/523/RVD本标准投票通过的全部情况可见上表中的投票报告。本标准按ISO/IEC导则第3部分编制。附录A是标准的附录。委员会决定本标准的内容到2010年保持不变,届时,本标准将:—再确认;—撤消;—以修订版代替,或修改。 中华人民共和国电力行业标准采用配电线载波的配电自动化DL/T790.51-2002第5部分:低层协议集idtIEC61334-5-1:2001第1篇:扩频型移频键控(S-FSK)协议Distributionautomationusingdistributionlinecarriersystems-Part5-1:Lowerlayerprofiles-Thespreadfrequencyshiftkeying(SFSK)profile总则1.1范围和对象本标准描述了物理层实体和介质访问控制(MAC)子层提供的服务相关的扩频移频键控调制(S-FSK)的要求。传输介质假定是中压和低压配电网。本标准中所描述的MAC子层和IEC61334-4-32中描述的逻辑链路控制层(LLC)相接口。调制、物理层和介质访问控制子层三部分互相匹配,可达到最佳性能价格比。本标准中描述的协议是IEC61334-5系列中的一个,IEC61334-5是设计用于配电网数据传输的协议集。考虑到该领域技术的不断发展,这些协议起先被当作类型2的技术报告出版,以便把在实际中应用成功的协议变成标准。1.2引用标准下列标准所包含的条文,通过在本标准中引用而构成本标准的条文。在标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。GB/T9387.1-1998信息处理系统开放系统互连基本参考模型第1部分:基本模型(idtISO/IEC7498-1:1994)GB/T9387.3-1995信息处理系统开放系统互连基本参考模型第3部分:命名和编址(idtISO/IEC7498-3:1997)DL/1790.41-2002采用配电线载波的配电自动化第4部分:数据通信协议第1篇:通信系统参考模型(idtIEC61334-4-1:1996)IEC61334-1-4:1995采用配电线载波的配电自动化第1部分:总则第4篇:中低压配电网的数据传输参数IEC61334-4-32:1996采用配电线载波的配电自动化第4部分:数据通信协议第32篇:数据链路层一逻辑链路控制IEC61334-4-511:2000采用配电线载波的配电自动化第4部分:数据通信协议第511篇:系统管理-CIASE协议IEC61334-4-512:2001采用配电线载波的配电自动化第4部分:数据通信协议第512篇:使用61334-5-1MIB的系统管理EN50065-1:1991频率在3kHz至148.5kHz的低压电力设备上的信号第1部分:通用要求,频带和电磁骚扰1.3定义ISO7498-1和EN50065-1中的定义适用于本标准。中华人民共和国国家经济贸易委员会2002-04-27批准2002-09-01实施 DL/T790.51-20022调制2.1目的S-FSK是一种调制和解调技术,它结合了传统的扩频系统的一些优点(如:对窄带干扰的抗扰性强)和传统的移频键控系统的优点(简单,易实现)。2.2扩频移频键控(SFSK)原理信号发送机指定空号频率fS为“数据0",传号频率fm为“数据1"oSFSK和传统FSK的区别在于fS和fm彼此的距离拉远(“扩展,’)。通过增大空号频率信号和传号频率信号的距离,使它们的传输质量互相独立(这两个频率点的窄带的午扰强度和信号衰减都互相独立)。接收机在两个可能的频率(半通道,half-channels)上执行常规的FSK解调,产生了两个解调信号ds和dm。如果这两个半通道的平均接收质量相近(见图1),码元判决根据两个解调信号的高低做出判断(若ds>dm,则为“数据0";若dsl0kHzofm和fS应位于EN50065-1标准定义的频带内。2.4性能测试2.4.1目的通过不同的性能测试保证实现的质量。测试在实验室条件下进行,应可重复。BER(比特差错率)的测量是通过传输一个前导码,一个帧定界符和一个38字节的数据块进行的,假定没有发生帧同步错误。BER是按数据块中的误码计算的。在进行下面所描述的测试时,接收机输人信号的范围应该在2mV,f-2V4t之间。不同种类的干扰信号叠加在被传输信号上。 DL/T790.51-20022.4.2白噪声BER测试高斯白噪声叠加在传输信号上。No厂W/HZ]为在人一几,人和大+几频率点时,接收机输人端测量的噪声功率频谱密度,应保证噪声频谱在f一fa和f+几之间是平坦的。EbLWs〕为每比特接收信号的功率。Eb=砚,V,是在接收机输人端被传输信号的真有效值(均方根值)。有效值电压表的带宽应能覆盖信号的全部频率范围。通道可能因两个传输信号频率不同(不同的噪声电平和不同的衰减)而性能不同,所以使用不同的信号电平进行叠加白噪声(AWGN)测试。Eb是传输逻辑"1”时接收到信号的功率;Ebo是传输逻辑"O.>时接收到信号的功率。每比特的平均功率是Eb=(Eb,+E淤/2e两个信号功率电平的比是功率比x,二二Ebl/Ema为达到规定的BER,Eb/N。值应小于表1中的数值。表1达到规定BER的允许最大Eb/N。值BER一5dBOE())寻找同步P_Sync.request(State)无操作寻找同步Init_Time_slot()Init_Counter(synchronisation-confirmation-time-out)服务器接寻找同步Synchm_Found(Delta-Phase)Set_Delta_Electrical_Phase(Delta-收物理帧Phase)P_Sync.indication(SYNCHROFOUND)服务器空闲P-Sync.request(State=明ected)无操作寻找同步服务器检服务器空闲Time_Slot()无操作查接收物理帧P_Data.request(P_sdu)P_Data.confirm(P_Tstat二check服务器空服务器空闲andCheck()OOK())闲Build_P_Frame(P_Data.request(P_sdu)Preamble=九、、八日准备物理服务器空闲andCheck()=OKS])二54C7H帧等待发送Psdu)服务器检查接服务器接Preamble_SSD()=OK无操作收物理帧收物理帧服务器检查接服务器空Preamble_SSD()OOK无操作收物理帧闲服务器接收物End_Receiving()and服务器空P_Data.indication(P_sdu)理帧SyncCon〔二FALSE闲准备物理帧等发送物理Time_Slot()无操作待发送帧服务器空发送物理帧End_Sending()P_Data.confirm(P_Tstat=OK)闲 DL/T990.51-2002表3客户物理层转换表初始状态事件操作最终状态等待物理层local_Status()=OK等待过零无操作就绪andIsserver()=FALSE点InitTimeSlot等待过零点Zero_Crossing()客户空闲PSync.indication(SYNCHROFOUND)等待过零客户空闲P_Sync.request(State=Rejected)无操作点Write_Request()Write_Conf(P_Tstat=Check_Write客户空闲客户空闲andCheckWrite()<>OK())Read_Request()客户空闲Read_Conf(P_Tsta=Check_Read())客户空闲andCheckRead()<>OKWrite_Request(nvu,receiving-gain)Set_Value(coax-receiving-gain)客户空闲客户空闲andCheckWrite()=OKWrite山可(P_Tstat-OK)Read_Request(~一~iving-gain)客户空闲Read一《)二,of(max-receiving-gain)客户空闲andCheckRead()=OKBuild_P_Frame(P_Data.request(P_sdu)Preamble=AAAAH准备物理客户空闲andCheck()二OKSSD=54C7H帧等待发送P_sdu)P_Data.request(P_sdu)客户空闲P_Data.oonfirm.(P_Tstat=Check())客户空闲andCheck()<>OK客户检查客户空闲Time_Slot()无操作接收物理帧客户检查接客户接收Preamble_SSD()=0K无操作收物理帧物理顿客户检查接Preamble_SSD()<>OK无操作客户空闲收物理帧客户接收物End-Receiving()P_Data.indication(P_sdu)客户空闲理帧准备物理帧发送物理Time_Slot()无操作等待发送帧发送物理帧EndSending()P_Data.confirm(P_Tstat二OK)客户空闲3.5.5转换表描述3.5.5.1物理层状态物理层定义了11种状态:—CONFIG:等待物理层就绪(硬件配置)。 DL/T790.51-2002—S_IDL:服务器空闲状态。—C_IDL:客户空闲状态。-LFS:寻找同步。—WFZC:等待过零点。—S_RPF:服务器接收物理帧,S_RPF.C用于检查前导码和起始子帧定界符,S一PRF.R接收P_sdua-C_RPF:客户接收物理帧,C_RPF.C:用于检查前导码和起始子帧定界符(SSD),C_RPF.R接收P_sduo一一SPF:发送物理帧,SPF.W准备物理帧和等待下一个时间片,SPF.S发送整个物理帧(前导码,S]〕和P_sdu),暂停除外。在S_IDL和LFS状态,物理层实体准备就绪接收和处理到来的P_Sync同步原语。在S_IDL,LFS和C_IDL状态,物理层实体准备就绪接收到来的P_Data数据原语,但是在LFS状态不能处理它们。在SPF.W状态,物理层把起始同步码(AAAAH)和起始子帧定界符(54C7H)加在收到的P_sdu前面,然后等待下一个时间片。在SPF.S状态,发送相应的42个字节(2十2+38)。暂停时间是由等待下一个时间片来完成的。在S_RPF.C和C_RPF状态,物理层检查前导码和起始子帧定界符是否正确。也为接收定义最佳的解调模式[详见2.2扩频移频键控(SFSK)的原理〕。在RPF.R状态,它接收P_sdu的38个字节。暂停时间不考虑在内(等待下一个时间片)。在LFS状态,物理层寻找前导码+起始子帧定界符(AAAA54C7H)。它也测定三相交流电的相位。3.5.5.2状态表注释3.5.5.2.1物理原语注释本条定义物理原语状态表中的缩略语,这些原语在MAC子层和系统管理应用实体间传递:—P_Tstat:用P_Data.confirm原语传给MAC子层的传输状态,及采用Write_Conf()或Read_Conf()管理原语传给系统管理应用实体的传输状态。—P_sdu:通过一个P_Data原语和MA(:子层交换的物理服务数据单元。3.5.5.2.2物理协议数据单元注释本条定义了状态表中有关与MAC子层交换的物理协议数据单元的缩略语。-SSD:物理帧的起始子帧定界符,等于十六进制54C7o3.5.5.3物理管理变量物理管理变量是处理过程中物理子层实体读或写的变量集。表4罗列了服务器和客户的物理管理变量,它们用在S-FSK扩频型移频键控协议中。这些变量用于系统管理。在DCP中,服务器物理管理变量被链接到管理信息库(MIB)的DLMS的对象(详见IEC61334-4-512)0表4物理管理变量物理管理变量所属系统物理子层实体用系统管理应用实体可用Delta-electrical-phaseServerWriteReadNlax-receiving-gainServer/ClientReadWdto通过Write_Request()和Read_Request()管理原语,DCP的系统管理应用实体可以在本地访问这些变量。详见IEC61334-4-5110 DL/T790.51-20023.5.5.4状态函数3.5.5.4.1Check()Check〔)函数的返回值,表明用P_Data.request原语所传输的P_sdu的成功或者失败和所要求的资源的可用性。可能的返回值:-OK:P_sdu的长度等于38字节,资源可用。—LP-Ti:资源暂时不可用。—LP-NI:本地的物理层没有完成所请求的服务。—LP-HF:硬件故障。—LPNS:物理层未同步。—LP-SE:P_sdu的长度不等于38字节。3.5.5.4.2Check_Read()Check_Read()函数返回Read_Request()管理原语处理的成功或者失败的值。可能的返回值:—OK:参数域处理成功,资源可用。—LP-NI:本地的MAC子层没有完成所请求的服务。—LP-TU:本地资源暂时不可用。-LP-SE:提交的原语句法错误。—LP-HF:硬件故障。3.5.5.4.3Check_Write()Check_Write()函数返回Write_Request()管理原语处理的成功或者失败的值。可能的返回值:一州〕K:参数域处理成功,资源可用。—LP-NI:本地的MAC子层没有完成所请求的服务。—LP-TU:本地资源暂时不可用。—LP-SE:提交的原语句法错误。—LP-HF:硬件故障。物理子层实体实现的其他控制方式不在本标准范围之内。3.5.5.4.4End_Receiving()End_Receiving()函数是物理层在接收到前导码和起始子帧定界符的字节后,又接收到38个字节(P_sdu)时产生的一个事件。3.5.5.4.5End-Sending()End_Sending函数是物理层在发送了42个节字(Preamble+SSD+P-sdu)后产生的事件。3.5.5.4.6Is_Server()如果本物理层做为服务器的物理层,IS_Server()函数返回TRUE。否则,Is_Server()函数返回FALSE,该函数检查一个由管理应用设置的管理变量3.5.5.4.7Local_Status()如果所有保证发送或接收的条件都满足(例如:50H7同步,波特率),则Local_Status函数返回VALID。否则,返回INVALID,该函数检查定义波特率的管理变量和校验硬件初始化。3.5.5.4.8Preamble_SSD()如果接收到的4个字节等于前导码(AAAAH)和起始子帧定界符(540H),PrezmbteSSt〕函数 DL/T790.51-2002返回OK。否则不返回OK。这个函数在S_RPF.C或C_RPF.C状态时接收到4个字节后产生一个事件。3.5.5.4.9Read_Request()该事件对应于一个管理原语,该原语由系统管理应用实体(SMAE:参见IEC61334-4-512)在对服务器或客户物理管理变量(见3.5.5.3)提交读操作时产生。Server-Physical-Management-Variable自变量意味着对服务器物理管理变量(delta-electrical-phase)进行Read_Request(读请求)。3.5.5.4.10Synchro_Found(Delta_Phase)Synchro_Found函数是物理层在完成同步后立即产生的事件。该事件同时返回三相交流电的相位的计算值。相位定义了6个值。这些值列举在IEC61334-4-512中。3.5.5.4.11Time_Slot()Time_Slot函数是由物理层为每一个时间片产生的事件。该事件实际是在实现同步后系统地产生的。3.5.5.4.12Write-Request()该事件是由系统管理应用实体(SMAE:参见IEC61334-4-512)为提交物理管理变量max-receiving-gain的写操作所产生,该变量由物理层实体读取。3.5.5.4.13Zero-Crossing()该事件在配电网交流电压过零点时产生。3.5.5.5操作描述3.5.5.5.1Build_P_Frame()Build_P_Frameo函数建立一个物理帧,即将前导码和起始子帧定界符加在从MAC子层发送来的P_sdu前面构成。3.5.5.5.2Init_Time_Slot()Init_Time_Slot函数初始化生成时间片。3.5.5.5.3Set_Delta_Electrical_phase(Delta_Phase)Set_Delta_Electrical_phase函数用提交的值初始化MIB的变量Delta一Electrical_Phase.3.5.5.5.4Set_Value(PHY_Management_Variable)Set_Value()函数通过Write_Request()事件提交物理管理变量的值。3.5.5.5.5Read_Conf()Read_Conf()函数产生一个原语,指定给系统管理应用实体使用。这个原语包含对上一次接收的Read_Requesto原语的处理结果。3.5.5.5.6Write_Conf()Write_Conf()函数产生一个原语,指定给系统管理应用实体使用。这个原语包含对上一次接收的WriteRequest()原语的处理结果。4介质访问控制子层(MAC)4.1MA(服务规范4.1.1目的本条规定由介质访问控制(MAC)子层向逻辑链路控制(LLC)子层(见图5)和系统管理应用实体所提供的服务。下面是这些服务的抽象描述。4.12特点MAC}f层仅为上层协议提供访问手段,上层协议负责管理系统间的时间共享。任何时候,应只有一个系统能够传输。 DL/T790.51-2002LL(逻辑桩路控制子层MAC介质访闷控侧子层钧理层图5参考模型的关系4.1.3服务概述MAC子层提供了两类服务。4.1.3MA_Data服务MAData服务允许LLC子层实体和对等LLC子层实体交换LLC!数据单元(见图6).类似于()SI模型,提出了三个基本原语。-MA一Data.request,MAC数据请求原语。—MA一Data.confirm,MAC数据确认原语。—MA一Data.indication,MAC数据指示原语。图6描述了在一个本地站和两个远方站之间MA-Data原语的交换。下面也给出了对图6的解释。UJC子层MAC子层钧理层物理层MAC于层LLC子层远方站l远方站2木地站远方站图6MAData服务原语第一个远方站(图6的上部)并不产生MADataindication,因为收到的P_Data.indication原语 DL/T790。51se2的2并不是发给该站的。但是,这个工作站被配置成转发器,将收到的帧转发(当前可信值>0)。这就是M叭C子层在收到P_Data.indication后发出P_Data.request原语的原因。第二个远方站(图6的下部)产生一个M九_Data.indication,因为收到的P_Data.indication原语是发给该站的。这个系统不再产生P_Data哟uest原语,因为该站未设置成转发器,或接收到帧的当前可信域的值等于04.1.3.ZMA_Sync服务侧叭_5夕1c服务允许向系统管理应用实体通告同步和配置状态。MAC子层只提供了一个原语M了、_Sync.indication。4.1,4MA_Data.request4.1.4.1功能该原语定义了从一个本地的LLC子层实体向单个或多个(组地址的情况)对等的LLC实体的数据传输。4.1.4.2结构该原语的语法如下:MA_Data.r氏ILIest(L犯stination_address,M_对u,Serviceclas)1沁stination_addres参数可规定一单个MAC地址,或一个组M叭C地址。系统管理应用实体(SMAE)提供和目的地址相关的IC和1兀可信域给MAC子层实体。MAC子层实体把这些元素包括在帧头里。SMAE不提供CC可信域,因为MA〔:子层实体自己会自动把它插人进去。注1源地址(SA)没有规定,因为它是一个本地参数,MAC子层自己会根据协议规则填写。2在IEC61334一4一1参考模型里定义了单个地址和组地址。侧叭〔组地址或者是MAC地址(NOBODY,ALL~二figu曰和八上L侧wsi回),或是定义在二~召欢川卜addr姗污h认C管理变量中的组地址。3NEW地址做为未配置服务器的单个MAC地址。M_就u(MAC服务数据单元)参数规定由MAC子层实体传输的MA〔:服务数据单元。对MAC子层实体有足够多与M_刘u相关的信息以决定数据单元的长度。段脚让e_d哪参数应等于0。其他的值保留为将来拓展用,不在本标准中定义。4·1·4.3使用每次当LLC子层实体有数据要传输给对等的LLC实体或多个对等的实体时,由Ll无子层实体产生该源语。它可能作为对更高层协议请求的响应。一接收到此原语,将引起M叭C实体建立一个帧,称为MAC帧。MA〔!子层实体添加全部MAC特定域,并把建立好的子帧传给协议的下一层,以传输给对等的州胜C子层实体或多个对等的实体。4.1.SMAData.C0lfirm4.1.5,1功能该原语只在本地有意义,给发出M八一Data.叫uest原语的Lc子层实体一个适当的应答。MA_Data.connrm原语告诉LLC子层实体,是否物理层成功传输了先前MA_Datarequest原语的P_sduo4.1.5.2结构该原语的语法如下:MAI)ata.田nfirm( DL/T790.51-2002Transmissionstatus)Transmission_status参数用来回传状态信息给本地请求的LLC子层实体。指示先前相关的MAData.request原语是成功或者失败。下面是Transnunission_status可能的返回值:一一~()K:尚未发现错误。—LM-TU:MAC子层的资源暂时不可用。—LM-Nl:MAC:子层资源未建立或未激活。—LM-HF:MAC子层硬件故障。—LM-SE:MA(:子层句法错误。—由物理层返回可能的Transmission_status值之一。4.1.5.3使用对来自本地LLC子层实体的MA_Data.request的应答时产生该原语。假如LLC子层有足够的信息可用,则把确认的信息和相应的请求相关联。4.1.6MAData.indication4.1.6.1功能该原语定义了从MAC子层实体到LLC子层实体的数据传输。4.1.6.2结构该原语的语法如下:MA_Data.indication(Destination_address,Source_address,Msdu)Destination_address参数可以是一个单地址,也可以是一组MAC地址,由接收帧的DA(目的地址)域确定。Source_address参数是一个单地址,由即将到来的帧的SA(源地址)域来指定。M_sdu参数规定了由本地MAC子层实体收到的MAC服务数据单元。4.1.6.3使用MA_Data.indication从MAC子层实体传递到LLC子层实体,通知已有一帧数据到达本地MAC子层实体。在一个服务器系统中,仅当下列条件满足时帧才上报:—帧的格式是合法的。—接收过程没有错误。系统未配置(它的mac-address等于NEW),收到的MAC帧的目的地址与NEW地址、与预定义的ALL-physical组地址或与在mac-group-addressesMAC管理变量中的组地址中的一个地址相符。—系统已配置(它的mac-address不等于NEW),目的地址通过它的专用地址(mac-address)或通过一个不等于NO-BODE的组地址(ALL-physical,ALL-configured或包含在MAC管理变量rnac-group-addresses中的一个地址),指定本地MAC实体。若服务器系统在“锁定”状态中,就要进行另外检验。目的是检查收到的MAC帧的源地址。如它不等于包含在initiator-mac-addressMAC管理变量中的地址,接收的帧就不传给LLC子层实体。若服务器系统不在锁定状态,就不对接收帧的源地址域进行检验。 DL/T79(1.51-2(102在一个客户系统中,只要帧格式有效并接收无错就上报。4.1.7Ma_Sync.indication4.1.7.1功能该原语定义状态信息由MAC子层实体向系统管理应用实体传输。4.1.7.2结构该原语的语法如下:MA_Sync.indication(SynchronisationState,SynchroLossCause:(五>tional,SourceAddress:Optional,DestinationAddress:Optional)SynchronisationState参数指示物理层的同步状态。该参数可能的值为:—SYNCHRO_FOUND:物理层实体已找到一个同步基准。—SYNCHRO_LOSS:物理层实体失去同步基准。—SYNCHRO_CONF:接收帧特征〔)K:确认同步。SynchroLossCause参数是可选的。仅当SynchronisationState参数的值设置为SYNCHR(〕一LOSS才出现。它表明失去同步的原因。可能的返回值是:—synchronisation-confirmation-time-out:失去同步是因为synchronisation-confirmation-time-out计数器溢出。—time-out-not-addressed:失去同步是因为time-out-not-addressed计数器溢出。—time-out-frame-out-OK:失去同步是因为time-oat-frame-not-OK计数器溢出。一-Write_request:失去同步是因为一次对MACManagement变量的写操作【写new-synchronisation变量,写mac-address变量(置成NEW)1.-wrong_initiator:同步被拒绝是因为接收的帧的地址域与initiator-mac-addressMACManagement变量的内容不符合(如它的内容不等于NO-BODY)}SourceAddress和DestinationAdd~参数是可选的。仅在下列情况下出现:—SynchronisationState参数置成SYNCHRO_LOSS,并且SynchroLossCause参数置成wrong_initiator,或—SynchronisationState参数置成SYNCHRO_CONF.SourceAddress和DestinationAddress参数可以是一单个地址,也可以是一组MAC地址。它们对应于接收的MAC帧的SA和DA地址域。4.1.7.3使用MA_Sync.indicat。原语由MAC子层实体传给系统管理应用实体,用以指示同步和配置状态的改变。一个包含着SYNCHItO_FOUND提示的MA_Sync.indication原语将总是跟随有第土个MA_Sync.indication原语。这个原语会提供一个对同步过程的肯定或否定确认。但是,若产生了MAData.indication原语,就不再传输第二个MA_Sync.indication。后者与同步过程的肯定确认相联系。4.2MAC帧结构本条详细定义了使用DCPMAC规程的数据通信系统的帧结构。它定义MAC帧的各个组成部分和它们的相对位置。可定义几种不同的MAC帧。本标准的目的是描述长MAC帧的结构。可定义的其他MAC帧类型(有3种之多)本标准不作描述。 DL/T790.51-2002不管何种MAC帧的类型,MAC子层建立和处理的MAC协议数据单元(M一pdu),其长度都为38个字节。这些M_pdu以称为帧指示器的两字节的域开始(见图7)。该域指出MAC帧的类型,并是MAC:协议控制信息(M_pci)的一部分。根据规定,一个M_pdu被称作MAC子帧。FT(帧指示器)域后紧接着是36个字节的数据,在发送时它由MAC:子层提供,在接收时由物理层提供。M冈u=Psda/11夕子顿指示器Data2宇节36字节图7MAC子帧格式4.2.1顿指不器帧指示器(FI)参数用两个比特信息定义帧的类型。值00代表长MAC帧。保留01,10,11为将来扩展用。帧指示器参数有它自己的差错纠正码来保证安全。帧指示器为2个字节长。FI的信息由2个比特组成:[bi,坑〕,内容如下bi坑00长MAC帧01保留10保留11保留通过使用一个(8,1)重复码,每个信息比特都编码成一个8bit(1字节)代码字,,=bib,bib,bib,bibsc2=bb2b2b26262b262(8,1)重复码可纠正3个差错(通过多数判决),可检测到4个差错(若0比特数和1比特数一样多)。4.2.2长MAC帧格式本标准描述了一种MAC功能模型,只处理长MAC帧格式。当MAC子层从LLC子层接收服务级别等于0的MA_Data.request原语时,就建立一个长MAC帧。当MAC子层从物理层接收一个P_sdu=M冈u,以及帧指示器域的值为0时,就处理长MAC帧结构。一个长MAC帧结构,可由几个38个字节的M-冈II组成(可多达7个),这些M一pdi〕通常称作MAC子帧。这个结构包含单个MAC服务数据单元(M_sdu)o长MAC帧的长度是变化的。所含子帧的数目取决于M_sdu的长度。一个MAC子帧是38字节,等于一个单个的M_pduo长MAC倾包含下列域〔见图8,图9、图10)0—子顿数(NS):2个字节。—初始,当前和差值可信值(IC,CC,DC):1个字节。—源地址和目的地址(SA,DA):3个字节。—填充长度(PQ:1个字节。 DL/T790.51-2002核头:7字节初始当前差值子栩盈A犷黔73lfbAit7黔嘿0黔植头孩招=Msdu城充FCSM人(子帕FT}植头坟充}FCS2字节36字节M少du-38字节图8只有一个子帧的长MAC帧—数据域(Data):可多达242个字节。—填充域(Pad).—帧校验序列(FCS):3个字节。子帧数、可信值域、地址域和填充长度合起来称作帧头(FE).帧头、帧校验序列和帧指示器组成长MAC帧的协议控制信息(M_pci).一个长MAC帧可分成几个子帧。第一个子帧包含着帧头。每一子帧都以2个字节的值等于0的帧指示器域开始。4.2.3长MAC帧的元素4.2.3.1可信值域DO〕使用具有可信值转发的原理向远方用户传输。当启动发送时初始可信参数包含初始可信值。当前可信参数包含当前的可信值。当前可信值为0的帧,则不被转发。被正确接收帧的当前可信值大于0则被转发,并且当前可信值减1.收到一正确的帧后,CC(当前可信值)域的值表示这次传输后尚可传送帧的次数。例如,若CC=2,意味着还可转发两次MAC帧。接收的MAC帧的DC域(差值可信值域)仅对客户系统有用。表示由DA(目的地址)所识别的系统和SA源地址)所识别的系统最后一次通信的差值〔IC-CC)(初始可信值一当前可信值)。客户系统的系统管理应用实体用它进行可信值管理。对于服务器系统来说,DC域没有意义,这就是为什么客户系统传输的MAC帧的DC域被强制置成0.4.2.3.1.1SMAE可信值管理的说明建立MAC顿时,IC和DC可信值由系统管理应用实体(SMAE)来提供。可信值取决于目的地址。第一次被传输的MAC帧的CC:值总是等于其IC值。当接收一帧时,MAC子层实体给SMAE提供IC,cc和DC可信值,及相应的SA地址。然后SMAE更新被称为reception-credits-array的本地管理变量。SMAE是管理发送和接收可信值的实体。19 DL/T790.51-2002核头:7宇节当前差值子峨盆7黔731fbi%t7黔澎一黔gl梦城头盆据=Msdu城充FCS二}7宇节}fit字节:字节:l}一一!l}}}lFl顿头橄据}一一一}}一一}}MAC子核2月}盆据坟充}FCS33字节MPdu2=38字节图9由2个子帧组成的长MAC帧建立MAC帧时提交给MAC子层实体的可信值是由SMAE更新的数组中摘取的。该数组称作sending-credits-array数组。reception-credits-array和sending-credits-array都是本地管理变量,SMAE使用它们进行可信值管理。对SMAE可信值管理功能规范不属于本标准的范围。a)服务器SMAE的可信值管理服务器系统对客户系统的请求做出应答时,通常建立一个MAC帧,其IC值等于上一次收到的MAC帧的IC值。DC:域的内容是根据接收到相应请求的MAC帧而计算出的差值(IC-CC)。服务器SMAE并不使用收到帧中的DC域,DC一域只对客户SMAE有效。注:当收到CMSE服务时,SMAE并不遵循相同的规则。用于响应discover服务所使用的IC值并不等于收到MAC帧的IC值。(详见IEC61334-4-511)0b)客户SMAE客户系统需要知道从服务器来的MAC帧的所有可信值参数(IC,CC,DC)。这些信息对客户SMAE是必要的,用以决定下一次传输将使用的IC值。该值决定于多个条件,这些条件是特定算法的 DL/T790.51-2002帕头:7bit吟子溯阅M}3bR-loi%t一Tn36i,iot{wM2ib*it一N12AbiXt目的地址度---一乙L彭-字-节哪1字节3字节致据Msdu坟充长MA(帧帧头i7"一I"63...242f"V寸一一一3*卜--.-一一.」I36字节1-子一1,·{,一月一~一一129字节1月-一一一---叫MPdul=38字节IMAC子帕2吓FII36Oqm,36字节!月—一一一一叫MPdu2=38字节MAC子倾n33字节MPd-38字节图10由超过2个子帧组成的长MAC帧课题。对于这些算法的详细说明不属于本标准的范围。注1接收时,差值(IC-CC)通知客户关于通信方式确切需要的可信值「服务器(SA所标识)0客户〕,而DC值告知关于上一次通信方式确切需要的可信值[客户0服务器〕。2由客户系统传送的帧中,】叉二域的内容对服务器系统毫无意义。4.2.3.1.2编码可信值域编码如下:IC域由3个比特组成,其值从0-7。这意味着一个MAC帧可被转发多达7次。CC域也是由3个比特组成。DC:域由2个比特组成。DC域可取下列值:0,1,2和3。值3不是差值(IC一c)的准确信息。 DL/T790.51-2002实际上,一个DC域等于3可对应值3到7.4.2.3.2地址域每个长MAC帧包含着2个地址域:源地址域和目的地址域。目的地址域规定了该帧要发送的目的地址。源地址域标识发送帧的站。每个地址域包含12个比特。目的地址有2种类型:单个地址和组地址。单个地址用于点对点通信,组地址用于多点通信和广播通信。参见GB/T9387.3-19950注:NEW地址是一个预定义的值(等于FFE),是一个特殊值,因它是作为专用地址使用的。一个服务器尚未配置时,它的mac-address管理变量照规定置成NEW。这意味着几个服务器系统当它们尚未配置时,可以关联到同一个地址(NEW)。这个特点允许一个客户系统通过NEW专用地址可以访问几个服务器系统。4.2.3.3长度域:NS和PL4.2.3.3.1描述子帧数目域(NS)指出相关的长MAC帧的子帧的数目。子帧的数目由数据域的长度决定。NS可以是1-7之间的一个数。填充长度域指出按字节数计算的填充域的长度。4.2.3.3.2长度长MAC帧的每一个子帧都包含38个字节。NS域占3个比特,定义一个即将接收或发送的长MAC帧的长度。这个长度是以子帧的数目(1...7)来计算的。NS值很关键,因为它告诉接收方有多少子帧连续发送,以及哪里可以找到FCS(帧检验序列)。NS域3个比特的信息对于下面的接收过程来说至关重要,因此需要加强保护,防止发生误码,所以使用了长度为16个比特的编码。编码设计基于以下原则:提供最大的检错能力,不提供纠错能力。显而易见,通过对NS域包含差错的可能性(P16)与长帧其余部分(长25-250个字节,或2722000bit)包含差错的可能性的比较就可知道在166it的NS域内纠正任何差错是没有意义的。编码:3bit的NS信息编码成为76it的系统代码字c。如图11所示。选择的(7-3)BCH码的最小的海明码距离为d,6.二40生成多项式9(x)包含根数:l,a,a2和a4,a是不可约的GF(2)多项式二3+z+1的根。因此,得到%(x)=(x+1)(x+a)(x+a2)(x+a4)=z4+x3+x2+1在代码字最高位的前头添加一个Obit以构成一个完整的字节。复制代码字组成NS域。通过复制实现海明码距离为8.NS域CNS的编码结果具有如下结构:图11编码解码:收到的NS域rNS=[r15,,*r9,r8,r2,r1,ro]仅当它与上述的NS域内容中的一个相等时才被接收,且要满足下面两个条件:条件1:r7=rl5=O,且r;=r;十8(i从1一6)条件2:r二〔r6...ro〕是符合编码定义的合法代码字。尽管NS域是在普通信道条件下设计的,也提供在极恶劣信道条件下的保护。因为可能发送机在普通条件下发送,而接收机在恶劣条件下接收。实际上,MAC子层使用表5对NS域进行编码和解码:填充长度(PL)域指出填充的空字节数目,这些字节插人在数据域的最后和FCS域的开始字节之 DL/T790.51-2002间。应插人填充字节以使每一个子帧的长度都等于38字节。一个长MAC帧的长度是36字节的倍数。填充长度域是一个字节。见表60表5NS域的编码和解码MA(子帧数{NS域内容IMac二子侦数NS域内容16Mh1一5l一1DIDh23A3Ah}一61一4B4Bh35656h1一71一2727h417171h一}一表6PL域的值M_sdu的长度L(按字节)子帧数目PL域内容(十进制值)L<26126-L27簇L<62262-L63OKMAData.request(DA,M-sdu,SC<>空闲MAData.confimt(MTstat=LM-NI)空闲0) DL/T790.51-2002表7(续)初始状态事件操作最终状态P_Sync.request(Rejected)MA-Sync.indication(Count-Out(synchronisationcanfirmation-空闲SYNCHRO_LOSS,synchronisation-mnfirm-空闲time-out)ation-time-out)SCW=FALSESet-Value(mac-address=NEW)Set_Value(initiator-mac-address二NOBODY)Reset_MAC_group-addresses()Stop_counter-MN(time-out-not-addressed)空闲Count_Out(time-out-not-addressed)空闲P_Sync.request(Rejected)MA-Sync.indication(SYNCHRO-LOSS,urneout-not-a山dressed)SCW=FALSEP_Sync.request(Rejected)MA-Sync.indication(空闲Count-Out(time-out-frame-not-OK)SYNCHRO-LOSS,空闲tune-out-fratuenot-OK)S(二W=FALSEWrite_Request()空闲Write_Conf(M-Tatar=Check_Write())空闲andCheck-Write()<>0I{MA_Sync.indication(Write_Request(new-synchronisation=SYNCHRO_LOSS,空闲TRUE)write_request)空闲andCheck_Write()=OKP_Sync.request(Rejected)SCW=FALSEWrite_Request(initiator-mac-address<>撇_Value(initiator-mac-address)空闲NOBODY)Init-counter_MN(time-out-not-addressed)空闲andCheck-Write()=OKWrite-Conf(M-Tatar=OK)Write_Request(-cadres=NOT-撇_Value(rnac_address)空闲NEW)Init_muster_MN(time-out-not-addressed)空闲andCheck_Write()=OKWrit_Conf(M_Tstat=OK)mac-address()二NEWSet_Value(initiato-caddress二NOandWrite_Request(initiator-mac-ad山eSSBODY)空闲空闲=NO-BODY)Stop_counter_MN(time-out-not-addressed)andCheekWrite()=OKWrite_Conf(M_Tstat=OK) c比/T790.51-2002表7(续)初始状态事件操作最终状态mac-address()<>NEWSet_Value(initiator-raac-address=NOandWrite_Request(initiator-mec-addressI幻DY)空闲空闲=NO-BODY)Init_wwter_MN(time-out-not-addressed)andCheckWrite()=OKWrite_Conf(M_Tstat=OK)Set_Value(mac-address=NEW)ResetMIAC-group-addresses()mac-address()<>NEWP_Sync,req-t(Rejected)andinitiator-mac-address()=NO-BODYStop_counter_MN(time-out-not-addressed)空闲andWrite_Request(mac-address=Write_Conf(M_Tstat=OK)空闲NEW)MA_Sync.indication(andCheck_Write()=OKSYNCHRO_LOSS,waste一request)SCW=FALSESet_Value(mac-address=NEW)Reset_MAC-group-addresses()-adres()<>NEWP_Sync.request(Rejected)andinitiator-rnac-address()<>NOInit_wwter_MN(timrout-not-addressed)BOL)Y空闲Write-Conf(M_Tstat二〔)K)空闲andWrite_Request(二一address=MA_Sync.indication(’NEW)SYNCHRO_LOSS,andCheck-Write()=OKwrite_request)soV=FALSE-address()二NEWandinitiator-rrtac-address()二NO-D〕口Y压t_从如e(time-out-not-ad击~」)空闲andWrite_Request(Me-wt--t-空闲Write_Conf(M_Tstat=OK)addressed)andCheckwrite()二()Krmc-address()<>NEWandinitiator-n=-address()<>NO-Set_Value(time-out-not-addressed)BODY空闲Init_counter_MN(time-out-not-addressed)空闲andwrite_Request(time-art-not-Write_Conf(M_Tstat=OK)addressed)andCheck-Write()=OKSet_Value(time-out-frame-not-OK)Write_Request(time-out-frame-not-OK)空闲Init_comer_SS(time-out-frame-not-OK)空闲andCheck_Write()=OEWriteConf(M_Tstat=OK)Write_Request(synchronisaticn-wnfim-Set_Value(synchronisation-mrdirmation-time-空闲at。一t。。0《)n)空闲andCheck-Write()=OKWriteCmf(M_Tstat=OK) DL/T790.51-2002表7(续)初始状态事件操作最终状态Write_Request(mac-gmulraddresses)Set_Value(rnac-groulraddrese)空闲空闲andCheck_Write()=OKWriteConf(M_Tstat=OK)Write_Request(repeater)Set_Value(r即eater)空闲空闲andCheck_Write()=0KWriterConf(M_Tstat二OK)Writer一Request(min-delta-credit)Set_Value(min-delta-credit)空闲空闲andCheck_Write()=OKandWriteConf(MTstat=OK)Read_Request(Server-MAC-Manage-Read_Gmf(Server-MAC-Management-Vari-空闲meet-Variable)空闲able)andCheckRead()=OKRead_Request()空闲Read_Cmf(M_Tstat=Check_Read())空闲andCheck-Read()=OKBuild_Mpdu(MacFrame,TSF+1)等待本地发送MAC帧TSFOK)MA_Data.confirtn(M_Tstm二P一〕"star)空闲认检查收到帧Check_FI()=OKandFI=0检查收到无操作的FI域andRSF=0帧的NS域检查收到帧Check_FI()二()KandFI=OAppend_Inmning_P_sdu()接收其他的FI域andO0无操作空闲的Fl域ocCheckFI()<>(皿检查收到帧检查收到Check_NS()=OKandNS=1Append_Inconing_P_sdu()的NS域帧CRC码检查收到顿Append_Incoming_P_sdu()接收其他Check_NS()=OKandNS>1的NS域RSF=1子帧检查收到帧CheckNS<>OK无操作空闲的NS域接收其他子检查收到PData.indication(Psdu)无操作帧帧的Fl域 DL/T790.51-2002表7(续)初始状态事件操作最终状态接收其他子P_Data.indication()无操作空闲顿检查收到帧检查是否Check_FCS()=OK无操作CRC码锁定状态检查收到帧Check_)CS()<>OK无操作空闲CRC码P_Sync.request(Rejected)MA_Sync.indication(Initiator_Inac_address()<>恻〕_SYNCHRO_LOSS,检查是否锁BODYwmng_irtitiator,空闲定状态andCheck_Initiator()=NOKSA,DA)SCW=R牡巧EInitiator一mac_address()<)NO_Init_Corms_沼(time-out-frame-noc-OK)检查是否锁检查客户仪DYStop_Counter_s(synchmnimtion-定状态是否为源mdCheck_Initiator()=OKconfi}tim-time-wt)Imt_Cwnter_SS(time-wt-frame-not-OK)枪查是否锁检查客户Initiator_me_address()=NO_BODYStop_Counter_SS(synchtanisation-定状态是否为源confinmtim-time-out)检查客户是检查帧的A_client_is_sauce()=TRUEUpdate_min-delta-aed(IC,CC)否为源目的地址检查客户是检查帧的A_client_is_source()=FALSE无操作否为源目的地址Init_counter-MN(time-out-not-addressed)MA_Data.indication(SA=SA,检查顿的目IndMduaLAddrem()=OKDA=DA等待的地址andmac-address<>NEWM_sdu=M_sdu)Update_Credits(SA,IC,CC,DC)scW二FALSEWait-EndRepetition()MA_Data.indication(St、二SA,检查MAC检查顿的目3ndMdualAddr}()二OKDA=DA,侦是否需转的地址andn=-address=NEWM_sdu=M_sdu)发SCW=FALSEUpdateCredts(SA,IC,CC,DC) DL/T790.512002表7(续)初始状态事件操作最终状态MA_Data.indication(SA=SA,检查检查帧的目IndividualAddress()=NOKDA=DA,MAC帧是的地址andGlobalAddr}O=OKM_sdu=M_sdu)否需转发SCW=FALSEIndMdualAddr}()=NOK检查检查帧的目andGlobalAdd}()=ALL_CONE无操作MAC帧是的地址and=c-address=NEW否需转发andSCW二FALSEMA_Sync.indication(IndividualAddress()=NOESYNCHRO_CONF,检查检查帧的目andGlobalAddress()=ALL_CONESA,MAC顿是的地址andmac-address=NEWDA)否需转发andSCR二TRUESCW=FALSEMA_Data.indication(IndividuaLAddress()=NORSA=SA,检查检查帧的目andGlobatAddress()=ALL_CONFDA=DA,MAC帧是的地址andmac-addr}<>NEWM_sdu=M_sdu)否需转发SCW=FALSEIndividualAddress()二NOK检查检查帧的目andGlobalAddress()=NOK无操作MAC核是的地址田ldS(二W二FA工5〔否需转发MA_Sync.indication(IndividualAd山ess()=NOKSYNCHRO_CONF,检查检查帧的目andGlobalAddress()=NOKSA,MAC顿是的地址andsoV=TRt足DA)否需转发Sr-W=FALSECC=OC一IBuild_MacFrame(NS=NS,IC=IC,CC=CC,D(二=D(二,检查MA(一帧CC>O发送需转SA=SA,是否需转发andCheck_repeater()=TRUE发的子帧DA=DAPL=PL,Data=M_sdu,PAD=PAD,FCS=CRC+))TSF=O DL/T790.51-2002表7(完)初始状态事件操作最终状态检查MAC顿CC>Owait_End_Repetition()等待是否需转发andCheck-repeater()=FALSE检查MAC帧CC=O无操作空闲是否需转发Build_Mpdu(MacFrame,丁SF)发送需转发等待本地TSFOK)Wait_End_Repetition()[TvdV4]等待认等待P_Data.indication(P_sdu)无操作空闲等待EndRepetition()无操作空闲表8MAC客户状态转换表初始状态事件操作最终状态P_Sync.indication(SYNCHRO_空闲MA_Sync.indication(SYNCHRO_FOUND)空闲FOUND)检查收到空闲P_Data.indication(P_sdu)RSF=O帧的Fl域Extract_Lengths(M_sdu)PL卜NS,PADBuild_MacFratne(NS=NS,IC=IniCred(DA)MA_Data.request(DA,M_sdu,9C=0)CC=IC,发送空闲andCheck()二OEOC=DeltaCred(DA),[PBS]MAC帧SA=rnac-address,E户=DA,PL=PL,Data之M_sdu,P户工)_PAJ),FCS=CRC())丁SF之0 DL/T790.51-2002表8(续)初始状态事件操作最终状态MA_Data.request(DA,M_sdu,SC=0)空闲MA_Data.ccnfimt(M_Tstat二Check())空闲andCheck()<>OKMA_Data.request(DA,Msdu,跳<>空闲MA_Data.confirm(MTstat=LM-NI)空闲0)Write_Reques(Client-MAC-Manag-Set_Value(Qient-MAC-Management-空闲emmt-Variable)Variable)空闲andCheckWrite()=OKWrite_Conf(M_Tatar=OK)Write_Conf(M_Tstat=OK)Write_Request(new-synchronisation=P_Sync.request(Rejected)空闲TRUE)空闲MA_Sync.indication(SYNCHRO_LOSS,andCheck_Write()二CEwriterequest)Write-Request()空闲Write-Cmf(M_Tstat=Check_Write())空闲andCheckWrite<>OKRead_Request(Client-MACRead_Conf(Client-MAC-Mauagement-空闲Management-Variable)空闲Variable)andCheckRead()二OKRead_Request()空闲Read_Conf(M_Tstat=Check_Read())空闲andCheckRead()<>0KBuild_Mpdu(MacFrame,TSF+1等待本地发送MAC帧TSFOK)MA_Data.mnfitm(M_TStat=P_1Stat)空闲认检查收到帧Check_Fl()=OKandFI=0检查收到无操作的Fl域andRSF=0帧的NS域检查收到帧Check_Fl()=OKandFl=0Append_Incoming_P_sdu()接收其他的Fl域and00无操作空闲的FI域orCheckFI<>OK检查收到检查收到执Check_NS()二OKandNS二IAppend_Incorning_F_sdu()顿的CRC的NS域码检查收到顿Append_morning_P_曰以)接收其他Check-NSO-OKandNS>I的NS域RSF=1子帧检查收到杭Check_NS()<>OKUpdate_invalid-flame-nteri少空闲的NS域接收其他子检查收到P_Data.indication(P_sdu)无操作帧帧的凡域接收其他子No_P_Data.indication()无操作空闲帧MA_Data.indication(SA=SA,检查收到帧DA=DA,Check_FCS()二OK等待的〔72C码M二sdu=M_sdu)Update_Credita(SA,IC,CC,DC)WaitEndRepetition()检查收到顿口,eck_FCSO<>OKUpdate_invalid-frame-counter()空闲的CRC码CC=C(:一1Build_MacFrame(NS=NS,Ic=fc,CC=(1二,D(二二』叉,检查N认C帧发送需转a二>0SA=队是否需转发发的子帧DA=DA,PL=PL,Data=M_sdu,PAD=PAD,)CS=CRC()TSF=O DL/T790.51-2002表8(完)初始状态事件操作最终状态检查NAC帧是a二竺0无操作空闲否需转发Build_M冈u(MacFrame,TSF)发送需转发等待本地TSF0K)Wait_End_Repetition()等待认等待P_Data.indimtin(P_sdu)无操作等待等待End一】2epetition()无操作空闲4.3.7转换表描述4.3.7.1MA(:月民务器状态描述MA(:服务器定义了14个状态:-IDLE空闲。—SMF:发送MAC帧进程,SMF.S表示发送,SMF.W表示等待本地的确认;这两个状态都与MAC子层实体的发送阶段有关。-FI.C:检查收到MAC子帧的Fl域。-NS.C:检查收到MAC:子帧的NS域。—ROS:接收其他子帧。—FCS.C:计算和检查收到帧的CRC码。_LOCK.C:检查服务器是否处于锁定状态。—CLI.C:作为源的客户标识。-DA.C:检查目的地址域的内容。-REP:初始化转发进程,REP.C检查MAC帧是否应转发,REP.S表示发送需转发的子帧,REP.W表示等待本地的确认。-WAIT:在恢复IDLE空闲状态前等待一个End-Repetition事件。IDLE是当MAC子层已准备好,在同一时间为下列对象执行服务的唯一状态:-LLC子层(用MA_Data.request原语接收M_sdu)o—物理层(用P_Data.indication原语接收P_sdu)o—系统管理应用实体(接收Write_Request()和Read_Request()原语)。当收到MA_Data.request原语时,MAC子层实体检验可否处理它。如果可以,MAC子层实体利用LLC:子层提供的M_sdu建立一个长MAC帧。 DL/T790.51-2002在SMF.S状态,MAC子层实体建立不同的M-冈us帧(通过拆分长MA(帧和加上Fl域),并把这些帧传给物理子层。在SMF.W状态,MAC子层实体等待一个由物理层提供的本地确认信号。在FIX状态,MAC子层检查收到的P_sdu=M_pdu的Fl域的内容,并进行解码。该域对应于收到的P_sdu的头两个字节。最后MAC子层删除P_sdu的Fl域并按顺序保存剩余部分,以组成一个长MAC帧。在NS.C状态,MAC子层实体检查收到的P_sdu的NS域的内容,并对之解码。该域对应于P_sdu的第三和第四个字节。如果它是有效的,就确定这个P_sdu为接收的长MAC帧的第一个子帧。在ROS状态,MAC子层实体准备好接收其他要到来的P_sdu。当收到一个P_Data.indication原语时,MAC子层实体就进人Fl.C状态。在FCS.C状态,MAC子层实体计算收到MAC帧的CRC值,并与FCS域的内容比较。在LOCK.C状态,MAC子层实体检查运行模式是在LOCKED(锁定)状态还是UNLOCKED(非锁定)状态。LOCKED模式与initiator-rnac-addressMAC管理变量是否等于NO-BODY条件有关。在CLI.C状态,MAC:子层实体检查收到的MAC帧是发给或发自一个客户系统。若它是从客户系统来的,MAC子层实体更新min-delta-creditMAC管理变量。在DA.C状态,MAC子层实体检验收到的有效帧,是通过它的专有地址还是它的组地址中的一个发给服务器的。根据测试,执行不同的操作。在REP.C状态,MAC子层检查当前的MAC帧的当前可信值,是否需要转发。若CC值大于零,而且服务器又是转发器,则开始转发这些子帧。在REP.S状态,转发进程有效,几个不同的MA(:子帧被转发。在REP.W状态,MAC子层实体等待物理层提供的本地确认信号。在WAIT状态,MAC子层实体等待一个End_Repetition事件。WAIT是一个过渡期状态,这个时间对应系统转发MAC帧直到可信值减为零的时间。4.3.7.2MA(:客户状态描述MAC客户定义了11个状态:-IDLE空闲状态;一一SMI:发送MAC帧进程,SMF.S表示发送,SMF.W表示等待一个本地的确认信号;这两个状态涉及MAC子层实体的发送阶段。-FI.C:检查收到子帧的Fl域。—NS_C:检查收到子帧的NS域。-ROS;接收其他子帧;-FCS.C:计算,检查收到帧的CRC值,发送M_sdu给LI£子层,等待在网络上转发的结束。-REP:启动转发进程,REP.C检查MAC帧是否应转发,REP.S发送需转发的子帧,REP.W等待本地确认信号。-WAIT:在恢复到IDLE状态前等待一个End_Repetition事件。IDLE,SMF.S,SMF.W,FIX,NS.C,ROS,REP.C,REP.S,REP.W和WAIT状态的特性与MAC服务器的相同。唯一有区别的是FCS.C状态。在FCS.C状态,客户MAC子层实体计算收到MAC帧的CRC值并和FCS域的内容比较。如果比较结果成功,就发给LLC子层一个MA_Data-indication原语,不用测试任何地址域的内容。如果不成功,更新invalid-frame-counterMAC管理变量。4.3.7.3状态表中使用的符号4.3.7.3.1介质访问原语使用的符号本条定义状态表中用于介质访问原语与LLC用户或系统管理应用实体之间传递的缩写符号。 DL/T790.51-2002-SA:MA原语的源地址。—】〕A:MA原语的目的地址。—M_TStat:MA原语,Write_Request(),Read_Requesto原语的传输状态。—M_sdu:在MA原语中传递给LLC用户的MAC月民务数据单元。-SC:在MA原语中由LLC子层传递的服务等级。SC应等于0.4.3.7.3.2介质访问协议数据单元使用的符号本条定义状态表中用于传递给物理层的介质访问协议数据单元的缩写符号。—FI:M_pdu的帧指示器。—NS:长MAC顿的子帧数。-IC,CC,DC:长MAC帧的初始可信值,当前可信值和差值可信值。—SA:正在处理的长MAC帧的源地址。-DA:正在处理的长MAC帧的目的地址。—PL:长MAC帧的填充长度。-PAD:长MAC帧的填充域。-Data:长MAC帧的数据域。—FCS:长MAC帧的帧校验序列。4.3.7.3.3物理原语使用的符号本条定义状态表中用于物理原语与MAC子层实体传递中的缩写符号。-P_TStat:在P_Data.confirm原语中的传输状态。—P_sdu:用P_Data原语传递给MAC用户的M_pdu数据。4.3.7.4本地状态变量4.3.7.4.1TSFTSF变量(TransmittedSubFrame所传输的子帧)是一个本地变量,计算当前处理的MAC帧已被传送的子帧数。该变量只在本地有意义,在转发过程中使用。4.3.7.4.2RSFRSF变量(ReceivedSubFrame收到的子帧)是一个本地变量,训算当前处理的MAC帧已经收到的子帧数。该变量只在本地有意义,在接收进程中使用。4.3.7.4.3SCWSCW变量(SynchronisationConfirmationWaiting:同步确认等待)是一个本地变量,允许MAC子层实体在找到同步基准之后产生一个同步确认信息。若它的值是FALSE,则不产生确认信息。4.3.7.5本地MAC变量这些变量是由MAC子层使用的预定义值。4.3.7.5.1NO-BODYNO-BODY地址是一个由MAC子层预定义的MAC组地址,其值为十六进制000.4.3.7.5.2ALL-configured-addressALL-configured-address是一个由MAC:子层预定义的MAC:组地址,其值为十六进制FFC。未配置的系统不能识别这个MAC组地址。4.3.7.5.3ALL-physical-addressALLphysical-address是一个由MAC子层预定义的MAC组地址,其值为十六进制FFF.4.3.7.6MAC:管理变量MAC管理变量是MAC子层实体在处理进程中进行读或者写时所使用的变量集。表9列出在SFSK协议子集中使用的服务器和客户MAC管理变量。这些变量用于系统管理。在DCP中,服务器的MAC管理变量链接到管理信息库(MIB)的DLMS对象(参见IEC61334-4-512)o DL/T790.51-2002表9服务器和客户在S-FSK协议子集使用的管理变量MAC管理变量所属系统MAC子层实体所用系统管理应用实体可用以initiator-mac-address服务器读泻I一写invalid-frame-count客户读J泻读2写mac-addres服务器/客户一读泻写mac-group-address一}月及务器}一读泻写min-delta-credit一}服务器I一读泻读/写new-synchronisation}服务器喀户}一读写repeater服务器读写synchronisation-crofirtnation-time-out}一服务器I读写tune-out-frame-rot-OK}一服务51读I写time-out-not-addressed}一服务器I读I写通过Write一Request()和Read_Request()管理原语,DCP的系统管理应用实体可以在本地访问这些变量。详细信息参见IEC61334-4-511.4.3.7.6.1有关MAC子层的本地系统管理变量SMAE(系统管理应用实体)使用这些变量进行本地管理。它们不链接到DLMS客户访问的DLMS对象。-reception-credits-array(Write):通过函数Update-Credits()在每次收到MAC帧时更新该变量。提供一个表对应(SA,IC,CC,DC),这些值与已收到MAC帧的发送系统有关。--sending-credits-array(Read):该变量由本地SMAE更新。这个数组提供一个表对应(DA,IC,CC),MAC子层在发送进程通过函数Inicred(DA)=IC和函数DeltaCred(DA)二」x{考虑它。Sending-credits的更新算法根据系统是服务器还是客户而有所区别。注:在服务器系统中,有可能改变Sending-credits-array变量的事件有:—通过Update-Credits()函数更新reception-creditsarray(MAC子层所产生的事件,参见4.3.7.8.16).—收到一个DiscoverRequest(发现请求)(MASE产生的事件沁在客户系统已描述的特定算法由reception-credits-array变量来建立sending-credits-array变量。4.3.7.7状态函数4.3.7.7.1A_client_is_source()A_client_is_source()函数返回两个值之一:一一一TRUE:收到MAC帧的源地址域(SA)是在参考模型规定的数值范围内(值从COO到DFF)o-FALSE:收到MAC帧的源地址域(SA)在(;00-DFF的数值范围之外。4.3.7.7.2Check()Check()函数的返回值表示对参数域的处理的结果成功与否,以及所需的资源是否可用。可能的返回值如下:一一一OK:参数域处理成功和资源可用。-LM-NI:本地MAC子层所请求的服务没有完成口—LM-TU:本地资源暂时不可用。-LM-SE:提交的原语有句法错误(M_sdu的长度大于242字节)。—LM-HF:硬件故障。4.3.7.713Check_FCS()Check_FCS()函数的返回值表示MAC帧处理的结果成功与否。该函数比较本地计算的CRC值和含在FCS域中的数值(MAC帧的最后3个字节)。 DL/T790.51-2002可能的返回值如下:-OK:在组装的MAC帧中没有发现CRC差错。-CRC_Error:在MAC帧中发现CRC差错。4.3.7.7.4Check_FI()Check_FI()函数对FI域解码,如果FI域具有相关值(00,01,10,11这4个可能的值之一),则返回OKo4.3.7.7.5Check_Initiator()Check_Initiator()函数在下列情况下返回()K:—收到MAC帧的一个地址域(目的地址或源地址)对应启动方MAC:地址(从COO到DFF),并且等于包含在initiator-mac-address管理变量的地址。—收到MAC帧的一个地址域(目的地址或源地址)没有对应启动方的地址。Check_Initiator()在下列情况下返回NOK:—收到MAC帧的一个地址域(目的地址或源地址)对应启动方地址‘从COC)到DFF),却不等于包含在initiator-mac-address管理变量中的地址。4.3.7.7.6Check_NS()Check_NS()函数对NS域解码,如果NS域的内容有相关的值。返回OKo两个可能的返回值如下:一气〕K:解码后的NS域包含一个相关的值。-NS_Error:解码后的NS域的值不一致。4.3.7.7.7Check_Read()Check_Read()函数的返回值表示Read_Request()管理原语处理的结果成功与否。可能的返回值如下:一-OK:参数域被成功处理和资源可用。-LM-NI:本地MAC子层所请求的服务没有完成。-LM-TU:本地资源暂时不可用。-LM-SE:提交的原语有句法错误。-LM-HP:硬件故障。4.3.7.7.8Check_repeater()Check_repeater()函数返回两个可能的值:一一TRUE:如果repeaterMAC管理变量的值设置为TRUE.-FALSE:如果repeaterMAC管理变量的值设置为FALSE.4.3.7.7.9Check_Write()Check_Write()函数返回值表示Write_Request()管理原语处理的成功或者失败。可能的返回值如下:--OK;参数域被成功处理和资源可用。-LM-NI:本地MAC了层所请求的服务没有完成;-LM-TU:本地资源暂时不可用。-LM-SE:提交的原语有句法错误。-_LM-FIF:硬件故障。由MAC子层实体实现的其他控制不在本标准范围之内。但是,推荐下列控制:—在收到一个包含启动方MAC地址的Write_Request()原语时,MAC子层实体应该检查提交的值是否包含在单独的客户系统地址范围内。—在收到一个包含服务器MAC地址的Write-Requesto原语时,MAC:子层实体应该检查提交 DL/T790.51-2002的值是否包含在单独的服务器系统地址范围内。4.3.7.7.10Count_Chit(amountoftime)Count_Out()事件在计数器到给定数值时发生。计数器由Init_Counter_SS()或Init一Counter_MN〔)进程设置。当MAC子层不在空闲状态时,可产生Count_Out事件。但是,它仅在空闲状态时被撤消。如果。unter_Out()事件没有被撤消,和计数器相关的Stop_counter_SS()或StopCounter_MN()事件出现,那(Count_Out)事件就简单地完全被删除了。4.3.7.7.11End_Repetition()由Wait_End_Repetition()函数启动的时间片计数器溢出时,产生End_Repetition()事件。4.3.7.7.12GlobaLAddress()GlobatAddress)函数检查收到的MAC帧的目的地址域是否等于某一个预定义的MAC组地址(NO-BODY,ALL-configured和ALI-physical地址)或者等于二一group-addresses管理变量中的组地址。该函数返回3个可能的值:OK:收到的MAC帧的目的地址域等于ALL-physical预定义的值或等于mac-group-addresses管理变量中所定义的MAC组地址中的一个地址;ALL-CONF:收到的MAC帧的目的地址或等于ALL-configured预定义的值;NOK:收到的MAC帧的目的地址域等于NO-BODY地址,或不等于ALL-physical地址,ALL-configured地址和mac-group-add~管理变量中的组地址之一。4.3.7.7.13IndlviduaLAddress()individualAddress()函数比较系统的专有地址(mac-add,管理变量)和收到的MAC帧的目的地址。该函数返回两个值:OK:两个地址(单个地址和目标地址)相等(可能等于预定义的NEW地址);NOK:两个地址不同。4.3.7.7.14initiator-mac-address()initiator-mac-address()函数返回initiator-mac-addressMAC管理变量的值。4.3.7.7.15mac-address()mac-address()函数返回mac-addressMAC管理变量的值。4.3.7.7.16No_P_Data.indication()No_P_Data.indication()事件产生于接收其他子帧状态,在等待时间片期间,如果没有从物理层收到P_Data.indication原语时产生。4.3.7.7.17Read_Request()该事件由系统管理应用实体产生(SMAE:参见IEC61334-4-512),用于提交对服务器或客户MAC管理变量的读请求(参见4.3.7.6)0server-MAC_management一二abl。自变量意指Read_Request请求可以在任何服务器MAC:管理变量执行。client-MAC-management-variable自变量意指Read_Request请求可以在任何客户MAC管理变量执行。4.3.7.7.18Write-Request()该事件由系统管理应用实体产生(SMAE:参见IEC61334-4-512),用于提交对服务器或客户MAC_management变量的写请求(参见4.3.7.6)。一个正确的Write_Request()事件会产生一个SetValue()动作。该函数的自变量有几个特殊的值需强调说明:示例:Write-Request(initiator-mac-address=NO-BODY)事件意指对initiator-mac-addressMAC管理变量进行管理写操作及提交的值是NO-BODY. DL/T790.51-2002Write-Request(initiator-mac-address)事件意指对initiator-mac-addressMAC管理变量进行管理写操作,没有指定特殊的值。注:在})CP中,服务器MAC管理变量链接到工】〕〕管理信息库的DLMS变量(详见IEC61334-4-512)。这样,每当刘链接到MAC子层管理的MIB对象之一发生写操作时,就由系统管理应用实体产生Write_Request(MAC_Management-Variable)事件。4.3.7.8操作描述4.3.7.8.1Append_Incoming-P_sdu()Append_Incoming_P_sdu()函数把所有到来的P_sdu(MAC!子帧)附加到一个MAC帧。4.3.7.8.2Build_MacFrame(NS,IC,CC,DC,SA,DA,PL,Data,PAD,FCS)该函数建立一个MAC帧。该函数不同域的内容被依次连接起来。将这些元素依次连接起来就构成了一个MAC帧,帧的长度是36字节的整数倍。参数的顺序如上所示。4.3.7.8.3Build_Mpdu(MacFrame,N)Build-Mpdu()函数由长MAC帧建立第N个MA(:子帧。由MAC子帧形成一个M_pduo注:一个MA(子帧是从长MAC帧中分解出来的36字节的数据和已加在其前的F1域(2个字节)组成。4.3.7.8.4CRC()该函数利用提交数据包的IC,CC,DC,SA,DA,PL和Data域的值计算FCS域的值,这些域是Build_MacFrame函数的自变量。数据包中不包括NS域。数据包可能是帧头和长帧的数据域或者是帧头和短帧中某一块的数据域。CRC由24次(八进制)的生成多项式g(z)来定义。g(z):1272667134.3.7.8.5DeltaCred(destinationaddress)该函数返回差值可信值,该值与提交的目的地址有关。是由SMAE管理所维护的sending-credits-array(DA,IniCred(DA)=IC,DeltaCred(DA)=DC)本地管理变量中分解出来的。4.3.7.8.6Extract_Lengths(M_sdu)该函数返回NS,PL和PAD域的值,这些值涉及提交的M_sdu的长度。应计算这些值用以建立一个长MAC帧。选择PAI)的长度使得该长MAC帧的长度是36个字节的整数倍(一个MAC子帧由36个字节加2个字节的Fl域组成)。表10是可能的值:表10NS,PL和PAI〕域的值M_sdu的长度L(字节)子帧数目NS域内容(十六进制)PL域内容(十进制)L<26I6C6C26-L27-

您可能关注的文档