基于fpga方向的大型屏幕显示系统设计毕业设计(编辑修改稿)内容摘要:
74HC595中。 当完成一行的扫描输出一个脉冲信号 isdone。 由于人眼的 暂留时间,只有当画面刷新频率大于 50Hz时才不会出现闪烁现象。 更新行数据最大周期Tmax=1/50/16=。 程序中利用计数器 t作为行移位标志,当计数器计数到 19999时移位一次, T=(19999+1)/20xx0000=1ms,(系统使用 20MHz晶振 ),所以本设计刷新周期为 1ms。 以下代码为 LED显示 驱动 模块的 源 程序: module displ_led( input clk, input rst, input [15:0] row_data, input [31:0] data, output rclk, output sclk, output ser, output AB, output s_clk, output isdone )。 reg rAB。 reg rs_clk。 reg rrclk。 reg rsclk。 reg rser。 reg risdone。 湖南工业大学本科毕业设计(论文) 11 reg [14:0] t。 reg [3:0] C。 always @(posedge clk or negedge rst) if(!rst) begin t=1539。 d0。 C=439。 d0。 end else if(t==1539。 d19_999) begin C=C+139。 b1。 t=1539。 d0。 end else t=t+139。 b1。 reg [5:0] i。 always @ (posedge clk or negedge rst) if(!rst) begin rAB=139。 b1。 rs_clk=139。 b0。 rrclk=139。 b0。 rsclk=139。 b0。 rser=139。 b0。 i=639。 d0。 risdone=139。 b0。 end else case(i) 0: begin risdone=139。 b0。 rAB=row_data[C]。 rs_clk=139。 b0。 rrclk=139。 b0。 rsclk=139。 b0。 i=i+139。 b1。 end 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32: if(t[2:0]==339。 d5) begin rsclk=139。 b1。 i=i+139。 b1。 end else begin rser=~data[i1]。 rsclk=139。 b0。 end 33: begin rrclk=139。 b1。 rs_clk=139。 b1。 i=i+139。 b1。 湖南工业大学本科毕业设计(论文) 12 end 34: begin if(t==1539。 d0) begin risdone=139。 b1。 i=639。 d0。 end else begin rrclk=139。 b0。 rsclk=139。 b0。 rs_clk=139。 b0。 end end endcase assign rclk=rrclk。 assign sclk=rsclk。 assign ser=rser。 assign AB=rAB。 assign s_clk=rs_clk。 assign isdone=risdone。 endmodule AB,s_clk 用于驱动 74HC164 ; ser , sclk , rclk 用于驱动 74HC595。 当输入 data=3239。 h55_55_F0_0A、 row_data=1639。 b1111_1111_1111_1110时功能仿真波形如图 ,相隔 8个时钟周期 ser更新一次数据,并且 sclk产生一脉冲将列数据移位一次。 移完所有 64位数据时, rclk产生一脉冲信号将列数据锁存。 同时 isdone产生一脉冲用于与其他模块进行交互。 行数据控制模块 行数据控制模块主要实现控制显示的上下移位功能。 以下程序为此模块的 源 程序: module row_control( input clk, input rst, input key_up, input key_down, input key_stop, //input [15:0] rdata, output [15:0] row_data )。 reg up_en。 reg down_en。 reg [15:0] rrow。 图 点阵显示驱动仿真波形 湖南工业大学本科毕业设计(论文) 13 always @ (posedge clk or negedge rst) if(!rst) begin up_en=139。 b0。 down_en=139。 b0。 end else if(key_up) begin up_en=139。 b1。 down_en=139。 b0。 end else if(key_down) begin down_en=139。 b1。 up_en=139。 b0。 end else if(key_stop) begin up_en=139。 b0。 down_en=139。 b0。 end reg [23:0] t0。 reg [3:0] k。 always @ (posedge clk or negedge rst) if(!rst) begin t0=2439。 d0。 k=439。 d0。 rrow=1639。 b1111_1111_1111_1110。 end else if(down_en) begin if(t0==2439。 d9_999_999) begin k=k+139。 b1。 t0=2439。 d0。 end else begin t0=t0+139。 b1。 case(k) 0: rrow=1639。 b1111_1111_1111_1110。 1: rrow=1639。 b1111_1111_1111_1101。 2: rrow=1639。 b1111_1111_1111_1011。 3: rrow=1639。 b1111_1111_1111_0111。 4: rrow=1639。 b1111_1111_1110_1111。 5: rrow=1639。 b1111_1111_1101_1111。 6: rrow=1639。 b1111_1111_1011_1111。 7: rrow=1639。 b1111_1111_0111_1111。 8: rrow=1639。 b1111_1110_1111_1111。 湖南工业大学本科毕业设计(论文) 14 9: rrow=1639。 b1111_1101_1111_1111。 10: rrow=1639。 b1111_1011_1111_1111。 11: rrow=1639。 b1111_0111_1111_1111。 12: rrow=1639。 b1110_1111_1111_1111。 13: rrow=1639。 b1101_1111_1111_1111。 14: rrow=1639。 b1011_1111_1111_1111。 15: rrow=1639。 b0111_1111_1111_1111。 endcase end end else if(up_en) begin if(t0==2439。 d9_999_999) begin k=k+139。 b1。 t0=2439。 d0。 end else begin t0=t0+139。 b1。 case(k) 0: rrow=1639。 b1111_1111_1111_1110。 1: rrow=1639。 b0111_1111_1111_1111。 2: rrow=1639。 b1011_1111_1111_1111。 3: rrow=1639。 b1101_1111_1111_1111。 4: rrow=1639。 b1110_1111_1111_1111。 5: rrow=1639。 b1111_0111_1111_1111。 6: rrow=1639。 b1111_1011_1111_1111。 7: rrow=1639。 b1111_1101_1111_1111。 8: rrow=1639。 b1111_1110_1111_1111。 9: rrow=1639。 b1111_1111_0111_1111。 10: rrow=1639。 b1111_1111_1011_1111。 11: rrow=1639。 b1111_1111_1101_1111。 12: rrow=1639。 b1111_1111_1110_1111。 13: rrow=1639。 b1111_1111_1111_0111。 14: rrow=1639。 b1111_1111_1111_1011。 15: 湖南工业大学本科毕业设计(论文。基于fpga方向的大型屏幕显示系统设计毕业设计(编辑修改稿)
相关推荐
波形,其工作过程为: (1) 确定频率控制字 K; (2) 在时钟脉冲正的控制下,该频率控制字累加至相位累加器生成实时数字相位值; (3) 将相位值寻址 ROM 转换成正弦表中相应 的数字幅码。 (4) 模块 DAC 实现将 NCO 产生的数字幅度值高速且线性地转变为模拟幅度值, (5) DDS 产生的混叠干扰由 DAC 之后的低通滤波器滤除。 FPGA、 CPLD 概述
7 页 共 36 页 4 FIR 数字滤波器的 FPGA 设计及仿真 本章采用 VHDL 语言,利用 FPGA 的查找表结构,完成了一个基于分布式算法的 256 阶 FIR 低通数字滤波器的程序设计。 在设计中采用模块化、参数化设计方法,简化了设计过程,并将设计结果进行了仿真验证。 FIR 数字滤波器分布式算法的基本原理 分布式算法( Distributed Arithmetic, DA)是
respectively. The relative performance of the transmitter modules are similar to that observed in the case of 10Gbps shown in Fig. 7. Chirp parameter of , − and − optimizes 40Gbps NRZ Duobinary
锁存器的好处是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。 在每一次测量开始时,都必须重新对计数器清0。 由于本次设计的重点是等精度频率计的实现,在等精度原理介绍的时候有强调过等精度的关键是:门控信号不是一个固定的值,而是与被测信号相关的,恰好是被测信号的整数倍。 所以在设计的过程中加入了D触发器,把测频控制信号产生器testctl的输出信号clr_t,load
微 机 保 护 管理 单 元M o d e m调 度 中 心交 直 采 样Y C开 关 量 采 集Y X电 能 表 脉 冲 采 集Y M开 关 控 制 输 出Y K保 护部 件 图 1 2 集中式变电站自动化系统典型框图 ( 2)分散式变电站自动化系统 20 世纪 90 年代中期,随着计算机技术、网络通信技术的跨越式发展,集中式系统的可靠性,灵活性无法满足大容量、高电压等级变电站的要求
设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。 同时, VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。 VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。 VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类 型,这样便会给硬件描述带来较大的自由度。