# Polaris 通用 ISO 診斷協議規範文件詳細內容 **目的/範圍** 本文件描述了 Polaris 實作基於 ISO 14229-1/2/3 和 ISO 15765-2/4 的診斷服務的通用通信協定要求;所有服務都使用 29 位 CAN ID。**需要注意的是,Polaris 通用 UDS 重刷規範包含在單獨的文檔 (ENG-SPEC-01337) 中。** 任何偏離或例外情況都應在特定車輛/系統的單獨軟體和功能需求文件中詳細說明。 本文件作為通用規範,描述了所有 Polaris 車輛系列可能出現的 CAN 功能的整個範圍。沒有任何單一車輛或系統會使用本文檔中描述的所有功能。 具體的車輛/車輛系統需求會在該車輛/系統的單獨功能需求文件中詳細說明。 供應商在被要求向 Polaris 提供 ECU 時,應將本文件作為需求的一部分提供給他們。必須在開發週期的足夠早的時間審查本文件,以確保 ECU 供應商有足夠的時間來實施規定的通信協議。 **安全診斷會話** 控制器必須提供一種方法來啟動安全診斷會話,以啟用對安全相關功能的訪問,例如寫入非易失性記憶體或執行特殊測試功能。 這些安全功能可能會對車輛的運作產生負面影響,如果被未經授權的使用者修改,可能會損壞車輛。 安全診斷會話旨在保護車輛免受未經授權的修改。 **InputOutputControlByIdentifier (0x2F) 服務** InputOutputControlByIdentifier (0x2F) 服務用於請求控制器設定指定執行器的輸出狀態或強制傳感器的輸入狀態。 例如,這可用於在不運行引擎的情況下打開和關閉燃油噴射器,以測試其功能。 Polaris 對此服務的需求基於 ISO 14229-1 中的定義,並遵循以下請求格式: | 位元組 | 參數名稱 | 十六進位值 | |---|---|---| | 1 | InputOutputControlByIdentifier 請求服務 ID | 2F | | 2 | | | | 3 | dataIdentifier [] = 位元組#1 (MSB)、位元組#2 (LSB) | 0x00 – 0xFF<br>0x00 – 0xFF | | 4 | . | | | . | . | | | 4+(m-1) | controlOptionRecord [] = inputOutputControlParameter<br>controlState#1<br>:<br>controlState#m | 0x00 – 0x03<br>0x00 – 0xFF<br>.<br>0x00 – 0xFF | | 4+m | . | | | . | . | | | | controlEnableMaskRecord#1 [] = controlMask#1<br>:<br>controlMask#n | 0x00 – 0xFF<br>0x00 – 0xFF | InputOutputControlByIdentifier (0x2F) 也可用於更複雜的輸入/輸出控制,例如通過傳遞一對對應於請求的占空比和 PWM 頻率的值(每 LSB 為 0.00000005 Hz)來執行基於 PWM 訊號的致動。 **ReadDataByIdentifier (0x22) 服務** 控制器除了必須符合 SAE J1939-DA 中列出的數據識別碼的要求外,還必須能夠報告 ISO 14229-1 中指定的其他 DID。 例如,這將包括對支持的 PID 範圍的請求/回應訊息、車輛速度訊息、外部環境溫度訊息、支持的 MID 範圍列表以及顯示的故障代碼資訊的請求/回應訊息。 Polaris 在新的控制器實作中,有幾個預定義的數據識別碼(訊號等)可供重複使用。 如果沒有預定義的數據識別碼具有新的控制器實作所需的精確定義(例如,縮放或單位),則應使用另一個數據識別碼。 確保選擇的數據識別碼在 SAE J1939-73 中沒有定義,以避免與現有標準衝突。 數據識別碼的定義應包含在控制器軟體需求文件中。 與前一節中描述的通過 ISO 27145-2(附件 A 的表 A.1)定義的支持的 PID 範圍定義類似,應保留低半位元組為 0x0 的 DD-DID,以報告控制器支持的數據驅動識別碼列表,從 31 個數據標識符 0xE2A1 到 0xE2BF。 工具將通過 32 個數據識別碼 DID 及其相應的標籤 0xE2C1-0xE2DF 來訪問 ASCII 標籤。 ASCII 標籤應以「;」 (0x3B) 結束。 當需要多個標籤時,例如對於 stateEncodedVariables,每個標籤應以「,」分隔。 **例 - 使用 DD-DID 的騎車者傾斜角直方圖** **初始化** 首先假設客戶端(例如,工具或連接的遠端資訊處理裝置)將以下值寫入控制器: | DD-DID | 標籤 DID | ASCII 標籤 | 縮放參數(從 inputXDataIdentifier 推斷) | |---|---|---|---| | E2A1 | E2C1 | “Edges\_Angle” | SBYT 高半位元組:y=x(公式)<br>度數(單位)<br>SBYT 低半位元組:1 位元組 | | E2A2 | E2C2 | “Histogram\_Angle” | SBYT 高半位元組:無符號數值<br>SBYT 低半位元組:3 位元組 | | E2A3 | E2C3 | “Angle” | SBYT 高半位元組:y=x(公式)<br>度數(單位)<br>SBYT 低半位元組:1 位元組 | 客戶端發送以下 ResponseOnEvent 請求: | 數據<br>位元組 | 參數名稱 | 十六進位值 | |---|---|---| | 1 | ResponseOnEvent 請求服務 ID | 86 | | 2 | 子功能 = \[ eventType] = onStart | 40 | | 3 | EventWindowTime = 無限 | 02 | | 4 | eventTypeRecord\[eventTypeParameter] = routineIdentifier (MSB) | DF | | 5 | eventTypeRecord\[eventTypeParameter#2] = routineIdentifier (LSB) | 75 | | 6 | | | | 7 | | | | 8 | | | | 9 | | | | 10 | | | | 11 | serviceToRespondToRecord\[serviceID] = RoutineControl | 31 | | 12 | serviceToRespondToRecord\[serviceParam#1 ] = routineIdentifier (MSB) | DF | | 13 | serviceToRespondToRecord\[serviceParam#2 ] = routineIdentifier (LSB) | 74 | | 14 | serviceToRespondToRecord\[serviceParam#3 ] = inputXLocalization | 00 | | 15 | serviceToRespondToRecord\[serviceParam#4 ] = inputXDataIdentifier<br>(MSB) | E2 | | 16 | serviceToRespondToRecord\[serviceParam#5 ] = inputXDataIdentifier<br>(LSB) | A3 | | 17 | serviceToRespondToRecord\[serviceParam#6 ] = histogramDataIdentifier<br>(MSB) | E2 | | 18 | serviceToRespondToRecord\[serviceParam#7 ] = histogramDataIdentifier<br>(LSB) | A2 | | 19 | serviceToRespondToRecord\[serviceParam#8 ] = binEdgeDataIdentifier<br>(MSB) | E2 | | 20 | serviceToRespondToRecord\[serviceParam#9 ] = binEdgeDataIdentifier<br>(LSB) | A1 | | 21 | | | | 22 | | | | 23 | | | | 24 | | | **讀取直方圖** 當客戶端想要查看直方圖數據時,它將讀取數據識別碼 E2A2。 **相關文檔** * ENG-SPEC-00375 Polaris 通用診斷協議規範 * ENG-SPEC-01987 Polaris 通用 ISO CAN 協議規範 * ISO 11898-1 道路車輛 - 控制器區域網路 (CAN) 第 1 部分:數據鏈路層和物理信號 * ISO 14429-1 道路車輛 - 統一診斷服務 (UDS) 第 1 部分:應用層 **附錄** **Polaris 例程識別碼** | RID | 描述 | |---|---| | 0000 | ReportSupportedRoutineIdentifiers | | DF70 | PointToDataIdentifier | **重要說明** 請注意,以上信息僅基於您提供的來源。如果您需要有關 Polaris 通用 ISO 診斷協議規範的更詳細信息,建議您直接查閱完整的文件。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up