第6章基于S3C44B0X的嵌入式系统应用开发(第二版)_第1页
第6章基于S3C44B0X的嵌入式系统应用开发(第二版)_第2页
第6章基于S3C44B0X的嵌入式系统应用开发(第二版)_第3页
第6章基于S3C44B0X的嵌入式系统应用开发(第二版)_第4页
第6章基于S3C44B0X的嵌入式系统应用开发(第二版)_第5页
已阅读5页,还剩188页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 6.2 36.336.16.4 6.5 36.6 36.7 6.9 36.10 36.86.11 6.12 36.13 l简介简介 一个嵌入式处理器自己是不能独立工作的,必须一个嵌入式处理器自己是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,则还要加上存储器系统,然后没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。这些提供嵌入式处理嵌入式处理器芯片才可能工作。这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处

2、理器的最小系统。了这个嵌入式处理器的最小系统。返回嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)可选,因为许多面向嵌入式领域的微控制器内部集成了程序和数据存储器最小系统框图最小系统框图可选,但是在样品阶段通常都会设计这部分电路 电源系统为整个系统提供能量,是整个系统工作的基础,电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。如果电源系统处具有极其重要的地位,但却往往被忽略。如果电源系统处理得好,整个系统的故障往往减少了一大半。理得好,整个系统的故障往往减少了一大半。 考虑因素:考虑因素: 输出的电压、电流、功率;输出的电压、电流

3、、功率; 输入的电压、电流;输入的电压、电流; 安全因素;安全因素; 电池兼容和电磁干扰;电池兼容和电磁干扰; 体积限制;体积限制; 功耗限制;功耗限制; 成本限制。成本限制。为为LCD 屏及屏及USB接口等供电接口等供电电源转换模块电源转换模块为为I/O供电供电S3C44B0X的内核的内核1时钟源的设计时钟源的设计微处理器微处理器X1X2CCXtal使用内部振荡器使用外部时钟源微处理器微处理器X1X2CClock可以使用稳定的可以使用稳定的时钟信号源,如时钟信号源,如有源晶振等。有源晶振等。外部晶振外部晶振 时钟源的选择 1. 1. 时钟的作用时钟的作用 作为作为CPU及外设定时与同步信号。

4、及外设定时与同步信号。 S3C44B0XS3C44B0X内部的时钟发生器可以产生内部的时钟发生器可以产生CPUCPU和外设所需和外设所需要的时钟信号。要的时钟信号。 S3C44B0XS3C44B0X的时钟电源管理模块集中管理时钟脉冲的发的时钟电源管理模块集中管理时钟脉冲的发生与电源生与电源。2. 2. 时钟发生器的组成时钟发生器的组成外部晶振外部晶振外部时钟外部时钟锁相环电路锁相环电路PLL输出频率输出频率供给供给CPU的主频的主频S3C44B0X的电源管理方案有五种:的电源管理方案有五种:正常模式(正常模式(Normal mode)低速模式(低速模式(Slow mode)空闲模式(空闲模式(

5、Idle mode)停止模式(停止模式(Stop mode)LCD的的SL空闲模式(空闲模式(SL Idle mode) 与时钟发生器及电源管理有关的特殊功能与时钟发生器及电源管理有关的特殊功能寄存器包括寄存器包括时钟控制寄存器时钟控制寄存器、时钟低速控制寄时钟低速控制寄存器存器和和锁时计数寄存器等锁时计数寄存器等。一、一、PLLCONPLLCON:控制:控制PLLPLL分频,决定分频,决定PLLPLL输出频率。输出频率。位位19:12(8位)位)11:10(2位)位)9:4(6位)位)3:2(2位位)1:0(2位)位)PLLCONMDIV保留保留PDIV 保留保留SDIV 含义含义主分频控制

6、主分频控制无意义无意义预分频控制预分频控制无意义无意义分频后控制分频后控制初始值初始值0 x380 x0800二、参数的范围:二、参数的范围:MDIV=0MDIV=0255; PDIV=0255; PDIV=063, SDIV=063, SDIV=03 3三、三、PLLPLL输出频率:输出频率: 其中:其中:m=MDIV+8, p=PDIV+2, s=SDIVm=MDIV+8, p=PDIV+2, s=SDIVPLL参数选择原则:参数选择原则:(1)fpllo 2s170 MHz且且S的值应该尽可能的大的值应该尽可能的大(2)1fin/p2(3)20MHzfpllo66MH已知:已知:fin=

7、20MHz,MDIV=100,PDIV=14,SDIV=2,fin=20MHz,MDIV=100,PDIV=14,SDIV=2,求求fpllofpllo解:解: m=MDIV+8m=MDIV+8108, p=PDIV+2108, p=PDIV+216, s=SDIV16, s=SDIV2,2,则则: :PLLPLL输出频率:输出频率:f fpllopllo=(m=(mfin) / (p fin) / (p 2 2s s) )10810820/(1620/(164)33.75MHz 4)33.75MHz 已知:已知:fin=11.0592MHz,fpllo=50MHzfin=11.0592MHz

8、,fpllo=50MHz试确定试确定PLLCONPLLCON的值。的值。解:解:由原则之一:由原则之一:1fin/p2,1fin/p2,知知11.0592/2p 11.0592,11.0592/2p 11.0592,可取值可取值6 61111(整数)(整数)P=6P=6时,时,PDIVPDIVp-2=4=p-2=4=000100000100由原则之二:由原则之二:fpllofpllo2 2s s170MHz,170MHz,即即2 2S S170/50 3.4 0fout=fin;SLOW_VAL=0低速分频值4位编码决定SLOW_BIT=1时低速分频的值初始值锁时计数寄存器锁时计数寄存器CLK

9、TIMECLKTIME存放存放PLLPLL锁时的计数值。共锁时的计数值。共1212位。位。位位11:0位名位名称称LTIME CNT含义含义PLL锁时计数值锁时计数值初始初始值值头文件头文件.h中的宏定义中的宏定义#define FIN 8000000#define MCLK 64000000#if (MCLK=64000000)#define M_DIV (0 x38)#define P_DIV (0 x2)#define S_DIV (0 x1)#elif (MCLK=60000000)#define M_DIV (0 x34)#define P_DIV (0 x3)#define S_D

10、IV (0 x1)#endif在启动代码在启动代码.s文件中对文件中对PLLCON值的加载。值的加载。ldrr0,=PLLCON /* temporary setting of PLL */ldrr1,=(M_DIV12)+(P_DIV4)+S_DIV) /* Fin=8MHz,Fout=64MHz */strr1,1. 1. 复位电路的作用复位电路的作用 负责将处理器初始化为某个确定的状态负责将处理器初始化为某个确定的状态 。2. 2. S3C44B0X的复位的复位 复位引脚为复位引脚为nRESET ,至少保持,至少保持4个个MCLK时钟周期时钟周期的低电平的低电平 ,才能复位。,才能复位。

11、OM1=0且且OM0=1选选择择16位数据宽度位数据宽度 大小端格式选择及数据宽度选择连接电路大小端格式选择及数据宽度选择连接电路大端格式大端格式 小端格式小端格式 S3C44B0X的数据存储模式有大端和小端的选择的数据存储模式有大端和小端的选择 ,由引,由引脚脚ENDIAN 决定。决定。 OM1:OM0启动启动FLASH 的数据宽度的数据宽度 。 嵌入式系统使用的存储器有多种类型,主要包嵌入式系统使用的存储器有多种类型,主要包括括FlashFlash、EPROMEPROM、SDRAMSDRAM以及以及SRAMSRAM等,为满足不同等,为满足不同类型的存储器对不同速度、不同类型、不同总路线宽类

12、型的存储器对不同速度、不同类型、不同总路线宽度等的存储器的管理和控制,存储控制组件是必不可度等的存储器的管理和控制,存储控制组件是必不可少的。正是存储控制器为片外存储器访问提供必要的少的。正是存储控制器为片外存储器访问提供必要的控制信号,管理着片外存储部件。控制信号,管理着片外存储部件。 表6.6 S3C44B0X不同存储器组织的存储器地址线与系统地址总线的连接存储器地址线存储器地址线8位存储器组织下的位存储器组织下的系统地址总线系统地址总线16位存储器组织下位存储器组织下的的系统地址总线系统地址总线32位存储器组织下位存储器组织下的的系统地址总线系统地址总线A0A0A1A2A1A1A2A3A

13、2A2A3A4A3A3A4A5::Am-1Am-1Am-2Am- 返回 总线宽度与等待控制寄存器总线宽度与等待控制寄存器BWSCONBWSCON1 1使能;使能;0 0禁止禁止(表示(表示SRAMSRAM映射在映射在BankiBanki时写高时写高/ /低字节使能)低字节使能)1 1等待;等待;0 0禁止等待禁止等待(表示(表示SRAMSRAM映射在映射在BankiBanki时等待)时等待)00=800=8位位,01=16,01=16位位,10=32,10=32位,位,1111不用不用00=800=8位位,01=16,01=16位位,10=32,10=32位,位,1111不用不用(DW0DW0

14、只读,不可写)只读,不可写)0 0小端模式;小端模式;1 1大端模式大端模式 返回 内存通道控制寄存器内存通道控制寄存器BANKCONiBANKCONi存储器类型存储器类型16:1514:1312:1110:87:65:4321:0ROM或或SRAMMT=00TacsTcosTaccTochTcahTacpPMCFP DRAM或或EDO DRAMMT=01或或10TrcdTcasTcpCANSDRAMMT=11TrcdCAN决定决定BANK6、7的类型的类型nGCSi选择之前地址时钟个数选择之前地址时钟个数0,1,2,4分页模式配置分页模式配置1,4,8,16个数据个数据访问时钟个数访问时钟个

15、数1,2,3,4,6,8,10,14保持保持nOE时钟个数时钟个数0,1,2,4,nGCSi选择前的保持时钟个数选择前的保持时钟个数0,1,2,4RAS到到CAS的延时时钟个数的延时时钟个数1,2,3,4页访问周期(时钟个数)页访问周期(时钟个数)2,3,4,6CAS脉冲宽度(时钟个数)脉冲宽度(时钟个数)1,2CAS预充电时间(时钟个数)预充电时间(时钟个数)1,2列地址位数列地址位数8,9,10,11位位选择选择nOE时钟个数时钟个数0,1,2,4,RAS到到CAS的延时时间的延时时间1,2,3, 返回 刷新控制寄存器刷新控制寄存器REFRESHREFRESH232221:2019:181

16、7:1615:121110:0REFENTREFMDTrpTrcTchr000Refresh CounterREFEN 刷新使能:刷新使能:0 = 禁止刷新,禁止刷新,1 = 刷新刷新 刷新模式:刷新模式:0 = CBR(CAS before RAS)/自动刷新自动刷新 1 = 自刷新(控制信号为电平)自刷新(控制信号为电平) 行预充电时间 DRAM :00 = 1.5 个时钟 01 = 2.5 个时钟 10 = 3.5 个时钟 11 = 4.5 个时钟SDRAM :00 = 2个时钟 01 = 3个时钟10 = 4个时钟 11 = 不支持SDRAM RC最小时间:00 = 4个时钟 01 =

17、 5个时钟10 = 6个时钟 11 = 7个时钟CAS保持时间(DRAM): 00 = 1个时钟 01 = 2个时钟 10 = 3个时钟 11 = 4个时钟 刷新计数值:刷新周期刷新周期= (211-刷新计数值刷新计数值+1)/MCLK 返回 BankBank容量寄存器容量寄存器BANKSIZEBANKSIZE在在SDRAM访问周期访问周期SCLK使能位:使能位:0 =禁止,禁止,1 = 允许。允许。BK76MAP BANK6/7存储器容量大小:存储器容量大小:000 =32M 100 = 2M 101 = 4M 110 = 8M432:0SCLKEN0BK76MAP 返回 SDRAMSDRA

18、M模式设置寄存器模式设置寄存器MRSRB6MRSRB6和和MRSRB7MRSRB711:1098:76:432:0保留WBLTMCLBTBLWBL(write burst length)写突发脉冲长度:写突发脉冲长度:0为推荐值为推荐值TM (Test mode)测试模式选择:)测试模式选择:00: 由模式寄存器设置由模式寄存器设置 01, 10, 11: 保留保留 CL (CAS latency)CAS发送时钟发送时钟000 = 1个时钟个时钟010 = 2个时钟个时钟011=3个时钟个时钟 其它其它=保留保留 BT (Burst type)突发类型:)突发类型:0: 顺序(推荐)顺序(推荐

19、) 1: 未用未用(Burst length)突发长度:)突发长度:000: 1,其余未用,其余未用 S3C44B0XS3C44B0X内部没有存储器,因此必须采用内部没有存储器,因此必须采用总线方式扩展外部存储器,包括程序存储器和总线方式扩展外部存储器,包括程序存储器和数据存储器,此处主要介绍扩展外部存储器的数据存储器,此处主要介绍扩展外部存储器的方法。方法。NOR FlashNand FlashF程序存储器采用程序存储器采用SST39VF160SST39VF160,它,它是是1M1M* *1616位的位的FlashFlash存储器芯片。存储器芯片。 FlashFlash的地址范围为的地址范围

20、为0 x000000000 x000000000 x001FFFFF0 x001FFFFF SDRAM SDRAM HY57V651620BHY57V651620B内内部有部有4 4个个1M1M1616的的存储器阵列,所存储器阵列,所以容量为以容量为211*2*16=222*16=4M*16=8MB 。 SDRAM SDRAM必须放必须放到到BANK6BANK6开始的开始的区域区域 。 SDRAMSDRAM地址范围为地址范围为0 x0C0000000 x0C0000000 x0C7FFFFF0 x0C7FFFFF。1 1. . ARMARM公司提供的标准公司提供的标准2020脚脚JTAGJTA

21、G仿真调试接口电路,仿真调试接口电路,芯片内部有芯片内部有JTAG CORE JTAG CORE 。2. S3C44B0X2. S3C44B0X通过外部通过外部JTAG/ICEJTAG/ICE端口支持端口支持ARMARM标准的嵌标准的嵌入式在线仿真,共有四个管脚:入式在线仿真,共有四个管脚:3. JTAG3. JTAG接口电路接口电路 TMSTMS:测试模式选择测试模式选择TDITDI:测试数据输入测试数据输入TDOTDO:测试数据输出测试数据输出TCKTCK:测试时钟测试时钟 1. 1.处理器通过处理器通过I/OI/O口和外围硬件连接;口和外围硬件连接; 2.ARM2.ARM芯片的芯片的I/

22、OI/O口通常都是和其他引脚复用的;口通常都是和其他引脚复用的; 3. 3.熟悉熟悉I/OI/O口的功能,通过特殊功能寄存器的配置对口的功能,通过特殊功能寄存器的配置对I/OI/O口进行编程;口进行编程; 4.S3C44B04.S3C44B0有有7171个通用可编程多功能输入个通用可编程多功能输入/ /输出引脚,共输出引脚,共7 7类端口,如下所示:类端口,如下所示:返回一、双功能端口一、双功能端口 A A,B B、D D端口具有两种功能端口具有两种功能二、三功能端口二、三功能端口 C C,E E、G G端口具有三种功能端口具有三种功能三、四功能端口三、四功能端口 F F端口具有四种功能端口具

23、有四种功能返回 每个端口都可以通过软件设置来满足各种每个端口都可以通过软件设置来满足各种各样的系统设置和设计要求。每个端口的功能各样的系统设置和设计要求。每个端口的功能通常都要在主程序开始前被定义。如果一个引通常都要在主程序开始前被定义。如果一个引脚的多功能没有使用,那么这个引脚将被设置脚的多功能没有使用,那么这个引脚将被设置为为I/OI/O端口。在引脚配置以前,需要对引脚的端口。在引脚配置以前,需要对引脚的初始化状态进行设定来避免一些问题的出现。初始化状态进行设定来避免一些问题的出现。 GPIOIISDIEINT5GPG5l引脚功能选择使用示例引脚功能选择使用示例 S3C44B0微控制器的引

24、脚一般是多个功能复用,但是同一引脚在同一 引脚在同一时刻只能使用其中一个功能,这可以通过设置PCONx寄存器来选择。通过PCONG控制引脚功能1. 1.端口配置寄存器:端口配置寄存器:PCONAPCONAPCONGPCONG 决定决定AG各相应端口每个引脚的功能。各相应端口每个引脚的功能。2. 2.端口数据寄存器:端口数据寄存器:PDATAPDATAPDATGPDATG 寄存寄存I/O端口的数据。端口的数据。3. 3.端口上拉寄存器:端口上拉寄存器:PUPCPUPCPUPGPUPG 决定端口是否内部接通上拉电阻。决定端口是否内部接通上拉电阻。 0上拉;上拉;1禁止禁止4. 4.特殊上拉电阻控制

25、寄存器:特殊上拉电阻控制寄存器:SPUPRSPUPR 决定对数据总线引脚是否内部接上拉电阻。决定对数据总线引脚是否内部接上拉电阻。 0上拉;上拉;1禁止禁止返回例例1:设置:设置A端口均为输出端口,并设置端口均为输出端口,并设置PGA4,PGA6为为1,其他引脚均为,其他引脚均为0; 答案:答案:PCONA=0 x0; PDATA=0 x50;例例2:设置:设置C端口均为数据总线,并读取数据总端口均为数据总线,并读取数据总线的值,当值为线的值,当值为0 x80时,让变量时,让变量i=0,否则,否则i=1;答案:答案:PCONC=0 xAAAAAAAA; if(PDATC=0 x80) i=0;

26、 else i=1;1. 设置设置D端口的端口的PD0PD3分别为分别为VD0VD3功能,功能,其他其他D端口为输出引脚,则端口为输出引脚,则PCOND= ?2. 设置设置G端口的端口的PG6和和PG7分为分为EINT6和和EINT7,PG1为输出端口,输出值为为输出端口,输出值为1,其他为输入端,其他为输入端口,并且输出端口使能上拉电阻,其他禁止,口,并且输出端口使能上拉电阻,其他禁止,则则PCONG= ?,?,PUPG=?,?,PDATG=?端口初始化及简单键盘端口初始化及简单键盘I/O方式处理汇编程序:方式处理汇编程序:PCONG equ 0 x01D20040 ;G口配置寄存器地址口配

27、置寄存器地址PDATG equ 0 x01D20044 ;G口数据寄存器地址口数据寄存器地址PUPG equ 0 x01D20048 ;G口上拉电阻寄存器地址口上拉电阻寄存器地址MOV R0,#0LDR R1,=PCONGSTRH R0,R1 ;GPG口为输入端口口为输入端口MOV R1,PUPGSTRB R0,R1 ;GPG口内部上拉口内部上拉LDR R0,=PDATGLDR R1,R0 ;取键值取键值AND R1,#0 x0FC ;提取提取GP2GP7CMP R1,#0 x0FCBEQ LNOKEYCMP R1,#0 x0F8BEQ LKEY1CMP R1,#0 x0F4BEQ LKEY2

28、:LNOKEYLKEY1LKEY2:此处没有消抖处理,如何消抖?此处没有消抖处理,如何消抖?void PortInit(void)/端口初始化函数,本函数只针对图端口初始化函数,本函数只针对图6.17电路进行了键盘初始化电路进行了键盘初始化 rPCONG = rPCONG&0 xf; /设置设置PG2PG7为输入功能为输入功能 rPUDG = rPUDG | 0 xfC; /因为电路中因为电路中PG2PG7端口已接外部上拉,所以内部上拉端口已接外部上拉,所以内部上拉可不使用可不使用uint8 GetKey(void) /读按键程序读按键程序 KeyValue=0; if(rPDATG & (1

29、2) =0) /判断判断KEY1键是否按下键是否按下 longdelay(3); /延时函数,用于键盘消抖延时函数,用于键盘消抖 if(rPDATG & (12)=0) /再次判断再次判断KEY1键是否按下键是否按下 KeyValue = 1; else if(rPDATG & (13) =0) /判断判断KEY2键是否按下键是否按下 longdelay(3); if(rPDATG & (13) =0) KeyValue = 2; 。 。 return KeyValue; 单一单一LED显示器应用:显示显示器应用:显示“”。MOV R1,#0 x0C000000;指向指向nGCS6MOV R2

30、,#0 x4F ;”3”的代码的代码STRB R2,R1 ;送显示代码送显示代码中断处理过程中断处理过程中断中断的定义是什么?的定义是什么?返回 在响应一个特定中断的时候,内核会执行在响应一个特定中断的时候,内核会执行一个函数,该函数叫做一个函数,该函数叫做中断处理程序中断处理程序(interrupt handlerinterrupt handler)或中断服务程序()或中断服务程序(interrupt interrupt service routine(ISR)service routine(ISR)) 。产生中断的每个设备都。产生中断的每个设备都有相应的中断处理程序。有相应的中断处理程序。

31、 例如,由一个函数专门处理来自系统时钟例如,由一个函数专门处理来自系统时钟的中断,而另外一个函数专门处理由键盘产生的中断,而另外一个函数专门处理由键盘产生的中断。的中断。 1. 1.中断模式中断模式 FIQ模式和模式和IRQ模式模式 矢量中断模式矢量中断模式2. CPSR的的F位和位和I位位 1:表示不接受中断请求;:表示不接受中断请求; 0:表示接受中断请求。:表示接受中断请求。 一、中断源一、中断源共有共有3030个中断源,其中:个中断源,其中:(1 1)2626个中断源是单独的直接接到中断控制器上个中断源是单独的直接接到中断控制器上(2 2)4 4个外部中断源(个外部中断源(EINT4/

32、 EINT5/ EINT6/ EINT4/ EINT5/ EINT6/ EINT7EINT7)是通过逻辑或之后加到中断控制器上的)是通过逻辑或之后加到中断控制器上的另外两个另外两个UART0/1UART0/1错误中断也是一个中断控制器。错误中断也是一个中断控制器。二、中断向量二、中断向量各中断源及向量地址各中断源及向量地址所示。所示。返回向量中断控制器概述向量中断控制器概述 ARM7TDMIARM7TDMI内核具有两个中断输入,分别为内核具有两个中断输入,分别为IRQIRQ中断和中断和FIQFIQ中断。但是芯片内外部有许多中断源,中断。但是芯片内外部有许多中断源,最多可以有最多可以有3030个

33、中断输入请求。向量中断控制器的个中断输入请求。向量中断控制器的作用就是作用就是允许哪些中断源可以产生中断允许哪些中断源可以产生中断、可以产生可以产生哪类中断哪类中断、产生中断后执行哪段服务程序产生中断后执行哪段服务程序。ARM7TDMIIRQFIQVIC中断请求输入1中断请求输入30. . 1. 1.中断控制寄存器中断控制寄存器2. 2.中断挂起寄存器中断挂起寄存器 3. 3.中断模式寄存器中断模式寄存器 4. 4. 中断屏蔽寄存器中断屏蔽寄存器 5. 5.中断服务挂起寄存器中断服务挂起寄存器6. 6.外部中断控制寄存器外部中断控制寄存器7. 7.外部中断请求寄存器外部中断请求寄存器返回中断控

34、制寄存器中断控制寄存器INTCONINTCON(4 4位):位):决定决定IRQIRQ和和FIQFIQ中断是否允许。中断是否允许。格式:格式:位位3210SPUPR保留保留VIF说明说明00=矢量矢量中断模中断模式式1=非矢非矢量中断量中断模式模式0=IRQ中中断断允许允许1=IRQ中中断断禁止禁止0=FIQ中中断断允许允许1=FIQ中中断断禁止禁止初始值初始值0111地址:地址:0 x01E000000 x01E00000初值:初值:0 x07 (IRQ0 x07 (IRQ和和FIQFIQ全部禁止中断全部禁止中断) )示例:设定S3C44B0处理器的IRQ中断允许,采用矢量中断模式,不允许F

35、IQ中断,则INTCON= ? 返回INTPNDINTPND(2626位,表位,表6-626-62), ,指示中断请求状态指示中断请求状态位名称位名称位位位名称位名称位位含义含义初始值初始值EINT025INT_TIMER1120=无请求无请求;1=有请求有请求全为全为0EINT124INT_TIMER211EINT223INT_TIMER310EINT322INT_TIMER49EINT4/5/6/721INT_TIMER58INT_TICK20INT_URXD07INT_ZDMA019INT_URXD16INT_ZDMA118INT_IIC5INT_BDMA017INT_SIO4INT_B

36、DMA116INT_UTXD13INT_WDT15INT_UTXD02INT_UERR0/114INT_RTC1INT_TIMER013INT_ADC0示例:查询外部中断3是否有中断请求,应该使用什么判断语句?答案:if( INTPND &0 x400000)!=0)返回 INTMODINTMOD(2626位):位):设置设置2626个中断源中断处于个中断源中断处于IRQIRQ还是还是FIQFIQ模式。模式。位名称位名称位位位名称位名称位位含义含义EINT025INT_TIMER1120=IRQ模式模式;1=FIQ模式模式EINT124INT_TIMER211EINT223INT_TIMER3

37、10EINT322INT_TIMER49EINT4/5/6/721INT_TIMER58INT_TICK20INT_URXD07INT_ZDMA019INT_URXD16INT_ZDMA118INT_IIC5INT_BDMA017INT_SIO4INT_BDMA116INT_UTXD13INT_WDT15INT_UTXD02INT_UERR0/114INT_RTC1INT_TIMER013INT_ADC0示例:设置S3C44B0处理器中的定时器0为快速中断模式,其余全为普通中断,则INTMOD= ?返回中断屏蔽寄存器中断屏蔽寄存器INTMSKINTMSK(2727位):位):决定决定2626个

38、中断源中断是否允许中断响应。个中断源中断是否允许中断响应。各位:各位:(1 1)25250 0位:位: 1 1禁止中断禁止中断 0 0允许中断允许中断(2 2)2626位(全局屏蔽):位(全局屏蔽):1 1禁止禁止 0 0允许允许必须满足:必须满足:全局允许且各自允许方可进入中断响应!全局允许且各自允许方可进入中断响应!位名称位名称位位位名称位名称位位含义含义保留保留27INT_TIMER013 0=服务允许服务允许; 1=屏蔽屏蔽Global26INT_TIMER112EINT025INT_TIMER211EINT124INT_TIMER310EINT223INT_TIMER49EINT32

39、2INT_TIMER58EINT4/5/6/721INT_URXD07INT_TICK20INT_URXD16INT_ZDMA019INT_IIC5INT_ZDMA118INT_SIO4INT_BDMA017INT_UTXD13INT_BDMA116INT_UTXD02INT_WDT15INT_RTC1INT_UERR0/114INT_ADC0示例:设置使定时器2中断服务允许,其它中断服务屏蔽,则INTMSK= ? 111 (126)|(111)正确答案:(126)|(111)返回中断服务挂起寄存器(中断服务挂起寄存器(2626位):位):I_ISPRI_ISPR只读寄存器,只读寄存器,反映反

40、映2626个中断源中断是否被响应。个中断源中断是否被响应。各位:各位:1 1中断被响应中断被响应 0 0中断未被响应中断未被响应中断清除寄存器(中断清除寄存器(2626位):位):I_ISPCI_ISPC和和F_ISPCF_ISPC清除清除2626个中断源中某一中断服务(结束)。个中断源中某一中断服务(结束)。各位:各位:1 1清除中断请求清除中断请求 0 0不变不变返回外部中断控制寄存器外部中断控制寄存器EXTINTEXTINT(1212位):位):决定决定8 8个外部中断源(个外部中断源(EINT0EINT07 7)的触发方式)的触发方式每个中断源每个中断源3 3位:位: 位位位名称位名称

41、描述描述30:28EINT7000低电平触发低电平触发001高电平触发高电平触发01X下降沿触发下降沿触发 10X上升沿触发上升沿触发11X双边沿触发双边沿触发 26:24EINT622:20EINT518:16EINT414:12EINT310:8EINT26:4EINT12:0EINT返回外部中断请求寄存器外部中断请求寄存器EXTINTPNDEXTINTPND(4 4位):位):记录记录4 4个外部中断源(个外部中断源(EINT4EINT47 7)的中断请求状态:)的中断请求状态:0 0无中断申请无中断申请 1 1有中断申请有中断申请位位3210EXTINTPNDEXINTPND3EXIN

42、TPND2EXINTPND1EXINTPND0含义含义1=EINT7有中断有中断同时同时INTPND21=11=EINT6有中断有中断同时同时INTPND21=11=EINT5有中断有中断同时同时INTPND21=11=EINT4有中断有中断同时同时INTPND21=1 示例:如何判断外部中断示例:如何判断外部中断7 7有中断产生?有中断产生? if(EXTINTPND&0 x8)!=Eint4567IsrpISR_EINT4567Eint4567IsrLDR PC, PC, #-0 xff00 x0000 00000 xFFFF FFFF用户程序中断服务程序异常向量表 实例:设置外部中断4产

43、生向量IRQ中断后,执行中断服务程序“Eint4567Isr( )”。.rPCONG = 0 xffff;rINTMOD = 0 x0; rINTCON = 0 x1; rINTMSK = (126 |121);pISR_EINT4567 = (int)Eint4567Isr; rEXTINT = rEXTINT | 0 x22220020;rI_ISPC |= BIT_EINT4567; rEXTINTPND = 0 xf; .C代码:1. 1.设置引脚连接模块,设置端设置引脚连接模块,设置端口为外部中断功能;口为外部中断功能;步骤:步骤:2.2.设置所有中断为设置所有中断为IRQIRQ中断

44、并中断并允许允许IRQIRQ中断;中断;3.3.打开全局中断使能和外部中打开全局中断使能和外部中 断断45674567使能;使能;4.4.将外部中断将外部中断4 4的中断服务程的中断服务程序写入对应向量地址寄存器序写入对应向量地址寄存器中;中;6.6.清除外部中断清除外部中断4 4的标志的标志(1)(2)(3)(4)(6)(6)(2)5.5.设置中断触发方式设置中断触发方式(5)0 x0000 00000 xFFFF FFFF用户程序中断服务程序异常向量表1.正在执行用户程序;2.外部中断4发生中断;3.VIC硬件将中断服务程序地址装入pISR_EINT4567寄存器;4.程序跳转至异常向量表

45、中IRQ入口0 x00180 x0018处;5.执行指令跳转至pISR_EINT4567寄存器中的中断服务地址;6.中断服务程序执行完毕,返回被中断的用户程序继续执行被中断的代码。Eint4567Isr?pISR_EINT4567Eint4567IsrLDR PC, PC, #- 有一嵌入式系统采用有一嵌入式系统采用S3C44B0XS3C44B0X处理器,系统的外部中断连处理器,系统的外部中断连接如下图所示,请针对此图,要求接如下图所示,请针对此图,要求KEY1KEY1键按下,二极管键按下,二极管LED1LED1点点亮亮( (函数函数LedOn()LedOn()已知已知) );KEY2KEY2

46、键按下,二极管键按下,二极管LED1LED1熄灭熄灭( (函数函数LedOff()LedOff()已知已知) );KEY3KEY3键按下键按下LED1LED1闪烁闪烁(LedShine()(LedShine()已知已知) ),写出外,写出外部中断的相关程序片段。部中断的相关程序片段。 外部中断初始化函数外部中断初始化函数#define BIT_EINT1 (0 x124)#define BIT_EINT4567 (0 x121)#define BIT_GLOBAL (0 x126)void init_Eint(void) rINTCON = 0 x1; /使能使能IRQ中断中断 rINTMOD

47、 = 0 x0; /选择选择IRQ中断模式中断模式 rINTMSK = (BIT_GLOBAL |BIT_EINT4567| BIT_EINT1 ; pISR_EINT4567 = (int)Eint4567Isr; pISR_EINT1 = (int)Eint1Isr; rPCONG = rPCONG & (0 x32) & (0 xf8); rPUPG = 0 x0; rEXTINT = rEXTINT|(0 x44)|(0 x216)|(0 x220); rI_ISPC = rI_ISPC |BIT_EINT4567| BIT_EINT1; rEXTINTPND &= 0 x3; 中断服

48、务程序中断服务程序void Eint1Isr(void) /外部中断外部中断1服务程序服务程序 rI_ISPC &= BIT_EINT1; /清除挂起位清除挂起位 LedShine(); /LED1闪烁闪烁void Eint1Isr(void) /外部中断外部中断4/5/6/7服务程序服务程序 unsigned char which_int; which_int rEXTINTPND; rEXTINTPND0 xf; /清除清除 EXTINTPND寄存器寄存器 rI_ISPC &BIT_EINT4567;/清除挂起位清除挂起位 if(which_int & 0 x1) != 0) /外部中断外

49、部中断4产生中断产生中断 LedOn(); if(which_int & 0 x2) != 0) /外部中断外部中断5产生中断产生中断 LedOff();1. 1.定义定义:UART (Universal Asynchronous Receiver/Transmitter )通用异步收发器通用异步收发器,用于控制计算机,用于控制计算机与串行设备的接口;与串行设备的接口;2. S3C44B0XS3C44B0X的的UARTUART单元提供单元提供两个两个独立的异步串行独立的异步串行I/OI/O口,每口,每个通信口均可工作于中断模式;个通信口均可工作于中断模式;3.最高最高传输速率传输速率115.2

50、kbps115.2kbps;4.特性:特性:可编程波特率可编程波特率,红外发送红外发送/ /接收接收、一个开始位、一个一个开始位、一个或两个停止位、或两个停止位、5/6/7/85/6/7/8位的数据宽度和奇偶校验;位的数据宽度和奇偶校验;5.组成:组成:波特率发生器波特率发生器、接收器接收器、发送器发送器和和控制单元控制单元 返回 外围设备总线外围设备总线 发送部分发送部分 发送发送 FIFO(16 字节字节) 发送移位寄存器发送移位寄存器 控制单元控制单元 波特率发生器波特率发生器 时钟源时钟源 接收部分接收部分 接收接收 FIFO(16 字节字节) 接收接收移位寄存器移位寄存器 1.数据传

51、输数据传输2.数据接收数据接收3.中断请求的产生中断请求的产生4.波特率的产生波特率的产生5.红外模式红外模式操操作作简单讲:简单讲: 同步是指:同步是指:发送方发出数据后,等接收方发回响应以发送方发出数据后,等接收方发回响应以 后才发下一个数据包的通讯方式。后才发下一个数据包的通讯方式。 异步是指:异步是指:发送方发出数据后,不等接收方发回响发送方发出数据后,不等接收方发回响 应,接着发送下个数据包的通讯方式。应,接着发送下个数据包的通讯方式。 异步传输是以异步传输是以字符字符为传输单位,每个字符都要附加为传输单位,每个字符都要附加 1 1 位起始位和位起始位和 1 1 位停止位,以标记一个

52、字符的开始和结位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。束,并以此实现数据传输同步。 所谓异步传输是指字符与字符所谓异步传输是指字符与字符( (一个字符结束到下一个字符结束到下一个字符开始一个字符开始) )之间的时间间隔是可变的,并不需要严之间的时间间隔是可变的,并不需要严格地限制它们的时间关系。一个字符占用格地限制它们的时间关系。一个字符占用 5858位,具位,具体取决于数据所采用的字符集。体取决于数据所采用的字符集。 此外,还要附加此外,还要附加 1 1 位奇偶校验位;位奇偶校验位; 发送端与接收端除了采用相同的数据格式,还应当发送端与接收端除了采用相同的数据格式,还应

53、当采用相同的传输速率。采用相同的传输速率。 典型的速率有:典型的速率有:9600 b/s9600 b/s、56kb/s56kb/s、115.2kb/s115.2kb/s等。等。 同步传输是以同步传输是以数据块数据块为传输单位。每个数据块的头为传输单位。每个数据块的头部和尾部都要附加一个特殊的字符或比特序列,标记部和尾部都要附加一个特殊的字符或比特序列,标记一个数据块的开始和结束,一般还要附加一个校验序一个数据块的开始和结束,一般还要附加一个校验序列列( (如如1616位或位或3232位位CRCCRC校验码校验码) ),以便对数据块进行差错,以便对数据块进行差错控制。控制。 所谓同步传输是指数据

54、块与数据块之间的时间间隔所谓同步传输是指数据块与数据块之间的时间间隔是固定的,必须严格地规定它们的时间关系。是固定的,必须严格地规定它们的时间关系。 使用使用UART0UART0通信需要两个引脚,分别为:通信需要两个引脚,分别为:引脚名称引脚名称类型类型描述描述RxD0输入输入串行输入,接收数据串行输入,接收数据TxD0输出输出串行输出,发送数据串行输出,发送数据S3C44B0S3C44B0的的I/OI/O电压为电压为3.3V3.3V(可承受(可承受5V5V),),连接时须注意电平的连接时须注意电平的匹配。匹配。与与PCPC机相连时,由于机相连时,由于PCPC机串口是机串口是RS232RS23

55、2电平,电平,所以连接时需要使用所以连接时需要使用RS232RS232转换器。转换器。S3C44B0PC机串口232电平转换TxD0RxD0TxD0RxD0S3C44B0其它通信设备TxD0RxD0TxD0RxDUARTUART的特殊功能寄存器的特殊功能寄存器UART线控制寄存器线控制寄存器UART控制寄存器控制寄存器发送发送/接收状态寄存器接收状态寄存器UART发送发送/接收接收(缓冲区缓冲区)寄存器寄存器UART波特率除数寄存器波特率除数寄存器FIFO控制寄存器控制寄存器Modem控制寄存器控制寄存器UART错误状态寄存器错误状态寄存器FIFO状态寄存器状态寄存器Modem状态寄存器状态寄

56、存器ULCON0ULCON0和和ULCON1ULCON1:P11D0D1D2D3D4D5D6D70位位65 : 321 :0功能功能红外模式红外模式奇偶校验奇偶校验停止位停止位数据位数数据位数停止位(12位)数据(58位)奇偶校验位(可选)起始位ULCON寄存器:寄存器: ULCON控制发送和接收数据帧的格式。控制发送和接收数据帧的格式。TXD位位65 : 321 :0功能功能红外模式红外模式奇偶校验奇偶校验停止位停止位数据位数数据位数数据位数:这些位控制数据长度。00:5位字符长度;01:6位字符长度;10:7位字符长度;11:8位字符长度;ULCON0ULCON0和和ULCON1ULCON

57、1:位位65 : 321 :0功能功能红外模式红外模式奇偶校验奇偶校验停止位停止位数据位数数据位数ULCON0ULCON0和和ULCON1ULCON1:停止位:控制每帧数据包含的停止位个数。0:1位停止位;1:2位停止位;位位65 : 321 :0功能功能红外模式红外模式奇偶校验奇偶校验停止位停止位数据位数数据位数ULCON0ULCON0和和ULCON1ULCON1:校验位:控制校验的使能和选择。 0XX=无校验无校验 100=奇校验奇校验 101=偶校验偶校验 110=校验位强置校验位强置1 111=校验位强清校验位强清0 位位65 : 321 :0功能功能红外模式红外模式奇偶校验奇偶校验停

58、止位停止位数据位数数据位数红外模式:是否选择红外模式。0:正常模式 1:红外模式ULCON0ULCON0和和ULCON1ULCON1: 设置设置UART1为数据传输模式为为数据传输模式为7位数据位,位数据位,1位位停止位,偶校验,正常模式,请问对哪个寄存器设停止位,偶校验,正常模式,请问对哪个寄存器设置?值为多少?置?值为多少?位位65 : 321 :0功能功能红外模式红外模式奇偶校验奇偶校验停止位停止位数据位数数据位数1001010ULCON1=0 x2AULCON1=0 x2AUCON0UCON0和和UCON1:UCON1:位位9876543:21:0UCON0UCON1发送中发送中断请求

59、断请求类型类型接收中接收中断请求断请求类型类型接收超接收超时中断时中断使能使能接收错接收错误中断误中断使能使能回送模式回送模式发送发送中止信号中止信号发送模式发送模式接收模式接收模式含义含义0=脉冲脉冲1=电平电平0=脉冲脉冲1=电平电平0=禁止禁止1=允许允许0=禁止禁止1=允许允许0=正常模正常模式式1=回送模回送模式式0=正常工作正常工作1=发中止信发中止信号号00=禁止禁止01=中断请求中断请求10=BDMA0请求请求11=BDMA1请求请求00= 禁止禁止01=中断请求中断请求10=BDMA0请请求求11=BDMA1请请求求示例:示例:寄存器寄存器UCON0=0 x245UCON0=0 x245,表示什么意,表示什么意思?思?UFCON0UFCON0和和UFCON1: UFCON1: 位位7:65:43210UFCON0UFCON1发送发送FIFO触发电触发电平平接收接收FIFO触发电触发电平平保保留留发送发送FIFO复位复位接收接收FIFO复位复位FIFO使能使能含义含义00=空空01=4字字节节10=8字字节节11=12字字节节00=4字字节节01=8字字节节10=12字字节节11=16字字节节0=正常正常1=发送发送FIFO复位复位0=正常正常1=发送发送FIFO复位复位0=FIFO禁禁止止1=FIFO使使能能UMCON0UMCON0和和UMCON1:UMC

温馨提示

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

评论

0/150

提交评论