Specification of CAN Driver, AUTOSAR 11, R22-11, CP 20230421

TOSARは自動車用OSの業界団体規格です。　
業務で利用する場合には、会員になることを条件にしています。

2002年から20年経ち、当初の狙いの段階に近づいてきました。

MATLABでモデルさえ記述すれば、あとは自動生成だけでソフトが完成するところまで、あと一歩です。
Ethernet, UNIXが生まれて20年で大衆化したのと同じように考えると分かりやすいでしょう。　

AUTOSARの上で動く、クラウド対応のミドルウェアが出て、開発も運用もクラウドになれば、一気にAUTOSARは大衆化するでしょう。

AUTOSAR Abstract Platformへの道 R22-11

https://qiita.com/kaizen_nagoya/items/8ac2826635a8c536c7ec

AUTOSARは、ISO、IEC、ITUと情報交換契約を結んでいません。
AUTOSAR文書には、ISO、IEC,ITU記述を全文引用することはできません。
WTO/TBT協定に基づき、国際的な調達は国際規格との差異を記述することにより文化依存しない仕様を目指します。
ISO、IEC、ITU文書を合わせて読むと技術内容は理解できます。　
CAN、OSEK/VDX OS、DIAGは、ISO定義を先に確認しましょう。　　
OSEK COM、OSEK NMなどはISOの規定から、基本的な部分でAUTOSARでは定義を変えています。
AUTOSARで変更している部分を仕様等で明記するか、ISOを改定するとよいでしょう。　

AUTOSARの参考文献欄の改定が進んでいません。　
Glossary用語定義の網羅性が低いです。
本文を読む前に確認するとよいかもしれません。
本文を読んでから確認してもよいかもしれません。

 ＜この記事は書きかけです。順次追記します。＞
 This article is not completed. I will add some words in order.


# 2023年4月URL変更
この項は2023年4月21日、AUTOSARの文書のURLが変更になった。
/classic/22-11/
が
/R22-11/CP/
過去記事で、URLでエラーが出たら書き換えてみてください。

/adaptive/22-11/
は　
/R22-11/AP/

/foundation/22-11/
は　
/R22-11/FO/
です。
## 2022年11月URL変更
2022年11月にもAUTOSAR文書のURLが変更になっている。
/user_upload/standards/classic/21-11/
を
/standards/R21-11/CP/
などに書き換えてください。

/user_upload/standards/adaptive/21-11/
を
/standards/R21-11/AP/

/user_upload/standards/foundation/21-11/
を
/standards/R21-11/FO/

お手数をおかけします。
１年に２度URLを変更するなんて、新しい記事が書ける。とても嬉しい。

# 一覧

１年に２度URLを変更するなんて、新しい記事が書ける。とても嬉しい。

AUTOSAR R22-11 Qiita記事一覧 20230421 。

https://qiita.com/kaizen_nagoya/items/81a35774f1aa3d64d3f6

分量が多く２分割しました。

AUTOSAR R22-11 Qiita記事一覧 20230421(2)
https://qiita.com/kaizen_nagoya/items/b3b992ec1885ad29801a

記事の表題の最後に「20230421」を加えます。

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

AUTOSARが、2022年の版、R22-11を公開しました。

Specification of CAN Driver, AUTOSAR R22-11, CP, No.11

https://www.autosar.org/fileadmin/standards/classic/22-11/AUTOSAR_SWS_CANDriver.pdf


間違っていたら、いいね　を押していただいて、コメント欄にご報告くださると幸いです。
編集リクエストが、構造的な変更をしている最中に、構造的な編集リクエストをしていただくと、
何をどう直したらいいかわからなくなってしまいます。自動修復ツールがつくれていません。ごめんなさい。


https://www.autosar.org/fileadmin/standards/R22-11/CP/AUTOSAR_SWS_CANDriver.pdf


R21-11


https://www.autosar.org/fileadmin/standards/R21-11/CP/AUTOSAR_SWS_CANDriver.pdf


R20-11


https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CANDriver.pdf


R19-11


https://www.autosar.org/fileadmin/standards/R19-11/CP/AUTOSAR_SWS_CANDriver.pdf

https://www.autosar.org/

文書は検索してダウンロードできます。

R20-11,R21-11, R22-11の３年分だけになりました。


公開行事の模様は

AUTOSAR R22-11 Release Event 20221208

https://qiita.com/kaizen_nagoya/items/18471d0b340480fdcd42


AUTOSAR R22-11 Classic Platform 一覧はこちら。


Classic Platform Release Overview, AUTOSAR No.0 ,R22-11, CP, 20230421

https://qiita.com/kaizen_nagoya/items/9d22c8722cbc0f42b137


# Abstract Platformとの関係

メモリの抽象モデルを、コンパイル時、リンク時、実行時、退避時について一貫して扱う。



## Bosch Controller Area Network
https://web.archive.org/web/20151211125301/http://www.bosch-semiconductors.de/media/ubk_semiconductors/pdf_1/canliteratur/can_fd_spec.pdf

BoschがISO規格寸前の版を公開している。


![CANFD.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/071df73f-c84e-3c7a-70d7-acafba96c94a.png)


© Copyright 2011, Robert Bosch GmbH, Robert Bosch Platz 1, 70839 Gerlingen, Germany



# ISO CAN
## SO/CD 11898-1
Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical coding sub-layer

https://www.iso.org/standard/83292.html

I## SO/DIS 11898-2
Road vehicles — Controller area network (CAN) — Part 2: High-speed medium access unit

https://www.iso.org/standard/85120.html

###   Normative references

ISO 11898-1:2015, Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical signalling
ISO 16845-2, Road vehicles — Controller area network (CAN) conformance test plan — Part 2: High-speed medium access unit — Conformance test plan

### Bibliography

[1]	ISO/IEC 7498-1, Information technology — Open Systems Interconnection — Basic Reference Model: The Basic Model
[2]	ISO 11898-3, Road vehicles — Controller area network (CAN) — Part 3: Low-speed, fault-tolerant, medium-dependent interface
[3]	ISO 11898-4, Road vehicles — Controller area network (CAN) — Part 4: Time-triggered communication




# Abstract Platform との関係　

文書全体で、どう統合するとよいかの指針を示すとよい。　

案：
1  RequirementおよびSpecificationの基本事項はすべてAbstract Platformに記載する。　
2　国際規格との関係はすべてAbstract Platformに記載する。
3  Model類はAbstract Platform Modelから導出するようにする。
4 文書、ARXML,json, Manifest 類のTemplateは基本Abstract Platformで記述する。
5 C++ Template 機能について、OS、通信規約、制御用を提案する。


ISO 各種規格に基づいた診断、通信の抽象的な定義をする。

必要があれば国際規格を改定する。

 <この項は書きかけです。順次追記します。>
## 文書変更(Document Change) 
CanXL requirements were added
 Minor corrections / clarifications /
editorial changes;

# 用語(terms)

|Term|Description|
|:--|:--|
|CAN controller| A CAN controller serves exactly one physical channel.
|CAN Hardware Unit|A CAN Hardware Unit may consists of one or multiple CAN controllers of the same type and one or multiple CAN RAM areas. The CAN Hardware Unit is either on-chip, or an external device. The CAN Hardware Unit is represented by one CAN driver.
|CAN L-PDU| Data Link Layer Protocol Data Unit. Consists of Identifier, Data Length and Data (SDU). (see[19])
|CAN L-SDU |Data Link Layer Service Data Unit. Data that is transported inside the LPDU. (see[19])
|DLC| Data Length Code (part of CAN message describes the SDU length)
|Hardware Object| A CAN hardware object is defined as a PDU buffer inside the CAN RAM of the CAN hardware unit / CAN controller. A Hardware Object is defined as L-PDU buffer inside the CAN RAM of the CAN Hardware Unit.
|Hardware Receive Handle (HRH)|The Hardware Receive Handle (HRH) is defined and provided by the CAN Driver. Each HRH typically represents just one hardware object. The HRH can be used to optimize software filtering.
|Hardware Transmit Handle (HTH)|The Hardware Transmit Handle (HTH) is defined and provided by the CAN Driver. Each HTH typically represents just one or multiple hardware objects that are configured as hardware transmit buffer pool.
|Inner Priority Inversion|Transmission of a high-priority L-PDU is prevented by the presence of a pending low-priority L-PDU in the same transmit hardware object.
|ISR| Interrupt Service Routine
|L-PDU Handle |The L-PDU handle is defined and placed inside the CanIf module layer. Typically each handle represents an L-PDU, which is a constant structure with information for Tx/Rx processing.
|MCAL| Microcontroller Abstraction Layer
|Outer Priority Inversion|A time gap occurs between two consecutive transmit L-PDUs. In this case a lower priority L-PDU from another node can prevent sending the own higher priority L-PDU. Here the higher priority L-PDU cannot participate in arbitration during network access because the lower priority L-PDU already won the arbitration.
|Physical Channel| A physical channel represents an interface from a CAN controller to the CAN Network. Different physical channels of the CAN hardware unit may access different networks.
|Priority |The Priority of a CAN L-PDU is represented by the CAN Identifier. The lower the numerical value of the identifier, the higher the priority.
|SFR |Special Function Register. Hardware register that controls the controller behavior.
|SPAL| Standard Peripheral Abstraction Layer

## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

[1] Layered Software Architecture
AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
[2] General Requirements on Basic Software Modules
AUTOSAR_SRS_BSWGeneral.pdf
[3] General Requirements on SPAL
AUTOSAR_SRS_SPALGeneral.pdf
[4] Requirements on CAN
AUTOSAR_SRS_CAN.pdf
[5] Specification of CAN Interface
AUTOSAR_SWS_CANInterface.pdf
[6] Specification of Default Error Tracer
AUTOSAR_SWS_DefaultErrorTracer.pdf
[7] Specification of ECU State Manager
AUTOSAR_SWS_ECUStateManager.pdf
[8] Specification of MCU Driver
AUTOSAR_SWS_MCUDriver.pdf
[9] Specification of Operating System
AUTOSAR_SWS_OS.pdf
[10] Specification of ECU Configuration
AUTOSAR_TPS_ECUConfiguration.pdf
[11] Specification of SPI Handler/Driver
AUTOSAR_SWS_SPIHandlerDriver.doc.pdf
[12] Specification of Memory Mapping
AUTOSAR_SWS_MemoryMapping.pdf
[13] Specification of BSW Scheduler
AUTOSAR_SWS_BSW_Scheduler.pdf
[14] Basic Software Module Description Template
AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf
[15] List of Basis Software Modules
AUTOSAR_TR_BSWModuleList.pdf
[16] General Specification of Basic Software Modules
AUTOSAR_SWS_BSWGeneral.pdf
[17] Specification of Time Synchornization over CAN
AUTOSAR_SWS_TimeSyncOverCAN.pdf
[18] ISO11898 – Road vehicles - Controller area network (CAN)
[19] ISO/IEC 7498-1 – OSI Basic Reference Model
[20] CiA601-2 Node and system design Part 2: CAN controller interface
specification
[21] CiA603 – CAN Frame time-stamping


Glossary も　参考に入れましょう。
https://www.autosar.org/fileadmin/standards/foundation/22-11/AUTOSAR_TR_Glossary.pdf

# 参考資料　　

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

https://qiita.com/kazuo_reve/items/a3ea1d9171deeccc04da

@kazuo_reve 新人の方によく展開している有益な情報

https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

## 自己参照　

AUTOSAR Abstract Platformへの道（詳細編）

https://qiita.com/kaizen_nagoya/items/cb217133884fa0a2c704

AUTOSAR Abstract Platform User Group Weekly Report(1) 2022.1.8

https://qiita.com/kaizen_nagoya/items/fece4f7719ef55d612bf

祝休日・謹賀新年：2023年の目標

https://qiita.com/kaizen_nagoya/items/24584ac215517a4621ee

AUTOSAR 　R22-11で　リンク切れ、表示しない文書

https://qiita.com/kaizen_nagoya/items/13edb17f6ffd45cdc690


ボッシュ自動車handbook(英語)11版(0-1) 課題と記事一覧new

https://qiita.com/kaizen_nagoya/items/a9d2887bf2a7598dc8e5

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

https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4

小川メソッド　覚え（書きかけ）

https://qiita.com/kaizen_nagoya/items/3593d72eca551742df68

DoCAP（ドゥーキャップ）って何ですか？

https://qiita.com/kaizen_nagoya/items/47e0e6509ab792c43327

「@kazuo_reve 新人の方によく展開している有益な情報」確認一覧

https://qiita.com/kaizen_nagoya/items/b9380888d1e5a042646b


全世界の不登校の子供たち「博士論文」を書こう。世界子供博士論文遠隔実践中心

https://qiita.com/kaizen_nagoya/items/912d69032c012bcc84f2

Views１万越え、もうすぐ１万記事一覧

https://qiita.com/kaizen_nagoya/items/d2b805717a92459ce853

「想定外」3.11 東日本大震災をIT技術者が振り返る

https://qiita.com/kaizen_nagoya/items/80433f4bf7fe116bddd1

# Researchmap
https://researchmap.jp/blogs/blog_entries/view/954753/1772c787948fbc6362a7e1dfa5517db9

# R23-11
https://qiita.com/kaizen_nagoya/items/dda4a46f6728e0ed4393

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

# 文書履歴(document history)
ver. 0.01 初稿 　20230503
ver. 0.02 ありがとう追記 20230503

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

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

####  Thank you very much for reading to the last sentence.

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