Specification of CAN Transport Layer, AUTOSAR 14, R23-11, CP 

AUTOSARが2023年版、R23-11を公開しました。
https://www.autosar.org/fileadmin/standards/R23-11/CP/AUTOSAR_CP_SWS_CANTransportLayer.pdf

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

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

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

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

文書は検索してダウンロードできます。
https://www.autosar.org/



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

# Release Overviews
AUTOSARには現在3つの分類があります。Foundation, CAN OSEK/VDXのClassic Platform, Ethernet/TCP/IP POSIXのAdaptive Platform.

Foundation Release Overview, AUTOSAR 781, R23-11, FO
https://qiita.com/kaizen_nagoya/items/f249bdb8c313d8bff883

Classic Platform Release Overview, AUTOSAR No.0 ,R23-11, CP
https://qiita.com/kaizen_nagoya/items/9d22c8722cbc0f42b137

Adaptive Platform Release Overview, AUTOSAR 782, R23-11, AP
https://qiita.com/kaizen_nagoya/items/13a104606a34fe24fcf7

# Qiita 記事一覧
Autosar Foundation R23-11 一覧
https://qiita.com/kaizen_nagoya/items/c30674cb2dac2fcbbd04

AUTOSAR Adaptive Platform R23-11一覧
https://qiita.com/kaizen_nagoya/items/1dece8799a730367b0dc

Autosar Classic Platform R23-11 一覧
https://qiita.com/kaizen_nagoya/items/f770f6c2906e1dcbf180


# 文書変更(Document Change) 
>• Added Extended Production Errors to indicate timeouts and errors
• Removed dependency of the addressing format for shared PDUs/SDUs
# 用語(terms)

|term|Description|
|:--|:--|
|I-| Relative to AUTOSAR COM Interaction Layer
|L-| Relative to the CAN Interface module which is equivalent to the Logical Link Control (the upper part of the Data Link Layer - the lower part is called Media Access Control)
|N- |Relative to the CAN Transport Layer which is equivalent to the OSI Network Layer.
|CAN L-SDU| This is the SDU of the CAN Interface module. It is similar to CAN N-PDU but from the CAN Interface module point of view.
|CAN LSduId|This is the unique identifier of a SDU within the CAN Interface. It is used for referencing L-SDU’s routing properties. Consequently, in order to interact with the CAN Interface through its API, an upper layer uses CAN LSduId to refer to a CAN L-SDU Info Structure.
|CAN N-PDU |This is the PDU of the CAN Transport Layer. It contains a unique identifier, data length and data (protocol control information plus the whole N-SDU or a part of it).
|CAN N-SDU |This is the SDU of the CAN Transport Layer. In the AUTOSAR architecture, it is a set of data coming from the PDU Router.
|CAN N-SDU Info Structure|This is a CAN Transport Layer internal constant structure that contains specific CAN Transport Layer information to process transmission, reception, segmentation and reassembly of the related CAN N-SDU. 
|CAN NSduId| Unique SDU identifier within the CAN Transport Layer. It is used to reference N-SDU’s routing properties. Consequently, to interact with the CAN Transport Layer via its API, an upper layer uses CAN NSduId to refer to a CAN N-SDU Info Structure.
|I-PDU |This is the PDU of the AUTOSAR COM module.
|PDU |In layered systems, it refers to a data unit that is specified in the protocol of a given layer. This contains user data of that layer (SDU) plus possible protocol control information. Furthermore, the PDU of layer X is the SDU of its lower layer X-1 (i.e. (X)-PDU = (X-1)-SDU).
|PduInfoType| This type refers to a structure used to store basic information to process the transmission\reception of a PDU (or a SDU), namely a pointer to its payload in RAM and the corresponding length (in bytes).
|SDU| In layered systems, this refers to a set of data that is sent by a user of the services of a given layer, and is transmitted to a peer service user, whilst remaining semantically unchanged.
|BS| Block Size
|Can| CAN Driver module
|CAN CF |CAN Consecutive Frame N-PDU
|CAN FC| CAN Flow Control N-PDU
|CAN FF| CAN First Frame N-PDU
|CAN SF |CAN Single Frame N-PDU
|CanIf |CAN Interface
|CanTp |CAN Transport Layer
|CanTrcv| CAN Transceiver module
|CF |See “CAN CF”
|Com |AUTOSAR COM module
|Dcm |Diagnostic Communication Manager module
|DEM| Diagnostic Event Manager
|DET| Default Error Tracer
|DLC|Data Length Code (part of CAN PDU that describes the SDU length)
|FC |See “CAN FC”
|FF |See “CAN FF”
|FIM |Function Inhibition Manager
|Mtype| Message Type (possible value: diagnostics, remote diagnostics)
|N_AI |Network Address Information (see ISO 15765-2).
|N_Ar |Time for transmission of the CAN frame (any N-PDU) on the receiver side (see ISO 15765-2 [1]).
|N_As |Time for transmission of the CAN frame (any N-PDU) on the sender side (see ISO 15765-2 [1]).
|N_Br|Time until transmission of the next flow control N-PDU (see ISO 15765-2 [1]).
|N_Bs |Time until reception of the next flow control N-PDU (see ISO 15765-2 [1]).
|N_Cr| Time until reception of the next consecutive frame N-PDU (see ISO 15765-2 [1]).
|N_Cs |Time until transmission of the next consecutive frame N-PDU (see ISO 15765-2 [1]).
|N_Data| Data information of the transport layer
|N_PCI |Protocol Control Information of the transport layer
|N_SA| Network Source Address (see ISO 15765-2 [1]).
|N_TA |Network Target Address (see ISO 15765-2 [1]). It might already contain the N_TAtype(physical/ function) in case of ExtendedAddressing.
|N_TAtype |Network Target Address type (see ISO 15765-2 [1]).
|OBD |On-Board Diagnostic
|PDU |Protocol Data Unit
|PduR |PDU Router
|SDU |Service Data Unit
|FS |Flow Status
|CAN FD| CAN flexible data rate
|CAN_DL| CAN frame data length
|TX_DL| Transmit data link layer data length
|RX_DL| Received data link layer data length
|SF_DL |SingleFrame data length in bytes
|Default Error Tracer |The Default Error Tracer is merely a support to SW development and integration and is not contained in the production code. The API is defined, but the functionality can be chosen and implemented by the developer according to his specific needs.
|Diagnostic Event Manager|The Diagnostic Event Manager is a standard AUTOSAR module which is available in the production code and whose functionality is specified in the AUTOSAR project.
|Extended addressing format|A unique CAN identifier is assigned to each combination of N_SA and Mtype. A unique address is filed to each combination of N_TA and N_TAtype in the first data byte of the CAN frame data field. N_PCI and N_Data are filed in the remaining bytes of the CAN frame data field.
|Function Inhibition Manager|The Function Inhibition Manager (FIM) stands for the evaluation and assignment of events to the required actions for Software Components (e.g. inhibition of specific “monitoring functions”). The DEM informs and updates the Function Inhibition Manager (FIM) upon changes of the event status in order to stop or release functional entities according to assigned dependencies. An interface to the functional entities is defined and supported by the Mode Manager. The FIM is not part of the DEM.
|Functional addressing|In the transport layer, functional addressing refers to N-SDU, of which parameter N_TAtype (which is an extension to the N_TA parameter [1] used to encode the communication model) has the value functional. This means the N-SDU is used in 1 to n communications. Thus with the CAN protocol, functional addressing will only be supported for Single Frame communication. In terms of application, functional addressing is used by the external (or internal) tester if it does not know the physical address of an ECU that should respond to a service request or if the functionality of the ECU is implemented as a distributed server over several ECUs. When functional addressing is used, the communication is a communication broadcast from the external tester to one or more ECUs (1 to n communication). Use cases are (for example) broadcasting messages, such as “ECUReset” or “Communication Control” OBD communication will always be performed as part of functional addressing.
|Mixed addressing format|A unique CAN identifier is assigned to each combination of N_SA, N_TA, N_TAtype. N_AE is placed in the first data byte of the CAN frame data field. N_PCI and N_Data are placed in the remaining bytes of the CAN frame data field.
|Multiple connection|The CAN Transport Layer should manage several transport protocol communication sessions at a time.
|Normal addressing format|A unique CAN identifier is assigned to each combination of N_SA, N_TA, N_TAtype and Mtype. N_PCI and N_Data are filed in the CAN frame data field.
|Physical addressing |In the transport layer, physical addressing refers to N-SDU, of which parameter N_TAtype (which is an extension of the N_TA parameter [1] used to encode the communication model) has the value physical. This means the N-SDU is used in 1 to 1 communication, thus physical addressing will be supported for all types of network layer messages. In terms of application, physical addressing is used by the external (or internal) tester if it knows the physical address of an ECU that should respond to a service request. When physical addressing is used, a point to point communication takes place (1 to 1 communication). Use cases are (for example) messages, such as ”ReadDataByIdentifier” or ”InputOutputControl ByIdentifier”
|Single connection| The CAN Transport Layer will only manage one transport protocol communication session at a time.
|Connection channel |The CAN Transport Layer is handling resources used by multiple connections in order to save RAM. When a connection becames active, the channel that is used by this connection will be unavailable for other connections.
|Connection |A transport protocol session, either is a transmission or a reception session on a N-SDU

# References

[1] Road vehicles – Diagnostics on Controller Area Networks (CAN) – Part2:Network layer services
[2] Diagnosticsoncontrollerareanetwork(CAN)–Part4:Requirementsforemission- related systems (Release 2005 01-04)
[3] Glossary AUTOSAR_FO_TR_Glossary
https://www.autosar.org/fileadmin/standards/R23-11/FO/AUTOSAR_FO_TR_Glossary.pdf
[4] General Specification of Basic Software Modules AUTOSAR_CP_SWS_BSWGeneral
[5] Specification of PDU Router AUTOSAR_CP_SWS_PDURouter
[6] Specification of CAN Interface AUTOSAR_CP_SWS_CANInterface
[7] General Requirements on Basic Software Modules AUTOSAR_CP_SRS_BSWGeneral
[8] Requirements on CAN AUTOSAR_CP_SRS_CAN
[9] ISO 11898-1:2015 – Road vehicles – Controller area network (CAN)




## 補足資料（Additions）
祝休日・謹賀新年：2024年の目標
https://qiita.com/kaizen_nagoya/items/b659d922327a7dcdc898

2023 Countdown Calendar 主催・参加一覧
https://qiita.com/kaizen_nagoya/items/c4c2f08ac97f38d08543

CountDownCalendar月間　いいねをいただいた記事群　views　順
https://qiita.com/kaizen_nagoya/items/583c5cbc225dac23398a

Countdown Calendar 2023, 百記事目を書くにあたって。
https://qiita.com/kaizen_nagoya/items/45185a04cfd88b71256a

1年間をまとめた「振り返りページ」＠２０２３
https://qiita.com/kaizen_nagoya/items/bcd1ebd49d3a9e8c7a90

AUTOSAR 文書番号
https://qiita.com/kaizen_nagoya/items/8b894228a0b76c2265c7

AUTOSAR Countdown Calendar 2023
https://qiita.com/advent-calendar/2023/autosar

AUTOSAR Abstract Platformへの道 R22-11
https://qiita.com/kaizen_nagoya/items/8ac2826635a8c536c7ec

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

Basic principles, ボッシュ自動車handbook(英語)11版まとめ<2>
https://qiita.com/kaizen_nagoya/items/24a1ba5da3d09b2a95d1

JAXA/IPA クリティカルソフトウェアワークショップ WOCS言語関連発表(改定版)
https://qiita.com/kaizen_nagoya/items/4789832baf494cb74626

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
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 初稿 　20240104
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.