资源预览内容
第1页 / 共132页
第2页 / 共132页
第3页 / 共132页
第4页 / 共132页
第5页 / 共132页
第6页 / 共132页
第7页 / 共132页
第8页 / 共132页
第9页 / 共132页
第10页 / 共132页
亲,该文档总共132页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 ARM硬件模块开发,3.1 ARM硬件平台结构 3.2 SDRAM模块设计 3.3 Flash模块设计 3.4 LCD模块设计 3.5 USB模块设计 3.6 I/O接口模块设计 3.7 本章小结,ARM嵌入式系统是当今嵌入式系统开发的主流选择,它以ARM CPU为硬件平台,以ADS或相关软件为开发环境,以ARM-Linux或者ARM-WinCE为嵌入式操作系统,以各种中间件、驱动程序为软件平台。本章主要介绍ARM嵌入式常用硬件模块的电路与驱动设计,以及其工作特点。,ARM嵌入式系统硬件平台一般由系统主板与系统扩展板组成。系统主板是硬件平台的基本组成部分,主要包括ARM CPU、Flash、SDRAM、串口、键盘等部分。系统扩展板提供其他的硬件功能模块。,3.1 ARM硬件平台结构,3.1.1 最小系统及常用硬件模块 能够使ARM嵌入式处理器正常运行的所必需的硬件模块和ARM嵌入式处理器构成了ARM嵌入式最小系统,最小系统主要包括: 用于调试的调试测试接口,如JTAG接口;用于存储和运行程序代码的存储器电路模块,如Flash和SDRAM模块。 用于提供系统时钟的时钟电路。 用于系统复位的复位电路。 用于为系统提供电源的电源电路以及用于数据计算处理的嵌入式处理器。,图3.1 ARM嵌入式最小系统框图,3.1.2 硬件设计基本原则 ARM嵌入式应用系统的硬件电路设计是嵌入式系统开发的一个重要方面,遵循一定的电路设计原则可以使嵌入式系统的开发成本降低,使开发出来的系统具有更强的工作稳定性和可升级性。 设计ARM嵌入式应用系统的硬件电路应遵循以下原则: (1) 尽可能选择典型电路,并符合ARM的常规用法,为硬件系统的标准化、模块化打下良好的基础。采用通用型平台硬件电路设计,可以根据需要增删部件而生产不同型号的产品,这样的设计思路可以大大地减小开发成本和开发周期,提高产品的市场竞争力。,(2) 系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地。如果条件许可,可在硬件电路设计中将富余的端口都做成插座形式的接口电路,这样有利于产品功能的扩展和改进,在产品升级和系统维护调试方面极大地减轻了开发人员和维护人员的工作。 (3) 硬件结构与应用软件设计结合考虑。实行软件设计优先实现原则,以简化硬件结构。须注意的是,软件方式实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。,(4) 系统中选用的相关器件要尽可能做到性能匹配。系统中的所有芯片都应尽可能选择低功耗产品。芯片、器件的选择,去耦滤波设计,印刷电路板布线设计,通道隔离等均需要考虑系统可靠性及抗干扰设计。 (5) 根据应用需求选择合适的ARM处理器可极大提高系统的程序执行效率,缩短系统的反应时间,满足实时性的要求。 总之,在进行硬件设计的时候,既要充分考虑产品的可改进性,又要争取使产品的功能和硬件的开发成本达到完美的结合。,3.1.3 ARM调试系统 用户选用 ARM 处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境( IDE )一般来说是必不可少的,至于嵌入式实时操作系统、评估板、ARM开发/调试等其他开发工具则可以根据应用软件的规模和开发计划选用。 在集成开发环境中,包括编辑、编译、汇编、链接等工作在PC机上即可全部完成,调试工作则需要配合其他的模块或产品方可完成。目前常见的调试方法有以下几种。,1. 指令集模拟器 部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作。由于指令集模拟器与真实的硬件环境相差很大,因此即使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终还是必须在硬件平台上完成整个应用的开发。,2. 驻留监控软件 驻留监控软件(Resident Monitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通信端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。,使用驻留监控软件调试的不便之处在于对硬件设备的要求比较高,且一般在硬件稳定之后才能进行应用软件的开发,同时调试时要占用目标板上的部分资源,也不能对程序的全速运行进行完全仿真,所以对一些要求严格的情况不是很适合。,3. JTAG仿真器 JTAG仿真器也称为JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。JTAG仿真器比较便宜,连接方便,通过现有的JTAG边界扫描口与ARM CPU核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。使用集成开发环境配合JTAG仿真器是目前采用最多的一种调试方式。关于JTAG仿真器请参阅4.6节的内容。,ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器。ROM在系统停止供电的时候仍然可以保持数据,而RAM在掉电之后就丢失数据。 RAM 有两大类,一种称为静态RAM(SRAM,Static RAM),SRAM速度非常快,但是它也比较贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲、二级缓冲。另一种称为动态RAM(DRAM,Dynamic RAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,并且价格比SRAM要便宜很多。,3.2 SDRAM模块设计,SDRAM是同步的DRAM,即数据的读写需要时钟来同步。 DRAM和SDRAM由于实现工艺问题,容量较SRAM大,但是读写速度不如SRAM。 SDRAM是一种具有同步接口的高速动态随机存储器,具有高速、大容量等优点。它的同步接口和流水线结构支持高速存储,数据传输速度可以和ARM的时钟频率同步。在ARM嵌入式系统应用中,SDRAM主要作为程序的运行空间、数据和堆栈区。系统启动并完成系统的初始化后,通常装入到SDRAM中运行。,SDRAM发展到现在已经经历了四代,分别是第一代SDR SDRAM、第二代DDR SDRAM、第三代DDR2 SDRAM和第四代DDR3 SDRAM。第一代与第二代SDRAM均采用单端(Single Ended)时钟信号。第三代与第四代由于工作频率比较快,因此采用可降低干扰的差分时钟信号作为同步时钟。SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100、pc133则表明时钟频率为100 MHz和133 MHz。之后的DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,如PC2(DDR2)、PC3(DDR3)。 PC2700(DDR333)的有效工作频率是333 MHz,物理工作频率为166 MHz,2700表示内存带宽为2.7 GB/s。,3.2.1 SDRAM芯片引脚描述 SDRAM的主要生产厂商有Hyundai、Winbond等,现以K4S561632D-TC75为例简要介绍SDRAM的结构。 K4S561632D-TC75存储器是4组4M16位的动态存储器,工作电压为3.3V,其封装形式为54脚的TSOP,兼容LVTTL接口,数据宽度为16位,支持自动刷新和自刷新。图3.2所示为K4S561632D-TC75引脚图。,图3.2 K4S561632D-TC75引脚图,K4S561632D-TC75内存芯片的主要信号有控制信号、地址信号和数据信号,均为工作时钟的同步输入、输出信号。 控制信号主要有CS(片选信号)、CKE(时钟使能信号)、DQM(输入、输出使能信号)、CAS Latency(CAS延迟)、RAS (Row Address Strobe,行地址选通脉冲)、WE(读、写控制命令字)。通过CAS、RAS、WE的各种逻辑组合,可产生各种控制命令。,地址信号有BA0和BA1页地址选择信号,A0A12地址信号,行、列地址选择信号。通过分时复用决定地址是行地址还是列地址。在读、写操作中,在地线上依次给出页地址、行地址、列地址,最终确定存储单元地址。 数据信号有DQ0DQ15,支持双向数据传输,其使能由DQM提供。 SDRAM的工作模式通过LOAD MODE REGISTER命令对工作模式寄存器进行设置来选择。设置参量有Reserved(保留状态)、Write Burst Mode(WB,写突发模式)、Operation Mode(Op Mode,工作模式)、CAS Latency(CAS延迟)、Burst Type(BT,突发类型)、Burst Length(突发长度)。,3.2.2 SDRAM的模块原理图 在S3C2410X芯片内具有独立的SDRAM刷新控制逻辑电路,可以方便地与SDRAM连接。采用两片K4S561632D-TC75存储器芯片可以组成16 M 32位SDRAM存储器系统,其片选信号接S3C2410X的Ngcs6引脚,具体连线如图3.3所示。,图3.3 SDRAM的模块原理图,3.2.3 SDRAM的工作模式 SDRAM支持的常用操作指令有7种:空操作(NOP)、预充电(Precharge)、激活操作(Active)、突发读(BurstRead)、突发写(BurstWrite)、自动刷新(Autorefresh)以及模式寄存器配置(Mode Register Set)。所有的操作命令都是通过信号线RAS_N、CAS_N、WE_N 共同控制来实现的。SDRAM 进行存取数据操作之前,首先要对其初始化,即设置SDRAM的普通模式寄存器和扩展模式寄存器,确定SDRAM 的工作方式。这些设置包括突发长度、突发类型、CAS潜伏期和工作模式,,以及扩展模式寄存器中对SDRAM 内部延迟锁定回路(DLL)的使能与输出驱动能力的设置。初始化完成之后,SDRAM 便进入正常的工作状态,此时可对存储器进行读写和刷新。,3.2.4 SDRAM的初始化操作 SDRAM在上电以后必须对其进行初始化操作,具体操作如下: (1) 系统在上电后要等待100200 s,之后至少执行一条空操作或者指令禁止操作。 (2) 对所有芯片执行PRECHARGE命令,完成预充电。 (3) 向每组内存芯片发出两条AUTO REFRESH命令,使SDRAM芯片内部的刷新计数器可以进入正常运行状态。 (4) 执行LOAD MODE REGISTER命令,完成对SDRAM工作模式的设定。,3.2.5 SDRAM的基本读写操作 SDRAM的基本读操作需要控制线和地址线配合发出一系列命令来完成。首先发出BANK激活命令(ACTIVE),并锁存相应的BANK地址(BA0、BA1给出)和行地址(A0A12给出)。BANK激活命令后必须等待大于TRCD(SDRAM的RAS到CAS的延迟指标)时间后,发出读命令字。CL(CAS延迟值)个工作时钟后,读出数据才能依次出现在数据总线上。最后,要向SDRAM发出预充电(PRECHARGE)命令,以关闭已经激活的页。,等待TRP时间(相隔TRP时间后才可再次访问该行)后,可以开始下一次的读、写操作。 SDRAM的读操作只有突发模式(Burst Mode),突发长度可选1、2、4、8。,图3.4 控制器的状态转换图,SDRAM的基本写操作也需要控制线和地址线相配合地发出一系列命令来完成。先发出BANK激活命令(ACTIVE),并锁存相应的BANK地址(BA0、BA1给出)和行地址(A0A12给出)。BANK激活命令后必须等待大于TRCD的时间后才发出写命令字。写命令可以立即写入,需写入数据依次
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号