基于s3c2410的嵌入式系统硬件结构设计.ppt

上传人:帮**** 文档编号:3886285 上传时间:2020-11-11 格式:PPT 页数:296 大小:3.68MB
返回 下载 相关 举报
基于s3c2410的嵌入式系统硬件结构设计.ppt_第1页
第1页 / 共296页
基于s3c2410的嵌入式系统硬件结构设计.ppt_第2页
第2页 / 共296页
点击查看更多>>
资源描述

《基于s3c2410的嵌入式系统硬件结构设计.ppt》由会员分享,可在线阅读,更多相关《基于s3c2410的嵌入式系统硬件结构设计.ppt(296页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1,Part 5 基于S3C2410的硬件系统设计(一),1,3,2,4,S3C2410X简介 存储器接口设计 I/O接口设计 UART设计 IIC接口设计 中断接口 时钟和功耗管理 PWM定时器,5,6,看门狗定时器 日历时钟 DMA LCD控制器 A/D转换与触摸屏 USB接口 SPI,7,8,10,9,11,12,13,14,15,2,5.1 S3C2410X概述,主要内容 主要特性 系统结构 引脚信号,3,5.1 S3C2410X概述,S3C2410X是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低

2、价格、低功耗、高性能微控制器的解决方案。,4,主要特性 具有16KB指令Cache、 16KB数据Cache和存储器管理单元MMU。 外部存储器控制器,可扩展8组,每组128MB,总容量达1GB;支持从Nand flash存储器启动。 55个中断源,可以设定1个为快速中断,有24个外部中断,并且触发方式可以设定。 4通道的DMA,并且有外部请求引脚。 3个通道的UART,带有16字节的TX/RX FIFO,支持IrDA1.0功能。 具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口。 有2个USB主机总线的端口,1个USB设备总线的端口。 有4个具有PWM功能的16

3、位定时器和1个16位内部定时器。,芯片体系结构,5,芯片体系结构,主要特性 8通道的10位A/D转换器,最高速率可达500kB/s;提供有触摸屏接口。 具有117个通用I/O口和24通道的外部中断源。 兼容MMC的SD卡接口。 具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。 看门狗定时器。 具有日历功能的RTC。 有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。 具有PLL功能的时钟发生器,时钟频率高达203MHz。 双电源系统:1.8/2.0V内核供电,3.3V存储器和I/O供电。,6,二、系统结构 主要由两大部分构成: ARM920T内

4、核片内外设。,7,1、ARM920T内核 由三部分:ARM9内核ARM9TDMI、32KB的Cache、MMU。,8,2、片内外设 分为高速外设和低速外设,分别用AHB总线和APB总线。,9,三、引脚信号 S3C微控制器是272-FBGA封装。 其信号可以分成: addr0-addr26、 Data0-data31、 GPA0-GPA22 GPB10、GPC15、 GPD15、GPE15、 GPF7、GPG15、 GPH10、EINT23、 nGCS0nGCS7、 AIN7、IIC、SPI、 OM0-OM3 等,大部分都是复用的,BACK,10,5.2 S3C2410X的存储器,主要内容 存储

5、器配置 存储器概述 控制寄存器 Flash及控制器 Flash控制器概述 控制器主要特性 控制器的寄存器 控制器的工作原理,11,5.2.1 S3C2410X的存储器配置,一、概 述 S3C2410X的存储器管理器提供访问外部存储器的所有控制信号:27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。 S3C2410X的存储空间分成8组,最大容量是1GB,bank0-bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,并且bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等。 bank0可以作为引

6、导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定;其它存储器的数据线宽可以是8位、16位和32位。 S3C2410X的存储器格式,可以为大端格式,也可以为小端格式。,12,ARM9 内核,存储器 控制器,存储器,存储器及存储器映射I/O,ARM9定义了局部总线的接口时序,各芯片厂商制定了自己的接口时序,ARM9局部总线,一般在两者之间加入存储器控制器,13,14,二、存储器的控制寄存器 内存控制器为访问外部存储空间提供存储器控制信号, S3C2410X存储器控制器共有13个寄存器。,15,1、总线宽度和等待控制寄存器 back,STn:控制存储器组n的UB/LB引脚输出

7、信号。 1:使UB/LB与nBE3:0相连; 0:使UB/LB与nWBE3:0相连 WSn:使用/禁用存储器组n的WAIT状态 1:使能WAIT;0:禁止WAIT DWn:控制存储器组n的数据线宽 00:8位;01:16位;10:32位;11:保留,16,Tacs:设置nGCSn有效前地址的建立时间 00:0个;01:1个;10:2个;11:4个时钟周期 Tcos:设置nOE有效前片选信号的建立时间 00:0个;01:1个;10:2个;11:4个时钟周期 Tacc:访问周期 000:1个;001:2个;010:3个;011:4个时钟 100:6个:101:8个;110:10个;111:14个,

8、2、BANKn-存储器组控制寄存器(n=0-5),17,Tcoh:nOE无效后片选信号的保持时间 00:0个;01:1个;10:2个;11:4个时钟 Tcah: nGCSn无效后地址信号的保持时间 00:0个;01:1个;10:2个;11:4个时钟 Tacp:页模式的访问周期 00:2个;01:3个;10:4个;11:6个时钟 PMC:页模式的配置,每次读写的数据数 00:1个;01:4个;10:8个;11:16个 注:00为通常模式。 注:紫色为某实验箱上的配置,其值为0 x0700,back,18,MT:设置存储器类型 00:ROM或者SRAM,3:0为Tacp和PMC; 11:SDRAM

9、, 3:0为Trcd和SCAN; 01、10:保留 Trcd:由行地址信号切换到列地址信号的延时时钟数 00:2个时钟;01:3个时钟;10:4个时钟 SCAN:列地址位数 00:8位;01:9位;10:10位,3、BANK6/7-存储器组6/7控制寄存器,back,19,REFEN:刷新控制。1:使能刷新;0:禁止刷新 TREFMD:刷新方式。1:自刷新0:自动刷新 Trp:设置SDRAM行刷新时间(时钟数) 00:2个时钟;01:3个;10:3个;11:4个时钟 Tsrc:设置SDRAM行操作时间(时钟数) 00:4个时钟;01:5个;10:6个;11:7个时钟 注: SDRAM的行周期=

10、 Trp + Tsrc。 Refresh_count:刷新计数值,4、REFRESH-刷新控制寄存器,20,Refresh_count:刷新计数器值 计算公式: 刷新周期=(211- Refresh_count+1)/HCLK 例子:设刷新周期=15.6s,HCLK=60MHz 则刷新计数器值=211+1-6015.6=1113 1113=0 x459=0b10001011001,back,21,高24位未用。 BURST_EN:ARM突发操作控制 0:禁止突发操作;1:可突发操作 SCKE_EN:SCKE使能控制SDRAM省电模式 0:关闭省电模式;1:使能省电模式 SCLK_EN:SCLK

11、省电控制,使其只在SDRAM访问周期内使能SCLK 0:SCLK一直有效;1:SCLK只在访问期间有效 BK76MAP:控制BANK6/7的大小及映射,5、BANKSIZE-BANK6/7组大小控制寄存器,22,BK76MAP:控制BANK6/7的大小及映射 100:2MB;101:4MB; 110:8MB 111:16MB; 000:32MB;001:64MB 010:128MB,back,23,WBL:突发写的长度。0:固定长度;1:保留 TM:测试模式。00:模式寄存器集;其它保留 CL:列地址反应时间 000:1个时钟;010:2个时钟; 011:3个时钟;其它保留 BT:猝发类型 0

12、:连续;1:保留 BL:猝发时间000:1个时钟;其它保留,6、MRSRB6/7-BANK6/7模式设置寄存器,24,head.s ENTRY(memsetup) movr1, #MEM_CTL_BASE adrlr2, mem_cfg_val addr3, r1, #52 1:ldrr4, r2, #4 strr4, r1, #4 cmpr1, r3 bne1b movpc, lr mem_cfg_val: .longvBWSCON .longvBANKCON0 .longvBANKCON1 .longvBANKCON2 .longvBANKCON3 .longvBANKCON4 .long

13、vBANKCON5 .longvBANKCON6 .longvBANKCON7 .longvREFRESH .longvBANKSIZE .longvMRSRB6 .longvMRSRB7,smdk2410.h /* initial values for DRAM */ #define MEM_CTL_BASE 0 x48000000 #define vBWSCON0 x22111110 #define vBANKCON00 x00000700 #define vBANKCON10 x00000700 #define vBANKCON20 x00000700 #define vBANKCON3

14、0 x00000700 #define vBANKCON40 x00000700 #define vBANKCON50 x00000700 #define vBANKCON60 x00018005 #define vBANKCON70 x00018005 #define vREFRESH0 x008e0459 #define vBANKSIZE0 xb2 #define vMRSRB60 x30 #define vMRSRB70 x30,VIVI For s3c2410中Bootloader之存储器初始化,25,;Tacc 10:8 存取周期 110 = 10 clocks 111 = 14

15、clocks,;Bank1,3 16位,其余32位,For 44b0 x中Bootloader之存储器初始化,26,5.2.2 Flash,FLASH存储器又称闪存,是一种可在线多次擦除的非易失性存储器,即掉电后数据不会丢失。FLASH存储器还具有体积小、功耗低、抗振性强等优点,是嵌入式系统的首选存储设备。 FLASH存储器主要分为两种,一种为NOR型FLASH,另一种为NAND型FLASH 。,一、概述,27,(1) 接口差别 NOR型FLASH采用的是SRAM接口,提供有足够的地址引脚来寻址,可以很容易地存取其片内的每一个字节; NAND型FLASH使用复杂的I/O口来串行地存取数据,各个

16、产品或厂商的方法可能各不相同。通常是采用8个引脚来传送控制、地址和数据信息。 (2) 读写的基本单位 NOR型FLASH操作是以“字”为基本单位; NAND型FLASH操作是以“页面”为基本单位,页的大小一般为512字节。 (3) 性能比较 NOR型FLASH的地址线和数据线是分开的,传输效率很高,程序可以在芯片内执行。NOR型的读速度比NAND型稍快一些; NAND型的写入速度比NOR型快很多(由于NAND型读写的基本单位为“页面”,所以对于小量数据的写入,总体速度要比NOR型慢);,二、NOR型与NAND型FLASH的区别,28,(4) 容量和成本 NAND型FLASH具有极高的单元密度,

17、容量可以做得比较大,加上其生产过程更为简单,价格也就相应地降低了。 NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。 (5) 软件支持 在NOR型FLASH上运行代码不需要任何的软件支持,而在NAND型FLASH上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序MTD (Memory Technology Drivers)。NAND型和NOR型FLASH在进行写入和擦除操作时都需要MTD(说明,MTD已集成在FLASH芯片内部,它是对FLASH进行操作的接口)。,

18、29,这里以SST39VF160为例,介绍NOR型FLASH存储器的结构及操作。 SST39VF160是SST公司的CMOS多功能FLASH(MPF)器件,存储容量为2M字节,16位数据宽度(即一个字为2字节),工作电压为2.73.6V。SST39VF160由SST特有的高性能SuperFlash技术制造而成,SuperFlash技术提供了固定的擦除和编程时间,与擦除/编程周期数无关。芯片管脚配置如下图所示。,三、NOR型Flash存储器,30,SST39VF160管脚描述,NOR型FLASH存储器采用的是SRAM接口,其地址线和数据线是分开的。,31,SST39VF160工作模式选择,32,

19、NOR型FLASH存储器容量越来越大,为了方便数据管理,将FLASH划分为块(Block),每个块又分成扇区(Sector)。 SST39VF160的块大小为32K字,扇区大小为2K字。 读操作,可以对任何地址的任何字节进行,不受限制; 写操作,以字形式进行编程。编程前包含字的扇区必须完全擦除; 擦除操作,以扇区(2K)、块(32K)或全片为单位进行擦除。 擦除后数据变为0 xFF。,33,SST39VF160的存储器操作由命令来启动。命令通过标准微处理器写时序写入器件。,34,内部操作状态检测: SST39VFl60提供两种软件方式来检测内部操作是否完成。软件检测方式涉及两个状态位:利用数据

20、轮询特性Data Polling bit(DQ7)和跳转位特性Toggle bit(DQ6)。 在WE的上升沿,写入结束检测功能被使能,同时内部写入或擦除操作也被初始化。 这里只介绍Toggle bit方式。 在内部写入或擦除的过程中,任何对DQ6连续的读操作都会产生一个不断翻转的1和O。当内部写入或擦除完成时,DQ6位将停止翻转。,void Waitfor_endofprg(void)volatile unsigned int old_Status,now_Status;old_Status= * (volatile unsigned short *)0 x00);/从任意地址读出数据whi

21、le(1) new_Status=*(volatile unsigned short*)0 x00): /从同一地址读出数据 if(old_Status,150,void Test_Iic(void) unsigned int i,j; static U8 data256; Uart_Printf( IIC Test using AT24C02 n); rGPEUP |= 0 xc000; /Pull-up disable rGPECON |= 0 xa00000; /GPE15:IICSDA /GPE14:IICSCL rIICCON = (17) | (06) | (15) | (0 xf

22、); rIICADD = 0 x10; /2410 slave address = 7:1 rIICSTAT = 0 x10; /IIC bus data output /enable(Rx/Tx),151,Uart_Printf(Write test data into AT24C02(0-255)n); for(i=0;i256;i+) _Wr24C02(0 xa0,(U8)i,i); for(i=0;i256;i+) datai = 0; Uart_Printf(nRead test data from AT24C02n); for(i=0;i256;i+) _Rd24C02(0 xa0

23、,(U8)i,存储器地址,所写数据,存储器地址,存储数据,152,for(i=0;i16;i+) for(j=0;j16;j+) Uart_Printf(%2x ,datai*16+j); Uart_Printf(n); ,153,void _Wr24C02(U8 slvAddr,U8 addr,U8 data) rIICDS = slvAddr; /发送从设备地址 rIICSTAT = 0 xf0; /启动发送 while(rIICCON /清除中断状态.,154,while(rIICCON /等待结束生效 ,155,I2C写AT24C04程序 /* * name:Wr24C040 * fu

24、nc: Write data to 24C04O * para: slvAddr-chip slave address * addr:data address * data:data value */ void Wr24C040(U32 slvAddr,U32 addr,U8 data) iGetACK= 0; /*Send control byte*/ rIICDS = slvAddr; /0 xa0 rIICSTAT=0 xf0; /Master Tx,Start while(iGetACK=0);/wait ACK iGetACK=0; /* send address */ rIICDS

25、 = addr; rIICCON = 0 xaf; /resumes IIC operation while(iGetACK=O);/Wait ACK iGetACK=0; /* Send data */ rIICDS=data; rIICCON = 0 xaf; /resumes IIC operation while(iGetACK=0);/wait ACK iGetACK=0; /*end send*/ rIICSTAT = 0 xd0; rIICCON=0 xaf; DelayMs(5); ,中断服务程序: Void IICInt(void) rI_ISPC=BIT_IIC; iGET

26、ACK = 1; 第一行:必须在中断处理程序中对其服务标志位清0。方法为对某位写1便清除为0。,BACK,156,5.6 中断,主要内容 概述 结构与工作原理 寄存器 应用举例,157,一、概 述 S3C2410X中断控制器有55个中断源,对外提供24个外中断输入引脚,内部所有设备都有中断请求信号,例如DMA控制器、UART、IIC等等。 (55 Interrupt sources(One Watch dog timer, 5 timers, 9 UARTs, 24external interrupts, 4 DMA, 2 RTC, 2 ADC, 1 IIC,2 SPI, 1 SDI, 2 U

27、SB, 1 LCD, and 1 Battery Fault) S3C2410X的ARM920T内核有两个中断,IRQ中断和快速中断FIQ。 中断仲裁:当中断控制器接收到多个中断请求时,其内的优先级仲裁器裁决后向CPU发出优先级最高的中断请求信号或快速中断请求信号。,158,二、S3C2410X中断系统结构 1、中断系统结构 主要由中断源和控制寄存器两大部分构成,其寄存器主要有4种:模式、屏蔽、优先级、挂起(标志)寄存器等。,159,2、中断优先级仲裁器及工作原理,中断系统有6个分仲裁器和1个总仲裁器,每一个仲裁器可以处理6路中断。,160,三、中断控制器专用寄存器 有8个专用寄存器,161,

28、该寄存器也就是中断标志寄存器 各位:1:对应中断源有中断请求 0:对应中断源无中断请求 注意:必须在中断处理程序中对其标志位清0。其方法为写1.,1、SRCPND-中断源挂起(标志)寄存器 BACK,162,该寄存器是设置各中断源是FIQ中断还是IRQ中断 各位:1:对应中断源FIQ中断模式0:对应中断源IRQ中断模式 Note that only one interrupt source can be serviced in the FIQ mode in the interrupt controller (you should use the FIQ mode only for the u

29、rgent interrupt). Thus, only one bit of INTMOD can be set to 1.,2、INTMOD-中断模式寄存器,BACK,163,各位:1:屏蔽对应中断源 0:开放对应中断源,3、INTMSK-中断屏蔽寄存器,BACK,164,4、PRIORITY-中断优先级寄存器,ARB_SELn-n组优先级顺序控制位 00:REQ0, 1, 2, 3, 4, 5 01:REQ0, 2, 3, 4, 1, 5 10:REQ0, 3, 4, 1, 2, 5 11:REQ0, 4, 1, 2, 3, 5 Arbiter 5 group priority orde

30、r set 00 = REQ 1-2-3-4 01 = REQ 2-3-4-1 10 = REQ 3-4-1-2 11 = REQ 4-1-2-3 ARB_MODEn-n组优先级循环控制位 0:优先顺序固定不变 1:优先顺序循环,每响应一次中断,其顺序循环改变一次,但REQ0、REQ5位置不变。,BACK,165,各位:1:对应的中断源被响应,且正在执行中断服务 0:对应中断源未被响应 注意:必须在中断处理程序中对其服务标志位清0。方法为对某位写1便清除为0。 即在清除SRCPND中相应位后,要清除该寄存器相应位。,5、INTPND-中断服务(挂起)寄存器,BACK,166,该寄存器的偏移值指

31、示在INTPND中显示的中断源 说明:当在中断服务程序中对SRCPND、INTPND中的标志位清0时,该寄存器的对应位自动清0。,6、INTOFFSET-中断偏移寄存器,BACK,167,7、SUBSRCPND-子中断源请求标志寄存器,对有多个中断源的外设,显示其具体的中断请求 各位:1:对应的子中断源有请求 0:对应的子中断源无请求 注意:在中断服务程序中,需要对其置1的标志位清0。,BACK,168,8、INTSUBMSK-子中断源屏蔽寄存器,对有多个中断源的外设,对具体的中断源进行屏蔽 各位:1:屏蔽对应的子中断源 0:开放对应的子中断源,BACK,169,在2410init.s文件中与

32、的中断初始化部分 程序开始及中断入口 bResetHandler bHandlerUndef;handler for Undefined mode bHandlerSWI;handler for SWI interrupt bHandlerPabort;handler for PAbort bHandlerDabort;handler for DAbort b.;reserved bHandlerIRQ;handler for IRQ interrupt bHandlerFIQ;handler for FIQ interrupt 本段意义:利用后面定义的宏来展开上面各行,使其进入它们所对应的中

33、断服务子程序。,中断举例,170,LTORG ;声明一个数据缓冲池的开始 HandlerFIQ HANDLER HandleFIQ HandlerIRQ HANDLER HandleIRQ HandlerUndef HANDLER HandleUndef HandlerSWI HANDLER HandleSWI HandlerDabort HANDLER HandleDabort HandlerPabort HANDLER HandlePabort 本段意义:利用后面定义的宏来展开上面各行,使其进入它们所对应的中断服务子程序,171,;本宏意义:转到相应中断服务子程序去执行 MACRO $Ha

34、ndlerLabel HANDLER $HandleLabel ;如Label=IRQ , ( HandlerIRQ ) $HandlerLabel subsp,sp,#4 stmfdsp!,r0 ldr r0,=$HandleLabel ldr r0,r0 str r0,sp,#4 ldmfd sp!,r0,pc MEND,172,IRQ中断服务程序 IsrIRQ subsp,sp,#4 ;reserved for PC stmfdsp!,r8-r9 ldrr9,=INTOFFSET;中断偏移寄存器 ldrr9,r9 ldrr8,=HandleEINT0;中断向量表首地址 addr8,r8,

35、r9,lsl #2 ldrr8,r8 strr8,sp,#8 ldmfdsp!,r8-r9,pc 本段意义:根据中断服务号,转去执行相应的中断处理程序段。,173,;中断向量表IntVectorTable HandleEINT0 # 4 HandleEINT1 # 4 HandleEINT2 # 4 HandleEINT3 # 4 HandleEINT4_7# 4 HandleEINT8_23# 4 HandleRSV6# 4 HandleBATFLT # 4 HandleTICK # 4 HandleWDT# 4 HandleTIMER0 # 4 HandleTIMER1 # 4 ,174,

36、void Test_Eint(void) int i; int extintMode;/选择外中断触发方式变量 Uart_Printf(External Interrupt Testn); Uart_Printf(1.L-LEVEL 2.H-LEVEL 3.F-EDGE 4.R-EDGE 5.B-EDGEn); Uart_Printf(Select the external interrupt type.n); extintMode=Uart_Getch(); /extintMode=3; rGPFCON = (rGPFCON / 设置引脚配置,F0、F1配置为EINT0/1,外中断举例,17

37、5,switch(extintMode) case 1: rEXTINT0 = (rEXTINT0 ,176,case 4: rEXTINT0 = (rEXTINT0 ,177,Uart_Printf(“Press the EINT0/1 buttons or Press any key to exit.n”); pISR_EINT0=(U32)Eint0Int;/将中断处理程序的开始 pISR_EINT1=(U32)Eint1Int;/地址送到中断向量表 rEINTPEND = 0 xffffff; /清除EINTPND需要向其中写入数 据。因此这句代码的含义是清除EINTPND。 rSRC

38、PND = BIT_EINT0|BIT_EINT1; /to clear the previous pending states rINTPND = BIT_EINT0|BIT_EINT1; rINTMSK=(BIT_EINT0|BIT_EINT1); Uart_Getch(); rEINTMASK=0 xffffff; rINTMSK=BIT_ALLMSK; ( void Test_Eint(void)函数结束) 注释:#define BIT_ALLMSK (0 xffffffff),178,static void _irq Eint0Int(void) ClearPending(BIT_E

39、INT0); Uart_Printf(EINT0 interrupt is occurred.n); static void _irq Eint1Int(void) ClearPending(BIT_EINT1); Uart_Printf(EINT1 interrupt is occurred.n); #define ClearPending(bit) rSRCPND = bit; rINTPND = bit;,BACK,179,5.7 时钟与电源管理,主要内容 1、概述 2、结构与工作原理 3、专用寄存器 4、应用问题,180,一、时钟和电源管理功能 1、时钟功能 有两个锁相环MPLL、UP

40、LL产生系统所需要的不同频率的时钟。 (1)为CPU产生FCLK时钟 (2)为AHB产生HCLK时钟 使用HCLK的设备:中断控制器、存储器管理器、DMA控制器、LCD控制器、FLASH控制器、USB Host(不用PLL时)、总线控制器、片外设备。,181,(3)为APB产生PCLK时钟 使用PCLK的设备: 117个通用I/O口GPIO、ADC、5个定时器与4个PWM、3个UART、2个SPI、IIC、USB Device (不用PLL时)、RTC、WDT、SD卡接口、IIS接口 (4)为USB (Host and Device)产生UCLK时钟(48MHz) 2、电源管理功能 具有4种电

41、源管理模式:正常模式、慢时钟模式、空闲模式、掉电模式。,182,(1)正常模式: 1)锁相环工作;2)为CPU和所有片内外设提供时钟。 此模式系统功耗最大。 (2)慢时钟模式: 锁相环不工作,CPU等直接使用原始时钟、或原始时钟的分频工作。 此模式工作时钟频率低而使功耗低,并且锁相环不工作也使功耗降低。,183,(3)空闲模式: 停止为CPU提供时钟,CPU不工作(其外设均工作)。 退出方法:任何中断请求可唤醒CPU工作,退出空闲模式。 (4)断电模式: 时钟模块断电,除了唤醒电路之外所有部分均不供电。系统需分成两部分供电。此模式功耗最低。必须设置有外中断 退出方法:用中断唤醒。(1)外部中断

42、EINT0-15;(2)实时钟报警中断。,184,二、电路结构与工作原理,1、 电 路 结 构,185,1、电路结构,主要由5部分组成:时钟源、MPLL、UPLL、时钟控制器、电源控制器等。,186,晶振电路和外部时钟,187,2、时钟源选择 S3C2410的时钟可以选用晶振(XTAL),也可以使用外部时钟(EXTCLK),由系统复位时,在复位信号上升沿对引脚OM3、OM2所测的状态来确定。其对应关系如下表所示。,188,3、频率计算 (1)锁相环输出频率 MPLL =(mFin)/(p2S) m = M8,M:M寄存器的值 p = P2, P:P寄存器的值 S:S寄存器的值 (2)S3C24

43、10内核时钟频率 使用锁相环:FCLK=MPLL 慢模式下: FCLK=MPLL/除数器比率,189,三、专用寄存器 S3C2410的时钟与电源管理共有6个专用寄存器,其基地址均为0 x4C000000。,190,1、PLL锁定时间寄存器(LOCKTIME),191,2、MPLL控制寄存器(MPLLCON),192,3、UPLL控制寄存器(UPLLCON),193,MPS值选择推荐表,194,MPS值选择推荐表(续1),195,MPS值选择推荐表(续2),196,4、时钟控制寄存器(CLKCON),197,4、时钟控制寄存器(CLKCON续1),198,4、时钟控制寄存器(CLKCON续2),

44、199,4、时钟控制寄存器(CLKCON续3),200,5、慢时钟控制寄存器(CLKSLOW),201,5、慢时钟控制寄存器(CLKSLOW续),说明:1、进入慢时钟模式MPLL可关、也可开。但关闭MPLL更节电。 2、退出慢时钟模式应先启动MPLL,否则因MPLL未稳定而FCLK无时钟输出。,202,6、时钟比控制寄存器(CLKDIVN),203,慢时钟模式时钟设置,说明: 1、慢时钟模式不用PLL。 2、EXT指晶振或外部时钟。,204,慢时钟模式时钟设置(续) NEXT,说明: 3、USB的UCLK均为48MHz。,205,四、S3C2410时钟及电源管理应用 1、锁相环的应用 锁相环主

45、要功能是提供系统内部的运行时钟。应用时注意以下问题: (1)系统复位后必须写一次控制寄存器MPLLCON、UPLLCON才能使其正常工作。即便是不改变其值也要写一次,虽然复位后MPLL、UPLL均是使能的。,206,(2)是多数情况下,启动锁相环后,都有一段锁相稳定时间(大于150 S ),在这段时间FCLK无时钟输出(为低电平)。在慢时钟模式未撤销时启动MPLL无此现象。 (3)在MPLL正常工作时重新设置MPS值改变时钟频率,也出现FCLK无时钟输出(为低电平)现象。 (4)USB的时钟问题。使用UPLL其时钟为恒定值48MHz;不使用UPLL则时钟为晶振或外部时钟值。,207,2、与断电

46、模式相关的问题 (1)ADC的掉电问题。如果系统进入到断电模式,则应该设置ADC的控制寄存器为掉电模式。 (2)断电模式数据总线(D31:0或D15:0)的上拉问题。1)断电时数据总线保持高阻态;2)上拉电阻应使能;3)若有总线驱动器,如74LVCH162245,不上拉则省电。,208,(3)电池失效信号对断电唤醒的影响。电池失效信号nBATT_FLT会屏蔽所有的断电唤醒信号,必须先处理电池失效问题。 (4)RTC报警中断信号唤醒断电模式问题。 RTC报警中断信号唤醒断电模式后,在中断标志寄存器中并不设置,需要对RTC查询确定报警具体情况。,209,(5)引脚状态。见下表。,对于输出端口,如果

47、不输出,则引脚保持高可减小功耗,输出低则因寄生电阻而有消耗。,210,3、进入断电模式的方法步骤 (1)设置唤醒外中断和RTC报警中断。 1)进行外中断引脚配置; 2)设置中断屏蔽寄存器,对唤醒中断源开放,屏蔽其它中断源。 (2)配置数据总线D31;0为上拉。写MISCCR1:0为00。若有总线驱动器,可关闭上拉电阻,且省电。,211,(3)设置USB数据口为浮空。写MISCCR13:12为11。 (4)使SDRAM信号在断电期间保护。写MISCCR19:17为111。 (5)将需要保存的数据写到一般状态寄存器GSTATE3、GSTATE4中。断电时其值被保护。 (6)停止LCD显示。对寄存器

48、LCDCON10写0。,212,(7)设置SDRAM为自刷新。对寄存器REFRESH22写1,并且等待,使自刷新生效。 (8)使系统进入断电模式。对寄存器CLKCON3的POWER_OFF写1。,213,4、退出断电模式的方法步骤 如果有外中断或RTC报警中断唤醒断电模式,则系统先进行复位,通过以下方法退出断电模式,使系统正常工作。 (1)判断是否为断电复位。查询GSTATE21,1表示系统是从断电模式唤醒。 (2)清除掉SDRAM的断电保护功能。写寄存器MISCCR19:17为000。,214,(3)设置SDRAM为自动刷新。对寄存器REFRESH22写0,并且等待,使系统释放自刷新。 (4)恢复断电前保存在GSTATE3、GSTATE4中的信息。根据用户需要使用。 (5)查询中断请求标志: 1)查询EINT415:读EINTPND 2)查询EINT03:读SRCPND(该寄存器可能不被设置),215,5、4种电源模式的转换方法 各种模式之间不能任意转换,转换关系如下图所示。,BACK,216,5.8 PWM定时器,主要内容 概述 结构 寄存器 应用举例,217,一、概 述 1、S3C2410X定时器的主要特性 5个16位定时器; 2个8位预分频器和2个4位分频器; 可编程PWM输出占空比; 具有初值自动重装连续输出模式和单脉冲输出模式; 具有死

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁