JAJA859 April   2025 MSPM0G3506 , MSPM0G3507 , MSPM0G3518 , MSPM0G3519

 

  1.   1
  2.   概要
  3.   商標
  4. 1はじめに
    1. 1.1 MCAN の機能
  5. 2MCAN モジュールの SysConfig 構成
    1. 2.1 MCAN クロック周波数
    2. 2.2 MCAN の基本構成
      1. 2.2.1 トランスミッタ遅延補償 (TDC)
      2. 2.2.2 ビット タイミング パラメータ
      3. 2.2.3 メッセージ RAM の構成
        1. 2.2.3.1 標準および拡張 ID フィルタの構成
          1. 2.2.3.1.1 フィルタを追加する方法
        2. 2.2.3.2 TX MSG RAM
        3. 2.2.3.3 RX MSG RAM
    3. 2.3 高度な構成
    4. 2.4 保持構成
    5. 2.5 割り込み
    6. 2.6 ピン構成および PinMux
  6. 3デモ プロジェクトの説明
    1. 3.1 TX バッファ モード
    2. 3.2 TX FIFO モード
    3. 3.3 RX バッファ モード
    4. 3.4 RX FIFO モード
  7. 4CAN 通信の問題を解決 / 回避するためのデバッグと設計のヒント
    1. 4.1 最低限必要なノード数
    2. 4.2 トランシーバが必要な理由
    3. 4.3 バス オフ ステータス
    4. 4.4 低消費電力モードでの MCAN の使用
    5. 4.5 デバッグ チェックリスト
      1. 4.5.1 プログラミングの問題
      2. 4.5.2 物理層の問題
      3. 4.5.3 ハードウェアのデバッグのヒント
  8. 5まとめ
  9. 6参考資料

TX バッファ モード

TX は、SDK の現在のデモ プロジェクトにおいてバッファ モードとして構成されています。以下のコンテンツでは、バッファ モードで TX を使用する方法について説明します。

DL_MCAN_TxBufElement txMsg;
/* Initialize message to transmit. */
/* Identifier Value. */
txMsg.id = ((uint32_t)(0x4)) << 18U;
/* Transmit data frame. */
txMsg.rtr = 0U;
/* 11-bit standard identifier. */
txMsg.xtd = 0U;
/* ESI bit in CAN FD format depends only on error passive flag. */
txMsg.esi = 0U;
/* Transmitting 4 bytes. */
txMsg.dlc = 1U;
/* CAN FD frames transmitted with bit rate switching. */
txMsg.brs = 1U;
/* Frame transmitted in CAN FD format. */
txMsg.fdf = 1U;
/* Store Tx events. */
txMsg.efc = 1U;
/* Message Marker. */
txMsg.mm = 0xAAU;
/* Data bytes. */
txMsg.data[0] = LED_STATUS_ON;

/* Write Tx Message to the Message RAM. */
DL_MCAN_writeMsgRam(MCAN0_INST, DL_MCAN_MEM_TYPE_BUF, 0U, &txMsg);

/* Add request for transmission. */
DL_MCAN_TXBufAddReq(MCAN0_INST, 0U);

まず、TX メッセージは、DL_MCAN_writeMsgRam() を呼び出すことにより、バッファ タイプのメッセージ RAM にバッファ番号で保存されます。次に、DL_MCAN_TXBufAddReq() を呼び出して、このメッセージのバッファ番号情報とともに送信する追加要求を使用します。