摘要: Nios II 13.1中,使用Qsys生成的cpu中断号默认为-1,因此中断无法注册。解决方法:手动修改中断模块的tcl文件如下: 之后重新生成CPU即可 1. Quartus 中 Modelsim-Altera 设置的问题 在Quartus II 13.1中, 需要选定好可执行程序的位置,要注意 阅读全文
posted @ 2014-07-15 17:44 zhongzhe 阅读(1366) 评论(0) 推荐(0)
摘要: quartus2建立工程后,编译并检查语法通过后(功能仿真都不需要综合)tips:这样你的工程层次化也同时完成了。打开Assignment -> settings, 找到Simulation,打开TestBenches...在这里添加你的testbench测试文件,如果输入数据是读文件的话把源文件也... 阅读全文
posted @ 2014-07-15 10:55 zhongzhe 阅读(636) 评论(0) 推荐(0)
摘要: 1.PMD Corpoartion美国一家提供专用运动控制以及运动控制解决方案的公司;2. Techosoftmotion瑞士一家提供专用DSP的运动控制解决方案,开发了自己专用的运动控制DSP和相应的软件;3.Novaelec公司日本一家传统运动控制IC公司4.Trinamic motion co... 阅读全文
posted @ 2014-04-23 16:41 zhongzhe 阅读(754) 评论(0) 推荐(0)
摘要: FPGA的程序通常包含硬件和软件两部分。正常情况下调试需要分别进行下载,过程繁琐。为了将Nios II的软件程序包含到.sof文件中方便调试,可以在SOPC Builder中的RAM初始化为Nios 中的应用程序,在早先的版本中onchip_mem.hex都是自动生成的,并且每次编译Nios 程序的... 阅读全文
posted @ 2013-06-21 03:15 zhongzhe 阅读(1523) 评论(0) 推荐(0)
摘要: 一.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量 取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常量的值在编译时已知,而且不需要分配存储。―《C++ Program Language》 用const声明的变量虽然增加了分配空间,但是可以保证类型安全。C标准中, 阅读全文
posted @ 2012-12-01 01:22 zhongzhe 阅读(600) 评论(0) 推荐(0)
摘要: 运动伺服一般都是三环控制系统,从内到外依次是电流环速度环位置环。1、首先电流环:电流环的输入是速度环PID调节后的那个输出, 我们称为“电流环给定”吧,然后呢就是电流环的这个给定和“电流环的反馈”值进行比较后的差值在电流环内做PID调节输出给电机,“电流环的输出”就是电 机的每相的相电流,“电流环的反馈”不是编码器的反馈而是在驱动器内部安装在每相的霍尔元件(磁场感应变为电流电压信号)反馈给电流环的。2、速度环:速度环的输入就是位置环PID调节后的输出以及位置设定的前馈值,我们称为“速度设定”,这个“速度设定”和“速度环反馈”值进行比较后的 差值在速度环做PID调节(主要是比例增益和积分处理)后 阅读全文
posted @ 2012-11-16 05:27 zhongzhe 阅读(2148) 评论(0) 推荐(1)
摘要: 伺服的采样周期:(对速度环、位置环而言,是对编码器采样,对电流环而言,是对霍尔元件或者电流互感器采样)、循环时间和响应时间均为伺服运动控制能力的指标。伺服循环时间:指PID计算循环时间,也是伺服设定值循环时间。此处伺服设定值指伺服通过采样,经过PID计算后给出的设定值,而不是指上位发给伺服的设定值,通常上位设定值周期大于伺服PID计算设定值周期。通常而言,伺服采样周期=伺服循环时间=伺服设定值时间。响应时间:比上述要大的多,响应时间指的是响应设定值的时间。 部分手册给出响应频率,响应频率=1/响应周期。频带宽度简称带宽,由系统频率响应特性来规定,反映伺服系统的跟踪的快速性。带宽越大,快速性越好 阅读全文
posted @ 2012-11-14 23:28 zhongzhe 阅读(13696) 评论(0) 推荐(1)
摘要: 通过服务数据对象(SDO)可访问CANopen对象字典的所有条目。一个SDO由两个带有不同CAN标识符的CAN数据帧组成。这是确认的通讯服务。使用SDO,可以在广播介质CAN上建立起两个CANopen设备之间的点对点客户机服务器通讯。被访问对象字典的拥有者充当SDO服务器。访问其它设备对象字典的设备是SDO客户机。SDO参数集SDO参数集SDO参数集被安排在对象字典索引范围12xxh中:1)SDO服务器通道在范围1200h至127Fh中描述;2)SDO客户机通道在范围1280Fh至12FFh中提供。一个标准的CANopen站点必须最少支持一个SDO客户机,从而可以使主节点可以访问其对象字典中的 阅读全文
posted @ 2012-04-28 17:32 zhongzhe 阅读(795) 评论(0) 推荐(0)
摘要: 在FPGA中PWM信号常用计数器和比较器产生:一个固定的周期,根据计数器比较值改变占空比(分母不变改变分子)。下面是一个使用累加器生成PWM信号的例子,高电平时间不变,通过改变脉冲周期(分子不变改变分母)的方式获得PWM信号。后面的方式代码简洁,并且能节省不少资源。modulePWM(clk, PWM_in, PWM_out);inputclk;input[7:0] PWM_in;outputPWM_out;reg[8:0] PWM_accumulator;always@(posedgeclk) PWM_accumulator <= PWM_accumulator[7:0] + PWM_ 阅读全文
posted @ 2012-03-26 10:29 zhongzhe 阅读(767) 评论(0) 推荐(0)
摘要: 一、锁存器锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一... 阅读全文
posted @ 2012-03-26 10:24 zhongzhe 阅读(1134) 评论(0) 推荐(0)