基于ARM的软硬件设计S3C2440简易学习开发的设计说明_第1页
基于ARM的软硬件设计S3C2440简易学习开发的设计说明_第2页
基于ARM的软硬件设计S3C2440简易学习开发的设计说明_第3页
基于ARM的软硬件设计S3C2440简易学习开发的设计说明_第4页
基于ARM的软硬件设计S3C2440简易学习开发的设计说明_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PAGE39 / NUMPAGES45摘要本次设计的主要目的是利用ARM嵌入式系统进行实验电路板的设计和开发,以达到学习和实践相结合的目的。当今信息时代,嵌入式系统的应用无处不在,并且发展势头迅猛,当今ARM嵌入式系统应用市场份额约占75。嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。嵌入式系统是计算机技术、通信技术、微电子技术、语音图象数据传输技术等先进技术和具体应用对象相结合后的更新换代产品。ARM技术日益成熟和不断发展,正在逐步渗入到我们生活的各

2、个方面。ARM技术具有性能高,成本低和能耗省特点。ARM在目前主要应用在工业控制领域、无线通讯技术、网络应用、消费电子产品等。行业前景极为深远,发展空间极为广大。本次设计是基于S3C2440简易学习开发的设计。在论文当中首先对ARM发展进行学习之后进行嵌入式系统的前期调研,查阅资料,了解有关参数。探索ARM未来的发展趋势以与S3C2440实验开发板的结构性能,从而着手进行元件的选择以与硬件电路的设计包括电源选择、接口设计以与储存器设计等,接着进一步进行软件编程设计和系统仿真、调试。关键词:ARM,嵌入式系统,s3c44b0实验开发板,微处理器ABSTRACTThe main purpose o

3、f this design is the design and development of the experimental circuit board using ARM embedded system, so as to achieve the purpose of combining learning and practice.In the information age, the application of embedded system is ubiquitous, and the momentum of rapid development of ARM, the applica

4、tion of embedded system market share accounted for 75%. Embedded systems used in the computer is embedded into the special microprocessor controlled object, but the function than the general computer specialized, with universal computer doesnt have is specially designed for a certain aspect, the app

5、ropriate speed, high reliability and low cost of the special computer system. Embedded system is the product of computer technology, communication technology, microelectronic technology, voice and image data transmission technology and other advanced technology and concrete application object after

6、combining the update.ARM technology development and mature, is gradually infiltrated into every aspect of our lives. ARM technology has the advantages of high performance, low cost and energy saving characteristics. ARM is mainly applied in the field of industrial control, wireless communication tec

7、hnology, the network application, such as consumer electronics. The prospect of the industry is far-reaching, development space is extremely broad.This design is the design of S3C2440 based on the development of a simple learning. After the first ARM to learn the development of preliminary research,

8、 the embedded system access to information, understanding of the relevant parameters. Structure and properties of the future development trend of ARM and S3C2440 experimental development board, thus embarking on selection of components and the design of hardware circuit includes a power selection, i

9、nterface design and storage design, followed by a further software programming and system simulation, debugging.Keywords: ARM, embedded system, S3C44B0 experimental development board, microprocessor目 录 TOC o 1-3 h z u HYPERLINK l _Toc357068066第1章 ARM嵌入式系统的概述 PAGEREF _Toc357068066 h 1HYPERLINK l _Toc

10、3570680671.1 ARM嵌入式系统发展现状 PAGEREF _Toc357068067 h 1HYPERLINK l _Toc3570680681.2 ARM嵌入式系统的发展趋势 PAGEREF _Toc357068068 h 2HYPERLINK l _Toc357068069第2章 S3C44B0简介 PAGEREF _Toc357068069 h 5HYPERLINK l _Toc3570680702.1 S3C44B0概述 PAGEREF _Toc357068070 h 5HYPERLINK l _Toc3570680712.2 S3C44B0X特性: PAGEREF _Toc

11、357068071 h 6HYPERLINK l _Toc3570680722.3 S3C44B0X的结构框图: PAGEREF _Toc357068072 h 7HYPERLINK l _Toc357068073第3章绪论 PAGEREF _Toc357068073 h 9HYPERLINK l _Toc3570680743.1设计目的 PAGEREF _Toc357068074 h 9HYPERLINK l _Toc3570680753.2设计任务 PAGEREF _Toc357068075 h 9HYPERLINK l _Toc3570680763.3设计背景 PAGEREF _Toc3

12、57068076 h 9HYPERLINK l _Toc3570680773.3.1 S3C44B0简介 PAGEREF _Toc357068077 h 9HYPERLINK l _Toc3570680783.3.2 S3C44B0X特性: PAGEREF _Toc357068078 h 10HYPERLINK l _Toc3570680793.4设计思路(原理组成框图、资源分配) PAGEREF _Toc357068079 h 11HYPERLINK l _Toc357068080第4章电路设计 PAGEREF _Toc357068080 h 13HYPERLINK l _Toc357068

13、0814.1电源和复位电路设计 PAGEREF _Toc357068081 h 13HYPERLINK l _Toc3570680824.2 晶振电路设计 PAGEREF _Toc357068082 h 14HYPERLINK l _Toc3570680834.3 JTAG接口 PAGEREF _Toc357068083 h 15HYPERLINK l _Toc3570680844.4 存储器电路设计 PAGEREF _Toc357068084 h 16HYPERLINK l _Toc3570680854.1.1 Flash 存储器接口电路 PAGEREF _Toc357068085 h 16

14、HYPERLINK l _Toc3570680864.1.2 SDRAM 存储器接口电路 PAGEREF _Toc357068086 h 17HYPERLINK l _Toc357068087第5章 PCB布局和布线 PAGEREF _Toc357068087 h 18HYPERLINK l _Toc357068088第6章程序设计 PAGEREF _Toc357068088 h 19HYPERLINK l _Toc3570680896.1 配置ADS集成开发环境 PAGEREF _Toc357068089 h 19HYPERLINK l _Toc3570680906.2建立工程文件 PAGE

15、REF _Toc357068090 h 25HYPERLINK l _Toc3570680916.3 进行程序的在线仿真、调试 PAGEREF _Toc357068091 h 32HYPERLINK l _Toc3570680926.4选择调试目标 PAGEREF _Toc357068092 h 32HYPERLINK l _Toc3570680936.5调试工具条 PAGEREF _Toc357068093 h 34HYPERLINK l _Toc357068094第7章结论与展望 PAGEREF _Toc357068094 h 36HYPERLINK l _Toc3570680957.1

16、结论 PAGEREF _Toc357068095 h 36HYPERLINK l _Toc3570680967.2 展望 PAGEREF _Toc357068096 h 36HYPERLINK l _Toc357068097参考文献 PAGEREF _Toc357068097 h 38HYPERLINK l _Toc357068098致 PAGEREF _Toc357068098 h 39第1章 ARM嵌入式系统的概述1.1 ARM嵌入式系统发展现状ARM是目前业界公认领先的32位嵌入式RISC(精简指令计算机)微处理器。ARM技术日益成熟和不断发展,正在逐步渗入到我们生活的各个方面。ARM在

17、目前主要应用于工业控制、无线通讯技术、网络应用、消费电子产品等领域。随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。 进入20世纪90年代,ARM嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的数字电视广播技术已在全球大多数国家推广。数字音频广播也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。由于ARM嵌入式设备

18、具有自然的人机交互界面,GUI屏幕为中心的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子以与彩色图形、图像已取得初步成效。 目前一些先进的液晶显示已实现汉字写入、短消息语音发布,日用围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,与移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经

19、充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备功能不再单一,结构更加复杂。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。软件方面系统系统核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最

20、适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。 硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。从软件方面讲,也有相当部分的成熟软件系统。国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开DeltaSystem,中科院推出的Hopen嵌入式操作系统。同时因

21、为是研究热点,所以我们可以在网上找到各种各样的免费资源,从各大厂商的开发文档,到各种驱动程序,甚至很多厂商还提供微处理器的样片。这对于我们从事这方面的研发,无疑是个资源宝库。对于软件设计来说,不管是上手还是进一步开发,都相对来说比较容易,这就使得很多生手能够比较快的进入研究状态,利于发挥大家的积极创造性。1.2 ARM嵌入式系统的发展趋势由于网络与通讯技术的发展,嵌入式系统在经历了近20年的发展历程后进入了一个新的历史发展的阶段,即从普通的低端应用进入到一个高、低端并行发展,并且不断提升低端应用技术的时代,其标志是近年来32位MCU的发展。32位MCU的应用不会走8位机百花齐放、百余种型号系列

22、齐上阵的道路,这是因为在8位机低端应用中,嵌入对象与对象专业领域十分广泛而复杂;而当前32位MCU的高端应用则集中在网络、通信和多媒体技术领域,32位MCU将会集中在少数厂家发展的少数型号系列上。在嵌入式系统高端应用的发展中,曾经有众多厂家参加,很早就有许多8位嵌入式MCU厂家实施了8位、16位和32位机的发展计划。后来,8位和32位机的技术扩展侵占了16位机的发展空间。传统电子系统智能化对8位机的需要使得这些厂家将主要精力放在8位机上的发展上。形成了32位机发展迟迟不前的局面。当网络、通讯和多媒体信息家电兴起后,出现嵌入式系统高端应用的市场;而在嵌入式系统的高端应用中,进行多年技术准备的AR

23、M公司适时的推出32位ARM系列嵌入式微处理器,以其明显的性能优势,迅速形成32位高端机应用的主流地位,以至于不少传统嵌入式系统厂家放弃了自己3位发展计划,转而使用ARM核来发展自己的32位MCU。甚至在嵌入式系统发展的历史上做出卓越贡献的Intel公司以与单片微型计算机发展到微控制器的PHILIPS公司,在发展自己32位嵌入式系统是不得不另起炉灶,而是使用ARM公司的嵌入式系统核来发展自己的32位MCU。网络、通信、多媒体和信息家电时代的到来,无疑为32位嵌入式系统高端应用提供了空前巨大的发展空间;同时,也为力不从心的8位机向高端发展起到竭力作用。一般来说,嵌入式系统的高、低端应用模糊的界定

24、为:高端应用不被海量数据处理网络、通信和多媒体领域,低端则是用于对象系统的控制领域。然而,控制系统的网络化、智能化的发展趋势要求在8位机的应用中提升海量数据处理能力。当8位机无法满足这些提升的要求时,便会转而求助32位机的解决办法。因此,32位机的市场需求发展由两方面所致:一方面是高端新兴领域(网络、通信、多媒体和信息家电)的拓展;另一方面是低端控制领域应用在数据处理能力的提升要求。后PC时代的到来以与32位嵌入式系统的高端应用吸引了大量计算机专业人士的介入,加入嵌入式系统/硬件技术的发展,导致嵌入式系统应用模式的巨大变化,即使嵌入式系统应用进入到一个基于软/硬件平台、集成开发环境的应用系统开

25、发的时代,并带动SoC技术的发展。信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势(1) 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和版级支持包(BSP),而WindowCE在主推系统时也提供Embedded VC作为开发工具,还有Vxworks的Tonado开发环

26、境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。 (2) 随着因特网技术的成熟、带宽的提高日益提高,网络化、信息化的要求使得以往单一功能的设备如、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CANBUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用

27、程序设计、保障软件质量和缩短开发周期。(3) 网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始嵌网络接口,除了支持TCPIP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。(4) 精简系统核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设

28、计者尽量精简系统核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。 (5) 提供友好的多媒体人机界面。嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子以与彩色图形、图像都会使使用者获得自由的感受。目前一些先进的PDA在显

29、示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。第2章 S3C44B0简介2.1 S3C44B0概述S3C44B0X是一款基于ARM7TDMI核技术的16/32位RISC处理器,扩展了一系列完整的通用外围器件,使系统的费用降至最低,减低了硬件开发的难度。本嵌入式系统配置了2MB的FLASH存储器以与8MB的SDRM存储器。Samsung 公司推出的 16/32 位 RISC 处理器 S3C44B0X 为手持设备和一般类型应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,S3C44B0X 提供了丰富的置部件,包括:8KB cache,部 SRAM

30、,LCD 控制器,带自动握手的 2 通道 UART,4 通道 DMA,系统管理器(片选逻辑,FP/EDO/SDRAM 控制器),代用 PWM 功能的 5 通道定制器,I/O端口,RTC,8 通道 10 位 ADC,IIC-BUS 接口,IIS-BUS 接口,同步 SIO 接口和 PLL 倍频器。S3C44B0X 采用了 ARM7TDMI 核,0.25um 工艺的 CMOS 标准宏单元和存储编译器。它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样 S3C44B0X还采用了一种新的总线结构,即 SAMBAII(三星 ARM CPU 嵌入式微处理器总线结构)。S3C44B0X的

31、杰出特性是它的CPU核,是由ARM公司设计的16/32位ARM7TDMI RISC处理器(66MHZ)。ARM7TDMI 体系结构的特点是它集成了 Thumb 代码压缩器,片上的 ICE断点调试支持,和一个 32 位的硬件乘法器。S3C44B0X 通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。本章将对下面所列的各种片上功能进行介绍。2.5V ARM7TDMI 核,带有8K高速缓存器(SAMBA II总线体系结构,主频高至66MHz);外部存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器(最大支持256色STN,LCD具有

32、专用DMA);2通道通用DMA、2通道外设DMA并具有外部请求引脚;2通道UART 带有握手协议(支持IrDA1.0, 具有16-byte FIFO)/1通道SIO;1通道多主IIC-BUS控制器;1通道IIS-BUS控制器;5个PWM定时器和1通道部定时器;看门狗定时器;71个通用I/O口/8通道外部中断源;功耗控制:具有普通,慢速,空闲和停止模式;8通道10位ADC;具有日历功能的RTC;具有PLL的片上时钟发生器。2.2 S3C44B0X特性: 16/32位RISC体系结构和ARM7TDMI处理器核强大的指令体系; Thumb代码压缩机,最大化代码密度同时保持了32位指令的性能; 基于J

33、TAG的片上集成ICE调方式支持解决方案; 328位硬件乘法器; 实现低功耗SAMBAII的新型总线结构。核:2.5V I/O : 3.0 V 到 3.6 V;最高为66MHz;封装:160 LQFP / 160 FBGA。2.3 S3C44B0X的结构框图:S3C44B0X的结构图如图2-3所示:图2-3:S3C44B0X的结构图1.复位电路可完成系统上电复位和在系统工作时用户按键复位。2.电源电路为S3C44B0X与其他需要3.3V电源的外围电路供电。3.晶振为系统提供工作时钟,通过片PLL(时钟发生器)电路倍频作为微4.处理器的工作时钟。5.Flash存储器可存放已调试好的用户应用程序、

34、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等。6.SDRAM存储器作为系统运行时的主要区域,系统与用户数据、堆栈均位于SDRAM存储器中。7.JTAG接口可对芯片部的所有部件进行访问,通过该接口可对系统进行调试、编程等。8.系统总线扩展引出了数据总线、地址总线和必需的控制总线,便于用户根据自身的特定要求扩展外围电路。9.串行接口电路用于系统与其他应用系统的短距离双向串行通信。10.10M以太网接口为系统提供以太网接入的物理通道,通过该接口,系统可以10Mb/s的速率接入以太网。第3章 绪论3.1设计目的板级电子系统开发是电子类与相关专业非常重要的实践性教学环节, 通过开发完整的电子系统

35、,可锻炼运用所学知识进行电子设计的能力,为后续研究设计以与就业打下良好基础。3.2设计任务在S3C44B0开发板上设计最小系统3.3设计背景3.3.1S3C44B0简介S3C44B0X是一款基于ARM7TDMI核技术的16/32位RISC处理器,扩展了一系列完整的通用外围器件,使系统的费用降至最低,减低了硬件开发的难度。本嵌入式系统配置了2MB的FLASH存储器以与8MB的SDRM存储器。Samsung 公司推出的 16/32 位 RISC 处理器 S3C44B0X 为手持设备和一般类型应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,S3C44B0X 提供了丰富的置部件,包括:8K

36、B cache,部 SRAM,LCD 控制器,带自动握手的 2 通道 UART,4 通道 DMA,系统管理器(片选逻辑,FP/EDO/SDRAM 控制器),代用 PWM 功能的 5 通道定制器,I/O端口,RTC,8 通道 10 位 ADC,IIC-BUS 接口,IIS-BUS 接口,同步 SIO 接口和 PLL 倍频器。S3C44B0X 采用了 ARM7TDMI 核,0.25um 工艺的 CMOS 标准宏单元和存储编译器。它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样 S3C44B0X还采用了一种新的总线结构,即 SAMBAII(三星 ARM CPU 嵌入式微处理器总

37、线结构)。S3C44B0X的杰出特性是它的CPU核,是由ARM公司设计的16/32位ARM7TDMI RISC处理器(66MHZ)。ARM7TDMI 体系结构的特点是它集成了 Thumb 代码压缩器,片上的 ICE断点调试支持,和一个 32 位的硬件乘法器。S3C44B0X 通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。本章将对下面所列的各种片上功能进行介绍。2.5V ARM7TDMI 核,带有8K高速缓存器(SAMBA II总线体系结构,主频高至66MHz);外部存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器(最大支

38、持256色STN,LCD具有专用DMA);2通道通用DMA、2通道外设DMA并具有外部请求引脚;2通道UART 带有握手协议(支持IrDA1.0, 具有16-byte FIFO)/1通道SIO;1通道多主IIC-BUS控制器;1通道IIS-BUS控制器;5个PWM定时器和1通道部定时器;看门狗定时器;71个通用I/O口/8通道外部中断源;功耗控制:具有普通,慢速,空闲和停止模式;8通道10位ADC;具有日历功能的RTC;具有PLL的片上时钟发生器。3.3.2S3C44B0X特性:核:2.5V I/O : 3.0 V 到 3.6 V;最高为66MHz;封装:160 LQFP / 160 FBGA

39、。3.4设计思路(原理组成框图、资源分配)既然是设计最小系统就需要反映出“系统”和“最小”两大特征来,只有独立运行而且方便调试的ARM硬件才能成为“系统”,而“最小”则要求设计的系统不能大而全,仅仅需要设计让系统能独立运行和调试的几本硬件就可以了,另外成本也尽可能的低。满足上述功能的s3c44b0最小系统设计思路如下,要让s3c44b0处理器能独立运行和调试就必须满足基本的独立运行和调试工作条件,因此需设计下列基本电路与系统:电源、时钟、复位电路、存储系统、调试系统。 复位时钟电源NOR FLASHSDRAMS3C44B0图3-1:原理组成框图第4章 电路设计4.1电源和复位电路设计设计电源时

40、要考虑的因素:a.输出的电压、电流、功率;b.输入的电压、电流;c.安全因素;d.输出纹波;e.电磁兼容和电磁干扰;f.体积、功耗、成本限制。系统采用DC5V稳压电源进行供电,电源输入后经过两个稳压芯片产生3.3V和2.5V 电压,给MCU的I/O和ARM核供电,如图4-1所示。图4-1 电源原理图在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可使用其他的相对较复杂,但功能更完善的电路。本系统采用较简单的RC复位电路,如图1-2所示。该复位电路的工作原理如下:在系统上电时,通过电阻R向电容C充电,当C两端的电压未达到高电平的门限电压

41、时,Reset端输出为低电平,系统处于复位状态;当C两端的电压达到高电平的门限电压时,Reset端输出为高电平,系统进入正常工作状态。简单的RC复位电路:图4-2 时钟与复位当用户按下按钮S时,C两端的电荷被泄放掉,Reset端输出为低电平,系统进入复位状态,再重复以上的充电过程,系统进入正常工作状态。两级非门电路用于按钮去抖动和波形整形;通过调整R和C的参数,可调整复位状态的时间。4.2 晶振电路设计晶振电路用于向CPU与其他电路提供工作时钟,S3C44B0X的时钟源来自晶振,也可以是外部时钟。S3C44B0X的部时钟发生器可产生CPU和外设所需要的时钟信号。时钟发生器有一个振荡器连接到外部

42、的晶体上,同时片的PLL电路把低频振荡器的输出作为自己的输入,产生S3C44B0X所需要的高频信号,因此,系统可以较低的外部时钟信号获得较高的工作频率,以降低因高速开关时钟所造成的高频噪声。根据S3C44B0X的最高工作频率以与PLL电路的工作方式,选择10MHz的无源晶振,10MHz的晶振频率经过S3C44B0X片的PLL电路倍频后,最高可以达到66MHz。电路如图4-3所示:图4-3 晶振电路设计XTAI0为系统时钟输入信号FXTAI0为系统时钟电路的输出信号4.3 JTAG接口JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片

43、部测试与对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片部封装了专门的测试电路TAP(test access port,测试访问口),通过专用的JTAG测试工具对部节点进行测试。目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP和FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI和TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。其结构如图4-4所示:图4-4 JTAG接口4.4 存储器电路设计4.1.1 Flash 存储器接口电路这里以Embest S3CV40开发板存储系统为例,介绍Flash存储器接口电路。如图1-3所示,电路采用一

44、片1M16位的Flash(AM29LV128M),Flash ROM采用标准总线接口与处理器交互,处理器通过片选nGCS0与片外Flash芯片连接。电路原理图如图4-5所示:图4-5 Flash存储器接口电路4.1.2 SDRAM 存储器接口电路SDRAM的特点:不具有掉电保持数据的特性。但其存取速度大大高于Flash存储器。可读/写。基于SDRAM的这些特点,SDRAM在系统中主要用作程序的运行空间,数据与堆栈区。这样可以提高系统的运行速度,系统与用户堆栈、运行数据也都放在SDRAM中。电路原理图如图4-6所示:图4-6 SDRAM存储器接口电路第5章 PCB布局和布线PCB布局和布线结果如

45、图5-1所示:图5-1 PCB布局和布线结果第6章 程序设计本节使用天祥电子的搭载S3C44B0的开发板来进行程序设计的研究。6.1 配置ADS集成开发环境1.运行ADS1.2集成开发环境(CodeWarriorforARMDeveloperSuite)。选择FileNew命令,在对话框中选择Project选项卡,如图61所示,新建一个工程文件。其中示例的工程名为Exp6.mcp。单击Set按钮可为该工程选择路径,如图62所示,选中CreateFolder复选框后将以图61中的Projectname或图62中的文件名作为创建目录的名称,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理

46、工程。注意:在图6-2工程模板列表中选择ARMExecutableImage通用模板。随后将一步一步地把它配置成针对TX-3A开发板的模板44B0ARMExecutableImage,并把它复制到ADS1.2安装目录下的Stationery目录中(所有的工程模板都在此目录下)。以后新建工程时,在工程模板列表中直接选中44B0ARMExecutableImage模板选项即可,不必每次重新配置模板。图6-1新建工程图6-2保存工程2.在新建的工程中,如图63所示,选择DebugRel版本,使 用Edit|DebugRelSettings命令对DebugRel版本进行参数设置。图6-3选择版本3.在

47、DebugRelSettings对话框中选择TargetSettings选项,如图64所示在Postlinker列表框中选择ARMfromELF,单击右下角的Apply按钮使其有效。图6-4选择TargetSetting4.在DebugRelSettings对话框中选择ARMLinker选项,如图65所示。在Output选项卡的Linktype选项组中有3种类型的连接方式,常用的是Simple和Scattered两种。Simple是一种简单设置,我们在这里选中Simple单选按钮,并按照下面的步骤进行设置。5.选中Simple单选按钮,如图65所示。在Simpleimage选项组中设置连接的R

48、eadOnly(只读)和ReadWrite(读写)地址。地址0 x0c008000是在开发板上SDRAM的真实地址(从0 x0c000000起始)围,是由系统的硬件决定的;后面的RWBase不用写,或写成0 x00000000也行。图6-5设置连接地址围提示: 程序移植到ADS后,首先执行用汇编语言写初始化代码,包括中断向量和存空间初始化。在该段代码中使用IMPORT _main;(注意main前面是两个半字下划线)B _main进行系统部标准C函数初始化,然后调用用户在C语言中定义的main()函数(注意:两个main都是小写),而且在嵌入式应用中用户在C语言中定义的main函数不能有参数(

49、int main(void)。不能有系统定义的软中断,在汇编语言中可以使用IMPORT_use_no_semihosting_swi来检测,在C语言中使用#pragmaimport(_use_no_semihosting_swi)/ensurenofunctionsthatusesemihosting6.在DebugRelSettings对话框中选择ARMLinker选项,如图66所示。单击Layout选项卡。在Layout选项卡的Placeatbeginningofimage选项组中设置程序的入口模块。TX3A开发板在生成的代码中,程序是从vector.s开始运行的,vector.s经过编译

50、生成vector.o文件,所以这里在Object/Symbol/项里设为vector.o,Section项设为selfboot。关于这段代码可打开TX3A配套代码中的vector.s文件查看如下代码段:;*AREASelfBoot,CODE,READONLYIMPORTUDF_INS_VECTORIMPORTSWI_SVC_VECTORIMPORTINS_ABT_VECTORIMPORTDAT_ABT_VECTORIMPORTIRQ_SVC_VECTORIMPORTFIQ_SVC_VECTORENTRYIF:DEF:|ads$version|ELSEEXPORT_main_mainENDIFR

51、esetEntrybSYS_RST_HANDLERbUDF_INS_HANDLERbSWI_SVC_HANDLERbINS_ABT_HANDLERbDAT_ABT_HANDLERb.bIRQ_SVC_HANDLERbFIQ_SVC_HANDLER;*上面代码中“AREASelfBoot,CODE,READONLY”此行中有个selfboot,这个字母组合必须与图66中的Section中一致,因为这是总程序的入口处。图6-6设置程序入口7.在DebugRelSettings对话框中选择ARMfromELF选项,如图67所示。在Outputformat框中设置输出文件格式为Intel32bitHe

52、s,在Outputfilename框中可随意设置输出文件名,在这里我们设置为led.hex,这就是要下载到开发板上flash中的十六进制文件。6-7 下载文件格式设置8.(此步可选,保存模版以后不用再做设置),设置完成后,可以将该新建的空工程文件作为模板保存以便以后使用,将工程文件名改为44B0ARMExecutable.mcp。然后在ADS1.2软件安装目录下的Stationery目录下新建名为44B0ARMExecutableImage的模板目录,再将刚设置完的44B0ARMExecutable.mcp工程模板文件存放到该目录下即可。这样以后新建工程的时候,就能看到以44B0ARMExec

53、utableImage为名字的模板了。提示:建议用户直接将TX-3A随机光盘中的工程文件拷备到自己的电脑里,在此工程上直接修改源代码文件或新建文件即可,这样可省去新建工程的烦琐过程。6.2建立工程文件配置好ARMADS针对TX3A的开发环境后,可以执行Project|AddFiles命令把和工程相关的所有文件加入到工程中。ADS1.2不能自动按文件类别对这些文件进行分类,若需要,可以执行Project|CreateGroup命令创建文件组,然后分别将不同类的文件加入到不同的组,以方便管理。如图69所示。更为简单的办法是,在新建工程时ADS创建了和工程同名的目录,在该目录下按类别创建子目录录并存

54、放工程文件。选中所有目录拖动到任务栏上的ADS任务条上,中途不要松开鼠标。当ADS窗口恢复后再拖动到工程文件窗口,并松开鼠标。这样ADS将以子目录名建立同名文件组并以此对文件分类。在这里我们将TX3A44B0systemtest工程中的INC和SRC文件夹全部复制到刚才新建的工程中,用上述办法添加到新工程中,在新添加文件时会弹出如图68所示对话框,这里我们将下面两个对勾去掉,仅留下DebugRel项,添加后的工程界面如图69所示:图6-8工程类别选择图6-9添加文件后的工程界面双击图69中的Main.c打开该文件,可以看到Main()函数的容如下:#include.incmain.h#incl

55、ude.incdac0832.h/申明函数voidIoConfig(void);voidledTest(void);U16Scan_4Key(void);U16Scan_4X4Key(void);/用这个片编存储的IRQISR入口地址U32pIrqStart=0;U32pIrqFinish=0;U32pIrqHandler=0;U32g_pTopOfROM=0;U32g_pBaseOfROM=0;U32g_pBaseOfBSS=0;U32g_pBaseOfZero=0;U32g_pEndOfBSS=0;externU32GetBaseOfROM(void);externU32GetEndOfR

56、OM(void);externU32GetBaseOfBSS(void);externU32GetBaseOfZero(void);externU32GetEndOfBSS(void);/*主函数*/intmain(void)/U16i;sysUtilsSetPllValue(24,6,1);/设置片的锁相环IoConfig();/io端口的初始化Clr_Pled();/关闭跑马灯Clr_DZ();/关闭点阵显示Clr_led();/关闭数码管显示console_init(115200);/初始化控制台printf(nnttTX-3A/B44B0boardTest!nn);printf(Tes

57、tDAC0832n);printf(PleaseseeD10ledisflashing!n);printf(PressESCkeytoexit!nn);Test_0832();/测试DAC0832printf(Test键盘n);Test_key();/键盘测试/printf(Testover!nn);printf(TestADCn);ADC_Test();/ADC测试/printf(Testover!nn);printf(Test蜂鸣器n);Test_Speaker();/喇叭测试printf(Buzzerestover!nn);printf(Test数码管n);printf(Youwills

58、ee0123245!n);printf(PressESCkeytoexit!nn);Test_led();/测试数码管/printf(Testover!nn);printf(Test流水灯n);printf(PressESCkeytoexit!nn);Test_Pled();/测试跑马灯/printf(Testover!nn);printf(Test点阵n);Show_WWW();/Test_DZ();/点阵测试printf(Testover!nn);printf(Test继电器n);Test_Relay();/测试继电器printf(Testover!nn);printf(TestAT24c

59、02n);Test_Iic();/测试IIc器件printf(Testover!nn);printf(Test温度传感器DS18b20n);printf(PressESCkeytoexit!nn);Test_18b20();/测试18b20printf(Testover!nn);printf(Areyoureadytotest1602?(y/n);if(y=getch()printf(yn);printf(Test1602n);printf(YouwillseeTX-3A44B0and.txmcu.!nn);Lcd_1602Test();/测试LCD1602printf(Testover!nn

60、);elseprintf(nn);printf(Areyoureadytotest12864?(y/n);if(y=getch()printf(yn);printf(nTest12864n);LCD12864_Test();/测试LCD12864;elseprintf(nn);printf(测试结束!nn);/主循环/endwhile(1);return0;提示:读者通过查看其他源文件的容以对系统运行有所了解,可以发现ADS的文本编辑器已经有了很大的改善,文本按语法分颜色显示。读者可以根据喜好在Edit菜单下的Preferences窗口中进行设置。6.3进行程序的在线仿真、调试在线仿真、调试与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论