• 971.00 KB
  • 2022-04-22 11:26:32 发布

基于ARM9-S3C2410实验开发板的硬件设计计划书.doc

  • 48页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于ARM9-S3C2410实验开发板的硬件设计计划书目录绪论11.1课题的背景、意义11.2国内外相关领域研究进展21.3课题内容22ARM微处理器的概述42.1嵌入式系统简介42.1.1嵌入式系统的定义42.1.2嵌入式系统的组成42.1.3嵌入式系统的特点52.1.4嵌入式系统的发展62.2嵌入式操作系统62.3ARM处理器72.3.1ARM的体系结构72.3.2ARM微处理器的应用领域82.4ARM92OT体系结构82.4.1ARM92OT系统结构分析82.4.2ARM920T的工作状态92.4.3ARM920T体系结构的存储器格式92.4.4ARM920T处理器模式103基于ARM9-S3C2410开发板的硬件设计113.1PROTEL99SE简介113.2系统设计概述113.3S3C2410处理器及片外围简介123.4单元电路设计143.4.1电源电路143.4.2串行接口电路设计143.4.3IIC总线接口电路设计153.4.4复位按键电路163.4.5调试接口电路的设计173.5开发板硬件原理图182 4.开发板硬件的PCB板设计204.1PCB的基本概念204.1.1高速电路定义及高速信号确定204.1.2传输线214.2高速PCB信号线的布线224.2.1高速PCB信号线的布线基本原则224.3.2地线设计234.3布线后信号完整性的PCB板234.4提高该板抗电磁干扰能力的措施27结论与展望28致谢29参考文献30附录131附录237附录3422 东华理工大学毕业设计(论文)绪论绪论1.1课题的背景、意义嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等方面的严格要求的专用计算机系统。目前,嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和技术的进步,在工业控制和新兴的手持式应用等领域,越来越多的产品需要较好的图形界面和较强的数据处理能力,以及网络、通信、音频、图像等功能,这对嵌入式处理器和嵌入式软件提出了更高的要求。在处理器方面,目前大量的中、低端嵌入式应用主要使用8/16位单片机。在国内,主要是以MCS51核为主的许多不同型号的单片机。在嵌入式高端应用领域,像网络设备、图像处理、手机、PDA等主要使用ARM、MIPS、PowerPC、DSP等16一64位处理器,以32位处理器为主。各种类型的处理器都有其一定的针对性。其中,ARM处理器的性能高、功耗低,适合于用电池供电的便携、手持式设备。由于近几年便携、手持式嵌入式应用的高速发展,ARM处理器的增长速度和市场占有率也快速提升,成为目前32位应用中的主力产品。ARM公司自成立以来,在32位RISC(ReducedInstructionSetComputer)CPU开发领域不断取得突破,其结构已经从V3发展到V6。由于ARM公司自成立以来,一直以IP(IntelligenceProperty)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有高性能、低功耗、低成本、小体积等显著优点,在移动计算和普适计算领域具有无可比拟的优势,因此得到众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已经占有了32位RISC嵌入式产品市场750/0以上的份额,确立了市场领导地位。现在设计、生产ARM芯片的半导体生产商己经超过50家,国内多家大公司也已经购买ARM公司的芯核用于通信专用芯片的设计。采用R工SC架构的ARM微处理器一般具有以下特点:(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集;(3)大量使用寄存器、指令执行速度更快;46 东华理工大学毕业设计(论文)绪论(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。1.2国内外相关领域研究进展测控专业本科生学生培养的一个主要目标是训练计算机软硬件基础及应用能力,即具有自主设计与开发计算机控制系统和数字化核心器件的能力。为此,为本科生开设了“单片机原理及课程设计”、“微机系统与接口”等课程。但随着嵌入式系统的快速发展,以传统的单片机为基础的数字系统开发课程,逐渐过渡到内容更为广泛的嵌入式系统教学己成大趋势。嵌入式系统教学的核心问题是一个嵌入式的实验平台,包括从硬件、中间件、软件、教学范例以及实验指导等诸多问题。但是纵观现在嵌入式教学平台市场,几乎没有哪一家公司会给出全面的技术文档以及设计细节,更不用说这对本专业而进行的特有设计。同时这些教学平台大多以实验箱的形式出现,其硬件系统集成了嵌入式系统开发应用所需的大部分设备,使得的它的教学平台的功能很强大。但这样做也有很大的弊端:一方面,集成大量的外扩设备无疑使整个教学平台的成本增加;另一方面,学生只能在这个平台上完成特定的实验而不能基于这个平台动手搭建自己的硬件电路,不利于学生动手能力的培养。基于以上的原因这个嵌入式实验平台有必要自行开发。对测控专业的学生来说,中断服务、时钟控制、串口通信、AD采样、简单的I/0口等实验是基本的,实验开发板要有能力支持这类相关的实验,同时考虑到学生的动手能力的培养以及可以进行后续开发等问题,实验开发板不采用实验箱的形式,在尽可能小的电路板面积上集成通用设备接口的同时引出地址总线、数据总线、中断控制、AD转换等CPU的大部分信号引脚。另外,考虑到学生的好动易损坏器件的特点,在设计实验开发板时,除了要求其具有技术先进性的同时,也考虑了实验开发板的通用性、经济性和可靠性。1.3课题内容嵌入式系统的硬件是以嵌入式微处理器为核心的实验开发板,主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。本课题正是要设计出基于当前较好的嵌入式微处理器S3C2410的实验开发板,以便为自行设计的嵌入式仪器提供开发板,从而组成完整的嵌入式系统,开发出自己的嵌入式仪器。本课题的主要内容如下:(1)ARM9-S3C2410微处理器概述及运用;46 东华理工大学毕业设计(论文)绪论(2)辅助设计软件Protel99SE的使用,ARM9-S3C2410开发板的硬件设计;(3)实验开发板的各个功能模块的设计与介绍;(4)实验开发板PCB的设计以及相关措施46 东华理工大学毕业设计(论文)ARM微处理器的概述2ARM微处理器的概述本章简要介绍了嵌入式系统的基本知识和ARM微处理器的一些基本概念、应用领域及特点。主要内容包括:(1)嵌入式系统的基本概念和发展;(2)嵌入式操作系统的基本概念;(3)ARM微处理器的应用领域及特点;(4)ARM微处理器的体系结构。2.1嵌入式系统简介嵌入式系统已经广泛应用于各个科技领域和日常生活的每个角落,由于其本身的特性,使得我们很难发现它的存在。甚至一些从事嵌入式系统开发的科技人员也只知单片机,不知道嵌入式系统。本节将从嵌入式系统的定义开始,阐述嵌入式系统的含义、特点等。2.1.1嵌入式系统的定义嵌入式系统(EmbeddedSystem)从广义上讲,凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。最典型的嵌入式系统如手机、可视电话等;狭义上讲,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。根据英国电机工程师协会所做的定义“嵌入式系统是控制、监视或辅助某个设备、机器甚至工厂运行的设备”,嵌入式系统应该具备以下4个特性:(1)执行特定的功能;(2)以微处理器与外围设备构成核心;(3)需要严格的时序与稳定性;(4)全自动操作。2.1.2嵌入式系统的组成由于嵌入式系统是计算机结构中的一个分支,所以它在硬件上的组成与标准的计算机类似,其中最重要的部分也是微处理器。与标准的计算机结构相同,嵌入式系统中也包含了中央处理器、内存、输入/输出设备,只不过在嵌入式系统里,这里单元以比较特殊的形式存在。嵌入式系统一般有3个主要的组成部分:(1)硬件,图2-1给出了嵌入式系统的硬件组成。其中,处理器是系统运算核心;存储器(ROM、RAM)用来保存可执行代码,以及中间结果;输入输出设备完成与系统46 东华理工大学毕业设计(论文)ARM微处理器的概述外部的信息交换;其他部分辅助系统完成功能。系统专用电路ROMRAM复位及振荡电路处理器定时器串口并口中断控制输入/输出设备接口及驱动电路图2-1嵌入式系统硬件结构(2)应用软件,应用软件是完成系统功能的主要软件,它可以由单独的一个任务来实现,也可以由多个并行的任务来实现。(3)实时操作系统(Real-TimeOperatingSystem,RTOS),该系统用来管理应用软件,并提供一种机制,使得处理器分时的执行各个任务并完成一定的时限要求。由于小型嵌入式系统可能只完成一个任务,因此不需要操作系统。而复杂的嵌入式系统一般会利用操作系统来减少开发的工作量,并提高产品的可靠性。如果系统复杂而且有实时性的要求,则需要实时操作系统来调度多个任务的执行并满足一定的延时要求。嵌入式系统的关键在于结合系统硬件电路与其特定的软件,以达到系统运行性能成本的最高比。系统中的硬件设计包括微处理器及存储器电路的设计、网络功能设计及接口电路设计等等。而嵌入式软件则负责硬件电路的驱动、控制处理,以提高硬件产品的价值,是硬件产品不可缺少的重要部分,它常以固件(Firmware)的形式出现,如控制或驱动程序等[8]。2.1.3嵌入式系统的特点作为专用计算机系统的嵌入式系统与通用的计算机系统相比,具有以下几个重要特征:(1)嵌入式系统通常是面向特定应用。嵌入式CPU与通用型的最大不同就是嵌入式系统大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,并且可以满足不同应用的特定需求;(2)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能完成功能、可靠性和功耗的苛刻要求;46 东华理工大学毕业设计(论文)ARM微处理器的概述(3)实时操作系统支持。嵌入式系统的应用程序可以不需要操作系统地支持直接运行,但是为了合理地调度多任务,充分利用系统资源,用户必须自行选配实时操作系统开发平台,这样才能保证程序执行的实时性和可靠性,减少开发时间,保证软件质量;(4)嵌入式系统与具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦进入市场,具有较长的生命周期;(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不存储于磁盘等载体中;(6)专门开发工具支持。嵌入式系统本身不具备自主开发能力,即使在设计完成以后,用户通常也不能对程序功能进行修改,必须有一套开发工具和环境才能进行开发[8]。2.1.4嵌入式系统的发展嵌入式系统的发展主要经历了4个阶段。(1)以单芯片为核心的可编程控制器形式的系统。主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。(2)以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好。(3)以嵌入式操作系统为标志的嵌入式系统。主要特点是:嵌入式操作系统等运行于各种不同类型的微处理器上,兼容性好;操作系统内核小,效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、支持多任务、支持网络应用、具备图形窗口和用户界面;具有大量的应用程序接口API,开发应用程序较简单;嵌入式应用软件丰富。(4)以Internet为标志的嵌入式系统。这是一个正在迅速发展的阶段。嵌入式设备与Internet的结合将代表嵌入式系统的未来。2.2嵌入式操作系统由于大型嵌入式系统需要完成复杂的功能,所以需要操作系统来完成各任务之间的调度。由于桌面型操作系统的体积,以及实时性等特性不能满足嵌入式系统的要求,从而促进了嵌入式操作系统的发展。操作系统(0S,OperatingSystem)的基本思想是隐藏底层不同硬件的差异,在其上运行的应用程序提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必考虑不同硬件操作方式的差异。嵌入式操作系统(EmbeddedOperatingSystem)负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调。它必须体现其所在系统的特征,能够通过加载卸载某些模块来达到系统所要求的功能。46 东华理工大学毕业设计(论文)ARM微处理器的概述EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点:(1)强稳定性,弱交互性:嵌入式系统一旦开始运行就不需要用户过多的干预,这就要求复杂系统管理的EOS具有很强的稳定性;(2)较强的实时性:EOS实时性一般较强,可用于各种设备的控制当中;(3)可伸缩性:开放、可伸缩性的体系结构;(4)外设接口的统一性:提供各种设备驱动接口。嵌入式系统的操作系统核心通常要求体积要很小,因为硬件ROM的容量有限,除了应用程序之外,不希望操作系统占用太大的存储空间。事实上,嵌入式操作系可以很小,只提供基本的管理功能和调度功能,10KB到20KB以内的嵌入式操作系统比比皆是。尽管不同的应用场合会产生不同特点的嵌入式操作系统,但都会有一个核心(Kernel)和一些系统服务(SystemService)。操作系统必须提供一些系统服务供应用程序调用,包括文件系统、内存分配、I/O存取服务、中断服务、任务(Task)服务、时间(Timer)服务等,设备驱动程序(DeviceDriver)则是要建立在I/O存取和中断服务上的。有些嵌入式操作系统也会提供多种通信协议,以及用户接口函数库等。根据实时性的差别,应用于嵌入式系统中的嵌入式操作系统,又可分为“实时”和“通用型”两种。(1)实时操作系统所谓实时操作系统(Real-TimeOperatingSystem,RTOS),是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分严格。(2)通用型操作系统通用型操作系统的执行性能与反应速度比起实时操作系统没有那么严格。嵌入式操作系统的性能通常取决于核心程序,而核心的工作主要在任务管理(TaskManagement)、任务调度(TaskSchueduling)、进程间的通信(IPC)、内存管理(MemoryManagement)[8]。2.3ARM处理器ARM既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。目前ARM微处理器己广泛应用于工业控制、消费类电子产品、通信系统、网络系统、无线系统等各个领域。2.3.1ARM的体系结构46 东华理工大学毕业设计(论文)ARM微处理器的概述ARM的设计实现了非常小但高性能的结构。ARM处理器的简单使ARM的内核非常小,这样使器件的功耗也非常低。ARM是精简指令集计算机(RISC),因为它集成了非常典型的RISC结构特征:(1)一个大的、统一的寄存器文件;(2)加载/存储结构,数据处理的操作只针对寄存器的内容,而不直接对存储器进行操作;(3)简单的寻址模式,所有加载/存储的地址都只由寄存器的内容和指令域决定;(4)统一和固定长度的指令域,简化了指令的译码。此外,ARM体系结构还提供:(1)每一条数据处理指令都对算术逻辑单元(ALU)和移位器进行控制,以实现对ALU和移位器的最大利用;(2)地址自动增加和自动减少的寻址模式实现了程序循环的优化;(3)所有指令的条件执行实现了最快速的代码执行。这些在基本RISC结构上增强的特性使ARM处理器在高性能、低代码规模、低功耗和小的硅片尺寸方面取得了良好的平衡。2.3.2ARM微处理器的应用领域到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域。(1)工业控制领域:作为32位的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。(2)无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。2.4ARM92OT体系结构2.4.1ARM92OT系统结构分析ARM92OT采用5级流水线,其结构图如图2-2所示,具有分开的指令和数据存储器,5级流水线具体如下:46 东华理工大学毕业设计(论文)ARM微处理器的概述reg写数据存储访问移位取指令译码取指译码执行存储器写图2-2ARM92OT流水线图(1)取指:从存储器中取出指令,并将其放在指令流水线。(2)译码:对指令进行译码。(3)执行:把一个操作数移位,产生ALU的结果。(4)缓冲/数据:如果需要,则访问数据存储器;否则ALU的结果只是简单地缓冲1个时钟周期,以便所有的指令具有同样的流水线流程。(5)回写:将指令产生的结果回写到寄存器,包括任何从存储器中读取的数据。ARM920T处理器一个显著的特点是采用指令和数据分离访问的方式,即采用了指令缓存(I-Cache)和数据缓存(D-Cache)。这样可以把指令访问和数据访问单独安排1级流水线。2.4.2ARM920T的工作状态从编程的角度看,ARM920T微处理器的工作状态一般有两种:(1)ARM状态,此时处理器执行32位的、字对齐的ARM指令;(2)Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM指令集和Thumb指令集均有切换处理器状态的指令,在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器的工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),当异常处理返回时,自动切换回Thumb状态。当操作数寄存器的状态位为0时,执行BX指令可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,将PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。2.4.3ARM920T体系结构的存储器格式ARM920T体系结构将存储器看做是从零地址开始的字节的线性组合。从0字节到3字节放置第1个存储的字数据,从第4个字节到第7个字节放置第2个存储的字数据,依次排列。作为32位的微处理器,ARM92OT体系结构所支持的最大寻址空间为4GB。46 东华理工大学毕业设计(论文)ARM微处理器的概述ARM92OT体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。大端格式中字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如图2-3所示。高地址3124231615870字地址89101145670123840地地址图2-3以大端格式存储数据与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如图2-4所示。高地址3124231615870字地址11109876543210840地地址图2-4以小端格式存储数据2.4.4ARM920T处理器模式ARM920T支持7种运行模式,分别为:(1)用户模式(usr),ARM处理器正常的程序执行状态;(2)快速中断模式(fiq),用于高速数据传输或通道处理;(3)外部中断模式(irq),用于通用的中断处理;(4)管理模式(svc),操作系统使用的保护模式;(5)数据访问终止模式(abt),当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;(6)系统模式(sys),运行具有特权的操作系统任务;(7)未定义指令中止模式(und),当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的6种模式称为特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及访问受保护的系统资源等情况。46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计3基于ARM9-S3C2410开发板的硬件设计本章主要介绍基于S3C2410的ARM9实验开发板的硬件设计,包括硬件系统的详细设计步骤、实现细节等。本章的主要内容包括:(1)Protel99SE简介;(l)系统设计概述;(2)S3C2410及片内外围简介;(4)单元电路设计;(5)开发板硬件原理图。3.1PROTEL99SE简介Protel99SE是澳大利亚ProtelTechnology公司推出的基于Windows平台下的EDA(ElectronicDedignAutomation)电子辅助设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层[4]。Protel99SE为本核心板的设计提供了良好的开发环境,具有高效、快速、灵活的特点,有效地辅助了设计开发,操作便利,节约了制造成本,同时缩短了开发周期。是目前比较高效、灵活的EDA辅助工具。3.2系统设计概述本设计中采用了三星公司生产的S3C2410处理器,S3C2410是一款基于ARM920T内核的16/32位RISC嵌入式微处理器,主要面向手持设备,以及高性价比、低功耗的应用。ARM9实验开发板的系统框图如图3-1所示。AD转换调试电路基本I/O口基本I/O口电源部分基本I/O口串行接口I2C总线CAN总线核心板ARM9-S3C24108个独立的发光二极管键盘与LED显示基本I/O口RS-485电路USB接口电路I2S总线复位电路图3-1开发板系统框图46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计本实验开发板在尽可能小的电路板面积上集成了各类总线、标准串口、USB接口、AD转换、复位电路、RS-485电路、调试电路、用户按键和一些用户灯等,并且引出了CPU的大部分信号引脚。通过这个平台可以针对S3C2410进行系统级的硬件和软件设计,并且能够很方便地在该平台上进行相关的功能扩展,以及进行所需的产品设计。该开发板在保证学生完成ARM技术学习开发的同时,考虑了系统的扩展、电路板的面积、散热、电磁兼容性,以及安装等问题。3.3S3C2410处理器及片外围简介S3C2410是三星公司推出的16/32位RISC处理器(ARM920T内核),适用于手持设备、POS机、数字多媒体播放设备等等,具有价格低、低功耗、高性能等特点。S3C2410采用了ARM920T内核,0.18um工艺的CMOS标准宏单元和存储单元。它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样它还采用了AdvancedMicrocontrollerBusArchitecture(AMBA)新型总线结构[3]。S3C2410提供了一系列完整的系统外围设备,消除了为系统配置额外器件的需要,大大减少了整个系统的成本。S3C2410主要的特征如下:(1)203Mhz的ARM920T内核,支持JTAG仿真调试;(2)16KB的I-Cache和16KB的D-Cache;(3)具有MMU,支持WinCE、EPOC32、Linux等操作系统;(4)外部存储器控制器,共分8个Bank,每个Bank可访问128MB空间;(5)片内4KBSRAM,可用作NANDFlash系统引导的缓冲区;(6)LCD控制器(最大支持4K色STN和256色TFT),1通道LCD专用DMA;(7)4通道DMA,有外部请求引脚;(8)3个UART(IrDA1.0,16字节TxFIFO,16字节RxFIFO);(9)2个SPI总线接口;(10)1个多主IC总线接口;1个IIS总线接口;(11)兼容SD主接口协议1.0版和MMC卡协议2.11兼容版;(12)NANDFlash/SM卡接口,支持NANDFlash系统引导;(13)2个USB主机接口,1个USB设备接口(V1.1);(14)4个PWM定时器和1个内部定时器;(15)看门狗定时器;46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计(16)117个通用I/O口;(17)24个外部中断;(18)8通道10位ADC和触摸屏接口;(19)具有日历和时钟功能的RTC;(20)1.8V内核供电,3.3V存储器供电,3.3V外部I/O供电;(21)功耗控制模式:普通,慢速,空闲和掉电模式;(22)具有片内PLL时钟发生器。如图3-2所示为S3C2410芯片内部结构框图。图3-2S3C2410芯片内部结构图46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计3.4单元电路设计3.4.1电源电路本课题中使用两组电源值3.3V和1.8V,为整个电路中包括S3C2410、存储器、外部I/O等部分提供电压。本设计是由外部输入5V电源经电容滤波,然后使用LDO芯片(低压差电源芯片)稳压输出3.3V和1.8V电压。LDO芯片分别采用SPX1117M3-3.3和SPX1117M3-1.8,其特点为输出电流大,输出电压精度高,稳定性好。SPX1117系列LDO芯片输出电流可达800mA,输出电压的精度在1%以内,还具有电流限制和热保护功能,广泛应用在手持式仪表、数字家电、工业控制等领域。使用时,其输出端需要一个至少10uF的钽电容来改善瞬态响应和稳定性。设计中连接有指示灯,电源上电后,指示灯亮。开发板电源管理部分的设计原理图如图3-3所示。图3-3电源电路原理图为保证系统工作的稳定性,电源必须经过稳压、去耦和滤波[7]。0.1uF的非极性电容为滤波电容,其作用是即将输入的电源信号中特定波段的频率滤除,以达到抑制和防止干扰的目的;值为10uF且有正负极的则为去耦电容,它能抑制因负载变化而产生的噪声。3.4.2串行接口电路设计RS-232C是一种很常用的串行数据传输总线标准。随着微型计算机和微控制器的发展,不仅远距离通信,近距离通信也采用该方式。在近距离通信系统中,不再使用电话线和MODEM。而直接进行端到端的连接。46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计RS-232C标准采用的接口是9芯或25芯的D型插头,以常用的9针插头为例,其引脚描述如下表3-1所示:引脚名称功能描述1DCD数据载波检测2RXD数据请求3TXD数据发送4DTR数据终端准备好5GND地6DSR数据设备准备好7RTS请求发送8CTS清除发送9RI振铃指示表3-19芯D型插头引脚信号描述要完成最基本的串行通信功能,实际上只需要3个引脚RXD、TXD和GND即可,但由于RS-232C标准所定义的高低电平信号与S3C2410系统的LVTTL电路所定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应2~3.3V电平,标准逻辑“0”对应0-0.4V电平,而RS-232C标准采用负逻辑方式,标准逻辑“1’’对应-5V~-15V电平,标准逻辑“0’’对应+5V-+15V电平。显然,两者间要进行通信必须经过信号电平的转化。其接口电路图如图3-4所示:图3-4串行接口原理图本课程设计了两个UART0相连的RS-232C电路。3.4.3IIC总线接口电路设计46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计IIC总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两线在连接到总线上的器件之间传送信息,并根据地址识别每个器件。尽管这个总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少,因此其构成的系统价格低,器件间总线简单,结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方便地确定总线的时钟,因此在嵌入式系统中得到了广泛的应用。S3C2410内含一个IIC总线主控器,可方便地与各种带有IIC接口的器件相连。在本设计中,外扩了一片CSI24C64作IIC存储器。CSI24C64提供64Kb的EEPROM存储空间,可用于少存放量在系统掉电时需要保存的数据。S3C2410的IIC接口电路如3-5所示:图3-5I2C总线原理图3.4.4复位按键电路由于ARM芯片的高速、低功耗、低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。复位按键电路设计原理图如图3-6所示。图3-6复位电路原理图本开发板的复位电路设计只采用一个按键实施控制,以满足要求。nRSTIN信号是由用户板输入的复位控制信号,用户板上可以将nRSTIN引脚接一个复位按键,用于手动复位。46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计3.4.5调试接口电路的设计JTAG是英文“JointTestActionGroup(联合测试行为组织)”的词头字母的简写,是由几家主要的电子制造商发起制订的PCB和IC测试标准。JTAG建议于1990年被IEEE批准为IEEE1149.1-1990测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。JTAG主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。JTAG也是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试[11]。H-JTAG是H-JTAG团队开发的一款自主原创的ARM仿真套件,H-JTAG开发套件主要包括了:H-JTAG SERVER调试软件,H-FLASHER烧写软件,及高速H-JTAG USB 仿真器.。使用H-JTAG,你可以轻松地通过WIGGLER或者SDT-JTAG或用户自定义的JTAG小板调试所有的ARM7/ARM9处理器。本设计开发板硬件完成后,连接测试底板上的20针JTAG测试口到PC上,通过JTAG口可以与片上、片外的存储器和控制器交换数据,最终完成测试及相关分析。如图3-7所示为本设计测试底板上JTAG口的原理图。图3-7调试电路原理图20针JTAG接口的引脚功能描述参见表3-2。表3-220针JTAG接口定义引脚名称描述序号名称功能1VCC接3.3V电源2VCC接3.3V电源3nTRST测试系统复位信号5TDI测试数据串行输入7TMS测试模式选择9TCK测试时钟11RTCK测试时钟返回信号13TDO测试数据串行输出15nRESET目标系统复位信号其中,17、19脚为NC,4、6、8、10、12、14、16、18、20为GND。46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计经过反复调试,整个开发板的硬件设计基本完成,可以安全上电,并通过H-JTAG测试找到核心板的ARM9核心。3.5开发板硬件原理图进行硬件设计开发,首先需要进行原理图设计,需要将一个个的元器件按一定的逻辑关系连接起来。原理图其实就是电路图,它一般被视为PCB设计过程的第一步,也是电子工程技术人员对产品设想的具体实现[6]。电路原理图的设计过程可分为以下几个步骤:(1)设置电路图纸参数及相关信息;(2)装入所需要的元件库;(3)放置元件;(4)电路图布线;(5)调整、检查和修改;(6)补充完善;(7)保存和打印输出。原理图设计的基本规范如下:(1)各功能块布局要合理,整份原理图需布局均衡。避免有些地方很挤,而有些地方又很松,同PCB设计同等道理。(2)尽量将各功能部分模块化(如功放RADIO,EVOL,SUB-WOOFER等),以便于同类机型资源共享,各功能模块界线需清晰。(3)接插口尽量分布在图纸的四周围,示意实际接口外形及每一接脚的功能。(4)每一部件(如TUNER、IC)电源的去耦电阻/电容需置于对应脚的就近处。(5)滤波器件(如高/低频滤波电容,电感)需置于作用部位的就近处。(6)重要的控制或信号线需标明流向及用文字标明功能。(7)CPU为整机的控制中心,接口线最多。故CPU周边需留多一些空间进行布线及相关标注,而不致于显得过分拥挤。如图3-8所示为开发板硬件设计的原理图整体图。46 东华理工大学毕业设计(论文)基于ARM9-S3C2410开发板的硬件设计图3-8开发板原理图此原理图按功能模块分区域布局,总体上可分为七个区域:S3C2410、电源、各类总线、中断控制、A/D转换、晶振及复位、I/O接口。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计46东华理工大学毕业设计(论文)开发板硬件的PCB板设计4.开发板硬件的PCB板设计电路设计自动化EDA(ElectronicDesignAutomation)指的就是将电路设计中各种工作交由计算机来协助完成。Cadence公司是世界上最大的EDA公司之一,产品众多,其中PSD和SPB是其EDA产品中的一部分,具有功能强大、性能卓越等特点。Cadence软件对PCB板级的电路系统设计流程包括原理图输入,数字、模拟及混合电路仿真,自动布局、布线,印制电路板图及生产制造数据输出,以及针对高速PCB板电路的信号完整性分析等。本章的主要内容包括:(1)PCB的基本概念;(2)PCB信号线的布线;(2)布线后完整性的PCB板;(4)提高该板抗电磁干扰能力的措施。4.1PCB的基本概念在电子系统中,需要各种长度的走线。在这些走线上,信号从线的始端(例如信号源)传输到终端(例如负载)需要一定的时间。已经证实电信号在分布良好的导线中的传输速度为3×108m/s。假设走线的长度为5m,信号从始端到终端就需要17ns,也就是说,信号存在17ns延时。这种延时在低速系统中可以忽略,但在高速电路中,这个数量级的延时是不能忽略的。同时在高速电路板设计还需要考虑其他的问题,例如当信号在导线上高速传输时,如果始端阻抗与终端阻抗不匹配,将会出现电磁波的反射现象,它会使信号失真,产生有害的干扰脉冲,从而影响整个系统运行。因此,在设计高速电路时,信号延时的问题必须认真考虑,电路分析需要引入EMI/EMC分析,在这种情况下,经典的集总线电路理论己不再适用,在电路仿真设计程序中应使用分布电路模型。4.1.1高速电路定义及高速信号确定通常,数字逻辑电路的频率达到或者超过50MHZ,并且工作在这个频率之上的电路占整个系统的1/3以上,就可以称其为高速电路。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计实际上,与信号本身的频率相比,信号边沿的谐波频率更高,信号快速变化的跳变(上升沿或下降沿)引发了信号传输的非预期结果。如果线传播延时大于数字信号驱动端上升时间的1/2,则可认为此类信号是高速信号并产生传输线效应。信号的传递发生在信号状态改变的瞬间,如上升或下降时间。信号从驱动端到接收端经过一段固定的时间,如果传输时间小于上升或下降时间的1/2,那么在信号改变状态之前,来自接收端的反射信号将到达驱动端。否则,反射信号将在信号改变状态之后达到驱动端。当反射信号很强时,叠加的波形就有可能改变逻辑状态。在进行PCB布线以前还要确定哪些信号是高速信号。通常,通过器件手册可以查出信号上升时间的典型值。而在PCB设计中,实际布线长度决定了信号的传播时间。如果过孔多、器件管脚多或网线上设置的约束多,将导致延时增大。一般情况下,高速逻辑器件的信号上升时间大约为0.2ns。以Tr表示信号上升时间,Tpd表示信号线传播延时,若Tr≥4Tpd,信号将落在安全区域;若2Tpd≤Tr≤4Tpd,信号将落在不确定区域;若Tr≤2Tpd,信号将落在问题区域。当信号落在不确定区域或问题区域时,应该使用高速布线方法进行PCB设计[16]。4.1.2传输线一般可以用串联和并联的电容、电阻和电感结构等效PCB板上的走线。通常串联电阻的典型值为0.25~0.55Ω。由于存在绝缘层的缘故,并联电阻阻值通常很高。将寄生电阻、电容和电感加到实际的PCB连线中之后,连线上的最终阻抗称为特征阻抗Z0。线径越窄、距电源/地越远或隔离层的介电常数越低,特征阻抗就越大。如果接收端和传输线的阻抗不匹配,那么输出的信号和信号最终的稳定状态将不同,从而引起信号在接收端产生反射。该反射信号将传回到信号的发射端,并将再次被反射回来,直至反射信号随着能量的减弱而幅度随之减小,最终信号的电压和电流达到稳定。此效应称之为振荡,在信号的上升沿和下降沿经常可以看到信号的振荡。基于上述定义的传输线模型,归纳起来,传输线会对整个电路设计带来以下效应:1.反射信号如果一根走线没有被正确终结(终端匹配)。那么来自驱动端的信号脉冲在接收端将被反射。从而引发不预期效应,使信号轮廓失真。反射信号产生的主要原因包括过长的走线、未被匹配终结的传输线、过量电容或电感以及阻抗失配。2.信号延时和时序错误信号延时和时序错误表现为信号在逻辑电平的高、低门限之间变化时,保持一段时间信号不跳变。过多的信号延时可能导致时序错误和器件功能的混乱。信号延时产生的原因包括驱动过载、走线过长。3.多次跨越逻辑电平门限错误信号在跳变过程中可能多次跨越逻辑电平门限,从而导致这一类错误的发生。多次跨越逻辑电平门限错误是信号振荡的一种特殊形式,即信号振荡发生在逻辑电平门限附近,多次跨越逻辑电平门限将导致逻辑功能紊乱。4.过冲与下冲46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计走线过长或者信号变化太快,可以导致过冲与下冲的发生。尽管大多数元器件的接收端有输入保护二极管保护,但有时过冲电平会远远超过元器件的电源电压范围,仍会导致元器件的损坏。5.串扰在一根信号线上有信号通过时,在PCB板上与之相邻的信号线会感应出相关的信号,这种现象称之为串扰。异步信号和时钟信号更容易产生串扰。解决串扰的方法是移开发生串扰的信号线或屏蔽被严重干扰的信号。信号线距离地线越近或加大线间距,可以减少串扰信号。6.电磁辐射电磁干扰(Electro—MagneticInterference,EMI),包括产生过量的电磁辐射及对电磁辐射的敏感性两个方面。EMI表现为在数字系统加电运行时,会向周围环境辐射电磁波,从而使周围环境中正常工作的电子设备受到干扰。EM工产生的主要原因是,电路的工作频率太高,以及PCB布局布线不合理。通常可在设计的每个环节应用控制EMI的各项设计规则,以达到控制EM工的目的。4.2高速PCB信号线的布线4.2.1高速PCB信号线的布线基本原则(1)合理选择层数。高频电路往往集成度较高,且布线密度较大,因此必须采用多层板进行布线,这也是降低干扰的有效手段。有资料显示,同种材料的两层板要比一面板的噪声低,但是板层数越高,制造工艺越复杂,成本也越高。(2)减少高速电路器件管脚间引线的弯折。高频电路布线的引线最好采用全直线,需要弯折时,可用45“折线或圆弧线,这样可以减少高频信号对外的发射和相互间的藕合。(3)缩短高频电路器件管脚间的引线。满足布线最短的最有效手段是在自动布线前对重要高速网络进行布线预约。(4)减少高频电路器件管脚间的引线层间交替。所谓减少引线的层间交替,是指减少元件连接过程中一所用的过孔。一个过孔可以带来约0.5pF的分布电容,减少过孔数量能显著地提高速度。(5)注意信号线近距离平行走线时所引入的交叉干扰。若无法避免平行分布,可在平行信号线的反面布置大面积的地,从而大幅度地减少干扰。同层内平行走线几乎无法避免,但是在相邻的两个层的走线方向务必取为相互垂直,在高频电路布线中最好在相邻层分别进行水平竖直布线。(6)对特别重要的信号线或局部单元实施地线包围的措施。对时钟等单元局部进行包地处理对高速系统将非常有益。(7)各类信号走线不能形成环路,也不能形成电流环路。(8)每个集成电路块的附近应设置一个高频去藕电容[16]。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计4.3.2地线设计在电子设备中,控制干扰的重要方法是接地。如能将接地和屏蔽正确结合起来使用,可以解决大部分的干扰问题。在电子设备中,地线结构大致分为系统地、机壳地(屏蔽地)、数字地(逻辑地)和模拟地等。在地线设计中应注意以下几点:(1)正确选择单点接地与多点接地在低频电路中,信号的工作频率通常小于1MHz,布线和器件间的电感影响较小,而接地电路形成的环流对干扰影响比较大,因此应采用一点接地方式。当信号工作频率大于10MHz时,地线阻抗将变得很大,此时应尽量降低地线阻抗,应采用就近多点接地方式。当工作频率在1~10MHz时,若采用一点接地方式,其地线长度不应超过波长的1/20,否则应采用多点接地方式。(2)将数字电路与模拟电路分开当电路板上既有高速逻辑电路,又有线性电路时,应使它们尽量分开,两者的地线不要相混,并且分别与电源端地线相连。要尽量加大线性电路的接地面积。(3)尽量加粗接地线若接地线很细,接地电位将随电流的变化而变化,导致电子设备的定时信号电平不稳,抗噪声性能变坏。因此,应尽量将接地线加粗,使它能通过3倍于印刷电路板的允许电流。如果有可能,接地线的宽度应大于3mm。(4)将地线构成闭环路设计仅由数字电路组成的印刷电路板的地线系统时,应将地线设计成闭环路,这样可以明显地提高抗噪声能力。其原因在于,当印刷电路板上有很多集成电路元件,尤其是遇到耗电多的元件时,因受地线粗细的限制,会在地线上产生较大的电位差,从而引起抗噪声能力下降。若将地线构成环路,则会缩小电位差,从而提高电子设备的抗噪声能力。4.3布线后信号完整性的PCB板电路板也称PCB版,是印刷电路板电子板卡的基础,由若干层导体和绝缘体组成的平板。电路图纸上的线路都蚀刻在其上,然后焊接上元件。由于所有的元件都焊在电路板上,因此电路板的布局和布线是决定整个电路板性能的重要方面[10]。印制电路板的设计过程:(1)规划电路板并设置参数;(2)引入网络表;(3)元件布局和调整;(4)布局规则设置、自动布线与手工调整。如图4-1所示为本设计开发板的PCB图。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计图4-1开发板PCB板本开发板的PCB设计分层简介见表4-1。表4-1PCB板层规划层号层名称层作用线条颜色1TopLayer信号层红2BottomLayer信号层蓝本设计的开发板采用两层板设计,没有一个完整的地层和分割成两部分的电源层。由于开发板对模拟电源/模拟地的噪声要求不是很高,所以没有将模拟电源/模拟地与数字电源/数字地进行隔离,但其PCB板采用了大面积敷地,以降低噪声。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计开发板PCB布局的Toplayer层的布线结果如图4-2所示。图4-2PCB板Toplayer层PCB板的Toplayer层是本设计开发板布线的主要层,整个PCB的设计便是先尽量在此层走线,尤其注意将S3C2410的引脚引出。而在这一层布线要注意尽量将布线朝向一个方向,这样十分有利于后面各层的走线。在这一层走线总体上是将高速、敏感的信号线引出敏感的中间区域,为下面的布线做铺垫。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计开发板bottomlayer层的布线结果如图4-3所示。图4-2PCB板Bottomlayer层此Bottomlayer层总体上作为很关键的备用线使用。一般,在布线前中期过程尽量不使用它,而是等较为严密的将上面几层布线较为充分的使用后,对于重要的一些布线使用此备用线。46 东华理工大学毕业设计(论文)开发板硬件的PCB板设计4.4提高该板抗电磁干扰能力的措施1.电源和地线是板上所有信号的公共通路,随着板上信号频率的增加,电源和地线组成的信号回路阻抗变得不可忽视,各路信号会通过这个公共阻抗而相互影响。在本设计中从以下方面进行了改进:(1)采用了四层PCB设计,具有独立的电源层和地层,因为完整的地层和电源层其交流阻抗要比普通PCB走线小很多。但是在设计中不可能完全的做到,所以尽量做到不大片的割开电源或地层,尽量用短线割开,确保信号流过电源、地的时候畅通无阻。(2)设计中尽量的加粗电源和地线宽度(60mil),将电源尽量的设计成星形,其根结点放在整板电源的引入点,再牵引到整板中任何元件(负载)以前。(3)在多层地(铺铜)间打过孔,使各层地良好连通。在设计中每隔200mil就打一个过孔以保证各层地之间的良好连通和使地信号就近流入。2.随着时钟频率增加,时钟信号上升沿日趋陡峭,这对导线的长度和阻抗匹配提出了更高的要求。当信号线的长度超过一定数值,导致电信号在其上的传播延迟时间大于信号本身的变化周期的时候,信号线须当作传输线来看待,须在其始端和(或)终端采取一定的阻抗匹配措施,以遏制可能产生的反射、振铃等现象的产生。对于S3C2410芯片为核心的系统来说,需要注意的就是CPU和SDRAM之间的总线,通常此总线的工作频率在100MHz,稍有不慎即有可能发生反射、振铃等问题,进行PCB布线时可以采用了以下措施以尽量避免问题:(1)尽量缩短CPU和SDRAM之间的走线长度,尽量使走线在100MHz的信号频率下呈现出集总线电路的特性。长度控制在50~70mm之内。(2)尽量保持各条线的等长性。(3)在时钟信号的驱动端(靠CPU端)串入22欧姆的串联匹配电阻,以抑制反射波。3.为每个集成电路添加一个去祸电容,每个电解电容边上都要加上一个小的高频旁路电容。4.尽量用大容量的担电容,作为电路充放电储能电容。46 东华理工大学毕业设计(论文)结论与展望结论与展望本论文主要是围绕ARM9微处理器S3C2410而开展的最小系统开发板的硬件设计以及硬件调试。通过本论文掌握了解ARM9-S3C2410的结构与特点,掌握该类嵌入式微处理器的开发技术及软硬件初步的调试方法。从而熟悉嵌入式微处理器类的系统硬件开发流程,以及掌握开发过程和调试过程中相应问题的解决方案。最终,本设计的开发板通过测试分析,对开发板进行测试和修正,验证了开发板的性能。通过对整个设计过程的分析,现总结几点结论:(1)基于嵌入式微处理器的最小系统开发板的硬件开发,首先要进行系统需求及功能的分析,明确所要实现的功能要求;然后根据要求进行器件的选型,搜集相关的器件资料。有效地利用核心处理器的内部与外扩资源进行电路设计是非常重要的。(2)整个设计的实际制作过程是通过利用EDA软件来完成的,而PCB布局布线环节十分重要。它影响着设计结果的一些重要性能。熟练并良好的利用EDA软件对技术人员来说十分重要。(3)在设计和调试过程中,要充分地了解和掌握各模块的基本原理,只有较好地掌握了相关原理,才能灵活地做好设计和调试工作。(4)电源是开发板设计的灵魂部分,在设计过程中要注意多考虑其影响;(5)在原理图设计中要认真核对每一部分的每一引脚,以免因为某一局部的问题的对整个开发板造成无法挽回的影响;(6)在最小系统的规划中,考虑到开发板体积和局部对整体的影响。另,在设计开发过程中一定要注意问题的分析与总结,最好是做好笔记,出现问题后要从根本上查找原因,寻找解决方案,问题解决后及时总结,记录原因及相应解决方案,以备后用。由于设计时间和个人能力的限制,本课题虽然有了一定的成果,但在某些方面仍存在一定的问题,需要继续改进:(1)开发板的PCB设计中可以将一些器件放置在PCB板背面以利于布线而达到良好的稳定性以及实现更低的制造成本,同时也使开发板的体积更小;(2)在开发板规划中应考虑到总线驱动部分的安排,这对于整个开发板的信号稳定性有很大的影响;(3)本课题只是对开发板的硬件做了设计。46 东华理工大学毕业设计(论文)致谢致谢整个毕业设计是在徐哈宁老师的细心指导下完成的。从开始着手设计一直到设计完成,徐老师都引导和启发我进行相关的学习,遇到问题的徐老师都会耐心的讲解。特别是在硬件的PCB设计中,徐老师给予了很多的指导,整个毕业设计包含着徐老师的辛苦努力。除了专业理论外,他也让我学到了很多其他方面的知识,在此深表感谢!本专业的各位老师也给予了诸多关怀和支持,在此也表示感谢,感谢各位老师多这几年来的教诲与关怀,也感谢各位同学平时学习生活中给予的帮助!46 东华理工大学毕业设计(论文)参考文献参考文献[1]周立功.S3C2410&嵌入式Linux系统教程[M].广州致远电子有限公司,2000,6-7.[2]NEURONCHIPDistributedCommunicationandControlProcessors.MotoloraInc[J].1994.[3]刘凯.ARM嵌入式接口技术应用[M].北京:清华大学出版社,2009,8-22.[4]曾峰,巩海洪,曾波.印刷电路板设计与制作[M].北京:电子工业出版社,2003,60-75.[5]候冬晴,李建锋,朱长城.ARM技术原理与应用[M].北京:清华大学出版社.2009,4-15.[6]顾海洲,马双武.PCB电磁兼容技术[M].北京:清华大学出版社,2006,29-37.[7]HallSH.High-speedDigitalSystemDesign.JohnWiley&SonsInc[J].2000.[8]于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006,60-85.[9]张绮文,谢建雄.ARM9嵌入式常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2007,131-144.[10]王庆斌,刘萍,尤利文等.电磁干扰与电磁兼容技术[M].北京:机械工业出版社,1998.[11]张崙.32位嵌入式系统硬件设计与调试[M].北京,机械工业出版社,2005.[12]张大波.嵌入式系统原理设计与应用[M].北京,机械工业出版社,2004.[13]周立功.ARM嵌入式系统实验教程[M].北京:北京航空航天大学出版社.2006.[14]李伯成.嵌入式系统可靠性设计[M].北京:电子工业出版社,2006.[15]孙秋野,孙凯,冯健.ARM嵌入式系统开发典型模块[M].北京:人民邮电出版社,2007.你[16]周润景,袁伟亭,刘晓滨.CadencePCB设计与制版.电子工业出版社.200546 东华理工大学毕业设计(论文)附录1附录1S3C2410信号描述信号I/O描述总线控制器OM[1:0]IOM[1:0]在产品测试时可以将S3C2410置于测速模式下。它还决定nGCS0使能区域的总线宽度。接在该引脚上的上拉电阻或下拉电阻决定了它在复位期间的逻辑电平。00:Nand-boot01:16-bit10:32-bit11:Testmode(【00:01】二选一电阻)ADDR[26:0]OADDR[26:0](地址总线)输出对应bank区内的要访问的地址DATA[31:0]IODATA[31:0](数据总线)在读取存储器时从该总线输入数据,在写存储器输出数据。该总线的宽度可以通过编程设定在8/16/32位。nGCS[7:0]OnGCS[7:0](通用片选)当要访问的地址位于某个bank区内,那么该bank对应的片选就会被激活。操作周期和bank的大小是可编程的。nWEOnWE(写使能)表示当前总线周期是一个写周期nOEOnOE(OutputEnable)表示当前总线周期是一个读周期nXBREQInXBREQ(总线占用请求)允许其他需要占用总线的设备请求当地总线的控制权。BACK有效时表示总线控制被承认了。nXBACKOnXBACK(总线占用应答)表示S3C2410同意交出当地总线的控制权给总线的请求者。nWAITInWAIT信号要求延长总线周期。只要nWAIT是低电平,当前总线周期就没有结束。如果nWAIT信号没有在你的系统中使用,必须用一个上拉电阻接在nWAIT引脚上。SDRAM/SRAMnSRASOSDRAM行地址使能nSCASOSDRAM列地址使能nSCS[1:0]OSDRAM片选DQM[3:0]OSDRAM数据屏蔽SCLK[1:0]OSDRAM时钟SCKEOSDRAM时钟使能nBE[3:0]O高字节/低字节使能(在16-位SDRAM中使用)nWBE[3:0]O写字节使能NANDFlash46 东华理工大学毕业设计(论文)附录1CLEO命令锁存使能ALEO地址锁存使能nFCEONANDFlash片选使能nFREONANDFlash读使能nFWEONANDFlash写使能NCONINANDFlash配置,如果没有使用NANDFlash控制器,它必须接一个上拉电阻。R/nBINANDFlash准备好/忙。如果没有使用NANDFlash控制器,它必须接一个上拉电阻。LCD控制器单元VD[23:0]OSTN/TFT/SECTFT:LCD据总线LCD_PWRENOSTN/TFT/SECTFT:LCD屏电源使能控制信号VCLKOSTN/TFT:LCD时钟信号VFRAMEOSTN:LCD帧信号VLINEOSTN:LCD线信号VMOSTN:VM改变行和列电压的极性VSYNCOTFT:垂直同步信号HSYNCOTFT:水平同步信号VDENOTFT:数据使能信号LENDOTFT:线结束信号STVOSECTFT:SEC(SamsungElectronicsCompany)TFTLCD屏控制信号CPVOSECTFT:SEC(SamsungElectronicsCompany)TFTLCD屏控制信号LCD_HCLKOSECTFT:SEC(SamsungElectronicsCompany)TFTLCD屏控制信号TPOSECTFT:SEC(SamsungElectronicsCompany)TFTLCD屏控制信号STHOSECTFT:SEC(SamsungElectronicsCompany)TFTLCD屏控制信号LCDVF[2:0]OSECTFT特殊TFTLCD(OE/REV/REVB)的时序控制信号中断控制单元EINT[23:0]I外部中断请求DMAnXDREQ[1:0]I外部DMA请求nXDACK[1:0]O外部DMA应答46 东华理工大学毕业设计(论文)附录1异步串行口RXD[2:0]I异步串行口接收数据输入TXD[2:0]O异步串行口发送数据输出nCTS[1:0]I输入信号,被清零时,发送数据nRTS[1:0]O输出信号,请求发送UEXTCLKI异步串行口时钟信号ADCAIN[7:0]AIADC输入信号[7:0]。如果不使用,该引脚接地VrefAIADC参考电压IIC总线IICSDAIOIIC总线数据IICSCLIOIIC总线时钟IIS总线I2SLRCKIOIIS总线通道选择时钟I2SSDOOIIS总线串行数据输出I2SSDIIIIS总线串行数据输入I2SSCLKIOIIS总线串行时钟CDCLKOCODEC系统时钟触摸屏nXPONOX轴正端开关控制信号XMONOX轴负端开关控制信号nYPONOY轴正端开关控制信号YMONOY轴负端开关控制信号USB主设备DN[1:0]IOUSB主设备的DATA(-)信号(需下拉电阻15K)DP[1:0]IOUSB主设备的DATA(+)信号(需下拉电阻15K)USB从设备PDN0IOUSB从设备的DATA(-)信号(需下拉电阻470K)PDP0IOUSB从设备的DATA(+)信号(需下拉电阻1.5K)SPISPIMISO[1:0]IO当SPI配置为总线上的主设备,SPIMISO是主设备的数据输入线。如果SPI配置为总线上的从设备,则成为设备的数据输出线。SPIMOSI[1:0]IO46 东华理工大学毕业设计(论文)附录1当SPI配置为总线上的主设备,SPIMISO是主设备的数据输出线。如果SPI配置为总线上的从设备,则成为设备的数据输入线。SPICLK[1:0]IOSPI时钟nSS[1:0]ISPI片选(针对从设备模式)SDSDDAT[3:0]IOSD接收/发送数据SDCMDIOSD接收回应/发送命令SDCLKOSD时钟GeneralPortGPn[116:0]IO通用输入/输出端口(其中一些只能用作输出)TIMMER/PWMTOUT[3:0]O定时器输出[3:0]TCLK[1:0]I外部定时器时钟输入JTAGTESTLOGICnTRSTInTRST(TAP控制器复位)开始时复位TAP控制器。如果使用调试器,需要连接一个10K的上拉电阻。如果不适用调试器,nTRST引脚必须输入一个低电平脉冲(一般连接到nRESRT)TMSITMS(TAP控制器模式选择)控制TAP控制器状态序列。TMS引脚需要连接一个10K的上拉电阻。TCKITCK(TAP控制器时钟)为JTAG逻辑提供时钟输入。TCK引脚需要连接一个10K的上拉电阻。TDIITDI(TAP控制器数据输入)测试指令和数据串行输入。TDI引脚需要连接一个10K的上拉电阻。TDOOTDO(TAP控制器数据输出)测试指令和数据的串行输出。Reset,Clock&PowernRESETSTnRESET信号将挂起任何操作,并将S3C2410带入一个可知的复位状态。一个有效的复位信号,必须是在处理器电源稳定之后,将nRESET保持至少4个FCLK的时间。nRSTOUTO外部设备复位控制(nRSTOUT=nRESET&nWDTRST&SW_RESET)PWRENO2.0V内核电压开关控制信号nBATT_FLTI电池状态探测器(不能够在掉电模式下,因电量低而唤醒处理器)如果它不使用,必须接高电平(3.3V)OM[3:2]IOM[3:2]决定采用哪种时钟。46 东华理工大学毕业设计(论文)附录1OM[3:2]=00b,晶振用于MPLLCLK时钟源和UPLLCLK时钟源。OM[3:2]=01b,晶振用于MPLLCLK时钟源,EXTCLK用于UPLLCLK时钟源。OM[3:2]=10b,EXTCLK用于MPLLCLK时钟源,晶振用于UPLLCLK时钟源。OM[3:2]=11b,EXTCLK用于MPLLCLK时钟源和UPLLCLK时钟源EXTCLKI外部时钟源OM[3:2]=00b,EXTCLK用于UPLLCLK时钟源。OM[3:2]=10b,EXTCLK用于MPLLCLK时钟源,晶振用于UPLLCLK时钟源。OM[3:2]=11b,EXTCLK用于MPLLCLK时钟源和UPLLCLK时钟源如果它不使用,必须接高电平(3.3V)XTIpIIAI内部振荡电路的晶振输入OM[3:2]=00b,用于MPLLCLK时钟源和UPLLCLK时钟源。OM[3:2]=01b,用于MPLLCLK时钟源OM[3:2]=10b,用于UPLLCLK时钟源如果它不使用,XTIpII必须接高电平(3.3V)XTOpIIO内部振荡电路的晶振输出OM[3:2]=00b,用于MPLLCLK时钟源和UPLLCLK时钟源。OM[3:2]=01b,用于MPLLCLK时钟源OM[3:2]=10b,用于UPLLCLK时钟源如果它不使用,必须浮空MPLLCAPAI主时钟的环路滤波电容UPLLCAPAIUSB时钟的环路滤波电容XTIrtcAI32.768KHz的RTC晶振输入。如果不被使用,必须接高电平(RTCVDD=1.8V)XTOrtcO32.768KHz的RTC晶振输出。如果不被使用它必须设为悬空。CLKOUT[1:0]O时钟输出信号。MISCCR寄存器的CLKSEL域设定了时钟输出的模式,包括:MPLLCLK,UPLLCLK,FCLK,HCLK和PCLK电源VDDalivePS3C2410复位电路和端口状态寄存器电源(1.8V/2.0V)。无论是正常模式还是掉电模式它都应该始终提供电源PS3C2410的CPU内核逻辑电源(1.8V/2.0V)46 东华理工大学毕业设计(论文)附录1VDDi/VDDiarmVSSi/VSSiamPS3C2410内核逻辑VSSVDDi_MPLLPS3C2410MPLL模拟和数字VDD(1.8V/2.0V)VSSi_MPLLPS3C2410MPLL模拟和数字VSSVDDOPPS3C2410I/O口VDD(3.3V)VDDMOPPS3C2410存储器I/O口VDD(3.3V):SCLK最高133MHzVSSMOPPS3C2410存储器I/O口VSSRTCVDDPRTCVDD(1.8V,不支持2.0and3.3V)(如果RTC不使用它必须连接到电源)VDDi_UPLLPS3C2410UPLL模拟和数字VDD(1.8V/2.0V)VSSi_UPLLPS3C2410UPLL模拟和数字VSSVDDA_ADCPS3C2410ADCVDD(3.3V)VSSA_ADCPS3C2410ADCVSS46 东华理工大学毕业设计(论文)附录2附录2核心板引脚功能引脚标号功能备注A1OM0启动方式选择接地:NANDFlash启动方式(OM[1:0]=00)悬空:Bank0启动方式(16bit)A2nRSTIN手动复位控制输入接一个复位按键到地,用于手动复位;或者悬空此引脚A3nRSTOUT复位信号输出低电平有效的复位信号A4nTRSTJTAG仿真调试接口信号nTRST、TCK、TDI和TMS需要接上拉电阻(如10K)A5TMSA6TCKA7TDIA8TDOA9GND电源地A10LADDR0地址总线A11LADDR1A12LADDR2A13LADDR3A14LADDR4A15LADDR5A16LADDR6A17LADDR7A18LADDR8A19LADDR9A20LADDR10A21LADDR11A22LADDR12A23LADDR13A24LADDR14A25LADDR15A26LADDR16A27LADDR17A28LADDR18A29LADDR19A30LADDR20A31LADDR21A32LADDR22A33LADDR23A34LADDR24A35LADDR2546 东华理工大学毕业设计(论文)附录2A36LADDR26A37LnGCS1S3C210的6个Bank片选信号支持ROM、SRAM(LnGCS6被核心板用来扩展SDRAM存储器)A38LnGCS2A39LnGCS3A40LnGCS4A41LnGCS5A42LnGCS7A43LnGCS0S3C210的LnGCS0片选信号(可用于启动引导)当核心板没有NORFlash时,此片选信号方可使用A44LnWBE0写字节使能A45LnWBE1A46LnWBE2A47LnWBE3A48nXDACK0外部DMA应答与nXDREQ[1:0]配合使用A49nXDACK1A50GND电源地B1LDATA0数据总线(驱动前)B2LDATAB3LDATA2B4LDATA3B5LDATA4B6LDATA5B7LDATA6B8LDATA7B9LDATA8B10LDATA9B11LDATA10B12LDATA11B13LDATA12B14LDATA13B15LDATA14B16LDATA15B17LDATA16B18LDATA17B19LDATA18B20LDATA19B21LDATA20B22LDATA21B23LDATA22B24LDATA23B25LDATA24B26LDATA25B27LDATA2646 东华理工大学毕业设计(论文)附录2B28LDATA27B29LDATA28B30LDATA29B31LDATA30B32LDATA31B33LnWE写字节使能B34LnOE读字节使能B35nXBACK总线占用应答B36nXBREQ总线占用请求B37nWAIT等待信号用来请求延长总线周期B38nXDREQ0外部DMA请求与nXDACK[1:0]配合使用B39nXDREQ1B40TOUT0定时器输出定时器/PWM单元B41TOUT1B42TOUT2B43TOUT3B44TCLK0外部计数输入B45XMON触摸屏控制线与2个ADC输入引脚配合使用,实现触摸屏输入B46YMONB47nXPONB48nYPONB49GND电源地B50GND电源地A51I2SLRCKIIS总线A52I2SSDIA53I2SSDOA54I2SSCLKA55CDCLKA56I2CSCLIC总线核心板内置有4.7K上拉电阻A57I2CSDAA58SDCLKSD卡主接口A59SDCMDA60SDDATA0A61SDDATA1A62SDDATA2A63SDDATA3A64nSS-SPI0SPI0接口SPI接口A65SPIMISO0A66SPIMOSI0A67SPICLK0A68nSS-SPI1SPI1接口A69SPIMISO1A70SPIMOSI146 东华理工大学毕业设计(论文)附录2A71SPICLK1A72CLKOUT0时钟输出A73CLKOUT1A74nRTS0请求发送、发送允许(被清零时,可以发送数据)异步串行口(UART)A75nCTS0A76TXD0UART0A77RXD0A78TXD1UART1A79RXD1A80TXD2UART2异步串行口(UART)A81RXD2A82UCLK异步串行口时钟信号A83GND电源地A84EINT0外部中断A85EINT1A86EINT2A87EINT3A88EINT4A89EINT5A90EINT6A91EINT7A92EINT8A93EINT9A94EINT16A95EINT17A96EINT18A97EINT19A98GND电源地A99GNDA100VCC_+5V5V电源B51VD0LCD数据总线用于LCD显示控制46 东华理工大学毕业设计(论文)附录2LCD数据总线B52VD1B53VD2B54VD3B55VD4B56VD5B57VD6B58VD7B59VD8B60VD9B61VD10B62VD11B63VD12B64VD13B65VD14用于LCD显示控制B66VD15B67VD16B68VD17B69VD18B70VD19B71VD20B72VD21B73VD22B74VD23B75LENDLCD时序控制线B76VCLKB77LCD_PWRB78VMB79VLINEB80VFRAMEB81LCDVF0B82LCDVF1B83LCDVF2B84AVrefADC参考电压(3.3V)A/D转换B85AIN0ADC输入引脚(输入电压范围:0~3.3V)B86AIN1B87AIN2B88AIN3B89AIN4B90AIN5B91AIN6B92AIN7B93LDN0USB接口(主/从设备)DN1、DP1可设置为USB从设备接口B94LDP0B95LDN1B96LDP1B97VDDRTCRTC电源1.8±0.15V,DCB98GNDB99GNDB100GND46 东华理工大学毕业设计(论文)附录3附录3GPIO口引脚列表GPIO口复用1复用2功能标号S3C2410核心板上GPAx口(核心板左面接口J2)GPA0LADDR0地址总线B14A10GPA1LADDR16A10A26GPA2LADDR17B10A27GPA3LADDR18E10A28GPA4LADDR19D10A29GPA5LADDR20F10A30GPA6LADDR21A9A31GPA7LADDR22D9A32GPA8LADDR23E9A33GPA9LADDR24B9A34GPA10LADDR25C9A35GPA11LADDR26E8A36GPA12nGCS1S3C210的5个Bank片选信号E15A37GPA13nGCS2E16A38GPA14nGCS3E14A39GPA15nGCS4E17A40GPA16nGCS5F15A41GPA17CLENANDFlash命令锁存使能H12-GPA18ALENANDFlash地址锁存使能G14-GPA19nFWENANDFlash写使能G15-GPA20nFRENANDFlash读使能G16-GPA21nRSTOUT外部设备的复位信号输出J16A3GPA22nFCENANDFlash片选使能G17-GPBx口(核心板左面接口J2)GPB0TOUT0定时器输出F2B40GPB1TOUT1F1B41GPB2TOUT2定时器输出F4B42GPB3TOUT3G3B4346 东华理工大学毕业设计(论文)附录3GPB4TCLK0外部定时器时钟输入G4B44GPB5nXBACK总线占用应答G1B35GPB6nXBREQ总线占用请求G5B36GPB7nXDACK1外部DMA请求/应答G2B49GPB8nXDREQ1H4B39GPB9nXDACK0H2B48GPB10nXDREQ0H3B38GPCx口(LCD)(核心板左面接口J2)GPC0LENDTFT:线结束信号J4B25GPC1VCLKSTN/TFT:LCD时钟信号J2B26GPC2VLINEHSYNCSTN:LCD线信号J6B29GPC3VFRAMEVSYNCSTN:LCD帧信号K4B30GPC4VMVDENSTN:VM改变行和列电压的极性K2B28GPC5LCDVF0SECTFT特殊TFTLCD(OE/REV/REVB)的时序控制信号K6B31GPC6LCDVF1L6B32GPC7LCDVF2L3B33GPC8VD0STN/TFT/SECTFT:LCD数据总线L1B1GPC9VD1L2B2GPC10VD2L4B3GPC11VD3M3B4GPC12VD4M4B5GPC13VD5M2B6GPC14VD6N1B7GPC15VD7N3B8※(以上接口为右面板)GPDx口(LCD)(左面接口J1)GPD0VD8STN/TFT/SECTFT:LCD数据总线N2B9GPD1VD9STN/TFT/SECTFT:LCD数据总线N4B10GPD2VD10P1B11GPD3VD11P3B12GPD4VD12P2B13GPD5VD13T1B14GPD6VD14R2B15GPD7VD15U1B16GPD8VD16T2B1746 东华理工大学毕业设计(论文)附录3GPD9VD17R3B18GPD10VD18R4B19GPD11VD19U2B20GPD12VD20T3B21GPD13VD21U3B22GPD14VD22nSS1T4B23GPD15VD23nSS0P4B24GPEx口(左面接口J1)GPE0I2SLRCKIIS总线通道选择时钟T5A1GPE1I2SSCLKIIS总线串行时钟P5A4GPE2CDCLKCODEC系统时钟N6A5GPE3I2SSDInSS0IIS总线串行数据输入U5A2GPE4I2SSDOI2SSDIIIS总线串行数据输出U6A3GPE5SDCLKSD时钟T6A8GPE6SDCMDSD接收回应/发送命令P6A9GPE7SDDATA0SD接收/发送数据R6A10GPE8SDDATA1SD接收/发送数据N7A11GPE9SDDATA2SD接收/发送数据P7A12GPE10SDDATA3SD接收/发送数据R7A13GPE11SPIMISO0当SPI配置为总线上的主(从)设备,SPIMISO是主设备的数据输出(入)线T7A15GPE12SPIMOSI0当SPI配置为总线上的主(从)设备,SPIMOSI是主设备的数据输出(入)线U7A16GPE13SPICLK0SPI时钟P8A17GPE14I2CSCLIIC总线时钟L7A6GPE15I2CSDAIIC总线数据M8A7GPFx口(左面接口J1)GPF0EINT0外部中断N14A34GPF1EINT1N17A35GPF2EINT2M16A36GPF3EINT3M17A37GPF4EINT4M15A3846 东华理工大学毕业设计(论文)附录3GPF5EINT5M14A39GPF6EINT6L15A40GPF7EINT7L17A41GPGx口(左面接口J1而带★为右面板)GPG0EINT8R8A42GPG1EINT9U8A43GPG2EINT10nSS0T8A14GPG3EINT11nSS1L9A18GPG4EINT12LCD_PWRENSTN/TFT/SECTFT:LCD屏电源使能控制信号P9B27GPG5EINT13SPIMISO0当SPI配置为总线上的主(从)设备,SPIMISO是主设备的数据输出(入)线U9A19GPG6EINT14SPIMOSI0当SPI配置为总线上的主(从)设备,SPIMISO是主设备的数据输出(入)线R9A20GPG7EINT15SPICLK1SPI时钟R10A21GPG8EINT16外部中断U10A44GPG9EINT17T10A45GPG10EINT18P10A46GPG11EINT19TCLK1外部计数输入R11A47GPG12EINT20XMONX轴负端开关控制信号P11★B45GPG13EINT21nXPONX轴正端开关控制信号U11★B47GPG14EINT22YMONY轴负端开关控制信号T11★B46GPG15EINT23nYPONY轴正端开关控制信号M11★B48GPHx口(左面接口J1)GPH0nCTS0输入信号,被清零时,发送数据L14A25GPH1nRTS0输出信号,请求发送L12A24GPH2TXD0异步串行口发送数据输出K15A26GPH3RXD0异步串行口接收数据输入K17A27GPH4TXD1异步串行口发送数据输出K16A28GPH5RXD1异步串行口接收数据输入K14A29GPH6TXD2异步串行口发送数据输出K13A30GPH7RXD2异步串行口接收数据输入K12A3146 东华理工大学毕业设计(论文)附录3GPH8UCLK异步串行口时钟信号L16A32GPH9CLKOUT0时钟输出信号R12A22GPH10CLKOUT1时钟输出信号U12A2346'