单片机课程设计飞思卡尔加速踏板.docx

上传人:b****8 文档编号:29194418 上传时间:2023-07-21 格式:DOCX 页数:20 大小:1.15MB
下载 相关 举报
单片机课程设计飞思卡尔加速踏板.docx_第1页
第1页 / 共20页
单片机课程设计飞思卡尔加速踏板.docx_第2页
第2页 / 共20页
单片机课程设计飞思卡尔加速踏板.docx_第3页
第3页 / 共20页
单片机课程设计飞思卡尔加速踏板.docx_第4页
第4页 / 共20页
单片机课程设计飞思卡尔加速踏板.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

单片机课程设计飞思卡尔加速踏板.docx

《单片机课程设计飞思卡尔加速踏板.docx》由会员分享,可在线阅读,更多相关《单片机课程设计飞思卡尔加速踏板.docx(20页珍藏版)》请在冰豆网上搜索。

单片机课程设计飞思卡尔加速踏板.docx

单片机课程设计飞思卡尔加速踏板

天津职业技术师范大学汽车与交通学院

 

《汽车电控系统》

课程设计报告

 

同组学生姓名(学号):

杨启瑞(03)文林哲(08)

班级:

汽电1001班

任务分工:

杨启瑞:

查找资料,整理设计报告。

文林哲:

编写程序,调试结果。

设计时间:

2013年06月24日——2013年07月05日

指导教师:

宋建峰冯勇鑫

 

目录

一、课程设计目的-------------------------------------------------------1

二、课程设计要求及设计任务描述----------------------------------1

1、课程设计要求---------------------------------------------------1

2、课程设计课题(加速踏板位置传感器信号采集)---------------------2

3、实验设备及其连接-----------------------------------------------2

三、加速踏板工作原理及控制方式----------------------------------3

四、总体方案设计及流程图----------------------------5

五、系统硬件方案设计--------------------------------6

1、系统原理图----------------------------------------------------6

2、单片机(MCU)模块--------------------------------------------6

六﹑系统软件设计-----------------------------------------------------10

七﹑课程设计结论及总结-----------------------------15

八﹑附录-------------------------------------------17

 

一、课程设计目的

随着半导体技术的不断发展,各种微处理芯片的性价比越来越高,在各个领域的应用也越来越广泛,MCU作为嵌入式系统的核心控制器在工业控制、航天航空、民用家电、医疗设备等方面占有十分重要的地位,。

低端的8位MCU它具有价格低、适配器件成熟种类多等优势,因此尽管现在32位、16位MCU不断发展,但8位的MCU仍占有大约50%的市场份额,同时它也是我们学习MCU的必要的入门途径。

微电子学的迅速发展和微型计算机的普及与应用,为汽车在电子方面的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。

市场上有很多现成的汽车的电子机构,但价格都偏高。

而应用汽车嵌入式系统进行控制,即可以实现用相对便宜的价格组成一个性能不错的汽车电子控制系统。

本次课程设计就是应用飞思卡尔AW60单片机进行一次实际项目设计,要经过硬件设计、软件设计、实验电路调试、软件调试直至最后项目完成,这对我们所学习的理论知识进行进一步的巩固、深化及综合应用,同时学习以单片机为控制核心的应用的实际设计流程及基本的实践动手能力,为我们进行嵌入式应用工程设计奠定基础。

二、课程设计要求及设计任务描述

1、课程设计要求

(1)、熟悉AW60内部结构、各模块应用方法

(2)、掌握codewarrior集成开发环境的使用

(3)、掌握C语言及理解HCS08汇编指令

(4)、熟悉汽车嵌入式系统综合开发实验台的应用

(5)、熟悉电子技术相关知识

(6)、熟悉加速踏板以及节气门位置传感器的工作原理

2、课程设计课题(加速踏板位置传感器信号采集)

运用实验室提供的飞思卡尔嵌入式实验系统、加速踏板位置传感器、设计具有一个模拟量采集应用,进行AD转换的硬软件。

(1).设计内容:

运用实验室提供的飞思卡尔嵌入式实验系统、设计具有一个模拟量采集应用,进行AD转换的硬软件

(2).设计要求:

踏板开度采用小灯指示,小灯全亮为100%,全灭为0%

(3).设计步骤及方法:

1)系统硬件设计,设计键盘及LED或LCD与MCU的接口

2)系统软件设计,在硬件设计的基础上进行汽车嵌入式系统综合开发试验台的总体软件设计,画出程序流程图;

3)按系统软件设计方案,设计各模块程序、调试,各模块程序调试通过后,进行系统联调(编写程序中要注意存储定义、程序注释等,养成良好的编程习惯);

4)根据调度中发现的问题对设计进行修改、完善至达到设计要求。

3.实验设备及其连接

1.PC机一台

2.飞思卡尔嵌入式实验开发系统一台

3.串行通信线一根

4.万用表一只

5.示波器一台

6.汽车嵌入式系统综合开发实验台一台

三.加速踏板工作原理及控制方式

加速踏板也就是我们常说的油门,传统拉线油门是通过钢丝一端与油门踏板相连另一端与节气门相连,它的传输比例是1:

1的,也就是说我们用脚踩多少,节气门的打开角度就是多少,但是在很多情况下,节气阀并不应该打开这么大的角度,所以此时节气阀打开的角度并不一定是最科学的,这种方式虽然很直接但它的控制精度很差。

而电子油门它是通过电缆或线束来控制节气门的开度,从表面看是用电缆取代了传统的油门拉线但实质上不仅仅是简

的改变连接方式,而是能对整个车辆的动力输出实现自动控制功能。

   当驾驶员需要加速时踩下油门,踏板位置传感器就将感知的信号通过电缆传递给ECU,ECU经过分析、判断,并发出指令给驱动电机,并由驱动电机控制节气门的开度,以调整可燃混合气的流量,在大负荷时,节气门开口大,进入气缸内的可燃混合气多,如果使用拉线油门只能靠脚踩油门踏板的深浅来控制节气门的开度,很难将节气门的开口角度调到能达到理论空燃比状态,而电子油门能通过ECU将传感器采集的各种数据进行分析、比对,并发出指令让节气门执行机构动作,将节气门调到最佳位置,以实现不同负荷和工况下都能接近于14.7:

1的理论空燃比状态,使燃料能充分燃烧。

   电子油门控制系统主要由油门踏板、踏板位移传感器、ECU(电控单元)、数据总线、伺服电动机和节气门执行机构组成。

位移传感器安装在油门踏板内部,随时监测油门踏板的位置。

当监测到油门踏板高度位置有变化,会瞬间将此信息送往ECU,ECU对该信息和其它系统传来的数据信息进行运算处理,计算出一个控制信号,通过线路送到伺服电动机继电器,伺服电动机驱动节气门执行机构,数据总线则是负责系统ECU与其它ECU之间的通讯。

由于电子油门系统是通过ECU来调整节气门的,因此电子油门系统可以设置各种功能来改善驾驶的安全性和舒适性,其中最常见的就是ASR(牵引力控制系统)和速度控制系统(巡航控制)。

 

   说本质上拉线油门就是用机械直接控制节气门工作而电子油门是先给电脑传输一个信号然后电脑再控制节气门工作。

拉线油门的优点是油门响应快但是不够省油电子油门反应稍显迟缓但能获得更好的节油效果。

   不管RAV4的加速踏板工作原理是哪一种(召回网编者注:

本次召回涉及的RAV4车辆采用的是电子油门),其中一个事实就是:

加速踏板在工作之后可能会无法回位,这就意味着驾驶员在操作过程中会出现一直加速的情况,这是存在着极大的安全隐患的,希望各位车主能尽快将自己的车辆按照召回的路径进行处理。

四、总体方案设计及流程图

设计的总体方案为对系统进行分块的设计,主要分为系统硬件的设计与系统软件的设计。

总体的设计思路是以飞思卡尔嵌入式系统做为控制器,用AW60将嵌入式系统的控制信号放大并送入单片机。

图1.1总体方案设计流程图

五、系统硬件方案设计

1、系统原理图

该系统由AW60最小系统电路为主要结构,利用A/D转换进行数据的采集与转换。

首先将踏板及位置传感器的信号端10接在AW60上的PTB1口上,用于加速踏板电压信号的采集,再将踏板及位置传感器的信号端11、12分别接在AW60的GND和5V电源的接口上。

然后将两个调试小灯模块中的LED0、LED1分别与AW60的PTE0,PTE1连接,用于控制小灯亮灭。

2.单片机(MCU)模块

2.1MC9S08AW60单片机性能概述

(1)最高达40MHz的CPU工作频率和20Hz的内部总线工作频率表;时钟源选项包括晶振、谐振器、外部时钟或内部产生的时钟。

(2)相比HC08CPU指令集,S08CPU增加了BGND指令。

(3)单线后台调试模式接口;增强的断点能力,允许单一的断点设置在线调试(在片内调试的模块增加了多于两个的断点)。

(4)内含32个中断/复位源;内含2KB的片内RAM;内含60KB的片内在线可编程Flash存储器,带有块保护和安全选项。

(5)可选的计算机正常操作(COP)复位;低电压检测和复位或中断;非法操作码检测与复位;非法地址检测与复位。

(6)ADC:

多达16个通道,10位A/D转换器与自动比较功能;两个串行通信接口SCI模块与可选的13位中断;一个串行外设接口SPI模块;集成电路互连总线I2C模块运作高达100kbps的最高总线负载;8引脚键盘中断KBI模块。

(7)Timers:

1个2通道和1个6通道16位定时器/脉冲宽度调制器模板。

具有输入、捕捉、输出比较、脉宽调制功能。

2.2内部结构简图

1.内部结构简图

如图所示,给出了AW60的内部结构图,它对于我们理解和应用AW60MCU有重要作用,在学习了基本有法后,应在反过来熟悉这个内部结构图,以便更好地理解AW60MCU的基本原理。

从内部结构图可以看出,AW60主要有以下几个部分:

S08CPU、存储器、定时器接口模块、定时器模块、看门狗模块、通用IO模块、串口通信模块(SCI)、串行外设接口(SPI)模块、I2C(IIC)模块、A/D转换模块、键盘中断模块、时钟发生模块、复位与中断模块等。

2.3A/D转换模块

A/D转换模块(AnalogToDigitalConvertModule)即模/数转换模块,其功能是将电压信号转换为相应的数字信号。

实验应用中,这个电压信号可能由温度、湿度、压力等实际物理量经过传感器和相应的变换电路转化而来。

经过A/D转换后,MCU就可以处理这些物理量。

1、结构

AW60芯片内部集成了一个8位/10位精度的逐次逼近式的A/D转换模块,最多可支持28路独立的模块输入(AD0~AD27),但在64引脚封装中,只引出16个通道供用户使用(AD0~AD15),这些通道与I/O引脚复用,另外,AD26通道连接了一个内置的温度传感器。

A/D转换编程主要设计配置寄存器ADC1CFG、状态和控制寄存器ADC1SC1~ADC1SC2、数据寄存器ADC1RH、ADC1RL

2、特性

AW60ADC的主要特性总结如下:

(1)具有10位分辨率的线性逐次逼近算法。

(2)高达28个模拟输入。

(3)10位或8位右对其输入格式。

(4)单词转换或连续转换(单次转换后自动返回空闲状态)。

(5)采样时间和转换速度/功率可配置。

(6)最多可选择4个输入时钟源。

(7)在等待或stop3模式下实现了低噪音运行。

(8)异步时钟源实现了低噪音运行。

(9)可选的异步硬件转换触发。

(10)于小于、大于或等于可编程值自动比较的中断。

(11)内置温度传感器与AD26通道相连。

3、功能描述

当复位或ADCH位全高时,ADC模块被关闭,当一个转换完成而另一个转换还未开始时,该模块是空闲的。

空闲时,模块处于最小功耗状态。

ADC可以通过软件选择如何一个通道进行模数转换。

选择的通道电压可以通过逐次渐进算法转换成11位数字结果。

在8位模式中,选择的通道电压可以被逐次渐进算法转换成9位数字结果。

当转换完成,结果放在数据寄存器中(ADC1RH和ADC1RL)。

在10位模式中,结果四舍五入成10位放在ADCRH和ADCRL中。

在8位模式中,结果四舍五入成8位放在ADCRL中。

转换完成标志置1,同时使能转换完成中断位(AIEN=1),则产生一个中断。

ADC模块能够自动比较转换结果和比较的内容。

通过设置ACFE位并结合任意一种转换模式和配置一起运行,就使能了比较功能。

2.4小灯显示模块

1、原理图

拓展版上提供了8盏指示灯,原理图如下图所示。

D-JK为16引脚(8对)插孔,供用户插入导线,将相应引脚与GPIO端口引脚相连。

D-R1为39欧姆的排电阻,D1~D8为指示灯,RQ1~RQ8为三极管,型号为9013.以第一个指示灯为例:

若D-JK的1或2脚为高电平,则三极管RQ1导通,D1指示灯点亮。

反之,若D-JK的1或2脚为低电平,则三极管RQ1截止,D1指示灯熄灭。

除电源和地线外,调试小灯模块与外界没有任何连线。

2、测试步骤

测试小灯模块不需要核心版。

按照次序焊接好原件后,接通12V电源,用导线的一端接+5V,另一端一次接插孔D-JK的1~16脚,观察1~8盏小灯是否能够点亮。

六、系统软件设计

软件设计包括主程序、LED显示程序及键盘处理程序、通用延时子程序、定时器中断服务子程序等。

程序框架图

图1.5程序框架图

将ADC模块设定为8位、单次转换、低耗、长采样工作方式。

ADC模块初始化后,ADC立即对通道1引脚(即PTB1引脚)电压进行采样、A/D转换。

一旦ADC启动,那么如何判断ADC转换结束,通常可以采用查询和中断两种方法,本设计采用查询的方法。

由于VREFH引脚接至5V且采用8位A/D,所以1LSB=(VREFH—VREFL)/2^n=5V/2^8=0.0195,3.5V监控点对应8位AD转换结果179(0B3H)。

5.1ADC模块初始化:

ADC1CH1_Init:

BSET1,APCTL1;禁止AD1引脚I/O控制

MOV#$B0,ADC1CFG;低耗,2分频,长采样,8位,选BUSCLK

MOV#$00,ADC1SC2;软件触发

MOV#$01,ADC1SC1;通道1,单次转换,禁止中断,启动转换

RTS

5.2小灯模块初始化:

IO_Init:

LDA#$FF

STAPTED

STAPTEDD;PTE端口设为输出,LED全灭

RTS

5.3总程序:

;Includederivative-specificdefinitions

INCLUDE'derivative.inc'

;

;exportsymbols

;

XDEF_Startup

ABSENTRY_Startup

;

;variable/datasection

;

ORGRAMStart;Insertyourdatadefinitionhere

ExampleVar:

DS.B1

ORG$0070

AD_Result:

DS1;保存8位ADC转换结果

 

;codesection

;

ORGROMStart

_Startup:

LDHX#RAMEnd+1;initializethestackpointer

TXS

CLI;enableinterrupts

 

mainLoop:

CLRA

STASOPT;禁止看门狗

MOV#$0000,AD_Result

JSRIO_Init

JSRADC1CH1_Init;初始化ADC,启动对ADCH1引脚答案AD转换

Again:

BRCLR7,ADC1SC1,*;查询AD结束标志COCO,判断转换是否结束

LDAADC1RL;读ADC1RL,同时也清零COCO

STAAD_Result;保存结果

CMP#$0B3;和3.5V进行比较

BHSLED_ON

MOV#$FF,PTED;小于则全灭

MOV#$01,ADC1SC1;对通道1启动下一个单次转换

BRAAgain

LED_ON:

MOV#$00,PTED;大于等于则全亮

MOV#$01,ADC1SC1;对通道1启动下一次单次转换

BRAAgain

feed_watchdog

BRAmainLoop

;Insertyourcodehere

ADC1CH1_Init:

BSET1,APCTL1;禁止AD1引脚I/O控制

MOV#$B0,ADC1CFG;低耗,2分频,长采样,8位,选BUSCLK

MOV#$00,ADC1SC2;软件触发

MOV#$01,ADC1SC1;通道1,单次转换,禁止中断,启动转换

RTS

 

IO_Init:

LDA#$FF

STAPTED

STAPTEDD;PTE端口设为输出,LED全灭

RTS

 

;**************************************************************

;*spurious-SpuriousInterruptServiceRoutine.*

;*(unwantedinterrupt)*

;**************************************************************

spurious:

;placedheresothatsecurityvalue

NOP;doesnotchangeallthetime.

RTI

;**************************************************************

;*InterruptVectors*

;**************************************************************

ORG$FFFA

DC.Wspurious;

DC.Wspurious;SWI

DC.W_Startup;Reset

 

调试界面,截图:

七﹑课程设计结论及总结

通过两周的嵌入式课程设计,我发现了自己的很多不足之处。

学过的知识不能灵活运用,而且实践经验比较缺乏,理论联系实际的能力还有待提高。

在这次课程设计中,我们的课题是加速踏板位置传感器信号采集,按理说通过一学期的单片机课程学习我们应该很快能够把程序写出来才是,但是当我们把理论的知识和现实的硬件设施联系起来时,就出现了许多纰漏。

例如在选用控制电机的接口时会产生复用问题;在设置键盘控制时,出现键的误判,抖动,重键以及失效的问题;在设置程序时,出现无法显示的问题等等。

通过本次课程设计,让我收获到了很多,也让我积累了一些经验。

在本次的设计中我第一次真正发心思去做一件事,很感谢我的同伴给了我巨大的帮助。

虽然,每次我们遇到的困难都是一些小细节的东西。

但是,正是因为这些细微的方面成了我们跨向成功巨大地瓶颈,让我真切体会到何谓细节决定成败。

其实,很多事情就是这样。

看似简单,但是当自己钻入进去时,就会发现很多毫不起眼的东西往往会给人带来巨大的压力。

换言之,我们学习做事也是一样。

既要从大处着手,把握全局,同时认真处理好细节的东西才能真正地把一件事做的更好。

通过本次的课程设计让我能够更好地补缺补漏,学习去把所学的知识与实际联系起来。

同时,也感受到了微型控制器强大的功能,让我萌生了不少兴趣。

通过这种构件化的编程设计思想,让我对编程的理念有了更深一层的理解。

当然,我的这些收获离不开老师的悉心教诲,故在此向指导我们的宋老师,冯老师报以深深地敬意和感谢。

 

文林哲

汽电1001

2013.07.03

 

经过了为期两周汽车嵌入式系统综合开发试验台与飞思卡尔08单片机课程设计,一开始我对飞思卡尔知识先回顾了一下,人啊背后研究了一下其他人的相关的飞思卡尔单片机设计。

于是对与飞思卡尔的单片机系统有了一定的了解。

由于之前就做过几次的实验和相关的学习,而且以前也上过C语言的课程。

所以这次的课程设计,思路很清晰。

本次的课程设计以单片机为核心部件,实现一个模拟量采集应用,进行AD转换的硬件设计,检测精度为百分置零点五,踏板开度采用显示小灯指示,小灯全为百分之百,全灭为百分置零。

在原有LCD液晶程序和计数器程序修改的基础上,经过几次修改和整理,在结束之前还是完成了此次的设计。

LCD上能够显示计数。

这次的课程设计不一样。

由于是在原有程序的基础上修改整合,需要对原有的程序进行一个整体的了解和深入。

这对与实际的开发很有帮助。

能够深入了解飞思卡尔的设计思路。

拓展我们的思路。

课程设计的内容虽然没有什么太大的实际意义。

但是,我们能够了解到实际开发的一些步骤和思路。

对于以后的工作也很有帮助的吧。

每一次的课程设计,都是一次学习,都是一次进步。

对于此次课程设计,我们只是做了一些简单的工作。

虽然有研究过飞思卡尔的单片机程序,但是毕竟自己的知识能力有限。

不可能在短短的一周半时间太过于深入。

这一周半的时间,了解了单片机的很多东西吧。

对自己的要求是,要多动手,自己动手写代码学习的才更快。

对于编程,看别人的百遍不及自己动手写一遍。

如果可能,希望完全自己动手设计一个计数器的程序。

当然,我的这些收获离不开老师的悉心教诲,故在此向指导我们的宋老师,冯老师报以深深地敬意和感谢。

 

杨启瑞

汽电1001

2013.07.03

 

八﹑附录

1.飞思卡尔嵌入式系统及硬件接线

2.参考文献

【1】王宜怀、张书奎、王林等著,嵌入式技术基础与实践,清华大学出版社

【2】谭浩强著,C语言程序设计(第四版),北京:

清华大学出版社

【3】顾波著,单片机技术基础及应用,中国电力出版社

【4】谢晖著,单片机原理及应用,化学工业出版社

【5】张跃常、戴卫恒著,Freescale系列单片机常有模块与综合系统设计实例精讲,电子工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1