微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 各品牌ARM SoC技术比较分析

各品牌ARM SoC技术比较分析

时间:05-23 来源:互联网 点击:

本文将介绍三个常见的ARM SoC,包含ARM7和ARM9,并试着分析与比较它们的性能。

ARM7族群

低耗电量和低成本是ARM7的优点。不过,ARM7的最大执行速率不到100 MHz,因此,在应用上,它和8051之类的微控制器(MCU)类似,但在功能上,ARM7通常优于MCU。

由于一般的MCU都是8-bit,而且不支持操作系统(O.S.),所以使用MCU开发应用产品的成本通常会比使用ARM7来得便宜。然而,就简单的应用而言,ARM7也可以不需要操作系统,只使用纯粹的韧体,照样可以达到和MCU一样或优于MCU的效能。

TI的TMS470

它的CPU核心是ARM7TDMI,16/32-bit RISC。其正常模式的系统时脉是28 MHz、管线模式是48 MHz。内含128K Bytes的FLASH和8K Bytes的SRAM。其它电路单元还包含:

零脚位锁相回路(ZPLL)时脉模块。

模拟的看门狗定时器(analog watchdog timer;AWD)。

实时中断模块(real-time interrupt;RTI)。

两个”序列外围接口”(SPI)模块。

两个”序列通讯接口”(SCI)模块。

标准的”控制局域网络”(control area network;CAN)控制器(SCC)。

第二类序列界面(C2SIa)。

10-bit、16个输入信道多重缓冲”模拟数字转换器”(MibADC)。

高阶定时器(high-end timer;HET),控制16个输出入端口(I/O)。

外部时脉预分频器(external clock prescale;ECP)。

共49个I/O脚位,1个只能输入的脚位。

TMS470的系统功能有:

地址译码。

保护内存。

监督内存和各外围的总线。

重置(reset)和取消(abort)的例外管理。

所有内部中断源的排序(prioritization)。

装置的时脉控制。

平行的特性记号(signature)分析(PSA):是一种自动检测故障的功能,可以利用多个输入的特性记号来检测数据流。这个特性记号可以用来判定处理器是处于好的或坏的状态。

上述的ZPLL、HET、MibADC是TMS470的特殊功能。ZPLL包含了一个PLL、一个时脉监督(clock-monitor)电路、一个时脉致能(clock-enable)电路和一个预分频器(预分频值是从1~8)。ZPLL的功能是将外部的参考电压乘以预分频值,以获得较高的频率,供给TMS470内部使用。ZPLL提供ACLK给TMS470的系统模块,之后,系统模块会产生系统时脉(SYSCLK)、实时中断时脉(RTICLK)、CPU时脉(MCLK)、外围接口时脉(ICLK)。所谓”零脚位”是指ZPLL没有提供外部滤波器的接脚,亦即不需要连接外部滤波器的意思。

许多不熟悉TI芯片的硬件工程师,经常不知道要如何将石英振荡器(crystal oscillator)或外部的时脉信号连接到TI芯片上。其实,TMS470内部已经具有一个振荡器电路(在ZPLL内),但若要启动它,外部需要连接一个4MHz~20 MHz的石英或谐振器(resonator),并且要在OSCIN和OSCOUT脚位之间连接负载电容,如图2(a)所示。这个负载电容的大小应该由石英振荡器的供货商提供,如果施予不正确的载电容值,可能无法使TMS470正常开机和工作。

此外,如果不使用TMS470内部的振荡器,而改用外部的参考时脉或外部的振荡器输出信号,此时要将1.8V的时脉信号连接到OSCIN脚位,并将OSCOUT脚位保持开路的状态,如附图2(b)所示。当然,不同厂牌的芯片的时脉来源之连接方式不尽相同,硬件工程师事先应仔细查阅它们的技术手册。

HET是一种先进的智能型定时器,它为实时的应用提供精确的计时功能。此定时器是由软件控制的,使用精简的指令集、特殊的微电路架构、I/O端口。它可以应用于数据比较、采集,或当成GPIO,尤其适用于对多个传感器(sensor)的输入数据做比较,或输出复杂的和精确的时间脉冲(如:PWM脉冲)来驱动起动器(actuator)。

HET的周边具有”XOR—分享”的功能,此功能可以让两相邻的HET通道被XOR在一起,和HET的标准输出脉冲相比,这能够输出更小的脉冲信号。

为了让使用者可以为FLASH、RAM、HET RAM寻址,TMS470有提供“内存选择”(memory selection)的功能。每一个“内存选择”具有它自己的“内存基本地址缓存器(memory base address register)”—MFBAHRx和MFBALRx(分别是高位和低位元),用来定义各个内存区块的起始(基本)地址、区块大小和保护方式。每一个“内存选择”的基本地址是透过缓存器来设定的,它们应该要符合附图3中的映像地址之边界值—必须是区块大小的整数倍。图4是TMS470的“内存选择”的分配情形。

MibADC接受一个模拟信号,并将它转换成一个10-bit的数字信号。MibADC具有两个模式:相容vs.缓冲模式。在兼容模式中,TMS470的“程序模型”(programmer‘s model)和TMS470的ADC模块兼容,而且MibADC的数字输出是储存

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top