EDA课后作业
- 格式:ppt
- 大小:305.50 KB
- 文档页数:31


红外多路遥控系统单片机红外发射红外接收本文介绍了红外多路遥控系统。
红外多路遥控系统可实现16路的红外开关控制。
以码分制多通道红外遥控为设计的基本思路。
通过键盘及代码生成电路、编码、脉冲调制振荡和红外发射构成红外发射电路。
通过红外接收,解码以及由单片机控制的医码控制电路组成红外接收电路。
1.前言1.1序言随着电子技术的飞速发展,尤其是跨入2000年后,红外技术得到了迅猛发展。
红外遥控已渗透到国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活各个方面都得到了广泛的应用。
1.2国内外研究概况目前国内外都在进行红外的研究开发,已取得了相当不错的成绩。
红外技术的研究开发是自动化控制的主要方向。
它的研究针对国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活各个方面都在进行红外研究开发和控制。
1.3主要工作概述针对国内外的发展情况,可见红外遥控系统是我国未来智能化发展方向。
本课题要设计的红外多路遥控系统,主要红外发射和红外接收这两部分,本设计依托市面上常见的红外发射和红外接收元器件,使设计具有传输距离一般、硬件简单、安装方便、价格便宜的优点。
本文所介绍的红外多路遥控系统,是采用码分制多通道红外遥控系统装置。
早期的码分制的脉冲指令编码多采用分离元器件及小规模数字集成电路,编码、译码电路弄得很复杂,可靠性也差。
但随着大规模数字集成技术的发展和日趋成熟,各种大规模专用集成编、译码集成器件的层出不穷,使外围元器件很少,电路简单,功能完善。
2.系统总体方案设计2.1方案比较方案一:采用频分制多通道红外遥控发射和接收系统。
频分制的频率编码一般采用频道编码开关,通过改变振荡电路的参数来改变振荡电路的振荡参数和频率。
第一章绪论作业1、EDA的英文全称是什么?EDA的中文含义是什么?答:EDA的英文全称是Electronic Design Automation;中文含义是电子设计自动化。
5、FPGA和CPLD各包含几个基本组成部分?答:FPGA和CPLD均包含三个部分:可编程逻辑单元阵列、可编程互连、可编程I/O单元。
CPLD内部的可编程逻辑单元以乘积项阵列为主,而FPGA内部采用LUT加寄存器结构。
6、FPGA和CPLD各有什么特点?二者在存储逻辑信息方面有什么区别?在实际使用中,在什么情况下选用CPLD?在什么情况下选用FPGA?答:特点:CPLD内部的可编程逻辑单元以乘积项阵列为主,触发器数量相对FPGA要少,规模和复杂度较低。
FPGA内部采用LUT加寄存器结构,触发器数量多,规模和复杂度较高。
在存储逻辑信息方面,CPLD主要采用PROM存储信息;FPGA主要采用SRAM存储信息。
在实际使用中,一般规模逻辑设计,以控制功能为主的情况下优先选用CPLD。
对于复杂逻辑设计,需要存储大量数据的情况下优先选用FPGA。
10、对于目标器件为FPGA/CPLD的VHDL设计,其工程设计包括几个主要步骤?每步的结果是什么?答:主要设计步骤:(1)设计输入:采用HDL语言、原理图、状态图等方式,结果为设计的源代码。
(2)逻辑综合:将RTL级描述转换为优化过的具有特定工艺的门级实现,产生网表文件。
(3)目标器件的布线/适配:将综合器产生的网表文件映射到目标器件中,产生最终的下载文件。
(4)目标器件的编程/下载,得到具有特定功能的电路。
(5)硬件仿真、测试,11、名称解释逻辑综合、逻辑适配、行为仿真、功能仿真、时序仿真答:逻辑综合:将RTL级描述转换为优化过的具有特定工艺的门级实现,即网表文件。
逻辑适配:将综合器产生的网表文件映射到目标器件中,产生最终的下载文件。
行为仿真:将源程序直接送到VHDL仿真器中所进行的仿真。
功能仿真:将综合后的网表文件送到VHDL仿真器中所进行的仿真。
习题5-8设计一个7人表决电路,参加的表决的7人,同意为1,不同意为0,同意者过半则表决通过,绿指示灯亮;表决不通过则红指示灯亮。
图1 .bdf条件图2 RTL综合图实验5-4(3)完成半加器和全加器的设计Full_adder的VHDL语言:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY work;ENTITY f_adder ISPORT(cin : IN STD_LOGIC;bin : IN STD_LOGIC;ain : IN STD_LOGIC;count : OUT STD_LOGIC;sum : OUT STD_LOGIC);END f_adder;ARCHITECTURE bdf_type OF f_adder IS COMPONENT or2aPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;COMPONENT h_adderPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;co : OUT STD_LOGIC;so : OUT STD_LOGIC);END COMPONENT;SIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_1 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_2 : STD_LOGIC; BEGINb2v_inst : or2aPORT MAP(a => SYNTHESIZED_WIRE_0,b => SYNTHESIZED_WIRE_1,c => count);b2v_inst1 : h_adderPORT MAP(a => ain,b => bin,co => SYNTHESIZED_WIRE_0,so => SYNTHESIZED_WIRE_2);b2v_inst2 : h_adderPORT MAP(a => SYNTHESIZED_WIRE_2,b => cin,co => SYNTHESIZED_WIRE_1,so => sum);END bdf_type;f_adder适配图f_adde r原理输入图f_adder时序仿真图h_adder的VHDL语言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY H_ADDER ISPORT(a,b :IN STD_LOGIC;co, so:OUT STD_LOGIC);END ENTITY H_ADDER;ARCHITECTURE FH1 OF H_ADDER ISBEGINso <=NOT(a XOR (NOT B));co <=a AND b;END ARCHITECTURE FH1;RTL综合图习题6-8判断下面三个程序中是否有错误,若有则指出错误所在,并给出完整程序程序1:Signal A, EN : std_logic;Process(A, EN)Variable B:std_logic;Beginif EN = l then B<=A; end if; --将“B<=A”改成“B:=A”end process;程序2:Architecture one of sample isvariable a,b,c:integer;beginc<=a+b; --将“c<=a+b”改成“c:=a+b”end;完整程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux21 isport(clk:in integer range 10 downto 0;d:out integer range 20 downto 0);end mux21;architecture one of mux21 isbeginprocess (clk)variable a,b:integer range 10 downto 0 ;variable c :integer range 20 downto 0 ;beginif clk = 1 thena:=10;b:=5;c:=a+b;d<=c;else c:=a-b;d<=c;end if;end process;end architecture one;RTL综合图仿真图程序3:library ieee;use ieee.std_logic_1164.all;entity mux21 isport(a,b:in std_logic; sel:in std_logic;c:out std_logic;); --将“;)”改成“)” end sam2; --将“sam2”改成“entity mux21” architecture one of mux2l isbegin --增加“process(a,b,sel) begin” if sel= '0' then c:=a; else c:=b; end if; --应改成“if sel= '0' then c<=a;else c<=b; end if;”--增加“end process;”end two; --将“two”改成“architecture one”完整程序:library ieee;use ieee.std_logic_1164.all;entity mux21 isport (a,b:in std_logic;sel:in std_logic;c :out std_logic);end entity mux21;architecture one of mux21 isbeginprocess(a,b,sel)beginif sel= '0' then c<=a; else c<=b; end if;end process;end architecture one;RTL综合图仿真图实验6-4 32位并进/并出移位寄存器设计仅用例6-8一个8位移位寄存器,再增加一些电路,如4个8位锁存器等,设计成为一个能为32位二进制数进行不同方式移位的移位寄存器。