JAJSOK6B September   2025  – January 2026 TCAN5102-Q1

ADVANCE INFORMATION  

  1.   1
  2. 特長
  3. アプリケーション
  4. 説明
  5. ピン構成および機能
  6. 仕様
    1. 5.1 絶対最大定格
    2. 5.2 ESD 定格
    3. 5.3 推奨動作条件
    4. 5.4 熱に関する情報
    5. 5.5 電源の特性
    6. 5.6 電気的特性
    7. 5.7 タイミング要件
    8. 5.8 スイッチング特性
    9. 5.9 I2C バス タイミング要件
  7. パラメータ測定情報
  8. 詳細説明
    1. 7.1 概要
    2. 7.2 機能ブロック図
    3. 7.3 機能説明
      1. 7.3.1  VDD
      2. 7.3.2  PROG ピン
      3. 7.3.3  DIGFLTR ピン
      4. 7.3.4  GPIOx およびピンの多重化の特殊機能
        1. 7.3.4.1 GPIO 同期
      5. 7.3.5  EEPROM
      6. 7.3.6  SPI コントローラ
      7. 7.3.7  UART コントローラ
      8. 7.3.8  I2C コントローラ
        1. 7.3.8.1 I2C スタック バス回復
      9. 7.3.9  PWM コントローラ
      10. 7.3.10 CAN トランシーバの制御ピン
      11. 7.3.11 低電圧ロックアウトおよび電源オフのデバイス
    4. 7.4 デバイスの機能モード
      1. 7.4.1 初期モード
      2. 7.4.2 スリープ モード
      3. 7.4.3 通常モード
    5. 7.5 プログラミング
      1. 7.5.1 SPI ペリフェラル モードによるデバイス プログラミング
      2. 7.5.2 CAN FD Light プロトコル
        1. 7.5.2.1 CAN フレーム形式
      3. 7.5.3 メッセージ RAM (MRAM) および IP イネーブル
      4. 7.5.4 SPI コントローラ
        1. 7.5.4.1 SPI ピン
          1. 7.5.4.1.1 SPI クロック (SCLK)
          2. 7.5.4.1.2 ペリフェラル入力とコントローラ出力 (PICO)
          3. 7.5.4.1.3 ペリフェラル出力、コントローラ入力 (POCI)
          4. 7.5.4.1.4 チップ セレクト (CS または nCS)
        2. 7.5.4.2 SPI クロック ジェネレータ
        3. 7.5.4.3 SPI 制御プロトコル
          1. 7.5.4.3.1 SPI 書き込み例 1
          2. 7.5.4.3.2 SPI のバイト読み取り例 1
      5. 7.5.5 UART コントローラ
        1. 7.5.5.1 UART ボーレート生成と分数除数
        2. 7.5.5.2 UART 制御プロトコル
          1. 7.5.5.2.1 UART 書き込み例 1
          2. 7.5.5.2.2 UART のバイト読み取り例 1
      6. 7.5.6 I2C コントローラ
        1. 7.5.6.1 I2C ボーレート生成
        2. 7.5.6.2 I2C スタック バス回復
        3. 7.5.6.3 I2C 制御プロトコル
          1. 7.5.6.3.1 I2C 書き込みの例 1
          2. 7.5.6.3.2 I2C 読み取り例 1
      7. 7.5.7 PWM および矩形波 PWM ランプ プロファイル
        1. 7.5.7.1 矩形波ランプ制御
          1. 7.5.7.1.1 デューティ サイクルのランプ
          2. 7.5.7.1.2 スイッチング周波数のランプ
          3. 7.5.7.1.3 オフランプ
        2. 7.5.7.2 PWM クロック ジェネレータ
        3. 7.5.7.3 PWM のデューティ サイクル
        4. 7.5.7.4 ランプ スロープとスケール係数
          1. 7.5.7.4.1 デューティ サイクル ランプ スロープ
          2. 7.5.7.4.2 スイッチング周波数のランプ スロープ
        5. 7.5.7.5 自動減速および停止条件
          1. 7.5.7.5.1 パルス カウントによる自動減速オフランプ
          2. 7.5.7.5.2 GPIO 入力による自動減速 / オフランプ
        6. 7.5.7.6 デューティ サイクル ランプの例
        7. 7.5.7.7 周波数ランプの例
        8. 7.5.7.8 静的オンの例
    6. 7.6 レジスタ マップ
      1. 7.6.1 DEVICE レジスタ
        1. 7.6.1.1  DEV_ID[y] レジスタ (オフセット = 0h + 式) [リセット = 0032303135414354h]
        2. 7.6.1.2  DEV_ID_REV レジスタ (オフセット = 8h) [リセット= 10h]
        3. 7.6.1.3  DEV_CMD レジスタ (オフセット = 9h) [リセット= 00h]
        4. 7.6.1.4  DEV_CFG_EN レジスタ (オフセット = Ah) [リセット = 00h]
        5. 7.6.1.5  DEV_CFG_BR レジスタ (オフセット = Bh) [リセット = 10h]
        6. 7.6.1.6  DEV_CFG_ID_0 レジスタ (オフセット = Ch) [リセット = 00h]
        7. 7.6.1.7  DEV_CFG_ID_1 レジスタ (オフセット = Dh) [リセット = 00h]
        8. 7.6.1.8  DEV_CFG_ID_BCST_0 レジスタ (オフセット = Eh) [リセット = 00h]
        9. 7.6.1.9  DEV_CFG_ID_BCST_1 レジスタ (オフセット= Fh) [リセット= 00h]
        10. 7.6.1.10 DEV_CFG_ID_BCST_MASK_0 レジスタ (オフセット = 10h) [リセット = 00h]
        11. 7.6.1.11 DEV_CFG_ID_BCST_MASK_1 レジスタ (オフセット = 11h) [リセット = 00h]
        12. 7.6.1.12 DEV_CFG_NVM_PROG_CODE レジスタ (オフセット = 12h) [リセット= 00h]
        13. 7.6.1.13 DEV_CFG_NVM_PROG レジスタ (オフセット = 13h) [リセット= 00h]
        14. 7.6.1.14 INT_CFG レジスタ (オフセット = 1Dh) [リセット= 00h]
        15. 7.6.1.15 DEV_IE_0 レジスタ (オフセット = 1Eh) [リセット = 00h]
        16. 7.6.1.16 DEV_IE_1 レジスタ (オフセット = 1Fh) [リセット = 00h]
        17. 7.6.1.17 MRAM_IP_CFG レジスタ (オフセット = 20h) [リセット= 00h]
        18. 7.6.1.18 IO_CFG_0 レジスタ (オフセット = 21h) [リセット = 00h]
        19. 7.6.1.19 IO_CFG_1 レジスタ (オフセット = 22h) [リセット = 00h]
        20. 7.6.1.20 IO_OE_0 レジスタ (オフセット = 23h) [リセット = 00h]
        21. 7.6.1.21 IO_OE_1 レジスタ (オフセット = 24h) [リセット = 00h]
        22. 7.6.1.22 IO_OD_0 レジスタ (オフセット = 25h) [リセット = 00h]
        23. 7.6.1.23 IO_OD_1 レジスタ (オフセット = 26h) [リセット = 00h]
        24. 7.6.1.24 IO_RE_0 レジスタ (オフセット = 27h) [リセット = 00h]
        25. 7.6.1.25 IO_RE_1 レジスタ (オフセット = 28h) [リセット = 00h]
        26. 7.6.1.26 IO_PU_0 レジスタ (オフセット = 29h) [リセット = 00h]
        27. 7.6.1.27 IO_PU_1 レジスタ (オフセット = 2Ah) [リセット = 00h]
        28. 7.6.1.28 IO_POL_0 レジスタ (オフセット = 2Bh) [リセット = 00h]
        29. 7.6.1.29 IO_POL_1 レジスタ (オフセット = 2Ch) [リセット = 00h]
        30. 7.6.1.30 IO_OUTPUT_0 レジスタ (オフセット = 2Dh) [リセット = 00h]
        31. 7.6.1.31 IO_OUTPUT_1 レジスタ (オフセット = 2Eh) [リセット = 00h]
        32. 7.6.1.32 IO_INPUT_0 レジスタ (オフセット = 2Fh) [リセット = 00h]
        33. 7.6.1.33 IO_INPUT_1 レジスタ (オフセット = 30h) [リセット = 00h]
        34. 7.6.1.34 IR_STATUS レジスタ (オフセット = 31h) [リセット= 00h]
        35. 7.6.1.35 DEV_IR レジスタ (オフセット = 32h) [リセット= 00h]
        36. 7.6.1.36 SPI_IR レジスタ (オフセット = 33h) [リセット= 00h]
        37. 7.6.1.37 UART_IR レジスタ (オフセット = 34h) [リセット= 00h]
        38. 7.6.1.38 I2C_IR レジスタ (オフセット = 35h) [リセット = 00h]
        39. 7.6.1.39 PWM0_IR レジスタ (オフセット = 36h) [リセット = 00h]
        40. 7.6.1.40 PWM1_IR レジスタ (オフセット = 37h) [リセット = 00h]
      2. 7.6.2 SPI レジスタ
        1. 7.6.2.1  SPI_CREL レジスタ (オフセット = 1000h) [リセット= 87h]
        2. 7.6.2.2  SPI_SCRATCH レジスタ (オフセット = 1001h) [リセット= 00h]
        3. 7.6.2.3  SPI_CTRL レジスタ (オフセット = 1002h) [リセット= 00h]
        4. 7.6.2.4  SPI_CFG_0 レジスタ (オフセット = 1003h) [リセット = 00h]
        5. 7.6.2.5  SPI_CFG_1 レジスタ (オフセット = 1004h) [リセット = 00h]
        6. 7.6.2.6  SPI_DR_0 レジスタ (オフセット = 1005h) [リセット = 00h]
        7. 7.6.2.7  SPI_DR_1 レジスタ (オフセット = 1006h) [リセット = 00h]
        8. 7.6.2.8  SPI_DR_2 レジスタ (オフセット = 1007h) [リセット = 00h]
        9. 7.6.2.9  SPI_DR_3 レジスタ (オフセット = 1008h) [リセット = 00h]
        10. 7.6.2.10 SPI_CHAN_EN レジスタ (オフセット = 1009h) [リセット= 00h]
        11. 7.6.2.11 SPI_CS_POL レジスタ (オフセット = 100Ah) [リセット= 00h]
        12. 7.6.2.12 SPI_FIFO_CTRL レジスタ (オフセット = 100Bh) [リセット= 0h]
        13. 7.6.2.13 SPI_IE_0 レジスタ (オフセット = 100Ch) [リセット = 00h]
        14. 7.6.2.14 SPI_IE_1 レジスタ (オフセット = 100Dh) [リセット = 00h]
        15. 7.6.2.15 SPI_IR レジスタ (オフセット = 100Eh) [リセット= 00h]
        16. 7.6.2.16 SPI_FS レジスタ (オフセット = 100Fh) [リセット= 80h]
        17. 7.6.2.17 SPI_TX_FIFO レジスタ (オフセット = 1010h) [リセット = 0000h]
        18. 7.6.2.18 SPI_RX_FIFO レジスタ (オフセット = 1010h) [リセット = 0000h]
        19. 7.6.2.19 SPI_RXFS レジスタ (オフセット = 1011h) [リセット= 00h]
        20. 7.6.2.20 SPI_TXFS レジスタ (オフセット = 1012h) [リセット= 00h]
        21. 7.6.2.21 SPI_TXES レジスタ (オフセット = 1013h) [リセット= 00h]
      3. 7.6.3 SPI データ FIFO
        1. 7.6.3.1 SPI 送信 FIFO (アドレス = h1010)
        2. 7.6.3.2 SPI 受信 FIFO (アドレス = h1010)
      4. 7.6.4 UART レジスタ
        1. 7.6.4.1  UART_CREL レジスタ (オフセット = 2000h) [リセット= 10h]
        2. 7.6.4.2  UART_SCRATCH レジスタ (オフセット = 2001h) [リセット= 00h]
        3. 7.6.4.3  UART_CTRL レジスタ (オフセット = 2002h) [リセット= 04h]
        4. 7.6.4.4  UART_BR_LSB レジスタ (オフセット = 2003h) [リセット= 00h]
        5. 7.6.4.5  UART_BR_MSB レジスタ (オフセット = 2004h) [リセット= 00h]
        6. 7.6.4.6  UART_BR_FRAC レジスタ (オフセット = 2005h) [リセット= 00h]
        7. 7.6.4.7  UART_FIFO_CTRL レジスタ (オフセット = 2006h) [リセット= 01h]
        8. 7.6.4.8  UART_IE_0 レジスタ (オフセット = 2007h) [リセット = 00h]
        9. 7.6.4.9  UART_IE_1 レジスタ (オフセット = 2008h) [リセット = 00h]
        10. 7.6.4.10 UART_IR レジスタ (オフセット = 2009h) [リセット= 00h]
        11. 7.6.4.11 UART_STATUS レジスタ (オフセット = 200Ah) [リセット= 60h]
        12. 7.6.4.12 UART_RXFS レジスタ (オフセット = 200Bh) [リセット= 00h]
        13. 7.6.4.13 UART_TXFS レジスタ (オフセット = 200Ch) [リセット= 00h]
        14. 7.6.4.14 UART_RX_FIFO レジスタ (オフセット = 2010h) [リセット= 00h]
        15. 7.6.4.15 UART_TX_FIFO レジスタ (オフセット = 2010h) [リセット= 00h]
        16. 7.6.4.16 UART_RX_ERR_STATUS レジスタ (オフセット = 2011h) [リセット= 00h]
      5. 7.6.5 UART データ FIFO
        1. 7.6.5.1 UART 送信 FIFO (アドレス = h2010)
        2. 7.6.5.2 UART 受信 FIFO (アドレス = h2010)
        3. 7.6.5.3 UART 受信エラー ステータス (アドレス = h2011)
      6. 7.6.6 I2C のレジスタ
        1. 7.6.6.1  I2C_CREL レジスタ (オフセット = 3000h) [リセット = 10h]
        2. 7.6.6.2  I2C_SCRATCH レジスタ (オフセット = 3001h) [リセット = 00h]
        3. 7.6.6.3  I2C_CTRL レジスタ (オフセット = 3002h) [リセット = 18h]
        4. 7.6.6.4  I2C_BR レジスタ (オフセット = 3003h) [リセット = 18h]
        5. 7.6.6.5  I2C_FIFO_CTRL レジスタ (オフセット = 3004h) [リセット = 00h]
        6. 7.6.6.6  I2C_IE_0 レジスタ (オフセット = 3005h) [リセット = 00h]
        7. 7.6.6.7  I2C_IE_1 レジスタ (オフセット = 3006h) [リセット = 00h]
        8. 7.6.6.8  I2C_IR レジスタ (オフセット = 3007h) [リセット = 00h]
        9. 7.6.6.9  I2C_STATUS レジスタ (オフセット = 3008h) [リセット = XXh]
        10. 7.6.6.10 I2C_FS レジスタ (オフセット = 3009h) [リセット = 00h]
        11. 7.6.6.11 I2C_RXFS レジスタ (オフセット = 300Ah) [リセット = 00h]
        12. 7.6.6.12 I2C_TXFS レジスタ (オフセット = 300Bh) [リセット = 00h]
        13. 7.6.6.13 I2C_TXES レジスタ (オフセット = 300Ch) [リセット = 00h]
      7. 7.6.7 I2C データ FIFO
        1. 7.6.7.1 I2C 送信 FIFO (アドレス = h3010)
        2. 7.6.7.2 I2C 受信 FIFO (アドレス = h3010)
      8. 7.6.8 PWM0 のレジスタ
        1. 7.6.8.1  PWM1_ACTION レジスタ (オフセット = 4000h) [リセット = 00h]
        2. 7.6.8.2  PWM0_CTRL レジスタ (オフセット = 4000h) [リセット = 11h]
        3. 7.6.8.3  PWM0_IE0 レジスタ (オフセット = 4001h) [リセット = 00h]
        4. 7.6.8.4  PWM0_IE1 レジスタ (オフセット = 4002h) [リセット = 00h]
        5. 7.6.8.5  PWM0_IR レジスタ (オフセット = 4003h) [リセット = 00h]
        6. 7.6.8.6  PWM0_STATUS レジスタ (オフセット = 4004h) [リセット = 00h]
        7. 7.6.8.7  PWM0_CUR_PULSE[y] レジスタ (オフセット = 4005h + 式) [リセット = 00000000h]
        8. 7.6.8.8  PWM0_CUR_VAL_MSB レジスタ (オフセット = 4009h) [リセット = 00h]
        9. 7.6.8.9  PWM0_CUR_VAL_LSB レジスタ (オフセット = 400Ah) [リセット = 00h]
        10. 7.6.8.10 PWM0_CONST_MSB レジスタ (オフセット = 400Bh) [リセット = 00h]
        11. 7.6.8.11 PWM0_CONST_LSB レジスタ (オフセット = 400Ch) [リセット = 00h]
        12. 7.6.8.12 PWM0_STOP_VAL_FRAC_F レジスタ (オフセット = 400Dh) [リセット = 00h]
        13. 7.6.8.13 PWM0_STOP_VAL_MSB レジスタ (オフセット = 400Eh) [リセット = 00h]
        14. 7.6.8.14 PWM0_STOP_VAL_LSB レジスタ (オフセット = 400Fh) [リセット = 00h]
        15. 7.6.8.15 PWM0_STOP_SL_MSB レジスタ (オフセット = 4010h) [リセット = 00h]
        16. 7.6.8.16 PWM0_STOP_SL_MID レジスタ (オフセット = 4011h) [リセット = 00h]
        17. 7.6.8.17 PWM0_STOP_SL_LSB レジスタ (オフセット = 4012h) [リセット = 00h]
        18. 7.6.8.18 PWM0_START_VAL_FRAC_F レジスタ (オフセット = 4013h) [リセット = 00h]
        19. 7.6.8.19 PWM0_START_VAL_MSB レジスタ (オフセット = 4014h) [リセット = 00h]
        20. 7.6.8.20 PWM0_START_VAL_LSB レジスタ (オフセット = 4015h) [リセット = 00h]
        21. 7.6.8.21 PWM0_START_SL_MSB レジスタ (オフセット = 4016h) [リセット = 00h]
        22. 7.6.8.22 PWM0_START_SL_MID レジスタ (オフセット = 4017h) [リセット = 00h]
        23. 7.6.8.23 PWM0_START_SL_LSB レジスタ (オフセット = 4018h) [リセット = 00h]
        24. 7.6.8.24 PWM0_END_VAL_CONST_FRAC_F レジスタ (オフセット = 4019h) [リセット = 00h]
        25. 7.6.8.25 PWM0_END_VAL_MSB レジスタ (オフセット = 401Ah) [リセット = 00h]
        26. 7.6.8.26 PWM0_END_VAL_LSB レジスタ (オフセット = 401Bh) [リセット = 00h]
        27. 7.6.8.27 PWM0_PULSE_STOP_RAMP[y] レジスタ (オフセット = 401Ch + 式) [リセット = 00000000h]
        28. 7.6.8.28 PWM0_PULSE_MAX[y] レジスタ (オフセット = 4020h + 式) [リセット = 00000000h]
        29. 7.6.8.29 PWM0_ACTION レジスタ (オフセット = 4024h) [リセット = 00h]
        30. 7.6.8.30 PWM0_IAS_CTRL レジスタ (オフセット = 4030h) [リセット = 00h]
      9. 7.6.9 PWM1 のレジスタ
        1. 7.6.9.1  PWM1_CTRL レジスタ (オフセット = 4100h) [リセット = 11h]
        2. 7.6.9.2  PWM1_IE0 レジスタ (オフセット = 4101h) [リセット = 00h]
        3. 7.6.9.3  PWM1_IE1 レジスタ (オフセット = 4102h) [リセット = 00h]
        4. 7.6.9.4  PWM1_IR レジスタ (オフセット = 4103h) [リセット = 00h]
        5. 7.6.9.5  PWM1_STATUS レジスタ (オフセット = 4104h) [リセット = 00h]
        6. 7.6.9.6  PWM1_CUR_PULSE[y] レジスタ (オフセット = 4105h + 式) [リセット = 00000000h]
        7. 7.6.9.7  PWM1_CUR_VAL_MSB レジスタ (オフセット = 4109h) [リセット = 00h]
        8. 7.6.9.8  PWM1_CUR_VAL_LSB レジスタ (オフセット = 410Ah) [リセット = 00h]
        9. 7.6.9.9  PWM1_CONST_MSB レジスタ (オフセット = 410Bh) [リセット = 00h]
        10. 7.6.9.10 PWM1_CONST_LSB レジスタ (オフセット = 410Ch) [リセット = 00h]
        11. 7.6.9.11 PWM1_STOP_VAL_FRAC_F レジスタ (オフセット = 410Dh) [リセット = 00h]
        12. 7.6.9.12 PWM1_STOP_VAL_MSB レジスタ (オフセット = 410Eh) [リセット = 00h]
        13. 7.6.9.13 PWM1_STOP_VAL_LSB レジスタ (オフセット = 410Fh) [リセット = 00h]
        14. 7.6.9.14 PWM1_STOP_SL_MSB レジスタ (オフセット = 4110h) [リセット = 00h]
        15. 7.6.9.15 PWM1_STOP_SL_MID レジスタ (オフセット = 4111h) [リセット = 00h]
        16. 7.6.9.16 PWM1_STOP_SL_LSB レジスタ (オフセット = 4112h) [リセット = 00h]
        17. 7.6.9.17 PWM1_START_VAL_FRAC_F レジスタ (オフセット = 4113h) [リセット = 00h]
        18. 7.6.9.18 PWM1_START_VAL_MSB レジスタ (オフセット = 4114h) [リセット = 00h]
        19. 7.6.9.19 PWM1_START_VAL_LSB レジスタ (オフセット = 4115h) [リセット = 00h]
        20. 7.6.9.20 PWM1_START_SL_MSB レジスタ (オフセット = 4116h) [リセット = 00h]
        21. 7.6.9.21 PWM1_START_SL_MID レジスタ (オフセット = 4117h) [リセット = 00h]
        22. 7.6.9.22 PWM1_START_SL_LSB レジスタ (オフセット = 4118h) [リセット = 00h]
        23. 7.6.9.23 PWM1_END_VAL_CONST_FRAC_F レジスタ (オフセット = 4119h) [リセット = 00h]
        24. 7.6.9.24 PWM1_END_VAL_MSB レジスタ (オフセット = 411Ah) [リセット = 00h]
        25. 7.6.9.25 PWM1_END_VAL_LSB レジスタ (オフセット = 411Bh) [リセット = 00h]
        26. 7.6.9.26 PWM1_PULSE_STOP_RAMP[y] レジスタ (オフセット = 411Ch + 式) [リセット = 00000000h]
        27. 7.6.9.27 PWM1_PULSE_MAX[y] レジスタ (オフセット = 4120h + 式) [リセット = 00000000h]
        28. 7.6.9.28 PWM1_ACTION レジスタ (オフセット = 4124h) [リセット = 00h]
        29. 7.6.9.29 PWM1_IAS_CTRL レジスタ (オフセット = 4130h) [リセット = 00h]
  9. アプリケーションと実装
    1. 8.1 アプリケーション情報
    2. 8.2 代表的なアプリケーション
      1. 8.2.1 設計要件
      2. 8.2.2 詳細な設計手順
    3. 8.3 電源に関する推奨事項
    4. 8.4 レイアウト
      1. 8.4.1 レイアウトのガイドライン
      2. 8.4.2 レイアウト例
  10. デバイスおよびドキュメントのサポート
    1. 9.1 ドキュメントのサポート
      1. 9.1.1 関連資料
    2. 9.2 ドキュメントの更新通知を受け取る方法
    3. 9.3 サポート・リソース
    4. 9.4 商標
    5. 9.5 静電気放電に関する注意事項
    6. 9.6 用語集
  11. 10改訂履歴
  12. 11メカニカル、パッケージ、および注文情報
    1. 11.1 メカニカルデータ
SPI のバイト読み取り例 1

これは、SPI を介してバイト ストリームを送受信する基本的な例です。デバイスが SPI フレームのすべてのバイト (SPI ヘッダで指定されたバイト数によって決定) を受信すると、SPI フレームの送信を開始します。この例では、受信した POCI データを格納し、後で読み戻すことができます。

注: モジュールを使用する前に、適切な GPIO を特殊機能に設定する必要があり (セクション 7.3.4およびセクション 7.6.1.18を参照) 、MRAM はアロケーション メモリによってモジュールをイネーブルにする必要があります (セクション 7.5.3およびセクション 7.6.1.17を参照)。GPIO が特殊機能に設定され、メモリを割り当てる MRAM 構成を選択してモジュールが有効化されてはじめて、そのモジュールを使用できます。適切な SPI 構成レジスタを、セクション 7.6.2に示します。
表 7-13 設計パラメータと前提条件
パラメータ
CAN フレーム フォーマット 標準フレーム フォーマット
転送するバイト数 10B
SPI チャネル チャネル 2
受信データを RX FIFO に保存 あり
SPI バイト ストリーム 0x11、0x22、0x33、0x44、0x55、0x66、0x77、0x88、0x99、0xAA

次の表は、手順と CAN バス上で送信されるデータを示しています。バスの中央ゲートウェイ / コントローラは ECU と呼ばれ、TCAN デバイスは「レスポンダ」と呼ばれます。

  • 太字で示された 16 進値は、CAN フレーム ヘッダのバイトを表します (この例では標準フレーム形式です)
  • イタリック体で示された 16 進値は、SPI ヘッダ バイトを表します
  • 書式なしで示された 16 進値は、SPIデータ バイトです

表 7-14 CAN シーケンスの例 (シングル CAN フレーム)
ステップ トランスミッタ データ 説明
1 ECU (DLC = 16B) 0x0C、0x10、0x100x82、
0x0A
、0x11、0x22、0x33、
0x44、0x55、 0x66、0x77、
0x88、0x99、 0xAA、0x00
ECU は、レジスタ 0x1010 (SPI TX FIFO) に 10 バイトの書き込みを要求します。SPI ヘッダには、store = 1、SPI チャネル = 2、および 10 バイトの SPI フレームが含まれます。その後、10 バイトのデータはデバイスにシフト インされます。これら 15 バイトのデータを収めるため、CAN DLC は 16 バイトでなければならないため、末尾に 0x00 がパディングされます。
2 レスポンダ 0x0C、0x01 レスポンダは OK を返信し、要求を受信したことをアクノリッジします。
3 SPI PICO: 0x11、0x22、0x33、0x44、0x55、0x66、0x77、0x88、0x99、0xAA
POCI:0x01、0x02、0x03、0x04、0x05、0x06、0x07、0x08、0x09、0x0A
この時点で、レスポンダは SPI チャネル 2 で 10 バイトの SPI 転送を実行します。POCI データは RX FIFO に保存されます
4 ECU 0x43、0x10、0x0F ECU は、レジスタ 0x100F〜0x1011 (SPI_STATUS および SPI_RXFS) から 3 バイトの読み取りを要求します。バースト読み取りが 0x1010 (SPI RX FIFO) からではなく開始されたため、そのレジスタに対応するバイトはパディングとして 0 になります。FIFO から開始されないバースト読み取りでは、FIFO に対応するバイトは「0」として返されます。
5 レスポンダ 0x43、0x01、0xCA、0x00、0x01 レスポンダは、レジスタ 0x100F のデータ、0x1010 に対しては 0、0x1011 のデータを返します。結果のデータは、TX FIFO が空であり、RX FIFO に 1 つの SPI フレームが含まれ、次の RX FIFO エレメントに 10 バイトのデータがあることを示しています。この情報により、ECU はデバイスから 10 + 2 (SPI ヘッダ) バイトの読み取りを要求すべきことを認識します。
6 ECU 0x4C、0x10、0x10 ECU は、RX FIFO から 12 バイト (データ 10 バイト + ヘッダ 2 バイト) の読み取りを要求します
7 レスポンダ (DLC = 16B) 0x4C、0x010x02、0x0A
0x01、0x02、0x03、 0x04、
0x05、0x06、 0x07、0x08、
0x09、0x0A、 0x00、0x00
レスポンダは要求された 12 バイトのデータを返します。SPI ヘッダ バイトは、これがフレーム読み出しの開始であること、SPI チャネル 2 が使用されたこと、そして 10 バイトの SPI データを読み出す必要があることを示しています (これは CAN フレーム全体に収まります)。このデータを格納できる最も近い CAN DLC サイズは 16 バイトであったため、末尾に 2 バイトのパディングが追加されました。
表 7-15 CAN シーケンス例 (ペイロードを転送する複数の CAN フレーム)
ステップ トランスミッタ データ 説明
1 ECU (DLC = 8B) 0x05、0x10、0x100x02、
0x0A
、0x11、 0x22、0x33
ECU は、レジスタ 0x1010 (SPI TX FIFO) に 5 バイトの書き込みを要求します。SPI ヘッダには、store = 1、SPI チャネル = 2、および 10 バイトの SPI フレームが含まれます。SPI フレームの最初の 3 バイトのデータだけが転送されました。
2 レスポンダ (DLC = 2B) 0x05、0x01 レスポンダは OK を返信し、要求を受信したことをアクノリッジします。
3 ECU (DLC = 12B) 0x07、0x10、0x10、 0x44、
0x55、0x66、0x77、 0x88、
0x99、0xAA、0x00、0x00
ECU は、同じアドレスへの 7 バイトの書き込み要求を継続します。このフレームを格納できる CAN DLC は 12 バイトであるため、末尾に 2 バイトのパディングが追加されます。これらのパディング バイトの値は問題にならず、無視されます。
4 レスポンダ (DLC = 2B) 0x07、0x01 レスポンダは OK を返信し、要求を受信したことをアクノリッジします。
3 SPI PICO: 0x11、0x22、0x33、0x44、0x55、0x66、0x77、0x88、0x99、0xAA
POCI:0x01、0x02、0x03、0x04、0x05、0x06、0x07、0x08、0x09、0x0A
この時点で、レスポンダは SPI チャネル 2 で 10 バイトの SPI 転送を実行します。POCI データは RX FIFO に保存されます
4 ECU (DLC = 3B) 0x43、0x10、0x0F ECU は、レジスタ 0x100F〜0x1011 (SPI_STATUS および SPI_RXFS) から 3 バイトの読み取りを要求します。バースト読み取りが 0x1010 (SPI RX FIFO) からではなく開始されたため、そのレジスタに対応するバイトはパディングとして 0 になります。FIFO から開始されないバースト読み取りでは、FIFO に対応するバイトは「0」として返されます。
5 レスポンダ (DLC = 5B) 0x43、0x01、0xCA、0x00、0x01 レスポンダは、レジスタ 0x100F のデータ、0x1010 に対しては 0、0x1011 のデータを返します。結果のデータは、TX FIFO が空であり、RX FIFO に 1 つの SPI フレームが含まれ、次の RX FIFO エレメントに 10 バイトのデータがあることを示しています。この情報により、ECU はデバイスから 10 + 2 (SPI ヘッダ) バイトの読み取りを要求すべきことを認識します。
6 ECU (DLC = 3B) 0x48、0x10、0x10 ECU は、RX FIFO から 8 バイトの読み取りを要求します (ヘッダ 2 バイト + データ 6 バイトを含みます)
7 レスポンダ (DLC = 12B) 0x48、0x010x02、0x0A
0x01、0x02、0x03、 0x04、
0x05、0x06、 0x00、0x00
レスポンダは要求された 8 バイトのデータを返します (DLC は 12 ですが、CAN レスポンス ヘッダの後の 8 バイトのデータのみが有効であり、0 はパディングであることが分かります)。SPI ヘッダ バイトは、これがフレーム読み出しの開始であること、SPI チャネル 2 が使用されたこと、そして残り 10 バイトの SPI データを読み出す必要があることを示しています。このデータを格納できる最も近い CAN DLC サイズは 12 バイトであったため、末尾に 2 バイトのパディングが追加されました。ECU には 10 バイトの SPI データを読み出す必要があると伝えられましたが、要求したのは 6 バイトだけでした。これは、読み取るべき SPI データが 4 バイト残っていることを意味します。
8 ECU (DLC = 3B) 0x46、0x10、0x10 ECU は、読み取りを完了するために RX FIFO から 6 バイト (データ 4 バイト + ヘッダ 2 バイト) の読み取りを要求します。
9 レスポンダ (DLC = 8B) 0x46、0x010x82、 0x04
0x07、0x08、0x09、 0x0A
レスポンダは要求された 6 バイトのデータを返します。SPI ヘッダ バイトは、これがフレーム読み出しの継続であること、SPI チャネル 2 が使用されたこと、そして残り 4 バイトの SPI データを読み出す必要があることを示しています (これはこのフレームに収まります)。送信データが CAN フレーム サイズに一致したため、パディング バイトは不要でした。