




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汽车节能装置控制器设计毕业论文1 绪论11课题的来源 总所周知,当今社会可再生能源日趋枯竭,按目前的石油资源的开采速度和消费量计算,再过30年到50年全球石油资源就将耗尽。从节约资源、资源再生以及环境保护与改善出发,能源的有效利用有很重要的意义,目前科学家大量使用科学技术技术来节省能源和有效利用现有地球资源:采用轻型铝合余材料、减轻汽车的重量、降低汽车行驶阻力、降低燃油消耗、采用电子喷射和电子控制系统,从而提高了能源的利用率和汽车的经济性能和动力性能。 该课考虑的是能源的有效利用。在城市的公交车运输中,由于公交车经常停靠车站、躲避行人、以及遇到红灯等因素,因而汽车经常制动。当汽车进行制动时,驾驶员踩下制动踏板,此时汽车的动能通过制动机构的摩擦而最终转换为热能,而这部分热能最终会损失掉,也即汽车动能损耗掉了。正是基于这种现实问题提出的,怎么样把这部分能量储起来?该课题做了这样一个设计。能量储存有多种方法,该课题采用的储能方法是:在汽车制动时,把汽车的动能转换为储气桶中的高压气体的势能,以便在汽车下次启动时候有效利用。12课题的研究内容 因为城市公交车行驶的特点是启动、制动频繁。当公交车具有了一定的速度时就具有了一定的动能,然而目前的制动方法一般是经摩擦生热使公交车减速或停车。这不仅造成极大的能源浪费,而且摩擦件的消耗也很大。该课题在公交车上加装一种装置,该装置主要由34个空气压缩机、储气桶、电磁阀、电磁离合器以及单片机控制电路等组成的机电一体化集成系统。在单片机a的控制下,将汽车巨的动能转化成高压气体的势能实现汽车减速或停车,同时自动实现将汽车巨大的动能保存起来,当汽车需要再加速时,用储存在储气桶中的高压气体势能驱动汽车从而实现了公交车能量回收再利用节能的效果。 众所周知,汽车在启动或加速时耗能非常大,这个时候燃油燃烧效果不好,利用率低,而且噪音很大。我想当汽车加装了本课题设计的汽车节能装置后,在汽车加速或重新启动的时候,利用存储的高压气驱动汽车,此时不需要燃烧燃料,这样的话,对于降低车尾气对环境的污染、减小环境噪声有十分明显的效果,说明该装置同时还是一个、环保装置。该设计该装置需要满足以下条件:(1)该装置存储能量的大小有比较宽的范围;(2)该装置不能影响原车的制动系统,操作中不给驾驶员增加额外负担;(3)该装置操作过程中不能给乘客增加乘车的不舒服感;(4)该装置实用,便于安装、维修;(5)该装置价格合理,使用者能有较大的经济效益。1.3节能装置的工作原理和工作过程介绍 本课题设计的汽车节能装置主要由三部分组成:检测部分、控制部分、执行机构。检测部分包括曲轴位置传感器、速度传感器、集成压力传感器。执行机构包括双向可控电磁阀、电磁离合器。控制部分主要由AT89C51及其外围芯片构成。该装置功能实际上是将制动时本应由摩擦来消耗掉的汽车动能改由气体的势能来消耗,汽车启动时可借助储气桶内气体储存的高压内能来进行启动。当汽车速度到达一定值(如20kmh)时,再改由汽车发动机来驱动汽车。在描述该装置的制动及启动过程之前,简单了解原理图: 该装置主要由电磁离合器、压缩机和储气桶三部分组成,其中DCLA为电磁离合器,DCF-A为压缩机吸气阀,DCFB为储气桶进气阀,DCF-C为储气桶出气阀,ZYFA,ZYFB,ZYFC为储气桶内部的三个自由阀。标号为DCF的表示是可控的电磁阀,它在没有加电的情况下仍是自由阀,ZYF表示自由阀。将储气桶分成4个小桶的目的是为了储气和放气过程中筒内压强的变化梯度尽量小些,由于ZYFA,ZYFB,ZYFC只有在一定的压差下才能打开,也就是说两小桶之间的压差只在很小的范围内变化,这样就很巧妙的解决了单桶储气、供气带来筒内压强变化过大的问题,从而使制动及启动过程的动作尽量平缓,减少因加速和减速给乘客带来的不舒适感。13.1制动过程简介 当接收到制动信号时,在正式进入到制动状态前,应该对系统进行制动初始化。实际上,制动过程实际是就是一个普通压缩机的工作过程,所以首先应该将DCFA,DCFB断电,使之工作在自由阀状态,DCFC在制动过程中始终应该吸合防止高压气体从输出端排出。待完成以上工作后DCLA电磁离合器方通电吸合,进入到制动状态。制动过程中控制系统监视是否有启动信号及监视储气桶内压强值是否超过储气桶的储气压强上限。如有启动信号则转入到启动方式,如超过压强上限则系统报警,同时转入到其它的制动方式。工作状态一切正常时,当活塞运动到上止点附近,DCFB在内外压差作用的情况下打开,活塞运动到回程阶段时,压差不足以打开DCFB,此时DCFB闭合。活塞运动到一定位置后腔内产生负压,DCFA打开,气体重新充满腔内,压缩机继续重复压缩过程。当系统通过速度传感器进AN检测到汽车的速度为零时,DCL-A电磁离合器释放。132启动过程介绍 在启动过程中储气筒将内部的高压气体的势能重新转换为汽车的动能。此时压缩机的作用如同发动机,启动的过程比制动的过程稍微要复杂些。初始化时首先通过DCFC开启一段时间来给汽车一个启动力矩。在执行启动程序的过程中,如果检测到储气筒内的压强值低于设定值,则汽车转入到其它的启动方式,检测到制动信号则进入到制动模式。给出启动力矩后当活塞运动到下止点时,曲轴位置传感器给出下止点信号,控制部分使DCFA通电,使其进入到电磁阀工作状态。开启DCFA的目的是使腔内压强同外界保持一致,减少运动到上止点的阻力,提高系统的运行效率。当活塞运动到上止点时,DCFA断电工作在自由阀状态,与此同时,DCFC放出储气桶内的高压气体并持续一段时间(此时间为何值时启动效率最大由实验测得)。当活塞再次运动到下止点时又重复上述过程。在加速过程中,系统不断的检测以中断形式进入的速度,压力信号。速度到达设定值时,或桶内压强过小时则转入正常的启动方式,并给出警告信号。14课题的预期结果 本课题介绍的汽车节能装置具有一定的特点,该装置中的电磁阀和电磁离合器的动作不仅要依赖机械传动机构,而且要依赖控制电路的控制。因此,需要设计一个工作可靠的、抗干扰性能强的控制器是本课题的一个主要任务。针对汽车节能装置的工作原理,本人设计的控制器由数据采集模块、控制模块、数据通信模块等组成。控制器的数据采集模块实现采集压力数据、汽车速度数据、油门踏板位置数据和制动踏板位置数据。控制模块控制压缩机电磁阀和电磁离合器的切合。数据通信模块实现与上位机通信,它把复杂的数据传输至上位机处理。15本章小结 本章讲述了课题的来源和背景、课题的主要研究内容以及汽车节能装置的工作原理(附有设计工作原理图1.1)。最后讲述了汽车节能装置控制器的总体设计,包括汽车启动以及制动。2 汽车节能装置控制器硬件设计21总体设计211总体方案 根据汽车节能装置系统的要求,同时考虑到成本的原因。我们该计控制器的总体方案以模块化为标准,可分为为以下几大模块。1)控制模块 因为设计要求系统能随车采集信号,所以该设计的主控制模块应当是以单片机为核心的一个单片机最小系统。同时由于MCS一5l系列单片机具有扩展性强等特点,本系统采用ATMEL的AT89C51单片机。该型号单片机内部集成了4K8的电可擦除flash memory程序存储器,并且采用CMOS工艺,功耗低,非常适合嵌入式应用场合。外部扩展32KB的数据存储器,即可满足数据容量要求。为了适合系统的便携性要求,必须设计数据的掉电保护电路;同时在设计中考虑系统的功耗问题,以适应电池供电的状况。单片机对所采集到的模拟信号进行处理,从而通过开关量输出来控制压缩机的电磁阀门和电磁离合器的动作。2)数据采集模块 数据采集模块在整个系统中主要负责对模拟信号的采样。在该模块中,核心是模拟信号的AD转换。由于系统需要采集汽车的储气桶内的压力数据、制动踏板的位置数据、车速、离合器切合位置和油门踏板的数据,我们系统中采用A13C0809芯片,此芯片具有8个数据输入通道,因此可以支持多路数据采集通道,保证性能的可靠性。3)数据通信接口 由于单片机组成的系统对数据的处理能力相对较弱,同时为了对采集的数据作进一步分析处理,该装置设计了与上位机通信的通信接口模块,采用RS-232串行通信。因为考虑到所设计的电路板在今后更有通用性,由于USB接口即插即用方便快捷,快速数据传输的特点,所以设计了一个USB通信模块。4)数据存储模块 该汽车节能装置控制器需采集大量实时数据,89C51白带的256字节的RAM是远远不够的,必须扩展一片外部数据存储器。因此,此系统硬件电路中需要扩展一个数据存储器,常用的数据存储器有静态存储器(SRAM)和动态存储器(DRAM)。在单片机应用系统中,外扩的数据存储器都采用静念数据存储器。5)看门狗电路 单片机受到干扰后,单片机的程序可能弹飞到一个l临时构成的死循环中时,这个时候单片机必须进行复位。一般的Rc复位电路往往不能保证单片机安全可靠的运行,看门狗电路就是监视微处理器是否正常工作,如果单片机应用系统工作不正常,程序跑飞,看门狗电路的输出端就会输出一个复位秒冲,使得电路复位。212系统框架的确定按照上述系统方案得到的系统框架如图21所示。 整个系统实现的功能是,数据采集电路采集制动踏板的位置、油门踏板的位置信号、空气压缩机的压力、离合器位置等模拟信号,而89C51把这些信号通过串行通信接口送入到上位机进行处理,上位机把处理的结果通过串行通信接口输入到单片机中单片机根据这些处理数据来控制压气机电磁阀门、离合器的动作,因为USB接口通信的快速、即插即用等优点,因而扩展了USB接口通信,把USB接口通信是作为电路的扩展部分。并且考虑到数据传输速度的问题,系统要求实时性高的特点,在今后的实际试验中,USB接口通信可能成为一个必要的通信方式。22单片机的选型 参照21系统组成框图。单片机是整个控制系统的核心,因此单片机的选型很重要。在单片机的发展过程中,Intel公司扮演了重要角色。它由70年代的MCS一48系列发展到80年代的MCS一5l系列,80年代后期的MCS一9698系列,使单片机技术日趋成熟和完善。无论是哪一种位数的单片机,也无论哪一系列的单片机,都为新产品的开发、应用系统的研制、智能控制器的研究等创造了极其有力的硬件环境。町以说,由于世界各生产厂家生产4位、8位、16位、32位通用型单片机以及衍生出的五花f3的系列及型号,使单片机技术的应用已达到了无7L不入的地步。就国内15、16年应用实践而富,单片机使用量最大的是8位单片,应用范围最广的也是8位单片机。目前世界各生产单片机的公司多在努力提高时钟频率,以提高CPU速度:大片内程序存储器和数据存储器容量。在结构上细致化、智能化、密切化,哈尔滨I程人学硕:l学位论文增加片内功能,尽量减少外部接芯片,提供与主机的接口,降低单片机的功耗,提高宽电源的适应能力,增加高噪声容限。面向应用对象的多功能多品种的增强型单片机将大大增加。在单片机的选型上,考虑单片机本身的性能以及课题开发周期短的特性点,本课题采用较为熟悉的MCS一51系列的单片机,以伟福仿真器作为开发工具。23控制模块硬件设计 AT89C5l单片机是属于MCS一51系列的单片机,它是一种带4KB快闪可编程可擦除只读存储器(FPEROM)的低功耗,高性能的8位CMOS微控制器。采用高密度,非易失性存储器制造技术,与工业标准的MCS一51指令集和输出引脚兼容。由于将多功能8位CPU和快闪存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活,高性能且价廉的方案。1)特点:与MCS一51微控制器产品系列兼容。4KB可编程快闪存储器(Flash Memory)。存储器可循环写入擦除1000次。数据保留时间:10年。全静态工作:0Hz一16MHz。1288位内部RAM。32条可编程Io线。两个16位定时器计数器。5个中断源和两个优先级。可编程全双工串行通信通道。低功耗的闲置和掉电模式。2)片内数据存储器的分配: AT89C51单片机片内数据存储器(RAM)单元共有256个,低128B(00H一7FH)是真TF的RAM区,高128B(80HFFH)为特殊功能寄存器(SFR)区。在低128B9区中,OOH一1FH地址为四组工作寄存器区。其余的存储空间是这样分配的。20H一2FH地址单元中,可用位地址寻址方式访问各位,这些地址单元主要用来存放各种程序运行标志,在本系统中,用作油门踏板启动的标志、制动踏板制动的标志、中断程序执行的标志。30H一59H地址单元,主要用来存放一些程序数据;在本系统中,主要用来临时存放储气桶中压力数据、汽车速度数据、油门踏板数据、制动踏板数据;60H一7FH地址单元,是用来作为堆栈使用。3)片外存储器扩展和接口电路的地址分配:片外扩张数据存储器地址范围:0000H一7FFFH;第一片8255可编程并行IO接口片选地址:9000H一9FFFH;第二片8255可编程并行i/O接口片选地址:AOOOHAFFFH;ADC0809模数转换芯片的片选地址:BOOOHBFFFH。对于电磁离合器、电磁阀的控制,是通过开关量信号的输出来进行控制的,因此在电路中扩展了8255芯片,8255是Intel公司生产的可编程的并J:IO接口芯片,它具有3个8位的并行IO口,8255与MCS一51的接L-1电路如图22所示。24数据存储器和程序存储器的扩展1)数据存储器 At89C51单片机内部有256字节RAM,在实际应用中,仅靠片内RAM往往不够用,必须扩展外部数据存储器。常用的数据存储器有静念存储器(SRA)和动态存储器(DRAM),在单片机应用系统中,外扩的数据存储器都采用静态数据存储器。本系统中扩展大容量的数据存储器芯片62256,采用线选法,也即是采用AT89C51芯片P27引脚作为62256的片选,62256为28引脚封装,其与89C51接口电路如下图23所示。62256的片选信号输入线CE与89C5l的高位地址线P27相连接,低电平有效,因此,本系统中外部数据存储器的地址范围为0000H一7FFFH。2)程序存储器程序存储器一般采用E2PROM,E2PROM是电擦除可编程只读存储器,其突出优点是在线擦除和改写,无需像EPROM那样必须用紫外线照射才州+擦除,较新的PROM产品在写入时能够自动完成擦除。本系统采用E2PROM为AT28C256,具有容量32K的存储空阳J,其突出优点是能够在线擦除和改写,无需像EPROM那样必须用紫外线照射才能擦除。E2PROM产品在写入时能自动完成擦除,不再需要专用的编程电源,不可以赢接用单片机系统的5V电源。由于AT28C256存储容量为32K,因此,AT28C56的选通信号需要采用89C5l芯片的PSEN引脚来对它进行选通,当PSEN引脚低电平有效,即可以渎出外部存储器AT28C56中的指令码,下图为的本系统中AT89C5l与AT28C256的接口电路,如图24所示:25模数转换电路 图24程序存储器扩展电路 。AD转换器的种类很多,目前应用较为广泛的主要有以下几种类型:逐次逼近型、双积分式转换器、一式AD转换器和VF转换器。逐次逼近式AD转换器在精度、速度和价格上都适中。是最为常用的AD转换器。选用逐次逼近式AD转换器ADC0809作为该部分电路的AD转换器件,其通用性及价格都很适合本课题。其特点是:逐次逼近寄存器;转换时间(正。=500KHZ):128uS;无需外部进行零点和满度调整;8位分辨率;三态输出,可与微处理器直接接口;输入输出TTL兼容;8路模拟开关,可直接接8个模拟量;CMOS工艺:功耗:15MW;转换精度:04。AD芯片与CPU连接后,其工作过程大体都要经过三个步骤:(1)CPU发出指令,启动AD芯片工作;(2)判断AD转换是否结束。因为AD转换需要时间,不可能马上得到转换的结果,AD芯片都有一根专门的信号输出线表示转换是否结束。如ADC0809是EOC引脚作为表示转换结束的信号输出线。微控制器判断转换是否结束可采用中断法,也即CPU启动AD芯片工作后,即可转而处理其它任务(如执行主程序),一旦AD转换结束,则由AD芯片发出转换结束信号作为中断请求,CPU响应中断后便读入数据。(3)当判定转换已经结束时,由CPU从AD芯片读入转换结果。ADC0809共有八路模拟输入端,能够完成对八路输入的分时AD转换,其2325三只引脚ADDC、ADDB、ADDA接入经锁存器74LS373锁存后输出的地址,它的不同取值可选通八路模拟输入,起到模拟开关的作用。10引脚CLK接入时钟信号,该时钟信号是通过AT89CSlALE引脚经过二分频得到,通过该时钟信号控制ADC0809的工作步骤。ADC0809ALE与ADC0809START连在一起,在ADC0809锁存通道地址的同时,启动并进行AD转换,EOC引脚通过非门取反后接入AT89C51的外部中断输入引脚INTI,当转换结束后,EOC返回高电平到AT89CSlINTl引脚并使得CPU程序执行中断程序。DO-D7为八位数字信号的输出端,接单片机PO口,以输出转换好的数据。本系统中,AT89C51与ADC0809的接口采用的是中断方式,当用中断方式传送数据时,EOC线作为CPU的中断请求输入线。CPU相应中断后,在中断服务程序中使0E线或为ENABLE引脚变为高电平,以提取AO转换后的数字量。本系统的模数转换电路如图25所示。26看门狗电路 单片机控制部分本身的可靠性,系统中增加了X25045器件。X245由美国Xicor公司生产,兼有看门狗定时器、复位定时器和EEPROM三种,45具体操作方法如下:(1电复位电并且超过一个阈值电压时,X25045的内部复位电路将会提供一个200ms的复位脉冲,让处理器能够正常复位。(2压监测中,X25045监测VCC端得电压下降,并且在VCC电压跌落到阈值电压之F时会产生一个复位脉冲,这个复位脉冲一直有效,卣到VCC降到1v以下,如果VCC在降到阈值电压后上升,则在VCC超过阈值电压后延时约200ms复位信号消失,使得微处理器得以继续工作。(3)看门狗定时看门狗定时器电路监测WDI的输入来判断微处理器是否是正常工作。在设定的定时时间内,微处理器必须在WDI引脚产生一个由低到高的电平变化,否则X25045将产生一个复位信号。X25045的和AT89C51的接口电路根据系统的原理图的电路原理,当系统被正常上电(+5V)后,X25045的内部复位电路将会提供一个约为200ms的复位脉冲电压,除了X25045的复位电路外,并在系统电路中增加了上电复位的电路,该上电复位是通过外部复位电路的电容充电来实现的。这样整个电路只要接通电源就完成了系统的复位初始化。27串行通信部分 图26看门狗电路图系统设计考虑到汽车速度数据、储气桶压力数据等信号的复杂性以及单片机处理数据速度较慢等因素,必须考虑到单片机和上位机进行数据传输,我们增加了串行通信部分。这个标准对串行通信接口的有关题,如信号功能、电气特性和机械特性都作了较明确的规定。由于通信接口与设备制造厂商都生产与RS一232c兼容的通信设备,因此它已成为微机串行通信接口中广泛采用的一种标准。1)EIA RS-232C与TTL的电平转换 EIARS一232c使用正负电压来表示逻辑状态,而TTL是以高低电平表示逻辑状态,因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIARS一232c与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可以用分立元件,也可以用集成电路芯片。目前较广泛的使用集成电路转换器件,如MC 1488、SN 75150芯片可完成TTL电乎到EIA电平的转换,而MC 1489、SN 75154芯片可实现EIA电平到TTL电平的转换。由于MCl4881489要求使用15V高压电源,不太方便,现在常用的Rs一232cTTL转换芯片是MAX 232或ICL232。ICL232内部有电压倍增电路和转换电路,只需+5V电源便可实现FTL电平与RS一232C电平转换,使用起来十分方便。一个ICL232芯片可连接两对收发线,从而完成TTL和EIA双向电平转换,其中,TTLCMOS电平OV5V,RS一232C电平一IOV+IOV。2) 其它电器参数RS一232c终端一侧的旁路电容C不应超过2500pF(包括电缆电容在内)。开路电压V。1i能超过257。RS一232的驱动电路必须能承受电缆中任何导线短路,而不会导致有关设备的损坏。1CL232可以实现TTL电平和RS一232电平之间的转换。由于在实际应用中,器件对电源噪声很敏感,因此VCC必须要对地加I”F去耦电容,另外,为提高抗干扰能力,又添加了四个取同样数值的1 uF电容,在连接时它们要尽量靠近器件。ICL232芯片7、8引脚按入到上位机,9、10引脚接单片机RXD、TXD引脚,实现与单片机的连接。rCL232与AT89C5l的接口电路如下图27所示:28 USB接口部分 如图27串口通信接电路图在考虑到今后电路板设计的通用性、系统要求高速数据传输速率,本课题所设计电路板作为一个通用控制板使用,在整个电路中加入了US8总线,这种崭新的微机总线接口规范,成为最近几年在Pc领域广为应用的新型接口技术。USB接IZ!通用性好、实时性强、传输方式多样、成本低、易于扩展且便于使用,这些优点使它已经越来越广泛的应用于各种领域,USB设备也层出不穷。为了跟上时代的发展,在这一课题中也设计了USB接口。281 USB简介 USB(Universal Serial Bus)通用串行总线,是用于USB的外围设备连接到主机的外部总线结构,其主要适用在中速和低速的外设。US8是通过PCI总线或Pc的内部系统数据线连接实现数据的传输。USB同时又是一种通信协议,它支持主系统(host)和USB的外围设备(device)之间的数据传输。USB接口是一种支持即插即用的新型串行接口。也有人称之为“菊花链(daisy-chaining)”,是因为在一条“线缆”上有链接127个设备的能力。USB要比标准串行口快得多,其数据传输可达每秒4Mb12Mb(而老式的串行口最多是每秒115Kb,在最新的USB20规范中速率更高)。除了具有较高的传输率外,它还能给外围设备提供支持。需要注意的是:这不是一种新的总线标准,而是电脑系统接驳外围设备(如键盘、鼠标、打印机等)的输入数出接口标准。到现在为止,电脑系统接外围设备的接口还无统一的标准,如键盘的插口是圆的,连接打印机要用9针或25针的并行接口,鼠标则要用9针或25针的串行接口。USB能把这些不同的接口统一起来,仅用一个4针插头作为标准插头。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB正在取代当前PC上的串口和并口。 USB是在1994年底康柏、IBM、Microsoft等多家公司联合制定的,但是真到1999年,USB才真正被广泛应用。自从1994年11月11同发表了USB VO7以后,USB接口经历了六年的发展,发展到了1998年的USB l1和现在的20版本。而且USB20可以向F兼容,所有支持USB l1的设备都可以直接在USB20的接口上使用而不必担心兼容问题,而且像USB线、插头等附件也都可以真接使用。但是反之,USB20的设备则不可能在USB l1上正常工作。 在USB方式下,所有的外设都在机箱外连接,连接外设不必在打丌机箱:允许外设热插拔,而不必关闭主机电源,做到真F的即插即用,不必重新启动计算机。USB采用“级联”方式,即每个USB设备用一个USB插头连接到一个外设的USB插座上,USB能智能识别USB链上外围设备的插入或拆卸。支持USB的产品只要将连接线接到电脑的USB插槽,电脑内部就会自动分配地址,不需用户参照系统的硬件设定进行设置。它可使多个设备在个端口上运行,速度也比现在的串行口或并行口快得多,而且其总的连线在理论上说可以无限延长。内置的电源供给。USB可消除某些外设对体积较大的电源适配器的需求,因为它可识别一个设备所需的电力,并可自动把这一电力提供给这一设备(最高可达500毫安)。USB设备也可以使用外部电源。USB端口的传输速率高达12Mbps,与一个标准的串行端口相比,大约快出100倍,与一个标准的并行端口相比,也快出近10倍。换句话说,USB端口的传输速率快于当前PC平台上任何其它类型的端口。282 USB接口器件PDlUSBDl2的硬件电路 PDIUSBDl2是PHILIPS在USB l.1协议设备端使用最多的芯片之一,此芯片是带有并行总线和局部DMA传输能力的全速USB接口器件。片内继承了高性能USB接口器件、FIF0存储器、收发器以及电压调整器,可与任何外部微控制器微处理器实现高速并行接口(2M8S)。PDIUSBDl2的功能框如图28所示:对PDIUSBDl2芯片的各个功能模块做以下说明:1)模拟收发器集成的收发器接口可通过终端电阻直接与USB电缆相连。2)电压调整器片内集成了一个33V的调整器用于模拟收发器的供电。3)PHILIPS串行接口引擎(PSIE)PSIE实现了全部的USB协议层,且完全由硬件实现而不需耍固件的参与。4)GOODLINKTM GOODLINKTM技术可提供良好的USB连接指示。在枚举中,LED指示根据通信的状况问歇闪烁。当PDIUSBDl2成功的枚举和配置后,LED指示将一直点亮。处于挂起状态时,LED将会关闭。5)存储器管理单元和内部RAM在以12MBS的速率传输并与微控制器并口相连时,存储器管理单元和内部RAM作为USB之间速度差异的缓冲区,这就允许微控制器以自己的速率对USB信息包进行读写。6)并行和DMA接口对一个微控制器而言,PDIUSBDl2看起来就像一个带8位数据总线和一个地址位的存储器件。PDIUSBDl2支持多路复用和非复用的地址和数据总线;20支持主端点与本地共享RAM之间直接读取的DMA传输:但在本系统中,考虑到单片机固件的复杂性,没有用到DMA传输。7)PLL锁槌环片内集成了6MHZ48MHZ时钟乘法PLL,这样可使用低成本的6MHZ晶振。USB接口电路原理图如图29所示:PDIUSBDl2芯片在正常工作前,必须进行正确的上电复位,把PDIUSBDl2的复位端连接至O+5v电压即可实现PDIUSBDl2芯片的上电复位,把PDIUSBDl2芯片的D+、D一两个引脚分别接上IMQ下拉电阻、IMQ上拉电阻,这是为了防止外界噪声,因为如果D+、D一在悬浮的情况下,外界噪声很可能引起D+、D一的状态变化。图29 IJSB接口电路图29本章小结 本章讲述了汽车节能装置控制器的设计,浚控制器能够实现对汽车节能装置的电磁离合器位置、车速、储气桶压力等模拟信号的采集,能够实现对电磁离合器、电磁阀的开关量控制。扩展的串行通信接口、USB通信接口能够实现与上位机通信。通过通信接口能够把采集到模拟信号的数据传输给上位机处理。3 系统软件设计 该课题涉及到单片机程序设计、PC机应用程序设计。合理选用程序没计语言和开发工具是非常重要的,这对于整个系统的开发周期、开发效率都是有着很大影响。31单片机编程语言和开发工具3.1.1单片机编程语言 MCS一51单片机的编程语言有两种:一种是汇编语言,一种是C51语言,汇编语占具有编译产生的机器代码效率高的特点,但是汇编语言可读性不高,而C语言是一种通用的计算机程序设计语言,虽然它的编译效率不如汇编语言,但是随着各种编译器的开发和改进,实践证明,对于同一个问题,用C语言编写的程序生成代码的效率仅比汇编语言编写的程序低1020。对于MCS一51单片机来说,现在普遍使用的C51编译器是NAIL 51的C51编译器,能够产生非常间接形式、效率极高的程序代码,在代码的质量上可以与汇编语言相媲美。在该课题的开发中,对于采用C51语言和汇编语言进行混合编程,要实现这一点,必须对单片机丌发工具和开发环境进行一些设置。3.1.2单片机开发工具和开发环境 单片机的调试离不开单片机仿真器,我们该系统调试选用了WAVE 2000S仿真器及其配套的WAVE 6000仿真软件。由于本课题中程序开发中使用了汇编语言和C51语言混合编程,但是有WAVE6000仿真软件没有C编译工具,所以,必须使用第三方的c语言编译器,而WAVE 6000仿真软件的一项显著特点就是能够通过设定,能够利用第三方编译软件KAIL 51的c编译器。首先简单介绍一下KAIL 51软件,KEIL 51软件是众多单片机应用开发的优秀软件之一,它的编译器支持汇编语言、c语言的程序设计。 下面讲述如何安装单片机开发工具和设定升:发环境。其具体步骤如下:(1)安装WAVE 6000仿真软件。(2)安装KAIL 5l软件,其安装的路径为c:KeilC5l(3)设置WAVE 6000仿真软件。具体设置方法是:把编译器路径设定为NAI:L51软件的安装路径C:KeilC51。图31伟福仿真软件设置。3.1.3单片机开发系统 在单片机硬件设计完成后,其软件的调试和修改都必须借助于某种工具能完成,这一工具就是单片机开发系统。单片机的在线仿真器通过串口与计算机相连通,构成单片机开发系统。仿真器的软件具有自己的行编辑功能,用以编辑用户的汇编程序,用户的源程序可存放在源程序存储器或外接仿真板的存储器中。同时仿真器的软件具有汇编和编译的能力,以及单步、跟踪、慢速断点、全速断点和连续方式运行程序的调试能力。单片机开发系统除了可以对用户程序进行输入、编辑、调试和汇编的功能以外,还有一个显著的特点是在线仿真功能。在线仿真功能是通过在线仿真器实现的,设计人员通过系统机就可对被设计的目标系统进行仿真。32 PC机应用程序编程语言和集成开发环境3.2.1c+程序语言 c+是门高效实用的程序设计语言。它既可以进行过程化的程序设计,也可以进行面向对象的程序设计。c+语言强调对高级抽象的支持。C+实现了类的封装、数据隐藏、继承,使得代码容易维护和高度可重用。C+是从C进化而来,是c语言的超集,c+在程序结构的本质上与C是一致的,都是用函数驱动机制实现的,纵观当前,c+的发展领导了程序设计语言的潮流,在系统软件的研究开发上,它是上选的语种,在小规模控制应用上,e+的效率比C毫不逊色,在大规模应用软件开发上,在windows操作系统上,C+类库以及组件在迅速发展,这些类库和组件使得开发应用程序更加方便和快捷。3.1.2Visuac+60集成开发环境Visual c+60是用户所喜爱的面向对象的Windows编程环境,借助于Visual cMFC类库中的交互式工具,就能很容易生成一个可以实际运行的Windows应用程序。在这个开发环境中,程序员不必面对建立一个应用程序都要亲手设计用户接口的枯燥工作,而只需选取菜单命令,Visual c+系统就会生成一个可实际运行的Windows应用程序框架,然后利用基于Windows的c抖源程序编辑器,就可以在App Wizard的基础上建立自己的面向对象的应用程序。33单片机程序设计331模块化的程序设计方法1程序功能模块化的特点实际的应用程序一般都由一个主程序(包括若干个功能模块)和多个子程序构成。每一程序模块都麓完成一个明确的任务,实现某个具体功能,如通信、接收、延时、显示等等。采用模块化的程序设计方法有下述优点:1)单个模块结构的程序功能单一,易于编写,调试和修改;2)便于分工,从而可使多个程序员同时进行程序的编写和调试工作,可以加快程序的研制进度;3)程序可读性好,便于功能扩充和版本升级;4)对程序的修改可局部进行,其它部分呵以保持不变;5)对于使用频繁的子程序可以建立子程序库,便于多个模块的调用;本系统的程序设计充分利用了模块化程序设计的方法,在主程序模块中由若干个子程序和功能模块组成。主程序模块的功能包括X25045、8255、ADC0809、PDIUSBDl2等的初始化和控制程序。它是整个软件系统的核心,其它子程序都是按照主程序的设定方式进行工作的。整个程序流程如下图32所示:332 X25045编程 X25045将四种功能合于一体:上电复位控制、看门狗定时器、降压管理、串行EEPROM,X25045在本系统中所用的指令集见表31,表中所有的指令、地址及数据都以MSB(最高有效位)在前的方式传送。表31 X25045指令集表。指令名称,指令格式,功能。“正在写”WIP位表示X25045是否处于写操作。当为l时,写操作J下在进行;当为“0”时,没有写操作。在写操作期间,所有其它位全部置“1I,WIP位是只读的。“写使能锁存”WEL位表示“写使能”锁存器的状态,当设置为“l”时,表示锁存器置位i当设置为“0”时,表示锁存器复位。WEL由WREN指令置位。由WRDI指令复位或由写周期后复位。“块保护”BLO和BL1位表示所使用的保护范围。这些位由发出WFSF指令来设置,允许用户选择4种保护级别之一。“看门狗定时器”WDO、WD1位允许如表33所列的那样设置看门狗的超时功能。表33看门狗定时器设置表X25045的初始化子程序主要如下:设置写使能寄存器子程序WREN_CMI)Wren cmd:clrsck: 将sck变为低电平clrcs: cs变为低电平Mov A,#yrrenJnst:写使能命令为00000110blcall outbyt: 发送写使能命令clr sck: 使得sck为低电平setb cs: 使得cs为高电平ret: 程序名写状态寄存器WTSF_Cmdwrsr_cmd:Clr sck: 将sck变为低电平clrcs: cs变为低电平mov A, #WRSR-INST:WRSR指令lcaIIoutbyt: 发送隙SR指令movA, #STATUSREG:待写入状态寄存器中的数据送入Alcal 1 outbyt:发送状态寄存器数据C1r sck: 将sck变为低电平Setb cs: CS变为高电平Lcall wip_pol1: 等待完成写操作;当上面的韧始化程序在主程序中调用后,便可以调用下面复位看门狗定时器子程序。rstwdog:程序名称:RST_IFDOG复位看狗定时器clr c8: 使得cs为低电平来复位看门狗setbcs: 使得cs为高电平ret333数据采集程序模块 数据采集的芯片采用ADC0809,ADC0809是一个多路开关有8个模拟量输入量,最多允许8路模拟量的分时输入,共用一个AD转换器进行转换,ADC0809完成一次转换大约需100 us的时间。所以在进行AD转换的程序设计时,采用中断控制法,中断控制是在启动信号送到ADC0809后,单片机执行别的程序。ADC转换结束后向单片机发出中断请求信号,单片机响应此中断请求,进入到中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到主程序。这种方法单片机不需要进行转换时间的管理,CPU效率商。首先在主程序模块中启动AD转换,则通过调用启动AD转换的子程序实现。启动AD转换子程序的程序流程如图33所示。由于模拟信号采集程序需要采集多路数据,所以在启动AD转换程序之前,必须先检查是否采集了系统所需要的各路数据。如果采集完成,就在主程序中重新启动AD转换程序。当在主程序中启动了AD转换程序后,程序进入到中断程序执行在中断程序中启动AD转换,使得程序再次进入中断,当各个通道的模拟信号都采集完成了,则设置各个通道数据采集完成标志。对于实时数据采集系统,为了消除传感器通道中的干扰信号,利用单片机的运算、控制功能,编写的单片机软件可实现滤波,这就是数字滤波。在本系统中采用中位值滤波法,就是对某一被测参数接连采样n次,然后把n次采样值按大小排列,取中间值为本次采样值。因此在中断程序中必须采样断程序流程图如图34所示。图3 4中断程序流程图334串行通信程序 在本课题中,单片机要与上位机进行通信,利用MCS一51单片机的串行臼和上位机的COM口进行串行通信,将单片机采集的数据送入到上位机,以利于对单片机采集的数据进行分析与计算。要想保证通信的成功,上位机与单片机需要一个通信协议,该课题中规定的通信协议和单片机发送数据流程图如下:波特率:1200bs信息格式:8位数据位,l位停止位,无奇偶校验;传送方式:上位机采用查询方式发送数据、中断方式接收数据;8051采用查询方式发送数据、中断方式接收数据:校验方式:位异或运算进行异或和校验。如果上位机接收到的数据在上位机中进行异或和运算得到的校验和结果等于单片机传送的校验和,则上位机接受此数据,否则抛弃此数据。34单片机的USB固件程序 编写单片机USB固件程序,必须深入理解USB体系结构、USB协议。下面来简要讲述USB体系结构和IJSB协议。341 USB体系 USB体系一般分为三部分:USB主机(USB HOST),集线器,USB设备(USB DEVICE)USB足一种层状的星形拓扑,其根部是主控制器,USB器件直接与根部接12连接实现其功能。若多个器件同时需要连到主控制器上,只需用集线器(HUB)来扩展。如下图36所示(图中的NODE代表USB设备):USB主机可以看作是一个硬件、固件和软件的结合体,是USB通信的中心。它控制和分时连接各个器件。主机功能如下:(1)检测USB设备的安装和拆卸:(2)管理在主机和USB设备之间的控制流;(3)管理在主机和USB设备之问的数据流;(4)收集状态和动作信息:(5)提供能量给连接的USB设备; USB集线器可让不同性质的设备连接在USB总线上,连接点称作端口。每个集线器的上游端口向主机方向进行连接,每个集线器的下游端口允许连接另外的集线器或功能部件。集线器可检测每个下游端口的设备的安装或拆卸,并可对下游端口的设备分配能源。USB设备是带有USB接口并可以完成特定功能的外设,它通过USB总线进行发送接收数据和控制信息,用一根电缆连接在集线器的某个端口上。一个物理单元中可以有多个功能部件和一个内置集线器,并利用一根USB电缆,这通常被称为复合设备,即一个集线器连向主机,并有一个或多个不可拆卸的USB设备连接其上。每个USB设备都包含设置信息,束描述该设备的性能和所需资源。主机要在功能部件使用前对其进行设置。设置信息包括USB带宽分配,选择设备的设置信息等。目前USB设备是USB总线中发展最快的部分,常见USB外设有:鼠标或光笔、键盘等。342USB总线的数据传输方式 USB总线有四种数据传输方式,分别是控制传输、中断传输、批量传输和同步传输。(1)控制传输:主要用于主机把命令传给设备以及设备把状态返回给主机。任何一个USB设备必须支持一个与控制类型相对应的端点0。(2)中断传输:用来支持那些偶然需要少量数据通信,但服务时间受限制的设备。(3)批量传输;用来传输大量数据而没有周期和传输效率的设备上。(4)同步传输:以一个恒定的速率进行传输,连续不断地在主机与USB设备之间传输数据,在传送数据发生错误时,USB并不处理这些错误,而是继续传送新的数据。343USB设备固件的编写 设备固件是设备的运行核心,其主要功能是实现USB设备的配置,实现USB设备能够通过USB接口与上位机通信,USB固件分为两个模块:初始化固件模块和USB通信固件模块。USB通信固件模块设计的目标就是使PDIUSBDl2在USB上达到最大的传输速率。CPU忙于处理许多设备控制和数据处理等任务,通信固件设计成为完全的中断驱动方式,当CPU处理前台任务时,USB的传输可在后台进行。这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。后台ISR中断服务程序和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现,例如PDIUSBD 12的批量输出端点可使用循环的数据缓冲区,当PDIUSBDl2从USB收到一个数据包时,就对CPU产生一个中断请求,CPU立即响应中断。在ISR中固件将数据包从PDIUSBDl2内部缓冲区移到循环数据缓冲区,并在随后清零PDIUSBDl2的内部缓冲区,以使能接收新的数据包。CPU可以继续它当前的前台任务直到完成。然后返回到主循环检查循环缓冲区内是否有新的数据,若有就对其进行处理,否则丌始其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论