大家好、
假设割道使用10-2齿、则下降沿有效、在割道同步后齿轮循环结束时至奇齿、 也就是说、发生下降沿且 APCNT 的周期计数变为0、那么下一个档位周期的 SCNT 和 ACNT 的数据字段不会增加并保持为0。
如手册伪代码所述、仅分配了周期计数的3种情况、如下图所示、但客户检查 EXC2寄存器、此时未设置标志。
使用以下代码、LR=128、HR=64、HET1在引脚1上生成波形。 软件检测到奇数点齿且引脚1通过硬件连接到 PIN2后、也会启用割道。
A1 PWCNT { next=A2,hr_lr=LOW,cond_addr=A2,en_pin_action=ON,pin=1,action=PULSEHI,reg=NONE,data=0,hr_data=16};
A2 DJZ { next=B1,cond_addr=A3,reg=NONE,data=0};
A3 MOV32 {remote=A1,z_cond=OFF,init=OFF,type=IMTOREG&REM,reg=NONE,data=5,hr_data=16};
A4 CNT { reg=A,max=7,data=0};
A5 ECMP { en_pin_action=OFF,cond_addr=A7,pin=0,reg=A,data=6};
A6 MOV32 {next=B1,remote=A2,z_cond=OFF,init=OFF,type=IMTOREG&REM,reg=NONE,data=15};
A7 MOV32 {next=B1,remote=A2,z_cond=OFF,init=OFF,type=IMTOREG&REM,reg=NONE,data=47};
B1 PCNT { hr_lr=LOW,type=FALL2FALL,pin=2,control=ON,prv=OFF,data=0};
B2 CNT { reg=B,max=30,data=5};
B3 BR { brk=OFF,next=B4,cond_addr=L1,event=Z};
B4 ECMP { next=A1,en_pin_action=OFF,cond_addr=B5,pin=0,reg=B,data=20};
B5 MOV32 { next=A1,remote=B2,z_cond=OFF,init=OFF,type=IMTOREG&REM,reg=A,data=5};
L1 APCNT { reqnum=4,request=NOREQ,irq=OFF,type=FALL2FALL,prv=OFF,period=0};
L2 SCNT { step=8,gapstart=57,data=0};
L3 ACNT { next=L4,edge=FALLING,irq=ON,gapend=79,data=8};
L4 ECMP { next=A1,en_pin_action=OFF,cond_addr=L5,pin=1,reg=B,data=0x4e};
L5 CNT { next=A1,brk=ON,reg=NONE,max=7,data=0};
以下是 APCNT 周期计数异常的屏幕截图、该异常在奇数点周期结束的下降沿变为0、断点在 APCNT 指令处设置:
这一问题以前曾提出过,但仍未解决:
TMS570LC4357:N2HET 割道- SCNT 不正确计数、缺失齿-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
TMS570LC4357:如何正确设置割道? -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
您能帮助检查这个问题吗? 谢谢。
此致、
切里