打印

视频处理设计中FPGA与DSP方案的比较

[复制链接]
618|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qaz098xsw|  楼主 | 2018-11-28 13:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
视频处理设计中FPGA与DSP方案的比较




DSP:
   
大多数DSP均是采用哈佛结构,即数据总线和地址总线相互分离,使得指令和数据的存取可以同时进行,以提高处理效率。另外,还采用流水线技术、多条指令并行执行的技术,来进一步提高处理速度。
   
另外为了便于使用,还配置多种外部接口,如专用的音视频捕捉端口、DDR/FLASH接口、PCI、I2C、UART等接口,以便于同外部芯片和设备进行无缝连接。
   
如果非要同FPGA相比较的话,那么从工作原理上来看,DSP最有别于FPGA的是:DSP是通过一条条(或一包包)指令的串行执行,来实现数字信号处理功能。
   

FPGA
   
FPGA内部是大量的硬件资源:数目众多的逻辑单元阵列、输入输出模块、乘法器、内存、收发器、丰富的连线资源。FPGA就如同一块PCB板,板上拥有大量而丰富的硬件资源和连线资源,设计人员可以通过画原理图的方式来进行设计(当然也可以用硬件描述语言),将所需的硬件连接起来完成一个特定的处理功能。
   
因此,同DSP相比,FPGA并不是通过一条条指令的串行执行来工作的,而是完全是通过硬件逻辑和时序来实现的你所要求的功能。可以将它理解为是无需软件就可以完成特定功能的硬件电路。

   
简单而言:
   
DSP是软件实现方案,处理功能是通过指令的串行执行来实现的。
   
FPGA是硬件实现方案,处理功能是通过硬件并行工作来实现的。
   
基于上述区别,在视频跟踪应用中,对采用DSP和FPGA两个方案,我们可以做如下比较:
   

   
1.处理延迟
   
在视频跟踪应用中,我们总是期望正确的目标位置信息能够尽快可靠地获得,也就是处理延迟尽可能小,这样,可以提高系统的响应带宽,从而能够更加快速稳定地跟踪目标。
   
DSP处理流程,一般是先捕捉到一帧图像,然后通过图像跟踪算法,获取目标位置。因此从捕捉一帧图像的开始    ,到输出结果,延迟是一帧时间 + 处理时间,如果图像每秒100帧,则输出延迟 = 10ms + 处理时间。
   
FPGA是硬件并行处理的,因此在图像捕捉过程硬件就开始并行进行计算,一帧图像结束,结果也就同时出来了,因此如果图像每秒100帧,那么最大输出延迟不超过10ms。
   

   
2.工作频率
   
DSP是通过指令的串行执行来工作的,因此,为了提高运行速度,DSP的内部工作时钟高达数百MHz已属正常,有的甚至高达GHz,且外部存储芯片的工作频率也很高,如高达800MHz的DDR等。
   
而FPGA是通过硬件工作的,为了提高处理速度,可以通过大量的硬件来并行工作。有人曾做过这样一个试验:对一个图像进行中值滤波,采用FPGA,只需要运行在25MHz,因为FPGA是通过硬件并行实现该功能的,而DSP要达到同样的性能则需要运行在超过1.5GHz频率。
   
工作频率对芯片的功耗、电磁兼容性等都有极大的影响,工作频率越高,功耗显然也越高,电磁兼容性也会更差。
   

   
3.芯片的使用
   
DSP作为一个通用的器件,一般需要配置外部DDR、FLASH、接口芯片等才可以工作。,而FPGA则不需要,FPGA内置的大量而种类丰富硬件及连线资源 , 一般单片就可以构成系统 ,即所谓的SOC(片上系统)概念,从而降低系统的功耗、体积、重量。高度集成的SOC系统,也提高了系统的可靠性。
   

   
4.开发难易
   
DSP的开发属于软件开发,因为软件是基于指令,指令是所见即所得的,因此,开发者的大部分时间是放在算法和软件的设计与优化。
   
FPGA的开发属于硬件开发,信号的延迟会导致所见并不所得,开发者的大部分时间用于时序的约束设计和仿真。因此开发难度大。

相关帖子

沙发
kkzz| | 2018-12-1 22:09 | 只看该作者
DSP适用于系统较低取样速率、低数据率、多条件操作

使用特权

评论回复
板凳
hudi008| | 2018-12-1 22:09 | 只看该作者
DSP+FPGA 处理

使用特权

评论回复
地板
lzmm| | 2018-12-1 22:09 | 只看该作者
FPGA是并行的

使用特权

评论回复
5
minzisc| | 2018-12-1 22:10 | 只看该作者
DSP侧重于核心算法

使用特权

评论回复
6
selongli| | 2018-12-1 22:10 | 只看该作者
DSP 和 FPGA 是嵌入式开发处理器的三大巨头之二

使用特权

评论回复
7
fentianyou| | 2018-12-1 22:10 | 只看该作者
FPGA实现算法

使用特权

评论回复
8
xiaoyaodz| | 2018-12-1 22:11 | 只看该作者
FPGA主要是做逻辑电路

使用特权

评论回复
9
febgxu| | 2018-12-1 22:11 | 只看该作者
现在很多框架都是基于DSP和FPGA的组合平台

使用特权

评论回复
10
sdlls| | 2018-12-1 22:11 | 只看该作者
算法的实现和数字滤波?

使用特权

评论回复
11
pixhw| | 2018-12-1 22:12 | 只看该作者
FPGA主要对高速数据进行预处理,降低数据的速率

使用特权

评论回复
12
fentianyou| | 2018-12-1 22:12 | 只看该作者
DSP会被FPGA取代吗?

使用特权

评论回复
13
kkzz| | 2018-12-1 22:12 | 只看该作者
FPGA内部的连线资源将这些功能模块的内部和模块之间的信号连接起来

使用特权

评论回复
14
selongli| | 2018-12-1 22:12 | 只看该作者
                     

使用特权

评论回复
15
hudi008| | 2018-12-1 22:12 | 只看该作者
板卡都是DSP+FPGA架构的

使用特权

评论回复
16
minzisc| | 2018-12-1 22:12 | 只看该作者
,FPGA侧重于外围控制处理。

使用特权

评论回复
17
lzmm| | 2018-12-1 22:12 | 只看该作者
用来处理速度要求高,运算结构简单的大数据

使用特权

评论回复
18
pixhw| | 2018-12-1 22:12 | 只看该作者
然后将数据送给DSP,去实现复杂的算法

使用特权

评论回复
19
sdlls| | 2018-12-1 22:12 | 只看该作者
                                   

使用特权

评论回复
20
febgxu| | 2018-12-1 22:12 | 只看该作者
DSP作算法,FPGA作逻辑时序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

632

主题

842

帖子

3

粉丝