正负脉宽数控调制信号发生器课程设计.docx
《正负脉宽数控调制信号发生器课程设计.docx》由会员分享,可在线阅读,更多相关《正负脉宽数控调制信号发生器课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
![正负脉宽数控调制信号发生器课程设计.docx](https://file1.bdocx.com/fileroot1/2022-12/1/1cd38c28-6915-4984-9da5-a8c87f5384fa/1cd38c28-6915-4984-9da5-a8c87f5384fa1.gif)
正负脉宽数控调制信号发生器课程设计
目录
一、设计任务与要求-----------------------------------------------3
二、总体框图-----------------------------------------------------3
三、选择器件-----------------------------------------------------41、设计中所用到的器件-----------------------------------------42、器件的相关介绍---------------------------------------------4
(1)D触发器DFF----------------------------------------------4
(2)非门NOT-------------------------------------------------6
四、模块功能-----------------------------------------------------61、分频器-----------------------------------------------------72、计数器-----------------------------------------------------8
五、总体设计电路图----------------------------------------------101、总体电路图------------------------------------------------11
(1)工作情况------------------------------------------------12
(2)模块间的连接关系----------------------------------------12(3)仿真结果------------------------------------------------12(4)管脚分配图----------------------------------------------13(5)硬件验证------------------------------------------------14
六、课程设计心得体会--------------------------------------------15
正负脉宽数控调制信号发生器
一、设计任务与要求
1)课程设计的任务:
此信号发生器可产生占空比可调的方波,高低电平的维持时间由6位二进制数控制。
2)课程设计的基本要求
通过课程设计各环节的实践,应达到如下要求:
1、初步掌握数字逻辑电路、EDA分析和设计的基本方法。
包括:
⑴.根据设计任务和要求,初选电路;
⑵.通过研究、设计计算,确定电路方案;
⑶.电路仿真及编程、模拟、连线、进行调试;
⑷.分析实验结果,写出设计总结报告。
2、培养一定自学能力和独立分析问题、解决问题能力。
包括:
⑴.学会自己分析、找出解决问题的方法;
⑵.对设计中遇到的问题,能独立思考,查阅资料,寻找解决方案;
⑶.掌握一些测试电路的基本方法,实验中出现一般故障,能通过“分析、观察、判断、试验、再判断”的基本方法独立解决;
⑷.能对实验结果进行分析和评价。
3、掌握编程、仿真、连线、调试等基本技能,巩固常用仪器的正确使用方法。
二、总体框图
总体框架图如图1所示:
图1
设计思路:
此信号发生器是由两个完全相同的可自加载加法计数器和D触发器组成的,它的输出信号的高低电平脉宽时间可分别由两组6位二进制预置数进行控制。
如果将初始值可预置的加法计数器的溢出信号作为本计数器的初始预置加载信号LD,则可构成计数初始值自加载方式的加法计数器,从而构成数控分频器。
D触发器的一个重要功能就是均匀输出信号的占空比。
三、选择器件
1、设计中所用到的器件有:
(1)D触发器DFF(1个)
(2)非门NOT(2个)
(3)计数器CNT6(2个)
(4)LED灯(1个)或示波器
2、器件的相关介绍:
(1)D触发器DFF
该触发器是一个具有使能控制端CLRN的D触发器,具有圆圈的是低电平有效,它的动作特点是输出端状态的转换发生在CP的上升沿,而且触发器所保存下来的状态仅仅取决于CP上升沿到达时D的输入状态,即当触发脉冲有效时,D触发器的输出与激励输入相同。
因为触发器输出端状态的转换发生在CP的上升沿,所以这是一个上升沿触发的边沿触发器。
它的功能就是均匀输出信号的占空比。
D触发器DFF的逻辑符号如图2所示:
图2
D触发器DFF的内部结构图如图3所示
图3
D触发器DFF的功能表如表1所示:
表1
CP
CLRN
D
Q
说明
1
X
Qn
保持
0
0
0
置1
0
1
1
置0
D触发器的动作时序图如图4所示:
图4
(2)非门NOT
非门又称为反相器,若输入信号A是1,则输出信号Y是0;若输入信号A是1,则输出信号Y是0。
非门NOT的逻辑符号如图5所示:
图5
非门NOT的逻辑功能表如表2所示:
表2
A
Y
0
1
1
0
四、功能模块
1、分频器div
器件图如图8所示:
图8
时钟信号接到分频器的输入端clk_in,分频器的输出端div_out接到预置计数器的脉冲输入端CLK。
它的作用是将高频信号分成低频信号。
分频器div的VHDL程序如下:
Libraryieee;
USEieee.std_logic_1164.all;
USEieee.std_logic_unsigned.all;
ENTITYdivIS
PORT(clk:
INstd_logic;
divclk:
OUTstd_logic);
ENDdiv;
ARCHITECTUREoneOFdivIS
BEGIN
PROCESS(clk)
variablecnt:
integerrange0to1000000;
variabletemp:
std_logic;
BEGIN
IFclk'eventandclk='1'then
IFcnt<=99999thencnt:
=0;temp:
=nottemp;
ELSE
cnt:
=cnt+1;
ENDIF;
ENDIF;
divclk<=temp;
ENDPROCESS;
ENDONE;
仿真波形如图9所示:
图9
仿真分析:
任意给一个时钟信号,分频器将高频信号分成低频信号。
2、计数器
器件图如图10所示:
图10
此计数器是一个6位二进制数的预置计数器,预置计数器比普通计数器多了一个预置端LD和预置数据端d。
当LD=1或0时,在下一个时钟脉冲过后,计数器输出端预置数D,CLK为脉冲信号输入端,时钟信号经分频后接到CLK端,CAO为计数溢出输出端。
预置计数器CNT6的VHDL程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYCNT6IS
PORT(CLK,LD:
INSTD_LOGIC;
D:
ININTEGERRANGE0TO63;
CAO:
OUTSTD_LOGIC);
ENDCNT6;
ARCHITECTUREARTOFCNT6IS
SIGNALCOUNT:
INTEGERRANGE0TO63;
BEGIN
PROCESS(CLK,COUNT)IS
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFLD='1'THENCOUNT<=D;
ELSECOUNT<=COUNT+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CLK,COUNT)IS
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFCOUNT=63THEN
CAO<='1';
ELSE
CAO<='0';
ENDIF;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREART;
仿真结果如图11所示:
图11
仿真分析:
预置数D[5..0]为任意六位二进制数,预置端LD为1时加载预置数,否则继续计数,当计到63时,输出为1,然后继续从0开始计数。
五、总体设计电路图
总体电路图如图12所示:
图12
1、工作情况:
在时钟信号和预置数的共同作用下,计数器B的计数溢满产生进位脉冲,触发D触发器,使得D触发器反馈给B一个反馈信号,在下一个时钟脉冲过后,计数器输出端输出预置数。
计数器A的进位脉冲经过一个非门,连接到D触发器的使能控制端,触发D触发器,D触发器的反馈信号经过一个非门加载到计数器A的预置端,在下一个时钟脉冲过后,输出端输出计数器A的预置数。
计数器A的进位脉冲使输出信号输出正脉冲,计数器B的进位脉冲使输出信号输出负脉冲,同时由D触发器给的反馈信号使A、B分别重新置数,从而控制正负脉冲宽度。
2、模块间的连接关系:
两个完全相同的预置数计数器A、B在时钟信号的作用下,计数器A、B的进位脉冲分别触发D触发器,使得D触发器分别产生一个反馈控制信号。
3、仿真结果
仿真结果如图13所示:
图13
仿真分析:
预置数A[5..0]为任意6位二进制数,预置数B[5..0]为任意6位二进制数,CLK为预置计数器的时钟脉冲,当第一个时钟脉冲到来时,计数器A的进位脉冲使输出信号输出正脉冲,计数器B的进位脉冲使输出信号输出负脉冲。
(注意:
分频器分频不能太大,否则不会出现仿真波形)
4、管脚分配图:
用LED灯观察实验结果。
以下管脚均为E-PLAY-SOPCCPU板上的FPGA芯片EP1C12的对应管脚:
管脚分配图如图14、图15所示:
图14
图15
管脚分配情况:
管脚分配情况如表3所示:
表3
管脚编号
管脚定义
管脚编号
管脚定义
105
A[0]
86
B[0]
104
A[1]
87
B[1]
101
A[2]
88
B[2]
100
A[3]
93
B[3]
85
A[4]
94
B[4]
84
A[5]
95
B[5]
28
CLK
132
PSOUT
162
VGA0
161
VGA1
164
VGA2
163
VGA3
5、硬件验证
通过LED灯观察实验结果:
在EDA实验箱上验证所设计的电路,拨码开关105、104、101、100、85、84分别控制输出低电平脉宽的预置数输入A[5..0],拨码开关86、87、88、93、94、95分别控制输出高电平脉宽的预置数输入B[5..0],输出端接一个LED灯,当时钟信号到来的时候,根据灯的亮灭来判断输出,灯亮时,表示输出高电平脉宽,灯灭时,表示输出低电平脉宽,通过改变拨码开关,来控制输出脉冲宽度。
VGA[3..0]接0001。
(注意:
频率要小,否则看不到方波,所以加了一个分频器。
)
通过示波器来观察波形输出,其输出波形如图14所示
图16
从示波器显示的波形可以看出,正负脉宽的时间随输入两组预置数的不同而相应的发生变化从而实现了占空比可调的目的。
六、课程设计心得体会
作为一名电子信息系的学生,做课程设计是十分有意义而且是十分必要的一件事情。
两周的课程设计结束了,虽然很忙碌、很疲惫,但是收获颇多。
刚拿到题目时,不知从何下手,反复的看书查资料,寻求帮助。
后来经过老师的辅导,让我对这个题目有了一定的了解,开始设计电路,编写程序,最后进行仿真,在仿真的过程中,出现了很多问题,比如分频器的使用,在硬件验证的时候,分的频率要大,为了更好的观察输出波形,然而在软件操作仿真的时候,却因为频率太大,而无法看到波形。
最后在老师的指导下完成了实验的仿真。
经过两个星期的EDA课程设计及学习,从对EDA的操纵界面的不熟悉到现在的基本熟练掌握,我收获的不仅仅是知道了quartusII软件的使用方法,更重要的收获是通过两周的思考、分析、、设计、修正、动手连接实验电路,从而真正的体会到了数字电路各个项目的功能。
以前学习上存在的不足。
通过与同学探讨和请教老师,终于把问题都解决了,并加深了对正负脉宽数控调制信号发生器的原理和设计思路的了解。
同时也熟练掌握了课程设计的一般流程,为以后的设计也积累了一定的经验。
通过此次课程设计的学习,使我感受最深的是实践与理论的相结合,也是对我们以前学的知识的总结和概括,使得我们在设计的过程中体会到了EDA的重要性,体会到了我们所学的知识的用途和方向。
在这次课程设计作业的过程中由于在设计方面我们没有经验,理论基础知识掌握得不牢固,在设计中难免会出现这样那样的问题,这使我们体会到了各个电子元件的使用方法,使我们更熟练的掌握到了这个软件。
对于我来说,收获最大的是方法和能力:
那种分析和解决问题的能力。
在整个课程设计的过程中,我发现我们学生在经验方面十分缺乏,空有理论知识,没有理性的知识;有些东西可能与实际脱节。
总体来说,我觉得像课程设计这种类型的作业对我们有很大的帮助,它需要我们将学过的相关知识系统地联系起来,理论联系实际,让自己有更大改进!