《嵌入式系统讲义第4章S3C2410X系统结构.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统讲义第4章S3C2410X系统结构.ppt(231页珍藏版)》请在三一办公上搜索。
1、嵌入式系统讲义第4章 S3C2410X系统结构,周国运2007.3,习 题本章作业:2、3、5、7、10、121、S3C2410X主要特性有哪些?2、S3C2410X的结构分为几个部分?每一部分主要由哪些部件构成?3、S3C2410X的存储器由哪几部分构成,每一部分有什么特点?存储器主要有哪些控制寄存器?4、S3C2410X的Flash有哪些特点?5、S3C2410X的DMA有哪些特点?其工作过程是怎样的?每个通道配置有哪些寄存器?6、S3C2410X的A/D转换器有哪些特点?有哪些相关的寄存器?7、编写一程序,用查询的方式,对S3C2410X的A/D转换器的第0通道连续进行100次A/D转换
2、,然后将其结果求平均值。注意:A/D转换器有独立的模拟信号输入引脚AIN0-AIN9。,8、S3C2410X的中断系统有哪些特点?相关的寄存器有哪些?9、S3C2410X的中断控制器的工作过程是怎样的?对于IRQ,整个中断过程是怎样的(中断控制器处理,向CPU请求,转到中断入口,转去获得中断服务程序的首地址,执行中断服务程序)?10、编写一程序,使用外部中断EINT0,用中断方式对端口C做数据输入。(注意对中断系统和相关引脚进行初始化)提示:C语言指向特定地址的方法:(1)#define rGPCDAT(*(volatile unsigned*)0 x56000024)(2)int*rGPCD
3、AT=0 x56000024;(3)int*rGPCDAT;rGPCDAT=0 x56000024;用第一种方法为好。11、S3C2410X的定时器系统有哪些特点?由哪几部分构成?相关的寄存器有哪些?是如何工作的?,12、编写一程序,使用timer0产生并输出频率为10KHz、占空比为1/2的方波。设f pclk=50MHz。(注意对timer0和相关引脚初始化)13、编写一程序,利用S3C2410X的PWM功能对一直流电机进行调速,要求使用timer1产生并输出频率为10KHz、占空比可变的方波进行控制,电机的转速变化如下图所示。设f pclk=50MHz。(注意对timer0和相关引脚初始
4、化),t0 2*t0 t,v,0,第4章 S3C2410X系统结构,4.1 S3C2410X概述4.2 存储器配置4.3 DMA4.4 ADC和触摸屏接口4.5 中断控制器4.6 I/O端口4.7 PWM,4.8 UART接口4.9 RTC4.10 IIC接口4.11 SPI接口4.12时钟和电源管理4.13看门狗4.14 其它接口,主要内容,4.14 其它接口1、USB接口2、LCD控制器3、SD接口4、IIS接口,4.1 S3C2410X概述,主要内容主要特性系统结构引脚信号,4.1 S3C2410X概述,S3C2410X是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是A
5、RM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。一、主要特性具有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
6、个USB设备总线的端口。有4个具有PWM功能的16位定时器和1个16位内部定时器。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供电。,二、系统结构主要由两大部分构成:ARM920T内核片内外设。,1
7、、ARM920T内核由三部分:ARM9内核ARM9TDMI、32KB的Cache、MMU。,2、片内外设分为高速外设和低速外设,分别用AHB总线和APB总线。,三、引脚信号S3C微控制器是272-FBGA封装。其信号可以分成addr0-addr26、Data0-data31、GPA0-GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0nGCS7、AIN7、IIC、SPI、OM0-OM3等,大部分都是复用的,4.2 S3C2410X的存储器,主要内容存储器配置存储器概述控制寄存器Flash及控制器Flash控制器概述控制器主要特性
8、控制器的寄存器控制器的工作原理,4.2 存储器配置,4.2.1 S3C2410X的存储器配置一、概 述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引脚确定;其它存储器的
9、数据线宽可以是8位、16位和32位。S3C2410X的存储器格式,可以编程设置为大端格式,也可以设置为小端格式。,注意:补充引脚信号,二、存储器的控制寄存器内存控制器为访问外部存储空间提供存储器控制信号,S3C2410X存储器控制器共有13个寄存器。,第9次到 此此,1、总线宽度和等待控制寄存器,STn:控制存储器组n的UB/LB引脚输出信号。1:使UB/LB与nBE3:0相连;0:使UB/LB与nWBE3:0相连WSn:使用/禁用存储器组n的WAIT状态1:使能WAIT;0:禁止WAITDWn:控制存储器组n的数据线宽00:8位;01:16位;10:32位;11:保留,Tacs:设置nGCS
10、n有效前地址的建立时间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个,2、BANKn-存储器组控制寄存器(n=0-5),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:
11、4个;11:6个时钟PMC:页模式的配置,每次读写的数据数00:1个;01:4个;10:8个;11:16个注:00为通常模式。注:紫色为实验箱上的配置,其值为0 x0700,MT:设置存储器类型00:ROM或者SRAM,3:0为Tacp和PMC;11:SDRAM,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控制寄存器,REFEN:刷新控制。1:使能刷新;0:禁止刷新TREFMD:刷新方式。1:自刷新0:自动
12、刷新Trp:设置SDRAM行刷新时间(时钟数)00:2个时钟;01:3个;10:3个;11:4个时钟Tsrc:设置SDRAM行操作时间(时钟数)00:4个时钟;01:5个;10:6个;11:7个时钟注:SDRAM的行周期=Trp+Tsrc。Refresh_count:刷新计数值,4、REFRESH-刷新控制寄存器,Refresh_count:刷新计数器值计算公式:刷新周期=(211-Refresh_count+1)/HCLK例子:设刷新周期=15.6s,HCLK=60MHz则刷新计数器值=211+1-6015.6=11131113=0 x459=0b10001011001,高24位未用。BUR
13、ST_EN:ARM突发操作控制0:禁止突发操作;1:可突发操作SCKE_EN:SCKE使能控制SDRAM省电模式0:关闭省电模式;1:使能省电模式SCLK_EN:SCLK省电控制,使其只在SDRAM访问周期内使能SCLK0:SCLK一直有效;1:SCLK只在访问期间有效BK76MAP:控制BANK6/7的大小及映射,5、BANKSIZE-BANK6/7组大小控制寄存器,BK76MAP:控制BANK6/7的大小及映射100:2MB;101:4MB;110:8MB 111:16MB;000:32MB;001:64MB010:128MB,WBL:突发写的长度。0:固定长度;1:保留TM:测试模式。0
14、0:模式寄存器集;其它保留CL:列地址反应时间000:1个时钟;010:2个时钟;011:3个时钟;其它保留BT:猝发类型0:连续;1:保留BL:猝发时间000:1个时钟;其它保留,6、MRSRB6/7-BANK6/7模式设置寄存器,4.2.2 Nand Flash及其控制器,主要内容1、Nand Flash控制器概述2、控制器主要特性3、控制器的寄存器4、控制器的工作原理,4.2.2 Nand Flash及其控制器,Nor flash存储器:读速度高,而擦、写速度低,容量小,价格高。Nand flash存储器:读速度不如Nor flash,而擦、写速度高,容量大,价格低。有取代磁盘的趋势。因
15、此,现在不少用户从Nand flash启动和引导系统,而在SDRAM上执 行主程序代码。一、Nand Flash控制器概述S3C2410X微控制器从Nand flash的引导功能:其内部有一个叫做“起步石(Steppingstone)”的 SRAM缓冲器,系统 启动时,Nand flash存储器的前面4KByte字节将被自动载入到起步石中,然后系统自动执行这些载入的引导代码。引导代 码执行完毕后,自动跳转到SDRAM执行。Nand flash操作的校验功能:使用S3C2410X内部硬件ECC功能可以对Nand flash的数据进行有效性的检测。,二、Nand Flash控制器主要特性 Nand
16、 Flash模式:支持读/擦/编程Nand flash存储器。自动导入模式:复位后,引导代码被送入Steppingstone,传送后,引导代码在 Steppingstone中执行。具有硬件ECC(纠错码)功能:硬件产生纠错代码。内部4KB的SRAM缓冲器Steppingstone,在Nand flash引导后可以作为其他用途使用。,Nand Flash控制器功能框图,主要由6部分组成引脚信号:CLE:命令锁存R/nB:就绪/忙,三、Nand Flash 控制器的寄存器,NFEN:NF控制器使能控制0:禁止使用;1:允许使用IECC:初始化ECC编码/解码器控制位0:不初始化ECC;1:初始化E
17、CCNFCE:NF片选信号nFCE控制位持续时间设置0:nFCE为低有效;0:nFCE为高无效TACLE:CLE/ALE持续时间设置值(0-7)持续时间 HCLK*(TACLS+1)CLE/ALE:命令/地址锁存允许,1、NFCON-Flash配置寄存器,TWRPH0:写信号持续时间设置值(07)持续时间 HCLK*(TWRPH01)TWRPH1:写信号无效后CLE/ALE保持时间设置值(07)持续时间 HCLK*(TWRPH11),2、NFCMD-Flash命令寄存器,高24位未用,低8位为读入或者写出的数据,3、NFADDR-Flash地址寄存器,4、NFDATA-Flash数据寄存器,高
18、24位未用,低8位为Flash存储器地址值,RnB:Nand Flash存储器状态位0:存储器忙;1:存储器准备好,5、NFSTAT-Flash状态寄存器,6、NFECC-Flash错误校正码寄存器,四、Nand Flash 控制器的工作原理 1、自动导入启动代码步骤完成复位。如果自动导入模式使能,Nand flash存储器的前面4K字节被自动拷贝到Steppingstone 内部缓冲器中。Steppingstone被映射到nGCS0对应的BANK0存储空间。CPU在Steppingstone的4-KB内部缓冲器中开始执行引导代码。注意:在自动导入模式下,不进行ECC检测。因此,Nand fl
19、ash的前4KB应确保不能有位错误(一 般Nandflash厂家都确保)。,2、Nand FLASH模式配置 通过NFCONF寄存器配置Nand flash;写Nand flash命令到NFCMD寄存器;写Nand flash地址到NFADDR寄存器;在读写数据时,通过NFSTAT寄存器来获得Nand flash的状态信息。应该在读操作前或写入 之后检查R/nB信号(准备好/忙信号)。在读写操作后要查询校验错误代码,对错误进行纠正。,3、系统引导和 Nand FLASH 配置 OM1:0=00b:使能Nand flash控制器自动导入模式;OM3:0为芯片引脚,设置引导模式、存储器bank0的
20、数据宽度、时钟模式等。OM1:0=01b、10b:bank0数据宽度为16位、32位OM1:0=11b:测试模式Nand flash的存储页面大小应该为512字节。NCON:Nand flash 寻址步骤数选择 0:3步寻址;1:4步寻址,4、Nand Flash操作的校验问题S3C2410A在写/读操作时,每512字节数据自动产生3字节的ECC奇偶代码(24位)。24位 ECC 奇偶代码18位行奇偶 6位列奇偶ECC产生模块执行以下步骤:当MCU写数据到Nand时,ECC产生模块生成ECC代码。当MCU从Nand读数据时,ECC产生模块生成ECC代码同时用户程序将它与先前写入时产 生的ECC
21、代码比较。,4.3 DMA控制器,主要内容1、概述2、工作原理3、寄存器,一、概 述S3C2410X有4 个通道的DMA 控制器,其位于在系统总线和外设总线之间。每个DMA 通道都能没有约束的实现系统总线或者外设总线之间的数据传输,即每个通道都能处理下面四种情况:(1)源器件和目的器件都在系统总线(2)源器件在系统总线,目的器件在外设总线(3)源器件在外设总线,目的器件在系统总线(4)源器件和目的器件都在外设总线DMA的主要优点是:可以不通过CPU的中断来实现数据的传输,DMA的运行可以通过软件或者通过外围设备的中断和请求来初始化。,二、DMA工作原理1、DMA的服务对象每个DMA通道都有4个
22、DMA请求源,通过设置,可以从中挑选一个服务。每个通道的DMA 请求源如表4-1所示。,表4-1 各通道的DMA 请求源,2、DMA的工作过程一般DMA的工作过程如下面所示,(1)外设向DMAC 发出请求(2)DMAC通过HOLD 向CPU 发出总线请求;(3)CPU响应释放三总线,并且发应答HLDA(4)DMAC向外设发DMA应答,(5)DMAC发出地址、控制信号,为外设传送数据;(6)传送完规定的数据后,DMAC撤销HOLD信号,CPU也撤销HLDA信号,并且恢复对三总线的控制。,1,2,4,5,3,2、DMA的工作过程S3C2410X的DMA工作过程可以分为三个状态:状态1:等待状态。D
23、MA 等待一个DMA请求。如果有请求到来,将转到状态2。在这个状态下,DMA ACK和INT REQ为0。状态2:准备状态。DMA ACK变为1,计数器(CURR_TC)装入DCON19:0寄存器。注意:DMA ACK保持为1直至它被清除。状态3:传输状态。DMA控制器从源地址读入数据并将它写到目的地址,每传输一次,CURR_TC数器(在DSTAT中)减1,并且可能做以下操作:重复传输:在全服务模式下,将重复传输,直到计数器CURR_TC变为0;在单服务模式下,仅传输一次。,设置中断请求信号:当CURR_TC变为0时,DMAC发出INT REQ信号,而且DCON29即中断设定位被设为1。清除D
24、MA ACK信号:对单服务模式,或者全服务模式 CURR_TC变为0。注意:在单服务模式下,DMAC的3个状态被执行一遍,然后停止,等待下一个DMA REQ的到来。如果DMA REQ到来,则这些状态被重复操作,直到CURR_TC减为0。说明:DMA传输分为一个单元传输和4个单元突发式传输。,3、外部DMA请求/响应规则DMAC有3种类型的外部DMA请求/响应规则:(1)single service demand,单服务请求(对应于需求模式)(2)single service handshake,单服务握手(握手模式)(3)whole service handshake,全服务握手(全服务模式)
25、每种类型都定义了像DMA请求和DMA响应这些信号怎样与这些规则相联系。demand 与 handshake模式的比较:在一次传输结束时,DMA检查xnxDREQ(DMA请求)信号的状态:在demand模式下:如果DMA请求(xnxDREQ)信号仍然有效,则传输马上再次开始。否则等待。在handshake模式下:如果DMA请求信号无效,DMA在两个时钟周期后将DMA响应(xnxDACK)信号变得无效。否则,DMA等待直到DMA请求信号变得无效。每请求一次传输一次。,4、DMA时序要求基本时序要求:DMA请求信号和响应信号的Setup时间与delay时间在所有的模式下是相同的。如果DMA请求信号的
26、setup时间满足要求,则在两个周期内实现同步,然后DMA响应信号变得有效。在DMA响应信号有效后,DMA向CPU请求总线。如果它得到总线就执行操作。DMA操作完成后,DMA响应信号变得无效。,三、DMA控制器的相关寄存器每个DMA 通道有9 个控制寄存器(4 个通道共计36 个寄存器),6 个用来控制DMA 传输,其它3 个监视DMA 控制器的状态。,1、DISRCn-DMA源基地址寄存器原名:DMA初始源寄存器,第10次到此,LOC-源所在总线选择0:AHB;1:APBINC-源地址变化设置0:源地址增加;1:源地址不变,2、DISRCCn-DMA源控制寄存器,3、DIDSTn-DMA目的
27、基地址寄存器原名:DMA初始目的寄存器,4、DIDSTCn-DMA初始目的控制寄存器,LOC-目的地址所在总线选择0:AHB;1:APBINC-目的地址地址变化设置0:目的地址增加;1:目的地址不变,5、DCONn-DMA控制寄存器,DMD_HS-DMA与外设握手模式选择0:需求模式。为单服务,但只要DREQ信号有效便传输1:握手模式。为单服务,要等待DREQ信号变为无效,DREQ再有效时才传输。SYNC-DREQ 和DACK信号与系统总线时钟同步选择0:DREQ和DACK与PCLK(APB clock)同步。慢速外设 1:DREQ和DACK与HCLK(AHB clock)同步。高速外设 IN
28、T-CURR_TC的中断请求控制0:禁止CURR_TC产生中断请求1:当所有的传输结束时,CURR_TC产生中断请求 TSZ-传输长度类型选择0:执行单数据传输 1:执行四数据长的突发传输,SERVMODE-传输模式选择0:单服务传输模式,每传输一次都要查询DREQ1:全服务传输模式,不查询DREQ,但传输一次也要释 放总线。HWSRCSEL-各DMA通道请求源设置,SWHW_SEL-DMA源选择方式(软件或硬件)设置0:以软件software方式产生DMA请求,需要用DMASKTRIG控制寄存器中的SW_TRIG位设置触发。1:由位26:24提供的DMA源触发DMA操作RELOAD-再装载选
29、择0:自动再装载,当传输次数减为0时自动装载DMA初值1:不自动再装载,传输结束关闭DMA通道。DSZ-传输数据类型设置00:字节;01:半字;10:字;11:保留,STAT-DMA状态00:就绪态,可进行传输;01:DMA正在传输;1X:保留CURRTC-当前传输计数值每传输一次其值减1。其初值在DCONn中低20位。,6、DSTATn-DMA状态/计数寄存器原名:DMA状态寄存器,CURR_SRC-当前数据源地址 注意:(1)DMA每传输一次,其地址可能增加(1、2、4)、可能不变;(2)在CURR_SRC为0、且DMA ACK为1时,将S_ADDR源基地址的值装入。,7、DCSRCn-D
30、MA当前源地址寄存器,CURR_DST-当前数据目的地址注意:(1)DMA每传输一次,其地址可能增加(1、2、4);(2)在CURR_DST为0、且DMA ACK为1时,将D_ADDR的值装入。,8、DCDSTn-DMA当前目的地址寄存器,9、DMASKTRIGn-DMA掩码(Mask)触发寄存器,STOP-DMA运行停止位1:DMA将当前数据传输完立即停止,并且CURR_TC变为0。注意:如果ON/OFF设置为OFF,则DMA也停止传输。ON/OFF-DMA通道屏蔽位0:关闭通道;1:开放通道如果DCONn22设为非自动重装,DMA则传输完成后STOP位置1、并且关闭通道。注意:在DMA运行
31、期间,不要改变其值,并且也不要使用该位停止DMA传输,正确的方法应该使用STOP位。SW_TRIG:DMA软件触发位设为1时,实现软件触发DMA请求。注意:只有当DCONn23设为软件触发DMA请求时,其软件触发才有效。,对DMA应用注意:在DMA运行中改变DISRCn、DIDSTn寄存器以及改变DCONn中TC的值,对DMA当前的整个传输没有影响。而其它寄存器或位值的改变,将立即影响传输。,4.4 A/D转换与触摸屏,主要内容1、概述2、结构与工作原理3、寄存器4、应用举例,一、S3C2410X的A/D 转换器概述S3C2410X中集成了一个通道10 位A/D 转换器,A/D 转换器自身具有
32、采样保持功能。并且S3C2410X的A/D 转换器支持触摸屏接口。A/D转换器的主要特性:分辨率:10位;精度:1LSB 线性度误差:1.5-2.0LSB;最大转换速率:500KSPS;输入电压范围:03.3v;系统具有采样保持功能;常规转换和低能源消耗功能;独立/自动的X/Y 坐标转换模式。,二、A/D转换器结构与工作原理下图为S3C2410 A/D 转换器和触摸屏接口的功能块图。,1、结构主要由6部分构成:信号输入通道8转1切换开关A/D转换器控制逻辑中断信号发生器触摸屏接口,2、引脚信号(需要补充)0:正常工作模式;,3、工作原理(1)A/D 转换时间计算和分辨率当PCLK 频率为50M
33、Hz,预分频值是49,10 位数字量的转换时间如下:A/D 转换频率=50MHz/(49+1)=1MHz转换时间=1/(1MHz/5 个周期)=1/200KHz=5usA/D 转换器最大可以工作在2.5MHz 时钟下,所以转换速率可以达到500KSPS。(2)触摸屏的结构及工作原理原理:对于电阻式触摸屏,由3层透明薄膜构成,有一层是电阻层,还有一层是导电层,它们中间有一隔离层,当某一点被按压时,在按压点电阻层与导电层接触,如果在电阻层的一边接电源,另一边接地,便可测量出按压点的电压,从而可算出其坐标。实现方法:,测量X坐标:从XP输出电压给X+端,从XM输出地电位给X-端;从YP脚输入按压点电
34、压。控制信号:nYPON=1;nYMON=0nXPON=0;nXMON=1,测Y,测X,测量Y坐标:从YP输出电压给Y+端,从YM输出地电位给Y-端;从XP脚输入按压点电压。控制信号:nYPON=0;nYMON=1nXPON=1;nXMON=0,测Y,测X,3、S3C24120X A/D转换器的工作模式有5种:普通转换模式、分离的X/Y坐标转换模式、连续的X/Y坐标转换模式、等待中断模式、静态模式。第2-4种是用于触摸屏。(1)普通转换模式用于一般A/D转换,不是用于触摸屏。转换结束后,其数据在ADCDAT0中的XPDATA域。(2)分离的X/Y坐标转换模式分两步进行X/Y坐标转换,其转换结果
35、分别存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,并且均会产生INT_ADC中断请求。(3)自动(连续)的X/Y坐标转换模式X坐标转换结束启动Y坐标转换,其转换结果分别存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,然后产生INT_ADC中断请求。,(4)等待中断转换模式在该模式下,转换器等待使用者按压触摸屏,一旦触摸屏被按压,则产生INT_TC触摸屏中断请求。中断后,在中断处理程序中再将转换器设置为分离的X/Y坐标转换模式、或者连续的X/Y坐标转换模式进行处理。触摸屏接口信号:XP=上拉XM=高阻YP=AIN5YM=接地(5)静态模式
36、当ADCCON中的STDBM设为1时,转换器进入静态模式,停止A/D转换。其数据域的数据保持不变。,三、ADC和触摸屏专用寄存器有5个专用寄存器,ECFLG-转换结束标志(只读)0:转换操作中;1:转换结束PRSCEN-转换器预分频器使能0:停止预分频器;1:使能预分频器PRSCVL-转换器预分频器数值数值N范围:1-255注意:(1)实际除数值为N+1(2)对N数值的要求:转换速率应该PCLK/5,1、ADCCON-ADC控制寄存器,SEL_MUX-模拟输入通道选择000:AIN0;001:AIN1010:AIN2011:AIN3111:AIN7STDBM-备用模式设置0:正常工作模式;1:
37、备用模式,不做A/D转换READ_START-通过读取启动转换0:停止通过读取启动转换;1:使能通过读取启动转换ENABLE_START-通过设置该位启动转换0:无效;1:启动A/D转换(启动后被清0)注意:如果READ_START为1,则该位无效,YM_SEN-选择YMON的输出值0:输出0(YM=高阻);1:输出1(YM=GND)YP_SEN-选择nYPON的输出值0:输出0(YP=外部电压);1:输出1(YP连接AIN5)XM_SEN-选择XMON的输出值0:输出0(XM=高阻);1:输出1(XM=GND)XP_SEN-选择nXP的输出值0:输出0(XP=外部电压);1:输出1(XP连接
38、AIN7),2、ADCTSC-ADC触摸屏控制寄存器,PULL-上拉切换使能0:XP上拉使能;1:XP上拉禁止AUTO_PST-自动连续转换X轴和Y轴坐标模式选择0:普通A/D转换;1:连续X/Y轴转换模式XY_PST-手动测量X轴和Y轴坐标模式选择00:无操作模式;01:对X坐标测量;10:对X坐标测量;11:等待中断模式,第一情况:对普通转换模式、分离的X/Y轴坐标转换模式、连续的X/Y轴坐标转换模式,为转换延时数值。第二种情况:对中断转换模式,为按压触摸屏后到产生中断请求的延迟时间数值,其时间单位为ms。,3、ADCDLY-ADC起始延迟寄存器,UPDOWN-等待中断模式的按压状态0:触
39、笔点击;1:触笔提起AUTO_PST-自动X/Y轴转换模式指示0:普通转换模式;1:X/Y轴坐标连续转换XY_PST-手动X/Y轴转换模式指示00:无操作;01:为X轴坐标转换10:为Y轴坐标转换11:为等待中断转换XPDATA9:0:为X轴坐标转换数值、或普通ADC转换数值具体意义由其它位指示。其值为:0-0 x3FF,4、ADCDAT0-ADC转换数据0寄存器,第11次到此,UPDOWN-等待中断模式的按压状态0:触笔点击;1:触笔提起AUTO_PST-自动X/Y轴转换模式指示0:普通转换模式;1:X/Y轴坐标连续转换XY_PST-手动X/Y轴转换模式指示00:无操作;01:为X轴坐标转换
40、11:为Y轴坐标转换11:为等待中断转换YPDATA9:0:为10位Y轴坐标转换结果其值为:0-0 x3FF,5、ADCDAT1-ADC转换数据1寄存器,例题:编写程序,对3通道的模拟量连续做10次转换,用查询方式读取转换结果,其数据存于0 x400000开始的区域。AREA ADC,CODE,READONLYENTRYSTART,#define rADCCON(*(volatile unsigned*)0 x58000000)#define rADCDAT0(*(volatile unsigned*)0 x5800000c)#define pref 49#define ch 3void ad
41、c(void)int adc_data10,i;rADCCON=(114)|(pref6)|(ch3)|1/允许预分频for(i=0;i10;i+)while(rADCCON/再次启动转换,4.5 中断,主要内容概述结构与工作原理寄存器应用举例,一、概 述S3C2410X中断控制器有56个中断源,对外提供24个外中断输入引脚,内部所有设备都有中断请求信号,例如DMA控制器、UART、IIC等等。S3C2410X的ARM920T内核有两个中断,IRQ中断和快速中断FIQ。中断仲裁:当中断控制器接收到多个中断请求时,其内的优先级仲裁器裁决后向CPU发出优先级最高的中断请求信号或快速中断请求信号。,
42、二、S3C2410X中断系统结构1、中断系统结构主要由中断源和控制寄存器两大部分构成,其寄存器主要有4种:模式、屏蔽、优先级、挂起(标志)寄存器等。,2、中断优先级仲裁器及工作原理,中断系统有6个分仲裁器和1个总仲裁器,每一个仲裁器可以处理6路中断。,三、中断控制器专用寄存器有8个专用寄存器,主要使用前5个寄存器,该寄存器也就是中断标志寄存器各位:1:对应中断源有中断请求0:对应中断源无中断请求注意:必须在中断处理程序中对其标志位清0。其方法为写1.,1、SRCPND-中断源挂起(标志)寄存器,该寄存器是设置各中断源是FIQ中断还是IRQ中断各位:1:对应中断源设为FIQ中断模式0:对应中断源
43、设为IRQ中断模式,2、INTMOD-中断模式寄存器,各位:1:屏蔽对应中断源0:开放对应中断源,3、INTMSK-中断屏蔽寄存器,4、PRIORITY-中断优先级寄存器,ARB_SELn-n组优先级顺序控制位00:REQ0,1,2,3,4,5 01:REQ0,2,3,4,1,510:REQ0,3,4,1,2,5 11:REQ0,4,1,2,3,5ARB_MODEn-n组优先级循环控制位0:优先顺序固定不变 1:优先顺序循环,每响应一次中断,其顺序循环改变一次,但REQ0、REQ5位置不变。,各位:1:对应的中断源被响应,且正在执行中断服务0:对应中断源未被响应注意:必须在中断处理程序中对其服
44、务标志位清0。方法为对某位写1便清除为0。即在清除SRCPND中相应位后,要清除该寄存器相应位。,5、INTPND-中断服务(挂起)寄存器,该寄存器的偏移值指示在INTPND中显示的中断源各位:1:对应的中断源,在INTPND中被置位说明:当在中断服务程序中对SRCPND、INTPND中的标志位清0时,该寄存器的对应位自动清0。,6、INTOFFSET-中断偏移寄存器,7、SUBSRCPND-子中断源请求标志寄存器,对有多个中断源的外设,显示其具体的中断请求各位:1:对应的子中断源有请求0:对应的子中断源无请求注意:在中断服务程序中,需要对其置1的标志位清0。,8、INTSUBMSK-子中断源
45、屏蔽寄存器,对有多个中断源的外设,对具体的中断源进行屏蔽各位:1:屏蔽对应的子中断源0:开放对应的子中断源,在2410init.s文件中与的中断初始化部分程序开始及中断入口bResetHandler bHandlerUndef;handler for Undefined modebHandlerSWI;handler for SWI interruptbHandlerPabort;handler for PAbortbHandlerDabort;handler for DAbortb.;reservedbHandlerIRQ;handler for IRQ interrupt bHandler
46、FIQ;handler for FIQ interrupt本段意义:利用后面定义的宏来展开上面各行,使其进入它们所对应的中断服务子程序。,中断举例,第12次到此,LTORG;声明一个数据缓冲池的开始HandlerFIQ HANDLER HandleFIQHandlerIRQ HANDLER HandleIRQHandlerUndef HANDLER HandleUndefHandlerSWI HANDLER HandleSWIHandlerDabort HANDLER HandleDabortHandlerPabort HANDLER HandlePabort本段意义:利用后面定义的宏来展开上
47、面各行,使其进入它们所对应的中断服务子程序,;本宏意义:转到相应中断服务子程序去执行 MACRO$HandlerLabel HANDLER$HandleLabel;如Label=IRQ,(HandlerIRQ)$HandlerLabelsubsp,sp,#4stmfdsp!,r0 ldr r0,=$HandleLabel ldr r0,r0str r0,sp,#4ldmfd sp!,r0,pcMEND,IRQ中断服务程序IsrIRQ subsp,sp,#4;reserved for PCstmfdsp!,r8-r9 ldrr9,=INTOFFSET;中断偏移寄存器ldrr9,r9ldrr8,=
48、HandleEINT0;中断向量表首地址addr8,r8,r9,lsl#2ldrr8,r8strr8,sp,#8ldmfdsp!,r8-r9,pc本段意义:根据中断服务号,转去执行相应的中断处理程序段。,;中断向量表IntVectorTableHandleEINT0#4HandleEINT1#4HandleEINT2#4HandleEINT3#4HandleEINT4_7#4HandleEINT8_23#4HandleRSV6#4HandleBATFLT#4HandleTICK#4HandleWDT#4HandleTIMER0#4HandleTIMER1#4,4.6 输入/输出端口,主要内容概
49、述寄存器应用举例,一、概述S3C2410X有117个输入/输出端口。这些端口是:A口(GPA):23个输出口B口(GPB):11个输入/输出口C口(GPC):16个输入/输出口D口(GPD):16个输入/输出口E口(GPE):16个输入/输出口F口(GPF):8个输入/输出口G口(GPG):16个输入/输出口H口(GPH):11个输入/输出口这些端口都具有多功能,通过引脚配置寄存器,可以将其设置为所需要的功能,如:I/O功能、中断功能等等。,二、端口寄存器及引脚配置每一个端口都有4个寄存器,它们是:引脚配置寄存器、数据寄存器、引脚上拉寄存器等。,GPADAT寄存器为准备输出的数据其值为23位2
50、2:0注意:(1)当A口引脚配置为非输出功能时,其输出无意义;(2)从引脚输入没有意义。,1、端口A寄存器及引脚配置,1、端口A寄存器及引脚配置,GPBDAT-为准备输出或输入的数据其值为11位10:0GPBUP-端口B上拉寄存器,位10:0有意义。0:对应引脚设置为上拉1:无上拉功能注意:当B口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,2、端口B寄存器及引脚配置,端口B引脚配置寄存器,GPCDAT-为准备输出或输入的数据其值为16位15:0GPCUP-端口C上拉寄存器,位15:0有意义。0:对应引脚设置为上拉1:无上拉功能注意:当C口引脚配置为非输入/输出功能时,其寄存器中的值