
	TOPPERS/A-COM ͽ

ܥɥȤϡAUTOSARͤ١ȤA-COMγͤ
ΤǤ롥

----------------------------------------------------------------------
TOPPERS/A-COM
    Automotive COM

Copyright (C) 2013-2014 by Center for Embedded Computing Systems
            Graduate School of Information Science, Nagoya Univ., JAPAN
Copyright (C) 2013-2014 by FUJISOFT INCORPORATED, JAPAN
Copyright (C) 2013-2014 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
Copyright (C) 2013-2014 by Renesas Electronics Corporation, JAPAN
Copyright (C) 2013-2014 by Sunny Giken Inc., JAPAN
Copyright (C) 2013-2014 by TOSHIBA CORPORATION, JAPAN
Copyright (C) 2013-2014 by Witz Corporation, JAPAN

嵭Ԥϡʲ (1)(3)ξ˸¤ꡤܥɥ
ȡܥɥȤѤΤޤࡥʲƱˤѡʣ
ѡۡʰʲѤȸƤ֡ˤ뤳Ȥ̵ǵ롥
(1) ܥɥȤѤˤϡ嵭ɽѾ
    Ӳ̵ݾڵ꤬Τޤޤηǥɥ˴ޤޤ
    뤳ȡ
(2) ܥɥȤѤˤϡɥȤѤݤε
    򡤲ѸΥɥ˴ޤ뤳ȡѸΥɥ
    ȤTOPPERSץȻγȯʪǤˤϡθ
    ǤϤʤ
(3) ܥɥȤѤˤľŪޤϴŪ뤤ʤ»
    ⡤嵭ԤTOPPERSץȤդ뤳ȡޤ
    ܥɥȤΥ桼ޤϥɥ桼Τʤͳ˴
    ᤫ⡤嵭ԤTOPPERSץȤդ뤳ȡ

ܥɥȤϡAUTOSARAUTomotive Open System ARchitecture˻
˴ŤƤ롥嵭εϡAUTOSARŪ⻺ΤǤϤ
AUTOSARϡAUTOSARͤ˴ŤեȥŪѤ
ԤФơAUTOSARѡȥʡˤʤ뤳ȤƤ롥

ܥɥȤϡ̵ݾڤ󶡤ƤΤǤ롥嵭Ԥ
TOPPERSץȤϡܥɥȤ˴ؤơλŪФ
ŬޤơʤݾڤԤʤޤܥɥȤ
ˤľŪޤϴŪʤ»˴ؤƤ⡤Ǥ
ʤ

$Id: com_spec.txt 4195 2014-03-10 03:27:44Z shigihara $
----------------------------------------------------------------------


(1) 


A-COMϡAUTOSARΰʲλͤ˽򤷤Ƴȯ롥
Specification of Communication V4.2.0 R4.0 Rev 3

׵ͤǤΤǡб׵ͤꤷƳȯԤ
ܥɥȤǤϡAUTOSARͤǡA-COMݡȤ͡ݡ
Ȥʤۣ͡ʻͤβ롥ޤƥॵӥȥѥ
᡼ƥʤ˴ؤܺ٤ʻͤϡcom_system_service.txt
com_container.txtˡ줾쵬ꤹ롥

ΥɥȤǸڤΤʤ׵ͤ˴ؤƤϡ嵭ͤ˽򤷤
ȯƤΤȤ롥

 ȯԺѤ߻ֹ 
NCOM041
COMa005


(1.1) ά

MF  Com_MainFunctionTxCom_MainFunctionRx
MFTXCom_MainFunctionTx
MFRXCom_MainFunctionRx
DM  ǥåɥ饤˥
MDT Minimum Delay Time
TMS Transmission Mode Selector


(2) ݡȤ뵡ǽ


(2.1) ǽ


  MFTXˤDIRECT [*]
  MFTXˤPERIODIC [*]
  MFTXˤMIXED [*]
  TriggerIPDUSendˤȥꥬ [*]
  N-times [*]
  λ [*]
  ѥå [*]
  ǥѴ [*]
  MDT [*]
  TMS [*]
  Хå [*]
  륢 [*]
  DM [*]

  MFRXˤƱ [*]
  RxIndicationˤ¨ [*]
  ʥͼ [*]
  ѥå [*]
  ǥѴĥ [*]
  ե륿 [*]
  Хå [*]
  륢 [*]
  DM [*]
ǡ¤
  ʥ [*]
  IPDU [*]
  IPDU롼 [*]
  åץǡȥӥå [*]
  ̵ [*]

  Comν [*]
  Com̤ [*]
  I-PDU롼׳ϡ [*]
  ݥȥӥ

  [*]:ܥǥϥ֥åо


(2.2) ѥ᡼ƥ

ComGeneral
  ComConfigurationUseDet
  ComEnableMDTForCyclicTransmission
  ComRetryFailedTransmitRequests
  ComSupportedIPduGroups
  ComVersionInfoApi
ComConfig
  ComConfigurationId
  ComTimeBase
    ComRxTimeBase
    ComTxTimeBase
  ComIPdu
    ComIPduCallout
    ComIPduCancellationSupport
    ComIPduDirection
    ComIPduHandleId
    ComIPduSignalProcessing
    ComIPduType
    ComIPduGroupRef
    ComIPduSignalRef
    ComPduIdRef
    ComIPduReplication
      ComIPduReplicationQuorum
      ComIPduReplicaRef
    ComTxIPdu
      ComMinimumDelayTime
      ComTxIPduClearUpdateBit
      ComTxIPduUnusedAreasDefault
      ComTxModeTrue
        ComTxMode
          ComTxModeMode
          ComTxModeNumberOfRepetitions
          ComTxModeRepetitionPeriod
          ComTxModeTimeOffset
          ComTxModeTimePeriod
      ComTxModeFalse
        ComTxMode
          ComTxModeMode
          ComTxModeNumberOfRepetitions
          ComTxModeRepetitionPeriod
          ComTxModeTimeOffset
          ComTxModeTimePeriod
  ComIPduGroup
    ComIPduGroupHandleId
  ComSignal
    ComBitPosition
    ComBitSize
    ComDataInvalidAction
    ComErrorNotification
    ComFirstTimeout
    ComHandleId
    ComInvalidNotification
    ComNotification
    ComRxDataTimeoutAction
    ComSignalDataInvalidValue
    ComSignalEndianness
    ComSignalInitValue
    ComSignalLength
    ComSignalType
    ComTimeout
    ComTimeoutNotification
    ComTransferProperty
    ComUpdateBitPosition
    ComFilter
      ComFilterAlgorithm
      ComFilterMask
      ComFilterMax
      ComFilterMin
      ComFilterOffset
      ComFilterPeriod
      ComFilterX


(2.3) ƥॵӥ

Com_Init [*]
Com_DeInit [*]
Com_ClearIpduGroupVector [*]
Com_SetIpduGroup [*]
Com_IpduGroupControl [*]
Com_ReceptionDMControl [*]
Com_SendSignal [*]
Com_ReceiveSignal [*]
Com_InvalidateSignal [*]
Com_TriggerIPDUSend [*]
Com_SwitchIpduTxMode [*]
Com_RxIndication [*]
Com_TxConfirmation [*]
Com_MainFunctionRx [*]
Com_MainFunctionTx [*]
Com_GetStatus [*]
Com_GetConfigurationId [*]
Com_GetVersionInfo

  [*]:ܥǥϥ֥åо


(2.4) Хå륢

Com_CbkTxAck [*]
Com_CbkTxErr [*]
Com_CbkTxTOut [*]
Com_CbkRxAck [*]
Com_CbkRxTOut [*]
Com_CbkInv [*]
Com_CbkCounterErr
Com_RxIpduCallout [*]
Com_TxIpduCallout [*]

  [*]:ܥǥϥ֥åо


(3) ݡȤʤǽ

㵡ǽ

  ʥ륲ȥ
  ݸ

  ʥ륲ȥ
  ݸ
ǡ¤
  ʥ륰롼
  緿ǡ
  ưŪǡ
  ɥХåե

  [*]:ܥǥϥ֥åо


(3.1) ѥ᡼ƥ

ComConfig
  ComTimeBase
    ComGwTimeBase
  ComGwMapping
    ComGwDestination
      ComGwSignal
        ComGwSignalRef
      ComGwDestinationDescription
        ComBitPosition
        ComSignalEndianness
        ComSignalInitValue
        ComTransferProperty
        ComUpdateBitPosition
        ComGwIPduRef
        ComFilter
          ComFilterAlgorithm
          ComFilterMask
          ComFilterMax
          ComFilterMin
          ComFilterOffset
          ComFilterPeriod
          ComFilterX
    ComGwSource
      ComGwSignal
        ComGwSignalRef
      ComGwSourceDescription
        ComBitPosition
        ComBitSize
        ComSignalEndianness
        ComSignalLength
        ComSignalType
        ComUpdateBitPosition
        ComGwIPduRef
  ComIPdu
    ComIPduTriggerTransmitCallout
    ComIPduSignalGroupRef
    ComIPduCounter
      ComIPduCounterErrorNotification
      ComIPduCounterSize
      ComIPduCounterStartPosition
      ComIPduCounterThreshold
  ComIPduGroup
    ComIPduGroupGroupRef
  ComSignal
    ComSystemTemplateSystemSignalRef
  ComSignalGroup
    ComDataInvalidAction
    ComErrorNotification
    ComFirstTimeout
    ComHandleId
    ComInvalidNotification
    ComNotification
    ComRxDataTimeoutAction
    ComTimeout
    ComTimeoutNotification
    ComTransferProperty
    ComUpdateBitPosition
    ComSystemTemplateSignalGroupRef
    ComGroupSignal
      ComBitPosition
      ComBitSize
      ComHandleId
      ComSignalDataInvalidValue
      ComSignalEndianness
      ComSignalInitValue
      ComSignalLength
      ComSignalType
      ComTransferProperty
      ComSystemTemplateSystemSignalRef
      ComFilter
        ComFilterAlgorithm
        ComFilterMask
        ComFilterMax
        ComFilterMin
        ComFilterOffset
        ComFilterPeriod
        ComFilterX


(3.2) ƥॵӥ

Com_SendDynSignal
Com_ReceiveDynSignal
Com_UpdateShadowSignal
Com_SendSignalGroup
Com_ReceiveSignalGroup
Com_ReceiveShadowSignal
Com_InvalidateShadowSignal
Com_InvalidateSignalGroup
Com_TriggerTransmit
Com_TpRxIndication
Com_TpTxConfirmation
Com_StartOfReception
Com_CopyRxData
Com_CopyTxData
Com_MainFunctionRouteSignals

  [*]:ܥǥϥ֥åо


(4) ɲáѻ



(4.1) ե졼ǡλˡ

ͥ졼륳ե졼ǡ(Com_ConfigType)ϡ
"com_config"Ȥѿ̾ǡComConfigƥ롥
[NCOM024]
äơCom_InitǤϰʲΤ褦˻ꤹ롥źComConfigurationId
ǻꤷͤȤʤ롥


Com_Init(&com_config[0]);


(4.2) PDUΥǡ

AUTOSARͤǤϡPDU-IDPDUĹ򼨤ǡΥCOMå
ͥ졼ComStack_Cfg.hȵꤵƤ롥
[EcuC041_Conf][EcuC042_Conf][COMTYPE029]
ͥ졼ۤɤƤ̵ᡤܻͤǤϡ
ComStack_Cfg.hϻѤComStack_Types.hPDUϢΥǡľ
롥[NCOM025]


(4.3) ComTxIPduClearUpdateBitά䴰

AUTOSARͤǤϡʥΥåץǡȥӥåȤ򥯥ꥢ륿ߥ󥰤
ComTxIPduClearUpdateBit˻ꤹȵꤵƤ롥
ComTxIPduClearUpdateBit˻ǽͤ
Confirmation   Confirmation
Transmit       夹
TriggerTransmitCom_TriggerTransmitƤӽФ
λǤꡤ¿٤0..1Ǥ롥[COM576_Conf]
¿٤0..1ǤꡤάǽåץǡȥӥåȤĥʥ뤬
°ƤIPDUˤϻ꤬ɬפǤȹͤ뤿ᡤܻͤǤϡ
ComTxIPduClearUpdateBitλά硤ǥեͤ"Transmit"
ͥ졼䴰롥[NCOM030]


(4.3) åץǡȥӥåȤĥʥDMޤΥꥻåȥߥ

AUTOSARͤǤϡåץǡȥӥåȤĥʥDMޤꥻåȤ
륿ߥ󥰤Τ˵ꤵƤʤ.[COM715]
ܻͤǤϡåץǡȥӥåȤĥʥϡåץǡȥӥåȤΩ
äƤ륷ʥˡDMޤꥻåȤ롥[NCOM031]


(4.4) PduR_ComTransmitƽФߥ

AUTOSARͤǤϡ¨оݤΥʥCom_SendSignalȯԤˡ
Com_SendSignalǡPduR_ComTransmitƤӽФMFTX¹Ի˸
ӽФ¸ȤʤäƤ롥ܻͤǤϡΧMFTXƽФˡ
PduR_ComTransmitƤӽФΤȤ롥[NCOM006]


(4.5) MFƽФˡ

AUTOSARͤǤϡDMλ֤ñ̤ǻꤹ롥λ֤η
¬ϡֳ˸ƤӽФMFθƽФˤäƹԤMFθƽФ
֤ñ̤ǻꤹ롥ܻͤǤϡƥѥ᡼˻ꤵ줿äѤ
ʲˡMFƽФλФԤ[NCOM005]

оݻ֤MFƽФֳֻ֤ǳڤ
  MFƽФ = оݻ / MFƽФֳֻ

  ) ComTxModeTimePeriod: 5.0ComTxTimeBase: 1.0 ξ硤
      MFƽФ5

оݻ֤MFƽФֳֻ֤ǳڤʤ
  MFƽФ = (оݻ / MFƽФֳֻ) + 1

  ) ComTxModeTimePeriod: 5.0ComTxTimeBase: 2.0 ξ硤
      MFƽФ3 (ڤ夲(ceil))


(4.6) ComTxModeTimeOffsetμ갷

Ϥ륿ߥ󥰤ϡMFTXθƽФȤϴطʤäơ
ComTxModeTimeOffset˻ꤵ줿ֳ֤֤μ¤˶ˤϡФ
MFƽФ+1ߥ󥰤Ԥ[NCOM020]

) ComTxTimeBase      : 1.0
    ComTxModeTimeOffset: 2.0 (MFƽФ3(2+1))
    ComTxModeTimePeriod: 4.0 (MFƽФ4)

      [A]
     0 !  1    2   [3]   4    5    6   [7]   8    9    10  [11]  12   13
     |----|----|----|----|----|----|----|----|----|----|----|----|----|
 MF  ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^

  [A]Υߥ󥰤Com_IpduGroupControlˤϤ줿硤
  2ܤƤޤȡ1.xäƤޤǡθ3
  ܤ[3]ǺǽԤʸμ4.0äФƤϡФMFƽ
  ʬMF¹ԸԤȤǡꤷ¸롥


(4.7) ComFirstTimeoutComTimeoutμ갷

DM򳫻Ϥ륿ߥ󥰤ϡMFθƽФȤϴطʤäơ
ComFirstTimeout˻ꤵ줿֤μ¤˷в᤹ˤϡФMFƽФ
+1ߥ󥰤ǥॢȤ򸡽Ф롥[NCOM033]
ComTimeoutϡCom_RxIndicationˤäƥꥻåȤ줿Ʊ꤬ͤ
뤿ᡤФMFƽФ+1ߥ󥰤ǥॢȤ򸡽Ф
롥[NCOM034]
Com_RxIndicationƤӽФʤˡComTimeoutλ֤ǥॢ
Ȥ¬ϡ+1ɬפϤʤ[NCOM035]

) ComRxTimeBase  : 1.0
    ComFirstTimeout: 2.0 (MFƽФ3(2+1))
    ComTimeout     : 3.0 (MFƽФϾˤ3 or 4(3+1))

      [A]
     0 !  1    2   [3]   4    5   [6]   7    8    9    10  [11]  12   13
     |----|----|----|----|----|----|----|----|----|----|----|----|----|
 MF  ^    ^    ^    ^    ^    ^    ^    ^ !  ^    ^    ^    ^    ^    ^
                                         [B]

  [A]Υߥ󥰤Com_IpduGroupControlˤäDMϤ줿硤2
  ܤǥॢȤ򸡽ФƤޤȡ1.xäǥॢΤƤޤ
  ǡθ3ܤ[3]ǥॢȸФԤ
  θ塤Com_RxIndicationƤӽФʤޤޤǤСComTimeoutλ
  ФMFƽФ̤ꡤ3ܤ[6]ǥॢȸФԤ
  θ塤[B]Υߥ󥰤Com_RxIndicationˤäơDMޤ
  ComTimeout˥åȤ줿ϡ2.xäǥॢΤƤޤ
  Τ򤱤뤿ˡθ4ܤ[11]ǥॢȸФԤ

DM򳫻Ϥ륿ߥ󥰤MFƽФΥߥ󥰤ΤߤǤΤǡΧ
  ФMFƽФʬǥॢȸФԤ


(5) AUTOSARͤ­



(5.1) ʤμκƳ

[COM787][COM222]ǤϡCom_IpduGroupControlˤäƽѥ
˴ؤƤ뤬PERIODICIPDUʤߢϤ
줿ˡoffsetϤޤ뤳Ȥɤ߼ʤ
äơPERIODICIPDUCom_IpduGroupControlߤ줿硤
󥿤ϤλǻߤƤθ塤Com_IpduGroupControlʤ
ƤӽФ줿硤󥿤ˤΤޤ޼Ƴ롥
[COMa001]

offsetϥߥ󥰤IPDUʬơʬ
  ͤ뤿ᡤܻͤ˾ޤ
MIXEDˤƱͤǤ


(5.2) IPDURTEؤ̵ͭ

AUTOSARͽTable 5IPDU߻ο񤤤ȤơRTEѤƤ
Ƥ̵뤹ȵҤ롥PduRؤIPDUˡCom_TxConfirmation
ƤӽФˡIPDUߤ줿ˡθCom_TxConfirmation
Ƥ⡤RTEؤΤԤʤȲ᤹롥[COMa002]


(5.3) ʥѻΥåץǡȥӥåȤΥå

AUTOSARͽǤϡCom_SendSignalˤäƥʥ뤬줿硤
ͤѲʤƤ⡤åץǡȥӥåȤ򥻥åȤ뤫ɤε
꤬ʤDMˤƥåץǡȥӥåȤΥå̵ͭȽ
ԤᡤCom_SendSignalǤϥʥͤ˴ؤ餺Χåץǡȥӥ
Ȥ򥻥åȤ롥[COMa003]


(5.4) 륢Ȥfalse֤ο

AUTOSARͽ8.6.3.2ˡIPDU륢ȤͤfalseǤο
񤤤ܤƤ뤬ͥ꿶ƤʤIPDU륢Ȥ
ͤfalseǤ硤ʹߤIPDUνϼ»ܤʤȤ롥[COMa004]


(5.5) Com_RxIndicationˤIPDUΥǡĹˤ뿶

AUTOSARͽ7.4.5.4ˡIPDUΥǡĹͤ꾮
ο񤤤ܤƤ뤬ͥ꿶ƤʤCom_RxIndication
ǤϡͤIPDUΥǡĹϰʹߤν»ܤ
ʤ[COMa005]


ʾ
