基于cpld的步进电机控制系统内容摘要:
数据 类型、常量、子程序等。 5 设计库 存放编译过的设计单元 (包括实体说明、结构体、配置说明、程序包等 ), 库中的内容可用作VHDL描述的资源 , 接受其设计单元的访问。 通常 , 以上 5 个部分就是一个完整的VHDL程序应该包含的内容。 3. CPLD设计流程 CPLD即复杂可编程逻辑器件 , 它可以使电子设计工程师在实验室内快速方便地开发专用集成电路 (ASIC )。 CPLD器件的设计流程通常分为设计准备、设计输入、设计验证、布局布线、设计仿真、熔线图生成和下载等步骤。 1 设计准备 设计准备是为了选择合适的CPLD器件。 从逻辑上看 , 首先要考虑器件的I /O资源是否够用 2 设计输入 设计输入是将所设计的电路以开发软件要求的某种形式表达出来 , 并输入计算机 , 如逻辑图和硬件描述语言 (HDL )。 3 设计验证 逻辑设计输入后 , 应对输入的文件进行检验 , 包括语法检验、设计规则检验、逻辑最小化检验、逻辑适配检验和全局设计规则检查。 4 布局布线 此项工作由软件自动完成 , 并能以最优的方式对逻辑元件布局。 5 设计仿真 仿真包括逻辑仿真和时序仿真。 按照开发软件的要求输入一定的测试序列 , 软件可以将这种电 路的这种序列作 用下的输出波形显示出来。 6 熔丝图生成和下载 软件自动生成JEDEC文件 , 并通过下载电缆装入芯片中。 电路构成及各模块功能实现 在此使用 4 相反应式步进电机。 整个电路由 波形信号发生器 ( SQUARE) ,步进电机控制器( MYBJDJ) ,数码 动态显示 ( XIANSHI) ,步进电机方向控制器 ( MYBJDJDIR) 及键盘去抖动电路( JPQDD) 五 个模块 组成。 顶层原理图 如图 9所示。 CLK16M 为时钟信号, RST 为开始 /复位键,通过 SQUARE 模块产生预置的步进脉冲, 步进脉冲 分别 输入 MYBJDJ模块和 XIANSHI 模块,使电机转动相应的步数并 显示出电机转动的步数 ,其中 Y3Y0 输出至功放电路, SPEAK 关喇叭, Q7Q0输出至数码管, MYBJDJDIR 模块控制电机转动方向 , JPQDD 消除键盘按键的弹跳抖动, KEY1 键为步进电机的正 /反转控制。 基于 CPLD 的步进电机控制系统 11 图 9 步进电机控制顶层原理图 CPLD 设计及电路时序 在此 选用 ALTERA公司 FLEX系列的 EPF10K10可编程逻辑电路 芯片 , 整个设计是在 MAX+PLUSⅡ软件下实现的。 采用了电路行为描述手段,分层设计的方法。 底层模块由 VHDL硬件描述语言设计,顶层文件采用图形方 法,完成各个模块间的连接。 步进电机控制 模块 MYBJDJ 模块采用了状态机的方法 ,由两个进程组成,程序如下: Library ieee。 Use。 Use。 Entity mybjdj is port (clk1,rst,dir:in std_logic。 speak:out std_logic。 y:out std_logic_vector(3 downto 0))。 End。 Architecture one of mybjdj is signal t:integer range 0 to 16000000。 signal a:std_logic_vector(3 downto 0)。 signal b:std_logic_vector(3 downto 0)。 type mystate is (st0,st1,st2,st3)。 signal state:mystate。 P1: Process(clk1,rst) begin if rst=39。 039。 then state=st0。 elsif clk139。 event and clk1=39。 139。 then case state is when st0=state=st1。 a=1001。 b=1100。 基于 CPLD 的步进电机控制系统 12 when st1=state=st2。 a=0011。 b=0110。 when st2=state=st3。 a=0110。 b=0011。 when st3=state=st0。 a=1100。 b=1001。 end case。 end if。 end process。 P2: Process(clk1) Begin if(clk139。 event and clk1=39。 139。 ) then if dir=39。 139。 then y=a。 elsif dir=39。 039。 then y=b。 end if。 end if。 End process。 Speak=39。 139。 End。 P1 进程 为控制步进电机的二相激磁方式, VHDL 语言用状态机描述方法设计该模块。 P2 进程为步进电机转动方向的选择,输出 A为正转,输出 B为反转。 波形信号发生 模块 SQUARE 模块 输出脉冲信号 至电机控制模块 作步进脉冲 , 决定步进电机的转步, KEY2, KEY3,KEY4, KEY5 分别为 20 步, 40 步, 70 步, 100 步。 共有三个进程,程序如下: Library ieee。 Use。 Use。 Entity square1 is port (clk16m:in std_logic。 key2,key3,key4,key5:in std_logic。 rst: in std_logic。 qout: out std_logic)。 End。 Architecture one of square1 is signal t:integer range 0 to 16000000。 signal a:std_logic。 signal count:integer range 0 to 255。 signal data:integer range 0 to 255。 signal enb:std_logic。 signal q:std_logic。 Begin 基于 CPLD 的步进电机控制系统 13 Process(clk16m,rst) begin if rst=39。 039。 then a=39。 139。 count=0。 elsif clk16m39。 event and clk16m=39。 139。 then if t16000001 then t=t+1。 t 控制步进电机的转速 else t=0。 a=not a。 count=count+1。 count 计步进电机的转数 end if。 end if。 end process。 Process(clk16m) begin if clk16m39。 event and clk16m=39。 139。 then if count=data then enb=39。 039。 转数超过指定的脉冲数则停止 elsif rst=39。 039。 the。基于cpld的步进电机控制系统
相关推荐
图 54 自动出号信息 实体图 系统 ER图 图 55 实体之间关系 ER图 数据库物理结构设计 在上面的实体以及实体之间关系的基础上,形成各个表格之间的关系。 牌号系统数据库中的各个表的设计结果如下 表所示( 每个表格表示数据库中的一个表 )。 ( 1) 顾客信息表 customer_tbl 表 customer_tbl 用来保存顾客取票信息,结构如表 51 所示。 表 51
电路模块的原理 16 数据选择器单元电路设计 16 译码器单元电路设计 17 译码器设计方案 17 译码器程序及 仿真波形 18 结论 20 参考文献 21 附录 22 信息与控制工程学院硬件课程设计说 明书 1 第 1 章 绪论 课程设计目的 课程设计是大学生将理论联系实践的重要纽带,是对学生进行的一次综合性专业设计的训练。 通过课程设计以利于学生获得以下几方面能力。
是一个什么样的形势呢。 从全国的形势看。 2020 年,中央查处省部级领导干部是 59 人,截至今年 8 月,全国查处省部级领导干部是 48 人。 前不久中央和中纪委先后对四川南充、河南新乡落实党风廉政建设主体责任不力的情况进行了通报,新乡原市委书记因落实主体责任不力,受到 党纪处分,并被免职,纪委书记也受到相应处理,它的一个班子里面两个常委和一个市长被追究法律责任。
CPLD 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的 RAM 进行编程。 用户可以根据不同的配置模式,采用不同的编程方式。 加电时,CPLD 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成 后, CPLD 进入工作状态。 掉电后, CPLD 恢复成白片,内部逻辑关系消失,因此, CPLD 能够反复使用。 CPLD 的编程无须专用的 CPLD 编程器