随着信息技术的发展,人们面临的数字信号处理任务越来越繁重,对数据处理系统的要求也越来越高。数字信号处理功能一般在两类可编程平台上实现:数字信号处理器(DSP)和现场可编程门阵列(FPGA)。DSP是一种特殊的微处理器,计算功能很强大,可以用C语言或汇编语言进行编程,能实现复杂的信号处理算法;而FPGA是一种配置能力很强的硬件,可以用VHDL或VerilogHDL来编程,它的实时性很好,能并行进行大数据量的底层算法处理。
买芯片网专注整合全球优质赛灵思代理商现货资源,是国内领先的Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)芯片采购服务平台,买芯片网轻松满足您的芯片采购需求.
FPGA在红外热像仪中被采用
笔者主要从事红外热像仪的研制工作。红外热像仪是一种成像设备,它和CCD(电荷耦合器件)相机类似,都是通过探测器将探测到的光信号转化为电信号,再进行信号处理和显示。不同的是CCD相机探测到的是可见光,而红外热像仪探测到的是红外线。红外探测器将探测到的光信号转化为模拟信号,为了进行后续的数字信号处理,需要对模拟信号进行数字采样。设计中用到了两片以上的14bit的AD(模数)转换芯片,由于DSP管脚资源有限,而且对各个转换芯片的访问时间是分时进行的,因此它需要花大量的时间与各个芯片进行数据交换,相应用于计算的时间大大减少,无法满足数据交换的并行要求。相比较而言,FPGA以其丰富的管脚资源和高实时性满足了设计需求,因此红外热像仪中多采用FPGA处理平台来实现数据采集和处理。
目前世界上生产FPGA的厂商很多,而Altera和Xilinx两家就占有60%以上的市场份额,它们生产的FPGA各有优劣,笔者主要采用了Altera公司的Stratix系列FPGA来进行设计。该系列芯片的相关数据在Altera公司的官方网站都有详细介绍,本文就不再赘述。选用Altera公司的FPGA一方面是由于该芯片具有丰富的硬件资源,另一方面原因是它具有功能强大的开发软件QuartusII,非常便于系统开发和设计。
QuartusII是Altera公司开发的进行SoPC(可编程片上系统)设计的综合性环境和基本开发工具,内部嵌有综合器和仿真器,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。同时,它支持第三方综合工具和仿真工具。Modelsim作为专业的第三方仿真工具,能有效地弥补QuartusII在仿真速度方面的不足,大大提高产品开发的速度。
与DSP、微控制器结合将成主流
Altera公司的Stratix系列或者更高级别的FPGA内部都嵌入有DSP内核,可以作为CPU来使用。NiosII是Altera公司提供的完整的开发环境,可以通过C/C++语言直接对CPU进行编程,并进行编译和调试。CPU内核可以根据需要选择合适的外设、存储器和接口。红外热像仪通过调用DSP内核的SPI(高速同步串口)总线控制接口控制温度传感器,实现了温度采集功能,通过调用UART(通用异步接收/发送装置)模块实现了串口收发控制功能,编程难度比直接用FPGA进行时序设计要容易得多。
红外热像仪中要用到很多图像处理算法,直接用FPGA进行时序设计比较复杂,需要编写几千甚至上万行代码。而Matlab是一款功能强大的计算软件,可以用很少的代码实现算法设计和仿真,但是其设计结果并不能直接载入FPGA运行。对此,Altera公司开发了一款系统级设计工具:DspBuilder,它可以作为Matlab和QuartusII之间的纽带,将MATLAB环境下完成的算法转化为HDL语言模块,QuartusII将这些模块作为IP核直接调用,即可进行编译、链接和下载,轻松实现复杂算法的设计,大大提高了设计效率,并且降低了复杂算法的设计难度。
FPGA进行程序调试的过程中经常需要对信号波形和延时情况进行验证,单纯通过软件仿真有时不能完全体现信号在硬件电路中运行的真实情况。QuartusII内部集成的嵌入式逻辑分析仪SignalTap是个很实用的解决此问题的工具,它能够捕获和显示设计中信号的实时状态。我们只需要设置被测试信号、采样时钟、采样模式和采样深度,在硬件电路通电工作状态下即可通过软件实时观测到信号波形的变化,从而判断信号的正确性和准确性,有效地完成程序调试。
未来FPGA与微控制器的结合将成为芯片开发的主流。在SoC设计中嵌入FPGA就形成了新的IC即可编程系统级集成电路(FPSLIC),现在也已经广泛应用于电信、网络、仪器仪表等系统中了。把CPU嵌入FPGA中,是众多FPGA厂商现在的做法,我们使用软核即SoPC就可以高效完成复杂设计,不过希望FPGA在集成CPU内核的同时保持高密度、大容量,并且降低功耗,以满足更高的系统设计需求。
Xilinx中国海量优质的信息资源、行业资讯、最新开发方案等资讯信息平台。