This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TCAN4550-Q1:2KB RAM 空间的分配

Guru**** 1624225 points
Other Parts Discussed in Thread: TCAN4550
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1378743/tcan4550-q1-the-allocation-of-2kb-ram-space

器件型号:TCAN4550-Q1
主题中讨论的其他器件:TCAN4550

工具与软件:

嗨、团队:

我的客户有关于 TCAN4550的两个问题:

 TCAN4550的通信是否支持触发中断? 如果是、 需要对 TCAN4550进行什么配置?

2. TCAN4550如何分配 RX 和 TX 共享的2K RAM 空间(有多少 RX、有多少 TX )? 有计算公式吗? 由于 CAN 和 CAN FD 的数据长度不同、CAN 和 CANFD 是否占用 不同的数据区域?

请提供一些帮助。 谢谢!

此致!

灰色

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、灰:

    1.  TCAN4550的通信是否支持触发中断? 如果是、则 需要对 TCAN4550进行什么配置?[/QUOT]

    请解释"触发中断"一词的含义。

    2.  TCAN4550如何分配 RX 和 TX 共享的2K RAM 空间(RX 数量、TX 数量)? 有计算公式吗? 由于 CAN 和 CAN FD 的数据长度不同、CAN 和 CANFD 是否占用 不同的数据区域?[/QUOT]

    请参阅 TCAN455xx 软件用户指南 (链接)和 MCAN 用户手册 (链接)、了解有关如何为应用中所需的各种元素配置 MRAM 的信息。

    每个应用都是唯一的、可能需要不同数量的 RX 和 TX 缓冲器、SID 和 XID 滤波器、因此可以根据客户的偏好分配2K 的 MRAM。  MCAN 不要求使用任何类型的元素、或不要求任何类型中具有任何最小数量的元素。  

    对于所有不同的存储器元件、只有2K 的 MRAM 占用地址0x8000至0x87FF。  无法分配 MCAN 支持的最大元素数、因此您需要确定应用需要什么、并确保其适合 MRAM 而不会出现地址重叠。  

    如果您的配置超过2K、存储器会循环回到地址空间的开头。  例如、如果尝试从地址0x8800读取或写入、这与对0x8000的读取或写入相同。

    需要将 TX 缓冲区大小设置得足够大、以容纳您要传输的最长 CAN 或 CAN FD 消息。  因此、如果您打算传输具有64个数据字节的 CAN FD 消息、那么您的所有 TX 缓冲区都将需要能够存储64个数据字节。  消息标头指示要传输的数据字节数量、因此任何数据字节少于 TX 缓冲器保存的数据字节(即8个字节)的消息都将仅传输消息标头中指示的数据字节数。

    此致、

    Jonathan

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jonathan、您好!

    感谢您的答复和详细的解释!  客户 接收 CAN 消息的方法是依次读取 SPI Rx 缓冲区和周期性任务。 但如果任务被阻止、 CAN 消息可能无法及时读取、从而导致缓冲区填满并导致帧丢失。

    他们希望通过两种方式降低帧丢失的风险:(1)放大 Rx 缓冲区。 (2)通过中断提高读数效率。

    因此他们想知道 TCAN4550在什么条件下会在中断引脚上生成输出。

    谢谢。

    此致!

    灰色

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、灰:

    MCAN 中断寄存器0x1050中有多个与 RX FIFO 相关的中断位可在寄存器0x1054中启用。  您还需要在中断线启用寄存器0x105C 中启用 MCAN 中断线(通常是行0 - EINT0)。

    您可以为每条消息生成一个中断、也可以分配"水线位"、以便在特定数量的消息到达后进行中断、这应该使得处理器有时间在 FIFO 填满并溢出之前读取并清除 FIFO。

    此致、

    Jonathan