반응형

[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로 설정된 경우에만 사용할 수 있습니다.

 

반응형
반응형

[Classic AUTOSAR] UDP Network Management(NM) 3. 기능 사양 (6) Communication Scheduling

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

 

NM Message 송출

참고: 이 장에서 설명하는 전송 메커니즘은 NM 메시지 전송 기능이 활성화된 경우에만 관련이 있습니다.

[SWS_UdpNm_00072] NM 메시지의 전송은 UdpNmPassiveModeEnabled를 통해 구성되어야 합니다.
참고: 수동 노드는 NM 메시지를 전송하지 않습니다. 즉, 종료 결정에 능동적으로 영향을 줄 수 없지만 동기적으로 종료할 수 있도록 NM 메시지를 수신합니다.
참고: 이 장에서 설명하는 전송 메커니즘은 UdpNmPassiveModeEnabled가 FALSE인 경우에만 관련이 있습니다.

[SWS_UdpNm_00237] UdpNm 모듈은 주기적 전송 모드를 제공해야 합니다. 이 전송 모드에서 UdpNm 모듈은 주기적으로 네트워크 관리 PDU를 전송해야 합니다. 
참고: 주기적 전송 모드는 "Repeat Message State" 및 "Normal Operation State"에서 사용됩니다.

[SWS_UdpNm_00005] 반복 메시지 상태가 UdpNm_NetworkRequest를 통해 입력되지 않거나 UdpNmImmediateNmTransmissions가 0이면 반복 메시지 상태에 들어간 후 NM PDU의 전송이 UdpNmMsgCycleOffset만큼 지연됩니다.

참고: 이 요구 사항은 Repeat Message 요청 또는 비트(SWS_UdpNm_00111,  SWS_UdpNm_00112, SWS_UdpNm_00119, SWS_UdpNm_00120 참조)로 인해 Network Operation 상태 또는 Ready Sleep 상태에서 Repeat Message 상태가 입력되는 경우에도 적용됩니다. 이는 이 경우 즉각적인 전송이 사용되지 않음을 의미합니다(UdpNmImmediateNmTransmissions > 0이고 UdpNmPnHandleMultipleNetworkRequests의 구성과 독립적인 경우에도). 즉, UdpNmMsgCycleOffset이 항상 적용됩니다. 이 메커니즘은 NM 메시지의 버스트를 방지합니다.

[SWS_UdpNm_00334] UdpNm_NetworkRequest()(active wakeup)로 인해 Bus Sleep 모드 또는 Prepare Bus Sleep 모드에서 반복 메시지 상태로 들어갈 때 UdpNmImmediateNmTransmissions가 0보다 큰 경우 NM PDU는 UdpNmImmediateNmCycleTime을 주기 시간으로 사용하여 전송됩니다. 첫 번째 NM PDU의 전송은 가능한 한 빨리 트리거되어야 합니다. 전송 후 메시지 주기 타이머는 UdpNmImmediateNmCycleTime으로 다시 로드됩니다. 이 경우 UdpNmMsgCycleOffset이 적용되지 않습니다.

[SWS_UdpNm_00006] Ready Sleep State에서 Normal Operation State가 되면 NM PDU의 전송은 즉시 시작되어야 한다.

[SWS_UdpNm_00454] UdpNmPnHandleMultipleNetworkRequests가 TRUE로 설정되면 UdpNm_NetworkRequest는 Network Mode에서 Repeat Message 상태로 상태 전환을 트리거해야 합니다. PDU 전송 능력이 활성화되면 NM PDU는 UdpNmImmediateNmCycleTime을 주기 시간으로 사용하여 전송되어야 합니다. 첫 번째 NM PDU의 전송은 가능한 한 빨리 트리거되어야 합니다. 전송 후 메시지 주기 타이머는 UdpNmImmediateNmCycleTime으로 다시 로드됩니다. 이 경우 UdpNmMsgCycleOffset이 적용되지 않습니다.

참고: UdpNmImmediateNmTransmissions는 이 경우 ECUC_UdpNm_00075로 인해 0보다 커야 합니다.

[SWS_UdpNm_00330] NM PDU가 UdpNmImmediateNmCycleTime과 함께 전송되어야 하는 경우(SWS_UdpNm_00334 및 SWS_UdpNm_00454 참조), UdpNm은 UdpNmImmediateNmTransmissions를 포함하여 성공적으로 요청된 UdpNmImmediateNmTransmissions SoAd에 대한 전송 요청이 실패하면(E_NOT_OK가 반환됨) UdpNm은 다음 주 기능에서 전송 요청을 다시 시도합니다. 그 후 UdpNm은 UdpNmMsgCycleTime을 사용하여 NM PDU를 계속 전송해야 합니다.
참고: UdpNmImmediateNmCycleTime을 사용하여 NM PDU를 전송하는 동안 다른 Nm PDU는 전송되지 않습니다(즉, UdpNmMsgCycleTime 전송 주기가 중지됨).

[SWS_UdpNm_00032] NM PDU의 전송이 시작되고 UdpNm 메시지 사이클 타이머가 만료되면 NM PDU는 SoAd_IfTransmit을 호출하여 SoAd를 통해 전송되어야 합니다.
 
[SWS_UdpNm_00040] UdpNm 메시지 주기 타이머가 만료되면 UdpNmMsgCycleTime으로 다시 시작해야 합니다.

[SWS_UdpNm_00051] NM PDU의 전송이 중단된 경우 UdpNm 메시지 주기 타이머는 취소되어야 합니다.

[SWS_UdpNm_00007] 매개변수 UdpNmRetryFirstMessageRequest(ECUC_UdpNm_00085 참조)가 TRUE이고 버스 슬  립에서 메시지 반복 상태로의 전환 후 첫 번째 전송 요청이 SoAd에 의해 수락되지 않으면 메시지 요청은 하나의 전송 요청이 수락될 때까지 다음 주 기능에서 반복되어야 합니다. SoAd에 의해.

참고: 이 기능은 부분 네트워크 웨이크업 필터의 경우 수동 시작 및 첫 번째 메시지 요청이 그렇지 않은 경우 모든 메시지의 차단을 피하기 위해 사용할 수 있습니다.
EthSM으로 인해 SoAd에 의해 허용된 것은 전송 경로를 충분히 빠르게 활성화할 수 없습니다(예: 비동기 트랜시버 처리의 경우).

[SWS_UdpNm_00379] UdpNm_SoAdIfTxConfirmation이 결과 E_NOT_OK와 함께 호출되면 UdpNm은 함수 Nm_TxTimeoutException을 호출해야 합니다. (SRS_Nm_00137)

 

 

수신

NM 메시지가 성공적으로 수신되면 SoAd는 UdpNm_SoAdIfRxIndication을 호출합니다.

[SWS_UdpNm_00035] UdpNm_SoAdIfRxIndication의 호출 시 UdpNm 모듈은 기능 매개변수에서 참조하는 네트워크 관리 PDU의 데이터를 내부 버퍼에 복사해야 합니다.

[SWS_UdpNm_00037] NM PDU가 수신되면 UdpNmPduRXIndicationEnabled(구성 매개변수)가 TRUE인 경우 Nm 기능 Nm_PduRxIndication이 호출됩니다.

 

반응형
반응형

[Classic AUTOSAR] UDP Network Management(NM) 3. 기능 사양 (5) Execution

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

 

프로세서 아키텍처

[SWS_UdpNm_00146] AUTOSAR UdpNm 조정 알고리즘은 프로세서에 독립적이어야 합니다. 즉, 프로세서별 하드웨어 지원에 의존하지 않으므로 AUTOSAR 범위 내에 있는 모든 프로세서 아키텍처에서 실현 가능해야 합니다.

 

타이밍 매개변수

[SWS_UdpNm_00246] 구성 매개변수 UdpNmTimeoutTime은 AUTOSAR UdpNm 타이밍 매개변수 NM-Timeout Time을 결정해야 합니다.


[SWS_UdpNm_00247] 구성 매개변수 UdpNmRepeatMessageTime은 AUTOSAR UdpNm 타이밍 매개변수 반복 메시지 시간을 결정해야 합니다.


[SWS_UdpNm_00248] 구성 매개변수 UdpNmWaitBusSleepTime은 AUTOSAR UdpNm 타이밍 매개변수 Wait Bus-Sleep Time을 결정해야 합니다.


[SWS_UdpNm_00249] 선택적 구성 매개변수 UdpNmRemoteSleepIndTime은 AUTOSAR UdpNm 타이밍 매개변수 원격 절전 표시 시간을 결정해야 합니다.

반응형
반응형

[Classic AUTOSAR] UDP Network Management(NM) 3. 기능 사양 (4) Initialization

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

 

[SWS_UdpNm_00141] 성공적인 초기화 후 네트워크 관리 상태는 BusSleep 모드로 설정되어야 합니다.
참고: UdpNm 모듈은 SoAd가 초기화된 후 다른 네트워크 관리 서비스가 호출되기 전에 초기화되어야 합니다.


[SWS_UdpNm_00143] 초기화되면 기본적으로 UdpNm 모듈은 네트워크 상태를 'released'로 설정해야 합니다.


[SWS_UdpNm_00144] 초기화되면 기본적으로 UdpNm 모듈은 Bus-Sleep 모드로 들어갑니다. 


[SWS_UdpNm_00145] AUTOSAR UdpNm이 초기화되지 않은 경우 버스 트래픽을 금지하지 않습니다. 


[SWS_UdpNm_00060] UdpNm_Init 함수는 전달되는 구성 포인터 매개변수를 통해 활성 구성 집합을 선택해야 합니다.


[SWS_UdpNm_00033] 초기화 후 NM 메시지 전송을 중지해야 합니다.


[SWS_UdpNm_00025] 초기화 후 사용자 데이터 바이트의 각 바이트는 0xFF로 설정되어야 합니다.


[SWS_UdpNm_00085] 초기화 후 제어 비트 벡터는 0x00으로 설정되어야 합니다.


[SWS_UdpNm_00485] 초기화 중 UdpNmPnEnabled가 TRUE이면 UdpNm 모듈은 PNC 비트 벡터의 각 바이트를 0x00으로 설정해야 합니다.


[SWS_UdpNm_00148] 하나의 NM 클러스터에 있는 서로 다른 ECU에 있는 UDP NM의 모든 인스턴스는 동일한 UDP 수신 포트를 사용해야 합니다.

반응형

+ Recent posts