下载此文档

步进电机角度控制系统的VHDL设计.doc


文档分类:通信/电子 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
步进电机角度控制系统的VHDL设计
20世纪80年代后期,美国国防部开发的VHDL语言(VHSIC硬件描写语言,VHSIC是非常高度迅速综合的电路的缩写)是IEEE标准化的硬件描述语言,并且已经成为系统描述的国际公认标准,得到众多EDA公司的支持。其设计描述可以是描述电路具体组成的结构描述,,甚至门级。
传统的电子设计技术通常是自底向上的,即首先确定构成系统的最底层的电路模块或元器件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求[10]。以此流程,逐步向上递推,直至完成整个目标系统设计。
而在“自顶向下”的设计中,首先需要进行行为设计。接着进行结构设计,根据该电子系统或芯片的特点,将其分解为接口清晰、相互关系明确、尽可能简单的子系统,得到一个总体结构。下一步是把结构转换成逻辑图,即进行逻辑设计。接着进行电路设计,逻辑图将进一步转化成电路图。在很多情况下,这时需进行硬件仿真,以最终确定逻辑设计的正确性。最后是进行版图设计,即将电路图转化成版图。
在本设计中采用的是自顶向下的设计方法,首先从系统功能设计开始,,将抽象的高层设计自顶向下逐级细化,直到与所用可编程逻辑器件相对应的逻辑描述。
在本设计中,具有4个模块:
1)单步运行模块:控制步进电机单步运行。实现的方式就是当按下单步运行按键时步进电机就转动一个角度,按两下转动两个角度,简明的说就按几下单步运行按键步进电机就转动几个角度。
2)角度定位控制模块:控制步进电机的角度,就是当你需要它转几个角度时,通过此程序能实现它就转几个角度。
3)正、反转控制模块:实现步进电机的能朝两个方向的运行。
4)转速控制模块:对步进电机运行快、慢的控制。
下面具体介绍各个部分的设计。

实体图
图3-1 单步运行实体图
danbu :控制单步运行的,当按下此键时,步进电机电机就转一步,不按时就停止不转。
clk :脉冲信号。
phase[3..0]:输出信号。
(2)单步运行的VHDL设计
为了实现步进电机的单步运行的要求,CPLD要能够产生一种信号,例如当danbu为‘1’时产生phase(3)→phase(2)→phase(1)→phase(0)依次为高电平之后使输出信号为零,当danbu 再次为‘1’时才产生信号。也就是当按下danbu键时,步进电机就转一个角度;反之,步进电机就停止不转。主要程序如下:
......
architecture arc1 of danbu is
type states is (s0,s1,s2,s3,s4);--中间变量的定义
signal current_state:states;
begin
process(clk)
begin
if clk'event and clk='1' then
if danbu='1' then
current_state<=s0; --当danbu=’1’时将s0赋值给current_state
else
case current_state is
when s0=> current_state<=s1;
when s1 => current_state <=s2;
when s2 => current_state <=s3;
when s3 => current_state <=s4;
when others => current_state <=s4;
end case;
end if;
end if;
end process;
process(current_state)
begin
case current_state is --给步进电机所需的脉冲信号
when s0=> phase<="0001";
when s1=> phase<="0010";
when s2=> phase<="0100";

步进电机角度控制系统的VHDL设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人慢慢老师
  • 文件大小4.53 MB
  • 时间2021-01-24