主题中讨论的其他器件:HALCOGEN
您好!
我们还有另一个与 N2HET 相关的问题、可以通过 TMDSRM48HDK 套件(S2全部关闭)重现。 我们在新硬件中发布了完全类似的内容、其中一个引脚从 GPIO 端口更改为 HET1引脚27。 注意:边缘(引脚上行状态)足够长的 HET、可以在实际硬件中检测到它、我们具有其他引脚所在的冗余功能(之前的硬件中已经存在) 连接到 HET 1_14引脚、它提供 IRQ、而当旧的硬件 GPIO 端口正常工作时、1_27不提供 IRQ。 最初、虽然这是新硬件中的电路板问题、但由于 DIN 正确显示了引脚状态、连接良好。
请参见附加项目。 如果使用"#define TEST_PIN26 1"(第132行)运行它-引脚26的上升沿被生成- HET 也在引脚27中检测边沿(当(1)到达时、请参阅'au32HetIrqs'内容)。 如果使用"#define TEST_PIN26 0"运行它-引脚27的上升边沿被建立- HET 不检测任何边沿。
DIN 显示目标引脚确实已上升、其他引脚已下降... 在本演示中、我们仅控制该引脚、该引脚通过 HET 进行监控、但在现实生活中、我们将实际输入源连接到该引脚、并且存在完全相同的问题(由于监控输入、因此控制自身也起作用)、 当受监控的引脚27上升时,HET 不会发出 IRQ 信号,如果我们控制引脚26 (它是在实际中输出的,用于完全分离的东西),也会生成引脚27....的 IRQ
HET 1_27引脚有点特殊、它具有直接焊球 A9和可复用焊球 B2 (嗯、多路复用器不会将 B2引导至 HET)、同样 具有 HET 1_29 (A3和 C3)和 HET 1_31 (J17和 W9)引脚。 所有这些情况的常见情况是、如果 A9、A3或 J17上升、则不会发出 IRQ 信号。 未测试是否控制1_28或1_30、如果这些会生成1_29和1_31的 IRQ、例如1_26会生成1_27。 此外、17、19、21、23和25也具有类似的2引脚连接可能性、但尚未测试这些...
从 TRM 或数据表中可以发现这些引脚/ HET 端口是"特殊"的、应该以不同的方式使用它们... 我知道、如果可复用引脚也被路由到 HET、可能会出现一些问题、但在演示和实际硬件中、只有固定引脚应该进入 HET。
勘误表提到了 PCNT 在测量脉冲长度时的一些问题、因为根本不使用 HR、并且只需要 IRQ。这些勘误结果不应产生任何影响(如果 PCNT 完全从 HET 代码和应用端删除、演示应用程序也会失败)...
我们已经尝试在 ECNT 和 PCNT HET 指令中在上升沿提供 IRQ、但两者的工作方式相似、 在演示项目中、这两个项目同时使用、并且所有 IRQ 被同时计数、并且每个偏移也被单独计数、以验证通过调试器从阵列插槽读取的 IRQ 计数与总数相匹配。 我还在 IRQ 使能之后和边沿生成之前放置了"假"延迟、以确保如果代码在边沿使 HET 有足够的时间运行1个周期前被停止(这应该是无用的、但情况正好是这样)。
您能从代码中找到一些错误吗? 或者这些... 27、29、31个 HET 引脚、某种程度上是特殊的、不能像我们想使用的那样使用? 当 DIN 显示引脚27朝下且26朝上时、为什么引脚26中的边沿会被引脚27的监控说明中的 HET 代码捕获...
这是重新生成情况的项目(再次使用2个 HDK、2台不同的计算机和地理位置进行测试)、所有"应用"代码都位于 sys_main.c 中 应用程序只是为目标偏移线初始化 HET、启用 IRQ、将引脚26&27置于低电平、启用 HET IRQ (清除来自该偏移的可能挂起的 IRQ)、然后将上升沿变为引脚26或27。
e2e.ti.com/.../8875.N2HET_5F00_irq_5F00_problem.zip