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.

[参考译文] AM2634:I2C 控制器到控制器通信

Guru**** 2551110 points
Other Parts Discussed in Thread: AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1542900/am2634-i2c-controller-to-controller-communation

器件型号:AM2634


工具/软件:

您好 TI 专家、

我正在使用 I2C LLD(低级驱动器) 亮起 AM263x 、使用一个控制器作为 I2C 主器件、另一个控制器作为 I2C 从器件(目标器件)。 我正在使用的器件 中断模式 带有从器件的自定义 ISR (I2C_lld_targetIsr())。

我注意到、SDK 中提供的默认 ISR 实现是为通用用途而设计的。 但是、要满足我的应用要求—特别是 连续双向通信 两个 AM2634 器件之间—我需要这样做 修改 ISR 收件人:

  • 设置自定义标志

  • 跟踪内部计数器

  • 立即在 ISR 内重新启动传输

  • 更灵活地记录或采集数据缓冲区

我的问题:

  1. 修改的准则或最佳做法I2C_lld_targetIsr()是什么?
    是否有建议的扩展点或保护措施来保持驱动器完整性?

  2. 修改 ISR 或添加应用特定的标志或计数器(例如设置)是否rx_flag = 1会影响软件的 SIL(安全完整性等级)合规性或任何安全认证目标?

  3. 如果我的系统是针对安全关键域(如 SIL-2 或 SIL-3)开发的、那么在修改中断级驱动程序代码时是否需要采取特定的预防措施?

  4. 是否有更好的方法可以在不修改 ISR 的情况下、使用现有 LLD 基础设施在目标(从)中实现连续读取/写入功能?

如果有任何见解、参考 TI 安全手册或经认证的驱动程序变体(如果有)以及关于如何安全地构建此类修改的指导、我将不胜感激。

谢谢!

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

    您好、

    根据我的经验、我没有任何具体的修改 I2C_LLD_targetISR 的指导原则、这里只是几点:

    1.如果您有其他更高优先级的中断并预计它们会干扰您的 I2C 事务、请确保您选择的从设备支持时钟延展、否则、请确保当 I2C 运行时、没有其他中断会抢占 I2C 事务、因为它会导致时钟延展。

    2.保持 ISR 最小化且安全

    3、对于连续目标模式通信、使用环形缓冲器收集 Tx 和 Rx 数据+由标志驱动的后台处理程序向主循环发送信号。 如果需要用于传输的重新启动机制、可以将它们包含在 ISR 中(如果不希望被其他东西中断)、也可以再次调用 LLD 传输函数。

    [引述 userid=“150519" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1542900/am2634-i2c-controller-to-controller-communation
    • 修改 ISR 或添加应用特定的标志或计数器(例如设置)是否rx_flag = 1会影响软件的 SIL(安全完整性等级)合规性或任何安全认证目标?

    • 如果我的系统是针对安全关键域(如 SIL-2 或 SIL-3)开发的、那么在修改中断级驱动程序代码时是否需要采取特定的预防措施?

    [/报价]

    MCU_PLUS_SDK 中的软件未经过安全认证。 我没有任何与安全应用相关的特定输入。 软件安全(如果您想编写安全认证的软件)必须在您的过程中予以注意

    [引述 userid=“150519" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1542900/am2634-i2c-controller-to-controller-communation
    1. 是否有更好的方法可以在不修改 ISR 的情况下、使用现有 LLD 基础设施在目标(从)中实现连续读取/写入功能?

    [/报价]

    您能告诉我、LLD 中的当前 I2C ISR 面临哪些挑战吗? 它的行为不可靠还是您看到任何通信失败?  

    您可以从以下位置申请 AM263x 安全手册: https://www.ti.com/drr/opn/AM263X-RESTRICTED-DOCS-SAFETY

    此致、
    Shaunak