车辆工程毕业设计说明书范本.docx_第1页
车辆工程毕业设计说明书范本.docx_第2页
车辆工程毕业设计说明书范本.docx_第3页
车辆工程毕业设计说明书范本.docx_第4页
车辆工程毕业设计说明书范本.docx_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)说明书题目名称:空气流量信号处理系统设计院系名称:机电学院 班 级:车辆091班 学 号:200900374102 学生姓名:赵蕊指导教师:姜春英 2013年 05 月论文编号:200900374102 空气流量信号处理系统设计The design of air flow rate signal processing system 院系名称:机电学院 班 级:车辆091班 学 号:200900374102 学生姓名:赵蕊 指导教师:姜春英 2013年 05 月摘 要空气流量计是发动机中的一个重要部分,是测量发动机吸入空气量多少的传感器,空气流量计能够把空气流量的大小转变为电信号,空气流量计将吸入的空气量转换成的电信号送至发动机ECU(电控单元),进气量的电信号被用来计算基本喷油持续时间和基本点火提前角。本课题的任务是为汽车发动机空气流量计设计出一套简明的信号采集系统,使人们能够清楚的认识到空气流量计工作过程。本设计介绍了空气流量计的工作原理,工作方式。以及根据空气流量计的原理和硬件结构,使用相应的软件进行系统编程,并加以模拟。软件编程主要分为两部分:A/D转换,SCI通信。除此之外,还要编写一个用labview软件做出来的界面。通过A/D转换将空气流量计的电压信号转换为可识别的数字信号,用SCI通信将数据传递给电脑。然后用labview编译的界面将数据的变化显示出来。通过模拟实验给单片机一个模拟的变化的电压信号使空气流量计中的电压变化在界面上显示出来。关键词:空气流量计 A/D转换 SCI通信 ABSTRACTAir flow meter ,which is an important part of the engine, is a measure of how much the engine intake air quantity sensor. Air flow meter takes the size of the air flow into an electrical signal, and sends it to the engine ECU (electronic control unit). Electric signal of intake air used to calculate the basic fuel injection duration and basic ignition advance angle. The task of the project is to design a concise signal acquisition system for automotive engine air flow meter so that people can clearly be acquainted with Air flow meter working process. This design describes the air flow meter works and work. And in accordance with the principles of air flow meter and hardware architecture, use the appropriate software to do system programming, and make simulations. Software programming is divided into two parts: A / D converter, SCI communication. In addition,we also need write a interface with labview software. The A / D conversion of the air flow convert a voltage signal into a digital identification signal ,and the SCI communication pass data to the computer. Then the interface compiled with labview will display the change of the data. Via Simulation experiment , giving SCM a varying voltage signal to make the chang of air flow meter in the voltage displayed in the interface . Key words: air flow meter A/D conversion SCI communication目录摘 要IABSTRACTII1 绪论11.1前言11.2 空气流量计系统介绍11.3 空气流量计国内外的现状和趋势22 硬件设计42.1 空气流量计的基本组成42.1.1、质量型空气流量计:42.1.2体积型空气流量计62.2 MC9S12XS128 内部结构、主要特性72.3 MAX23283 软件设计113.1 CodeWarrior软件简介113.1.1 项目调试场景113.1.2 CodeWarrior 中项目的基本管理和设定123.2 系统流程143.3 A转换模块设计163.4 SCI模块设计233.5 labview软件设计273.5.1 labview软件简介273.5.2 labview应用程序构成273.5.3 前面板273.5.4 流程图273.5.5 图标连接器284 调试过程304.1调试过程304.2 调试中出现的问题314.3调试结果31总结33参考文献34致谢35附录361 绪论1.1前言空气流量计-传感器向电子控制器提供反映进气流量的电信号,在电子控制汽油喷射系统中是电子控制器计算喷有时间的重要参数,而在微机控制点火时刻系统中则是作为发动机负荷的间接参数,用于确定最佳的基本点火提前角。空气流量计可分为机械式的和电子式的。由于机械式的空气流量计是体积流量型;所以测量范围大;进气量增大测量精度降低;电位计滑动触头影响精度;而且体积大,响应慢。或者是测试精度高,可以输出线形数字信号,信号处理简单;性能稳定,可靠性高;由于检测的是体积流量,需对温度和大气压进行修正;但是制造成本比较高。所以现在的汽车上都采用电子式的空气流量计,其特点是:发热体不直接承受空气流动所产生的作用力,增加了发热体的强度,提高了可靠性,误差较小,而且减低了成本。本文通过阐述空气流量计的基本结构、工作原理、控制策略和发展现状,使读者对电子节气门有深入的理解。1.2 空气流量计系统介绍空气流量计是将进入到汽车发动机内的空气流量生成电压信号,电压信号通过A/D转换之后传送给CPU,进而通过CPU来控制节气门的开度大小。空气流量计信号空气CPU图1-1 空气流量计工作的流程图图1-1就是空气流量计的工作流程图。其工作原理是:在空气通道中放置一电热体,通电后使电热体保持一定的温度,空气通过时,空气将会带走热量而使电热体温度下降,电热体的电阻下降。这时,必须增大通过电热体的电流以维持电热体的温度当进气量越大,因进气的散热使帕热丝电阻减小,电桥平衡受到破坏。控制电路自动增大电流,增大帕热丝电阻使电桥重新恢复平衡。因电路中电流的增大,使精密电阻的电位增大。该电位与进气量成正比,作为进气量信号电压传输给发动机ECU,如图1-2。 图1-2空气流量传感器基本原理1.3 空气流量计国内外的现状和趋势(1)国外发展状况汽车流量计的检测是从原始的普通空气流量计检测逐步发展起来的,早在上个世纪50年代,在一些工业发达的国家就形成了空气流量计的故障诊断和性能调试为主的单项检测技术和生产单项检测设备。进入60年代后,国外汽车流量计检测技术发展很快,并且大量的应用电子技术。进入到70年代以来,随着计算机技术的发展,出现了汽车流量计检测的数据化,但仅仅局限在数据显示上。随着电子与计算机技术,特别是软件工程的进一步发展,到了本世纪末,国外发达国家的流量计检测都具备了单机采集多种数据,同时处理多种数据的功能,如电压、流量等。进而对被测流量计进行综合评价。进入到21世纪,国外比较先进的流量检测台具有自诊断技术,并且其流量传感器在结构设计上遵循集成更多功能的理念。(2) 国内研究现状中国真正开始现代化流量检测技术的研究,则是进入到了上个世纪的80年代。随着科学技术在各个领域都有了较快的发展,特别是中国汽摩配行业的快速发展,使得汽车零部件的检测技术也逐渐发展起来,汽车流量计的检测也不例外。从上世纪九十年代开始,计算机进入到汽车流量计的检测领域,使流量测量面貌焕然一新,许多企业瞄准这个市场,纷纷开发以单片机为核心的智能仪表,甚至是完全满足标准计算要求的流量计算机;也有一些软件企业,致力于流量测量工具软件的开发与应用,给流量测量的研究、仪表的开发、生产、检测、现场校验以及管理带来了方便,同时也为流量测量方法的统一创造了条件。但上述的工具软件并没有与汽车空气流量计的在线检测系统有机地结合起来,使得汽车空气流量计的检测出现较大误差,进而对其的评价也存在了较大误差。这种现象也使得中国汽车流量计品质有待提高。而在国内部分生产厂家则是自设计只能测量流量计电压的在线测试设备,由于电压是直接信号,最后得出的流量是间接信号,所以必然会造成测量误差,影响对流量计品质的评价。由此可见,国内对于汽车流量计的检测平台还处于初级阶段,仅能测量空气流量计的电压,无法得出空气流量计的流量,造成空气流量计在生产过程中就有较大的测量误差,导致产品质量不高。有些厂家对于生产或销售的流量计采用进口的检测平台进行检测,不仅检测成本高而且维修保养困难,因此研究智能化汽车空气流量计在线检测与评价系统,不仅可以为填补我国汽车空气流量计检测平台的技术空白,还可以为汽车零配件厂降低检测成本,降低生产成本,提高我国流量计技术指标有着重要的意义。(3)应用前景2008年中国的汽车生产量高达800万辆,其中电控汽油机汽车达500万量,需要汽车空气流量计配套高达500万台,再加上维修需要的汽车空气流量计的约850万台,可以说2008年其需要量高达1350万台。一台汽车空气流量计在线检测系统检测100台流量计,一年检测2000台,每年需要67500台汽车空气流量计检测系统。该系统每年的需求量很大,市场前景广泛。2 硬件设计本次设计中硬件设计是将空气流量计与MC9S12XS128单片机连接起来采集信号又经过MAX232通信模块将信号在电脑上显示出来。其中由于空气流量计由于信号不稳定,不太好采集,在本设计中用电位计产生的可变电压来代替。2.1 空气流量计的基本组成空气流量计大体分为两种类型:质量型空气流量计和体积型空气流量计。两种类型包括各自不同的方式:2.1.1、质量型空气流量计:热线式空气流量计:如图2-1是热丝式空气流量传感器的实物图。 图2-1热丝式空气流量传感器结构特点:传感器壳体两端设制有与进气道相连接的圆形连接接头,空气入口和出口都设有防止传感器受到机械损伤的防护网。传感器入口与空气滤清器一端的进气管连接,出口与节流阀体一端的进气管连接。图2-2质量型空气流量计是安装在进气道上的插入型,它使一部分气流进入检测区域。用作传感器的一条铂热线和热敏电阻被安放在检测区域。通过直接测量进气质量,检测精度可以提高,并且几乎没有进气阻力。而且,由于没有使用专门的机械,这种流量计有很好的耐久性。图示的空气流量计也有一个嵌入式进气温度传感器【4】。工作原理:图2-2热丝式空气流量传感器组成1、MAF 传感器 2、进气处 3、冷金属线 4、热金属线空气质量流量(MAF)传感器使用一组电热丝感知组件以判断进入发动机的空气量。空气流过电热丝造成降温。电热丝保持在一定的温度,高于由冷却丝所测得的周围温度。保持电热丝温度所需的电流与空气质量的流量成正比。MAF传感器然后输出一个与空气质量流量成正比的模拟电压信号到ECM。内部电路:图2-3热丝式空气流量计电路如图2-3所示,在实际空气流量计,热线并入桥式电路。桥式电路具有这样的特性:当沿着对角线的阻值相等(Ra+R3R1=RhR2)时,A点和B点的电位相等。当热线(Rh)被吸入的空气冷却时,电阻值降低导致A点、B点产生电位差。运算放大器检测到电位差并且施加电压给电路(增加热线(Rh)电流)。这样热线(Rh)温度上升使热线阻值增大,直到A点和B点的电位相等(A、B电压升高)。通过利用这种桥式电路的特性,空气流量计就可以通过检测B点电压来测量进气量。热膜式空气流量传感器:热膜式空气流量计是热丝式传感器的改进产品,其发热元件采用平面形铂金属薄膜(厚约200 nm)电阻器,故称为热膜电阻。热膜电阻的制作方法是:首先在氧化铝陶瓷基片上采用蒸发工艺淀积铅金属薄膜,然后通过光刻工艺制作成梳状图形电阻,将电阻值调节到设计要求的阻值后,在其表面覆盖一层绝缘保护膜,再引出电极引线而制成。其外形与热丝式相似如图2-4,其结构如图2-5。图2-4热模式空气流量传感器外形图2-5热模式空气流量计结构1-接线插座、2-护套、3-铂金属膜4-防护网2.1.2体积型空气流量计叶片式流量计: 叶片式空气流量计由许多零件组成。当空气从空气滤清器流入空气流量计,气流推动计量板。当计量板压力与计量板回位弹簧力相等时,计量板就平衡在某一个位置。与计量板轴向连接的电位计将吸入空气量转化成可以发送给发动机ECM的电压信号。光学卡尔曼涡流式:通过光电直接感应吸入空气量。这既简化了进气道的构造,也减少了吸入空气阻力。如果将一个物体放在气流通道内,在物体进气口便产生一个或多个涡流(卡特曼涡流)。由于产生的卡特曼涡流的频率与空气流速成比例,气流容积就可通过测量涡流频率来计算。涡流是这样被检测的:通过把涡流的压力变化引向金属箔膜制成的反光镜表面,利用一对光敏付(发光二极管和光电晶体管)来检测反光镜的振动。如下图所示进气量(KS)信号是一个脉冲信号。当进气量低时,信号频率也低。当进气量大时,信号就有很高的频率。2.2 MC9S12XS128 内部结构、主要特性MC9S12XS128有3种封装,分别是64引脚封装、80引脚封装、112引脚封装【4】。MC9S12XS系列具有非常丰富的输入/输出端口资源,同事集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ和PORTAD共11个端口。端口引脚大多为复用引脚,往往具有多重功能。所有端口都具有通用I/O口功能,其中PORTA、PORTB、和PORTK作为通用的I/O口;PORTE中的 IRQ和XIRQ引脚可以作为外部中断输入口;PORTT集成了TIM模块功能;PORTS集成了SCI模块和SPI模块功能;PORTM集成了CAN总线模块;PORTP集成了PWM模块功能;PORTH和PORTJ可作为外部中断输入口;PORTAD集成了ATD模块功能。在本次设计中,主要应用了两个模块:SCI模块、A/D转换模块。这两个模块以及一些辅助模块的功能如下:内部PLL模块。不需要外部元件;可配置的选项,以降低EMC辐射(频率调制)。模/数转换(ATD)。位/10位/12位分辨率可选;3us的10位单通道转换时间;左对齐/右对齐数据转换;外部和内部转换触发功能;停止模式下为转换提供内部时钟;连续转换模式;16个模拟输入通道;多通道扫描;引脚能够用于数字I/O口。串行通信接口(SCI)。2个全双工或单线工作方式;标准不归零(NRZ)传号/空号数据格式;可编程脉冲宽度的IrDA1.4归零反转(RZI)格式;13位波特率选择;可编程的发送器和接收器极性;边沿有效接收唤醒;支持LIN的间隔检测和发送冲突检测;输入输出端口特性最多91个通用I/O口引脚和2个专用输入引脚;可配置输入引脚上拉和下拉电阻;可配置输出引脚驱动能力。2.3 MAX232数据传输接口是数据传输的硬件基础,也是数据通信、计算机网络的重要组成部分。单片机本身的数据传输接口主要为8位或16位并行数据接口、全双工串行通信接口,但电子技术的迅速发展使得许多新的数据传输接口标准不断涌现,大多数的单片机并没有在硬件中集成这些新的数据传输接口。为了使单片机适应不同标准的各类数据传输协议,必须对单片机的数据传输接口进行扩展。MAX232可以用作单片机和单片机之间、单片机和PC机串口之间的符合RS232串行接口电路。只要将待进行串行传输的设备的发送和接收端相应的接上,编程即可。MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平。每个接收器将EIA/TIA-232-E电平输入转换为5V TTL/CMOS电平。这些接收器具有1.3V的典型门限值及0.5V的典型迟滞,而且可以接收30V的输入。每个驱动器将TTL/CMOS输入电平转换为EIA/TIA-232-E电平。MAX232内部结构MAX内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。 (1) MAX232主要特点l 单5V电源工作l LinBiCMOSTM工艺技术l 两个驱动器及两个接收器l 30V输入电平l 低电源电流:典型值是8mAl 符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.28l ESD保护大于MIL-STD-883(方 法3015)标准的2000V(2)MAX232串口连接图MAX232获得正负电源的另一种方法 在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如: 9V,-9V; 12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。 1.外接;2.DC-DC变换.在这里我介绍一块大家常用的芯片:MAX232. MAX232是TTL-RS232电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为uF的时候,若输入为5V,输出可以达到-14V左右,输入为0V ,输出可以达到14V,在扇出电流为20mA的时候,处处电压可以稳定在 12V和-12V.因此,在功耗不是很大的情况下,可以将MAX232的输出信号经稳压块后作电源使用。下图2-6为MX232双串口的连接图,可以分别接单片机的串行通信口或者实验板的其它串行通信接口:图2-6 MAX232连接图3 软件设计本次设计中所涉用到的软件有CodeWarrior以及labview。在设计中运用Codeearrior来编辑程序并将程序下载至MC9S12XS128单片机中,之后用labview编辑一个显示界面,使采集到的信号数据在电脑上显示出来。3.1 CodeWarrior软件简介CodeWarrior包括构建平台和应用所必需的所有主要工具 - IDE、编译器、调试器、编辑器、链接器、汇编程序等。另外,CodeWarrior IDE支持开发人员插入他们所喜爱的工具,使他们可以自由地以希望的方式工作。 CodeWarrior开发工作室将尖端的调试技术与健全开发环境的简易性结合在一起,将C/C+源级别调试和嵌入式应用开发带入新的水平。开发工作室提供高度可视且自动化的框架,可以加速甚至是最复杂应用的开发,因此对于各种水平的开发人员来说,创建应用都是简单而便捷的。 它是一个单一的开发环境,在所有所支持的工作站和个人电脑之间保持一致。在每个所支持的平台上,性能及使用均是相同的。无需担心主机至主机的不兼容。 CodeWarrior开发工作室包括完成大多数嵌入式开发项目所需的所有工具。运行CodeWarrior(CW)集成开发平台,在任务栏的File菜单下点击New,会弹出建立新项目的模板对话框,选择单片机型号,按照提示操作输入文件名,选择存储位置,选择相应的芯片及调试场景,最后选择C/C+的一些编译和代码生成模式。3.1.1 项目调试场景项目调试场景有以下几种:“Full Chip Simulator”是芯片全功能模拟仿真,既无需任何目标系统的硬件资源,直接在你的的PC机上模拟运行单片机的程序,在模拟运行过程中可以观察调试程序的各项控制和运行流程,分析代码运行的时间,观察各种变量,等等。CW提供了功能强大的模拟激励功能,可以在模拟运行时模拟一些外部事件的输入,配合程序调试。“P&E Multilink/Cyclone Pro”是基于P&E 公司的硬件调试工具实现实时在线硬件调试。实际就是经常说的BDM 调试。BDM 调试是基于芯片本身内含的在线调试功能,可实现程序下载,单步/全速运行,可以设若干个断点,可以观察和修改任意寄存器或RAM 内存空间。 BDM几乎是开发飞思卡尔8位(9S08和RS08系列)、16位(9S12系列)和32位(Coldfire V1系列)单片机的标准调试模式,运用最为广泛。“SofTec HCS12”是另外一家SofTec公司提供的硬件调试工具,国内使用较少。3.1.2 CodeWarrior 中项目的基本管理和设定该图标可以即时改变目标单片机型号和开发调试场景。可以按照前面针对新项目建立模板的介绍,改变目标单片机的型号,或设定不同的当前目标开发调试场景。对于调试场景的改变,也可以直接点击当前场景右边的下拉菜单按纽,直接用鼠标点击选择所需的新场景。如图3-1所示: 图3-1选择开发单片机型号该图标完成项目配置选项设定。点击该图标会弹出一个对话框,里面所含的内容非常繁杂,这里只解释几个日常使用时最常用的选项配置: 最终目标代码类型设定(Target Setting)。在这里你可以选择最终编译连接生成的代码直接用于单片机程序运行(Link for XS12),或将各个源代码文件编译连接生成一个库文件(Libmaker for XS12)。C编译选项设定(Complier for XS12),对话框如图3-2,这里你可以完成针对C编译器所有配置设定。几个选项按钮解释如下:选择配置编译时产生的各种信息,其中包括普通一般信息(Information)、告警信息(Warning)、错误信息(Error)和致命信息(Fatal)。出现一般或告警信息时编译能顺利完成,所以你可以有选择地将某些你不希望太关注的信息屏蔽掉(Disable);但如果有任何错误或致命信息出现,当前源程序的编译将立即终止,你必须按给出的信息提示解决这些错误,然后才能继续编译。图3-2 编译选项设定完成编译过程中代码生成的各类选项设定,需要关注的是优化栏“Optimization”。你可以按实际需要打开或关闭某些特定的优化选项,但一般通过下面介绍的“Smart Sliders”做综合的优化设定。 显示编译器当前设定的各类变量的长度和符号特性(针对字符和枚举型变量),无特殊原因一般都不用对这些变量长度做任何修改。按常规,在满足功能要求的前提下,变量长度尽可能短,字符型变量尽量选择无符号型,以便提高代码编译效率和程序运行速度。可以非常方便地实现代码优化时的综合考虑。你只需用鼠标拉动各项的滑块对其进行优化级别的设定。 连接器选项设定(Linker for XS12),值得一提的是其中对prm文件的选择。通过项目模板建立的项目其中必含有本项目专用的一个prm文件。缺省设置是利用此prm文件进行内存分配和连接定位。但你也可以通过此对话框选择使用其他prm文件。当你的项目用的是纯汇编单一文件且为绝对定位的编程模式,则不能选择任何prm文件,必须设定成“Absolute, Single File Assembly Project”。该图标检查项目文件是否被更新。当你在CW 环境中编辑项目中的各个文件时,只要文件内容发生变化,项目列表窗内该文件的左侧会出现此小图标,表明此文件已经被更新,它们在代码生成过程会被重新编译。有时你会用其它你熟悉或喜欢的文本编辑器编辑修改项目中各类文件,当编辑完成文件被保存后,在CW 环境下按一下这个图标,所有被更新的文件在项目栏中都会得到显现。如果文件左侧没有出现此小图标,表明该文件最近没有被修改过,代码生成时可能不会对它进行重新编译,以节约时间。在任何时候你都可以用鼠标点击源文件左侧该小图标的位置以显现此图标(如果原本没有显现的话),让编译器在代码生成过程中无条件重新编译此文件。该图标进行代码生成(make),鼠标点击该图标后进行源程序的编译和目标代码的连接定位。如果编译连接成功,最后将生成用于源程序符号调试的abs文件、用于芯片烧写的s19文件、所有变量和函数模块在内存中的映射map文件。另外通过CW 菜单“ProjectMake”或键盘快捷键F7也可以实现相同功能。该图标用于打开并进入代码调试窗口。鼠标点击该图标后,如果你的项目文件中有最新更新,CW 会自动调用make 功能进行编译和连接。然后将利用最新生成的abs 文件,激活一个独立的代码调试窗口,进行源程序级的代码调试。CW菜单“ProjectDebug”或键盘快捷键“F5”同效。因为关系到以后调试程序的方便,在这里还要特别提到编译过程中调试信息的打开和关闭控制。请注意图3-3所示的黑点,该黑点表明编译此文件时将产生调试信息,如果没有此黑点,生成的abs 文件中将没有对应的源程序调试信息,你就无法在调试窗口中进行源代码级调试,只能进行汇编代码级调试。你可以用鼠标点击此黑点位置打开或关闭调试信息。3.2 系统流程程序开始单片机初始化主处理程序结束图 3-3 调试窗口图3-4系统总运行流程图在系统开始执行之前,应先进行单片机的初始化,对各个模块及各寄存器进行设定。初始化过程结束之后就要进行主程序的处理。系统总运行流程如图3-4所示:单片机程序初始化是在单片机程序运行之前,对所用到的模块根据所需要的功能进行设定单片机各个模块的初始值。初始化的目的就是把所有用到的标志位、变量回到你的初始值,以及引脚的分配,配置寄存器写入需要的值。例如:设置单片机的波特率。单片机初始化包括:初始化锁相环、A/D初始化、初始化SCI、。其流程图如图3-5:图3-5 初始化流程图系统初始化开始初始化锁相环初始化A/D初始化SCI结束3.3 A转换模块设计在计算机过程控制和数据采集等系统中,经常要对一些过程参数进行测量和控制,这些参数往往是连续变化的物理量,如温度、压力、流量和速度等。这里所指的连续变化即随时间连续可变的,通常称这些物理量,然而计算机本身所能识别和处理的都是数字量。这些模拟量在进入计算机之前必须转换成二进制数码表示的数字信号,能够把模拟量变成数字量的器件称为模/数(A/D)转换器。本次使用的单片机为Freescale公司的MC9S12XS128的122脚单片机。本次使用的是A/D转换模块中的信息采集和转换功能。(1)ATD模块结构组成和特点MC9S12XS128内置的ATD模块如图3-6所示。如图3-6可知,ATD模块由一个总线时钟预分频器、逐次逼近寄存器和D/A转换器、采样保持器、比较器和16通道多路开关等部分组成。ATD模块共有20个外部引脚,其中有4个电源相关引脚和16路模拟量输入引脚,VRH、VRL两个引脚为A/D转换提供工作电源和电源地。AN15-AN0是模拟量输入通道15-0,也可配置数字I/O口使用。另外,还能够配置A/D外部触发功能。3-6 ATD模块框图(2)A/D模块初始化设计本次设计中对A/D模块的初始化设计是根据需要其功能来设定的。l ATD0CTL10设定为0000 0000.是对ATD控制寄存器1各个位进行设定。ATD1控制寄存器寄存器写操作将中止当前转换序列如图3-7所示。 3-7 ATD控制寄存器1其中SRES1-SRES0:A/D分辨率选择位。设置A/D转换结果分辨率,详见表3-1.本次设计中使用的单片机分辨率为8位数据。所以这两位为00.表3-1 A/D分辨率编码l ATD控制寄存器2 ATD0CTLL2本次设计中初始化设定为0100 0010.如图3-8所示,该寄存器写操作将中止当前转换序列。图3-8 ATD控制寄存器2AFFC设置为1表示通过快速清除序列修改所有ATD转换完成标志。当比较使能为CMPEn=0时,读取结果寄存器将自动清除相应CCF标志位;当比较使能位CMPEn=1时,结果寄存器写操作将自动清除相应CCF标志位。ICLKSTP为停止模式下内部时钟位。该位使能停止模式下的A/D转换。当进入停止模式且ICLKSTP=1时,ATD转换时钟自动切换到内部时钟ICLK。当前转换序列将不受影响地继续转换,转换速率将从预分频总线频率变为ICLK频率。ICLK频率下,ATDCTL4寄存器中的PRS4-PRS0预分频因子无效。停止模式下的A/D转换,外部触发将不工作;自动比较中断或序列完成中断处理A/D采样值。从运行模式转换到停止模式期间,或者从停止模式转换到运行模式期间,转换结果不会写入结果寄存器,不置位CCF标志位且不进行比较处理。停止模式下且ICLKSTP=1时,脱离停止模式需要有ATDCLK切换回总线时钟的ATD停止恢复时间tATDSTPRCV,此时间内,不能访问ATD寄存器。在本次设计中设定ICLKSTP为0表示进入停止位模式时如果A/D转换序列正在进行,则中止当前转换序列。退出停止模式时A/D转换自动重启;ETRIGLE:外部触发极性控制位。该位确定外部触发信号的极性。该位和ETRIGLE位配合使用,这2位外部触发设置详见表3-2。在本次设计中采用下降沿触发。表3-2外部触发设置ETRIGE为外部触发模式使能位。该位允许A/D通道或者ETRIG3-0输入端作为外部触发源。如果外部触发源是A/D某通道,则使能该通道的数字输入缓冲功能。外部触发允许与外部事件实现同步转换。停止模式下的A/D转换,外部触发不工作。本次设计中设定ETRIGE为 0表示禁止外部触发;ASCIE为ATD转换序列完成中断使能位。该位使能,当SCF置位时,则ATD转换序列完成将产生中断请求。本次设定ASCIE为1表示允许ATD转换序列完成产生中断请求。ACMPIE为ATD比较中断使能位。该位使能,当自动比较功能使能,即ATDCMPE寄存器中的比较使能位CMPEn=1,则相应比较位可申请中断。如果CCFn标志置位,将触发比较中断。本次设计中设定ACMPIE为0表示禁止比较中断请求。l ATD控制寄存器3 ATDCTL3在本次设计中设定为1000 1000。如图3-9所示。该寄存器写操作将中止当前转换序列。图3-9 ATD 寄存器3DJM为结果寄存器数据对齐方式选择位。该位确定结果寄存器中转换数据的对齐格式,转换结果数据总是无符号。本次设计中设定DJM为 1表示结果寄存器中的数据格式右对齐。S8C、S4C、S2C、S1C:转换序列长度定义位。这4位控制每个序列转换的长度。A/D转换序列长度定义详见表3-3.复位后,S4C默认为1,所以默认的A/D转换序列的长度为4.而本次设计中算定的转换序列长度为1。表3-3 A/D转换序列长度定义FIFO:结果寄存器先进先出(FIFO)模式选择位。如果该位为(非FIFO模式),则A/D转换结果基于在转换序列映射到结果寄存器,第1个转换结果放入第1个结果寄存器ATDDR0,第2个转换结果放入第2个结果寄存器ATDDR,以此类推。如果该位为(FIFO模式),则A/D转换开始和结束时,转换计数器不复位,转换结果被依次存放在结果寄存器,连续转换序列模式(SCAN=1),到达最后结果寄存器时,结果寄存器计数器将返转。转换计数器值(ATDSTAT0寄存器中的CC3-CC0)确定当前转换结果存放的相应结果寄存器,结果寄存器保存的有效数据可查询转换完成标志位获悉。FIFO模式下,中止当前转换或开始新转换将清除转换计数器。ATDCTL5寄存器写操作,新转换序列的第1个转换结果,总是放入第1个结果寄存器ATDDR0.如果FIFO位为1,禁用 结果寄存器自动比较功能,ATD模块工作方式如同ACMPIE=0,CMPEn=0一样。本次设计中FIFO设定为0表示转换结果根据选择的转换序列长度放入相应结果寄存器;FRZ1、FRZ0:冻结模式下背景调试使能控制位。当背景调试程序时,如果遇到断点,有时希望此时ATD模块停止工作。这2位共同确定冻结模式下遇到断点时ATD模块的工作状态,如表3-4所示。本次设定的工作状态为冻结模式下继续转换。表3-4 ATD模块冻结模式下的工作状态l ATD控制寄存器4 ATDCTL4在本次设定为0000 0011。如图3-10所示,该寄存器写操作将中止当前转换序列。图3-10 ATD控制寄存器4SMP2-SMP0:采样时间选择位。这3位确定以ATD转换时钟周期为单位的采样时间长度,注意ATD转换时钟周期和ATD时钟预分频因子相关。表3-4列出了采样时间长度的选择。PRS4-PRS0:ATD时钟预分频因子选择位。这5位确定ATD时钟预分频因子的二进制PRS值,ATD转换时钟频率计算公式为: fATDCLK=fBUS/(2(PRS+1)式中fATDCLK允许的频率范围请参考MC9S12XS128数据手册。表3-4采样时间选择l ATD控制寄存器5 ATDCTL5本次设定为0000 0010。如图3-11所示,该寄存器写操作将中止当前转换序列,每次触发事件都会发生新的转换。图3-11 ATD控制寄存器5SC:特殊通道转换位,如果改为置位,可使用本寄存器中的CD、CC、CB、和CA选择特殊通道转换。本次设定SC为 0表示禁止特殊通道转换。SCAN:连续转换序列模式选择位,该位确定A/D转换序列执行是连续转换还是只转换一次。如果外部触发模式使能位ETRIGE=1,则设置该位无效,这说明外部触发事件总是自动单次转换序列。本次设计中设定SCAN为1表示连续转换序列模式。MULT:多通道采样模式选择位。当MULT位为0时,ATD序列控制器只从指定的模拟输入通道采样完成转换序列。模拟输入通道选择编码由本寄存器中CD、CC、CB和CA位共同确定,当MULT位为1时,ATD序列控制寄存器从多个输入通道采样数据,输入通道数目由转换序列长度值(ATDCTL3寄存器中的S8C、S4C、S2C和S1C位)确定,其中采样的第一个输入通道由递增的通道选择编码确定或者返转回到AN0(输入通道0)。 本次设计中设定MULT为0表示单通道采样。CD、CC、CB、CA:模拟量输入通道选择编码位。这4位用于选择相应的模拟输入通道。单通道转换(MULT=0)时,通道选择编码位。这4位用于选择相应的模拟输入通到。多通道转换(MULT=1)时,通道选择编码确定了转换序列中第一个输入通道,之后转换序列中的采样通道由递增的通道选择编码确定或者返转回到AN0(返转通道由ATDCTL0寄存器中的返转通道选择位WRAP3-WRAP0确定)。当其实转换通道号超过WRAP3-WRAP0定义的编码时,将从AN15返转AN0.在本次设计中设定的转换通道为AN0。综上所述:A/D模块初始化程序如下/*/* A/D初始化 */ /*/void AD_Init(void) ATD0DIEN=0x00; /禁止数字输入 ATD0CTL1=0X00; ATD0CTL2=0x42;/启动AD快速清零,忽略外部触发,允许中断 ATD0CTL3=0x88; /右对齐,非FFIFO模式,冻结模式下继续转换 ATD0CTL4=0x03; /4周期,PRS=3 ATD0CTL5=0x20; 3.4 SCI模块设计(1) SCI模块结构组成和特点MC9S12XS128内置的SCI模块是双全工、波特率可编程设置、可编程选择8位数据或9位数据格式的串行通信接口(简称串口)。下面介绍本设计使用到的寄存器功能及其设置。如图3-12为SCI模块框图。串行通信是指数据一位一位地按顺序传送的方式,其突出优点是只需要一根传输线,可大大降低成本,特别适合远距离通信。其缺点是传输速度较低,每秒内能发送或接收的二进制位数称为波特率,若发送一位时间为t,则波特率为1/t。图3-12 SCI模块框图l SCI波特率寄存器SCI波特率寄存器用来设置SCI波特率同时还用于控制红外调制/解调子模块,由SCI波特率高字节寄存器(SCIBDH)和SCI波特率低字节寄存器(SCIBDL)组成。该寄存器如图3-13和图3-14所示。波特率计算公式为:SCI波特率=SCI模块时钟/(16BR)式中,BR是SCI波特率寄存器中SBR12到SBR0的13位数值。波特率寄存器中的13位数值从1到8190。SCIBD本次设计中设定为80000000/16/9600。图3-13 SCI波特率高字节寄存器图3-14 SCI波特率低字节寄存器波特率计算公式如下,当IREN=0时:SCI波特率=SCI总线时钟/(16SBR)当IREN=1时:SCI波特率=SCI总线时钟/(32SBR)l SCI控制寄存器1SCI0CR1本次设计中设定值为0000 0000。SCI控制寄存器1如图3-15所示:图3-15 SCI控制寄存器1LOOPS为SCI环路使能控制位。SCI在环路工作模式下,RSRC=0,RXD引脚和SCI模块断开,SCI发送器输出在内部和接收器输入相连。当SCI发送器和接受器均被使能情况下,才能够实现SCI环路功能。本次设计中设定LOOPS为0表示使能SCI正常工作模式;SCISWAI为MCU等待工作模式下SCI停止位。设定SCISWAI为0表示在等待模式下允许SCI停止位。RSRC为SCI接受器输入源选择位。当LOOPS=1时,RSRC位决定SCI接受器移位寄存器的输入方式。设定RSRC为0表示接收器输入连接到内部发送器输出。PE为奇偶校验使能位,该位使能奇偶校验功能。当奇偶校验功能使能时,会在传输字符的最高位插入一个奇偶校验位。设定PE为0表示禁止奇偶校验功能。l SCI控制寄存器2SCI0CR2设定为0000 1100.SCI控制寄存器2如图3-16所示:图3-16 SCI控制寄存器2TIE为发送器中断使能位,该位使能允许SCIR1寄存器中的发送数据寄存器空标志位TDRE产生中断请求。设定TIE为0表示禁止TDRE中断请求。RIE为接受器满中断使能位,该位使能允许SCISR1寄存器中的接受数据寄存器满标志位RDRF或者溢出标志位OR产生中断请求。设定RIE为0表示禁止RDRF或OR中断请求。TE:发送器使能位,该位使能允许使用SCI发送器,TXD引脚由SCI控制,TE位能够用于发送空闲报头。设定TE为1表示SCI使用发送器。RE:接收器使能位,该位使能允许使用SCI接收器。设定RE为1表示SCI使用接收器。综上所述,SCI的初始化程序如下:/*/ /* SCI初始化 */ /*/ void SCI_Init(void) SCI0BD=80000000/16/9600; /设置波特率为9600bps SCI0CR1=0x00;/使能SCI正常模式,在等待模式下允许

温馨提示

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

评论

0/150

提交评论