汽车电控系统飞思卡尔08课程设计报告.docx
《汽车电控系统飞思卡尔08课程设计报告.docx》由会员分享,可在线阅读,更多相关《汽车电控系统飞思卡尔08课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
汽车电控系统飞思卡尔08课程设计报告
《汽车电控系统》
课程设计报告
同组学生姓名(学号):
班级:
任务分工:
设计时间:
指导教师:
目录
第一章系统概要3
1.1系统背景3
第二章系统硬件设计4
2.1系统原理图4
2.2单片机(MCU)模块5
2.2.1MC9S08AW60单片机性能概述5
2.2.2内部结构简图6
2.3A/D转换模块6
2.3.1结构7
2.3.2特性……………………7
2.3.3功能描述……………………………………………………………………………………...8
2.4小灯显示模块9
2.4.1原理图………………………………………………………………………………………...9
2.4.2测试步骤…………………………………………………………………………………….10
第三章系统软件设计10
3.1流程图10
3.2ADC模块初始化程序11
3.3小灯模块初始化程序11
3.4总程序…………………………………………………………………………………………11
第四章系统测试17
第五章总结展望19
5.1个人总结19
参考文献21
第一章系统概要
1.1系统背景
单片机(MCU)的基本定义是:
在一块芯片上集成了中央处理器(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。
单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。
Freescale的S08系列8位MCU由于稳定性高、开发周期短、成本低、型号多样、兼容性好被广泛应用。
HC08是Freescale的08系列之一S08表示增强型HC08,它是在HC08基础上发展起来的,兼容HC08系列。
S08是2004年左右推出8位MCU,资源丰富,功耗低,性价比很高,是08系列MCU发展趋势,其性能与许多16位MCU相当。
MC9S08AW60是低成本、高性能8位微处理器S08家族中的成员,本次课程设计就是以该芯片为基础,来进行嵌入式的设计。
1.2系统功能
要对汽车嵌入式系统综合开发试验台上加速踏板的电压进行控制,利用万用表测量可知其电压变化范围是2.8V~4.2V,按下加速踏板,控制当电压值小于3.5V时,两个LED都灭,当电压值大于等于3.5V时,两个LED都亮。
第二章系统硬件设计
2.1系统原理图
该系统由AW60最小系统电路为主要结构,利用A/D转换进行数据的采集与转换。
首先将踏板及位置传感器的信号端10接在AW60上的PTB1口上,用于加速踏板电压信号的采集,再将踏板及位置传感器的信号端11、12分别接在AW60的GND和5V电源的接口上。
然后将两个调试小灯模块中的LED0、LED1分别与AW60的PTE0,PTE1连接,用于控制小灯亮灭。
2.2单片机(MCU)模块
2.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.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盏小灯是否能够点亮。
第三章系统软件设计
将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)。
3.1流程图:
3.2ADC模块初始化:
ADC1CH1_Init:
BSET1,APCTL1;禁止AD1引脚I/O控制
MOV#$B0,ADC1CFG;低耗,2分频,长采样,8位,选BUSCLK
MOV#$00,ADC1SC2;软件触发
MOV#$01,ADC1SC1;通道1,单次转换,禁止中断,启动转换
RTS
3.3小灯模块初始化:
IO_Init:
LDA#$FF
STAPTED
STAPTEDD;PTE端口设为输出,LED全灭
RTS
3.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
第四章系统测试
调试界面截图。
个人总结
通过这两周的课程设计,我对这学期单片机的知识进行了一个整体性的归纳整理,初步形成了一个单片机的只是框架,并在老师很好的教学方法下学到了很多知识,并根据老师别具一格的教学方式了解到了单片机学习的方法,那就是要软件和硬件相结合。
为我以后对单片机知识的进一步了解打下了一个坚实的基础,可以说是受益匪浅的。
另外,我还从此次课程设计的过程中学到了很多老师课堂上不能学到的东西,而且是对我自身有很大提高的东西,那就是独立处理和解决问题的能力。
作为一个从小就习惯了应试教育的学生,我早就习惯了老师灌输式的学习方式,老师说什么就是什么,老师教什么我就学什么,逐渐的丧失了自主学习的能力和独立解决问题的能力,然而,这次课程设计,老师只是给了我们一个课题,没有具体的步骤和内容,一切都得靠同学们自主研究和解决,一开始大家都很不习惯。
但是随着时间的流逝,同学们慢慢找到了入手点,通过上网查资料,去图书馆翻阅资料,请教老师以及同学之间的相互讨论和研究,我们最终完成了课程设计的部分内容,虽然没能完全成功,而且过程也很是艰辛,但是我收获确实很多,不但了解了汽车嵌入式系统综合开发试验台加速踏板位置传感器的工作原理,而且能够用A/D转换器对其信号进行采集和处理,最后通过08单片机的LED模块对其信号的变化进行反映,可以说是收获良多。
个人总结
通过此次两周的课程设计,我对飞思卡尔08单片机系统以及汽车嵌入式系统综合开发试验台的原理、工作机制以及开发坏境都有了一定的了解,并通过请教老师和查找资料对飞思卡尔08单片机的开发软件编程机制有了一定的了解,能够进行简单的编程,并实现一些简单的控制功能,可谓是受益匪浅的。
虽然在两周的课程设计期间我遇到了很多困难,但是通过自身的努力和老师的指点,我一点一点将他们克服了,我想这也是对我个人而言的一种很大的提高,另外,我觉得此次课程设计让我收获最大的一点还是一种独立解决问题和思考问题的能力。
一直以来我都是习惯了在老师的指导下去完成任务式的学习,很少有过自主学习或是独立决绝问题的经历,这次课程设计就给了我这样一个机会,让我能够形成自己独特的决绝问题的思维和方法,对我以后的学习和生活我想都是有很大的提高的。
虽然我们组最终只实现了用两个LED显示加速踏板信号的变化,而不是八个LED的闪烁,但是我仍然收获很多,更重要的是我学会了自己上网查找资料,去图书馆翻阅资料以及和同学相互交流讨论来解决问题的方法,这将会是我一生受益的不可多得的经验。
参考文献:
《嵌入式技术基础与实践实验指导》(第二版)曹金华王宜怀沈安东著清华大学出版社
《嵌入式技术技术与实践》(第二版)
王宜怀吴瑾张书奎著清华大学出版社
《单片机技术与原理》杨明著化工电子出版社