1 引言
在大规模可编程逻辑器件出现以前,把器件焊接在电路板上是设计数字系统的最后一步。当设计存在问题并解决后,设计者往往不得不重新设计印制电路板。设计周期长,设计效率低。CPLD 、FPGA出现后,利用其在系统可编程或可重配置功能,设计者可以在进行逻辑设计而未进行电路设计时就把CPLD、FPGA焊接在电路板上,然后在设计调试时可一次次随心所欲的改变电路的硬件逻辑关系,而不用改变电路板的结构。
2基于SRAM的FPGA的结构和原理
可编程逻辑器件从结构上可分为:
⑴ 乘积项结构器件。其基本结构是〝与-或阵列〞的器件,大部分简单PLD和CPLD多是这种器件。
⑵ 查找表结构器件。由简单的查找表组成可编程门,再构成阵列形式。大部分FPGA
器件都采用基于SRAM的查找表结构。如XILINX的XC4000系列﹑SPATRAN系列,ALTERA的
FLEX10K 系列﹑ACEX系列都是基于SRAM查找表的典型FPGA器件。查找表(LUT)是一种函数发生器,一个N输入查找表能实现N个输入变量的任何逻辑功能。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成有4位地址线的16×1bit的RAM。当用户通过GDF原理图或VHDL语言描述了一个逻辑电路后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把结果事先存入查找表。这样,当多个信号进行逻辑运算时就等于输入一个地址进行查表,找出地址所对应的内容,然后将其输出即可。
3 FPGA的配置原理
FPGA使用SRAM单元来保存配置数据。这些配置数据决定了FPGA内部的互连关系和逻辑功能,改变这些数据,也就改变了器件的逻辑功能。由于SRAM 的数据是易失的,因此这些数据必须保存在FPGA器件以外的EPROM、EEPROM或FLASH ROM等非易失存储器内,以便使系统在适当的时候将其下载到FPGA的SRAM单元中,从而实现在系统可重配置ICR(In-Circuit Reconfigurability)。ALTERA公司的FPGA有两种配置下载方式:主动方式(AS)与被动方式(PS)。在实验系统中,通常用计算机或控制器进行调试,可采用被动方式。将在FPGA集成开发环境(如QUARTUSII)下经编译﹑仿真后形成的编程文件用下载电缆下载到FPGA中,进行硬件调试与验证。电路设计成功后,将配置数据烧写固化在一个由ALTERA生产的专用EEPROM(如EPC1441)中。上电时,由这片配置 EEPROM先对FPAG加载数据,几十毫秒后,FPGA即可正常工作。
ALTERA的FPGA有六种配置模式:配置器件﹑PS(Passive Serial)模式﹑PPS(Passive
Parallel Synchronous)模式﹑PPA(Passive Parallel Asynchronous)模式、PSA(Passive Serial Asynchronous)模式﹑JTAG(Joint Test Action Group)模式。其中,PS模式因FPGA与配置电路的互连最简单,对配置时钟的最小频率没有限制而应用最广泛,因此在ICR控制电路中通常采用PS配置方式来实现ICR功能。FPGA器件有三种工作状态:配置状态,初始化状态,正常工作状态(用户模式)。其时序如图
4 用单片机配置FPGA
目前很多产品都广泛用了FPGA,虽然品种不同,但编程方式几乎都一样:利用专用EPROM
对FPGA进行配置。专用的EPROM价格不便宜,且大都是一次性OPT方式编程。一旦更改FPGA
设计,代价不小。而且在FPGA实际应用中,设计的保密性和可升级性是非常重要的,用单
片机来配置FPGA可以很好的解决上述问题。单片机用PS模式配置FPGA的时序与图1相同。
配置时关键是用单片机产生合适的时序。
4.1 硬件设计
FPGA的配置文件比较大,通常在数十千字节以上。本系统对ALTERA公司的EPF10K20进行配置,其配置文件大小为29KB,因此可采用一片 89C51单片机,外扩展一片27256存储器,存放FPGA配置数据。单片机与FPGA间数据传输采用串行口,电路如图2。单片机上电后,根据系统要求,利用P1.1、 P1.2、 P1.3、 RXD、TXD5个I/O口将存储在27256中的配置数据下载到电路中的FPGA器件中。
表1 配置引脚功能说明
4.2 软件设计
在软件编程时,采用串行口工作方式0:移位寄存器方式。本程序以方式0发送,发送数据从RXD引脚输出,TXD引脚输出同步移位脉冲。当一个字节数据写入发送数据缓冲器SBUF时,启动串行发送。每发送一位二进制数,寄存器右移一位,直到八位二进制数发送结束,置发送中断标志TI。CPU响应中断,执行中断服务程序。重复测试CONFIG_DOWN,直到CONGIG_DOWN为高电平配置结束。此后在经初始化,FPGA才能进入用户工作状态。
图3 主程序流程图
参考文献:
[1] 胡乾斌,李光斌,李玲等。 单片微型计算机原理与应用.武汉:华中科技大学出版社,2002
[2] 潘松,黄继业。EDA技术实用教程.北京:科学出版社,2004
[3] 刘晓明。王军,谢明钦。基于单片机的复杂可编程逻辑器件快速配置方法.电子技术应用
关键字:现场可编程门阵列 静态随机存储器 查找表 被动串行
引用地址:
基于单片机的现场可编程门阵列的配置
推荐阅读最新更新时间:2024-03-16 12:55
ADI将在Avnet X-fest 2014期间带领设计师驶入快车道
北京2014年9月10日电 /美通社/ -- Analog Devices, Inc. (NASDAQ:ADI) 全球领先的高性能信号处理解决方案供应商,将参加Avnet公司举办的 X-fest 2014技术培训活动,演示面向与 Xilinx 公司 FPGA(现场可编程门阵列)兼容的 软件定义无线电(SDR) 、 GSPS数据采集解决方案和射频信号处理组件 的快速原型制作平台。X-fest是一系列免费的全日培训研讨会,面向有意了解如何将现实解决方案与基于 Xilinx 的FPGA设计平台集成起来的嵌入式系统工程师而开设。 作为 X-fest 2014的白金赞助商,ADI 将与 Xilinx 公司和 MathWorks 公
[嵌入式]
ARM发表RealView 3.1版开发套件为嵌入式系统设计带来低风险的软件开发方案
新版软件支持全系列ARM处理器为开发业者带来大幅改进的效能与易用性 ARM于日前在美国加州举办的嵌入式系统研讨会中,发表RealView Development Suite 3.1版(RVDS 3.1)开发套件,针对全系列ARM 处理器持续提供顶级整合式工具,协助客户开发各种嵌入式系统软件。 RVDS 3.1开发套件大幅提升效能,不仅针对ARM处理器的支持进行调校设计,更针对全系列Cortex 处理器进行完善的最佳化,其中包括日前甫发表的Cortex-M1 处理器,该款处理器同时也是ARM首款针对FPGA设计的处理器产品。 RVDS 3.1开发套件为首款支持Cortex-M1处理器的工具套件,包含Corte
[嵌入式]
FPGA中内嵌专用硬核
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。
Xilinx公司的高端产品不仅集成了Power PC系列CPU,还内嵌了DSP Core模块,其相应的系统级设计工具是EDK和Platform Studio,并依此提出了片上系统(System on Chip)的概念。通过PowerPC、Microb
[嵌入式]
FPGA在智能压力传感器系统中的应用设计
引 言 传统气体压力测量仪器的传感器部分与数据采集系统是分离的,抗干扰的能力较差,并且通常被测对象的压力变化较快。因此不仅要求系统具有较快的数据吞吐速率,而且要能够适应复杂多变的工业环境,具有较好抗干扰性能、自我检测和数据传输的功能。 在此,利用FPGA具有扩展灵活,可实现片上系统(SoC),同时具有多种IP核可供使用等优点,设计了能够控制多路模拟开关、A/D转换、快速数据处理与传输、误差校正、温度补偿的智能传感器系统;同时将传感器与数据采集处理控制系统集成在一起,使系统更加紧凑,提高了系统适应工业现场的能力。 1 系统性能及元器件 1.1 智能传感器系统性能要求 传感器压力测量范围:0~5 MPa;系
[安防电子]
基于FPGA的UARTl6550的设计
l 引 言 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是用于控制CPU与串行设备通信的芯片,将由CPU传送过来的并行数据转换为输出的串行数据流。将系统外部来的串行数据转换为字节,供系统内部使用并行数据的器件使用。他可以在输出的串行数据流中加人奇偶校验位和启停标记,并对从外部接收的数据流进行奇偶校验以及删除启停标记。常见UART主要有INS8250,PC16450和PCI6550,其中16550发送和接收都带有16 B的FIFO,为协调发送、接收端的速率匹配提供了更大的缓冲余地,同时也可以提高CPU的使用效率,从而提高系统的整体性能。 2 UART16550
[应用]
FPGA在虚拟仪器设计中的应用
众所周知,虚拟仪器技术是根据用户的需求由软件定义通用测试硬件功能的系统。 通过将可重复配置的硬件应用到一个虚拟仪器系统,工程师可以使用软件来开发算法并把它们应用到一个嵌入式芯片,从而把虚拟仪器软件的可配置能力扩展至硬件。 以前只有那些熟悉底层编程语言如VHDL的硬件设计人员才能利用FPGA技术。然而,现在工程师们已可以用LabVIEW FPGA(NI公司开发的用于现场可编程门阵列芯片的图形化开发环境)来开发出定制的控制算法并把它下载到FPGA芯片上。LabVIEW FPGA是一种图形化的编程环境,通过LabView FPGA,用户可以在测试的过程中很容易地对FPGA进行配置,系统将其自动转化为VHDL语言,下载到FPGA中
[测试测量]
基于ARM+FPGA的真空冻干控制系统设计
0 引言 冷冻干燥技术自1980年代在我国兴起以来已取得长足发展,并已广泛应用于食品、低温和真空等科学领域,基于一些食品和药品加工行业的工艺需要,真空冷冻干燥技术需要迅速应用与推广。控制系统对物料的加工过程和质量影响比较大,还决定了真空冷冻干燥装置运行的自动化程度。近年来国内外一些有实力的厂家对冻干机控制系统的研究有了较大的进展,采用了PLC、触摸屏等装置,能够绘制冻干过程的工艺曲线,较大地改善了冻干机的性能。 随着科技的发展,由于触摸屏和PLC控制系统不易实现功能扩展、升级困难、操作界面不够丰富等原因,已经不能完全满足企业的需要,市场需要开发出更加先进的冻干设备控制系统。2007年1月上海远东制药机械总厂开发完
[单片机]
基于FPGA实现FIR滤波器的研究
摘要:针对在FPGA中实现FIR滤波器的关键--乘法运算的高效实现进行了研究,给了了将乘法化为查表的DA算法,并采用这一算法设计了FIR滤波器。通过FPGA仿零点验证,证明了这一方法是可行和高效的,其实现的滤波器的性能优于用DSP和传统方法实现FIR滤波器。最后介绍整数的CSD表示和还处于研究阶段的根据FPGA实现的要求改进的最优表示。
关键词:FPGA DA FIR滤波器 CSD
数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足波器对幅度和相位特性的严格要求,避免模拟乙波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严
[应用]