ARM汇编语言程序设计基础课件第3章32BitRISC微处理器S3C2410A.ppt
《ARM汇编语言程序设计基础课件第3章32BitRISC微处理器S3C2410A.ppt》由会员分享,可在线阅读,更多相关《ARM汇编语言程序设计基础课件第3章32BitRISC微处理器S3C2410A.ppt(91页珍藏版)》请在三一办公上搜索。
1、第3章 32 Bit RISC微处理器S3C2410A,3.1 S3C2410A简介,3.1.1 S3C2410A内部结构S3C2410是Samsung公司推出的16/32位RISC处理器,主要面向高性价比、低功耗的手持设备应用。S3C2410有S3C2410X和S3C2410A两个型号,A型是X型的改进型,具有更好的性能和更低的功耗。为了降低系统的成本,S3C2410A在片上集成了单独的16KB指令Cache和16KB数据Cache、用于虚拟存储器管理的MMU、支持STN和TFT的LCD控制器、NAND Flash Boot Loader、系统管理器(片选逻辑和SDRAM控制器)、3通道UA
2、RT、4通道DMA、4通道PWM定时器、I/O口、RTC、8通道10位ADC和触摸屏接口、I2C总线接口、I2S总线接口、USB主设备、USB从设备、SD主卡和MMC(Multi Media Card,多媒体卡)卡接口、2通道的SPI(Serial Peripheral Interface,串行外围设备接口)以及PLL时钟发生器。S3C2410A的CPU内核采用的是16/32位ARM920T 内核,同时还采用了AMBA(Advanced Microcontroller Bus Architecture,先进的微控制器总线体系结构)新型总线结构。,ARM920T采用了MMU,AMBA总线和Har
3、vard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache,每个Cache都是由8字长的行组成的。S3C2410A提供一组完整的系统外围设备接口,从而大大减少了整个系统的成本,省去了为系统配置额外器件的开销。S3C2410A集成的片上功能包括:内核电压1.8V/2.0V,存储器电压3.3V,外部I/O电压3.3V;具有16KB的I-Cache和16KB的D-Cache以及MMU;外部存储器控制器(SDRAM控制和片选逻辑);LCD控制器(最大支持4K彩色STN和256K彩色TFT)提供1通道LCD专用DMA;4通道DMA并有外部请求引脚端;3通道UART(IrDA
4、l.0,16字节Tx FIFO和16字节Rx FIFO)/2通道SPI;1通道多主设I2C总线和1通道I2S总线控制器;版本1.0SD主接口和2.11兼容版MMC卡协议;,2个USB主设接口/1个USB从设接口(版本1.1);4通道PWM定时器和1通道内部定时器;看门狗定时器;117位通用I/O口和24通道外部中断源;电源控制模式有正常、慢速、空闲和电源关断4种模式;8通道10位ADC和触摸屏接口;具有日历功能的RTC;使用PLL的片上时钟发生器。S3C2410A的内部结构方框图如图3.1.1所示。,图3.1.1 S3C2410A内部结构方框图,3.1.2 S3C2410A的技术特点 S3C2
5、410A具有如下特点:1体系结构 采用ARM920T CPU内核,具有16/32位RISC体系结构和强大的指令集,为手持设备和通用嵌入式应用提供片上集成系统解决方案;增强的ARM体系结构MMU,支持WinCE、EPOC 32和Linux;使用指令Cache、数据Cache、写缓冲器和物理地址TAG RAM减少主存储器带宽和反应时间对性能的影响;ARM920T CPU内核支持ARM调试体系结构;内部采用先进的微控制器总线体系结构(AMBA)(AMBA2.0,AHB/APB)。2.系统管理器 支持小大端方式。地址空间:每bank 128 MB(byte)(总共1GB)。,每个bank支持可编程的8
6、/16/32位数据总线宽度。bank0bank6都采用固定的bank起始地址。bank7具有可编程的bank起始地址和大小。8个存储器bank:一6个用于ROM、SRAM及其他;一2个用于ROM、SRAM和同步DRAM。所有的存储器bank都具有可编程的访问周期。支持使用外部等待信号来填充总线周期。支持掉电时的SDRAM自刷新模式。支持各种类型的ROM启动(booting),包括NOR/NAND Flash和EEPROM等。3NAND Flash Boot Loader(启动装载)支持从NAND Flash存储器的启动。,采用4 KB内部缓冲器用于启动引导。支持启动之后NAND存储器仍然作为外
7、部存储器使用。4Cache存储器 I-Cache(16 KB)和D-Cache(16 KB)为64路组相联Cache。每行8字长度,其中每行带有一个有效位和两个脏位(dirty bits)。采用伪随机数或循环替换算法。采用写直达(Write-through)或写回(Write-back)Cache操作来更新主存储器。写缓冲器可以保存16个字的数据值和4个地址值。5时钟和电源管理 片上MPLL和UPLL:一UPLL产生用于USB主机设备操作的时钟;一MPLL产生操作MCU的时钟,时钟频率最高可达266 MHz(2.0V内核电压)。,通过软件可以有选择地为每个功能模块提供时钟。电源模式包括正常、慢
8、速、空闲和掉电模式:一正常模式为正常运行模式;一慢速模式为不加PLL的低时钟频率模式;一空闲模式只停止CPU的时钟;一掉电模式切断所有外设和内核的电源。可以通过EINT15:0或RTC报警中断从掉电模式中唤醒处理器。6中断控制器 55个中断源(1个看门狗定时器、5个定时器、9个UART、24个外部中断、4个DMA、2个RTC、2个ADC、1个I2C、2个SPI、1个SDI、2个USB、1个LCD和1个电池故障);支持电平边沿触发模式的外部中断源;可编程的电平边沿触发极性;为紧急中断请求提供快速中断服务(FIQ)支持。,7具有脉冲宽度调制(PWM)的定时器 具有PWM功能的4通道16位定时器,可
9、基于DMA或中断操作的1通道16位内部定时器;可编程的占空比周期、频率和极性;能产生死区;支持外部时钟源。8RTC(实时时钟)完整的时钟特性:秒、分、时、日期、星期、月和年;工作频率32.768 kHz;具有报警中断;具有时钟滴答中断。9通用I/O口 24个外部中断口;多路复用的I/O口。,10UAR 3通道UART,可以基于DMA模式或中断模式操作;支持5位、6位、7位或者8位串行数据发送接收(Tx/Rx);支持外部时钟作为UART的运行时钟(UEXTCLK);波特率可编程;支持IrDA 1.0;支持回环(Loopback)测试模式;每个通道内部都具有16字节的发送FIFO和16字节的接收F
10、IFO。11DMA控制器 4通道的DMA控制器;支持存储器到存储器、I/O到存储器、存储器到I/O和I/O到I/O的传送;采用突发传送模式提高传送速率。12AD转换和触摸屏接口 8通道多路复用ADC;转换速率最大为500 KSPS(Kilo Samples Per Second,每秒采样千点),10位分辨率。,13LCD控制器STN LCD显示特性 支持3种类型的STN LCD显示屏:4位双扫描、4位单扫描和8位单扫描显示类型;对于STN LCD支持单色模式、4级灰度、16级灰度、256彩色和4 096彩色;支持多种屏幕尺寸,典型的屏幕尺寸有:640480,320240,160160;最大虚拟
11、屏幕大小是4 MB;在256彩色模式下支持的最大虚拟屏幕尺寸是:4 0961 024,2 0482 048,1 0244 0960或者其它尺寸。14.TFT(Thin Film Transistor,薄膜场效应晶体管)彩色显示特性 彩色TFT支持1、2、4或8bpp(bit per pixel,每像素所占位数)调色显示;支持16bpp无调色真彩显示;在24bpp模式下支持最大16M彩色TFT;,支持多种屏幕尺寸,典型的屏幕尺寸有:640480,320320,160160或者其它尺寸;最大虚拟屏大小是4 MB;在64彩色模式下支持的最大虚拟屏幕尺寸是:2 0481 024或者其它尺寸。15看门狗
12、定时器 16位看门狗定时器;定时器溢出时产生中断请求或系统复位。16I2C总线接口 1通道多主机I2C总线;串行、8位、双向数据传送,在标准模式下数据传送速率可达100kb/s,在快速模式下可达400kb/s。17I2S总线接口 1通道音频I2S总线接口,可基于DMA方式操作;串行,每通道8/16位数据传输;,串行,每通道8/16位数据传输;发送和接收(Tx/Rx)具备128字节FIFO(64字节发送FIFO64字节接收FIFO);支持I2S格式和MSB-justified数据格式。18USB主设备 2个USB主设接口;遵从OHCI Revl.0标准;兼容USB Verl.1标准。19USB从
13、设备 1个USB从设接口;具备5个USB设备端口;兼容USB Verl.1标准。20SD主机接口 兼容SD存储卡协议1.0版;兼容SDIO卡协议1.0版;,发送和接收采用字节FIFO;基于DMA或中断模式操作;兼容MMC卡协议2.11版。21SPI接口 兼容2通道SPI协议2.11版;发送和接收采用2字节的移位寄存器;基于DMA或中断模式操作。22工作电压 内核电压:1.8V,最高工作频率200 MHz(S3C2410A-20);2.0 V,最高工作频率266 MHz(S3C2410A-26)。存储器和I/O电压:3.3 V。23封装 采用272-FBGA封装。,3.2 S3C2410A存储器
14、控制器,3.2.1 S3C2410A的存储器控制器特性S3C2410A的存储器控制器提供访问外部存储器所需要的存储器控制信号,具有以下特性:支持小大端(通过软件选择)。地址空间:每个bank有128 MB(总共有8个bank,共1 GB)。除bank0只能是16/32位宽之外,其他bank都具有可编程的访问位宽(8/16/32位)。总共有8个存储器bank(bank0bank7):一其中6个用于ROM,SRAM等;一剩下2个用于ROM,SRAM,SDRAM等。7个固定的存储器bank(bank0bank6)起始地址。最后一个bank(bank7)的起始地址是可调整的。最后两个bank(bank
15、6和bank7)的大小是可编程的。,所有存储器bank的访问周期都是可编程的。总线访问周期可以通过插入外部等待来扩展。支持SDRAM的自刷新和掉电模式。3.2.1 S3C2410A的存储器映射S3C2410A复位后,存储器的映射情况如图3.2.1所示,bank6和bank7对应不同大小存储器时的地址范围参见表3.2.1。,不使用NAND Flash作为启动ROM 使用NAND Flash作为启动ROM注意:SROM表示是ROM或SRAM类型的存储器;SFR指特殊功能寄存器。图3.2.1 S3C2410A复位后的存储器映射,表3.2.1 bank 6和bank 7地址,注:bank 6和bank
16、 7必须具有相同的存储器大小。,3.3 复位、时钟和电源管理,1复位电路在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可以使用其他的相对较复杂,但功能更完善的电路。为了提供高效的电源监视性能,选取了专门的系统监视复位芯片IMP811S。该芯片性能优良,可以通过手动控制系统的复位,同时还可以实时监控系统的电源。一旦系统电源低于系统复位的阀值(2.9V),IMP811S将会对系统进行复位。系统复位电路如图3.3.1所示。,图3.3.1 系统复位电路,也可以采用如图3.3.2所示较简单的RC复位电路,经使用证明,其复位逻辑是可靠的。该复位
17、电路的工作原理如下:在系统上电时,通过电阻R108向电容C162充电,当C162两端的电压未达到高电平的门限电压时,RESET端输出为高电平,系统处于复位状态;当C162两端的电压达到高电平的门限电压时,RESET端输出为低电平,系统进入正常工作状态。当用户按下按钮RESET时,C162两端的电荷被放掉,RESET端输出为高电平,系统进入复位状态,再重复以上的充电过程,系统进入正常工作状态。两级非门电路用于按钮去抖动和波形整形;nRESET端的输出状态与RESET端相反,用于低电平复位的器件;通过调整R108和C162的参数,可调整复位状态的时间。,图3.3.2 系统的复位电路,2时钟电路在S
18、3C2410A中的时钟控制逻辑能够产生CPU所需的FCLK时钟信号。AHB总线外围设备所需的HCLK时钟信号,以及APB总线外围设备所需的PCLK时钟信号。S3C2410A有两个锁相环(Phase Locked Loops,PLL),一个用于FCLK,HCLK和PCLK,另一个专门用于USB模块(48 MHz)。时钟控制逻辑可以在不需要PLL的情况下产生慢速时钟,并且可以通过软件来控制时钟与每个外围模块是连接还是断开,从而降低功耗。S3C2410A微处理器的主时钟可以由外部时钟源提供,也可以由外部振荡器提供,如图3.3.3所示,采用哪种方式通过引脚OM3:2来进行选择。OM3:2=00时,MP
19、LL和UPLL的时钟均选择外部晶体振荡器;OM3:2=0l时,MPLL的时钟选择外部晶体振荡器;UPLL选择外部时钟源;,OM3:2=10时,MPLL的时钟选择外部时钟源;UPLL选择外部晶体振荡器;OM3:2=11时,MPLL和UPLL的时钟均选择外部时钟源。在系统中选择OM3:2均接地的方式,即采用外部振荡器提供系统时钟。系统时钟源直接采用外部晶振,内部PLL电路可以调整系统时钟,使系统运行速度更快。S3C2410X的系统时钟电路见图3.3.3,其外部振荡器由12MHz晶振和2个15pF的微调电容组成。振荡电路输出接到S3C2410X微处理器的XTIPLL脚,输入由XTOPLL提供。由于片
20、内的PLL电路兼有频率放大和信号提纯的功能,因此,系统可以以较低的外部时钟信号获得较高的工作频率,从而降低因高速开关时钟所造成的高频噪声。,图3.3.3 S3C2410X微处理器外部时钟电路,3电源电路对于电源控制逻辑,S3C2410A具有多种电源管理方案,对于每个给定的任务都具有最优的功耗。在S3C2410A中的电源管理模块具有正常模式、慢速模式、空闲模式和掉电模式4种有效模式。在正常模式,电源管理模块为CPU和S3C2410A中的所有外围设备提供时钟。在这个模式,由于所有外围设备都处于开启状态,因此功耗达到最大。用户可以通过软件来控制外围设备的操作。例如,如果不需要定时器,那么用户可以断开
21、定时器的时钟,以降低功耗。慢速模式又称无PLL模式。与正常模式不同,在慢速模式不使用PLL,而使用外部时钟(XTIPLL或EXTCLK)直接作为S3C2410A中的FCLK。在这种模式下,功耗大小仅取决外部时钟的频率,功耗与PLL无关。在空闲模式下,电源管理模块只断开CPU内核的时钟(FCLK),但仍为所有其他外围设备提供时钟。空闲模式降低了由CPU内核产生的功耗。任何中断请求可以从空闲模式唤醒CPU。,在掉电模式,电源管理模块断开内部电源。因此,除唤醒逻辑以外,CPU和内部逻辑都不会产生功耗。激活掉电模式需要两个独立的电源,一个电源为唤醒逻辑供电;另一个为包括CPU在内的其他内部逻辑供电,并
22、且这个电源开关可以控制。在掉电模式下,为CPU和内部逻辑供电的第二个电源将关断。通过EINT15:0或RTC报警中断可以从掉电模式唤醒S3C2410A。在设计系统电源电路之前对S3C2410A的电源引脚进行分析:VDDalive引脚给处理器复位模块和端口寄存器提供1.8V电压;VDDi和VDDiarm为处理器内核提供1.8V电压;VDDi_MPLL为MPLL提供1.8V模拟电源和数字电源;VDDi_UPLL为UPLL提供1.8V模拟电源和数字电源;VDDOP和VDDMOP分别为处理器端口和处理器存储器端口提供3.3V电压;VDD_ADC为处理器内的ADC系统提供3.3V电压;VDDRTC为时钟
23、电路提供1.8V电压,该电压在系统掉电后仍需要维持。系统需要使用3.3V和1.8V的直流稳压电源。为简化系统电源电路的设计,要求整个系统的输入电压为高质量的5V直流稳压电源。VDD3.3V提供给VDDMOP,VDDIO,VDDADC和VCC引脚,VDD1.8V提供给VDDi_X。,5V输入电压经过DC-DC转换器可完成5V到3.3V和1.8V的电压转换。系统中RTC所需电压由1.8V电源和后备电源共同提供,在系统工作时1.8V电压有效,系统掉电时后备电池开始工作,以供RTC电路所需的电源,同时使用发光二极管指示电源状态。S3C2410A电源电路如图3.3.4所示。,(a)3.3V电源电路,(b
24、)1.8V电源电路(电阻R203100K,R20447.5K,阻值需要修改)图3.3.4 电源电路,3.4 S3C2410A的I/O口,3.4.1 S3C2410A的IO口配置S3C2410A共有117个多功能复用输入输出端口(I/O口),分为端口A端口H 8组,其中8组I/O口按照其位数的不同又可分为:端口A(GPA)是1个23位输出口;端口B(GPB)和端口H(GPH)是2个11位I/O口;端口C(GPC)、端口D(GPD)、端口E(GPE)和端口G(GPG)是4个16位I/O口;端口F(GPF)是1个8位I/O口。为了满足不同系统设计的需要,每个I/O口可以很容易地通过软件对进行配置。每
25、个引脚的功能必须在启动主程序之前进行定义。如果一个引脚没有使用复用功能,那么它可以配置为I/O口。注意:端口 A除了作为功能口外,只能够作为输出口使用。S3C2410A的I/O口配置情况如表3.4.13.4.7所列。,表3.4.1 S3C2410A的端口A I/O口配置情况,表3.4.2 S3C2410A的端口B I/O口配置情况,表3.4.3 S3C2410A的端口C I/O口配置情况,表3.4.4 S3C2410A的端口D I/O口配置情况,表3.4.5 S3C2410A的端口E、F I/O口配置情况,表3.4.6 S3C2410A的端口G I/O口配置情况,表3.4.7 S3C2410A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 汇编语言 程序设计 基础 课件 32 BitRISC 微处理器 S3C2410A

链接地址:https://www.31ppt.com/p-6501710.html