610 likes | 788 Views
嵌入式系统应用与开发. 张睿 2004 年 2 月. 第四章 PXA250 处理器介绍. PXA250 和 PXA210 应用处理机是第一代基于 INTEL 的 XScale 微架构的集成系统芯片( ISOC )设计处理机。它们除了 XScale 微内核外,还集成了许多适用于手持设备市场需要的外围设备。. 4.1 PXA250 结构和特性.
E N D
嵌入式系统应用与开发 张睿 2004年2月
第四章 PXA250处理器介绍 PXA250和PXA210应用处理机是第一代基于INTEL的XScale微架构的集成系统芯片(ISOC)设计处理机。它们除了XScale微内核外,还集成了许多适用于手持设备市场需要的外围设备。
4.1 PXA250结构和特性 Xscale PXA250是一种十分先进的嵌入式处理器,采用XScale核心,频率为200~400MHz,加强了微处理器速度的管理,加快了多媒体处理的速度,并支持802.11b及蓝牙技术、USB接口,采用PBGA封装方式。其主要针对下一代高性能的PDA市场,支持视频流、MP3、无线互联网存取以及其他边缘领先技术。
PXA250的特性 • 内核工作频率:100~400MHZ • 系统存贮器接口:—100MHZ SDRAM。—4MB至256MB SDRAM存贮器。—支持16、64、128、256Mbit DRAM技术。—四个SDRAM区,每个支持64MB存贮器。—时钟允许(1个CKE脚用于把整个SDRAM接口 • 置为自我刷新)。—支持多至六个静态存贮器器件(SRAM、 • Flash、ROM或VLIO)。—支持两个PCMCIA/CF卡插槽。
时钟和电源控制器:—3.6864MHZ振荡器,具有核PLL和外围PLL,可产生各时钟和电源控制器:—3.6864MHZ振荡器,具有核PLL和外围PLL,可产生各 • 工作频率。—32.768KHZ振荡器可驱动实时时钟、电源管理器和中断 • 控制器。—电源控制器可控制快速/运行、空闲和睡眠工作方式。 • DMA控制器:—具有16个有优先级的通道,可为内部外设和外部芯片 • 提供服务。—采用描述器(Descriptor)允许命令链和循环结构。—支持字、半字和字节数据传送。
LCD控制器: • —支持被动(DSTN)和主动(TFT)LCD显示。—最大分辨率800*600*16。—两个专用DMA通道允许LCD控制器支持单层或双 • 层显示。 • 系统集成模块:—GPIO—中断控制器 。—实时时钟(RTC)—OS定时器—PWM
串行通讯口:—USB从机模块,支持USB V1.1 • —三个UART,每个均可有慢速红外接口功能: * 全功能UART,波特率可高至230kbps。 * Bluetooth UART,波特率可高至921Kbps。 * 标准UART,波特率可高至230kbps。—高速红外(FIR)通讯口,基于4Mbps IrDA • 标准,可直接与外部IrDA LED相连。—同步串行规程控制器(SSPC),提供全双工同 • 步串行接口,位速率为7.2KHZ至1.84MHZ。—I2C总线接口单元。
多媒休通讯口:—AC97控制器,支持AC97 V2.0 Codec。—I2S控制器,可串行连接至数字立体声的标准I2S • Codec,支持普通的I2S和MSB调整的I2S格式。—多媒体卡(MMC)控制器,提供与标准的存贮器 • 卡的串行接口,最高速率可达20Mbps。
封装 • PXA250采用256脚17*17MBGA封装, • 32位总线内核 • PXA210采用225脚13*13MMAP封装, • 具有16位总线
4.2 时钟和电源管理 时钟和电源管理控制每个模块的时钟频率,管理不同工作方式的转换以优化计算性能和电源消耗。
4.2.1 时钟管理 • 时钟系统包括五个主要时钟源: • 32.768KHZ振荡器。 • 3.6864MHZ振荡器。 • 可程控频率的核PLL。 • 95.85MHZ固定频率的外设PLL。 • 147.46MHZ固定频率的PLL。
时钟管理寄存器 表5-2 时钟管理器寄存器
1. 核时钟设置寄存器(CCCR) 位31~10: 保留; 位9~7:运行方式频率至快速方式频率倍因子N; 快速方式频率=运行方式频率*N; 位6~5:存贮器频率至运行方式频率倍因子M; 位4~0:晶振频率至存贮器频率倍因子L 。
3. 振荡器设置寄存器(OSCC) 位31~2:保留 位1:OON——32.768KHZ允许位(只能写入一次) 位0:OOK——32.768KHZ运行标志(只读)
PLL频率编程方法 1)决定最快的同步存贮器(SDRAM)的频率。 2)如果SDRAM频率小于99.5MHZ,则存贮器频率必须两倍于SDRAM频率,存贮器控制器中的SDRAM时钟分频值应设为2。如SDRAM频率为99.5MHZ,则存贮器频率等于SDRAM的频率。 3)按99.5MHZ(L=0x1B), 118.0MHZ(L=0x20), 132.7MHZ(L=0x24),147.5MHZ(L=0x28)或165.9MHZ(L=0x2D)的最近值来取存贮器频率,并把L编程入核时钟设置寄存器。该频率(或一半,如SDRAM频率为两分频)为外部同步存贮器频率。
4)决定正常工作(RUN方式)所需的核频率。它的值为存贮器频率的1、2或4倍。把该值(M)编程入核时钟设置寄存器。4)决定正常工作(RUN方式)所需的核频率。它的值为存贮器频率的1、2或4倍。把该值(M)编程入核时钟设置寄存器。 5)决定快速(TURBO)方式工作的核频率。它用于从CACHE中运行程序的时候。该值应为RUN方式时钟的1、1.5、2或3倍。把该值(N)编程入核时钟设置寄存器。 6)按存贮器频率设置LCD控制器和存贮器控制器。
4.2.2 复位 三种复位方式: 1、硬件复位 2、Watchdog复位 3、GPIO复位
1. 硬件复位 在nRESET脚上加低电平,将进入硬复位状态。这时仅3.6864MHZ振荡器处于工作状态,停止内部时钟,所有引脚处于复位状态,将丢失所有动态RAM的内容,从nRESET_OUT输出低电平。在退出复位前,所有电源必须稳定。在nRESET脚变为高时,退出硬件复位,将: 1)等待3.6864MHZ振荡器和PLL时钟发生器稳定。 2)nRESET_OUT脚变高。 3)开始正常的启动步骤。软件应检查复位控制器状 态寄存器(RCSR)以决定启动源。
2. Watchdog复位 在软件没阻止Watchdog定时溢出的发生时,产生Watchdog复位。这时nRESET_OUT脚变低,除了RTC和部分时钟电源管理器外,复位所有单元,也将丢失动态RAM的内容。在经过约18ms后退出Watchdog复位状态。
3. GPIO复位 如果GPIO1设置为复位源,当它为低大于4*N个时钟周期时,产生GPIO复位。这时,除了RTC,部分时钟电源管理器和存贮器控制器外,复位所有应用处理机单元,并从nRESET_OUT脚输出低电平。 设置GPIO1为复位功能时,应做如下操作: 1)设置GPIO1为输出,并输出为1。 2)从外部驱动GPIO1脚为高 3)设置GPIO1为输入。 4)设置GPIO1为第二(复位)功能。
4.2.3 工作方式 1. 运行(RUN)方式 即正常工作方式,允许所有电源和允许的时钟。复位后,或者从其他工作方式恢复后进入运行方式。
2.快速(TURBO)方式 允许处理机核在短时间内以高速运行。它同步切换频率而不影响存贮器控制器、LCD控制器和其他外围部件。 快速方式的加速倍率由CCCR寄存器的N值决定。软件置位TURBO位,在执行完指令栈中的指令时,CPU按较高频率运行。 软件清零TURBO位,CPU在执行完指令栈中指令后,进入运行方式。
3. 空闲(IDLE)方式 允许用户停止CPU核时钟,但仍继续监视片内和外中断服务请求。这时系统单元模块(RTC、OS定时器、中断控制器、GPIO、时钟和电源管理器、外围单元模块(DMA控制器、LCD控制器和所有其他外围单元),存贮器控制器仍处于运行状态。 软件写入PWRMODE寄存器的M段以选择空闲方式,在执行完指令栈中指令后进入空闲方式。当发生允许的中断时,可唤醒系统,重新启动CPU时钟进入运行方式。
4.睡眠(SLEEP)方式 睡眠(SLEEP)方式时,核可无电源,仅RTC和电源管理器继续工作,可控制引脚状态,而SDRAM置为自我刷新方式从而可保存其内容。 在进入睡眠方式前,软件应: 1)设置SDRAM为自我刷新方式。 2)停止所有DMA操作。 3)设置PMGPIO/睡眠状态寄存器和PM通用设 置寄存器的FS/FP位。 4)设置电源管理器的寄存器以允许唤醒源。
在睡眠方式,仅RTC运行,不响应中断。只有唤醒信号、复位和nBATT_FAULT信号才能触发应用处理机。在睡眠方式,仅RTC运行,不响应中断。只有唤醒信号、复位和nBATT_FAULT信号才能触发应用处理机。 软件应检查RCSR以决定启动源,检查电源管理器睡眠状态寄存器(PSSR)以决定唤醒源。
4.2.4 电源管理器寄存器 表5-3 电源管理器寄存器
协处理机14的时钟和电源管理寄存器 1、CCLKCFG寄存器(CP14寄存器6) 用于进入快速方式和频率改变序列。仅有两位: 位1:FCS——频率改变序列。 0=不进入频率改变序列。 1=进入频率改变序列。 位0:TURBO——快速方式 0=退出快速方式。 1=进入快速方式。
2、PWRMODE寄存器(CP14寄存器7) 用于进入空闲和睡眠方式。仅有两位, 称为M。 00:运行/快速方式。 01:空闲方式。 10:保留 11:睡眠方式
4.3 系统集成单元(SIU) 4.3.1 通用I/O PXA250应用处理机有81根通用输入输出(GPIO)管脚。每个都可以通过使用GPDR设置为输入或输出。许多GPIO脚有第二功能,有的能有多个第二功能。 这些管脚可程控它们为第二功能,但仍需通过GPDR设置它们的方向。
GPIO寄存器 GPIO模块一共有27个32位寄存器,它们完成9种功能,每个有三个寄存器以设置81个GPIO。
1、GPIO引脚电平寄存器(GPLR) 读出GPLR可得至GPIO引脚的状态。GPLR0的位31~0对应于GPIO31~0,GPLR1的位31~0对应于GPIO63~32,GPLR2的位16~0对应于GPIO80~64,GPLR2的位31~17为保留位。 2、GPIO引脚方向寄存器(GPDR) 置GPDR的位为1,可置对应GPIO脚为输出,复位时为0,置为输入。
3、GPIO引脚输出置位寄存器(GPSR)和引脚清零寄存器(GPCR)。 当某个GPIO脚设置为输出时,可向对应的GPSR位写入1来输出1,也可向对应的GPCR写入1来输出0。GPSR、GPCR只可写入。
4、GPIO上升沿检测允许寄存器(GRER)和下降沿检测允许寄存器(GFER)。 4、GPIO上升沿检测允许寄存器(GRER)和下降沿检测允许寄存器(GFER)。 置位GRER/GFER的对应位,可编程每根GPIO检测上升沿、下降沿或任何跳变。在发生指定跳变时,置位状态位,它可控制产生中断。 5、GPIO跳变检测状态寄存器(GEDR) GEDR存放与GPIO脚有关的跳变状态位(1有效)。
6、GPIO第二功能寄存器(GAFR) 一共有六个GAFR,分别为GAER0_L、GAFR0_U、GAFR1_L、GAFR1_U、GAFR2_L、GAFR2_U。GAFR的的相邻两位对应于一根GPIO脚,记为AF位。两位AF可设置四种方式:普通GPIO和三种第二功能。另外GPIO方向寄存器GPDR可设置数据方向为输入或输出,这样最多可有六种第二功能。
4.3.2 中断控制器 PXA250有22个中断源。中断控制器只支持单优先级中断,但各中断可设置IRQ或FIQ,而FIQ优先级高于IRQ。 中断控制器可分为两部分;第一部部分包含中断层蔽寄存器(ICMR)和中断状态寄存器(ICPR)等。第二部分为该中断的源器件的寄存器。
4.3. 3 实时时钟 实时时钟(RTC)可设置产生周期性信号。一般RTC可设置产生一个1Hz输出,用作系统时间基准。它还有一个闹钟功能,可由RTC在预定时间产生中断或唤醒事件。
4.3.4 操作系统(OS)定时器 PX250有一个32位操作系统定时器,它的时钟来自3.6864MHZ振荡器。
4.3.5 脉冲宽度调制 • 脉冲宽度调制(PWM)可用来产生两个输出信号。它们基于3.6468MHZ时钟。PXA250有两路PWM:PWM0和PWM1。它们相互独立可从外部脚输出。 • 每个PWM包含: • 1) 通过6位时钟分频和10位计数 • 器实现增强型周期控制。 • 2) 10位脉宽控制。
4. 4 DMA控制器 PXA250的DMA控制器(DMAC)有16通道DMA,可响应内部或外部设备的请求完成数据从主存贮器的读出和写入。
DMA描述 图5-5 DMAC框图