工具与软件:
您好!
我的客户正在使用 tidep_01032_dual_motor_drive\single_chip_servo 的示例代码评估 AM2434。
在本示例代码中"内核0"的源代码中、将 CH1和 CH2的中断分开。
当这些中断同时被输入时、优先级是如何配置的?
是否有任何配置参数?
CH1:pruEncoderIrqHandler
Ch2:pruEncoderIrqHandler2
谢谢。此致、
英明
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.
工具与软件:
您好!
我的客户正在使用 tidep_01032_dual_motor_drive\single_chip_servo 的示例代码评估 AM2434。
在本示例代码中"内核0"的源代码中、将 CH1和 CH2的中断分开。
当这些中断同时被输入时、优先级是如何配置的?
是否有任何配置参数?
CH1:pruEncoderIrqHandler
Ch2:pruEncoderIrqHandler2
谢谢。此致、
英明
松本山市
这些中断的优先级由硬件决定。 较低的中断编号具有较高的优先级。
在"single_chip_servo.c"中搜索时、我找到了以下内容:
CH1: hwiPrms.intNum = ICSSG_PRU_ENDAT_INT_NUM;对应于"CSLR_R5FSS0_CORE0_INTR_PRU_ICSSG0_PR1_HOST_INTR_pend_0 (120U)"
谢谢!
Paula.
尊敬的 Paula:
非常感谢您的回答。
您还可以帮助回答以下问题吗?
[报价 userid="1059" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423063/am2434-how-to-set-interrupt-priority/5454378 #5454378"]还有一个问题、是否可以统一这些中断? 一个中断可以同时控制 CH1和 CH2吗?
例如、pruEncoderIrqHandler 同时执行 CH1和 CH2的处理。
[报价]谢谢。此致、
英明
尊敬的 Paula:
非常感谢您的回答。
在我确认客户的问题后、让我修改以下问题。
[报价 userid="1059" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1423063/am2434-how-to-set-interrupt-priority/5454378 #5454378"]还有一个问题、是否可以统一这些中断? 一个中断可以同时控制 CH1和 CH2吗?
例如、pruEncoderIrqHandler 同时执行 CH1和 CH2的处理。
[报价]目前、CH1中断进入 R5F0_0、而 CH2进入 R5F0_1。
CH1:pruEncoderIrqHandler Ch2:pruEncoderIrqHandler2
是否可以将 CH1和 CH2中断同时输入到 R5F0_0中?
如果可能,你能告诉他们如何修改代码吗?
他们希望通过一个内核来控制两个通道。
谢谢。此致、
英明
松本山、我们的专家之一发送了以下信息。
有三种方法可以做到这一点:
1) 1)我们可以为两个轴生成相同的事件编号
2)我们可以对两个轴使用不同的事件编号并将其映射到同一个 INTC 通道(此处最低的 INTC 事件编号被赋予高优先级
服务高电平事件后、应该再次服务最低优先级的事件)
3) 3)我们可以对轴和不同的 INTC 通道以及相同的主机中断使用不同的事件编号(此处最低 INTC 通道编号被赋予高优先级)
为了实现第三个案例、我们可以在"tisddf_pruss_intc_maping.h"中执行以下操作。
e2e.ti.com/.../tisddf_5F00_pruss_5F00_intc_5F00_mapping.h
这些是在进行更改后事件编号、通道编号、两个轴使用的主机中断编号:
Event_18 ->通道2 ->主机中断2 -> 120 (R5F0_0)
Event_20 ->通道4 ->主机中断2 -> 120 (R5F0_0)
此外、请更新应用程序的 EnDAT 以对两个电机使用 hwiPrms.intNum" 120
请告诉我们、这是否适合您客户的用例
谢谢!
Paula.
实际上、以下内容可能不需要、因为客户的意图是在一个 R5F 内核中、在同一个 ISR 上为两个轴提供服务。
此外、请更新应用程序的 EnDAT 以使用"hwiPrms.intNum" 120 for Both Motors
谢谢!
Paula.