采用 NIOS, 控制步进电机, 如何提高最大脉冲频率? 想到以下方法,不知能否实现要求?
目前采用的是 EP2C8Q208I8芯片, 采用SDRAM , Stack Memory 设置为:Onchip_memory2, NIOS工作频率:100M优化级别设为最高,然后在定时中断函数里面发送脉冲。 (注:中断函数 已经尽量进行了简化)
结果: 发送脉冲周期最小为:10us, 最大频率:100K HZ.
如何提高发送脉冲频率呢? 比如,把发送脉冲最大频率提高到200KHZ,想到以下方法:
1、把SDRAM 改为 SRAM, 最大脉冲频率能够提高到多少?
2、EP2C8Q208I8 速度等级较低,采用更高等级的器件,NIOS频率能否采用150M或者更高?
3、能否把中断函数的代码 设置到 Onchip_memory2 上面,这样速度貌似也会快一些?
(这个方法似乎不行,好像是不能单独把中断函数设置到Onchip_memory2,为了加快中断响应,我目前是把 Stack Memory 设置为:Onchip_memory2) 目前 NIOS工作频率在 100M下非常稳定 直接做个IP挂上去不是更简单么。。 Altera有Avalon PWM的IP,网站上找找,随便你多少频率都可以!!! 回复【3楼】oceanx
-----------------------------------------------------------------------
谢谢提醒,用IP是个最好的办法 用PWM控制步进电机有待商榷,因为这样做出的输出频率很难做到 1 2 3 。。。K -1 KHZ 的连续调节。 做个PWM 用NIOS! 太没有必要了吧 这样做没有发挥FPGA的优势,和用单片机有什么区别,应该做成IP才对,别说200K,上M都行 围观 要快就不能用软核FPGA输出1-2M的步进电机控制信号完全没问题
可以做出2相步进电机的2,4细分驱动 关键是加减速。
页:
[1]