电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者维修技术维修教程知识电子制作怎样选择嵌入式媒体处理器

怎样选择嵌入式媒体处理器

09-08 12:13:19 | http://www.5idzw.com | 电子制作 | 人气:833
标签:电子小制作,http://www.5idzw.com 怎样选择嵌入式媒体处理器,http://www.5idzw.com

选择一片多媒体应用处理器是一项复杂的工作。为了做出最好的选择,需要先做好以下准备。


● 全面地分析每个候选处理器的内核结构以及外围设备。
● 扎实地理解视频和音频数据如何流过系统。
● 评估在规定功耗条件下可达到的处理水平。

选择嵌入式媒体处理器的常见问题


开始选择之前,还需要仔细地考虑以下一些问题。一旦能够回答这些问题,你就能选择到最适合的处理器了。


1 应该只使用我喜欢、熟悉的处理器吗?


我们究竟为什么要从一个系列的处理器换成另一个系列呢?最常见的原因是你现在的应用比之前的应用对处理器的要求更高了。如果应用要求一下子提高了很多,那么你就可能不能够继续使用同一系列的处理器了。例如,适用于音频应用的处理器系列通常不包括适合于视频应用的外围设备。类似地,如果你以前的处理器只能处理低分辨率(低帧频)的视频,那么你可能需要将处理器换成适合于高分辨率、高帧频速率的处理器系列。


2 需要利用处理器的数据做些什么?


这个问题关系到评估处理器的性能。当系统设计工程师评估一个处理器性能的时候,要分析的第一项指标就是处理器每秒钟处理的指令数,即在每个处理器时钟周期内完成的操作数和计算单元的效率。由于人们对处理能力的要求超出了处理器内核技术的进步速度,到了关键点用单个处理器已经不足以完成某些应用。这是考虑使用双核处理器的原因之一。增加一个处理器内核不仅能够有效地加倍处理器的计算能力,还能增加软件跨用两个内核的灵活性,双核处理器的功耗甚至低于双倍频率运行的单核处理器。


3 从哪些不同的角度评估处理器?


有很多种用来比较处理器的基准评估程序。然而,不同的供应商倾向于使用不同的评估方法。此外,对于任意给定的应用都有很多方法可以实现,因此通常哪种性能基准程序是“对的”并不明确。这样就很难客观地度量候选处理器的性能差别。因此,最好从以下几个不同的角度评估处理器的性能。


● 中立的评估机构——这些公司或者协会试图为具体任务公司创造客观的基准评估程序。
● 供应商提供的资料——供应商提供的技术资料、应用笔记和代码示例可能是获取比较信息的最简单的方式。然而,不幸的是你将很难找到两家供应商使用统一的测试方法,这很大程度上是由于每个供应商都想让自己的处理器超过竞争对手。
● 基准测试程序——如果你想得到正确的结果,自己测试!你可以在处理平台上进行一些基本性能测试来获取数据流限制、内存访问等待时间以及处理器瓶颈等信息。


还有,你要意识到基准评估程序并不一定反应全面。有时,稍微改动算法消除潜在的不必要限制就能使性能有很大的不同。例如,对于一个定点处理器,真正的IEEE 85浮点仿真是很昂贵的。然而去掉一些限制(例如特例数表示法)就能够大幅度提高浮点仿真的性能评估,但通常并不能测出影响一个应用的功能。


4 系统带宽够用吗?


人们常犯的一个错误是过分简单地评估系统所需要的带宽。应当正确地分析每个具体数据流需要带宽的总和。例如,对于视频解码器,你首先要考虑解码所需要的读取数据的带宽,然后还必须考虑产生祯解码顺序所需要的各种数据通道。这可能涉及到内部存储器和外部存储器之间多个缓冲器传输。最后,还得考虑通向输出设备的显示缓冲器。


分析完全部数据流之后,下一步是将这些单项带宽要求合算成总体的系统预算。切记影响系统带宽预算的几个因素,包括预期的从DRAM接入方式带来性能下降、基于内部总线仲裁的数据流限制以及其他因素。


5 数据是怎样进出芯片的?


一定要仔细检查处理器的外设,确保它们适合你的应用。合适的外设组合无须使用支持接口的外部电路从而节省时间和成本。当然,你可能会想改变设计的连通性,因此最好选择一款具有灵活且充足外设的处理器。


6 这种处理器符合便携式应用要求吗?


电池供电系统规定了一整套全新的应用要求。它们需要一种小封装、低功耗的处理器。通常情况下,这种限制涉及到处理器性能和功耗之间的折中,所以显然不适合多媒体应用的处理器不会有发展前景,因为这样的处理器在执行不适合它们的任务却要耗费较大的功耗。


7 目标应用需要定点处理器还是浮点处理器?


如图1所示,只需要少量的浮点功能的应用的设计工程师被限制在“灰色区域”中,经常被迫使用高成本的浮点处理器。然而今天一些定点处理器能够以很高的时钟速率运行,只要有合适的体系机构,就可以像浮点处理器一样工作。这种方法允许设计工程师使用低成本、低功耗的操作替代浮点运算。当然,这种方法并不适用于浮点密集型应用,但是它为设计工程师提供了“继续保留在灰色区域”中的诱人机会。


8 系统以后可能需要改变还是永远不变的?


如果有可能需要改变系统以便适应新的媒体格式、用户界面功能等类似的变化,那么我们就可能需要可编程器件(如DSP、MCU或者FPGA)。如果系统要求固定并且改变的可能性很小,那么固定功能的专用集成电路(ASIC)应该是合适的选择。


9 需要操作系统吗?


由于需要开发工具,许多开发商都需要操作系统(OS)。如果一个公司有很多应用都基于一个特定的OS,那么其必然有强烈的动机来选择一个支持其OS的处理器。如果你可以随便选择OS,那么需要考虑以下一些因素。你可能需要一个低时延、支持多任务处理,或者允许多个用户同时访问系统的处理器。相反,如果只需要提供基本的服务,那么只需要一个轻量级的OS。当然,许多应用根本不需要OS,因此这一直不是主要考虑的问题。


10 怎样利用处理器开发?


这是个非常重要的问题,因为一套强大的开发工具能够显著地提高生产力、缩短开发和调试时间。重要的是,我们要知道这个问题像取决于最终应用一样取决于具体开发商的需求。许多公司利用某种开发工具包已经建立起了经验数据库,并且可以按照他们的意愿建立大型的代码库供其使用。


当你换到一个新的处理器平台的时候,这些开发工具就变得特别重要。例如,一个强大的C/C++编译器能够很容易地将已有的源代码转移到一个新的平台上,而且有多种优化选择(如速度、功率或者代码密度的优化)能帮助设计工程师实现他们的开发目标而不用花很多精力掌握处理器指令集和结构的要点。


11 如何快速验证软件算法?


如前所述,用C或C++写的代码可以很容易地移植到一个新的处理器上。移植C代码的主要问题是外设代码通常对于每一系列处理器是不同的。不过,如果代码使用设备驱动,可以简化代码变换,因为驱动去除了具体的外设操作。


此外,当你进入新的嵌入式媒体处理器时,你应该检查有什么可用的功能可以帮助你以更高的抽象度进行编程。工程师在原型设计阶段长期使用MATLAB/Simulink(Mathworks公司)或者LabVIEW(National Instruments公司)。这些工具能够生成代码实现一些嵌入式目标。由于这些开发工具容易建立硬件原型所以支持选定的媒体处理器。此外,这些开发工具在将原型转化成产品方面已经有了长足的进步。


12 如何轻松地建立一套完整的原型系统?


你还应该考虑评估硬件。评估工具套件能够评估所有外围设备吗?如果不能,那么你最终可能需要搭建专用硬件来测试外设。评估工具套件能够与其他你感兴趣的评估板一起使用吗?例如,Micron和Omnivision公司提供能够测试他们照相机的CMOS传感器评估板。你也能把这些功能加入你的评估套件吗?


13 愿意花多少钱?


这是一个重要的问题,但是你很可能得到一个错误的答案,除非你考虑了整个系统的设计成本,即你需要考虑:处理器本身的成本、对支持芯片的需要、封装的选择以及可提供额外的一些处理能力为将来提供更大的扩展空间。

[1] [2]  下一页

,怎样选择嵌入式媒体处理器
关于《怎样选择嵌入式媒体处理器》的更多文章