AVRARMDSP430FPGA等一些资料全

上传人:be****l 文档编号:71224796 上传时间:2022-04-06 格式:DOC 页数:13 大小:64KB
收藏 版权申诉 举报 下载
AVRARMDSP430FPGA等一些资料全_第1页
第1页 / 共13页
AVRARMDSP430FPGA等一些资料全_第2页
第2页 / 共13页
AVRARMDSP430FPGA等一些资料全_第3页
第3页 / 共13页
资源描述:

《AVRARMDSP430FPGA等一些资料全》由会员分享,可在线阅读,更多相关《AVRARMDSP430FPGA等一些资料全(13页珍藏版)》请在装配图网上搜索。

1、 . 声明:这些资料我都忘了是下载的还是自己收集整理,现在共享出来,希望能帮助在这方面的朋友,本人也是在玩嵌入式,ARM,还在深入当中。以后估计会深入物联网、智能控制、能耗管控、有兴趣交流请加技术企-鹅-1161050791以下部分是本人收集的资料与测试结果;稍微写一下arm-cortex-m3这个核的计算能力,顺便根据前人的经验比较一下51,511T,AVR,cortex-m3的运行速度。先来说说ARM-CORTEX-M3这个核吧,在运算方面,由意法半导体STM32的技术参考手册上写的:1、最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHz(Dhrystone2

2、.1)2、单周期乘法和硬件除法3、部总线最高速度可为72MHZ.说到这里,先说说MIPS,MIPS(Million Instructions Per Second):单字长定点指令平均执行速度 Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。具体请点击baike.baidu./view/120375.htm,当然MIPS同时还指世界上很流行的一种RISC处理器。而MIPS又分两种:DMIPS:DhrystoneMillion Instructions executed Per Second:主要用于测整数计算

3、能力。MFLOPS:MillionFloating-point Operations per Second:主要用于测浮点计算能力。而M3里没有DSP模块,所以他给的是整数计算能力。1.25DMips/MHz这个速度对于以前玩51(0.20.5MIPS)的来说那是相当快了,注意啊,你在真正比较时记得乘上频率,stm32的一般是72MHZ,是通过对8MHZ的外部晶振进行PLL倍频得到的,对于这个设计,个人认为非常好,因为在电路板设计时,太高的频率必将带来电磁兼容问题,各种资料把大于20MHZ的电路部分归为高频部分,其实个人认为只要超过12MHZ的电路就将引起一些你意想不到的问题,在那些高精度的测

4、控系统里面假如有高频部分,他将采取4层板的设计来解决,硬件电路设计时需要更多的考虑,这必将引起开发成本和系统的复杂度增加,在这里我说一下关于STC增强型51和AVR,个人觉得优先使用AVR,因为STC增强型51的指令据说并不完全是1T的,是靠大于20MHZ的运行频率来获得较高的运算速度的。一个电路板有那么几个高频干扰就会让一个硬件工程师头痛,毕竟EMC问题说难也是个难题。关于这个1.25DMips/MHz的速度,个人表示认可,最近我在测试它的运行速度,比如for(这里指单个循环)、if、switch等等指令都是在几十个或者十几个纳秒就完成了,关于浮点数,这里有人在网上发过一个:CM3在IAR、

5、50MHz下的浮点运算速度(理论平均值,不考虑等待,本人觉得时间应该更短):加:1.2us减:1.2us乘:1.0us除:1.6us也是相当快的,在这特意贴出C8051在KEIL、50MHz(个人表示一般都用11.0592的)下的浮点运算速度(理论平均值,不考虑等待):加:3.46us减:3.58us乘:4.5us除:17.54us我用STM32测过一个关于卡尔曼滤波的程序(72MHZ),是带矩阵的,这个程序整个部运算数据都是浮点型的,里面涉与协方差等等各种七里八怪的计算(其实我也没怎么看懂,但会用了)。测试的运行时间大约为200us,(有前辈说在AVR上面跑大约1个毫秒,),假如你在往卡尔曼

6、滤波器送数据之前还要取数据、关系运算与处理的话估计也就满打满算300us,这样的速度就可以让你处理比较复杂的问题了。个人知道的比如对舵机的精确控制,舵机信号的时间精度是可以达到1个微秒的。所以我以前用AT89C52控制舵机的精度是非常低的,太细的精度会使单片机一直在定时器程序里面跑死。而用ARMV7架构的cortex-m3就不存在这样的问题。所以在很多领域,都出现了STM32的身影。他可以应付比如复杂的滤波算法以与PID控制。假如你还不满足,你还可以使用带DSP特性的M4,它里面有一个FPU。我目前手上有一个M4核的开发板,数字语音处理什么的都有,假如牛逼可以尝试语音识别。毕竟带DSP特性是A

7、RM芯片的一大亮点,连我们的DSP老师觉得现在的DSP不如ARM了。这个芯片主要是挤占32位单片机和低端DSP的市场,以后估计也是这种趋势了,向带DSP特性的微型控制/处理器发展。关于一个东西你到底是选择DSP还是ARM,就请自己考虑,关于这些的比较,本人这有一个别人写得比较好的文档,文档就附在下面。关于M3与M4的比较,请点击avr.eefocus./article/12-07/52070.html?sort=1098_1102_0_0自己去看我就不多说了。还有一个对运算帮助相当大的就是DMA功能,这一点主要是针对STM32说的,和cortex-M3的核没太多关系。关于DMA的介绍请点击ba

8、ike.baidu./view/32471.htm为什么呢,因为你在处理数据的时候一般都不喜欢被其他中断打断,浪费时间,而在STM32里面,你可以设置DMA,让数据不经过中央运算单元,而是通过总线矩阵直接放到存里面保存,这可以大大减轻中央处理单元的负担,这个在ADC,SPI,USART,CAN,I2C中非常有用,你设置了一个传送带之后就没啥事了,就只剩下取东西了,多好多方便。/*个人整理某位大师的解说分析*/AVR是MCU(单片机)中的一种,属于Atmel的产品。是8位精简指令集的MCU。MCU(单片机),顾名思义就是微型控制器,国人形象翻译为单片机器(single chip computer

9、),功能使用很广,家用电器到航天航空均有应用。(详见百科)DSP:Digital Signal Processing ,数字信号处理。基础课程为 复变函数 信号系统 数字信号处理等 。DSP 有专门的芯片,也可支持浮点运算,对于一般的 拉普拉斯 傅立叶变换等,一般不在话下。 当然某些 高档的 单片机 也带DSP功能。 DSP常用于 数字解码,视/音频 、图形、图象处理 ,噪声处理 等 等等PLC:Programmable Logic Controller 可编程逻辑控制器,相比MCU而言 ,PLC 具有更强的控制驱动能力,但主要用于工业自动化 与 工业控制领域,其特点在于 可视化 梯形图编程,

10、外围电路简单,部保护充足。足够强大PLC在应用起来相比设计复杂的MCU外围电路在应用MCU要略显简单。但其应用成本高,通常应用在大型工业系统。ARM:Advanced RISC Machines 高级精简指令处理器,就是常说的嵌入式处理器,可以简单理解为高级单片机。其位数为32位,运算能力更强,逻辑控制更优秀,市面上也有很流行的嵌入式操作系统,如:uC/OS uCLinux vxWorks WinCE等等。就业来看,个人观点,单片机和ARM不要分家,都必须掌握,只会8位的MCU已经没有竞争力了。对于嵌入式系统熟悉一两样为好。可以从最简单的uC/OS入手,ucLinux也很流行。如果能够学好DS

11、P,并掌握其基本用法和部分应用,“钱”途无量。这要求你,具有良好的高等数学基础,良好的信号系统分析基础能力。当然,兼并硕士学历更有竞争力。PLC,如果你去从事相关职业,切记,你已经不属于电子领域了,更明确的说是工业控制与自动化畴,目前挣钱还是可以的。这样会长期接触大型工控设备。出差安装调式会很多。 1我以为这样比没有意义,做嵌入式系统最大特征是“嵌入”二字,也就是说你的控制系统是嵌入于你的控制对象之中,所以首先是服从于对象的需求和特征,脱离对象空论谁好谁坏有何依据?每个MCU都有其存在的价值,每个使用者的选择都有其道理,AVR开始时是以单时钟周期指令为卖点,相对于当时 12个时钟的经典51确实

12、有优势,而且基于CMOS的特征,时钟越高功耗越大,所以它在能耗上似乎明显占优。可随着技术的改进,51现在已经早就有了4时钟周期,2时钟周期乃至单时钟周期的芯片了,此时AVR的速度优势已不存在。如果考虑最高时钟限制,读者可以比较一下,似乎AVR的速度还不如某些51快。如果考虑开发成本,那就更难说了。至于ARM,有其优势、有其劣势,关键看你依附的对象需要什么?你的产品最终定位如何?如果产品利润空间较大,MCU所占成本有限,不妨提高档次,也算是个宣传素材,同时为后续升级留有余地。如果产品需精打细算,数量庞大,省1分钱都能带来巨大的利润,那MCU则是够用即可,哪怕开发再不方便,那也只是一次开支,何况中

13、国的工程师并不贵 : (所以,学习单片机无所谓选那款,关键在于你能否掌握其本质,快速的触类旁通,你的产品是否成功就在于你能否最佳的选择好符合嵌入对象特征的MCU。一点拙见,仅供参考!2.我感觉AVR最大的特点就是同时可以操作两条指令,其实AVR就是RISC精简指令的一个优化,但AVR不能像ARM一样可以运行多种操作系统,虽然可以运行操作系统,总体载能不如ARM,但是感觉其应用相对ARM比较简单,很容易上手,ARM的运算能力虽然强于AVR,但是感觉要与操作系统配合使用才能体现其优势,可是嵌入操作系统又是一个相对复杂的系统,需要花费较多的时间去理解、消化,感觉ARM的最大优势是运算能力强大、移植性

14、强,一般应用在较高档的仪器、设备中;这也是我想要学习ARM的原因。3.比较AVR和ARM,谈谈一样与区别 AVR我用过2个月,ARM我只看过2本书,所以,说的有错请各位指教。 这里我们讨论的AVR和ARM都是泛指,就是说,包括所有机器指令集和这两个体系的都通用的众多芯片,不单单指某项技术或者某块芯片。 首先是一样点,两者都是现代的CPU设计例,基于RISC的指导思想,在体系设计初期时就充分考虑到了CPU核面积,速度,高级语言支持等很多因素。又吸取了51、x86等20年前就商业化的体系所暴露出的问题,所以从现代眼光来看,都是非常先进的设计。最重要,GCC对ARM和AVR都提供了相当好支持,而且可

15、以免费使用。网上,特别是外国网上都有很多开放资源可以参考。两者在国都属于市场引入阶段。销售方面,各有两大著名国MCU公司做代理,而且巧合的是都是来自的奸商(哈,开玩笑,勿当真)。 AVR和ARM的区别就比较多了: ARM是IP核,可供各大芯片商集成到各自的设计中,好比是软件语言中的C+,如果你想换一家厂商或者某家的货太贵,都会有其它的厂商来竞争,至少从理论上,你不会被一家厂商套住。AVR这方面就差点,ATMEL一家,别无分号。你只能在他的系列中选一个型号,无法选厂家。好比是软件语言中的Java,虽然现在免费(指Java的SDK,不是AVR)或价格低,但市场前景更多的掌握在厂商手中。 实际产品成

16、本方面,AVR优于ARM,毕竟AVR是8位机,配什么外设都便宜,由于速度比ARM低,PCB版也好设计,20MHz的数字电路基本上只要通就行了,不用过多考虑信号完整性什么的。而ARM的速度能轻易上100MIPS,32位的CPU也不是吹的,速度上AVR根本没法比,不过带来的问题就多了,要4层PCB,而且外设也贵多了。 功能方面,ARM大大优于AVR,ARM可以做PDA,手机,AVR显然不行,最糟糕的是ARM上可以跑Linux,Linux可以做多少事啊,虽说国实际在ARM平台上跑出Linux而又愿意公开技术的人几乎没有(我正在努力朝这个方向发展),但前途绝对是光明的。功能上的优势意味着ARM比AVR

17、有着更广的应用围,所以,双龙耿先生所说的“中学用AVR”如果是对的话,大学里就应该用ARM。 外设方面AVR稍强,实际上我们可以看到Atmel公司的基于ARM核的AT91M55800A包括了很多AVR的外设,但还缺TWI/I2C,可变增益ADC,EEPROM等好用的部件。但毫无疑问,ARM的外扩外设能力比AVR强的多,所以外设方面算平手吧 操作系统和软件源码资源方面,ARM拜Linux之赐,比AVR有优势点。但AVR上的嵌入式操作系统也不是没有,uC/OS-II就不错,如果能在Mega8515等便宜的芯片上跑起来的话,我看350元的ARM版也难卖,这一点双龙不知有没有计划? 调试手段方面,AR

18、M应该优于AVR,AVR就一个JTAG接口的仿真器我个人还可以买一下,但所支持芯片有限,ARM方面书上有相当多的方法调试,这里我不熟也缺经验,就不瞎说了。 最后来个有个性的结尾,鉴于GCC对AVR和ARM的支持都很好,所以我决定都好好学,这里顺便给GCC打个广告,大家也看得出RISC的MCU最好还是直接使用C语言,GCC编译器显然是最明智的选择。ARM Vs MSP430MSP430会向着专用,更低电压,更低功耗的方向发展,不求功能大而全。应该会有更多的型号出现以供不同场合的测量使用。430的编程方法是在低功耗模式与任务之间切换来降低系统功耗,满足便携和节能的要求。ARM是基于软核的高级精简指

19、令机,高端应用方面比如嵌入式系统的主板开发,要求各种接口齐备,硬件的软实现相对容易降低成本,普与使用。ARM需要跑操作系统,如ucos,wince,linux等等,主要由于嵌入式系统开发往往是多任务,实时性强。ARM Vs Coldfire嵌入式处理器讲求的不是速度冷火不会慢慢死掉,它有相当悠久的传统和光辉的历史,只不过ARM在国的市场做得太好了,冷火的知名度就受到很大的影响。其实华恒的冷火系列开发板卖的如火如荼的时候, ARM在国还没有形成气候,只是在2003年的时候,ARM7、ARM9才开始风靡起来,当时在嵌入式领域,最热门的关键词应该就是2410开发板了,呵呵。冷火最早的时候是68K,最

20、初应用于APPLE上,比INTEL的8088还早。1992年的时候,68K芯片的销售量几乎是当时市面上所有其他嵌入式处理器(包括ARM、MIPS、PowerPC)销量的总合。即使是现在,我们知道,我们做的一个IP机顶盒的客户,对华恒来说是比较大的客户了,他们走量是以十K为单位的,在飞思卡尔那边就还算是小客户,呵呵,冷火系列芯片不过时,现在在国只不过是知名度的问题。冷火系列的处理器型号有很多,各自的特点不同我就说一下MCF52X系列吧,前一段时间华恒和飞思卡尔一起做技术培训、市场推广,我也就需要研究MCF52X了。这款处理器主要用在控制方面,最大的特点就是成本优势,不要看这一颗芯片的价格好像不高

21、,但是它芯片部的SDRAM和FLASH,完全能够胜任小巧紧凑的RTOS的运行需求,做成低端产品的整机成本就非常具有成本优势了。华恒现在有基于MCF5213的学习板,运行的是uC/OS操作系统。具体介绍可以看看 hhcn./chinese/coldfire/HHCF5213-R1.htmColdfire产品现在有四个系列V1/2/3/4 高端的V3/V4国应用很少看到。目前国用得较多的是V2核系列。在这一系列具体型号分类也很多。楼上提到的CF5213为单片式方案。其他很多型号的芯片为外扩程序数据存储器方式。最小的单片式的CF5211配置为:主频80MHZ max带MAC和硬件除法器16KB SR

22、AM,128KB FLASH 程序存储器4-ch32-bit 4-ch16-bit 定时器8-ch 12-bit ADC3-ch UARTI2C;QSPIBDM/JTAG调试接口,免费128K版CW支持64PINLQFP封装的1万片公开参考价格 US$4.99ARM Vs DSP1.ARM处理器有包括系统模式,用户模式等工作模式,并且每种模式下都有相应的专有通用寄存器,因此可以快速地实现不同模式的切换,这对于操作系统来说是非常有益的,但是DSP,没有这方面的考虑。另外,由于ARM核与片外设通过VPB相连,因此两者相对独立,这样,ARM的片外设的搭配也更加灵活。不知道说得对不对,毕竟,对DSP得

23、了解不多。欢迎指正2.主要是两个的作用不一样。ARM是32位RISC芯片,手机数码产品和工控上用,可以理解成CPU,可以上个OS也可以直接当单片机用。而DSP是作数字信号处理的以TI的东西为例2000做控制5000处理静态图象,6000处理动态图象,8000是多DSP联合控制用的。3.ARM是一个公司的名字,DSP=DIGITAL Signal ProcessingARM公司设计了多种CPU核心,是以32位RISC核心为主,以ARM设计的CPU核心做的芯片被俗称为“ARM芯片”,但严格地说通常的ARM芯片应该是指以ARM设计的CPU核心做的单片机,以ARM设计的CPU核心制作的SOC芯片一般不

24、被称为ARM芯片。所以楼主所说的ARM芯片就是一种高级的通用单片机。DSP=DIGITAL Signal Processing,即数字信号处理;与“ARM芯片”这个俗称一样,“DSP芯片”是TI公司生产的一系列带DSP功能单片机的俗称。总结一下,“DSP芯片”是带DSP功能的单片机,“ARM芯片”是带或不带DSP功能的单片机;如一定要讲区别,若不考虑DSP功能,“DSP芯片”比“ARM芯片”在功能上弱很多,如楼上讲的多种模式、跑OS、MMU、多种外设等许多差别。4.ARM(ADVANCED RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器

25、、相关技术与软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以一样的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。这里有一篇介绍ARM结构体系发展介绍。DSP(DIGITAL singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片包括有控

26、制单元、运算单元、各种寄存器以与一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有

27、可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期可完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据; (3)片具有快速RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环与跳转的硬件支持; (5)快速的中断处理和硬件I/O支

28、持; (6)具有在单周期操作的多个硬件地址产生器; (7)可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。区别是什么?:ARM具有比较强的事务管理功能,可以用来跑界面以与应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。都酷了就再补充点儿,还是随便说说DSP的优势主要是速度,它可以在一个指令周期中同时完成一次乘法和一次加法,这非常适合快速傅立叶变换的需求。DSP有专门的指令集,主要是专门针对通讯和多媒体处理的;

29、而ARM使用的是RISC指令集(当然ARM的E系列也支持DSP指令集)是通用处理用的。一个非常形象的比喻是ARM是高级房车,而DSP是高级跑车。不过也有一种双核芯片是用DSP取指并做运算,当浮点运算量较大时ARM协助处理平时ARM只负责外围控制。不同应用需求的驱动也是一个原因吧任何技术要能良好发展,总离不开市场的驱动arm可以称为高性能的单片机,传统的单片机性能无法满足要求后,人们就开始寻求更高性能的单片机,于是在这批用惯了单片机的用户的需求驱动下,arm开始逐渐发展而dsp是面向那些追求高速计算的用户准备的这是两个独立发展的方向,每种技术都保持自己的个性,发展到现在一家之言,呵呵.5.存储器

30、架构和指令集特点不一样单片机为了存储器管理的方便(便于支持操作系统),一般采用指令、数据空间统一编码的诺依曼结构。 DSP为了提高数据吞吐的速度,基本上都是指令、数据空间独立的哈佛结构。单片机对于数字计算方面的指令少得多,DSP为了进行快速的数字计算,提高常用的信号处理算法的效率,加入了很多指令,比如单周期乘加指令、逆序加减指令(FFT时特别有用,不是ARM的那种逆序),块重复指令(减少跳转延时)等等,甚至将很多常用的由几个操作组成的一个序列专门设计一个指令可以一周期完成(比如一指令作一个乘法,把结果累加,同时将操作数地址逆序加1),极大的提高了信号处理的速度。由于数字处理的读数、回写量非常大

31、,为了提高速度,采用指令、数据空间分开的方式,以两条总线来分别访问两个空间,同时,一般在DSP部有高速RAM,数据和程序要先加载到高速片ram中才能运行。DSP为提高数字计算效率,牺牲了存储器管理的方便性,对多任务的支持要差的多,所以DSP不适合于作多任务控制作用。ARM Vs FPGA1.首先我只能给意见,不强求你的选择权。 第二我只能告诉你如果学完FPGA和ARM都掌握以后是什么样子情况。 了解上面两点以后往下看。 (呵呵,我和你正好是反过来的,我是做的FPGA,到了公司也是做FPGA,但是由于硬件架构问题不得不学习ARM) 我觉得FPGA和ARM孰轻孰重没得比较。但是殊途同归,用经典FP

32、GA结构处理不了的问题就要用ARM来处理,这个是没办法的。器件的最终用途就是帮我们解决问题。 选择1.如果你决定主攻ARM,你学FPGA的优势在于你已经懂ARM了,所以你学习EDA以后有一个优势: CPU和FPGA的联合的架构,这个是一种解决方案,而且普遍被嵌入式所使用(你非要拿手机给我举例我也没办法,笑)因为系统总是分层的,CPU永远工作在应用层,作为FPGA而言,虽然工作在链路层(帮CPU存储数据,速率匹配,接口实现等等)但是这个架构中FPGA需要比CPU跑的更稳定。这个架构的好处就是灵活。CPU外部接口随意扩展,只要自己编写FPGA的程序实现接口就可以。 优势:在了解系统核心算法的前提下

33、,更加了解系统架构。这个是有好处的,因为在使用系统之前肯定是要先架构系统。在上面CPU和FPGA架构下面。FPGA从CPU角度看来充当了存。从底层角度看来FPGA充当了驱动,那么在这种接口下面,FPGA如果不起来,那么ARM启动也只是半残。不能发挥ARM的所有功能。 (我在给软件程序员讲FPGA和pxa255协同工作原理,他们对于FPGA可以复用地址或者透明双块存表示惊奇,可以对同一个地址读写出不同的结果表示惊讶,因为他们不了解FPGA的工作方式。FPGA的灵活性他们体会不到。但是你可以。) 选择2:你主攻FPGA方面。 我觉得学校么,对FPGA和ARM都存在一定量的误解,就好像学生或者少数老

34、师会认为:“linux和windows是差不多的东西”“VHDL是按照VC改出来的”等等,这些可能一定意义上面是对的(而且这个一定意义几乎一个反例就能被推翻)。FPGA现在的功能很强,DSP和CPU都是可以嵌的。而且是软核这点非常好。FPGA现在普与不开的原因主要是成本,本身技术已经成熟。 那么你的优势就在于:你了解FPGA以后,将软核嵌入到FPGA部,此时公司不需要另外找人为你的ARM或者CPU进行配置。参考,可以了解FPGA到底是发展到什么情况: xilinx的市场解决方案:china.xilinx./technology/ altera的市场解决方案: 一句话总结:殊途同归,英雄不问出处

35、,所以学什么,选择什么路不重要,重要的是怎么走和自己的兴趣。 2ARM、DSP、FPGA之间的区别ARM(Adanced RISC Machines)是一个公司名字,也是一种处理器的通称,还可以认为是一种技术名字。主要销售晶片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常说的ARM微处理器,已遍与工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各方面。ARM公司是专门从事基于RISC技术晶片设计开发的公司,作为知识产权供应商,本身

36、不直接从事晶片生产,靠转让设计许可由合作公司生产各具特色的晶片,世界各大半导体生产商(RFID射频快报注:如PHILIPS、TI、Intel、BroadCom、ATMEL等)从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器晶片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列核、体系扩

37、展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以一样的软件可在所有产品中运行,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片包括有控制单元、运算单元、各种寄存器以与一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址

38、总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体

39、积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期可完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环与跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。FPGA是英文Fi

40、eld Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和部连线(Interconnect)三个部分。用户可对FPGA部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件

41、一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA是由存放在片RAM

42、中的程序来设置其工作状态的,因此工作时需要对片的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前做FPGA比较领先的有

43、XILINX、ALTERA公司。ARM具有比较强的事务管理功能,可以用来跑界面以与应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。FPGA目前的趋势是有代替前两者的可能,在FPGA部置入乘法器和DSP块,就具有高速的DSP处理能力。在FPGA置入硬

44、核CPU或软核CPU(Xilinx有powerpc硬核的产品,有microblaze软核。Altera有NIOS II软核)就可以成为既有能实现数字逻辑有适应嵌入式开发的综合性器件了。*dsp数据处理;cpu控制;fpga接口转换 FPGA-通过编程实现电路DSP通过编程指导处理单元完成数据处理与控制CPU嘛,复杂的东东我觉得fpga就是一种可编程的器件,用它也可以实现或者是cpu只不过可能性能达不到要求dsp用作数字信号处理,而cpu是一种控制器,有许多种,比方说通用的如奔腾,还有单片机等cpu是一种电路,而fpga是一种相对于asic的电路实现方法在很大程度上dsp与床铺有些类似,都是进行

45、运算处理数据的,部结构比较复杂,fpga是可以控制的逻辑器件,可以根据需求进行编程。就工作频率上来说,pc机上的cpu以GHz为计量单位;而你见过哪款fpga芯片的频率超过1GHz的,基本上,目前的500MHz就封顶了。单片机低速DSP高速FPGA超高速FPGA可编程器件,用户可以根据各自的需要实现接口协议,协议解析,数据处理,控制,优点是用户可随心所欲的编程。DSP其实就是部嵌有CPU和一些专用数字处理模块(微引擎,乘法电路)的asic,专用于高速的数据信号处理。但是其主要执行过程还是由软件实现的。CPU就是毫无疑问的中央处理器了,它根据用户给出的指令,进行它的操作,其实里面的最基本的还是加

46、乘操作。因为DSP和CPU都是专用集成电路,所以部时钟频率可以做的很高,密度可以做的很高,特别是CPU,往往都代表了半导体的最新最高工艺。FPGA虽然在执行频率上没有DSP和CPU那么高,工艺可能也没有那么先进,但是FPGA可以通过并行处理和流水线,达到比CPU和DSP更高的数据处理能力。而且现在FPGA也嵌了DSP模块和CPU,可以设计成片上系统。对于对CPU要求不高的单板,只要使用FPGA的CPU就可以了,不需要另外再贴块CPU芯片了。因为三种器件各有其优势,所以是谁也没有办法替代谁。主要的竞争在FPGA与DSP,低端CPU之间展开。DSP是软件实现算法FPGA是硬件实现算法,所以FPGA的处理速度会更高FPGA比DSP快的一个重要原因是FPGA可以实现并行运算,而DSP由于硬件结构条件限制,主要还是依靠软件来提取指令执行,理解为还是串行执行13 / 13

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!