嵌入式系统设计-李秀娟-课件-第3章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11第3章基于ARM9处理器的硬件开发平台工欲善其事,必先利其器。2本章内容3.1ARM9微处理器13.2三星S3C2410处理器概述23.3S3C2410处理器单元电路设计33.4存储器设计43.5JTAG调试接口设计53.6博创UP-NETARM2410-S嵌入式平台简介6123456333简介本章主要介绍基于ARM9处理器的硬件开发平台。为便于读者对比理解,首先将ARM9处理器与工业控制领域常见的ARM7处理器进行了比较,接下来对基于ARM920T内核的32位RISC处理器三星S3C2410X进行了概要介绍。详细分析了S3C2410X处理器的单元电路设计、存储器设计以及JTAG调试接口设计,概述了博创UP-NETARM2410-S嵌入式开发平台的硬件组成和功能,最后在“通过JTAG烧写FLASH”的项目训练对UP-NETARM2410-S嵌入式开发平台有了更加深入地认识。443.1ARM9微处理器ARM7系列处理器属于ARM家族的低端处理器,但为众多关注低成本和低功耗的消费类嵌入式设备应用提供了大量支持。3.1.1ARM9与ARM7处理器的比较1.ARM7系列55ARM7系列处理器采用ARMV4T版本的结构,具有小型、快速和低能耗等特性。其体系结构一般具有三级流水线,时钟速度一般为20MHz~133MHz,平均功耗每MHz仅为0.6mW,每条指令平均执行1.9个时钟周期,处理速度为0.9MIPS/MHz。66目前市场上使用较多的ARM7处理器芯片包括:Samsung公司的S3C44B0X与S3C4510处理器、恩智浦半导体(NXPSemiconductors)公司的LPC2000系列微控制器、Atmel公司的AT91FR40162系列处理器、Cirrus公司的EP73xx系列等。772.ARM9系列ARM9系列是高性价比、低功耗、应用广泛的32位RISC结构嵌入式微处理器。ARM9系列微处理器时钟速度一般为120MHz~200MHz,每条指令平均执行1.5个时钟周期,处理速度为1.1MIPS/MHz,指令执行效率更高。ARM9处理器采用ARMV4T哈佛(Harvard)体系结构,程序指令和数据的物理存储空间完全分开。88ARM9支持32位ARM指令集和16位Thumb指令集,支持32位的高速AMBA总线接口;支持数据Cache和指令Cache,具有更高的指令和数据处理能力;支持包括Linux、WindowsCE、μC/OSⅡ、VxWorks等多种主流嵌入式操作系统。993.ARM9与ARM7处理器的区别(1)ARM9系列处理器和ARM7系列处理器的最大区别就是指令执行过程由取指、译码和执行3级流水线提高至取址、译码、执行、数据存储器/数据cache访问和寄存器回写5级流水线。(2)ARM7TDMI采用了冯·诺依曼体系架构,指令和数据共用信号总线以及存储器;ARM9TDMI采用了哈佛体系结构,指令和数据各使用一条总线。1010(3)相对于ARM7TDMI,ARM9TDMI可以完全执行V4和V4T的未定义异常指令扩展空间上的指令集,这些指令扩展空间包括:算术指令扩展空间、控制指令扩展空间、协处理器指令扩展空间和加载/存储扩展空间。(4)ARM7TDMI一般没有内存管理单元MMU(MemoryManagementUnit)和缓存Cache,所以仅支持那些不需要MMU和Cache的嵌入式操作系统,如uCLinux。ARM9支持全性能的MMU,采用哈佛结构,支持数据Cache和指令Cache,可以更好的支持像Linux、WinCE这样的多线程、多任务的操作系统。11113.1.2ARM920T简介1.ARM920T的工作状态ARM920T微处理器支持字节、半字、字三种数据类型。其工作状态一般有两种,第一种为ARM状态,处理器使用32位高性能ARM指令集执行32位的、字对齐的ARM指令;第二种为Thumb状态,处理器使用16位高代码密度Thumb指令集执行16位的、半字对齐的Thumb指令。12122.ARM920T的存储器格式ARM920T核将存储器看作是从零地址开始的字节的线性组合。从0字节到3字节放置第一个存储的字数据,从第4个字节到第7个字节放置第二个存储的字数据,依次排列。1313ARM920T体系结构可以使用大端格式和小端格式两种方法存储字数据。大端格式中的字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如图3.7所示。与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。ARM9默认使用的存储模式是小端存储格式,即“高对高,低对低”的模式。14143.ARM920T的运行模式ARM920T微处理器可支持七种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态;快速中断模式(fiq):用于高速数据的传输或通道处理;外部中断模式(irq):用于通用的中断处理;管理模式(svc):操作系统使用的保护模式;数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;系统模式(sys):运行具有特权的操作系统任务;未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。15154.ARM920T的寄存器组织ARM920T微处理器共有37个32位寄存器,其中包括31个通用寄存器和6个状态寄存器。需要注意的是,这些寄存器并不是同时可见的,具体哪些寄存器可编程访问要取决于微处理器的工作状态和运行模式。16165.程序状态寄存器ARM920T微处理器包含一个当前程序状态寄存器CPSR(CurrentProgramStatusRegister),此外还有五个程序状态保存寄存器SPSRs(SavedProgramStatusRegisters)用于中断处理。17173.2三星S3C2410X处理器概述S3C2410X是韩国三星公司的一款基于ARM920T内核和0.18μmCMOS工艺的32位RISC嵌入式微处理器,主要面向手持设备以及高性价比、低功耗的应用,为手持设备和通用嵌入式系统应用提供了片上集成系统解决方案。3.2.1S3C2410X微处理器1818该处理器采用5级流水线和哈佛结构,其最大工作频率可达203MHz,运算功能强大。S3C2410X内部分别有独立的16KB指令缓存和16KB数据缓存,具有存储器管理单元(MMU),支持SDRAM、静态存储器以及NANDFlash。提供了一套较完整的通用外围设备接口,可支持Linux、uC/OSⅡ、WindowsCE等多种操作系统的移植。1919S3C2410X微处理器处理器内部结构较复杂,集成了大量的功能单元,比较重要的片上功能模块还包括:1.8V内核供电,3.3V存储器供电,带16KB指令缓存I-Cache/16KB数据缓存D-Cache/MMU的3.3V外部I/O微处理器;内置外部存储器控制器(SDRAM控制和芯片选择逻辑);集成1个LCD控制器(最大支持4K色的STN和256K色TFT的LCD),并带有1个通道的LCD专用DMA控制器;20204通道DMA并有外部请求引脚;3通道UART(支持IrDA1.0、16字节发送FIFO及16字节接收FIFO)/2通道SPI接口;1通道多主IIC总线控制器和1通道IIS总线控制器;兼容SD主机接口1.0版及MMC卡协议2.11兼容版;2个USB主机接口/1个USB设备接口(1.1版本);21214通道PWM定时器和1通道内部定时器;看门狗定时器;117位通用I/O口/24通道外部中断源;电源控制模式:具有正常、慢速、空闲及电源关闭模式;8通道10位ADC接口和触摸屏接口;带日历功能的实时时钟控制器(RTC);具有PLL的片上时钟发生器;22221.S3C2410X的体系结构2.系统管理器3.NANDFlash启动引导4.Cache缓冲存储器5.时钟和电源管理6.中断控制7.具有脉冲宽度调制功能(PWM)的定时器8.通用I/O端口3.2.2S3C2410X微处理器工作原理23239.通用串行异步通讯口(UART)10.DMA控制器11.A/D转换器和触摸屏接口12.LCD控制器STNLCD显示特性13.TFT彩色显示屏特性14.看门狗定时器15.I2C总线接口16.IIS总线接口17.SD主机接口18.SPI接口2424S3C2410X芯片采用了272-FBGA的封装形式,这272个引脚可以分为17个功能部分进行定义。分别是:数据/地址总线及其控制信号、A/D模数转换控制信号、CLOCK时钟信号、Timmer定时器、电源及复位信号、DMA通道、NandFlash控制信号、SDRAM/SRAM控制信号、USB控制信号、JTAG调试信号、中断控制信号、异步串行口UART信号、高速同步串行口SPI信号、IIC、IIS总线控制信号、SD卡控制信号、LCD信号、触摸屏信号。3.3S3C2410X处理器单元电路设计3.3.1S3C2410X芯片主要引脚的定义2525S3C2410X芯片共需要两种电源:第一种是内核工作所需的1.8V直流稳压电源,也是维持系统时钟及状态寄存器保持数据所需的电源;第二种是大部分外围元件工作时所需的3.3V直流稳压电源。为了简化系统的电源电路的设计,可以使用高质量的5V直流稳压电源,经过DC-DC转换器得到1.8V与3.3V的电压。3.3.2电源和复位电路2626复位电路在系统设计中也发挥着重要作用,主要完成系统的上电复位和系统正常运行时用户的按键复位。所设计的系统复位电路使用了MAX811T复位芯片,nRESET连接到S3C2410X芯片的复位引脚nRESET。通过调整R1和C1的参数,可以调整复位状态的时间。27273.3.3晶振电路设计在本系统中使用外部晶振电路提供外接时钟信号。S3C2410X芯片的XTIpll和XTOpll是内部振荡电路晶振的输入和输出,需要接12MHz的晶振;XTIrtc和XTOrtc引脚是RTC定时器晶振的输入和输出,需要接32.768KHz的晶振。其中12MHz的晶振频率经过S3C2410X片内的PLL电路进行频率放大后,可以以较低的外部时钟信号获得较高的工作频率,系统最高可运行到203MHz。28283.3.4串口和USB接口电路S3C2410X最小系统可以通过多种接口与外界进行数据通信,其中比较常用的接口是UART和USB。利用UART和USB接口可以完成Flash烧写、操作系统移植、程序下载等任务。2929S3C2410X芯片内建了2个USB主设备接口,1个USB从设备接口。USB主设备:2个USB主设备接口;遵守OHCIRev.1.0标准;兼容USBver1.1规范;USB从设备:1个USB从设备接口;具备5端点USB设备;兼容USBver1.1规范;30303.4存储器设计S3C2410X芯片可与ROM连接构建成8位、16位或32位的存储器系统。32位的存储器系统具有良好的性能,而16位的存储器系统具有较好的成本和功耗优势。3.4.1ROM接口电路设计31313.4.2Flash接口电路设计常用的Flash存储器一般为8位或16位数据宽度,采用3.3V的编程电压。本系统中的NANDFlash存储器选用SAMSUNG公司的K9F1208,存储容量为64MB。K9F1208的ALE和CLE引脚分别接至S3C2410X芯片的ALE和CLE引脚,WE、CE、RE引脚分别接至S3C2410X芯片的nFWE、nFCE和nFRE引脚,8位I/O[0:7]引脚分别接至S3C2410X芯片的低8位数据总线[DATA0:DATA7]。32323.4.3SDRAM接口电路设计SDRAM工作时所需要的信号包括时钟信号使能(SCKE)、时钟信号(SCLK)、地址使能(SRAS)、列地址使能(SCAS)、B

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功