版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE17基于FPGA的LED显示控制器设计摘要本设计为一个滚动显示的LED控制器,它具有按照需要的大小、形状组合,定时循环自动播放的功能。由于LED显示控制器广泛应用于医院、银行、机场等公共场所,所以本设计具有很强的现实应用性。本设计采用了EDA技术,以硬件描述语言VerilogHDL为系统逻辑描述手段设计文件,在QuartusⅡ可编程系统设计的综合性开发环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的LED显示控制器。本文从LED的显示原理入手,详细阐述了LED动态显示的过程。介绍了一种基于FPGA的LED滚动显示的设计与实现方法,分析了FPGA内部各功能模块和其他电路模块的作用及其工作过程。在计算机上通过软件编程与仿真实现LED的滚动显示,通过VerilogHDL语言实现其功能的仿真。关键词:LED显示控制器;QuartusⅡ;VerilogHDL;FPGA
AbstractThisdesignisatrundledemonstrationLEDbillboard,ithasaccordingtothesizewhich,theshapecombinationneeds,timingcycleautomaticbroadcastfunction.BecausetheLEDtrundlebillboardwidelyappliesinthehospital,thebank,theairportandsoonpublicplace,thereforethisdesignhastheverystrongrealisticutility.ThisdesignhasusedtheEDAtechnology,takehardwaredescriptionlanguageVHDLasthesystemlogicdescriptionmethoddesigndocument,inQuartusⅡUndertheprogrammablesystemdesign'scomprehensivenaturedevelopmentenvironment,usesthedesignmethodfromthetop,hasconstructedonetogetherbyeachbasicmodulebasedontheFPGALEDtrundlebillboard.ThisarticleobtainsfromtheLEDdisplayprinciple,elaboratedtheLEDdynamicdemonstrationprocessindetail.IntroducedonekindwithrealizesthemethodbasedontheFPGALEDtrundledemonstration'sdesign,hasanalyzedtheFPGAinteriorvariousfunctionalmoduleandotherelectriccircuitmodulefunctionandtheworkprocess.RealizestheLEDtrundleonthecomputerthroughthesoftwareprogrammingandthesimulationtodemonstratethatlanguagerealizesitsfunctionsimulationthroughVerilogtheHDL.keyWord:LEDtrundlebillboard;QuartusⅡ;VerilogHDL;FPGA
目录前言 1一、绪论 2(一)选题背景 2(二)课题研究的意义与必要性 2(三)选题研究的内容 2二、开发平台及开发工具 4(一)FPGA概述 4(二)QuartusⅡ开发工具 4(三)VerilogHDL硬件描述语言介绍 4三LED显示控制器的总体设计方案与分析 6(一)LED显示的控制原理 61.LED点阵显示模块结构 62.LED点阵的动态显示原理 7(二)LED显示控制器的构成 7(三)LED显示控制器的工作原理 8四单元电路设计 9(一)顶层模块设计与实现 91.顶层设计模块的实现原理 92.顶层模块的程序 103.仿真结果 10(二)总循环控制模块的设计与实现 101.总循环显示控制模块的原理 112.总循环显示控制模块的核心程序 11(三)显示模块设计与实现 121.各显示子模块的原理 122.显示子模块的核心程序 133.程序说明 144.仿真结果 14(四)分频模块电路设计与实现 141.分频模块的原理 142.分时模块的核心程序分析 143.仿真结果 15(五)选择控制按键状态 15五实验结论与研究展望 17(一)实验结论与总结 17(二)研究与展望 18参考文献 19致谢 19前言现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化技术。随着LED技术领域的发展,LED显示屏已经得到了广泛的应用,如广告媒体、楼宇装饰、交通信息和体育场馆。LED显示控制器的发展前景极为广阔,目前正朝着可靠性、实用性、方便性的方向发展。本设计采用的VerilogHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;在支持结构、数据流、行为三种描述应用中越来越广泛。而FPGA是特殊的开发芯片,它具有设计开发周期短、设计制造成本低、开发工具先进、质量稳定以及可实时在线检测等优点。LED广告牌的滚动显示给人们的生产生活带来了极大的方便,而且大大地扩展了LED广告牌原先的显示功能。诸如按照需要的大小、形状显示,能够自动循环播放等,所有这些,都是以LED广告牌数字化为基础。因此,研究LED广告牌的滚动显示,有着非常现实的意义。一、绪论(一)选题背景当今电子产品正朝着功能多元化,体积最小化,功耗最低化发展。它与传统的电子产品在设计上有着显著区别是大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低。同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,是一门新兴技术,研发周期短。EDA技术正是为了适应现代电子技术的需要,吸收众多学科最新科技成果而形成的[1]。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上最新的QuartusII开发环境,更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑映射,编程下载等工作。最终形成集成电子系统或专用集成芯片的一门新技术[2]。(二)课题研究的意义与必要性微电子技术和计算机技术的飞速发展,使得现代电子系统的设计和应用进入了一个全新的时代。数字化是当今社会的主要特征之一。高性能但结构简单的电子技术产品已经成为了市场的主体。现在是一个知识爆炸的新时代,新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说越来越宝贵。因此,LED广告牌的滚动显示给人们带来了极大的方便,能够提高人们的工作效率,节约时间,同时LED显示控制器能够昼夜进行动态画面显示,效果比静止画面广告牌大幅提高。随着社会文化的不断发展,人们的消费标准不断改变,LED滚动广告更是扮演着越来越重要的宣传角色,不论是汽车站,火车站,股市交易市场,还是学校都离不开它,然而传统的LED显示广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的LED显示广告急待改进。提出基于FPGA的LED显示控制器设计的新方案能很好的解决这个问题,实现对广告牌内容及显示方式的灵活改变,使用非常方便,,具有很好的现实必要性和较高的性能价格比[4]。(三)选题研究的内容本设计主要研究基于FPGA的LED显示控制器,要求能够根据现实的需要自动循环播放广告。因此,设计的主要任务就是完成一个可以设定数字的滚动显示。任务要求:能显示设定的数字;能实现设定数字在LED上的循环移动。利用VerilogHDL语言完成部分模块的设计,利用QuartusⅡ实现输入输出波形的仿真,并验证设计的正确性。
二、开发平台及开发工具(一)FPGA概述FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,与之相对应的CPLD是复杂可编程逻辑器件(ComplexProgrammableLogicDevice)的简称,两者的基本功能相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/PGFA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLD/PGFA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLD/PGFA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言VerilogHDL的进步。FPGA的集成度一般都非常高,可以完成极其复杂的时序与组合逻辑电路功能,适应高速、高密度的高端数字逻辑电路设计领域[5]。(二)QuartusⅡ开发工具从上面的FPGA开发流程介绍中可以知道,FPGA开发主要是电路设计与仿真的过程。电路的逻辑设计主要在QuartusⅡ集成开发工具上实现。QuartusⅡ是ALTERA公司在21世纪初推出的,它是一个集设计输入工具、综合工具、仿真工具、实现与优化工具、后端辅助工具和验证调试工具于一身的系统集成开发环境。在这个平台下,可以轻松地完成从系统设计电路构思至加载配置、在线调试等一系列的工作。同时,它还提供非常友好的与当前主流第三方EDA软件的接口。使用QuartusⅡ,设计者无需精通器件内部的复杂结构,只需要运用自己熟悉的输入工具(如原理图输入或高级行为语言)进行设计,通过QuartusⅡ把这些设计转换成最终结构所需要的格式。由于有关结构的详细知识已装入开发工具,因此设计速度非常快。设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。QuartusⅡ设计软件具有先进的功能,它可以提高系统性能,扩展系统功能,轻松处理潜在的设计延时,实现布局布线之后的设计改变等。它拥有现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)设计的所有阶段的解决方案[7]。(三)VerilogHDL硬件描述语言介绍VerilogHDL语言最初是于1983年由GatewayDesignAutomation公司为其模拟器产品开发的硬件建模语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的数字电子系统之间。数字系统能够按层次描述,并可在相同描述这种显示进行时序建模,是目前应用最广泛地一种硬件描述语言[9]。VerilogHDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义,它还从C编程语言中继承了多种操作符和结构;不仅可以作为ASIC和FPGA的综合代码,可以描述系统的结构,做高层次的仿真。语法/结构比较严格,因而编写出的模块风格比较清晰,比较适合有较多的设计人员完成的特大型项目[10]。VerilogHDL语言具有以下特点:①能形式化地抽象表示电路的行为和结构,支持逻辑设计中层次与范围描述;②可借用高级语言的精巧结构来简化电路行为的描述;③具有电路仿真与验证机制以保证设计的正确性;④支持电路描述有高层到底层的的综合转换硬件描述与实现工艺无关;⑤便于文档管理,易于理解和设计重用。
三LED显示控制器的总体设计方案与分析(一)LED显示的控制原理LED显示的控制系统需要与其驱动电路相配合。LED的结构、驱动电路的驱动方式,直接关系到FPGA内部如何进行数据转换,因为从FPGA中送出来的驱动数据必须符合LED的驱动需求,才能正确地点亮LED。1.LED点阵显示模块结构八十年代出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高度发光二级管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长,耐湿、耐冷热等特点。图3-1为最常见的LED点阵显示器的内部电路结构和外型:图3-1LED点阵内部电路结构和外形LED显示模块根据驱动方式不同,可以分为共用阴极和共用阳极两种。如果LED显示模块为共阴方式驱动,则模块中的一行发光管在显示时阴极都接低电平,此时若在某个发光管阳极上输入一个高电平,则发光管导通发光;若在某个发光管阳极上输入一个低电平,则发光管不导通,这样通过在一行发光管阳极上的输入电平就能控制该行LED的亮与灭。共阳驱动与共阴驱动相反,模块中的一行发光管在显示时阳极都接高电平,若阴极输入低电平则发光管导通发光,输入高电平在发光管不导通。实际应用中,共阴驱动和共阳驱动都被广泛的使用[11]。单个的LED的电路如下图3-2所示:图3-2单个LED电路由上图可知,对于单个LED的电路图当Rn输入一个高电平,同时Cn输入一个低电平时,电路形成一个回路,LED发光。也就是LED点阵对应的这个点被点亮。信号传输、输入输出接口等各种电路和显示单元共同安装在一块印刷电路板上,形成一块独立的、可级联和互换的LED基本模块,这就是一个LED小模块。通过在LED显示模块各列上输入不同电平的信号,来控制LED显示模块上各个像素点的点亮与否。一个大的LED屏是有若干个小的LED屏组合而成。LED点阵显示器单块使用时,既可以代替数码管显示数字,也可显示各种中西文字及符号,还可以用于简单图形显示。用多块点阵显示器组合则可构成大屏幕的广告牌[12]。2.LED点阵的动态显示原理LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,在实际应用中一般采用动态显示方式。动态显示由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可以显示各种图形或文字信息。在上述的LED点阵模块中,若在某行线上施加高电平,在某列线上施加低电平,则行线和列线的交叉点处的LED就会有电流通过而发光。在实现LED点阵显示的基础上用循环控制信号进行循环控制,从而实现LED的滚动显示。本设计实现的是“毕业设计”四个汉字在LED点阵上的循环显示,其中循环显示部分原理图如下图3-3所示:图3-3循环显示部分原理图(二)LED显示控制器的构成LED显示控制器实际上是一个对LED点阵进行循环显示的电路。该电路主要包括控制电路和显示电路。其中的控制逻辑电路是比较灵活多样,不断完善它可以增强LED显示控制器的功能。本设计是在QuartusⅡ的开发环境下,用VHDL语言来对它进行设计,实现两大功能模块:①控制模块,进行对显示部分的控制以及显示部分的数据传送,包含多个控制信号:循环控制信号和清屏信号,用来控制LED点阵的循环显示。②显示模块,通过从控制部接受数据、控制LED点阵的输出,用产生LED的片选信号,并实现LED点阵的输出。(三)LED显示控制器的工作原理通过按键控制LED点阵显示的开始与停止。同时通过分频器产生的高频脉冲信号,作为LED广告牌显示的开始,然后经过分频器输出标准时钟脉冲信号。在循环模块中能够通过一个循环控制信号来控制四个显示子模块,该信号由一个计数器来实现。开始时,计数器为0,每显示一次计数器加1,到计数器为3时在清零,从而实现LED点阵的循环显示。整个设计的程序流程图如下图3-4所示:图3-4整体设计程序流程图
四单元电路设计本设计的基本要求是控制8个LED进行花式显示,设计四种显示模式:①在LED点阵上显示汉字“毕”②在LED点阵上显示汉字“业”③在LED点阵上显示汉字“设”④在LED点阵上显示汉字“计”四种模式循环切换,由复位键res控制系统的运行与停止。本设计采用以下几个基本模块来实现所需要设计的要求。其图如下图4-1所示:显示4linerow显示3linerow显示2显示4linerow显示3linerow显示2linerow显示1linerow分clk频fs开关按键key循环显示控制kzdisplay=b’00display=b’01display=b’11display=b’10clkres图4-1设计模块流程图(一)顶层模块设计与实现1.顶层设计模块的实现原理该模块是通过在一个主程序中调用几个子模块的程序来实现的。VerilogHDL的子程序是被主程序调用后处理结果返回给主程序的模块,可以在结构体或程序包的任何位置对子程序进行调用。从硬件角度看,一个子程序的调用类似于一个元件模块的例化,即VerilogHDL综合器为子程序的每一次调用都生成一个电路逻辑模块,不同的是元件的例化将产生一个新的设计层次,而子程序的调用只对应当前层次的一个部分。VerilogHDL中的子程序在每次调用时均重新进行初始化,其内部变量的值不能保持,执行结束后子程序及终止,且之程序不可重入。VerilogHDL子程序具有可重载性,即允许有许多重名的子程序,但这些子程序的参数类型和返回值数据类型是不同的。2.顶层模块的程序moduleverilog(clk,key,line,row);inputclk; inputkey; output[7:0]line,row; wirefs; wire[1:0]display; wirelinerow; fenpinfen(clk,clk_fp); xunhuankongzhi(kz,key,clk,display);print1(clk_fp,display,line,row); print2(clk_fp,display,line,row);print3(clk_fp,display,line,row);print4(clk_fp,display,line,row);endmodule3.仿真结果该模块仿真结果如下图4-2所示:图4-2顶层模块仿真波形图(二)总循环控制模块的设计与实现本设计中除了要实现四种模式的花式的单个显示外,还要通过一个总的循环控制信号来实现四个显示子模块的切换,从而达到本次设计的最终目,LED广告牌的滚动显示。1.总循环显示控制模块的原理该模块是通过一个循环控制计数器来选择四个显示子模块的。当按下按键时,开始从第一汉字“毕”开始显示,然后通过循环控制计数器自加,从而为下一个汉字的显示输出做准备。当控制计数器加到3时,将计数器清零,回到第一个汉字的输出;依此类推,不断循环输出“毕业设计”四个汉字,知道再次按下按键时停止[13]。2.总循环显示控制模块的核心程序modulexunhuankongzhi(key,clk,display);inputclk;inputkey;output[1:0]display;reg[1:0]display;regkz,kz1;always@(posedgeclk)begin if(key==0) begin if(kz1==0)beginif(kz>3)beginkz<=0;endelsebegincase(kz)2'b00:begindisplay<=2'b00;end 2'b01:begindisplay<=2'b01;end 2'b10:begindisplay<=2'b10;end 2'b11:begindisplay<=2'b11;enddefault:;endcase kz<=kz+1; end kz1<=1; endelsekz1<=0;endendmodule(三)显示模块设计与实现此模块下有四个显示模式:在LED点阵上显示汉字毕,在LED点阵上显示汉字业,在LED点阵上显示汉字设,在LED点阵上显示汉字计。当从外界通过按键控制其开始显示时,这四种模式得循环显示,直到遇到外界输入的控制信号才停止[14]。在显示模块这个大模块下又分出四个小的显示模块,分别控制四种不同的输出模式。在四个子模块中用到了wire类型变量。因为在这部分的设计中,我们需要几个模块的并行以实现模块与模块之间的信号连接,所以定义为线型,这样才能实现数据在寄存器之间的流动[15]。1.各显示子模块的原理在点阵上显示一定有字符是根据其字符在点阵上的显示的点的亮灭来表示的,只要将被汉字所覆盖的区域的点点亮,则在点阵中就会显示一个汉字。当我们选中第一列后,根据要显示汉字的第一列中所需要被点亮的点对应的Rn置为高电平,则在第一列中需要被点亮的就会被点亮。依此类推,显示第二列、第三列...第N列中需要被点亮的点。然后根据人眼的视觉原理,将每一列显示的点的间隔时间设为一定的值,那么我们就会感觉显示一个完整的不闪烁的汉字。同时也可以按照这个原理来显示其他汉字。在此模块下的各种模式输出主要通过case语句来实现,通过case语句中的选择变量来确定各模式下需要显示的点。与有限条件的列举式IF语句不同的是:case语句不存在优先级的问题,由于条件表达式的输出值只有一种可能,而选择值中不允许出现重复,所以不会出现同时满足多个选择值的情况,case语句中when引导的语句的排列顺序与程序运行先后顺序没有任何关系。从这一点来看,case语句有一定的并行语句的特征。一般来讲,同样的逻辑功能,case语句综合后,比IF语句消耗更多的芯片资源。因此,在本次设计中采用case语句能很方便的实现所需显示的LED点阵上的点,从而简化了程序编写的复杂性。在case语句块中,通过循环控制变量,来逐个选择所需要显示的点的case语句,从而实现各个子模块中的LED点阵汉字的显示。当总的循环控制信号变量的值为0,1,2,3时,分别选择输出四个子模块。当变量display的值为3时将其清零,从而实现LED点阵的循环显示。2.显示子模块的核心程序moduleprint1(clk_fp,display,line,row);inputclk_fp;input[1:0]display;output[7:0]line,row;reg [7:0]line,row;reg[3:0]r;always@(posedgeclk_fp)begin case(display) 2'b00:begin case(r) 4'b0000:beginline<=8'b00000001;row<=8'b10000001;end 4'b0001:beginline<=8'b00000010;row<=8'b01111110;end 4'b0010:beginline<=8'b00000100;row<=8'b01001010;end 4'b0011:beginline<=8'b00001000;row<=8'b00111110;end 4'b0100:beginline<=8'b00010000;row<=8'b00111110;end 4'b0101:beginline<=8'b00100000;row<=8'b01001010;end 4'b0110:beginline<=8'b01000000;row<=8'b01111110;end 4'b0111:beginline<=8'b10000000;row<=8'b10000001;end default:; endcase r<=r+4'b0001; if(r==4'b0111)r<=4'b0000; end default:beginline<=8'b00000000;row<=8'b00000000;end endcaseendendmodule3.程序说明上述程序是显示子模块中的一个模块,其他三个模块的实现与上述模块很类似,这个模块是本次设计的重点。在系统时钟的作用下,首先选取其中的一列,将数据输入让这列的LED显示数据(当为高电平时LED发光,否则不发光)。然后选取下一列来显示下一列的数据。在实际的运用中,要显示多个图形时,这些数据可以根据一定的规则存放到存储器中,当要显示这些图形时只要将这些数据取出显示即可。本设计的示例程序所要显示的是四种模式的循环,数据不大,所以没有放入存储器中,而在程序中直接输入对应的数据。4.仿真结果该模块仿真结果如下图4-3所示:图4-3显示子模块仿真波形图(四)分频模块电路设计与实现1.分频模块的原理在数字电路设计中,分频逻辑是最常用的逻辑之一。分频器是FPGA设计中使用频率非常高的基本设计之一,其设计方式有很多种。尽管在目前大部分设计中,广泛使用芯片厂家集成的锁相环资源来进行时钟的分频,倍频及相移。对于本设计而言,对时钟精度要求并不高,因此采用通过语言进行时钟分频相移。在时钟的分频设计上不需要太复杂的逻辑,只需要设计一个计数器。当需要将系统时钟分任意频率时,只需改变计数器就可以。clk为时钟输入信号,来源于全局时钟信号10MHzd外部时钟输入,clk_fp时钟输出信号,经过分频后输出1kHz的时钟信号用于数码管的动态显示。2.分时模块的核心程序分析modulefenpin(clk,clk_fp);inputclk;outputclk_fp;regclk_fp;integeri;always@(posedgeclk)begin if(i==9999999) begin clk_fp=~clk_fp; i=0; end else i=i+1; endendmodule3.仿真结果分时模块仿真结果如下图4-4所示:图4-4分时模块仿真波形图(五)选择控制按键状态在输出显示模块,通过按键,在高低电平之间切换,从而控制LED点阵的显示与否。当delay为低电平时才开始从预先设定好的模式开始显示,知道再次按下按键时,才停止输出,显示停止。但由于我们使用的按键开关为机械弹性开关,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5ms-10ms。通常采用软件延时的方法:在第一次检测到有按键按下时,执行一段延时10ms的子程序,再确认电平是否仍保持低电平,如果仍保持低电平,则确认真正有按键按下,进行相应处理工作,消除了抖动的影响。消抖核心程序如下所示:if(key1==0)begin if(k1k==0) begin k1=k1+2'b01; end k1k=1; end else k1k=0;五实验结论与研究展望(一)实验结论与总结FPGA的出现和应用,不仅大大地推动了微电子技术的发展,全面地提高了计算机等数字系统的性能,而且对电路器件用电路系统的构成与设计方法也产生了越来越大的影响。它不仅可以代替传统的数字集成电路,而且还可以代替一般的PLD器件和半定制的ASIC,特别适用于复杂系统的设计。进入20世纪90年代中后期,FPGA已成为半导体集成电路中销售量增长最快的部分。将设计程序下载到实验箱上运行调试后,最终仿真结果与预期效果基本一致,基本实现了LED点阵广告牌的滚动显示。在这次的LED显示控制器的设计过程中,我更进一步地熟悉了有关数字电路的知识和具体应用,学会了利用QuartusⅡ软件进行原理图的绘制,用硬件描述语言VerilogHDL语言编写程序及其仿真工作。并能根据仿真结果分析设计中存在的问题和缺陷,从而进行程序的调试和完善。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如在对具体模块的仿真的过程中,往往没有考虑到整体设计的层面以及与上下模块接口的设计。再加上器件对信号的延时等问题,实际上下载到试验箱上后会出现一系列的问题,因此仿真图和电路连接图还是有一定区别的。此次的LED广告牌的滚动设计重在于LED显示的循环控制和各个显示模块代码的编写,虽然能把各个模块的代码编写出来,并能正常显示,但对于各个模块的优化设计还有一定的缺陷和不足。总的来说,通过这次的设计实验更进一步地增强了实验的动手能力,对LED滚动显示的工作原理也有了更加透彻的理解和认识,并通过VerilogHDL语言实现功能仿真。具体研究如下:①了解FPGA的发展与其内部的系统构造,为顺利使用FPGA打一基础。②理解基于FPGA的LED显示装置控制板的系统结构,输入输出接口与信号,并画出系统时序图与模式图。③在系统设计上,采用模块化的设计思想,将LED显示控制板分为多个模块,用VerilogHDL语言进行设计,在每个模块验证设计正确后,再综合起来仿真验证。这样做的好处是令设计思路更清晰,模块功能分配更细致,更重要的是单独的模块设计出现问题时,方便检查修改。④在这次设计设计过程中,通过学习和实践,基本掌握了VerilogHDL这门硬件描述语言,了解了EDA的设计流程,学会了常用EDA工具的使用,系统地学习了LED点阵显示的设计与实现方法。在本设计调试过程中遇到的一些问题如下:①用编写完的程序进行仿真后,所得结果与预期结果不一致,计数器不工作,经分析得知程序中的总的清零信号总保持有效状态,改动程序后计数器开始计数。②显示模块中的循环控制信号出现错误,无法实现LED点阵的循环显示,只能在LED点阵上显示固定的点。经检查发现与循环控制有关的计数器到59时仍一直加计数,这是由于循环控制信号在计数器为59时一直有效,改动程序后,该模块运行正常。③显示模块显示出的结果不是自己想要的,检查程序后发现,显示输出的管脚配置部分出现错误,在与LED点阵图的管脚进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 年中考数学押题预测卷解析版(江苏苏州卷)
- 二次供水消毒检测规程
- 气动系统伤人应急演练脚本
- 一例急腹症患者的护理个案
- 餐饮采购经理岗位职责说明书(共4篇)
- 胸主动脉夹层术后护理个案
- 工程延期审批制度(完整版)
- 2026年马鞍山市金家庄区网格员招聘笔试参考试题及答案解析
- 高中地理 卢陈莉 教学必修一 44自然灾害与与人类
- 2025年惠州市惠阳区网格员招聘考试试题及答案解析
- GJB2489A2023航空机载设备履历本及产品合格证编制要求
- 监理单位工程竣工质量评估报告(广西)
- 2025年淄博艺术中考试题及答案
- 2025年二手生产线买卖合同
- 钢结构工程施工安全应急预案
- 山东鲁信科技股份有限公司招聘笔试题库2024
- 人工智能在物业管理中的应用
- 矿山项目土地复垦方案报告书模板
- 全员生产设备管理PTM
- 保险公司励志课梦想再起航教学课件
- GB/T 25162.2-2010包装袋跌落试验第2部分:热塑性软质薄膜袋
评论
0/150
提交评论