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.
我使用的是 TMS520LS3137 Hercules 器件(请注意、器件型号在上面的器件型号字段中不起作用);我有一个单 IO 引脚 N2HET 应用在某种程度上基于正弦波演示运行、但我不知道如何将这个简单的控制环路扩展到多个 IO 引脚(例如3个电机相位)。
您是否有可处理多个 IO 引脚的示例应用? 我认为 CNT/ECMP 对可能会扩展到每个 IO 引脚、但 CNT 会在每次执行时递增计数器值(因此第二条 ECMP 指令不能有第二条 CNT 指令)。 然后、我想只需要第二条 ECMP 指令来操作第二个 IO 引脚、但 Z 标志只在1个周期内保持有效、因此第二个 ECMP 将无法对 CNT (Z=1)操作执行操作。 那么、需要将3个不同引脚设置为3个不同值的应用是什么样的?
谢谢、
Jim
您好、Jim、
这是一个使用 MCMP 生成3个具有不同 PWM 频率的通道的示例。
l00 CNT { reg=a、IRQ=off、max=2}
L01 MCMP{en_pin_action=on、order=REG_GE_data、pin=0、action=PULSELO、reg=A、 data=1、hr_data=64};
L02 CNT { reg=A、IRQ=OFF、max=3}
L03 MCMP{en_pin_action=on、order=REG_GE_data、pin=1、action=PULSELO、reg=A、 data=2、hr_data=4};
L04 CNT { REG=A、IRQ=OFF、max=4}
L05 MCMP{en_pin_action=on、order=REG_GE_data、pin=2、action=PULSELO、reg=A、 data=1、hr_data=0};
L06 BR {NEXT = L00、COND_ADDR=L00、EVENT= NOCOND}
此致、
问
我想我了解示例程序的工作原理、但现在3个 MCMP 值需要在每个周期通过主 CPU 动态更新。 我有一个单 IO 引脚版本(如下所示):
l00 CNT{reqnum=0、request=GENREQ、reg=A、IRQ=ON、max=PWM_PERIOD};
L01 ECMP{NEXT = L03、hr_lr = HIGH、en_PIN_ACTION = ON、COND_addr=L02、PIN=PWM_PIN_NUM、
action=PULSELO、reg=a、IRQ=off、data=init_compare、hr_data=init_HR_delay};
L02 MOV32{remote=l01、type=IMTOREG&REM、reg=none、data=init_compare、hr_data=init_HR_delay};
L03 BR{NEXT = L00、COND_ADDR=L00、EVENT= NOCOND}
并且 ECMP-COMPARE-VALUE 通过 MOV32命令和 HTU 在中进行"DMA"操作。
有没有一个示例说明 HTU 如何将3个不同的 UINT16值(3个不同的相电压)传输到3个不同的 MOV32数据位置? 或者、您能否建议另一种方法将3个不同的值传输到3个 ECMP/MCMP 命令?
谢谢、
Jim