首页 > 文章中心 > arm单片机

arm单片机

arm单片机范文第1篇

关键词:单片机;距阵键盘;嵌入式linux;串行通信

中图分类号:TN41;TP33

文献标识码:B

文章编号:1004―373X(2008)04―177―04

1 引 言

在现代工业控制系统和仪器设备中,键盘是不可缺少的输入设备,是控制系统与操作人员交流的桥梁。操作人员可以通过外设键盘灵活地输入各种参数以控制系统的运行。考虑到本系统按键数量较多(23个按键和7个旋钮),并且不想使用专用的键盘处理芯片,所以采用矩阵式键盘设计。单片机性能稳定、价格低廉、功能强大,在仪器设备和电子消费品中得到越来越广泛的应用。在单片机系统中,串行通信接口由于具有接口简单、容易实现等优点已经被广泛使用,成为一种常用的接口。例如,单片机通过串口和上位机ARM进行通信,就能够实现远程控制并能利用ARM强大的数据处理功能和友好的控制界面。Linux由于具有内核强大、开源、易扩展和裁减以及丰富的硬件支持等许多优点,在嵌入式系统得到非常广泛的应用。特别是他的性能稳定非常适合做工业控制。本文提出的键盘通信方案就是以嵌入式Linux和ARM 9处理器为软硬件平台,在便携式嵌入式设备上的应用表明其具有较好的稳定性和实时性。

2 系统总体方案设计

基于本系统的具体要求采用单片机控制键盘与ARM进行实时串行通信。单片机采用美国Atmel公司生产的低电压,高性能CMOS 8位单片机AT89C2051,此款单片机是Atmel公司的一种精简型51内核单片机。ARM处理器采用三星公司的$3C2410 ARM9处理器,是16/32位RISC微处理器,主要用于低成本、低功耗和高性能手持设备和一般应用的单片微处理器解决方案。由AT89C2051单独管理键盘,实现键盘的识别译码工作,然后通过串口与ARM在Linux下进行实时通信。图1是系统总体框图。

3 硬件设计

在本系统中,键盘由23个按键式开关和7个旋钮开关构成,相当于37个按键式开关,于是将键盘按照8×5的矩阵键盘结构进行组织,其中3列为按钮式按键,另2列分别接7个旋钮开关的A,B引出端。由于一般情况下ARM的CPU的任务较重,且I/O端口资源不足,所以使用专门的键盘扫描控制器完成对矩阵键盘的管理工作,该控制器即单片机AT89C2051,当键盘控制器判断到有按键事件发生,并判读出相应键码后,就通过异步串行口与ARM通信,ARM的主CPU在接收到键码后,会由硬件产生中断并软件响应,执行相应的处理程序。由于要实现符合RS 232的串行通信,还应该用MAX 232芯片构成串口电平转换电路。图2是系统硬件电路的示意图,由于是ARM接收键盘发送的数据,所以串行口采用2线制接法,即键盘和ARM的UART控制器的TXD和GND相互连接。

在图2中,键盘矩阵的KH0~KH7共8根行线接至AT89C2051 P1口的P1.0~P1.7引脚,KV0~KV4共5根列线接至P3口的对应引脚,P 3.1作为异步串口的发送端,用于和主CPU通信。

4 软件设计

软件部分的程序包括上位机单片机键盘扫描程序和下位机ARM的接收处理程序,下面分别介绍。

4.1键盘扫描程序设计与实现

本系统采用矩阵键盘接口设计,在对按键进行编码时一般是先获得按键的扫描码,然后将其转化为事先约定的按键编码。虽然不同的按键接口方式对应不同的按键识别方法,但无论哪种接口方式,按键的闭合与否都反映在电压的高低上,因此系统可以通过检测不同的电平状态来识别按键是否按下。另外,采用扫描法识别按键,让行线从KH0,KH1到KH7逐行置零电平,若KH0为零电平,KH1~KH7为高电平,此刻依次检查各列电平变化,若某列电平由高变低则表示此列与KH0的交叉处的键盘被按下。其主程序流程如图3所示。

结合本系统的具体情况,AT89C2051单片机仅用来进行对键盘的管理,故可采用编程扫描方式,图4为其键盘扫描子程序流程图。

由于键盘面板中包括按键和旋钮,所以在编程的时候要区别对待。对于按键,首先将第N行置低电平,其余行置高电平,读取SW_data值,若其与之前的SW值相等,则表示有可能按键被按下,此刻直接读取列号看是否有键被按下,若有则通过行列号来确定具体的按键码值。若SW_data值与之前的SW值不同则表示可能是旋钮的转动。

在数字仪器中,旋钮开关实际上是一个编码开关,他相当于将2个按键式开关的一端连在一起成为公共端,另一端分别引出,称之为引出端A和B。当旋钮开关旋动时,旋钮内部与A,B相连的2个金属簧片都会与接地的公共端相接,但是在时间上会有一个短暂的时间差,因此在A,B上就会产生如图5所示的2个有一定相位差的脉冲信号。在键盘扫描过程中,如果能设法判断出2路脉冲到达的相位关系,就可以知道旋钮的旋动方向,从而进行相应的操作。有2种方法可以用来判别脉冲到达的先后顺序,一种是硬件的办法,即采用鉴相器,通过专门的电路判断,再将结果送至CPU;还有一种就是用软件的方法进行判断,从图5中可以分析出,当旋钮左旋时,A,B两端电平信号的组合状态是11-01-00-10的序列,且这样的序列具有惟一性,同样当旋钮右旋时,A,B电平信号的组合状态序列也是惟一的,通过判断这A,B两端电平信号的组合状态是否符合以上2组预知序列的顺序,同样可以判断出旋钮的旋动方向。

另外,为了防止键盘的意外事件,在软件中对按键抖动以及旋钮的误操作都做了相应的处理。

需要注意的是,串口的设置非常重要,关系到串口能否正常工作。由于键盘发送的是单字节的16进制数据,所以必需将串口所对应的终端设置成原始(RAW)工作方式,就是不必对输入输出处理。

初始化结束后就可以读取键盘发送过来的数据。首先要打开串口:fd=open(“/dev/ttySl”,O_RDWR),接下来可以用read函数进行读取。这里为了使串口在请求的操作阻塞时能进行其他操作,用select函数实现了多路复用式串口。另外还要注意的是ARM在Linux下的串口接收程序的波特率一定要和单片机键盘扫描程序的波特率一致,不然不会接收到正确的数据。下面是接收程序:

5 系统调试结果

测试的时候把键盘串口和ARM开发板的串口2相连,开发板的串口1和PC的串口相连。先把键盘扫描程序烧写到单片机。在PC上打开串口工具DNW,在开发板上启动Linux后下载串口接收程序并运行。图6是Linux下接收到的旋钮和按键值。

图7是在Qt/E环境下编写的数字存储示波器界面测试键盘通信的画面,结果显示键盘可以控制LCD中波形的打开、关闭、变换等操作。

arm单片机范文第2篇

【关键词】图像处理;总体设计;处理系统

1.前言

科学技术的发展促进了数字图像技术的发展与实际应用,本文提出一种基于ARMARM(Advanced RISC Machines,高级精简指令处理器)和FPGA(Fidd Programmable Gate Array,现场可编程门阵列)[1]的图像处理系统,其利用FPGA高速、资源丰富的优点实现图像的高速采集与数据的并行处理。利用ARM的有操作系统支持与开发方便的优点实现了系统很好的应用层交互。虽然该系统架构可以通过集成有powerPC的FPGA或DSP加ARM来实现等同的功能,但成本却要高出很多。

2.系统的总体设计

系统总体设计框如图1。

COMS传感器采集图像并以VGA格式传输。A\D模块将VGA格式的模拟信号转换成RGB信号,其由FPGA的采样模块作为控制器。FPGA中初始模块模拟SCCB时序对COMS传感器进行模式初始化。控制模块接收ARM的使能与复位信号。数据模块实现图像中值滤波的并行处理。ARM处理器运行Linux操作系统并将底层功能,封装成设备文件,提供应用接口。ARM模块中包含FLASH与RAM。FPGA模块通过双口RAM与ARM模块进行数据传输。

3.系统结构单元的设计

3.1 COMS传感器单元

系统采用OV7670摄像头作为图像传感器,有640*480和320*240两种分辨率,支持SXVGA,VGA,QVGA,QQVGA,CIF,QCIF,QQCIF多种图像格式,其上有SCCB接口和VGA接口。本系统采用VGA格式,系统运行后被初始化为帧速率为10fps,量化深度为10。

3.2 FPGA单元

FPGA单元分为初始化模块、控制模块、数据处理模块、采样模块负责控制图像的采集、数据处理、以及与ARM之间的传输。基于系统的需求和低成本的目标,采用了Xilinx公司的XC3S250,属于Spartan3E系列。其有25万门容量,包含4个DCM(Digital Clock Manager,数字时钟管理模块),足以胜任COMS初始化,采样控制器,数据处理与传输的工作,而且单片价格不到30元。

FPGA单元中的初始化模块通过模拟SCCB时序,对COMS传感器进行初始化。因为传输中只有一个主机和一个从机,FPGA只模拟SIO_C和SIO_D两个信号的简单的读写时序。

采样模块模拟A/D转换控制器的状态机逻辑,配合AD0809芯片完成VGA数据到RGB数据的转换。相比于采用单片机作为控制器,用FPGA实现控制器具有更高的速度。相比于采用DSP作为控制器,FPGA具有低成本、高集成度的优势。

数据处理模块采用分割子图的方案,将图像数据分割成两个子图,并分别用两条图像处理运算单元对子图进行处理,结构上实现了处理的并行化。其中处理过程是通过用Verilog,HDL[2]语言描述中值滤波算法,综合后硬件化的算法处理逻辑。

3.3 ARM单元

ARM单元其主要为用户提供一应用层交互平台,可以根据用户的需求自由定制。本系统采用S3C2440的处理器,同时采用了一片FLASH和一片SDRAM,FLASH有32M,用于存放系统镜像,SDRAM有32M用作内存。ARM平台上运行Linux操作系统,并将下层对FPGA单元的控制与数据传输封装成设备驱动,以适应多种应用。

4.系统主要模块的工作原理与实现

4.1 FPGA实现数据并行处理

FPGA数据处理模块采用分割子图的方案,将一幅图像分成两个子图,每个子图由一个运算处理单元来进行中值滤波处理。实现了结构上的并行化,相当于双核处理。因为大多数图像算法在对图像处理时,对靠近边缘的像素的处理效果都不是很好。在划分子图时又增加边缘像素,位于分割线的两旁的像素的处理效果肯定会受到影响。为了使分割处理的效果等效于未分割处理。系统采用冗余分割的方法划分子图,如图2。

数据处理模块将图像分成两部分时,使两个子图都多出一部分,然后进行并行处理,在将图像还原时,两个子图分别丢弃靠近边缘的部分,用内部像素点组成完整图像。就避免了分割图像带来的边缘影响。在实现中,图像分割是从像素行开始进行的,并未像图2中对完整的图像进行划分。系统采用640*480的分辨率,每个运算单元取326的行像素作为输入,320的像素作为输出。

4.2 FPGA单元与ARM单元数据的传输

FPGA单元通过一个8Kbyte双口SRAM与ARM单元之间传输图像数据。把8K的SRAM划分成两个大小为4K的SRAM,设为SRAMl和SRAM2。每片SRAM一次存储六行图像数据。同一时刻,一片用于存储图像数据,另一片用于外部ARM对图像数据的读取。两块SRAM存储区乒乓式切换。切换时FPGA通过外部中断通知ARM单元。

ARM对FPGA单元的控制只包括使能与复位两种操作,ARM单元通过GPIO来实现对FPGA单元的控制。

5.结语

综上,文章介绍的基于FPGA和ARM的图像处理系统,其采用并行运算单元结构,实现了图像的采集和中值滤波处理。ARM单元为上层应用提供了方便的交互接口,FPGA的运算单元可以灵活设计,为图像识别算法的实验提供了平台。

参考文献

[1]刘岚,黄秋元,陈适.FPGA应用技术基础教程[M].北京:电子工业出版社,2009

arm单片机范文第3篇

随着科技的巨大进步,嵌入式技术的发展越来越成熟,嵌入式处理器逐渐成为应用的主流,并且有逐渐占领中高端市场的趋势。本文介绍ARM体系的历史以及发展过程,ARM体系的指令集,嵌入式处理器,同时在ARM体系中看到嵌入式处理器的优势所在,以及未来发展的潜力以及挑战。

【关键词】ARM体系指令集 ARM体系 嵌入式处理器

嵌入式技术的高速发展,另嵌入式处理器已经深入到许多领域当中,例如:计算机技术,微电子技术,网络以及通讯信息等领域。ARM嵌入式处理器以及其完整的发展系列,其具有体积小,功率损耗低,高性能,低成本的优势,以及按对象所需不同功能及时嵌入扩展模块的实用性。因此,ARM嵌入式处理器的成长以及潜力巨大,但同时更高的性能要求,将是很大的技术挑战。

1 ARM体系的历史和和发展

1978年12月,CPU公司在英国剑桥创办,当时主要业务是为当地市场供应电子设备。1979年,CPU公司更名为Acorn计算机公司。1985年,第一代32位,6MHz的处理器ARM诞生.精简指令计算机的英文缩写是“RISC”,其支持简单的指令,同时功率损耗很小,成本低,尤其适合移动的设备。20世纪90年代初期,ARM 32位嵌入式RISC处理器发展到世界范围,得到各界的认可。因其优势明显,占领了低耗能、低成本和高性能的嵌入式系统应用领域的大部分市场。但ARM公司不生产营销芯片,它只传播芯片技术以及授权给生产商。

ARM体系的代表ARM7、ARM9、ARM11等,ARM7系列的程序指令存储器和数据存储器是存储合并在一起的;而ARM9、ARM11系列的程序指令存储和数据存储是分离的,也就是说采用哈弗结构。ARM9、ARM11的性能要比ARM7的要高,跑操作系统建议不用ARM7系列。

2 ARM体系指令集

CPU 的指令集要有分层思想,才能很好地实现软件与硬件的结合。一方面,指令集跟编译器要很好地兼容;另一方面,要使硬件的设计得到实现。ARM是代表性的RISC体系,而RISC的设计思想要求指令集简单,简洁。与CISC体系比较,RISC体系具有很明显的优势,其可以通过容易的指令实现复杂的功能。

ARM的指令集包括分支指令,数据处理指令,状态寄存转移指令,协处理指令,异常处理指令,LOAD-STORE数据移动指令这6种典型指令。ARM指令集是非常实用,优秀的指令集,它有以下的几个特点:

(1)ARM指令都是32位定长,有4 byte内存边界保存,因此流水线和译码电路更容易实现。

(2)ARM指令集可以压缩成十六位Thumb 指令集形式,因此可以减低损耗以及获得更高的代码密度。

(3)LOAD-STORE框架。只有这种类别的指令可以访问内部储存器,也可以转移寄存器和内部储存器的数据、地址,而其他的指令没有着种功能。

(4)STM和LD指令,当发生中断处理时,能把寄存器中的数据等内容保护到堆栈中。

由以上的特点可知,ARM指令集的方便性,简单性适用于汇编语言的设计,此外,还有利于高级语言编译器的开发。

3 嵌入式处理器

自微型处理器的问世至今,嵌入式系统飞速的发展,嵌入式处理器直接关系到整个嵌入式系统的机能的优越性。如今世界上具有嵌入式功能特点的处理器已经不少于1000种,比较盛行体系结构包含MPU,MCU等多个系列。

嵌入式系统的关键是其处理器,是辅助、控制系统运行的硬件基础。其应用领域极其广,从起先应用的4位处理器,到近年仍在大量应用的8位单片机,再到现在越来越受欢迎的32位,64位嵌入式CPU。

嵌入式处理器作为嵌入式系统的关键,其担任着控制系统正确、高效运行的重要任务,让该设备智能化和使用操作简便。嵌入式处理器具有的特点:

(1)能实时多任务处理;

(2)存储区的保护功能;

(3)有可扩展的微处理器结构;

(4)很强的中断处理能力;

(5)低功率损耗。

4 从ARM体系看嵌入式处理器的前景及我国的未来发展

嵌入式处理器主要应用在PC机上,从ARM体系可看到它的发展趋势,以及我国集成电路发展的前进方向。

(1)嵌入式处理器领域都普遍要求设计时间周期短,性能高,功率损耗低。根据这个要求,CISC体系要想达到这些要求比较难,比如Intel的P4处理器,功率损耗低达55W,其内部设计、测试难度大。而RISC体系恰有上述的优点,因此ARM体系的嵌入式处理器在其领域有绝对性的优势。

(2)目前集成电路发展趋势是以软硬件共同设计和超微型系统芯片为主,实际上,系统芯片(SOC)上要集成多个微型处理器,这给SOC的设计带来了很大的技术难度。ARM体系为客户提供许多技术成熟并大众化的RISC处理器核,同时减少SOC芯片的上市时间,占领市场优势。例如GSM移动通信处理芯片等,在嵌入式处理器领域方面有一定的地位。

(3)就目前我国的集成电路还处在飞跃发展时期,要想和Intel等巨头抗衡是不现实的,但在嵌入式处理领域,因其应用性领域广泛,我认为还是有所作为的。国家应该鼓励并成立一些高水平的的集成电路公司,利用我国的人才优势,自主研发具有知识产权的RISC处理器核,并大量推广于市场,提高市场的竞争力,这样我们在嵌入式处理器领域将会有所成就。

5 结束语

本文从ARM体系在看待嵌入式发展的的趋势和方向,首先介绍ARM体系的发展过程,ARM体系的指令集,嵌入式处理器,与此同时分析ARM体系中嵌入式处理器的优势所在,以及我国未来在嵌入式创新,研发的方向,嵌入式处理器领域的未来潜力巨大,ARM体系的处理器将会引领各领域潮流。

参考文献

[1]任哲.ARM体系结构及其嵌入式处理器[M].北京:北京航空航天大学出版社,2008(01).

[2]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2003.

arm单片机范文第4篇

随着亚微米技术的发展,FPGA芯片密度不断增加,并以强大的并行计算能力和方便灵活的动态可重构性,被广泛地应用于各个领域。但是在复杂复法的实现上,FPGA却远没有32位RISC处理器灵活方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要RISC和FPGA结合使用。这样,电路设计的难度也就相应大大增加。随着第四代EDA开发工具的使用,特别是在IP核产业的迅猛发展下产生的SOPC技术的发展,使嵌入式RISC的通用及标准的FPGA器件呼之欲出。单片集成的RISC处理器和FPGA大大减小了硬件电路复杂性和体积,同时也降低了功耗、提高了系统可靠性。Altera公司的EPXA10芯片就是应用SOPC技术,集高密度逻辑(FPGA)、存储器(SRAM)及嵌入式处理器(ARM)于单片可编程逻辑器件上,实现了速度与编程能力的完美结合。本文所介绍的图像驱动和处理系统正应用了EPX10的这些特点,充分发挥了FPGA逻辑控制实现简单、对大量数据做简单处理速度快的优势以及ARM软件编程灵活的特点。

1 内嵌ARM核的FPGA芯片EPXA10及其主要特点

EPX10单片集成了ARM核、高密度的FPGA、存储器及接和控制模块,不仅简化了ARM与FPGA之间的通讯,也使片外扩展存储器以及和外设通讯变得相对简单;同时通过在FPGA中嵌入各种IP核和用户控制逻辑可以实现各种接口和控制任务。这样的高度集成化不仅大大加快了ARM与片内各种资源的通讯速度,而且减小了硬件电路的复杂性、体积和功耗,真正实现了SOPC。

EPX10内部结构框图如图1所示,主要分为嵌入式处理器和FPGA两部分。

1.1 嵌入式微处理器ARM922T

EPX10嵌入式处理器部分集成了业界领先的32位ARM处理器(ARM922T),工作频率可达200MHz;支持32位ARMv4T指令集和16位Thumb扩展指令集;具有全性能的内存管理单元以及8K的指令缓存和8K数据缓存,以支持实时操作系统(RTOS)、C语言和汇编语言。

    1.2 高密度的FPGA

EPXA10片内FPGA部分具有1000000门可编程逻辑、3MB的内置RAM和512个可供用户使用的I/O管脚,可以通过嵌入各种IP核实现各种标准工业接口(如PCI、USB等)。

1.3 先进的存储支持

EPXA10嵌入式处理器部分集成了256KB单口SRAM和128KB双口SRAM;同时集成了两个先进的存储支持:(1)SDRAM控制器,用于控制单倍速/双倍速不同控制进序来确定的,实现起来非常复杂。有了SDRAM控制器的支持,只需要在Altera公司提供的EDA开发软件Quartus II中设置好SDRAM工作所需的各种参数,就可以按照直接给出指令、地址和数据的方式对SDRAM进行操作,控制器会自动将各种指令转化成SDRAM所需的工作时序,大大降低了对SDRAM的控制难度。(2)从FPGA启动。这种启动方式需要将设计下载到片外E2PROM中,而且设计中可包含FPGA部分的应用。启动时FPGA为主动,ARM处复位状态,配置完成后,如果有对ARM的应用,则ARM解除复位,执行软件代码;反之,ARM一直处于复位状态。

图3

    2 EPXA10的工作方式

EPXA10嵌入式处理器部分提供了两条32位AMBA微控制器总线AHB1、AHB2,分别用于片内各种资源的通讯,如图1所示。基于AHB1、AHB2总线,EPXA10的工作方式大致可分为三种:(1)ARM作为AHB1总线的主控,直接访问HAB1总线的从属资源。包括SDRAM控制器、片上SRAM、中断控制器等。(2)ARM作为AHB1总线的主控,通过AHB1-2桥访问AHB2总线上的从属资源,包括UART、EBI、SRAM、Stripe-To-PLD桥等,同时通过Stripe-To-PLD桥对FPGA进行访问和控制。(3)FPGA通过AHB2的总线主控PLD-To-Stripe桥访问AHB2总线上的从属资源,包括SRAM、SDRAM控制器,UART等。

EPXA10片内集成了软件可编程锁相环路(PLL),为微控制器总线及SDRAM控制器提供了灵活精确的时钟基准。

3 EPXA10在图像驱动和处理方面的应用

本文所述的图像驱动和处理系统主要利用PPGA逻辑控制实现简单、对大量数据做简单处理速度快以及ARM软件编程灵活的特点,系统框图如图2所示。在芯片FPGA部分,构造了CMOS驱动模块,驱动CMOS图像传感器使之能够采集图像数据。然后图像数据经数据接收模块存入片外SDRAM中,并经串口传入PC机,要将图像数据在PC机中显示成图像,还需编写基于CDib类的图像显示程序;同时将图像数据经芯片ARM部分的图像处理算法(本系统采用Sobel算子)处理,处理后的图像数据才能经串口传给PC机进行显示。为了验证基于ARM的图像处理算法实现的正确性,还将这一算法在PC机中进行了实现,最后针对同一幅图像,将两种实现的结果进行了比较。

    3.1 图像的驱动

3.1.1 CMOS图像传感器的驱动

要使CMOS图像传感器的成像,必须设计正确的驱动时序,包括行同步、列同步、场同步及曝光时间设定等时序。利用FPGA逻辑编程简单的特点,用硬件描述语言Verilog HDL编程,可在FPGA中实现CMOS图像传感器的驱动时序,该驱动时序的仿真结果如图3所示。图中,ld_y为行选通信号;ld_x为列选通信号;cal为场选通信号;clk_adc为内部A/D转换器所需的时钟;addr为行列地址线;sys_reset为曝光时间设定信号;s和r为内部放大器选通信号。

3.1.2 图像的采集

CMOS图像传感器输出的信号为数字信号(即数字图像数据),所以图像的采集要通过FPGA中的数据接收模块将图像数据保存到片外SDRAM中。数据接收模块状态机如图4所示。标志Flag为1,开始采集数据。因为CMOS图像传感器在每个A/D转换时钟周期输出一个数据(如图3所示),接收模块也相应地设计成一个时钟接收周期接收一个数据(Burst状态),这样就发挥了FPGA对大量数据处理速度快的优势。

3.1.3 图像的显示

ARM将SDRAM中的图像数据经串口传给计算机,在计算机中用VC++语言编写串口协议和图像显示程序,将CMOS图像传感器采集到图像显示在屏幕上,以便于监测验证。

3.2 图像的处理

本系统采用的图像处理算法基于Sobel边缘检测算子。图像的边缘是由灰度不连续性所反映的,是的最基本信息。边缘检测算子检查每个像素的的领域并对灰度变化率进行量化,也包括方向的确定,大多数使用基于方向导数掩模求卷积的方法。就sobel算子而言,如图55所示,采用了两个3×3卷积核形成边缘算子模板,紧邻中心像素的像素有4个,和中心像素成斜对角的像素也有4个,距离中心素近的模板值的系数为2,成斜对角的比较远,所以其系数为1,该系数反映了这样一点:领域对当前像素的灰度梯度的影响程度越近影响越大,越远影响越小。图像中的每个点都用这两个核做卷积,一个核对垂直边缘响应最大,而另一个核对水平边缘响应最大,两个卷积的最大值作为该点的输出位,反映了当前位置灰度梯度(图像边缘)的主要方向和大小。运算结果反馈了一幅边缘幅度图像。

因为拍摄的图像边1024×1024,采用的Sobel算子为3×3模板,所以图像周边的一圈像素(第1行、第1024行、第1列、第1024列)保持原灰度值。在图像的第2行2列到1023行1023列的范围内,用图5所示的算子模板进行扫描计算,即当前像素和与当前像素相邻的8个像素,分别与模板中位置相应的8个系数相乘,累加这9个乘积结果,就得到针对某一方向的灰度梯度。比较两个方向的计算结果,取量大者作为当前位置的灰度梯度。图7为图6经过Sobel算子进行边缘提取后得到的图像。该算法在ARM中是基于C语言实现的,体现了ARM软件编程灵活的特点。

    3.3 试验结果

arm单片机范文第5篇

我们对传统PC市场的CPU如数家珍,英特尔、AMD和威盛包揽了整个市场。由英特尔创始人之一摩尔提出的摩尔定律推动了这个市场技术的进步,英特尔的Tick-rock线路图即是基于此而创建:工艺-核心的交替升级步伐。然而,不论是最早的奔腾,还是现在最新的酷睿i7,这些处理器都基于一个称之为x86的架构中――由最早的英特尔8086指令集扩充组成,因英特尔早期CPU的型号为80x86而得名。在计算机学术界的分类中,x86架构被列在CISC(复杂指令集)类之下。

清晨,你的第一声叫醒闹钟往往来自手机;在出门前,你更愿意在你的背包中装入一部iPad,而不是笔记本电脑;旅途中,你希望可以用NDSL和移动互联网来打发漫长的时光……在2010年之前,我们总是习惯从“数码”类的功能角度去了解和选购它们,不过,情况正在发生变化。正如传统Pc市场一样,这些同样基于冯・诺依曼体系的“微型计算机”移动终端,核心CPU和GPU配置正成为评价其性能的重要物理参数。不同的是,这不是x86处理器和PC显卡的帝国,它们是ARM的领地。本期,MC将带领各位窥它的秘密。

指令是CPU能听懂的语言,正如人类的语言一样,词汇越丰富,表达就越容易,一定程度上,传达内容的方式就越高效。这也是为什么在20世纪80年代,x86架构盛行的原因之一。不过,语言上也有常用字和生僻字之分,80%的常用字在整个语言文字中所占比冽其实很小,CPU指令也如此。研究发现,80%的常用指令来自CISC的20%,于是,另一类称之为RISC(精简指令集)的门类诞生了,ARM架构即基于此类――和x86一样,ARM架构也因ARM公司是其创造和维护者而得名。

CISC强大高效,RISC简洁容易,这本是两个不同的指令集类别,与应用无关。各种谈论x86难以落脚移动终端的最大原因是功耗,为什么凭借英特尔的技术,功耗上X86始终无法与ARM架构抗衡呢?这有英特尔的原因,也有指令集的影响。

英特尔成功的要素之一是向前兼容性――至少到目前为止,英特尔设计的所有x86 CPU都兼容以前任何一老款CPU的指令和应用。这是程序开发人员的福音,不过却造成了CPU结构的复杂化,而CISC指令的硬件实现也需要更多的晶体管,这些晶体管不仅仅是对制造工艺的考量,也是对能耗控制的考量。要知道工作中是要消耗电力的,即便是那些80%不会被常用到的指令硬件也必须加电等待偶尔的调用;而基于RISC的ARM架构则要轻松得多,它的指令集相对很少,所需要的晶体管也更少,而且由于使用等长的指令(16位和32位),与x86的可变长指令(最长指令可达128位)相比,处理也更加容易,功耗自然更低。这是一个功耗和性能的博弈,在功耗要求严格的移动终端处理器市场,RISC的ARM最终胜出。

指令集是ARM与x86架构的本质区别,正如你无法用英语与一个只会说汉语的人沟通一样。因此,不同的架构需要与之匹配的操作系统。目前的Windows 7无法运行在ARM上,而iOS、Android等移动终端操作系统也无法直接在x86硬件上运行。指令集的不同造成了处理器在硬件实现上的不同,比如,ARM处理器大量使用寄存器(多达37个)和CPU内缓存(cache)对指令进行操作,通过流水线和超标量技术,一个时钟周期可以执行一条以上的指令,十分高效;而x86处理器仅有8个通用寄存器,通过读写外部存储器来调用指令(为了向前兼容),可能需要几个时钟周期才能完成一条指令,效率较低。有数据称,在同样的制造工艺前提下,英特尔CPU频率每提升1%,功耗要提高2至3%,而ARM则可以保持不变,甚至更低。

ARM与x86处理器的另外一个区别为,ARM处理器并不像x86那样单颗使用。它总是与其他芯片封装在一起,诸如DSP芯片、显示芯片、通讯芯片等等。英特尔和AMD终于于2011年推出CPU与GPU完整融合的处理器,其实在很早之前,ARM处理器已经这样干了。ARM处理器通过一条称之为AMBA的片上总线可随意挂载各种标准芯片,包括其他的ARM核心。成品ARM CPU通常都是集成了芯片组和各种功能芯片的一体式芯片,称为片上系统(SOC),功能和一块集成了CPU和显卡的x86架构主板相当,只需要连上电源、存储、通讯和显示设备即可工作,这样的芯片尺寸只有十几个平方毫米,不到一块x86处理器大小!

ARM的内核

正如x86架构可以通过内核来判断CPU性能和新旧程度一样,ARMCPU也有不同的内核,只是内核更新没有x86如此频繁(x86基本两年更新一次)。从1983年开始,到目前为止,ARM内核共有ARMI、ARM2、ARM6、ARM7、ARM9、ARMIo、ARMll和Cortex以及对应的修改版或增强版组成,越靠后的内核,初始频率越高、架构越先进,功能也越强。目前移动智能终端中常见的为ARMll和Cortex内核,如诺基亚N8使用的即为主频680MHz的ARMll核心,Cortex主要用于高端和多核处理器上,如NVIDIA的Tegra 2就是由两颗1GHzCortex-A9核心组成。

ARMll架构于2002年,基于ARMv6指令集,包括ARMll36J、ARMll56T2和ARMll76JZ三个内核型号,其中后缀带J的表示支持Java代码硬件加速,T则表示支持Thumb-2指令。ARMll采用8级流水线,能够支持多核架构。在使用130nm制程下即可获得低至0.2mW/MHz的功耗比和500MHz的主频,而当前工艺条件下,已有1GHz主频产品出现。ARMll处理器系列面向多种手持电子消费品市场,推出了许多新的技术,包括针对媒体处理的SIMD,与ARM9相比,ARMll对于MPEG4的编解码算法速度提高了一倍;用以提高安全性能的TrustZone技术;智能能源管N(IEM)等,同时,ARMll还改变了缓存的结构,使用物理地址对缓存进行索引,并加入了动态分支预测功能。

Cortex内核于2004年,最早的型号是Cortex-M3;Cortex-A8内核于2005年10月4日,随后ARM在2006年5月15日了Cortex-R4内核。这三款内核分别面向不同的领域,移动智能终端上使用的绝大多数为Cortex-A8内核。Cortex-A8内核的DMIPS指标达到了2.0DMIPS/MHz,相比ARMll取得了巨大的进步(ARMll为1.17DMIPS/MHz)。Cortex-A8处理器在大幅提高性能的同时,依然保持了低功耗优势,譬如说,一颗含有32KB一级缓存,256KB二级缓存的Cortex-A8处理器,在使用600MHz的主频时,总功耗仅为300mWo Cortex-A8还

引入了NEON部件,NEON的功能与英特尔的SSE指令集类似,用于支持SIMD类指令。Cortex-A8还可以在每个时钟周期内并行发射两条指令,是首个ARM超标量体系内核。为了进一步提高时钟频率,Cortex A8内核使用了13级的整型指令流水线和10级NEON指令流水线,并改善了了指令分支预测的命中率,从ARMll的88%提高到Cortex A8的95%。此外,Cortex-A8在缓存的设计中,首次引入了Way-Prediction(关联路径预测),可根据预测关闭暂时不使用的缓存,降低处理器功耗。英特尔从Pentium M处理器时代起使用了这种缓存访问方式,并一直应用到x86处理器的后续产品中。Cortex-A8还可以使用64位或者128位总线连接外部设备。Cortex-A8不支持多核架构,多核超标量内核为Cortex-A9,而最新的多核内核则为Cortex-A15。

2011年初,ARM Cortex-A15内核,主要是针对多核进行了优化。Cortex-A15处理器可运行在2.5GHz,能够在不断压缩的能耗、散热和成本预算范围内提供高度集成的可扩展性解决方案。Cortex-A15计划以32nm、28nm2E艺生产,目前尚无成品产出。

与x86处理器仅对微架构的关注不同的是,影响ARM处理器性能的还有指令集版本。为提高处理器性能,ARM先后了7个版本的指令集,分别为ARM V1至ARM V7,不过指令集版本并不与内核对应,如ARM9内核使用的为ARM V5版指令集,而ARMll使用为ARM V6,最新的Cortex内核使用的才是ARM V7版指令集,表1列出了不同内核对应的指令集版本。新版指令集是对旧版的修定和增强,不一定兼容之前的版本,但在多媒体和复杂应用方面性能会大增。事实上,在ARM处理器当中,指令集版本的高低更能辨别出处理器性能的优劣。

GPU是NVIDIA最先提出的概念,与CPU相比,它并没有什么大的架构之分,GPU的设计主要遵循几个图形加速标准:OpenGL和DirectX行业标准,只是各家的实现方式不同,反应在实际应用中,表现为性能和功耗的差异。移动终端上的主要GPU供应品牌为PowerVR的SGX系列、高通(QUALCOMM)Adreno系列、博通(Broadcom)BCM系列、NVIDIA,regra和ARM自家的Mali图形处理单元。具体性能参数见表2。移动设备中应用最广的GPU是PowerVR SGX系列,目前型号已经发展到SGX555。PowerVR图形处理器在20世纪90年代曾是3dfX V00doo的主要竞争对手,在后来的市场竞争中,这两个品牌都从PC市场消失了,PowerVR转入了移动GPU领域。这家隶属于ImaginationTechnologies公司的厂商采用了与ARM公司相同的技术授权方式,向各大芯片制造商出售硬件授权,自身并不生产芯片。它的产品当中,最耀眼的一员,当属iPad 2采用的PowerVRSGX 543MP2图形处理器,据称相对于iPad一代的PowerVR SGX 535有高达9倍的性能提干。

在移动设备中应用第二多的是高通AdrenoGPU,至今已经了几款产品,包括Adreno 130、Adreno 200、Adreno 205、Adreno 220、Adreno300。不过高通并不出售自家的图形芯片,也不对外授权,只在自己的芯片组中使用,主要应用在Snapdragon系列芯片组上,也是目前移动智能终端上使用最多的芯片组。

博通的GPU产品很少,大家更熟悉的可能是其在PC领域的网卡芯片。到目前为止,它一共发售了两款GPU,分别为BCM2727与BCM2763,多媒体性能极为强大。博通GPU内置了采用Broadcom VideoCore III技术的多媒体处理器,基于双内核矢量处理器,不仅更有利于3D/2D图形处理,支持高达1200万像素的数码相机,同时还能保持非常低的功耗。利用该芯片上的HDMI接口,更是可以直接向大屏幕输出高清视频与3D游戏画面。只要看看诺基亚N8这款基于ARMll旧核心产品的多媒体和游戏表现,就能体验到BCM系列GPU的强大。

NVIDIA是PC平台上主要的图形芯片供应商,不过与高通一样,它们也不出售和授权自家的移动终端GPU,NVIDIA的GPU主要应用在自家的regra移动芯片上。如,regra 2采用就是自家的ULP GeForce架构,包含8个CUDA处理器,支持OpenGLES2.0以及可编程等特性,1080p的高清视频编码与解码更是它的长项,性能极其强大。遗憾的是,目前还没有终端产品可以将其性能发挥到极致,只有通过《地牢守护者》这种硬件要求较为“变态”的游戏中才能体会到它在图形处理上的强大。

作为处理器方案供应商的ARM同样也有GPU的授权,其旗TGPU已经发展到Mali400系列,不过采用的厂商很少,主要用在廉价的SoC体系上,如Telechips的TCC8902,瑞芯微RK2818等,尚未进入主流。

移动终端上的GPU与PC上的GPU并没有很大区别,它们遵从相似的标准,不同的是,基于移动终端的低功耗要求,它们的性能很难与PC上的GPU相媲美,如NVIDIA Tegra上配备的GeForce GPU仅仅只是PC版GeForce的精简版。不过受益于图形标准的完善和PC显卡技术的发展,移动终端GPU的发展速度和性能正快步向前。

ARM的芯片商

尽管有数据称ARM处理器已经占据了移动终端90%的市场份额,但ARM公司自身并不生产CPU芯片,它们只是专注于开发新指令集,进行CPU内核方案和相关应用、调试工具的开发,然后将这些方案授权给半导体和芯片生产商,并收取授权费。因此ARM处理器的生产商可谓遍布全球,这与英特尔和AMD的生产方式完全不同。ARM的主要芯片生产方包括高通、德州仪器(Ti)、三星和NVIDIA,另夕bMarvell、飞思卡尔、韩国Telechips和中国的瑞星微也有生产,还有一些其他生产商分布在工业控制领域。

在PC领域可能很少听到高通的名字,但在通讯界,其名号如雷贯耳。高通是少数从一开始就发现ARM价值的移动硬件供应商。从20世纪末,ARM还深陷财务泥沼中时,高通就开始了与其的研发合作,到2002年前后,高通公司率先购买YARMN型微处理器内核授权,成为了ARM的重要合作伙伴。

高通前任CE0桑杰・贾摆脱了高通不雅的“CDMA专利收税官”的帽子,在芯片技术上突飞猛进,一跃成为ARM处理器的领导者。高通ARM处理器的代表作为SnapDragon,第一

代型号为QSD8250/8650,采用65nm工艺制成,内置Adren0200 GPU。芯片拥有独立的视频子系统,支持720p/H.264视频的编码和回放,也是业界第一款频率达到1GHz的ARM处理器。Snapdragon处理器的内核为Scorpion,是高通特别为ARM的Cortex-A8内核添加了更好的多媒体指令和电源管理功能之后的修改版。

2010年第二季度,高通又推出了Snapdragon处理器的第二代,主要型号包括MSM7230、MSM8x55等,高通的处理器型号命名比较复杂,很难从型号命名上区分代数,一般区分第二代CPU的办法是看制程和内置GPU,45nmN程,Andreno 205 GPU配置的基本都属于第二代。第二代Snap dragon主要优化了多媒体和3D性能,在功耗上也进行了微调,市面代表产品有HTC Desire Z(]MSM72301、HTC Desire HD(MSM8255)。

第三代Snap dragon为双核产品,处理器型号MSM8x60,目前已的有M SM8260和M SM8660,45nm工艺,双核心,最高1,5GHz,强化了Web浏览和多媒体表现,提供HSPA+高速无线数据连接,内置的是Adreno 220 GPU。这一代Snapdragon@理器还包括一款四核产品APQ8060,它主要面向平板电脑市场。值得注意的是,目前市面上尚没有使用这些CPU的产品出现。

尽管第三代Snapdragon处理器尚未在市面上铺开,代号为Krait的下一代Snapdragon移动处理器业已曝光,28nm212艺制造,全部采用新一代Adreno320四核GPU,支持3D显示和拍照,可以通过HDMI输出1080p视频,有单核、双核和四核产品,功耗降低65%,主要型号包括MSM8930(单核)、MSM8 960(双核)、APQ8064(四核)。

三星

早在Windows Mobi 1e时代,三星就有ARM处理器问世,如型号为S3C24XX的系列,不过性能并不出色,直到苹果iPhone搭载了由其生产的S5L8900(基于ARMll76JZF-S)之后,才逐渐名声大振。在iPhone 3GS上,苹果继续使用了代号为蜂鸟(Hummingbird)的S5PCI00处理器,该处理器基于Cortex-A8核心,频率600MHz至800MHz,提供720p@30fps级别的MPEG-4/H.263/H.264以及MPEG-2/VCl/Xvid的硬解码,性能强悍。

而业界使用较多三星ARM处理器主要是采用Cotrex-A8核心的两款,其中一款为S5PCI00,另一款为S5PC110。S5PC110的主频为800MHz至1GHz,采用45nm工艺,具备1080p@30fps的视频硬加速能力,支持1200万像素摄像头,内置PowerVG SGX540 GPU,提供HDMI 1.3数字视频输出接口,三星自家的Galaxy S手机及Galaxy Tab平板即采用的此款芯片。有意思的是,苹果A4处理器的编号为S5PCIl0A01,与S5PC110仅有后缀编号的差异,在硬件结构上,两者基本一样。

此外,三星官方网站还提供一款型号为Exynos 4210的芯片资料,基于Cotrex-A9双核架构,主频1GHz,但目前显示只有样片,并未量产。Exynos4210提供1MB L2缓存,支持WXGA分辨率及30fps 1080p视频解码,还支持3D视频和摄像头,GPU具体型号不详。它应该属于去年底媒体报道的代号为Orion“猎户座”的双核产品。

德州仪器

德州仪器是ARM芯片的重要授权制造商之一。早在7年前,诺基亚与德州仪器的合作,就造就了诸多经典的智能手机产品,包括了主打游戏的N―Gage系列。摩托罗拉、LG、三星等国际厂商都是其大客户。德州仪器的ARM芯片编号为OMAP(OpenMultimedia Application Platform,开放多媒体应用平台),常见的为0MAP 3XXX系列,其中最热门的型号为OMAP 3430,标准主频550MHz,采用65nm工艺,搭载IVA2+硬件引擎的情况下,可以解码480p的H.264、WMV9和RM视频,部分格式还可支持至720p级别。该芯片内置PowerVR SGX530 GPU,最高可支持1024×768像素、1600万色的显示。此外,这款处理器的超频能力极佳,在少量提升电压的情况下,可轻松超频至1.2GHz运行,摩托罗拉里程碑即采用此款芯片,遗憾的是精简了部分IVA 2+引擎,视频解码性能因此骤减。

另一款应用较多的为OMAP 3640,使用45nm工艺,设计主频1GHz,可,轻松超频至1.2GHz运行,摩托罗拉ME811智能手机即运行在此频率下,属于目前单核产品中的旗舰型号。OMAP 3640同样搭载IVA2+多媒体引擎,可解码720p视频,此外它还加入了安全模块和新的电源管理模块,更加节能。OMAP3640同样内置PowerVR SGX530 GPU,游戏体验出色。

OMAP芯片―直深得玩家们的喜爱,但由于处理器频率上不去,也一直是玩家们心中的痛,所以在目前“GHz级”处理器浪潮中,被高通等厂商抢去不少风头。不过在2011年,德州仪器宣布推出全新的0MAP4系列移动应用平台,不仅把处理器频率提高,还可提供令人惊艳的全新多媒体体验,例如1080p的视频录制及播放,2000万像素拍摄,以及支持长达约1周的音频播放时间。厂商宣称,新平台可让Wleb页面的加载加快10倍、计算性I生能提高7倍、视频分辨率提高6倍、图形性能增强10倍、音频播放时间延长6倍等。更高端的OMAP 5系列芯片也在规划中,基于Cortex-15核心的多核支持,PowerVR SGX544-MPx多核心GPU,IVA-HD硬件加速,具备3D和1080p视频解码能力,采用28nm工艺,令人期待。

NVIDIA

在移动市场上,NVIDIA所生产的ARM芯片远不如它在PC市场的显示芯片那么有名。NVIDIA在2006年推出了Tegra(图睿)子品牌,针对移动终端市场,但却并非一帆风顺,用户几乎看不到具体的产品。直到2008年,第一代有“实物”的Tegra处理器才出现。第一代Tegra ctf4分为两大系列,分别为Tegra APX系列和Tegra 600系列,其e0APX系列针对于智能手机平台,而Tegra 600系列则针对于MID的计算机系统。2个系列均基于ARMll架构,其竞争对手是英特尔Atom处理器。最初的Tegra包括一颗800MHz的ARM CPU、一颗HD video处理单元、

一颗图像处理单元、一颗音频处理单元以及一颗低电压版本GeForce GPU。

在苦心经营了两年半之后,也就是Tegra 2一年之后的2010年,NVIDIA Tegra处理器终于迎来了自己的春天,Tegra 2 1GHz双核处理器让NVIDIA一战成名。于是,来自平板机、智能手机、车载电子设备的订单不断。第一款支持Tegra 2芯片的手机为LG Optimus 2X。Tegra 2在第一代产品的基础上将高清播放能力提升到1080p的水平,同时增加了1080p高清编码能力,另外在多媒体方面增加了对F1ash 10的支持,内部一共整合了8个CUDA处理器来实现不同的功能,可以实现超过140小时的音乐播放、12小时的1080p视频播放以及6小时的互联网高清媒体播放,并且价格也十分低廉。Tegra 2获得了包括宏暮、华硕、HTC、LG电子、微星、摩托罗拉、三星电子的青睐,甚至中国内地山寨平板也将大批订单抛向了Tegra 2,一时之间,Tegra 2俨然成为平板时代的首选芯片。

根据网上泄露的Tegra线路图,在今年第三季度NVIDIA还将四核处理器Tegra 3,这款四核处理器Tegra 3除了变成1.5GHz及四核心之外,还将图形性能提升了三倍,并且Tegra 4也被提上了日程。

其他

相对前述耀眼的四大品牌,包括Marvell、飞思卡尔、Telechips和瑞星微这样芯片商市场份额要小得多,产品也大部分集中在低端领域。Marvell对ARM芯片的技术来自英特尔,2006年,英特尔将lXscale处理器打包出售给了Marvell,不过Marvell只是汲取了Xscale的技术,而并没有将这一系列发扬光大,推出的产品较少,常见的为PXA930,采用65nm技术(PXA935为45nm),基于Marvell自己的Sheeva核心,提供对ARMv5TE、ARMy6、ARMv7指令集的支持,没有内建GPU,在中国移动的第一代OPhone中广泛采用。

飞思卡尔常见型号为i.MAX515,基于ARM CortexA8内核,运行频率800MHz,内置ARM Mali200 GPU,提供OpenGL ES 2.0与OpenVG 1.1硬件加速,多模HD 720p视频解码器和D1视频编码器硬件引擎,主要用在一些国产平板电脑中。

Telechips的主要芯片为TCC890X,基于ARMll76JZF-S内核,内置图形处理单元,具备HDMI输出和部分格式的1080p视频解码能力,在一些国产低端PMP中广泛应用;瑞芯微RK2818采用ARM9核心,基于65nm制作工艺,频率为624MHz,搭配256M DDR2内存,同时配备了600MHz的Ceva MM2000独立DSP硬解码器。RK2818支持RV、H.264、VC-1、H.263、MPEG4等编码格式,最高支持到720p。RK2818并未内置GPU,而是使用Android Pixelflinger渲染器,这是一个软件渲染器,通过ARM核心来软件渲染3D画面,速度会比较慢,只能玩一些简单的3D游戏。国产蓝魔Wll等平板均使用此芯片。

幸运的ARM

ARM全称Advanced RISC Machine,于1990年11月由Acorn、苹果和VLSI共同出资创建,确切地说,应该叫更名,因为苹果和VLSl只是投资,而实际运作方其实是Acorn RISC Machine(即Acorn)。Acorn RISC Machine在1978年由Andy Hopper、Chris Curry和Herman Hauser共同创建。Acorn最初使用MOS Techn010gY 6502处理器(当时业界功效最强,且极为廉价的处理器)研发嵌入式系统,与其他同类型的小科技公司没什么两样,并且还小有成就。1980年代,英特尔x86架构异军突起,给当时所有的处理器厂商以毁灭性打击,Acorn也不例外,他们希望投入英特尔门下,使用x86架构进行开发。不幸的是,当他们向英特尔索取80286处理器样片时,却遭到了拒绝。无奈之下,1983年10月,Acorn启动了代号为Acorn RISC的项目,由VLSI Technology负责生产。1985年4月26日,VLSI产出第一颗Acorn RISC处理器ARMl,仅有个25000个晶体管,甚至没有乘法部件。在英特尔80386的光环下,无人问津。

Acorn不得不调整处理器的设计理念:廉价、低功耗、商性能!――20多年后,这一理念与智能手机和平板电脑不谋而合。因为对廉价和低功耗的追求,Acorn选择了RISC;同时,也因为要有机会,必须与英特尔不同。

然而,Acron的步伐依然缓慢,且财务拮据,直到苹果和VLSI注资组建ARM前,12个员工还挤在谷仓中办公,因为没有资金自己生产芯片,他们转而寻求只负责芯片的设计,通过授权的方式出售芯片设计,这种授权商业模式直到1993年后才逐步显示出活力――1993年,Cirrus Logic和德州仪器公司先后加入ARM阵营,德州仪器为ARM带来了命运的转机,它说服了当时一家并不知名的芬兰公司与他们一道进入通信移动市场,这家公司叫诺基亚。通过与诺基亚和德州仪器的合作,ARM发明了16位Thumb指令集,真正意义上创建了基于ARM/Thumb的SoC商业模式,逐渐摆脱财务危机,业务不断扩大。

1995年,著名处理器制造商DEC获得yARM的全部指令集授权,开始研发StrongARM CPU。DEC在StrongARM处理器设计中注入了许多A1pha处理器的先进元素,使ARM处理器达到了前所未有的高度。1997年,由于英特尔与DEC的专利官司,DEC将StrongARM的所有技术转让给了英特尔。这就是21世纪初风靡全球的英特尔Xscale(基于StrongARM)处理器。

相关期刊更多

Journal of Earth Science

SCI期刊 审核时间1-3个月

教育部

Acta Pharmacologica Sinica

北大期刊 审核时间1-3个月

中国科学技术协会

Journal of Zhejiang University Science A

SCI期刊 审核时间1-3个月

中华人民共和国教育部