Changes between Version 4 and Version 5 of tips/pdu_id


Ignore:
Timestamp:
Jan 31, 2019, 10:17:50 PM (5 years ago)
Author:
fujisft-shigihara
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • tips/pdu_id

    v4 v5  
    2121* レイヤによってI-PDUのようにプレフィックスが付与されて呼ばれる
    2222  * 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ページ)]参照
    2424
    2525== グローバルPDU ==
    2626* ECU毎に定義するCOMスタック全体でユニークとなるPDU識別の概念
    2727* 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)]参照
    2929* グローバルPDUにはIDという概念はない
    3030* 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)]参照
    3232* {{{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)]参照
    3434
    3535----
     
    3737= 各モジュール(Com、PduR、CanIf)におけるPDU-ID =
    3838* 各モジュールで定義する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)]参照
    4040* 各モジュールで定義する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)]参照
    4343* つまり、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)]参照
    4545* 従って、ComはPduRのarxmlを、PduRはCom/CanIfのarxmlを、CanIfはPduRのarxmlを読み込んで、送信先PDU-IDを知る必要がある
    4646
     
    5555    * このとき、{{{PduRDestPdu}}}に設定したPDU-IDは送信完了通知おいて、CanIfから{{{PduR_CanIfTxConfirmation}}}が呼び出される際のPDU-IDとなる
    5656    * 従って、{{{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)]参照
    5858* 受信(CanIf→PduR→Com)
    5959  * 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)]参照
    6161    * このとき,CanIfでもIPDU-ID({{{CanIfRxPduId}}})が設定でき、多重度が1であるが、少なくともCANプロトコルでは必要ない(どこからも利用されない)
    6262  * 続いて、PduR→Comでは、対象のグローバルPDUに紐付いた{{{ComIPduHandleId}}}に対して、{{{Com_RxIndication}}}を呼び出す
    6363    * {{{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)]参照
    6565    * 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)]参照
    6767
    6868== ゼロコストオペレーション ==
    6969* ゼロコストオペレーションを設定するパラメータは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)]参照
    7171  * {{{configuration generator}}}は{{{configuration editor}}}の意味と思われるが、いずれにしても、ゼロコストオペレーションとするかどうかはコンフィギュレーション設定時に影響することを言っている
    7272* PduRにて、ゼロコストオペレーション設定時に以下のようなAPI名を変換するマクロを用意する必要がある
     
    7575#define PduR_CanIfRxIndication PduR_ComRxIndication
    7676}}}
    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)]参照
    7979* つまり、ComやCanIfは、PduRの{{{PduRZeroCostOperation}}}に関係なく、対象のグローバルPDUに紐付いた{{{PduRSourcePduHandleId}}}を使用すればよい
    8080  * この場合、PduRのジェネレータで、{{{PduRSourcePduHandleId}}}と対象のグローバルPDUに紐付いた{{{CanIfTxPduId}}}が一致しているか等のチェック処理が必要
     
    8484
    8585= COMスタックのコンフィギュレーション例 =
    86 記法は[wiki:tips_abrex ABREX]参照
     86記法は[wiki:tips/abrex ABREX]参照
    8787{{{
    8888EcuC: