嵌入式系统第四章S

上传人:san****019 文档编号:15782441 上传时间:2020-09-05 格式:PPT 页数:178 大小:1.77MB
收藏 版权申诉 举报 下载
嵌入式系统第四章S_第1页
第1页 / 共178页
嵌入式系统第四章S_第2页
第2页 / 共178页
嵌入式系统第四章S_第3页
第3页 / 共178页
资源描述:

《嵌入式系统第四章S》由会员分享,可在线阅读,更多相关《嵌入式系统第四章S(178页珍藏版)》请在装配图网上搜索。

1、嵌入式系统讲义第4章 S3C2410X系统结构,1、S3C2410X主要特性有哪些? 2、S3C2410X的结构分为几个部分?每一部分主要由哪些部件构成? 3、S3C2410X的存储器由哪几部分构成,每一部分有什么特点?存储器主要有哪些控制寄存器? 4、S3C2410X的Flash有哪些特点? 5、S3C2410X的DMA有哪些特点?其工作过程是怎样的?每个通道配置有哪些寄存器? 6、S3C2410X的A/D转换器有哪些特点?有哪些相关的寄存器? 7、编写一程序,用查询的方式,对S3C2410X的A/D转换器的第0通道连续进行100次A/D转换,然后将其结果求平均值。注意:A/D转换器有独立的

2、模拟信号输入引脚AIN0-AIN9。,8、S3C2410X的中断系统有哪些特点?相关的寄存器有哪些? 9、S3C2410X的中断控制器的工作过程是怎样的?对于IRQ,整个中断过程是怎样的(中断控制器处理,向CPU请求,转到中断入口,转去获得中断服务程序的首地址,执行中断服务程序)? 10、编写一程序,使用外部中断EINT0,用中断方式对端口C做数据输入。(注意对中断系统和相关引脚进行初始化) 提示:C语言指向特定地址的方法: (1)#define rGPCDAT (*(volatile unsigned *)0 x56000024) (2)int *rGPCDAT=0 x56000024; (

3、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和相关引脚初始化),t0 2*t0

4、t,v,0,第4章 S3C2410X系统结构,4.1 S3C2410X概述 4.2 存储器配置 4.3 DMA 4.4 ADC和触摸屏接口 4.5 中断控制器 4.6 I/O端口 4.7 PWM,4.8 UART接口 4.9 RTC 4.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微控

5、制器,其CPU采用的是ARM920T内核,加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。 一、主要特性 具有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音频总

6、线接口。 有2个USB主机总线的端口,1个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供电。,二、系

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

8、,主要内容 存储器配置 存储器概述 控制寄存器 Flash及控制器 Flash控制器概述 控制器主要特性 控制器的寄存器 控制器的工作原理,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的结束地址相连接,但是二者的容量必

9、须相等。 bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定;其它存储器的数据线宽可以是8位、16位和32位。 S3C2410X的存储器格式,可以编程设置为大端格式,也可以设置为小端格式。,注意:补充引脚信号,二、存储器的控制寄存器 内存控制器为访问外部存储空间提供存储器控制信号, S3C2410X存储器控制器共有13个寄存器。,1、总线宽度和等待控制寄存器,STn:控制存储器组n的UB/LB引脚输出信号。 1:使UB/LB与nBE3:0相连; 0:使UB/LB与nWBE3:0相连 WSn:使用/禁用存储器组n的WAIT状态 1:使能WAIT;0:禁止

10、WAIT DWn:控制存储器组n的数据线宽 00:8位;01:16位;10:32位;11:保留,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个,2、BANKn-存储器组控制寄存器(n=0-5),Tcoh:nOE无效后片选信号的保持时间 00:0个;01:1个;10:2个;11:4个时钟 Tcah: nG

11、CSn无效后地址信号的保持时间 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,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位

12、;01:9位;10:10位,3、BANK6/7-存储器组6/7控制寄存器,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的行周期= Trp + Tsrc。 Refresh_count:刷新计数值,4、REFRESH-刷新控制寄存器,Refresh_count:刷新计数器值 计算公式: 刷新周期=(211- Refresh_cou

13、nt+1)/HCLK 例子:设刷新周期=15.6s,HCLK=60MHz 则刷新计数器值=211+1-6015.6=1113 1113=0 x459=0b10001011001,高24位未用。 BURST_EN:ARM突发操作控制 0:禁止突发操作;1:可突发操作 SCKE_EN:SCKE使能控制SDRAM省电模式 0:关闭省电模式;1:使能省电模式 SCLK_EN:SCLK省电控制,使其只在SDRAM访问周期内使能SCLK 0:SCLK一直有效;1:SCLK只在访问期间有效 BK76MAP:控制BANK6/7的大小及映射,5、BANKSIZE-BANK6/7组大小控制寄存器,BK76MAP:

14、控制BANK6/7的大小及映射 100:2MB;101:4MB; 110:8MB 111:16MB; 000:32MB;001:64MB 010:128MB,WBL:突发写的长度。0:固定长度;1:保留 TM:测试模式。00:模式寄存器集;其它保留 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

15、、控制器的工作原理,4.2.2 Nand Flash及其控制器,Nor flash存储器:读速度高,而擦、写速度低,容量小,价格高。 Nand flash存储器:读速度不如Nor flash,而擦、写速度高,容量大,价格低。有取代磁盘的趋势。 因此,现在不少用户从Nand flash启动和引导系统,而在SDRAM上执 行主程序代码。 一、Nand Flash控制器概述 S3C2410X微控制器从Nand flash的引导功能:其内部有一个叫做“起步石(Steppingstone)”的 SRAM缓冲器,系统 启动时,Nand flash存储器的前面4KByte字节将被自动载入到起步石中,然后系统

16、自动执行这些载入的引导代码。引导代 码执行完毕后,自动跳转到SDRAM执行。 Nand flash操作的校验功能:使用S3C2410X内部硬件ECC功能可以对Nand flash的数据进行有效性的检测。,二、 Nand Flash控制器主要特性 Nand Flash模式:支持读/擦/编程Nand flash存储器。 自动导入模式:复位后,引导代码被送入Steppingstone,传送后,引导代码在 Steppingstone中执行。 具有硬件ECC(纠错码)功能:硬件产生纠错代码。 内部4KB的SRAM缓冲器Steppingstone,在Nand flash引导后可以作为其他用途使用。,Nan

17、d Flash控制器功能框图,主要由6部分组成 引脚信号: CLE:命令锁存 R/nB :就绪/忙,三、Nand Flash 控制器的寄存器,NFEN:NF控制器使能控制 0:禁止使用;1:允许使用 IECC:初始化ECC编码/解码器控制位 0:不初始化ECC;1:初始化ECC NFCE:NF片选信号nFCE控制位持续时间设置 0: nFCE为低有效;0: nFCE为高无效 TACLE:CLE/ALE持续时间设置值(0-7) 持续时间 HCLK * (TACLS + 1) CLE/ALE :命令/地址锁存允许,1、NFCON-Flash配置寄存器,TWRPH0:写信号持续时间设置值(07) 持

18、续时间 HCLK * (TWRPH01) TWRPH1:写信号无效后CLE/ALE保持时间设置值(07) 持续时间 HCLK * (TWRPH11),2、NFCMD-Flash命令寄存器,高24位未用,低8位为读入或者写出的数据,3、NFADDR-Flash地址寄存器,4、NFDATA-Flash数据寄存器,高24位未用,低8位为Flash存储器地址值,RnB:Nand Flash存储器状态位 0:存储器忙;1:存储器准备好,5、NFSTAT-Flash状态寄存器,6、NFECC-Flash错误校正码寄存器,四、Nand Flash 控制器的工作原理 1、自动导入启动代码步骤 完成复位。 如果

19、自动导入模式使能,Nand flash存储器的前面4K字节被自动拷贝到Steppingstone 内部缓冲器中。 Steppingstone被映射到nGCS0对应的BANK0存储空间。 CPU在Steppingstone的4-KB内部缓冲器中开始执行引导代码。 注意: 在自动导入模式下,不进行ECC检测。因此,Nand flash的前4KB应确保不能有位错误(一 般Nandflash厂家都确保)。,2、Nand FLASH模式配置 通过NFCONF寄存器配置Nand flash; 写Nand flash命令到NFCMD寄存器; 写Nand flash地址到NFADDR寄存器; 在读写数据时,通

20、过NFSTAT寄存器来获得Nand flash的状态信息。应该在读操作前或写入 之后检查R/nB信号(准备好/忙信号)。 在读写操作后要查询校验错误代码,对错误进行纠正。,3、系统引导和 Nand FLASH 配置 OM1:0 = 00b:使能Nand flash控制器自动导入模式; OM3:0为芯片引脚,设置引导模式、存储器bank0的数据宽度、时钟模式等。 OM1:0 = 01b、10b: bank0数据宽度为16位、32位 OM1:0=11b:测试模式 Nand flash的存储页面大小应该为512字节。 NCON :Nand flash 寻址步骤数选择 0:3步寻址;1:4步寻址,4、

21、Nand Flash操作的校验问题 S3C2410A在写/读操作时,每512字节数据自动产生3字节的ECC奇偶代码(24位)。 24位 ECC 奇偶代码18位行奇偶 6位列奇偶 ECC产生模块执行以下步骤: 当MCU写数据到Nand时,ECC产生模块生成ECC代码。 当MCU从Nand读数据时,ECC产生模块生成ECC代码同时用户程序将它与先前写入时产 生的ECC代码比较。,4.3 DMA控制器,主要内容 1、概述 2、工作原理 3、寄存器,一、概 述 S3C2410X有4 个通道的DMA 控制器,其位于在系统总线和外设总线之间。 每个DMA 通道都能没有约束的实现系统总线或者外设总线之间的数

22、据传输,即每个通道都能处理下面四种情况: (1) 源器件和目的器件都在系统总线 (2) 源器件在系统总线,目的器件在外设总线 (3) 源器件在外设总线,目的器件在系统总线 (4) 源器件和目的器件都在外设总线 DMA的主要优点是:可以不通过CPU的中断来实现数据的传输,DMA的运行可以通过软件或者通过外围设备的中断和请求来初始化。,二、DMA工作原理 1、DMA的服务对象 每个DMA通道都有4个DMA请求源,通过设置,可以从中挑选一个服务。每个通道的DMA 请求源如表4-1所示。,表4-1 各通道的DMA 请求源,2、DMA的工作过程 一般DMA的工作过程如下面所示,(1) 外设向DMAC 发

23、出请求 (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:等待状态。DMA 等待一个DMA请求。如果有请求到来,将转到状态2。在这个状态下,DMA ACK和INT REQ为0。 状态2:准备状态。DMA ACK变为1,计数器(CURR_TC)装入DCON1

24、9:0寄存器。 注意:DMA ACK保持为1直至它被清除。 状态3:传输状态。DMA控制器从源地址读入数据并将它写到目的地址,每传输一次,CURR_TC数器(在DSTAT中)减1,并且可能做以下操作: 重复传输:在全服务模式下,将重复传输,直到计数器CURR_TC变为0;在单服务模式下,仅传输一次。,设置中断请求信号:当CURR_TC变为0时,DMAC发出INT REQ信号,而且DCON29即中断设定位被设为1。 清除DMA ACK信号:对单服务模式,或者全服务模式 CURR_TC变为0。 注意:在单服务模式下,DMAC的3个状态被执行一遍,然后停止,等待下一个DMA REQ的到来。如果DMA

25、 REQ到来,则这些状态被重复操作,直到CURR_TC减为0 。 说明:DMA传输分为一个单元传输和4个单元突发式传输。,3、外部DMA请求/响应规则 DMAC有3种类型的外部DMA请求/响应规则: (1)single service demand,单服务请求(对应于需求模式) (2)single service handshake,单服务握手(握手模式) (3)whole service handshake,全服务握手(全服务模式) 每种类型都定义了像DMA请求和DMA响应这些信号怎样与这些规则相联系。 demand 与 handshake模式的比较: 在一次传输结束时,DMA检查xnxDR

26、EQ(DMA请求)信号的状态: 在demand模式下:如果DMA请求(xnxDREQ)信号仍然有效,则传输马上再次开始。否则等待。 在handshake模式下:如果DMA请求信号无效,DMA在两个时钟周期后将DMA响应(xnxDACK)信号变得无效。否则,DMA等待直到DMA请求信号变得无效。每请求一次传输一次。,4、DMA时序要求 基本时序要求: DMA请求信号和响应信号的Setup时间与delay时间在所有的模式下是相同的。 如果DMA请求信号的setup时间满足要求,则在两个周期内实现同步,然后DMA响应信号变得有效。 在DMA响应信号有效后,DMA向CPU请求总线。如果它得到总线就执行

27、操作。DMA操作完成后,DMA响应信号变得无效。,三、DMA控制器的相关寄存器 每个DMA 通道有9 个控制寄存器(4 个通道共计36 个寄存器),6 个用来控制DMA 传输,其它3 个监视DMA 控制器的状态。,1、DISRCn-DMA源基地址寄存器 原名: DMA初始源寄存器,第10次到此,LOC-源所在总线选择0:AHB;1:APB INC-源地址变化设置 0:源地址增加;1:源地址不变,2、DISRCCn-DMA源控制寄存器,3、DIDSTn-DMA目的基地址寄存器 原名: DMA初始目的寄存器,4、DIDSTCn-DMA初始目的控制寄存器,LOC-目的地址所在总线选择0:AHB;1:

28、APB INC-目的地址地址变化设置 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)同步。高速外设 INT-CURR_TC的中断请求控制 0:禁止CURR_TC产生中断请求 1:当所有的传输结束时,CURR_TC产生中断

29、请求 TSZ-传输长度类型选择 0:执行单数据传输 1:执行四数据长的突发传输,SERVMODE-传输模式选择 0:单服务传输模式,每传输一次都要查询DREQ 1:全服务传输模式,不查询DREQ,但传输一次也要释 放总线。 HWSRCSEL -各DMA通道请求源设置,SWHW_SEL- DMA源选择方式(软件或硬件)设置 0:以软件software方式产生DMA请求,需要用DMASKTRIG控制寄存器中的SW_TRIG位设置触发。 1:由位26:24提供的DMA源触发DMA操作 RELOAD-再装载选择 0:自动再装载,当传输次数减为0时自动装载DMA初值 1:不自动再装载,传输结束关闭DMA

30、通道。 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-DMA当前源地址寄存器,CURR_DST-当前数据目的地址 注意:(1)DMA每

31、传输一次,其地址可能增加(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运行期间,不要改变其值,并且也不要使用该位停止DMA传输,正确的方

32、法应该使用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 转换器自身具有采样保持功能。并且S3C2410X的A/D

33、 转换器支持触摸屏接口。 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 频率为50MHz

34、,预分频值是49,10 位数字量的转换时间如下: A/D 转换频率=50MHz /(49+1)=1MHz 转换时间=1/(1MHz/5 个周期)=1/200KHz=5us A/D 转换器最大可以工作在2.5MHz 时钟下,所以转换速率可以达到500KSPS。 (2)触摸屏的结构及工作原理 原理:对于电阻式触摸屏,由3层透明薄膜构成,有一层是电阻层,还有一层是导电层,它们中间有一隔离层,当某一点被按压时,在按压点电阻层与导电层接触,如果在电阻层的一边接电源,另一边接地,便可测量出按压点的电压,从而可算出其坐标。 实现方法:,测量X坐标:从XP输出电压给X+端,从XM输出地电位给X-端;从YP脚输

35、入按压点电压。 控制信号:nYPON=1;nYMON=0 nXPON=0;nXMON=1,测Y,测X,测量Y坐标:从YP输出电压给Y+端,从YM输出地电位给Y-端;从XP脚输入按压点电压。 控制信号:nYPON=0;nYMON=1 nXPON=1;nXMON=0,测Y,测X,3、S3C24120X A/D转换器的工作模式 有5种:普通转换模式、分离的X/Y坐标转换模式、连续的X/Y坐标转换模式、等待中断模式、静态模式。第2-4种是用于触摸屏。 (1)普通转换模式 用于一般A/D转换,不是用于触摸屏。转换结束后,其数据在ADCDAT0中的XPDATA域。 (2)分离的X/Y坐标转换模式 分两步进

36、行X/Y坐标转换,其转换结果分别存于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=高

37、阻 YP=AIN5YM=接地 (5)静态模式 当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:AIN2 011:AI

38、N3111:AIN7 STDBM-备用模式设置 0:正常工作模式;1:备用模式,不做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(

39、XM=GND) XP_SEN-选择nXP的输出值 0:输出0(XP=外部电压);1:输出1(XP连接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轴坐标转换模式,为转换延时数值。 第二种情况: 对中断转换模式,为按压触摸屏后到产生中断请

40、求的延迟时间数值,其时间单位为ms。,3、ADCDLY-ADC起始延迟寄存器,UPDOWN-等待中断模式的按压状态 0:触笔点击;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

41、-自动X/Y轴转换模式指示 0:普通转换模式;1:X/Y轴坐标连续转换 XY_PST-手动X/Y轴转换模式指示 00:无操作;01:为X轴坐标转换 11:为Y轴坐标转换11:为等待中断转换 YPDATA9:0:为10位Y轴坐标转换结果 其值为:0-0 x3FF,5、ADCDAT1-ADC转换数据1寄存器,例题:编写程序,对3通道的模拟量连续做10次转换,用查询方式读取转换结果,其数据存于0 x400000开始的区域。 AREA ADC,CODE,READONLY ENTRY START,#define rADCCON (*(volatile unsigned *)0 x58000000) #d

42、efine rADCDAT0 (*(volatile unsigned *)0 x5800000c) #define pref 49 #define ch 3 void adc(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等等。 S

43、3C2410X的ARM920T内核有两个中断,IRQ中断和快速中断FIQ。 中断仲裁:当中断控制器接收到多个中断请求时,其内的优先级仲裁器裁决后向CPU发出优先级最高的中断请求信号或快速中断请求信号。,二、S3C2410X中断系统结构 1、中断系统结构 主要由中断源和控制寄存器两大部分构成,其寄存器主要有4种:模式、屏蔽、优先级、挂起(标志)寄存器等。,与中断控制相关的寄存器:1.程序状态寄存器的F位和I位:2.中断模式寄存器(INTMOD):3.中断源挂起寄存器(SRCPND):4.中断挂起寄存器(INTPND):5.中断屏蔽寄存器(INTMSK):6.中断优先寄存器(PRIORITY)7.

44、IRQ偏移寄存器(INTOFFSET):8.子中断源未决寄存器(SUBSRCPND)9. 子中断屏蔽寄存器(INTSUBMSK),中断服务程序工作流程:先屏蔽中断,防止其他中断干扰中断服务程序的执行;执行相应的中断服务子程序,在子程序中先要清除SRCPND和INTPND;取消中断屏蔽;,2、中断优先级仲裁器及工作原理,中断系统有6个分仲裁器和1个总仲裁器,每一个仲裁器可以处理6路中断。,三、中断控制器专用寄存器 有8个专用寄存器,主要使用前5个寄存器,该寄存器也就是中断标志寄存器 各位:1:对应中断源有中断请求 0:对应中断源无中断请求 注意:必须在中断处理程序中对其标志位清0。其方法为写1.

45、,1、SRCPND-中断源挂起(标志)寄存器,该寄存器是设置各中断源是FIQ中断还是IRQ中断 各位:1:对应中断源设为FIQ中断模式 0:对应中断源设为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, 5 ARB_MODEn-n组优先级循环控制位 0:优先顺序

46、固定不变 1:优先顺序循环,每响应一次中断,其顺序循环改变一次,但REQ0、REQ5位置不变。,各位:1:对应的中断源被响应,且正在执行中断服务 0:对应中断源未被响应 注意:必须在中断处理程序中对其服务标志位清0。方法为对某位写1便清除为0。 即在清除SRCPND中相应位后,要清除该寄存器相应位。,5、INTPND-中断服务(挂起)寄存器,该寄存器的偏移值指示在INTPND中显示的中断源 各位:1:对应的中断源,在INTPND中被置位 说明:当在中断服务程序中对SRCPND、INTPND中的标志位清0时,该寄存器的对应位自动清0。,6、INTOFFSET-中断偏移寄存器,7、SUBSRCPN

47、D-子中断源请求标志寄存器,对有多个中断源的外设,显示其具体的中断请求 各位:1:对应的子中断源有请求 0:对应的子中断源无请求 注意:在中断服务程序中,需要对其置1的标志位清0。,8、INTSUBMSK-子中断源屏蔽寄存器,对有多个中断源的外设,对具体的中断源进行屏蔽 各位:1:屏蔽对应的子中断源 0:开放对应的子中断源,在2410init.s文件中与的中断初始化部分 程序开始及中断入口 bResetHandler bHandlerUndef;handler for Undefined mode bHandlerSWI;handler for SWI interrupt bHandlerPa

48、bort;handler for PAbort bHandlerDabort;handler for DAbort b.;reserved bHandlerIRQ;handler for IRQ interrupt bHandlerFIQ;handler for FIQ interrupt 本段意义:利用后面定义的宏来展开上面各行,使其进入它们所对应的中断服务子程序。,中断举例,第12次到此,LTORG ;声明一个数据缓冲池的开始 HandlerFIQ HANDLER HandleFIQ HandlerIRQ HANDLER HandleIRQ HandlerUndef HANDLER Han

49、dleUndef HandlerSWI HANDLER HandleSWI HandlerDabort HANDLER HandleDabort HandlerPabort HANDLER HandlePabort 本段意义:利用后面定义的宏来展开上面各行,使其进入它们所对应的中断服务子程序,;本宏意义:转到相应中断服务子程序去执行 MACRO $HandlerLabel HANDLER $HandleLabel ;如Label=IRQ , ( HandlerIRQ ) $HandlerLabel subsp,sp,#4 stmfdsp!,r0 ldr r0,=$HandleLabel ldr

50、 r0,r0 str r0,sp,#4 ldmfd sp!,r0,pc MEND,IRQ中断服务程序 IsrIRQ subsp,sp,#4 ;reserved for PC stmfdsp!,r8-r9 ldrr9,=INTOFFSET;中断偏移寄存器 ldrr9,r9 ldrr8,=HandleEINT0;中断向量表首地址 addr8,r8,r9,lsl #2 ldrr8,r8 strr8,sp,#8 ldmfdsp!,r8-r9,pc 本段意义:根据中断服务号,转去执行相应的中断处理程序段。,;中断向量表IntVectorTable HandleEINT0 # 4 HandleEINT1

51、# 4 HandleEINT2 # 4 HandleEINT3 # 4 HandleEINT4_7# 4 HandleEINT8_23# 4 HandleRSV6# 4 HandleBATFLT # 4 HandleTICK # 4 HandleWDT# 4 HandleTIMER0 # 4 HandleTIMER1 # 4 ,4.6 输入/输出端口,主要内容 概述 寄存器 应用举例,一、概述 S3C2410X有117个输入/输出端口。这些端口是: A口(GPA):23个输出口 B口(GPB):11个输入/输出口 C口(GPC):16个输入/输出口 D口(GPD):16个输入/输出口 E口(G

52、PE):16个输入/输出口 F口(GPF):8个输入/输出口 G口(GPG):16个输入/输出口 H口(GPH):11个输入/输出口 这些端口都具有多功能,通过引脚配置寄存器,可以将其设置为所需要的功能,如:I/O功能、中断功能等等。,二、端口寄存器及引脚配置 每一个端口都有4个寄存器,它们是:引脚配置寄存器、数据寄存器、引脚上拉寄存器等。,GPADAT寄存器为准备输出的数据 其值为23位22:0 注意: (1)当A口引脚配置为非输出功能时,其输出无意义; (2)从引脚输入没有意义。,1、端口A寄存器及引脚配置,1、端口A寄存器及引脚配置,GPBDAT-为准备输出或输入的数据 其值为11位10

53、:0 GPBUP-端口B上拉寄存器,位10:0有意义。 0:对应引脚设置为上拉1:无上拉功能 注意: 当B口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,2、端口B寄存器及引脚配置,端口B引脚配置寄存器,GPCDAT-为准备输出或输入的数据 其值为16位15:0 GPCUP-端口C上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 注意: 当C口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,3、端口C寄存器及引脚配置,端口C引脚配置寄存器,GPDDAT-为准备输出或输入的数据 其值为16位15:0 GPDUP-端口D上拉寄存器,位15:0有意义。 0:对应

54、引脚设置为上拉1:无上拉功能 初始化时,15:12无上拉功能,而11:0有上拉 注意: 当D口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,4、端口D寄存器及引脚配置,端口D引脚配置寄存器,GPEDAT-为准备输出或输入的数据 其值为16位15:0 GPEUP-端口E上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,各个引脚都有上拉功能。 注意: 当E口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,5、端口E寄存器及引脚配置,端口E引脚配置寄存器,GPFDAT-为准备输出或输入的数据 其值为8位7:0 GPFUP-端口F上拉寄存器,位7:0有意

55、义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,各个引脚都有上拉功能。 注意: 当F口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,6、端口F寄存器及引脚配置,端口F引脚配置寄存器,GPGDAT-为准备输出或输入的数据 其值为16位15:0 GPGUP-端口G上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,15:11引脚无上拉功能,其它引脚有。 注意: 当G口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,7、端口G寄存器及引脚配置,端口G引脚配置寄存器,LCD-PEN:POWER_ENABLE,nSS0:SPI0_SELECT,GPHD

56、AT-为准备输出或输入的数据 其值为11位10:0 GPHUP-端口H上拉寄存器,位10:0有意义。 0:对应引脚设置为上拉1:无上拉功能 注意: 当H口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,8、端口H寄存器及引脚配置,端口H引脚配置寄存器,UCLK为USB的,9、端口其它控制寄存器,nEN_SCKE-SCLK使能位。在电源关闭模式下对SDRAM做保护0: 正常状态 1:低电平 nEN_SCLKx-SCLKx使能位。在电源关闭模式下对SDRAM做保护 0:SCLKx= SCLK 1:低电平 nRSTCON-对nRSTOUT软件复位控制位 0:使nRSTOUT为低,0;1:使n

57、RSTOUT为高,1,(1)MISCCR-混合控制寄存器,USBSUSPND1-USB端口1模式 0:正常1:浮空 USBSUSPND0-USB端口0模式 0:正常1:浮空 CLKSEL1 - CLKOUT1引脚输出信号源选择 000:MPLL CLK001:UPLL CLK 010:FCLK011:HCLK100:PCLK 101:DCLK111x:保留 CLKSEL0 - CLKOUT0引脚输出信号源选择 000:MPLL CLK001:UPLL CLK 010:FCLK011:HCLK100:PCLK 101:DCLK011x:保留,USBPAD-与USB连接选择 0:与USB设备连接1

58、:与USB主机连接 MEM_HZ_CON-MEM高阻控制位 0:Hi-Z 1:前一状态 SPUCR_L-数据口低16位15:0上拉控制位 0:上拉1:无上拉 SPUCR_H-数据口高16位31:16上拉控制位 0:上拉1:无上拉,(2)DCLKCON-D时钟控制寄存器,DCLK1(0)CMP-DCLK1(0)低电平时间所占的比例数。 设该位值为m,m DCLK1(0)DIV。 则低、高电平持续时间的源周期数分别为: m+1、DCLK1(0)DIV-m DCLK1(0)DIV-DCLK1(0)分频值 DCLK1(0) frequency = source clock / ( DCLK1(0)DI

59、V + 1 ),(2)DCLKCON-D时钟控制寄存器(续),DCLK1(0)SelCK-DCLK1(0) source clock 选择 0 : 源时钟选择PCLK 1:源时钟选择UCLK ( USB ) DCLK1(0)EN-DCLK1(0) Enable 0:禁止 1:允许,主要设置各个外中断源的触发方式、滤波,10、外中断控制寄存器,EINT07-中断请求信号触发方式选择 000:低电平触发001:高电平触发 01x:下降沿触发10 x:上升沿触发 11x:双边沿触发 第3、7、11、15、19、23、27、31位-保留,(1)EXTINT0-外中断触发方式控制寄存器0,EINT815

60、-中断请求信号触发方式选择 000:低电平触发001:高电平触发 01x:下降沿触发10 x:上升沿触发 11x:双边沿触发 第3、7、11、15、19、23、27、31位-保留,(2)EXTINT1-外中断触发方式控制寄存器1,EINT1623-外中断请求信号触发方式选择 000:低电平触发001:高电平触发 01x:下降沿触发10 x:上升沿触发 11x:双边沿触发 第3、7、11、15、19、23、27、31位-为FILTEN 各引脚滤波控制位 0:禁止滤波1:使能滤波,(3)EXTINT2-外中断控制寄存器2,主要设置各个外中断源的滤波器设置,11、外中断滤波控制寄存器,FLTCLK1

61、619-外中断1619滤波器时钟选择 0:PCLK 1:外部/振荡时钟(由OM引脚选择) EINTFLT1619-外中断1619滤波器宽度(频带宽度),(1)EINTFLT2-外中断滤波控制寄存器2,FLTCLK2023-外中断2023滤波器时钟选择 0:PCLK 1:外部/振荡时钟(由OM引脚选择) EINTFLT2023-外中断2023滤波器宽度(频带宽度),(2)EINTFLT3-外中断滤波控制寄存器3,12、外中断屏蔽、标志寄存器,外中断屏蔽寄存器,各位: 0:允许中断1:禁止中断 注意: EINT0- EINT3不能在此被屏蔽,在SRCPND中屏蔽。,外中断标志寄存器,各位: 0:无

62、中断请求1:有中断请求 注意:对某位写1,则清除相应标志,即清为0.,GSTATUS3、4: 复位时被清0,其它情况下其数据不变。 用户可以用于保存数据。,13、外中断状态寄存器,nWEIT-引脚nWEIT状态 nCON-引脚nCON状态 RnB-引脚R/nB状态 nBATT_FLT-引脚nBATT_FLT状态 注意:各位的数值0、1,随着对应引脚变化。,(1)GSTATUS0-外部引脚状态寄存器,WDTRST-上电复位控制状态 1:出现了上电复位 对该位写,则将该位清0 OFFRST-掉电模式复位状态。 1:系统出现了从掉电模式唤醒复位 对该位写,则将该位清0 PWRST-看门狗复位状态 1

63、:系统出现了看门狗定时器复位 对该位写,则将该位清0,(2)GSTATUS2-复位状态寄存器,第13次到此,外中断举例 static void _irq Eint0Int(void) ClearPending(BIT_EINT0); Uart_Printf(EINT0 interrupt is occurred.n); static void _irq Eint1Int(void) ClearPending(BIT_EINT1); Uart_Printf(EINT1 interrupt is occurred.n); ,void Test_Eint(void) int i; int extin

64、tMode;/选择外中断触发方式变量 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,switch(extintMode) case 1: rEXTINT0 = (rEXTIN

65、T0 ,case 4: rEXTINT0 = (rEXTINT0 ,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。 rSRCPND = BIT_EINT0|BIT_EINT1; /to clear the previous pending states rINTPND = BIT_EINT0|BIT_EINT1; rINTMSK=(BIT_EINT0|BIT_EINT1); Uart_Getch(); r

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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