版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主要内容D任务实现A项目任务B项目目标C知识准备E考核评价F拓展提高A.项目任务项目任务ElectronicDesignAutomation
3
《EDA技术》…本项目利用状态机方法设计一个三相步进电机控制器,该控制器能够实现电机的速度控制、工作方式选择等多种功能。B项目目标ElectronicDesignAutomation
4
《EDA技术》通过步进电机控制器设计项目训练及相关知识学习,达到如下目标:理解步进电机控制器设计方案了解状态机的结构和功能掌握各种状态机的设计方法能用状态机方法进行逻辑电路设计能利用学习开发板对设计电路进行下载与调试能按照现场管理要求(整理、整顿、清扫、清洁、素养、安全、环保、节能)安全文明生产会查找相关资料会撰写项目报告并答辩具有团队合作精神,具有一定的组织协调能力C.知识准备一、有限状态机设计
VerilogHDL综合器易于优化
易构成性能良好的时序逻辑模块
结构模式简单、层次分明、易读易懂、易排错
运行模式类似于CPU,易于进行顺序控制
利用同步时序和全局时钟线可实现高速FSM
高可靠性,非法状态易控制
为什么要使用状态机?1概述(4)辅助进程
用于配合状态机工作的组合进程或时序进程,例如为了完成某种算法的进程;或用于配合状态机工作的其他时序进程,例如为了稳定输出设置的数据锁存器等。2一般有限状态机的设计1、一般有限状态机的组成
(1)说明部分
说明部分中包含状态转换变量的定义和所有可能状态的说明,必要时还要确定每一状态的编码。在Verilog状态机程序的说明部分中,各状态元素是用参数说明关键词parameter来定义的。(2)时序进程时序进程是指负责状态机运转和在时钟驱动下负责状态转换的进程。作为状态机的“驱动泵”。(3)组合进程组合进程的任务是根据外部输入的控制信号,和当前状态的状态值确定下一状态的去向,以及确定对外输出或对内部其他组合或时序进程输出控制信号的内容。异步时序逻辑电路:所有的CP是接在一起的,所以同时动作时序脉冲只接入了第一个触发器,异步动作3时序电路的特点与组成1JC11K1JC11K1JC11K&&FF1FF0FF2ZCPQ2Q1Q0图2同步时序逻辑电路CP1JC11K1JC11K1JC11K&FF1FF0FF2ZQ2Q1Q0图3异步时序逻辑电路同步时序逻辑电路:
输出状态仅与存储电路的状态有关,而与外部输入无直接关系。(2)按照输出信号的特点米里(Mealy)型摩尔(Moore)型
输出状态不仅与存储电路的状态有关,而且与外部输入也有关。3时序电路的特点与组成Moore:输出状态仅与存储电路的状态有关,而与输入无直接关系。3时序电路的特点与组成Moore机模型:状态寄存器次态逻辑输出逻辑输出输入时钟图4Moore机模型框图Mealy机模型:状态寄存器次态逻辑输出逻辑输出输入时钟图5Mealy机模型框图Mealy:输出状态不仅与存储电路的状态有关,而且与外部输入也有关。这里就是Moore状态机和Mealy的不同所在,Mealy机模型的输出与输入有关。竞争与冒险产生次态的电路是组合逻辑电路。组合逻辑电路存在竞争与冒险,可能导致时序系统进入不正确的状态。所谓竞争与冒险,就是在组合电路中,信号经不同途径传输后,达到电路中某一会合点的时间有先有后,这种现象称为竞争。由于竞争而使电路输出发生瞬间错误的现象,称为冒险。使用同步时序逻辑电路可以克服次态逻辑存在竞争冒险的问题,本章后面主要围绕同步时序电路展开。3时序电路的特点与组成4Moore型状态机的设计
Moore型状态机框图
以下介绍Moore型状态机的另一个应用实例,即用状态机设计一个A/D采样控制器。对A/D器件进行采样控制RCSTATUSD[11..0]AD574启动时序20usZ/CS对AD574初始化st0st1st2st3st4打开片选,启动12位转换采样周期中等待STATUS=‘1’:正在转换!STATUS=‘0’:转换结束!12位转换数据输出有效由LOCK发数据锁存信号PROCESSREG时序进程PROCESSCOM组合进程PROCESSLATCH锁存器current_statenext_stateLOCK状态机FSMFPGA/CPLDCLK
CS
A0
RC
K12/8
STATUSD[11..0]AD574Q[11..0]模拟信号输入采样数据输出AD574控制器VerilogHDL源程序AD574控制器VerilogHDL源程序AD574控制器仿真波形图5Mealy型有限状态机的设计
Mealy状态机的框图
//一般状态机描述modulemealy1(clk,datain,reset,q);inputclk,datain,reset;output[4:0]q;reg[4:0]q;parameterst0=0,st1=1,st2=2,st3=3,st4=4;reg[2:0]stx;always@(posedgeclk,posedgereset)//决定转换状态的过程begin:COMREGif(reset) stx<=st0;elsecase(stx) st0:beginif(datain)stx<=st1;end st1:beginif(!datain)stx<=st2;end st2:beginif(datain)stx<=st3;end st3:beginif(!datain)stx<=st4;end
st4:beginif(datain)stx<=st0;end default:stx<=st0; endcaseendalways@(stx,datain)//输出控制信号过程begin:COM1case(stx) st0:begin if(datain)q<=5'b10000; elseq<=5'b01010; end st1:begin if(!datain)q<=5'b10111; elseq<=5'b10100; end st2:beginif(datain)q<=5'b10101; elseq<=5'b10011; end
st3:begin if(!datain)q<=5'b11011; elseq<=5'b01001; end st4:begin if(datain)q<=5'b11101; elseq<=5'b01101;end default:q<=5'b00000;endcase endendmodule
进程间一般是并行运行的,但由于敏感信号的设置不同以及电路的延迟,在时序上进程间的动作是有先后的。例6-8状态机工作时序图
可以从该状态机的工作时序图6-8上清楚看到,输出信号有许多毛刺。为了解决这个问题,可以考虑将输出信号q值由时钟信号锁存后再输出,也可用时钟同步输出信号…//加锁存器后的状态机描述modulemealy2(clk,datain,reset,q);inputclk,datain,reset;output[4:0]q;reg[4:0]q1,q;parameterst0=0,st1=1,st2=2,st3=3,st4=4;reg[2:0]stx; always@(posedgeclk,posedgereset)//决定转换状态的过程
begin:COMREG if(reset) stx<=st0; else case(stx) st0:beginif(datain)stx<=st1;end st1:beginif(!datain)stx<=st2;end st2:beginif(datain)stx<=st3;end st3:beginif(!datain)stx<=st4;end
st4:beginif(datain)stx<=st0;end default:stx<=st0; endcaseendalways@(stx,datain)//输出控制信号过程
begin:COM1 case(stx) st0:begin if(datain)q1<=5'b10000; elseq1<=5'b01010; end st1:begin if(!datain)q1<=5'b10111;elseq1<=5'b10100; end st2:begin if(datain)q1<=5'b10101; elseq1<=5'b10011; end
st3:begin if(!datain)q1<=5'b11011;elseq1<=5'b01001; end st4:begin if(datain)q1<=5'b11101; elseq1<=5'b01101; end default:q1<=5'b00000;endcaseend always@(posedgeclk) q<=q1;endmodule
例6-9状态机工作时序图2
比较图6-8和图6-9,可以注意到,q的输出时序在发生锁存后有延迟一个时钟周期的现象,这是由于同步锁存的原因。二步进电机控制技术2.1步进电机的工作原理
步进电机的工作就是步进转动。在一般的步进电机工作中,其电源都是采用单极性的直流电源。要使步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。步进电机的步进进程可以用图6-10来说明。图6-10是一个三相反应式步进电机,其定子的每相都有一对磁极,每个磁极都只有一个齿,即磁极本身,故三相步进电机有三对磁极共6个齿;其转子有4个齿,分别称为1、2、3、4齿。直流电源U通过开关A、B、C分别对步进电机的A、B、C相绕组轮流通电。A相通电B相通电C相通电
图6-10步进电机工作原理分析图
2.2步进电机的工作方式
步进电机有三相、四相、五相、六相等多种,为了分析方便,我们仍以三相步进电机为例进行分析和讨论。步进电机可工作于单相通电方式,也可工作于双相通电方式和单相、双相交叉通电方式。选用不同的工作方式,可使步进电机具有不同的工作性能,如减小步距,提高定位精度和工作稳定性等。对于三相步进电机则有单相三拍(简称单三拍)方式,双相三拍(简称双三拍)方式、三相六拍工作方式。1.步进电机单三拍工作方式单三拍就是每次只给一个线组通电,其余的绕组断开。①绕组的通电顺序:A→B→C→A→……②电压波形各相通电的电压波形如图6-11所示。图6-11单三拍工作的电压波形2.步进电机的双三拍工作方式①绕组的通电顺序:AB→BC→CA→AB→……
②电压波形各相通电的电压波形如图6-12所示。图6-12双三拍工作的电压波形3.步进电机三相六拍工作方式①绕组的通电顺序:A→AB→B→BC→C→CA→A→……②电压波形各相通电的电压波形如图6-13所示,其工作原理分析图如图6-14所示。图6-13三相六拍工作的电压波形图6-14三相六拍工作原理分析图图6-15步进电机控制器元件符号ElectronicDesignAutomation
33
任务1步进电机控制器设计方案分析本项目用Verilog语言设计一个三相步进电机控制器,具体要求如下:(1)两种工作方式,三相三拍和三相六拍,三相三拍运行时,步进电机各绕组的通电顺序为A-B-C-A,依次类推;三相六拍运行时,步进电机个绕组的通电顺序为A-AB-B-BC-C-CA-A,依次类推。(2)能实现电机速度控制,有高、中、低三挡速度可调。(3)可控制步进电机行走步数,也即转动角度。D任务实现《EDA技术》ElectronicDesignAutomation
34
我们利用状态机的工作原理来设计步进电机的控制程序。设计中要注意的问题:在电机停转之后,应使输出为零,即保持电机的电路电流为零,从而达到保护电机不被烧毁的目的。解决方法:本项目要求需要输出三种(三相三拍)或六种(三相六拍)状态,这几种均为旋转状态,设计中需额外加入另一种状态,即不通电状态,用于保护电机,避免电机因通电过长而烧坏。《EDA技术》ElectronicDesignAutomation
35
任务2步进电机控制器设计《EDA技术》ElectronicDesignAutomation
36
任务2步进电机控制器设计《EDA技术》ElectronicDesignAutomation
37
任务2步进电机控制器设计《EDA技术》ElectronicDesignAutomation
38
步进电机控制器的仿真波形如图6-16所示。图6-16步进电机控制器仿真波形仿真波形图E.考核评价1.考核办法ElectronicDesignAutomation
40
《EDA技术》学生在规定时间内完成步进电机控制器的VerilogHDL程序设计并运行测试,输出仿真结果,进行编程下载与硬件调试,课后完成设计报告。2.考核要求ElectronicDesignAutomation
41
《EDA技术》(1)完成步进电机控制器设计,程序结构合理,语句使用正确,符合设计需求。(2)掌握QuartusII9.0文本输入方法操作流程,能熟练使用状态机设计方法进行步进电机控制器的设计,并能解决设计过程中碰到的问题。(3)会添加仿真文件,并能使用QuartusII9.0软件进行步进电机控制器的时序仿真,仿真结果正确,并能对仿真结果进行详细分析。(4)会添加约束文件,进行步进电机控制器管脚指定,管脚选择合理,与硬件电路对应关系明确。(5)完成步进电机控制器下载配置,编程下载成功。(6)设计报告按时上交,源程序正确,思路清晰,书写规范,结果正确,分析合理。(7)能用多种方法设计步进电机控制器,并能指导其他成员进行相关的实践操作。3.评分标准ElectronicDesignAutomation
42
《EDA技术》A能独立完成以上(1)-(7)项操作,结果完全正确,并能对各关键操作有详细分析。B能在教师或同学少量提示下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市场调研进展确认函20264篇
- 软件开发工程师软件产品开发与功能完善度绩效评定表
- 高校实验室设备维护保养周期管理指南
- 供应商场地考察行程具体安排函(5篇范文)
- 商业租赁合同撰写规范与实例
- 产品退货处理通知函4篇
- 技术研发与创新能力考核表
- 二年级语文上册部编版《场景歌》
- 项目经理工作资源绩效衡量表
- 餐饮连锁店菜单设计规范指南
- 2026年1月江苏省高中学业水平合格考数学试卷(含答案)
- 大学生消防安全教育课件
- 新苏教版科学五年级上册第8课《材料的传热本领》教学课件
- 学校中层竞聘情景面试试题库及答案
- 国开2026年秋《公共行政学》形考任务1-3答案
- 2026年《中国下肢深静脉血栓诊疗临床指南(2026版)》
- 美国白宫 科学:一个新的黄金时代 致总统的报告
- 新版小学英语新外研版(三起)五年级上册全册教案(2026秋)合集
- 有限空间作业安全2026年培训
- CSCO胰腺癌诊疗指南(2026版)
- 2026上半年软考软件设计师考试真题及答案解析
评论
0/150
提交评论