发送网络层实体应当支持所有FS参数规定(不是保留的)的值。 表13——FS值定义 16进制值 说明 0 继续发送(CTS) 流控帧继续发送参数,通过编码N_PCI第1字节为“0”,表示继续发送。它会促使发送方重新发送连续帧,该值意味着接收者准备好接收最大BS个连续帧。 等待(WT) 流控帧等待参数通过编码N_PCI第1字节为“1”。它会促使发送方继续等待新的流控帧(N_PDU)的到来,并重新设置N_BS定时器。 溢出(OVFLW) 流控真溢出参数通过编码N_PCI第1字节为“2”。它会促使发送方中止拆分信息的发送并且做传递参数
BS参数应当编码在FC N_PCI字节2中。
BS单元存储了 每一块中CF N_PDU的绝对个数。
例如 如果块大小=20(十进制)该块应当包含20个CF N_PDU。 拆分数据中最后一块连续帧也可能少于BS个帧。 表14提供了FC N_PCI字节总览 表14 BS值定义 16进制值 说明 00 块大小(BS) BS参数为0用于指示发送者在拆分数据的发送期间流控制帧不再发送流控制帧了。发送网络层实体应当不停的发送剩下的连续帧以便接收网络层实体另外的流控帧。 块大小(BS) 该范围的BS参数值用于指示发送方在没有接收网络实体的流控帧期间能发送的最大数目的连续帧。 01 - FF 6.5.5.5 间隔时间(STmin)参数定义
间隔时间(STmin)参数应当编码在FC N_PCI字节3.
该时间在拆分数据发送过程中,由接收实体指定,并且由发送网络实体遵守。 STmin参数值指定了连续帧协议数据单元发送的最小时间间隔。表15所示。 表15——STmin值定义
16进制值 说明 00 - 7F 80 - F0 F1 - F9 间隔时间(STmin)范围:0ms - 127ms 该STmin单元的范围00 - 7F 为绝对单位毫秒(ms) 保留 该范围值为该协议保留 间隔时间(STmin)范围100us - 900us 该STmin单元的范围F1 - F9最小分编为100微秒(us),参数值F1代表100us,参数值F9代表900us。 保留 该范围值为该协议保留 FA - FF STmin的度量是在一个连续帧发送完开始到请求下一个连续帧时的间隔时长。
例如 如果STmin=10(十进制),则连续帧网络协议数据单元最小时间间隔=10ms。 6.5.5.6 ST出错处理
在拆分数据发送期间,如果FC N_PDU信息接收到ST参数值为保留值,发送网络实体则使用最长的ST值,即(7F - 127ms),而不使用从接收网络实体接收到的值。 6.6 FC.Wait帧传递的最大值(N_WFTmax)
该变量用于避免在通信发送方出现潜在错误挂起的时候,后者可能会持续等待。该参数用于对等通信并不被传递,因此不包含在FC的协议数据单元里。
——N_WFTmax参数应当指示一组能有多少个FC N_PDU WT能被接收者接收。 ——N_WFTmax参数的上限由用户根据系统时钟定义。
——N_WFTmax参数仅由接收网络实体在接收信息的时候使用。 ——如果N_WFTmax参数值设置为0,流控应当继续仅使用FC N_PDU CTS。流控等待(FC N_PDU WT)不应再该网络实体中使用。
6.7 网络层定时 6.7.1 定时参数
图6显示了网络层定时参数,表16定义了网络层定时参数值及它们相应的给予数据链路服务的开始及结束时间。
运行要求的数值是是对对等通信的约束,以符合该协议。某个应用应指明规定的运行需求,该范围在表16中定义。
定义超时的值应比运行要求的值大保证系统工作且使克服运行需求值在(高总线负载)时,绝对不会满足。指定的超时的值认为是执行的最低限。实际超时的发生不应长于指定超时值+50%。
网络层在检测到错误的时候应传递合适的服务项至服务的使用者。
图6 网络层定制参数置位
表16——网络层定时参数值 定时描述 参数 数据链路服务 Start End L_Data.confirm 超时 (ms) 1000 运行需求 (ms) N/A N_As 发送方CANL_Data.request 帧发送时间(任何N_PDU) N_Ar 接收方CANL_Data.request 帧发送时间(任何N_PDU) L_Data.confirm 1000 N/A N_Bs 直至下一L_Data.confirm(FF) L_Data.indicate(FC) 个流控帧L_Data.confirm(FC) 接收的时L_Data.indicate(FC) 间 N_Br 直至下一L_Data.indicate(FF) L_Data.request(FC) 个流控帧L_Data.confirm(FC) 发送的时间 N_Cs 直到下一L_Data.confirm(FC) L_Data.request(CF) 个连续帧L_Data.indication 发送的时(CF) 间 N_Cr 直到下一L_Data.confirm(FC) L_Data.indication 个连续帧L_Data.indication (CF) 接收的时(CF) 间 S 发送者 R 接收者
6.7.2 网络层超时
表17定义了网络层超时的触发和动作
1000 N/A N/A (N_Br+ N_Ar)< (0.9*N_Bs) (N_Cs+ N_As)< (0.9*N_Cr) N/A 1000 —— 表17 网络层超时出错处理 超时 N_As N_Ar N_Bs 触发 发送方没有及时发送N_PDU 接收方没有及时发送N_PDU 动作 放弃信息的接收并传递
意外的N_PDU定义为接收到一个节点规则之外的N_PDU。它可能是该协议定义的某条帧(N_PDU)(SF N_PUD, FF N_PDU, CF N_PDU 或者 FC N_PDU),但它接收的却不是按正常的顺序,或者它是一个在本协议中无法解释未知的N_PDU。
根据网络层支持全双向的或半双向通信的不同,对“意外的”说明也不同: a) 半双向的,两个节点之间点对点通信在同一个时刻只能是一个方向。 b) 全双向的,两个节点之间点对点通信在同一个时刻支持双向的通信。 除网络层设计决定,使用同一个地址信息(N_AI)接收或发送到一个节点,认为意外的N_PDU。 作为一个统一规则,从任何节点过来的意外的N_PDU应当被忽略,这意味着网络层对该信息的到来无需通知上层。
表18定义了在接收到意外N_PDU时,网络层动作。考虑到网络层内部状态(NWL状态)及支持半双向或全双向通信。并应知道在N_PDU接收时候,作为发送者或接收者接收到的N_PDU包含同一个N_AI。