ネットワークを介して制御データを送受信する通信部と、前記送信部が送信する制御データに誤り検出符号を付与する検出符号付与部と、前記制御データを受信する受信装置がどの程度正確に動作することを要求されているかを示す正確動作要求レベルを判定する正確動作要求レベル判定部と、を備え、前記検出符号付与部は、前記正確動作要求レベル判定部が判定した前記正確動作要求レベルに応じて、前記誤り検出符号の誤り検出能力を変更することを特徴とする車両制御装置。前記検出符号付与部は、前記通信部が送信する通信パケットのうち前記制御データを記述した部分に、前記誤り検出符号を付与することを特徴とする請求項1記載の車両制御装置。前記通信部は、前記検出符号付与部が前記誤り検出符号を付与した前記制御データを格納した通信パケットに、前記検出符号付与部が付与する前記誤り検出符号とは別の誤り検出符号を付与することを特徴とする請求項2記載の車両制御装置。前記受信装置と前記正確動作要求レベルの対応関係を記述した正確動作要求レベルテーブルを備え、前記正確動作要求レベル判定部は、前記正確動作要求レベルテーブルの記述にしたがって、前記受信装置の前記正確動作要求レベルを判定することを特徴とする請求項1記載の車両制御装置。前記正確動作要求レベル判定部は、前記受信装置が前記制御データを用いて実行する機能毎に、前記正確動作要求レベルを判定することを特徴とする請求項1記載の車両制御装置。前記正確動作要求レベル判定部は、前記受信装置が前記制御データを用いて実行する機能と、前記車両制御装置が備える機能との組合せ毎に、前記正確動作要求レベルを判定することを特徴とする請求項1記載の車両制御装置。前記正確動作要求レベル判定部は、前記ネットワークと前記受信装置の組合せ毎に、前記正確動作要求レベルを判定することを特徴とする請求項1記載の車両制御装置。前記制御データを受信する受信装置と、前記制御データの種別との対応関係を記述した通信データ管理テーブルを備え、前記正確動作要求レベル判定部は、前記通信データ管理テーブルの記述にしたがって前記制御データを受信する受信装置を特定し、その受信装置が要求されている前記正確動作要求レベルを判定することを特徴とする請求項1記載の車両制御装置。請求項1記載の車両制御装置を複数有し、複数の前記車両制御装置が前記ネットワークを介して接続されていることを特徴とする車両制御システム。前記ネットワークはイベントトリガネットワークであることを特徴とする請求項9記載の車両制御システム。前記ネットワークはタイムトリガネットワークであることを特徴とする請求項9記載の車両制御システム。車両制御システムは、異なるECUの機能が協調して高度な制御を実施するため、要求される安全水準が異なるECU間では、より高い方の安全水準に準じたデータ誤り検出率を保証しつつ、通信する必要がある。上記特許文献1に記載されている技術では、通信のエラー率等によってデータ誤り検出方式を切り替えることができるが、ECUや機能ごとに割り当てられる安全水準に応じてデータ誤り検出方式を切り替えることができない。上記特許文献2に記載されている技術では、通信環境が悪化しても符号化率を高くすることによって信頼性の高い通信を行うことができるが、上記特許文献1と同様に、ECUや機能ごとに割り当てられる安全水準に応じてデータ誤り検出方式を切り替えることができない。本発明は、上記のような課題を解決するためになされたものであり、要求される安全水準が異なるECU間で、それぞれのECUについて要求される安全水準を満たしつつ通信するための技術を提供することを目的とする。本発明に係る車両制御装置は、受信側の装置がどの程度正確に動作することを要求されているかに応じて、データ送信時に用いる誤り検出方式を変更する。本発明に係る車両制御装置は、受信ECUがどの程度正確に動作する必要があるかに応じてデータ誤り検出方式を選択するため、安全水準が異なるECU間で、求められる安全水準を確保しつつ通信することができる。<実施の形態1>図1は、本発明の実施形態1に係る車両制御システム1000の構成図である。車両制御システム1000は、車両を制御する1以上のECUをネットワークで接続した構成を有する。各ECUは、車両の各部を制御するとともに、必要に応じて他のECUと通信する。例えばカメラECU1は、車載カメラ11を用いて外界の状況を認識し、車間距離データをCAN5に送信する。車間距離制御ECU2は、車間距離データを受信し、これを用いてブレーキ力データを算出してCAN5に送信する。プリクラッシュセーフ制御ECU3は、車間距離データを受信し、これを用いて衝突の可能性を判定し、衝突可能性が高い場合は急ブレーキ要求データをCAN5に送信する。ブレーキ制御ECU4は、ブレーキ力データと急ブレーキ要求データを受信し、それらに応じてブレーキ41を制御する。図2は、カメラECU1の構成図である。カメラECU1は、演算装置101、メモリ102、入出力回路115、CANコントローラ116を備える。演算装置101は、メモリ102が格納する各プログラムを実行するプロセッサCentralProcessingUnitである。同等の機能を、回路デバイスなどのハードウェアを用いて構成することもできる。メモリ102は、プログラム領域103とデータ記憶領域111を有する。プログラム領域103は、カメラ制御部104、通信処理部105、正確動作要求レベル判定部106、データ誤り検出方式選択部107、パリティデータ付与部108、CRC符号付与部109、通信制御部110を格納する。これらプログラムの機能については後述する。データ記憶領域111は、後述の図6で説明する通信データ管理テーブル112、図7で説明する要求レベル判定テーブル113、図8で説明する検出方式選択テーブル114を格納する。CANコントローラ116は、CRC回路117と信号入出力回路118を備える。CRC回路117は、CANバス5へ送信するデータを用いてCRC符号を算出し、通信パケットに付与してCANバス5へ送信する。また、CANバス5から受信したデータを用いてCRC符号を算出し、受信したCRC符号と算出したCRC符号を比較することにより、データ誤りを検出する。信号入出力回路118は、CANバス5から受信した通信信号をデジタル変換するなどの必要な処理を適宜実行する。図3は、車間距離制御ECU2の構成図である。車間距離制御ECU2は、演算装置201、メモリ202、入出力回路215、CANコントローラ216を備える。演算装置201は、メモリ202が格納する各プログラムを実行するプロセッサである。同等の機能を、回路デバイスなどのハードウェアを用いて構成することもできる。メモリ202は、プログラム領域203とデータ記憶領域211を有する。プログラム領域203は、車間距離制御部204、通信処理部205、正確動作要求レベル判定部206、データ誤り検出方式選択部207、パリティデータ検出部208、CRC符号付与部209、通信制御部210を格納する。これらプログラムの機能については後述する。データ記憶領域211は、後述の図9で説明する通信データ管理テーブル212、図10で説明する要求レベル判定テーブル213、図8で説明する検出方式選択テーブル114、図11で説明する受信バッファ214を格納する。CANコントローラ216の構成は、カメラECU1が備えるCANコントローラ116と同様である。図4は、プリクラッシュセーフ制御ECU3の構成図である。プリクラッシュセーフ制御ECU3は、演算装置301、メモリ302、入出力回路315、CANコントローラ316を備える。演算装置301は、メモリ302が格納する各プログラムを実行するプロセッサである。同等の機能を、回路デバイスなどのハードウェアを用いて構成することもできる。メモリ302は、プログラム領域303とデータ記憶領域311を有する。プログラム領域303は、プリクラッシュセーフ制御部304、通信処理部305、正確動作要求レベル判定部306、データ誤り検出方式選択部307、CRC符号検出部308、CRC符号付与部309、通信制御部310を格納する。これらプログラムの機能については後述する。データ記憶領域311は、後述の図12で説明する通信データ管理テーブル312、図13で説明する要求レベル判定テーブル313、図8で説明する検出方式選択テーブル114、図14で説明する受信バッファ314を格納する。CANコントローラ316の構成は、カメラECU1が備えるCANコントローラ116と同様である。図5は、ブレーキ制御ECU4の構成図である。ブレーキ制御ECU4は、演算装置401、メモリ402、入出力回路409、CANコントローラ410、ブレーキ41を制御するブレーキアクチュエータ413を備える。演算装置401は、メモリ402が格納する各プログラムを実行するプロセッサである。同等の機能を、回路デバイスなどのハードウェアを用いて構成することもできる。メモリ402は、プログラム領域403とデータ記憶領域407を有する。プログラム領域403は、ブレーキ制御部404、CRC符号検出部405、通信制御部406を格納する。これらプログラムの機能については後述する。データ記憶領域407は、後述の図15で説明する受信バッファ408を格納する。CANコントローラ410の構成は、カメラECU1が備えるCANコントローラ116と同様である。図6は、カメラECU1が備える通信データ管理テーブル112の例を示す図である。通信データ管理テーブル112は、カメラECU1が送信するデータの種類を管理するテーブルであり、indexフィールド1120、データIDフィールド1121、CANIDフィールド1122、データ名フィールド1123、受信先ECUIDフィールド1124を有する。indexフィールド1120は、各レコードを識別する番号を保持する。データIDフィールド1121は、カメラECU1が送信するデータの種類を識別する値を保持する。CANIDフィールド1122は、カメラECU1が送信するデータのCANIDを保持する。データ名フィールド1123は、カメラECU1が送信するデータ名称を保持する。受信先ECUIDフィールド1124は、データの宛先となるECUの識別子を保持する。図7は、カメラECU1が備える要求レベル判定テーブル113の例を示す図である。要求レベル判定テーブル113は、カメラECU1が制御データを送信する宛先ECUがどの程度正確に動作することを要求されているかを判定するために用いるテーブルであり、ECUIDフィールド1130、ECU名フィールド1131、正確動作要求レベルフィールド1132を有する。ECUIDフィールド1130は、車両制御システム1000内のECUを識別する識別子を保持する。ECU名フィールド1131は、ECUIDフィールド1130によって識別されるECUの名称を保持する。正確動作要求レベルフィールド113は、ECUIDフィールド1130によって識別されるECUがどの程度正確に動作することを要求されているかを示す値を保持する。このフィールドの値が高いほど、より正確に動作することが要求されていることになる。ECUが正確に動作するとは、そのECUが設計意図通りに動作することをいう。正確に動作しなければ安全に影響を及ぼす度合いが強いECUほど、より正確に動作することが要求されるので、正確動作要求レベルフィールド1132の値は高い。図8は、カメラECU1、車間距離制御ECU2、プリクラッシュセーフ制御ECU3が備える検出方式選択テーブル114の例を示す図である。検出方式選択テーブル114は、受信側ECUに要求されている正確動作要求レベルに応じてデータ誤り検出方式を選択するために用いるテーブルであり、受信側要求レベルフィールド1141、データ誤り検出方式1142を有する。受信側要求レベルフィールド1141は、受信側ECUに要求されている正確動作要求レベルの値を列挙する。データ誤り検出方式1142は、受信側要求レベルフィールド1141の値に適したデータ誤り検出方式を指定する値を保持する。図9は、車間距離制御ECU2が備える通信データ管理テーブル212の例を示す図である。通信データ管理テーブル212の構成は、カメラECU1が備える通信データ管理テーブル112と同様であるが、保持するレコードの内容は車間距離制御ECU2が送信する制御データに対応するものとなっている。図10は、車間距離制御ECU2が備える要求レベル判定テーブル213の例を示す図である。要求レベル判定テーブル213の構成は、カメラECU1が備える要求レベル判定テーブル113と同様であるが、保持するレコードの内容は車間距離制御ECU2が制御データを送信する宛先に対応するものとなっている。図11は、車間距離制御ECU2が備える受信バッファ214の例を示すである。受信バッファ214は、車間距離制御ECU2が受信したデータを一時的に格納するバッファであり、受信CANIDフィールド2140、データ値フィールド2141、受信フラグフィールド2142を有する。受信CANIDフィールド2140は、受信したデータのCANIDを保持する。データ値フィールド2141は、受信したデータの値を保持する。受信フラグフィールド2142は、CANバス5からデータを受信したか否かを示すフラグ値を保持する。図12は、プリクラッシュセーフ制御ECU3が備える通信データ管理テーブル312の例を示す図である。通信データ管理テーブル312の構成は、カメラECU1が備える通信データ管理テーブル112と同様であるが、保持するレコードの内容はプリクラッシュセーフ制御ECU3が送信する制御データに対応するものとなっている。図13は、プリクラッシュセーフ制御ECU3が備える要求レベル判定テーブル313の例を示す図である。要求レベル判定テーブルテーブル313の構成は、カメラECU1が備える要求レベル判定テーブルテーブル113と同様であるが、保持するレコードの内容はプリクラッシュセーフ制御ECU3が制御データを送信する宛先に対応するものとなっている。図14は、プリクラッシュセーフ制御ECU3が備える受信バッファ314の例を示す図である。受信バッファ314の構成は、車間距離制御ECU2が備える受信バッファ214と同様であるが、保持するレコードの内容はプリクラッシュセーフ制御ECU3が受信するデータに対応するものとなっている。図15は、ブレーキ制御ECU4が備える受信バッファ408の例を示す図である。受信バッファ408の構成は、車間距離制御ECU2が備える受信バッファ214と同様であるが、保持するレコードの内容はブレーキ制御ECU4が受信するデータに対応するものとなっている。以上、車両制御システム1000が有する各機器の構成について説明した。以下では、カメラECU1が車載カメラ11を用いて車間距離を算出し、車間距離データをCAN5に送信する処理を例として、各機器の動作フローを説明する。受信ECUが車間距離制御ECU2である場合は、車間距離制御ECU2の動作要求レベルが2であるので、カメラECU1はデータ誤り検出方式としてパリティデータを用いて検出符号を算出し、車間距離データとセットにして送信する。受信ECUがプリクラッシュセーフ制御ECU3である場合は、プリクラッシュセーフ制御ECU3の動作要求レベルが4であるので、カメラECU1はデータ誤り検出方式としてCRCを用いて検出符号を算出し、車間距離データとセットにして送信する。車間距離制御ECU2は、受信した車間距離データの値に応じてブレーキ力を算出し、データ誤り検出方式としてCRCを用いて、ブレーキ力データをブレーキ制御ECU4に送信する。プリクラッシュセーフ制御ECU3は、受信した車間距離データの値に応じて急ブレーキ要求を出すか否かを判定し、データ誤り検出方式としてCRCを用いて、急ブレーキ要求データをブレーキ制御ECU4に送信する。ブレーキ制御ECU4は、受信したブレーキ力データと急ブレーキ要求データに応じてブレーキ41を制御する。図16は、カメラECU1が備えるカメラ制御部104の動作フローを示す図である。以下、図16の各ステップについて説明する。図16:ステップS104000カメラ制御部104は、車載カメラ11が撮像した映像データを読み出し、これを用いて車間距離データを算出する。図16:ステップS104001カメラ制御部104は、車間距離データとそのデータIDを引数として通信処理部105を呼び出し、車間距離データを送信し、本動作フローを終了する。例えば、車間距離データのデータIDが1であるとき、車間距離データの値とデータIDの1を引数として通信処理部105を呼び出す。本ステップの詳細は図17で説明する。図17は、カメラECU1が備える通信処理部105の動作フローを示す図である。通信処理部205、通信処理部305も同様の動作フローを実施する。以下、図17の各ステップについて説明する。図17:ステップSS105000通信処理部105は、通信データ管理テーブル112のindexフィールド1120の値を格納する変数countを0にセットする。通信処理部105は、受け取った引数に等しいデータIDフィールド1121が得られるまで、変数countの値を1つずつ増やしながら通信データ管理テーブル112内のレコードを順に取得する。図17:ステップS105001通信処理部105は、変数countの値に対応する通信データ管理テーブル112内のレコードを参照し、受信先ECUIDフィールド1124を取得する。通信処理部105は、取得した受信ECUIDフィールド1124の値を引数として正確動作要求レベル判定部106を呼び出し、正確動作要求レベルの値を返戻値として取得する。例えば図6で説明したデータ例によれば、count=indexが0であるとき、受信先ECUIDフィールド1124は2であるので、引数として2を指定して正確動作要求レベル判定部106を呼び出す。本ステップの詳細は図18で説明する。図17:ステップS105002通信処理部105は、取得した正確動作要求レベルと通信処理部105への引数として受け取ったデータを引数としてデータ誤り検出方式選択部107を呼び出し、返戻値として検出符号付き送信データを取得する。例えば図7で説明したデータ例によれば、通信処理部105が引数として受け取ったデータが車間距離データであり、車間距離制御ECU2へ送信する場合は、正確動作要求レベルの2と車間距離データの値を引数としてデータ誤り検出方式選択部107を呼び出す。同様に、通信処理部105が引数として受け取ったデータが車間距離データであり、プリクラッシュセーフ制御ECU4へ送信するときには、正確動作要求レベルの4と車間距離データの値を引数としてデータ誤り検出方式選択部107を呼び出す。本ステップの詳細は図19で説明する。図17:ステップS105003通信処理部105は、通信データ管理テーブル112を参照し、countの値に対応するレコードのCANIDフィールド1122を取得する。例えば図6で説明したデータ例によれば、count=indexが0であるとき、CANIDフィールド1122の値として100を取得する。図17:ステップSS105004通信処理部105は、ステップS105003で取得したCANIDとステップS105002で取得した検出符号付き送信データを引数として通信制御部送信処理110を呼び出し、検出符号付き送信データ値を送信する。本ステップの詳細は図23で説明する。図17:ステップS105005通信処理部105は、同じデータIDに関してすべてのCANIDを用いて送信済みであるか否かを判定する。送信済みである場合は本動作フローを終了し、送信済みでない場合はステップS105006へ進む。例えば、通信処理部105はcountが1であれば送信完了したと判定し、通信処理部205と通信処理部305はcountが0であれば送信完了したと判定する。図17:ステップS105006通信処理部105は、countの値に1を加え、ステップS105001へ戻る。図18は、正確動作要求レベル判定部106の動作フローを示す図である。正確動作要求レベル判定部206、正確動作要求レベル判定部306も同様の動作フローを実施する。以下、図18の各ステップについて説明する。図18:ステップS106000正確動作要求レベル判定部106は、要求レベル判定テーブル113を参照し、ECUIDフィールド1130の値が引数である受信ECUIDと合致するレコードから正確動作要求レベルフィールド1132を取得する。例えば図7のデータ例によれば、引数である受信ECUIDが2である場合は、正確動作要求レベルとして2を取得する。図18:ステップS106001正確動作要求レベル判定部106は、正確動作要求レベルフィールド1132を返戻値として返し、本動作フローを終了する。図19は、データ誤り検出方式選択部107の動作フローを示す図である。データ誤り検出方式選択部207、データ誤り検出方式選択部307も同様の動作フローを実施する。以下、図19の各ステップについて説明する。図19:ステップS107000データ誤り検出方式選択部107は、検出方式選択テーブル114を参照して、受信側正確動作要求レベルフィールド1141の値が引数である正確動作要求レベルと等しいレコードから、データ誤り検出方式フィールド1142の値を取得する。例えば図8のデータ例によれば、正確動作要求レベルが2である場合、データ誤り検出方式としてパリティデータ付与部を選択することになる。なお、検出方式選択テーブル114が記述している全てのデータ誤り検出方式を全てのECUが搭載していなくてもよい。あるいは、全てのECUが使用するデータ誤り検出方式のみを検出方式選択テーブル内に記述するようにしてもよい。図19:ステップS107001データ誤り検出方式選択部107は、引数として受け取った送信データを引数として、ステップS107000で選択したデータ誤り検出方式に対応する検出符号付与部を呼び出し、返戻値として検出符号付き送信データを取得する。例えば、ステップS107000で選択したデータ誤り検出方式1142がパリティデータ付与部である場合は、パリティデータ付与部108を呼び出す。本ステップにおいてパリティデータ付与部108を呼び出す場合の動作例は図21で説明し、CRC符号付与部109を呼び出す場合の動作例は図22で説明する。図19:ステップS107002データ誤り検出方式選択部107は、取得した検出符号付き送信データを返戻値として返し、本動作フローを終了する。図20は、検出符号付き送信データ510の構造図である。検出符号付き送信データ510は、送信データ511と検出符号512を有する。送信データ511は、カメラ制御部104、車間距離制御部204、またはプリクラッシュセーフ制御部304が演算したデータである。本実施形態1ではネットワークとしてCANを用いることを想定しているため、検出符号付き送信データ510の最大サイズは8バイトとしたが、これに限るものではない。例えば、ネットワークとしてFlexRayを用いる場合は、検出符号付き送信データ510の最大サイズは254バイトである。図21は、パリティデータ付与部108の動作フローを示す図である。以下、図21の各ステップについて説明する。図21:ステップS108000パリティデータ付与部108は、引数として受け取った送信データを用いて、パリティデータを算出する。図21:ステップS108001パリティデータ付与部108は、引数である送信データとステップS108000で算出したパリティデータを結合し、検出符号付き送信データを生成する。図21:ステップS108002パリティデータ付与部108は、ステップS108001で生成した検出符号付き送信データを返戻値として返し、本動作フローを終了する。図22は、CRC符号付与部109の動作フローを示す図である。CRC符号付与部209も同様の動作フローを実施する。以下、図22の各ステップについて説明する。図22:ステップS109000CRC符号付与部109は、引数として受け取った送信データを用いて、CRC検出符号を算出する。図22:ステップS109001CRC符号付与部109は、引数である送信データとステップS109000で算出したCRC検出符号を結合し、検出符号付き送信データを生成する。図22:ステップS109002CRC符号付与部109は、ステップS109001で生成した検出符号付き送信データを返戻値として返し、本動作フローを終了する。図23は、通信制御部送信処理110の動作フローを示す図である。通信制御部送信処理210、通信制御部送信処理310も同様の動作フローを実施する。以下、図23の各ステップについて説明する。図23:ステップS110000通信制御部送信処理110は、引数として受け取った検出符号付き送信データをCANコントローラ116のメールボックスに格納する。図23:ステップS110001通信制御部送信処理110は、CANコントローラ116の送信要求フラグをセットし、本動作フローを終了する。CANコントローラ116は、セットされた送信要求フラグに対応するメールボックスのデータをCANバス5に送信する。図24は、車間距離制御ECU2が備える車間距離制御部204の動作フローを示す図である。以下、図24の各ステップについて説明する。図24:ステップS204000車間距離制御部204は、通信制御部受信処理210を呼び出し、車間距離データを受信する。本ステップの詳細は図25で説明する。図24:ステップS204001車間距離制御部204は、車間距離データを受信したことを示す、受信バッファ214の受信フラグフィールド2142が、1であるか否かを判定する。受信フラグフィールド2142が1であるときはステップS204002へ進み、0であるときは本動作フローを終了する。図24:ステップS204002車間距離制御部204は、受信バッファ214のデータ値フィールド2141が保持している車間距離データを取得し、同じレコード内の受信フラグフィールド2142を0にする。図24:ステップS204003車間距離制御部204は、受信バッファ214から取得した車間距離データを引数として、パリティデータ検出部208を呼び出し、返戻値として判定結果を取得する。本ステップの詳細は図26で説明する。図24:ステップS204004車間距離制御部204は、ステップS204003で取得した判定結果がデータ誤りなしを示しているか否かを判定する。データ誤りがない場合はステップS204005へ進み、データ誤りがある場合は本動作フローを終了する。図24:ステップS204005車間距離制御部204は、受信した車間距離データを用いて、車間距離を一定に保つために必要なブレーキ力を算出する。図24:ステップS204006車間距離制御部204は、算出したブレーキ力データと、ブレーキ力データに対応する通信データ管理テーブル212内のデータIDフィールド2121の値図9のデータ例では2とを引数として、通信処理部205を呼び出し、本動作フローを終了する。図25は、通信制御部受信処理210の動作フローを示す図である。通信制御部受信処理310、通信制御部受信処理406も同様の動作フローを実施する。以下、図25の各ステップについて説明する。図25:ステップS210000通信制御部受信処理210は、CANコントローラ216の受信フラグを確認し、受信データがあるか否かを判定する。受信データがある場合はステップS210001へ進み、受信データがない場合は本動作フローを終了する。図25:ステップS210001通信制御部受信処理210は、CANコントローラ216のメールボックスから受信データを読み出す。図25:ステップS210002通信制御部受信処理210は、受信したデータのCANIDと等しい受信バッファ214の受信CANIDフィールド2140を検索し、受信データをデータ値フィールド2141に格納する。通信制御部受信処理210は、同レコードの受信フラグフィールド2142の値を1にセットし、本動作フローを終了する。図26は、パリティデータ検出部208の動作フローを示す図である。以下、図26の各ステップについて説明する。図26:ステップS208000パリティデータ検出部208は、引数として受け取った検出符号付き受信データを、パリティデータとデータに分割する。データとは、例えば車間距離データである。図26:ステップS208001パリティデータ検出部208は、ステップS208000で取得したデータを用いてパリティデータを算出する。図26:ステップS208002パリティデータ検出部208は、ステップS208001で算出したパリティデータと引数として受け取ったパリティデータを比較する。図26:ステップS208003パリティデータ検出部208は、ステップS208001で算出したパリティデータと引数として受け取った受信したパリティデータが一致するか否かを判定する。一致する場合はステップS208004に進み、一致しない場合はステップS208005へ進む。図26:ステップS208004パリティデータ検出部208は、返戻値としてデータ誤りなしを示す0を返し、本動作フローを終了する。図26:ステップS208005パリティデータ検出部208は、返戻値としてデータ誤りありを示す1を返し、動作フローを終了する。図27は、プリクラッシュセーフECU3が備えるプリクラッシュセーフ制御部304の動作フローを示す図である。以下、図27の各ステップについて説明する。図27:ステップS304000プリクラッシュセーフ制御部304は、通信制御部受信処理310を呼び出し、車間距離データを受信する。図27:ステップS304001プリクラッシュセーフ制御部304は、車間距離データを受信したことを示す、受信バッファ314の受信フラグフィールド3142が、1であるかを判定する。受信フラグフィールド3142が1であるときはステップS304002へ進み、0であるときは本動作フローを終了する。図27:ステップS304002プリクラッシュセーフ制御部304は、受信バッファ314のデータ値フィールド3141が保持している車間距離データを取得し、同じレコード内の受信フラグフィールド3142を0にする。図27:ステップS304003プリクラッシュセーフ制御部304は、受信した車間距離データを引数として、CRC符号検出部308を呼び出し、返戻値として判定結果を取得する。図27:ステップS304004プリクラッシュセーフ制御部304は、ステップS304003で取得した判定結果がデータ誤りなしを示しているか否かを判定する。データ誤りがない場合はステップS304005へ進み、データ誤りがある場合は本動作フローを終了する。図27:ステップS304005プリクラッシュセーフ制御部304は、ステップS304002で取得した車間距離データの値が100より大きいか否かを判定する。100より大きい場合はステップS304006へ進み、100以下である場合はステップS304007に進む。図27:ステップS304006プリクラッシュセーフ制御部304は、急ブレーキ要求データを1にセットする。急ブレーキ要求データが1である場合は、急ブレーキを実施するようブレーキ制御ECU4に指示することを示す。図27:ステップS304007プリクラッシュセーフ制御部304は、急ブレーキ要求データを0にセットする。急ブレーキ要求データが0である場合は、急ブレーキを実施しないことを示す。図27:ステップS304008プリクラッシュセーフ制御部304は、急ブレーキ要求データと、急ブレーキ要求データに対応する通信データ管理テーブル312のデータIDフィールド3121の値図12のデータ例では3とを引数として、通信処理部305を呼び出し、本動作フローを終了する。図28は、CRC符号検出部308の動作フローを示す図である。CRC符号検出部405も同様の動作フローを実施する。以下、図28の各ステップについて説明する。図28:ステップS308000CRC符号検出部308は、引数として受け取った検出符号付き受信データを、CRC符号とデータに分割する。データとは、例えば車間距離データを示す。図28:ステップS308001CRC符号検出部308は、ステップS308000で取得したデータを用いてCRC符号を算出する。図28:ステップS308002CRC符号検出部308は、ステップS308001で算出したCRC符号と引数として受け取ったCRC符号を比較する。図28:ステップS308003CRC符号検出部308は、ステップS308001で算出したCRC符号と引数として受け取ったCRC符号が一致するか否かを判定する。一致する場合はステップS308004へ進み、一致しない場合はステップS308005へ進む。図28:ステップS308004CRC符号検出部308は、返戻値としてデータ誤りなしを示す0を返し、本動作フローを終了する。図28:ステップS308005CRC符号検出部308は、返戻値としてデータ誤りありを示す1を返し、動作フローを終了する。図29は、ブレーキ制御部404の動作フローを示す図である。以下、図29の各ステップについて説明する。図29:ステップS404000ブレーキ制御部404は、通信制御部受信処理406を呼び出し、データを受信する。図29:ステップS404001ブレーキ制御部404は、受信バッファ408の受信CANIDフィールド4080が300であるレコードの受信フラグフィールド4082が1であるか否かを判定する。1である場合はステップS404002に進み、1でない場合はステップS404006に進む。図29:ステップS404002ブレーキ制御部404は、受信バッファ408のデータ値フィールド4081が保持しているブレーキ力データを取得し、同じレコードの受信フラグフィールド4082を0にする。図29:ステップS404003ブレーキ制御部404は、受信したブレーキ力データを引数として、CRC符号検出部405を呼び出し、返戻値として判定結果を取得する。図29:ステップS404004ブレーキ制御部404は、ステップS404003で取得した判定結果がデータ誤りなしを示しているか否かを判定する。データ誤りがない場合はステップS404005へ進み、データ誤りがある場合は本動作フローを終了する。図29:ステップS404005ブレーキ制御部404は、受信したブレーキ力データに基づいてブレーキアクチュエータ413を制御し、本動作フローを終了する。図29:ステップS404006ブレーキ制御部404は、受信バッファ408の受信CANIDフィールド4080が350であるレコードの受信フラグフィールド4082が1であるか否かを判定する。1である場合はステップS404007に進み、1でない場合は本動作フローを終了する。図29:ステップS404007ブレーキ制御部404は、受信バッファ408のデータ値フィールド4081が保持している急ブレーキ要求データを取得し、同じレコードの受信フラグフィールド4082を0にする。図29:ステップS404008ブレーキ制御部404は、受信した急ブレーキ要求データを引数として、CRC符号検出部405を呼び出し、返戻値として判定結果を取得する。図29:ステップS404009ブレーキ制御部404は、ステップS404008で取得した判定結果がデータ誤りなしを示しているか否かを判定する。データ誤りがない場合はステップS404010へ進み、データ誤りがある場合は本動作フローを終了する。図29:ステップS404010ブレーキ制御部404は、受信した急ブレーキ要求データに基づいてブレーキアクチュエータ413を制御し、本動作フローを終了する。図30は、通信プロトコルとしてCANを用いたデータフレーム520を示す。データフレーム520は、フレームの開始を示すSOF521、フレームを一意に識別可能とする識別子ID522、フレームのサイズ長を示すCTRL523、送信するデータを格納するデータフィールド524、通信データの誤り検出用のCRC525、正常に受信されたことを示すACK526、フレーム終了を示すEOF527を有する。図20で述べた検出符号付き送信データ510の送信データ511は送信データ528であり、検出符号512は検出符号529である。本実施形態1では、通信プロトコルとしてCANを採用し、カメラ制御部104、車間距離制御部204、プリクラッシュセーフ制御部304、ブレーキ制御部404は周期的に例えば10ms間隔上述の処理を実行するように構成した。一方、各ECUは他のECUから制御データを受信した時点で各処理を実施するようにしてもよい。前者の場合は各ECUを接続するネットワークはタイムトリガネットワークとなり、後者の場合はイベントトリガネットワークとなる。<実施の形態1:まとめ>以上のように、本実施形態1によれば、カメラECU1、車間距離制御ECU2、プリクラッシュセーフ制御ECU3は、受信ECUの正確動作要求レベルに応じてデータ誤り検出方式を選択する。これにより、正確動作要求レベルが異なるECUごとにデータ誤り検出率を保証することができる。また、本実施形態1によれば、カメラECU1、車間距離制御ECU2、プリクラッシュセーフ制御ECU3は、受信ECUの正確動作要求レベルに応じてデータ誤り検出方式を選択するので、データ誤り検出率を保証しつつ、検出符号のサイズを最小に留めることができる。これにより、ネットワークの通信負荷を抑え、CPUの演算負荷を抑えることができる。また、本実施形態1によれば、通信パケットのデータフィールド部分に検出符号を付与することにより、通信経路以外におけるデータエラーを検出することができる。例えばCANコントローラ116が通信パケット全体にCRCコード525を付与してネットワーク上におけるデータエラーを検出したとしても、ECUにいったん到達すると通信パケットはメールボックス内に書き込まれCRCコード525は必要なくなる。そのため、受信ECUに通信パケットが到達してからこれがメールボックスより取り出されるまでの間にデータエラーが生じると、エラーを検出できない。本実施形態1では、データフィールドにも検出符号を付与することにより、受信ECUへ通信パケットが到達した後のデータエラーも検出することができる。<実施の形態2>実施形態1では、正確動作要求レベルをECU単位で割り当てているが、これに限らない。例えば、各ECUが制御データを用いて実施する機能毎に正確動作要求レベルを割り当ててもよい。この場合は、要求レベル判定テーブル113において、各ECUが備える機能毎に正確動作要求レベルを定義するようにすればよい。さらには、データを送信する側の機能とデータを受信する側の機能の組合せに対して、正確動作要求レベルを割り当ててもよい。この場合は、要求レベル判定テーブル113において、各ECUが備える送信側機能と受信側機能の組合せを記述し、その組合せ毎に正確動作要求レベルを定義するようにすればよい。さらには、ネットワークバスに対して正確動作要求レベルを割り当ててもよい。この場合は、要求レベル判定テーブル113において、受信ECUとその受信ECU宛にデータを送信する際に用いるネットワークの組合せを記述し、その組合せ毎に正確動作要求レベルを定義するようにすればよい。<実施の形態3>実施形態1~2において、要求レベル判定テーブル113などを用いずに、受信ECUの正確動作要求レベルを判定することができる場合は、その手法を用いてもよい。例えばデータ種別毎に正確動作要求レベルが定まっているような場合は、データIDやCANIDを用いて、受信ECUの正確動作要求レベルを判定することができる。本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることができる。また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成を追加削除置換することができる。例えば、上記各テーブルの構成は各図面で説明したものでなくともよく、同様の機能を実現することができればよい。さらには、必ずしもテーブル形式で実装する必要はない。また、要求レベル判定テーブル113などの静的なデータを格納するテーブルは、各ECUを製造するときに定義してもよいし、例えば動作中にネットワーク経由で各テーブルが保持する値を受信して保存するようにしてもよい。上記の各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSDSolidStateDrive等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。