arm单片机十篇

时间:2023-04-09 11:57:51

arm单片机篇1

关键词:ARM; LM3S811; 微控制器; TH12864; 液晶显示; 驱动程序

中图分类号:TN873.93; TP271文献标识码:A文章编号:1004373X(2011)22006503

Design of Car Display System Based on ARM MCU

ZHANG Dong, QIN Changli, XIE Dadi, WU Xiaoru

(Collage of Physics and Electronic Information , Yan’an University, Yan’an 716000, China)

Abstract: In order to accomplish a design scheme of car display system, an implementation method of hardware and software is designed according to the main functions and characteristics of LCD module TH12864 and microprocessor LM3S811 in the series of ARMsR CortexTMM3 based 32bit microcontroller. The basic driver program are conveniently designed by using the Stellaris peripheral driver library function. The testing and verification results show that the functions of the driver program and display program are ideal. The hardware resources of microprocessor LM3S811 is rich and its software is easy to develop program. The developed display system can be conveniently transplant into other system.

Keywords: ARM; LM3S811; microcontroller; TH12864; LCD; driver program

收稿日期:201106160引言

8位的51单片机长期占据着微控制器(MCU)的主流市场,但随着技术与需求的发展,32位微控制器应用增长率也在不断攀升。目前,基于ARM内核的32位微处理器在市场上处于领导地位[12]。

基于ARM嵌入式处理器的片上系统解决方案可应用于企业应用、汽车系统,家庭网络和无线技术等市场领域。ARM CortexTM系列提供了一个标准的体系结构来满足以上各种技术的不同性能要求,基于ARM架构有3个分工明确的系列:A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列针对实时系统;M系列专为低成本控制和微控制器应用开发。CortexM3是基于ARM架构的处理器,是专门为了在微控制器等对功耗和成本敏感的应用领域实现高系统性能而设计的,它简化了可编程的复杂性,使ARM架构成为各种应用方案的良好选择[3]。

Luminary Micro公司(已被TI公司收购) Stellaris提供一系列的微控制器是首款基于ARMsR CortexTMM3的控制器,它们为对成本尤其敏感的嵌入式微控制器应用方案带来了高性能的32位运算能力。 这些具备领先技术的芯片使用户能够以传统的8位和16位器件的价位来享受32位的性能。其中,LM3S811 微控制器正是针对工业应用方案而设计的,包括测试和测量设备、工厂自动化、建筑控制、运动控制、医疗器械、火警安防以及电力能源等[4]。

TH12864等图形点阵液晶显示器以其工作电压低、功耗低、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点, 已被广泛应用在各种仪器仪表、电子设备和家用电器等领域[57]。

本文尝试将基于ARM的LM3S811 微控制器与TH12864显示模块相结合的技术应用。

1系统硬件设计

1.1LM3S811主控芯片

本次系统硬件设计的主控芯片选择TI公司LM3S811芯片[89],其电源电压为3.3 V,最高时钟频率50 MHz,64 kHz的单周期FLASH;3个32位通用定时器,可分成6个16位定时器使用;一组同步串行接口(SSI),2个异步串行接口(UART);4通道模数转换器(ADC),1组模拟比较器和I2C接口;3个脉宽调制信号(PWM)模块,32个通用输入输出管脚(GPIO)及硬件看门狗等。LM3S811系统方框图如图1所示。

图1LM3s811系统方框图1.2TH12864显示模块

本次系统设计的显示模块选择带中文字库的TH12864,其电源电压为3.3 V。TH12864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16×16点阵)、128个字符(8×16点阵)及64×256点阵显示RAM(GDRAM)。可提供8位并行及串行2种连接方式,具有多种功能:光标显示、画面移位、睡眠模式等。 其中TH12864的管脚功能如下:

1:VSS,地(GND);2:VDD,电源;3:V0,背光调节;4:CS,片选信号;5:STD,串行数据;6:SCLK,串行时钟;14: DB0DB7,并行数据;15:PSB,串并口选择,串行模式为低电平有效;17:/RST,复位;19:LEDA,背光正极;20:LEDK,背光负极[10]。

1.3LM3S811主控芯片与TH12864显示模块的连接

为节约系统硬件资源以便其他用途,故选择TH12864显示模块为串行模式。则主控芯片LM3S811只需要占用3个GPIO管脚即可,保留PWM等用于小车驱动等,选择与比较器和I2C复用的PB2,PB4和PB6,如图2所示。

图2LM3S811主控芯片与TH12864

显示模块的原理图2系统软件设计

系统软件设计分为底层驱动程序、中层实现程序和上层应用程序。软件以IAR集成开发环境为开发平台,用C语言编写,便于维护和移植[1112]。下面是部分源程序。

2.1 底层驱动部分

底层驱动程序完成的功能是实现TH12864的硬件时序[10]。

图3TH12864硬件串行时序图程序如下:

void Send(uchar type,uchar transdata)

{

Pretreatment(type,transdata);

GPIOPinWrite(LCD_12864_PORT, LCD_12864_CS, 0xFF);

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SCLK, 0x00);

for(j=3;j > 0;j勃)

{

for(i = 8;i > 0;i勃)

{

if(ucSndtmp[j] & 0x80)

{GPIOPinWrite(LCD_12864_PORT, LCD_12864_SID, 0xFF); }

else

{GPIOPinWrite(LCD_12864_PORT, LCD_12864_SID, 0x00); }

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SCLK, 0xFF);

ucSndtmp [j]

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SCLK, 0x00);

}

SysCtlDelay(600 * (TheSysClock/ 3000000));

}

GPIOPinWrite(LCD_12864_PORT, LCD_12864_SID, 0x00);

GPIOPinWrite(LCD_12864_PORT, LCD_12864_CS, 0x00);

}

驱动程序先预处理3个字节要发送数据的具体内容,片选后,依次循环,按时钟信号发送每个字节的每一位,其中延时不能省略。

2.2中层实现程序

中层实现程序完成主要功能是,按照TH12864的用户指令集,用底层驱动程序发送指令,完成初始化、显示、清除、设定等功能。例如初始化程序:

void Ini_Lcd(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);

GPIOPinTypeOut(LCD_12864_PORT ,

LCD_12864_CS|LCD_12864_SID|LCD_12864_SCLK );

SysCtlDelay(100 * (TheSysClock/ 3000)); //延时约100 ms

Send(0,0x30);/*功能设置:一次送8位数据,基本指令集*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延时约72 μs

Send(0,0x02);/*DDRAM地址归位*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延时约72 μs

Send(0,0x0c);/*显示设定:开显示,不显示光标,不

做当前显示位反白闪动*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延时约72 μs

Send(0,0x01);/*清屏,将DDRAM的位址计数器调

整为“00H”*/

SysCtlDelay(72 * (TheSysClock/ 3000000)); //延时约72 μs

Send(0,0x06);/*功能设置,点设定:显示字符/光标

从左到右移位,DDRAM地址加1*/

SysCtlDelay(72 * (TheSysClock/ 3000000));//延时约72 μs

}

从前两句可以看出LM3S811在设置GPIO时,比普通51单片机设置要简单许多,无需记忆众多的寄存器,由于厂家提供了Stellaris外设驱动库函数,只要调用相应API接口函数即可,简化了编程的复杂性,对于新学者也可以迅速上手编程工作。

2.3上层应用程序

在底层驱动程序和中层实现程序的基础上,程序移植方便。可以根据系统需求完成字符、汉字和图片等实际显示内容。

图4实际显示效果图此次系统实现了开机图片显示,欢迎词和小车状态的循环动态显示,速度显示及电子秒表等功能。

3结语

通过本次系统集成的设计、制作、调试和验证,完成并实现了基于ARM单片机的小车显示系统功能。实现了LM3S811对于TH12864显示模块的控制,其底层驱动程序可以供大家参考。在实现过程中发现,在硬件方面,LM3S811的主频较高,运算能力较强,外设资源丰富。在软件方面,由于厂家提供了Stellaris外设驱动库函数,降低了编程的难度,可以快速上手工作。此外,本系统也可以推广应用到其他小型仪表或设备显示系统。

参考文献

[1]宁殿燕,张仲礼,王继矿,等.基于ARM Cortex M3内核矿井直流电法仪的研制[J].西安科技大学学报,2011(1):1115.

[2]崔琪琳,吴晓凤.基于ARM的光源跟踪系统的设计[J].电子测试,2011(2):6164.

[3]YIU Joseph.Cortex M3权威指南[M].北京:北京航空航天大学出版社,2010.

[4]Texas Instruments. StellarissR LM3S811 Microcontroller [EB/OL]. [20110109]. /stellaris.

[5]倪景峰,周腾,马恒.SMC12864液晶显示器在密闭监测系统中的应用[J].测控技术,2011,30(1):9799.

[6]辛阿阿,厉善亨.基于12864液晶模块的动态波形显示实现方法[J].仪器仪表用户,2010,17(3):5657.

[7]宋稳力,陈昌旺,黄文婷.液晶显示模块YG12864A的接口设计[J].现代显示,2005(6):3537.

[8]黄争.德州仪器高性能模拟器件在高校中的应用及选型指南[M].上海:德州仪器半导体技术(上海)有限公司大学计划部,2010.

[9]周立功.Cortex M3开发指南[M].广州:广州致远电子有限公司,2008.

[10]深圳彩晶科技.12864中文字库液晶显示模块使用手册[EB/OL].[20090815]..

[11]王道新,熊祖彪,陈竞,等.基于IAR集成开发平台的ARM程序设计方法[J].电子设计应用,2005(10):102104.

arm单片机篇2

本文介绍一种通过串口远程更新ARM程序的设计思想,并以美国ATMEL公司的ARM7芯片AT91SAM7S512为例,给出了其设计要点及设计方法,并对可靠性进行了设计。

【关键词】AT91SAM7S512 FLASH bootloader 远程更新

1 引言

在实际工程应用中,ARM程序通常采用JTAG口进行更新,在ARM电路板单板阶段通过JTAG口调试也是ARM开发的一种理想选择。但当ARM电路板装入整机投入真正的使用环境后,当用户对ARM软件功能或性能提出新的要求时,ARM软件的更新维护如果仍然通过JTAG调试口,将较大的提高维护成本。本文提出一种通过RS232串口远程实现ARM软件的更新机制,通过在ARM内部FLASH中植入一段bootloadr来更新应用程序和引导应用程序的运行。现以AT91SAM7S512为例,对此更新机制的设计思想、设计方法及可靠性设计进行介绍。

2 设计思想

整个系统由三部分组成,分别为ARM模块,串口模块和上位机模块。通过串口建立上位机和ARM之间的远程通信,系统框图如图1:

设计中将ARM芯片内部FLASH分为两块存储区域如图2,一部分存放bootloader镜像文件,一部分存放应用程序的镜像文件。

2.1 bootloader

bootloader是ARM芯片上电或复位后最先执行的程序代码,利用此段代码可建立与上位机之间的交互,实现应用程序的存储,并将ARM操作地址跳转到应用程序入口。

2.2 应用程序

应用程序为ARM实际工作时的目标程序。

设计的工作流程为:先将bootloader镜像文件利用JTAG口烧写到ARM内部FLASH的第一部分。芯片上电或复位后,ARM总会自动进入bootloader,通过bootloader判断是否有上位机发送的程序更新请求,如果有程序更新请求,则上位机将应用程序的镜像文件发送至ARM,并利用bootloader将应用程序存储至ARM芯片内部FLASH的第二部分;如果没有更新程序请求,则bootloader将ARM操作地址跳转到ARM内部FLASH的第二部分,运行应用程序。程序设计的流程框图如图3。

3 设计方法

3.1 bootloader设计

bootloader的设计主要分为三部分程序设计模块:ARM和上位机交互模块,存储应用程序模块和加载应用程序模块。

3.1.1 ARM和上位机交互模块

ARM和上位机之间的通过RS232串口通信,主要完成的功能为:判断是否需要更新ARM的应用程序;接收上位机发送的应用程序镜像文件。

设计流程:ARM上电后,bootloader在一定的时间内判断是否需要更新应用程序,如果需要更新则bootloader和上位机进行握手应答,握手成功后上位机发送应用程序的镜像文件发送至bootloader,发送完成后,bootloader对应用程序镜像文件的所有字节进行校验;如果不需要更新应用程序,则bootloader将ARM的操作地址跳转到应用程序入口,运行应用程序。

可靠性设计:ARM和上位机交互的可靠性主要体现在ARM和上位机之间的数据传输可靠,防止出现误码、缺码现象,因此两者必须建立健全的通信机制。本设计两者之间的通信方式采用应答方式,即其中一个发出命令后,另一个收到命令后必须给出反馈信息后,才能进行下一步操作。除此之外两者之间传输的数据应包裹在一个完整帧内,格式为:帧头+数据+帧尾+校验和,数据传输过程中在任何一点出现错误,应立即给出错误指示,中止进行下一步操作。

3.1.2 存储应用程序模块

AT91SAM 7S512芯片内部FLASH总大小为512Kbytes,共有两个单元,每个单元为256Kbytes。第一个存储单元的地址范围为:0x100000 - 0x13FFFF,第二个存储单元的地址范围为:0x140000 - 0x17FFFF。每个单元均有独立的FLASH控制器,EFC0和EFC1。利用对FLASH控制器的操作,可进行ARM内部FLASH的读,写及擦除操作。现将应用程序的镜像文件存储在第二个FLASH单元中,起始地址为0x140000 。EFC1的基地址为0xFFFFFF00,EFC1的寄存器见表1。

设计流程:bootloader接收到应用程序镜像文件后,将数据以一个PAGE(256字节)的大小为一组依次写入AT91SAM7S512内部FLASH,对AT91SAM7S512一个PAGE写操作的流程如图5所示。

可靠性设计:存储应用程序的可靠性主要体现在数据应完全正确写入AT91SAM7S512内部FLASH,因此设计中在对每个PAGE进行写操作前和写操作后,均需通过MC_FSR寄存器检查内部FLASH是否空闲,除此之外在每个PAGE写完成后可增加适当的延时,确保数据完全写入。

3.1.3 加载应用程序模块

加载应用程序模块的主要功能为将ARM的操作地址跳转到应用程序入口。

设计流程:ARM上电或复位后,在一定时间内没有接收到更新应用程序请求后,bootloader将ARM的操作地址跳转到应用程序的入口地址0x140000,运行应用程序。将操作地址跳转到0X140000地址处,使用的汇编指令为:ldr pc=0x140000。

可靠性设计:加载应用程序模块的可靠性设计主要体现在bootloader能够准确、快速将操作地址跳转到0X140000处,并且应用程序能够可靠运行,不受bootloader的干扰。因此在bootloader设计中应禁止软件看门狗功能,防止应用程序还未完全启动而系统自动复位;其次应严格设定bootloader判断是否有更新应用程序请求的时间,最好控制在10ms内。

3.2 应用程序设计

在应用程序设计中,为使bootloader成功加载到应用程序,应用程序在使用编译器生成镜像文件时,必须将编译器的ROM地址设置为0X140000。本设计采用的编译器为ADS1.2,编译器的ROM设置如图6。

为保证应用程序的高速、可靠运行,在应用程序设计中,应将应用程序从FLASH中完全复制到SDRAM中,本部分代码需在应用程序启动代码(.S文件)中完成。

4 结论

本文浅谈了通过RS232串口更新ARM芯片AT91SAM7S512程序的基本设计思想及设计方法。通过对一些关键点进行可靠性设计,使设计具有较高的实用性,能够直接应用到工程中。本设计思想具有一定的扩展性,可以应用到多种微处理器中,如单片机、ARM等。其次也可应用于多种接口中,如RS422接口,CAN接口、以太网接口等。

参考文献

[1]杨宗德.嵌入式ARM系统原理与实例开发[M].北京:北京大学出版社,2007.

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

[3]周立功,张华.深入浅出ARM7[M].北京:北京航空航天大学出版社,2006.

arm单片机篇3

【关键词】 嵌入式系统 实时仿真 ARM+DSP 动力推进

一、ARM+DSP双核嵌入式仿真系统的定义与特点

所谓嵌入式系统即指以应用为中心的一种专用计算机系统,此系统的软硬件均可裁剪,对体积、能耗等各方面的要求非常严格。嵌入式系统的内核小、结构精简,其系统软件非常高效,可用多任务的操作系统来开发软件。

ARM+DSP双核嵌入式仿真平台由RISC、C5000DSP、C2000DSP组成,采用双核芯片TMS320VC5470对APM部分和C5000DSP部分进行集成组合,有效的提高了系统功效,降低了能耗,编程灵活度显著提高,还可加速软硬件升级,节省投资,提高上市速度。

使用TMS320VC5470芯片实现ARM+DSP嵌入式仿真平台具有更多优势,主要表现为其简化了系统结构,令ARM与DSP构成整体等,许多嵌入式实时应用系统采用ARM+DSP的结构组合来充分发挥两种处理器的优势,从每个处理器中获得最大益处,以获得更高性能。

二、ARM+DSP嵌入式仿真平台动力推进系统硬件结构

ARM+DSP嵌入式仿真平台主要由以ARM,C5000DSP,C2000DSP3个处理器为中心的功能部分构成。其中ARM部分的ARM核微控制器是是整个系统的控制中心。主要负责上电后完成整个系统的自举加载和系统的任务分配、从物理设备输入和向物理设备输出信号、通过CAN总线与上位计算机通信等。

C5000DSP部分主要运行动力推进系统的数学模型,并将仿真所得的转速和转矩的数据传递给C2000DSP部分的电机控制单元,C2000DSP部分接收运算结果,按照该结果控制电动机达到仿真的转速和转矩,最终实现用电动机来模拟推进主机。

以ARM+DSP为核心的嵌入式系统具有很强的控制接口能力和高速数字处理能力,可以达到实时运行精确的动力推进系统的数学模型、实时控制物理设备的目的,从而实现精确实时的半物理实物在环的动力推进仿真系统。

三、ARM+DSP嵌入式仿真平台CAN总线通信的接口设计

本嵌入系统中,CAN被分为不同的功能模块,收发器在发送时将其逻辑信号转换为物理信号,与接受时恰好相反。通常,SPI用于DSP处理器与外部设备间的通信,因而我们把CAN总线通过2407的SPI和5470的ARM侧SPI口取得通信,最终形成完整的硬件结构。

CAN总线通信接口电路内存接口方面,片内RAM相比片外更具优先权,由于程序和数据空间共享外扩RAM,因而外扩数据空间和程序空间再CMD文件方面的分配上不能出现重叠的地址映射。

四、ARM+DSP嵌入式仿真平台的实时仿真通信程序设计实例研究

在ARM+DSP嵌入式仿真平台下,5407的C5000DSP部分大部分是用来与进行传播推进系统的数学模型,并对其进行分析,该系统可用于传统的柴油机等方面,或新型的电力系统方面。

C5000DSP程序实质上是以实时循环迭代求解微分方程组为主的程序,每次循环求解一次,得出推挤系统的仿真数据并将结果传送给APM部分,通过SPI接口模块传送给2407DSP部分来显示与控制。

2407DSP大部分负责从其SPI接口模块的接收缓冲寄存器读取FIFO接收来自ARM侧SPI口从C5000DSP部分仿真结果中获取的转速和转矩信号。其中,TMS320LF2407则是这个控制子系统的核心,它通过查询检测主控指令位正常与否,正常则读取这个子系统的给定信号,并通过捕获子程序接入反馈值。周而复始直到出现不正常或ARM主控成粗结束该任务的进程。

五、结论与展望

本文的创作对整个项目的功能开拓和日后完善较为有益,在以后的工作开展中还应考虑到以下几点:

CAN现场总线的应用不可局限于已经形成的ARM+DSP嵌入式仿真系统中引入CAN总线,以后还可把现场的节点扩大,最终形成完整的传播仿真体系,下一版应考虑更换内部RAM容量更高的双核芯片、简化电路结构等,以更好的提升本嵌入式仿真平台的通信效率。

另外,项目的开发应考虑寻找更广阔的推广平台,相信其此成果可在工业控制、通信、图像处理等多方面获得长远发展。

参考文献

[1] 相春雷;;嵌入式系统:应机而动,日进无疆[J];软件世界;2010年02期

[2] 2011年嵌入式系统联谊会5月份主题 “MCU中国设计与中国应用”主题讨论会[J];单片机与嵌入式系统应用;2011年05期

[3] 张娜;;浅析自动化嵌入式系统的选择与调试[J];黑龙江科技信息;2011年16期

[4] 杨剑锋;谢银波;吴静;沈海;;校企合作,共谱嵌入式教学新篇章[J];计算机教育;2011年15期

参 考 文 献

[1] 相春雷.嵌入式系统:应机而动,日进无疆[J].软件世界, 2010年02期

[2] 2011年嵌入式系统联谊会5月份主题 “MCU中国设计与中国应用”主题讨论会[J];单片机与嵌入式系统应用;2011年05期

arm单片机篇4

PC巨人也折腰

在今年的英特尔开发者大会上,除开混合现实设备Alloy以外,最引人注目的消息恐怕莫过于英特尔宣布与ARM达成授权协议了。众所周知,PC时代的英特尔霸占了绝大部分PC市场的处理器芯片的市场份额,而如今传统PC产业的整体下滑,受其波及的英特尔也开始慌了。

在英特尔2016年第二季度的财报中显示,英特尔第二季度净利润为13.3亿美元,与去年同期的27.06亿美元相比下降51%―持续萎缩的PC市场让英特尔不得不寻求新的突破口。而在芯片方面,宣布与ARM合作也不是没有道理。英特尔的x86架构芯片霸占PC领域,而ARM芯片在移动市场雄踞一方,在架构上英特尔已经没有插足芯片设计的竞争力。据市场研究公司Strategy Analytics的数据,截至去年年底,英特尔在全球手机芯片的市场份额仅为1%,兼容性和功耗的问题让合作厂商也逐渐开始放弃英特尔移动芯片的采购。不久前,英特尔宣布停止对代号为Broxton和Sofia两款Atom系列芯片产品线的开发,此举意味着英特尔的架构在移动市场已没有太大竞争力。

强势入局代工市场

然而放弃对移动芯片的研发,并不意味着英特尔将要放弃移动市场这块巨大的蛋糕。在上一任CEO保罗・欧德宁的规划下,为了跟上PC时代需求量巨大的芯片需求,英特尔在全球各地兴建了多家工厂以解决产能不足的问题。而PC市场的萎缩让大多工厂难以为继,英特尔不得不寻求闲置资源的出路。现任CEO布莱恩・科兹安尼克是由英特尔生产部门出身,因此他所做出的决策很大程度上都是为了解决过剩的产能。选择基带芯片和SoC芯片的代工是利润率较高的选择,而给这两类元件进行代工都无法绕开ARM的授权问题,英特尔自然会找上ARM谋求合作。

自芯片产业引入鳍式场效应电晶体(FinFET)后,三星等各家晶圆代工企业在自家制程上的取名便不再符合客观测量的单个晶体的闸极线宽。从半导体分析厂商Linley Group与Techinsights实际分析的结果来看,英特尔、台积电与三星在14纳米与16纳米制程的实际闸极线宽上其实都没达到其所称的数字。根据数据显示,台积电16纳米制程的闸极线宽为30纳米,三星第二代14纳米制程的实际测量闸极线宽则是20纳米,英特尔14纳米制程在两家机构的测量结果分别为20纳米跟24纳米。

我们可以看出,英特尔的电晶体工艺在14纳米和16纳米制程上与其他两家代工企业相比有一定优势,可以预见在10纳米工艺的“对阵”中,英特尔还是能够继续领跑的。英特尔宣布与ARM合作的同时,也意味着韩国第二大手机制造商LG成为旗下的第一位合作厂商,将使用该公司的代工厂制造10纳米工艺的手机芯片,可谓开了个好头。

代工之外的可能性

早些时候,日本科技巨头软银斥资310亿美元收购了英国移动芯片设计公司ARM,软银CEO孙正义在解释收购理由时谈到了ARM在未来物联网的发展机遇。ARM在物联网领域的动作早已有之,从2013年ARM公司收购芬兰物联网软件创业公司Sensinode开始,到今年斥资3.5亿美元收购英国创业公司Apical,ARM每年都在物联网行业稳步前进,而ARM芯片低功耗的优势与物联网智能设备有着较高的契合度。

而在移动芯片市场失利后,转而发展物联网的英特尔,就需要这样一个盟友。英特尔早前的微处理器Quark和针对物联网设备的操作系统均开始淡化x86架构的地位,转而向ARM架构靠拢,等于是英特尔承认了ARM架构的芯片更适合于智能设备。此前的竞争对手ARM如今转为盟友,有利于双方进一步整合技术资源,也为英特尔重新发力微处理器铺平了道路。

arm单片机篇5

1系统总体设计

本文设计的系统总体结构如图1所示。S3C2440A采用了新的总线架构如先进微控制总线架构,低功耗,简单,精致,且全静态设计特别适合于对成本和功率敏感型的应用。EP3C16Q240C8拥有丰富的I/O资源和逻辑资源,具有高速并行处理能力,在数据采集领域具有重要的应用价值[4]。两者之间的信号传输方式采用外部总线:指令Cmd[2∶0],数据Data1[15∶0]。FPGA受ARM写使能W_EN和读使能R_EN的控制,当W_EN为低电平时,ARM在写时钟Clk_wr的上升沿将相应的数据通过16位数据总线Data1写入到FPGA中,此时FPGA内与16位数据总线相对应的IO口全部变成输入状态;当R_EN为低电平时,ARM在读时钟Clk_rd的上升沿通过16位的数据总线Data1从FPGA中读取相应的数据,此时FPGA内与16位数据总线相对应的IO口全部变成输出状态。上位机中的数据通过以太网传输到ARM中,最终通过流水线技术储存到FPGA内部的RAM中;同时FPGA也时刻接收来自测试芯片反馈回的数据,将其保存到内部的另一块RAM空间中。由于RAM空间有限,反馈回的数据将不断地被新接收到的数据刷新。

RAM内部储存的数据如图2所示。数据帧长度即上位机一个周期内需要给测试芯片发送的老化测试数据的数据总量,在这里以16bits为一帧;理论反馈数据为在测试芯片正常工作的情况下理论上应得到的反馈数据;老化测试数据经上位机向ARM发送后存入FPGA内部的RAM后,FPGA以自身内部独立的时钟将此数据通过双向总线Data2[15∶0]的形式不断地发送到老化测试芯片中,与此同时测试芯片也将通过Data2不断地向FPGA发送老化反馈数据。最终FPGA将理论上的反馈数据和老化反馈数据进行数据比对处理,得到老化测试错误报告数据上传到上位机。由于不同的老化测试芯片有着不同的管脚定义,导致Data2总线的16根数据线的输入/输出状态并不是确定的,需要FPGA通过上位机向ARM发送的16位IO口状态数据进行配置。

2FPGA内部模块的设计

2.1模块的总体设计FPGA内部模块结构如图3虚框内所示。FPGA内部中的指令总线模块的功能是FPGA接收来自ARM的相应指令,通过指令解析模块,将ARM送到数据总线上的数据存入到片内的寄存器中,于此同时FPGA通过数据反馈模块将数据的接收成功或失败的状态反馈回ARM。数据总线模块A的功能是当ARM向FPGA读取数据时,总线的模式被配置成输出;而当ARM向FPGA写入数据时,总线的模式被配置成输入[5]。数据总线模块B根据16位IO口状态数据配置16位双向总线的输入输出模式,如果IO口状态为1,则总线中相对应的数据线的模式为输出,FPGA向测试芯片写数据;如果IO口状态为0,则总线中相对应的数据线的模式为输入,FPGA从测试芯片中读数据。

2.2模块的软件设计本文设计的系统中,ARM负责在每次老化过程实施前,完成向FPGA传送工作指令、配置参数、老化测试数据、用来比对的正确结果预期图案;FPGA则根据工作指令完成向ARM反馈测试结果信息的任务。本系统中ARM和FPGA之间的协议流程图如图4所示。FPGA经过系统复位后,ARM将给FPGA发送相应的数据,如果经奇偶效验后数据被成功接收,FPGA通过16位的数据总线给ARM发送回FFFFH的数据,随后ARM将给FPGA发送协议流程中下一个环节的数据;如果经奇偶校验后数据接收失败,FPGA通过16位的数据总线给ARM发送回0000H的数据,ARM将给FPGA重新发送协议流程中上一个环节的数据。FPGA内部模块的指令解析和数据处理采用有限状态机的形式进行描述。本系统中共有8个状态:系统空闲Idle、老化过程中止Lh_stop、老化过程启动Lh_start、配置测试数据帧长度Data_lgth、配置IO口状态数据Io_data、配置老化测试数据Lh_data、配置理论上的反馈数据Fd_data、读取测试错误报告数据域Error_data。FPGA根据ARM发送的指令数据Cmd[2∶0],使状态机进入相应的状态,处理相应的命令。RAM模块由Altera公司提供的IP核生成。本系统中共使用了3块RAM空间,分别用来存储老化测试数据、理论和实际反馈数据。

3测试结果

采用74LS04作为系统的测试芯片,行走walking算法实现激励信号图案的产生。在Quartus9.1开发平台下使用VerilogHDL语言测试该系统。使用逻辑分析仪随机抓取各信号的时序效果如图5所示。时序中IO口状态数据IO_data为16’h00ff,测试数据帧长度Data_lgth为255。当实际反馈数据Sj_Fd_data和理论反馈数据LI_Fd_data不同时Error_data的值累加1。

4结束语

arm单片机篇6

书代号书 号书 名作 者定 价出版 日期内容简介页 码

B17150715-9嵌入式系统设计与实践张晓林估29.0预计2005.10

B17210721-1嵌入式实时操作系统μC/OS-II原理及应用任 哲22.02005.086

B16530653-3ARM9嵌入式技术及Linux高级实践教程陈 赜32.02005.076

B16020602-9ARM嵌入式技术实践教程 陈 赜29.02005.026

B15770577-4ARM嵌入式系统基础教程周立功32.02005.017

B17290729-7ARM嵌入式系统实验教程(二)周立功估29.02005.097

B17260726-2ARM嵌入式系统实验教程(三)周立功估29.0即将出板7

ARM嵌入式系统实验教程(三)--扩展实验周立功估29.0即将出板8

B16480648-7嵌入式系统开发与应用教程田 泽35.02005.038

B14860486-7嵌入式系统开发与应用实验教程 (第2版) (含光盘)田 泽29.52005.048

B15800580-4嵌入式实时操作系统及应用开发罗 蕾34.02005.019

B14800480-8嵌入式控制系统及其C/C++实现 --面向使用MATLAB的软件开发者 (含光盘)骆丽 译32.02005.049

二、 ARM、SoC设计、IC设计及其他嵌入式综合类

代书号书 号书 名作 者定 价出版 日期内容简介页 码

源码开放的嵌入式实时操作系统T-Kernel周立功 等译估50.0预计2005.099

B16300630-4嵌入式Ethernet和Internet通信设计技术骆丽 译估28.0预计2005.1110

B16290629-0嵌入式系统实时多线程--基于ThreadX和ARM张炯 译估35.0预计2005.1110

B17250725-4μC/OS ARM移植要点详解黄燕平估32.0预计2005.1110

B17190719-X从51到ARM--32位嵌入式系统入门赵星寒估38.0预计2005.1010

B13590359-3嵌入式系统词典马广云译2005.0811

B17100710-6ARM微控制器基础与实战 (第2版)周立功43.02005.0811

B16740674-6ColdFire系列32位微处理器与嵌入式Linux应用 (含光盘)李晶皎39.52005.0611

B16730673-8深入浅出ARM7--LPC213x/214x(上)周立功45.02005.0711

B16520652-5ARM嵌入式系统开发--软件设计与优化沈建华译75.02005.0512

B14300430-1MIPS处理器设计透视 (See MIPS Run)赵俊良译55.02005.0612

B16000600-2AT91系列ARM微控制器体系结构与开发实例朱义君34.02005.0412

B15410541-3嵌入式系统开发与应用田 泽54.02005.0113

B15830583-9ARM嵌入式系统软件开发实例 (一)周立功56.02005.0113

B15580558-8嵌入式系统设计与开发实例详解 --基于ARM的应用胥 静43.02005.0113

B15510551-0大型RISC处理器设计--用描述语言Verilog设计VLSI芯片 (含光盘)田泽 译39.02005.0113

三、 DSP

代书号书 号书 名作 者定 价出版 日期内容简介页 码

B17220722-X高性能工业控制DSP--ADSP 2199x原理及应用 (含光盘)王晓明估39.02005.0914

B15480548-0电机的DSP控制技术及其应用谢宝昌39.02005.0314

B16060606-1DSP技术原理及应用教程刘艳萍26.02005.0314

四、 单片机

代书号书 号书 名作 者定 价出版 日期内容简介页 码

4.1 选编及器件手册

B15420542-1单片机应用技术选编 (11) 何立民69.02005.0915

B17200720-3单片机器件实用手册 --数据传输接口器件分册 (第2版) 邬宽明估59.52005.0915

B14650465-4单片机器件实用手册 --输入通道器件分册 (第2版) 纪宗南59.02005.0715

4.2 PIC单片机

B16540654-1高职高专通用教材--PIC单片机基础教程丁跃军22.02005.0715

B15650565-0PIC18F___单片机程序设计及应用 (含光盘)刘和平29.02005.0316

B15430543-XPIC单片机C语言开发入门 (含光盘)武 锋29.02005.0216

4.3 AVR单片机

B17240724-6AVR单片机GCC程序设计 佟长福估28.02005.1016

B15660566-9AVR单片机高级语言BASCOM程序设计与应用张茂青22.02005.0116

B15710571-5高档8位单片机Atmega128原理与开发应用指南(上)马 潮34.02005.0117

4.4 其他单片机图书

单片机初级教程--单片机基础 (第2版) 张迎新预计2005.11

arm单片机篇7

[关键词]嵌入式系统 ARM 软件开发

用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。

一、ARM嵌入式开发工具

ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。

ARM SDT可在Windows95、98、NT以及Solaris 2.5/2.6、HP-UX 10上运行,支持最高到ARM9(含ARM9)的所有ARM处理器芯片的开发,包括StrongARM。ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。很多ARM开发软件(例如Keil)也是借用的ADS的编译器。ADS在2006年版本已经到2.2。但国内大部分开发者使用的均是1.2版本。RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

JEENI仿真器支持ARM/THUMB指令,支持汇编/高级语言调试。用户应用程序通过JEENI仿真器下载到目标RAM中。通过JEENI仿真器,用户可以观察/修改ARM7的寄存器和存储器的内容,用户可以在所下载的程序上设置断点,用户可以以汇编/高级语言单步执行程序,也可以全速运行程序,用户可以观察高级语言变量的数据结构及内容并对变量的内容在线修改。

JEENI 内部使用了一片带有高速缓存的 ARM 处理器,支持对调试操作的快速响应,比如:单步、读写存储器、读写寄存器和下载应用程序到目标板。JEENI 的这种结构,允许以太网接口在处理器执行JTAG指令的同时访问存储器。这种设计极大的提高了下载速度。JEENI仿真器能够很好地与SDT2.5工具连接,用户可使用SDT的编译器和调试界面。JEENI 对那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用户来说是即插即用的替代品。JEENI 可用于ARM SDT 2.11a 或 SDT 2.5,另外大多数第三方的调试器也都支持 JEENI。

二、RealView MDK优点

启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越多门槛。RealView MDK的µVision3工具可以帮您自动生成完善的启动代码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内所有设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。

RealView MDK的RealView编译器与ADS 1.2比较:代码密度:比ADS 1.2编译的代码尺寸小10%;代码性能:比ADS 1.2编译的代码性能高20%。RealView MDK无需寻求第三方编程软件与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内FLASH、外扩FLASH烧写,并支持用户自行添加FLASH编程算法;而且能支持FLASH整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。

三、ARM嵌入式造作系统

操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。

μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 标准的异步 I/O。VxWorks 包括以下驱动程序:网络驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等。

参考文献:

arm单片机篇8

嵌入式系统是一种具有专业用途的计算机系统,系统以计算机技术作为技术支撑,软件和硬件可以根据实际的应用需求进行设置,适用于对系统功能、稳定性、成本、占用空间以及功耗有较高要求的条件。为了追求系统的高性能,嵌入式系统的软件和硬件都要尽可能的设计为最佳性能,减少冗余部分,在有限的空间,有限的硅片上,实现软硬件的性能最大化。32位ARM嵌入式处理器的性能高于同类,且其能耗很低,其可编程性和可操作性,让系统软件的设计更加方便,能够在现有的硬件基础上,根据所需自由设计软件。目前,32位ARM嵌入式处理器已经在电子产品、无线通信以及网络通信等各个领域得到了非常普遍的应用。嵌入式Linux是一种小型操作系统,其内核经过特殊剪裁,系统模块也是对应功能要求而定制的。嵌入式Linux具有以下特点:内核相对很小,仅占用不到1M的空间;同时支持包括X86在内的三十多种8bit-64bit的MPU和MCU;支持ROM等各类存储器;可以多任务多进程同时进行,具备一定的实时性;全面支持通信网络,具有良好的软件开放性,Linux主机中的软件应用可以自由导入到嵌入式Linux系统中;嵌入式Linux经过多年研发,具备坚实的技术支撑。基于ARM的嵌入式Linux系统,硬件方面主要包括32位ARM内核处理器,存储器以及相关的外部接口和设备,在设计过程中,最需要注意的是ARM选型、Bootloader开发、系统初始化、操作系统固化以及存储器管理等。

2 ARM选型

目前,能够适用于嵌入式系统设计的ARM微处理器存在许多系列,ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的Xscale以及StrongARM。前四个系列是通用型处理器,每一个系列的处理器具备独特的功能和性能,能够应用于各个领域,满足对应的需求。SecurCore系列的处理器的安全性很高,可用于保密程度高的情况。ARM微处理器的内核结构各式各样,能够在不同领域和条件下发挥作用,用户需要根据自己的实际需求,来选择最合适的芯片。例如,如果用户想要在系统中使用标准Linux等操作系统来更方便快捷的进行软件设计,那么最佳的选择是ARM720T以上,并且具备MMU功能的ARM芯片。此外,诸如uCLinux一类的不需要MMU功能支持的操作系统已经研发出来,并在不具备MMU功能的微处理器上获得了成功应用,而且其系统稳定性和功能,都具有较高水平。

3 Bootloader开发

Bootloader是嵌入式系统的芯片引导程序,由开发人员应用汇编语言设计出来。Bootloader固化在目标板的ROM中,其功能是启动ROM或RAM中的嵌入式软件程序。在CPU支持的情况下,bootloader在开发时可以在RAM中运行。在基于ARM的嵌入式系统设计过程中,需要结合硬件目标板的相关特性来设计相应的bootloader程序,从而达到初始化处理器和相关硬件的目的。初始化处理器是通过bootloader对处理器中的配置寄存器进行初始化,这很容易实现,例如,在使用ARM处理器的MMU时,只需通过bootloader调用控制命令打开MMU。对于嵌入式系统必备硬件的初始化,一般是对系统内存、Flash ROM以及终端控制器的初始化,此外,从主机下载系统映像需要在硬件板和主机之间通过接口设备连接,系统的接口设备初始化也是由bootloader完成的。例如,一些嵌入式系统硬件板是通过以太网从主机下载系统映像文件的,在这里,bootloader就会使用以太网卡驱动程序来对相关硬件进行初始化,然后再与bootloader客户端程序进行连接,下载映像文件。

4 系统初始化

基于ARM的嵌入式系统芯片大多属于复杂的片上系统,这种系统的硬件部分很多都是可以自由配置的,其工作状态和参数属性也是由一定的软件进行设置的。用户在使用应用程序前,需要首先使用对应的启动代码对系统硬件进行初始化,这种初始化任务可由bootloader完成。在系统的初始化中,主要包括三个部分。其一,初始化中断向量表。ARM处理器对中中断向量表的位置有特殊要求,一般来说必须在从0地址开始的32字节的空间内。在ARM处理器的工作过程中,每当发生一个中断,ARM处理器都会将PC指针置为向量表中对应的中断类型的地址值。由于每个中断都只占据向量表一个字节的存储器空间,所以只能存放一条ARM指令,在一般情况下,向量表中并不直接存放ARM指令,而是跳转指令,程序可以由向量表在指令作用下跳转到寄存器的其他地址,然后再进行中断处理。其二,初始化堆栈。ARM具有7种不同的执行状态,每一种状态对应的堆栈指针寄存器都是相互独立的。所以,在程序中调整ARM执行状态需要给每个寄存器定义堆栈地址。寄存器堆栈地址的定义很简单,只要将处理器执行状态轮流切换,每个状态分别赋值。其三,改变处理器模式。ARM处理器有7种模式,在初始化时,需要先在6权模式下进行相关的修改,最后再切换到用户模式。

5 下载系统映像

系统映像是通过bootloader从主机载入到目标板上的。系统映像文件的下载位置是通过bootloader的指令代码或者交互shell界面来确定的,通过目标端的bootloader程序得到接收映像文件的程序,而主机端的程序则负责发送映像文件数据。这里一般可以通过串口和以太网卡等多种方式进行映像文件的传输。在成功接收系统映像后,如果具有相应的硬件模块,bootloader还能将映像写入到flash中。然后根据相应的启动地址,bootloader就能够将下载完毕的系统映像文件启动,并将程序流程转入主应用程序中。

6 存储器管理

嵌入式系统的软件平台是由系统引导程序、嵌入式操作系统内核以及文件系统三个部分构成的。软件平台固化在Flash中,对于Flash地址空间的分区,一般分为三个,分别用于存放bootloader、Linux内核以及文件系统。Bootloader的代码量相对较小,但也是非常重要的。嵌入式操作系统内核则是嵌入式系统的管理中心,负责各类任务和进程的切换和运行。文件系统则是嵌入式系统软件平台占用存储空间最大的,负责存储系统配置文件、系统程序、用户程序以及相关的驱动等。此外,如果嵌入式系统的结构较为复杂,就可能出现各种存储类型的接口,这些接口不能直接发挥作用,还需要一定的配置。就算是同类型的存储器,也需要根据访问速度来设置不同的时序配置。例如Flash和SRAM属于静态存储器类型,其端口可以共用,而DRAM则具有动态刷新和地址线复用的特性,需要配备专用存储器端口。

嵌入式系统作为计算机技术应用的一种,在社会的很多领域都能够得到有效的应用。对于嵌入式系统的设计也一直受到相关人士的关注。文章探讨了基于ARM的嵌入式系统的设计方法,以此为参考,再设置一定的硬件和程序即可发挥效用。

参考文献:

[1]黄克彬 叶梧 冯穗力.基于ARM-ucLinux嵌入式系统启动引导的实现[J].电子技术应用,2014,(3):23-24.

[2]费浙平.基于ARM的嵌入式系统程序开发要点(二)――系统的初始化过程{J].单片机与嵌入式系统应用,2013,(9):16-17.

[3]乐燕芬.ARM嵌入式系统启动过程分析及实现[J].仪器仪表学报,2015,27(z3):56-57.

作者简介:

arm单片机篇9

记者:Allen您好!非常高兴有机会采访您!去年7月,您开始担任ARM中国总经理兼销售副总裁,请简单介绍一下您的经历?

Allen:我在美国念的大学,毕业第一份工作是在Intel。很有意思的是,那时做的第一款芯片就是笔记本电脑的处理器,是Intel第一次尝试给移动电脑做一款系统集成(SoC)的处理器芯片,而当时其它产品光是一个CPU。 很多时候是一种巧合,多年以后,我在ARM又回到支持芯片公司做同样针对移动电脑的SoC上来了。在Intel做了几年开发以后,就离开了Intel。后来也在LSI Logic, Mentor等公司担任过销售和工程职位。2004年加入了ARM,那时候主要负责晶圆制造厂商的业务,一开始跑大陆比较少,因为晶圆代工厂中国台湾地区比较多,2007年才调回中国大陆,开始负责中国区的销售业务。

记者:对于ARM中国区域的销售管理,您如何保持团队的激情?留住人才,执行良好的企业文化,请详细介绍一下您的管理思路?

Allen:中国是一个发展中的市场,成长比较快,任何国际公司在中国的发展最重要的挑战就是要有好的人才和好的团队。我在硅谷做了比较久,所以文化上比较强调做实事,强调以客户为中心目标。随着中国IC产业的发展壮大,我们也抓住了一个良好的发展契机,我们做的产品能够适应产业的需求,不论是公司的成长,还是个人在公司内部的成长、个人在市场上的威望、将来职业生涯的发展和技能学习的发展都是非常有益的,从这个角度来讲,我觉得管理就变得容易了,你把客户需求的发展和你公司的发展、个人的发展得到一定的统一,大家都有一个共同的目标,那么团队文化跟发展就水到渠成了。

总的来讲,我认为国内这几年的发展,培养了非常多好的人才,只要在一定的框架上大家能够制定出共同的价值和目标,企业的管理就能得心应手。我2007年回来时,做的第一件事就是让大家坐下来共同讨论我们ARM在中国市场的可能发展,制定发展目标,根据ARM文化和中国文化制定文化价值。一个公司的规定不可能是尽善尽美的,文化与价值框架大家可以认可的话,什么问题就都可以在这个框架上解决。

记者:目前贵公司的产品框架是怎样?它们的比重是怎样?您认为目前市场趋势是什么? ARM在市场竞争中的优势是什么?

Allen:从CPU来说,目前ARM分A、R、M三条产品线:第一个是应用(application)处理技术,它的目的是跑操作系统、跑应用,包括通讯消费电子领域等。第二个是实时(real time)处理系统,像cortex -R4、3G、4G、下一代应用LTE的标准、最新一代中国TDLTE标准的芯片等,最近上海世博启动,那里面用的就是R4这一类型的,那主要是嵌入式这一块。第三个是微控制器(microcontroller),现在最新的M系列是特别小的微控制器,以前我们8051的8位、16位MCU在新一代的网络应用或者新的高端应用中功率开始慢慢显得不足,我们开发的这个系列从比较小的,和8051相同尺寸到大两三倍尺寸的各种各样的微控制器都有。

以上这些都是针对应用的,我们在硅谷还有一个工艺库。现在对CPU的应用实现困难度越来越大,工艺库的优化变的越来越重要,这就是当时ARM建立它的初衷之一。

至于您刚刚提到的比重,我觉得很有意思的是一个变化吧,比如说5、6年前,我们不论前端(授权费)、后端(版税)营收六七成都是与手机相关的,现在我们把手机相关定义放宽了点,包括移动设备、PNP等等,放宽了以后,从后端版税来讲,移动设备这一块占了我们版税的60%左右,从前端授权来讲,却只占了现在2成多。也不是说这块比重降低了,而是别的方面成长更快。在去年全球出货量不太景气的情况下,像数字电视基本上没什么增长,但基于ARM的数字电视的出货量增长大概有30%~40%,微控制器成长也非常快,超过50%,手机、消费类电子领域也都有成长。去年的各个领域基于ARM芯片的产品出货量都在成长,即便去年整个产业的出货量不是太高。

我们看到的最大的一个趋势就是网络的驱动,不论是人对机器,还是机器对机器,他们一个很大的需求就是网络的链接和应用的普及化。这个过程中,对CPU平台的要求比较高,一、它的功耗要求高了,二、对软件的通用性应用要求高了,我们最大的优势归根到底还是怎样在你的整个产品的开发周期和成本上占有优势。我们现在也非常高兴能看到一个这样的优势局面,就是平均每一款手机里都有两颗基于ARM的芯片。

记者:您刚刚讲到平均每一款手机里都有两颗基于ARM的芯片,那我们可以说ARM在IP核领域属于垄断企业吗?

Allen:不可以说垄断,ARM是一个开放性的,我们不会封闭性的说我只给你几家,所以这就是为什么说对中国产业是很好的消息,这也是为什么ARM一直与中国合作非常好。反过来看其它东西,比如DVD专利授权,实际上你就吃亏了,像菲利浦这些企业都不用投这个钱,但你要付,所以你在成本上就增加了,也就没有什么优势了。但ARM平台就不一样,像中国公司加入的平台,它们的门槛和成本和国外几乎是差不多的,你可以拿到同样的技术,你们的门槛是一样的,你没有这个壁垒的问题,国外企业享受到的一些全球竞争优势包括软件、第三方支持,国内企业可以同样享受到,这对中国公司减少壁垒、缩短周期是非常好的方法。从手机厂商来讲,他们更喜欢,因为手机芯片厂商很多,你要做PC就只有AMD和INTEL,没得选,那手机厂商有很多选择的余地。

记者:设计公司、终端厂商与ARM三者之间的关系,作用,你们是根据设计公司的未来技术的发展来设计你们的核,还是根据终端的新产品趋势来作你们研发,还是你们已经走在他们的前面,用你们的架构来引导他们。

Allen:我们把这称为“Push Pull”,系统终端厂商为“拉”。我们的研发模式一般是大的芯片厂商、终端厂商共同讨论下一代研发的要求,我们搜集到这些要求跟开发信息以后,只要你愿意投入这样多的人力资源和钱的话,你就可以做一些驱动。从历史上看的话,我们ARM刚成立时,当时最大的系统厂商APPLE和后来包括诺基亚都是以这样的方式与我们合作。实际上系统厂商扮演了一个非常重要的角色,他们把消费者跟市场发展的需求定义出来,然后我们把这个要求转化成对CPU的要求,之后我们再和芯片厂商合作。这样一个三方的立体构成,这个平台就搭起来了,然后就往下推。新的公司不断的在加入,来采用这个架构,它们前面这个过程就可以省略,就可以降低成本。我们现在在中国在好几个市场行销,他们的角色不光跑芯片厂商,他们也会跑终端公司,他们在终端公司那里了解他们设计系统时采用哪些芯片,是不是基于ARM的,有什么优劣点,收集的这些信息我们会回馈给芯片设计公司,他们也可以得到一些帮助。

这又回到我们讲的在中国的策略,就是说怎样帮助芯片公司和产业成长更快,一个是技术上的商业模式,另外一个就是我们的一些资源,跑国外系统厂商搜集到的关于特定市场的一些需求和想法的同事,他们也会回馈给我们国内销售,国内的同事也会搜集资料教给我们的芯片公司让他们的产品适应市场需求,所以有趣的是,我们跑市场的同事在大部分时间不是告诉我们的客户说ARM有这个产品,你要不要用,而是说你设计新产品的时候缺了哪一些,然后你可以用什么样的架构…,这样去倾听客户的声音,做一些产业发展和规划的推论,我们也希望这些推论和数据资料能够帮助到客户,从而使他们的设计能够更贴近市场,但最终还是靠客户自己。

这个体系和Intel的最大不同还是架构体系的不同,因为我们不是自己设计产品,自己开发芯片,交给系统厂商,我们的体系最终的增值服务是设计公司在做,也包括系统公司,ARM这样小的原因,是在价值链中我们只占了前面研发这一关,后面产品真正的实现和客户的成长是别人的价值链,钱也是他们在赚,这个架构体系比较稳定,我们不会侵蚀到他们的价值链。像盖房子,我们就是建筑设计师,至于房子要盖在哪里,要怎么卖是地产商的事,但前面的建筑设计他们就不用再做了。建筑上没有软件的问题,电子行业有很多的软件应用、第三方支持的问题,所以它如果每个人自己搞设计的话,非常不划算。我们也有客户算过,因为系统开发,除了核以外,还有一套开发工具等整个系统,维持开发系统需要人马,这套人马所需的钱平均到每个芯片的话,比他们交给我们的版税还要多,先不讲开发所需的钱,光是后面维护所需的钱已经超过这个版税了。大家看到这两年ARM成功的原因就是因为成本驱动的关系,CPU的架构越来越少,包括英飞凌最近也宣布他们的安全芯片也要放弃自己的架构,因为到一定时候大家都会发现在经济效益上自己研发架构不好。

记者:您认为中国IC设计公司创新能力如何?从ARM的角度来看,您对中国IC业的发展现状和未来发展有何看法和建议。

Allen:我觉得中国企业的创新能力还是不错的,因为我们整个设计历史不长,如果我们和同样的像台湾地区的设计公司相比,我们发展时间比他们晚,但设计能力成长可能比他们快,但毕竟有一个发展的过程。

我们也可以这样看吧,从90年代到2000年,是美国硅谷IC设计业发展最快的10年,这是由于PC产业的形成拉动了硅谷IC产业的发展,所以半导体要起来需要一个产业的突破性发展。PC产业转向到网络产业,对中国产业来讲是一个非常大的机遇,就是消费电子的网络化,我们和中国台湾地区和韩国等相比较,他们在上一拨PC产业得到了很多益处,也造就了一些无晶圆厂设计公司贴近这个产业链的良好发展。中国今后这5年有一个非常大的发展机遇,上一拨的设计能力和我们的话语权比较弱,但这一拨我们的话语权非常大,第一,就像当年PC产业是在台湾地区一样,消费电子产业是在中国。第二,经过这几年的发展,中国的设计能力和平台搭建得到了很大的提高,技术储备和设计能力已经足够了。第三,就是产业倾斜,大环境的问题,国内消费能力和购买力在5年内一定会成为全球最大的一个市场。第四,就是政府政策对高科技的扶持也是非常大的,我们看到这两年政策对半导体研发的投入比之前大了很多,各种各样的项目我们很多客户都得到了政府很大的扶持。从这几方面讲,中国IC设计业的发展已经具备了天时、地利、人和的条件了。

记者:但目前来讲,很多终端厂商真正采用本土芯片的不多,您觉得这是什么原因?什么阶段本土化的芯片会大量供货给终端厂商?

Allen:今后这五到十年就会实现了。特别是今后十年中国IC设计业会有一个飞越性的发展,这其中有一个转换的契机。如果一个传统产业链没有太大变化,新的切入就非常困难,中国的成本优势也不是那么的明显,那么就需要一个产业环境的变化。举一个例子,从传统的电视到LCD,你看到日系是比较惨的,就是因为他原来的一些优势全部被抛弃掉了。下一拨消费电子的特征就是网络化和应用化,原来的那些优势就会被抛掉,所以这个网络化的过程中就会有很大的变化,我们也已经看到有变化发生了,比如以前相机等都是传统的日系消费电子,这个替换的过程中,他们原来的很多优势都已不大了。技术的换代与创新使得许多国内芯片公司与国际芯片公司的差距越来越小,现在就是缺少一个规模化的企业,只有几个公司的规模能超过10亿人民币,如果一个企业的规模到了40、50亿人民币的话,那么它的全球竞争力就稳定了。

记者:面对国内芯片产业化比较慢,一些系统厂商对国内芯片还不是很放心,怎样解决这方面的问题?

Allen:过程积累需要时间,比如当时香港科技园有一套质量保证测试系统,刚开始国内芯片厂商都不用,芯片产出就直接上市,但现在不行,系统厂商一定要这个质量保证书,大家对质量检测过程重视度也提高了很多。

记者:去年三月份您对外宣布ARM将在中国建立一个研究中心,这个研究中心是只面对国内还是面向全球?请简单介绍一下该研究中心。今年ARM除了建立这样一个研究中心,还将关注哪些领域?比如物联网、三网融合、3G等等。

Allen:以全球目标发展来看,侧重点还是怎么结合本土市场,在全球类似的研究中心不少,像在英国、美国、印度、法国等等。中国这一块我们还没完全定下来怎么做,开始是倾向软件应用,怎样缩短从研发到商量的过程,因为中国公司历史比较短,所以经验和投入相对国外来说比较少,需要的帮助比较多,我们也会邀请一些IC设计公司共同讨论,我们可以做些什么,可以帮助IC设计公司什么。这是一个平台,很多芯片公司他们也想保留自己做的一些东西产生产品差异化,但有些东西他们需要我们来先帮他们做掉,希望下半年能把它定下来。

去年我们切入物联网、三网融合这个市场。这个领域还是非常新,今年会增长,但短期内出货量不会太明显,需要一个过程。去年应用我们M系列的核有几个方面,一个是RFID里各种各样的感应这些方面,像智能电表,智能电网这方面应用蛮多的。另外一方面是指芯片这一块,基于ARM架构的MCU,像NXP这些国外公司出的微控制器,他们在物联网里的应用挺多,他们告诉ARM他们成长非常快,也都是50%以上的成长率。

3G带动芯片应用的未来成长,当然大家会说比预计慢一些,但我觉得这只是一个时间差的问题,现在我们也有三个标准同时在推动,至于哪个标准会胜出现在说还为时过早,但是大家对3G数字应用也是非常热衷的,我们很多同事也都在用3G卡,这个市场肯定会起来的。3G国外发展挺好的,它也已成为标配,使用也非常快。

arm单片机篇10

一场围绕移动互联网设备的半导体厂商之间的竞逐不可避免地上演了,而且呈愈演愈烈之势。本月初在中国台北举行的Computax展会就充当了这样的竞秀舞台:英特尔高调“凌动(Atom)”处理器,NVIDIA与ARM则联合推出Tegra处理器,而就在一周之前,威盛才刚刚了“凌珑(Nano)”处理器。口水战随之而来,入局者都充当着挑战者和应战者的角色,笃信自己的产品才是实现移动互联网的最佳选择。透过纷繁表象,不难预见,这次竞争的激烈程度将不会逊色于当年PC产业曾出现的场景。

扩张的谋略

选择扩张是有准备的,对于分别在CPU和GPU领域拥有领先地位的英特尔和NVIDIA都是如此。处理数据是英特尔的拿手好戏,而手机系统架构又越来越像PC,这就难怪英特尔难以抑制进入通信领域的冲动,这也是它最有望复制其在PC产业取得成功的领域。

英特尔前CEO贝瑞特在2002年年初接受央视《对话》栏目书面采访时曾表示,如果他能成功地将英特尔带入通信领域,那么英特尔未来10年将是辉煌的。 在今年4月初的IDF上,英特尔宣布以超低功耗的“凌动”处理器出击,选择以x86架构进军超便携设备市场,实现移动互联网,其实蓄势已久。

早在2002年,英特尔就在IDF上提出了“扩展摩尔定律”,即推动计算与通信融合。英特尔当时的底气来自于两次标志性收购,先是1997年11月用7亿美元从DEC手中购入嵌入式处理器StrongARM,随后又在1999年10月,花了约16亿美元收购数字信号处理器厂商――DSP通信公司,这使英特尔进入移动领域成为可能。它为此设计制造了XScale处理器,主要用于掌上电脑等便携设备。

随后的发展让这一进程充满了变数。2006年7月,英特尔宣布将通信和应用芯片业务部门出售给了另一半导体厂商Marvell,似乎英特尔在通信领域的尝试就这样令人惋惜地折戟了。记者前不久在美国圣克拉拉参加英特尔研究日时了解到了更多有趣的信息,英特尔CTO Justin Rattner当作范例介绍说,其实从1999年开始,英特尔就开始准备做超低功耗的处理器,即“凌动”的原型。那么,英特尔又是何时决定走x86路线进入通信领域的呢?记者就此在会后与Justin Rattner进行了交流,他说,从1999年开始,英特尔就已经有两个团队在并行做这样的研究,只是业界关注的只是英特尔的ARM通信部门,做x86架构设计的部门则鲜为人知。在2003年到2004年期间,英特尔的两个团队对项目进展和未来前景做了细致评估,并最终决定放弃ARM架构,只是待价而沽发生在了2006年。

如果联系起当时英特尔嵌入式产品线经理周海明的话,这一过程将更加耐人寻味。周海明在2006年曾表示,未来三到五年内英特尔可能会对通信市场做出新的评估,不排除有杀回来的可能。现在看来,这一时间表已经大大提前了。

英特尔营造与驱动产业链的能力令人吃惊的强大,尽管MID(Mobile Internet Device)的第一代产品还未大批量上市,但英特尔已经将操作系统ISV、应用软件ISV、设备制造商、内容提供商、服务运营商等产业链成员都联合了起来,意在为用户提供完整的互联网体验。在“凌动”处理器当天,已有25家设备制造商展出了即将上市的MID原型。

抢位的野心

新入局者NVIDIA则给人们带来了更多猜想,这也是一家技术驱动型的半导体厂商。它曾在GPU市场中赚得盆满钵满,但这一次它也感觉到了CPU厂商给它带来的巨大压力。试图突进更为广阔的新市场不失为不错的选择。

在现阶段,PC市场的竞争不再单纯是CPU之间的竞争,更是包含芯片组、显卡等一整套平台的竞争,CPU+GPU已成为新一代处理器架构设计的热门。先有AMD在2006年7月收购GPU厂商ATI,后有英特尔在2007年11月收购专注CPU与GPU融合的Neoptica。在这样的情形之下,NVIDIA绝非是减少了竞争对手,而是竞争对手变得更强大了,它将面对拥有强大GPU设计能力的CPU厂商。

NVIDIA首席科学家David Kirk前不久曾接受本报独家专访,他没有给出NVIDIA是否会生产CPU的预测,而是强调GPU距离完美还有很长距离,CPU已接近完美。但他并不排除对CPU 实现集成――“既然我们实施了在北桥芯片中集成图形功能的策略,又为何不集成CPU呢?这么小的东西集成起来会更方便。”事实上,NVIDIA在2007年10 月从经营不善的处理器新兴企业Stexar挖到多位高手,Stexax是一家由原英特尔技术骨干创立的公司,拥有多位奔腾Ⅱ、奔腾Ⅲ和奔腾Ⅳ设计团队的骨干,甚至还有奔腾Ⅳ中Netburst架构的首席设计师和超线程的设计者。尽管时间表不明,但不可否认NVIDIA对CPU是有期待的。

这一次,NVIDIA没有选择推出处理器直接在英特尔把持的服务器、台式机和笔记本电脑市场上与其角逐,而是转而推出Tegra系列处理器与英特尔的“凌动”处理器竞争。

由于自己没有CPU业务,NVIDIA选择了与ARM进行合作,通过授权使用ARM11 MPCore多核处理器技术。Tegra的集成度非常高,它内部集成了多个处理单元,包括一颗800MHz的ARM CPU、一颗HD Video处理单元、一颗图像处理单元、一颗音频处理单元以及一颗低电压版本GeForce GPU,这些组件共同构成了Tegra处理器。

从NVIDIA提供的数据来看,播放720p高清视频是其最大的亮点。另外,虽然具有如此多的处理单元,但是待机时间没有削减,用于网页浏览,Tegra处理器也能维持在20小时左右。显然,无论是与英特尔的凌动还是威盛的凌珑相比,其待机时间都拥有明显优势。同时,它也将其显示方面的优势沿袭到了Tegra上。这正是NVIDIA用以对抗“凌动”和“凌珑”的核心武器。NVIDIA移动业务部门总经理Mike Rayfield并不看好x86在移动互联网设备中的前景。他回避了单纯的性能,而是强调在过去10年甚至更久的时间里,ARM处理器拥有最佳的每瓦性能。这将是一场挑战ARM强项的战斗。

复兴的机会

威盛是英特尔的老对手了,同属x86阵营。因为其规模较小,它将角色相近的AMD视作老朋友,也一直酝酿与NVIDIA这样的厂商进行合作。前不久有消息称,威盛已经与NVIDIA在小尺寸的超低价笔记本电脑方面达成了合作,这一市场就是英特尔正在培育的Netbook(上网本)市场。而面向移动互联网设备,威盛与NVIDIA则选择了各起炉灶。

2001年是威盛事业的巅峰,当时,威盛电子总经理陈文琦也频频在媒体面前曝光,但2003年之后威盛就开始沉寂下去,芯片组和处理器业务都开展得并不顺利。伴随移动互联网市场兴起,威盛又开始有了复兴的激情。或许,这一次真的是威盛必须要抓住的机会,它已承受不起太多挫折。正因如此,威盛对这一市场寄予厚望,并为此专门打造了“凌珑”处理器采用的Isaiah架构。

“Isaiah是一个先行者,而不是一个征服者。”陈文琦坚持认为威盛才是移动互联网设备的倡导者,他称这类设备为UMD(Ultra Mobile Devices)。并介绍说,威盛在7英寸设备市场其实耕耘已久。但坦率说,直到英特尔搅动一潭春水才让这一市场开始呈现出蓬勃生机。

威盛能把握住这次商机吗?陈文琦认为,面对英特尔这样庞大的竞争对手,威盛的要诀是专注。与英特尔相比,AMD和威盛都处于劣势,但AMD在服务器、台式机等相对高性能的一端有着不错的表现,威盛则要专注低功耗的一端,这是陈文琦表述的分工概念。

专注打造的“凌珑”是威盛破局的利器,按照陈文琦的说法,“凌珑”的性能要高于“凌动”,并且是全功能,但功耗要略微逊色。我们暂不去从技术角度进行对比,也不去比较二者在业界的号召力。单是产能问题就是威盛需要迈过的一道坎,AMD就曾在产能方面吃过大亏。在半导体行业,规模经济至关重要,而产能也在一定程度上起到控制设备制造商的作用。英特尔向来以强大产能、迅速跟进著称,并且其制造工艺已经过渡到45nm,而威盛则是Fabless厂商,专注于设计,目前“凌珑”采用的还是65nm制造工艺。陈文琦在北京接受采访时表示,在某种程度上讲,威盛拥有很多虚拟制造厂,威盛已经与供应商进行了相应规划,以确保产能。还有很多厂商与威盛过去有过合作,威盛很容易引入其他备用的供应商。至于“凌动”已经逐渐形成品牌效应带来的冲击,陈文琦也表示乐观――“英特尔把这一市场推动得发展更快,威盛会乐观其成。”在这样的状况下,英特尔的推动是有相当大的正面意义的,他认为核心在于威盛要研究为用户创造价值。

有AMD收购ATI的前车之鉴 ,就不难引发NVIDIA可能会选择收购威盛处理器业务的猜测,尤其在与英特尔展开竞争的敏感时刻。然而5月上旬,NVIDIA CEO黄仁勋否认了收购的坊间传言。 黄仁勋表示,之所以无意收购,是因为NVIDIA将专注于图形芯片领域,但并不排除双方未来将合并的可能,该领域创新步伐很快,如果不需要创新时,就需要合并。

谁抢谁饭碗

英特尔CEO Paul Otellini乐观地预测,MID市场在未来数年内将增长到每年100亿美元的规模。尽管目前受到热捧的还是5英寸左右的超便携设备,但不可否认,MID与智能手机只有一线之隔,二者将会争夺用户。一旦这类设备的体积进一步缩小,并加入通话功能,势必会给手机带来重大冲击,尤其是智能手机。Paul Otellini称,由于手机运营商通过数据和互联网接入服务所赚的收益比例很大,英特尔准备重新进入手机市场,凌动处理器就是急先锋。

他在接受《金融时报》采访时表示,“如果用户接受支持互联网接入的高端手机的话音功能价值,在小型化计算机上增添话音功能就会更简单一些。”这无疑是暗指在完整x86架构的MID上引入通话功能的意义要远胜在传统ARM架构的智能手机上运行基于x86架构的应用。英特尔高级副总裁兼超便携事业部总经理阿南德则公开指出,基于ARM技术的手机等移动设备不适合浏览互联网网页,选择英特尔的技术才能获得最好的体验。

目前,ARM架构占据了智能手机芯片市场75%左右的份额,三星、高通、德州仪器(TI)等主要的半导体厂商都通过授权使用ARM处理器架构。诺基亚、爱立信、Palm、惠普等主流智能手机的设备制造商更是采用基于ARM的TI OMAP处理器平台,以此实现多媒体游戏与娱乐、定位、流媒体、Web 浏览、增强的 2D 图形等应用。英特尔此举无疑已经拉开了与ARM阵营的对抗,要知道,ARM公司的收入来源就是靠转让设计许可。英特尔计划于2009年年底问世的第二代“凌动”处理器将为SoC设计,届时,英特尔将大举跨入高端智能型手机市场,这对ARM阵营的冲击将更大,这无疑是抢了ARM阵营的饭碗。

不仅上游厂商,SoC设计的“凌动”还会将手机生产厂商逼到要么做应用软件设计、要么做外壳设计的地步。这当然是ARM阵营不愿意看到的。他们很可能会抱团抵御。1998年,诺基亚、摩托罗拉、爱立信合资成立的Symbian就是为了抵御Wintel在手机市场扩张。 面对更凌厉的攻势,ARM阵营已经开始着手应对。