第3章 体系结构2_第1页
第3章 体系结构2_第2页
第3章 体系结构2_第3页
第3章 体系结构2_第4页
第3章 体系结构2_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章基于ARM架构的嵌入式微处理器2

13.3通用的ARM微处理器介绍

现将几种通常使用较为广泛的低端微处理器SamsungS3C44B0X(ARM7TDMI内核)、中端处理器S3C2410B(ARM920T核)和高端微处理器IntelPXA255/27X(Xscale核)内部结构、特点及功能介绍一下。23.3.1SamsungS3C44B0X微处理器

SamsungS3C44B0X微处理器是韩国三星公司专为手持设备和一般应用提供的高性价比和低档的微处理器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:8KBCache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。3S3C44B0X系统板的结构图4S3C44B0X的系统板5S3C44B0X系统板结构组成LCD与触摸屏接口;USBHOST模块接口;JTAG调试接口;IIC接口的EEPROM;4×4矩阵键盘接口;�LED指示灯;8段数码管电路;S3C44BOX微处理器;电源电路;复位逻辑;晶振电路;系统配置;FLASH和SDRAM的设计;UART接口。61)S3C44B0X结构主要特点16/32位RISC结构和带ARM7DMICPU核的功能强大的指令集;Thumb协处理器在保证性能的前提下使代码密度最大;片上ICE中断调试JTAG调试方式;32

8位硬件乘法器。72)系统管理地址空间:每个Bank32MB(一共256MB);每个Bank支持8/16/32位数据总线编程;固定的Bank起始地址和7个可编程的Bank;1个起始地址和尺寸可编程的Bank;8个内存Bank:6个用于ROM和SRAM;2个用于ROM/SRAM/DRAM;所有内存Bank的可编程寻址周期;在能量低的情况下支持DRAM/SDRAM自动刷新模式;支持DRAM的非对称/对称寻址;缓冲内存和内部SRAM84路带8K字节的联合缓存;不使用缓存的0/4/8K内容SRAM伪LRU(最近最少使用)的替代算法在主内存和缓冲区内容之间保持一致的方式写内存;当缓冲区出错时,请求数据填充技术;BOOTLOADER位于FLASH存储器,当S3C44B0X复位或上电后首先执行BOOTLOADER的代码。BOOTLOADER代码有如下功能:通过基本串口可与PC机终端程序建立联接、可配置板子、提供用户帮助、允许下载应用程序到SDRAM并执行、将用户映象文件写入FLASH、然后部分测试程序。9复位后的S3C44B0X的存储器映射表

32MB

32MB

32MB

32MB

32MB

28MB

256MB

SA[27:0]

可存取

区域

特殊功能

寄存器(4MB)

SROM

(nGCS0)

SROM

(nGCS1)

SROM

(nGCS2)

SROM

(nGCS3)

SROM

(nGCS4)

SROM

(nGCS5)

SROM/DRAM/SDRAM

(nGCS6)

SROM/DRAM/SDRAM

(nGCS7)0x1000_0000

0x0e00_0000

0x0c00_0000

0x0e00_0000

0x0800_0000

0x0600_0000

0x0400_0000

0x0200_0000

0x01c0_0000

0x0000_0000

2MB/4MB/8MB/16MB/32MB2MB/4MB/8MB/16MB/32MB103)时钟和能量管理低能耗,时钟可以通过软件选择性地反馈回每个功能块。能量模式:正常模式:正常运行模式;低能模式:不带PLL的低频时钟;休眠模式:只使CPU的时钟停止;停止模式:所有时钟都停止;用EINT或RTC警告中断从停止模式唤醒。114)中断控制器30个中断源(看门狗定时器,6个定时器,6个UART,8个外部中断,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO;矢量IRQ中断模式减少中断响应周期;外部中断源的水平/边缘模式;可编程的水平/边缘极性;对紧急中断请求支持FIQ(快速中断请求)12(1)ARM7TDMI中断点的设置设置EmbeddedICE的两个watchpoint单元

主要包括:地址、数据、控制信号等当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态(2)断点的类型硬件断点:在ARM中直接设定watchpoint中的地址,当ARM运行到制定的地址时,就进入Debug状态。软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态。13(3)硬件断点和软件断点的优缺点硬件断点:数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点。软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置。145)带PWM的定时器S3C44B0X中的定时器具有PWM(脉宽调制)功能,通过对一些功能寄存器的配置,可定义占空比以及定义频率的高低。内部具有5个16位带PWM的定时器/1个16位基于DMA或基于中断的定时器,可编程的工作循环,频率和极性选择。

6)实时时钟具有全时钟特点:毫秒、秒、分、小时、天、星期、月、年。在32.768KHz石英晶体下运行。具有CPU唤醒的警告中断功能。157)通用输入输出端口8个外部中断端口71个多路输入输出口;通用异步接收发送器UART2个带DMA和中断的UART;支持5位,6位,7位,8位串行数据传送/接收;当传送/接收时支持双向握手可编程波特率;

支持IrDA1.0(115.2KbPS);测试的循环返回模式;每个通道有2个内部32位FIFO168)DMAC控制器与A/D转换器(1)DMA控制器2路通用无需要CPU干涉的DMA控制器;2路桥式DMA控制器;采用6种DMA请求的桥式DMA支持IO到内存,内存到IO,IO到IO:软件,4个内部功能块(UART,SIO,实时器,IIS),外部管脚;DMA之间可编程优先级次序;突发传送模式提高传送率。(2)A/D转换器10位8路ADC;最大500KbPS/10位;179)LCD液晶显示器控制器支持彩色/单色/灰度LCD;支持单扫描和双扫描显示;支持虚拟显示功能

系统内存作为显示内存专用DMA用于从系统内存中提取图象数据;可编程屏幕尺寸;灰度:16级,

256色1810)看门狗定时器与I2C总线接口16位看门狗定时器;定时中断请求和系统复位;1个带中断的多主机I2C总线;串行,8位,双向数据传送器能够以100Kb/S的标准模式和400Kb/S的快速模式传送。1911)IIS总线接口1个带DMA的音频IIS总线接口;串行,每路8/16位数据传送器;支持MSB数据格式;SIO(同步串行I/O)

1个带DMA和中断的SIO;可编程波特率;支持8位串行数据传送/接收操作12)操作电压范围内核:2.5V;I/O:3.0V到3.6V;运行频率:最高到75MHz;封装:160LQFP/160FBGA;20S3C44B0X微处理器体系结构框图21

S3C44B0X微处理器管脚定义图2212)系统的启动过程

S3C44B0X把外部复位信号,也作为一个中断来处理。在系统复位的时候,程序指针被设置成0,使程序跳转到0x00000000开始运行。此空间对应的是Bank0,因为在系统的1MB的线性Flash和处理器的Bank0相连接,存储的是供系统的初始化的程序。此程序负责的配置处理器的结构、工作模式以及自动检测嵌入式控制器的各个硬件是否工作正常。此程序负责把存储在16MB的非线性处理器里面的system.bin文件复制到0xc5f0000地址(此地址是系统8MB的SDRAM的首地址)。引导程序把程序指针指向0xc000000地址,系统开始运行。system.bin是嵌入式操作系统引导的执行文件。编译以后的操作系统和应用程序就是这个文件。233.3.2S3C2410微处理器

S3C2410韩国三星电子公司最近推出中档的一款基于ARM920T核的16/32位RISC嵌入式微处理器。该处理器主要面向手持式设备以及高性价比、低功耗的应用。该处理器采用0.18umCMOS制造工艺,内部采用了新的AdvancedMicrocontrollerBusArchitecture(AMBA)总线。ARM920T核由ARM9TDMI内核、存储管理单元MMU和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM920T有两个内部协处理器:CPl4和CPl5。CPl4用于调试控制,CPl5用于存储系统控制以及测试控制。24ARM9体系结构框图

下页图给出了ARM9TDMI结构框图。主要有7部分构成。 比较最常用的是ARM920T内核,后页图给出了ARM920T结构框图。 ARM920T结构主要部分有:ARM9TDMI内核CPU、MMU、Cache、协处理器接口、运行跟踪信息接口(ETM)、JTAG调试接口、总线接口等7部分构成。25ARM9TDMI体系结构框图ARM9TDMICPU指令接口数据地址接口跟踪接口数据接口JTAG接口指令地址接口ARM9TDMI结构框图26ARM9TDMI核性能

0.25微米的ARM9TDMI核在执行32位ARM代码时的特性综述于下表。27ARM920T体系结构框图28封装与引脚信号 S3C微控制器是272-FBGA封装。 其信号可以分成addr0---addr26、Data0---data31、GPA0---GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0—nGCS7、AIN7、IIC、SPI、OM0---OM3等,大部分都是复用的291、S3C2410X概述 S3C2410X是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。

1)主要特性具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU。外部存储器控制器,可扩展8组,每组128MB,总容量达1GB;支持从Nandflash存储器启动。3055个中断源,可以设定1个为快速中断,有24个外部中断,并且触发方式可以设定。4通道的DMA,并且有外部请求引脚。3个通道的UART,带有16字节的TX/RXFIFO,支持IrDA1.0功能。具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口。有2个USB主机总线的端口,1个USB设备总线的端口。有4个具有PWM功能的16位定时器和1个16位内部定时器。8通道的10位A/D转换器,最高速率可达500kB/s;提供有触摸屏接口。具有117个通用I/O口和24通道的外部中断源。31兼容MMC的SD卡接口。具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。看门狗定时器。具有日历功能的RTC。有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。具有PLL功能的时钟发生器,时钟频率高达203MHz。双电源系统:1.8/2.0V内核供电,3.3V存储器和I/O供电。322)系统结构 主要由两大部分构成: ARM920T内核 片内外设。33 (1)ARM920T内核 由三部分:ARM9内核ARM9TDMI、32KB的Cache、MMU。34 (2)片内外设

分为高速外设和低速外设,分别用AHB总线和APB总线。352)ARM920T支持7种操作模式Usermode(usr):正常程序执行模式;FIQmode(fiq):支持快速数据传送和通道处理;IRQmode(irq):用于通用中断处理;Supervisormode(svc):操作系统保护模式;Systemmode(sys):运行特权模式操作系统任务;⑥

Abortmode(abt):数据或指令预取失效后进入的状态;⑦

Undefinedmode(und):执行未定义的指令时进入的模式。对这些操作模式的支持,使得ARM可以支持虚拟存储器机制,支持多种特权模式,从而可以运行多种主流的嵌入式操作系统。363)ARM920T寄存器定义ARM微处理器中共定义了37个编程可见寄存器,每个寄存器的长度均为32位。根据不同的用途,可将其划分为以下几类:30个通用寄存器程序指针(PC:ProgramCounter)当前处理器状态寄存器(CPSR:CurrentProgramStatusResister) 状态备份寄存器(SPSR:SavedProgramStatusResister)37(1)30个通用寄存器在任意一种处理器模式下,只有15个通用寄存器可以使用,编号分别为R0,…,R14。其中,R13一般作为堆栈指针寄存器(SP:StackPointer)。该寄存器由ARM编译器自动使用。R14一般作为链接寄存器(LR:LinkRegister)。当系统中发生子程序调用时,用R14来记录返回地址。如果返回地址已经保存在堆栈中,则该寄存器也可以用于其它用途。38(2)程序指针(PC:ProgramCounter)

PC即为R15,用于记录程序当前的运行地址。ARM处理器每执行一条指令,都会把PC增加4字节(Thumb模式为两个字节)。此外,相应的分支指令(如BL等)也会改变PC的值。(3)当前处理器状态寄存器

当前处理器状态寄存器(CPSR:CurrentProgramStatusResister)CPSR用于存储条件码,各种模式公用该寄存器。39(4)状态备份寄存器状态备份寄存器(SPSR:SavedProgramStatusResister)SPSR寄存器主要是在处理器异常发生时,用来保存CPSR(CurrentProgramStatusResister)。每一种处理器模式下将使用一个SPSR来保存CPSR,而用户模式和系统模式下不需要SPSR,因为该模式下不会发生异常。ARM高级中断控制器有8种优先控制权,可屏蔽特定中断源,提供中断向量控制器,同时可以接受32个中断源请求,ARM中断体系充分减少中断响应时间,提高系统的实时性。402、S3C2410X的存储器系统 1)概述

S3C2410X的存储器管理器提供访问外部存储器的所有控制信号:26位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。

S3C2410X的存储空间分成8组,最大容量是1GB,bank0---bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,并且bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等。 bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定;其它存储器的数据线宽可以是8位、16位和32位。 S3C2410X的存储器格式,可以编程设置为大端格式,也可以设置为小端格式。414243注意:补充引脚信号44 2)存储器的控制寄存器 内存控制器为访问外部存储空间提供存储器控制信号,S3C2410X存储器控制器共有13个寄存器。寄存器地址功能操作复位值BWSCON0x48000000总线宽度和等待控制读/写0x0BANKCON00x48000004BANK0控制读/写0x0700BANKCON10x48000008BANK1控制读/写0x0700BANKCON20x4800000CBANK2控制读/写0x0700BANKCON30x48000010BANK3控制读/写0x0700BANKCON40x48000014BANK4控制读/写0x0700BANKCON50x48000018BANK5控制读/写0x0700BANKCON60x4800001CBANK6控制读/写0x18008BANKCON70x48000020BANK7控制读/写0x18008REFRESH0x48000024SDRAM刷新控制读/写0xAC0000BANKSIZE0x48000028可变的组大小设置读/写0x0MRSRB60x4800002CBANK6模式设置读/写xxxMRSRB70x48000030BANK7模式设置读/写xxx45 S3C2410X有4个通道的DMA控制器,其位于在系统总线和外设总线之间。 每个DMA通道都能没有约束的实现系统总线或者外设总线之间的数据传输,即每个通道都能处理下面四种情况: 源器件和目的器件都在系统总线 源器件在系统总线,目的器件在外设总线 源器件在外设总线,目的器件在系统总线 源器件和目的器件都在外设总线

DMA的主要优点是:可以不通过CPU的中断来实现数据的传输,DMA的运行可以通过软件或者通过外围设备的中断和请求来初始化。3、DMA控制器46(1)DMA工作原理 每个DMA通道都有4个DMA请求源,通过设置,可以从中挑选一个服务。每个通道的DMA请求源如表所示。

通道

源请求源0请求源1请求源2请求源3请求源4通道0nXDREQ0UART0SDITimerUSB设备EP1通道1nXDREQ1UART1IIS/SDISPI0USB设备EP2通道2IISSDOIISSDISDITimerUSB设备EP3通道3UART2SDISPI1TimerUSB设备EP4表各通道的DMA请求源47 (2)DMA的工作过程 一般DMA的工作过程如下面所示 (1)外设向DMAC发出请求 (2)DMAC通过HOLD向CPU发出总线请求; (3)CPU响应释放三总线,并且发应答HLDA (4)DMAC向外设发DMA应答

(5)DMAC发出地址、控制信号,为外设传送数据; (6)传送完规定的数据后,DMAC撤销HOLD信号,CPU也撤销HLDA信号,并且恢复对三总线的控制。1245348

S3C2410X的DMA工作过程可以分为三个状态: 状态1:等待状态。DMA等待一个DMA请求。如果有请求到来,将转到状态2。在这个状态下,DMAACK和INTREQ为0。 状态2:准备状态。DMAACK变为1,计数器(CURR_TC)装入DCON[19:0]寄存器。 注意:DMAACK保持为1直至它被清除。 状态3:传输状态。DMA控制器从源地址读入数据并将它写到目的地址,每传输一次,CURR_TC数器(在DSTAT中)减1,并且可能做以下操作: 重复传输:在全服务模式下,将重复传输,直到计数器CURR_TC变为0;在单服务模式下,仅传输一次。49设置中断请求信号:当CURR_TC变为0时,DMAC发出INTREQ信号,而且DCON[29]即中断设定位被设为1。清除DMAACK信号:对单服务模式,或者全服务模式CURR_TC变为0。 注意:在单服务模式下,DMAC的3个状态被执行一遍,然后停止,等待下一个DMAREQ的到来。如果DMAREQ到来,则这些状态被重复操作,直到CURR_TC减为0。

说明:DMA传输分为一个单元传输和4个单元突发式传输。50 (3)外部DMA请求/响应规则 DMAC有3种类型的外部DMA请求/响应规则: singleservicedemand,单服务请求(对应于需求模式) singleservicehandshake,单服务握手(握手模式) wholeservicehandshake,全服务握手(全服务模式) 每种类型都定义了像DMA请求和DMA响应这些信号怎样与这些规则相联系。

demand与handshake模式的比较: 在一次传输结束时,DMA检查xnxDREQ(DMA请求)信号的状态:

在demand模式下:如果DMA请求(xnxDREQ)信号仍然有效,则传输马上再次开始。否则等待。 在handshake模式下:如果DMA请求信号无效,DMA在两个时钟周期后将DMA响应(xnxDACK)信号变得无效。否则,DMA等待直到DMA请求信号变得无效。每请求一次传输一次。51(4)DMA控制器的相关寄存器 每个DMA通道有9个控制寄存器(4个通道共计36个寄存器),6个用来控制DMA传输,其它3个监视DMA控制器的状态。 RegisterAddressR/WDescriptionResetValueDISRCn0x4B0000x0R/W初始源基地址寄存器0x00000000DISRCCn0x4B0000x4R/W初始源控制寄存器0x00000000DIDSTn0x4B0000x8R/W初始目的基地址寄存器0x00000000DIDSTCn0x4B0000xCR/W初始目的控制寄存器0x00000000DCONn0x4B0000y0R/WDMA控制寄存器0x00000000DSTATn0x4B0000y4R状态/计数寄存器0x00000000DCSRCn0x4B0000y8R当前源地址寄存器0x00000000DCDSTn0x4B0000yCR当前目的地址寄存器0x00000000SKTRIGn0x4B0000z0R/WDMA掩码/触发寄存器0b000524、系统的启动方式具有三种启动方式,由OM[l:0]管脚选择:在00时处理器从NANDFlash启动;在01时从16位宽的ROM启动;在10时从32

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论