




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文) 汽车互联网智能控制系统(硬件系统)学院名称: 汽车与交通工程学院 专 业: 汽车服务工程 班 级: 11汽 服1 学 号: 姓 名: 指导教师姓名: 指导教师职称: 二一五 年 六 月江苏理工学院毕业设计说明书汽车互联网智能控制系统(硬件系统)摘 要:针对市面上的汽车在发动机、空调设备、娱乐设备、防盗系统等方面存在的短板,设计了一种通过3G网络CAN总线混合通讯传输车辆相关信息的汽车互联网智能控制系统。系统的主要控制芯片是飞思卡尔16位单片机MC9S12DG128,CAN总线的收发器使用PCA82C250,实现三种网络传输的控制功能。另外系统还能通过CAN总线控制其他模块,将整个系统模块化。系统也结合了实际需求,增加摄像头进行图像采集,防盗性能大大提升。最后,对于汽车互联网智能控制系统进行了实验研究。结果显示,采用本文的所设计的系统可以远程控制汽车,实时监控汽车达到提高系统安全的目的,对国内的汽车远程控制系统有重大的价值。关键词:智能系统;CAN总线;飞思卡尔单片机全套图纸加扣 3012250582The Intelligent Control System of Automobile by Internet Abstract:In order to tackle the key problems of vehicles engine, air-condition equipment, amusement equipment and anti-theft system existed in the cars sold on the market, a intelligent control system of automobile had been designed. 3G networks and CAN bus hybrid communication had been used to transfer the informations of the cars. Fresscales 16-bit SCM:MC9S12DG128 was the main control chip and the transceiver of the CAN-BUS was PCA82C250 which can realize the control function of chip by three kinds of networks transmission. Whats more,the system can dominate other chips by CAN-BUS, which made the whole system more modular. Besides, the system also took the actual into consideration, for example, the camera had been added to the system so that the ablitiby of anti-theft had been highly improved.Finally, some tests had been done to the research of the intelligent control system of automobile by Internet. The results show that the system designed in the thesis can control the automobile in a long distance and monitor the car at real time to achieve the aim of improving the systems security. All in all, It has significant value to the auto remote control system in our country.Keywords:Intelligence System; Can Bus; Fresscale MicrochipII目录序 言1第1章 课题分析与方案论证21.1课题任务分析21.2设计方案21.3系统方案设计步骤3第2章 技术分析42.1单片机MC9S12XS12842.2 PWM模块62.2.1 PWM模块特点62.2.2 PWM模块框图7第3章 系统硬件方面的设计、采集和实现83.1系统硬件框图83.2通讯器件选型83.2.1防盗策略83.3 MC9S12DG128 单片机的外围基本电路设计113.3.1 MCU电源113.3.2 振荡器与时钟电路113.3.3 复位电路123.3.4 执行器输出电路133.3.5 CAN接口电路143.4系统电源电路设计15第4章 系统软件设计与具体实现164.1引 言164.2 CodeWarrior编程调试软件的概述164.3 BDM调试194.4 基于MC9SDG128的编程要点194.4.1 变量类型和定义204.4.2 变量的特殊修饰204.4.3重要的#PRAGMA 声明204.4.4编写中断服务函数214.5 系统软件设计概述214.6 系统的初始化编程224.6.1 CAN的初始化224.6.2 通用I/O的初始化234.7 系统接口收发程序设计234.8 ECU与防盗电脑的通讯破解25第5章 软硬件调试275.1硬件调试275.1.1 摄像头模块的调试275.1.2 继电器驱动电路的调试275.1.3 电压转换的调试275.2软件调试27参考文献 29致 谢 30附 录 31序 言人们在汽车的舒适度上和安全性的要求伴随着汽车行业的逐年发展而日益增加。在温度较低的冬天或者温度很高的夏天人们希望进入车内时就有一个舒适的环境,这就要求车主能够远程启动发动机和空调;当车辆被盗窃时,车主希望第一时间能够得知消息,可以查到小偷的面目并且能够控制被盗车辆。3G网络的迅猛发展使的基于3G网络的数据传输远程控制汽车运行得以解决以上需求,实现了汽车防盗高实时性的需求,而且能实现汽车远程控制的功能,具有广阔的市场前景。现在车内每个执行模块都已加入CAN总线内,形成CAN网络。这样做有很多优势,比如说主控单元可以下发指令通过CAN线进行传输到执行模块,再由执行模块进行执行。车内的娱乐设备可以通过蓝牙发射器来接收手机端的控制从而达到远程控制。当3G模块被加入CAN总线中时,手机端可以发送指令至3G模块,相对应的模块解析后将指令传递到主控模块,主控模块发出指令让直行模块进行操作。这样的CAN/3G/蓝牙混合通讯便是本次设计的重点内容。本说明书共分为5章,第一章是课题的分析与相应的方案论证;第二章是对硬件的详细说明;第三章分析了系统的软件部份;第四章说明了CAN通信协议的设计。第五章列举了典型的在软硬件在调试过程中出现的问题,并分析产生的问题。通讯数据交互具备加密处理传输,以及破解中央电器系统控制单元与各控制单元之间的通讯是重点。设计的最终成果是车主可以远程通过手机远程控制模拟空调和发动机的继电器的启动;包含混合网络网关功能,实现3G网络汽车远程通讯控制模块、发动机控制模块等控制数据相互交换。 第1章 课题分析与方案论证1.1课题任务分析 本课题重点在于实现手机或者电脑端与单片机和车载各个子系统进行数据通讯的目的,因为每个模块都接入CAN总线,所以各模块可以通过CAN总线进行通讯,从而实现各个子系统的统一控制。为了完成系统通过CAN总线联网通讯控制,单片机MSCAN模块必须与车上CAN总线能够相互传递数据,从而实现控制的智能化:若中央模块通过3G模块接收到启动发动机的讯号,控制模块则发送相应指令给发动机点火系统,开启发动机。当主控模块接收到讯号要求开启空调后,主控模块通过CAN总线发信息给空调开关打开空调;当车主锁门离开后,若有人强行开启车门,则开启摄像头经行监控,并通过3G模块发送至手机端,并根据手机端的反馈将对应的指令,执行对应的断油断电的操作。为了实现汽车的远程控制,单片机需要模拟正常启动时防盗系统与ECU之间的通讯,才能在汽车没有钥匙的前提下使得中央控制模块按照车主发送的指令启动发动机。以下几项知识是为了实现系统功能所必须掌握的:熟练运用通讯控制数据的加密处理技术,掌握飞思卡尔单片机编程软件CodeWarrior和Protel绘图软件的相关应用知识,汽车CAN总线协议等相关的知识。1.2方案论证 市面上有很多摄像头模块,OV7620是一款最常用也是较便宜的摄像头,摄像功能操作十分简单。由于OV7620与单片机直接相连,互相通讯没有问题,所以只需单片机发送相关的拍摄指令就可以控制摄像头拍摄需要的画面。由于本系统处理数据的速度要求比较高,而且以汽车的CAN总线网络为载体,如果使用传统的51单片机,则需要在外部接上许多外围电路,如果这样设计就大大的降低了系统的可靠性。在对单片机的种类进行了详细的研究后,我选择了拥有全球顶尖单片机技术的飞思卡尔公司的产品MC9S2DG128,大量的比赛证实了它非常适用于汽车上面。该芯片将CAN控制器集成在内部,而且该微控制器及其上面的MSCAN模块、CAN接口和SBC都有低功耗模式,把系统的功耗降至最低,这为汽车电平节省了宝贵的电量。整车的CAN系统网络上遍布着无数的节点,汽车主控模块便是其中的一个,他可以跟汽车上其它控制单元通过CAN总线进行信息交换,从而达到与其他模块进行信息共享的目的,它要与汽车上的其它电控单元交换信息,达到资源共享的目的。根据ISO11898的定义,物理层被细分为3个子层,它们分别是物理信令(位编码定时和同步)、物理媒体连接(驱动器和接收器特性)和媒体相关接口(总线连接器)。本系统采用飞利浦半导体公司的收发器PCA82C250,使用该芯片的好处是当其等待模式时,它的电流消耗非常低,并且可以被总线唤醒,当它被唤醒时,低电平会在RXCAN上产生,与此同时MCU也可以被这个低电平唤醒,芯片有较好的电磁兼容功能。汽车环境中的瞬间抗干扰能力得到提高,总线保护能力也得到加强。系统采用的单片机是MC9S12DG128和MC9S12XS128,它们正常工作的电压是5V,与汽车上的12V电压无法匹配,所以要采取降压处理,在电源模块设计时选择了经典的降压芯片LM2596。将这样的话单片机的所需要的5V电源便可从车上的12V电压降压而得到。LM2596还可以起到稳压的作用。1.3系统方案设计步骤图 1-1 设计步骤第2章 技术分析2.1 单片机MC9S12XS128HCS12X系列单片机性能非常好,基于S12CPU内核,性能可以达到25MHz的HCS12的2-5倍,是Freescale公司于2005年推出的,它是HCS12系列增强型产品。总线频率最高可达40Hz。S12X系列单片机包括以下几个子系列:MC9S12XA系列、MC9S12XB系列、MC9S12XD系列、MC9S12XE系列、MC9S12XF系列、MC9S12XH系列和MC9S12XS系列。MC9S12XS128就是S12X系列中的一个成员。MC9S12XS128是16位单片机,由16位中央处理单元(CPU12X)、128KB程序 Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash)组成片内存储器。其主要功能模块包括内部存储器、内部PLL锁相环模块、2个异步串口通讯SCI、1个串行外设接口、SPI MSCAN模块、1个8通道输入/输出比较定时器模块、TIM周期中断定时器模块、PIT16通道、A/D转换模块、ADC、1个8通道脉冲宽度调制模块、PWM 输入/输出和数字I/O口。MC9S12XS128单片机引角示意图如图2-1所示。图2-1 MC9S12XS128单片机引脚图各个引脚说明如下:EXTAL,XTAL(振荡器引脚)EXTAL即晶体驱动引脚, EXTAL的输入频率控制所有设备的复位时钟;外部时钟引脚是XTAL,也是振荡器的输出引脚。RESET(外部复位引脚)外部复位引脚是一个有效的低电平双向控制信号。当为控制器已经初始化到启动的状态作为它的输入前提。一旦输出的驱动给的信号是低电平时,里面的MCU复位源会被触发。VDDR和VSSR(数字电源和接地引脚)VDDR是外部电源引脚和VSSR是外部接地引脚,他们提供电压调整器的输入和I/O驱动的电压。电源要能提供较大的瞬时电流才能满足信号快速上升的要求,并且在两个引脚之间需要放置一个高频旁路电容,要尽量靠近MCU。MCU引脚所能承受的负载决定了旁路的要求。VDDX和VSSX(I/O电源和接地引脚)I/O驱动是由这两个引脚来提供。运用到电路上时要尽量靠近MCU并且在两个引脚之间放置一个旁路电容。VDDA和VSSA(ADC转换模块电源和接地引脚)这两个引脚是为AD转换器和电压调整器提供电源和接地功能,并且还要为内部的电压调整器发送参考电压。和其他一样,两个引脚之间也要放一个旁路电容。VRH和VRL (ADC参考电源输入引脚)AD转换器参考电压的输入引脚是这两个引脚,它们精度的稳定性对最终转换的结果起到了决定性的作用,因此这路电源的品质要求会大大提高。不过它们的优点是功率较小,实用,经济,而且可以单独供电。其他的一些引脚则是单片机的输入输出口,它们有的自带A/D转换功能,能够自动转换接收外围的模拟信号;有的则可以控制外围通道的开闭,从而达到控制外围电路的效果。2.2 PWM模块2.2.1 PWM模块特点PWM调制波的输出通道都每一个都是单独工作,数量总共有8个。每个输出通道内部都有一个能够准确计算脉冲的个数的计数器,每一个周期内它的功能是控制寄存器和两个提供涌来选择的时钟源。每个PWM的都可以调制出占空比不同的波形,波形的变化范围为0100%。MC9S12XS128单片机的PWM模块有如下的特点: (1)MC9S12XS128单片机有8个PWM通道,每个通道都可以进行编程,微控制器的引脚PP0-PP7可以复用。占空比和每通道的周期是相互独立控制,8个通道就有8个精准。它也可以是邻位的两个通道,这些通道都受到PWMCTL设定器进行连接而作为一个16位精度PWM通道,一个XS128器件可以提供4个分辨率为16位的PWM通道; (2)存在一个PWM通道就有相对应的一个完全独立的计数器; (3)PWM通道状态可以设置为两种:使能或禁能。 (4)软件可以独立设置每个信道的占空比,高电平是寄存器真实PWMPOL的相应位,低电平将会有效清除;(5)周期和占空比循环的模式是双缓冲循环的,任意一个周期结束时,相对应次更新的设置就可以生效(6)每个通道的模式可以独立的设置,模式可分为左对齐和中央对齐模式,设置寄存器PWMC进行相应设置; (7)PWM模块的4个时钟分别为A、B、SA和SB,它们可以提供范围较宽的频率; (8)可编程的时钟选择逻辑; (9)紧急停止功能。2.2.2 PWM模块框图 框图如图2-2所示:图2-2 PWM模块框图第3章 系统硬件方面的设计、采集和实现3.1系统硬件框图系统的硬件框图如图3-1图3-1 系统硬件框图本设计研究的汽车互联网智能控制系统是一种采用智能节点设计且可与车载CAN总线网络相互通讯的装置。 从图上可以看出,主控模块、各执行器件模块均是连接在CAN总线上面的。其中中央控制单元为主控单元各模块也通过CAN总线连成网络。中央控制单元能够完成各模块之间的数据交换和电能管理控制,具有混合网关功能。其具有低功耗特性(休眠电流为0.025 A),可以中断唤醒,完成唤醒休眠系统。程序便于升级运行时无漏洞。软硬件的抗干扰性因为抗干扰设计而大大提高。硬件系统装置的组成有单片机及其外围电路,检测对象与单片机输入口相连接,当外界事物破坏了被检测对象的平衡点,信号从输出口发出,通过装置中的MSCAN 模块,传递到CAN 总线网络平台最后传递给各节点。主控模块会从不同的检测对象的平衡点破坏而传输过来的讯号中获得不同的信息。单片机MC9S12DG128是本系统研制的汽车互联网智能控制系统主控模块的核心系统。它的作用是检测每一个监控点对模拟量的采集与开关量,然后实现相对应的控制功能。一旦被控制对象的运行状态改变那么立即将必要的数据通过CAN总线发送给执行模块,CAN总线上的讯号也会被传送到主控模块,主控模块根据相关数据发出指令修改系统参数或将收到的讯号直接返送至3G网络模块,3G模块再将车辆状态送回主控端,也就是车主的手机,才能完成控制汽车的目标。单片机的MSCAN模块是直接挂在CAN总线上的,外部信息与指令会从CAN局域网传递到MCU,MCU也会将必要的信息通过CAN总线发送到3G模块。MCU 另一些接口与车辆各检测点相连接,实行实时循环检测车辆检测部位的平衡状态,MCU 会根据这个检测模块的相关信息变化和执行动作,通过内嵌的CAN模块向3G 网络模块发送信息,接着从3G网络模块中的TR800向外部接受部件发送信息。MCU 还有一些接口被用作输出,当车身系统中的某个控制单元有信息输入到MCU,通过与单片机中存储的信息数据比较,如果相同则控制相应的继电器完成对汽车的控制。汽车互联网智能控制系统中央控制模块的组成部分是单片机控制模块,开关,继电器,稳压电路等。系统硬件框图如图3-2 所示图3-2 主控模块3.2 通讯器件的选型3.2.1 防盗策略设定相关传感器的报警策略来防止出现误报警。当3G 网络模块检测到五个门控开关和中控锁处于非正常情况时,系统都发送相应的中文短信通知车主,这是由3G模块完成的。但检测到热红外传感器处于非正常状态时,系统会发送“您的车有人进入”的短信,并且会启动摄像头拍照以彩信发送给车主,与此同时3G 网络模块通过CAN 总线告知主控模块,实现汽车的断油断电及车灯警告。3.3 MC9S12DG128 单片机的外围基本电路设计3.3.1 MCU 电源MC9S12DG128 单片机有的电源引脚有很多,他们都是外接的,而且都是5V,信号的快速上升的要求很高,它要求电源有提供瞬时大电流的能力,因此将高频旁路电容放置在两个之间是有必须的,另外旁路电容需要靠近MCU,一般情况下电源引脚应该与应用系统中的两个独立的电容器相连相连。类似10 F 的钽电容这样的大容量电解电容器,用来为全体系统提供大电流充电存储,为了抑制高频噪声,电容器要求最大限度的接近MCU 电源引脚VDD 和VSS。3.3.2 振荡器与时钟电路MC9S12DG128 单片机内部集成了完整的内部振荡电路,EXTAL是外部时钟输入或石英放大器的输入,XTAL是石英放大器的输出所有的MCU 的内部系统时钟都来自EXTA 输入的频率。MC9S12DG128 单片机既可以使用两种电路串联振荡电路和并联振荡电路,PE7拉高后才可使用串联振荡电路,该引脚要拉低后才可以使用并联振荡电路或使用外部有源振荡电路。本次设计的系统的电路采用串联振荡,其中PE3置高电平。C23和C24的范围通常在5pF 到25pF,要按照要求匹配特定的晶体和振荡器。考虑到PCB 板电容和MCU 引脚电容后才能选取C23和C24的大小。制造时通常指定一个负载电容,其电容值等于C23和C24的串联值,C23和C24一般选用同样大小的电容。每个振荡器引脚(EXTAL 和XTAL) 与PCB的组合电容的首选值约为10pF。电路图如图3-3 所示:图3-3 振荡电路另外,在设计晶振电路时,还应该注意以下几点:为了保证晶振工作时的稳定性,另外由于晶振工作时所产生的高频率信号会对周围的线路形成干扰,所以在设计电路时,应尽量将晶振靠近单片机的引脚。由于有晶振高频信号的干扰,所以一些对信号质量有一定要求的元器件,走线时,尽量不要从晶振的下方或者周围走线。为了隔离晶振的噪音,并且防止别的信号干扰晶振电路的工作,通常在晶振的下方或者周边布置地线,用来将它覆盖和包围。3.3.3 复位电路单片机里不可或缺的模块式复位模块。任何一个单片机,在电源接通时,没有复位电路就没有复位信号发送给单片机,这样单片机就不能正常运行工作。而且在单片机系统进行调试实验时,难以避免出现系统错误,或者死机,此时就需要进行手动操作复位,使单片机系统回到初始状态,从而有利我们从头开始对程序进行调试。复位电路传输的信号为低电平信号,单片机工作时,引脚设置为高电平,当系统需要进行复位操作时,再给引脚有效的低电平信号。复位电路如图3-4所示:图3-4 复位电路3.3.4 执行器输出电路当车主通过车上的TR800 模块发送的信息知道自己的车被他人盗取时,想要实现汽车在远处便可停车,断开燃油泵继电器是最简单的方法,这样就可以快速停止发动机工作。在炎热的夏天或寒冷的冬天,想要汽车提前制冷或制热从而使车内温度达到一个适宜的范围,需要汽车能在没有钥匙的情况下启动发动机和开启空调。想要实现这个要求,就用继电器控制15号线,使他一直处于接通状态,然后使能让起动机的导通的50号线闭合几秒后断开,同时继电器来控制空调开关闭合,达到远程控制空调工作而达到我们的目的。本系统模块为了实现上述功能用了4 个继电器驱动,电路如图3-5所示:图3-5 系统模块3.3.5 CAN 接口电路防盗电脑必须与钥匙里的线圈和发动机控制单元ECU身份确认成功才能在没有钥匙时启动发动机和打开空调。MC9S12DG128 单片机集成了Motorola自带CAN 控制器MSCAN,所以我们只需要在单片机的CAN 接口外接一个CAN 收发器,并将收发器加入车载CAN 网络中,本系统就能与车上所有主要控制模块通信(主要是发动机ECU),电路图如图3-6 所示:图3-6 CAN收发器3.4 系统电源电路设计汽车互联网智能控制系统安装位置是车内,这样将直接用蓄电池进行供电,其电压为12V,但是单片机和摄像头所需电压是5 V左右,那么我们还需要将12V的电压进行降压,把它降低成5V电压。本系统采用开关电源LM2596 ,它能输出最大达到3A培的电流满足系统对电流的需求,电路如图3-7所示:图3-7 电源电压转换第4 章 系统软件设计与具体实现4.1 引言想要进行单片机系统的实验与调试,不但要求我们收集硬件,对电路进行设计和开发,然后根据电路进行硬件的焊接,而且必要的软件的设计也是完成单片机实验所必要的步骤。软件相对于单片机相当于它的血液,只有经过调试的单片机软件才是最完美的,才能达到想要达到的要求。在本次设计中,单片机对传感器传输的数据进行接收、分析、传输;通过传感器数据借以摄像头对外部的工作情况进行控制;将摄像头的画面反映到手机或者电脑上;通过蓝牙模块进行数据的发送等等功能,都是需要通过软件的编写、修改、调试,才能在单片机中执行并且实现的。Metrowerks公司为了运用开发嵌入式系统,他们设计了功能强大并且易于操作的开发工具CodeWarrior系列集成开发环境,它的作用是显著地提高软件开发效率。CodeWarrior软件能够提供了软件的仿真模式让使用者清晰地看到使用效果,最大的特点用户可以对所编的C 程序直接进行编译运行。4.2 CodeWarrior编程调试软件的概述CodeWarrior系列是 Metrowerks 公司开发出来的集成开发环境,它同时具备了开发效率高、强大、易用的有点,是开发嵌入式系统最好用的开发工具之一。下面就对CodeWarrior编程调试软件的准备部分的流程作下大概的描述:首先,要先在电脑上安装CodeWarrior软件。双击图标后,会出现图4-1所示的对话窗口。图4-1我们应当点击对话窗口上的第一个Create New Project按钮。这个时候,另一个对话框将会弹出(图4-2)。图4-2对话框中的内容有两栏,左边是所需要选取的单片机型号,右边是我们要选取的下载器的类型,我们可以根据手中的硬件进行灵活的选择。根据本次设计的实际情况,在第一栏中选择单片机,单片机型号为MC9S12XS128单片机,在第二栏中选择下载器,下载器类型为最下面的TBDML。均确认选好后,点击下一步。图4-3接下来跳出的对话窗口的主要用途是让我们选择编程的语言,如图4-3。我们可以选择利用C语言,也有C+等。根据个人实际情况,C语言学习过而且经过一段时间的运用较为熟练,所以本项也就选择此次程序编写的语言为C语言。然后再点击下一步。图4-4跳出来的这个对话窗口(图4-4),是用来将电脑里现有的文件添加到项目中,我们是第一次编写,所以我们应该点击完成按钮,然后就会到达真正编程的界面(图4-5)。图4-5编程的界面中,系统会将头文件和一些必要的的软件语言显示出来,我们要根据自己单片机实验所需要设计的实际情况,在相应空白部分进行程序的编写就可以了。4.3 BDM 调试下载工具BDM是采用背景调试模式,该模式是MCU 普遍采用的调试方式之一,它的作用非常广泛,不仅可以用来系统开发,在线调试而且可以用来编程应用程序的下载和在线更新。由于BDM的控制模块不是嵌入在在CPU 中,所以BDM 硬件命令与CPU正常运行时是并行执行的,其他的BDM命令以固件为基础,并且只有在CPU 背景调试模式下才能够被执行。BDM与CPU 通信的时间是CPU空闲的时候,如果执行程序时有需要,它会从CPU 的工作周期中占用一个周期。4.4 基于MC9S12DG128 的编程要点CODE WARRIOR 中针对Freescale 的16 位单片C 语言编程基本符合ANSI 规范,因此关于标准C语言编程的话题就不再重复。这里主要介绍和单片机资源密切相关的一些编程要点。4.4.1 变量类型和定义在CODE WARRIOR 中可以设置12 系列单片机C 编译器支持的基本变量类型及其缺省的长度位数。应该根据实际项目的需要改变部份变量的长度。CODE WARRIOR 给定的头文件已经针对类型名简化替换了最常用的一些无符号变量,例如用byte 代替unsigned char,用word代替unsigned int。这样在程序编写最大的好处是可以节约时间。当遇到单片机程序设计中选择确认变量类型时需要有两条最基本的原则须遵循:选取最短的变量;尽量选取无符号数。这两条原则将决定代码的长度与运行的速度。4.4.2 变量的特殊修饰定义变量是需要考虑单片机资源的有限性和特殊的。变量的绝对定位:变量绝对定位是特别针对芯片内部的硬件寄存器定义的。硬件寄存器在编写C 程序时都会被视为变量,在CODE WARRIOR 给定的头文件中,他们都已经被预先定义。硬件资源的地址是唯一且不可改的,这样在头文件中定义寄存器时都采用绝对定位。变量volatile 声明:volatile 型变量意思就是说他们都是容易变化的,程序代码运行改变不会改变它的值。之所以volatile 类型定义在单片机的C 语言编程中非常重要的原因是因为它可以告诉编译器的优化处理器这些变量是实实在在存在的,在优化过程中不能无故消除。任何类型的变量,都可以以volatile声明。CONST 声明:CONST的作用是声明永不变化的常数。一般情况下这些变量都被放在ROM区(也就是FLASH 程序空间)它的目的是节约RAM 内存,因为RAM内存是非常宝贵的。然而简单的一个CONST声明最终并不能保证变量会被分配到ROM 区,最安全的做法是必须配合#PRAGMA 声明的.CONST_SEG.数据或.INTO_ROM.一起实现。4.4.3 重要的#PRAGMA 声明#PRAGMA 声明是对标准C语法的一个扩充,它基于单片机开发的特点的。它的关键作用体现在对充分利用单片机内各类有限的资源。下面简单介绍几个最常用的#PRAGMA 声明。#PRAGMA DATA_SEG:定义变量所处的数据段。#PRAGMA CONST_SEG:定义一个常数数据段,必须和变量的const 修饰关键词配合使用。#PRAGMA CODE_SEG:用以定义程序段并赋以特定的段名。#PRAGMA TRAP_PROC:用于定义一个函数为中断服务类型。#PRAGMA MESSAGE:这个声明用以控制编译信息的显示。正常情况下这些编译信息都是有价值的,特别是告警和错误信息。4.4.4 编写中断服务函数定义中断函数这种方式最直观也最简单的方法是用关键词interrupt 和中断矢量编号。它们也有缺点:程序的可移植性差。当编译器遇到关键词interrupt,编译器会在此函数中断服务函数,数字17告诉连接器该中断矢量的偏移位置(以复位矢量偏移为0 计)。该芯片的数据手册中可以查到某一个中断响应对应的矢量入口编号。4.5 系统软件设计概述为了实现系统与指纹模块之间的人际交换界面功能,单片机接收到加密后的数据后,通过相关指令使液晶显示屏进入显示状态。在工作时需要指纹模块通过数据帧发送系统执行指令,系统会指令信息执行相关动作。所有执行器都接在具有中断功能P 接口,当单片机接收到各模块相关数据帧后,MCU 立即进入服务子程序使继电器工作对车辆进行控制。汽车远程控制系统开机运行初始化后,接下来进行的是循环等待不断的检测接收数据帧的状态。若接收缓冲区有信息时读取缓冲区内容,并将加密后的信息解码读出信息内容。单片机对继电器执行相应数据帧内容所表示的操作。在无钥匙的情况下能够启动发动机,需要破解发动机ECU 与防盗电脑之间的通讯。系统的CAN接口需要与CAN总线相连接。通过截获ECU 与防盗电脑之间的CAN 数据,分析数据能够得知函数关系。编程时将所需的数据通过本系统的单片机上的MSCAN 发送给ECU,用继电器控制使15 号线接通,控制50 线(连接启动机)接通3 秒后断开,此时发动机就能正常启动了。4.6 系统的初始化编程4.6.1 CAN 口的初始化MSCAN 口的初始化需要设定接口速率匹配网络中的速率,而且要设定相关ID 及过滤方式。1.接口速率设置如果使用了锁相环,则最好选择振荡器时钟而不是总线时钟。在16 M 外部晶振频率下要求将总线速率设为500 kbps。CAN 速率的计算由下面的式(4-4)所示。 (4-4)由上式计算得,分频因子设置为2,时间段1分配9个时间单元,时间段2 分配6个时间单元。由于CAN 总线传输速率比较快,将SAMP 清零每位进行一次采样。同步跳转设置为两个时间单元用以再同步,再同步的原理如图4-6 所示。图4-6 同步原理图2.过滤器设置为了节省CPU 的处理时间,MSCAN 模块采用硬件滤波来过滤掉CAN 网络中的无用的CAN 帧。任意节点向网络中发送中信息,网络中所有的节点都能收到信息,收到后每个节点将收到的信息与自己的需要的进行比较,符合的才接收,标识符中参与比较的信息是由过滤器和屏蔽器决定的,这样的话就会存在某些未直接接受的情况。采用两个32 位的验收过滤器,过滤原理如图4-7 所示。图4-7 过滤原理图4.6.2 通用IO 口的初始化通用I/O 口功能的分类可以分为设置输入输出、驱动能力、内部上拉或下拉电阻,中断输入等功能,每个I/O 的寄存器都可以设置这些功能。执行器接入的I/O 的方向寄存器都设置成输入并且允许中断,根据执行器工作时输入的电平高低设置边沿选择寄存器。4.7 系统接口收发程序设计系统用到的接口包括串行SCI 接口和MSCAN 接口。各模块之间的通信是通过这些接口来实现。MSCAN 有三级缓冲,所以可以发送多组数据并完成实时操作。跟接收缓冲区基本相同的是每个区都有十三个数据字节。CPU会根据TXEx 位来确定传送缓冲区是否可用来判断是否需要传送数据。当某缓冲区可用,CPU 就会写CANTBSEL寄存器来将指针指向此缓冲区。相应的缓冲区就可以访问。简化传送缓冲区的选择是CANTBSEL寄存器的算法特点。然后,标识符、控制位和数据会被CPU存入缓冲区内。最后TXE清零,缓冲区被标记已发送。接收的数据被存放在5个层次的FIFO缓冲区里,而5个缓冲区被映射到相同的内存单元,这种机制对简化软件编程有很大的好处。CANRFLG寄存器中的RXF 位指示了前台接收缓冲区的状态,当缓冲区的数据正确无误时,RXF就会置1。接收输入时,每个数据都会检查是否通过过滤器,然后被并行写RxBG.成功接收数据后,MSCAN会把RxBG中的内容送到FIFO 的缓冲区,对RXF置1,并产生一个接收中断。用户的中断程序可以读出RxGB中的数据,为了响应中断将复位RXF 标志,最后释放前台缓冲区。当新数据到来时,新数据会被送到下一个可用的RxBG内。如果MSCAN 接收到了一个错误的时局(标识符无效或者传送错误),则RxBG里的数据不是被传送到FIFO的缓冲区,而是会被新的数据给覆盖。MSCAN缓冲区的结构如图4-8 所示。图4-8 缓冲区结构图4.8 ECU 与防盗电脑通讯破解更改CAN 的初始化中CANCTL1 中LISTEN 位为1,使MSCAN 处于监听模式,在监听模式下单片机只能接收数据。实验室不要将摄像头接在串口0 上,而是通过RS232数据线连接到电脑上,用串口软件记录数据。将接收到的数据发送到电脑上的程序:nTX0_Len = 15;/CAN_MSG 占用15 个字节SCI0_TX_BUF = Rmsg /将结构体类型的指针指向串口发送缓冲区SCI0TXN();/发送到电脑上4.9.2 单片机启动发动机程序当启动时代超人2000 发动机时,记录串口发送的到电脑的数据如下:00 05 00 01 00 00 00 00 00 00 00 00 00 00 0100 01 00 00 57 24 00 00 00 00 00 00 00 02 02分析数据得知ECU的ID地址为01,放到电脑的ID为05,密码为57 24。启动发动机流程如图4-9 所示。图4-9 发动机启动流程第5 章 软硬件调试5.1 硬件调试硬件对于软件来说非常的重要,没有硬件,再好的软件也是白搭他是软件的基础。只有先确保硬件的正确选择,连接完好,功能正常才能使设计出来系统完美执行编写的软件从而达到预期的目标指令。这就要求完成电路板的制作之后,必须先对硬件进行检查、调试才可以,而不是对软件进行编写。5.1.1 摄像头模块的调试将摄像头模块的引脚接到单片机上,打开稳压源后,烧录入基本程序后,摄像头开始工作,硬件工作正常,拍摄画面较为暗淡。5.1.2 继电器驱动电路的调试目的是为了测试继电器的工作情况,将四个单片机的输出口分别与继电器用导线连接,此时为低电平,此时继电器发出的咔嚓的声音,这就表明驱动良好。5.1.3 电压转换模块的调试把电源转换模块接通12V 的电源后,电源指示灯亮起,经过LM2596转换后理论上应得到5V的电压,经电压表测量输出端的电压,测的值为4.99V,说明电路工作正常。5.2 软件的调试5.2.1 CAN 总线接收程序调试1.预期效果接到控制信息后,单片机分析信息,提出信息的ID号与内容,将此ID与存储器里的惊醒比对如果吻合则进行相对应的操作,反之不作任何动作。2.出现的问题往3G 模块发送密码短信后第二次发送控制短信,继电器无反应。3.问题的分析将断点设置在接收控制短信程序前,待发送密码短信后,进行单步调试,发现程序在一个延时程序中出不来。重新读取这个延时程序发现m值过于大而且并不是设定的值,之前设定的m 是32 位的长整形。4.问题的解决延时程序定义16 位的整形作为传递的数据类型,使用两次嵌套。将延迟设定的时间降低,在采用模糊控制的前提下判断接受字节数,延时一会后对字节数进行精准控制,再次发送短信后继电器正常工作。参考文献1 赵厂奎.GSM数字移动通信应用系统M.北京:国防工业出版社,2001.2 犹可.现代数字移动通信原理及实用技术M.北京:北京航空航天大学出版社,2001.3 李现勇.C+串行通信技术与工程实践J.北京:人民邮电出版社,2002.4 胡汗才单片机原理及其接口技术M北京:清华大学出版社,1996. 5 李广弟,朱月秀,王秀山单片机基础(第二版)M北京:北京航空航天大学出版社,2001.6 何宏单片机原理与接口技术M北京:国防工业出版社,20067 何友.多传感器融合与应用M.北京:电子工业出版社,2000.8 何夕才.传感器及应用M.北京:国防工业出版社,2001.9 包强.GSM模块在无线传输中的应用M.现代电子技术,2005.10 张亚宁,汪至中.摩托罗拉16位单片机MC9S12DP256在汽车电子中的应用国外电子元器件M,200311 罗石,商高高.电控助力转向系统电机驱动电路设计方案的研究J.江苏大学学报,20042512 宋培义,刘立新单片机原理接口技术与应用M.北京:中国广播电视台出版社,1999.13 Bose BK . Power Electronics and Motion Control-Technology Status and Recent Trends J.IEEE.1993.14 Owing to GSM_GPS_GIS vehicle , state monitors systematic designandrealizationJ.IEEE.19
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北唐山滦州市森林草原消防专业队员招聘7人模拟试卷附答案详解(考试直接用)
- 2025年高性能传输线缆项目合作计划书
- HM5023507-生命科学试剂-MCE
- 2025年甘肃庆阳西峰数字服务就业中心招聘100人模拟试卷有完整答案详解
- 2025年新型地热用热交换器项目合作计划书
- 小学全员安全教育培训课件
- 2025年铍铜带、线、管、棒材项目发展计划
- 中小企业技术规范与管理策略
- 2025年六安市人民医院护理人员招聘10人模拟试卷及答案详解(夺冠)
- 2025年陕西航空职业技术学院学工部招聘考前自测高频考点模拟试题参考答案详解
- 银行承兑转让协议书
- 浙江省杭州市2025年八年级下学期语文期末试卷及答案
- 基于物联网的智能分拣系统设计-洞察阐释
- 8S标准培训教材
- 7.2做中华人文精神的弘扬者 课 件- 2024-2025学年七年级道德与法治下册 统编版
- 红领巾在新时代的使命与责任主题演讲稿范文
- 消防水池内有限空间安全施工方案
- 空间生产与社区发展-深度研究
- SMT工艺制程详解
- 大连理工大学《大学计算机高级基础》2023-2024学年第二学期期末试卷
- 校园内操场的智能化设施布局规划
评论
0/150
提交评论