您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术FPGA分担DSP功能降低建构成本 正文
FPGA分担DSP功能降低建构成本

FPGA分担DSP功能降低建构成本

点击数:7466 次   录入时间:03-04 11:33:32   整理:http://www.55dianzi.com   DSP/FPGA技术









 



在任何产品开发中,有多种办法可以减小成本和增加功能。在更高端DSP应用尤其如此,这些应用都是大计算量和对性能要求严苛的,需要比通用型微处理器或低成本DSP晶片有更大的处理能力。对于这类应用,有许多软体/硬体方案可选用,包括DSP元件、专用ASIC和现场可编程逻辑阵列(FPGA)。这些可供选用的方案具有不同程度的性能优势,但也必须在包括成本、功耗和设计时间在内的其他因素之间进行权衡。

最近大容量FPGA的成本在降低,加上软体导向的FPGA设计工具的发展,导致了这些元件获得更多的使用,既能处理过去DSP处理器领域的功能,同时大大地降低专用ASIC方案的风险和前期成本。

在新的和现有的设计中增加使用FPGA,是为了延长一般的、更低成本微处理器的寿命(分担大计算量的工作)或减小或消除对更高成本顶级DSP处理器的需求。在那些必须增加现有系统传输量才能处理更高解析度或更大讯号频宽的情况下,增加的必要性能主要是针对计算(需要可调整的计算资源)或可能需要全新的方法来解决频宽问题。

讯号处理演算法(典型DSP应用的计算内部核心)通常可以用相对少量的C语言原始码来描述。因此,用C语言模型快速试验新演算方法的能力是有用的。另一方面,重新建造低阶的硬体设计可能是单调乏味和易发生错误的过程。

FPGA通过两种方式解决这些问题。首先,它们有潜力实现相当高性能的DSP应用作为专用的硬体,而且没有专用ASIC的前期风险。主流(和相对低成本)的FPGA元件现在有必备的能力和功能支援这些应用。第二,同样重要的是由于设计工具的发展,FPGA变得更加的容易使用。现在用多种软体导向(採用图形或语言)的设计方式成为FPGA设计过程的一部分,这是完全可能的。

当FPGA用来实现讯号处理或其他大计算量应用时,FPGA可以作为原型设计(之后可以转换为硬式掩膜版的专用ASIC中或结构化ASIC)或实际的产品平臺。在这种情况下FPGA在现场软体升级上具有独特的优势,对中低批量产品有着有力的成本优势。

大容量FPGA对加值工程也很有意义。在这种情况下,多种元件(包括处理器週边和随机或「胶合」逻辑)可以整合到单个FPGA中。虽然尺寸和系统复杂度的减小是这类整合产品的优势,但是主要的优势还是成本。把FPGA作为一个无所不能的硬体平臺是很常见的,但是这方面的工作往往忽略了FPGA完成主要处理及传统硬体功能的优势。

在最近几年中,FPGA具备了日益强大的嵌入式处理器核心。例如,ALTEra®的Nios™处理器是高性能的32bit RISC处理器,具有很丰富的可供选择週边和配置(使用Altera提供的SOPC Builder™软体),直接编程到大规模Stratix™或Cyclone™ FPGA中。这种处理器为混合软体/硬体应用提供了出众的平臺,进一步增加了FPGA的整合度和加值工程应用机会。

screen.width-500)this.style.width=screen.width-500;"> 採用FPGA架构的视讯会议方案
为了检验最新的FPGA架构如何使用,我们考虑视讯会议产品。Be Here Technologies(Fremont,California)制造了视讯/音讯电话,包括一个专利的360°镜头(见下图)。这个系统中所需的图像处理包括动态去除由单个镜片产生的环形图像的扭曲,以及视讯压缩和其他大计算量的操作。
 


图一:Be Here专利的360°镜片把整个环境捕捉为完整但扭曲的图像。单个CCD不好的图像必须在压缩和传输之前重新进行大量的处理。


 


当使用这类先进的产品时,必然需要改进的视讯和声音解析度和取样率。最初对该产品的分析建议採用现成的处理器(作为图像变形软体的控制器),结合高性能的DSP元件就能够为应用的视讯压缩单元(在专用的图帧尺寸上使用H.264压缩标准,工作速率高达每秒20帧)提供必要的性能。然而当团队考虑开发成本时,很明显是使用更高性能的DSP将使系统超出预算,需要另闢蹊径。

Be Here开发团队开始关注最新的FPGA平臺,尤其是Altera产品。团队最终决定採用Altera的Stratix系列,因为其支援电路板上大量记忆体的能力和用Altera HardCopy™ ASIC转换能满足批量成本需求。同时系统也需要一个微处理器来控制图像变形和产生观看的硬体,以及图像感测器。Altera的嵌入式Nios处理器(它是无需权利金和具备高可配置性的)是完成这些功能最自然的选择。

为了提供一个支援快速原型开发的开发平臺,Be Here设计了专用的板子,其中包括了一块Stratix EP1S10元件和各种用于除错和开发的介面。这块板和Altera的Stratix开发板很相似,作为Nios开发套件的一部分,但是为Be Here的特殊需求进行了修改。电路板上的连接允许直接和多种不同的DSP评估板相连接,以及直接和必须的摄影机和显示元件相连接。

Be Here最新的产品包括具有独家的图像处理技术的H.264压缩,这是视讯会议整体方案的一部分。正如前面所述,这部分的设计用相对昂贵的DSP元件无法满足制造成本的目标。然而在Stratix FPGA之外使用成本更低和能力更低的DSP,就可以满足成本目标。然后设计问题就变成了一种划分的问题:决定哪种功能(代表演算法「热点」)是最适合于用FPGA实现,将那些功能转换为适合FPGA的更低层次的硬体描述,把较不关键的演算法留给成本更低的DSP去实现。

如早期的每个DSP应用中,最佳的方案是混合处理器设计,应用性能不太严苛的零件(包括作业系统、网路协定堆叠、使用者介面、视讯CODEC和POT控制)都由主微处理器完成。大计算量的零件(包括图像纠正、图像观看产生和压缩/解压缩加速)必须採用高端DSP,或是採用FPGA中的专有硬体。这需要多种功能和硬体设计方法和工具的知识,但要依性能为成本提供最大的效益。

对于系统中的每种处理器类型(标准处理器、DSP和FPGA),要考虑不同的优点、劣势和所需的设计技能水准。例如,虽然DSP是软体可编程的,对工具的初始投入很低,但是它们需要一些具有DSP专业设计技术的专门人员,通常需要撰写组合语言程式的技能。另一方面,FPGA在设计时间和工具专业程度上需要相对大的投入,尤其当使用硬体设计语言作为主要的设计输入模式时,更是如此。

然而当和专业ASIC设计的专业人员和工具投入相比,FPGA显然是成本更低和风险更低的专用硬体开发方案。的确,对这种产品,选择FPGA的主要因素是设计处理相对比专用ASIC的方式来的简单和低风险。而且,通过移植到Altera HardCopy ASIC,Be Here也降低了制造成本,实现了类似ASIC的价格/性能比。

FPGA提供了和设计过程相关的其他优势。在整个开发过程中使用FPGA,团队也能够逐步地导入和验证以前在软体中进行原型设计的演算法。这是手工完成的(手工把C程式码转化为更低阶的HDL),但是採用C语言的设计工具(见下图)还是可以更好地加快了这个设计过程。

为了加快硬体开发和支援叠代方式进行设计,Be Here设计了专用的开发板,允许通过连续的原型处理图像资料,从现有的高解析度摄影机和安装在高端个人电脑中的图帧撷取卡开始(运行原型图像变形和显示软体),然后进行更全面的图像处理链,包括专门设计的整合了图像变形的摄影机(在FPGA上运行)。显示仍然在开发PC中完成──还是为原型设计服务的用途。

这种叠代方式的重要优点是能够一次一个单元地改变设计(例如把演算法移至FPGA中)。在这个专案中,开发者从用原型的专用摄影机替代现成的摄影机开始,用开发卡把资料发送给图帧撷取卡,好像它是现成的摄影机。这允许用新的镜片系统验证系统,而不会改变显示链中的其他任何部分。软体零件然后逐渐从软体原型实现移至FPGA中,每个部分在进入下一步之前都会经过验证。这种方式大大地缩短了除错时间,降低了引入难以跟踪的系统级错误的风险。




 

screen.width-500)this.style.width=screen.width-500;"> 採用C语言的设计和原型工具加快开发
採用混合硬体/软体方案的试验可能是耗时的过程,因为过去软体发展方式和硬体设计(包括FPGA的设计)所需的低阶方式之间是分割开的。在上述的例子中,最终的软体/硬体设计是软体和硬体原始档案的集合,它们不易于通过单一的工具组进行编译、模拟和除错。另外,因为硬体设计过程是效率很低的,硬体和软体设计週期可能是不同步的,系统介面和基本软体/硬体划分和演算法必须要较早地确定下来。

然而,随着採用C语言的FPGA设计工具的发展,现在有可能对很大一部分的应用使用类似软体的设计工具和标准C语言,尤其是那些本身就是演算法的设计部分,更是如此。后期的性能调整可能引入手工编写的HDL程式码替代自动产生的硬体(正如DSP用户会用手工编写的组合语言替代更高级的C程式码)。因为设计能够直接从C程式码编译成初始的FPGA实现,硬体工程师需要进行性能调整的时刻更推后了,总体上系统可以用更高生产力的软体设计方法来设计。

[1] [2]  下一页


本文关键字:成本  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术