您现在的位置是:首页 > 数字电源 > 技术解析

高手对于FPGA/DSP的理解

时间:2018-01-26 来源:

这世界真是疯了,貌似有人连FPGA原理是什么都不知道就开始来学习FPGA了。

DSP就是一个指令比较独特的处理器。它虽然是通用处理器,但是实际上不怎么“通用”。技术很牛的人可以用DSP做一台电脑出来跑windows,而实际上真正这么干的肯定是蠢材。用DSP做信号处理,比其他种类的处理器要厉害;用DSP做信号处理之外的事情,却并不见长。而且信号处理的代码一般需要对算法很精通的人才能真正写好。

数据结构里面的时间复杂度和空间复杂度在这里是一把很严酷的尺子。 FPGA只不过披着软件的外衣,实际上是硬件。FPGA内部有两层相对独立的电路。使用者“编码->编译”后生成一个映像,这个映像作用于第一层电路。这层电路之际上就是一个0,1的开关矩阵,这个开关矩阵用来控制第二层工作电路,将第二层工作电路配置成一个相应的处理器。

理论上FPGA可以配置成任何需要的处理器,而实际上为了尽量少出bug,FPGA开发都使用已经开发好的“库文件”,也就是把人家能稳定工作的电路图拿过来。

因此,对大多数FPGA开发者来说,FPGA内部有几个核基本上只能从库文件里面选——除非你有能力自己设计核心内部的电路和核间总线——ram和rom也是用宏来配置,自己只需要改改外部的专用电路和接线方式等等。

甚至外部的专用电路都有库文件,搭个积木就完事了。玩FPGA真正挣钱的人是做积木的人,你原创几个积木并且能申请专利,迫使人家给你交专利费,那你这辈子可以衣食无忧了。

FPGA区别于ASIC设计属于硬件设计的范畴ASIC是硬件全定制FPGA是硬件半定制. 具体来说ASIC整个电路都由设计师设计的,用多少资源设计多少资源 一般多用于产品设计. FPGA资源事先由厂商给定,例如Altera Xilinx等都提供不同系列的FPGA芯片,设计师可以在给定资源下做硬件设计开发.

DSP主要用于处理信号,事先算法,特点是多级流水,可以加快数据处理的速度,开发环境主要是C语言,可以说DSP应用的范围更专DSP的设计. 可以理解为软件设计,设计师不需要太了解DSP的结构.

补充几个小概念

DSP愿意就是指数字信号处理 只不过DSP芯片由于主要功能是实现数字信号处理 实现各种算法 所以简称为DSP(数字信号处理器).

FPGA一样可以做DSP(数字信号处理),就意味着可以用FPGA做硬件设计来实现DSP芯片的功能,当然,相比较专业的DSP芯片 成本太高.

现在除了FPGA和DSP之外还有一个近几年热门的产品 ARM. ARM主要应用与手持设备和嵌入式产品,几乎笼罩了90%的市场份额,可以说ARM开发也偏向于软件开发,设计者主要是讲wince系统或者linux系统移植到ARM开发平台上,然后做各种软件应用开发.

所以 这三个方向都有其不同的应用场合,很难讲谁更有前途,不过,作为我个人而言,更喜欢做硬件设计,所以我选择FPGA作为自己的方向 FPGA.

主要是给设计者提供了一个硬件平台 开发的核心还是需要独立的应用设计和高效的算法设计 所以设计者应该处理好工具的掌握和具体设计的区别 FPGA:并行处理,内部资源多 DSP:成本低,低功耗,高性能的处理能力。具有强大的外部通信接口(SCI,SPI,CAN)便于构成大的控制系统。

特点:

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

本人认为FPGA更有前途,DSP其实只是个特殊的处理器,有专用的硬件乘法器,有桶形移位器可以把数据从存储器移到ALU,还有流水线等技术。

但FPGA同样可以完成这些功能,并且FPGA是并行工作的,现在很多FPGA内部可以使用软DSP或者硬核的DSP,当你的项目需要时序很严格的情况非FPGA莫属。

比如说用DSP和USB芯片CY68013进行FIFO(同步传送)数据时,IFCLK可以是外部或内部,USB芯片在(IFCONFIG的IFCLKSRC里配置)。如果IFCLK使用内部的情况下,DSP根本无法知道我把数据送到FIFO数据端口后USB芯片内部时钟过了多少周期,但FPGA就可以,因为FPGA的时钟取自于USB芯片的48M输出,在FPGA内部做一个状态机,当数据送到USB芯片的FIFO数据端口时,下一状态把SLWR拉低,再下一状态拉高,就等于USB内部过了一周期,数据就写进USB芯片内部的FIFO了,我只是举个简单的例子,很多关于时序的案例非FPGA莫属,DSP做算法快速,成熟,FPGA更有挑战,据我的经验,FPGA现在内部起码有很多核是可以用的,这像一个可配置的单片机,不用的我就不放进项目。以ACTEL的FPGA来说,用的比较多的软核是:Core8051S、CoreABC、微处理器软核,特别说明CoreABC占用的空间非常少,可以裁减指令,可以配置数据宽度8,16,32,有1组通用输入端口和输出端口,可配置堆栈。

CoreDES,CoreAES128,CoreFROM,CoreI2C,CoreGPIO,CoreInterrupt,CoreLPC,CoreSDR,CoreUART,还有很多很多,看这些名字,很多人都知道干什么用的。 关于DPS,FPGA,AME你如何看待呢?哪个是你的最爱?

换一批

延伸阅读

[图酷] ARM+FPGA

ARM+FPGA

基于ARM+FPGA的高速同步数据采集方案,主要包括以下几个部分:ARM控制器、存储电路、FPGA逻辑控制电路、A/D转换电路、FIFO缓存、电源电路、接口电路等。......

关键字:

[趣科技] 活甲虫背上这个“背包”,人类就能控制它了

活甲虫背上这个“背包”,人类就能控制它了

如果你时长担心机器人未来某天将推翻人类的统治,那机械昆虫的存在可能会让你在晚上更加难以安睡。......

关键字:科技 趣闻 控制器

[疯狂史] 从汇编、C语言的起点出发,到从事FPGA开发的漫漫十年

从汇编、C语言的起点出发,到从事FPGA开发的漫漫十年

从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表、抢答器、密码锁等实验时那个兴奋劲。当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建......

关键字:FPGA 开发

[新鲜事] 100块就拿走!Intel推迄今最便宜电脑

100块就拿走!Intel推迄今最便宜电脑

售价15美元的Quark微控制器开发工具包D2000,可能是英特尔推出的有史以来最便宜的一款计算机。 ......

关键字:Intel 计算机 微控制器

[趣科技] 像癌症一样传播:世界首个PLC病毒问世

像癌症一样传播:世界首个PLC病毒问世

这是第一个无需借助PC或其他系统,即可实现在PLC之间进行传播的蠕虫病毒。......

关键字:科技 PLC 可编程控制器 蠕虫病毒

[真心话] 致青春 FROM:一只嵌入式行业摸爬滚打数十载的老鸟

致青春   FROM:一只嵌入式行业摸爬滚打数十载的老鸟

作为一名在嵌入式行业摸爬滚打许久的老鸟,回想自己的经历之路,那么漫长可又仿佛近在眼前。——此文仅献给那些刚刚踏上硬件之路和还在徘徊的同学们,在此我简要的记录了我的学习经历和其间自己所获的一些心得,以帮助初学者少走弯路。......

关键字:工程师 嵌入式 FPGA

[趣科技] 超人不是梦!望远隐形眼镜来了

超人不是梦!望远隐形眼镜来了

近日,光学专家埃里克·特伦布莱向公众介绍了他的最新研究—带有缩放功能的隐形眼镜。该隐形眼镜今年早些时候在加州圣何塞举行的美国科学促进会年会上曾经揭晓。 ......

关键字:科技 视觉 控制

[趣科技] 美瘫痪男子大脑植入芯片 电脑控制手臂自主吃饭

美瘫痪男子大脑植入芯片 电脑控制手臂自主吃饭

据报道,一名瘫痪男子八年来首次可以自己吃饭,因为医生在他的大脑中植入了传感器,能够向他的手臂发出信号。......

关键字:芯片 电脑控制手臂

[趣科技] 岛国人民太会玩:给电池戴了个套套,结果...

岛国人民太会玩:给电池戴了个套套,结果...

近日,日本众筹网站上出现了一款名称超不文雅的产品(简直就是脏话),他们众筹的目标是500,000日元,最终却是以3,832,840日元完成众筹,超乎他们意料!还是跟大家说说它的芳名吧!“麻痹”(MaBeee),没错......

关键字:电池 电池套 智能科技 控制
发表评论 共有条评论
用户名: 验证码:

抖频开电源中“抖频”的实际意义是什么?

抖频开电源中“抖频”的实际意义是什么?

抖频开电源,其中“抖频”的实际意义是什么?

刚接触芯片中集成了这种功能的时候,一……

五个阶段判断你的电路设计能力

五个阶段判断你的电路设计能力

现在网络上广为流传的电路设计能力判断方法,可大致分为两类:一类偏向于“玄学”,比……

充电电路框图及其电路原理

充电电路框图及其电路原理

市售的QFY3A型多功能警用电击器,用于对四只2Ah镍镉电池充电。电路如图所示7-29所示。……

项目外包