Changes between Version 9 and Version 10 of spec/Can


Ignore:
Timestamp:
Aug 26, 2015, 6:03:23 PM (9 years ago)
Author:
fujisft-shigihara
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • spec/Can

    v9 v10  
    99= 概要 =
    1010* COMスタックのMCALで、CANプロトコルを扱う
     11* 送受信に使用するメッセージボックスを、HOH(Hardware Object Handle)と呼ぶ
     12  * 送信のHOHをHTH、受信のHOHをHRHと区別する
    1113* CANに関する解説サイト
    1214  * [https://vector.com/vj_beginners-can_jp.html はじめてのCAN(ベクター・ジャパン株式会社)]
     
    100102void Can_Init(const Can_ConfigType* Config)
    101103}}}
     104* Canモジュールの初期化を行う
     105* 引数Configで与えたポインタが指すコンフィギュレーションデータを使用して初期化される
     106  * [wiki:tips_configuration_class#%E3%83%9D%E3%82%B9%E3%83%88%E3%83%93%E3%83%AB%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0 ポストビルド]のパラメータは本初期化により設定値を変更できる
     107* 引数にNULLを与えた場合、デフォルトのコンフィギュレーションが設定される(本仕様はR4.1系で削除された)
     108* [wiki:spec_CANInterface#CanIf_Init CanIfのCanIf_Init]では、引数にNULLを与えた場合、デフォルトのコンフィギュレーションが設定される仕様となっていることから、TOPPERS/A-CANではCan_Initも同様にNULLが与えられた場合、デフォルトのコンフィギュレーションを設定するように実装している
    102109
    103110== Can_GetVersionInfo ==
     
    110117Std_ReturnType Can_CheckBaudrate(uint8 Controller, const uint16 Baudrate)
    111118}}}
     119* 引数Controllerで与えたCANコントローラが、引数Baudrateで与えたボーレートg使用可能かチェックする
    112120
    113121== Can_ChangeBaudrate ==
     
    115123Std_ReturnType Can_ChangeBaudrate(uint8 Controller, const uint16 Baudrate)
    116124}}}
     125* 引数Controllerで与えたCANコントローラを、引数Baudrateで与えたボーレートへ変更する
    117126
    118127== Can_SetControllerMode ==
     
    120129Can_ReturnType Can_SetControllerMode(uint8 Controller, Can_StateTransitionType Transition)
    121130}}}
     131* 引数Controllerで与えたCANコントローラを、引数Transitionで与えた状態へ変更する
    122132
    123133== Can_DisableControllerInterrupts ==
     
    125135void Can_DisableControllerInterrupts(uint8 Controller)
    126136}}}
     137* 引数Controllerで与えたCANコントローラに関連する割込みを禁止する
    127138
    128139== Can_EnableControllerInterrupts ==
     
    130141void Can_EnableControllerInterrupts(uint8 Controller)
    131142}}}
     143* 引数Controllerで与えたCANコントローラに関連する割込みを許可する
    132144
    133145== Can_CheckWakeup ==
     
    140152Can_ReturnType Can_Write(Can_HwHandleType Hth, const Can_PduType* PduInfo)
    141153}}}
     154* 引数Hthで与えたHTHから、引数PduInfoで与えたデータを送信する
    142155
    143156== Can_MainFunction_Write ==
     
    176189* 型:Container
    177190* 多重度:1
     191* [#Can_Init Can_Init]により設定されるコンフィギュレーション全体のコンテナ
     192* TOPPERS/A-CANでは、[wiki:tips_configuration_class#%E3%83%9D%E3%82%B9%E3%83%88%E3%83%93%E3%83%AB%E3%83%89%E3%82%BF%E3%82%A4%E3%83%A0 ポストビルド]による複数のコンフィギュレーション定義に対応するため、多重度を1..*として本コンテナを複数定義可能としている
    178193
    179194== CanController ==
     
    183198* 型:Container
    184199* 多重度:1..*
     200* CANコントローラを設定するコンテナ
    185201
    186202== CanBusoffProcessing ==
     
    189205}}}
    190206* 型:EnumerationParam
    191 * 多重度:1
     207  * INTERRUPT:割込みによって行う
     208  * POLLING:ポーリングによって行う
     209* 多重度:1
     210* バスオフ検知方法を設定する
    192211
    193212== CanControllerActivation ==
     
    197216* 型:BooleanParam
    198217* 多重度:1
     218* CANコントローラの使用有無
    199219
    200220== CanControllerBaseAddress ==
     
    204224* 型:IntegerParam
    205225* 多重度:1
     226* CANコントローラのベースアドレス
    206227
    207228== CanControllerId ==
     
    211232* 型:IntegerParam
    212233* 多重度:1
     234* CANコントローラのID
     235* TOPPERS/A-CANでは、処理速度向上のため、0から連番とする制約を設けている
    213236
    214237== CanRxProcessing ==
     
    217240}}}
    218241* 型:EnumerationParam
    219 * 多重度:1
     242  * INTERRUPT:割込みによって行う
     243  * POLLING:ポーリングによって行う
     244* 多重度:1
     245* メッセージ受信検知方法を設定する
    220246
    221247== CanTxProcessing ==
     
    224250}}}
    225251* 型:EnumerationParam
    226 * 多重度:1
     252  * INTERRUPT:割込みによって行う
     253  * POLLING:ポーリングによって行う
     254* 多重度:1
     255* メッセージ送信完了検知方法を設定する
    227256
    228257== CanWakeupProcessing ==
     
    231260}}}
    232261* 型:EnumerationParam
    233 * 多重度:1
     262  * INTERRUPT:割込みによって行う
     263  * POLLING:ポーリングによって行う
     264* 多重度:1
     265* ウェイクアップ検知方法を設定する
    234266
    235267== CanWakeupSupport ==
     
    239271* 型:BooleanParam
    240272* 多重度:1
     273* ウェイクアップのサポート有無
    241274
    242275== CanControllerDefaultBaudrate ==
     
    246279* 型:Reference
    247280* 多重度:1
     281* [#CanControllerBaudrateConfig CanControllerBaudrateConfig]への参照
     282* デフォルトのボーレートを設定する
    248283
    249284== CanCpuClockRef ==
     
    267302* 型:Container
    268303* 多重度:1..*
     304* ボーレートを設定するコンテナ
    269305
    270306== CanControllerBaudRate ==
     
    274310* 型:IntegerParam
    275311* 多重度:1
     312* ボーレートの値
    276313
    277314== CanControllerPropSeg ==
     
    281318* 型:IntegerParam
    282319* 多重度:1
     320* 伝播時間セグメントを設定する
     321* 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html
    283322
    284323== CanControllerSeg1 ==
     
    288327* 型:IntegerParam
    289328* 多重度:1
     329* 位相バッファセグメント1を設定する
     330* 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html
    290331
    291332== CanControllerSeg2 ==
     
    295336* 型:IntegerParam
    296337* 多重度:1
     338* 位相バッファセグメント2を設定する
     339* 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html
    297340
    298341== CanControllerSyncJumpWidth ==
     
    302345* 型:IntegerParam
    303346* 多重度:1
     347* 再同期ジャンプ幅を設定する
     348* 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_3.html
    304349
    305350== CanFilterMask ==
     
    309354* 型:Container
    310355* 多重度:0..*
     356* フィルタマスクを設定するコンテナ
    311357
    312358== CanFilterMaskValue ==
     
    316362* 型:IntegerParam
    317363* 多重度:1
     364* 受信したCAN-IDに対して適用するフィルタマスクを設定する
    318365
    319366== CanTTController ==
     
    331378* 型:Container
    332379* 多重度:1..*
     380* HOHを設定するコンテナ
    333381
    334382== CanHandleType ==
     
    337385}}}
    338386* 型:EnumerationParam
    339 * 多重度:1
     387  * BASIC:ベーシックCAN
     388  * FULL:フルCAN
     389* 多重度:1
     390* メッセージマネジメントを設定する
     391* 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html
    340392
    341393== CanIdType ==
     
    344396}}}
    345397* 型:EnumerationParam
    346 * 多重度:1
     398  * EXTENDED:拡張フォーマット
     399  * MIXED:混在
     400  * STANDARD:標準フォーマット
     401* 多重度:1
     402* データフレームの形式
    347403
    348404== CanIdValue ==
     
    352408* 型:IntegerParam
    353409* 多重度:1
     410* [#CanFilterMaskValue CanFilterMaskValue]によるマスク後の値と比較する値を設定する
    354411
    355412== CanObjectId ==
     
    359416* 型:IntegerParam
    360417* 多重度:1
     418* HOHのID
     419* 0から連番とする制約がある
    361420
    362421== CanObjectType ==
     
    365424}}}
    366425* 型:EnumerationParam
    367 * 多重度:1
     426  * RECEIVE:受信
     427  * TRANSMIT:送信
     428* 多重度:1
     429* HOHが、受信(HRH)か送信(HTH)かを設定する
    368430
    369431== CanControllerRef ==
     
    373435* 型:Reference
    374436* 多重度:1
     437* [#CanController CanController]への参照
     438* HRHを送受信するCANコントローラを関連付ける
    375439
    376440== CanFilterMaskRef ==
     
    380444* 型:Reference
    381445* 多重度:0..1
     446* [#CanFilterMask CanFilterMask]への参照
     447* HRHで使用するフィルタマスクを指定する
    382448
    383449== CanMainFunctionRWPeriodRef ==
     
    387453* 型:Reference
    388454* 多重度:0..1
     455* [#CanMainFunctionRWPeriods CanMainFunctionRWPeriods]への参照
     456* 送受信をポーリングで行う場合のポーリング周期を設定する
    389457
    390458== CanTTHardwareObjectTrigger ==
     
    402470* 型:Container
    403471* 多重度:1
     472* Canモジュールの全体的な設定を行うコンテナ
    404473
    405474== CanChangeBaudrateApi ==
     
    409478* 型:BooleanParam
    410479* 多重度:1
     480* [#Can_ChangeBaudrate Can_ChangeBaudrate]の使用有無
    411481
    412482== CanDevErrorDetection ==
     
    416486* 型:BooleanParam
    417487* 多重度:1
     488* DETエラー通知の使用有無
    418489
    419490== CanHardwareCancellation ==
     
    423494* 型:BooleanParam
    424495* 多重度:1
     496* ハードウェアによる送信キャンセルの使用有無
     497* 本パラメータはR4.2系で削除された
    425498
    426499== CanIdenticalIdCancellation ==
     
    430503* 型:BooleanParam
    431504* 多重度:1
     505* 送信を保留しているPDUの送信キャンセルの使用有無
     506* 本パラメータはR4.2系で削除された
    432507
    433508== CanIndex ==
     
    437512* 型:IntegerParam
    438513* 多重度:1
     514* CanモジュールのインスタンスID
     515* 1つしか使用しない場合0を指定する
    439516
    440517== CanLPduReceiveCalloutFunction ==
     
    444521* 型:FunctionName
    445522* 多重度:0..1
     523* CANバスからデータを受信し、PDUを上位レイヤへ送信する際のコールバック使用有無
    446524
    447525== CanMainFunctionBusoffPeriod ==
     
    451529* 型:FloatParam
    452530* 多重度:0..1
     531* バスオフ検知をポーリングで行う場合のポーリング周期を設定する
    453532
    454533== CanMainFunctionModePeriod ==
     
    458537* 型:FloatParam
    459538* 多重度:1
     539* CANコントローラのモード変更通知検知のポーリング周期を設定する
    460540
    461541== CanMainFunctionWakeupPeriod ==
     
    465545* 型:FloatParam
    466546* 多重度:0..1
     547* ウェイクアップ検知をポーリングで行う場合のポーリング周期を設定する
    467548
    468549== CanMultiplexedTransmission ==
     
    479560* 型:FloatParam
    480561* 多重度:1
     562* ハードウェア上のモードが切り替わるのを待機するタイムアウトの上限値
     563* 秒単位で指定する
    481564
    482565== CanVersionInfoApi ==
     
    486569* 型:BooleanParam
    487570* 多重度:1
     571* [#Can_GetVersionInfo Can_GetVersionInfo]の使用有無
    488572
    489573== CanCounterRef ==
     
    493577* 型:Reference
    494578* 多重度:1
     579* [wiki:spec_OS#OsCounter OsモジュールのOsCounter]への参照
     580* Canモジュール内で時間を計測するために使用するOSカウンタを指定する
    495581
    496582== CanSupportTTCANRef ==
     
    507593* 型:Container
    508594* 多重度:1
     595* メッセージ受信検知とメッセージ送信完了検知をポーリングで行う場合のポーリング周期を設定するコンテナ
    509596
    510597== CanMainFunctionReadPeriod ==
     
    514601* 型:FloatParam
    515602* 多重度:0..*
     603* メッセージ受信検知のポーリング周期を設定する
     604* 秒単位で指定する
    516605
    517606== CanMainFunctionWritePeriod ==
     
    521610* 型:FloatParam
    522611* 多重度:0..*
    523 
     612* メッセージ送信完了検知のポーリング周期を設定する
     613* 秒単位で指定する
     614