《【教学课件】第4章S3C44B0X硬件结构及功能》由会员分享,可在线阅读,更多相关《【教学课件】第4章S3C44B0X硬件结构及功能(182页珍藏版)》请在金锄头文库上搜索。
1、第第4章章 S3C44B0X硬件结构硬件结构及功能及功能 本章主要介绍了本章主要介绍了S3C44B0X的体系结的体系结构及各种功能接口,主要包括以下内容:构及各种功能接口,主要包括以下内容:1.存储器管理存储器管理2.系统总线及时钟系统总线及时钟3.中断管理中断管理4.DMA、I/O口、定时器、口、定时器、A/D、I2C、 SPI等接口结构等接口结构4.1 S3C44BOX简介简介 SAMSUNGSAMSUNG公司推出的公司推出的公司推出的公司推出的16/3216/32位位位位RISCRISC处理器处理器处理器处理器S3C44BOXS3C44BOX为手持设备和一般应用提供了高性价为手持设备和一
2、般应用提供了高性价为手持设备和一般应用提供了高性价为手持设备和一般应用提供了高性价比和高性能的微控制器解决方案。比和高性能的微控制器解决方案。比和高性能的微控制器解决方案。比和高性能的微控制器解决方案。为了降低成本,为了降低成本,为了降低成本,为了降低成本,S3C44BOXS3C44BOX提供了丰富的内提供了丰富的内提供了丰富的内提供了丰富的内置部件,包括:置部件,包括:置部件,包括:置部件,包括:8KBCache8KBCache和内部和内部和内部和内部SRAMSRAM,LCDLCD控制器,带自动握手的控制器,带自动握手的控制器,带自动握手的控制器,带自动握手的2 2通道通道通道通道UARTU
3、ART,4 4通道通道通道通道DMADMA,系统管理器(片选逻辑,系统管理器(片选逻辑,系统管理器(片选逻辑,系统管理器(片选逻辑,FP/EDO/SDRAMFP/EDO/SDRAM控控控控制器),带制器),带制器),带制器),带PWMPWM功能的功能的功能的功能的5 5通道定时器和一个内部通道定时器和一个内部通道定时器和一个内部通道定时器和一个内部定时器,定时器,定时器,定时器,I/OI/O端口,端口,端口,端口,RTCRTC,8 8通道通道通道通道1010位位位位ADCADC,CCBUSBUS接口,接口,接口,接口,SBUSSBUS接口,同步接口,同步接口,同步接口,同步SIOSIO接口和接
4、口和接口和接口和PLLPLL倍频器。倍频器。倍频器。倍频器。 S3C44BOX是使用是使用ARM7TDMI内核内核,采用,采用0.25mCMOS工艺制造。它的低工艺制造。它的低功耗和全静态设计特别适用于对成本和功耗和全静态设计特别适用于对成本和功耗敏感的应用。功耗敏感的应用。同样地,同样地,S3C44BOX还采用了一种还采用了一种新的总线结构,即新的总线结构,即SAMBAII(三星(三星ARMCPU嵌入式微处理器总线结构)。嵌入式微处理器总线结构)。S3C44BOX的杰出特性是它的的杰出特性是它的CPU核,核,是由是由ARM公司设计的公司设计的16/32位位ARM7TDMI RISC处理器(处
5、理器(66MHz)。它包括了)。它包括了Thumb代码压缩器,一个片上的代码压缩器,一个片上的ICE断点调试支持和断点调试支持和一个一个32位的硬件乘法器。位的硬件乘法器。S3C44BOXS3C44BOX通过提供全面的、通用的焉上外设,通过提供全面的、通用的焉上外设,通过提供全面的、通用的焉上外设,通过提供全面的、通用的焉上外设,大大减少了系统中除处理器以外的元器件配置,从而使大大减少了系统中除处理器以外的元器件配置,从而使大大减少了系统中除处理器以外的元器件配置,从而使大大减少了系统中除处理器以外的元器件配置,从而使系统的成本大为降低。系统的成本大为降低。系统的成本大为降低。系统的成本大为降
6、低。S3C44BOXS3C44BOX集成的各种集成的各种集成的各种集成的各种片上功能片上功能片上功能片上功能如下:如下:如下:如下:(1 1)2.5V ARM7TDMI2.5V ARM7TDMI内核,带有内核,带有内核,带有内核,带有8KB Cache8KB Cache;(2 2)可选的内部)可选的内部)可选的内部)可选的内部SRAMSRAM;(3 3)LCDLCD控制器(最大支持控制器(最大支持控制器(最大支持控制器(最大支持256256色色色色DSTNDSTN,LCDLCD具具具具有专用有专用有专用有专用DMADMA););););(4 4)2 2通道通道通道通道UARTUART带有握手协
7、议(支持带有握手协议(支持带有握手协议(支持带有握手协议(支持IrDA1.0IrDA1.0,具有具有具有具有16-byte FIFO16-byte FIFO););););(5 5)1 1通道通道通道通道SIOSIO;(6 6)2 2个通用个通用个通用个通用DMADMA;(7 7)2 2个外设用个外设用个外设用个外设用DMADMA,具有外部请求引脚;,具有外部请求引脚;,具有外部请求引脚;,具有外部请求引脚;(8 8)外部存储控制器(片选逻辑,)外部存储控制器(片选逻辑,)外部存储控制器(片选逻辑,)外部存储控制器(片选逻辑,FP/EDO/SDRAMFP/EDO/SDRAM控制器);控制器);
8、控制器);控制器);(9 9)5 5个个个个PWMPWM定时器和定时器和定时器和定时器和1 1通道内部定时器;通道内部定时器;通道内部定时器;通道内部定时器;(1010)看门狗定时器;)看门狗定时器;)看门狗定时器;)看门狗定时器;(1111)7171个通用个通用个通用个通用I/OI/O口;口;口;口;(1212)8 8个外部中断源;个外部中断源;个外部中断源;个外部中断源;(1313)具有日历功能的)具有日历功能的)具有日历功能的)具有日历功能的RTCRTC;(1414)8 8通道通道通道通道1010位位位位ADCADC;(1515)1 1个多主个多主个多主个多主IICIIC总线控制器;总线
9、控制器;总线控制器;总线控制器;(1616)1 1个通道个通道个通道个通道IISIIS总线控制器;总线控制器;总线控制器;总线控制器;(1717)片上)片上)片上)片上PLLPLL时钟产生器。时钟产生器。时钟产生器。时钟产生器。1.S3C44BOX的特性的特性(1 1)体系结构。)体系结构。)体系结构。)体系结构。S3C44BOXR S3C44BOXR 的的的的体系结构特性体系结构特性体系结构特性体系结构特性如下:如下:如下:如下:集成了手持设备和通用嵌入式系统应用的解决集成了手持设备和通用嵌入式系统应用的解决集成了手持设备和通用嵌入式系统应用的解决集成了手持设备和通用嵌入式系统应用的解决方案
10、;方案;方案;方案;16/3216/32位位位位RISCRISC体系结构和体系结构和体系结构和体系结构和ARM7TDMIARM7TDMI处理器内处理器内处理器内处理器内核强大的指令体系;核强大的指令体系;核强大的指令体系;核强大的指令体系;ThumbThumb代码压缩机,最大化代码密度同时保持代码压缩机,最大化代码密度同时保持代码压缩机,最大化代码密度同时保持代码压缩机,最大化代码密度同时保持了了了了3232位指令的性能;位指令的性能;位指令的性能;位指令的性能;基于基于基于基于JTAGJTAG的片上集成的片上集成的片上集成的片上集成ICEICE调方式支持解决方案;调方式支持解决方案;调方式支
11、持解决方案;调方式支持解决方案;328328位硬件乘法器;位硬件乘法器;位硬件乘法器;位硬件乘法器;实现低功耗实现低功耗实现低功耗实现低功耗SAMBAIISAMBAII的新型总线结构。的新型总线结构。的新型总线结构。的新型总线结构。(2 2)系统管理器。)系统管理器。)系统管理器。)系统管理器。S3C44BOXS3C44BOX系统管理器特性系统管理器特性系统管理器特性系统管理器特性如下:如下:如下:如下:支持大支持大支持大支持大/ /小方式;小方式;小方式;小方式;寻址空间:每寻址空间:每寻址空间:每寻址空间:每Bank32MBBank32MB(共(共(共(共256MB256MB);););)
12、;支持每支持每支持每支持每BankBank可编程可编程可编程可编程8/16/328/16/32位数据总线宽度;位数据总线宽度;位数据总线宽度;位数据总线宽度;7 7个个个个BankBank具有固定的具有固定的具有固定的具有固定的BankBank起始地址和可编程起始地址和可编程起始地址和可编程起始地址和可编程BankBank大小大小大小大小; ;1 1个个个个BankBank具有可编程的具有可编程的具有可编程的具有可编程的BankBank起始地址和起始地址和起始地址和起始地址和BankBank大小。大小。大小。大小。8 8个存储器个存储器个存储器个存储器BankBank,包括,包括,包括,包括6
13、 6个个个个ROMROM,SRAMSRAM存储器存储器存储器存储器BankBank和和和和2 2个个个个ROM/SRAM/DRAMROM/SRAM/DRAM(快速页面,(快速页面,(快速页面,(快速页面,EDOEDO和同步和同步和同步和同步DRAMDRAM)存储器)存储器)存储器)存储器BankBank;所有的存储器所有的存储器所有的存储器所有的存储器BankBank具有可编程的操作周期;具有可编程的操作周期;具有可编程的操作周期;具有可编程的操作周期;支持外部等待信号延长总线周期;支持外部等待信号延长总线周期;支持外部等待信号延长总线周期;支持外部等待信号延长总线周期;支持掉电时支持掉电时支
14、持掉电时支持掉电时DRAM/SDRAMDRAM/SDRAM的自刷新模式;的自刷新模式;的自刷新模式;的自刷新模式;支持均匀支持均匀支持均匀支持均匀/ /非均匀的非均匀的非均匀的非均匀的DRAMDRAM地址。地址。地址。地址。(3)Cache存储器和内部存储器和内部SRAM。S3C44BOX的的Cache存储器存储器和和内部内部SRAM特性特性如下如下:一体化的一体化的8KBCache;未用的未用的Cache空间用来作为空间用来作为0/4/8KB的的SRAM存存储空间;储空间;支持支持LRU(近期最少使用)替换算法;(近期最少使用)替换算法;采用保持主存储器与采用保持主存储器与Cache内容一致
15、性的策略;内容一致性的策略;写存储器具有写存储器具有4线深度;线深度;当当Cache错误发生时,采用错误发生时,采用“请求数据优先填请求数据优先填充充”技术。技术。(4 4)时钟和电源管理。)时钟和电源管理。)时钟和电源管理。)时钟和电源管理。S3C44BOSS3C44BOS的的的的时钟时钟时钟时钟和和和和电源管理特性电源管理特性电源管理特性电源管理特性如下。如下。如下。如下。低功耗。低功耗。低功耗。低功耗。片上片上片上片上PLLPLL使处理器工作时钟最大达到使处理器工作时钟最大达到使处理器工作时钟最大达到使处理器工作时钟最大达到66MHz66MHz。可以通过软件设置各功能模块的输入时钟。可以
16、通过软件设置各功能模块的输入时钟。可以通过软件设置各功能模块的输入时钟。可以通过软件设置各功能模块的输入时钟。电源模式:正常、慢、空闲和停止模式。电源模式:正常、慢、空闲和停止模式。电源模式:正常、慢、空闲和停止模式。电源模式:正常、慢、空闲和停止模式。正常模式:正常、慢、空闲和停止模式。正常模式:正常、慢、空闲和停止模式。正常模式:正常、慢、空闲和停止模式。正常模式:正常、慢、空闲和停止模式。慢模式:不加慢模式:不加慢模式:不加慢模式:不加PLLPLL的低时钟频率模式;的低时钟频率模式;的低时钟频率模式;的低时钟频率模式;空闲模式:只停止空闲模式:只停止空闲模式:只停止空闲模式:只停止CPU
17、CPU的时钟;的时钟;的时钟;的时钟;停止模式:停止所有的时钟。停止模式:停止所有的时钟。停止模式:停止所有的时钟。停止模式:停止所有的时钟。通过通过通过通过EINT 7:0 EINT 7:0 或或或或RTCRTC报警中断从停止模式唤醒。报警中断从停止模式唤醒。报警中断从停止模式唤醒。报警中断从停止模式唤醒。(5)中断控制器。中断控制器。S3C44BOX的的中断控制器特性中断控制器特性如下:如下:30个中断源(看门狗定时器,个中断源(看门狗定时器,6个定时器,个定时器,6个定时器,个定时器,6个个UART,8个外部中断,个外部中断,4个个DMA,2WH RTC,1个个ADC,1个个IIC,1个
18、个SIO););采用向量化的采用向量化的IRQ中断模式以减少中断的延迟中断模式以减少中断的延迟;电平电平/边沿模式触发外部中断;边沿模式触发外部中断;电平电平/边沿模式具有可编程的优先级;边沿模式具有可编程的优先级;支持支持FIQ为紧急的中断请求进行服务。为紧急的中断请求进行服务。(6)定时器和)定时器和PWM(脉宽调制)。(脉宽调制)。S3C44BOX定时器定时器和和PWM特性特性如下:如下:通道通道16位具有位具有PWM功能的定时器,功能的定时器,1通道通道16位内部定时器(可进行基于位内部定时器(可进行基于DMA或中断的或中断的操作);操作);可编程的占空比周期,频率,和优先级;可编程的
19、占空比周期,频率,和优先级;产生死区;产生死区;支持外部时钟源。支持外部时钟源。(7)PTC(7)PTC(实时时钟)。(实时时钟)。(实时时钟)。(实时时钟)。 S3C44BOX S3C44BOX RTCRTC特性特性特性特性如下:如下:如下:如下:充分的时钟特性:毫秒、秒、分钟、小时、日、充分的时钟特性:毫秒、秒、分钟、小时、日、充分的时钟特性:毫秒、秒、分钟、小时、日、充分的时钟特性:毫秒、秒、分钟、小时、日、星期、月、年;星期、月、年;星期、月、年;星期、月、年;32.768kHz32.768kHz时钟;时钟;时钟;时钟;定时警报,可用于唤醒定时警报,可用于唤醒定时警报,可用于唤醒定时警
20、报,可用于唤醒CPUCPU;时钟节拍中断。时钟节拍中断。时钟节拍中断。时钟节拍中断。(8)(8)通用通用通用通用I/OI/O口。口。口。口。 S3C44BOXS3C44BOX通用通用通用通用I/OI/O口特性口特性口特性口特性如下:如下:如下:如下:8 8个外部中断口;个外部中断口;个外部中断口;个外部中断口;7171个多功能输入输出口。个多功能输入输出口。个多功能输入输出口。个多功能输入输出口。 (9)UART(通用异步串行通信)。(通用异步串行通信)。 S3C44BOX UART特性特性如下:如下:2通道通道UART,可进行基于,可进行基于DMA可中断的操作;可中断的操作;支持支持5位,位
21、,6位,位,7位或位或8位串行数据传输位串行数据传输/接收接收;支持硬件握手功能;支持硬件握手功能;可编程的波特率;可编程的波特率;支持支持IrDA1.0(115.2Kb/s););支持用于测试的回馈模式;支持用于测试的回馈模式;每个通道具有每个通道具有2个内部个内部32B的的FIFO分别用于输分别用于输入输出。入输出。(1010)DMADMA(直接存储器操作)控制器。(直接存储器操作)控制器。(直接存储器操作)控制器。(直接存储器操作)控制器。 S3C44BOX S3C44BOX DMADMA控制器控制器控制器控制器特性如下特性如下特性如下特性如下2 2通道通用通道通用通道通用通道通用DMA
22、DMA控制器(不需要控制器(不需要控制器(不需要控制器(不需要CPUCPU干预)。干预)。干预)。干预)。2 2通道通道通道通道DMADMA桥(外设桥(外设桥(外设桥(外设DMADMA)控制器。)控制器。)控制器。)控制器。支持支持支持支持I/OI/O到存储器,存储器到到存储器,存储器到到存储器,存储器到到存储器,存储器到I/OI/O,I/OI/O到到到到I/OI/O的的的的6 6种种种种DMADMA请求:软件,请求:软件,请求:软件,请求:软件,4 4个内部功能模块(个内部功能模块(个内部功能模块(个内部功能模块(UARTUART,SIOSIO,定时器,定时器,定时器,定时器,IISIIS)
23、和外部引脚。)和外部引脚。)和外部引脚。)和外部引脚。在同时发生的多个在同时发生的多个在同时发生的多个在同时发生的多个DMADMA之间具有可编程的优先级顺之间具有可编程的优先级顺之间具有可编程的优先级顺之间具有可编程的优先级顺序。序。序。序。采用触发式的传输模式以提高采用触发式的传输模式以提高采用触发式的传输模式以提高采用触发式的传输模式以提高FPDAMFPDAM,EDODRAMEDODRAM和和和和SDRAMSDRAM的数据传输速率。的数据传输速率。的数据传输速率。的数据传输速率。支持在外部设备到存储器和存储器到外部设备之间支持在外部设备到存储器和存储器到外部设备之间支持在外部设备到存储器和
24、存储器到外部设备之间支持在外部设备到存储器和存储器到外部设备之间采用采用采用采用fly-byfly-by模式。模式。模式。模式。(11)A/D(11)A/D转换器。转换器。转换器。转换器。S3C44BOXS3C44BOX的的的的A/DA/D转换器特性转换器特性转换器特性转换器特性如下:如下:如下:如下:8 8通道的通道的通道的通道的ADCADC;最大最大最大最大100KSPS/10100KSPS/10位。位。位。位。(12)LCD(12)LCD控制器。控制器。控制器。控制器。S3C44BOXS3C44BOX的的的的LCDLCD控制器特性控制器特性控制器特性控制器特性如下:如下:如下:如下:支持
25、彩色支持彩色支持彩色支持彩色/ /黑白黑白黑白黑白/ /灰度灰度灰度灰度LCDLCD屏;屏;屏;屏;支持单路扫描和双路扫描;支持单路扫描和双路扫描;支持单路扫描和双路扫描;支持单路扫描和双路扫描;支持虚拟显示屏功能;支持虚拟显示屏功能;支持虚拟显示屏功能;支持虚拟显示屏功能;系统存储器用来作为显示存储器;系统存储器用来作为显示存储器;系统存储器用来作为显示存储器;系统存储器用来作为显示存储器;用专门的用专门的用专门的用专门的DMADMA从系统存储器中获得图像数据;从系统存储器中获得图像数据;从系统存储器中获得图像数据;从系统存储器中获得图像数据;可编程的屏幕大小;可编程的屏幕大小;可编程的屏幕
26、大小;可编程的屏幕大小;灰度等级:灰度等级:灰度等级:灰度等级:1616级灰度;级灰度;级灰度;级灰度;256256种颜色。种颜色。种颜色。种颜色。(13)(13)看门狗定时器。看门狗定时器。看门狗定时器。看门狗定时器。S3C44BOXS3C44BOX的的的的看门狗定时器特性看门狗定时器特性看门狗定时器特性看门狗定时器特性如下:如下:如下:如下:1616位的看门狗定时器;位的看门狗定时器;位的看门狗定时器;位的看门狗定时器;在定时器溢出时发出中断请求或系统复位;在定时器溢出时发出中断请求或系统复位;在定时器溢出时发出中断请求或系统复位;在定时器溢出时发出中断请求或系统复位;(14)IIC(14
27、)IIC总线接口。总线接口。总线接口。总线接口。S3C44BOXS3C44BOX的的的的IICIIC总线接口特性总线接口特性总线接口特性总线接口特性如下:如下:如下:如下:1 1通道多主通道多主通道多主通道多主IICIIC总线,可进行基于中断的操作模式;总线,可进行基于中断的操作模式;总线,可进行基于中断的操作模式;总线,可进行基于中断的操作模式;可进行串行,可进行串行,可进行串行,可进行串行,8 8位,双向数据传输,标准模式速度位,双向数据传输,标准模式速度位,双向数据传输,标准模式速度位,双向数据传输,标准模式速度达到达到达到达到100Kb/s100Kb/s,快速模式达到,快速模式达到,快
28、速模式达到,快速模式达到400kb400kb。(15)IIS(15)IIS总线接口。总线接口。总线接口。总线接口。S3C44BOXS3C44BOX的的的的IISIIS总线接口特性总线接口特性总线接口特性总线接口特性如下:如下:如下:如下:1 1通道章频通道章频通道章频通道章频IISIIS总线接口,可进行基于总线接口,可进行基于总线接口,可进行基于总线接口,可进行基于DMADMA的操作;的操作;的操作;的操作;串行,每通道串行,每通道串行,每通道串行,每通道8/168/16位数据传输;位数据传输;位数据传输;位数据传输;支持支持支持支持MSB-justifiedMSB-justified数据格式
29、。数据格式。数据格式。数据格式。(16)SIO(16)SIO(同步串行(同步串行(同步串行(同步串行I/OI/O)。)。)。)。S3C44BOXS3C44BOX的的的的SIOSIO特性特性特性特性如下:如下:如下:如下:1 1通道通道通道通道SIOSIO,可进行基于,可进行基于,可进行基于,可进行基于DMADMA或中断的操作;或中断的操作;或中断的操作;或中断的操作;可编程的波特率;可编程的波特率;可编程的波特率;可编程的波特率;支持支持支持支持8 8位串行数据的传输和接收操作。位串行数据的传输和接收操作。位串行数据的传输和接收操作。位串行数据的传输和接收操作。(17)(17)工作电压范围。工
30、作电压范围。工作电压范围。工作电压范围。S3C44BOXS3C44BOX的工作电压范围如下:的工作电压范围如下:的工作电压范围如下:的工作电压范围如下:内核内核内核内核2.5V2.5V,I/OI/O口:口:口:口:3.03.6V3.03.6V。(18)(18)工作频率。工作频率。工作频率。工作频率。S3C44BOXS3C44BOX的最大工作频率为:的最大工作频率为:的最大工作频率为:的最大工作频率为:66MHz66MHz。(19)(19)封装。封装。封装。封装。S3C44BOXS3C44BOX的封装形式为:的封装形式为:的封装形式为:的封装形式为:160LQFP/160FBGA160LQFP/
31、160FBGA。2.体系结构图体系结构图体系结构图体系结构图S3C44BOX结构如图表结构如图表41所示。所示。图图41 S3C44BOX结构图结构图引脚介绍引脚介绍S3C44BOX引脚分布如图引脚分布如图42所示。所示。图图42 S3C44BOX策处理器管脚定义图策处理器管脚定义图引脚信号描述如引脚信号描述如表表41所示。所示。4.2存储器管理存储器管理4.2.1 S3C44BOX4.2.1 S3C44BOX存储系统的特征存储系统的特征存储系统的特征存储系统的特征S3C44BOXS3C44BOX的存储系统具有以下一些的存储系统具有以下一些的存储系统具有以下一些的存储系统具有以下一些主要特性主
32、要特性主要特性主要特性:支持数据存储的大、小端选择(通过外部引脚进行选择);有支持数据存储的大、小端选择(通过外部引脚进行选择);有支持数据存储的大、小端选择(通过外部引脚进行选择);有支持数据存储的大、小端选择(通过外部引脚进行选择);有大端模式和小端模式。大端模式和小端模式。大端模式和小端模式。大端模式和小端模式。地址空间具有地址空间具有地址空间具有地址空间具有8 8个存储体,每个存储体可达个存储体,每个存储体可达个存储体,每个存储体可达个存储体,每个存储体可达32MB32MB,总共可达到,总共可达到,总共可达到,总共可达到256MB256MB;对所有存储体的访问大小均可进行改变(对所有存
33、储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变(对所有存储体的访问大小均可进行改变(8 8位位位位/16/16位位位位/32/32位),位),位),位),总线宽度可编程;总线宽度可编程;总线宽度可编程;总线宽度可编程;8 8个存储器中,个存储器中,个存储器中,个存储器中,Bank0Bank5Bank0Bank5可支持可支持可支持可支持ROMROM、SRAMSRAM;Bank6Bank6、Bank7Bank7可支持可支持可支持可支持ROMROM、SRAMSRAM和和和和FP/EDO/SDRAMFP/EDO/SDRAM等,等,等,等,Bank6Bank6和和和和Bank7Bank7
34、存贮容量大小相同;存贮容量大小相同;存贮容量大小相同;存贮容量大小相同;7 7个存储器的起始地址固定,个存储器的起始地址固定,个存储器的起始地址固定,个存储器的起始地址固定,1 1个存储器的起始地址可变。(即个存储器的起始地址可变。(即个存储器的起始地址可变。(即个存储器的起始地址可变。(即第第第第8 8个可变)个可变)个可变)个可变)图图图图4343所示是复位后的存储器映射表,所示是复位后的存储器映射表,所示是复位后的存储器映射表,所示是复位后的存储器映射表,Bank6/Bank7Bank6/Bank7存储器存储器存储器存储器的地址表如的地址表如的地址表如的地址表如表表表表4242所示。所示
35、。所示。所示。1、存储器的大、存储器的大/小端模式小端模式ENDIANENDIAN第一存储器的第一存储器的第一存储器的第一存储器的大大大大/ /小端模式小端模式小端模式小端模式,当,当,当,当ENDIANENDIAN为为为为L L时则使用大端模式,大时则使用大端模式,大时则使用大端模式,大时则使用大端模式,大/ /小端模式之所以存在是因为当小端模式之所以存在是因为当小端模式之所以存在是因为当小端模式之所以存在是因为当在存储器中存储不同字长的数据时,大在存储器中存储不同字长的数据时,大在存储器中存储不同字长的数据时,大在存储器中存储不同字长的数据时,大/ /小端模式定义了小端模式定义了小端模式定
36、义了小端模式定义了不同长度的数据类型的对齐方式。不同长度的数据类型的对齐方式。不同长度的数据类型的对齐方式。不同长度的数据类型的对齐方式。因为因为因为因为Bank0Bank0是系统自举是系统自举是系统自举是系统自举ROMROM存储体,所以必须在访存储体,所以必须在访存储体,所以必须在访存储体,所以必须在访问问问问ROMROM之前定义之前定义之前定义之前定义Bank0Bank0的总线宽度见的总线宽度见的总线宽度见的总线宽度见表表表表4343。其他存储体的总线宽度只能在系统复位后由程序进其他存储体的总线宽度只能在系统复位后由程序进其他存储体的总线宽度只能在系统复位后由程序进其他存储体的总线宽度只能
37、在系统复位后由程序进行设定,由地址为行设定,由地址为行设定,由地址为行设定,由地址为0x01c80000x01c8000的特殊寄存器的特殊寄存器的特殊寄存器的特殊寄存器BWSCONBWSCON的的的的相应位决定。相应位决定。相应位决定。相应位决定。2、存储器(、存储器(SROM,DRAM,SDRAM)地址引脚连接)地址引脚连接存储器地址引脚连接如存储器地址引脚连接如存储器地址引脚连接如存储器地址引脚连接如表表表表4444所示。由于作用所示。由于作用所示。由于作用所示。由于作用1616位数据总线,所以将存储器的位数据总线,所以将存储器的位数据总线,所以将存储器的位数据总线,所以将存储器的A0A0
38、与与与与S3C44BOXS3C44BOX的的的的A1A1对应连接在一起。对应连接在一起。对应连接在一起。对应连接在一起。存存存存储储地址引脚地址引脚地址引脚地址引脚8 8位数据位数据位数据位数据总线总线下的下的下的下的S3C44B0XS3C44B0X地址地址地址地址1616位数据位数据位数据位数据总线总线下的下的下的下的S3C44B0XS3C44B0X地址地址地址地址3232位数据位数据位数据位数据总线总线下的下的下的下的S3C44B0XS3C44B0X地址地址地址地址A0A0A0A0A1A1A2A2A1A1A1A1A2A2A3A3A2A2A2A2A3A3A4A4A3A3A3A3A4A4A5A
39、53、典型系统中存储器的分配情况、典型系统中存储器的分配情况典型系统中存储器分配情况如典型系统中存储器分配情况如典型系统中存储器分配情况如典型系统中存储器分配情况如表表表表4545所示。所示。所示。所示。只要将只要将只要将只要将CPUCPU上的相应上的相应上的相应上的相应BankBank连线接到外设芯片的片选连线接到外设芯片的片选连线接到外设芯片的片选连线接到外设芯片的片选引脚上,便可以根据相应的地址进行存储器或外设操作了。引脚上,便可以根据相应的地址进行存储器或外设操作了。引脚上,便可以根据相应的地址进行存储器或外设操作了。引脚上,便可以根据相应的地址进行存储器或外设操作了。在本系统中,在本
40、系统中,在本系统中,在本系统中,存储器的配置存储器的配置存储器的配置存储器的配置依照依照依照依照PCPC的结构:的结构:的结构:的结构:使用使用使用使用Bank0Bank0上的两片上的两片上的两片上的两片512KB2512KB2存储器来放置系统存储器来放置系统存储器来放置系统存储器来放置系统BIOSBIOS,系统上电以后,系统上电以后,系统上电以后,系统上电以后,PCPC指针自动指向指针自动指向指针自动指向指针自动指向Bank0Bank0的第一个的第一个的第一个的第一个单元,开始进行系统自举。单元,开始进行系统自举。单元,开始进行系统自举。单元,开始进行系统自举。系统自举完成以后,便从硬盘中将
41、系统文件和用户应系统自举完成以后,便从硬盘中将系统文件和用户应系统自举完成以后,便从硬盘中将系统文件和用户应系统自举完成以后,便从硬盘中将系统文件和用户应用程序复制到用程序复制到用程序复制到用程序复制到SDRAMSDRAM内存中执行。内存中执行。内存中执行。内存中执行。Bank1Bank1上接上接上接上接16MB16MB非线性非线性非线性非线性FlashFlash,当作系统硬盘使,当作系统硬盘使,当作系统硬盘使,当作系统硬盘使用,可以构造文件系统,存放海量数据。用,可以构造文件系统,存放海量数据。用,可以构造文件系统,存放海量数据。用,可以构造文件系统,存放海量数据。用用用用SDRAMSDRA
42、M当作系统内存,只有当作系统内存,只有当作系统内存,只有当作系统内存,只有Bank6/Bank7Bank6/Bank7能能能能支持支持支持支持SDRAMSDRAM,所以将,所以将,所以将,所以将SDRAMSDRAM接在接在接在接在Bank6H Bank6H 。如果同时使用如果同时使用如果同时使用如果同时使用Bank6/Bank7Bank6/Bank7,则要求连接相同容,则要求连接相同容,则要求连接相同容,则要求连接相同容量的存储器,而且其地地址空间在物理上是连续的。量的存储器,而且其地地址空间在物理上是连续的。量的存储器,而且其地地址空间在物理上是连续的。量的存储器,而且其地地址空间在物理上是
43、连续的。4.2.2 寄存器定义寄存器定义(1)BWSCON(1)BWSCON总线宽度和等待状态寄存器。总线宽度和等待状态寄存器。总线宽度和等待状态寄存器。总线宽度和等待状态寄存器。BWSCONBWSCON寄存器主要用来设置外接存储器的总线宽寄存器主要用来设置外接存储器的总线宽寄存器主要用来设置外接存储器的总线宽寄存器主要用来设置外接存储器的总线宽度和等待状态。度和等待状态。度和等待状态。度和等待状态。在在在在BWXCONBWXCON中,除了中,除了中,除了中,除了Bank0Bank0,对其他,对其他,对其他,对其他7 7个个个个BankBank都各都各都各都各对应有对应有对应有对应有4 4个相
44、关位的设置,分别为个相关位的设置,分别为个相关位的设置,分别为个相关位的设置,分别为STxSTx,WSxWSx,DWxDWx。STxSTx位决定位决定位决定位决定SRAMSRAM映射在映射在映射在映射在BankxBankx时是否采用时是否采用时是否采用时是否采用UB/LBUB/LB。0 0:不采用,:不采用,:不采用,:不采用,1 1:采用。:采用。:采用。:采用。WSxWSx位决定位决定位决定位决定BankBank上等待的状态。上等待的状态。上等待的状态。上等待的状态。0 0:禁止等待,:禁止等待,:禁止等待,:禁止等待,1 1:使能等待。使能等待。使能等待。使能等待。DWxDWx中的确位决
45、定中的确位决定中的确位决定中的确位决定BankxBankx上的总线宽度。上的总线宽度。上的总线宽度。上的总线宽度。0000:8 8位,位,位,位,0101:1616位,位,位,位,1010:3232位。位。位。位。DW0DW0位对应位对应位对应位对应Bank0Bank0的总线宽度,但这里它是只读的,的总线宽度,但这里它是只读的,的总线宽度,但这里它是只读的,的总线宽度,但这里它是只读的,其中其中其中其中00=800=8位,位,位,位,01=1601=16位,位,位,位,10=3210=32位。设置是通过位。设置是通过位。设置是通过位。设置是通过OM0OM0:11脚电平决定总线宽度。脚电平决定总
46、线宽度。脚电平决定总线宽度。脚电平决定总线宽度。(2)BANKCON(2)BANKCON。S3C44BOXS3C44BOX具有具有具有具有8 8个个个个BANKCONnBANKCONn寄存器,分寄存器,分寄存器,分寄存器,分别对应着别对应着别对应着别对应着BankBANCONnBankBANCONn寄存器针对操作时序进寄存器针对操作时序进寄存器针对操作时序进寄存器针对操作时序进行设置,如行设置,如行设置,如行设置,如表表表表4646所示。所示。所示。所示。由于由于由于由于Bank6Bank7Bank6Bank7可以作为可以作为可以作为可以作为 FP/EDO/SDRAM FP/EDO/SDRAM
47、等类型存储器的映射空间,因此等类型存储器的映射空间,因此等类型存储器的映射空间,因此等类型存储器的映射空间,因此BANKCON6BANKCON6和和和和BANKCON7BANKCON7与其他与其他与其他与其他BankBank的相应寄存器有所不同。的相应寄存器有所不同。的相应寄存器有所不同。的相应寄存器有所不同。其中其中其中其中MTMT位定义了存储器的类型,如位定义了存储器的类型,如位定义了存储器的类型,如位定义了存储器的类型,如表表表表4747所示。所示。所示。所示。MTMT的取值定义了该寄存器余下几位的作用。的取值定义了该寄存器余下几位的作用。的取值定义了该寄存器余下几位的作用。的取值定义了
48、该寄存器余下几位的作用。例如当例如当例如当例如当MT=11MT=11,余下几位定义如,余下几位定义如,余下几位定义如,余下几位定义如表表表表4848所示。所示。所示。所示。(3)REFRESH。REFRESH是是DRAM/SDRAM的刷新控制器。的刷新控制器。位定义如位定义如表表49所示。所示。刷新的周期计算公式:刷新的周期计算公式:Refresh_Period=Refresh_Period=(211-refresh_count+1211-refresh_count+1)/MCLK/MCLK如果刷新周期是如果刷新周期是15.6s和和MCLK是是60MHz, refresh_count如下计算如
49、下计算:refresh_count=211+1-6015.6=1113(4)BANKSIAE和和MRSR。BANKSIAE寄存器定义了寄存器定义了Bank的大小,的大小,如如表表410所示。所示。MRSR是是SDRAM模式设置寄存器定义如模式设置寄存器定义如表表411所示。所示。4.3 时钟和功耗管理时钟和功耗管理4.3.1 概述概述S3C44B0X 的时钟产生器可以为的时钟产生器可以为 CPU 产生要求的时钟信号,同样也为外设提供了产生要求的时钟信号,同样也为外设提供了时钟信号。时钟产生器可以通过软件来控制时钟信号。时钟产生器可以通过软件来控制是否为每个外部设备模块提供时钟信号,或是否为每个
50、外部设备模块提供时钟信号,或者切断与外部设备的联系,以减少功耗。者切断与外部设备的联系,以减少功耗。同样在软件的控制下,同样在软件的控制下,S3C44B0X 提供提供各种功耗管理办法来为各种应用提供最优化各种功耗管理办法来为各种应用提供最优化的功耗方案。的功耗方案。 S3C44B0X的时钟源可以用外部晶体来产生,的时钟源可以用外部晶体来产生,也可以直接输入外部时钟,这由也可以直接输入外部时钟,这由OM3:2的状态决的状态决定。定。M3:2的状态在的状态在nRESET的上升沿由的上升沿由OM3 和和OM2脚的电平决定。脚的电平决定。M3:2=00 Crystal clock M3:2=01 外部
51、时外部时钟。钟。其它测试模式在复位后其它测试模式在复位后PLL启动启动,但在用但在用S/W指令设置指令设置PLLCON为有效的值之前为有效的值之前,PLL OUTPUT (FOUT)不能使用不能使用,这时这时FOUT直接输出直接输出Crystal clock或外部时钟。或外部时钟。如果如果S3C44B0X的的PLL的时钟源使用晶体的时钟源使用晶体,这这时时EXTCLK能作为能作为Timer 5的时钟源的时钟源TCLK。 S3C44B0X 中的功耗管理提供中的功耗管理提供5种模式:种模式:1.正常模式正常模式正常模式下,时钟发生器提供时钟给正常模式下,时钟发生器提供时钟给 CPU,并同时提供给并
52、同时提供给 S3C44B0X 的外设。在这种情况下,的外设。在这种情况下,当所有的外设都开启工作时,处理器所消耗的功耗当所有的外设都开启工作时,处理器所消耗的功耗最大。最大。用户可以通过软件来控制外事的操作模式。例用户可以通过软件来控制外事的操作模式。例如如:如果定时器和如果定时器和 DMA 不需要时钟,则用户可以不需要时钟,则用户可以断开定时器和断开定时器和 DMA 的时钟供给以降低功耗。的时钟供给以降低功耗。 2. 2. 慢速模式慢速模式慢速模式慢速模式慢速模式是一种非倍频模式。与正常模式下不同,慢速模式是一种非倍频模式。与正常模式下不同,慢速模式是一种非倍频模式。与正常模式下不同,慢速模
53、式是一种非倍频模式。与正常模式下不同,慢速模式直接采用外部时钟作为慢速模式直接采用外部时钟作为慢速模式直接采用外部时钟作为慢速模式直接采用外部时钟作为S3C44B0X S3C44B0X 的主工作时的主工作时的主工作时的主工作时钟,而不使用内部倍频器。钟,而不使用内部倍频器。钟,而不使用内部倍频器。钟,而不使用内部倍频器。在这种情况下,功耗的大小仅依据于外部时钟的频在这种情况下,功耗的大小仅依据于外部时钟的频在这种情况下,功耗的大小仅依据于外部时钟的频在这种情况下,功耗的大小仅依据于外部时钟的频率的大小。率的大小。率的大小。率的大小。PLL PLL 部件所消耗的功耗不用计算在内了。部件所消耗的功
54、耗不用计算在内了。部件所消耗的功耗不用计算在内了。部件所消耗的功耗不用计算在内了。3. 3. 空闲模式空闲模式空闲模式空闲模式空闲模式下仅断开对空闲模式下仅断开对空闲模式下仅断开对空闲模式下仅断开对 CPU CPU 内核的时钟供给,而保留内核的时钟供给,而保留内核的时钟供给,而保留内核的时钟供给,而保留所有对于外部设备的时钟供给。所有对于外部设备的时钟供给。所有对于外部设备的时钟供给。所有对于外部设备的时钟供给。在空闲模式下,在空闲模式下,在空闲模式下,在空闲模式下,CPU CPU 内核的功耗可以减去。任何中内核的功耗可以减去。任何中内核的功耗可以减去。任何中内核的功耗可以减去。任何中断请求都
55、会使断请求都会使断请求都会使断请求都会使 CPU CPU 从空闲模式中醒来。从空闲模式中醒来。从空闲模式中醒来。从空闲模式中醒来。4. 4. 停止模式停止模式停止模式停止模式停止模式通过禁止停止模式通过禁止停止模式通过禁止停止模式通过禁止 PLL PLL 来冻结所有来冻结所有来冻结所有来冻结所有 CPU CPU 内核、外设内核、外设内核、外设内核、外设的时钟。的时钟。的时钟。的时钟。这时的功耗大小仅由这时的功耗大小仅由这时的功耗大小仅由这时的功耗大小仅由 S3C44B0X S3C44B0X 内部的漏电流大小内部的漏电流大小内部的漏电流大小内部的漏电流大小决定,这个电流一般小于决定,这个电流一般
56、小于决定,这个电流一般小于决定,这个电流一般小于 10uA 10uA 。要使要使要使要使 CPU CPU 从停止模式中醒来,可以通过外部中断实从停止模式中醒来,可以通过外部中断实从停止模式中醒来,可以通过外部中断实从停止模式中醒来,可以通过外部中断实现。现。现。现。5. LCD 5. LCD 的的的的SL SL 空闲模式空闲模式空闲模式空闲模式SL SL 空闲模式的进入将导致空闲模式的进入将导致空闲模式的进入将导致空闲模式的进入将导致 LCD LCD 控制器开始工作。控制器开始工作。控制器开始工作。控制器开始工作。在这种情况下,除了在这种情况下,除了在这种情况下,除了在这种情况下,除了 LCD
57、 LCD 控制器以外控制器以外控制器以外控制器以外 CPU CPU 内核和内核和内核和内核和其它外设的时钟都停止了。因此,其它外设的时钟都停止了。因此,其它外设的时钟都停止了。因此,其它外设的时钟都停止了。因此,SL SL 空闲模式下的功耗空闲模式下的功耗空闲模式下的功耗空闲模式下的功耗比空闲模式的功耗小。比空闲模式的功耗小。比空闲模式的功耗小。比空闲模式的功耗小。 4.3.2 寄存器定义1. PLL控制寄存器控制寄存器该寄存器设置该寄存器设置PLL参数参数. PLL输出频率计算公式如下输出频率计算公式如下: Fpllo = (m * Fin)/(p * 2s) 其中其中m = (MDIV +
58、 8),p = (PDIV + 2),s = SDIV ,Fpllo必须大于必须大于20MHZ且少于且少于66MHZ,Fpllo * 2s必须少于必须少于170MHZ,Fin/p推荐为推荐为1MHZ 或大于,但小于或大于,但小于2MHZ,其中,其中MDIV、PDIV、SDIV定义如表定义如表4-12所示。所示。2. 时钟控制寄存器时钟控制寄存器时钟控制寄存器如表时钟控制寄存器如表4-13所示。所示。 PLLCONPLLCON位位位位描述描述描述描述初始初始初始初始状状状状态态MDIVMDIVPDIVPDIVSDIVSDIV19:1219:129:49:41:01:0主分主分主分主分频值频值预预
59、分分分分频值频值后分后分后分后分频值频值0x380x380x080x080x00x0CLKCONCLKCON位位位位描描描描 述述述述初始状初始状初始状初始状态态IISIIS1414 控制控制控制控制IIS blockIIS block的的的的钟钟控控控控0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1IICIIC1313 控制控制控制控制IIC blockIIC block的的的的钟钟控控控控0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1ADCADC1212 控制控制控制控制ADC blockADC block的的的的钟钟控控控控0=0=禁止禁止禁止禁止 1= 1=允允允允许许
60、1 1RTCRTC1111 控制控制控制控制RTC blockRTC block的的的的钟钟控,即使控,即使控,即使控,即使该该位位位位为为0,RTC0,RTC定定定定时时器仍工作。器仍工作。器仍工作。器仍工作。0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1GPIOGPIO1010 控制控制控制控制GPIO blockGPIO block的的的的钟钟控,控,控,控,设设置置置置为为1 1,允,允,允,允许许使用使用使用使用EINTEINT44:77的中断。的中断。的中断。的中断。0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1时钟控制寄存器表时钟控制寄存器表UART1UART19
61、9 控制控制控制控制UART1 blockUART1 block的的的的钟钟控。控。控。控。0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1RART0RART088 控制控制控制控制UART0 blockUART0 block的的的的钟钟控。控。控。控。0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1BDMA0,1BDMA0,177 控制控制控制控制BDMA blockBDMA block的的的的钟钟控,如果控,如果控,如果控,如果BDMABDMA关断,在外关断,在外关断,在外关断,在外设总线设总线上的外上的外上的外上的外设设不能存取。不能存取。不能存取。不能存取。0=0=禁止禁止
62、禁止禁止 1= 1=允允允允许许1 1LCDCLCDC66 控制控制控制控制LCDC blockLCDC block钟钟控控控控0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 1SIOSIO55 控制控制控制控制SIO blockSIO block钟钟控控控控0=0=禁止禁止禁止禁止 1= 1=允允允允许许1 14.4 CPU Wrapper和总线特性和总线特性4.4.1 4.4.1 概述概述概述概述处理器处理器处理器处理器 wrapper wrapper 包括一个包括一个包括一个包括一个cachecache、写入缓冲器和、写入缓冲器和、写入缓冲器和、写入缓冲器和CPUCPU内核。总线仲裁
63、逻辑决定每个总线占用者的优先权。内核。总线仲裁逻辑决定每个总线占用者的优先权。内核。总线仲裁逻辑决定每个总线占用者的优先权。内核。总线仲裁逻辑决定每个总线占用者的优先权。处理器处理器处理器处理器 wrapper wrapper 有一个有一个有一个有一个8k8k直接的内部存储器。直接的内部存储器。直接的内部存储器。直接的内部存储器。内部存储器可以以内部存储器可以以内部存储器可以以内部存储器可以以3 3种方式采用。种方式采用。种方式采用。种方式采用。1.1. 8k 8k 字节的存储空间作为字节的存储空间作为字节的存储空间作为字节的存储空间作为 8k 8k 字节的统一(指令或数字节的统一(指令或数字
64、节的统一(指令或数字节的统一(指令或数据)据)据)据)cachecache(高速缓冲存储器)。(高速缓冲存储器)。(高速缓冲存储器)。(高速缓冲存储器)。2.2.内部存储器可以用作一个内部存储器可以用作一个内部存储器可以用作一个内部存储器可以用作一个 4k 4k 字节的统一字节的统一字节的统一字节的统一 cache cache 和一和一和一和一个个个个 4k 4k 字节的内部字节的内部字节的内部字节的内部 SRAMSRAM。3.3.内部存储器可以整个地用作内部存储器可以整个地用作内部存储器可以整个地用作内部存储器可以整个地用作 8k8k字节的内部字节的内部字节的内部字节的内部 SRAMSRAM
65、。 内部统一(指令或数据)内部统一(指令或数据)cache 采用采用 4 种方种方式与某个式与某个 4 个字(个字(16 个字节)的行建立链接结构个字节)的行建立链接结构.它采用一种写穿式(它采用一种写穿式(write-through)的原则)的原则保持数据的一致性。保持数据的一致性。当在当在 cache 中找不到相应的内容(称为中找不到相应的内容(称为 cache miss),),4 个字的存储内容从外部存储器个字的存储内容从外部存储器连续地取得。连续地取得。它采用一种它采用一种 LRU(最近使用最少)算法来提(最近使用最少)算法来提升命中的比率。升命中的比率。统一统一 cache 通过有区
66、别的方式来处理指令和通过有区别的方式来处理指令和数据。数据。内部内部 SRAM 主要用来减少主要用来减少 ISR 的执行时间。的执行时间。由于内部由于内部 SRAM 具有最短的操作时间,因此能够具有最短的操作时间,因此能够减少减少 ISR 的执行时间。的执行时间。当然当然 ISR 在在 SRAM 运行也是非常有效率的因运行也是非常有效率的因为大多数的为大多数的 ISR 代码都会引起代码都会引起cache miss。总线仲裁逻辑可以决定总线占用者的优先级总线仲裁逻辑可以决定总线占用者的优先级.总线仲裁逻辑支持一种总线仲裁逻辑支持一种 round-robin 优先级模式优先级模式和一种固定的优先级
67、模式。和一种固定的优先级模式。同样同样 LCD_DMA, BDMA, ZDMA, nBREQ(外部总线控制器)之间的优先级可以通过软件来(外部总线控制器)之间的优先级可以通过软件来修改。修改。 内部内部SRAMS3C44B0X 具有一个最小具有一个最小 8KB 的的 4 组相连组相连 cache 或内部或内部 SRAM。如果内部如果内部 SRAM 为为 4KB,另外,另外 4KB 内部存内部存储器可以用来作为储器可以用来作为 2 组相连组相连 cache。内部内部 SRAM 的存储器操作周期为的存储器操作周期为 1MCLK。在每一个组的存储空间内,地址是连续增加在每一个组的存储空间内,地址是连
68、续增加的,在的,在 TAG/LRU中的地址按照中的地址按照 16 字节增加。字节增加。不要对内部地址空间:不要对内部地址空间:0x100030040x1000300f 进行操作。进行操作。SYSCFG配置寄存器如配置寄存器如表表4-16所示所示。 总线优先级总线优先级在在 S3C44B0X 中,有中,有 7 种总线种总线 master;1.LCD_DMA;2.BDMA0;3.BDMA1;4.ZDMA0;5.ZDMA1;6.Nbreq(外部总线外部总线 master);7. CPU wrapper。复位之后,这些总线复位之后,这些总线 master 的优先级排列如下:的优先级排列如下: DRAM
69、刷新控制器刷新控制器;LCD _DMA;ZDMA0,1;BDMA0,1;外部总线控制器外部总线控制器;写缓冲区写缓冲区;Cache和和CPU;LCD_DMA, ZDMA, BDMALCD_DMA, ZDMA, BDMA之间的总线优先级之间的总线优先级之间的总线优先级之间的总线优先级是可编程的是可编程的是可编程的是可编程的, ,可以通过可以通过可以通过可以通过 SBUSCON SBUSCON 寄存器来设置。寄存器来设置。寄存器来设置。寄存器来设置。如果不考虑如果不考虑如果不考虑如果不考虑 SBUSCON SBUSCON 的设置的设置的设置的设置 CPUwrapper CPUwrapper 始终具
70、有最低的优先级。始终具有最低的优先级。始终具有最低的优先级。始终具有最低的优先级。RoundRoundrobin robin 优先级模式或固定优先级模式优先级模式或固定优先级模式优先级模式或固定优先级模式优先级模式或固定优先级模式是可以选择的。在是可以选择的。在是可以选择的。在是可以选择的。在 round roundrobin robin 优先级模式中,优先级模式中,优先级模式中,优先级模式中,已经被服务过依次的总线占有者将具有最低的优先已经被服务过依次的总线占有者将具有最低的优先已经被服务过依次的总线占有者将具有最低的优先已经被服务过依次的总线占有者将具有最低的优先级。通过这种方式,使得所有
71、的级。通过这种方式,使得所有的级。通过这种方式,使得所有的级。通过这种方式,使得所有的 master master 都具有相都具有相都具有相都具有相同的优先级。同的优先级。同的优先级。同的优先级。在固定优先级模式下,每个总线在固定优先级模式下,每个总线在固定优先级模式下,每个总线在固定优先级模式下,每个总线 master master 的优的优的优的优先级都写在先级都写在先级都写在先级都写在 SBUSCON SBUSCON 中,中,中,中,SBUSCON SBUSCON 寄存器决寄存器决寄存器决寄存器决定第定第定第定第1 1到第到第到第到第4 4个优先级的总线个优先级的总线个优先级的总线个优先
72、级的总线mastermaster。写缓冲区操作写缓冲区操作写缓冲区操作,写缓冲区操作,写缓冲区操作,写缓冲区操作,S3C44B0X S3C44B0X 有有有有 4 4 个写缓冲区寄存器个写缓冲区寄存器个写缓冲区寄存器个写缓冲区寄存器来提高存储器的写性能。来提高存储器的写性能。来提高存储器的写性能。来提高存储器的写性能。当写缓冲器模式使能,当写缓冲器模式使能,当写缓冲器模式使能,当写缓冲器模式使能,CPU CPU 不再将数据直接写入外不再将数据直接写入外不再将数据直接写入外不再将数据直接写入外部存储器而是将数据写入写缓存区。即便是外部总线已经部存储器而是将数据写入写缓存区。即便是外部总线已经部存
73、储器而是将数据写入写缓存区。即便是外部总线已经部存储器而是将数据写入写缓存区。即便是外部总线已经有其它有其它有其它有其它 master master占用,例如占用,例如占用,例如占用,例如 DMA DMA操作的情况下,也如此。操作的情况下,也如此。操作的情况下,也如此。操作的情况下,也如此。写缓冲区模块在系统总线没有被别的更高优先级的写缓冲区模块在系统总线没有被别的更高优先级的写缓冲区模块在系统总线没有被别的更高优先级的写缓冲区模块在系统总线没有被别的更高优先级的 master master 占用时,将数据写入外部存储器。这样,占用时,将数据写入外部存储器。这样,占用时,将数据写入外部存储器。
74、这样,占用时,将数据写入外部存储器。这样,CPU CPU 的的的的性能就提高了,因为性能就提高了,因为性能就提高了,因为性能就提高了,因为 CPU CPU 不需要一直等到写操作结束。不需要一直等到写操作结束。不需要一直等到写操作结束。不需要一直等到写操作结束。写缓冲区具有写缓冲区具有写缓冲区具有写缓冲区具有 4 4 个寄存器。每个寄存器包括一个个寄存器。每个寄存器包括一个个寄存器。每个寄存器包括一个个寄存器。每个寄存器包括一个 32 32 位数据区域,位数据区域,位数据区域,位数据区域,28 28 位的地址区域和位的地址区域和位的地址区域和位的地址区域和 2 2 位的状态区域,位的状态区域,位
75、的状态区域,位的状态区域,如图如图如图如图4-44-4所示所示所示所示。 特殊寄存器特殊寄存器SYSCFG寄存器寄存器SYSCFG 寄存器控制了系统的总寄存器控制了系统的总体操作,体操作,如表如表4-17所示所示。SBUSCON寄存器寄存器SBUSCON寄存器是系统总线优先寄存器是系统总线优先级控制寄存器,级控制寄存器,如表如表4-18所示所示。4.5 DMA控制器控制器4.5.1 简述简述 1. DMA控制器结构控制器结构S3C44B0X有有4路路DMA控制器,其中两路称为控制器,其中两路称为ZDMA(General DMA)被连到)被连到SSB(Samsung System Bus)总线上
76、,另外两路称为总线上,另外两路称为BDMA(Bridge DMA)是)是SSB和和SPB(Samsung Peripheral Bus)之间的接口层,相当于一个桥,之间的接口层,相当于一个桥,因此称为桥因此称为桥DMA。ZDMA和和BDMA都可以由指令启动,也可以有都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。内部外设和外部请求引脚来请求启动。ZDMA、BDMA结构如结构如图图4-5和和图图4-6所示。所示。 ZDMA用来在存储器到存储器、存储器用来在存储器到存储器、存储器到到I/O存储器、存储器、I/O装置到存储器之间传输数装置到存储器之间传输数据。据。BDMA控制器只能在连到
77、控制器只能在连到SPB上的上的I/O外设(如外设(如UART, IIS和和SIO)与存储器之间传)与存储器之间传输数据。输数据。 ZDMA最大的特性是最大的特性是on-the-fly模式,模式,on-the-fly模式有不可分割的读写周期,在模式有不可分割的读写周期,在这点上这点上ZDMA与普通的与普通的DMA不同,从而可以不同,从而可以减少在外部存储器和外部可寻址的外设之间减少在外部存储器和外部可寻址的外设之间DMA操作的周期数。操作的周期数。 对于对于ZDMA,S3C44B0X有一个有一个4字字的的FIFO缓冲来支持缓冲来支持4字突发字突发DMA传输,传输,而而BDMA不支持突发不支持突发
78、DMA传输,因此存传输,因此存储器之间的传输数据最好用储器之间的传输数据最好用ZDMA传输,传输,来提供高的传输速度。来提供高的传输速度。 2. 外部外部DMA REQ/ACK 协议协议对于对于ZDMA ,有四种类型的外部,有四种类型的外部DMA请请求求/应答协议:应答协议: 握手模式握手模式(Handshake Mode)一个单独的应答对应一个单独的一个单独的应答对应一个单独的DMA请请求,在该模式,求,在该模式,DMA操作期间的读写周期不操作期间的读写周期不可分割,因此在一个可分割,因此在一个DMA操作完成前,不能操作完成前,不能把总线让给其它总线控制器使用。把总线让给其它总线控制器使用。
79、一次一次nXDREQ请求引起一次请求引起一次DMA传输传输(可以是一个字节,一个半字或一个字)。(可以是一个字节,一个半字或一个字)。 单步模式单步模式(Single Step Mode)单步模式意味着一次单步模式意味着一次DMA传输有两个传输有两个DMA应应答周期(产生两个应答信号答周期(产生两个应答信号nXDACK)指示)指示DMA读和写周期,主要用与测试和调试模式,在读写读和写周期,主要用与测试和调试模式,在读写周期之间,总线控制权可以让给其它总线控制器。周期之间,总线控制权可以让给其它总线控制器。 连续模式连续模式(Whole Service Mode) 在该模式,一次在该模式,一次D
80、MA请求将产生连续的请求将产生连续的DMA传输,直到规定的传输,直到规定的DMA传输数传输完,在传输数传输完,在DMA传传输期间,输期间,nXDACK一直有效,一直有效,DMA请求信号被释请求信号被释放。并且在每次传输一个数据单元后,释放一次放。并且在每次传输一个数据单元后,释放一次总线控制权,以便其它总线控制器有机会可以占总线控制权,以便其它总线控制器有机会可以占用总线。用总线。 手动模式(手动模式(Demand Mode)在该模式,只要在该模式,只要DMA请求信号一直有效,请求信号一直有效,DMA传输就持续进行,并且一直占用总线控传输就持续进行,并且一直占用总线控制权,因此应该预防传输周期
81、超过规定的最制权,因此应该预防传输周期超过规定的最大时间。大时间。3. DMA传输模式传输模式DMA有三种传输模式有三种传输模式:1.1.单位传输模式单位传输模式2.2.块传输模式块传输模式3.3.On_the_fly块传模式。块传模式。 1.Unit传输模式。传输模式。1个单位读,个单位读,然后然后1个单位写。个单位写。2.Block传输模式。传输模式。4个字突发读个字突发读, 然后然后4个字突发写,因此传输的数据个字突发写,因此传输的数据个数应当是个数应当是16字节的倍数。字节的倍数。 3.On-the-fly 传输模式。传输模式。1个单位个单位读或读或1个单位写,读写同时进行。个单位写,
82、读写同时进行。 4.5.2 DMA寄存器寄存器ZDMA控制寄存器控制寄存器 ZDCON0/1 是是ZDMA 0/1 控制寄存器控制寄存器 ZDMA其他寄存器其他寄存器ZDISRC0/1是是ZDMA0/1初始源地址寄存器初始源地址寄存器ZDIDES0/1是是ZDMA0/1初始目标地址寄存器初始目标地址寄存器ZDICNT0/1是是ZDMA0/1初始计数寄存器初始计数寄存器ZDCSRC0/1是是ZDMA0/1当前源地址寄存器当前源地址寄存器ZDCDES0/1是是ZDMA0/1当前目标地址寄存器当前目标地址寄存器当前目标地址寄存器当前目标地址寄存器ZDCCNT0/1是是ZDMA0/1当前计数寄存器当前
83、计数寄存器 BDMA控制寄存器控制寄存器BDCON0/1是是BDMA0/1控制寄存器控制寄存器 BDMA其他寄存器其他寄存器BDISRC0/1是是BDMA0/1初始源地址寄存器初始源地址寄存器BDIDES0/1是是BDMA0/1初始目标地址寄存器初始目标地址寄存器BDICNT0/1是是BDMA0/1初始计数寄存器初始计数寄存器BDCSRC0/1是是BDMA0/1当前源地址寄存器当前源地址寄存器BDCDES0/1是是BDMA0/1当前目标地址寄存器当前目标地址寄存器当前目标地址寄存器当前目标地址寄存器BDCCNT0/1是是BDMA0/1 当前计数寄存器当前计数寄存器4.6 I/O端口端口4.6.
84、1 概述概述S3C44B0X 具有具有71个多功能输入个多功能输入/输出输出脚。它们包含在脚。它们包含在 7 组端口中:组端口中:2 个个 9 位输入位输入/输出端口(端口输出端口(端口 E和和F)2 个个 8 位输入位输入/输出端口(端口输出端口(端口 D和和 G)1 个个 16 位输入位输入/输出端口(端口输出端口(端口 C)1 个个 10 位输出端口(端口位输出端口(端口 A)1 个个 11 位输出端口(端口位输出端口(端口 B)每组端口都可以通过软件配置寄每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要,存器来满足不同系统和设计的需要,在运行程序之前必须先对每一个用到在运行程
85、序之前必须先对每一个用到的引脚的功能进行设置,如果某些引的引脚的功能进行设置,如果某些引脚的复用功能没有使用,那么可以将脚的复用功能没有使用,那么可以将该引脚设置成该引脚设置成I/O口。口。 如表如表 4-27表表 4-33列出了列出了7个端个端口的引脚定义。口的引脚定义。4.6.2 端口控制寄存器端口控制寄存器 端口配置寄存器(端口配置寄存器(PCONA-G)由于多数端口都是多功能口,因此,由于多数端口都是多功能口,因此,需要用需要用“端口配置寄存器端口配置寄存器 PCONn”来设来设置每个引脚工作在哪一个功能模式下如置每个引脚工作在哪一个功能模式下如表表 4-34 所示,表中的功能所示,表
86、中的功能1到功能到功能4如如表表4-27表表4-33所示。所示。 端口数据寄存器(端口数据寄存器(PDATA-G)当端口被设置为输出脚时,输出数当端口被设置为输出脚时,输出数据的方法就是将数据写入到据的方法就是将数据写入到PDATn的相的相应位中;当端口被设置位输入脚时,读应位中;当端口被设置位输入脚时,读入数据的方法就是将入数据的方法就是将PDATn中的相应位中的相应位读出。读出。 端口上拉设置寄存器(端口上拉设置寄存器(PUPC-G)端口上拉寄存器用来设定端口上拉寄存器用来设定PC-PG这这几组端口是否具有内部上拉。当几组端口是否具有内部上拉。当PUPn的对应位为的对应位为0时,该引脚上的
87、上拉使能,时,该引脚上的上拉使能,当为当为1时,该引脚上的上拉禁能。时,该引脚上的上拉禁能。4. 外部中断控制寄存器外部中断控制寄存器该寄存器是为该寄存器是为 PG 的第的第 3 功能功能外部中外部中断输入口功能设置的,该寄存器可用来设置断输入口功能设置的,该寄存器可用来设置 EXINT(外部中断)请求输入的模式:低电平(外部中断)请求输入的模式:低电平触发、高电平触发、下降沿触发、上升沿触发触发、高电平触发、下降沿触发、上升沿触发或是边沿触发。或是边沿触发。下面我们以下面我们以 PF 口的相关寄存器为例进行口的相关寄存器为例进行介绍,介绍,PF 的寄存器有的寄存器有 3个:个:PCONF,P
88、DATF,PUPF。如。如表表 4-35表表4-37所示所示PF 端口的端口的相关寄存器信息相关寄存器信息 4.7 PWM定时器和看门狗定时器定时器和看门狗定时器4.7.1 概述概述S3C44B0X具有具有6个个16位定时器,每个定时位定时器,每个定时器可以按照中断模式或器可以按照中断模式或DMA模式工作。模式工作。定时器定时器0,1,2,3和和4具有具有PWM功能(脉宽功能(脉宽调制)。定时器调制)。定时器5是一个内部定时器不具有对外输是一个内部定时器不具有对外输出口线。定时器出口线。定时器0具有死区发生器,通常用于大电具有死区发生器,通常用于大电流设备应用。流设备应用。S3C44B0X的看
89、门狗定时器用来在由于错误的看门狗定时器用来在由于错误如干扰和系统错误造成的程序运行打乱时,恢复如干扰和系统错误造成的程序运行打乱时,恢复正常操作它也能使用一个正常的正常操作它也能使用一个正常的16位定时器来请位定时器来请求中断服务。看门狗定时器产生复位信号求中断服务。看门狗定时器产生复位信号(128个个系统时钟周期系统时钟周期)。.特性特性6个个16 位定时器可以工作在中断模式或位定时器可以工作在中断模式或 DMA模式;模式;3个个8 位预分频器和位预分频器和2个个5位分割器和位分割器和1个个4位位分割器;分割器;输出波形的占空比可编程控制(输出波形的占空比可编程控制(PWM)自动加载模式或单
90、触发脉冲模式;自动加载模式或单触发脉冲模式;死区产生器;死区产生器;支持外部中断源;支持外部中断源;看门狗定时器溢出产生复位信号。看门狗定时器溢出产生复位信号。 4.7.2 PWM 定时器操作定时器操作1. 预分频器和分割器预分频器和分割器如如图图4-8所示,定时器所示,定时器0和定时器和定时器1分享同一分享同一个个8位的预分频器,定时器位的预分频器,定时器2和和3分享一个分享一个8位预位预分频器,定时器分频器,定时器4和和5分享一个分享一个8位预分频器。位预分频器。除了定时器除了定时器4和和5,其它每个定时器还拥有一,其它每个定时器还拥有一个具有个具有5个不同的分频信号输出(个不同的分频信号
91、输出(1/2, 1/4, 1/8, 1/16, 1/32)的时钟分割器。)的时钟分割器。定时器定时器4和和5 则具有则具有4个分频信号输出(个分频信号输出(1/2, 1/4, 1/8,1/16)的时钟分割器和一个输入信号线)的时钟分割器和一个输入信号线 TCLK/EXTCLK。 每个定时器从时钟分割器的输出得到每个定时器从时钟分割器的输出得到它们自己的时钟源,时钟分割器则从对应它们自己的时钟源,时钟分割器则从对应的的8位预分频器得到时钟源。位预分频器得到时钟源。8位预分频器是可编程的,它的频率通位预分频器是可编程的,它的频率通过过MCLK除以保存在除以保存在TCFG0和和 TCFG1寄存寄存器
92、中除数的结果设定。器中除数的结果设定。8位预分频器和一个独立的位预分频器和一个独立的4位分割器位分割器组合起来可以产生组合起来可以产生如如表表4-38所示的频率定时器所示的频率定时器时钟源输出。时钟源输出。 2. 基本定时器操作基本定时器操作每个定时器具有一个倒计时器,实每个定时器具有一个倒计时器,实际上是一个通过定时器时钟源驱动的际上是一个通过定时器时钟源驱动的16位倒计时寄存器位倒计时寄存器TCNTn。当倒计时数到当倒计时数到0,定时器中断请求就,定时器中断请求就产生了,这个中断通知产生了,这个中断通知CPU定时器定时定时器定时已经完成。已经完成。当定时器倒计时数到达当定时器倒计时数到达0
93、,寄存器,寄存器TCNTBn的对应值就会自动地载入到倒的对应值就会自动地载入到倒计时器从而继续下一次操作。计时器从而继续下一次操作。但是,如果定时器停止,例如但是,如果定时器停止,例如:在定时器运行模式下,清除了寄存在定时器运行模式下,清除了寄存器器TCONn中的定时器使能位,那么中的定时器使能位,那么TCNTBn的值就不会被重新载入到的值就不会被重新载入到倒计时器中。倒计时器中。定时器使能后,定时计数缓冲定时器使能后,定时计数缓冲区寄存器(区寄存器(TCNTBn)具有一个初)具有一个初始值,用来载入到倒计时器计数器始值,用来载入到倒计时器计数器TCNTn。定时器的比较缓冲区寄存器定时器的比较
94、缓冲区寄存器(TCMPBn)具有一个初始值,用来载具有一个初始值,用来载入到比较寄存器入到比较寄存器TCMPn与倒计时与倒计时值相比较。值相比较。TCNTBn和和TCMPBn这两个这两个缓冲区的应用使定时器能够使定时缓冲区的应用使定时器能够使定时器在频率和占空比变化时,仍然产器在频率和占空比变化时,仍然产生一个稳定的输出。生一个稳定的输出。定时器(除了定时器定时器(除了定时器5)都具有)都具有TCNTBn,TCNTn,TCMPBn和和TCMPn。TCNTBn和和TCMPBn的值在定时器的值在定时器值达到值达到0时分别载入时分别载入TCNTn和和TCMPn。当当TCNTn达到达到0时,如果中断使
95、能,时,如果中断使能,中断请求将会产生。中断请求将会产生。(TCNTn和和TCMPn是是内部寄存器,内部寄存器,TCNTn寄存器的值可以通寄存器的值可以通过过TCNTOn寄存器读出寄存器读出)。如如图图4-8所示。所示。4.7.3 PWM 定时器控制寄存器定时器控制寄存器1. 定时器配置寄存器定时器配置寄存器0(TCFG0)TCFG0主要是配置主要是配置3个个8位预分频器值和死位预分频器值和死区长度值。区长度值。定时器输入时钟频率定时器输入时钟频率定时器输入时钟频率定时器输入时钟频率MCLK/MCLK/预分频值预分频值预分频值预分频值+1/+1/分割值分割值分割值分割值 其中预分频值为其中预分
96、频值为0255,分割值为,分割值为2,4,8,16,32。如。如表表4-39所示。所示。 2. 定时器配置寄存器定时器配置寄存器 1(TCFG1)TCFG1主要是配置主要是配置6-MUX 和和DMA模式。如模式。如表表4-40所示。所示。3. 定时器控制寄存器(定时器控制寄存器(TCON)如表如表4-41所示:所示:TCONTCON位位位位描述描述描述描述初始初始初始初始值值Timer5Timer5自自自自动动重重重重载载开开开开/ /关关关关2626这这位确定定位确定定位确定定位确定定时时器器器器5 5的自的自的自的自动动加加加加载载的开的开的开的开/ /关关关关0=0=不自不自不自不自动动
97、加加加加载载 1= 1=自自自自动动加加加加载载0 0Timer5Timer5手手手手动动更新更新更新更新2525这这位确定定位确定定位确定定位确定定时时器器器器5 5的手的手的手的手动动更新更新更新更新0=0=无操作无操作无操作无操作 1= 1=更新更新更新更新TCNTB5TCNTB50 0Timer5Timer5启启启启动动/ /停止停止停止停止2424这这位确定定位确定定位确定定位确定定时时器器器器5 5的启的启的启的启动动/ /停止停止停止停止0=0=停止停止停止停止 1= 1=启启启启动动0 0Timer4Timer4自自自自动动重重重重载载开开开开/ /关关关关2323这这位确定定
98、位确定定位确定定位确定定时时器器器器4 4的自的自的自的自动动加加加加载载的开的开的开的开/ /关关关关0=0=不自不自不自不自动动加加加加载载 1= 1=自自自自动动加加加加载载0 0Timer4Timer4输输出反出反出反出反转转开开开开/ /关关关关2222这这位确定定位确定定位确定定位确定定时时器器器器4 4输输出反出反出反出反转转器的开器的开器的开器的开/ /关关关关0=0=不反不反不反不反转转 1= 1=反反反反转转TOUT4TOUT40 0Timer4Timer4手手手手动动更新更新更新更新2121这这位确定定位确定定位确定定位确定定时时器器器器4 4的手的手的手的手动动更新更新
99、更新更新0=0=无操作无操作无操作无操作 1= 1=更新更新更新更新TCNTB4TCNTB4,TCMPB4TCMPB40 0Timer4Timer4启启启启动动/ /停止停止停止停止2020这这位确定定位确定定位确定定位确定定时时器器器器4 4的启的启的启的启动动/ /停止停止停止停止0=0=停止停止停止停止 1= 1=启启启启动动0 04. 定时器定时器n计数缓冲区寄存器和比较缓冲区寄存器计数缓冲区寄存器和比较缓冲区寄存器(TCNTBn,TCMPBn)TCMPBn是是16位定时器位定时器Timer0Timer4比较比较缓冲器寄存器缓冲器寄存器;TCNTBn是是16位定时器位定时器Timer0
100、Timer5计数计数缓冲寄存器缓冲寄存器;TCNTOn 是是16位定时器位定时器Timer0Timer5观察观察寄存器寄存器.他们初值都为他们初值都为0。在以上的寄存器中,定时器在以上的寄存器中,定时器n计数计数/比较缓冲比较缓冲寄存器可读写寄存器,定时器寄存器可读写寄存器,定时器n计数观察寄存器为计数观察寄存器为只读寄存器。只读寄存器。4.7.4 看门狗定时器看门狗定时器1. 概述概述S3C44B0X的看门狗定时器用来在的看门狗定时器用来在由于错误如干扰和系统错误造成的程序由于错误如干扰和系统错误造成的程序运行打乱时恢复正常操作运行打乱时恢复正常操作,它也能使用一它也能使用一个正常的个正常的
101、16位定时器来请求中断服务。位定时器来请求中断服务。 看门狗定时器产生复位信号看门狗定时器产生复位信号128个系统个系统时钟周期。时钟周期。当当S3C44B0X使用使用Embedded ICE工作在调试模式时,看门狗定时工作在调试模式时,看门狗定时器必须不工作。器必须不工作。看门狗定时器能通过看门狗定时器能通过CPU核心信核心信号(号(DBGACK信号)确定当前的模信号)确定当前的模式是否在调试模式,一旦式是否在调试模式,一旦DBGACK信号有效,看门狗定时器的复位输出信号有效,看门狗定时器的复位输出当定时器过期时不激活。当定时器过期时不激活。结构如结构如图图4-14所示。所示。2. 看门狗定
102、时器时钟频率看门狗定时器时钟频率看门狗时钟频率计算公式如下:看门狗时钟频率计算公式如下: t_watchdog = 1/( MCLK/ (Prescaler value + 1)/ Division_factor ) 3. 看门狗定时器寄存器包括以下种类寄存器:看门狗定时器寄存器包括以下种类寄存器:(1)看门狗定时器控制寄存器)看门狗定时器控制寄存器 看门狗定时器控制寄存器定义如看门狗定时器控制寄存器定义如表表4-42所示所示.(2) 看门狗定时器数据寄存器看门狗定时器数据寄存器 WTDAT是一个是一个16位寄存器,规定看门狗定时位寄存器,规定看门狗定时器超时周期。器超时周期。WTDAT的内容
103、在初始操作时,不能自动加载的内容在初始操作时,不能自动加载进定时器计数寄存器。进定时器计数寄存器。可是定时器计数寄存器在使用初始值可是定时器计数寄存器在使用初始值0X8000第一次超时出现以后,第一次超时出现以后,WTDAT的值将自动加载进的值将自动加载进WTCNT。 (3) 看门狗定时器计数寄存器看门狗定时器计数寄存器 WTCNT是是16位看门狗定时器计数寄存器,在位看门狗定时器计数寄存器,在第一次使用时,必须设置到初始值。第一次使用时,必须设置到初始值。4.8 日历时钟日历时钟4.8.1 概述概述实时时钟实时时钟(RTC)器件是一种能提供日历时器件是一种能提供日历时钟、数据存储等功能的专用
104、集成电路,常用作钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储各种计算机系统的时钟信号源和参数设置存储电路。电路。RTC具有计时准确、耗电低和体积小等特具有计时准确、耗电低和体积小等特点特别适用于在各种嵌入式系统中记录事件发点特别适用于在各种嵌入式系统中记录事件发生的时间和相关信息,尤其是在通信工程、电生的时间和相关信息,尤其是在通信工程、电力自动化工业控制等自动化程度较高领域的无力自动化工业控制等自动化程度较高领域的无人值守环境。随着集成电路技术的不断发展,人值守环境。随着集成电路技术的不断发展,RTC器件的新品也不断推出。器件的新品也不断推出。 这些新品不
105、仅具有准确的这些新品不仅具有准确的RTC,还,还有大容量的存储器、温度传感器和有大容量的存储器、温度传感器和AD数据采集通道等数据采集通道等,已成为集已成为集RTC、数据采、数据采集和存储于一体的综合功能器件集和存储于一体的综合功能器件,特别适特别适用于以微控制器为核心的嵌入式系统。用于以微控制器为核心的嵌入式系统。RTC器件与微控制器之间大都采用器件与微控制器之间大都采用连线简单的串行接口,诸如连线简单的串行接口,诸如I2C、SPI、MICROWIRE和和CAN等串行总线接口。等串行总线接口。这些串口由这些串口由23根线根线,分为同步和异步。分为同步和异步。4.8.2 RTC 时钟单元RTC
106、 (Real Time Clock)单元能在单元能在系统断电时系统断电时,通过备份电池来供电通过备份电池来供电,RTC能能通过通过ARM的的STRB/LDRB指令传输指令传输8位位BCD数据到数据到CPU,该数据包括时、分、秒、该数据包括时、分、秒、小时、天、月和年,小时、天、月和年,RTC使用一个外部使用一个外部32.768的晶体也能执行报警功能。的晶体也能执行报警功能。RTC功能框图如功能框图如图图4-15所示。所示。特征特征: 日历功能日历功能 支持闰年支持闰年 解决了解决了2000年问题年问题 独立的供电独立的供电 支持毫秒滴答时间中断作为支持毫秒滴答时间中断作为RTOS核的时间滴答核
107、的时间滴答 报警功能报警功能 1. 闰年产生器闰年产生器这个模块可以决定每个月的最后日期是这个模块可以决定每个月的最后日期是 28,29,30 还是还是 31,并可以根据是否是闰,并可以根据是否是闰年来决定日期。年来决定日期。由于由于 8 位的计数器只能表示位的计数器只能表示 2 个个 BCD 码,因此它不能判断码,因此它不能判断 00 年究竟是不是闰年。年究竟是不是闰年。例如它不能够满足例如它不能够满足 1900 年和年和 2000 年的差年的差别。为了解决这个问题,别。为了解决这个问题,S3C44B0X 内的内的 RTC 模块中有一个固定的逻辑,用来支持模块中有一个固定的逻辑,用来支持 2
108、000 年为闰年。年为闰年。请注意虽然请注意虽然 2000 年是闰年,但年是闰年,但 1900 年不是闰年。因此,年不是闰年。因此,S3C44B0X中中 00 代表代表 2000 年,而不是年,而不是 1900 年。年。2. 2. 读读读读/ /写寄存器要求设置写寄存器要求设置写寄存器要求设置写寄存器要求设置RTCON RTCON 寄存器的寄存器的寄存器的寄存器的 0 0 位来表示读和写位来表示读和写位来表示读和写位来表示读和写 RTC RTC 模块中模块中模块中模块中的寄存器。的寄存器。的寄存器。的寄存器。为了显示秒,分,小时,日期,月和年,为了显示秒,分,小时,日期,月和年,为了显示秒,分
109、,小时,日期,月和年,为了显示秒,分,小时,日期,月和年,CPUCPU会会会会从从从从 BCDSEC, BCDMIN, BCDHOUR, BCDDAY, BCDSEC, BCDMIN, BCDHOUR, BCDDAY, BCDDATE, BCDMON, BCDDATE, BCDMON, 和和和和 BCDYEAR BCDYEAR寄存器中读取数寄存器中读取数寄存器中读取数寄存器中读取数据。据。据。据。但是,由于多个寄存器的读取,可能产生但是,由于多个寄存器的读取,可能产生但是,由于多个寄存器的读取,可能产生但是,由于多个寄存器的读取,可能产生 1 1 秒钟秒钟秒钟秒钟的偏离的偏离的偏离的偏离。例如
110、,如果用户读取寄存器。例如,如果用户读取寄存器。例如,如果用户读取寄存器。例如,如果用户读取寄存器 BCDYEAR BCDYEAR 到到到到 BCDMINBCDMIN,假设结果为,假设结果为,假设结果为,假设结果为 1959 1959 年,年,年,年,12 12 月,月,月,月,31 31 日,日,日,日,23 23 点,点,点,点,59 59 分。在用户读取分。在用户读取分。在用户读取分。在用户读取 BCDSEC BCDSEC寄存器时,如果结果是寄存器时,如果结果是寄存器时,如果结果是寄存器时,如果结果是 1 15959,肯定没有问题。但如果结果是,肯定没有问题。但如果结果是,肯定没有问题。
111、但如果结果是,肯定没有问题。但如果结果是 0 0,那么很有可能,那么很有可能,那么很有可能,那么很有可能年、月、日、时、分已经变成了年、月、日、时、分已经变成了年、月、日、时、分已经变成了年、月、日、时、分已经变成了 1960 1960 年年年年 1 1 月月月月 1 1 日日日日 0 0 时时时时 0 0 分,这就是上面所说的分,这就是上面所说的分,这就是上面所说的分,这就是上面所说的 1 1 秒偏离。秒偏离。秒偏离。秒偏离。解决的方法解决的方法解决的方法解决的方法是,当读取到的是,当读取到的是,当读取到的是,当读取到的 BCDSEC BCDSEC 等于等于等于等于 0 0 时,时,时,时,
112、用户应该再读取一次用户应该再读取一次用户应该再读取一次用户应该再读取一次 BCDYEAR BCDYEAR 到到到到 BCDSEC BCDSEC 的值。的值。的值。的值。 3.备用电池操作备用电池操作RTC逻辑模块可以通过一个备用电逻辑模块可以通过一个备用电池供电。备用电池的阳极通过池供电。备用电池的阳极通过 RTCVDD 脚接至内部的脚接至内部的 RTC模块,即使系统电源模块,即使系统电源关闭,也能够提供电能保证关闭,也能够提供电能保证 RTC 模块模块正常工作。正常工作。在系统电源关闭时,在系统电源关闭时,CPU 和和 RTC 逻辑模块之间的接口被锁住,使备用电逻辑模块之间的接口被锁住,使备
113、用电池仅需驱动池仅需驱动 RTC 的晶振电路和的晶振电路和 BCD 计计数器,从而使功耗降到最低。数器,从而使功耗降到最低。4. 报警功能报警功能在掉电模式或正常工作模式下,在掉电模式或正常工作模式下,RTC 能能够在指定的时间产生一个报警信号。够在指定的时间产生一个报警信号。在正常工作模式下,报警中断在正常工作模式下,报警中断(ALMINT)被激活。被激活。在掉电模式下,电源管理苏醒信号也与在掉电模式下,电源管理苏醒信号也与 ALMINT 一样处于激活状态。一样处于激活状态。RTC 的报警寄存器的报警寄存器:RTCALM 可以决定报可以决定报警的使能或禁止和报警时间的设置条件。警的使能或禁止
114、和报警时间的设置条件。 5.节拍中断节拍中断RTC 节拍时间用于中断请求。节拍时间用于中断请求。TICNT 寄存器具有一个中断使能位,同时寄存器具有一个中断使能位,同时其中的计数值用于中断。当计数值到达其中的计数值用于中断。当计数值到达 0 时,时,节拍时间中断就会触发。节拍时间中断就会触发。中断的间隔时间计算如下:中断的间隔时间计算如下:Period=(n+1)/128 秒秒其中其中n为节拍时间计数值(为节拍时间计数值(1127)。)。这个这个 RTC 时间节拍中断功能可以作为时间节拍中断功能可以作为 RTOS(实时操作系统)内核的时间节拍。如(实时操作系统)内核的时间节拍。如果节拍从果节拍
115、从 RTC时间节拍产生,则时间节拍产生,则 RTOS 内部内部与时间相关的功能将一直与实时时钟同步。与时间相关的功能将一直与实时时钟同步。6.循环复位功能循环复位功能循环复位功能可以通过循环复位功能可以通过 RTC 循环复位寄存循环复位寄存器器 RTCRST 来操作。来操作。你可以选循环边界时间(你可以选循环边界时间(30,40,或,或 50 秒)秒),在循环复位操作中,这个时间将加载到秒进位,在循环复位操作中,这个时间将加载到秒进位产生器,当秒计时到达该时间时就进位。产生器,当秒计时到达该时间时就进位。例如,如果当前时间是例如,如果当前时间是 23:37:47,循环,循环边界选择为边界选择为
116、 40 秒,则循环复位操作将当前时间秒,则循环复位操作将当前时间修改为修改为 23:38:00。注意:所有的注意:所有的 RTC 寄存器必须使用寄存器必须使用 STRB, LDRB指令或指令或 char 类型指针类型指针,以字节方式操作。以字节方式操作。 4.8.3 实时时钟寄存器定义实时时钟寄存器定义实时控制寄存器(实时控制寄存器(RTCCON)RTCCON 寄存器包括寄存器包括 4 个位例如个位例如 RTCEN,用来控制对用来控制对 BCD 寄存器的读寄存器的读/写使能。写使能。CLKSEL,CNTSEL 和和 CLKRST 用来测试。用来测试。RTCEN 位可以控制所有位可以控制所有 C
117、PU 和和 RTC 之间之间的所有接口,因此在的所有接口,因此在 RTC 控制程序中,应当将控制程序中,应当将它置它置 1从而使得在系统复位之后能够读写这些寄从而使得在系统复位之后能够读写这些寄存器。而在电源关闭之前存器。而在电源关闭之前,RTCEN 位更改清位更改清 0 从而从而阻止无意中对阻止无意中对 RTC 寄存器的写入。寄存器的写入。所有的所有的 RTC 寄存器都应该以字节为单位进行寄存器都应该以字节为单位进行操作。操作。RTCALM 寄存器决定了是否使能报警功能寄存器决定了是否使能报警功能,以及报警时间。以及报警时间。注意在掉电模式下,注意在掉电模式下,RTCALM 寄存器通过寄存器
118、通过 ALMINT 和和 PMWKUP 产生报警信号,但在正常产生报警信号,但在正常工作模式下只有工作模式下只有 ALMINT 模式。模式。ALMSECALMYEAR为为RTC秒、分钟、小时、秒、分钟、小时、日、月、年报警数据寄存器;日、月、年报警数据寄存器;BCDSECBCDYEAR为秒、分钟、小时、日、为秒、分钟、小时、日、星期、月、年数据寄存器。星期、月、年数据寄存器。RTC ROUND是秒复位寄存器。是秒复位寄存器。TICNT 为时间片计数寄存器,它包含时间片为时间片计数寄存器,它包含时间片中断禁止中断禁止/允许控制和时间片计数值。允许控制和时间片计数值。各控制寄存器如各控制寄存器如表
119、表4-43所示。所示。4.9 中断管理中断管理4.9.1 概述概述S3C44B0X 的中断控制器可以接收的中断控制器可以接收来自来自 30 个中断源的请求。个中断源的请求。中断控制器的中断控制器的作用作用,就是响应来自,就是响应来自FIQ 或或 IRQ 的中断,并请求内核对中断的中断,并请求内核对中断进行处理。进行处理。当有多个中断同时发生的时候,中当有多个中断同时发生的时候,中断控制器要决定首先处理哪一个中断。断控制器要决定首先处理哪一个中断。4.9.2 中断控制器中断控制器1. 1. 中断模式中断模式中断模式中断模式ARM7TDMI ARM7TDMI 有有有有 2 2 种类型的中断模式,种
120、类型的中断模式,种类型的中断模式,种类型的中断模式,FIQFIQ(快速(快速(快速(快速中断请求)或中断请求)或中断请求)或中断请求)或 IRQ IRQ(普通中断请求)。(普通中断请求)。(普通中断请求)。(普通中断请求)。2. PSR2. PSR的的的的 F F 位和位和位和位和 I I 位位位位PSR PSR 指指指指 ARM7TDMI ARM7TDMI 处理器的程序状态寄存器。处理器的程序状态寄存器。处理器的程序状态寄存器。处理器的程序状态寄存器。如果如果如果如果 PSR PSR 的的的的 F F 位被设置为位被设置为位被设置为位被设置为1 1,处理器将不接受来,处理器将不接受来,处理器
121、将不接受来,处理器将不接受来自中断控制器的自中断控制器的自中断控制器的自中断控制器的 FIQ FIQ。如果。如果。如果。如果 PSR PSR 的的的的 I I 位被设置为位被设置为位被设置为位被设置为 1 1,处理器将不接受来自中断控制器的处理器将不接受来自中断控制器的处理器将不接受来自中断控制器的处理器将不接受来自中断控制器的 IRQ IRQ。因此,为了使能中断相应机制,因此,为了使能中断相应机制,因此,为了使能中断相应机制,因此,为了使能中断相应机制,PSR PSR 的的的的 F F 位或位或位或位或 I I 位必须被清位必须被清位必须被清位必须被清 0 0,同时,同时,同时,同时 INT
122、MASK INTMASK的相应位必须被清的相应位必须被清的相应位必须被清的相应位必须被清 0 0。 3. 中断登记寄存器中断登记寄存器如果你将所有的中断源定义为如果你将所有的中断源定义为 IRQ 中断中断,如果同一时刻发生了如果同一时刻发生了10 个中断请求,可以通过个中断请求,可以通过读取中断登记寄存器来了解哪些中断发生了,读取中断登记寄存器来了解哪些中断发生了,并对产生的中断依次进行处理,这也就是通过并对产生的中断依次进行处理,这也就是通过软件的方式决定了中断服务的优先级。软件的方式决定了中断服务的优先级。中断登记寄存器中的位显示了某个中断请中断登记寄存器中的位显示了某个中断请求是否还未被
123、处理。一旦某个登记位被置位,求是否还未被处理。一旦某个登记位被置位,当当PSR 的的 I 标志位标志位或或 F 标志位标志位被清被清 0 时,中断时,中断服务程序就会启动执行。服务程序就会启动执行。中断登记寄存器是一个只读寄存器中断登记寄存器是一个只读寄存器,所以在所以在服务程序中要想清除登记位时服务程序中要想清除登记位时,要采用在要采用在 I_ISPC 或或 F_ISPC 中相应位写入中相应位写入 1 的方式实现。的方式实现。4.INTMSK 中断屏蔽寄存器中断屏蔽寄存器如果该寄存器的某一个位被置如果该寄存器的某一个位被置 1,则该,则该位对应的中断响应被禁止了。如果某个中断位对应的中断响应
124、被禁止了。如果某个中断在在 INTMSK寄存器的对应位为寄存器的对应位为 0,则这个中,则这个中断发生时将会正常被响应。断发生时将会正常被响应。如果某个中断的在如果某个中断的在 INTMSK 的寄存器中的寄存器中的对应位为的对应位为 1,但是这个中断发生了,它的,但是这个中断发生了,它的登记位还是会置位。登记位还是会置位。如果全局屏蔽位被置如果全局屏蔽位被置 1,那么当中断发,那么当中断发生时,中断登记位还是会置位,但是所有的生时,中断登记位还是会置位,但是所有的中断都不会得到服务。中断都不会得到服务。5. 中断源中断源在在 30 个中断源中,有个中断源中,有 26 个中断源提供给中个中断源提
125、供给中断控制器。断控制器。4 个外部中断个外部中断(EINT4/5/6/7)请求是通请求是通过过“或或”的形式提供为的形式提供为 1 个中断源送至中断控制个中断源送至中断控制器器,因此因此,ISR(中断服务程序中断服务程序)要通过读取要通过读取 EXTINPND3:0寄存器来区别这寄存器来区别这 4 个中断源。个中断源。它们的中断处理程序(它们的中断处理程序(ISR)必须在处理结束)必须在处理结束时将时将EXTINPND3:0中对应位写中对应位写 1 来清除该位。来清除该位。2 个个 UART 错误中断占用一个中断源。错误中断占用一个中断源。中断源如中断源如表表 4-44 和和 图图 4-16
126、所示。所示。(1) 中断请求寄存器中断请求寄存器 INTPNDINTPND 寄存器中的寄存器中的 26 个位对应着每一个个位对应着每一个中断源。中断源。如如表表4-46所示,当中断发生时,所示,当中断发生时,INTPND 中中相应的登记位就会置相应的登记位就会置 1,说明该中断还未被处理。,说明该中断还未被处理。中断服务程序中必须清除该登记位,从而使系统中断服务程序中必须清除该登记位,从而使系统能够及时响应下一次中断。能够及时响应下一次中断。INTPND 是一个只读寄存器,清除登记位的是一个只读寄存器,清除登记位的方式是向方式是向 I_ISPC/F_ISPC的相应位写入的相应位写入“1”。在多
127、个中断同时发生时,在多个中断同时发生时,INTPND 将所有发将所有发生的中断登记位都置生的中断登记位都置 1。虽然中断请求可以通过。虽然中断请求可以通过 INTMSK 寄存器屏蔽,但是如果被屏蔽的中断寄存器屏蔽,但是如果被屏蔽的中断发生了,发生了,INTPND 中的登记位仍然会被置中的登记位仍然会被置 1。(2) 中断模式寄存器中断模式寄存器 INTMODINTMOD 寄存器中的寄存器中的 26 个位对个位对应着每一个中断源。应着每一个中断源。如表如表4-46所示,当所示,当 INTMOD 中中的响应位设置为的响应位设置为1,则,则ARM7TDMI 内核将以内核将以 FIQ(快速中断)模式响
128、(快速中断)模式响应此中断。否则,以应此中断。否则,以 IRQ(普通中(普通中断)模式响应。断)模式响应。(3) 中断屏蔽寄存器中断屏蔽寄存器 INTMSK在在 INTMSK 中,除了全局屏蔽位,其余中,除了全局屏蔽位,其余的的 26 位依次对应着每个中断源。位依次对应着每个中断源。当当INTMSK 的某个的某个屏蔽位屏蔽位为为 1 同时该位同时该位对应的中断事件发生了,此时对应的中断事件发生了,此时 CPU 事不会对事不会对中断请求进行响应的。如果屏蔽位为中断请求进行响应的。如果屏蔽位为0,则,则 CPU 将对中断请求进行响应。将对中断请求进行响应。如果全局屏蔽位为如果全局屏蔽位为 1,则所
129、有的中断请,则所有的中断请求都不会被响应,但是当中断发生时,相应求都不会被响应,但是当中断发生时,相应的登记位仍将被置的登记位仍将被置 1。INTMSK 的位定义如的位定义如表表4-46所示。所示。(4) IRQ 矢量模式寄存器矢量模式寄存器优先级产生模块包括优先级产生模块包括5个单元,个单元,1个主单元和个主单元和4个辅单元。每个辅单元管理个辅单元。每个辅单元管理6个中断源。主优先个中断源。主优先级产生单元管理级产生单元管理4个辅单元和个辅单元和2个中断源。个中断源。每个辅单元有每个辅单元有4个可编程的优先级源个可编程的优先级源sGn和和 2个固定优先级源个固定优先级源sGKn。每个辅单元的
130、。每个辅单元的4个中断源个中断源优先级由优先级由 I_PSLV寄存器决定。另外寄存器决定。另外2个固定源的个固定源的优先级在优先级在6个源中是最低的。主优先级产生单元通个源中是最低的。主优先级产生单元通过过I_PMST寄存器决定寄存器决定4个辅单元和个辅单元和2个中断源之个中断源之间的优先级。中断源间的优先级。中断源INT_RTC和和INT_ADCINT_ADC在在26个中个中断源中优先级是最低的。断源中优先级是最低的。如果几个中断请求同时发生,如果几个中断请求同时发生,I_ISPR寄存器寄存器中将其中具有最高优先级的中断源对应位置中将其中具有最高优先级的中断源对应位置1。 (5) IRQ/F
131、IQ中断服务寄存器中断服务寄存器I_ISPR/F_ISPR是是IRQ/FIQ中断模式中断模式下的中断服务寄存器,下的中断服务寄存器,I_ISPC/F_ISPC是是IRQ/FIQ中断模式下的清除中断服务寄存中断模式下的清除中断服务寄存器。器。I_ISPC/F_ISPC 清除中断登记位清除中断登记位(INTPND)。)。I_ISPC/F_ISPC 也通知中也通知中断控制器,中断服务(断控制器,中断服务(ISR)已经结束。)已经结束。在某个中断的在某个中断的 ISR 结束时,该中断相应结束时,该中断相应的登记位也必须被清零。的登记位也必须被清零。 要将要将 INTPND 的某一位清零,方法是往的某一
132、位清零,方法是往I_ISPC/F_ISPC的相应位写入的相应位写入 1。 在清除在清除I_ISPC/F_ISPC时,还必须注意:时,还必须注意:I_ISPC/F_ISPC寄存器在寄存器在 ISR 中只能被操作中只能被操作 1 次。如果你没有遵守这两点,在中断请求发生次。如果你没有遵守这两点,在中断请求发生时,时, I_ISPR/F_ISPR和和INTPND 寄存器可能还寄存器可能还是是 0。I_ISPR/F_ISPR和和I_ISPC/F_ISPC 寄存器寄存器的位定义如的位定义如表表4-46所示。所示。4.10 串行口管理串行口管理4.10.1 概述概述S3C44B0X的的UART(通用异步收
133、发器)(通用异步收发器)单元提供两个独立的单元提供两个独立的异步串行异步串行I/O端口端口,每个,每个都可以在中断和都可以在中断和DMA两种模式下工作。它们支两种模式下工作。它们支持的最高波特率为持的最高波特率为115.2Kbps。每个。每个UART通通道包含道包含2个个16位位FIFO分别提供给接收和发送。分别提供给接收和发送。S3C44B0X的的UART可以进行以下参数的可以进行以下参数的设置:可编程的波特率,红外收设置:可编程的波特率,红外收/发模式,发模式,1或或2个停止位,个停止位,5位、位、6位、位、7位或位或8位数据宽度和位数据宽度和奇偶位校验。奇偶位校验。如如图图4-17所示所
134、示:每个每个UART包含一个波特包含一个波特率产生器率产生器,发送器发送器,接收器和控制单元。波特接收器和控制单元。波特率发生器以率发生器以MCLK作为时钟源。发送器和接作为时钟源。发送器和接收器包含收器包含16字节的字节的FIFOs和移位寄存器。和移位寄存器。 被发送的数据,首先被写入被发送的数据,首先被写入FIFO,再拷,再拷贝到发送移位寄存器,然后它从数据输出端贝到发送移位寄存器,然后它从数据输出端口(口(TxDn)依次被移位输出。)依次被移位输出。被接收的数据也同样从数据接收端口被接收的数据也同样从数据接收端口(RxDn)移位输入到移位寄存器,然后拷)移位输入到移位寄存器,然后拷贝到贝
135、到FIFO中。中。 特性:特性:RxD0,TxD0,RxD1,TxD1 可以以中断可以以中断模式或模式或 DMA模式工作;模式工作;UART 通道通道 0 符合符合 IrDA 1.0 要求,且具有要求,且具有 16 字节的字节的 FIFO;UART 通道通道 1 符合符合 IrDA 1.0 要求,且具有要求,且具有 16 字节的字节的 FIFO;支持收发时握手模式。支持收发时握手模式。 4.10.2 UART 4.10.2 UART 操作操作操作操作以下将介绍以下将介绍以下将介绍以下将介绍 UART UART 的操作,包括数据发送,数据的操作,包括数据发送,数据的操作,包括数据发送,数据的操作
136、,包括数据发送,数据接收,中断发生,波特率发生,回送模式,自动流控制接收,中断发生,波特率发生,回送模式,自动流控制接收,中断发生,波特率发生,回送模式,自动流控制接收,中断发生,波特率发生,回送模式,自动流控制等内容。等内容。等内容。等内容。1. 1. 数据发送数据发送数据发送数据发送数据发送帧格式是可编程的。数据发送帧格式是可编程的。数据发送帧格式是可编程的。数据发送帧格式是可编程的。它包含一个开始位,它包含一个开始位,它包含一个开始位,它包含一个开始位,5 5到到到到8 8个数据位,一个可选的奇个数据位,一个可选的奇个数据位,一个可选的奇个数据位,一个可选的奇偶位和偶位和偶位和偶位和1
137、1到到到到2 2个停止位,这些都可以通过线控制寄存器个停止位,这些都可以通过线控制寄存器个停止位,这些都可以通过线控制寄存器个停止位,这些都可以通过线控制寄存器(ULCONnULCONn)来设置。发送器也能够产生发送中止条件。)来设置。发送器也能够产生发送中止条件。)来设置。发送器也能够产生发送中止条件。)来设置。发送器也能够产生发送中止条件。中止条件迫使串口输出保持在逻辑中止条件迫使串口输出保持在逻辑中止条件迫使串口输出保持在逻辑中止条件迫使串口输出保持在逻辑0 0状态,这种状状态,这种状状态,这种状状态,这种状态保持超过一个传输帧的时间长度。通常在一帧传输数态保持超过一个传输帧的时间长度。
138、通常在一帧传输数态保持超过一个传输帧的时间长度。通常在一帧传输数态保持超过一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全据完整地传输完之后,再通过这个全据完整地传输完之后,再通过这个全据完整地传输完之后,再通过这个全0 0状态将中止信号状态将中止信号状态将中止信号状态将中止信号发送给对方。中止信号发送之后,传送数据将持续地放发送给对方。中止信号发送之后,传送数据将持续地放发送给对方。中止信号发送之后,传送数据将持续地放发送给对方。中止信号发送之后,传送数据将持续地放入到输出入到输出入到输出入到输出FIFOFIFO中(在不使用中(在不使用中(在不使用中(在不使用FIFOF
139、IFO模式下,将被放到输模式下,将被放到输模式下,将被放到输模式下,将被放到输出保持寄存器)。出保持寄存器)。出保持寄存器)。出保持寄存器)。 2. 2. 数据接收数据接收数据接收数据接收与发送一样与发送一样与发送一样与发送一样, ,接收的数据帧格式同发送帧格式。接收的数据帧格式同发送帧格式。接收的数据帧格式同发送帧格式。接收的数据帧格式同发送帧格式。接收器还可以检测到接收器还可以检测到接收器还可以检测到接收器还可以检测到溢出错误溢出错误溢出错误溢出错误,奇偶校验错误奇偶校验错误奇偶校验错误奇偶校验错误,帧错误帧错误帧错误帧错误和和和和中止状况中止状况中止状况中止状况,每种情况下都会将一个错误
140、标志,每种情况下都会将一个错误标志,每种情况下都会将一个错误标志,每种情况下都会将一个错误标志置位。置位。置位。置位。溢出错误表示新的数据已经覆盖了旧的数据,因溢出错误表示新的数据已经覆盖了旧的数据,因溢出错误表示新的数据已经覆盖了旧的数据,因溢出错误表示新的数据已经覆盖了旧的数据,因为旧的数据没有及时被读入;为旧的数据没有及时被读入;为旧的数据没有及时被读入;为旧的数据没有及时被读入;奇偶校验错误表示接收器检测到了意料之外的奇奇偶校验错误表示接收器检测到了意料之外的奇奇偶校验错误表示接收器检测到了意料之外的奇奇偶校验错误表示接收器检测到了意料之外的奇偶校验结果;偶校验结果;偶校验结果;偶校验
141、结果;帧错误表示接收到的数据没有有效的停止位;帧错误表示接收到的数据没有有效的停止位;帧错误表示接收到的数据没有有效的停止位;帧错误表示接收到的数据没有有效的停止位;中止状况表示中止状况表示中止状况表示中止状况表示RxDnRxDn的输入被保持为的输入被保持为的输入被保持为的输入被保持为0 0状态超过了状态超过了状态超过了状态超过了一个帧传输的时间。一个帧传输的时间。一个帧传输的时间。一个帧传输的时间。在在在在FIFOFIFO模式下接收模式下接收模式下接收模式下接收FIFOFIFO不为空,但接收器已经在不为空,但接收器已经在不为空,但接收器已经在不为空,但接收器已经在3 3个字时间内没有接收到任
142、何数据,就认为发生了接收个字时间内没有接收到任何数据,就认为发生了接收个字时间内没有接收到任何数据,就认为发生了接收个字时间内没有接收到任何数据,就认为发生了接收超时状况。超时状况。超时状况。超时状况。3. 自动流控制(自动流控制(AFC)S3C44B0X的的UART通过通过nRTS和和nCTS信号信号支持自动流控制,在这种情况下必须是支持自动流控制,在这种情况下必须是UART与与UART连接。连接。 4. 非自动流控制非自动流控制通过软件控制通过软件控制 nRTS 和和 nCTS5. 调制解调器接口调制解调器接口如果用户要连接到调制解调器接口,就需要如果用户要连接到调制解调器接口,就需要nR
143、TS,nCTS,nDSR,nDTR,DCD和和nRI信号。信号。在这种情况下,用户可以通过通用其它在这种情况下,用户可以通过通用其它I/O口来由口来由软件控制这些信号,因为软件控制这些信号,因为AFC是不支持是不支持RS-232C接口的。接口的。4.10.3 中断中断/DMA 请求产生器请求产生器S3C44B0XS3C44B0X的每个的每个的每个的每个UARTUART都有都有都有都有7 7个状态信号个状态信号个状态信号个状态信号:溢出:溢出:溢出:溢出错误,奇偶校验错误,帧错误,中止,接收错误,奇偶校验错误,帧错误,中止,接收错误,奇偶校验错误,帧错误,中止,接收错误,奇偶校验错误,帧错误,中
144、止,接收FIFO/FIFO/缓冲缓冲缓冲缓冲区数据准备好,发送区数据准备好,发送区数据准备好,发送区数据准备好,发送FIFO/FIFO/缓冲区空,发送移位寄存器缓冲区空,发送移位寄存器缓冲区空,发送移位寄存器缓冲区空,发送移位寄存器空。空。空。空。所有这些状态都由对应的所有这些状态都由对应的所有这些状态都由对应的所有这些状态都由对应的UARTUART状态寄存器状态寄存器状态寄存器状态寄存器(UTRSTATn/UERSTATnUTRSTATn/UERSTATn)中的相应位来表现。)中的相应位来表现。)中的相应位来表现。)中的相应位来表现。溢出错误溢出错误溢出错误溢出错误,奇偶校验错误奇偶校验错误
145、奇偶校验错误奇偶校验错误,帧错误帧错误帧错误帧错误和和和和中止状况中止状况中止状况中止状况都都都都被认为是被认为是被认为是被认为是接收错误状态接收错误状态接收错误状态接收错误状态,如果,如果,如果,如果UCONnUCONn中的中的中的中的“ “接收错误接收错误接收错误接收错误状态中断使能位状态中断使能位状态中断使能位状态中断使能位” ”被置位,它们中的每一个都能够引被置位,它们中的每一个都能够引被置位,它们中的每一个都能够引被置位,它们中的每一个都能够引发接收错误中断请求。发接收错误中断请求。发接收错误中断请求。发接收错误中断请求。当当当当“ “接收错误状态中断请求接收错误状态中断请求接收错误
146、状态中断请求接收错误状态中断请求” ”被检测到,引发请被检测到,引发请被检测到,引发请被检测到,引发请求的信号可以通过读取求的信号可以通过读取求的信号可以通过读取求的信号可以通过读取UERSTATnUERSTATn来识别。来识别。来识别。来识别。当接收器要将接收移位寄存器的数据送当接收器要将接收移位寄存器的数据送到到接收接收FIFO,它会激活接收,它会激活接收FIFO满状态信号,满状态信号,如果控制寄存器中的接收模式选为中断模式,如果控制寄存器中的接收模式选为中断模式,就会引发接收中断。就会引发接收中断。当发送器从发送当发送器从发送FIFO中取出数据到发送中取出数据到发送移位寄存器,那么移位寄
147、存器,那么FIFO空状态信号将会被激空状态信号将会被激活。如果控制寄存器中的发送模式选为中断活。如果控制寄存器中的发送模式选为中断模式,就会引发发送中断。模式,就会引发发送中断。如果接收如果接收/发送模式被选为发送模式被选为DMA模式,模式,“接收接收FIFO满满”和和“发送发送FIFO空空”状态信号同状态信号同样可以产生样可以产生DMA请求信号。请求信号。与与FIFO有关的中断如有关的中断如表表4-47所示。所示。4.10.4 UART 错误状态错误状态 FIFO除了接收除了接收FIFO寄存器之外,寄存器之外,UART还具有还具有一个一个状态状态FIFO。状态。状态FIFO中表示了在中表示了
148、在FIFO寄存寄存器中,哪一个数据被无错误地接收。器中,哪一个数据被无错误地接收。假设假设UART的的FIFO连续接收到连续接收到A,B,C,D,E字字符,并且在接收符,并且在接收B字符时发生了帧错误(即该字字符时发生了帧错误(即该字符没有停止位),在接收符没有停止位),在接收D字符时发生了奇偶校字符时发生了奇偶校验错。验错。虽然虽然UART错误发生了,错误中断不会产生,错误发生了,错误中断不会产生,因为含有错误的字符还没有被因为含有错误的字符还没有被CPU读取。当字读取。当字符被读出时错误中断才会发生。如符被读出时错误中断才会发生。如图图4-19所示。所示。4.10.5 波特率发生器波特率发
149、生器每个每个UART的波特率发生器为传输提供了串行的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以通过移位时钟。波特率产生器的时钟源可以通过S3C44B0X的内部系统时钟来选择。波特率时钟的内部系统时钟来选择。波特率时钟通过时钟源通过时钟源16分频和一个由分频和一个由UART波特率除数寄波特率除数寄存器存器(UBRDIVn)指定的指定的16位除数决定。位除数决定。UBRDIVn的值可以按照下式确定:的值可以按照下式确定:UBRDIVn=(取整)(取整)(MCLK/(bps16))-1除数的范围为除数的范围为1到(到(21616-1)。)。例如,如果波特率为例如,如果波特率为11
150、5.2Kbps且系统主频且系统主频(MCLK)为为64MHz,则,则UBRDIVn为:为:UBRDIVn=(int)(64000000/(11520016)-1=35-1=34 4.10.6 回送模式回送模式S3C44B0X的的UART提供一个测试模式,提供一个测试模式,即回送模式。在这种模式下,发送的数据会即回送模式。在这种模式下,发送的数据会立即被接收。这一特性运行处理器校验内部立即被接收。这一特性运行处理器校验内部发送和接收通道的功能。这种模式可以通过发送和接收通道的功能。这种模式可以通过设置设置UART控制寄存器控制寄存器(UCONn)中的回送位来中的回送位来设定。设定。4.10.7
151、红外通信模式红外通信模式S3C44B0X的的UART模块支持红外线模块支持红外线(IR)发送和接收。可以通过设置发送和接收。可以通过设置UART控制寄存器控制寄存器(ULCONn)中的红外模式位来选择这一模)中的红外模式位来选择这一模式。式。4.10.8 UART 寄存器寄存器寄存器名称中的寄存器名称中的n表示表示01,例如,例如ULCONn对应串口对应串口0为为ULCON0,对应串对应串口口1为为ULCON1。1. UART线控制寄存器线控制寄存器前面多次提到了线控制寄存器,它前面多次提到了线控制寄存器,它主要用来规定传输帧的格式。主要用来规定传输帧的格式。线控制寄存器定义如线控制寄存器定义
152、如表表4-48所示。所示。UCONnUCONn位位位位描描描描 述述述述初始初始初始初始值值发发送中断送中断送中断送中断类类型型型型 9 9 中断中断中断中断请请求求求求类类型型型型0=0=脉冲(在脉冲(在脉冲(在脉冲(在发发送送送送缓缓冲区冲区冲区冲区变变空空空空时时立即引立即引立即引立即引发发中断)中断)中断)中断)1=1=电电平(在平(在平(在平(在发发送送送送缓缓冲区冲区冲区冲区变变空空空空时时引引引引发发中断)中断)中断)中断)0 0接收中断接收中断接收中断接收中断类类型型型型 8 8 中断中断中断中断请请求求求求类类型型型型0=0=脉冲(在接收脉冲(在接收脉冲(在接收脉冲(在接收缓
153、缓冲区接收到数据冲区接收到数据冲区接收到数据冲区接收到数据时时立即引立即引立即引立即引发发中断)中断)中断)中断)1=1=电电平(在接收平(在接收平(在接收平(在接收缓缓冲区正在接收到数据冲区正在接收到数据冲区正在接收到数据冲区正在接收到数据时时引引引引发发中断)中断)中断)中断)0 0接收超接收超接收超接收超时时中断使中断使中断使中断使能能能能 7 7 在在在在UARTUART的的的的FIFOFIFO使能的情况下,使能使能的情况下,使能使能的情况下,使能使能的情况下,使能/ /禁止接收超禁止接收超禁止接收超禁止接收超时时中中中中断断断断0=0=禁止禁止禁止禁止 1= 1=允允允允许许0 0接
154、收接收接收接收错误错误状状状状态态中中中中断使能断使能断使能断使能 6 6 使能使能使能使能UARTUART在接收操作中在接收操作中在接收操作中在接收操作中发发生生生生错误时错误时的的的的错误错误中断响中断响中断响中断响应应0=0=不不不不产产生生生生错误错误状状状状态态中断中断中断中断 1= 1=产产生生生生错误错误状状状状态态中断中断中断中断0 02UART控制寄存器控制寄存器UCONn控制寄存器各位定义如表控制寄存器各位定义如表449所示。所示。表表449UCONn控制寄存器控制寄存器UCONnUCONn位位描描 述述初初初初始始始始值值回送模式回送模式回送模式回送模式 5 5 设设置置
155、置置该该位,位,位,位,UARTUART自自自自动进动进入回送模式。入回送模式。入回送模式。入回送模式。0=0=正常正常正常正常传输传输 1= 1=发发送送送送终终止信号止信号止信号止信号0 0发发送送送送终终止止止止信号信号信号信号 4 4 设设置置置置该该位,令位,令位,令位,令UARTUART在一在一在一在一桢时间桢时间中中中中发发送一个送一个送一个送一个终终止状止状止状止状态态。发发送完送完送完送完毕毕系系系系统统自自自自动动清除清除清除清除该该位。位。位。位。0=0=正常正常正常正常传输传输 1= 1=发发送送送送终终止信号止信号止信号止信号0 0发发送模式送模式送模式送模式 3:2
156、 3:2 向向向向UARTUART发发送保持寄存器中写入数据的模式。送保持寄存器中写入数据的模式。送保持寄存器中写入数据的模式。送保持寄存器中写入数据的模式。00=00=禁止禁止禁止禁止 01= 01=中断中断中断中断请请求求求求查询查询模式模式模式模式 10=BDMAD 10=BDMAD 请请求(求(求(求(仅仅UART0UART0)11=BDMA1 11=BDMA1 请请求(求(求(求(仅仅UART1UART1)0000接收模式接收模式接收模式接收模式 1:0 1:0 从从从从UARTUART接受接受接受接受缓缓冲区中冲区中冲区中冲区中读读出数据的模式,出数据的模式,出数据的模式,出数据的
157、模式,00=00=禁止禁止禁止禁止 01= 01=中断中断中断中断请请求求求求 查询查询模式模式模式模式10=BDMA0 10=BDMA0 请请求(求(求(求(仅仅UARTDUARTD)11=BDMA111=BDMA1请请求(求(求(求(仅仅UART1UART1)00003 3FIFOFIFO控制寄存器控制寄存器控制寄存器控制寄存器FIFOFIFO控制寄存器控制寄存器控制寄存器控制寄存器UFCONnUFCONn如表如表如表如表450450所示,所示,所示,所示,UFCONnUFCONn控制控制控制控制UART0UART0和和和和UART1UART1的的的的RxRx和和和和Tx FIFOTx F
158、IFO操作操作操作操作 表表表表450 UFCONn450 UFCONn控制寄存器控制寄存器控制寄存器控制寄存器 UFCONnUFCONn位位位位描描描描 述述述述初始初始初始初始值值发发送送送送FIFOFIFO的触的触的触的触发发水平水平水平水平 7:6 7:6 决定决定决定决定发发送送送送FIFOFIFO的触的触的触的触发发水平水平水平水平00=00=空空空空 01=4 01=4字字字字节节 10=8 10=8字字字字节节 11=12 11=12字字字字节节0000接收接收接收接收FIFOFIFO的触的触的触的触发发水平水平水平水平 5:4 5:4决定决定决定决定发发送送送送FIFOFIF
159、O的触的触的触的触发发水平水平水平水平00=400=4字字字字节节 01=8 01=8字字字字节节 10=12 10=12字字字字节节 11=16 11=16字字字字节节0000保留保留保留保留 3 3 0 0Tx FIFOTx FIFO复复复复位位位位 2 2 在复位在复位在复位在复位FIFOFIFO后自后自后自后自动动清零清零清零清零 0= 0=正常正常正常正常 1=Tx 1=Tx FIFOFIFO复位复位复位复位0 0Rx FIFORx FIFO复复复复位位位位 1 1 在复位在复位在复位在复位FIF0FIF0后自后自后自后自动动清零清零清零清零 0= 0=正常正常正常正常 1=RxFI
160、F0 1=RxFIF0复位复位复位复位0 0FIFOFIFO使能使能使能使能 0 0 FIF0FIF0禁止允禁止允禁止允禁止允许许:0=0=禁止禁止禁止禁止 1= 1=允允允允许许0 04UART的的Moden控制寄存器控制寄存器UMCONn是是Moden控制寄存器,如表控制寄存器,如表451所示所示表表451 UMCONn Moden控制寄存器控制寄存器UMCONnUMCONn位位位位描描描描 述述述述初始初始初始初始值值保留保留保留保留 7:57:5这这些位必些位必些位必些位必须为须为0 00000AFCAFC(Auto Auto Flow Flow controlcontrol) 4 4
161、 自自自自动动流控制禁止允流控制禁止允流控制禁止允流控制禁止允许许位位位位 0= 0=禁止禁止禁止禁止 1= 1=允允允允许许0 0保留保留保留保留 3:13:1这这些位必些位必些位必些位必须为须为0 00000请请求求求求发发送送送送 0 0 如果如果如果如果AFCAFC使能,使能,使能,使能,这这位的位的位的位的值值将被忽略。在将被忽略。在将被忽略。在将被忽略。在这这种种种种情况下,情况下,情况下,情况下,S3C44BOXS3C44BOX自自自自动动控制控制控制控制nRTSnRTS如果如果如果如果AFCAFC禁止,必禁止,必禁止,必禁止,必须须由由由由软软件来控制件来控制件来控制件来控制n
162、RTSnRTS0=0=高高高高电电平(失活平(失活平(失活平(失活nRTSnRTS) 1= 1=低低低低电电平(激活平(激活平(激活平(激活nRTSnRTS)0 05 5UARTUART发送发送发送发送/ /接收状态寄存器接收状态寄存器接收状态寄存器接收状态寄存器UTRSTATnUTRSTATn是发送是发送是发送是发送/ /接收状态寄存器,如表接收状态寄存器,如表接收状态寄存器,如表接收状态寄存器,如表452452所示。所示。所示。所示。表表表表452 UTRSTATn452 UTRSTATn发送发送发送发送/ /接收状态控制寄存器接收状态控制寄存器接收状态控制寄存器接收状态控制寄存器UTRS
163、TATnUTRSTATn位位位位描描描描 述述述述初始初始初始初始值值发发送移位寄送移位寄送移位寄送移位寄存器存器存器存器为为空空空空 2 2 当当当当发发送移位寄存器中不包含有效数据或移位送移位寄存器中不包含有效数据或移位送移位寄存器中不包含有效数据或移位送移位寄存器中不包含有效数据或移位寄存器寄存器寄存器寄存器为为空,空,空,空,这这一位将自一位将自一位将自一位将自动动被置位。被置位。被置位。被置位。0=0=非空非空非空非空 1= 1=发发送保持和移位寄存器送保持和移位寄存器送保持和移位寄存器送保持和移位寄存器为为空空空空1 1发发送送送送缓缓冲器冲器冲器冲器为为空空空空 1 1 当当当当
164、发发送送送送缓缓冲区寄存器中不包含有效数据,冲区寄存器中不包含有效数据,冲区寄存器中不包含有效数据,冲区寄存器中不包含有效数据,这这一位将自一位将自一位将自一位将自动动被置位。被置位。被置位。被置位。0=0=缓缓冲区寄存器非空冲区寄存器非空冲区寄存器非空冲区寄存器非空 1= 1=空空空空如果使用了如果使用了如果使用了如果使用了FIFOFIFO,则则用用用用户户不用不用不用不用检测这检测这个位,个位,个位,个位,而而而而应应当当当当检测检测UFSTATUFSTAT中中中中发发送送送送FIF0FIF0计计数器位和数器位和数器位和数器位和FIF0FIF0满满位。位。位。位。1 1接收接收接收接收缓缓
165、冲器冲器冲器冲器数据就数据就数据就数据就绪绪 0 0 当接收当接收当接收当接收缓缓冲器寄存器中包含有效数据,冲器寄存器中包含有效数据,冲器寄存器中包含有效数据,冲器寄存器中包含有效数据,这这一一一一位将自位将自位将自位将自动动被置位。被置位。被置位。被置位。0=0=完全完全完全完全为为空空空空 1= 1=缓缓冲器寄存器中包含有效数冲器寄存器中包含有效数冲器寄存器中包含有效数冲器寄存器中包含有效数据据据据如果使用了如果使用了如果使用了如果使用了FIF0FIF0,则则用用用用户户不用不用不用不用检测这检测这个位,个位,个位,个位,而而而而应应当当当当检测检测UFSTATUFSTAT中接收中接收中接
166、收中接收FIF0FIF0计计数器位。数器位。数器位。数器位。0 06 6UARTUART错误状态寄存器错误状态寄存器错误状态寄存器错误状态寄存器UERSTATnUERSTATn是错误状态寄存器,如表是错误状态寄存器,如表是错误状态寄存器,如表是错误状态寄存器,如表453453所示所示所示所示表表表表453 UERSTATn453 UERSTATn错误状态寄存器错误状态寄存器错误状态寄存器错误状态寄存器UERSTAUERSTATnTn位位位位描描描描 述述述述初始初始初始初始值值间间隔中断隔中断隔中断隔中断 3 3 0=0=未收到未收到未收到未收到间间隔信号隔信号隔信号隔信号 1= 1=收到收到
167、收到收到间间隔信号隔信号隔信号隔信号0 0数据数据数据数据桢错桢错误误 2 2 0=0=接收接收接收接收时时无无无无桢错误桢错误 1= 1=接收接收接收接收时发时发生生生生桢桢错误错误0 0奇偶奇偶奇偶奇偶错误错误 1 1 0=0=接收接收接收接收时时无奇偶无奇偶无奇偶无奇偶错误错误 1= 1=接收接收接收接收时时奇偶奇偶奇偶奇偶错误错误0 0OverrunOverrun错误错误 0 0 0=0=在接收在接收在接收在接收过过程中未程中未程中未程中未产产生生生生OverrunOverrun错误错误 1= Overrun1= Overrun错误错误注:当已收到的数据注:当已收到的数据注:当已收到的
168、数据注:当已收到的数据还还未被未被未被未被读读取,而取,而取,而取,而新接收的数据覆盖了原有的数据新接收的数据覆盖了原有的数据新接收的数据覆盖了原有的数据新接收的数据覆盖了原有的数据时时,就会就会就会就会产产生生生生OverrunOverrun错误错误0 07UART的的FIF0状态寄存器状态寄存器UFSTATn是是FIF0状态寄存器状态寄存器 ,如表,如表454所示所示表表454 UFSTATn FIF0状态寄存器状态寄存器UFSTATnUFSTATn位位位位描描描描 述述述述初始初始初始初始值值保留保留保留保留 15:10 15:10 0 0Tx FIF0Tx FIF0满满 9 9 当当当
169、当FIF0FIF0满时满时,置,置,置,置1 10=00=0字字字字节节Tx FIF0Tx FIF0数据数据数据数据1515字字字字节节1=1=满满0 0Rx FIF0Rx FIF0满满 8 8 当当当当FIF0FIF0要要要要满时满时,置,置,置,置1 10=00=0字字字字节节Rx FIF0Rx FIF0数据数据数据数据1515字字字字节节1=1=满满0 0Tx FIF0Tx FIF0计计数数数数 7:4 7:4 发发送送送送FIF0FIF0中数据的个数中数据的个数中数据的个数中数据的个数0 0Rx FIF0Rx FIF0计计数数数数 3:0 3:0 接收接收接收接收FIF0FIF0中数据
170、的个数中数据的个数中数据的个数中数据的个数0 08UART的的Modem状态寄存器状态寄存器UMSTATn是是Modem状态寄存器,如表状态寄存器,如表455所示所示表表455 UMSTATn Modem状态寄存器状态寄存器UMSTATnUMSTATn位位位位描描描描 述述述述初始初始初始初始值值Delta CTSDelta CTS 4 4 表明表明表明表明输输入到入到入到入到S3C44BOXS3C44BOX的信号从的信号从的信号从的信号从上一次上一次上一次上一次读过读过后已后已后已后已经经改改改改变变0=0=无改无改无改无改变变 1= 1=已改已改已改已改变变0 0RservedRserve
171、d 3:1 3:1 保留保留保留保留Clear to SendClear to Send 0 0 0=CTS0=CTS信号未激活(信号未激活(信号未激活(信号未激活(nCTSnCTS引脚引脚引脚引脚为为高高高高电电平)平)平)平)1= CTS1= CTS信号已激活(信号已激活(信号已激活(信号已激活(nCTSnCTS引脚引脚引脚引脚为为低低低低电电平)平)平)平)0 09UART发送发送/接收保持(缓冲区)寄存器接收保持(缓冲区)寄存器URXHn/ URXHn是发送是发送/接收保持(缓冲区)接收保持(缓冲区)寄存器,如表寄存器,如表456和表和表457所示所示表表456 URXHn是发送保持(
172、缓冲区)寄是发送保持(缓冲区)寄存器存器URXHnURXHn位位位位描描描描 述述述述初始初始初始初始值值RXDATAnRXDATAn 7:0 7:0 从从从从UARTnUARTn发发送的数据字送的数据字送的数据字送的数据字节节URXHnURXHn位位位位描描描描 述述述述初始初始初始初始值值URXDATAnURXDATAn 7:0 7:0 从从从从UARTnUARTn接收的数据字接收的数据字接收的数据字接收的数据字节节注:注:UART接收保持(缓冲区)寄存器和接收保持(缓冲区)寄存器和FIF0寄存器寄存器:URXH0,URXH1,如果发生了益出错误,如果发生了益出错误,必须读一次必须读一次URXHn ,如果不读,即使,如果不读,即使USTATn中的溢出错误位被清除了,下一个接中的溢出错误位被清除了,下一个接收的数据仍然会发生一个溢出错误。收的数据仍然会发生一个溢出错误。表表表表457 URXHn457 URXHn是接收保持(缓冲区)寄存器是接收保持(缓冲区)寄存器是接收保持(缓冲区)寄存器是接收保持(缓冲区)寄存器 10UART波特率除数寄存器波特率除数寄存器UBRDIVn是波特率除数寄存器,是波特率除数寄存器,如表如表458所示所示UBRDIVn位位描描 述述初始初始值UBRDIV 15:0 波特率除数的波特率除数的值UBRDIV 0