lunwen.docx
- 文档编号:4716218
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:11
- 大小:761.58KB
lunwen.docx
《lunwen.docx》由会员分享,可在线阅读,更多相关《lunwen.docx(11页珍藏版)》请在冰豆网上搜索。
lunwen
第一章绪论
1.1EDA技术
EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计。
1.2步进电机的原理
步进电机控制主要有三个重要参数即转速、转过的角度和转向。
由于步进电机的转动是由输入脉冲信号控制,所以转速是由输入脉冲信号的频率决定,而转过的角度由输入脉冲信号的脉冲个数决定。
转向由环形分配器的输出通过步进电机A、B、C相绕组来控制,环形分配器通过控制各相绕组通电的相序来控制步进电机转向
第二章总体设计
2.1设计软件简介
本次设计使用的是Max+plusⅡ。
Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。
Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
2.2VHDL简介
VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。
1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
2.3Protel简介
Protel是PROTEL(现为Altium)公司在20世纪80年代末推出的CAD工具,是PCB设计者的首选软件。
它较早在国内使用,普及率最高,在很多的大、中专院校的电路专业还专门开设Protel课程,几乎所在的电路公司都要用到它。
早期的Protel主要作为印刷板自动布线工具使用,其最新版本为ProtelDXP,现在普遍使用的是Protel99SE,它是个完整的全方位电路设计系统,包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷电路板设计(包含印刷电路板自动布局布线),可编程逻辑器件设计、图表生成、电路表格生成、支持宏操作等功能,并具有Client/Server(客户/服务体系结构),同时还兼容一些其它设计软件的文件格式,如ORCAD、PSPICE、EXCEL等。
使用多层印制线路板的自动布线,可实现高密度PCB的100%布通率。
Protel软件功能强大(同时具有电路仿真功能和PLD开发功能)、界面友好、使用方便,但它最具代表性的是电路设计和PCB设计。
第三章设计任务与设计要求
3.1设计任务
主芯片设计:
实现步进电机双三拍控制
硬件原理图和PCB图设计:
生成硬件原理图和PCB板图
3.2设计要求
步进电机作为一种电脉冲—角位移的转换元件,由于具有价格低廉、易于控制、无积累误差和计算机接口方面等优点,在机械、仪表、工业控制等领域中获得了广泛的应用。
三相步进电动机,其定、转子铁心均由硅钢片叠成。
定子上有6个磁极,每两个相对的极绕有一相控制绕组,所以定子共有三相绕组。
转子是4个均匀分布的齿,齿宽等于定子磁靴的宽度,转子上没有绕组。
工作时,各相绕组按一定顺序先后通电。
双三拍的通电方式为:
AB-BC-CA-AB(电动机为顺时针旋转)或AB-CA-BC-AB(电动机为逆时针旋转)。
采用双三拍通电方式后,先接通
A、B两相定子绕组,接着断开A相接通C相,使B、C两相定子绕组同时通电,接着断开B相接通A相,使A、B两相定子绕组同时通电,并依次循环。
这种方式下,定子三相绕组需经过三次切换才能完成一个循环,故称为“三拍”。
3.3设计芯片、软件选用
主控芯片采用Altera公司的MAX7000S系列CPLD。
芯片仿真软件采用Altera公司配套的MAX+PLUS
,硬件原理图和PCB图设计采用Altium公司的ProtelDXP2004。
在硬件中使用的逻辑门器件是Motolora公司的器件。
3.4设计方案
㈠主控芯片设计
1、真值表
步进电机双三拍环形分配器的真值表如下:
CLK
DIR
RESET
工作状态
×
×
×
保持
升沿
×
1
初始状态
升沿
1
0
电机正转
升沿
0
0
电机反转
外部时钟端输入端CLK没有上升沿,步进电机工作状态为保持,不发生变化;当外部时钟输入端CLK有上升沿,复位信号RESET为’1’,输出初始状态,为’0’时,正常工作状态,其中由步进电机正反转标志信号DIR控制电机的正反转。
一般状态机真值表如下:
当前状态
次态
输出PHASE[2。
。
0]
DIR=1
DIR=0
S0
S1
S2
011
S1
S2
S0
110
S2
S0
S1
101
2、芯片管脚分配
CLK:
外部时钟端输入,1MHz晶振DIR:
步进电机正反转标志
RESET:
复位信号标志,采用同步复位
PHASE0:
三相步进电机的A相绕组PHASE1:
三相步进电机的B相绕组
PHASE2:
三相步进电机的C相绕组
3、总体设计
本设计采用自顶向下的设计思想,采用了VHDL语言的设计方法。
芯片设计只有一个模块,STEPMOTOR模块,此为芯片的主控制模块。
设计原理图如下所示。
4、主控模块
此模块为芯片设计的核心,此模块采用一般状态机的VHDL设计方法。
可使用两个进程来描述,一个进程描述时序逻辑,包括状态寄存器的工作和寄存器状态的输出;另一个进程描述组合逻辑,包括进程间状态值的传递以及状态转换值的输出。
S0、S1、S2分别对应为步进电机工作时的三次切换的状态,在组合逻辑进程中,根据时序逻辑进程中变量CURRENT_STATE带出的状态值确定输出值,并由组合变量PHASE[2..0]输出给三相步进电机的三相绕组。
主控程序流程图如下:
VHDL语言程序代码:
----步进电机双三拍环形分配器设计的实现
----设计者:
张毅
----设计时间:
2009年6月
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYSTEPMOTORIS
PORT(CLK,RESET,DIR:
INSTD_LOGIC;
PHASE:
OUTSTD_LOGIC_VECTOR(2DOWNTO0));
ENDENTITYSTEPMOTOR;
ARCHITECTUREARTOFSTEPMOTORIS
TYPESTATESIS(S0,S1,S2);----定义STATES为枚举型数据类型
SIGNALCURRENT_STATE:
STATES;
BEGIN
PROCESS(CLK)----时序逻辑进程
BEGIN
IFCLK'EVENTANDCLK='1'THEN----当测到时钟上升沿时转换至下一状态
IFRESET='1'THEN
CURRENT_STATE<=S0;----同步复位
ELSE
CASECURRENT_STATEIS
WHENS0=>IFDIR='1'THEN
CURRENT_STATE<=S1;
ELSE
CURRENT_STATE<=S2;
ENDIF;
WHENS1=>IFDIR='1'THEN
CURRENT_STATE<=S2;
ELSE
CURRENT_STATE<=S0;
ENDIF;
WHENS2=>IFDIR='1'THEN
CURRENT_STATE<=S0;
ELSE
CURRENT_STATE<=S1;
ENDIF;
WHENOTHERS=>CURRENT_STATE<=S0;
----由CURRENT_STATE将当前状态值带出此进程,进入下面的进程
ENDCASE;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CURRENT_STATE)----组合逻辑进程
BEGIN
CASECURRENT_STATEIS----确定当前状态的状态值
WHENS0=>PHASE<="011";----对应S0的译码输出”011”
WHENS1=>PHASE<="110";----对应S1的译码输出”110”
WHENS2=>PHASE<="101";----对应S2的译码输出”101”
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREART;
第四章硬件原理图和PCB板设计
4.1硬件原理图
硬件原理图的设计是PCB图设计的基础,也是硬件设计的关键所在。
在Protel软件中可以调用各种公司的元件库,其中就有我们我们主芯片使用的Altera公司的MAX7000S系列CPLD。
先在库存中加载上述库,然后调用我们芯片设计完成所使用的CPLD芯片(如EPM7032)放置在原理图上。
晶振时钟的设计是外围设计的重点。
我们采用1kHZ的晶振。
参考数字电子设计手册,其参考设计原理图如下所示。
基本形式是晶振与一个电容并联。
晶振与电容串联还加上非逻辑门是为了减少频率干扰。
按钮设计,参考数字电子设计手册,其参考设计原理图如下所示。
外部输出接步进电机MotorStep如下图所示,PHASE0、PHASE1、PHASE2三个输出端分别接步进电机的三相绕组,并采用Y型接法。
4.2PCB图设计
PCB设计是将电子原理设计转化为物理实现的一道环节。
由原理图生成的网络报表辅助生成PCB板图。
4.3芯片管脚分配图
芯片采用了ALTERA公司的EPM7064SLC44-6芯片。
此CPLD芯片具有44个管脚,4个逻辑单元,64个逻辑宏。
步进电机双三拍环形分配器设计用去了1个逻辑单元,占资源总数的25%。
其中39-41号管脚用于输出信号控制步进电机,43号管脚是CLK信号输入,4号管脚是正反转DIR信号输入,5号管脚是RESET复位信号输入。
4.4波形仿真图
当外部时钟信号CLK有上升沿时,电动机状态发生改变。
当RESET信号为’1’时,将初始状态打入器件,即将CURRENT_STAT赋状态值S0,并且是同步复位,当RESET信号为’1’而且CLK时钟信号端有上升沿的情况下发生复位。
DIR为’1’,电动机正转S0-S1―S2―S0;DIR为’0’,电动机正转S0-S2―S1―S0。
4.5时序分析图
4.6理图硬件原理图
4.7PCB图
第五章设计总结
通过本次实践,进一步加强了我对VHDL语言和PROTEL的运用,本次实验完成了CPLD的步进电机双三拍环形分配器的设计,采用一般状态机的VHDL描述方法进行硬件描述,用MAX+plusⅡ软件进行时序仿真、功能仿真,并ProtelDXP2004进行原理图设计和PCB板图设计,最终完成步进电机双三拍环形分配器的设计。
让我真正将理论运用于实践中,大大提高了我的软件运用能力,为未来更复杂的设计奠定了扎实的基础。
第六章参考文献
1.谭会生,张昌凡EDA技术及运用西安电子科技大学2004
2李珩,杨杉,欧大生.电路设计与制板.西安:
西安电子科技大学出版社2004
3潘松,王国栋。
VHDL实用教程,成都:
电子科技大学出版社,2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- lunwen