Download presentation
Presentation is loading. Please wait.
Published byRoger Brent Harrison Modified 6年之前
1
3.3 通用的ARM微处理器介绍 现将几种通常使用较为广泛的Samsung S3C44B0X (ARM7TDMI内核)、 S3C2410B (ARM920T核)和Intel PXA25X/27x(Xscale核)微处理器内部结构、特点及功能介绍一下。
2
Samsung S3C44B0X的内部结构 Samsung S3C44B0X微处理器是韩国三星公司专为手持设备和一般应用提供的高性价比和高性能的微处理器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件: 8KB Cache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。
3
S3C44B0X的结构图
4
S3C44B0X的系统板
5
S3C44B0X系统板结构组成 LCD与触摸屏接口 USB HOST模块接口 JTAG调试接口 IIC 接口的EEPROM
4×4矩阵键盘接口 LED指示灯 8段数码管电路 S3C44BOX微处理器 电源电路 复位逻辑 晶振电路 系统配置 FLASH和SDRAM 的设计 UART接口 以上部分可根据实际需要自由裁减
6
1)S3C44B0X 结构主要特点 用于手持设备和通用嵌入式应用的完整系统;
16/32位RISC结构和带ARM7DMI CPU核的功能强大的指令集; Thumb协处理器在保证性能的前提下使代码密度最大; 片上ICE中断调试JTAG调试方式; 328位硬件乘法器。
7
2) 系统管理 支持大/小端模式 地址空间:每个Bank32MB(一共256MB); 每个Bank支持8/16/32位数据总线编程;
2) 系统管理 支持大/小端模式 地址空间:每个Bank32MB(一共256MB); 每个Bank支持8/16/32位数据总线编程; 固定的Bank起始地址和7个可编程的Bank; 1个起始地址和尺寸可编程的Bank; 8个内存Bank::6个用于ROM、SRAM;2个用于ROM/SRAM/DRAM; 所有内存Bank的可编程寻址周期; 在能量低的情况下支持DRAM/SDRAM自动刷新模式; 支持DRAM的非对称/对称寻址;
8
缓冲内存和内部SRAM 4路带8K字节的联合缓存; 不使用缓存的0/4/8K内容SRAM 伪LRU(最近最少使用)的替代算法; 通过在主内存和缓冲区内容之间保持一致的方式写内存; 当缓冲区出错时,请求数据填充技术; BOOTLOADER位于FLASH存储器,当ARM处理器S3C44B0X复位或上电后首先执行BOOTLOADER的代码。BOOTLOADER代码有如下功能: 通过基本串口可与PC机终端程序建立联接、可配置板子、提供用户帮助、允许下载应用程序到SDRAM并执行、将用户映象文件写入FLASH、然后部分测试程序。
9
3) 时钟和能量管理 l 低能耗; l 时钟可以通过软件选择性地反馈回每个功能块; l 能量模式: u 正常模式:正常运行模式;
3) 时钟和能量管理 l 低能耗; l 时钟可以通过软件选择性地反馈回每个功能块; l 能量模式: u 正常模式:正常运行模式; u 低能模式:不带PLL的低频时钟; u 休眠模式:只使CPU的时钟停止; u 停止模式:所有时钟都停止; l 用EINT或RTC警告中断从停止模式唤醒。
10
4 ) 中断控制器 30个中断源(看门狗定时器,6个定时器,6个UART,8个外部中断,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO; l矢量IRQ中断模式减少中断响应周期; l外部中断源的水平/边缘模式; l可编程的水平/边缘极性; l对紧急中断请求支持FIQ(快速中断请求)
11
ARM7TDMI中断点的设置 设置EmbeddedICE的两个watchpoint单元 主要包括:地址、数据、控制信号等
当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态
12
断点的类型 硬件断点:在ARM中直接设定watchpoint中的地址,当ARM运行到制定的地址时,就进入Debug状态。
软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态。
13
硬件断点和软件断点的优缺点 硬件断点:数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点
软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置
14
5 ) 带PWM的定时器 S3C44B0X中的定时器具有PWM(脉宽调制)功能,通过对一些功能寄存器的配置,可定义占空比以及定义频率的高低。 内部具有5个16位带PWM的定时器/1个16位基于DMA或基于中断的定时器, 可编程的工作循环,频率和极性选择。
15
6 ) 实时时钟 l全时钟特点:毫秒、秒、分、小时、天、星期、月、年 l32.768KHz运行 CPU唤醒的警告中断 时钟记号中断
16
7 ) 通用输入输出端口 l 8个外部中断端口 l 71个多路输入输出口; 通用异步接收发送器 UART l2个带DMA和中断的UART;
l 支持IrDA1.0(115.2KbPS); l测试的循环返回模式; l每个通道有2个内部32位FIFO
17
8 )DMA与A/D DMA控制器 l 2路通用无需要CPU干涉的DMA控制器; l2路桥式DMA控制器;
l采用6种DMA请求的桥式DMA支持IO到内存,内存到IO,IO到IO:软件,4个内部功能块(UART,SIO,实时器,IIS),外部管脚; lDMA之间可编程优先级次序; l突发传送模式提高传送率; A/D转换 l10位8路ADC; l最大500KbPS/10位;
18
9 ) LCD控制器 l支持彩色/单色/灰度LCD; l支持单扫描和双扫描显示; l支持虚拟显示功能 l 系统内存作为显示内存
l专用DMA用于从系统内存中提取图象数据; l可编程屏幕尺寸; l 灰度:16级 l 256色
19
10 ) 看门狗定时器与I2C总线接口 l16位看门狗定时器; l 定时中断请求和系统复位; l 1个带中断的多主机I2C总线; l串行,8位,双向数据传送器能够以100Kb/S的标准模式和400Kb/S的快速模式传送。
20
操作电压范围 内核:2.5V;I/O:3.0V到3.6V; IIS总线接口 l 1个I带DMA的音频IS总线接口; 运行频率
支持MSB数据格式; SIO(同步串行I/O) l 1个带DMA和中断的SIO l 可编程波特率; 支持8位串行数据传送/接收操作 操作电压范围 内核:2.5V;I/O:3.0V到3.6V; 运行频率 最高到75MHz; 封装 160LQFP/160FBGA;
21
11) S3C44B0X微处理器体系结构框图
22
S3C44B0X微处理器管脚定义图
23
12)系统的启动过程 S3C44B0X把外部复位信号,也作为一个中断来处理。在系统复位的时候,程序(PC)指针被设置成0,使程序跳转到0x 开始运行。此空间对应的是Bank0。因为在系统的1MB的线性Flash和处理器的Bank0相连接。在线性Flash里存储的是供系统的初始化的程序。此程序负责的配置处理器的结构、工作模式以及自动检测嵌入式控制器的各个硬件是否工作正常。此程序负责把存储在16MB的非线性处理器里面的system.bin文件复制到0xc5f0000地址(此地址是系统8MB的SDRAM的首地址)。引导程序把程序(PC)指针指向0xc000000地址,系统开始运行。 system.bin是嵌入式操作系统引导的执行文件。编译以后的操作系统和应用程序就是这个文件。
24
S3C2410微处理器 S3C2410韩国三星电子公司最近推出的一款基于ARM920T核的16/32位RISC嵌入式微处理器。该处理器主要面向手持式设备以及高性价比、低功耗的应用。 该处理器采用0.18um CMOS制造工艺,内部采用了新的Advanced Microcontroller Bus Architecture(AMBA)总线(AMBA2)。 ARM920T核由ARM9TDMI内核、存储管理单元MMU和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM920T有两个内部协处理器:CPl4和CPl5。CPl4用于调试控制,CPl5用于存储系统控制以及测试控制。
25
1) S3C2410B 微处理器性能 MCU:采用三星公司S3C2410,ARM920T内核
SDRAM:32位,16M、32M、64M可选 FLASH:32位,4M、16M可选 USB:一路DEVICE,一路HOST UART:UART0、UART2可选择(RS-232) JTAG:14针电源:输入:+5V——+9V;输出:+3.3V,+1.8VLED:4个外扩总线
26
S3C2410B 微处理器性能 电源:内核1.8V,外围3.3V SDRAM控制器 LCD 控制器:STN 和TFT 4 路DMA,3路串口
8路(10位)ADC 和触摸屏控制接 RTC 功能 主频高达200M 支持MMC、SMC卡 2路USB Host ,USB Device (ver1.1) 4路PWM 和1路内部定时器 看门狗电路 117路I/O,24路外部中断 272管脚FBGA封装
27
2)内部结构原理 内部原理框图如下:
28
ARM920T支持7种操作模式,可以由软件配置,分别如下:
User mode (usr) :正常程序执行模式; FIQ mode (fiq) :支持快速数据传送和通道处理; IRQ mode (irq) :用于通用中断处理; Supervisor mode (svc) :操作系统保护模式; System mode (sys) :运行特权模式操作系统任务; Abort mode (abt) :数据或指令预取失效后进入的状态; Undefined mode (und) :执行未定义的指令时进入的模式。 对这些操作模式的支持,使得ARM可以支持虚拟存储器机制,支持多种特权模式,从而可以运行多种主流的嵌入式操作系统。 ARM920T寄存器定义:
29
ARM 微处理器中共定义了37个编程可见寄存器,每个寄存器的长度均为32位。根据不同的用途,可将其划分为以下几类:
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的值。
30
3) 当前处理器状态寄存器( CPSR: Current Program Status Resister )
4) 状态备份寄存器( SPSR: Saved Program Status Resister ) SPSR寄存器主要是在处理器异常发生时,用来保存CPSR (Current Program Status Resister)。每一种处理器模式下将使用一个SPSR来保存CPSR,而用户模式和系统模式下不需要SPSR,因为该模式下不会发生异常。 ARM 高级中断控制器有 8 种优先控制权,可屏蔽特定中断源,提供中断向量控制器,同时可以接受 32 个中断源请求,ARM 中断体系充分减少中断响应时间,提高系统的实时性。
31
S3C2410集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、NAND Flash控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410还有很多丰富的外部接口,例如触摸屏接口、IIC总线接口、IIS总线接口、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口。在时钟方面S3C2410也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz(内核电压增加到2.0V时最高266MHz)。这个工作频率能够使处理器轻松运行Windows CE、Linux等操作系统以及进行较为复杂的信息处理。UPLL产生实现主从USB功能的时钟。
32
S3C2410将系统的存储空间分成8个bank,每个bank的大小是128M字节,共1G字节。bank0到bank5的开始地址是固定的,用于ROM或SRAM。bank6和bank7用于SDRAM,这两个bank可编程,且大小相同。bank7的开始地址是bank6的结束地址,灵活可变。所有内存块的访问周期都可编程,外部Wait扩展了访问周期。S3C2410采用nGCS[7:0]8个通用片选线选择8个bank区。
33
S3C2410支持NAND Flash 的Bootloader,NAND Flash具有容量大、比Nor Flash更具竞争力的价格等特点,系统采用NAND Flash与SDRAM组合,可以获得非常高的性价比。S3C2410具有三种启动方式,由OM[l:0]管脚选择:00时处理器从NAND Flash 启动;01时从16位宽的ROM 启动;10时从32位宽ROM启动。用户可以将Bootloader代码和操作系统镜像放在外部的NAND Flash,采用NAND Flash启动。处理器上电复位时,通过内置的NAND Flash访问控制器将位于NAND Flash前4KB位置的Bootloader代码自动加载到片内的4KB boot SRAM(此时该SRAM定位于起始地址空间0x )并且运行,在boot SRAM运行的Bootloader程序将操作系统的镜像加载到SDRAM,之后操作系统就能够在SDRAM中运行。启动完毕后,4KB boot SRAM就可以用于其它用途。
35
3)S3C2410B系统应用板 S3C2410B开发板是采用Samsung S3C2410B ARM920T微处理器的最小系统板,具有开放式设计、集成度高、尺寸小、可扩展性强、低功耗等特点。S3C2410B开发板适用于下一代无线应用、数字家电、车载设备、通信终端等应用场合,是嵌入式工程师进行上述应用开发的最佳选择。
36
系统板
37
S3C2410 系统板功能 特征: Samsung S3C2410B 200MHz微处理器
最高可选64MB SDRAM、16MB Flash 带串口、红外接口、音频接口 RJ-45 10/100 Base-T网口 1个USB Host、1个USB Client 128M SMC接口 14针JTAG接口 320x240 STN LCD及触摸屏接口 4个LED指示灯 总线扩展接口
38
软件工具: 开发套件的软件包开发套件的软件包包含三个部分: -各个功能模块的驱动示例程序 -BootLoader的二进制文件和源代码 -嵌入式操作系统(Linux)及应用程序,如Ftp、Web Server等,源代码完全公开。
39
3.3.3 Intel Xscale PXA255 /27x微处理器
XScale PXA255是基于XScale技术开发的微处理器,可用于手机、便携式终端(PDA)、网络存储设备、骨干网(BackBone)路由器等。该新型微处理器架构经过专门设计,属于ARM的V5TE体系,与ARM10系列内核相同,拥有7级流水线。核心采用了英特尔先进的0.18μm工艺技术制造,拥有32KB指令缓存和32KB 数据缓存,并具有专用多媒体数据来的2KB缓存。它具备低功耗特性,适用范围从0.1mW~1.6W。同时,它的时钟工作频率将接近1GHz。
40
1)Intel PXA255 (1) Intel PXA255微处理器的介绍
英特尔Xscale PXA255是一种十分先进的嵌入式处理器,采用XScale核心,频率为200~400MHz,加强了微处理器速度的管理,加快了多媒体处理的速度,并支持802.11b及蓝牙技术、USB接口,采用PBGA封装方式。其主要针对下一代高性能的PDA市场,支持视频流、MP3、无线互联网存取以及其他边缘领先技术。这些组件可以提高使用了这些芯片的整机的整体性能在存储方面,PXA255将支持Secure Digital和CompactFlash扩展技术,它还有电源管理功能,这个功能可以根据处理器所执行的任务来调节它的耗电量。缓存都达到了64KB,并都整合了内存控制器、LCD(液晶显示器)控制器和扩展控制器等。
41
XScale处理器会结合市场上一些有特殊标准的产品,同时采用相关的应用程序。这样可使OEM制造商控制外存储介质和多媒体管理器的发展,从而以更低成本生产手持式设备。而且这些装置具有延长电池组寿命功能,更利于运行丰富的多媒体应用程序。另外英特尔的微型结构还可被高带宽的PCI规范所利用,这样可给内存控制器和网络接口提供一个高整合低能耗的I/O输出与网络传输。
42
PXA255处理器 与PXA250管脚完全兼容 内核最高频率400MHz 集成MMC/SD、PCMCIA/CF卡控制器
集成USB Client控制器 集成920 Kbps蓝牙接口 成功应用于工业监控领域
43
PXA255内部框图
44
(2)XScale工作情况 在它的支线目标缓冲区中,每个条目都包含一个支线指令地址,而支线指令则和目标地址联合起来,这样就得到了支线指令的一个历史记录。当历史记录被记录到1/4状态时,支线目标缓冲区就可通过15个协助处理器激活或关闭。如果支线的指令在支线目标缓冲区中被选中,则指令会在支线目标的地址上被引出,在任何情况下,历史记录都会自动升级。 XScale的高速指令缓存(I-Cache) 包含高利用率的多重码片段或全部程序,在核心频率允许情况下,对核心进行指令存取。而数据高速缓存(D-Cache)可以包含高利用率的数据,如查寻表和过滤系数。XScale可以快速地响应正常的IRQ和FIQ中断请求。处理器界面使用32位总线,它支持后者的紧密联合和平稳运行,还可支持多条指令同时运行。
45
XScale的容错性能: 当一个主机系统上的XScale某一部分在运行程序出错时,就可以允许容错单位的应用程序运行并消除错误,它可允许容错程序发现错误,并终止其继续运行。容错程序运行后会出现指令中断、数据中断、程序中断、外部除错中断等现象。如果在一次正常运行中突然停止,容错应用程序可以自动检查和修改系统核心的状态。然后,容错应用程序会重新自动运行。
46
(3)硬件部分 Super255B开发板上集成有: 处理器: Intel Xscale PXA255 (400MHz)
内存: Samsung SDRAM 64M 闪存: Intel Strata Flash 32M 以太网口驱动:LAN CS8900a 10BaseT 音频驱动: Audio AC’ 97 显示驱动: Display 6.4” TFT LCD 触摸屏驱动: ADS7843 实时钟驱动: RTC4513 红外驱动: HSDL3600
47
接口: 以太网口 1个 串口: 2个 JTAG调试口: 1个 USB口: 1个(Slave) PCMCIA: 1 Slot CF: 1 Slot MMC: 1 Slot 扩展接口: 120 pin Connector for GPIO, 数据和地址总线 键盘: 8 Key Button
48
操作系统: Linux Kernel 2.4.18(source code)
TCP/IP协议栈: Linux TCP/IP 1.0 for NET4.0(source code) 工具链: GNU for X-Super255 (可执行代码) 调试工具:GDB Server for XSUPER255(source code) JTAG下载工具: Jflash-X-Super255(source code+可执行代码) Bootloader: Blob for X-Super255(source code) 网口: CS8900a LAN Device Driver(source code) 音频: AC’ 97 Device Driver(source code) 显示: Frame Buffer Device Driver(source code) 触摸屏: ADS7843 Touch Screen Device Driver(source code) 实时钟: RTC 4513 Device Driver(source code) 红外端口驱动 (source code) PCMCIA接口驱动 (source code) 串口驱动 (source code) USB驱动 (source code) 键盘驱动 (source code)
49
应用程序: 图形用户界面GUI X-Server (TinyX for X-Super255)
嵌入式浏览器上网 MP3播放器 媒体播放器 802.11无线通讯 CF接口扩展大储存器 窗口菜单定制 游戏 主机端应用程序:TFTP Server, (安装程序) BOOTP Server (安装程序)
50
2)PXA27x系列 PXA27x系列是在2004年4月发布的。其最大的改进是采用0.13微米制造工艺,另外首次引进Intel的无线MMX技术,它是一套64位的SIMD指令集,这些指令可有效地增强视频、3D图形、音频以及其他SIMD元素的处理效率,显著改善了多媒体处理性能。 为了抵消高频率带来的功耗提升,本身配备有“无线SpeedStel”节能技术,可根据需要动态调节CPU的性能,显著降低电力消耗。WTP(Wireless Trusted Platfrom)安全平台也是PXA27x重要改进功能,这项技术通过构建一个支持通用安全协议的保密存储空间,用于存储个人隐私以及密码信息。
51
PXA27x系列 内核最高频率624MHz; 采用MCP技术; PXA270 -不集成存储器
PXA271 -集成32MB StrataFlash,32MB SDRAM PXA272 -集成64MB StrataFlash PXA273 -集成32MB StrataFlash 集成摄像头接口; 集成USB Host、4位SD卡接口、USIM卡接口、扫描键盘接口; 体系结构与PXA255相比改变较大。
52
PXA27x处理器部分内部框图
Similar presentations