工具/软件:
尊敬的团队:
我 观察到与 DCAN 相比、MCAN 存在几个问题。
1.我们需要通过获取字节来准备浮点或 int 数据、否则数据与 DCAN 相比变得重叠、这是 CPU 的额外负担。 由于数据为 uint16_t、当我们仅传输 uint16_t 的低字节时、系统将进行传输。 是否有任何方法可以直接将 float 传输或传输到 MCAN_TxBufElement 或 MCAN_RxBufElement 中字段的 uint16_t DATA[]中 、例如 DCAN 中的字节外设和接口寄存器?
2.使用 TI 驱动程序库函数 (MCAN_readMsgRam、MCAN_writeMsgRam) 读取或写入消息 RAM 需要大量时间。 由于我们在中断中有 TX 和 RX、这些函数大约需要 3.2us、每个时间在中断中很重要。 由于我们在中断中轮询消息、 在 ISR 中轮询 TX 消息、因此我们是否可以缩短该时间?
MCAN_writeMsgRam (MCANA_DRIVER_BASE、MCAN_MEM_TYPE_BUF、IDx、&TX);->约为 3.2us
MCAN_readMsgRam (MCANA_DRIVER_BASE、MCAN_MEM_TYPE_BUF、bufIndex、0、&g_rxBuf[bufIndex]); ->约 3.2us
提前感谢。