各品牌ARM SoC技术比较分析
器映像的最上方。
LPC2000系列的SoC都具有下列三种工作模式或开机状态:
开机加载模式:被硬件重置启动,之后,开机加载程序会被执行。开机码区块里的中断向量会被映像至内存映像(FLASH)的最下方,以便于在开机加载过程,能够处理例外和中断请求。
使用者FLASH模式:当开机加载程序发现FLASH里有使用者程序存在时,而且开机加载程序不需要再执行时(没有被强制执行),就进入此模式。(这很像PC的BIOS开机过程,若一直按F1或DEL键,就会进入BIOS模式;若不按此键,则操作系统会正常运作。)在此模式中,中断向量不会被映射,仍然位于FLASH的最下方。
使用者RAM模式:被使用者程序启动。中断向量被重新映射至SRAM的最下方。
ARM9族群
ARM9大约可以达到180MHz~200 MHz的工作速率。因此,它能驱动的周边装置比ARM7多,应用范围也比较广。下面举Atmel的AT91RM9200来说明。
Atmel的AT91RM9200
它的CPU核心是16/32-bit的ARM920T,其主要功能简述如下:
内建有16 Kbytes的SRAM和128 Kbytes的ROM。
外部总线接口(External Bus Interface;EBI):可以支持SDRAM、SRAM、“暴量传输的(burst)”FLASH(亦即NOR FLASH)、能直接(glueless)和CompactFlash、SmartMedia、NAND FLASH连接。
7个外部中断来源,1个快速中断来源。
4个32-bit可程序I/O控制器,122个可程序I/O脚位,每个I/O脚位具有输入变动中断和”开路泄极”(open-drain)的功能。“开路泄极”是指在芯片内部的MOS FET输出电路上的泄极没有连接任何组件(电阻)。通常,它可以用来驱动高电流或高电压的负载;或者说,多个外部装置可以和此单一线路做双向通信。
具有20个信道的周边装置控制器(DMA)。
4个可程序外部时脉信号。
内建2个振荡器,以及2个PLL。
软件控制的功率最佳化功能。
实时时脉产生器具有警报中断功能。
中断控制器具有8个不同等级的优先级。能个别屏蔽的向量式中断来源,可抑制寄生信号对中断信号的干扰。
支持以太MAC 10/100 Base-T、MII或RMII,整合了28-byte的FIFO和专属的DMA传收通道。
支持USB 2.0(12 Mbps)主机端口(host port)和装置端口(device port)。主机端口有整合FIFO和专属的DMA。
多媒体记忆卡接口(multimedia card interface;MCI):支持自动的通信协议控制、和自动化的数据快速传输;与MMC和SD标准兼容,最多可支持2个SD记忆卡。
3个同步的序列控制器(SSC):每个传送器和接收器都具有独立的时脉和讯包同步信号。支持I2S模拟接口,采用分时多任务技术。
4个万用同步/异步接收传送器(USART):可支持RS485、IrDA、调制解调器(modem)、ISO 7816的T0/T1 Smart Card。
主从式序列外围接口(SPI):8到16-bit的可程序数据长度,可以选择4个外部外围芯片。
2组3-通道、16-bit的定时器/计数器(TC):3个外部输入时脉、每个通道具有2个多用途I/O脚位。能够产生双PWM信号。
双线路界面(two-wire interface;TWI):支持主控模式(master mode),支持Atmel所有的双线路EEPROM。
所有数字脚位都支持IEEE 1149.1 JTAG边界扫描。
AT91RM9200算是性能非常强大的SoC,它可以用来开发通信、储存、控制等产品。由于它的功能很多,所以本文无法逐项详细说明,在此仅介绍它的USB 2.0主机端口。
它的USB 2.0主机端口支持“开放式主机控制器接口”(Open Host Controller Interface;OHCI) v1.0规格,以及USB v2.0全速(12 Mbps)和低速(1.5 Mbps)规格的信讯协议。它整合了1个“根部集线器”(root hub)和下游的2个USB传收器。标准的OHCI USB通讯堆栈驱动程序可以轻易地移植到此架构中,不需要顾虑硬件的兼容问题;可以执行现有全部的USB类别驱动程序,这表示所有标准的USB类别装置(class device)都能被自动侦测,让使用者应用。图5是其内部架构图。
在主机控制器和主机控制器驱动程序之间,有两个通信信道。第一个信道使用主机控制器内部的作业缓存器组,这个信道的通信对象(目的地)就是主机控制器。这组缓存器包含了控制、状态、串行指针(list pointer)缓存器。它们都被映像至系统总线(ASB)的映像区域内。其中有一个指标是指向处理器的地址空间—称为“主机控制器通讯区域”(Host Controller Communication Area;HCCA)。HCCA正是第二个通信信道。在此信道内,主机控制器是通信主控(主导)者。HCCA包含一些起始指标(head pointer),分别指向中断模式的“端点描述者”(Endpoint Descriptor
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)