LoginSignup
0
0

XCP over Ethernet でアプリにどう貢献するか。

Last updated at Posted at 2022-04-15

<この項は書きかけです。順次追記します。>

XCP

XCPっていうと、自動車業界以外では馴染みがないかもしれない。

The Universal Measurement and Calibration Protocol Family

Universalは、CANに限らず、Ethernetはじめ他の通信規格にも対応するXという意味。
Diagnostics機能を経由して外部とやりとりしたり、通信内容を不揮発性メモリに書き込んだりする。

通信=診断=XCP(アプリ)=不揮発性メモリという構成要素からなると考えることができるかもしれない。

part1
https://vdocuments.mx/xcp-part-1-overview-1-pudn-part-1-overview-10pdf-part-1-overview.html?page=1

part2
https://vdocuments.mx/xcp-part-2-protocol-layer-specification-1-pudn-part-2-protocol-layer.html?page=1

part3
https://vdocuments.mx/download/xcp-part-3-transport-layer-specification-xcp-on-can-1readpudncomdownloads192doccomm903802xcp

part4
https://vdocuments.mx/xcp-part-4-interface-specification-1-pudn-part-4-interface-part-4-aoeinterface.html?page=1

part5
https://vdocuments.mx/xcp-part-5-example-communication-sequences-1readpudncomdownloads192doccomm903802xcp.html

ECU Measurement and Calibration Toolkit User Manual

Report from Japan Regional Workgroup Good Use of ASAM MCD-1 XCP 1.3 and POD Access

The XCP measurement and calibration protocol

Specification of Module XCP

XCP over Ethernet

Contents

List of Figures
List of Tables
1 Introduction
1.1 Aim
1.1.1 Research Questions
1.2 Motivation
1.3 Thesis Outline
2 Technical Background
2.1 Network Topologies
2.2 E2E Throughput and Frame Rates Per Second
2.3 CPU Load
2.4 Background on Volvo’s Measurement and Calibration
2.5 CCP (CAN Calibration Protocol)
2.5.1 CAN (Controller Area Network) Bus
2.5.2 Ethernet
2.6 XCP (Universal Measurement and Calibration Protocol)
2.6.1 XCP Protocol Layers
2.6.2 XCP Transport Layer
2.6.3 Polling vs DAQ (Data AcQuisition)
2.7 Software Components Platform
2.7.1 AUTOSAR
2.7.2 AUTOSAR Layer Infrastructure
2.8 Component stack for XCP over Ethernet
3 Problem Description
4 Tools
4.1 Software Tools
4.2 DaVinci Configurator
4.3 CANape
4.4 CANalyzer
4.5 Trace32: T32
4.6 VISION Software
4.7 A2l file
4.8 Hardware Tools
4.8.1 VN5610A - Ethernet/CAN Interface
5 Results
5.1 Asynchronous Measurement: Polling
5.2 Synchronous Measurement: DAQ
5.2.1 DAQ with 1 XCP event
5.2.2 DAQ with two XCP events
5.2.3 DAQ with three XCP events
5.3 Benchmarking
5.4 Calibration
6 Conclusion
6.1 Future Work
Bibliograpy

Bibliography

[1] Andre Rolfsmeier et al. “A New Calibration System for ECU Development”. In: (2003).
[2] Andreas Patzer. “Optimize ECU parameters with XCP”. In: (2009).
[3] Pucha et. al. “Understanding Network Delay Changes Caused by Routing Events”. In: (2007).
[4] Mark Sauerwald. CAN bus, Ethernet, or FPD-Link: Which is best for automotive communications? url: http://www.ti.com/lit/an/slyt560/slyt560.pdf.
[5] Kurose and Ross. “Computer Networking - A Top Down Approach”. In: (2000).
[6] Kim et al. “Performance Analysis of the TCP/IP Protocol Under UNIX Operating Systems for High Performance Computing and Communications”. In: (1997).
[7] Maping Li. “Performance Analysis of Wireless Network Maximum Throughput Based on Network Coding”. In: (2017).
[8] Dridi et al. “Coupling Latency Time to the Throughput Performance Analysis on Wireless CAN Networks”. In: (2006).
[9] Nguyen et al. “A cross-layer approach for improving WiFi performance”. In: (2014).
[10] Andreas Patzer and Rainer Zaiser. XCP - The Standard Protocol for ECU Development. 2016. url: https://assets.vector.com/cms/content/application-areas/ecu-calibration/xcp/XCP_ReferenceBook_V3.0_EN.pdf.
[11] Vasudeva Varma. “Software Architecture: A Case Based Approach”. In: (2009).
[12] Theory and Terminology - Master/Slave vs Peer-to-Peer. url: http://info.bannerengineering.com/cs/groups/public/documents/literature/tt_masterslave.pdf.
[13] url: https://stackoverflow.com/questions/13121531/multi-clientserver-common-way-for-2-way-connection-in.
[14] Wilfried Voss. Industrial Ethernet Guide - Client/Server vs Master/Slave.url: https://copperhilltech.com/blog/industrial-ethernet-guideclientserver-vs-masterslave/.
[15] Konrad Etschberger. “Comparing CAN- and Ethernet-based Communication”.
[16] H. Kleinknecht. CAN Calibration Protocol. 1999. url: https://automotivetechis.files.wordpress.com/2012/06/ccp211.pdf.
[17] Joakim Plate and Peter Fridlund. XCP OVER CAN AND ETHERNET ON
AUTOSAR. 2011. url: http://publications.lib.chalmers.se/records/fulltext/140407.pdf.
[18] AUTOSAR Release Management. Specification of Module XCP. 2013.
[19] ATI Support. The Move from ASAM CCP to XCP Communication Protocol.
2016. url: https://www.kvaser.com/wp-content/uploads/2016/05/ccpand-xcp-papermay2016.pdf.
[20] Kim Lemon. Introduction to the Universal Measurement and Calibration Protocol XCP. 2003. url: https://saemobilus.sae.org/content/2003-01-1205/#abstract.
[21] ASAM MCD-1 XCP. url: https://www.autosar.org/fileadmin/user_
upload/standards/classic/4-3/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf.
[22] AUTOSAR Release Management. Layered Software Architecture. 2017. url:
https://www.autosar.org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf.
[23] DaVinci Configurator Pro. url: https://www.vector.com/int/en/products/products-a-z/software/davinci-configurator-pro/#c6343.
[24] ECU Calibration with CANape. url: https://www.vector.com/int/en/products/products-a-z/software/canape/.
[25] Analyzing ECUs and Networks with CANalyzer. url: https://www.vector.com/int/en/products/products-a-z/software/canalyzer/.
[26] Lauterbach TRACE32 Target Interface. url: https://www.nxp.com/docs/en/user-guide/LAUTERBACHTRACE32UG.pdf.
[27] Product Overview. url: https://www.lauterbach.com/product-overview_flyer_web.pdf.
[28] VN5610/VN5610A Ethernet/CAN Interface Manual. url: https://assets.vector.com/cms/content/products/VN56xx/docs/VN5610_Manual_EN.pdf.
[29] ASAM. “ASAM MCD-1 (XCP) Universal Measurement and Calibration Protocol”. In: (2017).
[30] Ethernet - Maximum transmission unit (MTU). url: https://gerardnico.com/network/mtu.

フロントエンド

新人向けの記事は、Web系が圧倒的に多い。お金になるから仕方がない。

私は、Webではフロントエンドである。
卒業研究の学生で、4分の1はWeb系の題材で卒業している。名古屋市のホームページコンテストで優勝した学生もいた。そんな学生に対して、私は配色担当である。JavaScriptをはじめとする言語は、ひたすら学生に教えてもらっていた。

中小企業大学校のデザイナ指導者要請講座3ヶ月の合宿に参加し、各地のデザイナ指導者の方のリーダをさせていただいた。

新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説(139)

50歳からのプログラミング言語入門。docker(152)

デザイン系はもっぱら10代に作ったものがほとんど。フロントエンドの仕事は4分の1くらい。

インフラエンジニア

二つ目の大学は電気、博士課程は通信で、システム管理者を20年ほどしており、インフラエンジニアとしての働きが4分の1くらい。

DB

これでDBもできれば、フルスタックエンジニアと言えたかもしれない。DBは大の苦手。
データ中心設計ができていない。
文字列処理だけならよい。SQLは少し書いたことがある程度。

成功体験は語っても、成功体験に頼らないために。清水吉男・田中伸明・柏原一雄・佐々木 眞一。仮説(153)

道具

プログラミング言語、通信プロトコル、OSなどの作成と、論理回路の設計をしている。
エディタ、機械翻訳、機械学習などにも取り組んできたが、アプリを作る側ではなく道具を作る側として参加していた。
CPU、OS、プログラミング言語をはじめとするソフトウェアを作るための道具の仕事が4分の1だた。

アプリ

DBが苦手でも、アプリと下回りができれば、フルスタックエンジニアと名乗れたかもしれない。

自動車用ソフトウェアについては、積極的にアプリにからもうとしている。
XCP over Ethernet でアプリにどう貢献するかを書こうと思った。

アプリは、アプリを作る教育はしてきた。自分では、道具は作ってもアプリはほとんど作っていない。
教育が仕事の残りの4分の1。

外の勉強会に出る前に : 新人プログラマ応援

社会調査

自動車は社会的な制度によっていろいろな影響を受ける。
排ガス規制をソフトウェアで達成したホンダの成功が一番おおきな事件だったかもしれない。

社会的な事象では、統計による検証はできないと仮定して考えるとよい。

社会事象は検証できない。仮説(204)

統計の嘘。仮説(127)

新人プログラマ応援

新人プログラマ応援 - みんなで新人を育てよう!

今、Qiitaでは、「データに関する記事を書こう!」という行事をやっている。

この文章は、テーマ2『データに関する記事を書こう!』参加記事でもあります。

いくつかの事項は、データを取ってから追記できればいいかもしれない。
あるいは、お手持ちのデータがありましたらコメントいただけると幸いです。

自分の頭で考えることが大事なのではない。
何か行動すれば、必然的に、自分の頭で考えなくてはならないところに追い込まれる。

自分の頭で考えるようになるには

「自分の頭で考える」ということ。

行動して、測定すればいい。

ぼくの先生「人がやらないことをやれ」プログラマになるまで。仮説(37)

小学校の絵の先生には、色を置いてみるという試行錯誤を教わった。
中学校の技術の先生には、人がやらないことをやれと教わった。
考え方など教わらなくてもいいのだ。
行動すれば、その責任は自分で考えて、よりよくするのが試行錯誤で、人がやらないことをやった人が考えることかも。

DoCAP 芸術でも技術でも運動でも

参考文献

@kojimadev 1年以上かけて生産性倍増+成長し続けるチームになった施策を全部公開

@torifukukaiou【毎日自動更新】新人プログラマ応援 - みんなで新人を育てよう!(2022年04月) LGTMランキング!

@torifukukaiou 【毎日自動更新】データに関する記事を書こう! LGTMランキング!

@kazuo_reve 「新人の方によく展開している有益な情報」の中で大学時代に得ておけばよかった情報

@kazuo_reve 私が集めた有益な情報・知識のまとめ

@kazuo_reve 私にとって有効だった学び方5選

@kazuo_reve 自分のQiitaの記事を分析してみた

@kazuo_reve 私が効果を確認した「小川メソッド」

@e99h2121 育児していたからこそエンジニアのお仕事に役立ったこと10選

@e99h2121「女性こそエンジニアになるべきだ?」デブサミウーマン登壇記録

@e99h2121 新人さんにすすめる有益なツール達 2022春

@e99h2121 新人さんにすすめる有益な技術書達 2022春

@ohakutsu 新卒1年目のエンジニアがQiitaの速度改善をした話

@ohakutsu 新卒2年目から見た達人プログラマーの振る舞い

参考資料

@kazuo_reve 自動車の故障診断に関連するプログラマーになりたての方が参照するとよさそうな情報

@kazuo_reve AUTOSARのClassic PlatformとAdaptive PlatformにおけるDiagnosticsの違いを整理

私のAdvent Calendar 2022 ーー はじめたきっかけ、1月のふりかえり、今後の展望

自己参照

ISO Road vehicles Diagnostics 規格調査中 100規格、100記事をめざして。

ISO Diagnostics 文献(Normative Reference and Bibliography)集め

ISO Diagnostics 用語定義(Terms and Definition)と短縮名(short name)集め

ISO/IEC OSIに学ぶ

ISO 14229-1:2020 Road vehicles — Unified diagnostic services (UDS) — Part 1: Application layer

国際規格のNormative Reference

@kazuo_reveさんの「自動車の故障診断に関連するプログラマーになりたての方が参照するとよさそうな情報」の読み方

@kazuo_reve「AUTOSARのClassic PlatformとAdaptive PlatformにおけるDiagnosticsの違いを整理」で慌てて

新人応援 @kazuo_reve 新人の方によく展開している有益な情報(1)-(30)書いて考えたこと。

@kazuo_reve 新人の方によく展開している有益な情報」はじめ記事を参照して頂いた時にしていること。

@kazuo_reve「「新人の方によく展開している有益な情報」の中で大学時代に得ておけばよかった情報」に付け加える3つのこと。

プログラマにも読んでほしい「QC検定にも役立つ!QCべからず集」

図を使って分析すればこんなに簡単。安全(11)

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

文書履歴(document history)

ver. 0.01 初稿 20220415

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0