- 博客(7)
- 收藏
- 关注
原创 FPGA学习笔记(5)——步进电机梯形加减速算法
使用加减速的目的是:防止步进电机的启动频率过快而无法正常启动,避免控制脉冲频率变化过大造成电机丢步或过冲。空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。步进电机的基本概念及控制模式参考如下链接:https://www.elecfans.com/d/1294049.h
2022-05-11 18:33:19
7818
8
原创 FPGA学习笔记(4)——BCD计数器、计数器级联
bcd计数器定义:4bit的counter计数到9,再进行级联,则输出值q可以直接用bcd码表示成十进制数。例如计数456次,输出值为q为12’h456。 q[11:8] q[7:4] q[3:0] 4 5 6 代码如下:counter_4bitmodule counter_4bit #( parameter c_number = 4'd10 )( inp
2022-04-29 17:25:46
3066
原创 FPGA学习笔记(3)——如何理解时序逻辑会延迟一拍的现象
疑惑:什么是时序逻辑会延迟组合逻辑一拍?如何理解该现象?当数据变化沿与寄存器时钟上升沿重合时,寄存器输出信号是什么?结论:DFF有输入端(D端)和输出端(Q端),D端连接部分组合电路,其值随组合电路的输入值同步变化; 所谓“延迟一拍”是指当时钟上升沿来临时,D端数据会传送到Q端,即Q值相较于D值会延迟一拍; 当数据变化沿与寄存器时钟上升沿重合时,可看作D端数据先变化,随即再将值传给Q端,即波形图显示的是寄存器输出(Q)为信号跳变沿后的值,如图4; 寄存器之间的延迟,即每经过一个DFF,就会增加
2022-04-26 11:12:01
7877
1
原创 FPGA学习笔记(2)——分频器(任意偶分频、任意奇分频)
偶数次分频(占空比50%)工作原理:要实现2n分频,使用一个计数器计数到n-1时,输出信号电平翻转。例:系统时钟50MHz,需要10k的时钟输出。需要对系统时钟进行5000分频,计数器计数到2499,out信号翻转,即可实现out为10k。RTL:Tb:奇数次分频(占空比50%)原理:要实现2n+1分频,使用计数器在计数到n和2n时,分别在系统时钟上升沿和下降沿翻转得到两个生成时钟,再将两个时钟做与/或运算,得到分频后的时钟。例:系统时钟50MHz,需要4
2022-04-21 22:40:16
2189
1
原创 FPGA个人学习心得(1)
(1)case语句会综合出mux或decoder,而if-else语句会综合出mux和比较器comparator;(2)always块中赋值的变量为reg型,否则会出现error:“illegal LHS in quasi continuous assignment”(3)always@(*)为组合逻辑,mux、decoder、encoder均为组合逻辑,case语句可以综合出来mux(4)always@(posedge clk or negedge rst_n)为时序逻辑,会综合出DFF(寄存
2022-04-20 22:58:13
1410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人