基于fpga的led点阵控制器完整论文内容摘要:
过一根下载线(如 ByteBlasterII) 来下载程序 ,这种模式特别方便、简单。 但它的缺点就是不能掉电保存程序。 因此限制了其商业化的目的。 主动和被动模式都使用外部存储器来存放配置数据,达到掉电保存配置数据的目的。 在专用的配置芯片较贵时,普遍采用被动方式来配置,即采用微处理器和一片大容量的 ROM 来代替专用芯片,但是必须自己编写程序来模仿下载时序对芯片进行配置,比较烦琐。 但就目前飓风芯片的配置芯片 EPCS1 价格便宜,因此本系统采用 EPCS1 的主动配置模式。 经实验表明,使用 EPCS1 主动配置模 式方便,电路板面积小,比较经济。 CycloneTM 系列芯片概述 CycloneTM 是现场可编程门阵列逻辑系列是基于 、 、所有铜布线的SRAM工艺,最大达到 20, 060个逻辑单元和高达 288Kbits 的 RAM,并含有一个或两个锁相环( PLLs),一个双数据率( DDR)接口来满足 DDR SDRAM的需要,一个快速 RAM 存储器。 Cyclone芯片是一种有很高成本效益的数据传输应用,它支持多种 I/O 标准,包括 LVDS的达到 640Mbps传输率,支持 33MHz到 66MHz的 32位到 64位的 PCI接口,支持 ASSP和 ASIC芯片的接口。 同时 Altera 公司提供了一个新的低价位的串行天津职业技术师范大学 2020届本科生毕业设计(论文) 14 配置芯片 EPCS1N来配置 Cyclone芯片。 芯片特点: 2, 910到 20, 060个逻辑单元,具体如下表所示。 最大达到 294, 912个 RAM位( 36, 864字节) 支持低价位的串行配置芯片 支持 LVTTL, LVCMOS, SSTL2 和 SSTL3的 I/O 标准 支持 33到 66MHz的 32到 64位的 PCI标准 支持高速 LVDS I/O( 640Mbps) 支持高速 LVDS I/O( 311Mbps) 支持 311Mbps 的 RSDS I/O 最多的一个芯片中含有两个锁相环提供时钟相乘和移相 行逻辑阵列块( LAB)最大的含有 8个全局时钟线和 6个时钟源 支持外部存储器,如 DDR SDRAM( 133MHz) ,FCRAM和单数据率RAM SDRAM 支持多 IP核包括 Altera MegaCores 函数和 Altera MegaFunctions 合伙人的程序 Cyclone 飓风系列芯片资源总汇如表 35 所示: 表 35 Cyclone 飓风系列芯片资源总汇 在本系统里,采用 EP1C3114C8N 芯片。 M4K 模块介绍 特点 EP1C3 EP1C4 EP1C6 EP1C12 EP1C20 逻辑单元( Les) 2, 910 4, 000 5, 980 12, 060 20, 060 M4K RAM 块( 128x36 位) 13 17 20 52 64 RAM 总位数 59, 904 78, 336 92, 160 239, 616 294, 912 锁相环 1 2 2 2 2 最大用户 I/O口 104 301 185 249 301 天津职业技术师范大学 2020届本科生毕业设计(论文) 15 CycloneTM、 Stritix TM、 Stritix Ⅱ和 Stritix GX 系列芯片都提供了一个异步、双端口、带寄存器的输入口,可选择的带寄存器输出口的存储模块。 M4K 模块 图 38 M4K RAM 块 LAB 行接口 对存储处理器代码、执行查找表目的和执行大存储器应用是很有用的。 每一块 M4K 块是一个 128x36 的 RAM 块,它包含 4608 个可编程位,并包含有奇偶校验位。 M4K模块可以被设计成双端口 RAM、单端口 RAM, FIFO 缓冲器,或者是 ROM,同时当你在设计存储器时也可使用存储器初始化文件( .mif)或者是十六进制文件( .hex)来对存储器进行初始化。 图 38 给出了 M4K 的 LAB 连接图。 M4K 存储模块可被设计成表 36 中任何形式大小的存储器。 表 36 M4K 存储模块 本系统正是利用了飓风芯片的这个特点,将单片机传送到 FPGA的字模数据存储在由 M4K 做成的 RAM 单元中,这样取消了外挂 8K RAM 的步骤,同时也提高了系统的稳定性。 操作模式 M4K 存储模块大小 单端口 RAM 或 ROM 128x36 256x18 512x9 1024x4 2048x2 4096x1 双端口 RAM 写 x M /读 x N W x Y/ R x Z M,N = 1,2,4,8,.16 ,32 真正的双端口 RAM 端口 A X M /端口 B X N3 A x Y /B x Z3 M,N = 1,2,4,6,16 ( M≥ N ) Y Z= 9,18 ( Y ≥ Z ) 天津职业技术师范大学 2020届本科生毕业设计(论文) 16 cyclone 锁相环( PLLs) Cyclone PLLs 提供两个通用的锁相环( PLLs) ,它为多时钟和相位移动以及在不同的 I/O输出不同频率的情况提供了保证。 其内部结构如下图 39: 图 39 锁相环结构图 注意: 1. PLL1 支持一个经 CLK0和 CLK1的单端或 LVDS 输入 2. PLL2 支持一个经 CLK2和 CLK3的单端或 LVDS 输入 3. PLL1_OUT 和 PLL2_OUT 支持单端或 LVDS输出,如果不需要外部输出,那么这些引脚可作为一般的 I/O 口使用 4. 100引脚的 EP1C3 芯片 TQFP封装的不支持外部时钟输出, 144引脚的EP1C6芯片 TQFP 封装的 PLL2不支持外部时钟输出。 本系统使用 PLL1来对外部输入的时钟进行分频,取的了比外部计数芯片分频更好的效果。 系统硬件模块电路设计 系统总的工作原理 本系统采用单个 16 80LED 点阵逐列左移(或右移)显示汉字或字符,需显示汉字或符号的 16 80 点阵字模已经存放在 单片机 中。 显示控制器由复杂可编程逻辑器件 ( FPGA) EP1C3T144C8N 来实现,系统组成原理框图如图 310 所示。 系统原理是 PLD 控制模块首先产生点阵字模地址,并从存储器读出数据存放在16 位寄存器中,然后输出到 LED 点阵的列,同时对点阵列循环扫描以动 态显示数据,当需要显示数据字模的列和被选中的列能够协调配合起来,就可以正确显示汉字或符号。 天津职业技术师范大学 2020届本科生毕业设计(论文) 17 单 片 机双 色L E D显 示 屏读 写 控 制 线H D BC L KG D BG C L KR D BR C L K时 钟 线数 据 线P L D 控 制 器E P 1 C 3 T 1 4 4 C 8 N 图 310 总的系统框图 控制器设计及工作原理 从框图中可以看出,系统的关键在于控制器的设计。 LED 点阵显示数据地址的产生、点阵列扫描和需显示数据的配合以及点阵显示方式控制的实现都必须由控制器来实现。 对单个 16 16LED 点阵显示控制器进行设计的顶层逻辑原理图如图 311 所示。 图 311 顶层逻辑原理图 原理图中包含 5个模块,其中 sequ模块产生读信 号 RDN和 10位地址线 ( AD[9..0])中的最低位地址 AD0, AD0 和其它模块产生的地址配合,通过 8 位数据线( DATA[7..0])从存储器读出列高字节( AD0=1 时)和低字节( AD0=0 时),由于天津职业技术师范大学 2020届本科生毕业设计(论文) 18 16 16 点阵字模数据为 32 个字节,每列含两个字节即 16 位,它由 HOUT[7..0]和LOUT[7..0] 来构成;模块 add16 由 adclk 提供一个慢时钟构成 16 进制计数器,它的输出送给 addr16 模块,为变模计数器 addr16 提供一个模,通过模的规律变化以控制点阵按照左移或右移等显示方式进行显 示;模块 decode4_16 是一个 4— 16 译码器,其输出 ROUT[15..0]连接到 LED 点阵的列,可选中 16 16LED 点阵的某列,并显示sequ 模块输出的点阵高低字节(字模)数据;模块 addr16 为点阵显示控制的核心,为了实现点阵汉字从右到左逐列移动显示,它由 add16 模块提供的模,在 addr16 内部构成两个变模计数器,其中一个用来产生读字模数据的地址 AD[4..1],另外一个 产生 16 16LED 点阵列扫描选择地址 SUABAD[3..0],列扫描选择地址由 decode4_16译码后输出;模块 addr1 为 字选择计数器,其输出可以控制多块 LED 显示器的显示及 其显示方式。 天津职业技术师范大学 2020届本科生毕业设计(论文) 19 4 系统软件设计 Ⅱ 简介 Altera公司的 Quartus Ⅱ 编程软件提供了很多的设计优点和一个友好的可编程片上系统设计,它支持的 Altera 公司的大部分 CPLD 及 FPGA芯片,包括最新的Stratix™, Stratix GX, 和 Cyclone™系列芯片,使用 Quartus Ⅱ 可以降低设计和校验周期而提高设计效率。 它与 MAX+PLUS Ⅱ相比增加了许多的功 能 ,含有许多更具特色和更强的实用功能,大致有以下几点。 QuartusⅡ 与 MATLAB/Simulink 和 Altera 的 DSP Builder,以及第三方的综合器和仿真器相结合,用于开发 DSP 硬件系统。 DSP Builder 就是 Altera公司推出的一个面向 DSP开发的系统级工具。 它是作为 Matlab的一个 Simulink 工具箱( Tool Box)出现的。 DSP Builder 作为 Simulink 中的一个工具箱,使得用 FPGA 设计 DSP 系统完全可以通过 Simulink 的图形化界面进行,只要简单地进行 DSP Builder 工具箱中的模块调用即可。 DSP Builder 中的 DSP 基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解 FPGA 本身和硬件描述语言。 Quartus II含实时调试工具、嵌入式逻辑分析仪 Signal Tap II。 随着逻辑设计复杂性的不断增加,在计算机上以软件方式的仿真测试变得更加耗费时间,而不断需要重复进行的硬件系统的测试同样变得更为困难。 为了解决这些问题,设计者可以将一种高效的硬件实时测试手段和传统的系统测试方法相结合来完成,这就是嵌 入式逻辑分析仪 Signal Tap II 的使用。 它可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内设计者感兴趣的信号节点处的信号,而又不影响原硬件系统的正常工作。 可以通过两种方式来使用 Signal TapⅡ。 一种是直接使用 QuartusⅡ 中的 Signal TapⅡ;另一种方式是通过 MATLAB 的 Simulink 和 DSP Builder 来使用 Signal TapⅡ。 DSP Builder 中包含有 Signal TapⅡ模块,设计者可以使用此模块设置用于信号探察的事件触发器,配置存储器,并能显示波形。 这可以使用 Node 模块来选择有待监测的信号。 使用 Signal TapⅡ后,当触发器运行后,通常要占用部分内部 RAM,因为在实际监测中,将测得的样本信号暂存于目标器件中的嵌入式 RAM(如 ESB)中,然后通过器件的 JTAG 端口和 Byte BlasterⅡ下载线将采得的信息传出,送于 PC 机进行分析。 PC 机中送达的数据是以文本文件的方式存储的,并可在Simulink 图上显示波形。 Quartus II 含有逻辑锁定功能,即 Logic Lock 技术,使模块化设计达到最优化天津职业技术师范大学 2020届本科生毕业设计(论文) 20 的设计效果。 在设计中有时候会碰到这样的情况 ,原来在硬件测试上十分成功的 FPGA 设计模块,结果在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综合适配后,原设计的硬件性能大为下降,如速度降低了,有时甚至无法正常工作。 这表明,即使对原设计作很小的改变,都会使适配器对原设计的布线( routing)和布局( placing)策略作大幅改变和调整,而人很难直接介入布线 /布局的优化。 对于由许多基本电路模块构建成的顶层系统的 FPGA 开发,类似的问题将更加突出。 例如,原来某一基本模块的 FPGA 硬件测试十分成功,包括工作性能、速度以及资源利用率等,但当将这。基于fpga的led点阵控制器完整论文
相关推荐
EPROM、 PROM编程器即可。 由于配置时间很短,因而不会影响系统正常工作。 当然也有少数 FPGA 采用反熔丝或 FLASH 工艺,对这种 FPGA 就不需要外加专用的配置芯片了。 这样,同一片 PFGA,不同的编程数据可以产生不同的电路功能。 因此, FPGA 的使用非常灵活 [8]。 随着的不断发展以及用户需求的不断提出, FPGA 的技术也在不断地发展。
end if。 end if。 disp=’1’。 elsif stop=’1’ and ok=’1’then down counting if a_sec=0 then if a_min=0 then if a_hour=0 then index=’1’。 disp=’0’。 else a_hour=a_hour 1。 a_min=59。 a_sec=59。
且读写速率也达不到工作时钟的频率。 sdram控制器的作用就是将 sdram存储器的初始化、刷新、地址转换、数据读取等操作封装起来,让使用者将其看成系统黑盒,读数直接按地址访问,写数直接往目的地址赋值即可。 Xilinx提供了 sdr sdram控制器的 IP Core,在 XPS中,直接将其添加到 OPB 总线上即可。 sdr sdram控制器的内部结构以及与 OPB 总线的接口如图 912
e II、 Stratix II 系列、 Stratix GX 系列等。 支持 IP 核,包含了 LPM/Mega Function 宏功能模块库,用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。 此外, Quartus II 通过和 DSP Builder 工具与Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统(
NT LCALL LOOK_ALARM JB K3,$ LCALL BEEP_BL JMP PROC_K2 PROC_K1: JB K2,PROC_END LCALL BEEP_BL JNB K2,$ MOV DPTR,RST_A1 MOV A,1 LCALL LCD_PRINT LCALL SET_ALARM LCALL RE_18B20。 将设定的 TH,TL 值写入 DS18B20
为距离 4+边 2,4 的长度 距离 2,所以不更新 ) 医院 1 已 标号 距离 0 医院 2 未标号 距离 ∞ 医院 3 已 标号 距离 4 医院 4 未标号 距离 9 12 4 5 6 医院 1 已 标号 距离 0 医院 2 未标号 距离 ∞ 医院 3 未标号 距离 4 医院 4 未标号 距离 ∞ 12 4 5 6 10 找所 有未标号中距离最短的顶点为 医院 2,将 2做标号 ,已没有与