详细说明:PID如何通过VHDL语言来实现,前来看看那这个文件吧

详细说明:PID如何通过VHDL语言来实现,前来看看那这个文件吧,第1张

当采用FPGA产生PWM波形时,只需FPGA内部资源就可以实现,数字比较器的一端接设定值输出,另一端接线性递增计数器输出。当线性计数器的计数值小于设定值时输出低电平,当计数器大于设定值时输出高电平,这样[fuzzy_inference.rar] -vhdl模糊PID控制器模糊推理,推理结果:直接用经验值输出。[A_real-time_adaptive_PID_controller_step_motor.rar] - 传统PID控制器通常难以满足多变量、非线性、强耦合的步进电机动态响应和精确调速要求,结合传统PID控制和模糊控制及遗传算法(GA)整定PID参数的优点,设计基于模糊遗传算法的实时自适应步进电动机PID控制器,充分发挥传统和智能控制策略各自的优势。仿真结果表明,该实时自适应步进电动机PID[Fuzzy_PID_Control_of_Stepping_Motor.rar] - 摘要:由于步进电动机调速系统具有非线性等特点,使得利用简单模糊控制与传统PID控制精度不高,因此文中提出利用模糊PID控制器实现对步进电动机调速系统进行控制的方法,并设计了模糊PID控制器。文中首先建立了步进电动机的数学模型,并根据数学模型推导了其传递函数 然后介绍了模糊PID控制器结构,以[pid_controler_latest.tar.gz] - PID控制器的verilog实现,做闭环控制器的人可以参考[fuzzy_inference.rar] -vhdl模糊PID控制器模糊推理,推理结果:直接用经验值输出。[FPGA-Based_PID_Controller_Implementation.rar] - this paper describes implementation of PID controller on FPGA platform usingvhdl.[tec_control_pgfa.rar] - 使用fpga基于积分分离的pid算法进行温控的程序,经实验证明很稳定[PIDcontrolbook2.rar] - 微分器:利用数字锁相环进行位同步信号提取的关键模块

举个简单点的例子,如下。

设计一个4bit的计数器,在记到最大值时输出一个信号

module counter_16 ( input clk, input rst_n, input cnt_in ,output reg cnt_out )

reg [3:0] cnt

always @ (posedge clk or negedge rst_n) begin

if (~rst_n)  cnt <= 4'b0

else if (cnt_in) cnt <= cnt +1'b1

else cnt <= cnt

end

always @ (posedge clk or negedge rst_n) begin

if (~rst_n) cnt_out <= 1'b0

else if (cnt_in &&cnt == 4'b1111) cnt_out <= 1'b1

else cnt_out <= 1'b0

end

endmodule

这实际上设计了一个16进制计数器其中的一位,你可以例化多个相同模块,将低位的cnt_out连接到高位的cnt_in,级联成一个任意位数的16进制计数器。

你前边说

按下btn[0],做减法

按下btn[1],做加法,结果后来程序又成了s来决定加还是减,你干脆把s接到按键上,不按下加,按下减就可以了。

还有需要注意的是,你的输入input[7:0]sw 应该接到拨码开关之类的输入上面,若你只有四个拨码开关,可以在程序中零其余四个为0(接地),拨码开关给四个1排列下就有不同的数值了。

不懂再问。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11434055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存