|
本帖最后由 三年模拟 于 2021-12-17 16:05 编辑
目前做一个FPGA运动控制卡,16路步进电机输出,一个模块是步进电机的运动控制,如下,例化出16路控制
stepmotor uut_stepmotor1(
.clk(clk_50m), //时钟信号,50MHz
.rst_n(sys_rst_n), //复位信号,低电平有效
.en(stepmotor1_start),
.switch(stepmotor1_switch),
.upos(stepmotor1_upos),
.spos(stepmotor1_spos),
.dpos(stepmotor1_dpos),//目标步数
.vmax(stepmotor1_vmax[23:0]),//最大速度
.running(stepmotor1_running),
.pulse(stepmotor1_pulse) //sin输出值
);
stepmotor uut_stepmotor2(.clk(clk_50m), //时钟信号,50MHz
.rst_n(sys_rst_n), //复位信号,低电平有效
.en(stepmotor2_start),
.switch(stepmotor2_switch),
.upos(stepmotor2_upos),
.spos(stepmotor2_spos),
.dpos(stepmotor2_dpos),//目标步数
.vmax(stepmotor2_vmax[23:0]),//最大速度
.running(stepmotor2_running),
.pulse(stepmotor2_pulse) //sin输出值);
....省略,同上类推
stepmotor uut_stepmotor6(.clk(clk_50m), //时钟信号,50MHz
.rst_n(sys_rst_n), //复位信号,低电平有效
.en(stepmotor6_start),
.switch(stepmotor6_switch),
.upos(stepmotor6_upos),
.spos(stepmotor6_spos),
.dpos(stepmotor6_dpos),//目标步数
.vmax(stepmotor6_vmax[23:0]),//最大速度
.running(stepmotor6_running),
.pulse(stepmotor6_pulse) //sin输出值);
....省略,同上类推
stepmotor uut_stepmotor16(.clk(clk_50m), //时钟信号,50MHz
.rst_n(sys_rst_n), //复位信号,低电平有效
.en(stepmotor16_start),
.switch(stepmotor16_switch),
.upos(stepmotor16_upos),
.spos(stepmotor16_spos),
.dpos(stepmotor16_dpos),//目标步数
.vmax(stepmotor16_vmax[23:0]),//最大速度
.running(stepmotor16_running),
.pulse(stepmotor16_pulse) //sin输出值);
其中running信号是输出,表示电机运动状态,0停止,1运动。
现在问题来了,16个模块中,第6和16的running输出一直是0,其余14个没问题,已经检查了,各种io配置,不是引脚配置问题,肯定是其他问题导致,这16路输出,除了第6和16模块的running不正常(16路电机都能动),其余都是正常工作的,有没有大佬帮忙看下,什么问题导致。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|