第 1 章 嵌入式系统开发入门
1.2 ARM 介绍
ARM 是 Advanced RISC Machines(高级精简指令系统处理器)的缩写,它既是一种微 时钟
复位
中断控 制器
处理器 核
SDRAM 控制器
外部总线 控制器
SDRAM
其他外设
Flash
处理器知识产权(IP)核,也是一个公司的名称。在上节中对 ARM 公司有了大概的介绍,
² ARM7 系列:一般包括 ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ 几种内核。ARM7TDMI 是目前使用最广泛的 32 位嵌入式 RISC 处理器之一,
² ARM9 系列:包含 ARM920T、ARM922T 和 ARM940T 三种类型,主要应用 于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字
l 全性能的 MMU,支持 Windows CE、Linux、Palm OS 等多种主流嵌 入式操作系统。
l 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力。
² ARM9E 系列:包含 ARM926EJ-S、ARM946E-S 和 ARM966E-S 三种类型。主 要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网 络设备等领域。
² ARM10E 系列:包含 ARM1020E、ARM1022E 和 ARM1026EJ-S 三种类型。
主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息 系统等领域。
² SecurCore 系列:包含 SecurCore SC100、SecurCore SC110、SecurCore SC200 和 SecurCore SC210 四种类型,主要应用于一些对安全性要求较高的应用产品 及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。
² Intel 的 Xscale:Xscale 处理器是基于 ARMv5TE 架构的解決方案,是一款全 性能、高成本效益比、低功耗的处理器。它支持 16 位的 Thumb 指令和 DSP 指令集,已使用在许多移动电话、个人数字助理和网络产品等场合。
² Intel 的 StrongARM:StrongARM SA-1100 处理器是采用 ARM 架构高度整合的 32 位元 RISC 微处理器。它融合了 Intel 公司的设计和处理技术以及 ARM 架 构的电源效率,采用在软件上相容 ARMv4 架构、同時采用具有 Intel 技术优 点的架构。Intel StrongARM 处理器是便携型通讯产品和消費类电子产品的理 想选择,已成功应用于多家公司的掌上电脑系列[3]。
其中,ARM7、ARM9、ARM9E 和 ARM10 为 4 个通用处理器系列,每一个系列提供一 套相对独特的性能来满足不同应用领域的需求。SecurCore 系列专门为安全要求较高的应用 而设计。Intel 的 Xscale 和 StrongARM 也是应用非常广泛的嵌入式处理器系列。
1.2.2 ARM 处理器的选型
基于 ARM 为内核的处理器已经越来越多,并且种类繁多,在选择开发基于 ARM 的嵌 入式系统时,首要任务就是选择 ARM 微处理器。下面讲述在选择 ARM 微处理器的一般准 则[3]。
1. ARM 微处理器内核的选择
Ø 如果使用 Windows CE 或标准 Linux 等操作系统,就需要选择 ARM720T 以上 带有 MMU 功能的 ARM 晶片。
Ø ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM 都带有 MMU 功能。
Ø 而 ARM7TDMI 则沒有 MMU,不支持 Windows CE 和标准 Linux,但目前有 uCLinux 等不需要 MMU 支持的操作系统可执行 ARM7TDMI 硬件平台。
2. 系统的工作频率
Ø 系统的工作频率在很大程度上決定了 ARM 微处理器的处理能力。
Ø ARM7 系列微处理器的典型处理速度为 0.9MIPS/MHz,常见的 ARM7 晶片系 统主时钟为 20MHz-133MHz。
Ø ARM9 系列微处理器的典型处理速度为 1.1MIPS/MHz,常见的 ARM9 的系统 主时钟为 100MHz-233MHz,ARM10 最高可以达到 700MHz。
3. 晶片內部存储体的容量
Ø 大多数的 ARM 微处理器晶片內部存储体的容量都不太大。
Ø 如 ATMEL 的 AT91F40162 就具有最高 2MB 的晶片內部存储空间。
4. 晶片內部周围电路选择
Ø 如 USB 接口、IIS 接口、IIC 接口、LCD 控制器、键盘接口、RTC、ADC 和 DAC、DSP 等,设计者应该分析系统的需求,尽可能采用晶片內部周围电路 完成所需的功能,这样既可以简化系统的设计,同时提高系统的可靠性。
除了上面介绍的四个方面准则之外,还有许多其它的因素考虑,比如价格、兼容性等等。
总之,根据设计的需求选择一款适合自己系统的 ARM 处理器是非常重要的。
1.2.3 S3C2410 微处理器介绍
S3C2410 是三星电子开发的一种 32 位 RISC 微处理器,它是基于 ARM920T 内核开发
的。S3C2410 是面向低价格、低功耗和高性能的手持设备和小型设备而设计。S3C2410 的具 体特点有以下[4]:
l 系统管理
Ø 支持小端/大端方式
Ø 地址空间:128M 字节每一个 Bank(总共 1G 字节)
Ø 每个 BANK 可编程为 8/16/32 位数据总线 Ø BANK0 到 BANK6 采用固定起始地址和大小 Ø BANK7 具有可编程的 BANK 起始地址和大小 Ø 共 8 个存储器 BANK
Ø 前 6 个存储器 BANK 用于 ROM、SRAM 和其他
Ø 另外两个存储器 BANK 用于 ROM、SRAM 和同步 DRAM Ø 支持等待信号用以延长总线周期
Ø 支持掉电时的 SDRAM 自刷新模式
Ø 支持不同类型的 ROM 引导(NOR/NAND Flash、EEPROM 和其他)。
l S3C2410 的 SoC 芯片集成单元
Ø 内部 1.8V,存储器 3.3V,外部 I/O3.3V,16KB 数据 CACHE,16KB 指令 CACHE,
MMU
Ø 内置外部存储器控制器(SDRAM 控制和芯片选择逻辑)
Ø LCD 控制器,一个 LCD 专用 DMA Ø 4 个带外部请求线的 DMA
Ø 3 个通用异步串行端口(IrDA1.0, 16-Byte Tx FIFO, and 16-Byte Rx FIFO),2 通道 SPI
Ø 一个多主 I2C 总线,一个 I2S 总线控制器
Ø SD 主接口版本 1.0 和多媒体卡协议版本 2.11 兼容 Ø 两个 USB HOST,一个 USB DEVICE(VER1.1)
Ø 4 个 PWM 定时器和一个内部定时器 Ø 看门狗定时器
Ø 117 个通用 I/O Ø 24 个外部中断
Ø 电源控制模式:标准、慢速、休眠、掉电 Ø 8 通道 10 位 ADC 和触摸屏接口
Ø 带日历功能的实时时钟 Ø 芯片内置 PLL
Ø 设计用于手持设备和通用嵌入式系统
Ø 16/32 位 RISC 体系结构,使用 ARM920T CPU 核的强大指令集 Ø 带 MMU 的先进的体系结构支持 WinCE、EPOC32、Linux
Ø 指令缓存(CACHE)、数据缓存、写缓冲和物理地址 TAG RAM,减小了对主存储 器带宽和性能的影响
Ø ARM920T CPU 核支持 ARM 调试的体系结构
Ø 内部先进的位控制器总线(AMBA)(AMBA2.0,AHB/APB)
其中,S3C2410 的芯片结构图 1.3 所示:
图 1.3 S3C2410 芯片结构