文档库 最新最全的文档下载
当前位置:文档库 › 梁祝乐曲_乐曲硬件演奏电路的VHDL设计_eda课程设计

梁祝乐曲_乐曲硬件演奏电路的VHDL设计_eda课程设计

梁祝乐曲_乐曲硬件演奏电路的VHDL设计_eda课程设计
梁祝乐曲_乐曲硬件演奏电路的VHDL设计_eda课程设计

乐曲硬件演奏电路的VHDL设计

姓名:张哲铭

班级:12微电子

一、设计题目:乐曲硬件演奏电路的VHDL设计

二、设计目标:

了解一般乐曲演奏电路设计设计方法,学习VHDL语言,熟悉EDA设计软件QuartusII和MAX+plusⅡ,加强独立完成电子设计的能力。

(1)能够播放“梁祝”乐曲。

(2)能够通过LED显示音阶。

(3)(选作)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。

主芯片型号为FLEX10K10LC84-4

三、实验电路的工作原理:(演奏电路逻辑图)

组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能够连续演奏所需的两个基本要素,设计演奏电路的关键就是获得这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。

演奏电路逻辑图有三部分:音乐节拍和音调发生器、简谱码对应的分频预置数查表电路、数控分频与演奏发生器。

演奏电路逻辑图:

四、设计内容:

1.完成程序的编辑工作。

2.将音乐数据制作成LMP_ROM文件.

3.将程序加载到MAX+plusⅡ中进行编译、仿真,并保存仿真结果。

4.到实验室进行下载验证。引脚进行锁定,然后下载到实验芯片中观察实验结果。

五、仿真结果:

1.音乐节拍和音调发生器(NoteTabs.VHD)

notetabs模块中设置了一个8位二进制计数器(计数最大值138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4Hz,即每一个计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。随着notetabs模块中的计数器按4Hz的时钟速率作为加法计数时,即随地址值递增时,音符数据ROM中的音符数据将从ROM中通过ToneIndex[3..0]端口输向ToneTaba模块,“梁祝”乐曲就开始连续自然的演奏起来了。

Notetabs模块仿真图:

2.简谱码对应的分频预置数查表电路(ToneTaba.VHD)

音符的持续时间需根据乐曲的速度及每个音符的节拍数来确定,tonetaba 模块的功能首先是为speakera提供决定所发音符的预置数,而此数在speakera 输入口停留的时间即为此音符的节拍值。Tonetaba模块是乐曲简码对应的分频预置数查表电路。其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的clk的输入频率决定。这13个值的输出由对应于ToneTaba的4位输入值Index[3..0]确定,而Index[3..0]最多有16种可选值。输向ToneTaba中Index[3..0]的值ToneIndex[3..0]的输出值与持续时间有模块notetabs决定。

Tonetaba仿真图:

4.数控分频与演奏发生器(Speakera.VHD)

音符的频率可由次模块获得,这是一个数控分频器,由其clk端输入一个具有较高频率的信号,通过speakera分频后由spkout输出,由于直接从数控分频器中出来的输出信号是脉冲较窄的脉冲信号,为了有助于驱动扬声器,需另加一个D

触发器以均衡其占空比,但这时的频率是原来的1/2。Speakera对clk输入信号的分频的预置数Tone[10..0]与spkout的输出频率就有了对应关系。

Sperkera模块仿真图:

5.《梁祝》music.vhd(音乐数据):

将数据保存为.mif格式然后制作成LMP_ROM文件。

六、实验结果:(程序下载验证是否通过)

试验成功!

将设计出的演奏电路的程序经过编译(Compiler)后,选择FLEX10K系列中EPF10K10LC84-4作为目标器件(Assign/Device),并进行管脚锁定(Floorplan Editor)。器件编程(Programmer),将编译生成的*.sof文件下载到目标芯片。观察到数码管5显示出演奏时的音乐简谱,发光二极管D5指示音调高低,同时实验箱自带蜂鸣器(Speaker)奏出“梁祝”那凄美动人的旋律,实验成功。

七、总结:

本次乐曲硬件演奏电路的VHDL设计主要采用数控分频原理来实现,在本次EDA课程设计中,我与其他同学相互交流,相互学习,提高了用VHDL语言编程的技能及进一步加强了MAX+plusⅡ对这种EDA流行软件的应用,通过这次设计,我们温故了已学的理论知识和实践操作技能,同时也学习了更多的新的知识和技能,为以后进一步的学习和工作打下了坚实的基础。

本设计得到的电路可以作为一个乐曲演奏模块,如果要演奏出另外一首曲子,只需将该曲子出现的简谱分频预置数写入ToneTaba.VHD,再将该曲子的节拍表制作成ROM文件输入到NoteTabs.VHD中,编译后,编程下载即可。

具体代码:

library ieee;

use ieee.std_logic_1164.all;

entity songer is

port(clk4MHz:in std_logic;

clk4Hz:in std_logic;

clk:in std_logic;

sel:out std_logic_vector(2 downto 0);

sm:out std_logic_vector(6 downto 0);

spk:out std_logic);

end;

architecture one of songer is

component notetabs

port(clk:in std_logic;

toneindex:out integer range 0 to 15);

end component;

component tonetaba

port(index:in integer range 0 to 15;

low:out std_logic_vector(3 downto 0);

mid:out std_logic_vector(3 downto 0);

high:out std_logic_vector(3 downto 0);

tone:out integer range 0 to 16#1FFF#);

end component;

component speakera

port(clk:in std_logic;

tone:in integer range 0 to 16#1FFF#;

spks:out std_logic);

end component;

signal tone:integer range 0 to 16#1FFF#;

signal toneindex:integer range 0 to 15;

signal q_s:std_logic_vector(3 downto 0);

signal tmp:integer range 0 to 2;

signal low1,mid1,high1:std_logic_vector(3 downto 0);

begin

u1:notetabs port map(clk=>clk4Hz,toneindex=>toneindex);

u2:tonetaba port

map(index=>toneindex,tone=>tone,low=>low1,mid=>mid1,high=>high1); u3:speakera port map(clk=>clk4MHz,tone=>tone,spks=>spk);

process(clk)

begin

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

tmp<=tmp+1;

end if ;

end process;

process(tmp)

begin

if tmp=0 then q_s<=low1;

sel<="001";

elsif tmp=1 then q_s<=mid1;

sel<="010";

elsif tmp=2 then q_s<=high1;

sel<="100";

end if ;

end process;

process(q_s)

begin

case q_s is

when"0000"=>sm<="1111110";

when"0001"=>sm<="0110000";

when"0010"=>sm<="1101101";

when"0011"=>sm<="1111001";

when"0100"=>sm<="0110011";

when"0101"=>sm<="1011011";

when"0110"=>sm<="1011111";

when"0111"=>sm<="1110000";

when"1000"=>sm<="1111111";

when"1001"=>sm<="1111011";

when others =>sm<="0000000";

end case;

end process;

end;

音乐节拍和音调发生器(NoteTabs.VHD)LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY NoteTabs IS

PORT (clk:IN STD_LOGIC;

ToneIndex : OUT integer range 0 to 15); END;

ARCHITECTURE one OF NoteTabs IS SIGNAL Counter :integer range 0 to 138; BEGIN

CNT8 :PROCESS(clk)

BEGIN

IF Counter=138 THEN Counter <= 0;

ELSIF clk'EVENT AND clk = '1' THEN Counter <= Counter+1;

END IF;

END PROCESS;

SEARCH:PROCESS(COUNTER)

begin

case counter is

when 00=>toneindex<=3;

when 01=>toneindex<=3;

when 02=>toneindex<=3;

when 04=>toneindex<=5; when 05=>toneindex<=5; when 06=>toneindex<=5; when 07=>toneindex<=6; when 08=>toneindex<=8; when 09=>toneindex<=8; when 10=>toneindex<=8; when 11=>toneindex<=9; when 12=>toneindex<=6; when 13=>toneindex<=8; when 14=>toneindex<=5; when 15=>toneindex<=5; when 16=>toneindex<=12; when 17=>toneindex<=12; when 18=>toneindex<=12; when 19=>toneindex<=15; when 20=>toneindex<=13; when 21=>toneindex<=12; when 22=>toneindex<=10; when 23=>toneindex<=12; when 24=>toneindex<=9; when 25=>toneindex<=9; when 26=>toneindex<=9; when 27=>toneindex<=9; when 28=>toneindex<=9; when 29=>toneindex<=9; when 30=>toneindex<=9; when 31=>toneindex<=0; when 32=>toneindex<=9; when 33=>toneindex<=9; when 34=>toneindex<=9; when 35=>toneindex<=10; when 36=>toneindex<=7; when 37=>toneindex<=7; when 38=>toneindex<=6; when 39=>toneindex<=6; when 40=>toneindex<=5; when 41=>toneindex<=5; when 42=>toneindex<=5; when 43=>toneindex<=6; when 44=>toneindex<=8; when 45=>toneindex<=8; when 46=>toneindex<=9;

when 48=>toneindex<=3; when 49=>toneindex<=3; when 50=>toneindex<=8; when 51=>toneindex<=8; when 52=>toneindex<=6; when 53=>toneindex<=5; when 54=>toneindex<=6; when 55=>toneindex<=8; when 56=>toneindex<=5; when 57=>toneindex<=5; when 58=>toneindex<=5; when 59=>toneindex<=5; when 60=>toneindex<=5; when 61=>toneindex<=5; when 62=>toneindex<=5; when 63=>toneindex<=5; when 64=>toneindex<=10; when 65=>toneindex<=10; when 66=>toneindex<=10; when 67=>toneindex<=12; when 68=>toneindex<=7; when 69=>toneindex<=7; when 70=>toneindex<=9; when 71=>toneindex<=9; when 72=>toneindex<=6; when 73=>toneindex<=8; when 74=>toneindex<=5; when 75=>toneindex<=5; when 76=>toneindex<=5; when 77=>toneindex<=5; when 78=>toneindex<=5; when 79=>toneindex<=5; when 80=>toneindex<=3; when 81=>toneindex<=5; when 82=>toneindex<=3; when 83=>toneindex<=3; when 84=>toneindex<=5; when 85=>toneindex<=6; when 86=>toneindex<=7; when 87=>toneindex<=9; when 88=>toneindex<=6; when 89=>toneindex<=6; when 90=>toneindex<=6;

when 92=>toneindex<=6; when 93=>toneindex<=6; when 94=>toneindex<=5; when 95=>toneindex<=6; when 96=>toneindex<=8; when 97=>toneindex<=8; when 98=>toneindex<=8; when 99=>toneindex<=9; when 100=>toneindex<=12; when 101=>toneindex<=12; when 102=>toneindex<=12; when 103=>toneindex<=10; when 104=>toneindex<=9; when 105=>toneindex<=9; when 106=>toneindex<=10; when 107=>toneindex<=9; when 108=>toneindex<=8; when 109=>toneindex<=8; when 110=>toneindex<=6; when 111=>toneindex<=5; when 112=>toneindex<=3; when 113=>toneindex<=3; when 114=>toneindex<=3; when 115=>toneindex<=3; when 116=>toneindex<=8; when 117=>toneindex<=8; when 118=>toneindex<=8; when 119=>toneindex<=8; when 120=>toneindex<=6; when 121=>toneindex<=8; when 122=>toneindex<=6; when 123=>toneindex<=5; when 124=>toneindex<=3; when 125=>toneindex<=5; when 126=>toneindex<=6; when 127=>toneindex<=8; when 128=>toneindex<=5; when 129=>toneindex<=5; when 130=>toneindex<=5; when 131=>toneindex<=5; when 132=>toneindex<=5; when 133=>toneindex<=5; when 134=>toneindex<=5;

when 136=>toneindex<=0;

when 137=>toneindex<=0;

when 138=>toneindex<=0;

when others=>null;

end case;

end process;

END;

简谱码对应的分频预置数查表电路(ToneTaba.VHD)

library ieee;

use ieee.std_logic_1164.all;

entity tonetaba is

port( index:in integer range 0 to 15;

low:out std_logic_vector(3 downto 0);

mid:out std_logic_vector(3 downto 0);

high:out std_logic_vector(3 downto 0);

tone:out integer range 0 to 16#1FFF#);

end;

architecture one of tonetaba is

begin

search:process(index)

begin

case index is

when 0=>tone<=8191;low<="0000";mid<="0000";high<="0000";

when 3=>tone<=2124;low<="0011";mid<="0000";high<="0000";

when 5=>tone<=3089;low<="0101";mid<="0000";high<="0000";

when 6=>tone<=3646;low<="0110";mid<="0000";high<="0000";

when 7=>tone<=4141;low<="0111";mid<="0000";high<="0000";

when 8=>tone<=4369;low<="0000";mid<="0001";high<="0000";

when 9=>tone<=4786;low<="0000";mid<="0010";high<="0000";

when 10=>tone<=5157;low<="0000";mid<="0011";high<="0000";

when 12=>tone<=5640;low<="0000";mid<="0101";high<="0000";

when 13=>tone<=5918;low<="0000";mid<="0110";high<="0000";

when 15=>tone<=6280;low<="0000";mid<="0000";high<="0001";

when others=>null;

end case;

end process;

end;

数控分频与演奏发生器(Speakera.VHD)

library ieee;

use ieee.std_logic_1164.all;

entity speakera is

PORT (clk : IN STD_LOGIC;

Tone : IN integer range 0 to 16#1FFF#;

SpkS : OUT STD_LOGIC );

END;

ARCHITECTURE one OF Speakera IS

SIGNAL PreCLK, FullSpkS : STD_LOGIC; BEGIN

DivideCLK : PROCESS(clk)

V ARIABLE Count4 : integer range 0 to 15 ; BEGIN

PreCLK <= '0';

IF Count4>13 THEN

PreCLK <= '1'; Count4 := 0;

ELSIF clk'EVENT AND clk = '1' THEN

Count4 := Count4 + 1;

END IF;

END PROCESS;

GenSpkS : PROCESS(PreCLK, Tone)

V ARIABLE Count13 : integer range 0 to 16#1FFF#; BEGIN

IF PreCLK'EVENT AND PreCLK = '1' THEN

IF Count13 = 16#1FFF# THEN

Count13 := Tone ;

FullSpkS <= '1';

ELSE Count13 := Count13 + 1;

FullSpkS <= '0';

END IF;

END IF;

END PROCESS;

DelaySpkS : PROCESS(FullSpkS)

V ARIABLE Count2 : STD_LOGIC;

BEGIN

IF FullSpkS'EVENT AND FullSpkS = '1' THEN Count2 := NOT Count2;

IF Count2 = '1' THEN SpkS <= '1';

ELSE SpkS <= '0'; END IF;

END IF;

END PROCESS;

END;

设置引脚

Clk 2

Clk4hz 1

Clk4MHZ 43 Sel0 5

Sel1 6

Sel2 7

Sm0 24

Sm1 23

Sm2 22

Sm3 21

Sm4 19

Sm5 18

Sm6 17

Spk 3

波形图:Speakera.vhd

Tonetaba.vhd

Notetabs.vhd

Songer.vhd

数字电路课程设计题目选编

数字电路课程设计题目选编 1、基于DC4011水箱水位自动控制器的设计与实现 简介及要求:水箱水位自动控制器,电路采用CD4011 四与非门作为处理芯片。要求能够实现如下功能:水 箱中的水位低于预定的水位时,自动启动水泵抽水; 而当水箱中的水位达到预定的高水位时,使水泵停止 抽水,始终保持水箱中有一定的水,既不会干,也不 会溢,非常的实用而且方便。 2、基于CD4011声控、光控延时开关的设计与实现 简介及要求:要求电路以CD4011作为中心元件,结合外围 电路,实现以下功能:在白天或光线较亮时,节电开关呈关闭 状态,灯不亮;夜间或光线较暗时,节电开关呈预备工作状态, 当有人经过该开关附近时,脚步声、说话声、拍手声等都能开 启节电开关。灯亮后经过40秒左右的延时节电开关自动关闭, 灯灭。 3、基于CD4011红外感应开关的设计与实现 在一些公共场所里,诸如自动干手机、自动取票机等,只要人手在机器前面一晃,机器便被启动,延时一段时间后自动关闭,使用起来非常方便。要求用CD4011设计有此功能的红外线感应开关。 4、基于CD4011红外线对射报警器的设计与实现 设计一款利用红 外线进行布防的防盗 报警系统,利用多谐振 荡器作为红外线发射 器的驱动电路,驱动红 外发射管,向布防区内 发射红外线,接收端利用专用的红外线接收器件对发射的 红外线信号进行接收,经放大电路进行信号放大及整形, 以CD4011作为逻辑处理器,控制报警电路及复位电路,电

路中设有报警信号锁定功能,即使现场的入侵人员走开,报警电路也将一直报警,直到人为解除后方能取消报警。 5、基于CD4069无线音乐门铃的设计与实现 音乐门铃已为人们所熟知,在一些住宅楼中都 装有音乐门铃,当有客人来访时,只要按下门铃按 钮,就会发出“叮咚”的声音或是播放一首乐曲, 然而在一些已装修好的室内,若是装上有线门铃, 由于必须布线,从而破坏装修,让人感到非常麻烦。 采用CD4069设计一款无线音乐门铃,发射按键与接 收机间采用了无线方式传输信息。 6、基于时基电路555“叮咚”门铃的设计与实现 用NE555集成电路设计、制作一个“叮咚”门铃,使该装置能够 发出音色比较动听的“叮咚”声。 7、基于CD4511数显八路抢答器的设计与实现 CD4511是一块含BCD-7段锁存、译码、驱动电路于一体的集成 电路。设计一款基于CD4511八路抢答器,该电路包括抢答,编 码,优先,锁存,数显和复位。 8、基于NE555+CD4017流水彩灯的设计与实现 以NE555和CD4017为核心,设计制作一个流水彩灯,使之通 过调节电位器旋钮,可调整彩灯的流动速度。 9、基于用CD4067、CD4013、 NE555跑马灯的设计与实 现

EDA技术与VHDL程序设计基础教程习题答案

EDA技术与VHDL程序设计基础教程习题答案 第1章EDA习题答案 1.8.1填空 1.EDA的英文全称是Electronic Design Automation 2.EDA技术经历了计算机辅助设计CAD阶段、计算机辅助工程设计CAE阶段、现代电子系统设计自动化EDA阶段三个发展阶段 3. EDA技术的应用可概括为PCB设计、ASIC设计、CPLD/FPGA设计三个方向 4.目前比较流行的主流厂家的EDA软件有Quartus II、ISE、ModelSim、ispLEVER 5.常用的设计输入方式有原理图输入、文本输入、状态机输入 6.常用的硬件描述语言有VHDL、V erilog 7.逻辑综合后生成的网表文件为EDIF 8.布局布线主要完成将综合器生成的网表文件转换成所需的下载文件 9.时序仿真较功能仿真多考虑了器件的物理模型参数 10.常用的第三方EDA工具软件有Synplify/Synplify Pro、Leonardo Spectrum 1.8.2选择 1.EDA技术发展历程的正确描述为(A) A CAD->CAE->EDA B EDA->CAD->CAE C EDA->CAE->CAD D CAE->CAD->EDA 2.Altera的第四代EDA集成开发环境为(C) A Modelsim B MUX+Plus II C Quartus II D ISE 3.下列EDA工具中,支持状态图输入方式的是(B) A Quartus II B ISE C ispDesignEXPERT

D Syplify Pro 4.下列几种仿真中考虑了物理模型参数的仿真是(A) A时序仿真 B 功能仿真 C 行为仿真 D 逻辑仿真 5.下列描述EDA工程设计流程正确的是(C) A输入->综合->布线->下载->仿真 B布线->仿真->下载->输入->综合 C输入->综合->布线->仿真->下载 D输入->仿真->综合->布线->下载 6.下列编程语言中不属于硬件描述语言的是(D) A VHDL B V erilog C ABEL D PHP 1.8.3问答 1.结合本章学习的知识,简述什么是EDA技术?谈谈自己对EDA技术的认识? 答:EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。 2.简要介绍EDA技术的发展历程? 答:现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了计算机辅助设计(CAD,Computer Aided Design)、计算机辅助工程设计(CAED,Computer Aided Engineering Design)和电子设计自动化(EDA,Electronic System Design Automation)三个阶段。 3.什么是SOC?什么是SOPC? 答:SOC (System on Chip,片上系统) SOPC(System on a Programmable Chip,片上可编程系统) 4.对目标器件为CPLD/FPGA的VHDL设计,主要有几个步骤?每步的作用和结果分别是什

EDA技术实用教程-VHDL版课后答案

第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。 1-2与软件描述语言相比,VHDL有什么特点? P6 答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。综合器将VHDL 程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。 l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5 什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。 综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将VHDL程序转化成电路实现的相关信息。 1-4在EDA技术中,自顶向下的设计方法的重要意义是什么? P7~10 答:在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。 1-5 IP在EDA技术的应用和发展中的意义是什么? P11~12 答:IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。 第二章 2-1 叙述EDA的FPGA/CPLD设计流程。P13~16 答:1.设计输入(原理图/HDL文本编辑);2.综合;3.适配;4.时序仿真与功能仿真;5.编程下载;6.硬件测试。 2-2 IP是什么?IP与EDA技术的关系是什么? P24~26 IP是什么? 答:IP是知识产权核或知识产权模块,用于ASIC或FPGA/CPLD中的预先设计好的电路功能模块。 IP与EDA技术的关系是什么?答:IP在EDA技术开发中具有十分重要的地位;与EDA技术的关系分有软IP、固IP、硬IP:软IP是用VHDL等硬件描述语言描述的功能块,并不涉及用什么具体电路元件实现这些功能;软IP 通常是以硬件描述语言HDL源文件的形式出现。固IP是完成了综合的功能块,具有较大的设计深度,以网表文件的形式提交客户使用。硬IP提供设计的最终阶段产品:掩模。 2-3 叙述ASIC的设计方法。P18~19 答:ASIC设计方法,按版图结构及制造方法分有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。 全定制方法是一种基于晶体管级的,手工设计版图的制造方法。 半定制法是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。半定制法按逻辑实现的方式不同,可再分为门阵列法、标准单元法和可编程逻辑器件法。 2-4 FPGA/CPLD在ASIC设计中有什么用途? P16,18 答:FPGA/CPLD在ASIC设计中,属于可编程ASIC的逻辑器件;使设计效率大为提高,上市的时间大为缩短。 2-5 简述在基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具,及其在整个流程中的作用。 P19~23答:基于FPGA/CPLD的EDA设计流程中所涉及的EDA工具有:设计输入编辑器(作用:接受不同的设计输

《数字电路课程设计》

实验三旋转灯光电路与追逐闪光灯电路 一、实验目的 1.熟悉集成电路CD4029、CD4017、74LS138的逻辑功能。 2.学会用74LS04、CD4029、74LS138组装旋转灯光电路。 3. 学会用CD4069、CD4017组装追逐闪光灯电路。 二、实验电路与原理 1.旋转灯光电路: 图3-1 旋转灯光电路 将16只发光二极管排成一个圆形图案,按照顺序每次点亮一只发光二极管,形成旋转灯光。实现旋转灯光的电路如图3-1所示,图中IC1、R1、C1组成时钟脉冲发生器。IC2为16进制计数器,输出为4位二进制数,在每一个时钟脉冲作用下输出的二进制数加“1”。计数器计满后自动回“0”,重新开始计数,如此不断重复。 输入数据的低三位同时接到两个译码器的数据输入端,但是否能有译码器输出取决于使能端的状态。输入数据的第四位“D”接到IC3的低有效使能端G2和IC4的高有效使能端G1,当4位二进制数的高位D为“0”时,IC4的G1为“0”,IC4的使能端无效,IC4无译码输出,而IC3的G2为“0”,IC3使能端全部有效,低3位的CBA数据由IC3译码,输出D=0时的8个输出,即低8位输出(Y0~Y7)。当D为“1”时IC3的使能端处于无效状态,IC3无译码输出;IC4的使能端有效,低3位CBA数据由IC4译码,输出D=1时的8个输出,即高8位输出(Y8~Y15)。 由于输入二进制数不断加“1”,被点亮的发光二极管也不断地改变位置,形成灯光地“移动”。改变振荡器的振荡频率,就能改变灯光的“移动速度”。

注意:74LS138驱动灌电流的能力为8mA,只能直接驱动工作电流为5mA的超高亮发光二极管。若需驱动其他发光二极管或其他显示器件则需要增加驱动电路。 2. 追逐闪光灯电路 图 3-2 追 逐 闪 光 灯 电 路 ( 1) . CD 401 7 的 管 脚功能 CD4017集成电路是十进制计数/时序译码器,又称十进制计数/脉冲分频器。它是4000系列CMOS数字集成电路中应用最广泛的电路之一,其结构简单,造价低廉,性能稳定可靠,工艺成熟,使用方便。它与时基集成电路555一样,深受广大电子科技工作者和电子爱好者的喜爱。目前世界各大通用数字集成电路厂家都生产40171C,在国外的产品典型型号为CD4017,在我国,早期产品的型号为C217、C187、CC4017等。 (2)CD4017C管脚功能 CMOSCD40171C采用标准的双列直插式16脚塑封,它的引脚排列如图3-3(a)所示。 CC4017是国标型号,它与国外同类产品CD4017在逻辑功能、引出端和电参数等方面完全相同,可以直接互换。本书均以CD40171C为例进行介绍,其引脚功能如下: ①脚(Y5),第5输出端;②脚(Y1),第1输出端,⑧脚(Yo),第0输出端,电路清零 时,该端为高电平,④脚(Y2),第2输出端;⑤脚(Y6),第6输出端;⑥脚(Y7),第7输出端;⑦脚(Y3),第3输出端;⑧脚(Vss),电源负端;⑨脚(Y8),第8输出端,⑩脚(Y4),第4输出端;11脚(Y9),第9输出端,12脚(Qco),级联进位输出端,每输入10个时钟脉冲,就可得一个进位输出脉冲,因此进位输出信号可作为下一级计数器的时钟信号。13脚(EN),时钟输入端,脉冲下降沿有效;14脚(CP),时钟输入

数字电路课程设计报告

课程设计任务书 学生姓名:吴培力专业班级:信息SY1201 指导教师:刘可文工作单位:信息工程学院 题目: 数字式电子锁的设计与实现 初始条件: 本设计既可以使用集成电路和必要的元器件等,也可以使用单 片机系统构建数字密码电子锁。自行设计所需工作电源。电路组成 原理框图如图1,数字密码锁的实际锁体一般由电磁线圈、锁栓、 弹簧和锁柜构成。当线圈有电流时,产生磁力,吸动锁栓,即可开 锁。反之则不开锁。 图1 数字式电子锁原理框图要求完成的主要任务:(包括课程设计工作量及技术要求,以及说明书撰写等具体要求) 1、课程设计工作量:1周。 2、技术要求: 1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 2)其密码为4位二进制代码,密码可以通过密码设定电路自行设定。 3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,可重复进行,若连续三次未将锁打开,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) 4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路。 3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 时间安排: 1、年月日,布置作课设具体实施计划与课程设计报告格式的要求说明。 2、年月日至年月日,方案选择和电路设计。 3、年月日至年月日,电路调试和设计说明书撰写。 4、年月日,上交课程设计成果及报告,同时进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

数字电路课程设计弹道设计

淮海工学院 课程设计报告书 课程名称:电子技术课程设计(二)题目:弹道计时器设计 系(院): ////// 学期: 2010-2011-1 专业班级: 88 姓名: 999999 学号: 555555

一、所选课题: 弹道计时器的设计 二、任务与要求 设计一个用来测量手枪子弹等发射物速度的便携式电池供电计时器,这种计时器可用来测定子弹或其他发射物的速度。竞赛射手通常用这种设备来测定装备的性能。 基本操作要求是:射手在两个分别产生起始测量脉冲和终止测量脉冲的光敏传感器上方射出一个发射物,两个光传感器(本例中假定为阴影传感器)分开放置,两者之间的距离已知。发射物在两个传感器之间的飞行时间直接与发射物的速度成正比。如下图所示,当子弹等发射物从上方经过起始传感器产生ST 信号,经过终止传感器时产生SP 信号。传感器之间的距离是固定的。通过测量子弹等发射物经过传感器之间的时间T 就可计算出子弹的速度V=S/t 。 图1 三、方案制定 使用中规模集成电路设计弹道计时器。此方案中主要用到555定时器、十进制计数器、译码器、七段数码管以及一些小型门电路和触发器等。 四、弹道计时器的原理 运用中规模集成电路设计本课题要分为一下几点: (1)传感器对计数器的控制。 在传感器的选择上,要注意传感器的输出信号能否直接控制下一级电路。此论文中采用天幕靶控制计数器的工作与停止。天幕靶是一种光电传感器,它能将光信号转变成电信号,在子弹遮蔽第一个天幕靶时,即会产生一个脉冲,此脉冲带动计数器工作,在子弹遮蔽下一个天幕靶时又产生一个脉冲,让计数器停止工作。若将此脉冲作为使能信号, 就必须使其从子弹到达第一个天幕靶一直维持到 起始传感器 终止传感器 阳光 弹道

EDA技术与VHDL语言课程设计

EDA技术与VHDL语言课程设计 课程设计 EDA技术与VHDL语言 课程设计报告 班级: 电信11-2班 姓名: 董元伟 学号: 1106110205 指导教师: 李铁 成绩: 电子与信息工程学院 信息与通信工程系 - 2 - 课程设计;数字密码锁 目录 摘 要 ..................................................................... .......................................... - 3 - 一、设计目 的 ..................................................................... ............................ - 4 - 二、设计内容和要 求 ..................................................................... .................. - 4 - 1、用户开 锁 ..................................................................... ......................... - 5 -

2、管理员解除警 报 ..................................................................... .............. - 5 - 3、管理员修改密 码 ..................................................................... .............. - 5 - 4、定时返 回 ..................................................................... ......................... - 6 - 三、设计思路和系统结构...................................................................... ............ - 6 - 1、设计模 块 ..................................................................... ......................... - 6 - 2、系统结构和数字密码锁原理 图 .............................................................. - 7 - 3、设计思 路 ..................................................................... ......................... - 8 - 四、实验设计程序 如 ..................................................................... ................... - 9 - 五、创建测试平台仿真结 果 ..................................................................... ....... - 21 - 参考文

数字电路课程设计

数字电路课程设计 一、概述 任务:通过解决一两个实际问题,巩固和加深在课程教学中所学到的知识和实验技能,基本掌握常用电子电路的一般设计方法,提高电子电路的设计和实验能力,为今后从事生产和科研工作打下一定的基础。为毕业设计和今后从事电子技术方面的工作打下基础。 设计环节:根据题目拟定性能指标,电路的预设计,实验,修改设计。 衡量设计的标准:工作稳定可靠,能达到所要求的性能指标,并留有适当的裕量;电路简单、成本低;功耗低;所采用的元器件的品种少、体积小并且货源充足;便于生产、测试和维修。 二、常用的电子电路的一般设计方法 常用的电子电路的一般设计方法是:选择总体方案,设计单元电路,选择元器件,计算参数,审图,实验(包括修改测试性能),画出总体电路图。 1.总体方案的选择 设计电路的第一步就是选择总体方案。所谓总体方案是根据所提出的任务、要求和性能指标,用具有一定功能的若干单元电路组成一个整体,来实现各项功能,满足设计题目提出的要求和技术指标。 由于符合要求的总体方案往往不止一个,应当针对任务、要求和条件,查阅有关资料,以广开思路,提出若干不同的方案,然后仔细分析每个方案的可行性和优缺点,加以比较,从中取优。在选择过程中,常用框图表示各种方案的基本原理。框图一般不必画得太详细,只要说明基本原理就可以了,但有些关键部分一定要画清楚,必要时尚需画出具体电路来加以分析。 2.单元电路的设计 在确定了总体方案、画出详细框图之后,便可进行单元电路设计。 (1)根据设计要求和已选定的总体方案的原理框图,确定对各单元电路的设计要求,必要时应详细拟定主要单元电路的性能指标,应注意各单元电路的相互配合,要尽量少用或不用电平转换之类的接口电路,以简化电路结构、降低成本。

EDA技术与VHDL语言设计

《EDA技术与VHDL语言设计》 课程设计 题目:交通灯控制器 姓名: ***** 院系:电子信息工程系 专业:电子信息工程 班级:电信112班 学号: ****** 指导教师: ****** 2013年6 月

交通灯控制器 *** (电子信息工程学系指导教师:**) 摘要:传统的交通灯控制器多数由单片机实现,本文介绍基于EDA技术设计交通灯控制器的 一种方案。EDA技术的一个重要特征是使用硬件描述语言来完成系统的设计文件,这在电子 设计领域已得到设计者的广泛采用。给出了交通灯控制器的源程序和仿真结果,仿真结果表明 该设计方案可行。 关键词:交通灯控制器;仿真;设计 1.设计原理 1.1设计要求 设计一个十字路口交通控制器,器示意图如图1.1所示,A方向和B方向歌设红(R)、黄(Y)、 绿(G)、和左拐(L)四盏灯,四种灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的形式显示出来。A方向红、绿、黄、左拐灯亮的时间分别为65s、40s、5s、和15s,B方向红、绿、黄、左拐灯亮的时 间分别为55s、30s、5s、和15s。 1.2功能要求 两个方向各种灯亮的时间能够进行设置和修改,此外假设A方向是主干路,车流大,因此在 表1.2 交通灯控制器的状态 1.3设计思路和原理 根据交通灯控制器要求实现的功能,考虑用两个并行执行的always模块来分别控制A和B两个方向的四盏灯,这两个always模块使用同一个时钟信号,以进行同步。也就是说,两个always模块的敏感信号是同一个,每个模块控制一个方向的四种灯按如下顺序点亮,并往复循环:绿灯→黄灯→左拐灯→黄灯→红灯。 每种灯亮的时间采用一个减法计数器进行计数,计数器用同步预置法设计,这样只需改变计数器的

EDA技术与VHDL基础课后习题答案(供参考)

《EDA技术与VHDL基础》 课后习题答案 第一章EDA技术概述 一、填空题 1、电子设计自动化 2、非常高速集成芯片硬件描述语言 3、CAD、CAE、EDA 4、原理图输入、状态图输入、文本输入 5、VHDL、Verilog HDL 6、硬件特性 二、选择题 1、A 2、C 3、A 4、D 5、C 6、D 7、A 第二章可编程逻辑器件基础 一、填空题 1、PLD 2、Altera公司、Xilinx公司、Lattice公司 3、基于反熔丝编程的FPGA 4、配置芯片 二、选择题 1、D 2、C 3、C 4、D 第三章VHDL程序初步——程序结构 一、填空题 1、结构、行为、功能、接口 2、库和程序包、实体、结构体、配置 3、实体名、类型表、端口表、实体说明部分

4、结构体说明语句、功能语句 5、端口的大小、实体中子元件的数目、实体的定时特性 6、设计库 7、元件、函数 8、进程PROCESS、过程PROCEDURE 9、顺序语句、并行语句 二、选择题 1、D 2、C 3、C 4、B 5、D 6、B 7、A 8、C 三、简答题 2、 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY nand_3in IS PORT(a,b,c:IN STD_LOGIC; y:OUT STD_LOGIC); END; ARCHITECTURE bhv OF nand_3in IS BEGIN y<=NOT(a AND b AND c); END bhv; 5、0000 6、(247) 第四章VHDL基础 一、填空题 1、顺序语句、并行语句 2、跳出本次循环 3、等待、信号发生变化时 4、函数、过程 5、值类属性、函数类属性、信号类属性、数据类型类属性、数据范围类属性 6、程序调试、时序仿真 7、子程序、子程序 二、选择题

数字电路课程设计

数字电路课程设计 姓名:李志波 专业:电子信息工程 年级:2012级

数字闹钟计时器 一.实验目的 1.通过这个实验进一步了解掌握各种功能芯片的功能,并能够在电路系统中正确应用。 2.强化巩固专业课课程内容,学会对电路的系统分析。 3.初步了解基础的电路设计思路和方法,锻炼自己的动手能力,巩固电子焊接技术。 二.实验原理 1.显示译码器 74LS248(74LS48)是BCD码到七段码的显示译码器,它可以直接驱动共阴极数码管。它的引脚图及功能如下: (a)要求输入数字0~15时“灭灯输入端”BI必须开路或保持高电平,如果不要灭十进制的0,则“动态灭灯 输入”RBI必须开路或者为高电平。 (b)当灭灯输入端BI接低电平时,不管其他输入端为何种电平,所有各端输出均为低电平。 (c)BI/RBO是线与关系,既是“灭灯输入端”BI又是“动态灭灯输出端”RBO。 2.数码显示器 LC5011-11就是一种共阴极数码显示器,它的管脚图如图1,X为共阴极,DP为小数点。其内部是八段发光二极管的负极连在一起的电路。当在a.b.c.d.e.f.g.DP加上正向电压时,各段

二极管就会被点亮,例如,利用74LS48和数码管组合成的显 示译码电路。 ABCD 四个引脚接上一级输出 LT,RBO/BI ,RBI 接高电平,或悬空。 3,十进制集成计数电路74LS90 74LS90时异步二-五-十进制计数器。其管脚图如图 U1 74LS90D Q A 12Q B 9Q D 11 Q C 8I N B 1 R 916 R 927R 012I N A 14R 02 3 G N D 10 V C C 5它的内部由两个计数电路组成,一个为二 进制,计数电路,计数脉冲输入端为CP1,输出端为QA QB QC QD.这两个计数器可独立使用,当QA 连到CP2时,可构成十进制计数器。 它具有复零输入端ROA,ROB 和复9输入端R9A R9B 。如果复零输入端ROA,ROB 皆为高电平时,计数器复零;如果复9输入端R9A,R9B 皆为高电平时,计数器复9。计数时ROA,ROB 其中之一接高电平或者二者都接高电平,并要求复9输入端R9A,R9B 其一接低电平或者同时接低电平。用74LS90接成的24 进 制 计 数 器 电 路 如 图

EDA技术与VHDL(第2版)习题解答

第3章 VHDL 基础 3-1 如图所示 input output enable buf3s mux21 in0in1output sel 3-2 程序: IF_THEN 语句 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21 S PORT ( s1,s0 : IN STD_LOGIC_VECTOR ; a,b,c,d : IN STD_LOGIC ; y : OUT STD_LOGIC ) ; END ENTITY mux21 ; ARCHITECTURE one OF mux21 IS BEGIN PROCESS ( s0,s1,a,b,c,d ) BEGIN IF s1=?0? AND s0=?0? THEN y<=a ; ELSIF s1=?0? AND s0=?1? THEN y<=b ; ELSIF s1=?1? AND s0=?0? THEN y<=c ; ELSIF s1=?1? AND s0=?1? THEN y<=d ; ELSE y<=NULL ; END IF ; END PROCESS ; END ARCHITECTURE one ; CASE 语句 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY mux21 IS

PORT ( s1,s0 : IN STD_LOGIC_VECTOR ; a,b,c,d : IN STD_LOGIC ; y : OUT STD_LOGIC ) ; END ENTITY mux21 ; ARCHITECTURE two OF mux21 IS SIGNAL s : STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ; BEGIN s<=s1 & s0 ; PROCESS ( s ) BEGIN CASE s IS WHEN “00” => y<=a ; WHEN “01” => y<=b ; WHEN “10” => y<=c ; WHEN “11” => y<=d ; WHEN OTHERS => NULL ; END CASE ; END PROCESS ; END ARCHITECTURE two ; 3-3 程序: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY MUXK IS PORT ( s0,s1 : IN STD_LOGIC ; a1,a2,a3 : IN STD_LOGIC ; outy : OUT STD_LOGIC ) ; END ENTITY MUXK ; ARCHITECTURE double OF MUXK IS SIGNAL tmp : STD_LOGIC ; --内部连接线 SIGNAL u1_s, u1_a, u1_b, u1_y : STD_LOGIC ; SIGNAL u2_s, u2_a, u2_b, u2_y : STD_LOGIC ; BEGIN p_MUX21A_u1 : PROCESS ( u1_s, u1_a, u1_b, u1_y ) BEGIN

『数字电路』课程设计指导书

『数字电路』课程设计指导书

『数字电路』课程设计指导书 一、教学目标 (一)课程性质 课程设计。 (二)课程目的 训练学生综合运用学过的数字电路的基本知识,独立设计比较复杂的数字电路的能力。 二、教学内容基本要求及学时分配 (一)课程设计题目 题目见附录I,原则上每人一题。 (二)设计内容 拿到题目后首先进行电路设计。然后在微机上进行原理图输入、编译和软件仿真,如满足设计要求,再进行下载和硬件实验。如硬件实验结果不满足要求,则修改设计,直到满足要求为止。 (三)设计要求 (1)按题目要求的逻辑功能进行设计,电路 2

各个组成部分须有设计说明; (2)必须采用原理图输入法; (3)软件仿真完成后,必须经教师允许方可进行下载; (四)使用的硬件和软件 硬件为可编程逻辑器件EPM7128S;软件为MAX+PLUSII。见附录。 三、主要教学环节 (一)设计安排 1. 课程设计时间为两周,每人一台微机; 2.第1、2天讲授设计需要的硬件和软件、 设计的要求、布置设计题目; 3.第3~8天学生进行设计; 4.第9、10天教师验收,然后学生撰写和 打印设计报告。 (二)指导与答疑 每天都有教师现场答疑,学生有疑难问题可找教师答疑。学时应充分发挥主观能动性,不应过 3

分依赖教师。 (三)设计的考评 设计全部完成后,须经教师验收。验收时学生要讲述自己设计电路的原理、仿真情况,还要演示硬件实验结果。 教师根据学生设计全过程的表现和验收情况给出成绩。 四、课程设计报告的内容和要求 (一)课程设计报告的内容 按附录中给出的报告模板进行编写,用A4纸打印,左侧装订。 (二)课程设计报告编写的基本要求 (1)按设计指导书中要求的格式书写,所有的内容一律打印; (2)报告内容包括设计过程、软件仿真的结果及分析、硬件仿真结果及分析; (3)要有整体电路原理图、各模块原理图; (4) 软件仿真包括各个模块的仿真和整体电路 4

完整word版,EDA技术与VHDL(A卷答案)

4.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是C。 A. FPGA是基于乘积项结构的可编程逻辑器件; B. FPGA是全称为复杂可编程逻辑器件; C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D. 在Altera公司生产的器件中,MAX3000系列属FPGA结构。 5.以下对于进程PROCESS的说法,正确的是: A A. 进程语句本身是并行语句 B. 进程内部由一组并行语句来描述进程功能 C. 进程之间可以通过变量进行通信 D. 一个进程可以同时描述多个时钟信号的同步时序逻辑 6.在VHDL语言中,下列对时钟上升沿检测描述中,错误的是C。 A. if clk’event and clk = ‘1’ then B. if rising_edge(clk) then C. if clk’event and clk = ‘0’ then D. if not clk’stable and clk = ‘1’ then 7.关于VHDL中的数字,请找出以下数字中数值最大的一个:B A. 2#1111_1110# B. 8#366# C. 10#169# D. 16#F#E1 8.下列标识符中,B是不合法的标识符。 A. State0 B. 9moon C. Not_Ack_0 D. signall 9.下列语句中,不属于并行语句的是:D A.进程语句 B.条件信号赋值语句 C.元件例化语句 D.IF语句 10. 状态机编码方式中,其中 C 占用触发器较多,但其实现比较适合FPGA的应用 A. 状态位直接输出型编码 B. 顺序编码 C. 一位热码编码 D. 以上都不是

EDA技术与VHDL程序开发基础教程 教学资料第二章

2.8.1填空 1.可编程逻辑器件的英文全称是Programmable Logic Device 2.可编程逻辑器件技术经历了PROM 、PLA、PAL 三个发展阶段 3. CPLD的基本结构包括可编程逻辑阵列块、输入/输出块、互联资源三个部分 4.目前市场份额较大的生产可编程逻辑器件的公司有Altera 、Xillinx 、Lattice 5.根据器件应用技术FPGA可分为基于SRAM编程的FPGA、基于反熔丝编程的FPGA 6. 快速通道/互联通道包括行互连、列互联、逻辑阵列块、逻辑单元 7.常用的的FPGA配置方式为主动串行、主动并行、菊花链 8.实际项目中,实现FPGA的配置常常需要附加一片EPROM 9.球状封装的英文缩写为BGA 10.CPLD/FPGA选型时主要考虑的因素有器件逻辑资源、芯片速度、功耗、封装2.8.2选择 1. 在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是(D) A EPLD B CPLD C FPGA D PAL 2. 在下列可编程逻辑器件中,属于易失性器件的是(D) A EPLD B CPLD C FPGA D PAL 3.下列逻辑部件中不属于Altera公司CPLD的是(A) A通用逻辑块(GLB) B可编程连线阵列(PIA) C输入输出控制(I/O) D逻辑阵列块(LAB) 4.下列逻辑部件中不属于Lattice公司CPLD的是(D) A通用逻辑块(GLB) B全局布线区(GRP) C输出布线区(ORP) D逻辑阵列块(LAB) 5.下列FPGA中不属于Xilinx公司产品的是(D) A XC4000 B Virtex

数字电子技术课程设计

数字电子技术课程设计报告 指导老师:XXX 班级:XXX 学号:XXX 姓名:XXX 浙江理工大学本科课程设计任务书

1产品简介 红外线心率计就就是通过红外线传感器检测出手指中动脉血管的微弱波动,由计数器计算出每分钟波动的次数。但手指中的毛细血管的波动就是很微弱的,因此需要一个高放大倍数且低噪声的放大器,这就是红外线心率计的设计关键所在。通过本产品的制作,可以使学生掌握常用模拟、数字集成电路(运算放大器、非门、555定时器、计数器、译码器等)的应用。 2 红外线心率计工作原理 2、1 红外线心率计的原理框图 整机电路由-10V电源变换电路、血液波动检测电路、放大整形滤波电路、3位计数器电路、门控电路、译码驱动显示电路组成,如图1所示。 2、2 单元电路的工作原理 ⑴负电源变换电路 为简化实验的步骤,实验中直接用+12V、与-10V的电源代替负电源变换电路。 ⑵血液波动检测电路 实验中采用信号源发生器直接产生正弦波代替原来的血液波动检测电路。 ⑶放大、整形、滤波电路 放大、整形、滤波电路就是把传感起检测到的微弱电信号进行放大、整形、滤波,最后输出反映心跳频率的方波,如图5所示。其中LM741为高精度单运放电路,它们的引脚功能如图3 (b)所示。IC2、IC3、IC4都为LM741。

图5 信号放大、整形电路 因为传感器送来的信号幅度只有2~5毫伏,要放大到10V 左右才能作为计数器的输入脉冲。因此放大倍数设计在4000倍左右。两级放大器都接成反相比例放大器的电路,经过两级放大、反相后的波形就是跟输入波形同相、且放大了的波形。放大后的波形就是一个交流信号。其中A 1、A 2的供电方式就是正负电源供电,电源为+12V 、-10V 。 A 1、A 2与周围元件组成二级放大电路,放大倍数A uf 为: 40006666R R R R A 6 8 34uf ≈?=?= 由于放大后的波形就是一个交流信号,而计数器需要的就是单方向的直流脉冲信号。所以经过V 3检波后变成单方向的直流脉冲信号,并把检波后的信号送到RC 两阶滤波电路,滤波电路的作用就是滤除放大后的干扰信号。R 9、V 4组成传感器工作指示电路,当传感器接收到心跳信号时,V 4就会按心跳的强度而改变亮度,因此V 4正常工作时就是按心跳的频率闪烁。直流脉冲信号滤波后送入A 3的同相输入端,反相输入端接一个固定的电平,A 3就是作为一个电压比较器来工作的,就是单电源供电。当A 3的3脚电压高于2脚电压的时候,6脚输出高电平;当A 3的3脚电压低于2脚电压的时候,6脚输出低电平,所以A 3输出一个反应心跳频率的方波信号。 ⑷ 门控电路 555定时器就是一种将模拟电路与数字电路集成于一体的电子器件,用它可以构成单稳态触发器、多谐振荡器与施密特触发器等多种电路。555定时器在工业控制、定时、检测、报警等方面有广泛应用。 555定时器内部电路及其电路功能如图6(a)、(b)所示。555内部电路由基本RS 触发器FF 、比较器COMP 1、COMP 2与场效应管V1组成(参见图6(a))。当555内部的COMP 1反相输入 端(-)的输入信号V R 小于其同相输入端(+)的比较电压V CO (DD 3 2V V co =)时,COMP 1输出高电位,置触发器FF 为低电平,即Q=0;当COMP 2同相输入端(+)的输入信号S V 大于其反相输入端(-)的比较电压V CO /2(1/3V DD )时,COMP 2输出高电位,置触发器FF 为高电平,即Q=1。D R 就是直接复位端,0R D =,Q=0;MOS 管V 1就是单稳态等定时电路时,供定时电容C 对地放电作用。 注意:电压V CO 可以外部提供,故称外加控制电压,也可以使用内部分压器产生的电压,这时COMP 2的比较电压为V DD /3,不用时常接0、01μF 电容到地以防干扰。

数字电子技术基础课程设计

电子产品 交通信号控制灯电路设计题目 班级名称 学生姓名1 电话号码 学生姓名2 电话号码 学生姓名3 电话号码 学生姓名4 电话号码 学生姓名5 电话号码

一 问题重述 用中、小规模集成电路设计一个交通灯控制系统,基本要求如下: (1) 要求主干道与支干道交替通行。主干道通行时,主干道绿灯亮,支干道红 灯亮,时间为60秒。支干道通行时,支干道绿灯亮,主干道红灯亮,时间为30秒。 (2) 每次绿灯变红灯时,要求黄灯先亮5秒钟。此时另一路口红灯也不变。 (3) 黄灯亮时,要求黄灯闪烁,频率为1Hz 。 (4) 要求在绿灯亮(通行时间内)和红灯亮(禁止通行时间内)均有倒计时显 示。 二 课题分析 (1)系统整体设计 根据题目要求,得出交通灯顺序工作流程图如图1所示 图1 交通灯工作流程图 (2)设计原理图 分析要求,画出原理框图如图2所示。 图2 原理框图 主干道绿灯,支干道红灯,占60秒 主干道黄灯,支干道红灯,占5秒 主干道红灯,支干道绿灯,占30秒 主干道红灯,支干道黄灯,占5秒

(3)单元电路设计 1)秒脉冲发生器 秒脉冲发生器可以采用多谐振荡器直接振荡出1秒的脉冲信号,多谐振荡器可采用555定时器组成; 2)控制电路 主支干道控制电路分别是由三个以秒脉冲发生器为时钟的减数计数器构成,当电路稳定以后,第一个减数计数器运行,另外两个保持在一个固定值。减数器减到到零后会保持,再驱使第二个减数器运行,此时另外两个计数器处于保持状态,当其减到零后同样会保持,并让第三个计数器工作,当第三个计数器也减到零时,此时第三个计数器产生一个借位输出,以此信号为置数信号,使三个计数器重新置到一个固定值,然后第一个计数器重新运行,重复以上步骤。 3)信号灯 主干道:绿灯只要控制它的计数器不为零就亮,黄灯则在控制绿灯的计数器为零并且红灯不亮时才亮,红灯是在控制绿灯的计数器与控制黄灯的计数器为零时才亮。 支干道:红灯只要控制它的计数器不为零就亮,绿灯则在控制绿灯的计数器为零并且红灯不亮时才亮,黄灯是在控制绿灯的计数器与控制黄灯的计数器为零时才亮。 三选用器件 本设计需要用到一下器件:NE555、74LS192D、自带译码器的七段显示管DCD_HEX_DIG_RED、 NE555 引脚图: 图3 NE555引脚图 74LS192D 引脚图;

相关文档
相关文档 最新文档