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.

[参考译文] TMS570LC4357:断开 DMA 通道与硬件触发线路的连接

Guru**** 2445270 points
Other Parts Discussed in Thread: HALCOGEN, TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/626697/tms570lc4357-disconnect-dma-channel-from-hw-trigger-lines

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

我们需要在链中使用 DMA 通道。 例如、使用 DMA_CH1 来触发 DMA_CH2。 这很简单、我们在 DMA 控制数据包中设置此链。
为了使其正常工作、我们必须为 DMA_CH2启用硬件触发。 但这个链不是唯一能够触发的链。 第二个源取决于 DMA 请求分配寄存器(DREQASI_x)的设置。

问题是、此代码是独立模块、我们无法判断未 使用哪个 DMA 请求硬件行。

根据我的观察、可以通过将未使用的 DMA 请求行设置为类似的方式来解决该问题
DMAReqAssign (DMA_CH2、63);// HalCoGen 语法将 DREQASI0寄存器设置为63

问题是、我不知道此设置是否有效。  没有关于设置 SPNS195C 章  节6.17.3默认 DMA 请求映射(范围 DMAREQ[0]- DMAREQ[47])指定的超出范围的信息

此致、Jiri Dobry

PS:SPNU563 技术参考手册第20.3.1.13章 DMA 请求分配寄存器0 (DREQASI0)包含错误。 有效通道设置为0x00-0x1F。 但32-47也是有效设置(SPNS195C 第  6.17.3章默认 DMA 请求映射)

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

    大家好、

    Jiri 的脚本编写说明:是的、寄存器 DREQASI0[0...7]中位域的描述有点令人困惑-有6个位可用于为每个 DMA 通道选择适当的硬件请求、如图20-4所示。 TRM  SPNU563的 DMA 请求映射和控制数据包组织–2014年5月

    谢谢、Jiri

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

    请注意、发布脚本中的内容与 e2e.ti.com/.../590766重复

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有反应? 如果将 DREQASI0设置为超出范围的建议解决方案有效、我们现在希望这样做。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jiri、

    首先、我对迟迟未能回答您的问题表示歉意。

    其次、我看不到您不能将其设置为0x3F 的任何原因、如链接到的帖子中所述。 为了确定这不会导致问题、请确保您的测试专门解决了此初始化问题、并确认在触发 DMA 时没有副作用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Chuck:

    您是对的-几乎所有事情都可以通过在客户端执行一组测试案例来证明。 另一方面、客户购买了经过认证的器件、因此、我希望 TI 在认证过程中执行并经通知机构批准的大量测试活动。
    另一个观点是关于测试覆盖范围-客户处于复杂的情况下,以评估哪种测试覆盖范围足够:-)
    我的意思是、TI 了解 DMA 控制器的内部结构和机制(VHDL 源代码)、因此我要说、可以在 TI 端轻松地对 VHDL 代码进行静态分析、以证明值"高于"允许值(由不准确的 TRM 得出) 阈值不会影响正常和预期的行为。
    最后一条(同样重要)声明- TMS570LC4357器件已获得 SIL3认证-作为提示、我希望 TI 针对任何未记录和/或未定义/危险行为提供官方解决/勘误项。

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

    您的观点得到了充分的记录和理解。 还应考虑到在开发和评估过程中、有相当多的资源分配给开发过程、而且其中的许多信息有时不会传递给所有相关人员。 它确实是一款经 ASILD 和 SIL3认证的安全器件。 这些认证中特别关注的是提供证据、证明器件是在经过认证的过程中开发的、旨在最大程度地降低系统故障的风险。 根据这些标准、还特别需要记录适当的定性和定量信息、以证明随机故障的检测和/或避免。 这两个点结合在一起、可在必要时降低器件中随机和系统故障所导致的风险。

    请注意、我对这项特定任务的评论具有一定程度的信心、即向该字段写入较高值的行为是良性的。 即、该模块设计最多可支持64个通道、而之前器件中的32个通道有所扩展。 与我们的 IP 经常发生的情况一样、未实现的信号通常被绑定或处理、以不影响器件运行的方式、在这种情况下、我强烈怀疑也是如此。 因此、我不会对这种故障的任何形式、形状或构成将被/应该被视为整体认证的一部分的故障感到非常担忧(请注意、这种类型的故障将属于系统故障区域。) 我也不会认为它会上升到硬件错误级别、从而需要勘误咨询。

    与任何功能安全实施一样、在器件级别的责任与积分器级别的责任之间有着明确的区别。 在本例中、 您要求以未在配套资料中定义的方式使用器件、因此它不一定是特定行为的定义要求、这就是为什么您要使用器件的未记录功能的原因、 我们要求您以谨慎的方式执行此操作、并充分注意测试该未记录功能、该功能超出预期使用方案的范围。

    关于设计资源、是的、如果我能够访问 RTL/设计数据库、我理论上可以查看这些信号、并可能查看它们是如何连接的。 最后、我没有此访问权限、因此此时不能选择此访问权限。

    此外、请注意、如果您发现 TRM 不准确、请使用文档反馈机制提供反馈。 我们正在评估 TRMS 的更新、任何不准确或澄清都是包含在这些更新中的有效选择。