
	TOPPERS/A-CANIF ͽ

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

----------------------------------------------------------------------
TOPPERS/A-CANIF
    Automotive CANIF

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: canif_spec.txt 4198 2014-03-11 08:41:39Z panasonic-ayane $
----------------------------------------------------------------------


(1) 


A-CANIFϡAUTOSARΰʲλͤ˽򤷤Ƴȯ롥
Specification of CAN Interface V5.0.0 R4.0 Rev 3

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

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

 ȯԺѤ߻ֹ 
NCANIF017
CANIFa001

 ֹ 
NCANIF007
NCANIF008


(1.1) ά

CCMSM : CAN interface Controller Mode State Machine 
HOH   : Hardware Object Handle
HTH   : Hardware Receive Handle
HRH   : Hardware Transmit Handle
DLC   : Data Length Code
PDU   : Protocol Data Unit
IPDU  : Interaction layer Protocol Data Unit
LPDU  : Data Link Layer Protocol Data Unit

[*] ܥǥϥ֥åо


(2) ݡȤ뵡ǽ


(2.1) ǽ

㵡ǽ
 [*]

  ׵ [*]
  ե᡼ [*]
  󥻥 [*]

  ǥ [*]
  LPDUǡɹ [*]
  DLCå [*]
ξּ
  ե᡼ּ [*]
  ξɹ [*]
  ξɹ [*]
ȥ⡼
  ȥ⡼ [*]
  ȥ⡼ɼ [*]
  ȥ⡼ [*]
  ȥХOFF [*]
PDU⡼
  PDU⡼ [*]
  PDU⡼ɼ [*]
CANɥ饤
  CANɥ饤еư [*]
ܡ졼
  ܡ졼ȳǧ [*]
  ܡ졼ѹ [*]
ǧ [*]
åܥå
  FullCAN [*]
  ϡɥ֥ȥϥɥ [*]
С [*]
DET顼 [*]


(2.2) ѥ᡼ƥ

CanIfCtrlDrvCfg
  CanIfCtrlDrvTxCancellation
  CanIfCtrlDrvInitHohConfigRef [*]
  CanIfCtrlDrvNameRef [*]
  CanIfCtrlCfg
    CanIfCtrlId [*]
    CanIfCtrlWakeupSupport [*]
    CanIfCtrlCanCtrlRef [*]
CanIfDispatchCfg
  CanIfDispatchUserCtrlBusOffName [*]
  CanIfDispatchUserCtrlBusOffUL [*]
  CanIfDispatchUserCtrlModeIndicationName [*]
  CanIfDispatchUserCtrlModeIndicationUL [*]
  CanIfDispatchUserValidateWakeupEventName [*]
  CanIfDispatchUserValidateWakeupEventUL [*]
CanIfInitCfg
  CanIfInitCfgSet
  CanIfInitHohCfg
    CanIfInitRefCfgSet
    CanIfHrhCfg
      CanIfHrhSoftwareFilter
      CanIfHrhCanCtrlIdRef [*]
      CanIfHrhIdSymRef [*]
      CanIfHrhRangeCfg
        CanIfHrhRangeRxPduRangeCanIdType
    CanIfHthCfg
      CanIfHthCanCtrlIdRef [*]
      CanIfHthIdSymRef [*]
  CanIfTxPduCfg
    CanIfTxPduCanId [*]
    CanIfTxPduCanIdType [*]
    CanIfTxPduDlc [*]
    CanIfTxPduId [*]
    CanIfTxPduReadNotifyStatus [*]
    CanIfTxPduType [*]
    CanIfTxPduUserTxConfirmationName [*]
    CanIfTxPduUserTxConfirmationUL [*]
    CanIfTxPduBufferRef [*]
    CanIfTxPduRef [*]
  CanIfRxPduCfg
    CanIfRxPduCanId [*]
    CanIfRxPduCanIdType [*]
    CanIfRxPduDlc [*]
    CanIfRxPduId [*]
    CanIfRxPduReadData [*]
    CanIfRxPduReadNotifyStatus [*]
    CanIfRxPduUserRxIndicationName [*]
    CanIfRxPduUserRxIndicationUL [*]
    CanIfRxPduHrhIdRef [*]
    CanIfRxPduRef [*]
  CanIfBufferCfg
    CanIfBufferSize [*]
    CanIfBufferHthRef [*]
CanIfPrivateCfg
  CanIfPrivateDlcCheck
  CanIfSupportTTCAN
CanIfPublicCfg
  CanIfPublicCancelTransmitSupport [*]
  CanIfPublicCddHeaderFile [*]
  CanIfPublicChangeBaudrateSupport [*]
  CanIfPublicDevErrorDetect [*]
  CanIfPublicHandleTypeEnum [*]
  CanIfPublicMultipleDrvSupport
  CanIfPublicNumberOfCanHwUnits [*]
  CanIfPublicPnSupport
  CanIfPublicReadRxPduDataApi [*]
  CanIfPublicReadRxPduNotifyStatusApi [*]
  CanIfPublicReadTxPduNotifyStatusApi [*]
  CanIfPublicSetDynamicTxIdApi
  CanIfPublicTxBuffering
  CanIfPublicTxConfirmPollingSupport [*]
  CanIfPublicVersionInfoApi
  CanIfPublicWakeupCheckValidSupport [*]


(2.3) ƥॵӥ

CanIf_Init [*]
CanIf_SetControllerMode [*]
CanIf_GetControllerMode [*]
CanIf_Transmit [*]
CanIf_CancelTransmit [*]
CanIf_ReadRxPduData [*]
CanIf_ReadTxNotifStatus [*]
CanIf_ReadRxNotifStatus [*]
CanIf_SetPduMode [*]
CanIf_GetPduMode [*]
CanIf_GetVersionInfo
CanIf_CheckWakeup [*]
CanIf_CheckValidation [*]
CanIf_GetTxConfirmationState [*]
CanIf_CheckBaudrate [*]
CanIf_ChangeBaudrate [*]
CanIf_TxConfirmation [*]
CanIf_RxIndication [*]
CanIf_ControllerBusOff [*]
CanIf_ControllerModeIndication [*]


(2.4) Хå

<User_TxConfirmation>(PduIdType TxPduId) [*]
<User_RxIndication>(PduIdType RxPduId, PduInfoType* PduInfoPtr) [*]
<User_ValidateWakeupEvent>(EcuM_WakeupSourceType sources) [*]
<User_ControllerBusOff>(uint8 ControllerId) [*]
<User_ControllerModeIndication>(uint8 ControllerId, CanIf_ControllerModeType ControllerMode) [*]


(3) ݡȤʤǽ

㵡ǽ

  󥻥륳ե᡼
  Хåե
  ưŪID

  ե륿
ޥCANɥ饤Хݡ
CANȥ󥷡
  ȥ󥷡Х⡼
  ȥ󥷡Х⡼ɼ
  ȥ󥷡Х⡼
  ȥ󥷡еưͳ
  ȥ󥷡еư⡼
  ȥ󥷡еưǧ
  ȥ󥷡WUFե饰ꥢ
  ȥ󥷡WUFե饰ꥢ
  ȥ󥷡WAKEե饰ǧ
  ȥ󥷡WAKEե饰
ѡͥåȥ
åܥå
  BasicCAN


(3.1) ѥ᡼ƥ

CanIfDispatchCfg
    CanIfDispatchUserCheckTrcvWakeFlagIndicationName [*]
    CanIfDispatchUserCheckTrcvWakeFlagIndicationUL [*]
    CanIfDispatchUserClearTrcvWufFlagIndicationName [*]
    CanIfDispatchUserClearTrcvWufFlagIndicationUL [*]
    CanIfDispatchUserConfirmPnAvailabilityName
    CanIfDispatchUserConfirmPnAvailabilityUL
    CanIfDispatchUserTrcvModeIndicationName [*]
    CanIfDispatchUserTrcvModeIndicationUL [*]
CanIfInitCfg
  CanIfInitHohCfg
    CanIfHrhCfg
      CanIfHrhCanHandleTypeRef
      CanIfHrhRangeCfg
        CanIfHrhRangeRxPduLowerCanId
        CanIfHrhRangeRxPduUpperCanId
    CanIfHthCfg
      CanIfHthCanHandleTypeRef
  CanIfTxPduCfg
    CanIfTxPduPnFilterPdu
    CanIfTxPduBswSchExclAreaIdRef
    CanIfTTTxFrameTriggering
  CanIfRxPduCfg
    CanIfRxPduBswSchExclAreaIdRef
    CanIfRxPduCanIdRange
      CanIfRxPduCanIdRangeLowerCanId
      CanIfRxPduCanIdRangeUpperCanId
    CanIfTTRxFrameTriggering
CanIfPrivateCfg
    CanIfPrivateSoftwareFilterType
  CanIfTTGeneral
CanIfPublicCfg
    CanIfPublicWakeupCheckValidByNM
CanIfTrcvDrvCfg
  CanIfTrcvCfg
    CanIfTrcvId [*]
    CanIfTrcvWakeupSupport [*]
    CanIfTrcvCanTrcvRef [*]


(3.2) ƥॵӥ

CanIf_SetDynamicTxId
CanIf_SetTrcvMode [*]
CanIf_GetTrcvMode [*]
CanIf_GetTrcvWakeupReason [*]
CanIf_SetTrcvWakeupMode [*]
CanIf_ClearTrcvWufFlag [*]
CanIf_CheckTrcvWakeFlag [*]
CanIf_CancelTxConfirmation
CanIf_ConfirmPnAvailability
CanIf_ClearTrcvWufFlagIndication [*]
CanIf_CheckTrcvWakeFlagIndication [*]
CanIf_TrcvModeIndication [*]


(3.3) Хå

<User_ConfirmPnAvailability>(uint8 TransceiverId)
<User_ClearTrcvWufFlagIndication>(uint8 TransceiverId) [*]
<User_CheckTrcvWakeFlagIndication>(uint8 TransceiverId) [*]
<User_TrcvModeIndication>(uint8 TransceiverId, CanTrcv_TrcvModeType TransceiverMode) [*]


(4) ɲáѻ



(5) AUTOSARͤ­



(5.1) CanIf_ReadRxPduDataμ»ܾ

CanIf_ReadRxPduDataϰǻꤵ줿CanRxPduIdμǡƤӽФ
̥쥤󶡤ΤǤ뤬оݤCanRxPduIdμǡ٤
Ƥʤ(CanIf_RxIndicationˤäоݤCanRxPduIdμǡ
٤Ƥʤ)ϡ̥ͤ쥤󶡤Ƥޤ
뤿ᡤоݤCanRxPduIdμǡ٤Ƥʤϡ
»ܤˡE_NOT_OK֤[CANIFa001]


ʾ
