반응형

[Classic AUTOSAR] UDP Network Management(NM) 3. 기능 사양 (7) 추가 기능

참조 : https://www.autosar.org/fileadmin/user_upload/standards/classic/4-/AUTOSAR_SWS_UDPNetworkManagement.pdf

 

원격 Sleep 표시 감지(선택 사항)

"원격 Sleep 표시"는 정상 작동 상태의 노드가 클러스터의 다른 모든 노드가 Sleep할 준비가 되었음을 발견한 상황을 나타냅니다. 여전히 정상 작동 상태에 있는 노드는 bus를 계속 깨어 있는 상태로 유지합니다.

 

[SWS_UdpNm_00149] 원격 Sleep 표시 감지는 UdpNmRemoteSleepIndEnabled 스위치(구성 매개변수)를 사용하여 정적으로 구성해야 합니다.


[SWS_UdpNm_00150] UdpNmRemoteSleepIndTime(구성 매개변수)에 의해 결정된 구성 가능한 시간 동안 정상 작동 상태에서 NM PDU가 수신되지 않으면 NM은 클러스터의 다른 모든 노드가 Sleep할 준비가 되었음을 일반 네트워크 관리 인터페이스에 알려야 합니다( Nm_RemoteSleepIndication을 호출하여 소위 '원격 Sleep표시').

 

[SWS_UdpNm_00151] Remote Sleep Indication이 이전에 감지되었고 NM PDU가 Normal Operation State 또는 Ready Sleep State에서 다시 수신되면 NM은 클러스터의 일부 노드가 더 이상 슬립할 준비가 되지 않았음을 Generic Network Management Interface에 알려야 합니다. Nm_RemoteSleepCancellation을 호출하여 (소위 '원격 Sleep 취소').

[SWS_UdpNm_00152] 원격 Sleep 표시가 이전에 감지되었고 Repeat Message 상태가 정상 작동 상태 또는 Ready Sleep 상태에서 입력된 경우 UdpNm은 클러스터의 일부 노드가 더 이상 절전할 준비가 되지 않았음을 일반 네트워크 관리 인터페이스에 알려야 합니다( Nm_RemoteSleepCancellation을 호출하여 소위 '원격 수면 취소').

[SWS_UdpNm_00154] NM은 Bus-Slee 모드, Prepare Bus-Sleep 및 Repeat Message 상태에서 원격 Sleep 표시 확인을 거부해야 합니다. 서비스가 실행되지 않고 E_NOT_OK가 반환됩니다.

 

사용자 데이터(선택 사항)

[SWS_UdpNm_00158] NM 사용자 데이터 지원은 UdpNmUserDataEnabled 스위치(구성 매개변수)를 사용하여 정적으로 구성해야 합니다.


[SWS_UdpNm_00159] UdpNm_SetUserData가 호출되면 버스에서 다음에 전송되는 NM 패킷에 대한 NM 사용자 데이터가 설정됩니다. NM 사용자 데이터 설정 작업은 데이터 일관성을 보장해야 합니다.


[SWS_UdpNm_00160] UdpNm_GetUserData가 호출되면 가장 최근에 수신된 NM PDU의 페이로드에 포함된 NM 사용자 데이터가 제공되어야 합니다. NM 사용자 데이터를 제공하는 작업은 데이터 일관성을 보장해야 합니다.
참고: NM 사용자 데이터가 구성된 경우 반복 메시지 상태에서 확실히 전송됩니다. Ready Sleep 상태에서는 사용자 데이터가 전송되지 않습니다.


[SWS_UdpNm_00312] UdpNmComUserDataSupport가 활성화된 경우 API UdpNm_SetUserData를 사용할 수 없습니다.


[SWS_UdpNm_00317] UdpNmComUserDataSupport가 활성화되고 NM-PDU가 SoAd에서 트리거된 전송에 대해 구성되지 않은 경우(SoAdBswModules/SoAdIfTriggerTransmit = FALSE), UdpNm은 PduR_UdpNm을 호출하여 참조된 NM I-  PDU에서 NM 사용자 데이터를 수집해야 합니다. 해당 NM 메시지의 전송을 요청하기 전에 매번 추가 NM 바이트를 사용합니다. (RS_Nm_02503)

참고: 트리거 전송의 경우 전송 요청 시 데이터가 필요하지 않으며 길이만 있으면 됩니다. 데이터는 UdpNm_SoAdIfTriggerTransmit 내에서 수집됩니다(챕터 8.4.3 UdpNm_SoAdIfTriggerTransmit 참조)

[SWS_UdpNm_00464] UdpNmComUserDataSupport가 활성화되어 있고 UdpNm이 RepeatMessage 상태 또는 NormalOperation 상태이고 UdpNm_Transmit이 호출되면 UdpNm은 현재 데이터와 함께 NM PDU의 추가 전송을 요청해야 합니다. 
참고: 현재 데이터(예: 시스템 바이트, 사용자 데이터 및 PNC 비트 벡터)와의 주기적 전송 사이에 NM PDU를 전송하기 위한 UdpNm_Transmit 요청 호출

 

Passive 모드(선택 사항)

수동 모드에서 노드는 NM 메시지만 수신하고 NM 메시지는 전송하지 않습니다.
[SWS_UdpNm_00161] 수동 모드는 UdpNmPassiveModeEnabled 스위치(구성 매개변수)를 사용하여 정적으로 구성해야 합니다.


[SWS_UdpNm_00162] 패시브 모드는 하나의 ECU 내의 모든 인스턴스에 대해 정적으로 일관되게 구성되어야 합니다.


[SWS_UdpNm_00163] 수동 모드를 사용하는 경우(구성 매개변수 UdpNmPassiveModeEnabled) 다음 옵션을 사용하면 안 됩니다.
버스 동기화(구성 매개변수 UdpNmBusSynchronizationEnabled)
원격 sleep 표시(구성 매개변수 UdpNmRemoteSleepIndEnabled)
노드 감지(구성 매개변수 UdpNmNodeDetectionEnabled)

 

상태 변경 알림(선택 사항)

[SWS_UdpNm_00166] AUTOSAR UdpNm 상태의 모든 변경 사항은 Nm_StateChangeNotification 콜백이 활성화된 경우(구성 매개변수 UdpNmStateChangeIndEnabled가 TRUE인 경우) Nm_StateChangeNotification을 호출하여 상위 계층에 알려야 합니다.

 

통신 제어(선택 사항)

[SWS_UdpNm_00168] 통신 제어는 UdpNmComControlEnabled 스위치(구성 매개변수)를 사용하여 정적으로 구성해야 합니다.

[SWS_UdpNm_00170] 선택적 서비스 UdpNm_DisableCommunication은 NM PDU 전송 능력을 비활성화해야 합니다.
참고: NM PDU 전송 기능이 비활성화된 경우 NM 조정 알고리즘이 올바르게 작동하지 않습니다. 따라서 NM PDU 전송 기능이 비활성화되어 있는 한 ECU가 셧다운되지 않도록 해야 합니다.
UdpNm_NetworkRelease가 호출되고 NM PDU 전송 기능이 비활성화된 경우 ECU가 종료됩니다. 이를 통해 경합 상태(예: 통신을 활성화하기 직전에 진단 세션이 남음) 또는 잘못된 통신 제어 사용의 경우에도 ECU가 종료될 수 있습니다.

[SWS_UdpNm_00172] 옵션 서비스 UdpNm_DisableCommunication은 현재 모드가 네트워크 모드가 아닌 경우 E_NOT_OK를 반환해야 합니다.

 

[SWS_UdpNm_00173] 네트워크 관리 PDU 전송 기능이 비활성화된 경우 UdpNm 모듈은 네트워크 관리 PDU의 전송을 중지하기 위해 UdpNm 메시지 주기 타이머를 중지해야 합니다.

 

[SWS_UdpNm_00174] NM PDU 전송 기능이 비활성화되면 NM-Timeout Timer가 중지됩니다.

 

[SWS_UdpNm_00175] NM PDU 전송 능력이 비활성화되면 원격 sleep 표시 타이머의 감지가 중단됩니다.

 

[SWS_UdpNm_00178] 네트워크 관리 PDU 전송 능력이 활성화되면 NM PDU의 전송은 다음 NM 주요 기능 내에서 가장 늦게 시작되어야 합니다. ⌋(RS_Nm_02512)

 

[SWS_UdpNm_00179] NM PDU 전송 기능이 활성화되면 NM-Timeout Timer가 다시 시작되어야 합니다.

 

[SWS_UdpNm_00180] NM PDU 전송 능력이 활성화되면 원격 슬립 표시 타이머의 감지가 재개됩니다.

 

[SWS_UdpNm_00181] 선택적 서비스 UdpNm_RequestBusSynchronization은 NM PDU 전송 능력이 비활성화된 경우 E_NOT_OK를 반환해야 합니다.

 

NM 조정 동기화 지원(선택 사항)

둘 이상의 조정자가 CBV의 특수 비트에 동일한 버스에 연결되어 있는 경우 NmCoordinatorSleepReady 비트는 주 조정자가 종료 시퀀스를 시작하도록 요청함을 나타내는 데 사용됩니다. 알고리즘의 주요 기능은 Nm 모듈에 설명되어 있습니다.

[SWS_UdpNm_00320]UdpNm이 NM_CoordReadyToSleepIndication을 호출하고 여전히 네트워크 모드에 있는 경우 NmCoordinatorSleepReady 비트(CB0V 참조)가 설정된 NM 메시지를 처음 수신할 때 Nm_CoordReadyToSleepCancellation을 호출하여 Nm에 알려야 합니다.

[SWS_UdpNm_00364]UdpNm이 네트워크 모드에 진입했거나 Nm_CoordReadyToSleepCancellation을 호출한 경우 NmCoordinatorSleepReady 비트(.CBV 참조)가 로 설정된 NM 메시지의 첫 수신 시 Nm_CoordReadyToSleepIndication을 호출하여 NM에 알려야 합니다.

[SWS_UdpNm_00321]UdpNmCoodinatorSyncSupport가 TRUE로 설정되고 API UdpNm_SetSleepReadyBit이 UdpNm이라고 하면 "NM Coordinator Sleep Ready 비트" 비트를 전달된 값으로 설정하고 단일 네트워크 관리 PDU를 트리거합니다.

[SWS_UdpNm_00322] API UdpNm_SetSleepReadyBit() 및 "Coordinated Bus 종료" 기능은 UdpNmCoordinatorSyncSupport가 TRUE로 설정된 경우에만 사용할 수 있습니다.

 

반응형

+ Recent posts