您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页电风扇控制逻辑电路课程设计

电风扇控制逻辑电路课程设计

来源:小侦探旅游网


目 录

一、设计目的………………………………………………………………….4

二、设计要求………………………………………………………………….4

三、总体设计原理与内容…………………………………………………….5

1、设计的总体原理 ……………………………………………………….5

2、设计内容. ………………………………………………………………5

四、EDA设计及仿真…………………………………………………………5

1、电风扇控制逻辑电路设计源程序……………………………………...5

2、电风扇控制逻辑电路设计仿真结果及数据分析……………………...8

五、硬件实现………………………………………………………………….9

1、引脚锁定图………………………………………………………………9

2、硬件实现照片……………………………………………………….…..9

六、设计总结………………………………………………………………...12

- 1

1、设计过程中遇到的问题及解决方法……………………………….....12

2、设计体会……………………………………………………………….12

3、对设计的建议………………………………………………………….13

七、设计生成的电路图……………………………………………………...13

参考文献……………………………………………………………………...13

电风扇控制逻辑电路设计

一、设计目的

通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD(可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据用户的要求及工艺需要进行电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,受到一次电子设计自动化方面的基本训练。

培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。

二、设计要求

- 2

(1).以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软硬件调试;

(2).熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。

(3).能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试;

(4).学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。

(5).用EDA技术实现电风扇控制器的控制功能,具体要求如下:

1、用三个按键来实现。风速”、“风种”、“停止”的不同选择。

2、用六个发光二报管分别表示“风速”(强、中、弱)、“风种”(睡眠、自然、正常)的三种状态。

3、电扇在停转状态时,只有按“风速’键才有效.按其余两键不响应。电风扇启动后, 再按动“风速”键可循环选择弱、中或强三种状态中的任一种状态,“风速”的弱、中、强对应电扇的转动由慢到快;按动“风种”键可循环选择正常、自然或睡眠三种状态的某—种状态。 “风种”在正常位置是指电扇连续运转;“自然”位置,是表示电扇模拟产生自然风,即运转4秒,间断4秒的方式;在“睡眠”位置,是产生轻柔的微风,电扇运转8秒,间断8秒的方式。电扇运转情况用第七个发光二极管的亮与不亮表示。

4、电风扇在任意状态下。按“停止”键电扇停止工作,所有指示灯熄灭。

- 3

三、总体设计原理与内容

1、设计的总体原理

首先用脉冲信号feng_su的上升沿表示按键2,其控制风速,同时它还做电扇的启动键。当电扇处于关闭状态时,按一下按键2(即给一个上升脉冲feng_su),电扇即处于待机状态,同时电扇风速处于“弱”状态(即LED8亮),若再按一次按键1,则风速处于“中”状态(即LED7亮),再按一次按键1,风速处于“强”状态(即LED6亮),依次循环。

用脉冲信号feng_zhong的上升沿表示按键1,其控制风种,当电扇处于待机状态时,按键1处于失效状态,当启动时,风种的初态为正常,电扇持续运转(即LED3常亮),连续按按键1,则风种依次处于“正常,自然,睡眠”状态,电扇依次持续运转,转四秒停四秒(即LED2亮四秒不亮四秒),转八秒停八秒(即LED1亮八秒不亮八秒)。

用脉冲信号ting_zhi的上升沿表示按键3,它做电扇的关闭键,当电扇处于运转状态时,按一下按键3(即给一个上升脉冲RS),电扇即停止运转(即所有发光二极管不亮)。

2、设计内容

风种选择关闭风速启动电扇运转停止运转 - 4

图3-2-1 设计总体框图

如图3-2-1,在关闭状态给一个触发脉冲feng_su(即按一下键2),即启动电风扇,风速为默认“弱”状态,风种默认为正常状态,风扇即开始运转。逐次按键2,则可实现风速转换;逐次按键1,则可实现风种转换。

四、EDA设计及仿真

1、电风扇控制逻辑电路设计源程序

library ieee;

use ieee.std_logic_11.all;

entity feng_shan123 is

port(ting_zhi,feng_su,feng_zhong,clk:in std_logic;

ruo,zhong,qiang,zheng_chang,zi_ran,shui_mian:out std_logic);

end feng_shan123;

architecture one of feng_shan123 is

type state123 is(state0,state1,state2,state3);

- 5

type state567 is(s0,s1,s2);

signal pr_state0,nx_state0:state123;

signal pr_state1,nx_state1:state567;

signal zi_ran1:std_logic:='0';

signal shui_mian1:std_logic:='0'; --自然风的控制信号,高电平有效

signal kong_zhi:std_logic; --风种档位有效控制信号,高电平有效

signal a,b:std_logic:='0'; --控制自然风和睡眠风的输出

signal zi_ran3:std_logic:='1'; --自然风档位时,计时信号

signal shui_mian3:std_logic:='1'; --睡眠档位时,计时信号

begin

process(ting_zhi,feng_su) --停止键有效时,系统停止

begin

if ting_zhi='1' then pr_state0<=state0; --信号上升沿来时,现态等于次态

- 6

elsif(feng_su'event and feng_su='1') then pr_state0<=nx_state0;

end if;

end process;

process(ting_zhi,feng_zhong)

begin

if ting_zhi='1' then pr_state1<=s0; --信号上升沿来时,现态等于次态

elsif(feng_zhong'event and feng_zhong='1') then pr_state1<=nx_state1;

end if;

end process;

process(pr_state0)

begin

case pr_state0 is

when state0=>ruo<='0';zhong<='0';qiang<='0';

- 7

nx_state0<=state1;kong_zhi<='0';

when state1=>ruo<='1';zhong<='0';qiang<='0';

nx_state0<=state2;kong_zhi<='1';

when state2=>ruo<='0';zhong<='1';qiang<='0';

nx_state0<=state3;

when state3=>ruo<='0';zhong<='0';qiang<='1';

nx_state0<=state1;

end case;

end process;

process(pr_state1,kong_zhi)

begin

case pr_state1 is

when s0=>if(kong_zhi='0')

- 8

then zheng_chang<='0';zi_ran1<='0';shui_mian1<='0';nx_state1<=s0;

else if;b<='0'; a<='0';

zheng_chang<='1';zi_ran1<='0';shui_mian1<='0';nx_state1<=s1; end

when s1=>zheng_chang<='0';zi_ran1<='1';shui_mian1<='0';

nx_state1<=s2;a<='1';b<='0';

when s2=>zheng_chang<='0';zi_ran1<='0';shui_mian1<='1';

nx_state1<=s0;a<='0';b<='1';

end case;

end process;

process(zi_ran1,clk,a) --自然风档位,等两四秒,灭四秒

variable zi_ran2:integer range 0 to 16;

begin

if zi_ran1='1' then

if(clk'event and clk='1') then

-

9

if zi_ran2=16 then zi_ran2:=0;zi_ran3<=not zi_ran3;

else zi_ran2:=zi_ran2+1;

end if;

end if;

else zi_ran3<='1';

end if;

if a='1' then zi_ran<=zi_ran3;else zi_ran<='0';zi_ran2:=0;end if;

end process;

process(shui_mian1,clk,b) --睡眠风档位,亮8秒,灭8秒

variable shui_mian2:integer range 0 to 32;

begin

if shui_mian1='1' then

if(clk'event and clk='1') then

- 10

if shui_mian2=32 then shui_mian2:=0;shui_mian3<=not shui_mian3;

else shui_mian2:=shui_mian2+1;

end if;

end if;

else shui_mian3<='1';

end if;

if b='1' then shui_mian<=shui_mian3;else shui_mian<='0';shui_mian2:=0;end if;

end process;

end one;

2、电风扇控制逻辑电路设计仿真结果及数据分析

-

11

图4-2-1 软件仿真图

如图4-2-1,首先用脉冲信号feng_su的上升沿表示按键2,其控制风速,同时它还做电扇的启动键。当电扇处于关闭状态时,按一下按键1(即给一个上升脉冲feng_su),电扇即处于待机状态,同时电扇风速处于“弱”状态(即LED8亮),若再按一次按键1,则风速处于“中”状态(即LED7亮),再按一次按键1,风速处于“强”状态(即LED6亮),依次循环。

用脉冲信号feng_zhong的上升沿表示按键2,其控制风种,当处于启动状态时,风种的出态为正常状态(即LED3亮),连续按按键2,则风种依次处于“正常,自然,睡眠”状态,电扇依次持续运转,转四秒停四秒(即LED2亮四秒不亮四秒),转八秒停八秒(即LED1亮八秒不亮八秒)。

用脉冲信ting_zhi的上升沿表示按键3,它做电扇的关闭键,当电扇处于运转状态时,按一下按键3(即给一个上升脉冲ting_zhi),电扇即停止运转(即所有发光二极管不亮)。

五、硬件实现

1、引脚锁定图

在硬件仿真前要进行引脚锁定,我选择的是模式3,其中时钟信号clk对应clock2.锁定引脚M1,;风速键对应feng_su,锁定引脚为PIN_AB14;风种键对应feng_zhong,锁定引脚为PIN_AB15;ruo连接D8,锁定引脚为PIN_L18;zhong连接D7,锁定引脚为PIN_F13;qiang连接D6,锁定引脚为PIN_F16;zheng_chang连接D3,锁定引脚为PIN_H14;zi_ran连接D2,锁定引脚为PIN_H15;shui_mian连接D1,锁定引脚为PIN_j14;停止键连接ting_zhi,锁定引脚为PIN_AB13。其引脚配置图如下:

- 12

图5-1-1 引脚锁定图

2、硬件实现照片

图5-2-1 风速弱、风种正常led显示图

图5-2-1是风速为“弱”、风种为“正常”的led显示图。如图,led8亮,led7、led6不亮,led3亮,led2、led1不亮,led4,led5常亮。

- 13

图5-2-2 风速强、风种自然led显示图

图5-2-2是风速为“中”、风种为“自然”的led显示图。图为led6亮,led1、 led3、 led7、 led8不亮。其中led2初始状态为亮,亮四秒后变灭,灭四秒后变亮,也就是亮灭四秒交替显示。

图5-2-3 风速中、风种睡眠led显示图

图5-2-3是风速为“中”、风种为“睡眠”的led显示图。图为led7亮,led2、 led3、 led7、

-

14

led8不亮。其中led1初始状态为亮,亮八秒后变灭,灭八秒后变亮,也就是亮灭八秒交替显示。

图5-2-3 停止状态时led显示图

图5-2-3是按停止键时系统处于的状态,此时六个led灯全灭。停止键和风种键也失效,风速键作为开始键。

六、设计总结

1、设计过程中遇到的问题及解决方法

设计过程遇到了两个大问题。

(1)开始时,风种选择既受feng_zhong信号控制,又受feng_su信号控制,但在程序中,一个量不能同时受两个触发脉冲控制,为了解决这个问题,我们尝试了很多办法,但都是“拆东墙

- 15

补西墙”不能解决问题,要么显示风种的灯都不亮,要么不受CLK1控制。后来我们在各个变量的逻辑关系上找到了突破点,引入新的中间变量,问题就随之解决了。

(2)中间过程中,也遇到了一个问题,就是分频问题。开始我们认为程序是正确的,但多次仿真,波形与预期的都不同,我们也试着改了几次数据,但仿真结果图上LEDG显示的居然一直是“X”,后来我们完全改变了程序结构,用了另一种方法(见程序),改后仿真即完全正确了。

2、设计体会

这次设计共用了四天时间,但有三天都花在程序的编译上,看来我们的理论知识还有待提高。另一方面,我们也不够仔细,在很多细节上也出现了错误,比如,在硬件仿真时,总是提示错误,后来我们检查程序,发现数据类型设置不正确,犯这种低级错误,真是不应该呀。

3、对设计的建议

每次设计都是安排在考试前一周,这使得很多同学都无心做设计,而把精力用在了理论课的学习上,这使得很多同学养成了眼高手低的习惯。我觉得以后的课程设计放在考后进行比较恰当,这样会使同学们有实实在在的提高.

七、设计生成的电路图

设计生成的电路图见附图。

附图: 设计生成的电路图

- 16

图7-1-1 Technology viewer电路图

参考文献:

1、VHDL数字电路设计教程 Volnei A.Pedroni 著 乔庐峰 王志功 等译 电子工业出版社

2、EDA技术与Verilog HDL 潘松 黄继业 陈龙 编著 清华大学出版社

3、李衍编著,EDA技术入门与提高王行 西安:西安电子科技大学出版社,2005

4、侯继红, 李向东主编,EDA实用技术教程 北京:中国电力出版社,2004

5、沈明山编著,EDA技术及可编程器件应用实训 北京:科学出版社,2004

-

17

6、侯伯亨等,VHDL硬件描述语言与数字逻辑电路设计 西安:西安电子科技大学出版社,1997

7、潘松,黄继业,陈龙编著 EDA技术与Verilog HDL 清华大学出版社,2010

- 18

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务