星S3C2440微处理器.ppt
三星S3C2440微处理器,Gizmondo(S3C2440),Gigabeat(S3C2440),DMP-1(S3C2440),Entertainment,Mobile Phone,E28 2800(S3C2440),M500(S3C2440),GPS,Rider(S3C2440),M(S3C2440),iPAQ Series(S3C2410/2440),PDA,三星S3C2440的应用产品,S3C2440,SD/MMC,Main TFT LCD&TSP,Main Charger,USB Charger,5VDC,5VUSB,PMIC,System Power,Li-Ion,GPS,Debug,BT,UART0,UART1,UART2,USB Host 1.1,USB Device 1.1,IIS I/F,IIC I/F,TFT/CSTN LCDC+SPI(GPIO)+TSADC,CAM I/F,CTS/RTS,SD/SDIO,SMC,DRAMC,NAND Flash IF,SDRAM/mDDR,SRAM/ROM/NOR Flash/OneNAND/OneDRAM,NAND,SPI,1Gbit X 6banks(x8/x16/x32),TV-out,Control,Data,1Gbit X 2banks(x16/x32),BT 601/6568-bit,TDMB/WLAN,Note)UART max baud rate:1M bps,1/2/4/8/16 bppUp to QVGA,RGB I/F,S3C2413 only,ARM920T 300/400Mhz16K/16K ID Cache,GPIO,Key Matrix,三星S3C2440的应用模式,引言,三星公司推出的16/32位RISC微处理器S3C2440A,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。为了降低整体系统成本,S3C2440A提供了丰富的内部设备。,S3C2440A采用了ARM920T的内核,0.13um 的CMOS 标准宏单元和存储器单元。它采用了新的总线架构Advanced Micro controller Bus Architecture(AMBA)。其低功耗、简单、优雅以及全静态设计特点,适合于对成本和功率敏感型的应用。,引言,S3C2440A的杰出特点是其核心处理器(CPU),是一个16/32位ARM920T 的RISC处理器。ARM920T 实现了 MMU,AMBA BUS和 Harvard 高速缓冲体系结构。这一结构具有独立的 16KB指令 Cache和 16KB数据 Cache。每个都是由具有8字长的行组成。通过提供一套完整的通用系统外设,S3C2440A降低了整体系统成本并且无需配置额外的组件。,引言,S3C2440A集成的片上功能,1.2V内核供电,1.8V/2.5V/3.3V存储器供电,3.3V外部I/O供电,具备16KB的I-Cache和16KB的D-Cache/MMU微处理器。外部存储控制器(SDRAM控制和片选逻辑)。LCD控制器(最大支持4K色STN和256K色TFT)提供1 通道LCD专用DMA。4 通道DMA并有外部请求引脚。3 通道UART(IrDA1.0,64字节Tx FIFO,和64字节Rx FIFO)。2 通道SPI。1 通道IIC-BUS接口。1 通道IIS-BUS音频编解码器接口。,AC97 解码器接口。兼容SD 主接口协议1.0 版和MMC 卡协议2.11 兼容版。2 端口USB 主机/1 端口USB 设备(1.1 版)。4 通道PWM 定时器和1 通道内部定时器/看门狗定时器。8 通道10 比特ADC 和触摸屏接口。具有日历功能的RTC。相机接口(最大4096 4096像素的支持;2048 2048像素的支持以及缩放。)130 个通用I/O 口和24 通道外部中断源。具有普通、慢速、空闲和掉电模式。具有PLL 片上时钟发生器,S3C2440A集成的片上功能,S3C2440A特性,体系结构为手持设备和通用嵌入式应用提供片上集成系统解决方案 16/32 位RISC 体系结构和ARM920T内核强大的指令集 加强的ARM体系结构MMU用于支持WinCE,EPOC 32和Linux指令高速存储缓冲器(I-Cache),数据高速存储缓冲器(D-Cache),写缓冲器和物理地址TAG RAM 减少主存带宽和响应性带来的影响采用ARM920T CPU内核支持ARM调试体系结构内部高级微控制总线(AMBA)体系结构(AMBA2.0,AHB/APB),S3C2440A特性,系统管理器支持大/小端方式支持高速总线模式和异步总线模式寻址空间:每bank 128M 字节(总共1G 字节)支持可编程的每bank 8/16/32位数据总线带宽从bank 0 到bank 6 都采用固定的bank 起始寻址bank7具有可编程的bank 的起始地址和大小 8 个存储器bank:其中6 个适用于ROM,SRAM,和其他 另外2 个适用于ROM/SRAM和同步DRAM所有的存储器bank都具有可编程的操作周期支持外部等待信号延长总线周期支持掉电时的SDRAM自刷新模式支持各种型号的ROM引导(NOR/NAND Flash,EEPROM,或其他),S3C2440A特性,NAND Flash启动引导支持从NAND flash存储器的启动采用4KB内部缓冲器进行启动引导支持启动之后NAND存储器仍然作为外部存储器使用支持先进的NAND flash,S3C2440A特性,Cache存储器64 项全相连模式,采用I-Cache(16KB)和D-Cache(16KB)每行8字长度,其中每行带有一个有效为和两个dirty位伪随机数或轮转循环替换算法位采用写穿式(write-through)或写回式(write-back)cache操作来更新主存储器写缓冲器可以保存16个字的数据和4个地址,S3C2440A特性,时钟和电源管理片上MPLL和UPLL:采用UPLL产生操作USB主机/设备的时钟 MPLL 产生最大400MHZ 1.3V操作MCU 所需要的时钟通过软件可以有选择性的为每个功能模块提供时钟电源模式:正常,慢速,空闲和掉电模式 正常模式:正常运行模式 慢速模式:不加PLL 的低时钟频率模式 空闲模式:只停止CPU 的时钟;掉电模式:所有外设和内核的电源都切断了;可以通过EINT15:0或RTC报警中断来从掉电模式中唤醒处理器,S3C2440A特性,中断控制器60个中断源(1个看门狗定时器,5个定时器,9个UARTs,24个外部中断,4个DMA,2个RTC,2 个ADC,1 个IIC,2 个SPI,1个SDI,2个USB,1 个LCD和1个电池故障,1个NAND 和2个Camera),1个AC97音频电平/边沿触发模式的外部中断源可编程的边沿/电平触发极性支持为紧急中断请求提供快速中断服务,S3C2440A特性,具有脉冲带宽调制功能的定时器(PWM)4 通道16位具有PWM功能的定时器,1通道16 位内部定时器,可基于DMA或中断工作可编程的占空比周期,频率和极性能产生死区支持外部时钟源,S3C2440A特性,RTC(实时时钟)全面的时钟特性:秒、分、时、日期,星期、月和年32.768KHz 工作具有报警中断具有节拍中断,S3C2440A特性,通用I/O端口24 个外部中断端口130个多功能输入/输出端口DMA控制器4 通道的DMA控制器支持存储器到存储器,IO到存储器,存储器到IO和IO到IO的传输采用触发传输模式来加快传输速率,S3C2440A特性,LCD控制器控制器STN LCD显示特性支持3种类型的STN LCD显示屏:4位双扫描,4位单扫描,8位单扫描显示类型支持单色模式、4级、16级灰度STN LCD、256色和4096色STN LCD支持多种不同尺寸的液晶屏 LCD 实际尺寸的典型值是:640 480,320 240,160160 及其他最大虚拟屏幕大小是4M字节256 色模式下支持的最大虚拟屏是:4096 1024,2048 2048,10244096等,S3C2440A特性,TFT彩色显示屏支持彩色TFT的1,2,4或8bbp(像素每位)调色显示支持16,24bbp无调色真彩显示TFT在24bbp 模式下支持最大16M色TFTlpc3600定时控制器,为嵌入式lts350Q1-PD1/2(SAMSUNG 3.5“Portrait/256kcolor/Reflective a-Si TFT LCD)lpc3600定时控制器,为嵌入式lts350Q1-PE1/2(SAMSUNG 3.5”Portrait/256Kcolor/Transflective a-Si TFT LCD)支持多种不同尺寸的液晶屏 典型实屏尺寸:640 480,320 240,160160 及其他 最大虚拟屏大小4M字节64K 色彩模式下最大的虚拟屏尺寸为2048 1024 及其他,S3C2440A特性,UART3 通道UART,可以基于DMA模式或中断模式工作支持5 位,6 位,7 位或者8 位串行数据发送/接收支持外部时钟作为UART的运行时钟(UEXTCLK)可编程的波特率支持IrDA1.0 具有测试用的还回模式每个通道都具有内部64字节的发送FIFO和64字节的接收FIFO,S3C2440A特性,A/D 转换和触摸屏接口8 通道多路复用ADC最大500KSPS/10 位精度内部TFT 直接触摸屏接口看门狗定时器16位看门狗定时器在定时器溢出时发生中断请求或系统复位,S3C2440A特性,IIC总线接口1 通道多主IIC总线可进行串行,8位,双向数据传输,标准模式下数据传输速度可达100kbit/s,快速模式下可达到400kbit/sIIS总线接口1通道音频IIS总线接口,可基于DMA方式工作串行,每通道8/16位数据传输发送和接收具备128字节(64字节加64字节)FIFO 支持IIS格式和MSB-justified数据格式,S3C2440A特性,AC97音频解码器接口支援16位采样1-ch 立体声 PCM 输入/1-ch 立体声 PCM 输出1-ch MIC 输入USB 主设备2 个 USB 主设备接口遵从OHCI Rev.1.0 标准兼容 USB version 1.1 标准,S3C2440A特性,USB 从设备1 个USB 从设备接口具备5 个Endpoint兼容USB ver1.1 标准SPI 接口兼容2通道SPI协议2.11版发送和接收具有28位的移位寄存器可以基于DMA或中断模式工作,S3C2440A特性,SD 主机接口正常,中断和dma数据传输模式(字节,半字节,文字传输)DMA burst4接入支持(只支持字传输)兼容SD存储卡协议1.0版 兼容SDIO卡协议1.0版发送和接收具有64字节FIFO兼容MMC卡协议2.11版,S3C2440A特性,相机接口支持 ITU-R BT 601/656 8-bit 模式具有DZI(数字变焦)能力具有极性可编程视频同步信号最大值支持4096 x 4096像素输入(支持 2048 2048像素输入缩放)镜头旋转(x轴,y轴,和180 旋转)相机输出格式(16/24-bit的RGB与YCBCR 4:2:0/4:2:2格式),S3C2440A特性,工作电压内核:300MHz时1.20V,400MHz时1.3V;内存:支持1.8v/2.5v/3.0v/3.3v。输入/输出:3.3v操作频率Fclk 最高达 400MHzHclk 最高达 136MHz Pclk 最高达 68MHz 封装289-FBGA,内部结构图,S3C2440A引脚定义图(289-FBGA),289针脚 fbga的管脚名称与分配,管脚名称3张表,管脚分配9张表具体参见S3C2440的英文说明手册,I/O类型与描述以及信号的描述,I/O类型与描述1张表,信号的描述6张表具体参见S3C2440英文说明手册,s3c2440a特殊寄存器,总共14张表具体参见S3C2440英文说明手册,3C2440A专用寄存器注意事项,在小端模式(L.Endian)下,必须使用小端地址;大端模式(B.Endian)下,必须使用大端地址。每个特殊寄存器必须按照推荐的方式进行操作。除了ADC寄存器,RTC寄存器和UART寄存器外,其他寄存器都必须以字为单元(32位)进 行读写。对ADC、RTC、UART寄存器进行读/写时,必须仔细考虑使用的大/小端模式。W:32位寄存器,必须用LDR/STR指令或i整型数型指针(int*)进行访问;HW:16位寄存器,必须用LDRH/STRH或短整型数指针(short int*)访问;B:8位寄存器,必须用LDRB/STRB或字符型指针(char int*)访问。,编程模式概述,S3C2440 采用了非常先进的 ARM920T 内核,它是由ARM(Advanced RISC Machines)公司研制的。处理器工作状态 ARM920T 可以工作在下面两种工作状态下的一种:1)ARM 状态:执行32 位字对齐的ARM 指令 2)THUMB 状态:执行16 位半字对齐的THUMB指令。在这种状态下,PC寄存器的第一位用来选择一个字中的哪个半字 注意:这两种状态的转换不影响处理模式和寄存器的内容。,编程模式概述,切换状态进入THUMB 状态 可以通过执行 BX 指令,同时将操作数寄存器的状态位(0 位)置 1 来实现。当从异常(IRQ,FIQ,UNDEF,ABORT,SWI 等)返回时,只要进入异常处理前处理器处于THUMB 状态,也会自动进入THUMB 状态。进入ARM 状态 可以通过执行BX 指令,并且操作数寄存器的状态位(0 位)清零来实现。当处理进入异常(IRQ,FIQ,RESET,UNDEF,ABORT,SWI 等)。这时,PC 值保持在异常模式下的 link 寄存器中,并从异常向量地址处开始执行处理程序。,编程模式概述,存储空间的格式 ARM920T 将存储器空间视为从 0 开始由字节组成的线性集合,字节 0 到 3 中保存了第一个字节,字节 4 到 7 中保存第二个字,以此类推,ARM920T 对存储的字,可以按照小端或大端的方式对待。,编程模式概述,大端格式 字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。,编程模式概述,小端格式 低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。,编程模式概述,指令长度 指令可以是32 位长度(在ARM 状态下)或 16 位长度(在THUMB 状态)。数据类型 ARM920T 支持字节(8 位),半字(16 位)和字(32 位)数据类型。字必须按照4 字节对齐,半字必须是2 字节对齐。,编程模式概述,操作模式 ARM920T 支持7 种操作模式:1)用户模式(user 模式),运行应用的普通模式 2)快速中断模式(fiq 模式),用于支持数据传输或通道处理 3)中断模式(irq 模式),用于普通中断处理 4)超级用户模式(svc 模式),操作系统的保护模式 5)异常中断模式(abt 模式),输入数据后登入或预取异常中断指令6)系统模式(sys 模式),使操作系统使用的一个有特权的用户模式7)未定义模式(und 模式),执行了未定义指令时进入该模式 外部中断,异常操作或软件控制都可以改变中断模式。大多数应用程序都是在用户模式下进行,进入特权模式是为了处理中断或异常请求或操作保护资源服务的。,编程模式概述,寄存器 ARM 共有 37 个 32 位的寄存器,其中31 个是通用寄存器,6 个是状态寄存 器。但在同一时间,对程序员来说并不是所有的寄存器都可见。在某一时刻存储器是否可见,是由处理器当前的工作状态和工作模式决定的。ARM 状态寄存器在ARM状态下,任何时刻都可以看到16个通用寄存器,1个或2个状态寄存器。在特权模式(非用户模式)下会切换到具体模式下的寄存器组,其中包括模式专用的私有(banked)寄存器。ARM状态寄存器系列中含有16个直接操作寄存器:R0到R15。除了R15外其他的都是通用寄存器,可用来存放地址或数据值。,编程模式概述,寄存器14(子程序链接寄存器)保存返回点的地址;寄存器15是程序计数器(PC);寄存器16是CPSR(当前程序状态寄存器)。FIQ模式拥有7个私有寄存器R8-14(R8_fiq-R14_fiq)。在ARM状态下,多数FIQ处理都不需要保存任何寄存器。用户、中断、异常中止,超级用户和未定义模式都拥有2个私有寄存器,R13和R14。允许这些模式都可拥有1个私有堆栈指针和链接寄存器。,编程模式概述,ARM状态下的寄存器结构,编程模式概述,THUMB 状态寄存器THUMB 状态寄存器是ARM 状态寄存器的一个子集。程序员可以直接操作8个通用寄存器R0-R7,同样可以这样操作程序计数器(PC),堆栈指针寄存器(SP),链接寄存器(LR),和CPSR。它们都是各个特权模式下的私有寄存器,链接寄存器和程序状态寄存器(SPSRs)。,编程模式概述,THUMB状态下的寄存器结构,编程模式概述,ARM和THUMB状态寄存器间的关系THUMB 状态下R0-R7 和ARM 状态下R0-R7 是等同的 THUMB 状态下 CPSRs 和 SPSRs 跟ARM 状态的 CPSR 和 SPSRs 是等同的 THUMB 状态下的 SP 映射到ARM 状态下的R13 THUMB 状态下的 LR 映射到ARM 状态下的R14 THUMB 状态下程序计数器映射在 ARM 状态下的程序计数器上(R15),编程模式概述,ARM和THUMB状态寄存器间的映射关系,编程模式概述,在THUMB 状态下访问高地址寄存器在 THUMB 状态下寄存器 R8-15(高地址寄存器)不是标准寄存器集。但是,汇编语言的程序员可以访问它们并用它们作快速暂存。采用MOV 指令的某个变型,从R0-R7(低地址寄存器)的某个寄存器传送数据到达高地址寄存器,或者从高地址寄存器传送到低地址寄存器。还可以采用CMP 和ADD 指令,将高地址寄存器的值与低地址寄存器的值进行比较或相加。,编程模式概述,程序寄存器状态ARM920T 具有一个当前程序状态寄存器(CPSR),另外还有5 个保存程序状态寄存器(SPSRs)用于异常中断处理。这些寄存器的功能有:保留最近完成的ALU 操作的信息 控制中断的使能和禁止 设置处理器的操作模式,编程模式概述,程序状态寄存器的位定义,编程模式概述,条件码标志位N、Z、C、V 均为条件码标志位。它们的内容根据算术或逻辑运算的结果所改变,并且来作为一些指令是否运行的检测条件。在 ARM 状态下,绝大多数指令都是有条件执行的;在 Thumb 状态下,仅有分支指令是有条件执行的。,编程模式概述,控制位PRS 的低 8 位(包括 I、F、T、M4:0)称为控制位,当发生异常时这些位将 被改变。如果处理器工作在特权模式下,这些位也可以由软件操纵。T 标记位:该位反映处理器的运行状态。该位被设置为 1 时,处理器执行在THUMB状态,否则执行在ARM 状态,这些由外部信号TBIT 反映出来。注意:软件决不能改变CPSR 的 TBIT 状态。如果这样做,处 理器将会进入一种不可预知的状态。中断禁止位:I、F 位为中断禁止位,当它们被设置成 1 时可以相应的禁止 IRQ 和 FIQ 中断。模式位:M4,M3,M2,M1 和 M0 位(M4:0)是模块位,它们决定了处理器的操 作模式,如下表 2-7 所示。并不是所有的模块组合位都决定一个 有效的处理器模式,只有那些明确地描述值才能被使用,用户必 须意识到任何一种非法的值写入模块位,处理器都会进入到一种 不可重获的状态,如果这种情况发生,就要进行复位。保留位 PSR 中的其余位为为保留位,当改变PSR 中的位或者控制位时,必须确保保留位不被改变,在程序中也不要使用保留位来存储数据值。因此在将来的处理器中它们也许作为1 或0 来读。,编程模式概述,异常当正常的程序执行流程被临时中断时,称为产生了异常。例如程序执行转向一个外设的中断请求。在异常能被处理前,当前处理器的状态必须被保留,这样按处理程序完成时就能恢复原始的程序。有可能同时产生好几个异常,如果出现这种情况,就应该按固定的顺序处理。,编程模式概述,下表总结了在进入异常时,保留到相应的 R14 中的PC 的值,和推荐使用的退出异常处理时采用的语句。,编程模式概述,FIQ中断通常是用来支持数据传输和通道操作的,在 ARM 状态下,它具有充分的私有寄存器,用来减少寄存器存取的需要(从而减少进入 中断前的“上下文切换”的工作)。FIQ 中断是由外部设备通过拉低 nFIQ 引脚触发的。通过对ISYNC 输入引脚的控制nFIQ 可以区别同步或异步的传输情况;当 ISYNC 为低电平时,nFIQ 和 nIRQ 将被认为是异步的。不管是ARM 还是 Thumb 状态下的异常,FIQ 处理程序都可以通过执行以下的语句来退出中断处理:SUBS PC,R14-fiq,#4 通过设置 CPSR 的 F 标记位可以禁止 FIQ 中断(但是要注意在用户模式下是不可行的)。如果F 标记位已经清除,ARM920T 在每个指令的最后检测来自FIQ中断同步器的低电平输出。,编程模式概述,IRQ 中断由nIRQ 输入低电平引发的普通中断。IRQ 中断相对FIQ 中断来说是低优先级,当一个FIQ 中断序列进入时它将被屏蔽。IRQ 也可以通过设置CPRS 中的“I”标志来禁止,只能在特权(非用户)模式下这样做。无论 IRQ 发生在 ARM 或者 Thumb 状态下,都可以采用以下语句来退出中断处理:SUBS PC,R14-fiq,#4,编程模式概述,Abort异常中止异常中止表示当前存储访问不能完成。通过外部的ABORT 输入信号来告知内核。ARM920T 在每次的存储操作中检测该异常是否发生。有两种类型的异常中止:预取指异常中断:指令预取时产生 数据异常中断;数据访问时产生 如果产生预取指异常中止,所取得的指令将会被标志为无效的,但是异常不会立即发生,要等取指到达了管道的头部才会发生。如果产生数据异常中止,根据指令类型进行操作。,编程模式概述,软件中断SWI(软件中断指令)用来进入超级用户模式,通常用于请求特殊的超级用户功能。SWI 的处理程序通过执行以下(ARM 或Thumb状态)语句,退出异常处理:MOV PC,R14-svc 通过执行该语句,就恢复了PC和CPRS,并返回到SWI 后面的指令上。,编程模式概述,未定义指令当ARM920T 遇到一个它不能执行的指令,它将产生一个未定义指令陷阱。这个机制是软件仿真器用来扩展Thumb 和ARM 指令集用的。在完成对未知指令的处理后,陷阱处理程序应该执行以下的语句退出异常处理(无论是ARM 或Thumb 状态):MOVS PC,R14-und 通过执行该语句,恢复了CPSR,并返回执行未定义指令的下一条指令。,编程模式概述,异常中断向量,编程模式概述,异常中断优先级 最高优先级:1.复位 2.数据abort 3.FIQ 4.IRQ 5.预取指abort 最低优先级:6.未定义指令,软件中断。,编程模式概述,中断响应时间最坏情况下的 FIQ中断的响应时间,假设它是使能的,是28 个处理器周期,最长IRQ 的响应时间计算是类似的。最小的FIQ 或 IRQ 的响应时间是 4 个 处理器周期。,编程模式概述,复位当nRESET 信号为低,ARM920T 放弃任何指令的执行,并从增加的字地址处取指令。当nRESET 信号为高时ARM920T 进行如下操作:1)将当前的 PC 值和 CPSR 值写入 R14_svc 和 SPSR_svc,已保存的PC 和CPSR 的值是未知的。2)强制M4:0为 10011(超级用户模式),将CPSR 中的“I”和“F”位设为1,并将T 位清零。3)强制PC 从0 x00 地址处取得下一条指令。4)恢复为ARM 状态并开始执行。,ARM指令集,(略),THUMB指令集,(略),内存控制器,概述为外部记忆存取提供被需要的内存控制信号。S3C2440A 有下列特征:-大端/小端模式(通过软件选择)-地址空间:每个内存控制器接口128M(所有内存控制器接口为1GB/8)-除内存控制器接口0(16/32-bit)以外所有内存控制器接口的可编程访问大小(8/16/32-bit)-8个内存控制器接口,6个为ROM,SRAM等。剩余的2个为ROM,SRAM,SDRAM等-具有7 个固定内存控制器接口起始地址-具有一个起始地址可调,可编程大小的内存控制器接口-所有内存控制器接口具有可编程的存取周期-等待外部扩充总线周期-SDRAM支持自动更新和掉电模式,内存控制器,S3 C2440 A 复位后的内存映象,内存控制器,Bank 6 和Bank 7 内存大小必须相同,内存控制器,BANK0 的总线宽度BANK0(nGCS 0)的数据总线应该设定为16位或32位总线宽度。因为BANK 0是引导ROM(映像到 0 x 0000_0000),BANK0 的总线宽度应该在访问第一个ROM之前被设定,这取决于复位时OM1:0 的逻辑电平。,内存控制器,8bit ROM存储器接口,2X8bit ROM存储器接口,内存控制器,16bit SRAM存储器接口,16bit SDRAM存储器接口(4MX16,4banks),内存控制器,BANK控制寄存器(BANKCONN:NGCS0-NGCS5),内存控制器,BANK控制寄存器(BANKCONn:NGCS0-NGCS5)控制位,内存控制器,BANK控制寄存器(BANKCONN:nGCS6-nGCS7),内存控制器,BANK控制寄存器(BANKCONn:NGCS6-NGCS7)控制位,内存控制器,刷新控制存储器,内存控制器,BANKSIZE寄存器,内存控制器,SDRAM模式寄存器组寄存器(MRSR),NAND Flash控制器,概述相对于高价格的NOR Flash memory而言,用户更愿意用经济实惠的NAND Flash memory和SDRAM分别存放boot code(引导代码)和main code(主代码)。为了支持外部NAND Flash引导的装载,S3C2440A使用了一个称为“Steppingstone”的内部SRAM缓冲区。当引导的时候,NAND Flash的前4KBytes引导代码被装入“Steppingstone”中,并且被执行。通常引导代码会将NAND Flash的内容拷贝到SDRAM中,并且通过硬件ECC来检查所拷贝内容的有效性。正确拷贝完成后,SDRAM中的主程序就会被执行。,NAND Flash控制器,特点1、自动引导(Auto boot)2、NAND Flash memory 接口(I/F):支持256字、512字节、1K字与2K字节的Page3、软件模式:用户可以对NAND Flash memory进行读、擦除、编程操作4、接口:8/16bit的NAND Flash memory接口总线5、硬件ECC(纠错码)产生6、SFR接口(I/F):支持小端模式等7、Steppingstone接口(I/F):支持小/大端模式等8、引导完成后,Steppingstone的4KB内部SRAM缓冲区可以另做他用,NAND Flash控制器,NAND Flash控制器框图,NAND Flash控制器,NAND Flash控制器装载引导框图,NAND Flash控制器,NAND Flash memory设置表,NAND Flash控制器,NAND Flash memory内存映射(SROM指的是ROM或SRAM类型的存储器),NAND Flash控制器,NAND Flash设置寄存器,NAND Flash控制器,NAND Flash控制寄存器,NAND Flash控制器,NAND Flash命令寄存器,NAND Flash地址寄存器,NAND Flash数据寄存器,NAND Flash控制器,NAND Flash主要数据区域寄存器,NAND Flash控制器,NAND Flash空闲区域ECC寄存器,NAND Flash控制器,NAND Flash状态寄存器,NAND Flash控制器,NAND Flash ECC0/1状态寄存器,NAND Flash控制器,NAND Flash主要数据区域ECC0状态寄存器,NAND Flash控制器,NAND Flash空闲区域ECC状态寄存器,NAND Flash控制器,NAND Flash块地址寄存器,时钟与电源管理,概述时钟电源控制块由三部分组成:时钟控制,USB控制和电源控制。S3C2440A中的时钟控制逻辑能生成以下时钟信号:主时钟脉冲(HCLK)用于高级高精度系统总线外围设备;FCLK 应用于CPU 的时钟;PCLK 用于APB bus 外部设备。S3C2440 有两个锁相环,一个用于 FCLK,HCLK 和 PCLK,另一个用于 USB(48MHZ)。时钟控制逻辑能产生无锁相环(PLL)的慢时钟并且通过软件可以将时钟链接或不链接到外部设备,以此降低功耗。,时钟与电源管理,概述电源控制逻辑:S3C2440A 有多种电源配置方案来对假定的任务保持最佳功耗。S3C2440中的电源控制块有四种工作模式:正常模式,慢模式,空闲模式和睡眠模式。,时钟与电源管理,功能描述时钟体系机构:主时钟源来自外部晶振(XTlpll)或一个外部时钟(EXTCLK),时钟发生器包括一个与外部晶振连接的震荡器(震荡扩大器),同时也有两个锁相环(相位锁定循环),用于产生S3C2440A需要的高频率时钟。,时钟与电源管理,时钟体系机构框图,时钟与电源管理,时钟源选择:模式控制引脚(OM3,OM2)不同组合与时钟源的关系。,时钟与电源管理,电源管理与时钟分配,时钟与电源管理,电源管理状态图,时钟与电源管理,不同电源模式下时钟和电源的状态,时钟与电源管理,时钟发生器和电源管理专用寄存器,锁存时间计数寄存器,时钟与电源管理,PLL 控制寄存器(MPLLCON 与 UPLLCON),时钟与电源管理,PLL 值选择表(发现一个合适的PLL 值不是很容易),时钟与电源管理,时钟 控制寄存器,时钟与电源管理,时钟慢速控制(CLKSLOW)寄存器,时钟与电源管理,时钟分配控制(CLKDIVN)控制器,时钟与电源管理,照相机时钟分配(CAMDVIN)寄存器,DMA直接存储器存取,概述s3c2440 支持在系统总线和外围总线之间的4 路DMA 控制器。每一路DMA 控制器可以工作在以下情况:1)源设备和目标设备都在系统总线上 2)源设备在系统总线上,目标设备在外围总线上 3)源设备在外围总线上,目标数据在系统总线上 4)源设备和目标设备都在外围总线上DMA 的主要优点是它可以不通过CPU 直接调用数据。DMA 工执行可以软件开始,也可以从内部的外设请求或者外部的引脚请求开始。,DMA直接存储器存取,DMA 请求源每一路DMA 控制器都可以从4 种开始请求中选择一路,如果DCON 寄存器选择H/W DAM请求模式(注意,选择S/W 时这个DMA 请求源没意义)。,DMA直接存储器存取,DMA工作状态DMA 应用 3 态FSM(有限状态机),它可以描述为以下 3 步:State-1.作为起始状态,DMA 等待DMA 请求,一旦请求到来马上转到State-2,在这个状态,DMA ACK 和INT REQ 是0.State-2.在这个状态,DMA ACK 变为 1,计数器(CURR_TC)从DCON19:0装载。DMA ACK 保持 1,直到它被清0。State-3.在这个状态,控制DMA 原子操作的子FSM 被初始化。子FSM 从源地址读取数据后把它写入目标地址。在这个操作中,数据宽度和传输大小(单次或突发)应考虑。在完整服务模式中,这种操作不断重复直到计数器(CURR_TC)变为0。然而在单一模式中只进行一次,当子FSM 完成每个原子操作时,主FSM 对CURR_TC 倒计时。另外,当CURR_TC 为0 和中断设置DCON29为 1 时,主FSM 发出INT REQ 信号(中断请求信号)。另外,如果发生下列情况之一,DMA ACK 将被清零。1)在整体服务模式中CURR_TC 变为0 2)在单一模式中原子操作完成,DMA直接存储器存取,外部DMA请求/应答(DREQ/DACK)协议有三种类型的外部DMA请求/应答协议(单一需求模式、单一同步交换模式和整体同步交换模式)。每一种类型都定义了这些协议涉及到什么样的DMA请求和应答信号。,DMA直接存储器存取,DMA专用寄存器每一路DMA有九个控制寄存器(4路一共有36个)。其中6个控制寄存器控制DMA传输,另外的3个监听DMA控制器状态。,DMA初始源寄存器,DMA直接存储器存取,DMA初始源控制寄存器,DMA直接存储器存取,DMA初始目的寄存器,DMA直接存储器存取,DMA初始目的控制寄存器,DMA直接存储器存取,DMA控制寄存器,每个DMA控制寄存器有32位,每一位都有不同的功能设置。,DMA直接存储器存取,DMA状态寄存器,DMA直接存储器存取,DMA当前源寄存器,DMA直接存储器存取,DMA当前目的寄存器,DMA直接存储器存取,DMA 模板 触发寄存器,I/O端口,概述S3C2440A有130个多功能I/O端口,可以分为以下8类端口:-端口A(GPA):25个输出端口-端口B(GPB):11个输入/输出端口-端口C(GPC):16个输入/输出端口-端口D(GPD):16个输入/输出端口-端口E(GPE):16个输入/输出端口-端口F(GPF):8个输入/输出端口-端口G(GPG):16个输入/输出端口-端口H(GPH):9个输入/输出端口-端口J(GPJ):13个输入/输出端口每个端口很容易通过软件来设置,以满足各种系统配置和设计要求。,I/O端口,I/O端口控制寄存器(以端口A与端口B为例),I/O端口,各类控制寄存器(MISCCR)数据总线上拉电阻的控制、主USB、外设USB、源时钟选择等,I/O端口,DCLK控制寄存器(DCLKCON),I/O端口,外部中断控制寄存器(EXTINTn),I/O端口,外部中断滤波寄存器(EINTFLTn),I/O端口,外部中断掩模寄存器(EINTMASK),I/O端口,外部中断挂起寄存器(EINTPEND),I/O端口,通用状态寄存器(GSTATUSn),I/O端口,存储器I/O驱动强度控制(DSCn),I/O端口,存储器睡眠控制寄存器(MSLCON),PWM定时器,概述S3C2440A有五个16位定时器。定时器0,1,2,3具有脉宽调制(PWM)功能。定时器4是有内部计时器无输出管脚。定时器0有一个死区发生器,可以驱动大电流的设备。特点-五个 1 6位定时器-两个 8位分频器两个4位分频器-可编程控制值输出波形(脉宽调制)-自动装载模式或一次性脉冲模式-死区发生器,PWM定时器,16位 PWM 定时器 框图,PWM定时器,8位预分频器和4位分频器的输出频率,PWM定时器,PWM定时器控制寄存器,PWM定时器,定时器计数缓冲寄存器比较缓冲寄存器(TCNTB0/TCMPB0),定时器计数观察寄存器(tcnto0),定时器1定时器4也具有上述寄存器(略),UART通用异步传输,(略),USB主控制器,(略),USB设备控制器,(略),中断控制器,(略),LCD控制器,(略),ADC与触摸屏接口,(略),RTC实时时钟,(略),WatchDog定时器,(略),MMC/SD/SDIO控制器,(略),IIC总线接口,(略),IIS总线接口,(略),SPI串行外部接口,(略),Camera接口,(略),AC97控制器,(略),总线优先级,(略),机械数据,(略),电气数据,(略),参考资料,培训课程目录下:S3C2440A Users Manual(2440芯片资料01).pdfS3C2440A Application Not