610 likes | 830 Views
第三章 基于 ARM 处理器体系结构 2. 主讲 丁男. 章节介绍. 3.3 通用的 ARM 微处理器介绍 3.3.1 Samsung S3C44B0X 的内部结构 3.3.2 LPC2119/2129 微控制器 3.3.3 S3C2410 微处理器 3.3.4 Intel Xscale PXA255. 3.3 通用的 ARM 微处理器介绍. 本节主要介绍几种使用较为广泛的处理器内部结构、特点及功能 : 低端微处理器 Samsung S3C44B0X(ARM7TDMI 内核 ) 和 LPC2119/2129 微控制器
E N D
第三章 基于ARM处理器体系结构2 主讲 丁男
章节介绍 • 3.3 通用的ARM微处理器介绍 • 3.3.1 Samsung S3C44B0X的内部结构 • 3.3.2 LPC2119/2129微控制器 • 3.3.3 S3C2410微处理器 • 3.3.4 Intel Xscale PXA255
3.3 通用的ARM微处理器介绍 本节主要介绍几种使用较为广泛的处理器内部结构、特点及功能: • 低端微处理器Samsung S3C44B0X(ARM7TDMI内核) 和LPC2119/2129微控制器 • 中端处理器 S3C2410B (ARM920T核); • 高端微处理器 Intel PXA255/27X (Xscale核)。
2、系统管理 • 地址空间:每个Bank32MB(一共256MB); • 每个Bank支持8/16/32位数据总线编程; • 固定的Bank起始地址和7个可编程的Bank; • 1个起始地址和尺寸可编程的Bank; • 8个内存Bank:6个用于ROM和SRAM;2个用于ROM/SRAM/DRAM; • 所有内存Bank的可编程寻址周期;
0x1000_0000 SROM/DRAM/SDRAM 2MB/4MB/8MB/16MB/32MB nGCS7 ( ) 0x0 e 00_0000 SROM/DRAM/SDRAM 2MB/4MB/8MB/16MB/32MB nGCS6 ( ) 0x0c00_0000 SROM 32MB nGCS5 ( ) 0x0 e 00_0000 SROM 32MB 256MB nGCS4 ( ) 0x0800_0000 SA[27:0] 可存取 SROM 32MB 区域 nGCS3 ( ) 0x0600_0000 SROM 32MB nGCS2 ( ) 0x0400_0000 SROM 32MB nGCS1 ( ) 特殊功能 0x0 2 00_0000 4MB 寄存器( ) 0x01c0_0000 SROM 28MB nGCS0 ( ) 0x0 0 00_0000 复位后的S3C44B0X的存储器映射表
3、时钟和能量管理 • 低能耗,时钟通过软件选择性地反馈回每个功能块。 • 能量模式: 正常模式:正常运行模式; 低能模式:不带PLL的低频时钟; 休眠模式:只使CPU的时钟停止; 停止模式:所有时钟都停止。 • 用EINT或RTC警告中断从停止模式唤醒。
4、中断控制器 • 30个中断源(看门狗定时器,6个定时器,6个UART,8个外部中断,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO; • 矢量IRQ中断模式减少中断响应周期; • 外部中断源的水平/边缘模式; • 可编程的水平/边缘极性; • 对紧急中断请求支持FIQ(快速中断请求)
5、带PWM的定时器 S3C44B0X中的定时器具有PWM(脉宽调制)功能,通过对一些功能寄存器的配置,可定义占空比以及定义频率的高低。 内部具有5个16位带PWM的定时器/1个16位基于DMA或基于中断的定时器,可编程的工作循环,频率和极性选择。
6、实时时钟 • 具有全时钟特点: 毫秒、秒、分、小时、天、星期、月、年。 • 在32.768KHz石英晶体下运行。 • 具有CPU唤醒的警告中断功能。
7、通用输入输出端口 • 8个外部中断端口 • 71个多路输入输出口; • 通用异步接收发送器 UART • 2个带DMA和中断的UART; • 支持5位,6位,7位,8位串行数据传送/接收; • 当传送/接收时支持双向握手 • 可编程波特率; • 支持IrDA1.0(115.2KbPS); • 测试的循环返回模式; • 每个通道有2个内部32位FIFO
9、LCD液晶显示器控制器 • 支持彩色/单色/灰度LCD; • 支持单扫描和双扫描显示; • 支持虚拟显示功能 • 系统内存作为显示内存 • 专用DMA用于从系统内存中提取图象数据; • 可编程屏幕尺寸; • 灰度:16级,256色
10、看门狗定时器与I2C总线接口 • 16位看门狗定时器; • 定时中断请求和系统复位; • 1个带中断的多主机I2C总线; 串行,8位,双向数据传送器能够以100Kb/S的标准模式和400Kb/S的快速模式传送。
11、IIS总线接口 1个带DMA的音频IIS总线接口; 串行,每路8/16位数据传送器; 支持MSB数据格式; 1个带DMA和中断的SIO; 可编程波特率; 支持8位串行数据传送/接收操作。
12、操作电压范围 内核:2.5V;I/O:3.0V到3.6V; 运行频率:最高到75MHz; 封装:160LQFP/160FBGA; S3C44B0X微处理器 体系结构框图
3.3.2 LPC2119/2129微控制器 1、概述 LPC2119/2129飞利浦公司生产的低端微处理器,内部包含有基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STM CPU。 128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。 适用于汽车、工业控制应用以及医疗系统和容错维护总线。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器以及其它各种类型的应用。
2、主要特性 • 16/32位ARM7TDMI-S核,超小LQFP64封装。 • 16KB片内静态RAM ,128/256KB片内Flash存储器。 • 嵌入式跟踪宏单元(ETM)支持对执行代码进行无干扰的 高速实时跟踪。 • 2个互连的CAN接口,带有先进的验收滤波器。 • 4路10位A/D转换器,转换时间低至2.44μs。 • 多个串行接口,包括2个工业标准UART、高速IIC接口(400 kbit/s)和2个SPI接口。
3、通用并行I/O口 (GPIO) • 没有连接到特定外设功能的管脚由GPIO寄存器进行控制。管脚可以动态配置为输入或输出。寄存器可以同时对任意个输出口进行置位或清零。 • 特性 • 单个位的方向控制 • 输出置位和清零可单独控制 • 所有I/O在复位后的默认状态都为输入
4、10位A/D转换器 • LPC2119/2129分别包含一个带4路输入的10位逐次逼近模-数转换器。 • 特性
5、CAN控制器和验收滤波器 • 包含2个CAN控制器。控制器局域网络(CAN)是一个串行通信协议,它能有效支持高安全等级的分布实时控制。 • 特性 • 单个总线上的数据传输速率高达1Mb/s • 32位寄存器和RAM访问 • 兼容CAN 2.0B, ISO 11898-1规范 • 全局验收滤波器可以识别所有的11位和29位Rx标识符 • 验收滤波器为选择的标准标识符提供了FullCAN-style自动接收。
6、UART 包含2个UART。一个UART提供一个完全的调制解调器控 制握手接口,另一个UART只有发送和接收数据线。 特性 • 16字节接收和发送FIFO • 寄存器位置遵循550工业标准 • 接收器FIFO触发点为1、4、8和14个字节 • 内置波特率发生器 • UART1包含标准调制解调器接口信号
7、IIC接口 IIC是一个双向总线,它使用两条线:串行时钟线(SCL) 和串行数据线(SDA) 实现互连芯片的控制。 每个器件都通过一个唯一的地址来识别,这些器件可以是只接收器件(例如LCD驱动器),或是可以发送 和接收信息的发送器(例如存储器)。 发送器和/或接收器可以操作为主或从模式,这取决于芯片是启动数据的发送还是只被寻址。IIC是一个多主总线,它可以由超过一个总线主控器进行控制。 LPC2119/2129所包含的IIC功能支持400kbit/s(快速I2C)。
8、SPI接口 • SPI接口:SPI(Serial Peripheral Interface串行外设接口)Motorola公司开发的一种同步串行外设接口标准。 • SPI接口信号:有4个信号:数据发送、数据接收、时钟和片选。SPI的波特率可以达到20Mb/s以上。 • S3C44B0 ARM7有2个SPI接口,既可以作为主SPI使用,也可以作为从SPI使用。 • 主要特点: • 与SPI 协议 (ver. 2.11) 兼容; • 8位发送移位寄存器; • 8位接收移位寄存器; • 8位预分频器; • 具有查询、中断、DMA传输模式。
9、通用定时器 • 定时器对外设时钟周期(PCLK)进行计数,可选择产生中断或基于4个匹配寄存器,在到达指定的定时值时执行其它动作。包括4个捕获输入,用于在输入信号发生跳变时捕获定时器值,并可选择产生中断。 • 特性 • 带可编程32位预分频器的32位定时器/计数器 • 当输入信号跳变时,4个32位捕获通道可捕获定时器的瞬时值。捕获事件可选择产生中断。 • 4个32位匹配寄存器: • -连续操作,可选择在匹配时产生中断 • -匹配时停止定时器,可选择产生中断 • -匹配时复位定时器,可选择产生中断
10、看门狗 看门狗定时器的用途是使微控制器在进入错误状态经过一段时间后复位。当看门狗使能时,如果没有在预先确定的时间内“喂”(重装)看门狗,它将会产生一次系统复位。 特性 • 如果没有周期性重装,则产生片内复位 • 调试模式 • 由软件使能,但要求禁止硬件复位或看门狗复位/中断 • 错误/不完整的喂狗时序会导致复位/中断(如果使能) • 带内部预分频器的可编程32位定时器 • 可选择时间周期:从(tpclk×256×4) 到 (tpclk×232×4),可选值为tpclk×4的倍数
11、实时时钟 当选择正常或空闲模式时,实时时钟(RTC)提供一套用于测量时间的计数器。RTC消耗的功率非常低,这使其适合于由电池供电的,CPU不连续工作(空闲模式)的系统。 特性: • 对时间段进行测量以实现一个日历或时钟 • 超低功耗设计,支持电池供电系统 • 提供秒、分、小时、日、月、年和星期 • 可编程基准时钟分频器允许调节RTC以适应不同晶振频率
3.3.3 S3C2410微处理器 S3C2410韩国三星电子公司最近推出中档的一款基于ARM920T核的16/32位RISC嵌入式微处理器。 该处理器主要面向手持式设备以及高性价比、低功耗的应用。该处理器采用0.18um CMOS制造工艺,内部采用了新的Advanced Microcontroller Bus Architecture (AMBA)总线 。 ARM920T核由ARM9TDMI内核、存储管理单元MMU和高速缓存三部分组成。ARM920T有两个内部协处理器:CPl4和CPl5。CPl4用于调试控制,CPl5用于存储系统控制以及测试控制。
ARM9体系结构框图 下页图给出了ARM9TDMI结构框图。主要有7部分构成。 比较最常用的是ARM920T内核,后页图给出了ARM920T结构框图。 ARM920T结构主要部分有:ARM9TDMI内核CPU、MMU、Cache、协处理器接口、运行跟踪信息接口(ETM)、JTAG调试接口、总线接口等7部分构成。
指令接口 JTAG接口 数据接口 ARM9TDMI CPU 指令地址接口 跟踪接口 数据地址接口 ARM9TDMI结构框图 ARM9TDMI体系结构框图
ARM9TDMI核性能 0.25微米的ARM9TDMI核在执行32位ARM代码时的特性综述于下表。
封装与引脚信号 S3C微控制器是272-FBGA封装。 其信号可以分成 addr0---addr26、 Data0---data31、 GPA0---GPA22 GPB10、GPC15、 GPD15、GPE15、 GPF7、GPG15、 GPH10、EINT23、 nGCS0—nGCS7、 AIN7、IIC、SPI、 OM0---OM3等,大部分都是复用
1、S3C2410X概述 S3C2410X是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。
1)系统结构 主要由两大部分构成: ARM920T内核 片内外设。
(1)ARM920T内核 • 由三部分:ARM9内核ARM9TDMI、32KB的Cache、MMU。
(2)片内外设 • 分为高速外设和低速外设,分别用AHB总线和APB总线。
2)ARM920T支持7种操作模式 ① User mode(usr) :正常程序执行模式; ② FIQ mode(fiq):支持快速数据传送和通道处理; ③ IRQ mode(irq):用于通用中断处理; ④ Supervisor mode(svc) :操作系统保护模式; ⑤ System mode(sys):运行特权模式操作系统任务; ⑥ Abort mode (abt):数据或指令预取失效后进入的状态; ⑦ Undefined mode (und):执行未定义的指令时进入的模式。
3)ARM920T 寄存器定义 ARM 微处理器中共定义了37个编程可见寄存器,每个寄存器的长度均为32位。根据不同的用途,可将其划分为以下几类: • 30个通用寄存器 • 程序指针( PC: Program Counter ) • 当前处理器状态寄存器( CPSR: Current Program Status Resister ) • 状态备份寄存器( SPSR: Saved Program Status Resister )
(1)30个通用寄存器 在任意一种处理器模式下,只有15个通用寄存器可以使用,编号分别为R0, …, R14。 R13一般作为堆栈指针寄存器( SP: Stack Pointer )。该寄存器由ARM编译器自动使用。 R14一般作为链接寄存器( LR: Link Register )。当系统中发生子程序调用时,用R14来记录返回地址。如果返回地址已经保存在堆栈中,则该寄存器也可以用于其它用途。
(2)程序指针(PC:Program Counter) PC即为R15,用于记录程序当前的运行地址。ARM处理器每执行一条指令,都会把PC增加4字节(Thumb模式为两个字节)。此外,相应的分支指令(如BL等)也会改变PC的值。
(3) 状态备份寄存器 状态备份寄存器( SPSR: Saved Program Status Resister ) SPSR寄存器主要是在处理器异常发生时,用来保存CPSR (Current Program Status Resister)。 ARM高级中断控制器有8种优先控制权,可屏蔽特定中断源,提供中断向量控制器,同时可以接受 32 个中断源请求,ARM 中断体系充分减少中断响应时间,提高系统的实时性。
2、S3C2410X的存储器系统 S3C2410X的存储器管理器提供访问外部存储器的所有控制信号:26位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。 S3C2410X的存储空间分成8组,最大容量是1GB,bank0-bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB。 bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定。 S3C2410X的存储器格式,可以编程设置为大端格式,也可以设置为小端格式。
3、DMA控制器 S3C2410X有4 个通道的DMA 控制器,其位于在系统总线和外设总线之间。 每个DMA 通道都能没有约束的实现系统总线或者外设总线之间的数据传输,即每个通道都能处理下面四种情况: 源器件和目的器件都在系统总线 源器件在系统总线,目的器件在外设总线 源器件在外设总线,目的器件在系统总线 源器件和目的器件都在外设总线。 49
DMA的工作过程 5 2 3 4 1 50