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

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

## 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
https://www.ni.com/pdf/manuals/371601m.pdf

Report from Japan Regional Workgroup Good Use of ASAM MCD-1 XCP 1.3 and POD Access
https://www.asam.net/index.php?eID=dumpFile&t=f&f=1007&token=c682749aec4085bd82df4988ded6b28705ab3bf4

The XCP measurement and calibration protocol
https://www.vector.com/int/en/know-how/protocols/xcp-measurement-and-calibration-protocol

Specification of Module XCP
https://www.autosar.org/fileadmin/user_upload/standards/classic/4-2/AUTOSAR_SWS_XCP.pdf

# XCP over Ethernet
 XCP over Ethernet
https://odr.chalmers.se/bitstream/20.500.12380/302034/1/CSE%2020-94%20Ustundag%20Bian.pdf

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

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

新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説（139）
https://qiita.com/kaizen_nagoya/items/db993b1536055029f7c8

50歳からのプログラミング言語入門。docker(152)
https://qiita.com/kaizen_nagoya/items/5c7cec79cb3b15237076

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

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

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

成功体験は語っても、成功体験に頼らないために。清水吉男・田中伸明・柏原一雄・佐々木 眞一。仮説（153）
https://qiita.com/kaizen_nagoya/items/d32adfaf7b2568bfd9d2

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

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

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

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

外の勉強会に出る前に : 新人プログラマ応援
https://qiita.com/kaizen_nagoya/items/ac5cb296e6ec1b1b8896

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

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

 社会事象は検証できない。仮説（204）
 https://qiita.com/kaizen_nagoya/items/6b989b26f7ea2ac342cf

統計の嘘。仮説（127）
https://qiita.com/kaizen_nagoya/items/63b48ecf258a3471c51b

# 新人プログラマ応援
新人プログラマ応援 - みんなで新人を育てよう！
https://qiita.com/official-events/3f21c92121aa125807b4

今、Qiitaでは、「データに関する記事を書こう！」という行事をやっている。
https://qiita.com/official-events/30be12dd14c0aad2c1c2

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

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

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

自分の頭で考えるようになるには
https://qiita.com/kaizen_nagoya/items/121a5372e3d67fc3af35

「自分の頭で考える」ということ。
https://qiita.com/kaizen_nagoya/items/ebc01b7dc2cdfcc320f6

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

ぼくの先生「人がやらないことをやれ」プログラマになるまで。仮説（37）
https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4

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

DoCAP 芸術でも技術でも運動でも
https://qiita.com/kaizen_nagoya/items/28321da8285a5884c7ca

# 参考文献

@kojimadev 1年以上かけて生産性倍増＋成長し続けるチームになった施策を全部公開
https://qiita.com/kojimadev/items/4b28f801863cf4e8f0da

@torifukukaiou【毎日自動更新】新人プログラマ応援 - みんなで新人を育てよう！（2022年04月） LGTMランキング！
https://qiita.com/torifukukaiou/items/18dad64ba99aa5a40f95

@torifukukaiou 【毎日自動更新】データに関する記事を書こう！ LGTMランキング！
https://qiita.com/torifukukaiou/items/b10fa94764aaaa2c6db1

@kazuo_reve 「新人の方によく展開している有益な情報」の中で大学時代に得ておけばよかった情報
https://qiita.com/kazuo_reve/items/86943d2570c7b90de404

@kazuo_reve 私が集めた有益な情報・知識のまとめ
https://qiita.com/kazuo_reve/items/6554fca14034bcf26123

@kazuo_reve 私にとって有効だった学び方5選
https://qiita.com/kazuo_reve/items/eb507c5ce5ce39155b1c

@kazuo_reve 自分のQiitaの記事を分析してみた
https://qiita.com/kazuo_reve/items/368cb7960a802fdfada9

@kazuo_reve 私が効果を確認した「小川メソッド」
https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

@e99h2121 育児していたからこそエンジニアのお仕事に役立ったこと10選
https://qiita.com/e99h2121/items/db7e54c111ffcd3c3957

@e99h2121「女性こそエンジニアになるべきだ？」デブサミウーマン登壇記録
https://qiita.com/e99h2121/items/7c69be1b2c2f305f6a4c

@e99h2121 新人さんにすすめる有益なツール達 2022春
https://qiita.com/e99h2121/items/f70db44e7f69901f0141

@e99h2121 新人さんにすすめる有益な技術書達 2022春
https://qiita.com/e99h2121/items/1b243efb1499527f0701

@ohakutsu 新卒1年目のエンジニアがQiitaの速度改善をした話
https://qiita.com/ohakutsu/items/840fae7f31c03521c1af

@ohakutsu 新卒2年目から見た達人プログラマーの振る舞い
https://qiita.com/ohakutsu/items/387ff8d8c09f592f124f

## 自己参照

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

@kazuo_reve AUTOSARのClassic PlatformとAdaptive PlatformにおけるDiagnosticsの違いを整理
https://qiita.com/kazuo_reve/items/05c179d705c69286b94a

私のcountdown Calendar 2022 ーー はじめたきっかけ、1月のふりかえり、今後の展望
https://qiita.com/torifukukaiou/items/891db4e40a7f6194af56

ISO Road vehicles Diagnostics 規格調査中　100規格、100記事をめざして。
https://qiita.com/kaizen_nagoya/items/51e29d318585a4219985

ISO Diagnostics 文献（Normative Reference and Bibliography）集め
https://qiita.com/kaizen_nagoya/items/535a0144a343df2c99df

ISO Diagnostics 用語定義(Terms and Definition)と短縮名(short name)集め
https://qiita.com/kaizen_nagoya/items/83cae62d1cb528c3c816

ISO/IEC OSIに学ぶ
https://qiita.com/kaizen_nagoya/items/89562c52f37d6bf0a80d

ISO 14229-1:2020 Road vehicles — Unified diagnostic services (UDS) — Part 1: Application layer
https://qiita.com/kaizen_nagoya/items/3231d9fea536d1b9b1f7

国際規格のNormative Reference
https://qiita.com/kaizen_nagoya/items/b94b6055997119ac2d9a

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

@kazuo_reve「AUTOSARのClassic PlatformとAdaptive PlatformにおけるDiagnosticsの違いを整理」で慌てて
https://qiita.com/kaizen_nagoya/items/d3ff6aba9b7402e8bde8

新人応援 @kazuo_reve 新人の方によく展開している有益な情報(1)-(30)書いて考えたこと。
https://qiita.com/kaizen_nagoya/items/26652e085a777931f8f2

「@kazuo_reve 新人の方によく展開している有益な情報」はじめ記事を参照して頂いた時にしていること。
https://qiita.com/kaizen_nagoya/items/0e4e92f45c158ef81423

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

プログラマにも読んでほしい「QC検定にも役立つ！QCべからず集」
https://qiita.com/kaizen_nagoya/items/d8ada7b7fceafe2e5f0e

図を使って分析すればこんなに簡単。安全（１１）
https://qiita.com/kaizen_nagoya/items/6347eb55b2812d745549
物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

TOPPERSまとめ　#名古屋のIoTは名古屋のOSで
https://qiita.com/kaizen_nagoya/items/9026c049cb0309b9d451

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
# 文書履歴(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.