基于嵌入式系统的pwm的直流电机调速系统_第1页
基于嵌入式系统的pwm的直流电机调速系统_第2页
基于嵌入式系统的pwm的直流电机调速系统_第3页
基于嵌入式系统的pwm的直流电机调速系统_第4页
基于嵌入式系统的pwm的直流电机调速系统_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

基于嵌入式系统的PWM的直流电机调速系统序言随着我国国民经济的快速增长,产业结构也随之不断调整。先进的科学技术的出现为我国工业的快速发展提供了基础。新技术的广泛使用,大大提高了工业的劳动生产率,为实现劳动密集型向技术密集型产业的转型和实现可持续性发展提供了强大的动力,同时也推动着我国经济的快速发展。近些年来,以计算机技术,通讯技术、消费电子技术为主的电子信息技术的高速发展和国际互联网络(INTERNET)的广泛应用已经改变了人们的生活方式,世界各国都在为发展以计算机技术,通讯技术、消费电子技术为主要内容的信息产业制定宏伟的发展规划,以期望在21世纪的政治、经济和技术竞争中处于主动有利的地位。信息技术对其他各产业的贡献越来越大,信息产业正逐渐成为其他产业的支柱。信息产业的发展程度、信息流通、畅通与否已成为评价各个国家的经济发展水平的一个重要标准。在人类步入全球信息化社会的进程中,全球性电子信息技术正在发挥着巨大的作用。嵌入式系统是近年来发展最快的技术之一。嵌入式系统与传统的单片机系统和PC平台相比,融合了两者的优点,既有单片机系统成本低、体积小、功耗低的特点,又具有PC平台的开发环境好、资源丰富、具备操作系统、用户界面友好的特点,因而在应用技术领域就有良好的发展前景。以32位的ARM芯片和高速大容量FPGA为核心的嵌入式系统不但充分发挥了以上特点,而且大大简化了系统设计,提高了集成度和可靠性。现在的经济实力的竞争归根到底就是技术水平的竞争,技术水平也是衡量一个国家生产技术水平的重要标志之一。那么学习新的技术当然就是适应发展的选择,在这一背景下,利用嵌入式系统大发展的机会,有必要系统地学习嵌入式系统的应用。第一章绪论11嵌入式系统的概述在工业控制、通讯、仪器仪表等领域,嵌入式系统的蓬勃发展己经有目共睹。嵌入式系统是什么我们有必要在这里简单的介绍一下。嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。最简单的嵌入式系统仅有执行单一功能的控制能力,在唯一的ROM中仅有实现单一功能的控制程序,无微型操作系统。12嵌入式微处理器及其系统特点嵌入式系统的核心部件是嵌入式处理器,一般嵌入式处理器分成4类嵌入式微处理器EMPU、嵌入式微控制器MCU、嵌入式DSP处理器EDSP、嵌入式片上系统SOC。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下4个特点1、对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。2、具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构己模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。3、可扩展的处理器结构,能以最迅速地开发出满足应用的最高性能的嵌入式微处理器。4、嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此。嵌入式计算机系统与通用计算机系统相比具有以下特点1、嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的CPU最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的结合也越来越紧密。2、嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。4、嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。5、为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。6、嵌入式系统本身不具备自举开发能力,即设计完成以后用户通常不能对其中的程序进行修改,必须有一套开发工具和环境才能进行开发。13国内外嵌入式系统的发展现状随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。以8位单片机(或微控制器,MCU)为核心的嵌入式系统早以广泛应用与各个领域,这些应用大多数还处于单机使用的嵌入式底层次阶段。其特点是以MCU为核心,与一些简单的传感器及监测、伺服控制、指示和显示等设备配合,实现一定的测量、显示、信息处理及控制等功能。虽然在一些工业控制、汽车电子和智能家居等多机应用中,为了实现多个MCU构成的系统间的信息交流,通常是利用CAN、RS232和RS485等总线将MCU组网。但这种应用空间有限,相关的通信协议也比较单一,并且孤立于INTERNET之外。INTERNET已成为社会重要的基础信息设施,嵌入式系统必将要与INTERNET完美结合。随着嵌入式设备与INTERNET的结合,手机、PDA、路由器和调制解调器等复杂的高端应用对嵌入式处理器的性能提出了更高的要求。虽然以8位单片机为核心的嵌入式技术的不断发展,性能也不断提高,但由于其性能的局限性,已无法满足未来高性能嵌入式技术的发展需求。目前在8位单片机上运行嵌入式操作系统尚有一定困难,因此,以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点,是嵌入式系统的核心。目前比较有影响的32位嵌入式处理器有ARM公司的ARM,COMPAQ公司的ALPHA、HP公司的PARISC、IBM公司的POWERPC、MIPS公司的MIPS和SUN公司的SPARC等。而ARM处理器具有高性能、低功耗和低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式处理器中应用最为广泛的一个系列。ARM微处理器得到了众多半导体厂家和整机厂家的大力支持,全球有100多家IT公司在采用ARM技术,20家最大的半导体厂家有19家是ARM的用户,包括TI、PHILIPS和INTEL等公司。优良的性能和准确的市场定位极大地丰富了ARM资源,加速了基于ARM核的面向各种应用系统芯片的开发应用。如今,ARM公司已经成为业界的龙头老大,几乎所有的手机、移动设备、PDA都是用基于ARM核的系统芯片开发的。为了顺应当今世界技术革新的潮流,了解、学习和掌握高性能嵌入式技术已经非常重要。14系统的设计任务141主要内容与技术要求了解嵌入式系统的概念、特点及应用,熟悉一种嵌入式处理器内核,并以此处理器为内核,采用PWM通道实现直流电机的调速,结合实际应用,选用合适的处理器,并设计完成电机调速系统,从而掌握基本的嵌入式开发流程。142主要的技术指标直流电机调速系统1、直流电机调速采用PWM调速直流电机额定电压12V转速3500转/分2、选择合适的处理器芯片3、设计基于处理器的外围电路及电机电路第二章系统的总体方案设计21嵌入式微处理器随着社会的发展,互联网的普及,对嵌入式系统的要求己经越来越高现在出现的信息家用电器,如掌上电脑、PDA、移动设备等嵌入式设备都需要网络的支持、较快的运行速度和复杂的处理能力,对于早期的8/16位的单片机来说是很困难的。由于集成电路技术的科技进步,电子器件的价格不断下降,使32位微处理器己经在各类应用中得到了广泛普及应用各种32位嵌入式大展身手,对于我们产品的选择范围也非常广泛。自然一些性能高的芯片得到人们的青睐。211常用的嵌入式处理器5嵌入式微处理器有许多种流行的处理器核,芯片生产厂家一般都基于这些处理器核生产不同型号的芯片。下面介绍几种常用的嵌入式处理器。1MIPS系列MIPS是MICROPROCESSORWITHOUTINTERLOCKEDPIPELINESTAGES的缩写,是一种处理器内核标准,它是由MIPS技术公司开发的。MIPS技术公司是一家设计制造高性能、高档次的嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。MIPS技术公司设计RISC处理器始于20世纪80年代初,1986年推出82000处理器,1988年推出83000处理器。自1991年推出第一款64位商用微处理器84000之后,又陆续88000,810000和812000等型号。后来,MIPS公司的战略发生变化,把重点放在嵌入式系统。1999年公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。新的架构集成了原来所有的MIPS指令集并且增加了许多更强大的功能。不久以后,MIPS公司又相继开发出高性能、低功耗的32位处理器内核COREMIPS324KC与高性能64位内核MIPS645KC以及相应的新版本及未来64位MIPS6420KC处理器内核。MIPS技术公司既开发MIPS处理器结构内核,又生产基于MIPS的32位/64位嵌入式微处理器芯片。MIPS芯片的定位很广,在高端它有64位的20KC系列,在低端它也有SMARTMIPS,其使用范围也是非常广泛的。2POWERPC系列POWERPC是IBM和MOTOLORA共同研制出来的一套处理器标准。其架构特点是可伸缩性好,方便灵活。POWERPC处理器品种很多,应用范围非常广泛,既有通用的PC处理器用于高端工作站、服务器与桌面计算机,也有嵌入式控制器与内核设计应用于消费类电子产品、通信领域等方面目前POWERPC独立微处理器与嵌入式微处理器的主频从25MHZ70OMHZ不等,产品能量消耗、体积、整合程度、价格差异悬殊,主要产品模块有IBM公司350MHZ70OMHZ的POWERPC750CX和750CXE,以及主频400MHZ的POWERPC440GP。其嵌入式处理器内核可以用于各种集成的片上系统SOC设备。在通信、金融等行业具有广泛的应用,主要嵌入式芯片有IBM公司开发的POWERPC405GPMOTOROLA公司的MPC823等。3X86系列X86系列处理器是我们最为熟悉的,它源于INTEL架构8080,再发展出286,386,486,直到现在的奔腾系列、AMD和ATHLON。从嵌入式市场来看,486DX系列还是有相当的市场份额的,其特点是保持了当初8080相同的指令集,有利于兼容性与移植,但是这又限制了CPU性能的提高。基于X86处理器核的嵌入式微处理器有1嵌入式486/奔腾系列,是INTEL公司在原有的PC处理器基础上进行改进加强的,它降低功耗,提高抗干扰能力,放宽了工作条件限制用来满足嵌入式开发的需要,如486DX,486GX等芯片;2GEODESP1系列,这是AMD公司推出的芯片,具有网络访问、硬件音视频解码器、各种固化通信与外设接口,在数字视频与交互电视方面应用广泛,如SC1000,SC2000等芯片;3STPC高度集成X86SOC系列,ST微电子所开发出的STPC系列内核是与X86相兼容的,其多种产品是建立在025微米技术上的,己成为一种高度集成、低功耗和低成本的嵌入式解决方案。4ARM/STRONGARM系列ARM公司是全球领先的16/32位RISC微处理器知识产权设计供应商。ARM公司通过转让高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。ARM已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。ARM处理器有三大特点小体积、低功耗、低成本而高性能;16/32位双指令集;全球众多的合作伙伴。所以这也得到我们的青睐,将在下面详细阐述。22ARM微处理器ARM是ADVANCEDRISCMACHINES的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。221ARM系列嵌入式处理器ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SECURCORE系列、INTER的XSCALE和INTER的STRONGARM。其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SECURCORE系列专门为安全要求较高的应用而设计。ARM7系列处理器为常用的处理器,我就介绍此系列的处理器ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点具有嵌入式ICERT逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用,如便携式产品。能够提供09MIPS/MHZ的三级流水线结构。代码密度高并兼容16位的THUMB指令集。对操作系统的支持广泛,包括WINDOWSCE、LINUX、PALMOS等。指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。ARM7系列微处理器的主要应用领域为工业控制、INTERNET设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核ARM7TDMI、ARM7TDMIS、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为T支持16为压缩指令集THUMB。D支持片上DEBUG。M内嵌硬件乘法器(MULTIPLIER)I嵌入式ICE,支持片上断点和调试点。222ARM处理器结构ARM处理器结构包括三种体系结构、寄存器结构、指令结构ARM处理器采用RISC体系结构;ARM微处理器共有37个寄存器,其中31个通用寄存器、6个状态寄存器,被分为若干组(BANK);ARM微处理器支持两种指令集ARM指令集和THUMB指令集,其中,ARM指令为32位的长度,THUMB指令为16位长度,THUMB指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存储空间,同时具备32位代码的所有优点。23系统软硬件总体的初步规划基于我们对嵌入式系统的认识,以及设计的要求,系统可以分成两部分来看硬件部分与软件部分。嵌入式系统是软件和硬件的统一体,整体的设计则需要协同设计。如图21所示图21嵌入式系统的硬件/软件协同设计方法231系统硬件部分系统的硬件框图,图22。图22系统硬件框图嵌入式处理器品种总量已经超过了1000种,流行的体系结构有30多个系列,几乎每个半导体制造商都生产嵌入式处理器。处理器的选择是相对比较重要的,芯片的系统的性能、可靠性、功耗、成本都是我们要关注。本次硬件系统规划如下MPUARM7处理器RAM8MBYTESSDRAM系统功能描述硬软件划分(统一表示)软件综合接口硬件综合系统集成MPU微处理器直流电机系统基本电路ROM2MBYTESFLASHUART两个RS232C串口接口14脚的JTAG接口直流电机电路232系统软件部分嵌入式系统的软件开发的特点是以面向过程为主,代码的利用率高,代码的规模小,实时性强。过去的嵌入式系统软件开发,大多从汇编开发,并以汇编语言开发为主。这样的开发只能做简单的控制和算法,应用需求复杂时,开发周期大大增加,不利于新产品的快速面市。随着嵌入式系统硬件的不断发展,如处理器主频提高,存储器容量扩大,硬件体积减小等特点,嵌入式系统的软件开发也发生了一些变革。现代嵌入式系统的软件开发从汇编启动代码开始负责初始化硬件,以后的应用程序绝大部分用C语言来开发。C语言作为一种中级语言,具有很好的灵活性,更贴近于程序员的思维逻辑。因此用C语言开发程序,大大的缩短了软件开发周期,也增强了可维护性和可升级性。嵌入式系统的开发与PC机有着紧密的联系,如图23所示,我们通常是借助在通用的PC系统上。PC图23软件生成流程图编译器是程序开发必不可少的重要工具之一。针对不同的硬件设备主要指处理器,采用不同类型的编译器,可以对程序进行优化处理,提高程序的效率。本系统的编写控制程序源代码编译生成OBJ目标代码链接OBJ目标代码生成可执行的代码嵌入式系统端嵌入式软件开发,就是采用ADS的开发工具包括编译、链接、生成各种格式目标代码等等。第三章系统要求及硬件电路的设计31系统功能要求本系统的设计目的是为了实现运用嵌入式系统芯片产生PWM波对直流电机的转速的改变,使得转速随着输出的PWM波的占空比的变化而变。此设计方案是利用芯片自身带有的定时器,产生PWM波,通过改变寄存器的值而改变输出波形的占空比。此外,还有另一种方案,就是设置端口为输出口,给端口送电平相互变换的信号产生PWM波,其中通过调用延时子程序同样可以实现改变占空比,从而实现直流电机的调速。32ARM处理器S3C44B0X硬件资源及接口1S3C44BOX简介6S3C44B0X是由SAMSUNG公司推出的16/32位RISC处理器,为移动手持设备提供高性价比和高性能的微控制器方案,S3C44B0X的杰出特性是它的CPU内核,是由ARM公司设计的16/32位ARM7TDMIRISC处理器(66MHZ),它的特点是集成了THUMB代码S3C44BOX微处理器片内集成ARM7TDMI核,采用025UMCMOS工艺制造,并在ARM7TDMI核基本功能的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。S3C44B0X通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的单元器件配置,从而使系统成本最小化。片上集成的主要功能如下25VARM7TDMI内核,带有8KB的CACHE。外部扩充存储器控制器(具备FP/EDD/SDRAM控制器和片选逻辑)。LCD控制器(最大支持256色的DSTN),并带有1个LCD专用DMA通道。2个通用DMA通道/2个带外部请求引脚的DMA通道。2个带有握手协议的UART,1个通道SIO。1个多主的I2C总线控制器。1个IIS总线控制器。5个PWM定时器及1个内部定时器。看门狗定时器。71个通用可编程I/O口,8个外部中断源。功耗控制模式正常、低、休眠和停止。8路10位ADC。具有日历功能的RTC(实时时钟)。PLL时钟发生器。2S3C44BOX功能结构框图S3C44BOX体系结构的功能框图如图31所示图31S3C44BOX微处理器内部结构框图3S3C44BOX特点1S3C44BOX体系结构集成了手持设备和通用嵌入式系统应用的解决方案具有16/32位RISC体系结构和ARM7TDMI处理器内核的强大指令体系THUMB代码压缩在具有最大化代码密度的同时保持了32位指令的性能提供基于JTAG的片上集成ICE调试支持解决方案具有328的硬件乘法器实现低功耗SAMBA的新型总线结构2系统(存储)管理支持大、小端的模式(通过外部引脚来选择)地址空间包含8个地址空间,每个地址空间为此32MB,总共有256MB的地址空间所有地址空间都可通过编程设置为8位、16位或32位宽数据对齐访问8个地址空间中,6个地址空间可用于ROM、SDRAM等存储器,2个用于ROM、SDRAM、FP/EDO/SDRAM等存储器7个起始地址固定及大小可编程的地址空间1个起始地址及大小可变的地址空间所有存储器空间的访问周期都可通过编程配置提供外部扩展总线的等待周期在低功耗模式下支持DRAM/SDRAM自动刷新在本次设计中,我们外接了两个存储器,分别接BANK0与BANK1。3CACHE和片内SRAM4路组相联统一的8KB指令/数据CACHE未作为CACHE使用的0/4/8KBCACHE存储空间可作为片内SRAM使用CACHE伪LRU(最近最少使用)的替换算法通过在主内存和缓冲区内容之间保持一致的方式写内存具有4级深度的写缓冲当缓冲区出错时,请求数据填充4时钟和功耗管理低功耗片上PLL使得MCU的工作时钟频率最高为66MHZ时钟可通过软件选择性地反馈回每个功能块功耗管理模式为正常模式正常运行模式低速模式不带PLL的低频时钟休眠模式只使CPU的时钟停止停止模式所有时钟都停止EINT70或RTC警告中断可使功耗管理从停止模式中唤醒5中断控制器30个中断源(1个看门狗定时器中断,6个定时器中断,6个UART中断,8个外部中断,4个DMA中断,2个RTC中断,1个ADC中断,1个I2C中断,1个SIO中断)矢量IRQ中断模式缩短中断响应周期外部中断源的电平/边沿模式可编程的电平/边沿极性6带PWM的定时器(脉宽可调制)5个16位带PWM的定时器,1个16位基于DMA或基于中断的内部定时器可编程的工作周期、频率和极性死区(DEADZONE)产生器支持外部时钟源在设计中,我们使用了定时器4,不带死区产生器,同时设置对应的PE口状态为输出状态。7实时时钟RTC运行于32768KHZCPU唤醒的警告中断时间滴答TIMETICK中断8通用输入/输出端口8个外部中断端口71个(多功能)复用输入/输出口9UART2个基于DMA或基于中断的UART;支持5位、6位、7位、8位串行数据传送/接收;在传送/接收时支持硬件握手;波特率可编程;支持IRDA101152KBPS;用于回环测试模式;每个通道有2个用于接收和发送的内部32字节FIFO。10DMA(直接存储器操作)控制器2路通用的无CPU干涉的DMA控制器;2路桥式DMA(外设DMA)控制器;支持I/O到内存、内存到I/O、I/O到I/O的桥式DMA传送,有6种DMA请求方式;DMA之间优先级次序可编程;突发传送模式提高了FPDRAM、EDODRAM和SDRAM的传送率;支持内存到外围设备的FLYBY模式和外围设备到内存的传送模式。11A/D转换8通道的无CPU干涉的DMA控制器;最高转换速率100KSPS/10位。12LCD控制器支持彩色/单色/灰度LCD;支持单扫描和双扫描显示;支持虚拟显示功能;系统内存可作为显示内存;专用DMA用于从系统内存中提取图像数据;可编程屏幕大小;灰度16级;彩色模式256色。13看门狗定时器16位看门狗定时器;定时中断请求或系统超时复位。14I2C总线接口1个基于中断操作的多主的I2C总线;8位双向串行数据传送器能够工作于100KBPS的标准模式和400KBPS的快速模式;15IIS总线接口1路基于DMA操作的音频IIS总线接口;每通道8/16位串行数据传送;支持MSB可调整的数据格式。16SIO(同步串行I/O)1路基于DMA或基于中断的SIO;波特率可编程;支持8位SIO的串行数据传送/接收操作。17操作电压范围内核25V;I/O30V36V。18运行频率最高达66MHZ。19封装160LQFP/160FBGA。4S3C44BOX引脚分布图S3C44BOX引脚分布如图32所示图32S3C44BOX引脚分布图各引脚信号描述如下1S3C44BOX总线控制信号引脚见表31表31S3C44BOX总线控制信号引脚信号类型描述OM10I设置S3C44BOX在TEST模式以及决定NGCS0的总线宽度008位,0116位,1032位,11TEST模式ADDR240O地址总线DATA310I/O数据总线,在存储器读时输入数据,在存储器写时输出数据,总线宽度可以编程改变8/16/32位NGCS70O通用片选,当存储器地址在每个BANK的地址区域时,其片选信号被激活,访问周期的数量以及BANK宽度可以编程改变NWEO写使能,指示当前总线周期是写周期NWBE30O写字节使能,当对存储器进行写操作时,该信号控制存储器的写使能NBE30O高字节/低字节使能,SRAM使用NOEO输出使能,指示当前总线周期是读周期NXBREOI总线保持请求,允许另一个总线主控器请求本地总线的控制,BACK信号激活表示总线控制请求已被批准NXBACKO总线保持应答,指示S344BOX已放弃本地总线的控制并转移到另外一个总线主控器NWAITI请求延长一个当前总线周期,只要NWAIT为低电平,当前总线周期就不能结束ENDIANI决定数据类型是大端还是小端0小端LITTLEENDIAN;1大端BIGENDIAN2S3C44BOX的DRAM/SDRAM/SRAM的引脚见表32表32S3C44BOX的DRAM/SDRAM/SRAM信号引脚信号类型描述NRAS10O行地址锁存信号NCAS30O列地址锁存信号NSRASOSDRAM行地址锁存信号NSCASOSDRAM列地址锁存信号NSCS10OSDRAM片选信号DOM30OSDRAM数据输入/输出的屏蔽信号SCLKOSDRAM时钟SCKEOSDRAM时钟使能信号3S3C44BOX的LCD控制信号引脚见表33表33S3C44BOX的LCD控制信号引脚信号类型描述VD70OLCD数据总线VFRAMEOLCD帧信号VMO交替改行、列电压的极性VLINEOLCD行信号VCLKOLCD时钟信号4S3C44BOX的TIMER/PWM控制信号引脚见表34表34S3C44BOX的TIMER/PWM控制信号引脚信号类型描述TOUT40O定时器输出40TCLKI外部时钟输入5S3C44BOX的中断控制信号引脚见表35表35S3C44BOX的中断控制信号引脚信号类型描述EINT70I外部中断请求信号6S3C44BOX的DMA控制信号引脚见表36表36S3C44BOX的DMA控制信号引脚信号类型描述NXDREO10I外部DMA请求信号NXDACK10O外部DMA请求应答信号7S3C44BOX的UART控制信号引脚见表37表37S3C44BOX的UART控制信号引脚信号类型描述RXD10IUART接收数据信号线TXD10OUART发送数据信号线NCTS10I清除发送设计中,我们用到了RXD、TXD两个信号,8S3C44BOX的I2CBUS控制信号引脚见表38表38S3C44BOX的I2CBUS控制信号引脚信号类型描述I2CSDAI/OI2C总线数据I2CSCLI/OI2C总线时钟9S3C44BOX的I2SBUS控制信号引脚见表39表39S3C44BOX的I2SBUS控制信号引脚信号类型描述I2SLRCKI/OI2S总线通道选择时钟I2SDOOI2S总线串行数据输出I2SDIII2S总线串行数据输入I2SCLKI/OI2S总线串行时钟CODECLKOCODEC系统时钟10S3C44BOX的SIO控制信号引脚见表310表310S3C44BOX的SIO控制信号引脚信号类型描述SIORXDISIO接收数据信号线SIOTXDOSIO发送数据信号线SIOCKI/OSIO时钟SIORRDYI/O当DMA完成SIO操作时SIO的握手信号11S3C44BOX的ADC控制信号引脚见表311表311S3C44BOX的ADC控制信号引脚信号类型描述AIN70AIADC输入70AREFTAIADCTOPVREFAREFBAIADCBOTTOMVREFAVCOMAIADCCOMMONVREF12S3C44BOX的GPIO控制信号引脚见表312表312S3C44BOX的GPIO控制信号引脚信号类型描述P700I/O通用输入/输出端口,一些端口仅仅用于输出模式13S3C44BOX的复位和时钟信号引脚见表313表313S3C44BOX的复位和时钟信号引脚信号类型描述NRESETST复位信号,必须保持至少4个MCLK的低电平,以进行复位OM32I决定时钟怎样产生00由晶振的XTAL0,EXTAL0和PLLON决定01由EXTCLK和PLLON决定10,11芯片测试模式EXTCLKI当OM3201B时,为外部时钟源,如果没有使用,则必须设置为高电平(33V)XTAL0AI系统时钟晶体电路的输入信号,如果没有使用,则必须设置为高电平(33V)EXTAL0AO系统时钟晶体电路的输出信号,它是XTAL0的反向输出。如果没有使用,则必须设置为浮动电平PLLCAPAI系统时钟PLL的滤波电容(700PF)XTAL1AI实时时钟的32KHZ晶体输入EXTAL1AO实时时钟的32KHZ晶体输出。它是XTAL1的反向输出CLKOUTOFOUT或FPLLO时钟14S3C44BOX的电源引脚见表314表314S3C44BOX的电源引脚信号类型描述VDDP内核逻辑VDD25VVSSP内核逻辑VSSVDDIOPI/O端口VDD(33V)VSSIOPI/O端口VSSRTCVDDPRTCVDD25V或者30V,不支持33VVDDADCPADCVDD25VVSSADCPADCVSS5S3C44BOXI/O功能概述S3C44BOX有71个通用可编程多功能输入/输出引脚,可分为以下7类端口两个9位输入/输出端口PORTE和PORTF;两个8位输入/输出端口PORTD和PORTG;一个16位输入/输出端口PORTC;一个10位输出端口PORTA;一个11位输出端口PORTB。每个端口都可通过软件设置来满足各种各样的系统设置和设计要求。每个端口的功能通常都要在主程序开始前被定义。如果一个引脚的多功能没有使用,那么这个引脚将默认设置为I/O端口。端口E功能表见表315。表315端口E功能表可选择的引脚功能端口E功能1功能2功能3PE0OUTPUT/INPUTFPLLOFOUTPE1OUTPUT/INPUTTXD0_PE2OUTPUT/INPUTRXD0_PE3OUTPUT/INPUTTOUT0_PE4OUTPUT/INPUTTOUT1TCLKPE5OUTPUT/INPUTTOUT2TCLKPE6OUTPUT/INPUTTOUT3VD6PE7OUTPUT/INPUTTOUT4VD7PE8ENDIANCODECLKOUTPUT/INPUT6存储系统在S3C44BOX处理器的嵌入式系统开发中,也是通过存储控制器为片外存储器访问提供必要的控制信号,管理片外存储部件的。图33为S3C44BOX复位后的存储器地址分配图。从图中可以看出特殊功能寄存器位于0X01C000000X02000000的4MB空间内;BANK0BANK5的起始地址和空间大小都是固定的;BANK6的起始地址是固定的,空间可配置为2/4/8/16/32MB;BANK7的空间大小和BANK6一样是可变的,也可配置为2/4/8/16/32MB。在硬件连接中,FLASHROM接在BANK0,起始地址为0X00000000SDRAM外部存储器接在芯片的BANK6,响应的地址为0X0C000000。图33S3C44BOX复位后的存储器地址分配33系统硬件选择与单元电路设计整个系统的结构框图,如下图34,是以SAMSUNG的S3C44B0X为中心的框图图34系统结构图331系统重启电路设计系统重启电路也就是复位电路,图35是系统复位的硬件电路图。图35系统复位硬件电路图外部复位键没有按下时,NRESET端口有个上拉电阻,电位置高;当S5键按下时,NRESET端口的电位被强制拉低,当NRESET端为低时,系统复位。332系统调试端口(JTAG)JTAGJOINTTESTACTIONGROUP是IEEE的标准规范,ARM7TDMT内部提供了3个JTAG型的扫描链,可以进行调试和配置嵌入式的ICERT逻辑。JTAG仿真器也称为JTAG调试器,是通过ARM芯片上的JTAG边界扫描口进行调试的设备。JTAG仿真器比较便宜,连接比较方便。它可以通过现有的JTAG边界扫描与ARMCPU核进行通信,属于完全非插入式不占片上资源调试。它无需目标存储器,不占用目标系统的任何端口,而且是普通的驻留监测软件所必须的。另外,JTAG调试的目标程序实在目标板上执行,仿真更接近于目标硬件,因此,仿真结果与真实的运行环境更为接近,所以逐渐成为目前采用最多的一种调试方式,系统还可以通过JTAG接口烧写程序。表317是JTAG的信号引脚表317PINI/OPIN描述TCLKIJTAG时钟TDIIJTAG数据输入TDOOJTAG数据输出NTRSTIJTAG异步复位输入TMSIJTAG模式选择由于芯片上有JTAG信号,因此引出这些信号线就行了,直接可以与JTAG调试器进行通信。333SDRAM、FLASH模块SDRAM存储器和FLASH存储器是我们ARM嵌入式系统中不可缺少的部分,这次选用的RAM是8MBYTESSDRAM,映射在BANK6上,也就是0X0C000000地址处,因为是易失性的可快速擦写的存储器,通常作为系统的数据空间使用。NSCS0为片选信号,图36为SDRAM与系统的连接图图36SDRAM与S3C44B0X连接图FLASHROM2MBYTESFLASH,由于FLASHROM是非易失性的存储器,因此这段程序就算掉电也不会丢失,但是由于误操作覆盖了其中是启动程序,那么系统无法正常工作。就需要通过JTAG接口重新烧写ARMBOOTBIN启动程序。FLASHROM的容量是2M,占用11根地址线,片选信号NCSROM,FLASHROM与系统的连接图如图37图37FLASH与S3C44B0X连接图334串行通信(UART)模块S3C44B0X内部集成的UART(通用异步收发器)单元提供两个独立的异步串行I/O口,就是常说的串口。串口在我们设计中是非常重要的,我们可以通过串口与为、外部设备进行数据通讯,还可以作为系统的窗口来观察系统的运行状况。UART接口图38图38UART与S3C44B0X的连接图335直流电机电路模块本次设计是利用PWM波来控制电机的转速,其实并不是直接给电机一个信号就直接控制直流电机的转速的,而是通过一个电路经过斩波,整形,放大,加上一个驱动电路构成的。信号从JPZL端输入就OK。如图39图39直流电机驱动电路图34PWM直流电机控制PWM波的应用对我们来说并不很陌生,在8位机的应用中也许会有所耳闻,在32位ARM嵌入式系统中我们也同样要产生PWM来控制外设,下面将一一简述。341PWM的概念及其产生PWM就是指脉冲宽度调制(PULSEWIDTHMODULATION),其方法是通过改变电机电枢电压接通时间与通电周期的比值(即占空比)来控制电机转速。本次设计中PWM信号的产生与单片机中PWM产生是不同的,因为S3C44B0X具有6个16位的定时器,其中定时器0、1、2、3和4都具有产生PWM波形的功能,我们通过改变定时器的设置,就可以产生不同宽度的信号。其实我在前面也说过还有另一种的方法就是利用I/O口,先把端口设置为输出状态,输出一种状态(如1),延时一端时间,再输出另一种状态(如0),接着也延时一端时间,就会形成一个信号。循环输出这样的信号,也就会形成PWM波形。我们这里就选用前者,后者只作下介绍。342PWM定时器的工作原理利用定时器来产生PWM波形,那首先来熟悉以下定时器。定时器的时钟源就是由主时钟(MCLK)通过预分频器和时钟分割器得到。下图为定时器的内部结构图,让我们从结构上有所了解。如图310图310定时器内部结构图每个定时器具有一个倒计时器,实际上就是通过定时器时钟源驱动的16位倒计时寄存器TCNTN。当倒计时值减到0,定时器中断就发生,中断通知CPU定时完成。定时器有两种操作模式单次触发和自动重载模式。本次设计就利用定时器来产生PWM信号来控制电机。启动定时器4的步骤如下将计数器初值写入到TCNTB4和TCMPB4中。在TCON中设置定时器4的手动更新位。在TCON中,设置定时器4的启动位,同时清除手动更新位。343PWM直流电机原理PWM控制直流电机的原理是取PWM波的平均电压,来控制电机的转速变化。也就是波形的占空比来控制的。其实PWM脉冲宽度值是由TCMPBN的值决定的,如图311图311PWM的图解设脉冲宽度T1,脉冲周期为T,电机的转速可以用下式求得VDVMAXD式中,VMAX为直流电机的最大转速,VD为电机的平均转速,D为占空比,DT1/T占空比越大,转速越高。VD与占空比呈非线性的曲线(与电机的启、停速度有关),但实用中,可以近似看作线性关系,对于一个特定的电机,VMAX是一个定值,因此平均速度VD取决于D(占空比),调节占空比D就可以达到调速的目的所以,TCMPBN的变化就改变一个周期信号中高低电平的时间长短,即改变占空比,从而PWM波通过驱动电路后,直流的电压也随之改变,转速也就改变。这就达到了电机调速的功能。第四章系统软件部分的设计与调试41嵌入式系统软件开发小型嵌入式系统可采用面向过程的开发方式,按照系统运行时序和功能要求,开发顺序程序。此类嵌入式系统的实时性较高,结构较简单,通常由硬件人员完成。功能复杂、规模较大的嵌入式系统设计与开发越来越倾向于采用面向对象方法,其过程可分为分析、设计、转换和测试四个阶段。分析阶段确定所有正确解决方案的基本特征设计阶段向分析阶段加入一些元素根据某种优化准则,定义特定的解决方案;转换阶段生成可执行且可部署的设计测试阶段检查转换阶段是否与设计等效,验证软件实现是否满足所有在设计阶段获得的正确性准则系统模型是软件开发过程各阶段的基础。42BOOTLOADER的概念与结构在ARM嵌入式系统中,其实整个系统的加载启动任务就是由BOOTLOADER来完成。在基于ARM7TDMI内核的嵌入式系统中,系统在上电或复位时通常都从地址0X00000000处开始执行,而在这个地址处安排的通常就是系统的BOOTLOADER程序。若没有这程序就无法启动整个系统。421BOOTLOADER的概念BOOTLOADER简要地说就是在系统内核运行之前运行的一段小程序,此是必不可少的一部分。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为调用系统内核准备好正确的环境。在嵌入式系统中内核映像与根文件系统映像也可以直接在ROM或FLASH这样的固态存储设备中直接运行但这种做法无疑是以运行速度的牺牲为代价的。从系统的角度看,BOOTLOADER的总目标就是使系统运行起来,即对系统初始化。422BOOTLOADER的程序设计结构由于BOOTLOADER的实现依赖于CPU的体系结构,因此大多数BOOTLOADER都分为两大部分。第一部分包括依赖于CPU体系结构的代码,比如设备初始化代码等,通常都是用汇编语言来实现;而第二部分则通常用C语言来实现,这样可以实现复杂的功能,而且代码会具有更好的可读性和可移植性。BOOTLOADER的第一部分通常包括以下步骤首先BOOTLOADER执行的是基本的硬件初始化,其目的是为第二部分的执行以及随后的KERNEL的执行准备好一些基本的硬件环境。它通常包括以下步骤1屏蔽所有的中断。为中断提供服务通常是OS设备驱动程序的责任,因此在BOOTLOADER的执行全过程中可以不必响应任何中断。中断屏蔽可以通过写CPU的中断屏蔽寄存器或状态寄存器来完成。2设置CPU的速度和时钟频率。3RAM初始化。包括正确地设置系统的内存控制器的功能寄存器以及各内存库控制寄存器等。4初始化UART向串口打印BOOTLOADER的图形字符信息,其目的是表明系统的状态是正常还是非正常。5关闭CPU内部指令/数据CACHEBOOTLOADER的第二部分包括以下步骤1初始化本阶段要使用到的硬件设备。2检测系统内存映射。3将KERNEL映像和根文件系统映像从FLASH上读到RAM空间中。4为KERNEL设置启动参数。5调用内核。43PWM定时器的应用程序电机的控制,是我们设计的主要环节。下图41为流程图图41流程图PWM定时器设置PWM波形的输出,即可以改变波形的占空比的。程序如下VOIDSEND_PWM4UNSIGNEDSHORTFREQ,UNSIGNEDINTHIRATIO/启动TIMER4/UNSIGNEDINTI,JRINTCON5/中断控制寄存器,非矢量中断模式,IRQ中断使能,FIQ中断禁止/RINTMOD0/中断模式寄存器,为0时表示全为IRQ模式/RINTMSKRINTMSK/开启中断/PISR_TIMER4UNSIGNEDINTTIMER4_INT/UNSIGNED/修改中断处理函数指针/RPCONERPCONEIFHIRATIO1000HIRATIO1000RTCON/CLEARMANUALUPDATEBIT,STOPTIMER4/定时器控制寄存器,手动更新/RTCFG0/SETTIMER4/SETTIMER4MUX1/2IMCLK/FREQ2/1/2JI/8IFJ0RTCFG0RTCFG0|JIMCLK/FREQ2J81RTCNTB4I/IFSETINVERTEROFF,WHENTCNT4TCMP4,TOUTISLOWRTCMPB4RTCNTB41000HIRATIO/1000/IFSETINVERTERON,WHENTCNT4TCMP4,TOUTISHIGHRTCON|0X00200000/MANUALUPDATE/TCNTB4、TCMPB4更新RTCON/CLEARMANALUPDATEBITRTCON|0X00D00000/AUTORELOAD,INVERTERON,STARTTIMER4VOIDSTOPPWM4VOID/停止定时器4的子程序/RTCON|0X00222202/MANUALUPDATERTCONRTCON|1INCLUDEINCLUDE“OPTIONH“INCLUDE“DEFH“INCLUDE“44BH“INCLUDE“44BLIBH“DEFINEREAD_COU

温馨提示

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

评论

0/150

提交评论