CXPI(Clock Extension Peripheral Interface)とは

CXPIは、日本発の車載通信規格で、低コストかつ高応答性を実現する次世代HMI向けネットワークです。

CXPIとは

CXPIとは、Clock Extension Peripheral Interfaceの略称で、HMI領域で増え続ける1対1で接続された機器間のワイヤーハーネス削減、多重化を目的に、日本自動車技術会で規定を策定された日本発の車載通信プロトコル規格です。

スイッチやセンサ入力等からの応答性が求められるシステムでは、入出力機器間を1対1で接続するのが一般的ですが、ワイヤーハーネスの増加による車両重量増が課題になっています。CXPIは、この課題に対応するためCANと比較して低コストながら、LINでは実現できない応答性を備えた次世代のサブネットワーク通信規格として開発されました。

CXPI仕様は、JASO D015およびSAE J3076で規格化された後、2020年にISO 20794として国際標準規格となりました。

  • PART 2: APPLICATION LAYER
  • PART 3: TRANSPORT AND NETWORK LAYER
  • PART 4: DATA LINK LAYER AND PHYSICAL LAYER
  • PART 5: APPLICATION LAYER CONFORMANCE TEST PLAN
  • PART 6: TRANSPORT AND NETWORK LAYER CONFORMANCE TEST PLAN
  • PART 7: DATA LINK AND PHYSICAL LAYER CONFORMANCE TEST PLAN

※PART 1は廃止、ダイアグ仕様は、ISO 14229-8:2020でUSDonCXPIとして規定

CXPIの特長

CSMA/CR方式を採用

マスタ/スレーブスケジュール方式とCSMA/CR方式を組合せた動作を行い、スケジュールに基づく定期的な要求応答シーケンスの中で、イベントに応じたフレームを送信することが可能。

変調方式にPWMを採用

ビット毎の同期併せが可能。 マスタノードが通信バスへクロックを提供し、スレーブノードはこのクロックを用いて通信を行う。

1線式バスを採用

クロック成分を含むデータを単線の通信バス上で送受信し、通信速度は最大20kbpsまで対応可能。

バーストフレームの選択が可能

データは1フレームで通常フレーム12byte、バーストフレーム255byteまで送信可能。

エラー検知にCRCを採用

CRCを採用することによって通信の信頼性を確保。

CXPIの活用領域

CXPI通信が期待されているのは、HMI領域です。HMI(Human Machine Interface)とは、人が直接機械とやりとりをする領域で、自動車ではスイッチ、ワイパー、ライトなどが挙げられます。この領域はコスト面や技術面でCAN通信やLIN通信を使った制御が困難な領域であり、ジカ線で1対1の制御していました。CXPIはこの領域にマッチした車載ネットワークであり、HMI関連のワイヤーハーネス削減に期待されています。

またCXPIは、バーストフレームを使用することで最大255byteまでデータの転送が可能となるため、64byteまで転送が可能なCAN FD通信との連携も期待されています。

CXPIのネットワーク構築例

CXPI活用領域

他プロトコルとの位置付け

自動車のサイドミラーやドアロック等のボディ系制御ではローコストで実現できるLIN通信が多く採用されていますが、LINはシングルマスタによるスケジュールに基づいた定期送信のため、応答性が求められるシステムには不向きです。一方CXPIはマスタノード以外の各ノードから任意のタイミングでデータを送信することが可能です。

またLINと比較したとき、ノードの追加削除に柔軟性があることや、CRCチェックによるデータの信頼性も高く、スレーブ間の通信も可能です。

CXPIの位置付け

HMI領域の通信要件に対するプロトコル比較

項目通信要件CXPICANLIN
性能面
応答性イベント通信に対する応答性が確保できること(50-100ms以内)△(ノード数制約要)
拡張性ノードの追加削除が容易であること○(CANと同等)△(ノード追加はシステム全体に影響)
信頼性高いエラー検出能力があること○(3bit化けまで)○(5bit化けまで)△(1bit化けまで)

CXPIプロトコル詳細

CXPIの概要仕様

項目仕様
ネットワーク構成• バス型(単線)
• 1マスタ、多スレーブ(最大16ノード)
ネットワークマネジメント• シングルマスタ方式(非破壊型調停)
アクセス方式• CSMA/CR方式(イベント対応、スレーブ間通信)
• マスタ/スレーブスケジュール方式
通信方式• PWM方式
伝送ボーレート• 最大20kbps
同期方式• マスタノードからのクロック供給同期
• ビット毎に同期

詳細技術仕様

項目仕様値備考
電気的特性
電源電圧12V ±20%車載環境対応
動作温度範囲-40℃~+85℃車載グレード
バス電圧(論理1)7-12VPWM High レベル
バス電圧(論理0)1-5VPWM Low レベル
タイミング特性
ビット時間50μs(20kbps時)クロック周期
同期精度±2%マスタクロック基準
Wake-upパルス幅250μs-5ms規格範囲
IFS最小時間1ms(20bit)フレーム間隔

ノードからバスへの出力方法

CXPI通信では、マスタノードが通信バスに常にクロックを供給することでシステム全体を同期させます。マスタノード、スレーブノードはデータをクロックに重畳させたPWM波形を送信します。PWM波形をクロック再生することでスレーブに発振子が不要となる構成をしています。また、マスタノードではUART付きのマイコンで実現が可能であり、CXPI専用のコントローラを必要としないことから、比較的ローコストでシステムを構成することが可能です。

クロックの供給

マスタノードからスレーブノードへのクロック出力は常時論理値1の波形を送信することによって実現されます。

クロックの供給

マスタノードの出力

マスタノードの出力するクロック信号とUART信号をCXPIトランシーバが合わせ込み、PWM化した信号がCXPIバスへ出力されます。

マスタノードの出力

スレーブノードの出力

マスタノードの出力するクロック信号と、スレーブノードが送信するUART信号をCXPIトランシーバが合わせ込み、PWM化した信号がCXPIバスへ出力されます。

スレーブノードの出力

CXPIフレーム構成

CXPIのフレームには通常フレーム、Sleepフレーム、バーストフレームの3種類があり、データの送信には通常フレームとバーストフレームが使用されます。データ送信に使用するフレームには、要求(ヘッダ)と応答(レスポンス)があり、任意のノードが送信するヘッダに対応するノードがレスポンスを送信する方法でフレーム送信は行われます。

CXPIフレーム概要

フィールド概要
要求任意のノードが送信する
応答(レスポンス)ヘッダに対応するノードが送信する
ヘッダ送信方式に合わせて、1byteで情報を格納する
・イベントトリガ方式:PID(1byte)
・ポーリング方式:PTYPE(1byte)またはPID(1byte)を送信する
フレーム情報NM(Network Management)、データ長、カウンタを表す情報を格納する
データデータを格納する
CRC誤り検知の領域でPTYPE領域を除くフレーム全体を対象とした8bitのCRC演算結果を格納する
IFS(Inter Frame Space)フレーム送信後、前のフレームと分離させるために使用する。フレーム送信後の20bit以上のレセシブが連続する期間

フレーム送信管理

CXPI通信ではイベントトリガ方式とポーリング方式の2つのアクセス方式があり、前者はイベントの応答性を重視し、後者は通信の定期性を重視したものとなっています。システムの要件に応じていずれか一方を選択して実装します。

CXPIのフレームはPID(Protected ID)領域とレスポンス領域からなり、PID領域のフレームIDに該当するノードはレスポンス領域の送信が可能になります。送信イベントが同時に発生した場合は非破壊型の調停を実施し、フレームの優先度を選択します。

イベントトリガ方式

各ノードはバスのアイドル状態を見つけて自由にフレーム送信が可能です。 フレーム送信後はIFSが検出されたら、CSMA/CR方式でフレームの送信が可能です。

イベントトリガ送信シーケンス

通常フレーム

イベントトリガ通常フレーム

PID(Protected ID領域) フレームIDとIDパリティ(奇数パリティ)で構成される領域。 フレームIDに該当するノードはレスポンス領域の送信が可能。

フレーム情報 CT、NM、DLCで構成される領域

  • CT:カウンタ情報、フレームの連続性(シーケンス情報)を示す。
  • NM:Sleep/Wakeup処理に使用するWakeup.ind 1bit、Sleep.ind 1bitで構成される。
  • DLC:データ長を表す

データ データを格納する領域で通常フレームでは最大12byteまで格納可能。

CRC CRCによる誤り検知領域で1byteで表す。

IBS(Inter Byte Space) 各バイトデータごとの間隔で9bit以下のレセシブ。

IFS(Inter Frame Space) フレームとフレームの間隔を空けるために使用する20bit以上のレセシブ。

バーストフレーム

イベントトリガバーストフレーム

バーストフレームでは、データを最大255byteまで送信することができます。 通常フレームとの違いは下記の項目の通りです。

フレーム情報

  • DLC:バーストフレームの指示を実施、4bitを1111で設定する。

フレーム情報(拡張DLC) バーストフレームで追加された領域で、1byteでデータ長を設定する。

データ 最大255byteまでのデータを設定する。

CRC CRCによる誤り検知領域で2byteで表す。

ポーリング方式

ポーリング方式はマスタノードが送信するヘッダに従い、イベント送信や定期への応答が可能になる方式です。

マスタノードが通信バス上にPID領域を送信した場合、フレームIDに該当するノードはレスポンスを送信することが可能で、マスタノードがPTYPE領域を送信した場合は、スレーブノードは任意のPID領域を送信することが可能です。

応答性はイベントトリガ方式には劣りますが、通信の定期性を重視する場合にはポーリング方式を採用します。

ポーリング方式送信シーケンス

通常フレーム

ポーリング方式通常フレーム

バーストフレーム

ポーリング方式バーストフレーム

ポーリング方式では、標準フレーム、バーストフレームの両方で、新たにヘッダ領域でPTYPE領域が選択可能になります。

PTYPE(Protected TYPE) 7bitのフレームTYPEと1bitのパリティビット(奇数パリティ)で構成される領域 マスタノードからイベント要求を表すPTYPE領域を受信した直後のみ、任意のノードは非破壊型の調停で任意のフレームをイベントトリガ方式で送信することが可能。 (PTYPE領域はCRCの演算対象外)

Wakeup/Sleep管理

常時電源供給されるノードの消費電力抑制のため、省電力のSleepモードに遷移することが可能です。 Wakeup/Sleep機能の搭載はシステムごとに選択が可能です。

Wakeup/Sleep状態遷移

動作モード詳細

モード消費電力機能状態遷移条件
Normal10-50mA全機能動作Standbyから自動遷移
Standby1-5mAWake-up監視のみSleepから条件付き遷移
Sleep<100μA最低限監視Normal/Standbyから遷移

Sleepモード Sleepモードでは、各ノードがデータの送受信を停止した省電力モードの状態を表します。 トランシーバは発振回路を停止し、PWM符号化をせずNRZで入出力します。

Standbyモード StandbyモードはNormalモードへの遷移を待機する状態で、Sleepモードからだけ遷移します。

Standbyモード中のマスタノードの場合、通信バスにクロックの送信を開始するとNormalモードへ遷移し、スレーブノード且つ内部要因のイベントが発生したノードの場合、Wakeupパルスを通信バスへ送信し、マスタノードから通信バスへ送信されるクロックを受信した後Normalモードへ遷移します。クロックを受信しない場合はWakeupパルスを再送信できます。

イベント送信が発生していないノードの場合は、マスタノードから通信バスへ送信されるクロックを受信するとNormalモードへ遷移します。 スレーブはWakeupパルスの送信・再送を行い、マスタはクロックを出力します。

Normalモード NormalモードはStandbyモードからだけ遷移します。

マスタノードはNormalモードへ遷移後に定期送信を開始できます。スレーブノードはマスタノードが送信する任意のPID領域もしくはPTYPE領域を受信後にデータの送信が可能となります。

Normalモード中マスタノードはSleep条件成立後、Sleepフレームを通信バスへ送信し、クロック送信停止後にSleepモードへ遷移します。スレーブノードはマスタノードからSleepフレームを受信した後、規定時間経過後にSleepモードへ遷移します。

Sleepフレーム

SleepフレームはNormalモードの時に、マスタノードが各スレーブノードにSleep準備をさせるために使用します。 Sleepフレームは固定長で、PID領域とデータは固定値が格納されます。フレーム情報の領域は現在のステータスが反映されます。

Sleepフレーム

Sleepシーケンス

全てのノードから一定期間Sleep禁止フレームを受信しない時もしくは、マスタノードがシステム要件で規定されたSleep条件に合致したとき、マスタノードはSleepフレームを送信することが可能です。 スレーブノードはSleepフレームを受信するとSleepの準備をし、規定時間経過後にSleepします。

Sleepフレーム

エラーの種類

CXPIにはバスの異常やノードの故障を通知するために、8種類のエラーが存在します。

エラーの種類検出ノードエラー検出箇所詳細
ビットエラー送信ノードイベントトリガ方式
・PID領域のスタートビット及びストップビット
・レスポンス領域
送信しているビットの値と受信しているビットの値を比較し、不一致の場合ビットエラーを検出し、送信処理を中断します。
CRCエラー受信ノード・PID領域
・フレーム情報
・データ
送信ノードはエラー検出対象としたCRC演算結果をCRC領域に格納して送信し、受信ノードはCRC演算結果が受信したCRCと異なる場合にCRCエラーを検出する。エラーを検出した時にフレームは破棄されます。
パリティエラー受信ノードイベントトリガ方式
・PID領域
ポーリング方式
・PTYPE領域
・PID領域
送信ノードはイベントトリガ方式の時はPID領域、ポーリング方式の時はPTYPE領域またはPID領域の論理値1の数が奇数値になるようにパリティビットに0または1を入れてフレームを送信する。受信ノードは受信した同領域の論理値1の数を計算し、偶数個であった場合はパリティエラーを検出し、受信したPTYPE領域またはPID領域を無効として応答しません。
フィジカルバスエラー全てのノードWakeup/Sleep対応システム時
・StandbyモードまたはNormalモード時に検出する
Wakeup/Sleep非対応システム時
・起動状態の時に検出する
フレームTYPEまたはフレームIDの受信がない状態かつ、フィジカルバスエラー判定時間(4秒以上10秒以内)にフィジカルバスエラー条件が成立します。
データレングスエラー送信ノード
受信ノード
送信ノード
・レスポンス領域
受信ノード
・フレームのDLC以降
・バーストフレーム時はフレームの拡張DLC以降
送信ノードの場合
送信すべきデータ長と通信バス上のフレームのデータ長が異なる場合にデータレングスエラーを検出し、送信処理を中断します。
受信ノードの場合
フレーム情報のDLCと受信したフレームのデータ長を比較し、異なる場合はデータレングスエラーを検出しフレームを破棄します。
カウンタエラー(オプション)受信ノード・フレーム情報のCT受信ノードは任意のフレームのフレーム情報中のCTを確認し、その前に受信した同じフレームIDのフレームに含まれるCTの値と比較し、連続していなかった場合にカウンタエラーを検出し、アプリケーションにエラーを通知します。
オーバーランエラー受信ノード・受信データ全て受信ノードのコントローラが通信バスから受信したUARTデータをバッファレジスタから読み出す前に次のUARTデータが転送され、本来読み出すべきだったUARTデータが新しいUARTデータに上書きされた時にオーバーランエラーを検出し、受信処理を中断し受信中のフレームを破棄します。
フレーミングエラー送信ノード
受信ノード
・UARTフレーム全て受信ノードが受信したUARTフレームの最後のストップビットの論理値が0であった場合にフレーミングエラーを検出し、送信ノードの場合は、送信処理を中断し、受信ノードの場合は、受信処理を中断し、受信中のフレームを破棄します。

LINとの比較

項目CXPILIN
アクセス方式CSMA/CR方式
(イベント対応、スレーブ間通信)
スケジュールテーブルに基いたポーリング方式
Wakeup/Sleep対応
再送信プロセス即時再送可能次のポーリング待ち
フレーム
ID(パリティ)7bit ID(1bitパリティ)6bit ID(2bitパリティ)
データ長・通常フレーム:0~12byte
・バーストフレーム:0~255byte(オプション)
0~8byte
エラー検出・通常フレーム:8bit CRC
・バーストフレーム:16bit CRC(オプション)
チェックサム
フレームの非破壊調停×
変調方式PWM方式(ビット毎に同期)NRZ(フレーム毎に同期)
トランシーバアナログ+デジタル
(符号化/複合化、調停、クロック生成)
アナログ

まとめ

CXPIは日本発の車載通信プロトコルとして、HMI領域における低コスト・高応答性通信を実現する重要な技術です。LINとCANの中間的な性能を持ち、特に以下の特徴により差別化されています:

  1. イベント駆動通信: 応答性の向上
  2. バーストフレーム: 大容量データ転送対応
  3. PWM変調: 高い同期精度
  4. 非破壊調停: 通信効率の向上

今後の車載HMIシステムの高度化に伴い、CXPIの重要性はさらに高まることが予想されます。