《嵌入式系统的原理及应用.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统的原理及应用.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统的原理及应用2.7S3C2410ARM微处理器简介微处理器简介Samsung公司推出的公司推出的16/32位位RISC处理器处理器S3C2410A,为手持设备和一般类型应用提供了低价格、低功耗、高性为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。采用能小型微控制器的解决方案。采用272脚脚FBGA封装,内含封装,内含一个一个ARM920T内核。为了降低系统成本,内核。为了降低系统成本,S3C2410A提供提供了以下丰富的了以下丰富的片内外围片内外围:1个个LCD控制器控制器(支持支持STN和和TFT带有触摸屏的液晶显示器带有触摸屏的液晶显示器);SDRAM
2、控制器;控制器;3个通道的个通道的UART;4个通道的个通道的DMA;2.7S3C2410ARM微处理器简介微处理器简介4个具有个具有PWM功能的计时器和功能的计时器和1个内部时钟;个内部时钟;8通道的通道的10位位ADC;触摸屏接口;触摸屏接口;I2C总线接口;总线接口;1个个USB主机接口,主机接口,1个个USB设备接口;设备接口;2个个SPI接口;接口;SD接口和接口和MMC卡接口;卡接口;117位通用位通用I/O口和口和24位外部中断源。位外部中断源。2.7S3C2410ARM微处理器简介微处理器简介S3C2410A采用了采用了ARM920T内核内核,0.18um工艺的工艺的CMOS标
3、准标准宏单元和存储器单元。它的低功耗、精简和出色的全静态设计特别宏单元和存储器单元。它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样它还采用了一种叫做适用于对成本和功耗敏感的应用。同样它还采用了一种叫做AMBA新型总线结构新型总线结构。S3C2410A显著特性是显著特性是CPU核心。核心。ARM920T实现了实现了MMU,AMBABUS和和Harvard高速缓冲高速缓冲体系体系结构。这一结构具有独立的结构。这一结构具有独立的16KB指令指令Cache和和16KB数据数据Cache,每个都是由每个都是由8字长的行字长的行(line)构成。构成。通过提供一系列通过提供一系列
4、完整的系统外围设备完整的系统外围设备,S3C2410A大大减少了大大减少了整个系统的成本,消除了为系统配置额外器件的需要。整个系统的成本,消除了为系统配置额外器件的需要。S3C2410X和和S3C2410A的区别的区别(1)A/D9位升到位升到10位;位;(2)MMC的接口频率从的接口频率从10M升到升到20M。其他功能一样!管脚兼容,封装一样。其他功能一样!管脚兼容,封装一样。S3C2410A可以替代可以替代S3C2410X。S3C2410X01已经停产。已经停产。嵌入式系统的软硬件框架嵌入式系统的软硬件框架串口、并口、USB、以太网等LED、LCD、触摸屏、鼠标、键盘等Linux、uCLi
5、nux、uC/OS-II、WINDOWS CE等嵌入式系统的嵌入式系统的开发步骤开发步骤嵌入式系统的开发步骤嵌入式系统的开发步骤q系统需求分析:确定设计任务和目标,并提炼出设计系统需求分析:确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等非功能需求包括系统性能、成本、功耗、体
6、积、重量等因素。因素。嵌入式系统体系结构设计q体系结构设计:描述系统如何实现所述的功能和非功体系结构设计:描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。功与否的关键。嵌入式系统的开发步骤嵌入式系统的开发步骤嵌入式系统体系结构设计q硬件硬件/软件协同设计:基于体系结构,对系统的软件、软件协同设计:基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往硬件进行详细设计。为了缩短产品开发周
7、期,设计往往是并行的。是并行的。q系统集成:把系统的软件、硬件和执行装置集成在一系统集成:把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。起,进行调试,发现并改进单元设计过程中的错误。q系统测试:对设计好的系统进行测试,看其是否满足系统测试:对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。规格说明书中给定的功能要求。JXARM9-2410JXARM9-2410教学系统的硬件组成教学系统的硬件组成q以武汉创维特公司生产的以武汉创维特公司生产的JXARM9-2410JXARM9-2410教学系统为原教学系统为原型,详细分析系统的硬件设计步骤、实现细
8、节以及调试型,详细分析系统的硬件设计步骤、实现细节以及调试技巧等。技巧等。S3C2410XS3C2410X内部结构图内部结构图2.7.1内部结构内部结构ClockCont.InterruptCont.JTAGPowerManagementARM920TCore200MHzLCDDMALCDCont.4ChannelDMAControllerBusCont.Arbiter/DecoderUSBHostCONT.NandFlashCont.MemoryCont.AHBBridgeUARTSUSBDevicesSDI/MMCWatchdogTimerBUSCont.SPII2CI2SGPIORTCA
9、DCS3C2410A的的272脚脚FBGA封装封装2.7.2S3C2410A的启动的启动S3C2410A支持从支持从NANDFlash启动,启动,NANDFlash具具有容量大,比有容量大,比NORFlash价格低等特点。系统采用价格低等特点。系统采用NANDFlash与与SDRAM组合组合,可以获得非常高的性价比。,可以获得非常高的性价比。S3C4120X具有具有三种启动方式三种启动方式,可通过,可通过OM1:0管脚管脚(OM0为管脚为管脚U14,OM1为管脚为管脚U15)进行选择。进行选择。OM1:0=00从从NandFlash启动;启动;OM1:0=01从从16位位宽的宽的ROM启动;启
10、动;OM1:0=10从从32位位宽的宽的ROM启动;启动;OM1:0=11TEST模式。模式。2.7.3存储器控制器存储器控制器FLASHROM属于属于真正的单电压芯片真正的单电压芯片,在使用上很类似,在使用上很类似EPROM,因此,有些书籍上便把,因此,有些书籍上便把FLASHROM作为作为EPROM的一的一种。事实上,二者还是有差别的。种。事实上,二者还是有差别的。FLASHROM在擦除时,也要执行在擦除时,也要执行专用的刷新程序专用的刷新程序,但是在,但是在删删除除资料时,并非以资料时,并非以Byte为基本单位,而是为基本单位,而是以以Sector(又称又称Block)为最为最小单位小单
11、位,Sector的大小随厂商的不同而有所不同;只有在写入时,的大小随厂商的不同而有所不同;只有在写入时,才以才以Byte为最小单位写入;为最小单位写入;FLASHROM芯片的芯片的读和写操作都是在单电压下进行读和写操作都是在单电压下进行,不需跳,不需跳线,只利用专用程序即可方便地修改其内容。线,只利用专用程序即可方便地修改其内容。DRAM,动态随机存取存储器,动态随机存取存储器,需要不断的刷新需要不断的刷新(ms级级),才,才能保存数据。而且是能保存数据。而且是行列地址复用行列地址复用的,许多都有页模式。的,许多都有页模式。2.7.3存储器控制器存储器控制器SRAM,静态的随机存取存储器,加电
12、情况下,静态的随机存取存储器,加电情况下,不需要刷不需要刷新新,数据不会丢失,而且,数据不会丢失,而且,一般不是行列地址复用的一般不是行列地址复用的。需要更。需要更大的硅片面积,成本较高。它的大的硅片面积,成本较高。它的存取时间比存取时间比DRAM要短得多要短得多,经常用于经常用于Cache。SDRAM,同步的,同步的DRAM,即数据读写,即数据读写需要时钟来同步需要时钟来同步。因而能够工作在较高的时钟频率下。数据从存储元因而能够工作在较高的时钟频率下。数据从存储元(memorycell)被被流水化地取出流水化地取出,最,最后突发式后突发式(burst)输出输出到总线。到总线。DRAM和和SD
13、RAM由于实现工艺问题,容量较由于实现工艺问题,容量较SRAM大。大。但是读写速度不如但是读写速度不如SRAM。2.7.3存储器控制器存储器控制器(续续1)存储器控制是通过相关的寄存器来实施的。存储器控制是通过相关的寄存器来实施的。寄存器分为寄存器分为控制寄存器控制寄存器和和状态寄存器状态寄存器。可以给控制寄。可以给控制寄存器赋值以得到所需要的状态存器赋值以得到所需要的状态,而状态寄存器会根据情况自而状态寄存器会根据情况自行产生变化。不要试图控制状态寄存器。行产生变化。不要试图控制状态寄存器。存储器控制器是由若干寄存器组成存储器控制器是由若干寄存器组成。了解这些寄存器,。了解这些寄存器,就可以
14、阅读或编写就可以阅读或编写Bootloader程序了。程序了。2.7.3存储器控制器存储器控制器(续续1)可通过软件选择大小端可通过软件选择大小端地址空间地址空间:每个每个Bank128Mbytes(总共总共1GB)除除bank0(16/32-bit)外,所有的外,所有的Bank都可以通过编程选择总线宽度都可以通过编程选择总线宽度=(8/16/32-bit)共共8个个banks前前6个个Bank用于控制用于控制ROM,SRAM,etc.最后最后2个个Bank用于控制用于控制ROM,SRAM,SDRAM,etc.7个个Bank固定起始地址;固定起始地址;最后一个最后一个Bank可调整起始地址;可
15、调整起始地址;最后两个最后两个Bank大小可编程;大小可编程;所有所有Bank存储周期可编程控制。存储周期可编程控制。2.7.3存储器控制器存储器控制器(续续2)与存储器有关的寄存器主要有:与存储器有关的寄存器主要有:(1)总线宽度和等待控制寄存器总线宽度和等待控制寄存器BWSCON;(2)组控制寄存器组控制寄存器BANKCONn;(3)REFRESH控制寄存器;控制寄存器;(4)BANKSIZE控制寄存器;控制寄存器;(5)SDRAM模式控制寄存器模式控制寄存器MRSRB6,MRSRB7。(1)总线宽度和等待控制寄存器总线宽度和等待控制寄存器BWSCON寄存器寄存器地址地址读读/写写功能功能
16、复位后的值复位后的值BWSCON0 x48000000R/W总线宽度和等待控制总线宽度和等待控制0 x000000bank0的的数数据据总总线线(nGCS0)必必须须首首先先设设置置成成16位位或或32位位的的。因因为为bank0通通常常作作为为引引导导ROM区区(映映射射到到地地址址0 x0000-0000),在在复复位位时时,系系统将检测统将检测OM1:0上的逻辑电平,并据此来决定上的逻辑电平,并据此来决定bank0的总线宽度。的总线宽度。BWSCON寄寄存存器器描描述述了了bank1bank7数数据据总总线线宽宽度度和和等等待待控控制制。总总线线宽宽度度可可以以是是8位位、16位位和和3
17、2位位。每每个个bank_n(n=17)用用该该寄寄存存器器的的4位位来来描描述述,分分别别是是UB/LB(即即高高8位位和和低低8位位)、是是否否需需要要总总线线访访问问等等待待周周期、数据总线宽度的是多少期、数据总线宽度的是多少(占用了占用了2位位)。如果对每个如果对每个bank使能使能WAIT功能功能,当对某个,当对某个bank区进行访问时,区进行访问时,nOE的低电平有效时间就会在的低电平有效时间就会在nWAIT引脚的控制下延长。从引脚的控制下延长。从tacc-1时刻时刻开始检测开始检测nWAIT的状态。在采样到的状态。在采样到nWAIT为高电平后的下一个时钟,为高电平后的下一个时钟,
18、nOE将恢复高电平。将恢复高电平。nWAIT对对nWE信号的作用与对信号的作用与对nOE信号相同。信号相同。(2)组控制寄存器组控制寄存器(nGCS0nGCS7)寄存器寄存器地址地址读读/写写功能功能复位后的值复位后的值BANKCON00 x48000004R/WBANK0控制控制0 x0700BANKCON10 x48000008R/WBANK1控制控制0 x0700BANKCON20 x4800000cR/WBANK2控制控制0 x0700BANKCON30 x48000010R/WBANK3控制控制0 x0700BANKCON40 x48000014R/WBANK4控制控制0 x0700
19、BANKCON50 x48000018R/WBANK5控制控制0 x0700BANKCON60 x4800001cR/WBANK6控制控制0 x18008BANKCON70 x48000020R/WBANK7控制控制0 x180082.7.4NandFlash控制器控制器 q当前,当前,NOR flash存储器的价格比较昂贵,而存储器的价格比较昂贵,而SDRAM和和NAND flash存储器的价格相对来说比较合适,这样就激发了一些用户存储器的价格相对来说比较合适,这样就激发了一些用户产生希望产生希望从从NAND flash启动和引导系统,而在启动和引导系统,而在SDRAM上执行上执行主程序代码
20、主程序代码的想法。的想法。qS3C2410A恰好满足这一要求,它可以实现从恰好满足这一要求,它可以实现从NAND flash上执上执行引导程序。行引导程序。qS3C2410A具备一个具备一个内部内部SRAM缓冲器缓冲器-“Steppingstone”。q当系统启动时,当系统启动时,NAND flash存储器的前面存储器的前面4KByte字节将被自字节将被自动载入到动载入到Steppingstone中,然后系统自动执行这些载入的引中,然后系统自动执行这些载入的引导代码。导代码。总线控制信号总线控制信号S3C2410X的引脚信号描述SDRAM/SRAMSDRAM/SRAMS3C2410X的引脚信号
21、描述NAND FlashNAND FlashS3C2410X的引脚信号描述图图2.9NandFlash工作方式工作方式Steppingstone(4KBBuffer)特殊功能寄存器特殊功能寄存器NandFlash控制器控制器NandFlash存储器存储器用户程序操作用户程序操作CPU操作操作(boot代码代码)NandFlash模式模式自动启动模式自动启动模式NANDFLASH模式配置模式配置q通过通过NFCONF寄存器配置寄存器配置NAND flash;q写写NAND flash命令到命令到NFCMD寄存器;寄存器;q写写NAND flash地址到地址到NFADDR寄存器;寄存器;q在读写数
22、据时,通过在读写数据时,通过NFSTAT寄存器来获得寄存器来获得NAND flash的状态信息。应该在读操作前或写入之后检查的状态信息。应该在读操作前或写入之后检查R/nB信号信号(准备好准备好/忙信号忙信号);q通过通过NFDATA读写数据。读写数据。NANDFlash与与NorFlashNANDFlash与与NORFlash是有很大不同的。是有很大不同的。NORFlash带带有有SRAM接接口口,有有足足够够的的地地址址引引脚脚来来寻寻址址,可可以以很容易地存取其内部的每一个字节。很容易地存取其内部的每一个字节。NANDFlash用用复复杂杂的的I/O口口来来串串行行地地存存取取数数据据,
23、各各个个产产品品或或厂商的方法各不相同。厂商的方法各不相同。8个引脚用来传送控制、地址和数据信息。个引脚用来传送控制、地址和数据信息。所所有有Flash器器件件都都受受位位交交换换现现象象的的困困扰扰,此此问问题题更更多多见见于于NAND Flash。必必须须采采用用错错误误检检测测/错错误误更更正正(EDC/ECC)算算法法确确保保可可靠性。靠性。2.7.5时钟和电源管理时钟和电源管理(1)时钟控制时钟控制S3C2410A能够产生能够产生3种时钟信号种时钟信号,分别是:,分别是:FCLK应用于应用于CPU的时钟,的时钟,HCLK用于用于AHBBus各种外围设备,各种外围设备,PCLK用于用于
24、APBBus各种接口设备。各种接口设备。其中其中FCLK应用的就是应用的就是MPLL的频率,不用设置。的频率,不用设置。(2)USB控制控制 主要对主要对USB的时钟参数进行配置。的时钟参数进行配置。时钟和电源由时钟和电源由3部分组成:时钟控制、部分组成:时钟控制、USB控制和控制和电源控制。电源控制。Table7-1.ClockSourceSelectionatBoot-UpFigure7-3.MainOscillatorCircuitExamplescore.pdfFCLK is used by ARM920T.HCLK is used for AHB bus,which is used
25、by the ARM920T,the memory controller,the interrupt controller,the LCD controller,the DMA and the USB host block.PCLK is used for APB bus,which is used by the peripherals such as WDT,IIS,I2C,PWM timer,MMC interface,ADC,UART,GPIO,RTC and SPI.Figure7-1.ClockGeneratorBlockDiagramThe S3C2410X supports se
26、lection of Dividing Ratio between FCLK,HLCK and PCLK.This ratio is determined by HDIVN and PDIVN of CLKDIVN control register.p2312.7.5时钟和电源管理时钟和电源管理 时钟和电源由时钟和电源由3部分组成:时钟控制、部分组成:时钟控制、USB控制和控制和电源控制。电源控制。(3)电源控制电源控制Figure 7-7.The Clock Distribution Block Diagramp232S3C2410A通过通过4种电源管理模式种电源管理模式有效地控制了功耗:有
27、效地控制了功耗:NORMAL模式模式SLOW模式模式IDLE模式模式POWER-OFF模式模式CLOCKGENERATOR&POWERMANAGEMENTSPECIALREGISTER1.RegisterAddressR/WDescriptionResetValue2.MPLLCON 0 x4C000004 R/W MPLL configuration register 0 x0005C0803.UPLLCON 0 x4C000008 R/W UPLL configuration register 0 x000280804.PLLCONBitDescriptionInitialState5.M
28、DIV 19:12 Main divider control 0 x5C/0 x286.PDIV 9:4 Pre-divider control 0 x08/0 x087.SDIV 1:0 Post divider control 0 x0/0 x0CLOCKCONTROLREGISTER(CLKCON)RegisterAddressR/WDescriptionResetValueCLKCON 0 x4C00000C R/W Clock generator control register 0 x7FFF02.7.6输入输入/输出口输出口S3C2410A有有117多功能多功能I/O口,它们分别
29、是:口,它们分别是:PortA(GPA):23-输出口输出口PortB(GPB):11-输入输入/输出口输出口PortC(GPC):16-输入输入/输出口输出口PortD(GPD):16-输入输入/输出口输出口PortE(GPE):16-输入输入/输出口输出口PortF(GPF):8-输入输入/输出口输出口PortG(GPG):16-输入输入/输出口输出口PortH(GPH):11-输入输入/输出口输出口2.7.6输入输入/输出口输出口每个口通过三个寄存器进行配置及读写数据。分别是:每个口通过三个寄存器进行配置及读写数据。分别是:GPxCON、GPxDAT、GPyUP,其中,其中x为为AH,y
30、为为BH。(1)输入输入/输出口配置寄存器输出口配置寄存器(GPACON-GPHCON)在在S3C2410A中大多数中大多数输入输入/输出口引脚是复用的输出口引脚是复用的,因此需,因此需要用输入要用输入/输出口控制寄存器来确定每个引脚的功能。输出口控制寄存器来确定每个引脚的功能。如果如果GPF0GPF7和和GPG0GPG7为为Power-OFF模式下的模式下的唤醒信号,那么这些管脚必须被配置成唤醒信号,那么这些管脚必须被配置成中断模式中断模式。2.7.6输入输入/输出口输出口(2)输入输入/输出口数据寄存器输出口数据寄存器(GPADAT-GPHDAT)如果管脚被置成输出方式则可以如果管脚被置成
31、输出方式则可以向相应的位写数据向相应的位写数据;如果;如果管脚被置成输入方式则可以管脚被置成输入方式则可以从相应的位读数据从相应的位读数据。(3)输入输入/输出口上拉电阻使能寄存器输出口上拉电阻使能寄存器(GPBUP-GPHUP)该寄存器能够使能或禁止每个端口组是否需要该寄存器能够使能或禁止每个端口组是否需要上拉电阻上拉电阻。0表示使能,表示使能,1表示禁止。表示禁止。如果该端口上拉电阻使能,则上拉电阻始终有效,无论是如果该端口上拉电阻使能,则上拉电阻始终有效,无论是否设置了管脚的功能。否设置了管脚的功能。2.7.7中断中断S3C2410A的中断控制器能够接收来自的中断控制器能够接收来自56个
32、中断源个中断源的请求。的请求。这些这些中断源由内部的外设提供中断源由内部的外设提供(如如DMA控制器、控制器、UART等等)。中。中断的工作过程如图断的工作过程如图2.10所示。所示。处理器处理器地址解码逻辑地址解码逻辑中断控制中断控制逻辑芯片逻辑芯片外设控制器外设控制器地址总线地址总线中断请求中断请求中断应答中断应答数据总线数据总线中断请求中断请求中断处理框图Figure14-2.PriorityGeneratingBlockp3572.7.7中断中断中断异常处理模块总共由以下中断异常处理模块总共由以下8个寄存器构成:个寄存器构成:SRCPND(中断源悬挂寄存器中断源悬挂寄存器)INTMOD
33、(中断模式寄存器中断模式寄存器)INTMSK(中断屏蔽寄存器中断屏蔽寄存器)PRIORITY(中断优先级寄存器中断优先级寄存器)INTPND(中断悬挂寄存器中断悬挂寄存器)INTOFFSET(中断偏移寄存器中断偏移寄存器)SUBSRCPND(子中断源悬挂寄存器子中断源悬挂寄存器)INTSUBMSK(子中断屏蔽寄存器)子中断屏蔽寄存器)2.7.8异步串行口异步串行口UARTqS3C2410A的的UART(UniversalAsynchron-ousReceiverandTransmitter)提供了提供了三个独立的异步串行三个独立的异步串行I/O口口。q每个每个UART都可工作在都可工作在中断模
34、式中断模式或或DMA模式模式,即产生中断,即产生中断或或DMA请求以在请求以在CPU和和UART之间传送数据。之间传送数据。q使用系统时钟,使用系统时钟,UART最高可以支持最高可以支持230.4Kbps的位传输率。的位传输率。q如果采用外部时钟,如果采用外部时钟,则则UART可以实现更高速度的传输;可以实现更高速度的传输;q每个每个UART包括包括2个个16字节的接收字节的接收/发送发送FIFO。2.7.8异步串行口异步串行口UART共有共有11类类UART寄存器寄存器其中其中x=0,1,2;y=0,1。UFSTATxFIFO状态寄存器状态寄存器UMSTATyModem状态寄存器状态寄存器U
35、TXHx发送缓冲区寄存器发送缓冲区寄存器URXHx接收缓冲区寄存器接收缓冲区寄存器UBRDIVx波特率约数寄存器波特率约数寄存器ULCONx线控制寄存器线控制寄存器UCONx控制寄存器控制寄存器UFCONxFIFO控制寄存器控制寄存器UMCONyModem控制寄存器控制寄存器UTRSTATxTX/RX状态寄存器状态寄存器UERSTATx错误状态寄存器错误状态寄存器2.7.8异步串行口异步串行口UART(1)UART的操作模式的操作模式数据收发模式数据收发模式红外模式红外模式自动流控模式自动流控模式Loopback模式模式2.7.8异步串行口异步串行口UART自动流控模式自动流控模式S3C241
36、0的的UART0和和UART1都可以通过各自的都可以通过各自的nRTS和和nCTS信号来实现自动流控。信号来实现自动流控。在自动流控在自动流控(AFC)模式下模式下nRTS取决于接收端的状态,而取决于接收端的状态,而nCTS控制了发送端的操作。控制了发送端的操作。具体地说:只有当具体地说:只有当nCTS有效时有效时(表明接收方的表明接收方的FIFO已经准已经准备就绪来接收数据了备就绪来接收数据了),UART才会将才会将FIFO中的数据发送出去。中的数据发送出去。在在UART接收数据之前,只要当接收接收数据之前,只要当接收FIFO有有至少至少2-byte空余空余的时的时候,候,nRTS就会被置为
37、有效。就会被置为有效。图图2-11是是UART自动流控模式的连接方式。自动流控模式的连接方式。UARTA为发送状态为发送状态UARTA为接收状态为接收状态UARTAUARTBUARTBUARTATxDTxDRxDRxDnCTSnRTSnRTSnCTSLoopBackLoopBack操作模式操作模式S3C2410CPU的的UART提供了一种测试模式,也就是这里所提供了一种测试模式,也就是这里所说的说的LoopBack模式。模式。在设计系统的具体应用时,为了在设计系统的具体应用时,为了判断通讯故障判断通讯故障是由于外部是由于外部的数据链路上的问题,还是的数据链路上的问题,还是CPU内驱动程序或内驱
38、动程序或CPU本身的问题,本身的问题,这就需要采用这就需要采用LoopBack模式来进行测试。模式来进行测试。在在LoopBack模式中,数据发送端模式中,数据发送端TXD在在UART内部内部就从就从逻逻辑上辑上与接收端与接收端RXD连在一起,可以来验证数据收发是否正常。连在一起,可以来验证数据收发是否正常。UARTUART控制信号控制信号S3C2410X的引脚信号描述(2)中断中断/DMA请求产生请求产生S3C2410的每个的每个UART都有都有7种状态种状态,分别是:,分别是:接收就绪、接收就绪、发送缓冲空闲、发送缓冲空闲、发送移位器空闲。发送移位器空闲。它们在它们在UART状态寄存器状态
39、寄存器UTRSTATn/UERSTATn中有相应的标志位。中有相应的标志位。溢出覆盖溢出覆盖(Overrun)错误错误奇偶校验错误奇偶校验错误帧出错帧出错断线错误断线错误(3)波特率发生器波特率发生器每个每个UART控制器都有控制器都有各自的波特率发生器各自的波特率发生器来产生发送和接收来产生发送和接收资料所用的序列时钟。资料所用的序列时钟。波特率发生器的时钟源可以波特率发生器的时钟源可以CPU内部的系统时钟,也可以从内部的系统时钟,也可以从CPU的的UCLK管脚由外部取得时钟信号,并且可以管脚由外部取得时钟信号,并且可以通过通过UCONn选择各自的时钟源选择各自的时钟源。波特率产生的具体计算方法如下:。波特率产生的具体计算方法如下:当选择当选择CPU内部时钟时:内部时钟时:UBRDIVn=(int)(PCLK/(bps*16)1,bps为所需要的波特率值,为所需要的波特率值,PCLK为为CPU内部外设总线内部外设总线(APB)的工作时钟。的工作时钟。当需要得到更精确的波特率时,可以选择由当需要得到更精确的波特率时,可以选择由UCLK引入的外引入的外部时钟来生成。部时钟来生成。UBRDIVn=(int)(UCLK/(bps*16)1
限制150内