JP2024504300A - データ処理方法及び関連デバイス - Google Patents
データ処理方法及び関連デバイス Download PDFInfo
- Publication number
- JP2024504300A JP2024504300A JP2023542916A JP2023542916A JP2024504300A JP 2024504300 A JP2024504300 A JP 2024504300A JP 2023542916 A JP2023542916 A JP 2023542916A JP 2023542916 A JP2023542916 A JP 2023542916A JP 2024504300 A JP2024504300 A JP 2024504300A
- Authority
- JP
- Japan
- Prior art keywords
- control device
- file
- upgrade
- request
- diagnostic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims abstract description 132
- 230000004044 response Effects 0.000 claims description 58
- 238000012546 transfer Methods 0.000 claims description 56
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 abstract description 109
- 230000008569 process Effects 0.000 description 36
- 239000000243 solution Substances 0.000 description 29
- 238000013507 mapping Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
Abstract
本願の実施形態は、データ処理方法及び関連デバイスを開示する。方法は車両分野に適用され得る。方法は、診断デバイスによって送信された第1データ伝送要求を受信する制御デバイスを備え、ここで、第1データ伝送要求は、アップグレードファイルを受信するよう制御デバイスに要求するために使用され、第1データ伝送要求は、アップグレードファイルに対応する第1メモリアドレスを保持し、アップグレードファイルは、制御デバイスをアップグレードするために使用される。制御デバイスは、第1メモリアドレスに対応する第1ファイルパスを取得し、診断デバイスによって送信されたアップグレードファイルを受信し、第1ファイルパスが指すファイルにアップグレードファイルを格納する。したがって、アップグレードファイルは、UDSプロトコルの制約下で診断デバイスによってダウンロードされ得る。
Description
本願は、参照によって全体が本明細書に組み込まれる、「データ処理方法及び関連デバイス」と題する、2021年1月30日に中国国家知識産権局に出願された中国特許出願第202110131693.8号の優先権を主張する。
本願は車両分野、特に、データ処理方法及び関連デバイスに関連する。
車両電子機器の分野において、電子制御ユニット(electrical control unit, ECU)は、車両ステータスモニタリング及び信号処理などの機能を実装するために車両に適用される「コンピュータ」であり、車両のコントローラである。現在、大部分の車両は、統合診断サービス(unified diagnostic services, UDS)プロトコルに基づいてアップグレード手順を実行して、車両におけるECUをアップグレードする。具体的には、UDSプロトコルにおけるプログラミング段階において、診断デバイスは、アップグレードファイルのメモリアドレス及びアップグレードファイルのファイルサイズをECUへ送信し、診断デバイスからダウンロードされたアップグレードファイルを、メモリアドレスによって示される位置に格納するようECUに通知する。従来のECUは、フラッシュ(Flash(登録商標))に基づくので、ファイルダウンロードプロセスは、フラッシュプログラミングプロセスであり、そのダウンロードが完了することは、プログラミングが完了することを意味する。ファイルは、ECUがリセットされた後に即時的に有効になる。
チップ技術、インターネットオブシングス技術、及び、通信技術の発展に伴い、自動運転並びにオーディオ及びビデオエンターテインメントなどの機能を実装するために、オペレーティングシステムを有するインテリジェントECUをより多くの車両が搭載するようになっている。しかしながら、インテリジェントECUのアップグレードは、フラッシュをプログラミングすることによって実装できない。結果的に、UDSプロトコルに基づくアップグレード手順に適合できない。
本願の実施形態はデータ処理方法及び関連デバイスを提供する。診断デバイスによって送信されたメモリアドレスが受信された後、メモリアドレスに対応するファイルパスが取得され、受信されたアップグレードファイルはファイルパスに格納され、すなわち、制御デバイス上でアップグレード操作を実装するために、アップグレードファイルは、UDSプロトコルの制約下で診断デバイスによってダウンロードできる。
前述の技術的課題を解決すべく、本願の実施形態は、以下の技術的解決手段を提供する。
第1態様によれば、本願の実施形態はデータ処理方法を提供し、方法は車両分野に適用され得る。方法は、プログラミング段階において、制御デバイスが診断デバイスによって送信された第1データ伝送要求を受信することを含む。UDSプロトコルの制約下で、制御デバイスをアップグレードするために診断デバイスが使用されるプロセスは、プログラミング前段階、プログラミング段階、及びプログラミング後段階に分割され得る。第1データ伝送要求は、アップグレードファイルを受信するよう制御デバイスに要求するために使用され、第1データ伝送要求は、アップグレードファイルに対応する第1メモリアドレス及びアップグレードファイルのファイルサイズを保持し、アップグレードファイルは、制御デバイスをアップグレードするために使用される。更に、第1データ伝送要求は、判定命令であり、第1データ伝送要求の診断サービス識別子SIDは0x36であり得る。制御デバイスは、第1メモリアドレスに対応する第1ファイルパスを取得し、第1ファイルパスのインジケーションに基づいて第1ファイルを作成し、第1データ伝送要求に対応する肯定応答を診断デバイスへ送信する。制御デバイスは、診断デバイスによって送信されたアップグレードファイルを受信し、第1ファイルパスが指す第1ファイルにアップグレードファイルを格納する。本願の本実施形態において作成される第1ファイルのファイルフォーマットは、アドレス情報を保持しないファイルフォーマットであり得る、すなわち、ファイルフォーマットは、zip又はtar.gz、又は、アドレス情報を保持しない別のファイルフォーマットであり得、又は、s19若しくはhexなどのアドレス情報を保持するファイルフォーマットであり得ることに留意されたい。
本実装において、診断デバイスによって送信されたメモリアドレスを受信した後、制御デバイスはまず、メモリアドレスに対応するファイルパスを取得し、次に、診断デバイスから受信されたアップグレードファイルをファイルパスに格納する。制御デバイスがファイルパスに基づいてストレージ位置を判定し得るので、制御デバイスは、診断デバイスによって送信されたアップグレードファイルを、ファイルパスによって示されるファイルに格納し、アップグレードファイルを格納する操作を完了し得る。更に、制御デバイスは、UDSプロトコルの制約下で、診断デバイスを通じてアップグレードファイルを取得し得る。
第1態様の可能な実装において、制御デバイスが第1メモリアドレスに対応する第1ファイルパスを取得することは、制御デバイスが格納済みターゲットマッピング関係を取得し、ターゲットマッピング関係に基づいて、第1メモリアドレスに対応する第1ファイルパスを取得することを含み、ここで、ターゲットマッピング関係は、少なくとも1つのメモリアドレス及び少なくとも1つのファイルパスの間の1対1の対応関係を示す。更に、車両のメモリにストレージユニットが多数あるので、各ストレージユニットを発見するために、メモリアドレスが各ストレージユニットに割り当てられる必要があり、メモリアドレスは、メモリにおけるストレージユニットの番号を示す。ターゲットマッピング関係は、制御デバイスが工場から納品されるとき、車両において予め構成され得、又は、ターゲットマッピング関係は、制御デバイスのアップグレードプロセスにおいて更新され得る。
本実装において、制御デバイスは、ターゲットマッピング関係を予め格納し、ターゲットマッピング関係は、少なくとも1つのメモリアドレス及び少なくとも1つのファイルパスの間の1対1の対応関係を示し、その結果、制御デバイスは、格納済みターゲットマッピング関係に基づいて、第1メモリアドレスに対応する第1ファイルパスを迅速に取得し得る。これは、第1ファイルパスを取得する速度を増加させることを助ける。
第1態様の可能な実装において、制御デバイスが診断デバイスによって送信された第1データ伝送要求を受信する前に、方法は更に、プログラミング段階において、制御デバイスが診断デバイスによって送信された第2データ伝送要求を受信する段階を備え、第2データ伝送要求は、フラッシュ(Flash)ドライブプログラムを受信するよう制御デバイスに要求するために使用され、第2データ伝送要求は、フラッシュドライブプログラムに対応する第2メモリアドレス及びフラッシュドライブプログラムのサイズを保持する。制御デバイスは、格納済みターゲットマッピング関係(すなわち、メモリアドレス及びファイルパスの間の対応関係)を取得し、ターゲットマッピング関係に基づいて第2メモリアドレスに対応する第2ファイルパスを取得し、第2ファイルパスのインジケーションに基づいて第2ファイルを作成し、第2データ伝送要求に対応する肯定応答を診断デバイスへ送信し、ここで、第1ファイルパス及び第2ファイルパスは異なるファイルパスである。制御デバイスは、診断デバイスによって送信されたフラッシュドライブプログラムを受信し、第2ファイルパスが指す第2ファイルにフラッシュドライブプログラムを格納する。
本実装では、プログラミング段階において、フラッシュドライブプログラムの伝送要求を受信した後に、制御デバイスは、第2メモリアドレスに対応する第2ファイルパス(すなわち、メモリにおけるフラッシュドライブプログラムの開始ストレージアドレス)を取得し、第2ファイルパスが指すファイルにフラッシュドライブプログラムを格納し得る。すなわち、UDSプロトコルの制約下で、制御デバイスはまた、フラッシュドライブプログラムをメモリに格納して、制御デバイスの処理方式がUDSプロトコルの要件を満たしていることを確実にし得、それにより、制御デバイスのアップグレードプロセスにおける停止を低減する。これは、診断デバイスを使用することによって、制御デバイスをアップグレードする成功率を改善することを助ける。
第1態様の可能な実装において、制御デバイスが、第1ファイルパスが指すファイルにアップグレードファイルを格納した後に、方法は更に、制御デバイスがプログラミングセッションにあるとき、制御デバイスが、診断デバイスによって送信されたリセット要求を受信する段階、及び、リセット要求に対応する肯定応答を診断デバイスへ送信する段階を備え、ここで、リセット要求は具体的には、ハードリセットを実行するよう制御デバイスに示し得、すなわち、再始動操作を実行するよう制御デバイスに示す。プログラミングセッション、拡張診断セッション、及びデフォルトセッションは、制御デバイスの3つの異なるセッションモードである。プログラミングセッションのサブサービスコードは02である。制御デバイスは、プログラミングセッションのみにおいてアップグレードされ得る。制御デバイスは、受信されたリセット要求に応答して、プログラミング依存性チェック操作が制御デバイスによって実行されるかどうかを判定し、プログラミング依存性チェック操作が制御デバイスによって実行されると判定したとき、アップグレードファイルに基づいて制御デバイスに対してアップグレード操作を実行することをトリガし、制御デバイスに対してリセット操作を実行する。プログラミング依存性チェック操作は、ダウンロードされたアップグレードファイルの妥当性及び互換性をチェックすることを目的とする。UDSプロトコルにおいて、プログラミング依存性は、英語のバリデートアプリケーションに変換され、プログラミング依存性の意味は、UDSプロトコルを参照して理解され得る。
本実装では、UDSプロトコルにおいて、非制御デバイスがアップグレードファイルのダウンロードを完了した後に、制御デバイスに対するアップグレード操作が完了したとみなされる。しかしながら、制御デバイスについては、アップグレードファイルをローカルにダウンロードすることだけでは、制御デバイスのアップグレード操作を完了できない。本願の本実施形態において、制御デバイスがリセット要求を受信した後に、アップグレード操作のトリガが自動的に完了されるように選択され、制御デバイスのアップグレードプロセスが完全に自動化されることが確実にされる。
第1態様の可能な実装において、プログラミング依存性チェック操作が制御デバイスによって実行されるかどうかを制御デバイスが判定することは、制御デバイスが、ターゲットレコードに基づいて、プログラミング依存性チェック操作が制御デバイスによって実行されるかどうかを判定することを含み、ここで、ターゲットレコードは、プログラミング依存性チェック操作が制御デバイスによって実行されるかどうかを示す。ターゲットレコードは具体的には、プログラミング依存性チェックが実行されるかどうかを記録する、制御デバイスにおけるフラグビットとして表され得る。フラグビットの値が第1値であるとき、プログラミング依存性チェック操作が制御デバイスによって実行されることが示され;又は、フラグビットの値が第2値であるとき、プログラミング依存性チェック操作が制御デバイスによって実行されることを示し、ここで、第1値及び第2値は異なる値である。プログラミング依存性チェック操作が制御デバイスによって実行されるとターゲットレコードが示す場合、制御デバイスは、プログラミング依存性チェック操作が制御デバイスによって実行されるかどうかを判定した後、ターゲットレコードを再度更新し、更新されたターゲットレコードは、プログラミング依存性チェック操作が制御デバイスによって実行されないことを示す。
第1態様の可能な実装において、制御デバイスがアップグレードファイルに基づいて制御デバイスに対してアップグレード操作を実行することは、制御デバイスが、ダウンロードされたアップグレードファイルに対して圧縮解除動作を実行して、複数のアップグレードサブファイル、構成情報、及びシステムバージョン番号を取得することを含む。構成情報は、アップグレードファイルにおける各アップグレードサブファイルのインストール方式を示す。制御デバイスは、構成情報のインジケーションに基づく対応する方式で、アップグレードファイルにおける複数のアップグレードサブファイルをインストールし、制御デバイスに対するアップグレード操作を完了する。
第1態様の可能な実装において、方法は更に、プログラミング段階において、制御デバイスが、診断デバイスによって送信された第3診断命令を受信する段階を備え、第3診断命令は、第1ストレージ空間におけるデータに対して消去操作を実行するよう制御デバイスに命令する。第1ストレージ空間は、診断デバイスが制御デバイスへ送信したいアップグレードファイルのストレージ位置であり、第3診断命令は、第1メモリアドレス、及び、診断デバイスが制御デバイスに消去させる必要がある空間のサイズを保持し、すなわち、第1ストレージ空間の始点は第1メモリアドレスであり、第1ストレージ空間のサイズは、診断デバイスが制御デバイスに消去させる必要がある空間のサイズ(すなわち、制御デバイスのアップグレードファイルのサイズ)である。受信された第3診断命令に応答して、制御デバイスは、ターゲットマッピング関係に基づいて、第1メモリアドレスに対応する第1ファイルパスを取得し、第1ファイルパスが指す第3ファイルに対して削除操作を実行する。第3ファイル及び第1ファイルは異なるファイルであり、第3ファイルは、前のアップグレードプロセスにおける制御デバイスによって作成されたファイルであり、削除操作が第3ファイルに対して実行されるとき、制御デバイスは、第1ファイルを作成していないことに留意されたい。
第1態様の可能な実装において、方法は更に、プログラミング段階において、制御デバイスが、診断デバイスによって送信された第3診断命令を受信する段階を備え、第3診断命令は、第1ストレージ空間におけるデータに対して消去操作を実行するよう制御デバイスに命令する。制御デバイスは、受信された第3診断命令に応答して、第3診断命令に対応する肯定応答を診断デバイスへ直接送信し、第3診断命令に対応する肯定応答は、第1ストレージ空間におけるデータ上の消去操作が制御デバイスによって完了されることを示す。
第1態様の可能な実装において、方法は更に、制御デバイスがプログラミングセッションにあるときにリセット要求を受信する段階、及び、受信されたリセット要求に応答して、プログラミング依存性チェック操作が制御デバイスによって実行されないときだけ制御デバイスのリセット操作をトリガする段階を備える。
本実装において、制御デバイスがプログラミングセッションにあるとき、制御デバイスは、アップグレードプログラムだけでなく、別のプログラムにおいてもリセット要求を受信し得る。したがって、制御デバイスは、プログラミング依存性チェック操作が実行されるかどうかを判定し、制御デバイスがアップグレード手順にあるかどうかを判定する。制御デバイスがアップグレード手順にないと判定されるとき、制御デバイスは、リセット操作のみを実行し、アップグレードプログラムを実行せず、アップグレードプロセス中にアップグレードファイルを使用することのみによって、制御デバイスがアップグレード操作を実行することを確実にし、アップグレード操作の不正確なトリガを回避する。
第1態様の可能な実装において、制御デバイスがアップグレードファイルに基づいて制御デバイスに対してアップグレード操作を実行することをトリガした後に、方法は更に、アップグレード操作が失敗したと判定されたとき、制御デバイスのシステムバージョン番号を無効値に設定する段階、ここで、無効値は、アップグレード操作が失敗したことを示す;及び、アップグレード操作の実行に成功したと判定されたとき、制御デバイスのシステムバージョン番号を、アップグレードファイルに保持されるシステムバージョン番号(すなわち、有効なシステムバージョン番号)に設定する段階を備える。
本実装では、UDSプロトコルにおいて、アップグレードファイルをECUにダウンロードすることは、ECUのアップグレード操作を完了することとみなされる。したがって、診断デバイスは、プログラミング依存性チェック操作を実行するようECUを制御する。プログラミング依存性チェック操作が合格した場合、診断デバイスは、ECUのアップグレードが成功したと判定し;又は、プログラミング依存性チェック操作が合格しなかった場合、診断デバイスは、ECUのアップグレードが失敗したと判定する。加えて、UDSプロトコルにおいて、診断デバイスは、プログラミング依存性チェック操作が合格したかどうかを判定することによって、ECUのアップグレードが成功したかどうかを判定する。したがって、現在の非インテリジェントECUにおいて、現在のUDSプロトコルによれば、アッパーコンピュータは、システムバージョン番号に基づいて、アップグレードが成功したかどうかをチェックしない。この解決手段において、アップグレード操作が失敗したと判定した後、インテリジェントECUは、インテリジェントECUのシステムバージョン番号を無効値に設定し、その結果、診断デバイスは、インテリジェントECUのアップグレードが成功したかどうかを時間内にチェックして、インテリジェントECUのアップグレードが本当に成功したことを確実にし得、それにより、車両走行プロセスの安全性を確実にする。
第2態様によれば、本願の実施形態はデータ処理方法を提供し、方法は車両分野に適用され得る。方法は、プログラミング段階において、診断デバイスが第1データ伝送要求を制御デバイスへ送信し、第1データ伝送要求は、アップグレードファイルを受信するよう制御デバイスに要求するために使用され、第1データ伝送要求は第1メモリアドレスを保持し、第1メモリアドレスは第1ファイルパスに対応し、アップグレードファイルは、制御デバイスをアップグレードするために使用されること;及び、診断デバイスは、制御デバイスによって送信された第1肯定応答を受信し、第1肯定応答に基づいてアップグレードファイルを制御デバイスへ送信し、アップグレードファイルは、第1ファイルパスが指す第1ファイルに格納されることを含む。
第2態様の可能な実装において、診断デバイスがアップグレードファイルを制御デバイスへ送信した後に、方法は更に、プログラミング後段階において、診断デバイスがリセット要求を制御デバイスへ送信する段階を備え、ここで、リセット要求は、プログラミング依存性チェック操作が実行されるとき、アップグレードファイルに基づく制御デバイスに対するアップグレード操作、及びリセット操作をトリガするように制御デバイスに示す。
第2態様の可能な実装において、方法は更に、診断デバイスがバージョン番号クエリ要求を制御デバイスへ送信する段階、及び、制御デバイスによって送信されたシステムバージョン番号を受信する段階を備え、ここで、システムバージョン番号が無効値であるとき、制御デバイスのアップグレードが失敗したことを示す。
本願の本実施形態の第2態様において、診断デバイスは更に、第1態様の可能な実装において診断デバイスによって実行される段階を実行し得る。本願の本実施形態の第2態様及び第2態様の可能な実装の具体的な実装段階、並びに、各可能な実装によってもたらされる有益な効果については、第1態様の可能な実装における説明を参照されたい。ここでは、詳細について改めて説明しない。
第3態様によれば、本願の実施形態は、制御デバイスを提供し、制御デバイスは車両分野において使用され得る。制御デバイスは、プログラミング段階において、診断デバイスによって送信された第1データ伝送要求を受信するように構成される受信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;前記第1メモリアドレスに対応する第1ファイルパスを取得するように構成される取得モジュール;及び、前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納するように構成されるストレージモジュールを備える。
本願の本実施形態の第3態様において、制御デバイスは更に、第1態様の可能な実装における制御デバイスによって実行される段階を実行し得る。本願の本実施形態の第3態様及び第3態様の可能な実装の具体的な実装段階、並びに、各可能な実装によってもたらされる有益な効果については、第1態様の可能な実装における説明を参照されたい。ここでは、詳細について改めて説明しない。
第4態様によれば、本願の実施形態は診断デバイスを提供し、診断デバイスは、車両分野において使用され得る。診断デバイスは、プログラミング段階において、第1データ伝送要求を制御デバイスへ送信するように構成される送信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは、第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、前記制御デバイスによって送信される第1肯定応答を受信するように構成される受信モジュールを備え、前記送信モジュールは更に、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信するように構成され、前記アップグレードファイルは、前記第1ファイルパスが指すファイルに格納される。
本願の本実施形態の第4態様において、診断デバイスは更に、第2態様の可能な実装において診断デバイスによって実行される段階を実行し得る。本願の本実施形態の第4態様及び第4態様の可能な実装の具体的な実装段階、並びに、各可能な実装によってもたらされる有益な効果については、第2態様の可能な実装における説明を参照されたい。ここでは、詳細について改めて説明しない。
第5態様によれば、本願の実施形態は、電子デバイスを提供する。電子デバイスは、プロセッサを含み得、プロセッサは、メモリに結合され、メモリは、プログラム命令を格納する。メモリに格納されたプログラム命令がプロセッサによって実行されるとき、第1態様又は第2態様におけるデータ処理方法が実装される。
第6の態様によれば、本願の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、コンピュータプログラムを格納する。コンピュータプログラムがコンピュータ上で実行されるとき、コンピュータは、第1態様又は第2態様におけるデータ処理方法を実行することが可能である。
第7態様によれば、本願の実施形態は回路システムを提供する。回路システムは処理回路を備え、処理回路は、第1態様又は第2態様におけるデータ処理方法を実行するように構成される。
第8態様によれば、本願の実施形態はコンピュータプログラムを提供する。コンピュータプログラムがコンピュータ上で実行されるとき、コンピュータは、第1態様又は第2態様におけるデータ処理方法を実行することが可能である。
第9態様によれば、本願お実施形態はチップシステムを提供する。チップシステムは、上記の態様における機能、例えば、上記の方法におけるデータ及び/又は情報の送信又は処理などを実装するように構成されるプロセッサを含む。可能な設計において、チップシステムは更にメモリを含む。メモリは、サーバ又は通信デバイスに必要であるプログラム命令及びデータを格納するように構成されている。チップシステムは、チップを含み得る、又は、チップ及び別のディスクリートコンポーネントを含み得る。
第10態様によれば、本願の実施形態は車両を提供する。1又は複数の制御デバイスが車両において構成され、制御デバイスは、第1態様又は第2態様のデータ処理方法における制御デバイスによって実行される段階を実行するように構成される。
第11態様によれば、本願の実施形態はデータ処理システムを提供する。データ処理システムは、制御デバイス及び診断デバイスを含む。制御デバイスは、第1態様又は第2態様のデータ処理方法における制御デバイスによって実行される段階を実行するように構成される。診断デバイスは、第1態様又は第2態様のデータ処理方法における診断デバイスによって実行される段階を実行するように構成される。
以下では、添付図面を参照して、本願の実施形態を説明する。当業者であれば、技術の発展及び新しいシナリオの登場に伴い、本願の実施形態において提供される技術的解決手段はまた、同様の技術的課題に適用可能であることを認識し得る。
本願の明細書、請求項及び添付図面において、「第1」、「第2」などの用語は、同様の対象を区別することを意図するものであり、必ずしも特定の順番又は順序を示すものではない。このように使用された用語は、適切な状況において入れ替え可能であり、これは、同じ属性を有するオブジェクトが本願の実施形態において説明されているときに使用される識別方式に過ぎないことを理解されたい。加えて、「含む」、「備える」という用語及びそれらの任意の変形は、非排他的包含をカバーすることを意味し、一例のユニットを含むプロセス、方法、システム、製品、又はデバイスは、必ずしもこれらのユニットに限定されるものではなく、明示的に列挙されない、又は、そのようなプロセス、方法、製品、若しくはデバイスに固有である他のユニットを含み得る。
本願の実施形態において、制御デバイスは、車両の制御ユニット又はデータセンタであり、車両のコンポーネントのコントローラであり得るか、又は、車両コントローラであり得、例えば、電子制御ユニット(electronic control unit, ECU)、車両制御ユニット(vehicle control unit, VCU)、ドメイン制御ユニット(domain control unit, DCU)、又はモバイルデータセンタ(mobile data center, MDC)であり得る。これらの制御デバイスは、オペレーティングシステムを有し、メモリ、ファイル、及び同様のものを管理し得る。従来のフラッシュベースECUから区別し、説明を容易にするべく、本願の実施形態において、制御デバイスは、場合により、インテリジェント制御デバイス、インテリジェントECU、又は同様のものと称され得る。
更に、オペレーティングシステムはインテリジェントECUに統合される。インテリジェントECU及び非インテリジェントECU(「従来のフラッシュベースECU」、「従来のECU」、又は同様のものとも称され得る)の間の相違点は、ソフトウェアに関して、非インテリジェントECUの機能は単純であること、非インテリジェントECUは、単純なシステムを実行することによって単純なタスクを実行すること、及び、インテリジェントECUは、複雑なオペレーティングシステム及び強力な並列処理機能を有し、オーディオ及びビデオエンターテインメント、支援運転、及び自動運転などのタスクを実行できることである。ハードウェアに関して、非インテリジェントECUは、シングルマイクロコントローラユニット(micro controller unit, MCU)を含む。中央演算処理装置(central processing unit, CPU)は、限定された処理能力を有し、限定されたストレージ空間で構成される。インテリジェントECUは、強力なCPU及びより多くのストレージ空間を有し、又は、複数のプロセッサから成る複雑な異種コンピュータシステムを有する。
UDSプロトコルは、ISO15765規格及びISO14229規格に基づいて定義された一般的な車両診断プロトコルである。UDSプロトコルは、診断デバイスがクライアント側として機能してサーバ側の制御デバイス、例えば車両におけるECUをアップグレード(「更新」とも称され得る)するプロセスを定義する。アップグレードプロセスは、プログラミング前段階、プログラミング段階、及びプログラミング後段階に分割され得る。診断デバイスは、いくつかのシナリオにおいてアッパーコンピュータとも称され得る。更に、図1aは、本願の実施形態によるデータ処理システムのシステムアーキテクチャの図である。図1aにおいて、サーバ(server)側のインテリジェントECU、及び、クライアント(client)側の診断デバイスが含まれる。UDSプロトコルの制約下で診断デバイスを使用することによってインテリジェントECUをアップグレードするプロセスはまた、UDSプロトコルの制約下で診断デバイスが診断命令をインテリジェントECUへ送信し、インテリジェントECUを制御してアップグレードするプロセスである。
具体的には、プログラミング段階において、診断デバイスは、データ伝送要求を車両におけるインテリジェントECUへ送信し、データ伝送要求は、診断デバイス及び制御デバイスの間のデータ伝送を開始するように要求するために使用される。データ伝送要求は、アップグレードファイルに対応するメモリアドレス及びアップグレードファイルのファイルサイズを保持する。インテリジェントECU(「インテリジェントECU」の説明については、以下を参照されたい)が、車両において構成される場合、インテリジェントECUは、UDSプロトコルに基づくアップグレード手順に適合できないので、受信されたアップグレードファイルを保存できない、すなわち、診断デバイスは、アップグレードファイルをインテリジェントECUへ送信できず、その結果、インテリジェントECUに対するアップグレード操作を完了できない。
課題を解決するべく、本願の実施形態はデータ処理方法を提供する。この解決手段をより直感的に理解するために、本願の本実施形態において提供されるデータ処理システムがまず説明される。図1bは、本願の実施形態によるデータ処理システムのシステムアーキテクチャの図である。図1bに示すように、データ処理システムは、1又は複数のインテリジェントECU1及び診断デバイス2を含む。1又は複数のインテリジェントECU1は、車両において構成され得、診断デバイス2は、有線ネットワークを通じてインテリジェントECU1に接続される。
具体的には、UDSプロトコルの制約下で、プログラミング段階において、アップグレードファイルをインテリジェントECU1へ送信する前に、診断デバイス2はまず、データ伝送要求をインテリジェントECU1へ送信し、データ伝送要求は、アップグレードファイルに対応するメモリアドレス、及び、アップグレードファイルのファイルサイズを保持する。データ伝送要求を受信した後、インテリジェントECU1は、メモリアドレスに対応するファイルパスを取得する。インテリジェントECU1は、ファイルパスに基づいてストレージ位置を判定し得るので、インテリジェントECU1は、診断デバイス2によって送信されたアップグレードファイルを、ファイルパスが指すファイルに格納し得、すなわち、インテリジェントECU1に対するアップグレード操作は、UDSプロトコルの制約下において、診断デバイス2を使用することによって実装され得る。
診断デバイスは、テスタ(Tester)とも称され得る。車両は、自動車、トラック、バイク、バス、船、航空機、ヘリコプター、芝刈り機、娯楽用車両、運動場車両、建築デバイス、トロリー、ゴルフカート、電車、又は手押し車など、インテリジェントECUが配置されたデバイスであり得る。本願の本実施形態では、これについて特に限定しない。
具体的には、1つの場合において、複数のインテリジェントECU1が車両において構成され、複数のインテリジェントECU1における異なるインテリジェントECU1が、異なる機能を担う。例えば、インテリジェントECU1は、エンジン管理システム(engine management system, EMS)とも称され得、エンジンの燃料噴射、点火、及び、トルク配分などの機能を制御することを担う。別の例において、インテリジェントECU1は代替的に、自動伝送制御ユニット(transmission control unit, TCU)と称され得、主に、車両の運転ステータスに基づいて異なるギアポリシーを使用することを担う。更に別の例において、例えば、インテリジェントECU1は代替的に、車体制御モジュール(body control module, BCM)と称され得、主に、ランプ、ワイパー、ドアロック、電動ウィンドウ、スカイライト、及び電動バックミラーなどの車体機器を制御することを担う。なお更に別の例において、インテリジェントECU1はまた、車体の安定性を制御するように構成されたオペレーティングシステムであり得、又は、インテリジェントECU1は、バッテリ管理システム(battery management system, BMS)として表され、又は、インテリジェントECU1は、車両の経済性、電力、及びセキュリティを改善し、排気汚染を低減し、及び同様のものを行うために、エンジン、駆動モータ、コンバータ、及び電源バッテリなどのコンポーネントの動作を協調させるように構成される。インテリジェントECU1の具体的な機能は、本明細書において包括的に説明されない。複数のインテリジェントECU1が車両において構成される場合、診断デバイス2は、複数のインテリジェントECU1を1つずつアップグレードし得ることに留意されたい。
別の場合において、1つのインテリジェントECU1が車両において構成され得る。インテリジェントECU1は、車両全体の汎用制御システムであり得る。送信機管理、バッテリ管理、車体制御、及び伝送制御ユニット制御などの機能がインテリジェントECU1において統合される。図1bは、1つのインテリジェントECU1だけを示しているが、車両に実際に含まれるインテリジェントECU1の数は車両の実際の構成に基づいて決定される必要があることに留意されたい。
本願の実施形態において提供されるデータ処理方法を詳細に説明する前に、本願の実施形態における主な改善点をまず説明する。図2は、本願の実施形態によるデータ処理方法の概略フローチャートである。図2の左のサブ概略図において、C1:インテリジェントECUがセッションモードをプログラミングセッションに切り替える。C2:インテリジェントECUがセキュリティアクセス操作を実行する。C3:インテリジェントECUが診断デバイスフィンガープリントを記録する。C4:インテリジェントECUがフラッシュドライブプログラムをローカルにダウンロードし、フラッシュドライブプログラムに対して完全性チェックを実行する。具体的には、図2の右上のサブ概略図に示されるように、C4は以下を含む。D1:インテリジェントECUが、診断デバイスによって送信された第2データ伝送要求を受信し、ここで、第2データ伝送要求は第2メモリアドレスを保持する。D2:インテリジェントECUは、第2メモリアドレスに対応する第2ファイルパスを取得し、第2ファイルパスのインジケーションに基づいて第2ファイルを作成する。D3:インテリジェントECUは、第2データ伝送要求に対応する肯定応答を診断デバイスへ送信する。D4:インテリジェントECUは、診断デバイスによって送信された第2ファイル転送命令を受信し、ここで、第2ファイル転送命令はフラッシュドライブプログラムを保持する。D5:インテリジェントECUは、第2ファイルパスによって示される第2ファイルに第2ファイル転送命令中のデータを書き込む。D6:インテリジェントECUは、第2ファイル転送命令に対応する肯定応答を診断デバイスへ送信する。C5:インテリジェントECUは、第1ストレージ空間におけるデータに対して消去操作を実行する。C6:インテリジェントECUは、アップグレードファイルをローカルにダウンロードし、アップグレードファイルに対して完全性チェックを実行する。具体的には、図2の右下サブ概略図に示されるように、C6は、以下を含む。E1:インテリジェントECUは、診断デバイスによって送信された第1データ伝送要求を受信し、ここで、第1データ伝送要求は第1メモリアドレスを保持する。E2:インテリジェントECUは、第1メモリアドレスに対応する第1ファイルパスを取得し、第1ファイルパスのインジケーションに基づいて第1ファイルを作成する。E3:インテリジェントECUは、第1データ伝送要求に対応する肯定応答を診断デバイスへ送信する。E4:インテリジェントECUは、診断デバイスによって送信された第1ファイル転送命令を受信し、ここで、第1ファイル転送命令はアップグレードファイルを保持する。E5:インテリジェントECUは、第1ファイルパスによって示される第1ファイルに第1ファイル転送命令内のデータを書き込む。E6:インテリジェントECUは、第1ファイル転送命令に対応する肯定応答を診断デバイスへ送信する。C7:インテリジェントECUはプログラミング依存性チェック操作を実行する。図2から、本願の実施形態における主な改善点は、インテリジェントECUによってアップグレードファイル及びフラッシュドライブプログラムをダウンロードする2つの段階であることが分かる。本願の実施形態において解決される必要がある主な課題は、UDSプロトコルの制約下で、診断デバイスを使用することによって、アップグレードファイルをインテリジェントECUへどのように送信するかであり、すなわち、本願の本実施形態における主な段階は、E1~E6であることに留意されたい。図2の例は単に、本解決手段の理解を容易にするためのものであり、本解決手段を限定することを意図するものではない。
UDSプロトコルにおいて定義される診断デバイスを使用することによってECUをアップグレードするプロセスは、プログラミング前段階(pre-programming step)、プログラミング段階(programming step)、及びプログラミング後段階(Post-Programming step)に分割される。しかしながら、本願の実施形態において提供されるデータ処理方法は、主にプログラミング段階及びプログラミング後段階において変更される。解決手段の完全性を考慮して、以下ではまず、本願の実施形態において提供されるデータ処理方法におけるプログラミング段階及びプログラミング後段階の具体的な実装手順を順番に説明する。
1.プログラミング段階
本願のこの実施形態においては、図3を参照されたい。図3は、本願の実施形態によるデータ処理方法の概略フローチャートである。図3に示されるように、プログラミング段階において、段階308~段階310が実行され、その結果、UDSプロトコルの制約下で診断デバイスを使用することによって、アップグレードファイルがインテリジェントECUへ送信され得る。この解決手段の理解を容易にするべく、以下では、段階301から段階311を実行することによって、プログラミング段階全体を詳細に説明する。本願の本実施形態において提供されるデータ処理方法は以下の段階を備え得る。
301:診断デバイスが第1診断命令をインテリジェントECUへ送信し、ここで、第1診断命令は、プログラミングセッションを入力するようインテリジェントECUに命令する。
本願の本実施形態において、インテリジェントECUがプログラミング前段階の操作を完了すると判定した後、診断デバイスは第1診断命令をインテリジェントECUへ送信し得る。第1診断命令は、現在のセッションモードをプログラミングセッション(programming session)に切り替えるようインテリジェントECUに命令する。更に、UDSプロトコルにおける第1診断命令の名称は、診断セッション制御(Diagnostic Session Control)命令であり得る。
受信された第1診断命令に応答して、インテリジェントECUはまず、インテリジェントECUが現在プログラミングセッション中にあるかどうかを認識する。インテリジェントECUがプログラミングセッション中にある場合、インテリジェントECUは、肯定応答を診断デバイスへ直接送信し、ここで、肯定応答は、インテリジェントECUがプログラミングセッションに入ったと診断デバイスに通知するために使用される。インテリジェントECUがプログラミングセッション中でない場合、インテリジェントECUは、セッションモード切り替え操作を実行して、インテリジェントECUの現在のセッションモードをプログラミングセッションに切り替える。インテリジェントECUがプログラミングセッションへの切り替えに成功した場合、インテリジェントECUは、肯定応答を診断デバイスへ送信する。インテリジェントECUがプログラミングセッションへの切り替えに失敗した場合、インテリジェントECUは、否定応答を診断デバイスへ送信し、ここで、否定応答は、インテリジェントECUがプログラミングセッションに入ることに失敗したことを診断デバイスに通知するために使用される。
インテリジェントECUによって送信された肯定応答を診断デバイスが受信した場合、段階302が実行される。インテリジェントECUによって送信された否定応答を診断デバイスが受信した場合、インテリジェントECUのためのプログラムアップグレードが停止される。任意選択的に、診断デバイスは更にプロンプト情報を出力し得、ここで、プロンプト情報は、インテリジェントECUについてのプログラムアップグレードが失敗したことを当業者に通知するために使用される。
第1診断命令、肯定応答、及び否定応答のフォーマットはすべてUDSプロトコルにおける関連する命令の定義に従う。第1診断命令は、診断サービス識別子(service Identifier, SID)を保持する。インテリジェントECUは、第1診断命令に保持されるSIDに基づいて、診断命令に対応する操作タイプを判定し得る。更に、UDSプロトコルにおいて定義されるECUアップグレード手順において、診断デバイス及びECUの間のインタラクションは診断命令の形態であり、各診断命令はSIDを保持する。UDSプロトコルは、異なるSID及び異なるタイプの操作の間の対応関係を定義する。例において、第1診断命令において保持されるSIDは、0x10であり得る。別の例において、診断デバイスによってインテリジェントECUへ送信される診断命令に保持されるSIDが0x34である場合、診断命令は、診断デバイスがデータ伝送開始要求をインテリジェントECUへ送信すると示す。別の例において、診断デバイスによってインテリジェントECUへ送信される診断命令に保持されるSIDが0x36である場合、診断命令は、診断デバイスが、格納される必要があるデータをインテリジェントECUへ送信することを示す。本明細書における例は単に、本解決手段の理解を容易にするためのものであり、すべてのSIDは、包括的なものではないことが理解されるべきである。加えて、UDSプロトコルの制約下において、異なる車両製造者は、SID及び操作タイプの間の対応関係のわずかに異なる定義を有し得、各SIDの意味は、実際のアプリケーションシナリオに依存する。
第1診断命令に対するインテリジェントECUの返信が肯定応答(positive response)である場合、肯定応答のSIDは具体的には、第1診断命令に保持されるSID+0x40として表され得る。第1診断命令に対するインテリジェントECUの返信が否定応答(negative response)である場合、否定応答のSIDは0x7Fであり得、否定応答は更に、第1診断命令のSIDを含み得る。
プログラミングセッション、拡張診断セッション(extended diagnostic session)、及びデフォルトセッション(default session)は、インテリジェントECUの3つの異なるセッションモードである。プログラミングセッションのサブサービスコードは02である。インテリジェントECUは、プログラミングセッションのみにおいてアップグレードされ得る。
302:診断デバイスは、第2診断命令をインテリジェントECUへ送信し、ここで、第2診断命令は、セキュリティアクセス操作を実行するようインテリジェントECUに命令する。
本願の本実施形態において、インテリジェントECUがプログラミングセッションに入ったと判定した後に、診断デバイスは第2診断命令をインテリジェントECUへ送信する。第2診断命令は、セキュリティアクセス操作を実行するようインテリジェントECUに命令する。更に、UDSプロトコルにおける第2診断命令の名称は、セキュリティアクセス(Security Access)命令であり得、第2診断命令に保持されるSIDは、0x27であり得る。
具体的には、第2診断命令は具体的には、シード(seed)を取得することを要求するために使用され得る。受信された第2診断命令に応答して、インテリジェントECUは、シードをランダムに生成し、診断デバイスへシードを送信し得る。診断デバイスは、予め構成された第1アルゴリズムに基づいて、受信されたシードに対して計算を実行し、第1キーを取得する。診断デバイスは第1キーをインテリジェントECUへ送信する。インテリジェントECUは、計算を通じて第2キーを取得し、診断デバイスから取得された第1キーを第2キーと比較する。第1キーが第2キーと一致する場合、診断デバイスがセキュリティアクセスの認証に成功したと判定され、インテリジェントECUは肯定応答を診断デバイスへ送信する。第1キーが第2キーと不一致である場合、診断デバイスがセキュリティアクセスの認証に成功しなかったと判定され、インテリジェントECUは否定応答を診断デバイスへ送信する。第2キーは、インテリジェントECUが第2アルゴリズムに基づいてシードに対して計算を実行した後に取得される。
診断デバイスが肯定応答を受信し、診断デバイスがインテリジェントECUのセキュリティアクセスの認証に成功したと判定された場合、段階303が実行される。診断デバイスが否定応答を受信し、診断デバイスがインテリジェントECUのセキュリティアクセスの認証に成功しなかったと判定される場合、インテリジェントECUのアップグレード手順が停止される。任意選択的に、診断デバイスはプロンプト情報を出力し、診断デバイスがインテリジェントECUのセキュリティアクセスの認証において成功しなかったと当業者に通知し得る。段階301は、肯定応答及び否定応答を生成する規則を示し、異なるタイプの診断命令に対応する肯定応答は、異なる内容を有し、異なるタイプの診断命令に対応する否定応答は、異なる内容を有ることに留意されたい。具体的には、インテリジェントECUによって診断デバイスへ送信された肯定応答/否定応答の具体的内容は、実際の状況を参照して判定されるべきである。これは、本願の本実施形態において限定されることはない。加えて、診断デバイスがセキュアな診断デバイスである場合、診断デバイスにおいて構成される第1アルゴリズム、及び第2アルゴリズムは、同一のアルゴリズムであり、その結果、計算を通じて診断デバイスによって取得された第1キーは第2キーと一致する。
303:インテリジェントECUが、診断デバイスによって送信された診断デバイスフィンガープリントを受信する。
本願の本実施形態において、診断デバイスがインテリジェントECUのセキュリティアクセスの認証に成功したと判定した後に、診断デバイスは診断デバイスフィンガープリントをインテリジェントECUへ送信する。対応して、診断デバイスによって送信された診断デバイスフィンガープリントを受信した後、インテリジェントECUは、診断デバイスフィンガープリントを車両のメモリに書き込む。診断デバイスフィンガープリントは具体的には、文字列として表され得、診断デバイスフィンガープリントは、診断デバイスの識別情報を保持する。識別情報は、診断デバイスを一意に識別するために使用される。
任意選択的に、診断デバイスフィンガープリントは更に、診断デバイスの識別情報を格納する対応する時間を保持し、時間は、診断デバイスフィンガープリントを生成する時間、診断デバイスフィンガープリントを送信する時間、又は、別の時間であり得るが、本明細書において限定されることはない。
インテリジェントECUが診断デバイスフィンガープリントを車両のメモリに書き込むことに成功した場合、インテリジェントECUは肯定応答を診断デバイスへ送信する。肯定応答を受信した後、診断デバイスは、インテリジェントECUが診断デバイスフィンガープリントをローカルに格納することに成功したと認識し、次に、段階304が実行される。インテリジェントECUが診断デバイスフィンガープリントを車両のメモリに書き込むことに失敗した場合、インテリジェントECUは、否定応答を診断デバイスへ送信する。否定応答を受信した後、診断デバイスは、インテリジェントECUが診断デバイスフィンガープリントをローカルに格納することに失敗したと認識する。この場合、インテリジェントECUのアップグレード手順が停止される。任意選択的に、診断デバイスは、プロンプト情報を出力して、診断デバイスが診断デバイスフィンガープリントをローカルに格納することに失敗したと当業者に通知し得る。
304:インテリジェントECUが、診断デバイスによって送信された第2データ伝送要求を受信し、ここで、第2データ伝送要求は、フラッシュドライブプログラムを受信するようECUに要求するために使用され、第2データ伝送要求は第2メモリアドレスを保持する。
本願の本実施形態において、インテリジェントECUが診断デバイスフィンガープリントをローカルに格納したと判定した後に、診断デバイスは、第2データ伝送要求をインテリジェントECUへ送信する。対応して、インテリジェントECUは、診断デバイスによって送信された第2データ伝送要求を受信する。
第2データ伝送要求は、フラッシュドライブ(flash drive)プログラムを受信するようインテリジェントECUに要求するために使用され、第2データ伝送要求は、フラッシュドライブプログラムのファイルサイズ、及び、フラッシュドライブプログラムに対応する第2メモリアドレス(memory address)を保持する。更に、UDSプロトコルにおける第2データ伝送要求の名称は、要求ダウンロード(request download)命令であり得、第2データ伝送要求のSIDは0x34であり得る。
インテリジェントECUは車両に統合され、第2メモリアドレスはメモリアドレスである。更に、車両のメモリにはストレージユニットが多数あるので、各ストレージユニットを発見するために、メモリアドレスが各ストレージユニットに割り当てられる必要があり、メモリアドレスは、メモリにおけるストレージユニットの番号を示す。
第2データ要求は更に、伝送対象データ(すなわち、フラッシュドライブプログラム)のサイズを保持する。例えば、第2データ要求は、「伝送対象データのサイズは10240バイトである」を保持する。本明細書の例は、本解決手段を限定するために使用されないと理解されるべきである。
305:インテリジェントECUは、第2メモリアドレスに対応する第2ファイルパスを取得する。
本願の本実施形態において、インテリジェントECUは、ターゲットマッピング関係を予め格納し得、ターゲットマッピング関係は、少なくとも1つのメモリアドレス及び少なくとも1つのファイルパスの間の1対1の対応関係を示す。例えば、第2メモリアドレスは、0x12345678であり、第2メモリアドレスに対応する第2ファイルパスは、/home/upgrade/upgrade file.zipである。メモリアドレスの例、及び、本明細書のファイルパスの例は単に、理解を容易にするためのものであり、この解決手段を限定することを意図するものではないことが理解されるべきである。
更に、ターゲットマッピング関係は、インテリジェントECUが工場から納品されるとき、車両において予め構成され得る、又は、ターゲットマッピング関係は、インテリジェントECUのアップグレードプロセスにおいて更新され得る。
第2メモリアドレスを取得した後に、インテリジェントECUは、メモリアドレス及びファイルパスの間の対応関係に基づいて、第2メモリアドレスに対応する第2ファイルパスを取得し、第2ファイルパスのインジケーションに基づいて第2ファイルを作成し、第2ファイルは、診断デバイスによって送信されたフラッシュドライブプログラムを格納し得る。第2ファイルの作成に成功した後に、インテリジェントECUは、肯定応答を診断デバイスへ送信し、肯定応答は、診断デバイスに、フラッシュドライブプログラムをインテリジェントECUへ送信することを開始するよう命令する。
本願の本実施形態において作成された第2ファイルのファイルフォーマットは、s19又はhexなどのアドレス情報を保持するファイルフォーマットであり得るか、又は、アドレス情報を保持しないファイルフォーマットであり得、すなわち、ファイルフォーマットは、zip、tar.gz、又は、アドレス情報を保持しない別のファイルフォーマットであり得ることに留意されたい。これは、本願の本実施形態において限定されることはない。
加えて、アップグレードファイルがインテリジェントECUをアップグレードするために使用される前に、第1ストレージ空間(後続の段階307において説明される)は、前のアップグレードに使用されたアップグレードファイルを格納する。UDSプロトコルにおいて、診断デバイスは、フラッシュドライブプログラムをインテリジェントECUへ送信し、前のアップグレードに使用されたアップグレードファイルを消去し、それにより、アップグレードファイルを第1ストレージ空間に配置する。
しかしながら、第1ファイルパスが指す第1ファイルにアップグレードファイルを格納するプロセスにおいて、インテリジェントECUは、アップグレード前にインテリジェントECUのアップグレードファイルに対して削除操作を実行しないことがあり得、新しいファイルは、古いファイルを直接上書きし得る。したがって、段階305は、任意選択的な段階である。インテリジェントECUが段階305を実行しない場合、段階304を実行することによって第2データ伝送要求を受信した後に、インテリジェントECUは、肯定応答を診断デバイスへ直接送信し得る。第1ファイルは、インテリジェントECUによって新たに作成された空のファイルであり、インテリジェントECUがアップグレードファイルを第1ファイルに格納することは、インテリジェントECUが、アップグレードファイルに含まれる複数のファイルを第1ファイルに配置することを意味する。この概念をより直感的に理解するために、第1ファイルは、コンテナと同様であり得、アップグレードファイルに含まれる複数のファイルは、コンテナ(第1ファイル)に配置される。
306:診断デバイスはフラッシュ(Flash)ドライブプログラムをインテリジェントECUへ送信する。
本願の本実施形態において、第2データ伝送要求についての肯定応答を受信した後に、診断デバイスは、フラッシュドライブプログラムをインテリジェントECUへ送信することを開始する。診断デバイスは、1又は複数の第2データ伝送命令をインテリジェントECUへ送信する方式で、フラッシュドライブプログラム全体をインテリジェントECUへ送信し得る。UDSプロトコルにおける第2データ伝送命令の名称は、要求ダウンロード(転送データ)命令であり得る、第2データ伝送命令に保持されるSIDは0x36であり得る。
具体的には、実装において、インテリジェントECUが段階305を実行する場合、段階306において、インテリジェントECUは、診断デバイスによって送信されたフラッシュドライブプログラムを受信し、第2ファイルパスが指す第2ファイルにフラッシュドライブプログラムを格納する。更に、診断デバイスは第2データ伝送命令をインテリジェントECUへ送信し、第2データ伝送命令は、フラッシュドライブプログラムにおけるデータの一部/全部を保持する。フラッシュドライブプログラムのサイズが、1つのデータ伝送命令に保持され得るデータの量の上限を上回る場合、1つの第2データ伝送命令は、フラッシュドライブプログラムにおけるデータの一部を保持する。フラッシュドライブプログラムのサイズが、1つのデータ伝送命令に保持され得るデータの量の上限を上回らない場合、1つの第2データ伝送命令は、フラッシュドライブプログラムにおけるデータの全部を保持する。
インテリジェントECUは、受信された第2データ伝送命令におけるデータを第2ファイルに格納し、肯定応答を診断デバイスへ送信する。肯定応答を受信した後、診断デバイスは、フラッシュドライブプログラムの伝送が完了したかどうかを判定する。フラッシュドライブプログラムに伝送が完了しない場合、診断デバイスは、次の第2データ伝送命令をインテリジェントECUへ送信することを継続し、すなわち、1又は複数のファイルの伝送プロセスを反復する。フラッシュドライブプログラムの伝送が完了した場合、診断デバイスは、ダウンロード終了要求をインテリジェントECUへ送信し、UDSプロトコルにおけるダウンロード終了要求の名称は、転送終了要求(request transfer exit)命令であり得、ダウンロード終了要求に保持されるSIDは0x37であり得る。受信されたダウンロード終了要求に応答して、インテリジェントECUは、ダウンロード終了要求に対応する肯定応答を診断デバイスへ送信し、ダウンロード終了要求に対応する肯定応答を受信した後、診断デバイスは、フラッシュドライブプログラムの伝送操作が完了したと判定する。
この解決手段をより直感的に理解するために、図4を参照されたい。図4は、本願の実施形態によるデータ伝送方法における、診断デバイスがフラッシュ(Flash)ドライブプログラムをインテリジェントECUへ送信する概略フローチャートである。A1:診断デバイスは、ファイル転送命令をインテリジェントECUへ送信し、ファイル転送命令に保持されるSIDは0x36である。A2:ファイル転送命令を受信した後に、インテリジェントECUは、ファイル転送命令に保持されるデータを、第2ファイルパスによって示される第2ファイルに書き込む。A3:インテリジェントECUは、ファイル転送命令に対応する肯定応答を診断デバイスへ送信し、肯定応答に保持されるSIDは0x76である。A4:ファイル転送命令に対応する肯定命令を受信した後に、診断デバイスは、フラッシュドライブプログラムの伝送が完了したかどうかを判定し;フラッシュドライブプログラムの伝送が完了していない場合、段階A1が再度実行され、その結果、次のファイル転送命令がインテリジェントECUへ送信され;又は、フラッシュドライブプログラムの伝送が完了された場合、段階A5が実行される。A5:診断デバイスは、ダウンロード終了要求をインテリジェントECUへ送信し、ダウンロード終了要求に保持されるSIDは0x37である。A6:インテリジェントECUは、ダウンロード終了要求に対応する肯定応答を診断デバイスへ送信し、肯定応答に保持されるSIDは0x77である。ダウンロード終了要求に対応する肯定応答を受信した後に、診断デバイスは、フラッシュドライブプログラムの伝送操作が完了されたと判定する。図4における例は単に、この解決手段の理解を容易にするためのものであり、この解決手段を限定することを意図するものではないことが理解されるべきである。
本願の本実施形態では、プログラミング段階において、フラッシュドライブプログラムの伝送要求を受信した後、インテリジェントECUは、第2メモリアドレスに対応する第2ファイルパスを取得し、第2ファイルパスが指す第2ファイルにフラッシュドライブプログラムを格納し得る。すなわち、UDSプロトコルの制約下で、インテリジェントECUはまた、フラッシュドライブプログラムをメモリに格納して、インテリジェントECUの処理方式がUDSプロトコルの要件を満たすことを確実にし得、それにより、インテリジェントECUのアップグレードプロセスにおける停止を低減する。これは、診断デバイスを使用することによって、インテリジェントECUをアップグレードする成功率を改善することを助ける。
別の実装において、インテリジェントECUが段階305を実行しない場合、段階306は、インテリジェントECUが、診断デバイスによって送信された第2データ伝送命令を受信し、受信された第2データ伝送命令に応答して、第2データ伝送命令に対応する肯定応答を診断デバイスへ直接送信することを含む。第2データ伝送命令に対応する肯定応答を受信した後に、診断デバイスは、フラッシュドライブプログラムの伝送が完了されたかどうかを判定する。フラッシュドライブプログラムの伝送が完了されていない場合、診断デバイスは、次の第2データ伝送命令をインテリジェントECUへ送信することを継続する。フラッシュドライブプログラムの伝送が完了された場合、診断デバイスは、ダウンロード終了要求をインテリジェントECUへ送信する。受信されたダウンロード終了要求に応答して、インテリジェントECUは、ダウンロード終了要求に対応する肯定応答を診断デバイスへ送信し、ダウンロード終了要求に対応する肯定応答を受信した後、診断デバイスは、フラッシュドライブプログラムの伝送操作が完了したと判定する。
この解決手段をより直感的に理解するために、図5を参照されたい。図5は、本願の実施形態によるデータ伝送方法における、診断デバイスがフラッシュ(Flash)ドライブプログラムをインテリジェントECUへ送信する概略フローチャートである。A1:診断デバイスは、ファイル転送命令をインテリジェントECUへ送信し、ファイル転送命令に保持されるSIDは0x36である。B2:ファイル転送命令を受信した後、インテリジェントECUは、ファイル転送命令に対応する肯定応答を診断デバイスへ直接送信し、肯定応答に保持されるSIDは0x76である。B3:ファイル転送命令に対応する肯定命令を受信した後に、診断デバイスは、フラッシュドライブプログラムの伝送が完了したかどうかを判定し;フラッシュドライブプログラムの伝送が完了していない場合、段階B1が再度実行され、その結果、次のファイル転送命令がインテリジェントECUへ送信され;又は、フラッシュドライブプログラムの伝送が完了された場合、段階B4が実行される。B4:診断デバイスは、ダウンロード終了要求をインテリジェントECUへ送信し、ダウンロード終了要求に保持されるSIDは0x37である。B5:インテリジェントECUは、ダウンロード終了要求に対応する肯定応答を診断デバイスへ送信し、肯定応答に保持されるSIDは0x77である。ダウンロード終了要求に対応する肯定応答を受信した後に、診断デバイスは、フラッシュドライブプログラムの伝送操作が完了されたと判定する。図5における例は単に、この解決手段の理解を容易にするためのものであり、この解決手段を限定することを意図するものではないことが理解されるべきである。
本願の本実施形態において、インテリジェントECUが新しいファイルを作成するとき、古いファイルは直接上書きされ得、すなわち、インテリジェントECUは、フラッシュドライブプログラムを格納してフラッシュドライブプログラムを呼び出すことによって消去操作を実行する必要がない、すなわち、インテリジェントECUは、フラッシュドライブプログラムを格納しない。これは、インテリジェントECUのストレージ空間の利用を改善することを助け、第2メモリアドレスを第2ファイルパスにマッピングする段階、及び、フラッシュドライブプログラムを格納する段階を回避し、インテリジェントECUのアップグレードプロセス全体の効率を改善することを助ける。
インテリジェントECUがフラッシュドライブプログラムをダウンロードする操作を完了したと判定した後に、診断デバイスは、完全性チェック命令をインテリジェントECUへ送信し、完全性チェック命令は、第1チェックコードを保持する。受信された完全性チェック命令に応答して、インテリジェントECUは、予め構成されたターゲットチェックアルゴリズム及びダウンロードされたフラッシュドライブプログラムに基づいて第2チェックコードを計算する。インテリジェントECUは、第1チェックコードを第2チェックコードと比較して、第1チェックコードが第2チェックコードと一致しているかどうかを判定する。第1チェックコードが第2チェックコードと一致する場合、インテリジェントECUは、ダウンロードされたフラッシュドライブプログラムのデータが完全であると判定し、肯定応答を診断デバイスへ送信し、肯定応答は、インテリジェントECUによってダウンロードされたフラッシュドライブプログラムのデータが完全であることを示し、段階307の実行をトリガする。第1チェックコードが第2チェックコードと不一致である場合、インテリジェントECUは、否定応答を診断デバイスへ送信し、否定応答は、インテリジェントECUによってダウンロードされたフラッシュドライブプログラムのデータが不完全であることを示し、インテリジェントECUのアップグレード手順を停止するよう診断デバイスをトリガする。ターゲットチェックアルゴリズムは、巡回冗長検査(cyclic redundancy check, CRC)アルゴリズム、排他的ORチェックアルゴリズム、メッセージダイジェストアルゴリズム5(message-digest algorithm 5, MD5)チェックアルゴリズム、別のチェックアルゴリズム、又は同様のものを含むが、これらに限定されることはない。これは、本明細書において限定されるものではない。
307:インテリジェントECUは、診断デバイスによって送信された第3診断命令を受信し、第3診断命令は、第1ストレージ空間におけるデータに対して消去操作を実行するようインテリジェントECUに命令する。
本願の本実施形態において、インテリジェントECUが完了したフラッシュドライブプログラムを取得したと判定した後、診断デバイスは、第3診断命令をインテリジェントECUへ送信し得、第3診断命令は、第1ストレージ空間におけるデータに対して消去操作を実行するようインテリジェントECUに命令する。第1ストレージ空間は、診断デバイスがインテリジェントECUへ送信したいアップグレードファイルのストレージ位置であり、第3診断命令は、第1メモリアドレス、及び、診断デバイスがインテリジェントECUに消去させる必要がある空間のサイズを保持し、すなわち、第1ストレージ空間の始点は第1メモリアドレスであり、第1ストレージ空間のサイズは、診断デバイスがインテリジェントECUに消去させる必要がある空間のサイズ(すなわち、インテリジェントECUのアップグレードファイルのサイズ)である。更に、UDSプロトコルにおける第3診断命令の名称は、メモリ消去(erase memory)命令であり得る。
具体的には、実装では、段階307において、受信された第3診断命令に応答して、インテリジェントECUは、ターゲットマッピング関係に基づいて、第1メモリアドレスに対応する第1ファイルパスを取得し、第1ファイルパスが指す第3ファイルに対して削除操作を実行する。第3ファイル及び第1ファイルは異なるファイルであり、第3ファイルは、前のアップグレードプロセスにおいてインテリジェントECUによって作成されるファイルであり、削除操作が第3ファイルに対して実行されるとき、インテリジェントECUは第1ファイルを作成しなかったことに留意されたい。第1ファイルパスが指す第3ファイルの削除に成功した後に、第3診断命令に対応する肯定応答は診断デバイスへ送信される。第1ファイルパスが指す第3ファイルの削除に失敗した場合、第3診断命令に対応する否定応答は診断デバイスへ送信され、第3診断命令に対応する否定応答は、インテリジェントECUが第1ストレージ空間におけるデータの消去に失敗したことを示す。診断デバイスは、第3診断命令に対応する受信された否定応答に応答して、インテリジェントECUについてのプログラムアップグレードを停止する。本願の本実施形態において、アップグレードファイルのストレージアドレスにおけるデータは、明確に消去され、アップグレードファイルのストレージアドレスにおけるファイルは、明確に削除される。すなわち、インテリジェントECUが後続の段階において、受信されたアップグレードファイルに対してストレージ操作を実行するとき、データはブランク位置に格納される。この解決手段において、ファイルに対する削除操作がまず実行され、ファイルに対するストレージ操作は、ある期間の後に実行される。新しいアップグレードファイルを直接使用して古いファイルを上書きする場合と比較して、これは、データストレージプロセスにおけるエラーの確率を低減することを助ける。
別の実装では、段階307において、インテリジェントECUは、受信された第3診断命令に応答して、第3診断命令に対応する肯定応答を診断デバイスへ送信し、第3診断命令に対応する肯定応答は、第1ストレージ空間におけるデータに対する消去操作がインテリジェントECUによって完了されたことを示す。
308:インテリジェントECUは、診断デバイスによって送信された第1データ伝送要求を受信し、ここで、第1データ伝送要求は、アップグレードファイルを受信するようインテリジェントECUに要求するために使用され、第1データ伝送要求は第1メモリアドレスを保持する。
本願の本実施形態において、インテリジェントECUによって送信された第3診断命令に対応する肯定応答を受信した後、診断デバイスは第1データ伝送要求をインテリジェントECUへ送信する。第1データ伝送要求は、アップグレードファイルを受信するようインテリジェントECUに要求するために使用され、第1データ伝送要求は、アップグレードファイルに対応する第1メモリアドレスを保持する。
更に、第1データ伝送要求及び第2データ伝送要求が、同一の種類の命令を判定しているので、第1データ伝送要求に保持されたSIDは、第2データ伝送要求に保持されたSIDと同一であり得る。第1メモリアドレスの概念は、第2メモリアドレスの概念と同様であり、第1メモリアドレス及び第2メモリアドレスは各々、メモリアドレスである。詳細な説明については、上記の段階における説明を参照されたい。詳細は本明細書において再度説明されない。
309:インテリジェントECUは、第1メモリアドレスに対応する第1ファイルパスを取得する。
本願の本実施形態において、インテリジェントECUは、ターゲットマッピング関係を予め格納し得る。ターゲットマッピング関係の意味については、段階305の説明を参照されたい。受信された第1データ伝送要求に応答して、インテリジェントECUは、ターゲットマッピング関係(すなわち、メモリアドレス及びファイルパスの間の対応関係)に基づいて、第1メモリアドレスに対応する第1ファイルパスを取得し、第1ファイルパスに基づいて、第1ファイルを作成し、第1ファイルは、診断デバイスによって送信されたアップグレードファイルを格納するために使用される。第1ファイルの作成に成功した後に、インテリジェントECUは、第1データ伝送要求に対応する肯定応答を診断デバイスへ送信し、第1データ伝送要求に対応する肯定応答は、アップグレードファイルをインテリジェントECUへ送信することを開始するように診断デバイスに示す。第2ファイルと同様に、本願の本実施形態において作成された第1ファイルのファイルフォーマットは、アドレス情報を保持しないファイルフォーマットであり得、すなわち、ファイルフォーマットは、zip又はtar.gzであり得、又は、s19若しくはhexなどのアドレス情報を保持するファイルフォーマットであり得ることに留意されたい。
インテリジェントECUが第1ファイルの作成に失敗した場合、インテリジェントECUは、第1データ伝送要求に対応する否定応答を診断デバイスへ送信し、第1データ伝送要求に対応する否定応答は、アップグレードファイルをダウンロードすることを拒否するようインテリジェントECUに示す。更に、例えば、第1メモリアドレスに対応するファイルパスは、ターゲットマッピング関係に存在しない、又は、別の例では、インテリジェントECUは、第1ファイルの作成のプロセスにおいて第1ファイルの作成に失敗する。結果的に、インテリジェントECUは第1ファイルの作成に成功できない。第1データ伝送要求に対応する否定応答を受信した後に、診断デバイスは、インテリジェントECUについてのプログラムアップグレードを停止する。
任意選択的に、診断デバイスはプロンプト情報を出力して、インテリジェントECUがアップグレードファイルのダウンロードを拒否したのでインテリジェントECUについてのプログラムアップグレードが停止されたと当業者に通知する。
本実装において、インテリジェントECUは、ターゲットマッピング関係を予め格納し、ターゲットマッピング関係は、少なくとも1つのメモリアドレス及び少なくとも1つのファイルパスの間の1対1の対応関係を示し、その結果、インテリジェントECUは、格納済みターゲットマッピング関係に基づいて、第1メモリアドレスに対応する第1ファイルパスを迅速に取得し得る。これにより、第1ファイルパスを取得する速度を増加させることを助ける。
310:インテリジェントECUは、診断デバイスによって送信されたアップグレードファイルを受信し、アップグレードファイルを、第1ファイルパスが指す第1ファイルに格納する。
本願の本実施形態において、第1データ伝送要求に対応する肯定応答を受信した後に、診断デバイスは、アップグレードファイルをインテリジェントECUへ送信することを開始する。診断デバイスは、1又は複数の第1データ伝送命令をインテリジェントECUへ送信する方式で、アップグレードファイル全体をインテリジェントECUへ送信し得る。インテリジェントECUは、診断デバイスによって送信されたアップグレードファイルを受信し、アップグレードファイルを、第1ファイルパスが指す第1ファイルに格納する。
具体的に、段階306の実装と同様に、診断デバイスは第1データ伝送命令をインテリジェントECUへ送信し、第1データ伝送命令は、アップグレードファイルのデータの一部/全部を保持する。インテリジェントECUは、第1データ伝送命令に保持されるファイル内容を第1ファイルに格納し、肯定応答を診断デバイスへ送信する。肯定応答を受信した後に、診断デバイスは、アップグレードファイルの伝送が完了されたかどうかを判定する。アップグレードファイルの伝送が完了されていない場合、診断デバイスは、次の第1データ伝送命令をインテリジェントECUへ送信することを継続し、すなわち、アップグレードファイルのデータの一部の伝送プロセスを反復する。アップグレードファイルの伝送が完了された場合、診断デバイスは、ダウンロード終了要求をインテリジェントECUへ送信する。受信されたダウンロード終了要求に応答して、インテリジェントECUは、ダウンロード終了要求に対応する肯定応答を診断デバイスへ送信し、ダウンロード終了要求に対応する肯定応答を受信した後、診断デバイスは、アップグレードファイルの伝送操作が完了したと判定する。
更なる説明については、段階306における説明を参照されたい。相違点は、段階306において、診断デバイスはフラッシュドライブプログラムをインテリジェントECUへ送信し、フラッシュドライブプログラムを第2ファイルに格納する一方、段階310において、診断デバイスは、アップグレードファイルをインテリジェントECUへ送信し、アップグレードファイルを第1ファイルに格納するという点である。
段階306と同様に、アップグレードファイルをダウンロードする操作を完了した後に、インテリジェントECUはまた、アップグレードファイルの完全性をチェックする必要がある。具体的には、アップグレードファイルをダウンロードする操作をインテリジェントECUが完了したと判定した後に、診断デバイスは、完全性チェック命令をインテリジェントECUへ送信し、完全性チェック命令は第3チェックコードを保持する。受信された完全性チェック命令に応答して、インテリジェントECUは、予め構成されたターゲットチェックアルゴリズム及びダウンロードされたアップグレードファイルに基づいて第4チェックコードを計算する。インテリジェントECUは、第3チェックコードを第4チェックコードと比較し、第3チェックコードが第4チェックコードと一致しているかどうかを判定する。第3チェックコードが第4チェックコードと一致する場合、インテリジェントECUは、ダウンロードされたアップグレードファイルのデータが完全であると判定し、肯定応答を診断デバイスへ送信し、肯定応答は、インテリジェントECUによってダウンロードされたアップグレードファイルのデータが完全であることを示し、段階311の実行をトリガする。第3チェックコードが第4チェックコードと不一致である場合、インテリジェントECUは、否定応答を診断デバイスへ送信し、否定応答は、インテリジェントECUによってダウンロードされたアップグレードファイルのデータが不完全であることを示し、インテリジェントECUのアップグレード手順を停止するよう診断デバイスをトリガする。
311:インテリジェントECUは、診断デバイスによって送信された第4診断命令を受信し、第4診断命令は、プログラミング依存性チェック操作を実行するようインテリジェントECUに命令する。
本願の本実施形態において、インテリジェントECUが完全なアップグレードファイルをダウンロードしたと判定した後に、診断デバイスは第4診断命令を診断デバイスへ送信し、プログラミング依存性チェック操作を実行するようインテリジェントECUに命令する。プログラミング依存性チェック操作は、ダウンロードされたアップグレードファイルの妥当性及び互換性をチェックすることを目的とする。UDSプロトコルにおいて、プログラミング依存性は、英語のバリデートアプリケーションに変換され、プログラミング依存性の意味は、UDSプロトコルを参照して理解され得る。例えば、プログラミング依存性チェック操作は、ダウンロードされたアップグレードファイルがこのインテリジェントECUハードウェアと互換性があるかどうかをチェックする操作、インテリジェントECUによってダウンロードされるアップグレードファイルのデジタル署名が正確であるかどうかの操作、又は、別の操作を含むが、これらに限定されることはない。特定のプログラミング依存性チェック操作においてチェックされる具体的内容は、実際の状況を参照してインテリジェントECUの製造者によって定義され得、本明細書において限定されることはないことに留意されたい。
プログラミング依存性チェック操作を完了し、インテリジェントECUの現在のソフトウェア及びハードウェア環境が正常であると判定したとき、インテリジェントECUは、第4診断命令に対応する肯定応答を診断デバイスへ送信し、第4診断命令に対応する肯定応答を受信した後、診断デバイスは、プログラミング後段階の段階の実行をトリガする(特定の段階は、後続の実施形態において説明される)。インテリジェントECUがプログラミング依存性チェック操作の完了に失敗したとき、インテリジェントECUは、第4診断命令に対応する否定応答を診断デバイスへ送信し、第4診断命令に対応する否定応答を受信した後、診断デバイスは、インテリジェントECUについてのプログラムアップグレードを停止する。
プログラミング依存性チェック操作の実行に成功した後に、インテリジェントECUは更に、ターゲットレコードを更新し、ターゲットレコードは、プログラミング依存性チェック操作がインテリジェントECUによって実行されるかどうかを記録し、更新されたターゲットレコードは、プログラミング依存性チェック操作がインテリジェントECUによって実行されることを示す。ターゲットレコードは具体的には、プログラミング依存性チェックが実行されるかどうかを記録する、インテリジェントECUにおけるフラグビットとして表され得る。フラグビットの値が第1値であるとき、プログラミング依存性チェック操作がインテリジェントECUによって実行されることが示され;又は、フラグビットの値が第2値であるとき、プログラミング依存性チェック操作がインテリジェントECUによって実行されないことを示し、ここで、第1値及び第2値は異なる値である。例えば、第1値は真であり得、第2値は偽であり得る。別の例では、第1値は1であり得、第2値は0であり得る。第1値及び第2値は、本明細書において包括的ではない。ターゲットレコードは、代替的に別の形式で表され得、これは、本明細書において限定されることはないことに留意されたい。
本実装において、診断デバイスによって送信されたメモリアドレスを受信した後、インテリジェントECUはまず、メモリアドレスに対応するファイルパスを取得し、次に、診断デバイスから受信されたアップグレードファイルをファイルパスに格納する。インテリジェントECUは、ファイルパスに基づいてストレージ位置を判定し得るので、インテリジェントECUは、診断デバイスによって送信されたアップグレードファイルを、ファイルパスによって示されたファイルに格納し、それにより、アップグレードファイルを格納する操作を完了し得る。更に、制御デバイスは、UDSプロトコルの制約下で、診断デバイスを通じてアップグレードファイルを取得し得る。
UDSプロトコルによれば、インテリジェントECUをアップグレードするプロセスは、プログラミング段階、プログラミング後段階、及びプログラミング前段階を含む。プログラミング後段階の段階も本願の本実施形態において改善されるので、以下ではまず、プログラミング後段階の具体的な実行段階を説明する。
2.プログラミング後段階
本願のこの実施形態においては、図6を参照されたい。図6は、本願の実施形態によるデータ処理方法の概略フローチャートである。本願の本実施形態において提供されるデータ処理方法は以下の段階を備え得る。
601:診断デバイスがリセット要求をインテリジェントECUへ送信する。
本願の本実施形態において、インテリジェントECUが完全なアップグレードファイルをダウンロードしたと判定した後に、診断デバイスはリセット要求をインテリジェントECUへ送信する。リセット要求は具体的には、ハードリセット(hard reset)を実行するようにインテリジェントECUに示し、すなわち、再始動操作を実行するようインテリジェントECUに示し得る。更に、UDSプロトコルにおけるリセット要求の名称は、ECUリセット(ECU reset)命令であり得、リセット要求のSIDは0x11であり得る。
受信されたリセット要求に応答して、インテリジェントECUは、リセット要求に対応する肯定応答を診断デバイスへ送信する。インテリジェントECUが、このときにプログラミングセッションにある場合、インテリジェントECUは、段階602の実行をトリガする。診断デバイスはまた、インテリジェントECUのアップグレードプログラムにあること無く、リセット要求をインテリジェントECUへ送信し得、インテリジェントECUがプログラミングセッションにあるときのみ段階602が実行されることに留意されたい。そうでない場合、インテリジェントECUはリセット操作を直接実行する。
602:インテリジェントECUは、プログラミング依存性チェック操作が実行されるかどうかを判定し、プログラミング依存性チェック操作が実行される場合、段階603を実行し;又は、プログラミング依存性チェック操作が実行されない場合、段階607を実行する。
本願の本実施形態において、リセット要求に対応する肯定応答を診断デバイスへ送信した後に、インテリジェントECUは、図3に対応する実施形態における段階311において言及されたターゲットレコードを読み出して、プログラミング依存性チェック操作がインテリジェントECUによって実行されるかどうかを判定する。ターゲットレコードに基づいて、プログラミング依存性チェック操作がインテリジェントECUによって実行されると判定される場合、段階603が実行され、ターゲットレコードが再度更新され、ここで、更新されたターゲットレコードは、プログラミング依存性チェック操作がインテリジェントECUによって実行されないことを示す。例えば、フラグビットの値は真から偽に変更され、別の例では、フラグビットの値は1から0に変更される。プログラミング依存性チェック操作が実行されないと判定される場合、段階607が実行される。
603:インテリジェントECUは、アップグレードファイルに基づいてアップグレード操作を実行し、インテリジェントECUに対してリセット操作を実行する。
本願の本実施形態において、インテリジェントECUは、アップグレードファイルに基づいて、インテリジェントECUに対してアップグレード操作を実行する。具体的には、インテリジェントECUは、ダウンロードされたアップグレードファイルに対して圧縮解除動作を実行して、複数のアップグレードサブファイル、構成情報、及びシステムバージョン番号を取得する。構成情報は、アップグレードファイルにおける各アップグレードサブファイルのインストール方式を示す。インテリジェントECUは、構成情報のインジケーションに基づいて、対応する方式で、アップグレードファイルにおける複数のアップグレードサブファイルを個別にインストールし、インテリジェントECUに対するアップグレード操作を完了し、次に、インテリジェントECUに対してリセット操作(すなわち、再始動操作)を実行する。
本願の本実施形態では、UDSプロトコルにおいて、非インテリジェントECUがアップグレードファイルのダウンロードを完了した後に、ECUに対するアップグレード操作が完了されたとみなされる。しかしながら、インテリジェントECUについては、アップグレードファイルをローカルにダウンロードするだけでは、インテリジェントECUに対するアップグレード操作を完了できない。本願の本実施形態において、インテリジェントECUがリセット要求を受信した後、アップグレード操作のトリガが自動的に完了されるように選択され、インテリジェントECUのアップグレードプロセスが完全に自動化されることを確実にする。
段階602及び段階603は任意選択的な段階であることに留意されたい。段階602及び段階603が実行されない場合、インテリジェントECUがアップグレードファイルをローカルにダウンロードした後に、当業者は、アップグレードファイルに基づいて、インテリジェントECUに対してアップグレード操作を実行することを手動でトリガし得る。
リセット(すなわち、再始動)操作を実行するとき、インテリジェントECUは、セッションモードをプログラミングセッションから拡張診断セッションに切り替え、インテリジェントECUの通信モードを調節してすべての種類のパケットを正常に受信及び送信し、診断トラブルコード(diagnostic trouble code, DTC)検出機能及びDTCストレージ機能を有効にし、セッションモードを拡張診断セッションからデフォルトセッションに切り替えることに留意されたい。
UDSプロトコルによれば、プログラミング前段階において、診断デバイスは、通信制御(communication control)命令をインテリジェントECUへ送信し、インテリジェントECUの通信モードを調節して非診断パケットの受信及び送信を禁止する。したがって、インテリジェントECUがアップグレード操作を完了した後、すべての種類のパケットを正常に受信及び送信するために、インテリジェントECUの通信モードは調節される必要がある。
UDSプロトコルによれば、プログラミング前段階において、診断デバイスは更に、制御DTC設定(control DTC setting)命令をインテリジェントECUへ送信し、インテリジェントECUのDTC検出機能及びDTCストレージ機能を無効化する。したがって、インテリジェントECUがアップグレード操作を完了した後に、DTC検出機能及びDTCストレージ機能は、再度有効化される必要がある。
604:インテリジェントECUは、アップグレードが成功したかどうかを判定し、アップグレードが成功した場合、段階605を実行し;又は、アップグレードが成功しない場合、段階606を実行する。
本願の本実施形態において、リセット操作を実行するとき、すなわち、再始動された後、インテリジェントECUは、アップグレードファイルにおけるデータを読み出す。インテリジェントECUの再始動に成功できた場合、すなわち、再始動プロセスにおいて障害が発生しなかった場合、インテリジェントECUのアップグレードが成功したことを示す。障害がインテリジェントECUの再始動プロセスにおいて発生した場合、インテリジェントECUのアップグレードが失敗したことを示す。例えば、再始動プロセスにおける障害は、インテリジェントECUのストレージシステムパーティションの切り替えにおける失敗、インテリジェントECUにおけるいくつかのアプリケーションの始動における失敗、又は、別の種類の障害であり得、これは、本明細書において包括的ではない。インテリジェントECUのアップグレードが失敗した場合、インテリジェントECUのいくつかの機能に障害が発生することに留意されたい。上記の障害は、インテリジェントECUの再始動プロセスにおいて検出され、インテリジェントECUのいくつかの機能に障害があることは、インテリジェントECUの始動における失敗を引き起こさない。
605:インテリジェントECUはインテリジェントECUのシステムバージョン番号を更新する。
本願の本実施形態において、インテリジェントECUは、インテリジェントECUの現在のシステムバージョン番号を格納する。アップグレード操作が成功したと判定された後、アップグレードファイルに保持されたシステムバージョン番号が取得され、インテリジェントECUのシステムバージョン番号は、アップグレードファイルにおいて保持されるシステムバージョン番号(すなわち、有効なシステムバージョン番号)に更新される。例えば、システムバージョン番号は、S00001、S00002、S00003又は別のバージョン番号であり得る。本明細書の例は単に、本解決手段の理解を容易にするためのものであり、本解決手段を限定することを意図するものではない。
606:インテリジェントECUがインテリジェントECUのシステムバージョン番号を無効値に設定する。
本願の本実施形態において、アップグレード操作が失敗したと判定した後に、インテリジェントECUは、インテリジェントECUのシステムバージョン番号を無効値に設定し、無効値は、アップグレード操作が失敗したことを示す。例えば、無効値は、000000、FFFFFF、又は別の値であり得、これは本明細書において包括的ではない。
607:インテリジェントECUは、リセット操作だけを実行する。
本願の本実施形態において、インテリジェントECUがプログラミングセッションにあるとき、リセット要求を受信し、ターゲットレコードに基づいて、プログラミング依存性チェックが実行されないと判定した後に、インテリジェントECUは、インテリジェントECUがアップグレードプログラムにないと判定し、リセット操作のみを実行する。
インテリジェントECUがプログラミングセッションにあるとき、インテリジェントECUは、アップグレードプログラムだけでなく、別のプログラムにあるリセット要求も受信し得る。したがって、インテリジェントECUは、プログラミング依存性チェック操作が実行されるかどうかを判定して、インテリジェントECUがアップグレード手順にあるかどうかを判定する。インテリジェントECUがアップグレード手順にないと判定されるとき、インテリジェントECUは、リセット操作のみを実行し、アップグレードプログラムを実行せず、インテリジェントECUがアップグレードプロセス中にアップグレードファイルを使用することのみによってアップグレード操作を実行することを確実にし、アップグレード操作の不正確なトリガを回避する。
608:診断デバイスは、バージョン番号取得命令をインテリジェントECUへ送信し、バージョン番号取得命令は、インテリジェントECUの現在のシステムバージョン番号を取得するために使用される。
本願のいくつかの実施形態において、診断デバイスは、ユーザによって入力されたターゲット命令を取得し、ターゲット命令に応答して、バージョン番号取得命令をインテリジェントECUへ送信し得る。対応して、インテリジェントECUは、診断デバイスによって送信されたバージョン番号取得命令を受信し得る。
診断デバイスが、ユーザによって入力されたターゲット命令を取得するプロセスについては、以下の説明を参照されたい。1つの場合において、ターゲット命令は、インテリジェントECUの現在のシステムバージョン番号についての取得命令である。具体的には、実装において、診断デバイスは、ディスプレイと共に構成され、ターゲット命令を受信するために使用されるアイコンは、ディスプレイ上で予め構成される。この場合、ユーザは、アイコン上でタップ操作を実行してターゲット命令を入力し得、ユーザは、アイコンをディスプレイ上の予め定められた位置へドラッグしてターゲット命令を入力し得、ユーザは、アイコン上でダブルタップ操作を実行して、ターゲット命令を入力し得、又は同様のことを行い得る。別の実装において、ユーザは、有線ネットワーク又は無線ネットワークを通じて、ターゲット命令を診断デバイスへ直接送信し得る。本明細書における例は単に、この解決手段の理解を容易にするためのものであり、診断デバイスによってターゲット命令を取得する方式を限定するために使用されないことが理解されるべきである。
別の場合において、ターゲット命令は、インテリジェントECUがアップグレード操作の完了に成功したかどうかを示す命令であり、すなわち、ターゲット命令は、インテリジェントECUがアップグレード操作の完了に成功したかどうかを判定するように診断デバイスをトリガする命令である。具体的には、上記の場合と同様に、診断デバイスは、ディスプレイを通じてターゲット命令を取得し得、又は、有線ネットワーク若しくは無線ネットワークを通じて命令を取得し得る。具体的な実装は本明細書において再度説明されない。
この解決手段をより直感的に理解するために、図7を参照されたい。図7は、本願の実施形態によるデータ処理方法におけるターゲット命令を取得するインタフェースの概略図である。図7は、左のサブダイアグラム及び右のサブダイアグラムを含む。図7の左の概略図において、F1は、ターゲット命令を取得するために使用されるアイコンを示す。図7の左のサブダイアグラムにおいて、ターゲット命令は、インテリジェントECUの現在のシステムバージョン番号を取得することをトリガするために使用される命令である。診断デバイスがF1についてのタップ操作を受信するとき、ユーザによって入力されたターゲット命令が取得されたとみなされる。図7の右のサブダイアグラムにおいて、G1は、ターゲット命令を取得するために使用されるアイコンを示す。図7の右のサブダイアグラムにおいて、ターゲット命令が、インテリジェントECUがアップグレード操作の完了に成功したかどうかを判定するように診断デバイスをトリガするために使用される命令である例が例示されている。診断デバイスがG1についてのタップ操作を受信するとき、ユーザによって入力されたターゲット命令が取得されたとみなされる。図7における例は単に、本解決手段の理解を容易にするためのものであり、本解決手段を限定することを意図するものではないことが理解されるべきである。
609:診断デバイスは、インテリジェントECUによって送信された現在のシステムバージョン番号を受信する。
本願のいくつかの実施形態において、インテリジェントECUは、受信されたターゲット命令に応答して、インテリジェントECUの現在のシステムバージョン番号を診断デバイスへ送信する。1つの場合において、ターゲット命令はインテリジェントECUのバージョン番号である。実装において、インテリジェントECUの現在のシステムバージョン番号を受信した後に、診断デバイスは、ディスプレイを通じてインテリジェントECUのシステムバージョン番号を出力し得、その結果、ユーザは、システムバージョン番号に基づいて、インテリジェントECUのアップグレードが失敗したと判定し得る。別の実装において、診断デバイスは、無線ネットワーク又は有線ネットワークを通じて、インテリジェントECUの現在のシステムバージョン番号をユーザへ送信し得る。
別の場合において、ターゲット命令は、インテリジェントECUがアップグレード操作の完了に成功したかどうかを示す命令である。インテリジェントECUによって送信されたシステムバージョン番号を受信した後に、診断デバイスは、インテリジェントECUのシステムバージョン番号が無効値であるかどうかを判定し;インテリジェントECUのシステムバージョン番号が無効値である場合、インテリジェントECUは第1プロンプト情報を出力し、ここで、第1プロンプト情報は、インテリジェントECUのアップグレードが失敗したことをユーザに通知するために使用され;又は、インテリジェントECUのシステムバージョン番号が無効値でない場合、インテリジェントECUは第2プロンプト情報を出力し、ここで、第2プロンプト情報は、インテリジェントECUのアップグレードが成功したとユーザに通知するために使用される。
更に、診断デバイスは、ディスプレイを通じて第1プロンプト情報又は第2プロンプト情報を直接出力し得、ここで、第1プロンプト情報及び第2プロンプト情報は具体的には、テキストボックス、音声、アイコン、又は同様のものの形式で表され得る。これは、本明細書において限定されるものではない。代替的に、診断デバイスは、無線ネットワーク又は有線ネットワークを通じて第1プロンプト情報又は第2プロンプト情報をユーザへ送信し得る。これは、本明細書において限定されるものではない。
本願の本実施形態では、UDSプロトコルにおいて、アップグレードファイルをECUにダウンロードすることは、ECUのアップグレード操作を完了することとみなされる。したがって、診断デバイスは、プログラミング依存性チェック操作を実行するようECUを制御する。プログラミング依存性チェック操作が合格した場合、診断デバイスは、ECUのアップグレードが成功したと判定し;又は、プログラミング依存性チェック操作が合格しなかった場合、診断デバイスは、ECUのアップグレードが失敗したと判定する。加えて、UDSプロトコルにおいて、診断デバイスは、プログラミング依存性チェック操作が合格したかどうかを判定することによって、ECUのアップグレードが成功したかどうかを判定する。したがって、現在の非インテリジェントECUにおいて、現在のUDSプロトコルによれば、アッパーコンピュータは、システムバージョン番号に基づいて、アップグレードが成功したかどうかをチェックしない。この解決手段において、アップグレード操作が失敗したと判定した後、インテリジェントECUは、インテリジェントECUのシステムバージョン番号を無効値に設定し、その結果、診断デバイスは、インテリジェントECUのアップグレードが成功したかどうかを時間内にチェックして、インテリジェントECUのアップグレードが本当に成功したことを確実にし得、それにより、車両走行プロセスの安全性を確実にする。
図2から図7に対応する実施形態に基づいて、本願の実施形態における上記の解決手段をより良く実装するために、以下では更に、上記の解決手段を実装するように構成される関連デバイスを提供する。具体的には、図8は、本願の実施形態による制御デバイスの構造の概略図である。制御デバイス800は、診断デバイスによって送信された第1データ伝送要求を受信するように構成された受信モジュール801、ここで、第1データ伝送要求は、アップグレードファイルを受信するよう制御デバイスに要求するために使用され、第1データ伝送要求は、アップグレードファイルに対応する第1メモリアドレスを保持し、アップグレードファイルは、制御デバイスをアップグレードするために使用される;第1メモリアドレスに対応する第1ファイルパスを取得するように構成される取得モジュール802;及び、診断デバイスによって送信されたアップグレードファイルを受信し、第1ファイルパスが指す第1ファイルにアップグレードファイルを格納するように構成されるストレージモジュール803を備える。
可能な設計において、取得モジュール802は具体的には、メモリアドレス及びファイルパスの間の対応関係に基づいて、第1メモリアドレスに対応する第1ファイルパスを取得するように構成されている。
可能な設計において、受信モジュール801は更に、診断デバイスによって送信された第2データ伝送要求を受信するように構成され、第2データ伝送要求は、フラッシュドライブプログラムを受信するよう制御デバイスに要求するために使用され、第2データ伝送要求は、フラッシュドライブプログラムに対応する第2メモリアドレスを保持し;取得モジュール802は更に、第2メモリアドレスに対応する第2ファイルパスを取得するように構成され;ストレージモジュール803は更に、診断デバイスによって送信されたフラッシュドライブプログラムを受信し、第2ファイルパスが指す第2ファイルにフラッシュドライブプログラムを格納するように構成される。
可能な設計において、図9に示されるように、図9は、本願の実施形態による電子制御ユニット制御デバイスの構造の概略図である。受信モジュール801は更に、制御デバイスがプログラミングセッションであるとき、診断デバイスによって送信されたリセット要求を受信するように構成される。制御デバイス800は更に、受信されたリセット要求に応答して、プログラミング依存性チェック操作が制御デバイスによって実行されたと判定し、アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行するように構成されるアップグレードモジュール804を含む。
可能な設計において、図9に示されるように、受信モジュール801は更に、制御デバイスがプログラミングセッションにあるとき、リセット要求を受信するように構成され、制御デバイス800は更に、受信されたリセット要求に応答して、プログラミング依存性チェック操作が制御デバイスによって実行されないと判定し、リセット操作のみをトリガするように構成されるリセットモジュール805を含む。
可能な設計において、図9に示されるように、制御デバイス800は更に、アップグレード操作の実行に失敗したと判定されたとき、制御デバイスのシステムバージョン番号を無効値に設定するように構成される設定モジュール806を含み、ここで、無効値は、アップグレード操作が失敗したことを示す。
制御デバイス800におけるモジュール/ユニットの間の情報交換及び実行プロセスなどの内容は、本願における図2から図7に対応する方法の実施形態と同じ概念に基づくことに留意されたい。具体的内容については、本願の前述の方法の実施形態におけるインテリジェントECUによって実行される段階の説明を参照されたい。ここでは、詳細について改めて説明しない。
本願の実施形態は更に診断デバイスを提供する。図10は、本願の実施形態による診断デバイスの構造の概略図である。診断デバイス1000は、第1データ伝送要求を制御デバイスへ送信するように構成される送信モジュール1001、ここで、第1データ伝送要求は、アップグレードファイルを受信するよう制御デバイスに要求するために使用され、第1データ伝送要求は、アップグレードファイルに対応する第1メモリアドレスを保持し、第1メモリアドレスは、第1ファイルパスに対応し、アップグレードファイルは、制御デバイスをアップグレードするために使用される;及び、制御デバイスによって送信された第1肯定応答を受信するように構成される受信モジュール1002、ここで、送信モジュール1001は更に、第1肯定応答に基づいて、アップグレードファイルを制御デバイスへ送信するように構成され、アップグレードファイルは、第1ファイルパスが指す第1ファイルに格納される、を備える。
可能な設計において、送信モジュール1001は更に、リセット要求を制御デバイスへ送信するように構成され、ここで、リセット要求は、プログラミング依存性チェック操作が実行されるとき、アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするように制御デバイスに示す。
可能な設計において、送信モジュール1001は更に、バージョン番号クエリ要求を制御デバイスへ送信するように構成され、受信モジュール1002は更に、制御デバイスによって送信されたシステムバージョン番号を受信するように構成され、ここで、システムバージョン番号が無効値であるとき、制御デバイスのアップグレードが失敗したことを示す。
診断デバイス1000におけるモジュール/ユニットの間の情報交換及び実行プロセスなどの内容は、本願における図2から図7に対応する方法の実施形態と同じ概念に基づくことに留意されたい。具体的内容については、本願における前述の方法の実施形態における診断デバイスによって実行される段階の説明を参照されたい。ここでは、詳細について改めて説明しない。
以下では、本願の実施形態による電子デバイスを説明する。図11は、本願の実施形態による電子デバイスの構造の概略図である。図8又は図9に対応する実施形態において説明される制御デバイス800が電子デバイス1100において展開される場合、図2から図7に対応する実施形態におけるインテリジェントECUの機能を実装するために、電子デバイス1100は具体的には車両として表され得る。図10に対応する実施形態において説明される診断デバイス1000が電子デバイス1100上に展開される場合、図2から図7に対応する実施形態における診断デバイスの機能を実装するべく、電子デバイス1100は具体的には、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、又はデスクトップコンピュータなどの端末デバイスとして表され得る。これは、本明細書において限定されるものではない。具体的には、電子デバイス1100は、受信機1101、送信機1102、プロセッサ1103、及びメモリ1104を備える(電子デバイス1100は、1又は複数のプロセッサ1103を含み得、1つのプロセッサが図11において例として使用される)。プロセッサ1103は、アプリケーションプロセッサ11031及び通信プロセッサ11032を含み得る。本願のいくつかの実施形態において、受信機1101、送信機1102、プロセッサ1103、及びメモリ1104は、バス又は別の方式を通じて接続され得る。
メモリ1104は、リードオンリメモリ及びランダムアクセスメモリを含んでよく、命令及びデータをプロセッサ1103に提供してよい。メモリ1104の一部は、不揮発性ランダムアクセスメモリ(non-volatile random access memory, NVRAM)をさらに含み得る。メモリ1104はプロセッサ及び操作命令、実行可能モジュール若しくはデータ構造、若しくはそのサブセット、又は、それらの拡張セットを格納する。操作命令は、様々な操作を実装するための様々な操作命令を含み得る。
プロセッサ1103は電子デバイスの操作を制御する。特定の適用において、電子デバイスのコンポーネントは、バスシステムを通じて共に結合される。データバスに加えて、バスシステムはさらに、電力バス、制御バス、及びステータス信号バス等を含み得る。しかしながら、明瞭な説明のために、図において様々なタイプのバスが、バスシステムと表記される。
本願の上記実施形態に開示される方法は、プロセッサ1103に適用され得るか、又は、プロセッサ1103によって実装され得る。プロセッサ1103は、集積回路チップであってよく、信号処理機能を有する。実装プロセスにおいて、上記方法の各段階は、プロセッサ1103におけるハードウェアの集積論理回路、又は、ソフトウェアの形態の命令を使用することによって完了され得る。プロセッサ1103は、汎用プロセッサ、デジタル信号プロセッサ(digital signal processor, DSP)、マイクロプロセッサ、又はマイクロコントローラであり得、更に、特定用途向け集積回路(application-specific integrated circuit, ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、又は、別のプログラマブルロジックデバイス、ディスクリートゲート若しくはトランジスタロジックデバイス、又はディスクリートハードウェアコンポーネントを含み得る。プロセッサ1103は、本願の実施形態において開示される方法、段階、及び論理ブロック図を実装又は実行し得る。汎用プロセッサは、マイクロプロセッサであってよく、又は、プロセッサは、任意の従来のプロセッサ等であってよい。本願の実施形態を参照して開示される方法の段階は、ハードウェア復号プロセッサを使用することによって直接的に実行及び達成され得、又は、復号プロセッサにおけるハードウェア及びソフトウェアモジュールの組み合わせを使用することによって実行及び達成され得る。ソフトウェアモジュールが、ランダムアクセスメモリ、フラッシュメモリ、リードオンリメモリ、プログラマブルリードオンリメモリ、電気的消去可能プログラマブルメモリ、又はレジスタなど、当技術分野の成熟した記憶媒体に位置してよい。記憶媒体はメモリ1104に位置し、プロセッサ1103はメモリ1104内の情報を読み取り、プロセッサのハードウェアと組み合わせて、前述の方法における段階を実現する。
受信機1101は、入力された数字又は文字情報を受信し、電子デバイスの関連する設定及び機能制御に関連する信号入力を生成するように構成され得る。送信機1102は、第1インタフェースを通じて、数字又は文字情報を出力するように構成され得る。送信機1102は更に、第1インタフェースを通じて命令をディスクグループへ送信して、ディスクグループにおけるデータを修正するように構成され得る。送信機1102は、ディスプレイなどの表示デバイスを更に含み得る。
本願の本実施形態において、1つの場合において、プロセッサ1103は、図2から図7に対応する実施形態におけるインテリジェントECUによって実行されるデータ処理方法を実行するように構成される。別の場合において、プロセッサ1103は、図2から図7に対応する実施形態における診断デバイスによって実行されるデータ処理方法を実行するように構成される。
プロセッサ1103が上記の段階を実行する具体的な方式は、本願における図2及び図7に対応する方法の実施形態と同じ概念に基づいていることに留意されたい。具体的な方式によってもたらされる技術的効果は、本願における図2及び図7に対応する方法の実施形態と同一である。具体的内容については、本願の前述の方法の実施形態における説明を参照されたい。ここでは、詳細について改めて説明しない。
本願の実施形態は更にコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で実行されるとき、コンピュータは、図2から図7において示される実施形態において説明される方法におけるインテリジェントECUによって実行される段階を実行することが可能となり、又は、コンピュータは、図2から図7において示される実施形態において説明される方法において診断デバイスによって実行される段階を実行することが可能となる。
本願の実施形態はさらに、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、信号処理に使用されるプログラムを格納する。プログラムがコンピュータ上で実行されるとき、コンピュータは、図2から図7において示される実施形態において説明される方法におけるインテリジェントECUによって実行される段階を実行することが可能となり、又は、コンピュータは、図2から図7において示される実施形態において説明される方法において診断デバイスによって実行される段階を実行することが可能となる。
本願の実施形態において提供される電子デバイス、インテリジェントECU、又は診断デバイスは、具体的にはチップであり得る。チップは処理ユニット及び通信ユニットを含む。処理ユニットは、例えば、プロセッサであり得、通信ユニットは、例えば、入力/出力インタフェース、ピン、又は回路であり得る。処理ユニットは、ストレージユニットに格納されたコンピュータ実行可能命令を実行し得、電子デバイスにおけるチップは、図2又は図7に示される実施形態において説明されるデータ処理方法を実行する。任意選択的には、ストレージユニットは、チップにおけるストレージユニット、例えば、レジスタ又はキャッシュであり;又は、ストレージユニットは、無線アクセスデバイスにおける、チップの外に位置するストレージユニット、例えば、リードオンリメモリ(read-only memory, ROM)、静的情報及び命令を格納できる別の種類の静的ストレージデバイス、又は、ランダムアクセスメモリ(random access memory, RAM)であり得る。
本願の実施形態は更に、車両を提供する。1又は複数の制御デバイスが車両において構成され、制御デバイスは、図2から図7において示される実施形態において説明される方法におけるインテリジェントECUによって実行される段階を実行するように構成されている。
本願の実施形態は更にデータ処理システムを提供する。データ処理システムは、制御デバイス及び診断デバイスを含む。制御デバイスは、図2から図7に示される実施形態において説明される方法におけるインテリジェントECUによって実行される段階を実行するように構成され、診断デバイスは、図2から図7において示される実施形態において説明される方法における診断デバイスによって実行される段階を実行するように構成される。
上のどこかで言及されたプロセッサは、汎用中央演算処理装置、マイクロプロセッサ、ASIC、又は、第1態様における方法のプログラム実行を制御するように構成される1又は複数の集積回路であり得る。
加えて、説明された装置の実施形態が単に例示的なものに過ぎないことが、留意されるべきである。別個の部品として記載されるユニットは、物理的に別個である場合とそうでない場合とがあり、ユニットとして表示される部品は、物理ユニットである場合とそうでない場合があり、1つの位置に位置している場合と複数のネットワークユニットに分散されている場合とがある。これらのモジュールのいくつかの又は全てが実際の必要性に従って選択されることで、実施形態の解決手段の目的が実現され得る。加えて、本願によって提供された装置の実施形態の添付図面において、モジュール間の接続関係は、モジュールが互いに通信接続を有していることを示しており、これは、1又は複数の通信バス又は信号ケーブルとして具体的に実装され得る。
上記の実装の説明に基づいて、当業者は、本願が、必要なユニバーサルハードウェアに加えてソフトウェアによって、又は、専用集積回路、専用CPU、専用メモリ、専用コンポーネント、及び同様のものを含む専用ハードウェアによって実装され得ると明確に理解し得る。通常、コンピュータプログラムによって実行され得るいずれの機能も、対応するハードウェアを用いることで容易に実装され得る。更に、同一の機能を達成するために使用される具体的なハードウェア構造は、例えば、アナログ回路、デジタル回路、又は専用回路の形態など、様々な形態であり得る。しかしながら、本願については、大部分のケースにおいて、ソフトウェアプログラム実装がより良い実装である。そのような理解に基づいて、本願の技術的解決手段は本質的に、又は、従来技術に貢献する一部は、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、コンピュータのフロッピディスク、USBフラッシュドライブ、取り外し可能ハードディスク、ROM、RAM、磁気ディスク、又は、光ディスクなどの可読記憶媒体に格納される、コンピュータデバイス(パーソナルコンピュータ、訓練デバイス、又は、ネットワークデバイスであり得る)に、本願の実施形態における方法を実行するよう命令するための複数の命令を含む。
全て又は幾つの前述の実施形態は、ソフトウェア、ハードウェア、ファームウェア、又は、それらの任意の組み合わせを用いることによって実装され得る。ソフトウェアが実施形態を実装するために用いられるとき、全て又は一部の実施形態は、コンピュータプログラム製品の形態で実装され得る。
コンピュータプログラム製品は1又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータに読み込まれて実行されるとき、本願の実施形態による手順又は機能の全部又は一部が生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は、他のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納され得る、又は、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送され得る。例えば、コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者線(DSL))又は無線(例えば、赤外線、無線又はマイクロ波)方式で、ウェブサイト、コンピュータ、訓練デバイス、又はデータセンタから別のウェブサイト、コンピュータ、訓練デバイス、又はデータセンタへ送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、又は、1又は複数の使用可能な媒体を統合する訓練デバイス若しくはデータセンタなどのデータストレージデバイスであり得る。使用可能な媒体は、磁気媒体(例えば、フロッピディスク、ハードディスク、又は磁気テープ)、光媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートディスク(Solid State Disk, SSD))又は同様のものであり得る。
[他の考えられる項目]
(項目1)
制御デバイスによって、診断デバイスによって送信された第1データ伝送要求を受信する段階、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用され;
前記制御デバイスによって、前記第1メモリアドレスに対応する第1ファイルパスを取得する段階;及び、
前記制御デバイスによって、前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納する段階
を備えるデータ処理方法。
(項目2)
前記制御デバイスによって、前記第1メモリアドレスに対応する第1ファイルパスを取得する前記段階は、
前記制御デバイスによって、メモリアドレス及びファイルパスの間の対応関係に基づいて、前記第1メモリアドレスに対応する前記第1ファイルパスを取得する段階
を含む、項目1に記載の方法。
(項目3)
制御デバイスによって、診断デバイスによって送信された第1データ伝送要求を受信する前記段階の前に、前記方法は更に、
前記制御デバイスによって、前記診断デバイスによって送信された第2データ伝送要求を受信する段階、ここで、前記第2データ伝送要求は、フラッシュドライブプログラムを受信するよう前記制御デバイスに要求するために使用され、前記第2データ伝送要求は、前記フラッシュドライブプログラムに対応する第2メモリアドレスを保持し;
前記制御デバイスによって、前記第2メモリアドレスに対応する第2ファイルパスを取得する段階;及び、
前記制御デバイスによって、前記診断デバイスによって送信された前記フラッシュドライブプログラムを受信し、前記第2ファイルパスが指す前記第2ファイルに前記フラッシュドライブプログラムを格納する段階
を備える、項目1又は2に記載の方法。
(項目4)
前記制御デバイスによって、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納する前記段階の後に、前記方法は更に、
前記制御デバイスがプログラミングセッションにあるとき、前記制御デバイスによって、前記診断デバイスによって送信されたリセット要求を受信する段階;及び、
前記制御デバイスによって、前記受信されたリセット要求に応答して、プログラミング依存性チェック操作が前記制御デバイスによって実行されると判定し、前記制御デバイスによって、前記アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行する段階
を備える、項目1又は2に記載の方法。
(項目5)
前記方法は更に、
前記制御デバイスがプログラミングセッションにあるとき、前記制御デバイスによって、リセット要求を受信する段階;及び、
前記制御デバイスによって、前記制御デバイスの前記受信されたリセット要求に応答して、前記制御デバイスがプログラミング依存性チェック操作を実行しないと判定し、リセット操作のみをトリガする段階
を備える、項目1又は2に記載の方法。
(項目6)
前記制御デバイスによって、前記アップグレードファイルに基づいて、アップグレード操作を実行する前記段階の後に、前記方法は更に、
前記アップグレード操作が失敗したと判定されたとき、前記制御デバイスのシステムバージョン番号を無効値に設定する段階、ここで、前記無効値は、前記アップグレード操作が失敗したことを示す、
を備える、項目4に記載の方法。
(項目7)
診断デバイスによって、第1データ伝送要求を制御デバイスへ送信する段階、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、
前記診断デバイスによって、前記制御デバイスによって送信された第1肯定応答を受信し、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信する段階、ここで、前記アップグレードファイルは、前記第1ファイルパスが指す第1ファイルに格納される、
を備えるデータ処理方法。
(項目8)
前記診断デバイスによって、前記アップグレードファイルを前記制御デバイスへ送信する前記段階の後に、前記方法は更に、前記診断デバイスによって、リセット要求を前記制御デバイスへ送信する段階、ここで、前記リセット要求は、プログラミング依存性チェック操作が実行されるとき、前記アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするよう前記制御デバイスに示す、を備える、項目7に記載の方法。
(項目9)
前記方法は更に、
前記診断デバイスによって、バージョン番号クエリ要求を前記制御デバイスへ送信し、前記制御デバイスによって送信されたシステムバージョン番号を受信する段階、ここで、前記システムバージョン番号が無効値であるとき、前記制御デバイスのアップグレードが失敗したことを示す、
を備える、項目7又は8に記載の方法。
(項目10)
制御デバイスであって、
診断デバイスによって送信された第1データ伝送要求を受信するように構成される受信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;
前記第1メモリアドレスに対応する第1ファイルパスを取得するように構成される取得モジュール;及び
前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納するように構成されるストレージモジュール
を備える制御デバイス。
(項目11)
前記取得モジュールは具体的には、メモリアドレス及びファイルパスの間の対応関係に基づいて、前記第1メモリアドレスに対応する前記第1ファイルパスを取得するように構成される、項目10に記載の制御デバイス。
(項目12)
前記受信モジュールは更に、前記診断デバイスによって送信される第2データ伝送要求を受信するように構成され、ここで、前記第2データ伝送要求は、フラッシュドライブプログラムを受信するよう前記制御デバイスに要求するために使用され、前記第2データ伝送要求は、前記フラッシュドライブプログラムに対応する第2メモリアドレスを保持し;
前記取得モジュールは更に、前記第2メモリアドレスに対応する第2ファイルパスを取得するように構成され;
前記ストレージモジュールは更に、前記診断デバイスによって送信された前記フラッシュドライブプログラムを受信し、前記第2ファイルパスが指す第2ファイルに前記フラッシュドライブプログラムを格納するように構成される、
項目10又は11に記載の制御デバイス。
(項目13)
前記受信モジュールは更に、前記制御デバイスがプログラミングセッションにあるとき、前記診断デバイスによって送信されたリセット要求を受信するように構成され;
前記制御デバイスは更に、前記受信されたリセット要求に応答して、プログラミング依存性チェック操作が前記制御デバイスによって実行されると判定し、前記アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行するように構成されるアップグレードモジュールを含む、
項目10又は11に記載の制御デバイス。
(項目14)
前記受信モジュールは更に、前記制御デバイスがプログラミングセッションにあるとき、リセット要求を受信するように構成され;
前記制御デバイスは更に、前記受信されたリセット要求に応答して、前記制御デバイスがプログラミング依存性チェック操作を実行しないと判定し、リセット操作のみをトリガするように構成されるリセットモジュールを備える、
項目10又は11に記載の制御デバイス。
(項目15)
前記制御デバイスは更に、前記アップグレード操作が失敗したと判定されるとき、前記制御デバイスのシステムバージョン番号を無効値に設定するように構成される設定モジュールを備え、前記無効値は、前記アップグレード操作が失敗したことを示す、項目13に記載の制御デバイス。
(項目16)
第1データ伝送要求を制御デバイスへ送信するように構成される送信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは、第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、
前記制御デバイスによって送信される第1肯定応答を受信するように構成される受信モジュール
を備え、前記送信モジュールは更に、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信するように構成され、前記アップグレードファイルは、前記第1ファイルパスが指す第1ファイルに格納される、
診断デバイス。
(項目17)
前記送信モジュールは更に、リセット要求を前記制御デバイスへ送信するように構成され、前記リセット要求は、プログラミング依存性チェック操作が実行されるとき、前記アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするように前記制御デバイスに示す、項目16に記載の診断デバイス。(項目18)
前記送信モジュールは更に、バージョン番号クエリ要求を前記制御デバイスへ送信するように構成され;
前記受信モジュールは更に、前記制御デバイスによって送信されたシステムバージョン番号を受信するように構成され、前記システムバージョン番号が無効値であるとき、前記制御デバイスのアップグレードが失敗したことを示す、項目16又は17に記載の診断デバイス。
(項目19)
プログラムを含むコンピュータ可読記憶媒体であって、前記プログラムがコンピュータ上で実行されるとき、前記コンピュータは、項目1から6のいずれか一項に記載の方法を実行することが可能であり、又は、前記コンピュータは、項目7から9のいずれか一項に記載の方法を実行することが可能である、コンピュータ可読記憶媒体。(項目20)
プロセッサ及びメモリを備える電子デバイスであって、前記プロセッサは前記メモリに結合され;
前記メモリは、プログラムを格納するように構成され;
前記プロセッサは、前記メモリにおける前記プログラムを実行するように構成され、その結果、前記電子デバイスは、項目1から6のいずれか一項に記載の方法を実行し、又は、前記電子デバイスは、項目7から9のいずれか一項に記載の方法を実行する、
電子デバイス。
[他の考えられる項目]
(項目1)
制御デバイスによって、診断デバイスによって送信された第1データ伝送要求を受信する段階、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用され;
前記制御デバイスによって、前記第1メモリアドレスに対応する第1ファイルパスを取得する段階;及び、
前記制御デバイスによって、前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納する段階
を備えるデータ処理方法。
(項目2)
前記制御デバイスによって、前記第1メモリアドレスに対応する第1ファイルパスを取得する前記段階は、
前記制御デバイスによって、メモリアドレス及びファイルパスの間の対応関係に基づいて、前記第1メモリアドレスに対応する前記第1ファイルパスを取得する段階
を含む、項目1に記載の方法。
(項目3)
制御デバイスによって、診断デバイスによって送信された第1データ伝送要求を受信する前記段階の前に、前記方法は更に、
前記制御デバイスによって、前記診断デバイスによって送信された第2データ伝送要求を受信する段階、ここで、前記第2データ伝送要求は、フラッシュドライブプログラムを受信するよう前記制御デバイスに要求するために使用され、前記第2データ伝送要求は、前記フラッシュドライブプログラムに対応する第2メモリアドレスを保持し;
前記制御デバイスによって、前記第2メモリアドレスに対応する第2ファイルパスを取得する段階;及び、
前記制御デバイスによって、前記診断デバイスによって送信された前記フラッシュドライブプログラムを受信し、前記第2ファイルパスが指す前記第2ファイルに前記フラッシュドライブプログラムを格納する段階
を備える、項目1又は2に記載の方法。
(項目4)
前記制御デバイスによって、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納する前記段階の後に、前記方法は更に、
前記制御デバイスがプログラミングセッションにあるとき、前記制御デバイスによって、前記診断デバイスによって送信されたリセット要求を受信する段階;及び、
前記制御デバイスによって、前記受信されたリセット要求に応答して、プログラミング依存性チェック操作が前記制御デバイスによって実行されると判定し、前記制御デバイスによって、前記アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行する段階
を備える、項目1又は2に記載の方法。
(項目5)
前記方法は更に、
前記制御デバイスがプログラミングセッションにあるとき、前記制御デバイスによって、リセット要求を受信する段階;及び、
前記制御デバイスによって、前記制御デバイスの前記受信されたリセット要求に応答して、前記制御デバイスがプログラミング依存性チェック操作を実行しないと判定し、リセット操作のみをトリガする段階
を備える、項目1又は2に記載の方法。
(項目6)
前記制御デバイスによって、前記アップグレードファイルに基づいて、アップグレード操作を実行する前記段階の後に、前記方法は更に、
前記アップグレード操作が失敗したと判定されたとき、前記制御デバイスのシステムバージョン番号を無効値に設定する段階、ここで、前記無効値は、前記アップグレード操作が失敗したことを示す、
を備える、項目4に記載の方法。
(項目7)
診断デバイスによって、第1データ伝送要求を制御デバイスへ送信する段階、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、
前記診断デバイスによって、前記制御デバイスによって送信された第1肯定応答を受信し、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信する段階、ここで、前記アップグレードファイルは、前記第1ファイルパスが指す第1ファイルに格納される、
を備えるデータ処理方法。
(項目8)
前記診断デバイスによって、前記アップグレードファイルを前記制御デバイスへ送信する前記段階の後に、前記方法は更に、前記診断デバイスによって、リセット要求を前記制御デバイスへ送信する段階、ここで、前記リセット要求は、プログラミング依存性チェック操作が実行されるとき、前記アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするよう前記制御デバイスに示す、を備える、項目7に記載の方法。
(項目9)
前記方法は更に、
前記診断デバイスによって、バージョン番号クエリ要求を前記制御デバイスへ送信し、前記制御デバイスによって送信されたシステムバージョン番号を受信する段階、ここで、前記システムバージョン番号が無効値であるとき、前記制御デバイスのアップグレードが失敗したことを示す、
を備える、項目7又は8に記載の方法。
(項目10)
制御デバイスであって、
診断デバイスによって送信された第1データ伝送要求を受信するように構成される受信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;
前記第1メモリアドレスに対応する第1ファイルパスを取得するように構成される取得モジュール;及び
前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納するように構成されるストレージモジュール
を備える制御デバイス。
(項目11)
前記取得モジュールは具体的には、メモリアドレス及びファイルパスの間の対応関係に基づいて、前記第1メモリアドレスに対応する前記第1ファイルパスを取得するように構成される、項目10に記載の制御デバイス。
(項目12)
前記受信モジュールは更に、前記診断デバイスによって送信される第2データ伝送要求を受信するように構成され、ここで、前記第2データ伝送要求は、フラッシュドライブプログラムを受信するよう前記制御デバイスに要求するために使用され、前記第2データ伝送要求は、前記フラッシュドライブプログラムに対応する第2メモリアドレスを保持し;
前記取得モジュールは更に、前記第2メモリアドレスに対応する第2ファイルパスを取得するように構成され;
前記ストレージモジュールは更に、前記診断デバイスによって送信された前記フラッシュドライブプログラムを受信し、前記第2ファイルパスが指す第2ファイルに前記フラッシュドライブプログラムを格納するように構成される、
項目10又は11に記載の制御デバイス。
(項目13)
前記受信モジュールは更に、前記制御デバイスがプログラミングセッションにあるとき、前記診断デバイスによって送信されたリセット要求を受信するように構成され;
前記制御デバイスは更に、前記受信されたリセット要求に応答して、プログラミング依存性チェック操作が前記制御デバイスによって実行されると判定し、前記アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行するように構成されるアップグレードモジュールを含む、
項目10又は11に記載の制御デバイス。
(項目14)
前記受信モジュールは更に、前記制御デバイスがプログラミングセッションにあるとき、リセット要求を受信するように構成され;
前記制御デバイスは更に、前記受信されたリセット要求に応答して、前記制御デバイスがプログラミング依存性チェック操作を実行しないと判定し、リセット操作のみをトリガするように構成されるリセットモジュールを備える、
項目10又は11に記載の制御デバイス。
(項目15)
前記制御デバイスは更に、前記アップグレード操作が失敗したと判定されるとき、前記制御デバイスのシステムバージョン番号を無効値に設定するように構成される設定モジュールを備え、前記無効値は、前記アップグレード操作が失敗したことを示す、項目13に記載の制御デバイス。
(項目16)
第1データ伝送要求を制御デバイスへ送信するように構成される送信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは、第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、
前記制御デバイスによって送信される第1肯定応答を受信するように構成される受信モジュール
を備え、前記送信モジュールは更に、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信するように構成され、前記アップグレードファイルは、前記第1ファイルパスが指す第1ファイルに格納される、
診断デバイス。
(項目17)
前記送信モジュールは更に、リセット要求を前記制御デバイスへ送信するように構成され、前記リセット要求は、プログラミング依存性チェック操作が実行されるとき、前記アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするように前記制御デバイスに示す、項目16に記載の診断デバイス。(項目18)
前記送信モジュールは更に、バージョン番号クエリ要求を前記制御デバイスへ送信するように構成され;
前記受信モジュールは更に、前記制御デバイスによって送信されたシステムバージョン番号を受信するように構成され、前記システムバージョン番号が無効値であるとき、前記制御デバイスのアップグレードが失敗したことを示す、項目16又は17に記載の診断デバイス。
(項目19)
プログラムを含むコンピュータ可読記憶媒体であって、前記プログラムがコンピュータ上で実行されるとき、前記コンピュータは、項目1から6のいずれか一項に記載の方法を実行することが可能であり、又は、前記コンピュータは、項目7から9のいずれか一項に記載の方法を実行することが可能である、コンピュータ可読記憶媒体。(項目20)
プロセッサ及びメモリを備える電子デバイスであって、前記プロセッサは前記メモリに結合され;
前記メモリは、プログラムを格納するように構成され;
前記プロセッサは、前記メモリにおける前記プログラムを実行するように構成され、その結果、前記電子デバイスは、項目1から6のいずれか一項に記載の方法を実行し、又は、前記電子デバイスは、項目7から9のいずれか一項に記載の方法を実行する、
電子デバイス。
Claims (20)
- 制御デバイスによって、診断デバイスによって送信された第1データ伝送要求を受信する段階、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用され;
前記制御デバイスによって、前記第1メモリアドレスに対応する第1ファイルパスを取得する段階;及び、
前記制御デバイスによって、前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納する段階
を備えるデータ処理方法。 - 前記制御デバイスによって、前記第1メモリアドレスに対応する第1ファイルパスを取得する前記段階は、
前記制御デバイスによって、メモリアドレス及びファイルパスの間の対応関係に基づいて、前記第1メモリアドレスに対応する前記第1ファイルパスを取得する段階
を含む、請求項1に記載のデータ処理方法。 - 制御デバイスによって、診断デバイスによって送信された第1データ伝送要求を受信する前記段階の前に、前記データ処理方法は更に、
前記制御デバイスによって、前記診断デバイスによって送信された第2データ伝送要求を受信する段階、ここで、前記第2データ伝送要求は、フラッシュドライブプログラムを受信するよう前記制御デバイスに要求するために使用され、前記第2データ伝送要求は、前記フラッシュドライブプログラムに対応する第2メモリアドレスを保持する;
前記制御デバイスによって、前記第2メモリアドレスに対応する第2ファイルパスを取得する段階;及び、
前記制御デバイスによって、前記診断デバイスによって送信された前記フラッシュドライブプログラムを受信し、前記第2ファイルパスが指す第2ファイルに前記フラッシュドライブプログラムを格納する段階;
を備え、前記第1データ伝送要求及び前記第2データ伝送要求は統合診断サービスプロトコルに基づく、請求項1又は2に記載のデータ処理方法。 - 前記制御デバイスによって、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納する前記段階の後に、前記データ処理方法は更に、
前記制御デバイスがプログラミングセッションにあるとき、前記制御デバイスによって、前記診断デバイスによって送信されたリセット要求を受信する段階;及び、
前記制御デバイスによって、前記受信されたリセット要求に応答して、プログラミング依存性チェック操作が前記制御デバイスによって実行されると判定し、前記制御デバイスによって、前記アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行する段階
を備える、請求項1又は2に記載のデータ処理方法。 - 前記データ処理方法は更に、
前記制御デバイスがプログラミングセッションにあるとき、前記制御デバイスによって、リセット要求を受信する段階;及び、
前記制御デバイスによって、前記受信されたリセット要求に応答して、前記制御デバイスがプログラミング依存性チェック操作を実行しないと判定し、リセット操作のみをトリガする段階
を備える、請求項1又は2に記載のデータ処理方法。 - 前記制御デバイスによって、前記アップグレードファイルに基づいて、アップグレード操作を実行する前記段階の後に、前記データ処理方法は更に、
前記アップグレード操作が失敗したと判定されたとき、前記制御デバイスのシステムバージョン番号を無効値に設定する段階、ここで、前記無効値は、前記アップグレード操作が失敗したことを示す、
を備える、請求項4に記載のデータ処理方法。 - 診断デバイスによって、第1データ伝送要求を制御デバイスへ送信する段階、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、
前記診断デバイスによって、前記制御デバイスによって送信された第1肯定応答を受信し、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信する段階、ここで、前記アップグレードファイルは、前記第1ファイルパスが指す第1ファイルに格納される、
を備えるデータ処理方法。 - 前記診断デバイスによって、前記アップグレードファイルを前記制御デバイスへ送信する前記段階の後に、前記データ処理方法は更に、
前記診断デバイスによって、リセット要求を前記制御デバイスへ送信する段階、ここで、前記リセット要求は、プログラミング依存性チェック操作が実行されるとき、前記アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするよう前記制御デバイスに示す、
を備える、請求項7に記載のデータ処理方法。 - 前記データ処理方法は更に、
前記診断デバイスによって、バージョン番号クエリ要求を前記制御デバイスへ送信し、前記制御デバイスによって送信されたシステムバージョン番号を受信する段階、ここで、前記システムバージョン番号が無効値であるとき、前記制御デバイスのアップグレードが失敗したことを示す、
を備え、前記第1データ伝送要求は統合診断サービスプロトコルに基づく、請求項7又は8に記載のデータ処理方法。 - 制御デバイスであって、
診断デバイスによって送信された第1データ伝送要求を受信するように構成される受信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;
前記第1メモリアドレスに対応する第1ファイルパスを取得するように構成される取得モジュール;及び
前記診断デバイスによって送信された前記アップグレードファイルを受信し、前記第1ファイルパスが指す第1ファイルに前記アップグレードファイルを格納するように構成されるストレージモジュール
を備える制御デバイス。 - 前記取得モジュールは具体的には、メモリアドレス及びファイルパスの間の対応関係に基づいて、前記第1メモリアドレスに対応する前記第1ファイルパスを取得するように構成される、請求項10に記載の制御デバイス。
- 前記受信モジュールは更に、前記診断デバイスによって送信される第2データ伝送要求を受信するように構成され、ここで、前記第2データ伝送要求は、フラッシュドライブプログラムを受信するよう前記制御デバイスに要求するために使用され、前記第2データ伝送要求は、前記フラッシュドライブプログラムに対応する第2メモリアドレスを保持し;
前記取得モジュールは更に、前記第2メモリアドレスに対応する第2ファイルパスを取得するように構成され;
前記ストレージモジュールは更に、前記診断デバイスによって送信された前記フラッシュドライブプログラムを受信し、前記第2ファイルパスが指す第2ファイルに前記フラッシュドライブプログラムを格納するように構成され、
前記第1データ伝送要求及び前記第2データ伝送要求は、統合診断サービスプロトコルに基づく、請求項10又は11に記載の制御デバイス。 - 前記受信モジュールは更に、前記制御デバイスがプログラミングセッションにあるとき、前記診断デバイスによって送信されたリセット要求を受信するように構成され;
前記制御デバイスは更に、前記受信されたリセット要求に応答して、プログラミング依存性チェック操作が前記制御デバイスによって実行されると判定し、前記アップグレードファイルに基づいてアップグレード操作を実行し、リセット操作を実行するように構成されるアップグレードモジュールを含む、
請求項10又は11に記載の制御デバイス。 - 前記受信モジュールは更に、前記制御デバイスがプログラミングセッションにあるとき、リセット要求を受信するように構成され;
前記制御デバイスは更に、前記受信されたリセット要求に応答して、前記制御デバイスがプログラミング依存性チェック操作を実行しないと判定し、リセット操作のみをトリガするように構成されるリセットモジュールを備える、
請求項10又は11に記載の制御デバイス。 - 前記制御デバイスは更に、前記アップグレード操作が失敗したと判定されるとき、前記制御デバイスのシステムバージョン番号を無効値に設定するように構成される設定モジュールを備え、前記無効値は、前記アップグレード操作が失敗したことを示す、請求項13に記載の制御デバイス。
- 第1データ伝送要求を制御デバイスへ送信するように構成される送信モジュール、ここで、前記第1データ伝送要求は、アップグレードファイルを受信するよう前記制御デバイスに要求するために使用され、前記第1データ伝送要求は、前記アップグレードファイルに対応する第1メモリアドレスを保持し、前記第1メモリアドレスは、第1ファイルパスに対応し、前記アップグレードファイルは、前記制御デバイスをアップグレードするために使用される;及び、
前記制御デバイスによって送信される第1肯定応答を受信するように構成される受信モジュール
を備え、前記送信モジュールは更に、前記第1肯定応答に基づいて、前記アップグレードファイルを前記制御デバイスへ送信するように構成され、前記アップグレードファイルは、前記第1ファイルパスが指す第1ファイルに格納される、
診断デバイス。 - 前記送信モジュールは更に、リセット要求を前記制御デバイスへ送信するように構成され、前記リセット要求は、プログラミング依存性チェック操作が実行されるとき、前記アップグレードファイルに基づくアップグレード操作及びリセット操作をトリガするように前記制御デバイスに示す、請求項16に記載の診断デバイス。
- 前記送信モジュールは更に、バージョン番号クエリ要求を前記制御デバイスへ送信するように構成され;
前記受信モジュールは更に、前記制御デバイスによって送信されたシステムバージョン番号を受信するように構成され、前記システムバージョン番号が無効値であるとき、前記制御デバイスのアップグレードが失敗したことを示し;
前記第1データ伝送要求は統合診断サービスプロトコルに基づく、
請求項16又は17に記載の診断デバイス。 - コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されるとき、前記コンピュータは、請求項1から6のいずれか一項に記載のデータ処理方法を実行することが可能であり、又は、前記コンピュータは、請求項7から9のいずれか一項に記載のデータ処理方法を実行することが可能である、コンピュータプログラム。
- プロセッサ及びメモリを備える電子デバイスであって、前記プロセッサは前記メモリに結合され;
前記メモリは、プログラムを格納するように構成され;
前記プロセッサは、前記メモリにおける前記プログラムを実行するように構成され、その結果、前記電子デバイスは、請求項1から6のいずれか一項に記載のデータ処理方法を実行し、又は、前記電子デバイスは、請求項7から9のいずれか一項に記載のデータ処理方法を実行する、
電子デバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110131693.8A CN114840241A (zh) | 2021-01-30 | 2021-01-30 | 一种数据处理方法以及相关设备 |
CN202110131693.8 | 2021-01-30 | ||
PCT/CN2021/126628 WO2022160816A1 (zh) | 2021-01-30 | 2021-10-27 | 一种数据处理方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024504300A true JP2024504300A (ja) | 2024-01-31 |
Family
ID=82560723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023542916A Pending JP2024504300A (ja) | 2021-01-30 | 2021-10-27 | データ処理方法及び関連デバイス |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240020111A1 (ja) |
EP (1) | EP4270181A1 (ja) |
JP (1) | JP2024504300A (ja) |
CN (1) | CN114840241A (ja) |
WO (1) | WO2022160816A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442233A (zh) * | 2022-08-09 | 2022-12-06 | 北京罗克维尔斯科技有限公司 | Ecu升级方法、装置、电子设备、存储介质及车辆 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112770940B (zh) * | 2018-10-15 | 2024-04-19 | 株式会社自动网络技术研究所 | 车载更新装置、更新处理程序、程序的更新方法及车载更新系统 |
CN110231952B (zh) * | 2019-06-17 | 2023-01-24 | 合肥巨一动力系统有限公司 | 一种ecu程序备份及循环升级控制方法及装置 |
CN111459518B (zh) * | 2020-03-30 | 2024-01-09 | 北京经纬恒润科技股份有限公司 | 一种车辆ecu升级方法及系统 |
CN112073500B (zh) * | 2020-08-31 | 2022-02-25 | 安徽江淮汽车集团股份有限公司 | 一种车辆控制器的升级方法、设备、存储介质及装置 |
-
2021
- 2021-01-30 CN CN202110131693.8A patent/CN114840241A/zh active Pending
- 2021-10-27 JP JP2023542916A patent/JP2024504300A/ja active Pending
- 2021-10-27 EP EP21922407.8A patent/EP4270181A1/en active Pending
- 2021-10-27 WO PCT/CN2021/126628 patent/WO2022160816A1/zh active Application Filing
-
2023
- 2023-07-26 US US18/359,403 patent/US20240020111A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022160816A1 (zh) | 2022-08-04 |
CN114840241A (zh) | 2022-08-02 |
EP4270181A1 (en) | 2023-11-01 |
US20240020111A1 (en) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223525B2 (en) | Gateway device, firmware update method, and recording medium | |
CN107729757B (zh) | 软件更新之前的软件认证 | |
CN110460573B (zh) | 一种应用于汽车ecu安全升级管理系统及方法 | |
WO2022237122A1 (zh) | 车载迎宾动画更新方法、装置、车载终端及存储介质 | |
US20240020111A1 (en) | Data processing method and related device | |
CN112152846B (zh) | 一种基于物联网的计量仪表远程升级方法 | |
CN111722864A (zh) | 一种ecu数据刷写方法及相关装置 | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
CN113050957A (zh) | Ota升级方法及其系统 | |
US11853742B2 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
CN113805916A (zh) | 一种升级方法、系统、可读存储介质及车辆 | |
WO2023241458A1 (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN113093694A (zh) | 一种基于uds的车载电控单元数据刷写方法及系统 | |
CN113835723A (zh) | 一种用于车辆电子控制单元的片上系统、升级系统及方法 | |
EP4075309A1 (en) | Secure boot device | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
CN115982710A (zh) | 一种基于以太网ota安全升级方法 | |
JP7484791B2 (ja) | Otaマスタ、更新制御方法、及び更新制御プログラム | |
WO2022205443A1 (zh) | 软件升级方法及装置 | |
CN114780122A (zh) | 嵌入式设备固件更新方法以及嵌入式设备 | |
CN210534765U (zh) | 一种基于车载系统的数字信号处理芯片升级装置及车辆 | |
CN115515012A (zh) | 一种密钥烧录方法、装置、电子设备板卡及存储介质 | |
JP2003504755A (ja) | 埋め込み装置内のファームウエアをアップグレードする装置と方法 | |
JP2022538080A (ja) | 車両の車載バス上のコンピュータと対話する方法 | |
CN116909609B (zh) | 车载智能设备的软件升级方法、装置及车载智能设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230821 |