Changes between Version 9 and Version 10 of spec/Can
- Timestamp:
- Aug 26, 2015, 6:03:23 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
spec/Can
v9 v10 9 9 = 概要 = 10 10 * COMスタックのMCALで、CANプロトコルを扱う 11 * 送受信に使用するメッセージボックスを、HOH(Hardware Object Handle)と呼ぶ 12 * 送信のHOHをHTH、受信のHOHをHRHと区別する 11 13 * CANに関する解説サイト 12 14 * [https://vector.com/vj_beginners-can_jp.html はじめてのCAN(ベクター・ジャパン株式会社)] … … 100 102 void Can_Init(const Can_ConfigType* Config) 101 103 }}} 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が与えられた場合、デフォルトのコンフィギュレーションを設定するように実装している 102 109 103 110 == Can_GetVersionInfo == … … 110 117 Std_ReturnType Can_CheckBaudrate(uint8 Controller, const uint16 Baudrate) 111 118 }}} 119 * 引数Controllerで与えたCANコントローラが、引数Baudrateで与えたボーレートg使用可能かチェックする 112 120 113 121 == Can_ChangeBaudrate == … … 115 123 Std_ReturnType Can_ChangeBaudrate(uint8 Controller, const uint16 Baudrate) 116 124 }}} 125 * 引数Controllerで与えたCANコントローラを、引数Baudrateで与えたボーレートへ変更する 117 126 118 127 == Can_SetControllerMode == … … 120 129 Can_ReturnType Can_SetControllerMode(uint8 Controller, Can_StateTransitionType Transition) 121 130 }}} 131 * 引数Controllerで与えたCANコントローラを、引数Transitionで与えた状態へ変更する 122 132 123 133 == Can_DisableControllerInterrupts == … … 125 135 void Can_DisableControllerInterrupts(uint8 Controller) 126 136 }}} 137 * 引数Controllerで与えたCANコントローラに関連する割込みを禁止する 127 138 128 139 == Can_EnableControllerInterrupts == … … 130 141 void Can_EnableControllerInterrupts(uint8 Controller) 131 142 }}} 143 * 引数Controllerで与えたCANコントローラに関連する割込みを許可する 132 144 133 145 == Can_CheckWakeup == … … 140 152 Can_ReturnType Can_Write(Can_HwHandleType Hth, const Can_PduType* PduInfo) 141 153 }}} 154 * 引数Hthで与えたHTHから、引数PduInfoで与えたデータを送信する 142 155 143 156 == Can_MainFunction_Write == … … 176 189 * 型:Container 177 190 * 多重度: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..*として本コンテナを複数定義可能としている 178 193 179 194 == CanController == … … 183 198 * 型:Container 184 199 * 多重度:1..* 200 * CANコントローラを設定するコンテナ 185 201 186 202 == CanBusoffProcessing == … … 189 205 }}} 190 206 * 型:EnumerationParam 191 * 多重度:1 207 * INTERRUPT:割込みによって行う 208 * POLLING:ポーリングによって行う 209 * 多重度:1 210 * バスオフ検知方法を設定する 192 211 193 212 == CanControllerActivation == … … 197 216 * 型:BooleanParam 198 217 * 多重度:1 218 * CANコントローラの使用有無 199 219 200 220 == CanControllerBaseAddress == … … 204 224 * 型:IntegerParam 205 225 * 多重度:1 226 * CANコントローラのベースアドレス 206 227 207 228 == CanControllerId == … … 211 232 * 型:IntegerParam 212 233 * 多重度:1 234 * CANコントローラのID 235 * TOPPERS/A-CANでは、処理速度向上のため、0から連番とする制約を設けている 213 236 214 237 == CanRxProcessing == … … 217 240 }}} 218 241 * 型:EnumerationParam 219 * 多重度:1 242 * INTERRUPT:割込みによって行う 243 * POLLING:ポーリングによって行う 244 * 多重度:1 245 * メッセージ受信検知方法を設定する 220 246 221 247 == CanTxProcessing == … … 224 250 }}} 225 251 * 型:EnumerationParam 226 * 多重度:1 252 * INTERRUPT:割込みによって行う 253 * POLLING:ポーリングによって行う 254 * 多重度:1 255 * メッセージ送信完了検知方法を設定する 227 256 228 257 == CanWakeupProcessing == … … 231 260 }}} 232 261 * 型:EnumerationParam 233 * 多重度:1 262 * INTERRUPT:割込みによって行う 263 * POLLING:ポーリングによって行う 264 * 多重度:1 265 * ウェイクアップ検知方法を設定する 234 266 235 267 == CanWakeupSupport == … … 239 271 * 型:BooleanParam 240 272 * 多重度:1 273 * ウェイクアップのサポート有無 241 274 242 275 == CanControllerDefaultBaudrate == … … 246 279 * 型:Reference 247 280 * 多重度:1 281 * [#CanControllerBaudrateConfig CanControllerBaudrateConfig]への参照 282 * デフォルトのボーレートを設定する 248 283 249 284 == CanCpuClockRef == … … 267 302 * 型:Container 268 303 * 多重度:1..* 304 * ボーレートを設定するコンテナ 269 305 270 306 == CanControllerBaudRate == … … 274 310 * 型:IntegerParam 275 311 * 多重度:1 312 * ボーレートの値 276 313 277 314 == CanControllerPropSeg == … … 281 318 * 型:IntegerParam 282 319 * 多重度:1 320 * 伝播時間セグメントを設定する 321 * 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html 283 322 284 323 == CanControllerSeg1 == … … 288 327 * 型:IntegerParam 289 328 * 多重度:1 329 * 位相バッファセグメント1を設定する 330 * 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html 290 331 291 332 == CanControllerSeg2 == … … 295 336 * 型:IntegerParam 296 337 * 多重度:1 338 * 位相バッファセグメント2を設定する 339 * 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_2.html 297 340 298 341 == CanControllerSyncJumpWidth == … … 302 345 * 型:IntegerParam 303 346 * 多重度:1 347 * 再同期ジャンプ幅を設定する 348 * 参考:http://monoist.atmarkit.co.jp/mn/articles/0809/10/news140_3.html 304 349 305 350 == CanFilterMask == … … 309 354 * 型:Container 310 355 * 多重度:0..* 356 * フィルタマスクを設定するコンテナ 311 357 312 358 == CanFilterMaskValue == … … 316 362 * 型:IntegerParam 317 363 * 多重度:1 364 * 受信したCAN-IDに対して適用するフィルタマスクを設定する 318 365 319 366 == CanTTController == … … 331 378 * 型:Container 332 379 * 多重度:1..* 380 * HOHを設定するコンテナ 333 381 334 382 == CanHandleType == … … 337 385 }}} 338 386 * 型: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 340 392 341 393 == CanIdType == … … 344 396 }}} 345 397 * 型:EnumerationParam 346 * 多重度:1 398 * EXTENDED:拡張フォーマット 399 * MIXED:混在 400 * STANDARD:標準フォーマット 401 * 多重度:1 402 * データフレームの形式 347 403 348 404 == CanIdValue == … … 352 408 * 型:IntegerParam 353 409 * 多重度:1 410 * [#CanFilterMaskValue CanFilterMaskValue]によるマスク後の値と比較する値を設定する 354 411 355 412 == CanObjectId == … … 359 416 * 型:IntegerParam 360 417 * 多重度:1 418 * HOHのID 419 * 0から連番とする制約がある 361 420 362 421 == CanObjectType == … … 365 424 }}} 366 425 * 型:EnumerationParam 367 * 多重度:1 426 * RECEIVE:受信 427 * TRANSMIT:送信 428 * 多重度:1 429 * HOHが、受信(HRH)か送信(HTH)かを設定する 368 430 369 431 == CanControllerRef == … … 373 435 * 型:Reference 374 436 * 多重度:1 437 * [#CanController CanController]への参照 438 * HRHを送受信するCANコントローラを関連付ける 375 439 376 440 == CanFilterMaskRef == … … 380 444 * 型:Reference 381 445 * 多重度:0..1 446 * [#CanFilterMask CanFilterMask]への参照 447 * HRHで使用するフィルタマスクを指定する 382 448 383 449 == CanMainFunctionRWPeriodRef == … … 387 453 * 型:Reference 388 454 * 多重度:0..1 455 * [#CanMainFunctionRWPeriods CanMainFunctionRWPeriods]への参照 456 * 送受信をポーリングで行う場合のポーリング周期を設定する 389 457 390 458 == CanTTHardwareObjectTrigger == … … 402 470 * 型:Container 403 471 * 多重度:1 472 * Canモジュールの全体的な設定を行うコンテナ 404 473 405 474 == CanChangeBaudrateApi == … … 409 478 * 型:BooleanParam 410 479 * 多重度:1 480 * [#Can_ChangeBaudrate Can_ChangeBaudrate]の使用有無 411 481 412 482 == CanDevErrorDetection == … … 416 486 * 型:BooleanParam 417 487 * 多重度:1 488 * DETエラー通知の使用有無 418 489 419 490 == CanHardwareCancellation == … … 423 494 * 型:BooleanParam 424 495 * 多重度:1 496 * ハードウェアによる送信キャンセルの使用有無 497 * 本パラメータはR4.2系で削除された 425 498 426 499 == CanIdenticalIdCancellation == … … 430 503 * 型:BooleanParam 431 504 * 多重度:1 505 * 送信を保留しているPDUの送信キャンセルの使用有無 506 * 本パラメータはR4.2系で削除された 432 507 433 508 == CanIndex == … … 437 512 * 型:IntegerParam 438 513 * 多重度:1 514 * CanモジュールのインスタンスID 515 * 1つしか使用しない場合0を指定する 439 516 440 517 == CanLPduReceiveCalloutFunction == … … 444 521 * 型:FunctionName 445 522 * 多重度:0..1 523 * CANバスからデータを受信し、PDUを上位レイヤへ送信する際のコールバック使用有無 446 524 447 525 == CanMainFunctionBusoffPeriod == … … 451 529 * 型:FloatParam 452 530 * 多重度:0..1 531 * バスオフ検知をポーリングで行う場合のポーリング周期を設定する 453 532 454 533 == CanMainFunctionModePeriod == … … 458 537 * 型:FloatParam 459 538 * 多重度:1 539 * CANコントローラのモード変更通知検知のポーリング周期を設定する 460 540 461 541 == CanMainFunctionWakeupPeriod == … … 465 545 * 型:FloatParam 466 546 * 多重度:0..1 547 * ウェイクアップ検知をポーリングで行う場合のポーリング周期を設定する 467 548 468 549 == CanMultiplexedTransmission == … … 479 560 * 型:FloatParam 480 561 * 多重度:1 562 * ハードウェア上のモードが切り替わるのを待機するタイムアウトの上限値 563 * 秒単位で指定する 481 564 482 565 == CanVersionInfoApi == … … 486 569 * 型:BooleanParam 487 570 * 多重度:1 571 * [#Can_GetVersionInfo Can_GetVersionInfo]の使用有無 488 572 489 573 == CanCounterRef == … … 493 577 * 型:Reference 494 578 * 多重度:1 579 * [wiki:spec_OS#OsCounter OsモジュールのOsCounter]への参照 580 * Canモジュール内で時間を計測するために使用するOSカウンタを指定する 495 581 496 582 == CanSupportTTCANRef == … … 507 593 * 型:Container 508 594 * 多重度:1 595 * メッセージ受信検知とメッセージ送信完了検知をポーリングで行う場合のポーリング周期を設定するコンテナ 509 596 510 597 == CanMainFunctionReadPeriod == … … 514 601 * 型:FloatParam 515 602 * 多重度:0..* 603 * メッセージ受信検知のポーリング周期を設定する 604 * 秒単位で指定する 516 605 517 606 == CanMainFunctionWritePeriod == … … 521 610 * 型:FloatParam 522 611 * 多重度:0..* 523 612 * メッセージ送信完了検知のポーリング周期を設定する 613 * 秒単位で指定する 614