加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 设计中心 > 可编程逻辑器件

FPGA设计实例全攻略(二)

时间:2014-05-03  来源:123485.com  作者:9stone

  把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是FPGA技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品。FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是FPGA技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高。为解决相关FPGA工程师及爱好者提供相关实际案例和电路参考,电子发烧友网隆重整合推出《FPGA设计实例全攻略》系列,后期会陆续推出相关章节,以飨读者,敬请关注。

  FPGA设计实例全攻略(二)

参阅相关系列文章

FPGA设计实例全攻略(一)



  一、远程在线更新FPGA程序的方法

  1 概述

  现场可编程门阵列(Field Programmable Gate Array,FPGA)器件具有高密度、低功耗、高速、高可靠性等优点,在航空航天、通信、工业控制等方面得到了大量应用。FPGA的处理器分为软核和硬核,并且软核处理器具有高度的灵活性和可配置性。

  由于FPGA器件采用的是SRAM工艺,在断电的情况下FPGA内的配置数据将丢失,所以需要非易失的存储器来结合FPGA完成嵌入式系统的设计。EPCS(Erasable Programmable Configurable Serial)Flash属于串行接口Flash,具有接口简单、体积小、配置方便的特点,通常用来存储FPGA的配置文件和NiosII的软件可执行代码。在经过合理的配置后,系统在上电后就可以从EPCSFlash中读取这些文件来启动整个系统。

  为了能使系统得到更灵活的应用,充分发挥FPGA的灵活性、高效性,FPGA的软硬件程序都需要方便的更新和升级功能;而当形成产品后,通过JTAG和NiosII IDE工具来联合完成对EPCS Flash的更新烧写很不方便。为此,本文结合Altera公司提供的工具,提出了一种远程在线更新FPGA配置文件和NiosII程序文件的方法。

  2 系统硬件结构

  系统硬件结构如图1所示。系统主要有上位机系统、FPGA系统、EPCS Flash三个主体部分。上位机系统提供人机交互的部分,FPGA系统包括NiosII处理器、EPCS控制器、网络及串行接口和其他外部接口,EPCSFlash主要用于存储FPGA的配置文件和Nios程序映像文件。上位机系统通过FPGA集成的网络及串行接口来完成通信工作。

  

  FPGA采用Altera公司的CycloneIII系统的EP3C40F48417N芯片。它具有低功耗、高集成度、易于使用的特性。EPCS Flash采用Altera公司的EPCS16SI16N芯片,它支持多种可配置的时钟源,最高支持100 MHz的外部时钟源,具有16 Mb的存储空间,足够满足一般的FPGA配置文件和Nios程序文件的存储需要。

  3 更新程序处理流程

  更新FPGA的配置文件和NiosII的应用程序的流程如图2所示。

  

  本方法把由NiosII IDE生成的FPGA配置文件和NiosII程序文件合并,并编程为一个可以直接执行的、包含FPGA配置文件和NiosII程序文件的二进制BIN文件。然后把该文件通过X-modem协议由上位机系统传输给NiosII的应用程序。NiosII的应用程序接收到完整的BIN文件后,把该BIN文件写入到EPCS Flash中。最后,Nios II的应用程序停止看门狗,程序重新启动,即完成了FPGA的远程在线更新程序的过程。

  4 合并程序文件

  Nios II的启动要经历两个过程:

  ①FPGA器件本身的配置过程。如果内部逻辑中使用了NiosII,则配置完成的FPGA中包含有NiosII软核CPU。

  ②NiosII本身的应用过程。一旦FPGA配置成功后,NiosII就被逻辑中的复位电路复位,从reset地址开始执行代码。

  Nios II IDE将FPGA的配置文件(.sof文件)和应用程序(.elf文件)转成flash格式文件,转换后的flash格式文件是一种S-Record格式数据,包含如下区域:《type》《length》《address》《data》《checksum》。各字段的意思分别如下:《type》表示记录的类型;《length》表示数据的长度;《address》表示数据写入的起始地址,该字段的长度取决于《type》的取值;《data》表示存储的数据;《checknum》表示校验位。

  配置文件和应用程序可能有多个段,每个段前面都插有一个“程序记录”。一个“程序记录”由2个32位的数据构成,一个是32位的整数,另一个是32位的地址,分别表示程序段本身的长度和程序段的运行时地址。其存储布局如图3所示。

  

  为了在更新程序时把FPGA配置文件和Nios II应用程序一起更新,把FPGA配置文件和Nios II应用程序合并成一个文件,并且把合并后的Flash格式的文件转换成不需要地址解码就能直接执行的二进制BIN文件。具体处理流程如图4所示。

  

  在合并程序的过程中,去掉了flash文件中的长度、目的地址等用于解析程序的信息,并且把程序映像由字符格式转换为二进制格式。合并后的BIN文件包含FPGA配置文件和Nios II应用程序,并且Nios II应用程序紧挨在FPGA配置文件的后面,其存储布局如图5所示。

  

  5 Nios II更新程序模块处理

  Nios II程序中的更新程序模块主要负责从上位机接收合并后的可执行BIN文件,并把该BIN文件写入EPCSFlash,处理流程如图6所示。

  

  5.1 程序文件的传输

  Nios II应用程序中的更新程序模块和上位机系统采用X-modem协议传输程序文件,X-modem协议是一种网口和串口通信中广泛用到的异步传输协议。

  如果在程序传输过程中出现错误,更新程序模块能够通过设置超时来退出更新程序的状态。

  5.2 对EPCS Flash的读写

  由于EPCS Flash的串行配置器件定义了特殊的读写协议,所以Nios II程序只能通过Altera提供的HAL API(Application Program Inter face,应用程序接口)来完成读写Flash。打开、关闭Flash设备的API为:alt flash open_dev()和alt_flash_close_dev()。操作Flash读写

  的API为:alt_read_flash()和alt_write_flash_block()。清除Flash的API为alt_erase_falsh_block()。

  结语

  本文以提高FPGA远程更新程序的方便性为目标,提出了一种基于EPCS Flash的远程在线更新FPGA程序的方法,从而在应用中能够使基于FPGA的产品更加方便地维护升级。

  二、片上芯片SoC挑战传统测试方案

  SoC厂商如何在提高复杂器件传输速度的同时降低测试成本?

  随着先进的集成电路(IC)设计方法和高密度生产技术的使用,半导体厂商能够把不同的数字和模拟电路集成在极小芯片上,其尺寸之小、功能之全尚无先例,我们称之为系统芯片。尽管具有先进的设计和制造能力,可是IC厂商在对这些多元器件进行快速而又低成本地批量生产时,面对 空前的挑战。当把若干功能单元结合在一个单独器件上时,今天的SoC器件为减少批量生产时间和测试成本,向传统的测试方法发起挑战。结果是,厂商们将更广泛地研究新方法,这些新方法通过在设计和测试之间的有效平衡,提供了一个更有效地从事SoC设计、生产和测试的方案,并能够同时做到减少其生产时间和测试费用。

  特殊的挑战

  就SoC厂商来说,在一个竞争激烈的市场上,消费者对其在功能、性能和费用等方面的要求,又给他们平添了持续的压力。SoC厂商将复杂的数字核与模拟功能集成在单芯片中,在功能和性能上能够应对市场多种用途的需求。可是在制造过程中,SoC厂商发现设计和测试复杂性经常会导致故障。随 工艺技术的研制费用接近100万美元,每次故障都使得成本负担雪上加霜,并且拖延交货期,加剧经济受损。工程师们发现在这样的压力下,无法充分发挥先进的工艺技术和制造水平的潜力。

  对测试工程师来说,他们的测试面对 非常严峻的挑战,一是受测器件庞大的数量,二是多种受测电路复杂的程度。然而,测试工程师必须保证以最优化的测试程序,采用最少最便宜的测试设备,在短时间内完成测试。测试工程师还需要功能更强的混合信号测试仪来处理高端界面。而传统的连续开发方法中测试故障的费用上升首先导致器件开发延迟,SoC厂商也将为此增加测试时间和费用及生产成本。

  SoC测试中当前的困境大多是由于采用早期几代IC对测试要求不高而造成的。最新的设计虽提高了易测程度但仍缺乏应对当前流程中普遍问题的能力。在传统的连续开发流程中(图1a),设计工程师设计时所掌握的有关信息很少,可利用的测试设备也有限,因而可能在最终开始测试后很久才会发现所遇到的问题,造成额外费用并拖延时间。

  SoC器件目前不断增加的复杂程度,促使主要的厂商青睐采用更有效的SoC生产导向设计测试流程法(图1b)。该方法使各个测试小组分工明确,测试研发工作平行展开。各测试小组集中攻关的结果是同步拿出最优化的设计方案和更有效的测试程序。工程师们在转移到大批量生产之前,就已充分掌握了器件性能。制造商可以有效平衡高配置的SoC平台的灵活性,使其满足不同新产品类型组合的需要,在实现快速批量供应的同时,全面降低测试成本。

   早期试验进展

  新测试流程建立在测试开发工具和设计工艺技术之上。多年来,工程师们倚赖专用的内部工具将仿真向量转变成测试设备使用的模式。SoC显著地增加了这一转变过程的复杂性。今天,更加先进的测试工具能够与主要的电子设计自动化(EDA)供应商所提供的流程一起运行。加上先进的循环运算法则,这些工具能够把与各种复杂程度的电路相关联的数据组合起来,并且制作一个单独的测试模式和定时文档。手头掌握了这些统一的结果,测试工程师的工作会更有效。

  生产测试和工程确认的流程

  图1 生产测试和工程确认的常规流程(a)和平行流程(b)

  新SoC生产导向设计测试流程法的一个最重要特点是它能够在开发循环的早期校验测试程序。过去,测试工程师需要获得第一块芯片和可以排除故障的测试设备后才可以开始测试工作,这将把产量拖沿数星期。而今,由于具有了当前先进的测试开发环境,测试工程师能够利用数字式虚拟测试仪(DVT)的性能,提前进行调试试验。虚拟测试法最适合数字电路。但EDA软件现有的能力已有很大提高,EDA公司与测试公司已有很好的协作。因此,设计和测试工程技术能力扩展至模拟设计也就有了保障。

  经过改进的测试开发能力对所有SoC厂商都至关重要,对于无生产线的IC设计公司尤为重要。由于相比较而言,IC设计公司对外界的依赖程度高,因为在设计和测试之间存在一个地理上的差距,存在 交流困难问题。经由外界的设计方案会加剧测试难题对生产延期和生产费用的影响。虚拟测试法让IC设计公司在其现有的设计环境下进行调试试验,以保证测试程序运转正常并能更好地s了解潜在的测试设备问题。

  交互式工程设计确证

  对不知名的半导体公司和集成器件制造商(IDMs)来说,复杂的设计和先进的工艺技术的结合,要求提高与自动测试仪(ATE)上进行的生产测试截然不同的测试验证能力。随 工艺技术达到0.13μm或更细的线宽,先进的器件展示出不断增加的效能,事实上也限制了多数生产用自动测试仪(ATE)在检测更细微故障时的有效性。对许多厂商而言,复杂的SoC已致使传统的测试方法愈加无效,并给生产和成本问题造成严重的瓶颈影响。

  优化的工程设计验证测试系统的出现,提供了与生产测试仪明显有别的能力,达到了大幅度提高生产量的要求。工程技术系统为生产测试仪是非结果的判断提供了详细的原因分析。事实上,今天领先的工程设计验证系统具有的记忆特性,能够保留所有器件管脚上的完整数据,以便工程师更容易地对器件功能做解剖研究--这是传统的生产用自动测试仪(ATE)所无法达到的。

  生产用自动测试仪(ATE)适合批量生产的需要,有赖于高度优化的测试程序来确保采用最少的测试设备和花费最短的时间。相比较,工程技术验证系统则适合交互式分析,为测试装置和测量提供图形用户界面(GUI)。工程师们在此环境下可以更有效地进行为最优化设计和调试所采用的交互式的假设分析。用在生产过程中,则有助于加速故障分析。当今复杂的SoC需要更加精密复杂的诊断设备,如皮秒图象电路分析(picosecond imaging circuit anal-ysis),激光电压探针(laser voltage probe)和电子束系统(e-beam systems)。领先的工程设计系统直接向这类设备提供界面;工程师们借此利用外部的探头装置就能够测试器件。

  测试程序的核查准备

  图2 测试程序的核查准备

  低成本生产测试

  SoC生产技术的成功,依靠的是厂商以最低的生产成本实现大量的生产能力。随 制造商创造了结合先进数字电路和模拟功能的SoC,就需要不断提高自动测试仪(ATE)的强大功能。芯片内功能提高了数字数据传输速率。而今,防火墙、千兆赫兹以太网和图形加速接口等功能都集于芯片上,因此需要测试仪的数据速率要达到800Mbps或更高。制造商们正在寻找适应性强和容易升级的操作平台以满足新要求,而非过去那样追加投资,开发新一代产品。

  对于混合信号的SoC,可配置的ATE系统在经济上可以承受大批量生产对测试功能和灵活性的要求。模块式结构是这些系统的核心,为制造商提供了一个适应性强的高性能共享测试平台。就IC电路的总体而言,大功率多性能ATE能够满足SoC日益增加的功能条件,如管脚的增加、速度的提高、对液体冷却的需求等。好在先进的冷却设计可以选用空气冷却高速高功耗的CMOS电路,而降低了ATE的复杂性。

  系统设计和检测仪表性能的改善显著地减少了ATE的费用,加上应用了各种程序开发工具语言,增加了测试开发环境的功效。工程师们利用共享图形用户界面(GUI)和现有测试程序模板,使现有的测试程序符合特定的测试用途,从而提高了生产效率。这种以模板为基础的方法把测试开发时间削减了数周,这对于把握SoC市场稍纵即逝的机会格外重要。

  在产业开始复苏的今天,对市场机会的快速应变能力是SoC制造业重于一切的要务。在现有条件下取得最大效益的能力,对于制造商仍然非常关键。系统兼容性在高效的开发环境及生产测试设备中是一个日益重要的特性,将有助于使生产能力达到最高水平。厂商通过有效配置所有测试设备,把测试转移到最有效的平台上进行,不断满足生产条件的变化要求。

  三、基于FPGA与外部SRAM的大容量数据存储

  1 引言

  我们将针对FPGA中内部BlockRAM有限的缺点,提出了将FPGA与外部SRAM相结合来改进设计的方法,并给出了部分VHDL程序。

  2 硬件设计

  这里将主要讨论以Xilinx公司的FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)为主要器件来完成大容量数据存储的设计思路。

  FPGA即现场可编程门阵列,其结构与传统的门阵列相似,大量的可编程逻辑块( CLB , Configurable Logic Block ) 在芯片中央按矩阵排列,芯片四周为可编程输入/输出块( IOB , Input / Output Block),CLB行列之间及CLB和IOB之间具有可编程的互连资源(ICR,InterConnectResource)。CLB、IOB和ICR都由分布在芯片中的SRAM静态存储单元控制,SRAM中的数据决定FPGA的功能,这些数据可以在系统加电时自动或由命令控制从外部存储器装入。

  在进行数据存储时,可直接将数据写入FPGA内部的BlockRAM中,在一定程度上减少了FPGA的资源分配。但FPGA内部自带的RAM块毕竟是有限的,当需进行大容量数据存储时这有限的RAM块是远远不能满足系统设计要求的。此时,就需要将FPGA与外部RAM相结合完成大容量数据存储。具体硬件电路如图一所示:

  硬件电路

  3 IS61LV25616AL功能简介

  IS61LV25616AL是Integrated Silicon Solution公司(ISSI)的一款容量为256K×16的且引脚功能完全兼容的4Mb的异步SRAM,可为Xilinx公司的Spartan-2E系列FPGA提供高性能、高消费比的外围存储。除了256K×16异步SRAM外,ISSI还提供128K×16、512K×16、256K×8、512K×8和1M×8的异步SRAM。 IS61LV25616AL引脚结构框图如图二所示:

  IS61LV25616AL引脚结构图

  3.1 主要特征

  (1)工作电压:3.3伏;

  (2)访问时间:10ns、12ns;

  (3)芯片容量:256K×16;

  (4)封装形式:44引脚TSOPII封装,也有48引脚mBGA和44引脚SOJ封装;

  (5)采用0.18μm技术制造。

  3.2 引脚功能

  (1)A0~A17:18位的地址输入线;

  (2)IO0~IO15:16位的三态数据输入输出线;

  (3)写控制线;

  (4)片选信号;

  (5)输出使能信号;

  (6)低字节、高字节使能信号;

  (3)~(6)的控制线均为低电平有效。

  3.3 控制逻辑电路设计

  如图三所示,控制逻辑由FPGA来实现。主要包括读地址产生器、写地址产生器、读写时钟信号产生器及读写控制等几部分。下面分别加以讲述。

  

  (1)写地址产生器:由于设计时采用256K×16的SRAM,故有18位地址,写地址产生器用18位计数器实现。靠外部时钟驱动,每进行一次写操作后,读写控制单元产生计数脉冲,使其增1,直到18位计数器计满再循环写入地址为0的空间。

  (2)读地址产生器同上,也采用18位计数器实现,根据系统要求,每隔一定的采样周期将读地址指针偏移一定偏移量,并从该位置读取数据。

  (3)读写地址选择器由于读写地址复用管脚,因此在读写操作时,必须选通相应的地址。这就需要由FPGA控制芯片上的等控制信号来对SRAM进行读写的操作。

  (4)此外,由于读写之间的切换,数据线上的数据在切换瞬间如不加处理会出现混乱现象。因此,为避免读、写操作发生冲突,数据线呈三种状态,读数据、写数据及高阻态。在从写到读的过程中需给数据线上送高阻态。

  

  (5)当需要对SRAM进行写操作时,由FPGA控制产生写地址选通信号,该选通信号为一单脉冲形式,如图四中该脉冲下降沿触发SRAM,告知开始对RAM进行写操作,使FPGA输出写地址,同时给数据线上送数据。在写操作期间,片选信号始终保持低电平,而写地址选通信号上升沿到来时使写地址计数器增1。以此类推,通过写地址选通信号高低电平变化完成对数据依次写入。需要注意的是,地址线和数据线在为高时可同时赋新值,但只有在变低后赋予数据线上的新值才有效。

  

  对SRAM进行读操作相对较简单,在进行读操作期间,始终为低电平,始终为高电平。每进行一次读操作,地址按系统要求变化一次。同时注意,地址的变化时刻总要先于数据的变化时刻。图五为RAM读操作时序。

  以下是一段用VHDL语言描述的控制RAM的读写操作时序的程序代码:

  

  程序中,在进行读写操作时,片选使能信号CE_SRAM及输出使能信号OE_SRAM始终为低电平。

  第0时刻到第2时刻在进行写操作:第0时刻地址线addr_SRAM和数据线data_SRAM同时赋新值,控制线WE_SRAM、LB_SRAM、UB_SRAM要经历一个窄脉冲的变化过程,RAM在获取到此控制线下降沿信息后,便知开始进行写操作。需要注意的是,虽然数据在第0时刻已赋到数据线上,但因为写操作是控制线低电平有效,所以数据线上真正发生数据更新是在控制线变为低电平之后,因此,数据线上的实际更新时刻是在第2个时刻。

  第3、4状态是进行读操作:在读写转换时刻,也就是在第3时刻如前所述需给数据线上送高阻态。这样,读取数据的时序关系由系统时钟进行控制,在第3时刻给地址线上送要读取的地址,第4时刻将数据端口上的数据送出。这里需注意的是,读取数据要比读取地址晚一个时刻。从而,完成了对外部RAM的读写操作控制。

  4结论

  该系统已应用在罗兰—c导航接收机的信号处理中。实验证明,此设计可靠稳定地完成了大容量高速异步数据存储,进一步提高了系统的性能。

  四、视频信号发生器设计方案

  引言

  在光电测量系统中,需要图像处理器进行图像采集、处理。目前检测图像处理器的信号发生器多是标准的模拟视频输出,如文献提出的模拟视频发生器,有的虽然能产生数字视频但内容是固定的,如果对内容进行更改则需要对数字视频信号发生器重新编程以达到要求,比较麻烦,不能满足日益复杂的要求。因此灵活改变视频内容的数字视频信号发生器的研制变得十分迫切。本文提出一种数字视频信号发生器的设计方法,此方法可以同时得到LVDS和CamerLink制式的视频,供数字化图像处理器检测使用。本文提出的设计方法除可以脱离计算机独立使用外,如果想实时更改信号发生器输出视频的各项参数,无需重新改写程序,只需把该信号发生器通过串口连接到计算机上,即可通过人机交互的方式对视频中的目标灰度、背景灰度,目标大小、目标运动速度进行更改。此外目标的背景还可以从板卡上的SDRAM中选取。与以往的视频信号发生器相比,本文提出的信号发生器除能产生多种数字化视频外,还能灵活更改所产生的视频各项参数,因此具有一定应用价值。

  1 硬件组成

  数字视频发生器主要卣FPGA模块、单片机模块、串行通信模块、TTL转L,VDS模块、FTL转CamerL,ink模块、SDRAM模块组成,整个系统框图如图1所示。

  

  1.1 工作原理

  数字式视频信号主要由行同步、帧同步、像素时钟、图像数据组成。其中行同步决定一行的起始位置,帧同步决定一帧图像的起始位置,像素时钟决定一行有多少列图像数据。根据数字图像的组成,可以看出如果想要生成一幅数字图像,必须包含上述要素。其行帧信号同图像的关系如图2所示,其中VSYN表示帧同步信号,HSYN表示行同步信号。

  

  其中图像的采集是从行同步上升沿开始后,按像素时钟采集的。

  本文根据数字视频产生所需的各要素进行信号发生器的设计。主要通过FPGA产生行同步信号、帧同步信号、像素时钟;通过单片机+串口通信模块实现目标参数的更改,并把更改后的参数传递给FPGA,供FPGA产生相应运动的视频信号;通过视频制式转换模块把FPGA生成的视频数据及视频控制信号转换成LVDS和CamerLink制式的数字视频信号。

  2 FPGA控制模块

  FPGA具有高集成度、高可靠性以及开发工具智能化等特点,目前逐步成为复杂数字电路设计的理想首选。此外FPGA可以通过编程实现硬件的逻辑功能,大大减少了硬件设计的复杂程度。因此本文以FPGA为核心器件产生视频信号,这里选用ALTERA公司的SycloncII系列的EP2C8 F25618N,采用VHDL语言编程生成与数字视频有关的各个信号,与单片机通信接收视频修改参数的模块及得到SDRAM内部图像的模块。其结构框图如图3所示。

  FPGA控制模块

  信号发生器上电后,FPGA通过与单片机通信的模块得到初始视频各项参数,根据参数进行目标大小、目标灰度、目标运动速度、背景灰度的设置,然后根据各项设置产生视频数据,FPGA帧同步模块、行同步模块、像素时钟模块分别产生帧同步、行同步、像素时钟,图像数据按以上控制信号从FPGA中发送出去。

  在本文中FPGA各功能模块根据基准时钟生成帧同步、行同步、像素时钟。这里以50M时钟为基准时钟信号,根据图像处理平台对输入信号的要求,设计的帧同步高电平占33ms,低电平占1.2ms,行同步高电平占35 μm,低电平占8.4μm。这里把50M基准时钟输入像素时钟模块经过锁相后依然以50M的时钟频率输出,作为像素时钟。由于一行较多,可在程序中进行限位,控制每行像素数。像素的产生主要有两种方式,一种是通过与单片机通信得到目标像素灰度及背景像素灰度,根据这两种灰度产生像素数据。另一种方式是通过从连接在FPGA上的SDRAM内读出图像作为背景,从与单片机通信得到目标灰度,共同形成像素数据。

  2.1 单片机控制模块及通信模块

  在本设计中单片机作为通信管理芯片。它主要实现与计算机的通信,更改信号发生器所产生信号的各个参数,把各个参数经过整合送给FPGA,以便FPGA根据参数控制目标的运动速度、目标大小、目标灰度及背景灰度。为了保证信号发生器能够方便地和计算连接,实现人机交互,实时更改产生的视频信号,并且从通信稳定可靠出发,这里采用RS232通信接口。但是因为计算机每次发的数据较多,这里没有直接应用电平转换芯片把计算机和单片机的串口连在一起,而是通过一片16C650把电平转换芯片和单片机连在一起,这样的好处在于16C650内部具有32字节的FIFO,可起到数据缓存的作用,使单片机能够稳定可靠地接收数据。

  2.2 视频制式转换模块

  因为FPGA产生的视频信号为TTL电平,而目前数字视频信号以LVDS制式和CamerLink制式为主,因此需要进行电平转换。这里主要采用把FPGA产生的TTL电平的数字视频信号接入SN75LVDS387得到LVDS制式的视频信号,同时可把该TTL数字信号接入DS90CR285得到CamerLink制式信号。

  3 软件设计

  本文软件设计主要对单片机和FPGA进行编程。其中对单片机编程主要应用C语言进行编程,对FPGA主要应用VHDL语言编写。其中单片机程序框图如图4所示。FPGA程序流程框图如图5所示。

  FPGA程序流程框图

  4 结论

  本文介绍了一种基于FPGA的数字视频信号发生器,具有一定应用价值。

分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->可编程逻辑器件
  • 可编程逻辑器件
  • 传感器技术
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门