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 メカニカルデータ

メッセージ RAM (MRAM) および IP イネーブル

TCAN5102-Q1 には 2kB のメッセージ RAM (MRAM) があり、SPI、I2C、UART 通信のメールボックスを格納するために使用されます。この RAM は、エンド アプリケーションのニーズに基づき、2 つの IP ブロックに割り当てられたメモリを任意の組み合わせで 25% 単位に分割できます。RX と TX の間の分割は調整できず、常に 50/50% です。RX および TX FIFO の処理は TCAN5102-Q1 によって行われるため、各 IP ブロックに割り当てる MRAM の量を選択しないでユーザーの設定は不要です。

SPI と I2C はメモリ使用に関して単純な分割を行い、割り当てられたメモリの 50% は TX データの格納に使用され、残りの 50% は指定されていれば RX データの格納に使用されます。

UART では、受信した各バイトのステータスを格納するために追加のバイトが必要です。つまり、UART で受信する各データ バイトごとに、そのバイトのステータスを格納するために 1 バイトが追加で必要になります。その結果、UART に割り当てられたメモリの 3 分の 2 だけが実際のデータ バイトの格納に使用されます。

表 7-7に、各 IP ブロックの TX バッファまたは RX バッファに割り当てられるデータのバイト数を示します。表示されるサイズは TX バッファと RX バッファの両方で同じ値ですが、両者で共有される値ではありません。たとえば、MRAM 領域の 100% が SPI に割り当てられている場合、SPI TX サイズは 1024 バイト、SPI RX バッファは 1024 バイトです。TX バッファと RX バッファを合わせると合計で 2048 バイトとなり、これがメモリ全体に相当します。

MRAM の 50 % が SPI と UART に割り当てられた例では、SPI の RX と TX のサイズはそれぞれ 512 で、合計 1 kB となります。UART IP は、バッファごとにわずか 340 バイトです。UART RX では、受信した各バイトのステータスを格納するために追加のバイトが必要となるため、利用可能な 1024 バイトのうちデータ格納に使用されるのは 3 分の 2 だけです。内部では、TX バッファと RX バッファに保存できるバイト数は同一です。このため、残りの 4 バイトは 3 つの機能 (TX、RX、RX ステータス) に均等に分割できないため、4 バイトのデータは未使用のままになります。

注: MRAM のアロケーション設定は、SPI および I2C 用の IP モジュールを有効化するために使用されます。モジュールにメモリがアロケーションされると、モジュールは有効化されます。ただし、モジュールで使用する GPIO は、GPIO 構成レジスタで手動で特殊機能に設定する必要があります。す。

表 7-7 MRAM アロケーション
SPI へのアロケーション % SPI TX または RX サイズ
(バイト)
UART TX または RX サイズ
(バイト)
使用された合計バイト数
(合計に対する %)
100% 1024 0 2048 (100%)
75% 768 168 2040 (99.6%)
50% 512 340 2044 (99.8%)
25% 256 512 2048 (100%)
0% 0 680 2040 (99.6%)
表 7-8 MRAM アロケーション
MRAM_IP_EN (16 進) SPI へのアロケーション % UART へのアロケーション % I2C へのアロケーション % SPI TX および RX サイズ
(バイト)
UART TX および RX サイズ
(バイト)
I2C TX および RX サイズ
(バイト)
使用された合計バイト数
(合計に対する %)
0h 0% 0% 0% 0 0 0 0 (0%)
1h 0% 100% 0% 0 680 0 2040 (99.61%)
2h 25% 75% 0% 256 512 0 2048 (100%)
3h 50% 50% 0% 512 340 0 2044 (99.8%)
4h 75% 25% 0% 768 168 0 2040 (99.61%)
5h 100% 0% 0% 1024 0 0 2048 (100%)
6h 0% 0% 100% 0 0 1024 2048 (100%)
7h 0% 25% 75% 0 168 768 2040 (99.61%)
8h 0% 50% 50% 0 340 512 2044 (99.8%)
9h 0% 75% 25% 0 512 256 2048 (100%)
Ah 25% 0% 75% 256 0 768 2048 (100%)
Bh 50% 0% 50% 512 0 512 2048 (100%)
Ch 75% 0% 25% 768 0 256 2048 (100%)
TCAN5102-Q1 MRAM レイアウト例 (SPI と UART を有効化し、50 % で分割した場合)図 7-6 MRAM レイアウト例 (SPI と UART を有効化し、50 % で分割した場合)
TCAN5102-Q1 サンプル データ付き MRAM レイアウト例 (MRAM の 100 % を I2C に割り当てた場合)図 7-7 サンプル データ付き MRAM レイアウト例 (MRAM の 100 % を I2C に割り当てた場合)

上の図には、MRAM が I2C のデータを保持する方法の例が示されています。各 I2C フレーム / メッセージは異なる色で示され、各 RX または TX FIFO 内でメッセージが密にグループ化される様子を表しています。ユーザーは、FIFO 内でデータがどのように格納されるかを意識する必要はなく、FIFO の合計サイズと、ヘッダやステータス バイトもメモリに格納されるという事実だけを把握していれば十分です。