主题中讨论的其他器件:TCAN4550
工具与软件:
嗨、团队:
我的客户有关于 TCAN4550的两个问题:
TCAN4550的通信是否支持触发中断? 如果是、 需要对 TCAN4550进行什么配置?
2. TCAN4550如何分配 RX 和 TX 共享的2K RAM 空间(有多少 RX、有多少 TX )? 有计算公式吗? 由于 CAN 和 CAN FD 的数据长度不同、CAN 和 CANFD 是否占用 不同的数据区域?
请提供一些帮助。 谢谢!
此致!
灰色
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的两个问题:
TCAN4550的通信是否支持触发中断? 如果是、 需要对 TCAN4550进行什么配置?
2. TCAN4550如何分配 RX 和 TX 共享的2K RAM 空间(有多少 RX、有多少 TX )? 有计算公式吗? 由于 CAN 和 CAN FD 的数据长度不同、CAN 和 CANFD 是否占用 不同的数据区域?
请提供一些帮助。 谢谢!
此致!
灰色
您好、灰:
1. TCAN4550的通信是否支持触发中断? 如果是、则 需要对 TCAN4550进行什么配置?[/QUOT]请解释"触发中断"一词的含义。
[/quote]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
Jonathan、您好!
感谢您的答复和详细的解释! 客户 接收 CAN 消息的方法是依次读取 SPI Rx 缓冲区和周期性任务。 但如果任务被阻止、 CAN 消息可能无法及时读取、从而导致缓冲区填满并导致帧丢失。
他们希望通过两种方式降低帧丢失的风险:(1)放大 Rx 缓冲区。 (2)通过中断提高读数效率。
因此他们想知道 TCAN4550在什么条件下会在中断引脚上生成输出。
谢谢。
此致!
灰色
您好、灰:
MCAN 中断寄存器0x1050中有多个与 RX FIFO 相关的中断位可在寄存器0x1054中启用。 您还需要在中断线启用寄存器0x105C 中启用 MCAN 中断线(通常是行0 - EINT0)。
您可以为每条消息生成一个中断、也可以分配"水线位"、以便在特定数量的消息到达后进行中断、这应该使得处理器有时间在 FIFO 填满并溢出之前读取并清除 FIFO。
此致、
Jonathan