版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第5章 基于FPGA数字跑表设计,5.1 原理与方案 5.2 单元电路设计 5.3 系统电路设计,2,5.1 跑表原理与方案,任务要求 工作原理 设计方案,3,任务要求,1、跑表精度为0.01秒 2、跑表计时范围为:1小时 3、设置开始计时/停止计时、复位两个按钮 4、显示工作方式: 用八位数码管显示读数。显示格式:,4,系统组成分析,5,设计方框图,6,5.2 单元模块电路设计,分频器 使能控制器 计数器 显示控制器,7,分频器,功能: (1)产生秒计时100HZ信号; (2)产生扫描KHZ信号 注:输入为48MHZ信号,模块符号:,8,分频器原理(M分频),TOUT=MTIN,FOUT
2、FINM,9,分频器方法1 (M分频),计输入时钟脉冲M个,判分频输出信号,在M个脉冲内,一部分为高电平,另外一部分为低电平。,FIN,FOUT,0到N个脉冲,第M-N个脉冲,10,方法1: 举例:【-q 为1M累加信号, N为1-M间的一个累加值】 if finevent and fin=1 then if q=M then q=1; else q=q+1; end if; end if; if qN then fout=1; else fout=0; end if;,分频器方法1 (M分频),11,当M分频为偶数时,计输入时钟脉冲M/2 个,当从1计到M/2个脉冲时,输出分频状态取反。,分
3、频器方法2 (M分频),12,方法2: 举例: 【-q 为中间信号】 if finevent and fin=1 then if q=M/2 then q=1; f_out= not f_out; else q=q+1; end if; end if; fout=f_out ;,分频器方法2(M分频),13,对输入信号计M个脉冲,取累加信号Q对应二进制码的最高位作为输出分频(第N-1位,其中N=LOG2M )。,N=LOG2M,分频器方法3 (M分频),14,方法3: 原理举例说明(6分频器),分频器方法3(M分频),15,方法3: 举例: if finevent and fin=1 then
4、 if q:=M then q:=1; else q:=q+1; end if; end if; P=CONV_STD_LOGIC_VECTOR(q,N); FOUT=P(N-1);,分频器方法3(M分频),16,分频器参考程序,library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity fdiv is Port ( clkin : in std_logic; clkout1k : out std_logic; clkout100
5、 : out std_logic); end fdiv; architecture structure of fdiv is signal clk_1k:std_logic:=0; begin,17,分频器参考程序,t1:process(clkin) variable q : integer range 1 to 24000:=1; begin if clkinevent and clkin=1 then if q=24000 then q:=1; clk_1k= not clk_1k; else q:=q+1; end if; end if; end process;,18,t2: proc
6、ess(clk_1k) variable q: std_logic_vector(3 downto 0); begin if clk_1kevent and clk_1k=1 then if q=9 then q:=0000; else q:=q+1; end if; end if; clkout100=q(3); end process; clkout1k=clk_1k; end structure;,分频器参考程序(续),19,使能控制器,功能: 将单稳态的开始/停止按钮,转换成开始、停止两个稳定的状态控制信号。 作为计数器的使能控制。,模块符号:,20,使能控制参考程序,library
7、IEEE; use IEEE.STD_LOGIC_1164.ALL; entity en is port (s: in std_logic; e: out std_logic); end en; architecture Behavioral of en is signal e1: std_logic:=0; begin process(s) begin if sevent and s=1 then e1=not e1; end if; end process; e=e1; end Behavioral;,21,计数器,功能: 完成1小时的循环计数。具有使能、停止和复位功能 输入为100HZ基
8、准信号,由6个单级计数器组成。,模块符号:,单级计数器,6个计数器级联,22,模10计数器参考程序,library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity cnt10 is port (clk : in std_logic; en,rst : in std_logic; carry_out : out std_logic; count_out : out std_logic_vector(3 downto 0); end cn
9、t10; architecture Behavioral of cnt10 is signal count: std_logic_vector(3 downto 0):=0000; begin,23,模10计数器参考程序(续),process(en,rst,clk) begin if rst=0 then count = 0000; carry_out = 0; elsif clkevent and clk= 1 then if en=1 then if count=1001 then count = 0000;carry_out = 1; else count = count+1;carry
10、_out = 0; end if; end if; end if; end process; count_out=count; end Behavioral;,24,模6计数器参考程序,library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity cnt6 is port (clk : in std_logic; en,rst : in std_logic; carry_out : out std_logic; count_out
11、: out std_logic_vector(3 downto 0); end cnt6; architecture Behavioral of cnt6 is signal count: std_logic_vector(3 downto 0):=0000; begin,25,模6计数器参考程序 (续),process(en,rst,clk) begin if rst=0 then count = 0000; carry_out = 0; elsif clkevent and clk= 1 then if en=1 then if count =0101 then count = 0000;
12、carry_out = 1; else count = count+1;carry_out = 0; end if; end if; end if; end process; count_out=count; end Behavioral;,26,6计数器接连顶层参考程序,library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter6 is port (Csignal:in std_logic; en,rst:in
13、std_logic; result1:out std_logic_vector(3 downto 0); result2:out std_logic_vector(3 downto 0); result3:out std_logic_vector(3 downto 0); result4:out std_logic_vector(3 downto 0); result5:out std_logic_vector(3 downto 0); result6:out std_logic_vector(3 downto 0); end counter6;,27,6计数器接连顶层参考程序(续),arch
14、itecture structure of counter6 is component cnt10 port( clk : IN std_logic; en : IN std_logic; rst : IN std_logic; carry_out : OUT std_logic; count_out : OUT std_logic_vector(3 downto 0); end component; component cnt6 port( clk : IN std_logic; en : IN std_logic; rst : IN std_logic; carry_out : OUT s
15、td_logic; count_out : OUT std_logic_vector(3 downto 0); end component; signalcarry1,carry2,carry3,carry4,carry5,carry6: std_logic;,28,6计数器接连顶层参考程序(续),begin U1 : cnt10 PORT MAP( clk =Csignal , rst =rst ,en =en , carry_out =carry1 ,count_out =result1 ); U2 : cnt10 PORT MAP( clk =carry1 ,rst =rst ,en =
16、en , carry_out =carry2 ,count_out =result2 ); U3 : cnt10 PORT MAP( clk =carry2 , rst =rst , en =en , carry_out =carry3 , count_out =result3 );,29,6计数器接连顶层参考程序(续),begin U4 : cnt10 PORT MAP( clk = carry3 , rst =rst ,en =en , carry_out =carry4 ,count_out =result4 ); U5 : cnt10 PORT MAP( clk =carry4 ,rs
17、t =rst ,en =en , carry_out =carry5 ,count_out =result5 ); U6 : cnt10 PORT MAP( clk =carry5 , rst =rst , en =en , carry_out =carry6 , count_out =result6 ); end structure;,30,6计数器顶层原理图,31,显示控制器,功能: 将1小时6位十进制计数数据分时分配到对应的数码管上显示。并选通对应的数码管。,模块符号:,32,采用动态扫描的显示方式,显示控制器,33,显示控制器内部原理,由模8计数器、多路选择器和七段译码器组成,模8 计数器,8选1 选择器,Clk,sel(2:0),data(3:0),七段 译码器,LED(6:0),6组计数数据,34,显示控制器参考程序,35,显示控制器参考程序(续),扫描进程,36,显示控制器参考程序 (续),数据分配进程,37,显示控制器参考程序 (续),数码管共阳,七段译码进程,38,5.3 顶层系统电路设计,顶层模型:,39,系统顶层原理图:,40,管脚分配表:,41,管脚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026新疆兵团第一师八团医院招聘3人备考题库及参考答案详解1套
- 2026浙江金华市浦江县教育系统招聘教师20人备考题库及答案详解【有一套】
- 2026贵州峰鑫建设投资(集团)有限公司招聘演艺人员2人备考题库新版附答案详解
- 2026河南安阳殷都区人民医院招聘卫生专业技术人员9人备考题库附参考答案详解(预热题)
- 2026辽宁丹东国有资本投资运营集团有限公司面向社会招聘备考题库附答案详解【考试直接用】
- 2026四川绵阳市长虹缤纷时代商业管理有限公司招聘招商营运主管岗位1人备考题库附参考答案详解【轻巧夺冠】
- 2026广西钦州市城市管理局招聘公益性岗位人员2人备考题库及完整答案详解(夺冠系列)
- 2026黑龙江省建设投资集团有限公司校园招聘备考题库含完整答案详解【易错题】
- 2026黑龙江齐齐哈尔市克东县公益性岗位人员招聘60人备考题库及答案详解(必刷)
- 2206北京大学未来技术学院招聘劳动合同制人员1人备考题库含答案详解
- 玻璃幕墙更换玻璃施工方案
- 染料化学课件
- 报价单模板完
- 种植ABC - 轻松掌握士卓曼种植工具盒
- 虚拟电厂柔性控制系统设计说明书
- 工程建设质量信得过班组创建材料
- 人音版《采花》教学设计
- 西宁市湟水河城区段水生态综合治理工程建设项目环评报告
- 库房的管理制度
- GB/T 8642-2002热喷涂抗拉结合强度的测定
- GB/T 19289-2019电工钢带(片)的电阻率、密度和叠装系数的测量方法
评论
0/150
提交评论