




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LOGO第第15章章实践运用系统设计实例 目录目录运用系统概要运用系统概要 1硬件设计硬件设计 2软件设计3本章以除尘间自动控制系统为例,讲述小本章以除尘间自动控制系统为例,讲述小型嵌入式系统的需求分析、硬件设计及软型嵌入式系统的需求分析、硬件设计及软件设计过程,综合运用了前面讲到的根本件设计过程,综合运用了前面讲到的根本模块,最后讲述了有关模块,最后讲述了有关MCU配置模块的运配置模块的运用方法。用方法。在本章的学习过程中,读者需求仔细领会在本章的学习过程中,读者需求仔细领会基于软硬件结合的嵌入式系统的设计过程、基于软硬件结合的嵌入式系统的设计过程、设计方法及应留意的事项等。设计方法及应留意
2、的事项等。15.1 运用系统概要15.1.1 运用系统概要运用系统概要 首先分析一个除尘间自动控制系统的首先分析一个除尘间自动控制系统的根本功能。除尘间主要用于对要进入消费根本功能。除尘间主要用于对要进入消费车间的人或物体进展除尘,以坚持消费车车间的人或物体进展除尘,以坚持消费车间的干净要求,在一切间的干净要求,在一切IC消费车间进口处消费车间进口处均有除尘间。其流程大致如下:当除尘间均有除尘间。其流程大致如下:当除尘间的前门处于封锁形状,且除尘间的红外探的前门处于封锁形状,且除尘间的红外探头探测到有人进入时,系统开启除尘风扇,头探测到有人进入时,系统开启除尘风扇,数码管显示除尘时间数码管显示
3、除尘时间(倒计时倒计时),时间到达后,时间到达后,封锁除尘机构。封锁除尘机构。15.1 运用系统概要电源键人进入任务间除尘间应急键前门指示灯红外传感器前门后门风机加热管照明灯应急键后门指示灯前门锁后门锁控制面板规划见图15.2图15-1 除尘间自动控制系统布局图图图15-1和图和图15-2展现了该除尘系统的总体规划,展现了该除尘系统的总体规划,比较明晰的模拟了除尘间的现场概貌。比较明晰的模拟了除尘间的现场概貌。15.1 运用系统概要运用系统概要电源键风机键照明键指示灯 指示灯 指示灯减少键加热键添加键指示灯图图15-2 15-2 除尘间内部控制面板规划图除尘间内部控制面板规划图 15.1 运用
4、系统概要运用系统概要15.1.2 运用系统需求分析运用系统需求分析 本系统可以设定可以自动启动的任务本系统可以设定可以自动启动的任务时间段,例如可以设定上午的时间段,例如可以设定上午的8点到下午的点到下午的6点这段时间内系统是自动启动的。而在该点这段时间内系统是自动启动的。而在该段时间以外,那么是利用按键来手动启动段时间以外,那么是利用按键来手动启动除尘功能。自动启动的流程较为复杂并繁除尘功能。自动启动的流程较为复杂并繁琐,必需列举一切能够发生的情况,一旦琐,必需列举一切能够发生的情况,一旦思索不周,投入运转的系统就有能够面临思索不周,投入运转的系统就有能够面临解体的危险。解体的危险。 15.
5、1 运用系统概要运用系统概要15.1.3 运用系统设计分析运用系统设计分析 在进展详细的硬件设计之前,首先必在进展详细的硬件设计之前,首先必需弄清楚整个系统的输入输出路数,只需需弄清楚整个系统的输入输出路数,只需保证这一步骤的正确性才干尽量防止设计保证这一步骤的正确性才干尽量防止设计硬件电路出现的错误。经过分析除尘间自硬件电路出现的错误。经过分析除尘间自动控制系统的实践运用情况,图动控制系统的实践运用情况,图15-3给出给出了系统的输入输出分析。了系统的输入输出分析。15.1 运用系统概要运用系统概要MCU前后门的前后门的反响信号反响信号2时钟芯片时钟芯片2红外传感器红外传感器12V按键信号按
6、键信号(7)3*3三段数码管三段数码管指示灯指示灯3加热管加热管DA(PWM)直控电源直控电源语音模块语音模块继电器继电器风机风机光电隔离光电隔离继电器继电器照明灯照明灯光电隔离光电隔离继电器继电器前后门锁前后门锁2光电隔离光电隔离图图15-3 除尘间自动控制系统框图除尘间自动控制系统框图 15.2 硬件设计15.2.1 芯片选型 嵌入式处置器的选择应遵照以下几个参数:1处置器类型2片上集成的存储器情况3片上集成的I/O接口种类和数量4任务温度5操作系统的支持、开发工具的支持等6功耗特性 除了需求遵照以上参数外,还需主要的是不要把一切的I/O口用满,应适当预留几个输入和输出口,以便扩展需求。经
7、过分析本系统的输入量和输出量,计算得出所需I/O口的个数:大约29个,因此决议采用42引脚的MC908GP32(以下简称GP32)。15.2 硬件设计15.2.2 设计框图图图15-4 除尘间控制器硬件设计框图除尘间控制器硬件设计框图 15.2 硬件设计15.2.3 MCU引脚汇总列表 这一部分就主控芯片GP32的I/O口分配情况和各个硬件模块的设计进展简要的概述。在这一板中采用的42Pin的GP32的通用I/O口有PTA0PTA7、PTB0PTB7、PTC0PTC3、PTD0,PTD2PTD7、PTE0PTE1,一共29个。 15.2 硬件设计15.2.3 MCU引脚汇总列表15.2 硬件设
8、计15.2.3 MCU引脚汇总列表15.2 硬件设计15.2.4 各模块硬件分析与设计1时钟模块 时钟模块所采用的时钟芯片PCF8563,它是一种低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检检测器,一切的地址和数据经过I2C总线接口串行传送最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址存放器会自动产生增量。15.2 硬件设计OSCI1脚:振荡器输入OSCO2脚:振荡器输出;INT3脚:中断输出(开漏;低电平有效);VSS4脚:接地;SDA5脚:串行数据I/O;SCL6脚:串行时钟输入;CLKOUT7脚:时钟输出(开漏);VDD8脚:正电源
9、。 时钟模块在本系统的接法见15-61 82 73 64 5OSCIOSCOINTVSSVDDCLKOUTSCLSDA图图15-5 PCF8563的管脚图的管脚图图图15-6 时钟芯片时钟芯片PCF8563的外部电路的外部电路 15.2 硬件设计2键盘数据录入模块 该模块实现按键的定位以及数据的输入。由于本系统需求7个按键,因此这里运用33的键盘,所用的I/O口为PTA0PTA2和PTD4PTD6。其中PTA0PTA2与键盘的列线相连,作为中断输入脚;其中PTD4PTD6与键盘的行线相连,编程时将PTA4PTA6定义为输出。 键盘模块在本系统的接法见15-715.2 硬件设计留意:留意:KB.
10、Col1、KB.Col2、KB.Col3具有内部上拉。具有内部上拉。 图图15-7 键盘模块电路键盘模块电路 15.2 硬件设计3数码管模块 为了节约I/O口,在数码管模块中外加了一个8位串转并芯片74HC164。该款芯片实践上是串行输入转为8位并行输出的移位存放器,它含有两个串行数据输入口:A1和A2,当其中一个输入口作为串行数据输入时,另一输入口那么被用作数据输入允许位。 15.2 硬件设计A1、A2(1、2脚):串行数据输入QAQH(36,1013脚):8位并行数据输出CLK(8脚):时钟输入(9脚):清零GND(7脚):地VCC(14脚):正电源端,普通接5V数码管模块在本系统的接法见
11、数码管模块在本系统的接法见15-915-9A1A2QAQBQCQDGND1 142 133 124 115 106 97 8VCCQHQGQFQECLK图图15-8 74HC164的管脚图的管脚图图图15-9 数码管模块的电路数码管模块的电路 15.2 硬件设计4光电隔离控制模块 光电隔离电路的作用是在电隔离的情况下,以光为媒介传送信号,对输入和输出电路可以进展隔离,因此能有效地抑制系统噪声,消除接地回路的干扰。光电隔离的原理其实很简单,是把发光器件(如发光二极管)和光敏器件(如光敏三极管)组装在一同,经过光线实现隔离构成电光和光电的转换器件。 在本系统中为了维护主控芯片,在主控芯片和继电器之
12、间添加了光电隔离芯片4N25,其管脚图如图15-7所示。4N25的任务原理如图15-8所示。发光二极管导通,光敏三极管集电极和发射极导通;发光二极管截止,光敏三极管集电极和发射极也截止。其中发光二极管的驱动电流最大为80mA,光敏三极管的集电极最大能接受100mA的电流。15.2 硬件设计121 62 53 4阳极阴极N.C基极集电极发射极图15-7 4N25的管脚图 图15-8 4N25的任务原理图 15.2 硬件设计 光电隔离模块在本系统的接法见图15-12 由于本系统采用的是5VDC继电器,它的内阻是72.5欧姆,经过实验发现4N25不能直接驱动该继电器,因此必需接一个三极管进展放大。
13、现以风机为例,详细阐明MCU的I/O口控制风机启动或停顿的全部过程。15.2 硬件设计MCU-Fan.CtrlIn=1-U6.Out=1-U6Q1.B=1-U6Q1导通导通-JDQ2线圈得电线圈得电-JDQ2.常开触点闭合常开触点闭合-风扇启动。风扇启动。MCU-Fan.CtrlIn=0-U6.Out=0-U6Q1.B=0-U6Q1截止截止-JDQ2线圈失电线圈失电-JDQ2.常闭触点闭合常闭触点闭合-风扇停顿。风扇停顿。 图图15-12 光电隔离模块的电路光电隔离模块的电路 15.3 软件设计15.3.1 编写硬件驱动程序留意点编写硬件驱动程序留意点硬件驱动程序的文件数量硬件驱动程序的文件数
14、量(.h,.c)应该与划分的应该与划分的硬件模块个数一致,一个硬件模块对应一个硬件模块个数一致,一个硬件模块对应一个H文文件和一个件和一个C文件。文件。一个一个C文件中可以包含假设干个函数,一切对文件中可以包含假设干个函数,一切对外函数必需在外函数必需在H文件中声明,仅在该文件内部调文件中声明,仅在该文件内部调用的函数就在该文件中声明与实现。用的函数就在该文件中声明与实现。一个与硬件相关的一个与硬件相关的C文件,头部是阐明该文件文件,头部是阐明该文件对外的函数,可以对外的函数按照头部阐明的顺对外的函数,可以对外的函数按照头部阐明的顺序放在最前面,每个函数头的阐明要有足够的运序放在最前面,每个函
15、数头的阐明要有足够的运用信息。用信息。汇编中,原那么上先用汇编中,原那么上先用A,HX作为函数入口,作为函数入口,不够用再思索用不够用再思索用HX指向内存地址。指向内存地址。C中,一切子中,一切子程序不得用全局变量作为出口。程序不得用全局变量作为出口。当对划分好的模块编写硬件驱动程序时,要切当对划分好的模块编写硬件驱动程序时,要切记不能干涉该模块未用到的引脚。记不能干涉该模块未用到的引脚。15.3 软件设计15.3.2 各模块头文件15.3 软件设计15.3 软件设计15.3 软件设计15.3.3 各模块子程序的前导注释各模块子程序的前导注释1键盘模块键盘模块 (1) 键盘初始化键盘初始化 /
16、* KB_Init:键盘初始化键盘初始化-* *功功 能能:初始化键盘中断的引脚,但未放初始化键盘中断的引脚,但未放开键盘中断开键盘中断 * *参参 数数:无无 * *返返 回回:无无 * *-*/ void KB_Init(void) /键盘初始化键盘初始化2扫描键盘读取键值扫描键盘读取键值 15.3 软件设计 /* KB_Scan:扫描读取键值函数-* *功 能:扫描2*3键盘上的按键,读取键值前往,假设无按键前往0 xff * * *参 数:无 * *返 回:键值,假设无按键前往0 xff * *-*/ INT8U KB_Scan(void) /扫描读取键值3键值转换为定义值 /* KB
17、_Def:键值转为定义值-* *功 能:键值转化为定义值 * *参 数:KBKey键值 * *返 回:键定义值(前往0 xff,表示无此定义值) * *-*/ INT8U KB_Def(INT8U KBKey) /键值转化为定义值15.3 软件设计2时钟模块 1读取时间日期 /*ReadTime1:读取秒分时-* *功 能:读取秒分时3个字节的数据放到缓冲区中 * *参 数:t-存放秒分时数据缓冲区 * *返 回:0-胜利 1-失败 * *-*/ INT8U ReadTime1(INT8U *t) /读取秒分时 2设置时间日期 /*SetTime1:设置秒分时-* *功 能:将缓冲区中秒分时3
18、个字节写到时钟芯片中 * *参 数:t-存放秒分时数据缓冲区 * *返 回:0-胜利 1-失败 * *-*/ INT8U SetTime1(INT8U *t) /设置秒分时15.3 软件设计3数码管模块数码管模块1数码管初始化数码管初始化 /*LEDInit:数码管初始化数码管初始化-* *功能功能: 数码管初始化数码管初始化 * *参数参数:无无 * *前往前往:无无 * *-*/ void LEDInit(); /数码管初始化数码管初始化2数码管显示数码管显示 /*LEDshow1:在一个在一个LED上显示数字上显示数字-* *功功 能能:在第在第LEDno个个LED上显示数字上显示数字
19、* *参参 数数:LEDno(0-2)-数码管编号数码管编号 num(0-19)-要要显示的数字显示的数字(本处转码本处转码)* *返返 回回:无无 * *说说 明明:显示数字显示数字0-9,直接输入直接输入0-9;显示字符显示字符0.-9.,输入输入1019 * *-*/ void LEDshow1(INT8U LEDno,INT8U num) /在一个在一个LED上显示数字上显示数字15.3 软件设计4开关量输入输出模块开关量输入输出模块 1开关量输入初始化开关量输入初始化 /* SwitchInput_Init:开关量输入初始化开关量输入初始化-* *功功 能能:初始化两个需求中断的开关
20、量输入,初始化两个需求中断的开关量输入,但中断并不开放但中断并不开放 * *参参 数数: 无无 * *返返 回回: 无无 * *-*/2开关量输入初始化开关量输入初始化 /* SwitchInput_Read:读取读取3路开关量输入的路开关量输入的形状形状-* *功功 能能:读取开关量输入口存入内存中读取开关量输入口存入内存中 * *参参 数数:SWInputFlag-开关量输入形状字节的开关量输入形状字节的地址地址 * *返返 回回:开关量输入形状字节开关量输入形状字节 * *说说 明明:*SWInputFlag:0bxxxxxddd * * |_前门输入形状位前门输入形状位:1-前前门封锁
21、门封锁;0-前门翻开前门翻开 * * |_后门输入形状位后门输入形状位:1-后后门封锁门封锁;0-后门翻开后门翻开 * * |_红外输入形状位红外输入形状位:1-无人经过无人经过;0-有人经过有人经过 * *-*/15.3 软件设计3初始化初始化8路开关量输出路开关量输出 /*SwitchOutput_Init:初始化初始化8路开关量输出路开关量输出-* *功功 能能: 初始化初始化8路开关量输出路开关量输出,令控制的部件处于令控制的部件处于封锁形状封锁形状 * *参参 数数: 无无 * *返返 回回: 无无 * *-*/ void SwitchOutput_Init()48路开关量输出路开关量输出 /*SwitchOutput_Do:8路开关量输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论