121
4 4 S3C44B0X S3C44B0X 硬件结 硬件结 构及功能 构及功能 本章主要介绍了 S3C44B0X 的体系结 构及各种功能接口,主要包括以下内容: 1.存储器管理 2.系统总线及时钟 3.中断管理 4.DMA 、 I/O 口、定时器、 A/D 、 I2 C、 SPI 等接口结构

第 4 章 S3C44B0X 硬件结构及功能

Embed Size (px)

DESCRIPTION

第 4 章 S3C44B0X 硬件结构及功能. 本章主要介绍了 S3C44B0X 的体系结构及各种功能接口,主要包括以下内容: 存储器管理 系统总线及时钟 中断管理 DMA 、 I/O 口、定时器、 A/D 、 I2C 、 SPI 等接口结构. 4.1 S3C44BOX 简介. SAMSUNG 公司推出的 16/32 位 RISC 处理器 S3C44BOX 为手持设备和一般应用提供了高性价比和高性能的微控制器解决方案。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第 4 章  S3C44B0X 硬件结构及功能

第第 44 章 章 S3C44B0XS3C44B0X 硬件结硬件结构及功能构及功能

本章主要介绍了 S3C44B0X 的体系结构及各种功能接口,主要包括以下内容:

1.存储器管理2.系统总线及时钟3.中断管理4.DMA 、 I/O 口、定时器、 A/D 、 I2

C 、 SPI 等接口结构

Page 2: 第 4 章  S3C44B0X 硬件结构及功能

4.1 S3C44BOX4.1 S3C44BOX 简介简介 SAMSUNGSAMSUNG 公司推出的公司推出的 16/3216/32 位位 RISCRISC 处理处理

器器 S3C44BOXS3C44BOX 为手持设备和一般应用提供了高为手持设备和一般应用提供了高性价比和高性能的微控制器解决方案。性价比和高性能的微控制器解决方案。

为了降低成本,为了降低成本, S3C44BOXS3C44BOX 提供了丰富的提供了丰富的内置部件,包括:内置部件,包括: 8KBCache8KBCache 和内部和内部 SRAMSRAM ,,LCDLCD 控制器,带自动握手的控制器,带自动握手的 22 通道通道 UARTUART ,, 44 通通道道 DMADMA ,系统管理器(片选逻辑,,系统管理器(片选逻辑, FP/EDO/SDFP/EDO/SDRAMRAM 控制器),带控制器),带 PWMPWM 功能的功能的 55 通道定时器和通道定时器和一个内部定时器,一个内部定时器, I/OI/O 端口,端口, RTCRTC ,, 88 通道通道 1010位位 ADCADC ,, ІІC—BUSІІC—BUS 接口,接口, ІІS—BUSІІS—BUS 接口,同接口,同步步 SIOSIO 接口和接口和 PLLPLL 倍频器。倍频器。

Page 3: 第 4 章  S3C44B0X 硬件结构及功能

S3C44BOXS3C44BOX 是使用是使用 ARM7TDMIARM7TDMI 内内核,采用核,采用 0.25μmCMOS0.25μmCMOS 工艺制造。它工艺制造。它的低功耗和全静态设计特别适用于对成的低功耗和全静态设计特别适用于对成本和功耗敏感的应用。本和功耗敏感的应用。

同样地,同样地, S3C44BOXS3C44BOX 还采用了一还采用了一种新的总线结构,即种新的总线结构,即 SAMBAIISAMBAII (三星(三星ARMCPUARMCPU 嵌入式微处理器总线结构)。嵌入式微处理器总线结构)。

S3C44BOXS3C44BOX 的杰出特性是它的的杰出特性是它的 CPUCPU 核,核,是由是由 ARMARM 公司设计的公司设计的 16/3216/32 位位 ARM7TDMI ARM7TDMI RISCRISC 处理器(处理器( 66MHz66MHz )。它包括了)。它包括了 ThumThumbb 代码压缩器,一个片上的代码压缩器,一个片上的 ICEICE 断点调试支断点调试支持和一个持和一个 3232 位的硬件乘法器。位的硬件乘法器。

Page 4: 第 4 章  S3C44B0X 硬件结构及功能

S3C44BOXS3C44BOX 通过提供全面的、通用的焉上外设,大通过提供全面的、通用的焉上外设,大大减少了系统中除处理器以外的元器件配置,从而使系大减少了系统中除处理器以外的元器件配置,从而使系统的成本大为降低。统的成本大为降低。

S3C44BOXS3C44BOX 集成的各种集成的各种片上功能片上功能如下:如下:(( 11 )) 2.5V ARM7TDMI2.5V ARM7TDMI 内核,带有内核,带有 8KB Cache8KB Cache ;;(( 22 )可选的内部)可选的内部 SRAMSRAM ;;(( 33 )) LCDLCD 控制器(最大支持控制器(最大支持 256256 色色 DSTNDSTN ,, LL

CDCD 具有专用具有专用 DMADMA ););(( 44 )) 22 通道通道 UARTUART 带有握手协议(支持带有握手协议(支持 IrDA1.IrDA1.

00 ,具有,具有 16-byte FIFO16-byte FIFO ););(( 55 )) 11 通道通道 SIOSIO ;;(( 66 )) 22 个通用个通用 DMADMA ;;(( 77 )) 22 个外设用个外设用 DMADMA ,具有外部请求引脚;,具有外部请求引脚;

Page 5: 第 4 章  S3C44B0X 硬件结构及功能

(( 88 )外部存储控制器(片选逻辑,)外部存储控制器(片选逻辑, FP/EDO/SDRAFP/EDO/SDRAMM 控制器);控制器);(( 99 )) 55 个个 PWMPWM 定时器和定时器和 11 通道内部定时器;通道内部定时器;(( 1010 )看门狗定时器;)看门狗定时器;(( 1111 )) 7171 个通用个通用 I/OI/O 口;口;(( 1212 )) 88 个外部中断源;个外部中断源;(( 1313 )具有日历功能的)具有日历功能的 RTCRTC ;;(( 1414 )) 88 通道通道 1010 位位 ADCADC ;;(( 1515 )) 11 个多主个多主 IICIIC 总线控制器;总线控制器;(( 1616 )) 11 个通道个通道 IISIIS 总线控制器;总线控制器;(( 1717 )片上)片上 PLLPLL 时钟产生器。时钟产生器。

Page 6: 第 4 章  S3C44B0X 硬件结构及功能

1.S3C44BOX1.S3C44BOX 的特性的特性(( 11 )体系结构。)体系结构。 S3C44BOXR S3C44BOXR 的的体系结构特性体系结构特性如下:如下:

①① 集成了手持设备和通用嵌入式系统应用的解决方集成了手持设备和通用嵌入式系统应用的解决方案;案;

②② 16/3216/32 位位 RISCRISC 体系结构和体系结构和 ARM7TDMIARM7TDMI 处理器处理器内核强大的指令体系;内核强大的指令体系;

③③ ThumbThumb 代码压缩机,最大化代码密度同时保持代码压缩机,最大化代码密度同时保持了了 3232 位指令的性能;位指令的性能;

④④ 基于基于 JTAGJTAG 的片上集成的片上集成 ICEICE 调方式支持解决方调方式支持解决方案;案;

⑤⑤ 32×832×8 位硬件乘法器;位硬件乘法器;⑥⑥ 实现低功耗实现低功耗 SAMBAIISAMBAII 的新型总线结构。的新型总线结构。

Page 7: 第 4 章  S3C44B0X 硬件结构及功能

(( 22 )系统管理器。)系统管理器。S3C44BOXS3C44BOX 系统管理器特性系统管理器特性如下:如下:①①支持大支持大 // 小方式;小方式;②②寻址空间:每寻址空间:每 Bank32MBBank32MB (共(共 256MB256MB ););③③支持每支持每 BankBank 可编程可编程 8/16/328/16/32 位数据总线宽度;位数据总线宽度;④④77 个个 BankBank 具有固定的具有固定的 BankBank 起始地址和可编程起始地址和可编程 BankBank 大大

小小 ;;⑤⑤11 个个 BankBank 具有可编程的具有可编程的 BankBank 起始地址和起始地址和 BankBank 大小。大小。⑥⑥88 个存储器个存储器 BankBank ,包括,包括 66 个个 ROMROM ,, SRAMSRAM 存储器存储器 BaBa

nknk 和和 22 个个 ROM/SRAM/DRAMROM/SRAM/DRAM (快速页面,(快速页面, EDOEDO 和同步和同步 DDRAMRAM )存储器)存储器 BankBank ;;

⑦⑦所有的存储器所有的存储器 BankBank 具有可编程的操作周期;具有可编程的操作周期;⑧⑧支持外部等待信号延长总线周期;支持外部等待信号延长总线周期;⑨⑨支持掉电时支持掉电时 DRAM/SDRAMDRAM/SDRAM 的自刷新模式;的自刷新模式;⑩⑩支持均匀支持均匀 // 非均匀的非均匀的 DRAMDRAM 地址。地址。

Page 8: 第 4 章  S3C44B0X 硬件结构及功能

(( 33 )) CacheCache 存储器和内部存储器和内部 SRAMSRAM 。。S3C44BOXS3C44BOX 的的 CacheCache 存储器存储器和和内部内部 SRASRA

MM 特性特性如下如下 ::①① 一体化的一体化的 8KBCache8KBCache ;;②② 未用的未用的 CacheCache 空间用来作为空间用来作为 0/4/8KB0/4/8KB 的的

SRAMSRAM 存储空间;存储空间;③③ 支持支持 LRULRU (近期最少使用)替换算法;(近期最少使用)替换算法;④④ 采用保持主存储器与采用保持主存储器与 CacheCache 内容一致性内容一致性

的策略;的策略;⑤⑤ 写存储器具有写存储器具有 44 线深度;线深度;⑥⑥ 当当 CacheCache 错误发生时,采用“请求数据错误发生时,采用“请求数据

优先填充”技术。优先填充”技术。

Page 9: 第 4 章  S3C44B0X 硬件结构及功能

(( 44 )时钟和电源管理。)时钟和电源管理。S3C44BOSS3C44BOS 的的时钟时钟和和电源管理特性电源管理特性如下。如下。①① 低功耗。低功耗。②② 片上片上 PLLPLL 使处理器工作时钟最大达到使处理器工作时钟最大达到 66MHz66MHz 。。③③ 可以通过软件设置各功能模块的输入时钟。可以通过软件设置各功能模块的输入时钟。④④ 电源模式:正常、慢、空闲和停止模式。电源模式:正常、慢、空闲和停止模式。•正常模式:正常、慢、空闲和停止模式。正常模式:正常、慢、空闲和停止模式。•慢模式:不加慢模式:不加 PLLPLL 的低时钟频率模式;的低时钟频率模式;•空闲模式:只停止空闲模式:只停止 CPUCPU 的时钟;的时钟;•停止模式:停止所有的时钟。停止模式:停止所有的时钟。⑤⑤通过通过 EINT [7:0] EINT [7:0] 或或 RTCRTC报警中断从停止模式唤醒。报警中断从停止模式唤醒。

Page 10: 第 4 章  S3C44B0X 硬件结构及功能

(5)(5) 中断控制器。中断控制器。S3C44BOXS3C44BOX 的的中断控制器特性中断控制器特性如下:如下:①① 3030 个中断源(看门狗定时器,个中断源(看门狗定时器, 66 个定时器,个定时器, 66

个定时器,个定时器, 66 个个 UARTUART ,, 88 个外部中断,个外部中断, 44 个个DMADMA ,, 2WH RTC2WH RTC ,, 11 个个 ADCADC ,, 11 个个 IICIIC ,,11 个个 SIOSIO ););

②② 采用向量化的采用向量化的 IRQIRQ 中断模式以减少中断的延迟中断模式以减少中断的延迟 ;;

③③ 电平电平 //边沿模式触发外部中断;边沿模式触发外部中断;④④ 电平电平 //边沿模式具有可编程的优先级;边沿模式具有可编程的优先级;⑤⑤ 支持支持 FIQFIQ 为紧急的中断请求进行服务。为紧急的中断请求进行服务。

Page 11: 第 4 章  S3C44B0X 硬件结构及功能

(( 66 )定时器和)定时器和 PWMPWM (脉宽调制)。(脉宽调制)。S3C44BOXS3C44BOX 定时器定时器和和 PWMPWM 特性特性如下:如下:①① 通道通道 1616 位具有位具有 PWMPWM 功能的定时器,功能的定时器, 11

通道通道 1616 位内部定时器(可进行基于位内部定时器(可进行基于 DMADMA 或或中断的操作);中断的操作);

②② 可编程的占空比周期,频率,和优先级;可编程的占空比周期,频率,和优先级;③③ 产生死区;产生死区;④④ 支持外部时钟源。支持外部时钟源。

Page 12: 第 4 章  S3C44B0X 硬件结构及功能

(7)PTC(7)PTC (实时时钟)。(实时时钟)。 S3C44BOX S3C44BOX RTCRTC 特性特性如下:如下:①① 充分的时钟特性:毫秒、秒、分钟、小时、日、充分的时钟特性:毫秒、秒、分钟、小时、日、

星期、月、年;星期、月、年;②② 32.768kHz32.768kHz 时钟;时钟;③③ 定时警报,可用于唤醒定时警报,可用于唤醒 CPUCPU ;;④④ 时钟节拍中断。时钟节拍中断。

(8)(8) 通用通用 I/OI/O 口。口。 S3C44BOXS3C44BOX 通用通用 I/OI/O 口特性口特性如下:如下:①① 88 个外部中断口;个外部中断口;②② 7171 个多功能输入输出口。个多功能输入输出口。

Page 13: 第 4 章  S3C44B0X 硬件结构及功能

(9)UART(9)UART (通用异步串行通信)。(通用异步串行通信)。 S3C44BOX S3C44BOX UARTUART 特性特性如下:如下:①① 22 通道通道 UARTUART ,可进行基于,可进行基于 DMADMA 可中断的操可中断的操

作;作;②② 支持支持 55 位,位, 66 位,位, 77 位或位或 88 位串行数据传输位串行数据传输 //

接收接收 ;;

③③ 支持硬件握手功能;支持硬件握手功能;④④ 可编程的波特率;可编程的波特率;⑤⑤ 支持支持 IrDA1.0IrDA1.0 (( 115.2Kb/s115.2Kb/s ););⑥⑥ 支持用于测试的回馈模式;支持用于测试的回馈模式;⑦⑦ 每个通道具有每个通道具有 22 个内部个内部 32B32B 的的 FIFOFIFO分别用于分别用于输入输出。输入输出。

Page 14: 第 4 章  S3C44B0X 硬件结构及功能

(( 1010 )) DMADMA (直接存储器操作)控制器。(直接存储器操作)控制器。 S3C44BOX S3C44BOX DMADMA 控制器控制器特性如下特性如下①① 22 通道通用通道通用 DMADMA 控制器(不需要控制器(不需要 CPUCPU干预)。干预)。②② 22 通道通道 DMADMA桥(外设桥(外设 DMADMA )控制器。)控制器。③③ 支持支持 I/OI/O 到存储器,存储器到到存储器,存储器到 I/OI/O ,, I/OI/O 到到 I/OI/O 的的 66

种种 DMADMA 请求:软件,请求:软件, 44 个内部功能模块(个内部功能模块( UARTUART ,,SIOSIO ,定时器,,定时器, IISIIS )和外部引脚。)和外部引脚。

④④ 在同时发生的多个在同时发生的多个 DMADMA之间具有可编程的优先级之间具有可编程的优先级顺序。顺序。

⑤⑤ 采用触发式的传输模式以提高采用触发式的传输模式以提高 FPDAMFPDAM ,, EDODREDODRAMAM 和和 SDRAMSDRAM 的数据传输速率。的数据传输速率。

⑥⑥ 支持在外部设备到存储器和存储器到外部设备之间支持在外部设备到存储器和存储器到外部设备之间采用采用 fly-byfly-by 模式。模式。

Page 15: 第 4 章  S3C44B0X 硬件结构及功能

(11)A/D(11)A/D转换器。转换器。S3C44BOXS3C44BOX 的的 A/DA/D转换器特性转换器特性如下:如下:①① 88 通道的通道的 ADCADC ;;②② 最大最大 100KSPS/10100KSPS/10 位。位。(12)LCD(12)LCD 控制器。控制器。S3C44BOXS3C44BOX 的的 LCDLCD 控制器特性控制器特性如下:如下:①① 支持彩色支持彩色 //黑白黑白 //灰度灰度 LCDLCD屏;屏;②② 支持单路扫描和双路扫描;支持单路扫描和双路扫描;③③ 支持虚拟显示屏功能;支持虚拟显示屏功能;④④ 系统存储器用来作为显示存储器;系统存储器用来作为显示存储器;⑤⑤ 用专门的用专门的 DMADMA 从系统存储器中获得图像数据;从系统存储器中获得图像数据;⑥⑥ 可编程的屏幕大小;可编程的屏幕大小;⑦⑦ 灰度等级:灰度等级: 1616级灰度;级灰度;⑧⑧ 256256 种颜色。种颜色。

Page 16: 第 4 章  S3C44B0X 硬件结构及功能

(13)(13) 看门狗定时器。看门狗定时器。S3C44BOXS3C44BOX 的的看门狗定时器特性看门狗定时器特性如下:如下:①① 1616 位的看门狗定时器;位的看门狗定时器;②② 在定时器溢出时发出中断请求或系统复位;在定时器溢出时发出中断请求或系统复位;(14)IIC(14)IIC 总线接口。总线接口。S3C44BOXS3C44BOX 的的 IICIIC 总线接口特性总线接口特性如下:如下:①① 11 通道多主通道多主 IICIIC 总线,可进行基于中断的操作模式;总线,可进行基于中断的操作模式;②② 可进行串行,可进行串行, 88 位,双向数据传输,标准模式速度位,双向数据传输,标准模式速度

达到达到 100Kb/s100Kb/s ,快速模式达到,快速模式达到 400kb400kb 。。(15)IIS(15)IIS 总线接口。总线接口。S3C44BOXS3C44BOX 的的 IISIIS 总线接口特性总线接口特性如下:如下:①① 11 通道章频通道章频 IISIIS 总线接口,可进行基于总线接口,可进行基于 DMADMA 的操作;的操作;②② 串行,每通道串行,每通道 8/168/16 位数据传输;位数据传输;③③ 支持支持 MSB-justifiedMSB-justified 数据格式。数据格式。

Page 17: 第 4 章  S3C44B0X 硬件结构及功能

(16)SIO(16)SIO (同步串行(同步串行 I/OI/O )。)。S3C44BOXS3C44BOX 的的 SIOSIO 特性特性如下:如下:①① 11 通道通道 SIOSIO ,可进行基于,可进行基于 DMADMA或中断的操作;或中断的操作;②② 可编程的波特率;可编程的波特率;③③ 支持支持 88 位串行数据的传输和接收操作。位串行数据的传输和接收操作。(17)(17) 工作电压范围。工作电压范围。S3C44BOXS3C44BOX 的工作电压范围如下:的工作电压范围如下:内核内核 2.5V2.5V ,, I/OI/O 口:口: 3.0~3.6V3.0~3.6V 。。(18)(18) 工作频率。工作频率。S3C44BOXS3C44BOX 的最大工作频率为:的最大工作频率为: 66MHz66MHz 。。(19)(19)封装。封装。S3C44BOXS3C44BOX 的封装形式为:的封装形式为:160LQFP/160FBGA160LQFP/160FBGA 。。

Page 18: 第 4 章  S3C44B0X 硬件结构及功能

2.2. 体系结构图体系结构图体系结构图体系结构图S3C44BOXS3C44BOX 结构如图表结构如图表 4—14—1 所示。所示。图图 4—1 S3C44BOX4—1 S3C44BOX 结构图结构图

引脚介绍引脚介绍S3C44BOXS3C44BOX 引脚分布如图引脚分布如图 4—24—2 所示。所示。图图 4—2 S3C44BOX4—2 S3C44BOX 策处理器管脚定义图策处理器管脚定义图

引脚信号描述如表引脚信号描述如表 4—14—1 所示。所示。

Page 19: 第 4 章  S3C44B0X 硬件结构及功能

4.24.2 存储器管理存储器管理4.2.1 S3C44BOX4.2.1 S3C44BOX 存储系统的特征存储系统的特征S3C44BOXS3C44BOX 的存储系统具有以下一些的存储系统具有以下一些主要特性主要特性::①① 支持数据存储的大、小端选择(通过外部引脚进行选择);支持数据存储的大、小端选择(通过外部引脚进行选择);

有大端模式和小端模式。有大端模式和小端模式。②② 地址空间具有地址空间具有 88 个存储体,每个存储体可达个存储体,每个存储体可达 32MB32MB ,总共可,总共可

达到达到 256MB256MB ;;③③ 对所有存储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变( 88 位位 /16/16 位位 /32/32

位),总线宽度可编程;位),总线宽度可编程;④④ 88 个存储器中,个存储器中, Bank0~Bank5Bank0~Bank5 可支持可支持 ROMROM 、、 SRAMSRAM ;; BB

ank6ank6 、、 Bank7Bank7 可支持可支持 ROMROM 、、 SRAMSRAM 和和 FP/EDO/SDRAMFP/EDO/SDRAM 等,等, BBank6ank6 和和 Bank7Bank7 存贮容量大小相同;存贮容量大小相同;

⑤⑤ 77 个存储器的起始地址固定,个存储器的起始地址固定, 11 个存储器的起始地址可变。个存储器的起始地址可变。(即第(即第 88 个可变)个可变)

图图 4—34—3 所示是复位后的存储器映射表,所示是复位后的存储器映射表, Bank6/Bank7Bank6/Bank7 存储器存储器的地址表如表的地址表如表 4—24—2 所示。所示。

Page 20: 第 4 章  S3C44B0X 硬件结构及功能

11 、存储器的大、存储器的大 // 小端模式小端模式ENDIANENDIAN 第一存储器的第一存储器的大大 // 小端模式小端模式,当,当 ENDIANENDIAN

为为 LL 时则使用大端模式,大时则使用大端模式,大 // 小端模式之所以存在是因小端模式之所以存在是因为当在存储器中存储不同字长的数据时,大为当在存储器中存储不同字长的数据时,大 // 小端模式小端模式定义了不同长度的数据类型的对齐方式。定义了不同长度的数据类型的对齐方式。

因为因为 Bank0Bank0 是系统自举是系统自举 ROMROM 存储体,所以必须在存储体,所以必须在访问访问 ROMROM之前定义之前定义 Bank0Bank0 的总线宽度见表的总线宽度见表 4—34—3 。。

其他存储体的总线宽度只能在系统复位后由程序进其他存储体的总线宽度只能在系统复位后由程序进行设定,由地址为行设定,由地址为 0x01c80000x01c8000 的特殊寄存器的特殊寄存器 BWSCONBWSCON的相应位决定。的相应位决定。

Page 21: 第 4 章  S3C44B0X 硬件结构及功能

22 、存储器(、存储器( SROMSROM ,, DRAMDRAM ,, SSDRAMDRAM )地址引脚连接)地址引脚连接

存储器地址引脚连接如存储器地址引脚连接如表表 4—44—4 所示。由于作用所示。由于作用1616 位数据总线,所以将存储器的位数据总线,所以将存储器的 A0A0 与与 S3C44BOXS3C44BOX的的 A1A1 对应连接在一起。对应连接在一起。

存储地址引脚存储地址引脚 88位数据总线下的位数据总线下的S3C44B0XS3C44B0X地址地址

1616位数据总线下的位数据总线下的S3C44B0XS3C44B0X地址地址

3232位数据总线下位数据总线下的的 S3C44B0XS3C44B0X地地

址址

A0A0 A0A0 A1A1 A2A2

A1A1 A1A1 A2A2 A3A3

A2A2 A2A2 A3A3 A4A4

A3A3 A3A3 A4A4 A5A5

┇┇ ┇┇ ┇┇ ┇┇

Page 22: 第 4 章  S3C44B0X 硬件结构及功能

33 、典型系统中存储器的分配情况、典型系统中存储器的分配情况典型系统中存储器分配情况如表典型系统中存储器分配情况如表 4—54—5 所示。所示。只要将只要将 CPUCPU 上的相应上的相应 BankBank连线接到外设芯片的片连线接到外设芯片的片

选引脚上,便可以根据相应的地址进行存储器或外设操作选引脚上,便可以根据相应的地址进行存储器或外设操作了。了。

在本系统中,在本系统中,存储器的配置存储器的配置依照依照 PCPC 的结构:的结构:

使用使用 Bank0Bank0 上的两片上的两片 512KB×2512KB×2 存储器来放置系统存储器来放置系统 BIBIOSOS ,系统上电以后,,系统上电以后, PCPC 指针自动指向指针自动指向 Bank0Bank0 的第一个的第一个单元,开始进行系统自举。单元,开始进行系统自举。

系统自举完成以后,便从硬盘中将系统文件和用户应系统自举完成以后,便从硬盘中将系统文件和用户应用程序复制到用程序复制到 SDRAMSDRAM 内存中执行。内存中执行。

Page 23: 第 4 章  S3C44B0X 硬件结构及功能

Bank1Bank1 上接上接 16MB16MB 非线性非线性 FlashFlash ,当作系统硬盘,当作系统硬盘使用,可以构造文件系统,存放海量数据。使用,可以构造文件系统,存放海量数据。

用用 SDRAMSDRAM 当作系统内存,只有当作系统内存,只有 Bank6/Bank7Bank6/Bank7能支持能支持 SDRAMSDRAM ,所以将,所以将 SDRAMSDRAM 接在接在 Bank6H Bank6H 。。

如果同时使用如果同时使用 Bank6/Bank7Bank6/Bank7 ,则要求连接相同容,则要求连接相同容量的存储器,而且其地地址空间在物理上是连续的。量的存储器,而且其地地址空间在物理上是连续的。

Page 24: 第 4 章  S3C44B0X 硬件结构及功能

4.2.2 4.2.2 寄存器定义寄存器定义(1)BWSCON(1)BWSCON 总线宽度和等待状态寄存器。总线宽度和等待状态寄存器。BWSCONBWSCON寄存器主要用来设置外接存储器的总线宽寄存器主要用来设置外接存储器的总线宽

度和等待状态。度和等待状态。在在 BWXCONBWXCON 中,除了中,除了 Bank0Bank0 ,对其他,对其他 77 个个 BankBank都都

各对应有各对应有 44 个相关位的设置,分别为个相关位的设置,分别为 STxSTx ,, WSxWSx ,, DWxDWx 。。①①STxSTx 位决定位决定 SRAMSRAM映射在映射在 BankxBankx 时是否采用时是否采用 UB/LUB/L

BB 。。②②00 :不采用,:不采用, 11 :采用。:采用。③③WSxWSx 位决定位决定 BankBank 上等待的状态。上等待的状态。 00 :禁止等待,:禁止等待,

11 :使能等待。:使能等待。④④DWxDWx 中的确位决定中的确位决定 BankxBankx 上的总线宽度。上的总线宽度。 0000 :: 88

位,位, 0101 :: 1616 位,位, 1010 :: 3232 位。位。⑤⑤DW0DW0 位对应位对应 Bank0Bank0 的总线宽度,但这里它是只读的总线宽度,但这里它是只读

的,其中的,其中 00=800=8 位,位, 01=1601=16 位,位, 10=3210=32 位。设置是通过位。设置是通过 OOM[0M[0 :: 1]1] 脚电平决定总线宽度。脚电平决定总线宽度。

Page 25: 第 4 章  S3C44B0X 硬件结构及功能

(2)BANKCON(2)BANKCON 。。S3C44BOXS3C44BOX 具有具有 88 个个 BANKCONnBANKCONn寄存器,寄存器,

分别对应着分别对应着 Bank—BANCONnBank—BANCONn寄存器针对操作时寄存器针对操作时序进行设置,如表序进行设置,如表 4—64—6 所示。所示。

由于由于 Bank6Bank7Bank6Bank7 可以作为 可以作为 FP/EDO/SDRAFP/EDO/SDRAMM 等类型存储器的映射空间,因此等类型存储器的映射空间,因此 BANKCON6BANKCON6 和和BANKCON7BANKCON7 与其他与其他 BankBank 的相应寄存器有所不同。的相应寄存器有所不同。其中其中 MTMT 位定义了存储器的类型,如表位定义了存储器的类型,如表 4—74—7 所示。所示。

MTMT 的取值定义了该寄存器余下几位的作用。的取值定义了该寄存器余下几位的作用。例如当例如当 MT=11MT=11 ,余下几位定义如表,余下几位定义如表 4—84—8 所示。所示。

Page 26: 第 4 章  S3C44B0X 硬件结构及功能

(3)REFRESH(3)REFRESH 。。REFRESHREFRESH 是是 DRAM/SDRAMDRAM/SDRAM 的刷新控制器。的刷新控制器。位定义如表位定义如表 4—94—9 所示。所示。

刷新的周期计算公式:刷新的周期计算公式:Refresh_Period=Refresh_Period= (( 211-refresh_count+1211-refresh_count+1 )) /MCLK/MCLK

如果刷新周期是如果刷新周期是 15.6μs15.6μs 和和 MCLKMCLK 是是 60MHz, re60MHz, refresh_countfresh_count 如下计算如下计算 ::

refresh_count=211+1-60×15.6=1113refresh_count=211+1-60×15.6=1113

Page 27: 第 4 章  S3C44B0X 硬件结构及功能

(4)BANKSIAE(4)BANKSIAE 和和 MRSRMRSR 。。BANKSIAEBANKSIAE 寄存器定义了寄存器定义了 BankBank 的大小,的大小,

如表如表 4—104—10 所示。所示。

MRSRMRSR 是是 SDRAMSDRAM 模式设置寄存器定义模式设置寄存器定义如表如表 4—114—11 所示。所示。

Page 28: 第 4 章  S3C44B0X 硬件结构及功能

4.3 4.3 时钟和功耗管理时钟和功耗管理4.3.1 4.3.1 概述概述S3C44B0X S3C44B0X 的时钟产生器可以为 的时钟产生器可以为 CPU CPU

产生要求的时钟信号,同样也为外设提供了产生要求的时钟信号,同样也为外设提供了时钟信号。时钟产生器可以通过软件来控制时钟信号。时钟产生器可以通过软件来控制是否为每个外部设备模块提供时钟信号,或是否为每个外部设备模块提供时钟信号,或者切断与外部设备的联系,以减少功耗。者切断与外部设备的联系,以减少功耗。

同样在软件的控制下,同样在软件的控制下, S3C44B0X S3C44B0X 提供提供各种功耗管理办法来为各种应用提供最优化各种功耗管理办法来为各种应用提供最优化的功耗方案。 的功耗方案。

Page 29: 第 4 章  S3C44B0X 硬件结构及功能

S3C44B0XS3C44B0X 的时钟源可以用外部晶体来产生,的时钟源可以用外部晶体来产生,也可以直接输入外部时钟,这由也可以直接输入外部时钟,这由 OM[3:2]OM[3:2] 的状态的状态决定。决定。

M[3:2]M[3:2] 的状态在的状态在 nRESETnRESET 的上升沿由的上升沿由 OM3 OM3 和和 OM2OM2 脚的电平决定。脚的电平决定。

M[3:2]=00 Crystal clock M[3:2]=01 M[3:2]=00 Crystal clock M[3:2]=01 外部时外部时钟。钟。其它测试模式在复位后其它测试模式在复位后 PLLPLL 启动启动 ,,但在用但在用 S/S/

WW 指令设置指令设置 PLLCONPLLCON 为有效的值之前为有效的值之前 ,PLL OUT,PLL OUTPUT (FOUT)PUT (FOUT) 不能使用不能使用 ,,这时这时 FOUTFOUT 直接输出直接输出 CryCrystal clockstal clock 或外部时钟。或外部时钟。

如果如果 S3C44B0XS3C44B0X 的的 PLLPLL 的时钟源使用晶体的时钟源使用晶体 ,,这时这时 EXTCLKEXTCLK 能作为能作为 Timer 5Timer 5 的时钟源的时钟源 TCLKTCLK 。 。

Page 30: 第 4 章  S3C44B0X 硬件结构及功能

S3C44B0X S3C44B0X 中的功耗管理提供中的功耗管理提供 55 种模式:种模式:1.1.正常模式正常模式正常模式下,时钟发生器提供时钟给 正常模式下,时钟发生器提供时钟给 CPUCPU ,,

并同时提供给 并同时提供给 S3C44B0X S3C44B0X 的外设。在这种情况下,的外设。在这种情况下,当所有的外设都开启工作时,处理器所消耗的功耗当所有的外设都开启工作时,处理器所消耗的功耗最大。最大。

用户可以通过软件来控制外事的操作模式。例用户可以通过软件来控制外事的操作模式。例如如 ::

如果定时器和 如果定时器和 DMA DMA 不需要时钟,则用户可不需要时钟,则用户可以断开定时器和 以断开定时器和 DMA DMA 的时钟供给以降低功耗。 的时钟供给以降低功耗。

Page 31: 第 4 章  S3C44B0X 硬件结构及功能

2. 2. 慢速模式慢速模式慢速模式是一种非倍频模式。与正常模式下不同,慢速模式是一种非倍频模式。与正常模式下不同,

慢速模式直接采用外部时钟作为慢速模式直接采用外部时钟作为 S3C44B0X S3C44B0X 的主工作时的主工作时钟,而不使用内部倍频器。钟,而不使用内部倍频器。

在这种情况下,功耗的大小仅依据于外部时钟的频在这种情况下,功耗的大小仅依据于外部时钟的频率的大小。率的大小。 PLL PLL 部件所消耗的功耗不用计算在内了。部件所消耗的功耗不用计算在内了。

3. 3. 空闲模式空闲模式空闲模式下仅断开对 空闲模式下仅断开对 CPU CPU 内核的时钟供给,而保内核的时钟供给,而保

留所有对于外部设备的时钟供给。留所有对于外部设备的时钟供给。在空闲模式下,在空闲模式下, CPU CPU 内核的功耗可以减去。任何中内核的功耗可以减去。任何中

断请求都会使 断请求都会使 CPU CPU 从空闲模式中醒来。从空闲模式中醒来。

Page 32: 第 4 章  S3C44B0X 硬件结构及功能

4. 4. 停止模式停止模式停止模式通过禁止 停止模式通过禁止 PLL PLL 来冻结所有 来冻结所有 CPU CPU 内核、外内核、外

设的时钟。设的时钟。这时的功耗大小仅由 这时的功耗大小仅由 S3C44B0X S3C44B0X 内部的漏电流大小内部的漏电流大小

决定,这个电流一般小于 决定,这个电流一般小于 10uA 10uA 。。要使 要使 CPU CPU 从停止模式中醒来,可以通过外部中断实从停止模式中醒来,可以通过外部中断实

现。现。

5. LCD 5. LCD 的的 SL SL 空闲模式空闲模式SL SL 空闲模式的进入将导致 空闲模式的进入将导致 LCD LCD 控制器开始工作。控制器开始工作。在这种情况下,除了 在这种情况下,除了 LCD LCD 控制器以外 控制器以外 CPU CPU 内核和内核和

其它外设的时钟都停止了。因此,其它外设的时钟都停止了。因此, SL SL 空闲模式下的功耗空闲模式下的功耗比空闲模式的功耗小。 比空闲模式的功耗小。

Page 33: 第 4 章  S3C44B0X 硬件结构及功能

4.3.2 4.3.2 寄存器定义寄存器定义1. PLL1. PLL 控制寄存器控制寄存器该寄存器设置该寄存器设置 PLLPLL 参数参数 . .

PLLPLL 输出频率计算公式如下输出频率计算公式如下 : :

Fpllo = (m * Fin)/(p * 2s)Fpllo = (m * Fin)/(p * 2s)

其中其中 m = (MDIV + 8)m = (MDIV + 8) ,, p = (PDIV + 2)p = (PDIV + 2) ,, s = Ss = SDIV DIV ,, FplloFpllo 必须大于必须大于 20MHZ20MHZ 且少于且少于 66MHZ66MHZ ,,Fpllo * 2sFpllo * 2s 必须少于必须少于 170MHZ170MHZ ,, Fin/pFin/p 推荐为推荐为 11MHZ MHZ 或大于,但小于或大于,但小于 2MHZ2MHZ ,其中,其中 MDIVMDIV 、、 PPDIVDIV 、、 SDIVSDIV 定义如表定义如表 4-124-12 所示。所示。

Page 34: 第 4 章  S3C44B0X 硬件结构及功能

2. 时钟控制寄存器时钟控制寄存器如表 4-13 所示。

PLLCONPLLCON 位位 描述描述 初始初始状态状态

MDIVMDIVPDIVPDIVSDIVSDIV

[19:12][19:12][9:4][9:4][1:0][1:0]

主分频值主分频值预分频值预分频值后分频值后分频值

0x380x380x080x080x00x0

Page 35: 第 4 章  S3C44B0X 硬件结构及功能

CLKCONCLKCON 位位 描 述 描 述 初始状态初始状态

IISIIS[14[14

]]控制控制 IIS blockIIS block的钟控的钟控0=0= 禁止 禁止 1=1=允许允许 11

IICIIC[13[13

]]控制控制 IIC blockIIC block的钟控的钟控0=0= 禁止 禁止 1=1=允许允许 11

ADCADC[12[12

]]控制控制 ADC blockADC block的钟控的钟控0=0= 禁止 禁止 1=1=允许允许 11

RTCRTC[11[11

]]控制控制 RTC blockRTC block的钟控,即使该位为的钟控,即使该位为 0,RTC0,RTC定时器仍工作。定时器仍工作。 0=0= 禁止 禁止 1=1=允许允许 11

GPIOGPIO[10[10

]]

控制控制 GPIO blockGPIO block的钟控,设置为的钟控,设置为 11,允许,允许使用使用 EINT[4EINT[4:: 7]7]的中断。的中断。 0=0= 禁止 禁止 1=1=允允许许

11

时钟控制寄存器表

Page 36: 第 4 章  S3C44B0X 硬件结构及功能

UART1UART1[9[9]]控制控制 UART1 blockUART1 block的钟控。的钟控。0=0= 禁止 禁止 1=1=允许允许 11

RART0RART0[8[8]]控制控制 UART0 blockUART0 block的钟控。的钟控。0=0= 禁止 禁止 1=1=允许允许 11

BDMA0,1BDMA0,1[7[7]]

控制控制 BDMA blockBDMA block的钟控,如果的钟控,如果 BDMABDMA关断,在外设总线上的外设不能存取。关断,在外设总线上的外设不能存取。0=0= 禁止 禁止 1=1=允许允许

11

LCDCLCDC[6[6]]控制控制 LCDC blockLCDC block钟控钟控0=0= 禁止 禁止 1=1=允许允许 11

SIOSIO[5[5]]控制控制 SIO blockSIO block钟控钟控0=0= 禁止 禁止 1=1=允许允许 11

Page 37: 第 4 章  S3C44B0X 硬件结构及功能

4.4 CPU Wrapper4.4 CPU Wrapper 和总线特性和总线特性4.4.1 4.4.1 概述概述处理器 处理器 wrapper wrapper 包括一个包括一个 cachecache 、写入缓冲器和、写入缓冲器和 CC

PUPU 内核。总线仲裁逻辑决定每个总线占用者的优先权。内核。总线仲裁逻辑决定每个总线占用者的优先权。处理器 处理器 wrapper wrapper 有一个有一个 8k8k直接的内部存储器。直接的内部存储器。内部存储器可以以内部存储器可以以 33 种方式采用。种方式采用。1.1. 8k 8k 字节的存储空间作为 字节的存储空间作为 8k 8k 字节的统一(指令或字节的统一(指令或

数据)数据) cachecache (高速缓冲存储器)。(高速缓冲存储器)。2.2.内部存储器可以用作一个 内部存储器可以用作一个 4k 4k 字节的统一 字节的统一 cache cache

和一个 和一个 4k 4k 字节的内部 字节的内部 SRAMSRAM 。。3.3.内部存储器可以整个地用作 内部存储器可以整个地用作 8k8k字节的内部 字节的内部 SRAMSRAM 。。

Page 38: 第 4 章  S3C44B0X 硬件结构及功能

内部统一(指令或数据)内部统一(指令或数据) cache cache 采用 采用 4 4 种方种方式与某个 式与某个 4 4 个字(个字( 16 16 个字节)的行建立链接结个字节)的行建立链接结构构 ..

它采用一种写穿式(它采用一种写穿式( write-throughwrite-through )的原则)的原则保持数据的一致性。保持数据的一致性。

当在 当在 cache cache 中找不到相应的内容(称为 中找不到相应的内容(称为 caccache misshe miss ),), 4 4 个字的存储内容从外部存储器连个字的存储内容从外部存储器连续地取得。续地取得。

它采用一种 它采用一种 LRULRU (最近使用最少)算法来提(最近使用最少)算法来提升命中的比率。升命中的比率。

统一 统一 cache cache 通过有区别的方式来处理指令和通过有区别的方式来处理指令和数据。数据。

Page 39: 第 4 章  S3C44B0X 硬件结构及功能

内部 内部 SRAM SRAM 主要用来减少 主要用来减少 ISR ISR 的执行时间。的执行时间。由于内部 由于内部 SRAM SRAM 具有最短的操作时间,因此能够具有最短的操作时间,因此能够减少 减少 ISR ISR 的执行时间。的执行时间。

当然 当然 ISR ISR 在 在 SRAM SRAM 运行也是非常有效率的运行也是非常有效率的因为大多数的 因为大多数的 ISR ISR 代码都会引起代码都会引起 cache misscache miss 。。

总线仲裁逻辑可以决定总线占用者的优先级总线仲裁逻辑可以决定总线占用者的优先级 ..总线仲裁逻辑支持一种 总线仲裁逻辑支持一种 round-robin round-robin 优先级模式优先级模式和一种固定的优先级模式。和一种固定的优先级模式。

同样 同样 LCD_DMA, BDMA, ZDMA, nBREQLCD_DMA, BDMA, ZDMA, nBREQ(外部总线控制器)之间的优先级可以通过软件来(外部总线控制器)之间的优先级可以通过软件来修改。 修改。

Page 40: 第 4 章  S3C44B0X 硬件结构及功能

4.4.24.4.2 内部内部 SRAMSRAMS3C44B0X S3C44B0X 具有一个最小 具有一个最小 8KB 8KB 的 的 4 4 组相组相

连 连 cache cache 或内部 或内部 SRAMSRAM 。。如果内部 如果内部 SRAM SRAM 为 为 4KB4KB ,另外 ,另外 4KB 4KB 内内

部存储器可以用来作为 部存储器可以用来作为 2 2 组相连 组相连 cachecache 。。内部 内部 SRAM SRAM 的存储器操作周期为 的存储器操作周期为 1MCLK1MCLK 。。

在每一个组的存储空间内,地址是连续增加在每一个组的存储空间内,地址是连续增加的,在 的,在 TAG/LRUTAG/LRU 中的地址按照 中的地址按照 16 16 字节增加。字节增加。

不要对内部地址空间:不要对内部地址空间: 0x100030040x10003004~~ 0x100x1000300f 00300f 进行操作。进行操作。

SYSCFGSYSCFG 配置寄存器如配置寄存器如表表4-164-16所示所示。 。

Page 41: 第 4 章  S3C44B0X 硬件结构及功能

4.4.34.4.3 总线优先级总线优先级在 在 S3C44B0X S3C44B0X 中,有 中,有 7 7 种总线 种总线 mm

aster;aster;1.1.LCD_DMA;LCD_DMA;2.2.BDMA0;BDMA0;3.3.BDMA1;BDMA1;4.4.ZDMA0;ZDMA0;5.5.ZDMA1;ZDMA1;6.6.Nbreq(Nbreq( 外部总线 外部总线 master);master);7.7. CPU wrapperCPU wrapper 。。

Page 42: 第 4 章  S3C44B0X 硬件结构及功能

复位之后,这些总线 复位之后,这些总线 master master 的优先级排列如下:的优先级排列如下:

DRAMDRAM 刷新控制器刷新控制器 ;;LCD _DMA;LCD _DMA;ZDMA0,1;ZDMA0,1;BDMA0,1;BDMA0,1;外部总线控制器外部总线控制器 ;;写缓冲区写缓冲区 ;;CacheCache 和和 CPU;CPU;

Page 43: 第 4 章  S3C44B0X 硬件结构及功能

LCD_DMA, ZDMA, BDMALCD_DMA, ZDMA, BDMA之间的总线优先之间的总线优先级是可编程的级是可编程的 ,, 可以通过 可以通过 SBUSCON SBUSCON 寄存器来设寄存器来设置。置。

如果不考虑 如果不考虑 SBUSCON SBUSCON 的设置 的设置 CPUwrappCPUwrapper er 始终具有最低的优先级。始终具有最低的优先级。

RoundRound-- robin robin 优先级模式或固定优先级模优先级模式或固定优先级模式是可以选择的。在 式是可以选择的。在 roundround-- robin robin 优先级模式优先级模式中,已经被服务过依次的总线占有者将具有最低的中,已经被服务过依次的总线占有者将具有最低的优先级。通过这种方式,使得所有的 优先级。通过这种方式,使得所有的 master master 都具都具有相同的优先级。有相同的优先级。

在固定优先级模式下,每个总线 在固定优先级模式下,每个总线 master master 的的优先级都写在 优先级都写在 SBUSCON SBUSCON 中,中, SBUSCON SBUSCON 寄存寄存器决定第器决定第 11 到第到第 44 个优先级的总线个优先级的总线 mastermaster 。。

Page 44: 第 4 章  S3C44B0X 硬件结构及功能

4.4.44.4.4 写缓冲区操作写缓冲区操作写缓冲区操作,写缓冲区操作, S3C44B0X S3C44B0X 有 有 4 4 个写缓冲区寄存个写缓冲区寄存

器来提高存储器的写性能。器来提高存储器的写性能。当写缓冲器模式使能,当写缓冲器模式使能, CPU CPU 不再将数据直接写入外不再将数据直接写入外

部存储器而是将数据写入写缓存区。即便是外部总线已经部存储器而是将数据写入写缓存区。即便是外部总线已经有其它 有其它 mastermaster占用,例如 占用,例如 DMADMA 操作的情况下,也如此。操作的情况下,也如此。

写缓冲区模块在系统总线没有被别的更高优先级的 写缓冲区模块在系统总线没有被别的更高优先级的 master master 占用时,将数据写入外部存储器。这样,占用时,将数据写入外部存储器。这样, CPU CPU 的性能就提高了,因为 的性能就提高了,因为 CPU CPU 不需要一直等到写操作结束。不需要一直等到写操作结束。

写缓冲区具有 写缓冲区具有 4 4 个寄存器。每个寄存器包括一个 个寄存器。每个寄存器包括一个 32 32 位数据区域,位数据区域, 28 28 位的地址区域和 位的地址区域和 2 2 位的状态区域,位的状态区域,如图如图4-44-4所示所示。 。

Page 45: 第 4 章  S3C44B0X 硬件结构及功能

4.4.54.4.5 特殊寄存器特殊寄存器

①①SYSCFGSYSCFG 寄存器寄存器SYSCFG SYSCFG 寄存器控制了系统的总寄存器控制了系统的总

体操作,体操作,如表如表4-174-17所示所示。。

②②SBUSCONSBUSCON寄存器寄存器SBUSCONSBUSCON寄存器是系统总线优寄存器是系统总线优

先级控制寄存器,先级控制寄存器,如表如表4-184-18所示所示。。

Page 46: 第 4 章  S3C44B0X 硬件结构及功能

4.5 DMA4.5 DMA 控制器控制器4.5.1 4.5.1 简述 简述 1. DMA1. DMA 控制器结构控制器结构S3C44B0XS3C44B0X 有有 44路路 DMADMA 控制器,其中两路称控制器,其中两路称

为为 ZDMAZDMA (( General DMAGeneral DMA )被连到)被连到 SSB(SamsuSSB(Samsung System Bus)ng System Bus) 总线上,另外两路称为总线上,另外两路称为 BDMABDMA(( Bridge DMABridge DMA )是)是 SSBSSB 和和 SPB(Samsung PeriSPB(Samsung Peripheral Bus)pheral Bus) 之间的接口层,相当于一个桥,因此之间的接口层,相当于一个桥,因此称为桥称为桥 DMADMA 。。

ZDMAZDMA 和和 BDMABDMA 都可以由指令启动,也可以都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。有内部外设和外部请求引脚来请求启动。 ZDMAZDMA 、、BDMABDMA 结构如结构如图图4-54-5和和图图4-64-6所示。 所示。

Page 47: 第 4 章  S3C44B0X 硬件结构及功能

ZDMAZDMA 用来在存储器到存储器、存储器用来在存储器到存储器、存储器到到 I/OI/O 存储器、存储器、 I/OI/O装置到存储器之间传输装置到存储器之间传输数据。数据。 BDMABDMA 控制器只能在连到控制器只能在连到 SPBSPB 上的上的I/OI/O 外设(如外设(如 UART, IISUART, IIS 和和 SIOSIO )与存储器)与存储器之间传输数据。之间传输数据。

ZDMAZDMA 最大的特性是最大的特性是 on-the-flyon-the-fly 模式,模式,on-the-flyon-the-fly 模式有不可分割的读写周期,在模式有不可分割的读写周期,在这点上这点上 ZDMAZDMA 与普通的与普通的 DMADMA不同,从而可不同,从而可以减少在外部存储器和外部可寻址的外设之以减少在外部存储器和外部可寻址的外设之间间 DMADMA 操作的周期数。 操作的周期数。

Page 48: 第 4 章  S3C44B0X 硬件结构及功能

对于对于 ZDMAZDMA ,, S3C44B0XS3C44B0X 有一个有一个44字的字的 FIFOFIFO 缓冲来支持缓冲来支持 44字突发字突发 DMADMA传输,而传输,而 BDMABDMA不支持突发不支持突发 DMADMA传输,传输,因此存储器之间的传输数据最好用因此存储器之间的传输数据最好用 ZDZDMAMA传输,来提供高的传输速度。 传输,来提供高的传输速度。

Page 49: 第 4 章  S3C44B0X 硬件结构及功能

2. 2. 外部外部 DMA REQ/ACK DMA REQ/ACK 协议协议对于对于 ZDMA ZDMA ,有四种类型的外部,有四种类型的外部 DMADMA

请求请求 // 应答协议: 应答协议:

①① 握手模式握手模式 (Handshake Mode)(Handshake Mode)

一个单独的应答对应一个单独的一个单独的应答对应一个单独的 DMADMA 请请求,在该模式,求,在该模式, DMADMA 操作期间的读写周期不操作期间的读写周期不可分割,因此在一个可分割,因此在一个 DMADMA 操作完成前,不能操作完成前,不能把总线让给其它总线控制器使用。把总线让给其它总线控制器使用。

一次一次 nXDREQnXDREQ 请求引起一次请求引起一次 DMADMA 传输传输(可以是一个字节,一个半字或一个字)。 (可以是一个字节,一个半字或一个字)。

Page 50: 第 4 章  S3C44B0X 硬件结构及功能

②② 单步模式单步模式 (Single Step Mode)(Single Step Mode)

单步模式意味着一次单步模式意味着一次 DMADMA 传输有两个传输有两个 DMADMA应答周期(产生两个应答信号应答周期(产生两个应答信号 nXDACKnXDACK )指示)指示DMADMA 读和写周期,主要用与测试和调试模式,在读和写周期,主要用与测试和调试模式,在读写周期之间,总线控制权可以让给其它总线控读写周期之间,总线控制权可以让给其它总线控制器。 制器。

③③ 连续模式连续模式 (Whole Service Mode) (Whole Service Mode)

在该模式,一次在该模式,一次 DMADMA 请求将产生连续的请求将产生连续的 DMDMAA 传输,直到规定的传输,直到规定的 DMADMA 传输数传输完,在传输数传输完,在 DMDMAA 传输期间,传输期间, nXDACKnXDACK 一直有效,一直有效, DMADMA 请求信请求信号被释放。并且在每次传输一个数据单元后,释号被释放。并且在每次传输一个数据单元后,释放一次总线控制权,以便其它总线控制器有机会放一次总线控制权,以便其它总线控制器有机会可以占用总线。 可以占用总线。

Page 51: 第 4 章  S3C44B0X 硬件结构及功能

④④ 手动模式(手动模式( Demand ModeDemand Mode ))在该模式,只要在该模式,只要 DMADMA 请求信号一直有效,请求信号一直有效,

DMADMA 传输就持续进行,并且一直占用总线控传输就持续进行,并且一直占用总线控制权,因此应该预防传输周期超过规定的最制权,因此应该预防传输周期超过规定的最大时间。大时间。

3. DMA3. DMA 传输模式传输模式DMADMA 有三种传输模式有三种传输模式 ::1.1.单位传输模式单位传输模式2.2.块传输模式块传输模式3.3.On_the_flyOn_the_fly 块传模式。 块传模式。

Page 52: 第 4 章  S3C44B0X 硬件结构及功能

1.1.UnitUnit 传输模式。传输模式。 11 个单位读,个单位读,然后然后 11 个单位写。个单位写。

2.2.BlockBlock传输模式。传输模式。 44 个字突发个字突发读读 , , 然后然后 44 个字突发写,因此传输个字突发写,因此传输的数据个数应当是的数据个数应当是 1616字节的倍数。 字节的倍数。

3.3.On-the-fly On-the-fly 传输模式。传输模式。 11 个个单位读或单位读或 11 个单位写,读写同时进个单位写,读写同时进行。 行。

Page 53: 第 4 章  S3C44B0X 硬件结构及功能

4.5.2 DMA4.5.2 DMA寄存器寄存器①①ZDMAZDMA 控制寄存器 控制寄存器 ZDCON0/1 ZDCON0/1 是是 ZDMA 0/1 ZDMA 0/1 控制寄存器控制寄存器②② ZDMAZDMA其他寄存器其他寄存器ZDISRC0/1ZDISRC0/1 是是 ZDMA0/1ZDMA0/1初始源地址寄存器初始源地址寄存器ZDIDES0/1ZDIDES0/1 是是 ZDMA0/1ZDMA0/1 初始目标地址寄存器初始目标地址寄存器ZDICNT0/1ZDICNT0/1 是是 ZDMA0/1ZDMA0/1初始计数寄存器初始计数寄存器ZDCSRC0/1ZDCSRC0/1 是是 ZDMA0/1ZDMA0/1 当前源地址寄存器当前源地址寄存器ZDCDES0/1ZDCDES0/1 是是 ZDMA0/1ZDMA0/1 当前目标地址寄存器当前目标地址寄存器

ZDCCNT0/1ZDCCNT0/1 是是 ZDMA0/1ZDMA0/1 当前计数寄存器当前计数寄存器

Page 54: 第 4 章  S3C44B0X 硬件结构及功能

③③ BDMABDMA 控制寄存器控制寄存器BDCON0/1BDCON0/1 是是 BDMA0/1BDMA0/1 控制寄存器控制寄存器

④④ BDMABDMA 其他寄存器其他寄存器BDISRC0/1BDISRC0/1 是是 BDMA0/1BDMA0/1 初始源地址寄存器初始源地址寄存器BDIDES0/1BDIDES0/1 是是 BDMA0/1BDMA0/1 初始目标地址寄存初始目标地址寄存器器BDICNT0/1BDICNT0/1 是是 BDMA0/1BDMA0/1 初始计数寄存器初始计数寄存器BDCSRC0/1BDCSRC0/1 是是 BDMA0/1BDMA0/1 当前源地址寄存器当前源地址寄存器BDCDES0/1BDCDES0/1 是是 BDMA0/1BDMA0/1 当前目标地址寄存器当前目标地址寄存器BDCCNT0/1BDCCNT0/1 是是 BDMA0/1 BDMA0/1 当前计数寄存器当前计数寄存器

Page 55: 第 4 章  S3C44B0X 硬件结构及功能

4.6 I/O4.6 I/O 端口端口4.6.1 4.6.1 概述概述S3C44B0X S3C44B0X 具有具有 7171 个多功能输入个多功能输入 //输出脚。输出脚。

它们包含在 它们包含在 7 7 组端口中:组端口中:

2 2 个 个 9 9 位输入位输入 //输出端口(端口 输出端口(端口 EE 和和 FF ))2 2 个 个 8 8 位输入位输入 //输出端口(端口 输出端口(端口 DD 和 和

GG ))1 1 个 个 16 16 位输入位输入 //输出端口(端口 输出端口(端口 CC ))1 1 个 个 10 10 位输出端口(端口 位输出端口(端口 AA ))1 1 个 个 11 11 位输出端口(端口 位输出端口(端口 BB ))

Page 56: 第 4 章  S3C44B0X 硬件结构及功能

每组端口都可以通过软件配置寄每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要,存器来满足不同系统和设计的需要,在运行程序之前必须先对每一个用到在运行程序之前必须先对每一个用到的引脚的功能进行设置,如果某些引的引脚的功能进行设置,如果某些引脚的复用功能没有使用,那么可以将脚的复用功能没有使用,那么可以将该引脚设置成该引脚设置成 I/OI/O 口。口。

如表 如表 4-274-27~表 ~表 4-334-33列出了列出了 77 个端个端口的引脚定义。口的引脚定义。

Page 57: 第 4 章  S3C44B0X 硬件结构及功能

4.6.2 4.6.2 端口控制寄存器端口控制寄存器

①① 端口配置寄存器(端口配置寄存器( PCONA-PCONA-GG ))

由于多数端口都是多功能口,因此,由于多数端口都是多功能口,因此,需要用“端口配置寄存器 需要用“端口配置寄存器 PCONn”PCONn” 来来设置每个引脚工作在哪一个功能模式下设置每个引脚工作在哪一个功能模式下如如表 表 4-34 4-34 所示,表中的功能所示,表中的功能 11 到功能到功能 44

如如表表4-274-27~表~表4-334-33所示。 所示。

Page 58: 第 4 章  S3C44B0X 硬件结构及功能

②② 端口数据寄存器(端口数据寄存器( PDATA-GPDATA-G ))当端口被设置为输出脚时,输出数当端口被设置为输出脚时,输出数

据的方法就是将数据写入到据的方法就是将数据写入到 PDATnPDATn 的的相应位中;当端口被设置位输入脚时,相应位中;当端口被设置位输入脚时,读入数据的方法就是将读入数据的方法就是将 PDATnPDATn 中的相中的相应位读出。应位读出。③③ 端口上拉设置寄存器(端口上拉设置寄存器( PUPC-GPUPC-G ))

端口上拉寄存器用来设定端口上拉寄存器用来设定 PC-PGPC-PG这几组端口是否具有内部上拉。当这几组端口是否具有内部上拉。当 PUPPUPnn 的对应位为的对应位为 00 时,该引脚上的上拉使时,该引脚上的上拉使能,当为能,当为 11 时,该引脚上的上拉禁能。时,该引脚上的上拉禁能。

Page 59: 第 4 章  S3C44B0X 硬件结构及功能

4. 4. 外部中断控制寄存器外部中断控制寄存器该寄存器是为 该寄存器是为 PG PG 的第 的第 3 3 功能——外部功能——外部

中断输入口功能设置的,该寄存器可用来设置 中断输入口功能设置的,该寄存器可用来设置 EXINTEXINT (外部中断)请求输入的模式:低电平(外部中断)请求输入的模式:低电平触发、高电平触发、下降沿触发、上升沿触发触发、高电平触发、下降沿触发、上升沿触发或是边沿触发。或是边沿触发。

下面我们以 下面我们以 PF PF 口的相关寄存器为例进行口的相关寄存器为例进行介绍,介绍, PF PF 的寄存器有 的寄存器有 33 个:个: PCONFPCONF ,, PDPDATFATF ,, PUPFPUPF 。如。如表 表 4-354-35~表~表4-374-37所示所示 PF PF

端口的相关寄存器信息 端口的相关寄存器信息

Page 60: 第 4 章  S3C44B0X 硬件结构及功能

4.7 PWM4.7 PWM 定时器和看门狗定时器定时器和看门狗定时器4.7.1 4.7.1 概述概述S3C44B0XS3C44B0X 具有具有 66 个个 1616 位定时器,每个定位定时器,每个定

时器可以按照中断模式或时器可以按照中断模式或 DMADMA 模式工作。模式工作。定时器定时器 00 ,, 11 ,, 22 ,, 33 和和 44 具有具有 PWMPWM 功能功能

(脉宽调制)。定时器(脉宽调制)。定时器 55 是一个内部定时器不具是一个内部定时器不具有对外输出口线。定时器有对外输出口线。定时器 00 具有死区发生器,通具有死区发生器,通常用于大电流设备应用。常用于大电流设备应用。

S3C44B0XS3C44B0X 的看门狗定时器用来在由于错误的看门狗定时器用来在由于错误如干扰和系统错误造成的程序运行打乱时,恢复如干扰和系统错误造成的程序运行打乱时,恢复正常操作它也能使用一个正常的正常操作它也能使用一个正常的 1616 位定时器来请位定时器来请求中断服务。看门狗定时器产生复位信号求中断服务。看门狗定时器产生复位信号 (128(128 个个系统时钟周期系统时钟周期 )) 。…。… ....

Page 61: 第 4 章  S3C44B0X 硬件结构及功能

特性特性 66 个个 16 16 位定时器可以工作在中断模式或 位定时器可以工作在中断模式或

DMADMA 模式;模式; 33 个个 8 8 位预分频器和位预分频器和 22 个个 55 位分割器和位分割器和 11

个个 44 位分割器;位分割器;输出波形的占空比可编程控制(输出波形的占空比可编程控制( PWMPWM )) 自动加载模式或单触发脉冲模式;自动加载模式或单触发脉冲模式;死区产生器;死区产生器; 支持外部中断源;支持外部中断源; 看门狗定时器溢出产生复位信号。 看门狗定时器溢出产生复位信号。

Page 62: 第 4 章  S3C44B0X 硬件结构及功能

4.7.2 PWM 4.7.2 PWM 定时器操作定时器操作1. 1. 预分频器和分割器预分频器和分割器如如图图4-84-8所示,定时器所示,定时器 00 和定时器和定时器 11分享同分享同

一个一个 88 位的预分频器,定时器位的预分频器,定时器 22 和和 33分享一个分享一个 88位预分频器,定时器位预分频器,定时器 44 和和 55分享一个分享一个 88 位预分频位预分频器。器。

除了定时器除了定时器 44 和和 55 ,其它每个定时器还拥有,其它每个定时器还拥有一个具有一个具有 55 个不同的分频信号输出(个不同的分频信号输出( 1/2, 1/4, 1/1/2, 1/4, 1/8, 1/16, 1/328, 1/16, 1/32 )的时钟分割器。)的时钟分割器。

定时器定时器 44 和和 5 5 则具有则具有 44 个分频信号输出个分频信号输出(( 1/2, 1/4, 1/8,1/161/2, 1/4, 1/8,1/16 )的时钟分割器和一个输入)的时钟分割器和一个输入信号线 信号线 TCLK/EXTCLKTCLK/EXTCLK 。 。

Page 63: 第 4 章  S3C44B0X 硬件结构及功能

每个定时器从时钟分割器的输出得到每个定时器从时钟分割器的输出得到它们自己的时钟源,时钟分割器则从对应它们自己的时钟源,时钟分割器则从对应的的 88 位预分频器得到时钟源。位预分频器得到时钟源。

88 位预分频器是可编程的,它的频率通位预分频器是可编程的,它的频率通过过 MCLKMCLK 除以保存在除以保存在 TCFG0TCFG0 和 和 TCFG1TCFG1寄存器中除数的结果设定。寄存器中除数的结果设定。

88 位预分频器和一个独立的位预分频器和一个独立的 44 位分割器位分割器组合起来可以产生组合起来可以产生如如表表4-384-38所示的频率定时器所示的频率定时器时钟源输出。 时钟源输出。

Page 64: 第 4 章  S3C44B0X 硬件结构及功能

2. 2. 基本定时器操作基本定时器操作每个定时器具有一个倒计时器,实每个定时器具有一个倒计时器,实

际上是一个通过定时器时钟源驱动的际上是一个通过定时器时钟源驱动的 1616位倒计时寄存器位倒计时寄存器 TCNTnTCNTn 。。

当倒计时数到当倒计时数到 00 ,定时器中断请求,定时器中断请求就产生了,这个中断通知就产生了,这个中断通知 CPUCPU 定时器定定时器定时已经完成。时已经完成。

当定时器倒计时数到达当定时器倒计时数到达 00 ,寄存器,寄存器TCNTBnTCNTBn 的对应值就会自动地载入到倒的对应值就会自动地载入到倒计时器从而继续下一次操作。计时器从而继续下一次操作。

Page 65: 第 4 章  S3C44B0X 硬件结构及功能

但是,如果定时器停止,例如但是,如果定时器停止,例如 ::在定时器运行模式下,清除了寄存在定时器运行模式下,清除了寄存器器 TCONnTCONn 中的定时器使能位,那中的定时器使能位,那么么 TCNTBnTCNTBn 的值就不会被重新载入的值就不会被重新载入到倒计时器中。到倒计时器中。

Page 66: 第 4 章  S3C44B0X 硬件结构及功能

定时器使能后,定时计数缓冲定时器使能后,定时计数缓冲区寄存器(区寄存器( TCNTBnTCNTBn )具有一个)具有一个初始值,用来载入到倒计时器计数初始值,用来载入到倒计时器计数器器 TCNTnTCNTn 。。

定时器的比较缓冲区寄存器定时器的比较缓冲区寄存器(TCMPBn)(TCMPBn) 具有一个初始值,用来具有一个初始值,用来载入到比较寄存器载入到比较寄存器 TCMPnTCMPn 与倒计与倒计时值相比较。时值相比较。

TCNTBnTCNTBn 和和 TCMPBnTCMPBn 这两个这两个缓冲区的应用使定时器能够使定时缓冲区的应用使定时器能够使定时器在频率和占空比变化时,仍然产器在频率和占空比变化时,仍然产生一个稳定的输出。生一个稳定的输出。

Page 67: 第 4 章  S3C44B0X 硬件结构及功能

定时器(除了定时器定时器(除了定时器 55 )都具有)都具有 TCTCNTBn,TCNTn,TCMPBnNTBn,TCNTn,TCMPBn 和和 TCMPnTCMPn 。。

TCNTBnTCNTBn 和和 TCMPBnTCMPBn 的值在定时的值在定时器值达到器值达到 00 时分别载入时分别载入 TCNTnTCNTn 和和 TCMTCMPnPn 。。

当当 TCNTnTCNTn 达到达到 00 时,如果中断使时,如果中断使能,中断请求将会产生。能,中断请求将会产生。 (TCNTn(TCNTn 和和 TTCMPnCMPn 是内部寄存器,是内部寄存器, TCNTnTCNTn寄存器寄存器的值可以通过的值可以通过 TCNTOnTCNTOn寄存器读出寄存器读出 )) 。。

如如图图4-84-8所示。所示。

Page 68: 第 4 章  S3C44B0X 硬件结构及功能

4.7.3 PWM 4.7.3 PWM 定时器控制寄存器定时器控制寄存器1. 1. 定时器配置寄存器定时器配置寄存器 00 (( TCFG0TCFG0 ))TCFG0TCFG0 主要是配置主要是配置 33 个个 88 位预分频器值和位预分频器值和

死区长度值。死区长度值。

定时器输入时钟频率=定时器输入时钟频率= MCLK/{MCLK/{ 预分频值预分频值 +1}/{+1}/{ 分割值分割值 }}

其中预分频值为其中预分频值为 00~~ 255255 ,分割值为,分割值为 22 ,,44 ,, 88 ,, 1616 ,, 3232 。如。如表表4-394-39所示。 所示。

Page 69: 第 4 章  S3C44B0X 硬件结构及功能

22.. 定时器配置寄存器 定时器配置寄存器 11 (( TCFGTCFG11 ))

TCFG1TCFG1 主要是配置主要是配置 6-MUX 6-MUX 和和DMADMA 模式。如模式。如表表4-404-40所示。所示。

Page 70: 第 4 章  S3C44B0X 硬件结构及功能

3. 3. 定时器控制寄存器(定时器控制寄存器( TCONTCON ))如表如表 4-414-41 所示:所示:

TCON 位 描述 初始值Timer5自动重载开 /

关 [26]这位确定定时器 5的自动加载的开 /关0= 不自动加载 1=自动加载 0

Timer5手动更新 [25]这位确定定时器 5的手动更新0= 无操作 1=更新 TCNTB5

0

Timer5启动 /停止 [24]这位确定定时器 5的启动 /停止0= 停止 1=启动 0

Timer4自动重载开 /关 [23]

这位确定定时器 4的自动加载的开 /关0= 不自动加载 1=自动加载 0

Timer4输出反转开 /关 [22]

这位确定定时器 4输出反转器的开 /关0= 不反转 1=反转 TOUT4

0

Timer4手动更新 [21]这位确定定时器 4的手动更新0= 无操作 1=更新 TCNTB4, TCMPB4

0

Timer4启动 /停止 [20]这位确定定时器 4的启动 /停止0= 停止 1=启动 0

Page 71: 第 4 章  S3C44B0X 硬件结构及功能

4. 4. 定时器定时器 nn 计数缓冲区寄存器和比较缓冲区寄存计数缓冲区寄存器和比较缓冲区寄存器(器( TCNTBn,TCMPBnTCNTBn,TCMPBn ))

TCMPBnTCMPBn 是是 1616 位定时器位定时器 Timer0~Timer4Timer0~Timer4比较缓冲器寄存器比较缓冲器寄存器 ;;

TCNTBnTCNTBn 是是 1616 位定时器位定时器 Timer0~Timer5Timer0~Timer5计数缓冲寄存器计数缓冲寄存器 ;;

TCNTOn TCNTOn 是是 1616 位定时器位定时器 Timer0Timer0 ~~ TimerTimer55观察寄存器观察寄存器 ..

他们初值都为他们初值都为 00 。。在以上的寄存器中,定时器在以上的寄存器中,定时器 nn 计数计数 // 比较缓冲比较缓冲

寄存器可读写寄存器,定时器寄存器可读写寄存器,定时器 nn 计数观察寄存器计数观察寄存器为只读寄存器。为只读寄存器。

Page 72: 第 4 章  S3C44B0X 硬件结构及功能

4.7.4 4.7.4 看门狗定时器看门狗定时器

1. 1. 概述概述S3C44B0XS3C44B0X 的看门狗定时器用来在的看门狗定时器用来在

由于错误如干扰和系统错误造成的程序由于错误如干扰和系统错误造成的程序运行打乱时恢复正常操作运行打乱时恢复正常操作 ,, 它也能使用它也能使用一个正常的一个正常的 1616 位定时器来请求中断服务。位定时器来请求中断服务。 看门狗定时器产生复位信号 看门狗定时器产生复位信号 128128 个系统个系统时钟周期。时钟周期。

Page 73: 第 4 章  S3C44B0X 硬件结构及功能

当当 S3C44B0XS3C44B0X 使用使用 Embedded Embedded ICEICE 工作在调试模式时,看门狗定时工作在调试模式时,看门狗定时器必须不工作。器必须不工作。

看门狗定时器能通过看门狗定时器能通过 CPUCPU 核心核心信号(信号( DBGACKDBGACK 信号)确定当前的信号)确定当前的模式是否在调试模式,一旦模式是否在调试模式,一旦 DBGACDBGACKK 信号有效,看门狗定时器的复位输信号有效,看门狗定时器的复位输出当定时器过期时不激活。出当定时器过期时不激活。

结构如结构如图图4-144-14所示。所示。

Page 74: 第 4 章  S3C44B0X 硬件结构及功能

2. 2. 看门狗定时器时钟频率看门狗定时器时钟频率看门狗时钟频率计算公式如下:看门狗时钟频率计算公式如下:

t_watchdog = 1/( MCLK/ (Prescaler vat_watchdog = 1/( MCLK/ (Prescaler value + 1)/ Division_factor )lue + 1)/ Division_factor )

3. 3. 看门狗定时器寄存器包括以下种类寄存器:看门狗定时器寄存器包括以下种类寄存器:(( 11 )看门狗定时器控制寄存器 )看门狗定时器控制寄存器 看门狗定时器控制寄存器定义如看门狗定时器控制寄存器定义如表表4-424-42所示所示 ..

Page 75: 第 4 章  S3C44B0X 硬件结构及功能

(2) (2) 看门狗定时器数据寄存器 看门狗定时器数据寄存器 WTDATWTDAT 是一个是一个 1616 位寄存器,规定看门狗位寄存器,规定看门狗

定时器超时周期。定时器超时周期。WTDATWTDAT 的内容在初始操作时,不能自动加的内容在初始操作时,不能自动加

载进定时器计数寄存器。载进定时器计数寄存器。可是定时器计数寄存器在使用初始值可是定时器计数寄存器在使用初始值 0X8000X800

00 第一次超时出现以后,第一次超时出现以后, WTDATWTDAT 的值将自动加载的值将自动加载进进 WTCNTWTCNT 。 。

(3) (3) 看门狗定时器计数寄存器 看门狗定时器计数寄存器 WTCNTWTCNT 是是 1616 位看门狗定时器计数寄存器,位看门狗定时器计数寄存器,

在第一次使用时,必须设置到初始值。在第一次使用时,必须设置到初始值。

Page 76: 第 4 章  S3C44B0X 硬件结构及功能

4.8 4.8 日历时钟日历时钟4.8.1 4.8.1 概述概述实时时钟实时时钟 (RTC)(RTC) 器件是一种能提供日历/器件是一种能提供日历/

时钟、数据存储等功能的专用集成电路,常用时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存作各种计算机系统的时钟信号源和参数设置存储电路。储电路。

RTCRTC 具有计时准确、耗电低和体积小等特具有计时准确、耗电低和体积小等特点特别适用于在各种嵌入式系统中记录事件发点特别适用于在各种嵌入式系统中记录事件发生的时间和相关信息,尤其是在通信工程、电生的时间和相关信息,尤其是在通信工程、电力自动化工业控制等自动化程度较高领域的无力自动化工业控制等自动化程度较高领域的无人值守环境。随着集成电路技术的不断发展,人值守环境。随着集成电路技术的不断发展,RTCRTC 器件的新品也不断推出。 器件的新品也不断推出。

Page 77: 第 4 章  S3C44B0X 硬件结构及功能

这些新品不仅具有准确的这些新品不仅具有准确的 RTCRTC ,还,还有大容量的存储器、温度传感器和有大容量的存储器、温度传感器和 AA//DD 数据采集通道等数据采集通道等 ,,已成为集已成为集 RTCRTC 、数、数据采集和存储于一体的综合功能器件据采集和存储于一体的综合功能器件 ,, 特特别适用于以微控制器为核心的嵌入式系统。别适用于以微控制器为核心的嵌入式系统。

RTCRTC 器件与微控制器之间大都采用器件与微控制器之间大都采用连线简单的串行接口,诸如连线简单的串行接口,诸如 I2CI2C 、、 SPISPI 、、MICROWIREMICROWIRE 和和 CANCAN 等串行总线接口。等串行总线接口。这些串口由这些串口由 2~32~3根线根线 ,,分为同步和异步。分为同步和异步。

Page 78: 第 4 章  S3C44B0X 硬件结构及功能

4.8.2 RTC 4.8.2 RTC 时钟单元时钟单元

RTCRTC (Real Time Clock) (Real Time Clock) 单元能在单元能在系统断电时系统断电时 ,, 通过备份电池来供电通过备份电池来供电 ,RTC,RTC能通过能通过 ARMARM 的的 STRB/LDRBSTRB/LDRB 指令传输指令传输 88位位 BCDBCD 数据到数据到 CPU,CPU,该数据包括时、分、该数据包括时、分、秒、小时、天、月和年,秒、小时、天、月和年, RTCRTC 使用一个使用一个外部外部 32.76832.768 的晶体也能执行报警功能。的晶体也能执行报警功能。

RTCRTC 功能框图如功能框图如图图4-154-15所示。所示。

Page 79: 第 4 章  S3C44B0X 硬件结构及功能

特征特征 : : 日历功能 日历功能 支持闰年 支持闰年 解决了解决了 20002000 年问题 年问题 独立的供电 独立的供电 支持毫秒滴答时间中断作为支持毫秒滴答时间中断作为 RTORTO

SS 核的时间滴答 核的时间滴答 报警功能 报警功能

Page 80: 第 4 章  S3C44B0X 硬件结构及功能

11. . 闰年产生器闰年产生器这个模块可以决定每个月的最后日期是 这个模块可以决定每个月的最后日期是

2828 ,, 2929 ,, 30 30 还是 还是 3131 ,并可以根据是否,并可以根据是否是闰年来决定日期。是闰年来决定日期。

由于 由于 8 8 位的计数器只能表示 位的计数器只能表示 2 2 个 个 BCBCD D 码,因此它不能判断 码,因此它不能判断 00 00 年究竟是不是闰年究竟是不是闰年。例如它不能够满足 年。例如它不能够满足 1900 1900 年和 年和 2000 2000 年的差别。为了解决这个问题,年的差别。为了解决这个问题, S3C44B0X S3C44B0X 内的 内的 RTC RTC 模块中有一个固定的逻辑,用来模块中有一个固定的逻辑,用来支持 支持 2000 2000 年为闰年。年为闰年。

请注意虽然 请注意虽然 2000 2000 年是闰年,但 年是闰年,但 1900 1900 年不是闰年。因此,年不是闰年。因此, S3C44B0XS3C44B0X 中 中 00 00 代代表 表 2000 2000 年,而不是 年,而不是 1900 1900 年。年。

Page 81: 第 4 章  S3C44B0X 硬件结构及功能

2. 读 / 写寄存器要求设置RTCON 寄存器的 0 位来表示读和写 RTC 模块

中的寄存器。为了显示秒,分,小时,日期,月和年, CPU会

从 BCDSEC, BCDMIN, BCDHOUR, BCDDAY, BCDDATE, BCDMON, 和 BCDYEAR寄存器中读取数据。但是,由于多个寄存器的读取,可能产生 1 秒钟

的偏离。例如,如果用户读取寄存器 BCDYEAR 到 BCDMIN ,假设结果为 1959 年, 12 月, 31 日, 23 点, 59 分。在用户读取 BCDSEC寄存器时,如果结果是 1~ 59 ,肯定没有问题。但如果结果是 0 ,那么很有可能年、月、日、时、分已经变成了 1960 年 1 月 1 日 0 时 0 分,这就是上面所说的 1 秒偏离。

解决的方法是,当读取到的 BCDSEC 等于 0 时,用户应该再读取一次 BCDYEAR 到 BCDSEC 的值。

Page 82: 第 4 章  S3C44B0X 硬件结构及功能

3.3. 备用电池操作备用电池操作RTCRTC 逻辑模块可以通过一个备用电逻辑模块可以通过一个备用电

池供电。备用电池的阳极通过 池供电。备用电池的阳极通过 RTCVDRTCVDD D 脚接至内部的 脚接至内部的 RTCRTC 模块,即使系统模块,即使系统电源关闭,也能够提供电能保证 电源关闭,也能够提供电能保证 RTC RTC 模块正常工作。模块正常工作。

在系统电源关闭时,在系统电源关闭时, CPU CPU 和 和 RTC RTC 逻辑模块之间的接口被锁住,使备用电逻辑模块之间的接口被锁住,使备用电池仅需驱动 池仅需驱动 RTC RTC 的晶振电路和 的晶振电路和 BCD BCD 计数器,从而使功耗降到最低。计数器,从而使功耗降到最低。

Page 83: 第 4 章  S3C44B0X 硬件结构及功能

4. 4. 报警功能报警功能在掉电模式或正常工作模式下,在掉电模式或正常工作模式下, RTC RTC

能够在指定的时间产生一个报警信号。能够在指定的时间产生一个报警信号。

在正常工作模式下,报警中断在正常工作模式下,报警中断 (ALMIN(ALMINT)T)被激活。被激活。

在掉电模式下,电源管理苏醒信号也与 在掉电模式下,电源管理苏醒信号也与 ALMINT ALMINT 一样处于激活状态。一样处于激活状态。

RTC RTC 的报警寄存器的报警寄存器 :RTCALM :RTCALM 可以决可以决定报警的使能或禁止和报警时间的设置条件。定报警的使能或禁止和报警时间的设置条件。

Page 84: 第 4 章  S3C44B0X 硬件结构及功能

5.5.节拍中断节拍中断RTC RTC 节拍时间用于中断请求。节拍时间用于中断请求。TICNT TICNT 寄存器具有一个中断使能位,同寄存器具有一个中断使能位,同

时其中的计数值用于中断。当计数值到达 时其中的计数值用于中断。当计数值到达 0 0 时,节拍时间中断就会触发。时,节拍时间中断就会触发。

中断的间隔时间计算如下:中断的间隔时间计算如下:Period=(n+1)/128 Period=(n+1)/128 秒秒其中其中 nn 为节拍时间计数值(为节拍时间计数值( 11~~ 127127 )。)。这个 这个 RTC RTC 时间节拍中断功能可以作为 时间节拍中断功能可以作为 RR

TOSTOS (实时操作系统)内核的时间节拍。如(实时操作系统)内核的时间节拍。如果节拍从 果节拍从 RTCRTC 时间节拍产生,则 时间节拍产生,则 RTOS RTOS 内内部与时间相关的功能将一直与实时时钟同步。部与时间相关的功能将一直与实时时钟同步。

Page 85: 第 4 章  S3C44B0X 硬件结构及功能

6.6.循环复位功能循环复位功能循环复位功能可以通过 循环复位功能可以通过 RTC RTC 循环复位寄存循环复位寄存

器 器 RTCRST RTCRST 来操作。来操作。你可以选循环边界时间(你可以选循环边界时间( 3030 ,, 4040 ,或 ,或 50 50

秒),在循环复位操作中,这个时间将加载到秒秒),在循环复位操作中,这个时间将加载到秒进位产生器,当秒计时到达该时间时就进位。进位产生器,当秒计时到达该时间时就进位。

例如,如果当前时间是 例如,如果当前时间是 2323 :: 3737 :: 4747 ,循,循环边界选择为 环边界选择为 40 40 秒,则循环复位操作将当前时秒,则循环复位操作将当前时间修改为 间修改为 2323 :: 3838 :: 0000 。。

注意:所有的 注意:所有的 RTC RTC 寄存器必须使用 寄存器必须使用 STRSTRB, LDRBB, LDRB 指令或 指令或 char char 类型指针类型指针 ,, 以字节方式操以字节方式操作。 作。

Page 86: 第 4 章  S3C44B0X 硬件结构及功能

4.8.3 4.8.3 实时时钟寄存器定义实时时钟寄存器定义实时控制寄存器(实时控制寄存器( RTCCONRTCCON ))RTCCON RTCCON 寄存器包括 寄存器包括 4 4 个位例如 个位例如 RTCENRTCEN ,,

用来控制对 用来控制对 BCD BCD 寄存器的读寄存器的读 // 写使能。写使能。 CLKSCLKSELEL ,, CNTSEL CNTSEL 和 和 CLKRST CLKRST 用来测试。用来测试。

RTCEN RTCEN 位可以控制所有 位可以控制所有 CPU CPU 和 和 RTC RTC 之之间的所有接口,因此在 间的所有接口,因此在 RTC RTC 控制程序中,应当控制程序中,应当将它置 将它置 11 从而使得在系统复位之后能够读写这些从而使得在系统复位之后能够读写这些寄存器。而在电源关闭之前寄存器。而在电源关闭之前 ,RTCEN ,RTCEN 位更改清 位更改清 0 0 从而阻止无意中对 从而阻止无意中对 RTC RTC 寄存器的写入。寄存器的写入。

Page 87: 第 4 章  S3C44B0X 硬件结构及功能

所有的 所有的 RTC RTC 寄存器都应该以字节为单位进寄存器都应该以字节为单位进行操作。行操作。 RTCALM RTCALM 寄存器决定了是否使能报警功寄存器决定了是否使能报警功能能 ,, 以及报警时间。以及报警时间。注意在掉电模式下,注意在掉电模式下, RTCALM RTCALM 寄存器通过 寄存器通过

ALMINT ALMINT 和 和 PMWKUP PMWKUP 产生报警信号,但在正常产生报警信号,但在正常工作模式下只有 工作模式下只有 ALMINT ALMINT 模式。模式。

ALMSEC~ALMYEARALMSEC~ALMYEAR 为为 RTCRTC 秒、分钟、秒、分钟、小时、日、月、年报警数据寄存器;小时、日、月、年报警数据寄存器;

BCDSEC~BCDYEARBCDSEC~BCDYEAR 为秒、分钟、小时、为秒、分钟、小时、日、星期、月、年数据寄存器。日、星期、月、年数据寄存器。

RTC ROUNDRTC ROUND 是秒复位寄存器。是秒复位寄存器。TICNT TICNT 为时间片计数寄存器,它包含时间为时间片计数寄存器,它包含时间

片中断禁止片中断禁止 //允许控制和时间片计数值。允许控制和时间片计数值。各控制寄存器如表各控制寄存器如表 4-434-43 所示。所示。

Page 88: 第 4 章  S3C44B0X 硬件结构及功能

4.9 4.9 中断管理中断管理

4.9.1 4.9.1 概述概述S3C44B0X S3C44B0X 的中断控制器可以接收的中断控制器可以接收

来自 来自 30 30 个中断源的请求。个中断源的请求。中断控制器的中断控制器的作用作用,就是响应来自,就是响应来自

FIQ FIQ 或 或 IRQ IRQ 的中断,并请求内核对中的中断,并请求内核对中断进行处理。断进行处理。

当有多个中断同时发生的时候,中当有多个中断同时发生的时候,中断控制器要决定首先处理哪一个中断。断控制器要决定首先处理哪一个中断。

Page 89: 第 4 章  S3C44B0X 硬件结构及功能

4.9.2 4.9.2 中断控制器中断控制器1. 1. 中断模式中断模式ARM7TDMI ARM7TDMI 有 有 2 2 种类型的中断模式,种类型的中断模式, FIQFIQ (快(快

速中断请求)或 速中断请求)或 IRQIRQ (普通中断请求)。(普通中断请求)。

2. PSR2. PSR 的 的 F F 位和 位和 I I 位位PSR PSR 指 指 ARM7TDMI ARM7TDMI 处理器的程序状态寄存器。处理器的程序状态寄存器。如果 如果 PSR PSR 的 的 F F 位被设置为位被设置为 11 ,处理器将不接受,处理器将不接受

来自中断控制器的 来自中断控制器的 FIQFIQ 。如果 。如果 PSR PSR 的 的 I I 位被设置为 位被设置为 11 ,处理器将不接受来自中断控制器的 ,处理器将不接受来自中断控制器的 IRQIRQ 。。

因此,为了使能中断相应机制,因此,为了使能中断相应机制, PSR PSR 的 的 F F 位或 位或 I I 位必须被清 位必须被清 00 ,同时 ,同时 INTMASKINTMASK 的相应位必须被清 的相应位必须被清 00 。 。

Page 90: 第 4 章  S3C44B0X 硬件结构及功能

3. 3. 中断登记寄存器中断登记寄存器如果你将所有的中断源定义为 如果你将所有的中断源定义为 IRQ IRQ 中断中断 ,,

如果同一时刻发生了如果同一时刻发生了 10 10 个中断请求,可以通个中断请求,可以通过读取中断登记寄存器来了解哪些中断发生了,过读取中断登记寄存器来了解哪些中断发生了,并对产生的中断依次进行处理,这也就是通过并对产生的中断依次进行处理,这也就是通过软件的方式决定了中断服务的优先级。软件的方式决定了中断服务的优先级。

中断登记寄存器中的位显示了某个中断请中断登记寄存器中的位显示了某个中断请求是否还未被处理。一旦某个登记位被置位,求是否还未被处理。一旦某个登记位被置位,当当 PSRPSR 的 的 I I 标志位标志位或 或 F F 标志位标志位被清 被清 0 0 时,时,中断服务程序就会启动执行。中断服务程序就会启动执行。

中断登记寄存器是一个只读寄存器中断登记寄存器是一个只读寄存器 ,, 所以在所以在服务程序中要想清除登记位时服务程序中要想清除登记位时 ,, 要采用在 要采用在 I_ISPI_ISPC C 或 或 F_ISPC F_ISPC 中相应位写入 中相应位写入 1 1 的方式实现。的方式实现。

Page 91: 第 4 章  S3C44B0X 硬件结构及功能

4.INTMSK 4.INTMSK 中断屏蔽寄存器中断屏蔽寄存器如果该寄存器的某一个位被置 如果该寄存器的某一个位被置 11 ,则该,则该

位对应的中断响应被禁止了。如果某个中断位对应的中断响应被禁止了。如果某个中断在 在 INTMSKINTMSK 寄存器的对应位为 寄存器的对应位为 00 ,则这个,则这个中断发生时将会正常被响应。中断发生时将会正常被响应。

如果某个中断的在 如果某个中断的在 INTMSK INTMSK 的寄存器的寄存器中的对应位为 中的对应位为 11 ,但是这个中断发生了,它,但是这个中断发生了,它的登记位还是会置位。的登记位还是会置位。

如果全局屏蔽位被置 如果全局屏蔽位被置 11 ,那么当中断发,那么当中断发生时,中断登记位还是会置位,但是所有的生时,中断登记位还是会置位,但是所有的中断都不会得到服务。中断都不会得到服务。

Page 92: 第 4 章  S3C44B0X 硬件结构及功能

5. 5. 中断源中断源在 在 30 30 个中断源中,有 个中断源中,有 26 26 个中断源提供给个中断源提供给

中断控制器。中断控制器。 4 4 个外部中断个外部中断 (EINT4/5/6/7)(EINT4/5/6/7) 请求是请求是通过“或”的形式提供为 通过“或”的形式提供为 1 1 个中断源送至中断控个中断源送至中断控制器制器 ,,因此因此 ,ISR(,ISR( 中断服务程序中断服务程序 )) 要通过读取 要通过读取 EXTIEXTINPND[3:0]NPND[3:0] 寄存器来区别这 寄存器来区别这 4 4 个中断源。个中断源。

它们的中断处理程序(它们的中断处理程序( ISRISR )必须在处理结)必须在处理结束时将束时将 EXTINPND[3:0]EXTINPND[3:0] 中对应位写 中对应位写 1 1 来清除该来清除该位。位。 2 2 个 个 UART UART 错误中断占用一个中断源。错误中断占用一个中断源。

中断源如中断源如表 表 4-444-44 和 图 和 图 4-164-16 所示。所示。

Page 93: 第 4 章  S3C44B0X 硬件结构及功能

(1) (1) 中断请求寄存器 中断请求寄存器 INTPNDINTPNDINTPND INTPND 寄存器中的 寄存器中的 26 26 个位对应着每一个位对应着每一

个中断源。个中断源。如表如表 4-464-46 所示,当中断发生时,所示,当中断发生时, INTPND INTPND

中相应的登记位就会置 中相应的登记位就会置 11 ,说明该中断还未被,说明该中断还未被处理。中断服务程序中必须清除该登记位,从处理。中断服务程序中必须清除该登记位,从而使系统能够及时响应下一次中断。而使系统能够及时响应下一次中断。

INTPND INTPND 是一个只读寄存器,清除登记位是一个只读寄存器,清除登记位的方式是向 的方式是向 I_ISPC/F_ISPCI_ISPC/F_ISPC 的相应位写入“的相应位写入“ 1”1” 。。

在多个中断同时发生时,在多个中断同时发生时, INTPND INTPND 将所有将所有发生的中断登记位都置 发生的中断登记位都置 11 。虽然中断请求可以。虽然中断请求可以通过 通过 INTMSK INTMSK 寄存器屏蔽,但是如果被屏蔽的寄存器屏蔽,但是如果被屏蔽的中断发生了,中断发生了, INTPND INTPND 中的登记位仍然会被置 中的登记位仍然会被置 11 。。

Page 94: 第 4 章  S3C44B0X 硬件结构及功能

(2) (2) 中断模式寄存器 中断模式寄存器 INTMODINTMOD

INTMOD INTMOD 寄存器中的 寄存器中的 26 26 个位个位对应着每一个中断源。对应着每一个中断源。

如表如表 4-464-46 所示,当 所示,当 INTMOD INTMOD 中的响应位设置为中的响应位设置为 11 ,则,则 ARM7TDARM7TDMI MI 内核将以 内核将以 FIQFIQ (快速中断)模(快速中断)模式响应此中断。否则,以 式响应此中断。否则,以 IRQIRQ (普(普通中断)模式响应。通中断)模式响应。

Page 95: 第 4 章  S3C44B0X 硬件结构及功能

(3) (3) 中断屏蔽寄存器 中断屏蔽寄存器 INTMSKINTMSK

在 在 INTMSKINTMSK 中,除了全局屏蔽位,其中,除了全局屏蔽位,其余的 余的 26 26 位依次对应着每个中断源。位依次对应着每个中断源。

当当 INTMSK INTMSK 的某个的某个屏蔽位屏蔽位为 为 1 1 同时该同时该位对应的中断事件发生了,此时 位对应的中断事件发生了,此时 CPU CPU 事不事不会对中断请求进行响应的。如果屏蔽位为会对中断请求进行响应的。如果屏蔽位为 00 ,,则 则 CPU CPU 将对中断请求进行响应。将对中断请求进行响应。

如果全局屏蔽位为 如果全局屏蔽位为 11 ,则所有的中断请,则所有的中断请求都不会被响应,但是当中断发生时,相应求都不会被响应,但是当中断发生时,相应的登记位仍将被置 的登记位仍将被置 11 。。 INTMSK INTMSK 的位定义的位定义如表如表 4-464-46 所示。所示。

Page 96: 第 4 章  S3C44B0X 硬件结构及功能

(4) IRQ (4) IRQ 矢量模式寄存器矢量模式寄存器优先级产生模块包括优先级产生模块包括 55 个单元,个单元, 11 个主单元个主单元

和和 44 个辅单元。每个辅单元管理个辅单元。每个辅单元管理 66 个中断源。主个中断源。主优先级产生单元管理优先级产生单元管理 44 个辅单元和个辅单元和 22 个中断源。个中断源。  

每个辅单元有每个辅单元有 44 个可编程的优先级源个可编程的优先级源 sGnsGn 和 和 22 个固定优先级源个固定优先级源 sGKnsGKn 。每个辅单元的。每个辅单元的 44 个中个中断源优先级由 断源优先级由 I_PSLVI_PSLV 寄存器决定。另外寄存器决定。另外 22 个固个固定源的优先级在定源的优先级在 66 个源中是最低的。主优先级产个源中是最低的。主优先级产生单元通过生单元通过 I_PMSTI_PMST 寄存器决定寄存器决定 44 个辅单元和个辅单元和 22个中断源之间的优先级。中断源个中断源之间的优先级。中断源 INT_RTCINT_RTC 和和 INT_INT_

ADCADC在在 2626 个中断源中优先级是最低的。个中断源中优先级是最低的。如果几个中断请求同时发生,如果几个中断请求同时发生, I_ISPRI_ISPR 寄存器寄存器

中将其中具有最高优先级的中断源对应位置中将其中具有最高优先级的中断源对应位置 11 。 。

Page 97: 第 4 章  S3C44B0X 硬件结构及功能

(5) IRQ/FIQ(5) IRQ/FIQ 中断服务寄存器中断服务寄存器I_ISPR/F_ISPRI_ISPR/F_ISPR 是是 IRQ/FIQIRQ/FIQ 中断模中断模

式下的中断服务寄存器,式下的中断服务寄存器, I_ISPC/F_ISPI_ISPC/F_ISPCC 是是 IRQ/FIQIRQ/FIQ 中断模式下的清除中断服中断模式下的清除中断服务寄存器。务寄存器。

I_ISPC/F_ISPC I_ISPC/F_ISPC 清除中断登记位清除中断登记位(( INTPNDINTPND )。)。 I_ISPC/F_ISPC I_ISPC/F_ISPC 也通知也通知中断控制器,中断服务(中断控制器,中断服务( ISRISR )已经结)已经结束。在某个中断的 束。在某个中断的 ISR ISR 结束时,该中断结束时,该中断相应的登记位也必须被清零。 相应的登记位也必须被清零。

Page 98: 第 4 章  S3C44B0X 硬件结构及功能

要将 要将 INTPND INTPND 的某一位清零,方法是往的某一位清零,方法是往 II_ISPC/F_ISPC_ISPC/F_ISPC 的相应位写入 的相应位写入 11 。。

在清除在清除 I_ISPC/F_ISPCI_ISPC/F_ISPC 时,还必须注意:时,还必须注意:I_ISPC/F_ISPCI_ISPC/F_ISPC 寄存器在 寄存器在 ISR ISR 中只能被操作 中只能被操作 1 1 次。如果你没有遵守这两点,在中断请求发次。如果你没有遵守这两点,在中断请求发生时,生时, I_ISPR/F_ISPRI_ISPR/F_ISPR 和和 INTPND INTPND 寄存器寄存器可能还是 可能还是 00 。。

I_ISPR/F_ISPRI_ISPR/F_ISPR 和和 I_ISPC/F_ISPC I_ISPC/F_ISPC 寄存寄存器的位定义如表器的位定义如表 4-464-46 所示。所示。

Page 99: 第 4 章  S3C44B0X 硬件结构及功能

4.10 4.10 串行口管理串行口管理4.10.1 4.10.1 概述概述S3C44B0XS3C44B0X 的的 UARTUART (通用异步收发(通用异步收发

器)单元提供两个独立的器)单元提供两个独立的异步串行异步串行 I/OI/O 端口端口,,每个都可以在中断和每个都可以在中断和 DMADMA 两种模式下工作。两种模式下工作。它们支持的最高波特率为它们支持的最高波特率为 115.2Kbps115.2Kbps 。每个。每个UARTUART 通道包含通道包含 22 个个 1616 位位 FIFOFIFO 分别提供给分别提供给接收和发送。接收和发送。

S3C44B0XS3C44B0X 的的 UARTUART 可以进行以下参数可以进行以下参数的设置:可编程的波特率,红外收的设置:可编程的波特率,红外收 // 发模式,发模式,11或或 22 个停止位,个停止位, 55 位、位、 66 位、位、 77 位或位或 88 位数位数据宽度和奇偶位校验。据宽度和奇偶位校验。

Page 100: 第 4 章  S3C44B0X 硬件结构及功能

如图如图 4-174-17 所示所示 :: 每个每个 UARTUART 包含一个波包含一个波特率产生器特率产生器 ,, 发送器发送器 ,, 接收器和控制单元。波接收器和控制单元。波特率发生器以特率发生器以 MCLKMCLK 作为时钟源。发送器和作为时钟源。发送器和接收器包含接收器包含 1616字节的字节的 FIFOsFIFOs 和移位寄存器。和移位寄存器。

被发送的数据,首先被写入被发送的数据,首先被写入 FIFOFIFO ,再,再拷贝到发送移位寄存器,然后它从数据输出拷贝到发送移位寄存器,然后它从数据输出端口(端口( TxDnTxDn )依次被移位输出。)依次被移位输出。被接收的数据也同样从数据接收端口被接收的数据也同样从数据接收端口

(( RxDnRxDn )移位输入到移位寄存器,然后拷)移位输入到移位寄存器,然后拷贝到贝到 FIFOFIFO 中。 中。

Page 101: 第 4 章  S3C44B0X 硬件结构及功能

特性:特性:

RxD0RxD0 ,, TxD0TxD0 ,, RxD1RxD1 ,, TxD1 TxD1 可以以可以以中断模式或 中断模式或 DMADMA 模式工作;模式工作;

UART UART 通道 通道 0 0 符合 符合 IrDA 1.0 IrDA 1.0 要求,且具要求,且具有 有 16 16 字节的 字节的 FIFOFIFO ;;

UART UART 通道 通道 1 1 符合 符合 IrDA 1.0 IrDA 1.0 要求,且具要求,且具有 有 16 16 字节的 字节的 FIFOFIFO ;;

支持收发时握手模式。 支持收发时握手模式。

Page 102: 第 4 章  S3C44B0X 硬件结构及功能

4.10.2 UART 4.10.2 UART 操作操作以下将介绍 以下将介绍 UART UART 的操作,包括数据发送,数据的操作,包括数据发送,数据

接收,中断发生,波特率发生,回送模式,自动流控制接收,中断发生,波特率发生,回送模式,自动流控制等内容。等内容。

1. 1. 数据发送数据发送数据发送帧格式是可编程的。数据发送帧格式是可编程的。它包含一个开始位,它包含一个开始位, 55 到到 88 个数据位,一个可选的个数据位,一个可选的

奇偶位和奇偶位和 11 到到 22 个停止位,这些都可以通过线控制寄存个停止位,这些都可以通过线控制寄存器(器( ULCONnULCONn )来设置。发送器也能够产生发送中止)来设置。发送器也能够产生发送中止条件。条件。

中止条件迫使串口输出保持在逻辑中止条件迫使串口输出保持在逻辑 00状态,这种状状态,这种状态保持超过一个传输帧的时间长度。通常在一帧传输数态保持超过一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全据完整地传输完之后,再通过这个全 00状态将中止信号状态将中止信号发送给对方。中止信号发送之后,传送数据将持续地放发送给对方。中止信号发送之后,传送数据将持续地放入到输出入到输出 FIFOFIFO 中(在不使用中(在不使用 FIFOFIFO 模式下,将被放到模式下,将被放到输出保持寄存器)。 输出保持寄存器)。

Page 103: 第 4 章  S3C44B0X 硬件结构及功能

2. 2. 数据接收数据接收与发送一样与发送一样 ,, 接收的数据帧格式同发送帧格式。接收的数据帧格式同发送帧格式。接收器还可以检测到接收器还可以检测到溢出错误溢出错误,,奇偶校验错误奇偶校验错误,,

帧错误帧错误和和中止状况中止状况,每种情况下都会将一个错误标志,每种情况下都会将一个错误标志置位。置位。

溢出错误表示新的数据已经覆盖了旧的数据,因溢出错误表示新的数据已经覆盖了旧的数据,因为旧的数据没有及时被读入;为旧的数据没有及时被读入;

奇偶校验错误表示接收器检测到了意料之外的奇奇偶校验错误表示接收器检测到了意料之外的奇偶校验结果;偶校验结果;

帧错误表示接收到的数据没有有效的停止位;帧错误表示接收到的数据没有有效的停止位;中止状况表示中止状况表示 RxDnRxDn 的输入被保持为的输入被保持为 00状态超过状态超过

了一个帧传输的时间。了一个帧传输的时间。在在 FIFOFIFO 模式下接收模式下接收 FIFOFIFO不为空,但接收器已经不为空,但接收器已经

在在 33 个字时间内没有接收到任何数据,就认为发生了个字时间内没有接收到任何数据,就认为发生了接收超时状况。接收超时状况。

Page 104: 第 4 章  S3C44B0X 硬件结构及功能

3. 3. 自动流控制(自动流控制( AFCAFC ))S3C44B0XS3C44B0X 的的 UARTUART 通过通过 nRTSnRTS 和和 nCTSnCTS

信号支持自动流控制,在这种情况下必须是信号支持自动流控制,在这种情况下必须是 UARUARTT 与与 UARTUART 连接。 连接。

4. 4. 非自动流控制非自动流控制通过软件控制 通过软件控制 nRTS nRTS 和 和 nCTSnCTS

5. 5. 调制解调器接口调制解调器接口如果用户要连接到调制解调器接口,就需要如果用户要连接到调制解调器接口,就需要

nRTSnRTS ,, nCTSnCTS ,, nDSRnDSR ,, nDTRnDTR ,, DCDDCD 和和 nnRIRI 信号。在这种情况下,用户可以通过通用其它信号。在这种情况下,用户可以通过通用其它I/OI/O 口来由软件控制这些信号,因为口来由软件控制这些信号,因为 AFCAFC 是不支是不支持持 RS-232CRS-232C 接口的。接口的。

Page 105: 第 4 章  S3C44B0X 硬件结构及功能

4.10.3 4.10.3 中断中断 /DMA /DMA 请求产生器请求产生器S3C44B0XS3C44B0X 的每个的每个 UARTUART都有都有 77 个状态信号个状态信号:溢:溢

出错误,奇偶校验错误,帧错误,中止,接收出错误,奇偶校验错误,帧错误,中止,接收 FIFO/FIFO/缓冲区数据准备好,发送缓冲区数据准备好,发送 FIFO/FIFO/缓冲区空,发送移位缓冲区空,发送移位寄存器空。寄存器空。

所有这些状态都由对应的所有这些状态都由对应的 UARTUART状态寄存器(状态寄存器( UTUTRSTATn/UERSTATnRSTATn/UERSTATn )中的相应位来表现。)中的相应位来表现。

溢出错误溢出错误,,奇偶校验错误奇偶校验错误,,帧错误帧错误和和中止状况中止状况都都被认为是被认为是接收错误状态接收错误状态,如果,如果 UCONnUCONn 中的“接收错中的“接收错误状态中断使能位”被置位,它们中的每一个都能够误状态中断使能位”被置位,它们中的每一个都能够引发接收错误中断请求。引发接收错误中断请求。

当“接收错误状态中断请求”被检测到,引发请当“接收错误状态中断请求”被检测到,引发请求的信号可以通过读取求的信号可以通过读取 UERSTATnUERSTATn 来识别。来识别。

Page 106: 第 4 章  S3C44B0X 硬件结构及功能

当接收器要将接收移位寄存器的数据送当接收器要将接收移位寄存器的数据送到到接收接收 FIFOFIFO ,它会激活接收,它会激活接收 FIFOFIFO 满状态信满状态信号,如果控制寄存器中的接收模式选为中断号,如果控制寄存器中的接收模式选为中断模式,就会引发接收中断。模式,就会引发接收中断。

当发送器从发送当发送器从发送 FIFOFIFO 中取出数据到发送中取出数据到发送移位寄存器,那么移位寄存器,那么 FIFOFIFO 空状态信号将会被激空状态信号将会被激活。如果控制寄存器中的发送模式选为中断活。如果控制寄存器中的发送模式选为中断模式,就会引发发送中断。模式,就会引发发送中断。

如果接收如果接收 // 发送模式被选为发送模式被选为 DMADMA 模式,模式,“接收“接收 FIFOFIFO 满”和“发送满”和“发送 FIFOFIFO 空”状态信空”状态信号同样可以产生号同样可以产生 DMADMA 请求信号。请求信号。

与与 FIFOFIFO 有关的中断如表有关的中断如表 4-474-47 所示。所示。

Page 107: 第 4 章  S3C44B0X 硬件结构及功能

4.10.4 UART 4.10.4 UART 错误状态 错误状态 FIFOFIFO除了接收除了接收 FIFOFIFO 寄存器之外,寄存器之外, UARTUART 还具还具

有一个有一个状态状态 FIFOFIFO 。状态。状态 FIFOFIFO 中表示了在中表示了在 FIFFIFOO 寄存器中,哪一个数据被无错误地接收。寄存器中,哪一个数据被无错误地接收。

假设假设 UARTUART 的的 FIFOFIFO 连续接收到连续接收到 A,B,C,D,EA,B,C,D,E字符,并且在接收字符,并且在接收 BB 字符时发生了帧错误(即字符时发生了帧错误(即该字符没有停止位),在接收该字符没有停止位),在接收 DD 字符时发生了字符时发生了奇偶校验错。奇偶校验错。虽然虽然 UARTUART 错误发生了,错误中断不会产错误发生了,错误中断不会产

生,因为含有错误的字符还没有被生,因为含有错误的字符还没有被 CPUCPU 读取。读取。当字符被读出时错误中断才会发生。如图当字符被读出时错误中断才会发生。如图 4-194-19所示。所示。

Page 108: 第 4 章  S3C44B0X 硬件结构及功能

4.10.5 4.10.5 波特率发生器波特率发生器每个每个 UARTUART 的波特率发生器为传输提供了串行的波特率发生器为传输提供了串行

移位时钟。波特率产生器的时钟源可以通过移位时钟。波特率产生器的时钟源可以通过 S3C4S3C44B0X4B0X 的内部系统时钟来选择。波特率时钟通过时的内部系统时钟来选择。波特率时钟通过时钟源钟源 1616分频和一个由分频和一个由 UARTUART波特率除数寄存器波特率除数寄存器(UBRDIVn)(UBRDIVn) 指定的指定的 1616 位除数决定。位除数决定。

UBRDIVnUBRDIVn 的值可以按照下式确定:的值可以按照下式确定:UBRDIVn=UBRDIVn= (取整)((取整)( MCLK/(bps×16)MCLK/(bps×16) )) -1-1除数的范围为除数的范围为 11 到(到( 221616-1-1 )。)。例如,如果波特率为例如,如果波特率为 115.2Kbps115.2Kbps 且系统主频且系统主频

(MCLK)(MCLK) 为为 64MHz64MHz ,则,则 UBRDIVnUBRDIVn 为:为:UBRDIVn=(int)(64000000/(115200×16))-1=3UBRDIVn=(int)(64000000/(115200×16))-1=3

5-1=34 5-1=34

Page 109: 第 4 章  S3C44B0X 硬件结构及功能

4.10.6 4.10.6 回送模式回送模式S3C44B0XS3C44B0X 的的 UARTUART 提供一个测试模式,提供一个测试模式,

即回送模式。在这种模式下,发送的数据会即回送模式。在这种模式下,发送的数据会立即被接收。这一特性运行处理器校验内部立即被接收。这一特性运行处理器校验内部发送和接收通道的功能。这种模式可以通过发送和接收通道的功能。这种模式可以通过设置设置 UARTUART 控制寄存器控制寄存器 (UCONn)(UCONn) 中的回送中的回送位来设定。位来设定。

4.10.7 4.10.7 红外通信模式红外通信模式S3C44B0XS3C44B0X 的的 UARTUART 模块支持红外线模块支持红外线 (I(I

R)R) 发送和接收。可以通过设置发送和接收。可以通过设置 UARTUART 控制寄控制寄存器(存器( ULCONnULCONn )中的红外模式位来选择这)中的红外模式位来选择这一模式。一模式。

Page 110: 第 4 章  S3C44B0X 硬件结构及功能

4.10.8 UART 4.10.8 UART 寄存器寄存器

寄存器名称中的寄存器名称中的 nn表示表示 0~10~1 ,例如,例如ULCONnULCONn 对应串口对应串口 00 为为 ULCON0,ULCON0, 对应对应串口串口 11 为为 ULCON1ULCON1 。。

1. UART1. UART 线控制寄存器线控制寄存器前面多次提到了线控制寄存器,它前面多次提到了线控制寄存器,它

主要用来规定传输帧的格式。主要用来规定传输帧的格式。线控制寄存器定义如表线控制寄存器定义如表 4-484-48 所示。所示。

Page 111: 第 4 章  S3C44B0X 硬件结构及功能

UCONnUCONn 位位 描 述 描 述 初始初始值值

发送中断发送中断类型类型 [ 9 ][ 9 ]

中断请求类型中断请求类型0=0=脉冲(在发送缓冲区变空时立即引发中断)脉冲(在发送缓冲区变空时立即引发中断)1=1=电平(在发送缓冲区变空时引发中断)电平(在发送缓冲区变空时引发中断)

00

接收中断接收中断类型类型 [ 8 ][ 8 ]

中断请求类型中断请求类型0=0=脉冲(在接收缓冲区接收到数据时立即引发中断)脉冲(在接收缓冲区接收到数据时立即引发中断)1=1=电平(在接收缓冲区正在接收到数据时引发中断)电平(在接收缓冲区正在接收到数据时引发中断)

00

接收超时接收超时中断使中断使能能

[ 7 ][ 7 ]在在 UARTUART的的 FIFOFIFO使能的情况下,使能使能的情况下,使能 //禁止接收超禁止接收超时中断时中断

0=0= 禁止 禁止 1=1=允许允许00

接收错误接收错误状态中状态中断使能断使能

[ 6 ][ 6 ]使能使能 UARTUART在接收操作中发生错误时的错误中断响应在接收操作中发生错误时的错误中断响应0=0= 不产生错误状态中断 不产生错误状态中断 1=1=产生错误状态中断产生错误状态中断 00

22.. UARTUART 控制寄存器控制寄存器UCONnUCONn 控制寄存器各位定义如表控制寄存器各位定义如表 4—494—49 所示。所示。

表表 4—49UCONn4—49UCONn 控制寄存器控制寄存器

Page 112: 第 4 章  S3C44B0X 硬件结构及功能

UCONnUCONn 位位 描 述 描 述 初初始始值值

回送模式回送模式 [ 5 ][ 5 ]设置该位,设置该位, UARTUART自动进入回送模式。自动进入回送模式。 0=0= 正常传输 正常传输 11==发送终止信号发送终止信号 00

发送终止发送终止信号信号 [ 4 ][ 4 ]

设置该位,令设置该位,令 UARTUART在一桢时间中发送一个终止状态。在一桢时间中发送一个终止状态。发送完毕系统自动清除该位。发送完毕系统自动清除该位。0=0= 正常传输 正常传输 1=1=发送终止信号发送终止信号

00

发送模式发送模式 [ 3:2 [ 3:2 ]]

向向 UARTUART发送保持寄存器中写入数据的模式。发送保持寄存器中写入数据的模式。00=00= 禁止 禁止 01=01= 中断请求查询模式 中断请求查询模式 10=BDMAD 10=BDMAD 请求(请求(仅仅 UART0UART0)) 11=BDMA1 11=BDMA1 请求(仅请求(仅 UART1UART1))

0000

接收模式接收模式 [ 1:0 [ 1:0 ]]

从从 UARTUART接受缓冲区中读出数据的模式,接受缓冲区中读出数据的模式, 00=00= 禁止 禁止 0101== 中断请求查询模式 中断请求查询模式 10=BDMA0 10=BDMA0 请求(仅请求(仅 UARTDUARTD))11=BDMA111=BDMA1请求(仅请求(仅 UART1UART1))

0000

Page 113: 第 4 章  S3C44B0X 硬件结构及功能

33.. FIFOFIFO 控制寄存器控制寄存器FIFOFIFO 控制寄存器控制寄存器 UFCONnUFCONn 如表如表 4—504—50 所示,所示, UFCOUFCO

NnNn 控制控制 UART0UART0 和和 UART1UART1 的的 RxRx 和和 Tx FIFOTx FIFO 操作 操作 表表 4—50 UFCONn4—50 UFCONn 控制寄存器 控制寄存器

UFCONnUFCONn 位位 描 述 描 述 初始初始值值

发送发送 FIFOFIFO的触发水平的触发水平

[ 7:6 [ 7:6 ]]

决定发送决定发送 FIFOFIFO的触发水平的触发水平00=00= 空 空 01=401=4 字节 字节 10=810=8 字节 字节 11=1211=12字节字节 0000

接收接收 FIFOFIFO的触发水平的触发水平 [ 5:4][ 5:4]

决定发送决定发送 FIFOFIFO的触发水平的触发水平00=400=4 字节 字节 01=801=8 字节 字节 10=1210=12 字节 字节 11=1611=16字节字节

0000

保留保留 [ 3 ][ 3 ] 00

Tx FIFOTx FIFO复复位位 [ 2 ][ 2 ]

在复位在复位 FIFOFIFO 后自动清零 后自动清零 0=0= 正常 正常 1=Tx F1=Tx FIFOIFO复位复位 00

Rx FIFORx FIFO复复位位 [ 1 ][ 1 ]

在复位在复位 FIF0FIF0 后自动清零 后自动清零 0=0= 正常 正常 1=RxFI1=RxFIF0F0复位复位 00

FIFOFIFO使能使能 [ 0 ][ 0 ] FIF0FIF0禁止允许:禁止允许: 0=0= 禁止 禁止 1=1=允许允许 00

Page 114: 第 4 章  S3C44B0X 硬件结构及功能

44.. UARTUART 的的 ModenModen 控制寄存器控制寄存器UMCONnUMCONn 是是 ModenModen 控制寄存器,如表控制寄存器,如表 4—4—

5151 所示所示表表 4—51 UMCONn Moden4—51 UMCONn Moden 控制寄存器控制寄存器

UMCONnUMCONn 位位 描 述 描 述 初始值初始值

保留保留 [ 7:5[ 7:5]]这些位必须为这些位必须为 00

0000

AFCAFC(( AutAuto Flow conto Flow cont

rolrol))[ 4 ][ 4 ]

自动流控制禁止允许位 自动流控制禁止允许位 0=0= 禁止 禁止 1=1=允许允许00

保留保留 [ 3:1[ 3:1]]这些位必须为这些位必须为 00

0000

请求发送请求发送 [ 0 ][ 0 ]

如果如果 AFCAFC使能,这位的值将被忽略。在这使能,这位的值将被忽略。在这种情况下,种情况下, S3C44BOXS3C44BOX自动控制自动控制 nRTSnRTS如果如果 AFCAFC禁止,必须由软件来控制禁止,必须由软件来控制 nRTSnRTS0=0=高电平(失活高电平(失活 nRTSnRTS ) ) 1=1=低电平(激低电平(激活活 nRTSnRTS))

00

Page 115: 第 4 章  S3C44B0X 硬件结构及功能

55.. UARTUART 发送发送 // 接收状态寄存器接收状态寄存器UTRSTATnUTRSTATn 是发送是发送 // 接收状态寄存器,如表接收状态寄存器,如表 4—524—52 所示。所示。表表 4—52 UTRSTATn4—52 UTRSTATn 发送发送 // 接收状态控制寄存器接收状态控制寄存器

UTRSTATnUTRSTATn 位位 描 述 描 述 初始值初始值

发送移位寄存发送移位寄存器为空器为空 [ 2 ][ 2 ]

当发送移位寄存器中不包含有效数据或移位当发送移位寄存器中不包含有效数据或移位寄存器为空,这一位将自动被置位。寄存器为空,这一位将自动被置位。0=0= 非空 非空 1=1=发送保持和移位寄存器为空发送保持和移位寄存器为空

11

发送缓冲器为发送缓冲器为空空 [ 1 ][ 1 ]

当发送缓冲区寄存器中不包含有效数据,这当发送缓冲区寄存器中不包含有效数据,这一位将自动被置位。一位将自动被置位。0=0= 缓冲区寄存器非空 缓冲区寄存器非空 1=1=空空如果使用了如果使用了 FIFOFIFO,则用户不用检测这个位,则用户不用检测这个位,而应当检测,而应当检测 UFSTATUFSTAT中发送中发送 FIF0FIF0计数器计数器位和位和 FIF0FIF0满位。满位。

11

接收缓冲器数接收缓冲器数据就绪据就绪 [ 0 ][ 0 ]

当接收缓冲器寄存器中包含有效数据,这一当接收缓冲器寄存器中包含有效数据,这一位将自动被置位。位将自动被置位。0=0= 完全为空 完全为空 1=1=缓冲器寄存器中包含有效数缓冲器寄存器中包含有效数据据如果使用了如果使用了 FIF0FIF0,则用户不用检测这个位,则用户不用检测这个位,而应当检测,而应当检测 UFSTATUFSTAT中接收中接收 FIF0FIF0计数器计数器位。位。

00

Page 116: 第 4 章  S3C44B0X 硬件结构及功能

66.. UARTUART 错误状态寄存器错误状态寄存器UERSTATnUERSTATn 是错误状态寄存器,如表是错误状态寄存器,如表 4—54—5

33 所示所示表表 4—53 UERSTATn4—53 UERSTATn 错误状态寄存器错误状态寄存器

UERSTAUERSTATnTn

位位 描 述 描 述 初始值初始值

间隔中断间隔中断 [ 3 ][ 3 ]0=0= 未收到间隔信号 未收到间隔信号 1=1=收到间隔信收到间隔信号号 00

数据桢错数据桢错误误 [ 2 ][ 2 ]

0=0= 接收时无桢错误 接收时无桢错误 1=1=接收时发生接收时发生桢错误桢错误 00

奇偶错误奇偶错误 [ 1 ][ 1 ]0=0= 接收时无奇偶错误 接收时无奇偶错误 1=1=接收时奇接收时奇偶错误偶错误 00

OverrunOverrun错误错误 [ 0 ][ 0 ]

0=0=在接收过程中未产生在接收过程中未产生 OverrunOverrun错错 误 误

1= Overrun1= Overrun错误错误注:当已收到的数据还未被读取,而注:当已收到的数据还未被读取,而新接收的数据覆盖了原有的数据时,新接收的数据覆盖了原有的数据时,就会产生就会产生 OverrunOverrun错误错误

00

Page 117: 第 4 章  S3C44B0X 硬件结构及功能

77.. UARTUART 的的 FIF0FIF0 状态寄存器状态寄存器UFSTATnUFSTATn 是是 FIF0FIF0 状态寄存器 ,如表状态寄存器 ,如表 4—544—54 所所示示

表表 4—54 UFSTATn FIF04—54 UFSTATn FIF0 状态寄存器状态寄存器UFSTATnUFSTATn 位位 描 述 描 述 初始值初始值

保留保留 [ 15:10 ][ 15:10 ] 00

Tx FIF0Tx FIF0满满 [ 9 ][ 9 ]

当当 FIF0FIF0满时,置满时,置 110=00=0 ≤字节≤字节 Tx FIF0Tx FIF0 ≤数据≤数据 1515字字节节1=1=满满

00

Rx FIF0Rx FIF0满满 [ 8 ][ 8 ]

当当 FIF0FIF0要满时,置要满时,置 110=00=0 ≤字节≤字节 Rx FIF0Rx FIF0 ≤数据≤数据 1515字字节节1=1=满满

00

Tx FIF0Tx FIF0计计数数 [ 7:4 ][ 7:4 ]

发送发送 FIF0FIF0中数据的个数中数据的个数00

Rx FIF0Rx FIF0计计数数 [ 3:0 ][ 3:0 ]

接收接收 FIF0FIF0中数据的个数中数据的个数00

Page 118: 第 4 章  S3C44B0X 硬件结构及功能

88.. UARTUART 的的 ModemModem 状态寄存器状态寄存器UMSTATnUMSTATn 是是 ModemModem 状态寄存器,如表状态寄存器,如表 4—554—55所示所示

表表 4—55 UMSTATn Modem4—55 UMSTATn Modem 状态寄存器状态寄存器UMSTATnUMSTATn 位位 描 述 描 述 初始值初始值

Delta CTSDelta CTS [ 4 ][ 4 ]表明输入到表明输入到 S3C44BOXS3C44BOX的信号从的信号从上一次读过后已经改变上一次读过后已经改变0=0= 无改变 无改变 1=1=已改变已改变

00

RservedRserved[ 3:1 [ 3:1

]]保留保留

Clear to SendClear to Send [ 0 ][ 0 ]

0=CTS0=CTS信号未激活(信号未激活( nCTSnCTS引脚引脚为高电平)为高电平)1= CTS1= CTS信号已激活(信号已激活( nCTSnCTS引脚引脚为低电平)为低电平)

00

Page 119: 第 4 章  S3C44B0X 硬件结构及功能

99.. UARTUART 发送发送 // 接收保持(缓冲区)寄存接收保持(缓冲区)寄存器器

URXHn/ URXHnURXHn/ URXHn 是发送是发送 // 接收保持(缓冲接收保持(缓冲区)寄存器,如表区)寄存器,如表 4—564—56 和表和表 4—574—57 所示所示

表表 4—56 URXHn4—56 URXHn 是发送保持(缓冲区)是发送保持(缓冲区)寄存器寄存器URXHnURXHn 位位 描 述 描 述 初始值初始值RXDATAnRXDATAn [ 7:0 [ 7:0

]]从从 UARTnUARTn发送的数据字发送的数据字节节 ——

Page 120: 第 4 章  S3C44B0X 硬件结构及功能

URXHnURXHn 位位 描 述 描 述 初始值初始值URXDATAnURXDATAn [ 7:0 ][ 7:0 ] 从从 UARTnUARTn接收的数据字接收的数据字

节节 ——

注:注: UARTUART 接收保持(缓冲区)寄存器和接收保持(缓冲区)寄存器和 FIFIF0F0寄存器寄存器 :URXH0,URXH1:URXH0,URXH1 ,如果发生了益,如果发生了益出错误,必须读一次出错误,必须读一次 URXHn URXHn ,如果不读,,如果不读,即使即使 USTATnUSTATn 中的溢出错误位被清除了,下中的溢出错误位被清除了,下一个接收的数据仍然会发生一个溢出错误。一个接收的数据仍然会发生一个溢出错误。

表表 4—57 URXHn4—57 URXHn 是接收保持(缓冲区)寄存器 是接收保持(缓冲区)寄存器

Page 121: 第 4 章  S3C44B0X 硬件结构及功能

1010.. UARTUART波特率除数寄存器波特率除数寄存器UBRDIVnUBRDIVn 是波特率除数寄存器,是波特率除数寄存器,如表如表 4—584—58 所示所示

UBRDIVnUBRDIVn 位位 描 述 描 述 初始值初始值UBRDIVUBRDIV [ 15:0 [ 15:0

]]波特率除数的值波特率除数的值UBRDIV > 0UBRDIV > 0

——