Changes between Version 4 and Version 5 of tips/pdu_id
- Timestamp:
- Jan 31, 2019, 10:17:50 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
tips/pdu_id
v4 v5 21 21 * レイヤによってI-PDUのようにプレフィックスが付与されて呼ばれる 22 22 * ComレイヤではI-PDUと呼ぶ 23 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/general/auxiliary/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf#page=73&view=fitv AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf(73ページ)]参照23 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf#page=73&view=fitv AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf(73ページ)]参照 24 24 25 25 == グローバルPDU == 26 26 * ECU毎に定義するCOMスタック全体でユニークとなるPDU識別の概念 27 27 * EcuCという仮想モジュールの{{{EcucPduCollection}}}にて定義する 28 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=148&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(4.3)]参照28 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_TPS_ECUConfiguration.pdf#page=148&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(4.3)]参照 29 29 * グローバルPDUにはIDという概念はない 30 30 * PDU-IDを示すデータ型(PduIdType)、PDUのバイト長を示すデータ型(PduLengthType)は、EcuCで定義し、COMスタックジェネレータで生成される{{{ComStack_Cfg.h}}}で定義する 31 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_CommunicationStackTypes.pdf#page=14&view=fitv AUTOSAR_SWS_CommunicationStackTypes.pdf(COMTYPE029)]参照31 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_CommunicationStackTypes.pdf#page=14&view=fitv AUTOSAR_SWS_CommunicationStackTypes.pdf(COMTYPE029)]参照 32 32 * {{{ComStack_Cfg.h}}}は、{{{ComStack_Types.h}}}からincludeされるため、COMスタック全体で使用される 33 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_CommunicationStackTypes.pdf#page=9&view=fitv AUTOSAR_SWS_CommunicationStackTypes.pdf(Figure 1)]参照33 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_CommunicationStackTypes.pdf#page=9&view=fitv AUTOSAR_SWS_CommunicationStackTypes.pdf(Figure 1)]参照 34 34 35 35 ---- … … 37 37 = 各モジュール(Com、PduR、CanIf)におけるPDU-ID = 38 38 * 各モジュールで定義するPDUには必ず、EcuCのPDUへの参照があり、どのPDUを示しているかを区別することができる 39 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_PDURouter.pdf#page=143&view=fitv AUTOSAR_SWS_PDURouter.pdf(Figure 32)]参照39 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_PDURouter.pdf#page=143&view=fitv AUTOSAR_SWS_PDURouter.pdf(Figure 32)]参照 40 40 * 各モジュールで定義するPDU-IDはスタック内のの上下のモジュールからAPIコール時に引数に指定されるIDを示している 41 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=161&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(4.4.2.1)]参照42 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=162&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 4.9)]参照41 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_TPS_ECUConfiguration.pdf#page=161&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(4.4.2.1)]参照 42 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_TPS_ECUConfiguration.pdf#page=162&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 4.9)]参照 43 43 * つまり、ComがはPduRに対してPduR_ComTransmitを呼び出すときの引数(PDU-ID)は、PduR側でコンフィギュレーションした値である{{{PduRSourcePduHandleId}}}となる 44 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_PDURouter.pdf#page=35&view=fitv AUTOSAR_SWS_PDURouter.pdf(PDUR161)]参照44 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_PDURouter.pdf#page=35&view=fitv AUTOSAR_SWS_PDURouter.pdf(PDUR161)]参照 45 45 * 従って、ComはPduRのarxmlを、PduRはCom/CanIfのarxmlを、CanIfはPduRのarxmlを読み込んで、送信先PDU-IDを知る必要がある 46 46 … … 55 55 * このとき、{{{PduRDestPdu}}}に設定したPDU-IDは送信完了通知おいて、CanIfから{{{PduR_CanIfTxConfirmation}}}が呼び出される際のPDU-IDとなる 56 56 * 従って、{{{PduRDestPdu}}}のPDU-ID({{{PduRDestPduHandleId}}})の多重度は0..1となっており、受信PDUでは使用しない 57 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_PDURouter.pdf#page=123&view=fitv AUTOSAR_SWS_PDURouter.pdf(PDUR322_Conf)]参照57 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_PDURouter.pdf#page=123&view=fitv AUTOSAR_SWS_PDURouter.pdf(PDUR322_Conf)]参照 58 58 * 受信(CanIf→PduR→Com) 59 59 * CanIfからの受信の場合、受信したPDUのグローバルPDUに紐付いた{{{PduRSrcPdu}}}のPDU-IDに対して{{{PduR_CanIfRxIndication}}}を呼び出す 60 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/methodology-templates/templates/standard/AUTOSAR_TPS_ECUConfiguration.pdf#page=163&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 4.10)]参照60 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_TPS_ECUConfiguration.pdf#page=163&view=fitv AUTOSAR_TPS_ECUConfiguration.pdf(Figure 4.10)]参照 61 61 * このとき,CanIfでもIPDU-ID({{{CanIfRxPduId}}})が設定でき、多重度が1であるが、少なくともCANプロトコルでは必要ない(どこからも利用されない) 62 62 * 続いて、PduR→Comでは、対象のグローバルPDUに紐付いた{{{ComIPduHandleId}}}に対して、{{{Com_RxIndication}}}を呼び出す 63 63 * {{{ComIPduHandleId}}}は多重度0..1で、送信完了通知が不要なら必要ないと定義されている 64 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_COM.pdf#page=128&view=fitv AUTOSAR_SWS_COM.pdf(COM175_Conf)]参照64 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_COM.pdf#page=128&view=fitv AUTOSAR_SWS_COM.pdf(COM175_Conf)]参照 65 65 * R4.1ではこの記述が消えている 66 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_COM.pdf#page=127&view=fitv AUTOSAR_SWS_COM.pdf(ECUC_Com_00175)]参照66 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-1/AUTOSAR_SWS_COM.pdf#page=127&view=fitv AUTOSAR_SWS_COM.pdf(ECUC_Com_00175)]参照 67 67 68 68 == ゼロコストオペレーション == 69 69 * ゼロコストオペレーションを設定するパラメータはPduRにしか存在しない 70 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_PDURouter.pdf#page=116&view=fitv AUTOSAR_SWS_PDURouter.pdf(PDUR317_Conf)]参照70 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_PDURouter.pdf#page=116&view=fitv AUTOSAR_SWS_PDURouter.pdf(PDUR317_Conf)]参照 71 71 * {{{configuration generator}}}は{{{configuration editor}}}の意味と思われるが、いずれにしても、ゼロコストオペレーションとするかどうかはコンフィギュレーション設定時に影響することを言っている 72 72 * PduRにて、ゼロコストオペレーション設定時に以下のようなAPI名を変換するマクロを用意する必要がある … … 75 75 #define PduR_CanIfRxIndication PduR_ComRxIndication 76 76 }}} 77 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_PDURouter.pdf#page=57&view=fitv AUTOSAR_SWS_PDURouter.pdf(7.5)]参照78 * [http ://www.autosar.org/fileadmin/files/standards/classic/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_PDURouter.pdf#page=143&view=fitv AUTOSAR_SWS_PDURouter.pdf(11.5.1)]参照77 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_PDURouter.pdf#page=57&view=fitv AUTOSAR_SWS_PDURouter.pdf(7.5)]参照 78 * [https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_PDURouter.pdf#page=143&view=fitv AUTOSAR_SWS_PDURouter.pdf(11.5.1)]参照 79 79 * つまり、ComやCanIfは、PduRの{{{PduRZeroCostOperation}}}に関係なく、対象のグローバルPDUに紐付いた{{{PduRSourcePduHandleId}}}を使用すればよい 80 80 * この場合、PduRのジェネレータで、{{{PduRSourcePduHandleId}}}と対象のグローバルPDUに紐付いた{{{CanIfTxPduId}}}が一致しているか等のチェック処理が必要 … … 84 84 85 85 = COMスタックのコンフィギュレーション例 = 86 記法は[wiki:tips _abrex ABREX]参照86 記法は[wiki:tips/abrex ABREX]参照 87 87 {{{ 88 88 EcuC: