• 2.46 MB
  • 2022-04-22 13:42:55 发布

基于光电传感器自动循迹小车设计.doc

  • 73页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于光电传感器自动循迹小车设计摘要制作自动寻迹小车所涉及的专业知识包括控制、模式识别、传感技术、汽车电子、电气、计算机、机械等诸多学科。为了使小车能够快速稳定的行驶,设计制作了小车控制系统。在整个小车控制系统中,如何准确地识别路径及实时地对智能车的速度和方向进行控制是整个控制系统的关键。由于此小车能够自动寻迹,加速,减速.故又被称作为智能车.本智能车控制系统设计以MC9S12XS128微控制器为核心,通过两排光电传感器检测小车的位置和运动方向来获取轨道信息,根据轨道信息判断出相应的轨道类型,并分配不同的速度给硬件电路加以控制,完成了在变负荷条件下对速度的快速稳定调节。红外对射传感器用于检测智能车的速度,以脉宽调制控制方式(PWM)控制电机和舵机以达到控制智能车的行驶速度和偏转方向。软件是在CodeWarrior5.0的环境下用C语言编写的,用PID控制算法调节驱动电机的转速和舵机的方向,完成对模型车运动速度和运动方向的闭环控制。智能车能够准确迅速地识别特定的轨道,并沿着引导线以较高的速度稳定行驶。整个智能车系统涉及车模机械结构的改装、传感器电路设计及控制算法等多个方面。经过多次反复的测试,最终确定了现有的智能车模型和各项控制参数。关键词:MC9S12XS128;PID;PWM;光电传感器;智能车 ABSTRACTMakingautomatictracingcarinvolvedtheprofessionalknowledgeincludingcontrol,patternrecognition,sensingtechnology,automobileelectronics,electrical,computer,machineryandsoonmanysubjects.Accordingtothetechnicalrequirementsofthecontest,wedesigntheintelligentvehiclecontrolsystem.Intheentirecontrolsystemofthesmartcar,howtoaccuratelyidentifytheroadandreal-timecontrolthespeedanddirectionoftheSmartCaristhekeytothewholecontrolsystem.Becausethiscarcanautomatictracing,accelerate,slowingdown.SoitisalsoknownasintelligentcarthisintelligentvehiclecontrolsystemdesigntaketheMC9S12XS128microcontrollerasacore,examinescar"spositionandtheheadingthroughtworowofphotoelectricsensorsgainstheracecourseinformation,judgesthecorrespondingracecoursetypeaccordingtotheracecourseinformation,andassignedthedifferentspeedtocontrolforthehardwarecircuit,hascompletedinchangesundertheloadconditiontothespeedfaststableadjustment.Theinfraredcorrelationsensorusesinexaminingtheintelligentvehicle"sspeed,(PWM)controlstheelectricalmachineryandtheservobythepulse-durationmodulationcontrolmodeachievesthecontrolintelligencevehicle"smovingvelocityandthedeflectiondirection.ThesoftwareisundertheCodeWarrior5.0environmentwiththeClanguagecompilation,actuateselectricalmachinery"srotationalspeedandservo"sdirectionwiththePIDcontrolalgorithmadjustment,completestothemodelvehiclevelocityofmovementandtheheadingclosed-loopcontrol.Theintelligentvehiclecandistinguishthespecificracecourserapidlyaccurately,andalonginletlinebythehighspeedcontroltravel.Theentireintelligentvehiclesysteminvolvesthevehiclemoldmechanismthere-equipping,thesensorcircuitdesignandthecontrolalgorithmandsoonmanyaspects.Aftertherepeatedtest,hasdeterminedtheexistingintelligentvehiclemodelandeachcontrolledvariablefinallymanytimes.Keywords:MC9S12XS128;PID;PWM;photoelectricsensor;smartcar 江西理工大学2011届本科生毕业设计第一章绪论1.1引言思路及技术方案是一个工程项目的灵魂。因此,在设计和制作伊始对思路与方案的选择要非常的仔细,谨慎。作为一个快速的随动控制系统。结合智能车设计的实际情况以及前人对自动控制系统的设计经验。得出"简单、稳定、快速、智能"八字方针作为智能车方案设计的指导原则。智能车是一个快速的随动控制系统,其控制系统分为两个大的子控制系统,分别为:方向控制系统与速度控制系统。方向控制的作用就好比是驾驶员和他所控制的方向盘;速度控制系统的作用就好比是驾驶员和他脚下的油门与刹车。方向控制系统能使智能车沿着导引黑线行驶而不至偏移。速度控制能使智能车在直道上加速行驶而在入弯时刹车减速以尽量提高行驶速度和避免因入弯速度过快而造成的冲出跑道。本次制作的智能车是以光电传感器捕获路径信息的。经过数月的设计与调试,终于完成了这个作品。在设计与制作的过程中以稳定为前提进行软硬件优化设计与参数调整。经过分析认为在路径检测信息非常完备的条件下进行速度优化会对小车的性能有很大提高。由于小车在弯道与直道以及不同曲率半径的弧道的通过速度是不同的。经过研究对于小车的速度控制我们采取的闭环的速度优化控制,利用路径监测信息来给出不同路况下的速度设定值,使小车速度有了很大改善。本文第二章主要介绍系统的机械结构设计,第三章介绍智能车的硬件电路设计,第四章介绍系统软件的设计,第五章介绍完成智能车设计所需开发调试工具及调试过程,第六章对此次设计做出总结,并给出智能车的相关参数。1.2本文设计方案概述1.2.1总体设计图1-1系统框架图如上图1-1所示,该智能小车系统主要分为以下三大块:70 江西理工大学2011届本科生毕业设计(1)信息采集模块:在该模块主要是对智能车的所处位置进行采集,并将采集到的信息传送给MCU,其核心是光电传感器。(2)信息处理模块:信息处理模块包括信息处理和控制模块,其核心MCU,MCU接收到采集来的信号,对信号进行处理后作出判断,并发出控制信号。(3)执行模块:该模块包括了驱动电机和舵机,当接收到MCU的命令后便执行相应的操作,同时信息采集模块又采集到电机和舵机的状态信息,反馈给MCU。从而整个系统构成一个闭环系统,在运行过程中,系统自动调节而达到智能车快速稳定行使的目的。1.2.2传感器设计方案方案一:采用CCD传感器来采集路面信息使用CCD传感器,可以获取大量的图像信息,可以全面完整的掌握路径信息,可以进行较远距离的预测和识别图像复杂的路面,而且抗干扰能力强。但是对于本项目来说,使用CCD传感器也有其不足之处。首先使用CCD传感器需要有大量图像处理的工作,需要进行大量数据的存储和计算。因为是以实现小车视觉为目的,实现起来工作量较大,相当繁琐。方案二:使用光电传感器来采集路面信息使用红外传感器最大的优点就是结构简明,实现方便,成本低廉,免去了繁复的图像处理工作,反应灵敏,响应时间低,便于近距离路面情况的检测。但红外传感器的缺点是,它所获取的信息是不完全的,只能对路面情况作简单的黑白判别,检测范围有限,而且容易受到诸多扰动的影响,抗干扰能力较差,背景光源,器件之间的差异,传感器高度位置的差异等都将对其产生干扰。方案三:采用电感与电容谐振来采集路面信息使用电感与电容谐振的优点是原理简单(通过电感产生的感应电动势与电感线圈所处位置的关系),价格便宜,体积相对较小,频率响应快。缺点是电磁干扰严重,电感线圈感应的信号很小需要相应的放大电路将信号放大,故传感器电路较复杂。在本次设计的跑道只有黑白两种颜色,小车只要能区分黑白两色就可以采集到准确的路面信息。经过综合考虑,在本项目中采用红外光电传感器作为信息采集元件。光电检测方案:1.光电传感器的选择对于智能车寻迹来说,路径检测的成败归功于光电传感器的选择与使用。目前,用于光电检测的传感器主要有可见光管、反射式红外光电管、激光管等。可见光管抗干扰能力差,容易受到外界光线影响,因此不能被用做路径检测。70 江西理工大学2011届本科生毕业设计反射式红外光电管抗干扰能力强,对自然光和灯光变化的反应较小,并且电路也比较简单。激光管的抗干扰能力强,由于光线聚集故射程较远,但价格较红外光电管贵并且电路也较复杂。综合考虑,最后决定选择反射式红外光电管作为检测器件。2.驱动方式的选择反射式红外光电管一般有直流驱动和光电驱动两种不同的驱动方式。其中,直流驱动的特点是电路简单,但对外界光线的反应相对较大,不过通过在光电管上加套热缩管以及软件处理可以极大降低这种影响;光电驱动的特点是光电管具有更高的功率,探测距离相对较远,抗干扰能力也较强,不过电路复杂且难于控制。因此,我们采用了直流驱动的方式,并利用相应措施降低了外界光线的影响。3.光电管排布方式的选择方案一:15对光电管均匀分布于一排。由于跑道的宽度小于25cm,故光电管阵列之间不需要排的太开。因此我们选择光电管对的间隔为15mm,所以15对光电管排布下来的宽度只有大概21cm,符合规则要求。运用15对光电管的好处就是采集的跑道信息精度较高,信息比较连续,因此赛车跑起来不会出现明显的“抖”的现象;但是使用单排光电管阵列的前瞻性比较差,使得赛车不能进行比较提前的判断和控制,因此限制了智能车的速度,同时所有的传感器做成一排做出来的辅助板过大,不宜固定。方案二:15对光电管均匀分布于两排。将7对光电管均匀分布的阵列放在近排,8对光电管对均匀分布的阵列放在远排。近排的光电管阵列就架设在车的前端30-40mm;而远排的则架的较高并且伸出90-110mm。在这样的光电管阵列下,赛车的前瞻性得到了很好的提高,速度比单排光电阵列情况下高了较多。但是由于光电采集的精度不够,赛车即使在直线上行驶的时候,也容易出现“抖动”的现象,通过调整舵机控制的参数,使得赛车“抖动”的程度明显减少,而且速度也有一定的保证。综合考虑了以上两种方案并通过观察试验效果,我们选择了方案二中的光电管阵列排布。效果如图1-2所示。图1-2双排光电管阵列效果图70 江西理工大学2011届本科生毕业设计1.2.3控制算法设计方案方案一:比例控制这种控制方法就是在检测到车体偏离的信息时给小车一个预置的反向偏移量,让其回到跑道。比例算法简单有效,参数容易调整,算法实现简单,不需复杂的数字计算。在实际应用中,由于传感器的个数与布局的限制,其控制量的输出是一个离散值,不能对舵机进行精确的控制,容易引起舵机左右摇摆,造成小车行使过程中的振荡,而且其收敛速度也有限。方案二:PD控制PD控制在比例控制的基础上加入了微分控制,可以抑制振荡,加快收敛速度,调节适当的参数可以有效地解决方案一的不足。不过,P、D两个参数的设定较难,需要不断进行调试,凭经验来设定,因此其适应性较差。方案三:PID控制PID控制在PD控制的基础上加入了积分分控制,在阶跃信号的作用下,首先产生的是比例-微分作用,使调节作用加强,直到最后达到消除静养的效果。因此PID调节从动态,静态都有所改善。当然P、I、D三个参数的设定更难,也需要不断进行调试,凭经验来设定,因此其适应性不好,但是可以使被小车更稳定的行驶。由于跑道模型与相关参数已给定,即小车运行的环境基本上已经确定,可通过不断调试来获得最优的参数。因此我们选用的是PID算法来对舵机和速度进行控制。70 江西理工大学2011届本科生毕业设计第二章机械结构设计在小车行驶过程中,判断小车制作的成功与否是根据小车运行的速度与小车在运行过程中的稳定性,而车辆的机械结构无疑是影响速度的一个关键因素。鉴于这个原因,在后续的工作中对小车的机械结构方面做了一些改进。2.1前轮倾角的调整调试中发现,在车模过弯时,转向舵机的负载会因为车轮转向角度增大而增大。为了尽可能降低转向舵机负载,对前轮的安装角度,即前轮定位进行调整。前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨损。前轮是转向轮,它的安装位置由主销内倾、主销后倾、前轮外倾和前轮前束等4个项目决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。主销后倾是指主销装在前轴,上端略向后倾斜的角度。它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动恢复到原来的中间位置上。由此,主销后倾角越大,车速越高,前轮稳定性也愈好。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时后倾的回正作用大,低速时内倾的回正作用大。前轮外倾角对汽车的转弯性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。前轮外倾角俗称“外八字”,如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个外八字角度,这个角度约在1°左右。所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力会自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。2.2齿轮传动机构调整电机轴与后轮轴之间的传动比为9:38(电机轴齿轮齿数为18,后轮轴传动轮齿数为76)。齿轮传动机构对车模的驱动能力有很大的影响。齿轮传动-部分安装位置的不恰当,会大大增加电机驱动后轮的负载,从而影响到最终成绩。调整的原则是:两传动齿轮轴保持平行,齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力,白白浪费动力;传动部分要轻松、顺畅,容易转动,不能有卡住或迟滞现象.判断齿轮传动是否调整好的一个依据是,70 江西理工大学2011届本科生毕业设计听一下电机带动后轮空转时的声音。声音刺耳响亮,说明齿轮间的配合间隙过大,传动中有撞齿现象;声音闷而且有迟滞,则说明齿轮间的配合间隙过小,或者两齿轮轴不平行,电机负载加大。调整好的齿轮传动噪音小,并且不会有碰撞类的杂音。2.3后轮差速机构调整差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;并且还可以保证在轮胎抱死的情况下不会损害到电机。当车辆在正常的过弯行进中(假设:无转向不足亦无转向过度),此时4个轮子的转速(轮速)皆不相同,依序为:外侧前轮>外侧后轮>内侧前轮>内侧后轮。此次所使用车模配备的是后轮差速机构。差速器的特性是:阻力越大的一侧,驱动齿轮的转速越低;而阻力越小的一侧,驱动齿轮的转速越高以此次使用的后轮差速器为例,在过弯时,因外侧前轮轮胎所遇的阻力较小,轮速便较高;而内侧前轮轮胎所遇的阻力较大,轮速便较低。差速器的调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑,从而影响车模的过弯性能。好的差速机构,在电机不转的情况下,右轮向前转过的角度与左轮向后转过的角度之间误差很小,不会有迟滞或者过转动情况发生。2.4红外传感器的固定为了获取更多的前探距离,我们采用传感器前伸,在规定的范围内尽可能的获取更多的前探距离。但是前伸也带来了其他问题,如车在行驶过程中颠簸引起传感器的晃动。为此我们的固定支架采用了拧纹的形式,从硬件上减少外部环境对传感器的影响。除此之外,我们还把红外管放置与水平成一定倾角,进一步增加前探距离。然而并非倾角越大越好,倾角的增大会导致红外接收管接收到的光减少,背景与黑线之间的压差降低,影响路径的识别。我们使用55度的倾角配合上一定的高度取得了较好的效果。2.5小车重心的调整在智能车各部分零部件大体完成的时候,我们通过移动车上零部件的位置,对其重心进行了调整,通过大量的对比实验后发现:不论使重心偏左还是偏右,赛车在弯道较多的跑道上都会出现不同程度的滑移和转向不足。因此,重心应当尽量处在相对车模左右对称的中心平面内。另外,此次车模为四轮驱动,重心在车上的分布对车的动力影响不是很明显。通过实验发现:当赛车重心偏后时,由于前轮上所分配的载荷较轻,使赛车转向时前轮滑移,造成过弯时间变长。在华东区的比赛中我们也发现,此车模的重心偏高,若不对其进行改造,会造成过急弯时车轮离地,对抓地力造成很大影响,从而使车模过弯时间变长。综上考虑,根据赛车的实际情况调整车体重心,使其处于中心偏前优化其转向能力,使底盘离地1.3cm左右优化其过弯能力。70 江西理工大学2011届本科生毕业设计2.6齿轮啮合间隙的调整车模电机传动轴和赛车分动器之间采用齿轮啮合传动,另外,光学编码器和分动器齿轮之间同样采用齿轮啮合,前后差速器中也存在多个齿轮副。齿轮啮合性能的好坏,直接影响电机的驱动效率。啮合齿轮的轮轴不平行,将直接导致齿轮间啮合平稳性不足,传动效率低,影响赛车速度的提升。啮合齿轮间隙过大,将导致打齿轮,过小则将导致电机驱动阻力增加,两者都不利于提高赛车的驱动性能。因此,对于啮合的齿轮,应当适当调整齿轮间隙和齿轮轴间的平行度,使齿轮啮合顺畅,噪声小。按照第四届部分报告中提到的思想,以放在平地上行驶时的声音作为判断齿轮啮合情况最为合适。对差速器,考虑到其性能对车轮运动有较大的影响,我们采用多个车模进行测试的方法,挑选出其中较好的差速器,并使用差速器油进行润滑,以获得较好的性能。70 江西理工大学2011届本科生毕业设计第三章硬件电路的设计3.1系统硬件概述系统硬件框架图如图3-1所示:图3-1系统硬件框架图控制核心是飞思卡尔公司推出的MC9S12D系列的增强型16位64个管脚单片机MC9S12XS128这款芯片,片内资源丰富,包括PWM模块可设置成8路8位或者拼接成4路16位,2个10位8通道A/D转换器,8通道输入捕捉/输出比较定时器,2个异步串行通信接口SCI,1个同步串行通信接口SPI,1个1Mb/s的CAN总线模块,兼容CAN2.0A/B等等。利用片内资源结合具体模块的功能要求具体实现技术路线如下:(1)电源管理:核心板最小系统供电、传感器供电、舵机供电和直流电机供电。要求:(a)低压差,实现6.5V~7.2V电池到5V转换;(b)可提供足够电流输出,驱动发射光电管,并考虑一定的安全余量;(c)考虑芯片散热的问题,提供热关断、短路保护和安全操作保护等功能。(2)舵机控制:模块化模型舵机利用信号输入端的占空比不同调节转角,可以通过单片机芯片内置PWM模块配合编程实现。(3)直流电机驱动:采用PWM驱动。要求:(a)开断电流能力强,驱动功率大,质量可靠;(b)具有过流保护、欠压保护、热关断的能力,各种功能使用方便。结合集成功率芯片选择要求和直流电机运行参数,选用大功率电机驱动模块ZNCD-104370 江西理工大学2011届本科生毕业设计3.2电源模块的设计电源是一个智能车系统得以运行的关键及动力所在。根据“硬件设计最简”的原则,需要完善电源设计方案。整个智能车的电源是由一块7.2V2000mAhNi-cd蓄电池提供,为了使智能车系统各部件能正常的工作,故需对7.2V2000mAhNi-cd蓄电池进行电压调节。其中,中央控制系统(最小系统)、路径识别的光电传感器和接收器电路、需要5V电压,伺服电机工作电压范围4.8V到6V根据多次调试决定使用5V电源给供电,直流电机可以使用7.2V2000mAhNi-cd蓄电池直接供电。电源供电部分关系到整个系统工作的稳定性,由于采用的是镍镉电池供电,内阻比较大,电机启动或者突然加速的瞬间,电池输出的电流很大,电池两端电压突然会降低。为了保证单片机和其他模块工作正常,所以在对电源供电的设计方面,要求电路工作效率高,输出电压稳定。而且随着车子在跑道上跑,随着电池电量的消耗,电池两端的电压也会慢慢降低,这就要求稳压芯片的选取要工作压差小。本系统所需电压有5V、7.2V,其中7.2V部分为电机驱动电压,可由电池直接提供;5V部分为路径识别模块,舵机控制模块,串口通信模块,单片机最小系统模块等。系统电源供电分配如图3-2所示:图3-2系统电源供电分配框图5V电源是整个智能车系统电源模块中电流需求最大的一个部分。要求大电流、低压差、低噪声等特性。在此将根据各种不同稳压芯片的特性选款符合此智能小车各个模块的工作要求。根据不同的工作原理可将电源分成两类:线性稳压电源、开关稳压电源。线性稳压电源:70 江西理工大学2011届本科生毕业设计一般的线性稳压电源的输入电压与输出电压之间的电压差大,稳压电源内部的调整管上的损耗大,效率低。但近年来开发出各种低压差(LDO)的新型线性稳压器IC,效率也有较大的提高,线性稳压电源还有一个优点就是外围元件最少、输出噪声最小、静态电流最小,价格也便宜。开关稳压电源:开关稳压电源中有一个工作在开关状态的晶体管(一般是MOSFET),故称为开关电源开关管工作于饱和导通及截止两种状态,所以开关管管耗小并且与输入电压大小无关,相对于线性稳压电源一个明显的优点是工作效率高,一般可达80%~95%。稳压芯片选择:方案一:普通常用稳压芯片LM7805。优点:价格便宜。缺点:效率低,发热量大。压差大,外部供电要在7.5V以上才可以稳定稳压到5V方案二:开关稳压芯片LM2575/LM2596。优点:工作效率高,发热量小,输出电流大,约3A。工作电压可以低至6.5V。缺点:外围电路复杂,成本高,由于是开关稳压,稳压后的波纹大。方案三:低压差线性稳压芯片LM2940。优点:低压差,工作压差可以小于0.5V,在电池两端的电压降到5.5V还能稳定地输出5V的电压,电压波纹小,可以给单片机稳定的供电。外围电路简单,需要的滤波电容小。经过分析,最终决定设计两路5V稳压电路,其中一路采用LM2940稳压后独立为单片机供电,另外一路是为系统其他模块提供5V供电,采用了更大的输出电流的稳压芯片LM2596。3.2.1LM2940供电电路LM2940是一个输出电压固定的低压差三端稳压器;输出电压5V;输出电流1A;输出电流1A时,最小输入输出电压差小于0.5V;最大输入电压26V;工作温度-40~+125℃;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路等功能。其封装形式有标准的3脚直插TO-220与3脚表贴封装SOT-223两种。由于稳压芯片LM2940是属于LDO(低压差)线性稳压器,即使电池电压下降到5.5V也可以输出稳定的5V电压供给单片机保证单片机能正常的工作,使智能车能正常的行驶,同时LM2940输出的电压纹波也很小,这样干扰也大大减小,能减少单片机没必要的复位,符合单片机的供电要求。同时由于LM2940也能输出高达1A左右的电流,故让此电源同时给串口通信模块,测速测量模块等其他模块给予供电,达到电源的充分利用。70 江西理工大学2011届本科生毕业设计LM2940供电电路如图3-3所示:图3-3LM2940供电电路3.2.2LM2596供电电路LM2596开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有3.3V、5V、12V,可调版本可以输出1.2V~37V之间的各种电压。该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。由于该器件只需4个外接元件,可以使用通用的标准电感,这更优化了LM2596的使用,极大地简化了开关电源电路的设计。其封装形式包括标准的5脚TO-220封装(DIP)和5脚TO-263表贴封装(SMD)。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80μA的待机电流,实现外部断电;具有自我保护电路(一个两级降频限流保护和一个在异常情况下断电的过温完全保护电路)。特点:lØ3.3V、5V、12V的固定电压输出和可调电压输出lØ可调输出电压范围1.2V~37V±4%lØ输出线性好且负载可调节lØ输出电流可高达3AlØ输入电压可高达40VlØ采用150KHz的内部振荡频率,属于第二代开关电压调节器,功耗小l低功耗待机模式,IQ的典型值为80μAlØTTL断电能力lØ具有过热保护和限流保护功能lØ封装形式:TO-220(T)和TO-263(S)70 江西理工大学2011届本科生毕业设计lØ外围电路简单,仅需4个外接元件,且使用容易购买的标准电感应用领域LM2596供电电路如图3-4所示:图3-4LM2596供电电路由于两排15对光电传感器与舵机的功耗太大,因此电源输出的电流要足够大才能满足这些负载的需求,由于LM2596的输出电流可达3A左右,通过大概计算符合我们的设计要求,故我们选用LM2596。上图为LM2596输出的5V电源给舵机供电的截图。3.3电机驱动模块本设计采用大功率电机驱动模块ZNCD-1043对电机进行驱动。3.3.1模块介绍ZNCD-1043大功率直流电机驱动板专为小型大功率直流电动机设计,具有内阻低,驱动电流大,和发热极低等特点,H桥电路,可使电机四象限运行,驱动电压范围为5.5-25V,能明显提高电动机的加速和制动效果。它内部同MC33886一样具备各种保护措施,该模块在驱动芯片与信号输入端之间加装了隔离电路,可有效保护单片机。如表3-1所示,以下为ZNCD-1043的具体参数。表3-1ZNCD-1043电机驱动模块具体参数通态内阻16毫欧驱动电流0-43安培工作电压5.5-25V工作频率0-25Khz驱动类型MOSFET板卡尺寸5.5*3.3cm70 江西理工大学2011届本科生毕业设计3.3.2使用说明(1)引脚说明(a)ZNCD-1043的功率接口如图3-5所示:图3-5ZNCD-1043的功率接口其中电源正接DCIN,电源负接GND,电源电压不得超过10V;电机两端接OUT1和OUT2,电机的正反转与PWM输入相对应,该模块在OUT1,OUT2安装有谐波吸收电容。(b)ZNCD-1043的信号接口如图3-6所示:图3-6ZNCD-1043的信号接口70 江西理工大学2011届本科生毕业设计其中IN1,IN2为PWM信号输入端,IN1对应OUT1,IN2对应OUT2;+5V和GND之间要加5V电源以给板上隔离电路供电。EE1,EE2为模块过流或短路报错输出信号,可不接。上图左侧EN为使能设置跳线,将3.3K电阻焊至上侧带圆点处为默认使能,焊至下侧则为默认不使能,上图右侧EN为单片机控制使能输入引脚,单片机输出高电平则模块使能,输出低电平则不能使用。(2)安装步骤首先用信号线将模块信号输入端子与5V电源与单片机PWM输出引脚接好,其次将电池和电机接线插入功率接口并用螺丝刀旋紧,注意电池与电池引线线径要足够粗以保证大电流顺利通过,最后输出相应PWM信号即可驱动电机。板上有四个3mm标准螺丝孔,可以方便的安装在平台或地盘上,注意安装时保证板背面良好的绝缘性和散热性。3.3.3电压电流测试结果(1)启动波形,电源电压:8V,负载:纯阻性10欧姆,以下是波形,其中黄线为电压波形,紫色为电流波形如下图:图3-7ZNCD-1043启动时的电压电流波形(2)短路波形,电源电压:8V,负载阻抗0.5欧姆,以下是波形,其中黄线为负载电压波形,紫色为负载电流波形,蓝色为报错输出波形,可以看到模块短路情况下开始周期的关断输出以防止模块过热烧坏,并且在报错输出引脚输出高电平。ZNCD-1043短路时的电压电流波形如图3-8所示:70 江西理工大学2011届本科生毕业设计图3-8ZNCD-1043短路时的电压电流波形3.4舵机控制模块舵机主要是用来控制智能车的运动方向,通过调节小车前轮转动的角度来改变小车运动方向的。智能车的角度控制是通过单片机输出PWM信号对舵机进行控制的,舵机内部有一个基准电路,能产生周期为20ms,宽度为1.5ms的基准信号,当PWM信号输入到舵机时,舵机内部产生一个直流偏置电压,此电压与电位器的电压比较,将获得电压差输出,最后,电压差的正负输出到电机驱动芯片决定舵机的正反转。因此,当单片机输出一定占空比的PWM光电时,舵机就会转动一定的角度。舵机的转角与PWM脉宽的关系如图3-9所示:图3-9舵机转角与PWM脉宽的关系70 江西理工大学2011届本科生毕业设计3.5路径识别模块路径识别模块是智能车系统的关键模块之一,路径识别方案的好坏,直接关系到最终性能的优劣。我们组选择的是光电组。传感器的收发距离对于车子的前瞻性有着直接的影响。参考过往届光电组的设计报告,发觉大多数采用的传感器都是红外传感器,说明相对于超声波传感器等其他类型的传感器还是有一定优势的,所以我们重点放在红外传感器的设计和测试,选取了不同厂家不同型号的红外管来测试路径识别的性能。对于红外对管的选取和电路设计,我们作了几个方案论证。方案一:通过38K载波发射和一体接收头接收。优点:发射距离远,抗干扰能力强;缺点:接收方向范围过大(大于135度),不利于对道路黑线位置检测,硬件软件较复杂。方案二:一体化发射/接收管。优点:硬件电路简单,方便;缺点:可以收发距离太近。方案三:二极管形式发射接收管。优点:发射功率大,距离比一体化发射/接收管稍远;缺点:硬件电路稍复杂。最后经过分析比较,我们决定采用第三种方案。红外传感器作为智能车上的“眼睛”,对小车的路径识别起了决定性的作用。由于我们在机械设计的时候把红外传感器安装与水平方向有一定倾角,因此我们也必须增大发射的功率才能使接收管接收到更多发射回来的光。下图为反射式红外传感器电路原理图图3-10红外光电管检测电路上图为红外光电管检测电路主要用来获取路径信息,工作原理是70 江西理工大学2011届本科生毕业设计左边的发光二极管通电产生光源,根据跑道黑白颜色的不同,黑色跑道吸收光线,白色跑道反射光线的不同,由于黑色跑道吸收全部的光线,而使右边的光敏三极管截止,使比较器LM339的同相输入端为高电平接近5V,通过比较器LM339使输出为1告知单片机MC9S12XS128,智能车现处在黑色位置上。白色跑道由于光线被反射使光敏三极管导通。从而使LM339同相输入端为低电平接近零伏,通过比较器LM339使输出为0告知单片机MC9S12XS128,智能车现处在白色位置上。这样智能车就可以时刻获取跑道的信息。3.6速度测量模块为了实现小车的智能化,必须利用传感器来采集跑道信息,再把车模运动的速度采集给单片机,进而实现智能调速,实现车模的智能化。以下是测量速度方案的比较与选择。方案一:利用霍尔传感器和磁钢测量速度:将霍尔传感器和磁钢分别安装在车架和车轴的适当位置,小车行驶时,每转动一圈,霍尔传感器产生开关信号,通过在单位时间对其计数可计算出车辆行驶的瞬时速度。优点:机械结构、电路较简单,成本较低;缺点:对于磁钢的安装工艺要求较高;方案二:采用光电编码器测量速度:利用安装第五个轮子,通过第五个轮的转动带动光电编码器转动,后轮每转一圈,光电编码器就会输出一定的光电数,通过计算在一定时间内编码器输出的光电数,就可以算出车子运行的速度。优点:精度高,安装简单;缺点:成本较高;通过比较,采用霍尔传感器测量速度,磁钢如果粘的不稳的话,车子速度太快磁钢容易脱落,整个速度测量系统将产生很大误差。而光电编码器的测量精度远远比霍尔传感器的精度高,而且采用光电编码器测量车子速度,电路简单,安装方便稳定,适合车模的机械结构,综合考虑后决定采用光电编码器来测量智能车的速度。速度传感器的工作原理:此次设计用到的速度传感器是光电编码器。它是一种集光、机、电为一体的数字化检测装置,它具有分辨率高、精度高、结构简单、体积小、使用可靠、易于维护、性价比高等优点。近10几年来,发展为一种成熟的多规格、高性能的系列工业化产品,在数控机床、机器人、雷达、光电经纬仪、地面指挥仪、高精度闭环调速系统、伺服系统等诸多领域中得到了广泛的应用。光电编码器可以定义为:一种通过光电转换,将输至轴上的机械、几何位移量转换成脉冲或数字量的传感器,它主要用于速度或位置(角度)的检测。典型的光电编码器由码盘(Disk)、检测光栅(Mask)、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。70 江西理工大学2011届本科生毕业设计一般来说,根据光电编码器产生脉冲的方式不同,可以分为增量式、绝对式以及复合式三大类。按编码器运动部件的运动方式来分,可以分为旋转式和直线式两种。由于直线式运动可以借助机械连接转变为旋转式运动,反之亦然。因此,只有在那些结构形式和运动方式都有利于使用直线式光电编码器的场合才予使用。旋转式光电编码器容易做成全封闭型式,易于实现小型化,传感长度较长,具有较长的环境适用能力,因而在实际工业生产中得到广泛的应用,此次设计用到的就是旋转式光电编码器。也是目前应用最多的传感器。其工作原理是通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光栅和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与被测对象同速旋转,经发光二极管等电子元件组成的检测检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前被测对象的转速。3.7单片机模块的设计单片机模块主要负责道路的识别、获取智能车的速度、输出驱动电机的控制信号和算法的实现,通过串口驱动电路中的RS-232电平转换芯片,单片机可以利用异步通信协议与PC机通信。RS-232电平转换芯片可以实现TTL电平与RS-232电平之间的转换,然后再通过9芯串行口与PC进行串口通信。单片机及外围电路如图3-11所示:图3-11单片机MC9S12XS128及外围电路3.8硬件电路部分总结70 江西理工大学2011届本科生毕业设计对于硬件电路部分,一定要做的足够稳定,这对于整个系统的稳定性占着至关重要的位置。而整个电路中,电源电路更加重要,特别是为单片机供电,一定要稳定。不让,当电机启动的瞬间,或者舵机打角的时候,电机和舵机拉去很大的电流,这样会使电池电压瞬时拉到一个低电压状态,很可能会造成单片机供电不稳,而使单片机复位。对于提高电源稳定性,并上几个电容当然是好的,但是电容的最大电容量有限制。在整个主板上,既有数字部分,又有模拟部分,所以,系统的稳定性与主板的电路布局布线也有很大关系。为提高整板的稳定性,自己设计电路,绘制PCB版图,然后通过三氯化铁腐蚀成板。在整个电路板的制作过程中,我们是先从总体上考虑电路布局,电路实现的功能,电路总体性能,然后再分模块绘图制作,最后通过排针排母,排线或者杜邦线连接在一起,整体构架稳定。70 江西理工大学2011届本科生毕业设计第四章软件系统设计程序设计的基本原则是,首先考虑小车的稳定性,在此基础上,尽量提高小车的速度。智能小车的控制软件采用模块化的程序结构。从结构上看,系统程序主要包括一个主体循环程序,增量式PID速度控制程序,中断服务程序,循线控制算法程序,速度控制算法程序以及其他一些控制程序。作为此次设计所用到的处理器MC9S12XS128采用S12XV2CPU内核,可运行在40MHz总线频率上,带有错误校正功能(ECC)的、4KB至8KBDataFlash,用于实现数据或程序存储,可配置8、10或12位模数转换器(ADC),转换时间为3μs,支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI)协议模块,带有16位计数器、8通道定时器。这些卓越的性能,完全足够满足此次设计的要求。在本次制作中用到MC9S12XS128单片机硬件资源如表4-1所示。表4-1控制模块说明程序实现的功能使用的模块电机转速控制PWM模块舵机转角控制PWM模块PID反馈光电计数定时器模块,光电累加器人机交互SCI模块光电传感器信号处理普通I/O端口4.1智能车控制算法监测平台智能车的控制系统是一个时时控制系统,人的思维很难想象车在行进过程中所处的状态,因此针对某个控制算法,如果在测试中出现问题,很难确定具体出在哪个环节。这样,一个可以时时反映智能车运行状态的监测平台就显得非常必要了。监测平台可以将智能车的采集信息,控制算法计算得到的控制信息以及其他调试时的有用信息发送到PC端,用于观察、记录,以便反复分析、改进。监测平台工作流程如下:智能车采集信息、控制信息àRS232àPC端数据处理软件4.2主程序流程图本智能车控制系统软件设计程序的主流程是:先完成单片机初始化(包括I/O模块、PWM70 江西理工大学2011届本科生毕业设计模块、计时器模块、定时中断模块初始化)之后,通过无限循环语句不断地重复执行路径检测程序、数据处理程序、控制算法程序、舵机输出及驱动电机输出程序。其中,定时中断用于检测小车当前速度,作为小车速度闭环控制的反馈信号。主程序流程图如图4-1所示。图4-1小车主程序流程图4.3系统的模块化结构为了体现程序的系统性和连贯性,智能小车的控制软件采用模块化的程序结构。各个模块有相应的数据接口,方便其它模块调用,这样,系统条理显得清晰。主要包括:系统初始化模块、路径数据采集模块、数据处理模块、起跑线识别模块,再有,为了系统调试方便,本系统还设计了串口调试模块等。4.3.1时钟初始化单片机的晶振是16MHz,MC9S12XS128在时钟初始化后可以通过锁相环将系统时钟系统时钟进行倍频,可以提高单片机的工作频率,从而提高单片机的运行速度。在安全允许范围内,我们使用锁相环超可倍频到48MHZ。这里就用到了一些寄存器中的某些位,倍频公式如下:(4-1)其中,OSCCLK_VALUE——系统的外部晶振;70 江西理工大学2011届本科生毕业设计REFDV_VALUE——系统时钟分频系数SYNR_VALUE——倍频系数SYNR=SYNR_VALUE,REFDV=REFDV_VALUE,SYNR、REFDV就是寄存器中的对应位。voidCLK_init(void){//锁相环24MSYNR=2;REFDV=1;//PLL=2*OSC*(SYNR+1)/(REFDV+1)while(!(CRGFLG&0x08)){}//等待锁相环稳定CLKSEL=CLKSEL_PLLSEL;//设置总线时钟为PLL/2}4.3.2串口初始化可以看到,不论8位、16位还是32位单片机的最小系统都是通过异步串行口与人沟通的。使用串行通信接口SCI(SerialCommunicationInterface)通信是计算机与人对话最传统、最基本的方法,异步通信接口也成为通用异步接受器/发送器UART(UniversalAsynchronousReceiver/Tansmitter)。为了便于调试,本系统利用串口通信接口SCI实现数据的传输。串口部分程序主要是初始化各寄存器,其中包括设置波特率、数据格式、接受发送功能使能、设置接受模式等。以下是与串口有关的几个初始化函数:/**********串口初始化*************************/voidSCIinit(void){SCI1BD=208;//32M总线波特率9600SCI1CR1=0;SCI1CR2=0x2C;//只允许接收中断}/**********读串口******************************/unsignedcharSci1Read(){unsignedcharredata;while(SCI1SR1_RDRF!=1);redata=SCI1DRL;returnredata;}70 江西理工大学2011届本科生毕业设计/**********写串口******************************/voidSci1Write(unsignedcharchSend){while(SCI1SR1_TC!=1);while(SCI1SR1_TDRE!=1);SCI1DRL=chSend;}4.3.3PWM初始化PWM(PulseWidthModulation)即脉宽调制,脉宽调制波是一种可用程序来控制波形占空比、周期、相位的波形。它在电动机驱动、D/A变换等场合有着广泛的应用。PWM模块特点:R8个带周期占空比可程控的PWM独立通道R4个可程控选择的时钟源R每个PWM通道有专用的计数器RPWM每个通道脉冲极性可以选择R每个PWM通道可使能/禁止R周期和占空比双缓冲R每个通道有中心对齐和边缘对齐方式R分辨率:8位(8通道),16位(4通道)R带中断功能的紧急切断PWM在本系统中主要用于驱动两个伺服电机,一个是电机,另一个是舵机,而控制这两个电机的PWM信号是经过路径识别和系统决策后给出的,这样就能实现小车的循线跑。舵机的响应时间对于控制非常重要,一方面可以通过修改PWM周期获得。另一方面也可以通过机械方式,利用舵机的输出转矩余量,将角度进行放大,加快舵机的响应速度。而舵机的脉冲范围,它对应舵机旋转角度,在设置时一方面应考虑到舵机的极限位置;另一方面还要考虑到车模转向的极限。本设计中,通过测试找到了40度对应的脉冲宽度。PWM初始化程序流程图如图4-2所示:70 江西理工大学2011届本科生毕业设计图4-2PWM初始化流程图具体程序如下:voidpwminitial(void){PWMCTL_CON01=1;//PWM01合并16btPWMPRCLK=0x20;//A=24M/1=24M,B=24/4=6MPWMSCLA=12;//SA=A/2/12=1MPWMSCLB=150;//SB=B/2/150=20KHzPWMCLK=0x3E;//PWM0,1-SA;PWM4,5-SA,PWM2,3-SB;PWMPOL=0xff;//位极性=1Duty=HighTimePWMCAE=0x00;//对齐方式-左对齐PWMPER01=20000;PWMDTY01=1430;PWMPER4=100;//Frequency=SA/300=10KHzPWMPER5=100;//Frequency=SA/300=10KHzPWMDTY4=0;PWMDTY5=0;PWME=0x32;//舵机使能}70 江西理工大学2011届本科生毕业设计4.4中断处理流程中断处理程序每10毫秒执行一次,中断处理函数的主要目的是定时读取脉冲计数器的值并把该值反馈给PID控制程序,然后调用PID控制程序。中断程序流程如图4-3所示:图4-3中断处理程序4.5小车控制算法车体控制是整个控制算法的核心,它直接关系到小车的性能好坏。小车控制主要包括对舵机和电机的控制,结合各种算法的优缺点,对舵机的控制选用了预判和PD算法结合的思想,对电机的控制,由于涉及到速度的准确性问题,选用了预判和PID算法结合的思想。为保证小车一直沿着黑色引导线快速行驶,系统主要的控制对象是小车的转向和车速。即应使小车在直道上以最快的速度行驶。在进入弯道的过程中尽快减速,且转向要适合弯道的曲率,确保小车平滑地转弯,并在弯道中保持恒速。从弯道进入直道时,小车的舵机要转至中间,速度应该立即得到提升,直至以最大的速度行进。为实现上述控制思想,可以采用不同的控制方法来控制小车的转角和速度。具体控制流程图如下图4-4所示。70 江西理工大学2011届本科生毕业设计图4-4小车控制流程图4.5.1舵机控制在对舵机的控制中,加入了预判算法,主要用来判别道路的不同类型,包括大S道,小S道,直道,弯道,空白和边缘,再依据道路的不同,进行相应的控制。对于大S道,经过测试发现,如果利用PD控制的话,小车完全压线行驶,舵机的转向过于频繁,这样行驶下来不仅增加了小车行驶的路程,而且如果速度过快的话,小车会来不及转向,而冲出轨道,考虑到这些因素,在数据处理中,选取合适的控制点数,建立最近点和最远点的数学模型,算出小车最佳行驶路线的弦线角度,采用角度控制,从而让小车沿着算出的角度前进,这样既减少了行驶的路程,也不容易冲出去。对于小S道,直道和弯道则采用了PD控制算法,在预先判断出各个轨道类型之后,选择合适的控制点数,调节KP,KD参数。尤其对于小S道来说,参数的选择尤为重要,因为对于小S到而言,最佳的控制策略是让舵机尽量不动,从而使小车沿着一条直线行驶。70 江西理工大学2011届本科生毕业设计根据光电传感器采集回来的道路信息,进行存储、分析和计算。当不同位置的传感器检测到黑线,舵机的PWM模块就给不同的值,使舵机摆动不同的角度。由前面得到的道路状态信息,而增加相应权值不一样的摆动角度。当智能车在直线上高速行走的时候,中间4个传感器检测到黑线的舵机摆角,比原来基数的舵机摆角更加小。当智能小车的舵机摆角不正,跑直道有振荡的时候,这样可以使小车在直道高速运行的时候,左右来回振荡变小。当刹车标志位置为1的时候,表明智能小车正在过弯道,可以把传感器两端的8个传感器相应的摆动角度变大。更有利于转过弯道而不至于跑出赛道。由前面得到的道路状态信息,而增加相应权值不一样的摆动角度。当智能车在直线上高速行走的时候,中间4个传感器检测到黑线的舵机摆角,比原来基数的舵机摆角更加小。当智能小车的舵机摆角不正,跑直道有振荡的时候,这样可以使小车在直道高速运行的时候,左右来回振荡变小。当刹车标志位置1的时候,表明智能小车正在过弯道,可以把传感器两端8个传感器相应的摆动角度变大,更有利于转过弯。为了使舵机迅速地转至期望的角度,先通过前排发射接收光电管检测黑线,当小车处于直道时,最中间的光电管检测到信号,当处于不同曲率的弯道时,前排两侧不同的光电管将检测到信号。所以,根据前排光电管检测到的不同信号,可以判断出小车所处的位置。然后,根据小车的位置再对调整舵机进行相应的调整。调整舵机的原则是小车处于直道时,摆正舵机。小车处于弯道的曲率越大,则舵机转角越大。除此之外,小车还会遇到黑色交叉线的特殊情况,对此,本系统将保持小车原有的方向与速度,使小车不受交叉线的干扰。如果小车转过的弯过大,则可能使前排光电管全部偏离黑色轨迹,从而没有一个光电管检测到黑线,故应使舵机保持原角度,让小车急转驶回正道。同时,将速度适当降低,防止小车冲出轨迹。4.5.2速度控制小车的速度控制采用了预判算法和闭环PID算法结合的思想。在预先判断轨道类型的前提下,对各个轨道标定各自的速度,利用闭环PID进行控制。PID控制是工程实际中应用最为广泛的调节器控制规律。问世至今70年多年来,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。PID的控制结构如图4-5所示:70 江西理工大学2011届本科生毕业设计图4-5PID控制结构图e代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器计算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量u。(4-2)其中,其中,,分别称为比例系数、积分系数、微分系数。u接着被送到了执行机构,这样就获得了新的输出信号Y。这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。运用PID控制的关键是调整三个比例系数,即参数整定。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。一般来说,增大比例系数能够减小上升时间,并减小稳态误差,但不能消除。增大积分系数能够消除稳态误差,但会使瞬时响应变差。增大微分系数能够增强系统的稳定特性,减小超调,并且改善瞬时响应。以上简要介绍了PID算法的原理和特性,实际过程中,由于传感器是按一定间隔周期获取位置信息的,因此必须将连续PID控制离散化,这样得到的就是数字PID算法。(4-3)在对电机速度的调节过程中发现,由于电机的振动,如果单纯对电机用PID进行控制的话,会导致调速不稳定,所以在PID算法的基础上,又加入了前馈控制,直接输入给电机。70 江西理工大学2011届本科生毕业设计三个基本参数Kp,Ki,Kd在实际控制中的作用:(1)比例调节作用:是按比例反映系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决于积分时间常数Ti,Ti越小,积分作用就越强。反之Ti越大则积分作用越弱,加入积分调节可使系统稳定性下降,动态相应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,以被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对于噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。4.6坡道的处理当模型车上坡时,由于传感器离地面的距离发生了改变,会导致传感器误判,从坡上“掉下来”,针对误判,我们做如下处理:将一个双向水银开关水平放在模型车的正中间,当上坡时会使开关自动闭合,即认为来到弯道,此时屏蔽前排传感器,只使用后排,由于后排对地照射,坡道不会有太大影响,同理检测下坡,再次恢复使用两排传感器。调试时发现,如果模型车突然加速时,也会使水银开关闭合,这样会带来误判。因为坡道只可能出现在直道,而我们只会在入弯进行刹车,出弯进行加速,加速度也只可能出现在这两种情况。通过软件算法,屏蔽了入弯与出弯的加速度带来的误判,于是就能精确地检测坡道了。4.7弯道策略分析在车辆进弯时,需要对三个参数进行设定:切弯路径、转向角度、入弯速度。其中,切弯路径主要决定了车辆是选择内道过弯还是外道过弯。切内道,路经最短,但是如果地面附着系数过小会导致车辆出现侧滑的不稳定行驶状态,原因是切内道时,曲率半径过小,同时速度又很快,所以模型车需要的向心力会很大,而赛道本身是平面结构,向心力将全部由来自地面的摩擦力提供,因此赛道表面的附着系数将对赛车的运行状态有很大影响。切外道,路径会略长,但是有更多的调整机会,同时曲率半径的增加会使得模型车可以拥有更高的过弯速度。70 江西理工大学2011届本科生毕业设计转向角度决定了车辆过弯的稳定性。合适的转向角度会减少车辆在转弯时的调整,不仅路径可以保证最优,运动状态的稳定也会带来效率的提高,减少时间。在考虑转向角度设置时需要注意以下几个问题:对于检测赛道偏移量的传感器而言,在增量较小时的转向灵敏度;检测到较大弯道时的转向灵敏度;对于类似S弯的变向连续弯道的处理。对于入弯速度的分析,应该综合考虑路径和转向角度的影响。简单而言,我们会采取入弯减速,出弯加速的方案,这样理论上可以减少过弯时耗费的时间。然而,在过去几届比赛中,通过观察各参赛车对弯道的处理后,我们发现并不是所有人都选择了相同的方案。正如前面说到的那样,不联系路径和转向角度,只是单纯地分析过弯速度,会造成思路的局限甚至错误。例如,在不能及时判断入弯和出弯的标志点就采取“入弯减速、出弯加速”的方案,会出现弯道内行驶状态不稳定、路径差,同时出弯加速时机过晚,一样会浪费时间。所以现在本系统参考实际驾驶时的一些经验,对过弯速度的处理方式确定为:入弯时急减速,以得到足够的调整时间,获得正确的转向角度;在弯道内适当提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,然后加速,虽然会耗费一些时间,但是面对连续变向弯道可以减少判断出错的概率,保证行驶状态的稳定性,而且弯道内的有限加速对后面的提速也有很大的帮助。综合考虑用可以接收的额外时间换回行驶稳定性还是值得的。70 江西理工大学2011届本科生毕业设计第五章开发与调试5.1软件开发环境介绍Codewarrior是Metrowerks公司开发的软件集成开发环境,飞思卡尔所有系列的微控制器都可以在codewarriorIDE下进行软件开发。本模型车所用的处理器是MC9S12XS128,程序调试是在codewarriorIDE5.0环境下实现的,所用语言为C语言。首先要新建一个基于MC9S12XS12的HCS12的工程,选用语言为C语言,具体的过程如下图。建立好新的工程后,就可以在编译器里进行程序的编写。以下以一个简单的例子说明CodeWarrior如何使用。建立工程文件安装好CodeWarrior后,打开如图5-1所示的CodeWarrior窗口;在其中执行File|New命令,弹出如图5-2所示的New对话框;选择HC(S)12NewProjectWizard,并输入工程的名字,例如TEST,单击OK按钮,弹出NewProject向导(图5-3)。在选择芯片型号(图5-4)后,在Page5中选择“minimalStartupcode”(图5-5),在选择内存模式时选择small模式,其他按默认值一直点击OK直到完成。图5-1建立工程文件70 江西理工大学2011届本科生毕业设计图5-2选择HC(S)12NewProjectWizard,并给工程文件命名图5-3新工程向导70 江西理工大学2011届本科生毕业设计图5-4选择芯片型号图5-5选择Startupcode模式70 江西理工大学2011届本科生毕业设计5.2智能车整体调试5.2.1舵机调试首先在程序里不断的修改舵机的控制量,确定舵机左转和右转极限的PWM值,记下该值留着在程序里设定左转和右转的极限值。然后用一小段跑道来测试舵机的转向,用不同的跑道段来测试模型车的转向是否符合要求,当用的是直道时候要保证模型车的舵机位置绝对的居中,小“S”道时候,模型车给出的转角应该足够的小,大“S”时候转角应该近似为圆弧弦的角度,弯道时候要给足转角。5.2.2电机调试像测试舵机一样用不同的轨道来测试电机给出的转速是否满足实际控制的需要,当用的是小“S”道时候,模型车应该保持直道上的速度,大“S”时候,应该适当的减速,以使得通过时候不会产生过大的超调,弯道时候要能够很快的将速度降下来,如果是急转弯时可以不给控制量或者让电机反转以达到刹车的效果。5.2.3动静态调试小车机械结构安装好后,就进入调试阶段。整车调试分为静态调试和动态调试两部分。静态调试过程中,主要测试软件功能是否正确,电路中的供电电路、速度控制电路、传感器等是否正常。先用万用表测量各组电源电压是否符合设计要求,再将智能车放置在支架上让车轮悬空,启动智能车,用移动的跑道黑线测试控制程序是否能完成基本的控制动作,这样就可以确定传感器、控制程序、电机及舵机驱动是否正常。最后调整运行参数,使智能车基本正常工作。基本的静态测试完成后,就可以在赛道上进行动态测试了。动态调试主要是调节PID。PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下:(1)确定比例系数Kp确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。70 江西理工大学2011届本科生毕业设计(2)确定积分时间常数Ti比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。(3)确定微分时间常数Td微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。(4)系统空载、带载联调对PID参数进行微调,直到满足性能要求。70 江西理工大学2011届本科生毕业设计第六章结论6.1智能车的主要技术参数说明(1)改造后的车模总体重量1.25kg,长37cm,宽215mm,高180mm;(2)电路功耗:空载功率8W,最大功率14W,所有电容总容量1230uf;(3)传感器:对射式红外光电管共15对;(4)除了车模原有的驱动电机、舵机之外无其他伺服电机;(5)轨道信息检测精度0.5cm,检测频率50HZ。6.2总结经过几个月的努力,完成了智能车系统的制作。整个车模硬件电路简单,采用反射式红外光电管检测道路信息,经过软件处理,使赛车转向准确稳定,能够顺利通过各种弯道和十字交叉路口且准确地识别起始线。该赛车在满足大赛规则的前提下,具有良好的自主道路识别能力和稳定性,并能够以较快的速度行驶。在最初的方案选择阶段,通过比较不同方法可能得到的结果明确了我们研究的方向。在机械设计方面,我们对模型车的性能不断的探索改进了前轮定位、差速、舵机力矩等,使得舵机的转向更加灵活、更容易控制,打滑现象基本解决。在控制算法方面,我们通过建模和仿真,最终确定使用PID和模糊控制算法分别对模型车的方向和速度进行控制。6.3不足与展望同时由于时间的不足,在智能车的研究中还有许多需要改进的地方:(1)本文所建立的智能车的运动模型是在理想情况下建立的,其实际情况要复杂的多,所建立的模型过于简单。另一方面,智能车是一个高度非线性化、时变的系统,如何对模型中的参数进行估计以及使模型更能反映实际车辆运动是一个需要进一步解决的问题。(2)本赛车采用的是反射式红外光电管作为路径检测传感器,虽然它对外光的抗干扰能力较强但其探测距离较近,这严重影响了赛车对道路检测的前瞻性,我们以后将考虑使用探测距离更远的激光管进行路径识别,就可以使赛车看的更远从而跑的更快。70 江西理工大学2011届本科生毕业设计参考文献[1]J.R.WoottonandA.Garcia-Ortiz,IntelligentTransportationSystem:AGlobalPerspective.Math.Comput.Modeling,1995,22(4)[2]王笑京,智能运输系统哲学上的思考,交通运输系统工程与信息,2001年第2期。[3]徐友春.,王荣本,李兵,李斌,世界智能车辆近况综述,汽车工程,2001年,第五期。[4]飞思卡尔HC08/HCS12系列微控制器开发环境-CodeWarrior使用指南.[5]殷人昆,陶永雷,谢若阳,盛绚华.数据结构(用面向对象方法和C++描述).北京:清华大学出版社.2005.[6]卓晴,黄开胜,邵贝贝.学做智能车——挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版社,2007.[7]第三届“飞思卡尔”杯全国大学生智能汽车竞赛比赛规则,2008.[8]MotorolaMC9S12XS128DeviceUserGuideMotorola,Inc.[9]宗光华.机器人的创意与实践[M].北京:北京航空航天大学出版社,2004.[10]MC34063A/EDC-DCConverterControlCircuits,Motorola.[11]周继明,江世明,彭解华.传感器技术与应用[M].长沙:中南大学出版社,2005.[12]RamonPallas-Areny,JohnG.Webster.传感器和信号调节(第二版)[M].北京:清华大学出版社,2003.[13]余志生.汽车理论(第3版)[M].机械工业出版社,2004.[14]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004.[15]龙丘MC9S12XS128开发板配套资料[16]赵广林著,Protel99SE电路设计与制作,电子工业出版社,2005.2[17]施仁、刘文江、郑辑光著,自动化仪表与过程控制,电子工业出版社,2003.3[18]张文春.汽车理论[M].北京.机械工业出版社.2005[19]宗光华.机器人的创意设计与实践[M].北京.北京航空航天大学出版社.2004[20]张伟等.ProtelDXP高级应用[M].北京.人民邮电出版社.200270 江西理工大学2011届本科生毕业设计致谢首先,感谢黄友文老师的细心指导,由于老师的认真负责,我才能顺利的完成毕业设计。本文的研究、撰写直至论文的定稿,每个环节和步骤,老师都严格把关,精心指导,论文的字里行间都浸透了老师辛勤的汗水,在此向黄老师表示深深的谢意!在智能车电路的开发过程中黄友文老师,曾给了我很多帮助,对整个智能车系统的设计提供了不少的建议,指引着我克服了很多技术问题,在此向这位良师益友表示诚挚的感谢!另外,对于一直奋战在我身边的同学们想说一声谢谢,因为有他们的默默支持才能让我顺利完成毕业设计。最后,感谢各位评阅老师,想跟你们说声:老师,您辛苦了!70 江西理工大学2011届本科生毕业设计附录1#include/*commondefinesandmacros*/#include"derivative.h"/*derivative-specificdefinitions*/#defineV_PWM_CONST50000U#defineDRE_PWM_CONST3150U#defineStright_flag0#defineRight0_flag1#defineRight1_flag2#defineLeft0_flag3#defineLeft1_flag4intDRE_Count=0;intState_Last=0;inti;intj;uchara[100];voidinit(void){CLKSEL=0;PLLCTL=129;SYNR=65;REFDV=192;POSTDIV=0;PLLCTL=193;while(!CRGFLG_LOCK){}CLKSEL|=(unsignedchar)128;VREGHTCL=16;WOMS&=(unsignedchar)~2;RDRS=0;RDRP=0;RDRT=0;PTTRR|=(unsignedchar)32;CRGINT&=(unsignedchar)~18;VREGCTRL&=(unsignedchar)~2;COPCTL=0;RDRIV&=(unsignedchar)~147;70 江西理工大学2011届本科生毕业设计RDRH=0;RDRJ&=(unsignedchar)~195;RDRM=0;RDR0AD0=0;RDR1AD0=0;IRQCR&=(unsignedchar)~64;SCI0CR2=0;(void)(SCI0SR1==0);(void)(SCI0DRL==0);SCI0SR2=0;SCI0BD=17U;SCI0BDH=0x06;SCI0BDL=0x80;SCI0CR1=0;SCI0SR2|=(unsignedchar)128;SCI0ASR1=131;SCI0ACR1=0;SCI0ACR2=0;SCI0SR2&=(unsignedchar)~128;SCI0CR2=12;PWME=0;PWMPOL=10;PWMCLK=0;PWMCAE=0;PWMCTL=112;//PWMCTL_CON45=0x1;PWMDTY01=V_PWM_CONST;PWMPER01=60000;PWMDTY23=DRE_PWM_CONST;PWMPER23=40000U;PWMDTY45=0U;PWMPER45=60000;PWMSCLA=0;PWMSCLB=0;PWMPRCLK=66;70 江西理工大学2011届本科生毕业设计PWMSDN=128;PWME=42;PIEJ&=(unsignedchar)~195;PIFJ|=(unsignedchar)195;PTJ=(PTJ&(unsignedchar)~67)|(unsignedchar)128;DDRJ|=(unsignedchar)195;DDRB=255;asmCLI;}voidvPutChar(unsignedcharucChar){while(!(SCI0SR1&0x80));SCI0DRL=ucChar;}unsignedcharucGetChar(){while(!(SCI0SR1&0x20));returnSCI0DRL;}voidMotor_Start(void){PTJ=(PTJ&(unsignedchar)~67)|(unsignedchar)128;}voidMotor_Stop(void){PTJ=(PTJ&(unsignedchar)~67)&(unsignedchar)127;PORTB=0x00;}voidDelay(unsignedintdey){unsignedintdey1;for(;dey>0;dey--)for(dey1=0;dey1<5000;dey1++);}voidDRE_Count_Chack(void){70 江西理工大学2011届本科生毕业设计unsignedcharPORT_S;//DDRB=0xff;//PORTB=0x00;//DDRB=0x00;PORT_S=(PORTB&0x1f);switch(PORT_S){case0x1b:State_Last=Stright_flag;DRE_Count=0;//PWMDTY23=V_PWM_CONST;//PWMDTY01=DRE_PWM_CONST;PWMDTY23=3150;break;case0x1d:if(State_Last==(Left1_flag|Left0_flag)){DRE_Count+=2;}else{DRE_Count+=1;}State_Last=Left0_flag;//PWMDTY23=V_PWM_CONST-1000;//PWMDTY01=DRE_PWM_CONST+10000;PWMDTY23=2000;break;case0x1e:if(State_Last==Left1_flag|Left0_flag){DRE_Count+=4;}else{DRE_Count+=2;}State_Last=Left1_flag;//PWMDTY23=V_PWM_CONST-1800;//PWMDTY01=DRE_PWM_CONST+20000;PWMDTY23=1150;break;70 江西理工大学2011届本科生毕业设计case0x17:if(State_Last==(Right0_flag|Right1_flag)){DRE_Count-=2;}else{DRE_Count-=1;}State_Last=Right0_flag;//PWMDTY23=V_PWM_CONST+1000;//PWMDTY01=DRE_PWM_CONST+10000;PWMDTY23=4000;break;case0x0f:if(State_Last==(Right0_flag|Right1_flag)){DRE_Count-=4;}else{DRE_Count-=2;}State_Last=Right1_flag;//PWMDTY23=V_PWM_CONST+1800;//PWMDTY01=DRE_PWM_CONST+20000;PWMDTY23=4950;break;default:/*if(State_Last==Right0_flag|Right1_flag)){DRE_Count++;}elseif(State_Last==(Left0_flag|Left1_flag)){DRE_Count--;}elseif(State_Last==Stright_flag){DRE_Count=0;}*/break;//PWMDTY23=V_PWM_CONST;//PWMDTY01=DRE_PWM_CONST;}}70 江西理工大学2011届本科生毕业设计voidDRE_V_Control(void){intV_PWM_Variable=V_PWM_CONST;intDRE_PWM_Variable=DRE_PWM_CONST;DRE_PWM_Variable=DRE_Count*1300+DRE_PWM_CONST;if(DRE_PWM_Variable>4950){DRE_PWM_Variable=4950;}elseif(DRE_PWM_Variable<1350){DRE_PWM_Variable=1350;}//PWMDTY23=V_PWM_Variable;//PWMDTY23=3150;if(DRE_Count<0){V_PWM_Variable=DRE_Count*1000*(-1)+V_PWM_CONST;}else{V_PWM_Variable=DRE_Count*1000+V_PWM_CONST;}if(V_PWM_Variable>=55000){V_PWM_Variable=55000;}if(V_PWM_Variable<=50000){V_PWM_Variable=50000;}PWMDTY01=V_PWM_Variable;//PWMDTY01=V_PWM_CONST;}voidIOC_Init(void){TCNT=0x00;TSCR1_TEN=1;//时钟允许//TSCR2=0x04;//divby16TSCR2_PR=7;TSCR2_TOI=1;//PACTL=0x30;//PT7PIN,PACN3216BIT,FALLingedge,NOT70 江西理工大学2011届本科生毕业设计INTERRUPTPACTL=0x72;TCTL3=0x80;//c-输入捕捉7shangsheng沿有效,TCTL4=0x03;//0表示ICx禁止,1表示上升沿,2表示下降沿,3表示任何沿//TIE=0x00;//每一位对应相应通道中断允许,0表示禁止中断TIE=0x81;TIOS=0x00;//每一位对应通道的:0输入捕捉,1输出比较//TCTL3_EDG7x=1;//c-输入捕捉7任何沿有效,//TCTL4_EDG0x=1;}#pragmaCODE_SEGDEFAULT#pragmaCODE_SEGNON_BANKED//#pragmaCODE_SEGDEFAULT//#pragmaCODE_SEG__NEAR_SEGNON_BANKEDvoidinterrupt16overflow_isr(void){DRE_Count_Chack();DRE_V_Control();TFLG2_TOF=1;EnableInterrupts;}voidmain(void){init();//inti=0;DDRA=0xFF;DDRB=0xff;PORTB=0x00;DDRB=0x00;//PORTA=0xFF;//PORTB=0xff;//Motor_Start();while(1){70 江西理工大学2011届本科生毕业设计PORTA_PA7=1;for(;;){Delay(1000);//DRE_Count_Chack();//DRE_V_Control();}}}70 江西理工大学2011届本科生毕业设计附录2MC9S12XSFamilyToprovidethemostup-to-dateinformation,thedocumentrevisionontheWorldWideWebisthemostcurrent.Aprintedcopymaybeanearlierrevision.Toverifyyouhavethelatestinformationavailable,referto:http://freescale.com/ThisdocumentcontainsinformationforthecompleteS12XSFamilyandthusincludesasetofseparateflash(FTMR)modulesectionstocoverthewholefamily.Afulllistoffamilymembersandoptionsisincludedintheappendices.Thisdocumentcontainsinformationforallconstituentmodules,withtheexceptionoftheCPU.ForCPUinformationpleaserefertoCPU12XV1intheCPU12/CPU12XReferenceManual.RevisionHistorydataRevisionLevelDescriptionMay,20091.08RemovedallKGDreferencesCorrectedDetailedRegisterMap(FERSTAT)CorrectedstatementonVDDA/VDDXprotectiondiodesSeptember,20091.09UpdatedChapter8S12XEClocksandResetGenerator(S12XECRGV1)UpdatedChapter14SerialCommunicationInterface(S12SCIV5)UpdatedChapter16TimerModule(TIM16B8CV2)UpdatedChapter18256KByteFlashModule(S12XFTMR256K1V1)UpdatedChapter19128KByteFlashModule(S12XFTMR128K1V1)UpdatedChapter2064KByteFlashModule(S12XFTMR64K1V1)May,20101.10UpdatedChapter2PortIntegrationModule(S12XSPIMV1)UpdatedChapter16TimerModule(TIM16B8CV2)BDMAlternateclocksourcedefinedindeviceoverview70 江西理工大学2011届本科生毕业设计Chapter1DeviceOverviewS12XSFamily1.1IntroductionThenewS12XSfamilyof16-bitmicrocontrollersisacompatible,reducedversionoftheS12XEfamily.Thesefamiliesprovideaneasyapproachtodevelopcommonplatformsfromlow-endtohigh-endapplications,minimizingtheredesignofsoftwareandhardware.TargetedatgenericautomotiveapplicationsandCANnodes,sometypicalexamplesoftheseapplicationsare:BodyControllers,OccupantDetection,DoorModules,RKEReceivers,SmartActuators,LightingModulesandSmartJunctionBoxesamongstmanyothers.TheS12XSfamilyretainsmanyofthefeaturesoftheS12XEfamilyincludingErrorCorrectionCode(ECC)onFlashmemory,aseparateData-FlashModuleforcodeordatastorage,aFrequencyModulatedLockedLoop(IPLL)thatimprovestheEMCperformanceandafastATDconverter.S12XSfamilydelivers32-bitperformancewithalltheadvantagesandefficienciesofa16-bitMCUwhileretainingthelowcost,powerconsumption,EMCandcode-sizeefficiencyadvantagescurrentlyenjoyedbyusersofFreescale’sexisting16-bitS12andS12XMCUfamilies.LikemembersofotherS12Xfamilies,theS12XSfamilyruns16-bitwideaccesseswithoutwaitstatesforallperipheralsandmemories.TheS12XSfamilyisavailablein112-pinLQFP,80-pinQFP,64-pinLQFPpackageoptionsandmaintainsahighlevelofpincompatibilitywiththeS12XEfamily.InadditiontotheI/Oportsavailableineachmodule,upto18furtherI/OportsareavailablewithinterruptcapabilityallowingWake-Upfromstoporwaitmodes.TheperipheralsetincludesMSCAN,SPI,twoSCIs,an8-channel24-bitperiodicinterrupttimer,8-channel16-bitTimer,8-channelPWMandupto16-channel12-bitATDconverter.Softwarecontrolledperipheral-to-portroutingenablesaccesstoaflexiblemixof70 江西理工大学2011届本科生毕业设计theperipheralmodulesinthelowerpincountpackageoptions.1.1.1FeaturesFeaturesoftheS12XSFamilyarelistedhere.PleaseseeTableD-1formemoryoptionsandTableD-2fortheperipheralfeaturesthatareavailableonthedifferentfamilymembers.•16-bitCPU12X—UpwardcompatiblewithS12instructionsetwiththeexceptionoffiveFuzzyinstructions(MEM,WAV,WAVR,REV,REVW)whichhavebeenremoved—Enhancedindexedaddressing—AccesstolargedatasegmentsindependentofPPAGE•INT(interruptmodule)—Sevenlevelsofnestedinterrupts—Flexibleassignmentofinterruptsourcestoeachinterruptlevel.—Externalnon-maskablehighpriorityinterrupt(XIRQ)—ThefollowinginputscanactasWake-upInterrupts-IRQandnon-maskableXIRQ-CANreceivepins-SCIreceivepins-Dependingonthepackageoptionupto20pinsonportsJ,HandPconfigurableasrisingorfallingedgesensitive•MMC(modulemappingcontrol)•DBG(debugmodule)—MonitoringofCPUbuswithtag-typeorforce-typebreakpointrequests—64x64-bitcirculartracebuffercaptureschange-of-flowormemoryaccessinformation•BDM(backgrounddebugmode)•OSC_LCP(oscillator)—LowpowerloopcontrolPierceoscillatorutilizinga4MHzto16MHzcrystal—Goodnoiseimmunity—Full-swingPierceoptionutilizinga2MHzto40MHzcrystal—Transconductancesizedforoptimumstart-upmarginfortypicalcrystals•IPLL(Internallyfiltered,frequencymodulatedphase-locked-loopclockgeneration)—Noexternalcomponentsrequired70 江西理工大学2011届本科生毕业设计—ConfigurableoptiontospreadspectrumforreducedEMCradiation(frequencymodulation)•CRG(clockandresetgeneration)—COPwatchdog—Realtimeinterrupt—Clockmonitor—FastwakeupfromSTOPinselfclockmode•MemoryOptions—64K,128Kand256KbyteFlash—FlashGeneralFeatures-64databitsplus8syndromeECC(ErrorCorrectionCode)bitsallowsinglebitfailurecorrectionanddoublefaultdetection-Erasesectorsize1024bytes-Automatedprogramanderasealgorithm-Protectionschemetopreventaccidentalprogramorerase-Securityoptiontopreventunauthorizedaccess-Sense-ampmarginlevelsettingforreads—4Kand8KbyteDataFlashspace-16databitsplus6syndromeECC(ErrorCorrectionCode)bitsallowsinglebitfailurecorrectionanddoublefaultdetection-Erasesectorsize256bytes-Automatedprogramanderasealgorithm—4K,8Kand12KbyteRAM•16-channel,12-bitAnalog-to-Digitalconverter—8/10/12Bitresolution—3µs,10-bitsingleconversiontime—Leftorrightjustifiedresultdata—Externalandinternalconversiontriggercapability—InternaloscillatorforconversioninStopmodes—Wakefromlowpowermodesonanalogcomparison>or<=match—Continuousconversionmode—Multiplexerfor16analoginputchannels—Multiplechannelscans70 江西理工大学2011届本科生毕业设计—PinscanalsobeusedasdigitalI/O•MSCAN(1Mbitpersecond,CAN2.0A,Bsoftwarecompatiblemodule)—1Mbitpersecond,CAN2.0A,Bsoftwarecompatiblemodule-Standardandextendeddataframes-0-8bytesdatalength–Programmablebitrateupto1Mbps—FivereceivebufferswithFIFOstoragescheme—Threetransmitbufferswithinternalprioritization—Flexibleidentifieracceptancefilterprogrammableas:-2x32-bit–4x16-bit–8x8-bit—Wake-upwithintegratedlowpassfilteroption—Loopbackforselftest—Listen-onlymodetomonitorCANbus—Bus-offrecoverybysoftwareinterventionorautomatically—16-bittimestampoftransmitted/receivedmessages•TIM(standardtimermodule)—8x16-bitchannelsforinputcaptureoroutputcompare—16-bitfree-runningcounterwith8-bitprecisionprescaler—1x16-bitpulseaccumulator•PIT(periodicinterrupttimer)—Uptofourtimerswithindependenttime-outperiods—Time-outperiodsselectablebetween1and224busclockcycles—Time-outinterruptandperipheraltriggers—Startoftimerscanbealigned•Upto8channelx8-bitor4channelx16-bitPulseWidthModulator—Programmableperiodanddutycycleperchannel—Center-orleft-alignedoutputs—Programmableclockselectlogicwithawiderangeoffrequencies•SerialPeripheralInterfaceModule(SPI)—Configurablefor8or16-bitdatasize—Full-duplexorsingle-wirebidirectional—Double-bufferedtransmitandreceive—MasterorSlavemode—MSB-firstorLSB-firstshifting—Serialclockphaseandpolarityoptions•TwoSerialCommunicationInterfaces(SCI)—Full-duplexorsinglewireoperation70 江西理工大学2011届本科生毕业设计—Standardmark/spacenon-return-to-zero(NRZ)format—SelectableIrDA1.4return-to-zero-inverted(RZI)formatwithprogrammablepulsewidths—13-bitbaudrateselection—Programmablecharacterlength—Programmablepolarityfortransmitterandreceiver—Receivewakeuponactiveedge—BreakdetectandtransmitcollisiondetectsupportingLIN•On-ChipVoltageRegulator—Twoparallel,linearvoltageregulatorswithbandgapreference—Low-voltagedetect(LVD)withlow-voltageinterrupt(LVI)—Power-onreset(POR)circuit—Low-voltagereset(LVR)•Low-powerwake-uptimer(API)—Internaloscillatordrivingadowncounter—Trimmableto+/-10%accuracy—Time-outperiodsrangefrom0.2msto~13switha0.2msresolution•Input/Output—Upto91general-purposeinput/output(I/O)pinsdependingonthepackageoptionand2input-onlypins—Hysteresisandconfigurablepullup/pulldowndeviceonallinputpins—Configurabledrivestrengthonalloutputpins•PackageOptions—112-pinlow-profilequadflat-pack(LQFP)—80-pinquadflat-pack(QFP)—64-pinlow-profilequadflat-pack(LQFP)•OperatingConditions—WidesingleSupplyVoltagerange3.135Vto5.5Vatfullperformance-SeparatesupplyforinternalvoltageregulatorandI/OallowoptimizedEMCfiltering—40MHzmaximumCPUbusfrequency—Ambienttemperaturerange-40°Cto125°C—TemperatureOptions:--40°Cto85°C–-40°Cto105°C–-40°Cto125°C1.1.2ModesofOperationOperatingmodes:•Normalsingle-chipmode70 江西理工大学2011届本科生毕业设计•Specialsingle-chipmodewithactivebackgrounddebugmodeNOTEThischipfamilydoesnotsupportexternalbusmodes.Low-powermodes:•Systemstopmodes—Pseudostopmode—Fullstopmodewithfastwake-upoption•Systemwaitmode1.2.3DetailedSignalDescriptionsNOTEThepinlistofthelargestpackageversionofeachS12XSFamilyderivativegivesthecompleteofinterfacesignalsthatalsoexistonsmallerpackageoptions,althoughsomeofthemarenotbondedout.Fordevicesassembledinsmallerpackagesallnon-bondedoutpinsshouldbeconfiguredasoutputsafterresetinordertoavoidcurrentdrawnfromfloatinginputs.RefertoTable1-6foraffectedpins.1.2.3.1EXTAL,XTAL—OscillatorPinsEXTALandXTALarethecrystaldriverandexternalclockpins.OnresetallthedeviceclocksarederivedfromtheEXTALinputfrequency.XTAListheoscillatoroutput.1.2.3.2RESET—ExternalResetPinTheRESETpinisanactivelowbidirectionalcontrolsignal.ItactsasaninputtoinitializetheMCUtoaknownstart-upstate.AsanoutputitisdrivenlowtoindicatewhenanyinternalMCUresetsourcetriggers.TheRESETpinhasaninternalpull-updevice.1.2.3.3TEST—TestPinThisinputonlypinisreservedforfactorytest.Thispinhasapull-downdevice.TheTESTpinmustbetiedtoVSSinallapplications.1.2.3.4BKGD/MODC—BackgroundDebugandModePinTheBKGD/MODCpinisusedasapseudo-open-drainpinforthebackgrounddebugcommunication.ItisusedasaMCUoperatingmodeselectpinduringreset.ThestateofthispinislatchedtotheMODCbitattherisingedgeofRESET.TheBKGDpin70 江西理工大学2011届本科生毕业设计hasaninternalpull-updevice.1.2.3.5PAD[15:0]/AN[15:0]—PortADInputPinsofATD0PAD[15:0]aregeneral-purposeinputoroutputpinsandanaloginputsAN[15:0]oftheanalog-to-digitalconverterATD0.1.2.3.6PA[7:0]—PortAI/OPinsPA[7:0]aregeneral-purposeinputoroutputpins.1.2.3.7PB[7:0]—PortBI/OPinsPB[7:0]aregeneral-purposeinputoroutputpins.1.2.3.8PE7/ECLKX2/XCLKS—PortEI/OPin7PE7isageneral-purposeinputoroutputpin.ECLKX2isaclockoutputoftwicetheinternalbusfrequency.TheXCLKSisaninputsignalwhichcontrolswhetheracrystalincombinationwiththeinternalloopcontrolledPierceoscillatorisusedorwhetherfullswingPierceoscillator/externalclockcircuitryisused(refertoSection1.10OscillatorConfigurtion).Aninternalpull-upisenabledduringreset.1.2.3.9PE[6:5]—PortEI/OPin6-5PE[6:5]areageneral-purposeinputoroutputpins.1.2.3.10PE4/ECLK—PortEI/OPin4PE4isageneral-purposeinputoroutputpin.ItcanbeconfiguredtooutputtheinternalbusclockECLK.ECLKcanbeusedasatimingreference.TheECLKoutputhasaprogrammableprescaler.1.2.3.11PE[3:2]—PortEI/OPin3PE[3:2]areageneral-purposeinputoroutputpins.1.2.3.12PE1/IRQ—PortEInputPin1PE1isageneral-purposeinputpinandthemaskableinterruptrequestinputthatprovidesameansofapplyingasynchronousinterruptrequests.ThiswillwakeuptheMCUfromstoporwaitmode.1.2.3.13PE0/XIRQ—PortEInputPin0PE0isageneral-purposeinputpinandthenon-maskableinterruptrequestinput70 江西理工大学2011届本科生毕业设计thatprovidesameansofapplyingasynchronousinterruptrequests.ThiswillwakeuptheMCUfromstoporwaitmode.TheXIRQinterruptislevelsensitiveandactivelow.AsXIRQislevelsensitive,whilethispinislowtheMCUwillnotenterSTOPmode.1.2.3.14PH[7:0]/KWH[7:0]—PortHI/OPinsPH[7:0]areageneral-purposeinputoroutputpins.Theycanbeconfiguredaskeypadwakeupinputs.1.2.3.15PJ[7:6]/KWJ[7:6]—PORTJI/OPins7-6PJ[7:6]areageneral-purposeinputoroutputpins.Theycanbeconfiguredaskeypadwakeupinputs.1.2.3.16PJ[1:0]/KWJ[1:0]—PORTJI/OPins1-0PJ[1:0]areageneral-purposeinputoroutputpins.Theycanbeconfiguredaskeypadwakeupinputs.1.2.3.17PK[7,5:0]—PortKI/OPins7and5-0PK[7,5:0]areageneral-purposeinputoroutputpins.1.2.3.18PM[7:6]—PortMI/OPins7-6PM[7:6]areageneral-purposeinputoroutputpins.1.2.3.19PM5/SCK0—PortMI/OPin5PM5isageneral-purposeinputoroutputpin.ItcanbeconfiguredastheserialclockpinSCKoftheserialperipheralinterface0(SPI0).1.2.3.20PM4/MOSI0—PortMI/OPin4PM4isageneral-purposeinputoroutputpin.Itcanbeconfiguredasthemasteroutput(duringmastermode)orslaveinputpin(duringslavemode)MOSIfortheserialperipheralinterface0(SPI0).1.2.3.21PM3/SS0—PortMI/OPin3PM3isageneral-purposeinputoroutputpin.ItcanbeconfiguredastheslaveselectpinSSoftheserialperipheralinterface0(SPI0).1.2.3.22PM2/MISO0—PortMI/OPin2PM2isageneral-purposeinputoroutputpin.Itcanbeconfiguredasthemasterinput(duringmastermode)orslaveoutputpin(duringslavemode)MISOfortheserialperipheralinterface70 江西理工大学2011届本科生毕业设计0(SPI0).1.2.3.23PM1/TXCAN0/TXD1—PortMI/OPin1PM1isageneral-purposeinputoroutputpin.ItcanbeconfiguredasthetransmitpinTXCANofthescalablecontrollerareanetworkcontroller0(CAN0).ItcanbeconfiguredasthetransmitpinTXDofserialcommunicationinterface1(SCI1).1.2.3.24PM0/RXCAN0/RXD1—PortMI/OPin0PM0isageneral-purposeinputoroutputpin.ItcanbeconfiguredasthereceivepinRXCANofthescalablecontrollerareanetworkcontroller0(CAN0).ItcanbeconfiguredasthereceivepinRXDofserialcommunicationinterface1(SCI1).1.2.3.25PP7/KWP7/PWM7—PortPI/OPin7PP7isageneral-purposeinputoroutputpin.Itcanbeconfiguredaskeypadwakeupinput.Itcanbeconfiguredaspulsewidthmodulator(PWM)channel7outputoremergencyshutdowninput.1.2.3.26PP[6:3]/KWP[6:3]/PWM[6:3]—PortPI/OPins6-3PP[6:3]areageneral-purposeinputoroutputpins.Theycanbeconfiguredaskeypadwakeupinputs.Theycanbeconfiguredaspulsewidthmodulator(PWM)channel6-3output.1.2.3.27PP2/KWP2/PWM2/TXD1/IOC2—PortPI/OPin2PP2isageneral-purposeinputoroutputpin.Itcanbeconfiguredasakeypadwakeupinput.Itcanbeconfiguredaspulsewidthmodulator(PWM)channel2output,TIMchannel2orasthetransmitpinTXDofserialcommunicationinterface1(SCI1).1.2.3.28PP1/KWP1/PWM1/IOC1—PortPI/OPin1PP1isageneral-purposeinputoroutputpin.Itcanbeconfiguredasakeypadwakeupinput.Itcanbeconfiguredaspulsewidthmodulator(PWM)channel1output,TIMchannel1.1.2.3.29PP0/KWP0/PWM0/RXD1/IOC0—PortPI/OPin0PP0isageneral-purposeinputoroutputpin.Itcanbeconfiguredasakeypadwakeupinput.Itcanbe70 江西理工大学2011届本科生毕业设计configuredaspulsewidthmodulator(PWM)channel0output,TIMchannel0orasthereceivepinRXDofserialcommunicationinterface1(SCI1).1.2.3.30PS7/SS0—PortSI/OPin7PS7isageneral-purposeinputoroutputpin.ItcanbeconfiguredastheslaveselectpinSSoftheserialperipheralinterface0(SPI0).1.2.3.31PS6/SCK0—PortSI/OPin6PS6isageneral-purposeinputoroutputpin.ItcanbeconfiguredastheserialclockpinSCKoftheserialperipheralinterface0(SPI0).1.2.3.32PS5/MOSI0—PortSI/OPin5PS5isageneral-purposeinputoroutputpin.Itcanbeconfiguredasmasteroutput(duringmastermode)orslaveinputpin(duringslavemode)MOSIoftheserialperipheralinterface0(SPI0).1.2.3.33PS4/MISO0—PortSI/OPin4PS4isageneral-purposeinputoroutputpin.Itcanbeconfiguredasmasterinput(duringmastermode)orslaveoutputpin(duringslavemode)MOSIoftheserialperipheralinterface0(SPI0).1.2.3.34PS3/TXD1—PortSI/OPin3PS3isageneral-purposeinputoroutputpin.ItcanbeconfiguredasthetransmitpinTXDofserialcommunicationinterface1(SCI1).1.2.3.35PS2/RXD1—PortSI/OPin2PS2isageneral-purposeinputoroutputpin.ItcanbeconfiguredasthereceivepinRXDofserialcommunicationinterface1(SCI1).1.2.3.36PS1/TXD0—PortSI/OPin1PS1isageneral-purposeinputoroutputpin.ItcanbeconfiguredasthetransmitpinTXDofserialcommunicationinterface0(SCI0).1.2.3.37PS0/RXD0—PortSI/OPin0PS0isageneral-purposeinputoroutputpin.ItcanbeconfiguredasthereceivepinRXDofserialcommunicationinterface0(SCI0).70 江西理工大学2011届本科生毕业设计1.2.3.38PT[7:6]/IOC[7:6]/PWM[7:6]—PortTI/OPins7-6PT[7:6]aregeneral-purposeinputoroutputpins.Theycanbeconfiguredastimer(TIM)channel7-6orpulsewidthmodulator(PWM)outputs7-61.2.3.39PT5/IOC5/VREG_API—PortTI/OPin5PT[5]isageneral-purposeinputoroutputpin.Itcanbeconfiguredastimer(TIM)channel5,pulsewidthmodulator(PWM)output5orastheVREG_APIsignaloutput.1.2.3.40PT4/IOC4/PWM4—PortTI/OPin4PT4isageneral-purposeinputoroutputpin.Itcanbeconfiguredastimer(TIM)channel4orpulsewidthmodulator(PWM)output4.1.2.3.41PT[3:0]/IOC[3:0]—PortTI/OPin[3:0]PT[3:0]areageneral-purposeinputoroutputpins.Theycanbeconfiguredastimer(TIM)channels3-0.1.2.4PowerSupplyPinsS12XSFamilypowerandgroundpinsaredescribedbelow.Becausefastsignaltransitionsplacehigh,short-durationcurrentdemandsonthepowersupply,usebypasscapacitorswithhigh-frequencycharacteristicsandplacethemasclosetotheMCUaspossible.AllVSSpinsmustbeconnectedtogetherintheapplication.1.2.4.1VDDX[2:1],VSSX[2:1]—PowerandGroundPinsforI/ODriversExternalpowerandgroundforI/Odrivers.BypassrequirementsdependonhowheavilytheMCUpinsareloaded.AllVDDXpinsareconnectedtogetherinternally.AllVSSXpinsareconnectedtogetherinternally.1.2.4.2VDDR—PowerPinforInternalVoltageRegulatorPowersupplyinputtotheinternalvoltageregulator.1.2.4.3VDD,VSS2,VSS3—CorePowerPinsThevoltagesupplyofnominally1.8Visderivedfromtheinternalvoltageregulator.ThereturncurrentpathisthroughtheVSS2andVSS3pins.Nostaticexternalloadingofthesepinsispermitted.70 江西理工大学2011届本科生毕业设计1.2.4.4VDDF,VSS1—NVMPowerPinsThevoltagesupplyofnominally2.8Visderivedfromtheinternalvoltageregulator.ThereturncurrentpathisthroughtheVSS1pin.Nostaticexternalloadingofthesepinsispermitted.1.2.4.5VDDA,VSSA—PowerSupplyPinsforATDandVoltageRegulatorThesearethepowersupplyandgroundinputpinsfortheanalog-to-digitalconvertersandthevoltageregulator.1.2.4.6VRH,VRL—ATDReferenceVoltageInputPinsVRHandVRLarethereferencevoltageinputpinsfortheanalog-to-digitalconverter.1.2.4.7VDDPLL,VSSPLL—PowerSupplyPinsforPLLThesepinsprovideoperatingvoltageandgroundfortheoscillatorandthephased-lockedloop.Thevoltagesupplyofnominally1.8Visderivedfromtheinternalvoltageregulator.ThisallowsthesupplyvoltagetotheoscillatorandPLLtobebypassedindependently.Thisvoltageisgeneratedbytheinternalvoltageregulator.Nostaticexternalloadingofthesepinsispermitted.70 江西理工大学2011届本科生毕业设计附录3外文翻译为了提供最先进的最新信息,对于万维网文件的修订是最新的。打印本可能是一个早期版本。要验证您得到的最新的资料,请参阅到:http://freescale.com/。本文包含完整的S12XS系列资料,从而包括一个单独的闪存(FTMR)模块部分覆盖了整个系列。整个系列的成员和选项都包含在附录中。本文包含CPU所有组成模块的信息。想了解CPU的信息,请参阅CPU12XV1在CPU12/CPU12X参考手册中。修订日期日期修订组别描述2009年3月1.08删除所有KGD参考,更正详细寄存器分布,更正声明VDDA/VDDX保护二极管2009年9月1.09更新第8章S12XE系列时钟和复位发生器(S12XECRGV1)更新第14章串行通信接口(S12SCIV5)更新定时器模块(TIM16B8CV2)更新第18章256字节Flash模块(S12XFTMR256K1V1)更新第19章128字节Flash模块(S12XFTMR128K1V1)更新第20章64字节Flash模块(S12XFTMR64K1V1)2010年5月1.10更新第2章I/O口模块(S12XSPIMV1)更新第16章定时器模块(TIM16B8CV2)背景调试模块备用时钟源器件概述定义70 江西理工大学2011届本科生毕业设计第1章S12XS系列器件概述1.1简介新S12XS系列对16位微控制器是兼容的,在S12XE系列精简版。这些为家庭提供了一个简单的方法来开发从低端到高端应用的共同平台,最大限度地减少软件和硬件设计。在通用汽车应用与CAN节点目标,这些应用的一些典型的例子是:车身控制器,乘员检测,车门模块,RKE接收器,智能执行器,照明模块和智能接线盒以及很多其他。在S12XS系列保留了对S12XE系列包括纠错码的许多功能(ECC)功能在快闪记忆体,用于代码或数据存储,调频一个单独的数据,闪存模块锁相环(IPLL)可以改善EMC性能和快速的AD转换器。S12XS系列提供32位的所有优势和效率性能的16位MCU,同时保持低成本,功耗EMC和代码大小目前享有的效率优势由飞思卡尔现有的16位S12和S12XMCU系列产品的用户。同其他成员的S12X系列,S12XS系列运行16等待状态的情况下为所有外围设备和存储器位宽访问。该S12XS系列有112引脚LQFP封装,80引脚QFP,64引脚LQFP封装选项和维护一针与S12XE系列高度兼容。除了I/O端口可以在每个模块,多达18个,进一步I/O端口,可与中断功能,允许唤醒从停止或等待模式。这个系列包括MSCAN,SPI,两个SCIs,一个8通道24位定时器周期中断,8-通道16位定时器,8通道PWM,高达16通道12位A/D转换器。软件控制外围设备到路由可以访问的外设模块的灵活组合在低引脚数封装选择。1.1.1特点在S12XS系列带有这里列出。请参阅表D-1对内存的选择和表D-2的是在不同系列成员。•16位CPU12X-向上兼容与五个模糊指令集S12的指令异常(MEM,WAV,WAVR,REV,REVW)已被删除-增强索引寻址-获取大量数据段独立PPAGE•INT(中断模块)-7个级别的嵌套中断-灵活的转换中断源每个中断的层次。-外部非屏蔽高优先级中断(XIRQ)70 江西理工大学2011届本科生毕业设计-下面的输入可以作为唤醒中断-IRQ和非屏蔽XIRQ-can接收引脚-sci接收引脚-根据不同的封装选择了20针在端口J,H和P的上升或下降沿敏感的配置•MMC管理(模块映射控制)•DBG(调试模块)-监测与标签的CPU总线型或力量型断点要求-64×64位循环跟踪缓冲区的捕捉改变流或内存访问信息•BDM(背景调试模式)•OSC_LCP(振荡器)-低功率的闭环控制皮尔斯振荡器利用一个4MHz至16MHz石英晶体振荡器-良好的抗干扰-全摆幅皮尔斯选择利用一个2MHz至40MHz的晶体-跨导大小的最佳创业典型晶体缘•IPLL(内部过滤,调频锁相回路时钟发生器)-无需外部元件-可配置选项为减少传播EMC辐射(频率调制谱)•CRG(时钟和复位代)-缔约方会议看门狗-实时中断-时钟监视器-快速唤醒自我的停止时钟模式•内存选项-第64K,128K的和256K字节的闪存-闪光的基本特征-64位数据加上8综合征ECC(纠错码)位允许单个位失败校正和双故障检测-擦除扇区大小1024字节-自动编程和擦除算法-保护计划,以防止意外编程或擦除-安全选项,以防止未经授权的访问-检测放大器的保证金水平设置读取-4K和8K字节数据闪存空间-16位数据加上6综合征ECC(纠错码)位允许单个位失败校正和双故障检测70 江西理工大学2011届本科生毕业设计-擦除扇区大小256字节-自动编程和擦除算法-4K,8K与第12K字节RAM•16通道,12位模拟数字转换器-8/10/12位分辨率-3m秒,10位单次转换时间-左或右对齐结果数据-外部和内部转换触发功能-内部振荡器在停止模式转换-唤醒从模拟比较低功耗模式“或”<=匹配-连续转换模式-16多路模拟输入通道-多通道扫描-管脚也可以作为数字I/O•MSCAN(1米比特每秒,可2.0的A,B软件兼容模块)-1兆位每秒,可2.0的A,B软件兼容模块-标准和扩展数据帧-0-8个字节数据的长度-可编程的比特率高达1Mbps-五接收FIFO的存储方案缓冲区-三优先发送内部缓冲区-灵活的标识验收滤波器可编程为:-2x32位-4x16位-8×8位-唤醒集成了低通滤波器的选择-环回自检-只能收听到CAN总线监控-巴士过干预或由软件自动恢复-16位的发送/接收邮件时间戳•添(标准定时器模块)-8×16的输入捕捉或输出比特的通道比较-16位自由运行计数器的8位精度预分频器-1个16位脉冲累加器•基坑(周期性中断定时器)70 江西理工大学2011届本科生毕业设计-多达4个独立的定时器超时周期-超时期限为1至224总线时钟周期选择-超时中断和周边触发器-定时器开始可以对齐•高达8通道×8位或4通道x16位脉宽调制器-可编程的占空比期间每通道-中心或左对齐输出-可编程时钟选择逻辑的和频率范围•串行外设接口模块(SPI)-可设置为8位或16位数据的大小-全双工或单线双向-双缓冲的发送和接收-主或从模式-最高位先或LSB先移-串行时钟相位和极性选择•两个串行通信接口(SCI)-全双工或单线运行-标准标记/空间不返回到归零(NRZ)格式-可选的IrDA1.4返回到零反转(RZI)可编程脉冲宽度格式-13位波特率选择-可编程的字符长度-可编程极性的发射机和接收机-接收唤醒的积极边缘-间隔检测和传输冲突检测支持林•片上电压调节器-两个平行的,与带隙基准的线性稳压器-低电压检测(LVD)认证的低电压中断(LVI)号-上电复位(POR)电路-低电压复位(LVR)的•低功耗唤醒定时器(API)的-内部振荡器驾驶递减计数器-微调到+/-10%的准确度-超时时间为0.2ms的范围内,从同一个0.2ms〜13秒的决议•输入/输出-最多91个通用输入/输出(I/O)引脚取决于封装选择和2个输入专用管脚70 江西理工大学2011届本科生毕业设计-磁滞和可配置上拉/下拉输入引脚上的所有设备-在所有驱动器输出引脚可配置力量•封装选择-112引脚小外形四方扁平封装(LQFP封装)-80引脚四方扁平封装(QFP)-64引脚小外形四方扁平封装(LQFP封装)•运行条件-宽单电源电压范围3.135V至5.5V的全性能-单独的电源内部电压调节器和I/O优化的EMC滤波容许-40MHz的最大CPU总线频率-环境温度范围:-40度至125度-温度选项:--40度至85度--40度至105度--40度至125度1.1.2工作模式模式种类:•正常的单芯片模式•特别的单主动背景调试模式芯片模式注意该芯片系列不支持外部总线模式。低功率模式:•系统停止模式-伪停止模式-全部停止快速唤醒模式的选择•系统等待模式1.2.3信号的详细说明在每个S12XS系列的衍生版本,最大的包脚列表给出了完整的接口信号也存在于小封装选择,虽然他们有些人并不保税了。组装设备在较小的封装所有非保税出引脚应该配置为复位后的产出,以避免目前的浮动得出的投入。请参考表1-6受影响引脚。1.2.3.1EXTAL,XTAL-振荡器引脚EXTAL和XTAL是晶体驱动和外部时钟引脚。复位所有设备时钟来自EXTAL输入频率。XTAL是振荡器的输出。1.2.3.2复位-外部复位引脚70 江西理工大学2011届本科生毕业设计复位引脚是一个积极的低双向控制信号。它的作用微控制器初始化到已知启动状态作为输入。作为一个低是驱动时的提示任何内部微处理器复位源触发器输出。RESET引脚内部有上拉设备。1.2.3.3测试-测试针这仅输入引脚是保留给工厂测试。该引脚有一个下拉式装置。该测试引脚必须绑到VSS在所有应用程序。1.2.3.4BKGD/MODC-背景调试和模式引脚在BKGD/MODC引脚用作伪开漏引脚可用于调试的通信背景。它用作微控制器在工作模式选择引脚复位。该引脚的状态是锁定的MODC位在复位的上升沿。该BKGD管脚有一个内部上拉设备。1.2.3.5PAD[15:0]/安[15:0]-端口公元输入引脚的ATD0PAD[15:0]是通用输入或输出引脚和一个[15:0模拟输入的模拟]到数字转换器ATD0。1.2.3.6PA[7:0]-端口AI/O引脚PA[7:0]是通用输入或输出引脚。1.2.3.7PB[7:0]-端口BI/O引脚PB[7:0]是通用输入或输出引脚。1.2.3.8PE7/ECLKX2/XCLKS-端口EI/O引脚7PE7是一种通用输入或输出引脚。ECLKX2是两倍的内部总线时钟输出频率。该XCLKS是一个输入信号,控制是否结合控制皮尔斯振荡器晶体内部循环使用,还是全面展开皮尔斯振荡器/外部时钟电路,使用(参考第1.9振荡器配置)。一个内部上拉复位期间启用。1.2.3.9PE[6:5]-端口EI/O引脚6-5PE[6:5]是一种通用输入或输出引脚。1.2.3.10PE4/ECLK-端口EI/O引脚4PE4是一种通用输入或输出引脚。它可以被配置为输出的内部总线时钟ECLK。ECLK可以作为一个时间基准。该ECLK输出有一个可编程的预分频器。1.2.3.11PE[3:2]-端口EI/O引脚3PE[3:2]是一种通用输入或输出引脚。1.2.3.12PE1/的IRQ-端口E输入引脚170 江西理工大学2011届本科生毕业设计PE1是一种通用输入引脚和可屏蔽中断请求输入,提供了一个应用异步中断请求的手段。这加快了从唤醒MCU将停止或等待模式。1.2.3.13PE0/XIRQ-端口E输入引脚0PE0是一种通用输入引脚和非屏蔽中断请求输入,提供了一个应用异步中断请求的手段。这加快了从唤醒MCU将停止或等待模式。XIRQ中断的敏感和活跃程度低。由于XIRQ敏感的水平,而这脚是低的MCU将不会进入STOP模式。1.2.3.14PH值[7:0]/千瓦时[7:0]-端口魔I/O引脚PH值[7:0]是一种通用输入或输出引脚。它们可配置为输入键盘唤醒。1.2.3.15PJ[7:6]/KWJ[7:6]-端口吉/O引脚7-6PJ[7:6]是一种通用输入或输出引脚。它们可配置为输入键盘唤醒。1.2.3.16PJ[1:0]/KWJ[1:0]-端口吉/O引脚1-0PJ[1:0]是一种通用输入或输出引脚。它们可配置为输入键盘唤醒。1.2.3.17PK[7,5:0]-端口KI/O引脚7和5-0PK[7,5:0]是一种通用输入或输出引脚。1.2.3.18PM[7:6]-端口MI/O引脚7-6PM[7:6]是一种通用输入或输出引脚。1.2.3.19PM5/SCK0-端口MI/O引脚5PM5是一种通用输入或输出引脚。它可以配置为串行时钟的串行外设接口0(SPI0)引脚球状。1.2.3.20PM4/MOSI0-端口MI/O引脚4PM4是一种通用输入或输出引脚。它可以配置为(在主模式),或从输入引脚主输出的串行外设接口0(SPI0)(在从机模式)硅化钼。1.2.3.21PM3/SS0-端口MI/O引脚3PM3是一种通用输入或输出引脚。它可以配置为奴隶的串行外设接口0(SPI0)选择引脚不锈钢。1.2.3.22PM2/MISO0-端口MI/O引脚2PM2是一种通用输入或输出引脚。它可以配置为主的输入(在主模式),或从输出引脚(在从机模式)的串行外设接口0(SPI0)味噌。70 江西理工大学2011届本科生毕业设计1.2.3.23PM1/TXCAN0/TXD1-端口MI/O引脚1PM1通用输入或输出引脚。它可以配置为发送引脚可扩展控制器区域网络控制器0(CAN0)TXCAN。它可以配置为发送引脚串行通信接口1(SCI1)TXD的。1.2.3.24PM0/RXCAN0/RXD1-端口MI/O引脚0PM0是一种通用输入或输出引脚。它可以配置为接收引脚的可扩展控制器区域网络控制器0(CAN0)RXCAN。它可以配置为接收引脚串行通信接口1(SCI1)RxD的。1.2.3.25PP7/KWP7/PWM7-端口PI/O引脚7PP7是一个通用输入或输出引脚。它可配置为输入键盘唤醒。它可以作为脉冲宽度调制(PWM)配置通道7输出或输入紧急停机。1.2.3.26PP[6:3]/KWP[6:3]/PWM[6:3]-端口[6:3]是一种通用输入或输出引脚。它们可配置为输入键盘唤醒。他们可以说是脉冲宽度调制(PWM)通道配置6-3输出。1.2.3.27PP2/KWP2/PWM2/TXD1/IOC2-端口PP2是一个通用输入或输出引脚。它可以配置为输入键盘唤醒。它可以作为脉冲宽度调制(PWM)输出通道2配置,TIM的通道2或作为传输引脚TXD串行通信接口1(SCI1)。1.2.3.28PP1/KWP1/PWM1/IOC1-端口PP1是一种通用输入或输出引脚。它可以配置为输入键盘唤醒。它可以作为脉冲宽度调制(PWM)输出通道1配置,TIM的通道1。1.2.3.29PP0/KWP0/PWM0/RXD1/IOC0-端口PP0是一种通用输入或输出引脚。它可以配置为输入键盘唤醒。它可以作为脉冲宽度调制(PWM)输出通道0配置,TIM的通道0或接收引脚RXD串行通信接口1(SCI1)。1.2.3.30PS7/SS0-端口的I/O7是一个通用的输入或输出引脚。它可以配置为奴隶的串行外设接口0(SPI0)选择引脚不锈钢。1.2.3.31PS6/SCK0-端口的I/OPS6是一种通用输入或输出引脚。它可以配置为串行时钟的串行外设接口0(SPI0)引脚球状。1.2.3.32PS5/MOSI0-端口的I/OPS570 江西理工大学2011届本科生毕业设计是通用输入或输出引脚。它可以配置为主输出(在主控模式)或(在从机模式)的串行外设接口0(SPI0)硅化钼输入引脚。1.2.3.33PS4的/MISO0-端口的I/O引脚4PS4的是一种通用输入或输出引脚。它可配置成主输入(在主模式),或从输出引脚(在从机模式)的串行外设接口0(SPI0)硅化钼。1.2.3.34PS3/TXD1-端口的I/O引脚3PS3是一种通用输入或输出引脚。它可以配置为发送引脚串行通信接口1(SCI1)TXD的。1.2.3.35PS2/RXD1-端口的I/O引脚2PS2的是一种通用输入或输出引脚。它可以配置为接收引脚串行通信接口1(SCI1)RxD的。1.2.3.36PS1/TXD0-端口的I/O引脚1PS1是一种通用输入或输出引脚。它可以配置为发送引脚串行通信接口0(SCI0)TXD的。1.2.3.37PS0/RXD0-端口的I/O引脚0PS0是一种通用输入或输出引脚。它可以配置为接收引脚串行通信接口0(SCI0)RxD的。1.2.3.38PT7[7:6]/IOC[7:6]/PWM[7:6]-端口PT7[7:6]是通用输入或输出引脚。他们可以说是定时器(TIM)的配置通道7-6或脉冲宽度调制(PWM)输出7-61.2.3.39PT5/IOC5/VREG_API-端口PT5是一种通用输入或输出引脚。它可以作为定时器(TIM)的配置通道5,脉宽调制器(PWM)输出5或作为VREG_API信号输出。1.2.3.40PT4/IOC4/PWM4-端口ŤI/O引脚4PT4是一个通用输入或输出引脚。它可以作为定时器(TIM)的配置通道4或脉冲宽度调制(PWM)输出4。1.2.3.41PT4[3:0]/IOC[3:0]-端口PT4[3:0]是一种通用输入或输出引脚。它们可以被配置为定时器(TIM)的渠道3-0。1.2.4电源引脚70 江西理工大学2011届本科生毕业设计S12XS系列电源和接地引脚说明如下。由于快速的信号转换到位率,电源供应器的短期目前的需求,高频率使用旁路电容的特点和地点靠近它们尽可能微控制器。所有VSS引脚必须连在一起的应用程序。1.2.4.1VDDX[2:1],VSSX[2:1]-电源和接地引脚的I/O驱动程序外接电源,因为我地面/O驱动器。绕道要求取决于如何严重的MCU引脚加载。所有VDDX引脚内部连接在一起。所有VSSX引脚内部连接在一起。1.2.4.2VDDR-电源的内部稳压器管脚电源输入到内部电压调节器。1.2.4.3内径,VSS2,VSS3-核心电源引脚名义上的1.8伏电压是来自内部电压调节器。返回电流路径是通过VSS2和VSS3引脚。没有固定的这些引脚外部负载是允许的。1.2.4.4VDDF,VSS1-的NVM电源引脚实际上2.8的电压供应来自内部电压调节器。返回电流路径是通过VSS1针。没有固定的这些引脚外部负载是允许的。1.2.4.5VDDA,VSSA-电源供应器的电压引脚扶贫和调节这是电源和接地引脚输入的模拟数字转换器和稳压器。1.2.4.6自由程跳跃,VRL-扶贫参考电压输入引脚自由程跳跃和VRL是参考电压的模拟输入引脚至数字转换器。1.2.4.7VDDPLL,VSSPLL-电源引脚的锁相环这些引脚提供工作电压为振荡器和锁相环和地面。名义上的1.8伏电压是来自内部电压调节器。这使得电源电压振荡器和PLL被绕过独立。这个电压是由内部稳压器。没有固定的这些引脚外部负载是允许的。70'