Download presentation
Presentation is loading. Please wait.
1
第四章 S3C44B0X 硬件结构及功能
2
第4章 目录 8 日历时钟 9 中断控制 1.S3C44B0简介 10.串行口管理 2.存储器配置 11 LCD 控制器 3.时钟和功耗管理
第4章 目录 8 日历时钟 9 中断控制 10.串行口管理 11 LCD 控制器 12.IIS总线接口 13.其他接口管理 1.S3C44B0简介 2.存储器配置 3.时钟和功耗管理 4.CUP Wrapper和总线 特性 5.DMA控制器 6.I/O端口 7.PWM定时器和看门狗 定时器
3
4.5 DMA控制器 -----------简介 概述
S3C44B0X有4路DMA控制器,其中两路称为ZDMA(General DMA)被连到SSB(Samsung System Bus)总线上,另外两路称为BDMA(Bridge DMA)是SSB和SPB(Samsung Peripheral Bus)之间的接口层,相当于一个桥,因此称为桥DMA。
4
4.5 DMA控制器 概述 DMA控制器结构 BDMA
5
4.5 DMA控制器 概述 DMA控制器结构 ZDMA
6
4.5 DMA控制器 -----------ZDMA与BDMA 概述 ZDMA用来在存储器到存储器、存储器到I/O存储器、
ZDMA最大的特性是on-the-fly模式,on-the-fly模式有不可分割的读写周期,在这点上ZDMA与普通的DMA不同,从而可以减少在外部存储器和外部可寻址的外设之间DMA操作的周期数。 ZDMA用来在存储器到存储器、存储器到I/O存储器、 I/O装置到存储器之间传输数据。 BDMA控制器只能在连到SPB上的I/O外设(如UART, IIS和SIO)与存储器之间传输数据。
7
4.5 DMA控制器 -----------ZDMA与BDMA 概述 ZDMA用来在存储器到存储器、存储器到I/O存储器、
对于ZDMA,S3C44B0X有一个4字的FIFO缓冲来支持4字突发DMA传输,而BDMA不支持突发DMA传输,因此存储器之间的传输数据最好用ZDMA传输,来提供高的传输速度。 ZDMA用来在存储器到存储器、存储器到I/O存储器、 I/O装置到存储器之间传输数据。 BDMA控制器只能在连到SPB上的I/O外设(如UART, IIS和SIO)与存储器之间传输数据。
8
4.5 DMA控制器 -----------外部DMA REQ/ACK 协议 概述 ① 握手模式(Handshake Mode)
② 单步模式(Single Step Mode) ③ 连续模式(Whole Service Mode) ④ 手动模式(Demand Mode)
9
4.5 DMA控制器 -----------DMA传输模式 概述 Unit传输模式。1个单位读,然后1个单位写。
Block传输模式。4个字突发读, 然后4个字突发写,因此传输的数据个数应当是16字节的倍数。 On-the-fly 传输模式。1个单位读或1个单位写,读写同时进行。
10
4.5 DMA控制器 -----------ZDMA控制寄存器 DMA寄存器 ZDCONn INT STE QDS CMD 位 [7:6]
[5:4] [3:2] [1:0]
11
4.5 DMA控制器 -----------ZDMA控制寄存器 DMA寄存器 保留 ZDCONn INT STE QDS CMD 位
[7:6] [5:4] [3:2] [1:0] 保留
12
4.5 DMA控制器 -----------ZDMA控制寄存器 DMA寄存器 DMA通道的状态(只读) 00 :就绪 01:未中止计数
ZDCONn INT STE QDS CMD 位 [7:6] [5:4] [3:2] [1:0] DMA通道的状态(只读) 00 :就绪 01:未中止计数 10: 中止计数 11: 不可用 在DMA的传输计数开始之前,STE处于准备状态
13
4.5 DMA控制器 -----------ZDMA控制寄存器 DMA寄存器 忽略/允许外部DMA 请求(nXDREQ)
ZDCONn INT STE QDS CMD 位 [7:6] [5:4] [3:2] [1:0] 忽略/允许外部DMA 请求(nXDREQ) 00: 允许 01: 禁止
14
4.5 DMA控制器 -----------ZDMA控制寄存器 DMA寄存器
ZDCONn INT STE QDS CMD 位 [7:6] [5:4] [3:2] [1:0] 软件命令 00:没有命令。在写01,10,11后,CMD位被自动清除, nXDREQ允许 01:由S/W启动DMA操作,S/W启动功能能用在连 续模式下 10:停止DMA操作,但nXDREQ仍允许 11:取消DMA操作 注意:如果以CMD=01启动ZDMA操作,则DMA请求/应答协议应为连接模式。
15
4.5 DMA控制器 -----------ZDMA初始/当前源地址寄存器ZDISRCn/ ZDCSRCn DMA寄存器 ZDISRCn
DST DAL ISADDR/CSADDR 位 [31:30] [29:28] [:270]
16
4.5 DMA控制器 -----------ZDMA初始/当前源地址寄存器ZDISRCn/ ZDCSRCn DMA寄存器 传输的数据类型
DST DAL ISADDR/CSADDR 位 [31:30] [29:28] [:270] 传输的数据类型 00:字节 01:半字 10:字 11:保留 在块传输模式,DST必须是10
17
4.5 DMA控制器 -----------ZDMA初始/当前源地址寄存器ZDISRCn/ ZDCSRCn DMA寄存器 加载地址变动方向:
DST DAL ISADDR/CSADDR 位 [31:30] [29:28] [:270] 加载地址变动方向: 00:不可用 01:增量 10:减量 11:固定
18
4.5 DMA控制器 -----------ZDMA初始/当前源地址寄存器ZDISRCn/ ZDCSRCn DMA寄存器
DST DAL ISADDR/CSADDR 位 [31:30] [29:28] [:270] ZDMAn 的初始/当前源地址
19
4.5 DMA控制器 -----------ZDMA初始/ 前目标地址寄存器ZDIDESn/ZDCDESn DMA寄存器 OPT DAS
IDADDR/CDADDDR 位 [31:30] [29:28] [27:0]
20
4.5 DMA控制器 -----------ZDMA初始/ 前目标地址寄存器ZDIDESn/ZDCDESn DMA寄存器 OPT DAS
IDADDR/CDADDDR 位 [31:30] [29:28] [27:0] 位名称BIT 描述 OPT[31:30] DMA 内部选项推荐值OPT=10 bit 31:指示在单步模式Nxdreq 如何采样 Bit 30 : 如果DST是半字或字并且DMA 模式不是块传输模式,该位起作用。 1:DMA 做字或半字交换 传输前:B0,B1,B2,B3,B4,B5,B6,B7,…. 字交换后:B3,B2,B1,B0,B4,B5,B6,B7,…
21
4.5 DMA控制器 -----------ZDMA初始/ 前目标地址寄存器ZDIDESn/ZDCDESn DMA寄存器 OPT DAS
IDADDR/CDADDDR 位 [31:30] [29:28] [27:0] 存储地址方向 00:不可用 01:增量 10: 减量 11: 固定
22
4.5 DMA控制器 -----------ZDMA初始/ 前目标地址寄存器ZDIDESn/ZDCDESn DMA寄存器 OPT DAS
IDADDR/CDADDDR 位 [31:30] [29:28] [27:0] ZDMAn的初始/当前目标地址
23
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0]
24
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 选择DMA 请求源 00: nXDREQ[0] 01: nXDREQ[1 10:保留 11: 保留]
25
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] DREQ协议类型 00:握手模式 01:单步模式 10:连续模式 11:手动模式
26
10:块传输模式 11:On_the_fly 传输模式
4.5 DMA控制器 ZDMA初始/当前计数寄存器 ZDICNTn/ ZDCCNTn DMA寄存器 ZDICNTn/ ZDCCNTn QSC QTY TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 传输模式 00:保留 01:单位传输模式 10:块传输模式 11:On_the_fly 传输模式
27
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] On_the_fly 模式 00,01:保留 10:读时间 11:写时间
28
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 中断模式设置 :查询模式 01: 保留 10:无论什么时候传输都产生中断 11:当终止计数时产生中断
29
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 在DMA 计数到0时自动加载和自动开始 0:禁止 1:允许
30
4.5 DMA控制器 -----------ZDMA初始/当前计数寄存器 DMA寄存器 位 ZDICNTn/ ZDCCNTn QSC QTY
TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] DMA H/W 允许/不允许 0:禁止 1:允许
31
ZDMAn 的初始/当前传输计数值,必须正确设置,如果传输单位为 字节,ICNT每次减小1,如果传输单位为半字,ICNT每次减小2
ZDICNTn/ ZDCCNTn DMA寄存器 ZDICNTn/ ZDCCNTn QSC QTY TMD OTF INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] ZDMAn 的初始/当前传输计数值,必须正确设置,如果传输单位为 字节,ICNT每次减小1,如果传输单位为半字,ICNT每次减小2 ,如果传输单位为字,ICNT每次减小4
32
4.5 DMA控制器 -----------BDMA控制寄存器 DMA寄存器 BDCONn INT STE QDS CMD 位 [7:6]
位 [7:6] [5:4] [3:2] [1:0]
33
4.5 DMA控制器 -----------BDMA控制寄存器 DMA寄存器 BDCONn INT STE QDS CMD 位 [7:6]
位 [7:6] [5:4] [3:2] [1:0] 保留
34
在DMA的传输计数开始之前, 处于准备好状态
BDMA控制寄存器 DMA寄存器 BDCONn INT STE QDS CMD 位 [7:6] [5:4] [3:2] [1:0] DMA 通道的状态(只读) 在DMA的传输计数开始之前, 处于准备好状态 00:就绪 01:未中止计数 10:中止计数 11:不可用
35
忽略/允许外部DMA请求(nXDREQ) (UARTn,SIO,IIS,Timer)00:允许 other:禁止
BDMA控制寄存器 DMA寄存器 BDCONn INT STE QDS CMD 位 [7:6] [5:4] [3:2] [1:0] 忽略/允许外部DMA请求(nXDREQ) (UARTn,SIO,IIS,Timer)00:允许 other:禁止
36
00:没有命令。在写入01,10,11后,CMD位被自动清除
4.5 DMA控制器 BDMA控制寄存器 DMA寄存器 BDCONn INT STE QDS CMD 位 [7:6] [5:4] [3:2] [1:0] 软件命令 00:没有命令。在写入01,10,11后,CMD位被自动清除 01/10:保留 11:取消DMA操作
37
4.5 DMA控制器 -----------BDMA初始/当前源地址寄存器BDISRCn/ BDCSRCn DMA寄存器 DST DAL
ISADDR/CSADDR 位 [31:30] [29:28] [27:0]
38
4.5 DMA控制器 -----------BDMA初始/当前源地址寄存器BDISRCn/ BDCSRCn DMA寄存器 DST DAL
ISADDR/CSADDR 位 [31:30] [29:28] [27:0] 传输的数据类型 00: 字节 01:半字 10: 字 11:保留
39
4.5 DMA控制器 -----------BDMA初始/当前源地址寄存器BDISRCn/ BDCSRCn DMA寄存器 DST DAL
ISADDR/CSADDR 位 [31:30] [29:28] [27:0] 加载地址变动方向:00:保留 01: 增量 10: 减量 11: 内部接口固定地址
40
4.5 DMA控制器 -----------BDMA初始/当前源地址寄存器BDISRCn/ BDCSRCn DMA寄存器 DST DAL
ISADDR/CSADDR 位 [31:30] [29:28] [27:0] BDMAn的初始/当前源地址
41
4.5 DMA控制器 -----------BDMA初始/ 前目标地址寄存器BDIDESn/BDCDESn DMA寄存器
TMD DAS IDADDR/CDADDR 位 [31:30] [29:28] [27:0]
42
00:保留01: M2IO (从外部存储器到内部外设)
4.5 DMA控制器 BDMA初始/ 前目标地址寄存器BDIDESn/BDCDESn DMA寄存器 BDIDESn/BDCDESn TMD DAS IDADDR/CDADDR 位 [31:30] [29:28] [27:0] 传输方向模式 00:保留01: M2IO (从外部存储器到内部外设) 10:IO2M(从内部存储器到外部存储器) 11: IO2IO(从内部外设到内部外设)
43
4.5 DMA控制器 -----------BDMA初始/ 前目标地址寄存器BDIDESn/BDCDESn DMA寄存器
TMD DAS IDADDR/CDADDR 位 [31:30] [29:28] [27:0] 地址方向:00:保留 01:增量 10:减量 11:内部接口固定地址
44
4.5 DMA控制器 -----------BDMA初始/ 前目标地址寄存器BDIDESn/BDCDESn DMA寄存器
TMD DAS IDADDR/CDADDR 位 [31:30] [29:28] [27:0] BDMAn的初值/当前目标地址
45
4.5 DMA控制器 -----------BDMA初始/当前计数寄存器 DMA寄存器 位 [31:30] [29:28] [27:26]
BDICNTn/BDCCNTn DMA寄存器 BDICNTn/BDCCNTn QSC Reserved INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0]
46
4.5 DMA控制器 -----------BDMA初始/当前计数寄存器 DMA寄存器 位 [31:30] [29:28] [27:26]
BDICNTn/BDCCNTn DMA寄存器 BDICNTn/BDCCNTn QSC Reserved INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 选择DMA 请求源 00:不用01: IIS 10:UART0 11: SIO
47
4.5 DMA控制器 -----------BDMA初始/当前计数寄存器 DMA寄存器 位 [31:30] [29:28] [27:26]
BDICNTn/BDCCNTn DMA寄存器 BDICNTn/BDCCNTn QSC Reserved INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 00:握手模式
48
4.5 DMA控制器 -----------BDMA初始/当前计数寄存器 DMA寄存器 位 [31:30] [29:28] [27:26]
BDICNTn/BDCCNTn DMA寄存器 BDICNTn/BDCCNTn QSC Reserved INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 01:单位传输模式
49
00:BDMAn不支持on_the_fly 模式
BDICNTn/BDCCNTn DMA寄存器 BDICNTn/BDCCNTn QSC Reserved INTS AR EN ICNT/CCNT 位 [31:30] [29:28] [27:26] [25:24] [23:22] [21] [20] [19:0] 00:BDMAn不支持on_the_fly 模式
50
第4章 目录 8 日历时钟 9 中断控制 1.S3C44B0简介 10.串行口管理 2.存储器配置 11 LCD 控制器 3.时钟和功耗管理
第4章 目录 8 日历时钟 9 中断控制 10.串行口管理 11 LCD 控制器 12.IIS总线接口 13.其他接口管理 1.S3C44B0简介 2.存储器配置 3.时钟和功耗管理 4.CUP Wrapper和总线 特性 5.DMA控制器 6.I/O端口 7.PWM定时器和看门狗 定时器
51
4.6 I/O端口 概述 S3C44B0X 具有71个多功能输入/输出脚。 它们包含在 7 组端口中,每组端口都可以通过
软件配置寄存器来满足不同系统和设计的需要, 在运行程序之前必须对每一个用到的引脚的功能 进行设置。 2 个 9 位输入/输出端口(端口 E和F) 2 个 8 位输入/输出端口(端口 D和 G) 1 个 16 位输入/输出端口(端口 C) 1 个 10 位输出端口(端口 A) 1 个 11 位输出端口(端口 B)
52
4.6 I/O端口 端口控制寄存器 -------端口配置寄存器(PCONA-G) 寄存器名称 位数/引脚 口地址 描述 复位值
1 0x0ld20000 0=功能1 1=功能2 0x3ff PCONB[10:0] 0x01d20008 0=功能1 1=功能 0x7ff PCONC[31:0] 2 0x0ld20010 00=输出 01=输出 10=功能2 11=功能3 0xaaaaaaaa PCOND[15:0] 0x01d2001c 00=输入 01=输出 10=功能 =功能3 0x000 PCONE [17:16] 0x01d20028 00=ENDIAN 01=输出 10=CODECLK 11=保留 0x00 [15:0] 000=输入 01=输出
53
4.6 I/O端口 端口控制寄存器 -------端口配置寄存器(PCONA-G) 寄存器名称 位数/引脚 口地址 描述 复位值 PCONF
[21:10] 3 0X01d20034 000=输入 001=输出 010=功能2 011=功能3 100=功能4 其他=保留 0x0000 [9:0] 2 00=输入 01=输出 10=功能2 11=功能3 FCONG[15:0] 0x01D20040 0x00
54
4.6 I/O端口 端口控制寄存器 -------端口数据寄存器(PDATA-G)
当端口被设置为输出脚时,输出数据的方法就是将数据写入到PDATn的相应位中;当端口被设置位输入脚时,读入数据的方法就是将PDATn中的相应位读出。
55
4.6 I/O端口 端口控制寄存器 -------端口上拉设置寄存器(PUPC-G)
端口上拉寄存器用来设定PC-PG这几组端口是否具有内部上拉。当PUPn的对应位为0时,该引脚上的上拉使能,当为1时,该引脚上的上拉禁能。 当端口被设置为输出脚时,输出数据的方法就是将数据写入到PDATn的相应位中;当端口被设置位输入脚时,读入数据的方法就是将PDATn中的相应位读出。
56
4.6 I/O端口 端口控制寄存器 -------外部中断控制寄存器(EXTINT)
端口上拉寄存器用来设定PC-PG这几组端口是否具有内部上拉。当PUPn的对应位为0时,该引脚上的上拉使能,当为1时,该引脚上的上拉禁能。 当端口被设置为输出脚时,输出数据的方法就是将数据写入到PDATn的相应位中;当端口被设置位输入脚时,读入数据的方法就是将PDATn中的相应位读出。 该寄存器是为 PG 的第 3 功能——外部中断输入口功能设置的,该寄存器可用来设置 EXINT(外部中断)请求输入的模式:低电平触发、高电平触发、下降沿触发、上升沿触发或是边沿触发。
57
4.6 I/O端口 端口控制寄存器 以PF为例 PF 的寄存器有 3个: PCONF,PDATF,PUPF。
58
4.6 I/O端口 端口控制寄存器 以PF为例 PF 的寄存器有 3个: PCONF,PDATF,PUPF。
59
PCONF 位 描述 PF8 [21:19] 000=输入 001=输出 010=nCTSL 011=SIOCLK 100=IISCLK Others=保留 PF7 [18:16] 000=输入 001=输出 010=RxD1 011=SIORxD 100=IISDI Others=保留 PF6 [15:13] 000=输入 001=输出 010=TxD1 011=SIORDY 100=IISDO Others=保留 PF5 [12:10] 000=输入 001=输出 010=nRTS1 011=SIOTxD 100=IISDO Others=保留 PF4 [9:8] 00=输入 01=输出 10=nXBREQ 11=nXDREQ0 PF3 [7:6] 00=输入 01=输出 10=nXBACK 11=nXDACK0 PF2 [5:4] 10=nWAIT 11=保留 PF1 [3:2] 10=IICSDA 11=保留 PF0 [1:0] 00=输入 01=输出 10=IICSCL 11=保留
60
4.6 I/O端口 端口控制寄存器 以PF为例 PF 的寄存器有 3个: PCONF,PDATF,PUPF。
61
PDATF 位 描述 PF[8,0] [8,0] 当端口设定为输入口时,这个寄存器的相应位就对应着引脚的状态 当端口设定为输出口时,输出引脚的状态与寄存器的相应位相同 当端口设定为多功能口时,PDATF中的内容无效
62
4.6 I/O端口 端口控制寄存器 以PF为例 PF 的寄存器有 3个: PCONF,PDATF,PUPF。
63
PUPF 位 描 述 PF[8,0] [8,0] 0:相应位的上拉电阻使用 1:禁止相应位的上拉功能
64
第4章 目录 8 日历时钟 9 中断控制 1.S3C44B0简介 10.串行口管理 2.存储器配置 11 LCD 控制器 3.时钟和功耗管理
第4章 目录 8 日历时钟 9 中断控制 10.串行口管理 11 LCD 控制器 12.IIS总线接口 13.其他接口管理 1.S3C44B0简介 2.存储器配置 3.时钟和功耗管理 4.CUP Wrapper和总线 特性 5.DMA控制器 6.I/O端口 7.PWM定时器和看门狗 定时器
65
4.7 PWM定时器和看门狗定时器 概述 S3C44B0X具有6个16位定时器,每个定时器可以按照中断模式或DMA模式工作。 定时器0,1,2,3和4具有PWM功能(脉宽调制)。定时器5是一个内部定时器不具有对外输出口线。定时器0具有死区发生器,通常用于大电流设备应用。 S3C44B0X的看门狗定时器用来在由于错误如干扰和系统错误造成的程序运行打乱时,恢复正常操作它也能使用一个正常的16位定时器来请求中断服务。看门狗定时器产生复位信号(128个系统时钟周期)。…..
66
4.7 PWM定时器和看门狗定时器 概述 -------特性 3个8 位预分频器和2个5位分割器和1个4位分割器;
6个16 位定时器可以工作在中断模式或 DMA模式; 3个8 位预分频器和2个5位分割器和1个4位分割器; 输出波形的占空比可编程控制(PWM) 自动加载模式或单触发脉冲模式; 死区产生器; 支持外部中断源; 看门狗定时器溢出产生复位信号。
67
4.7 PWM定时器和看门狗定时器 PWM 定时器操作 定时器0和定时器1分享同一个8位的预分频器,
预分频器和分割器 定时器0和定时器1分享同一个8位的预分频器, 定时器2和3分享一个8位预分频器,定时器4和5分享 一个8位预分频器。
69
4.7 PWM定时器和看门狗定时器 PWM 定时器操作 定时器时钟源输出 -------预分频器和分割器 4-位除法器设置 最小时间
(Prescaler=1) 最大时间 (Prescaler=255) 最大间隔时间/S (TCNTBn=65535) 1/2(MCLK=66MHz) 0.030μs(33.0MHz) 7.75μs(58.6kHz) 0.50 1/4(MCLK=66MHz) 0.060μs(33.0MHz) 15.5μs(58.6kHz) 1.02 1/8(MCLK=66MHz) 0.121μs(33.0MHz) 31.0μs(29.3kHz) 2.03 1/16(MCLK=66MHz) 0.242μs(33.0MHz) 62.1μs(14.6kHz) 4.07 1/32(MCLK=66MHz) 0.485μs(33.0MHz) 125μs(7.32kHz) 8.13
70
4.7 PWM定时器和看门狗定时器 PWM 定时器操作 -------基本定时器操作 每个定时器具有一个倒计时器,
实际上是一个通过定时器时钟源 驱动的16位倒计时寄存器TCNTn。 当倒计时数到0,定时器中断请求 就产生了,这个中断通知CPU 定时器定时已经完成。 当定时器倒计时数到达0,寄存器 TCNTBn的对应值就会自动地载入 到倒计时器从而继续下一次操作。
71
定时器操作流程
72
4.7 PWM定时器和看门狗定时器 PWM 定时器操作 -------自动重载和双缓冲器
定时器计数值可以写入TCNTBn,而当前定时器的计数值可以通过TCNTOn (定时计数观察寄存器)读取。 如果读取TCNTBn,那么读出的数值不一定是当前定时器的计数值,但肯定是下一个定时周期的计数值。
73
4.7 PWM定时器和看门狗定时器 PWM 定时器操作 -------自采用手动更新和反馈器初始化定时器
一般,启动定时器的步骤如下: (1) 将初始值写入到TCNTBn和TCMPBn; (2) 设置对应定时器的手动更新位; (3)设置对应定时器的启动位来启动定时器(同时,清除手动更新位)
74
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器0 TCFG0 死区长度 预分频器2 预分频器0
位 [31:24] [23:16] [15:8] [7:0] TCFG0主要是配置3个8位预分频器值和死区长度值。 定时器输入时钟频率=MCLK/{预分频值+1}/{分割值} 其中预分频值为0~255,分割值为2,4,8,16,32。
75
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器0 TCFG0 死区长度 预分频器2 预分频器0
位 [31:24] [23:16] [15:8] [7:0] 这8位确定死区时间长度,死区单元时间长度等于 定时器0的单位时间长度; 初值 0x00
76
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器0 TCFG0 死区长度 预分频器2 预分频器0
位 [31:24] [23:16] [15:8] [7:0] Timer4和Time5的预分频值 初值0x00
77
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器0 TCFG0 死区长度 预分频器2 预分频器0
位 [31:24] [23:16] [15:8] [7:0] Timer2和Time3的预分频值 初值 0x00
78
[7:0] Timer0和Time1的预分频值 初值 0x00
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 定时器配置寄存器0 TCFG0 死区长度 预分频器2 预分频器0 位 [31:24] [23:16] [15:8] [7:0] [7:0] Timer0和Time1的预分频值 初值 0x00
79
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 TCFG1主要是配置6-MUX 和DMA模式
XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] TCFG1主要是配置6-MUX 和DMA模式
80
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 选择DMA请求通道 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] 选择DMA请求通道 初值 000 0000=不选 =Timer =Timerl 0011=Timer2
81
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 选择定时器5的MUX输入 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] 选择定时器5的MUX输入 初值 000 0000=1/ =1/4 0010=1/8 0011=1/16 01xx=EXTCLK
82
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 选择定时器4的MUX输入 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] 选择定时器4的MUX输入 初值 000 0000=1/ =1/ =1/ =1/16 01xx=TCLK
83
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 S选择定时器3的MUX输入 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] S选择定时器3的MUX输入 初值 000 0000=1/ =1/4 0010=1/8 0011=1/16 01xx=1/32
84
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 S选择定时器2的MUX输入 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] S选择定时器2的MUX输入 初值 000 0000=1/ =1/4 0010=1/8 0011=1/16 01xx=1/32
85
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 S选择定时器1的MUX输入 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] S选择定时器1的MUX输入 初值 000 0000=1/ =1/4 0010=1/8 0011=1/16 01xx=1/32
86
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器配置寄存器1 S选择定时器0的MUX输入 初值 000
TCFG1 DMA模式 MUX5 XUX4 MUX3 MUX2 MUX1 MUX0 位 [27:24] [23:20] [19:16] [15:12] [11:8] [7:4] [3:0] S选择定时器0的MUX输入 初值 000 0000=1/ =1/4 0010=1/8 0011=1/16 01xx=1/32
87
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 位 TCON
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20]
88
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器5的自动加载的开/关
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器5的自动加载的开/关 0=不自动加载 1=自动加载 初值 0
89
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器5的手动更新
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器5的手动更新 0=无操作 1=更新TCNTB5 初值 0
90
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器5的启动/停止
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器5的启动/停止 0=停止 1=启动 初值 0
91
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器4的自动加载的开/关
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器4的自动加载的开/关 0=不自动加载 1=自动加载 初值 0
92
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器4输出反转器的开/关
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器4输出反转器的开/关 0=不反转 1=反转TOUT 初值 0
93
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器4的手动更新
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器4的手动更新 0=无操作 1=更新TCNTB4,TCMPB4 初值 0
94
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器 -------定时器控制寄存器(TCON) 这位确定定时器4的启动/停止
Timer5自动重载开/关 Timer5手动更新 Timer5启动/停止 Timer4自动重载开/关 Timer4输出反转开/关 Timer4手动更新 Timer4启动/停止 位 [26] [25] [24] [23] [22] [21] [20] 这位确定定时器4的启动/停止 0=停止 1=启动 初值 0
95
4.7 PWM定时器和看门狗定时器 PWM定时器控制寄存器
定时器n计数缓冲区寄存器和比较缓冲区寄存器(TCNTBn,TCMPBn) TCMPBn是16位定时器Timer0~Timer4比较缓冲器寄存器; TCNTBn是16位定时器Timer0~Timer5计数缓冲寄存器; TCNTOn 是16位定时器Timer0~Timer5观察寄存器. 初值都为0。 在以上的寄存器中,定时器n计数/比较缓冲寄存器可读写寄存器,定时器n计数观察寄存器为只读寄存器。
96
4.7 PWM定时器和看门狗定时器 看门狗定时器 -------概述
S3C44B0X的看门狗定时器用来在由于错误如干扰和系统错误造成的程序运行打乱时恢复正常操作,它也能使用一个正常的16位定时器来请求中断服务。 看门狗定时器产生复位信号128个系统时钟周期。
97
4.7 PWM定时器和看门狗定时器 看门狗定时器 结构
98
t_watchdog = 1/( MCLK/ (Prescaler value + 1)/
4.7 PWM定时器和看门狗定时器 看门狗定时器 看门狗定时器的时钟频率 看门狗时钟频率计算公式如下: t_watchdog = 1/( MCLK/ (Prescaler value + 1)/ Division_factor )
99
4.7 PWM定时器和看门狗定时器 看门狗定时器 -------看门狗定时器寄存器 (1)看门狗定时器控制寄存器
(2) 看门狗定时器数据寄存器 (3) 看门狗定时器计数寄存器
100
第4章 目录 8 日历时钟 9 中断控制 1.S3C44B0简介 10.串行口管理 2.存储器配置 11 LCD 控制器 3.时钟和功耗管理
第4章 目录 8 日历时钟 9 中断控制 10.串行口管理 11 LCD 控制器 12.IIS总线接口 13.其他接口管理 1.S3C44B0简介 2.存储器配置 3.时钟和功耗管理 4.CUP Wrapper和总线 特性 5.DMA控制器 6.I/O端口 7.PWM定时器和看门狗 定时器
101
4.8 日历时钟 概述 实时时钟(RTC)器件是一种能提供日历/时钟、 数据存储等功能的专用集成电路,常用作各种计算机
日历时钟 概述 实时时钟(RTC)器件是一种能提供日历/时钟、 数据存储等功能的专用集成电路,常用作各种计算机 系统的时钟信号源和参数设置存储电路。 RTC (Real Time Clock)单元能在系统断电时,通过备份电池来供电,RTC能通过ARM的STRB/LDRB指令传输8位BCD数据到CPU,该数据包括时、分、秒、小时、天、月和年,RTC使用一个外部32.768的晶体也能执行报警功能。
102
4.8 日历时钟 RTC时钟单元 -------特征 日历功能 支持闰年 解决了2000年问题 独立的供电
日历时钟 RTC时钟单元 特征 日历功能 支持闰年 解决了2000年问题 独立的供电 支持毫秒滴答时间中断作为RTOS核的时间滴答 报警功能
103
日历时钟 RTC时钟单元 结构
105
4.8 日历时钟 RTC时钟单元 -------闰年产生器 -------读/写寄存器要求设置 -------备用电池操作
日历时钟 RTC时钟单元 闰年产生器 读/写寄存器要求设置 备用电池操作 报警功能 节拍中断 循环复位功能
106
4.8 日历时钟 实时时钟寄存器定义 位 3 2 1 -------实时控制寄存器(RTCCON) RTCON CLKRST CNTSEL
日历时钟 实时时钟寄存器定义 实时控制寄存器(RTCCON) RTCON CLKRST CNTSEL CLKSEL RTCEN 位 3 2 1
107
4.8 日历时钟 实时时钟寄存器定义 位 3 2 1 -------实时控制寄存器(RTCCON) RTC时钟计数得位 0=不复位,1=复位
日历时钟 实时时钟寄存器定义 实时控制寄存器(RTCCON) RTCON CLKRST CNTSEL CLKSEL RTCEN 位 3 2 1 RTC时钟计数得位 0=不复位,1=复位
108
4.8 日历时钟 实时时钟寄存器定义 位 3 2 1 -------实时控制寄存器(RTCCON) BCD计数选择 0=合并BCD计数器
日历时钟 实时时钟寄存器定义 实时控制寄存器(RTCCON) RTCON CLKRST CNTSEL CLKSEL RTCEN 位 3 2 1 BCD计数选择 0=合并BCD计数器 (Merge BCD counters)1=保留 (Separate BCD counters)
109
4.8 日历时钟 实时时钟寄存器定义 位 3 2 1 -------实时控制寄存器(RTCCON)
日历时钟 实时时钟寄存器定义 实时控制寄存器(RTCCON) RTCON CLKRST CNTSEL CLKSEL RTCEN 位 3 2 1 BCD时钟选择 0=XTAL1/2分频时钟 1=保留(XTAL clock only for test)
110
4.8 日历时钟 实时时钟寄存器定义 位 3 2 1 -------实时控制寄存器(RTCCON) RTC读写允许 0=禁止,1=允许
日历时钟 实时时钟寄存器定义 实时控制寄存器(RTCCON) RTCON CLKRST CNTSEL CLKSEL RTCEN 位 3 2 1 RTC读写允许 0=禁止,1=允许
111
4.8 日历时钟 实时时钟寄存器定义 -------RTCALM 寄存器 RTCALM 寄存器决定了是否使能报警功能,以及报警时间。
日历时钟 实时时钟寄存器定义 RTCALM 寄存器 RTCALM 寄存器决定了是否使能报警功能,以及报警时间。 寄存器类型 位名称 位 描述 RTCALM RTC 警报控制寄存器 初始值0x00 Reserved [7] ALMEN [6] Alarm全局允许 0=禁止,1=允许 YEAREN [5] 年alarm允许 0=禁止,1=允许 MONREN [4] 月alarm允许 0=禁止,1=允许 DAYEN [3] 天alarm允许 0=禁止,1=允许 HOUREN [2] 小时alarm允许 0=禁止,1=允许 MINEN [1] 分alarm允许 0=禁止,1=允许 SECEN [0] 秒alarm允许 0=禁止,1=允许 注意在掉电模式下,RTCALM 寄存器通过 ALMINT 和 PMWKUP 产生报警信号,但在正常工作模式下只有 ALMINT 模式。
112
4.8 日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器;
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 RTC ROUND是秒复位寄存器。 TICNT 为时间片计数寄存器,它包含时间片中断禁止/允许 控制和时间片计数值。
113
4.8 日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMSEC
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMSEC 秒数据寄存器初始值 0x00 位名称 位 描述 Reserved [7] 保留 SECDATA [4:6] 秒的BCD值(0~5) [0:3] 0~9
114
4.8 日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器;
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMMIN 分钟数据寄存器 初始值0x00 位名称 位 描述 Reserved [7] 保留 MINDATA [4:6] 分钟的BCD值(0~5) [0:3] 0~9
115
4.8 日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器;
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMHOUR 小时数据寄存器 初始值0x00 位名称 位 描述 Reserved [6:7] 保留 HOURDATA [0:3] 小时的BCD值(0~2) [4:5] 0~9
116
4.8 日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器;
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMDAY 日数据寄存器 初始值0x01 位名称 位 描 述 Reserved [ 7׃6] 保留 DAYDATA [ 5:4 ] 日的BCD值(0—3) [ 3׃0] 0—9
117
4.8 日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器;
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMMON 月数据寄存器 初始值0x01 位名称 位 描 述 Reserved [ 7׃6] 保留 MONDATA [ 4 ] 月的BCD值(0—1) [ 3:0 ] 0—9
118
4.8 日历时钟 实时时钟寄存器定义 ALMYEAR 年数据寄存器 初始值0x00 位名称 位 描 述 YEARDATA [ 7:0]
日历时钟 实时时钟寄存器定义 ALMSEC~ALMYEAR为RTC秒、分钟、小时、日、月、 年报警数据寄存器; ALMYEAR 年数据寄存器 初始值0x00 位名称 位 描 述 YEARDATA [ 7:0] 年的BCD值(00—99) SRSTEN [ 3 ] Round秒复位允许 SECCR [ 2׃ 0] 产生秒进位的Round边界 011=大于30秒 100=大于40秒 101=大于50秒
119
4.8 日历时钟 实时时钟寄存器定义 BCDSEC BCD秒数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7 ] 保留
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDSEC BCD秒数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7 ] 保留 SECDATA [ 6׃ 4] 秒的BCD值(0—5) [ 3:0 ] 0—9
120
4.8 日历时钟 实时时钟寄存器定义 BCDMIN BCD分钟数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7 ]
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDMIN BCD分钟数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7 ] 保留 NIMDATA [ 6׃4 ] 分钟的BCD值(0—5) [ 3׃0] 0—9
121
4.8 日历时钟 实时时钟寄存器定义 BCDHOUR BSD小时数据寄存器 初始值未定义 位名称 位 描 述 Reserved
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDHOUR BSD小时数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7׃ 6] 保留 HOURDATA [ 5׃ 4] 小时的BCD值(0—2) [ 3׃ 0] 0—9
122
4.8 日历时钟 BCDDAY BCD日数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7׃ 6] 保留 DAYDATA
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDDAY BCD日数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7׃ 6] 保留 DAYDATA [ 5:4 ] 日的BCD值(0—3) [ 3:0 ] 0—9
123
4.8 日历时钟 BCDDATE BCD星期数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7׃ 3] 保留
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDDATE BCD星期数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7׃ 3] 保留 DATTEDATA [ 2:0 ] 星期的BCD值(1—7)
124
4.8 日历时钟 实时时钟寄存器定义 BCDMON BCD月数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7:5 ]
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDMON BCD月数据寄存器 初始值未定义 位名称 位 描 述 Reserved [ 7:5 ] 保留 MONDATA [ 4 ] 月的BCD值(0—1) [3׃0] 0—9
125
4.8 日历时钟 实时时钟寄存器定义 BCDYEAR BCD年数据寄存器 初始值未定义 位名称 位 描 述 YEARDATA [ 7׃0]
日历时钟 实时时钟寄存器定义 BCDSEC~BCDYEAR为秒、分钟、小时、日、星期、 月、年数据寄存器。 BCDYEAR BCD年数据寄存器 初始值未定义 位名称 位 描 述 YEARDATA [ 7׃0] 年的BCD值(00—99)
126
4.8 日历时钟 实时时钟寄存器定义 TICNT 为时间片计数寄存器,它包含时间片中断禁止/允许 控制和时间片计数值。
日历时钟 实时时钟寄存器定义 TICNT 为时间片计数寄存器,它包含时间片中断禁止/允许 控制和时间片计数值。 TICNT 时间滴答计数寄存器 初始值0x00 位名称 位 描 述 TICK INT ENABLE [ 7 ] 时间滴答中断允许 0=禁止 1=允许 TICK TIME COUNT [ 6׃0] 时间滴答计数值(1—127) 这个计数值内部递减,用户不能读它的实时值.
127
第4章 目录 8 日历时钟 9 中断控制 1.S3C44B0简介 10.串行口管理 2.存储器配置 11 LCD 控制器 3.时钟和功耗管理
第4章 目录 8 日历时钟 9 中断控制 10.串行口管理 11 LCD 控制器 12.IIS总线接口 13.其他接口管理 1.S3C44B0简介 2.存储器配置 3.时钟和功耗管理 4.CUP Wrapper和总线 特性 5.DMA控制器 6.I/O端口 7.PWM定时器和看门狗 定时器
128
中断管理 概述 S3C44B0X 的中断控制器可以接收来自 30 个中断源的请求。中断控制器的作用,就是响应来自FIQ 或 IRQ 的中断,并请求内核对中断进行处理。 当有多个中断同时发生的时候,中断控制器要决定首先处理哪一个中断。
129
4.9 中断管理 中断控制器 ARM7TDMI 有 2 种类型的中断模式,FIQ(快速中断请求)或 IRQ(普通中断请求)。
中断管理 中断控制器 中断模式 ARM7TDMI 有 2 种类型的中断模式,FIQ(快速中断请求)或 IRQ(普通中断请求)。
130
4.9 中断管理 中断控制器 -------PSR的 F 位和 I 位 PSR 指 ARM7TDMI 处理器的程序状态寄存器。
中断管理 中断控制器 PSR的 F 位和 I 位 PSR 指 ARM7TDMI 处理器的程序状态寄存器。 如果 PSR 的 F 位被设置为1,处理器将不接受来自中断控制器的 FIQ。如果 PSR 的 I 位被设置为 1,处理器将不接受来自中断控制器的 IRQ。 因此,为了使能中断相应机制,PSR 的 F 位或 I 位必须被清 0,同时 INTMASK的相应位必须被清 0。
131
中断管理 中断控制器 中断源 在 30 个中断源中,有 26 个中断源提供给中断控制器。4 个外部中断(EINT4/5/6/7)请求是通过“或”的形式提供为 1 个中断源送至中断控制器,因此,ISR(中断服务程序)要通过读取 EXTINPND[3:0]寄存器来区别这 4 个中断源。 它们的中断处理程序(ISR)必须在处理结束时将EXTINPND[3:0]中对应位写 1 来清除该位。2 个 UART 错误中断占用一个中断源。
132
中断源 对应控制位 外部中断0 [ 25 ] 定时器1中断 [ 12 ] 外部中断1 [ 24 ] 定时器2中断 [ 11 ] 外部中断2 [ 23 ] 定时器3中断 [ 10 ] 外部中断3 [ 22 ] 定时器4中断 [ 9 ] 外部中断4/5/6/7 [ 21 ] 定时器5中断 [ 8 ] RTC时间片中断 [ 20 ] UART0接收中断 [ 7 ] ZDMA0中断 [ 19 ] UART1接收中断 [ 6 ] ZDMA1中断 [ 18 ] IIC-中断 [ 5 ] BDMA0中断 [ 17 ] SIO-中断 [ 4 ] BDMA1中断 [ 16 ] UART0 发送中断 [ 3 ] 看门狗中断 [ 15 ] UART1发送中断 [ 2 ] UART0/1错误中断 [ 14 ] RTC报警中断 [ 1 ] 定时器0中断 [ 13 ] ADC转换结束中断 [ 0 ]
133
中断源 描述 主组 从组 中断向量地址 EINT0 外部中断0 mGA sGA 0x EINT1 外部中断1 sGB 0x EINT2 外部中断2 sGC 0x EINT3 外部中断3 sGD 0x c EINT4/5/6/7 外部中断4/5/6/7 sGKA 0x TICK RTC时间片中断 sGKB 0x INT_ZDMA0 ZDMA0中断 mGB 0x INT_ZDMA1 ZDMA1中断 0x INT_BDMA0 BDMA0中断 0x INT_BDMA1 BDMA1中断 0x c INT_WDT 看门狗中断 0x INT_UERR0/1 UART0/1错误中断 0x INT_TIMER0 定时器0中断 mGC 0x
134
4.9 中断管理 中断控制器 -------中断优先级产生模块
中断管理 中断控制器 中断优先级产生模块 中断优先级产生模块包含5个单元:1个主单元和4个辅单元。每个辅单元管理6个中断源。主单元管理4个辅单元和2个中断源。
135
中断管理 中断管理寄存器 中断控制寄存器 INTCON Reserved V I F 位 3 2 1
136
中断管理 中断管理寄存器 中断控制寄存器 INTCON Reserved V I F 位 3 2 1 保留 初值:0
137
4.9 中断管理 中断管理寄存器 INTCON Reserved V I F 位 3 2 1 -------中断控制寄存器
中断管理 中断管理寄存器 中断控制寄存器 INTCON Reserved V I F 位 3 2 1 允许/禁止IRQ使用向量模式 初值:1 0:允许 1:禁止
138
4.9 中断管理 中断管理寄存器 INTCON Reserved V I F 位 3 2 1 -------中断控制寄存器
中断管理 中断管理寄存器 中断控制寄存器 INTCON Reserved V I F 位 3 2 1 允许/禁止IRQ中断 初值:1 0:允许 1:禁止
139
4.9 中断管理 中断管理寄存器 INTCON Reserved V I F 位 3 2 1 -------中断控制寄存器
中断管理 中断管理寄存器 中断控制寄存器 INTCON Reserved V I F 位 3 2 1 允许/禁止FRQ中断 初值:1 0:允许 1:禁止
140
4.9 中断管理 中断管理寄存器 -------其他寄存器 (1) 中断请求寄存器 INTPND (2) 中断模式寄存器 INTMOD
中断管理 中断管理寄存器 其他寄存器 (1) 中断请求寄存器 INTPND (2) 中断模式寄存器 INTMOD (3) 中断屏蔽寄存器 INTMSK (4) IRQ 矢量模式寄存器 (5) IRQ/FIQ中断服务寄存器
Similar presentations