MCS单片机应系统研发设计方案文档格式.docx
- 文档编号:8682262
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:32
- 大小:381.86KB
MCS单片机应系统研发设计方案文档格式.docx
《MCS单片机应系统研发设计方案文档格式.docx》由会员分享,可在线阅读,更多相关《MCS单片机应系统研发设计方案文档格式.docx(32页珍藏版)》请在冰点文库上搜索。
(4)从系统可靠性需求确定系统设计工艺。
包括去耦、光隔、屏蔽、印制板、低功耗、散热、传输距离/速度、节电方式、掉电保护、软件措施等。
7.2.2硬件设计
由总体设计所给出的硬件框图所规定的硬件功能,在确定单片机类型的基础上进行硬件设计、实验。
进行必要的工艺结构设计,制作出印刷电路板,组装后即完成了硬件设计。
一个单片机应用系统的硬件设计包含系统扩展和系统的配置(按照系统功能要求配置外围设备)两部分。
1.硬件电路设计的一般原则
(1)采用新技术,注意通用性,选择典型电路。
(2)向片上系统(SOC)方向发展。
扩展接口尽可能采用PSD等器件。
(3)注重标准化、模块化。
(4)满足应用系统的功能要求,并留有适当余地,以便进行二次开发。
(5)工艺设计时要考虑安装、调试、维修的方便。
2.硬件电路各模块设计的原则
单片机应用系统的一般结构如下图所示。
各模块电路设计时应考虑以下几个方面:
(1)存储器扩展:
类型、容量、速度和接口,尽量减少芯片的数量。
(2)I/O接口的扩展:
体积、价格、负载能力、功能,合适的地址译码方法。
(3)输入通道的设计:
开关量(接口形式、电压等级、隔离方式、扩展接口等),模拟输入通道(信号检测、信号传输、隔离、信号处理、A/D、扩展接口、速度、精度和价格等)。
(4)输出通道的设计:
开关量(功率、控制方式等),模拟量输出通道(输出信号的形式、D/A、隔离方式、扩展接口等)
(5)人机界面的设计:
键盘、开关、拨码盘、启/停操作、复位、显示器、打印、指示、报警、扩展接口等。
(6)通信电路的设计:
根据需要选择RS-232C、RS-485、红外收发等通信标准。
(7)印刷电路板的设计与制作:
专业设计软件(Protel,OrCAD等)、设计、专业化制作厂家、安装元件、调试等。
(8)负载容限:
总线驱动。
(9)信号逻辑电平兼容性:
电平兼容和转换。
(10)电源系统的配置:
电源的组数、输出功率、抗干扰。
(11)抗干扰的实施:
芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。
7.2.3软件设计
软件设计流程图如下图所示。
可分为以下几个方面。
1.总体规划
结合硬件结构,明确软件任务,确定具体实施的方法,合理分配资源。
定义输入/输出、确定信息交换的方式(数据速率、数据格式、校验方法、状态信号等)、时间要求,检查与纠正错误。
2.程序设计技术
软件结构实现结构化,各功能程序实行模块化、子程序化。
一般有以下两种设计方法:
(1)模块程序设计:
优点是单个功能明确的程序模块的设计和调试比较方便,容易完成,一个模块可以为多个程序所共享。
其缺点是各个模块的连接有时有一定难度。
(2)自顶向下的程序设计:
优点是比较符合于人们的日常思维,设计、调试和连接同时按一个线索进行,程序错误可以较早的发现。
缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。
3.程序设计
(1)建立数学模型:
描述出各输入变量和各输出变量之间的数学关系。
(2)绘制程序流程图:
以简明直观的方式对任务进行描述。
(3)程序的编制:
选择语数据结构、控制算法、存储空间分配,系统硬件资源的合理分配与使用,子程序的入/出口参数的设置与传递。
4.软件装配
各程序模块编辑之后,需进行汇编或编译、调试,当满足设计要求后,将各程序模块按照软件结构设计的要求连接起来,即为软件装配。
在软件装配时,应注意软件接口。
7.2.4可靠性设计
可靠性:
通常是指在规定的条件(环境条件如温度、湿度、振动,供电条件等)下,在规定的时间内(平均无故障时间)完成规定功能的能力。
提高单片机本身的可靠性措施:
降低外时钟频率,采用时钟监测电路与看门狗技术、低电压复位、EFT抗干扰技术、指令设计上的软件抗干扰等几方面。
单片机应用系统的主要干扰渠道:
空间干扰、过程通道干扰、供电系统干扰。
应用于工业生产过程中的单片机应用系统中,应重点防止供电系统与过程通道的干扰。
1.供电系统干扰与抑制
干扰源:
电源及输电线路的内阻、分布电容和电感等。
抗干扰措施:
采用交流稳压器、电源低通滤波器、带屏蔽层的隔离变压器、独立的(或专业的)直流稳压模块,交流引线应尽量短,主要集成芯片的电源采用去耦电路,增大输入/输出滤波电容等措施。
2.过程通道的干扰与抑制
长线传输。
单片机应用系统中,从现场信号输出的开关信号或从传感器输出的微弱模拟信号,经传输线送入单片机,信号在传输线上传输时,会产生延时、畸变、衰减及通道干扰。
(1)采用隔离技术:
光电隔离、变压器隔离、继电器隔离和布线隔离等。
典型的信号隔离是光电隔离。
其优点是能有效地抑制尖峰脉冲及各种噪声干扰,从而使过程通道上的信噪比大大提高。
(2)采用屏蔽措施:
金属盒罩、金属网状屏蔽线。
但金属屏蔽本身必须接真正的地(保护地)。
(3)采用双绞线传输:
双绞线能使各个小环路的电磁感应干抗相互抵消。
其特点是波阻抗高、抗共模噪声能力强,但频带较差。
(4)采用长线传输的阻抗匹配:
有四种形式,如下图所示。
①终端并联阻抗匹配:
如上页图(a)所示,RP=R1//R2,其特点是终端阻值低,降低了高电平的抗干扰能力。
②始端串联匹配:
如上页图(b)所示,匹配电阻R的取值为RP与A门输出低电平的输出阻抗ROUT(约20Ω)之差值,其特点是终端的低电平抬高,降低了低电平的抗干扰能力。
③终端并联隔直流匹配:
如图上页(c)所示,R=Rp,其特点是增加了对高电平的抗干扰能力。
④终端接钳位二极管匹配:
如图上页(d)所示,利用二极管D把B门输入端低电平钳位在0.3V以下。
其特点是减少波的反射和振荡,提高动态抗干扰能力。
注意:
长线传输时,用电流传输代替电压传输,可获得较好的抗干扰能力。
3.其他硬件抗干扰措施
(1)对信号整形
可采用斯密特电路整形。
(2)组件空闲输入端的处理
组件空闲输入端的处理方法如下图所示。
其中,图(a)所示的方法最简单,但增加了前级门的负担。
图(b)所示的方法适用于慢速、多干扰的场合。
图(c)利用印刷电路板上多余的反相器,让其输入端接地,使其输出去控制工作门不用的输入端。
(3)机械触点,接触器、可控硅的噪声抑制
①开关、按钮、继电器触点等在操作时应采取去抖处理。
②在输入/输出通道中使用接触器、继电器时,应在线圈两端并接噪声抑制器,继电器线圈处要加装放电二极管。
③可控硅两端并接RC抑制电路,可减小可控硅产生的噪声。
(4)印刷电路板(PCB)设计中的抗干扰问题
合理选择PCB板的层数,大小要适中,布局、分区应合理,把相互有关的元件尽量放得靠近一些。
印刷导线的布设应尽量短而宽,尽量减少回路环的面积,以降低感应噪声。
导线的布局应当是均匀的、分开的平行直线,以得到一条具有均匀波阻抗的传输通路。
应尽可能地减少过孔的数量。
在PCB板的各个关键部位应配置去耦电容。
要将强、弱电路严格分开,尽量不要把它们设计在一块印刷电路板上。
电源线的走向应尽量与数据传递方向一致,电源线、地线应尽量加粗,以减小阻抗。
(5)地线设计
地线结构大致有保护地、系统地、机壳地(屏蔽地)、数字地、模拟地等。
在设计时,数字地和模拟地要分开,分别与电源端地线相连;
屏蔽线根据工作频率可采用单点接地或多点接地;
保护地的接地是指接大地。
不能把接地线与动力线的零线混淆。
此外,应提高元器件的可靠性,注意各电路之间的电平匹配,总线驱动能力要符合要求,单片机的空闲端要接地或接电源,或者定义成输出。
室外使用的单片机系统或从室外架空引入室内的电源线、信号线,要防止雷击,常用的防雷击器件有:
气体放电管,TVS(瞬态电压抑制器)等。
4.软件的抗干扰设计
常用的软件抗干扰技术有软件陷阱、时间冗余、指令冗余、空间冗余、容错技术、设置特征标志和软件数字滤波等。
(1)实时数据采集系统的软件抗干扰
采用软件数字滤波。
常用的方法有以下几种:
①算术平均值法:
对一点数据连续采样多次(可取3~5次),以平均值作为该点的采样结果。
这种方法可以减少系统的随机干扰对采集结果的影响。
②比较舍取法:
对每个采样点连续采样几次,根据所采样数据的变化规律,确定取舍办法来剔除偏差数据。
例如,“采三取二”,即对每个采样点连续采样三次,取两次相同数据作为采样结果。
③中值法:
对一个采样点连续采集多个信号,并对这些采样值进行比较,取中值作为该点的采样结果。
④一阶递推数字滤波法:
利用软件完成RC低通滤波器的算法。
其公式为:
Yn=QXn+(1-Q)Yn-1
其中:
Q——数字滤波器时间常数;
Xn——第n次采样时的滤波器的输入;
Yn-1——第n-1次采样时的滤波器的输出。
Yn——第n次采样时的滤波器的输出。
选取何种方法必须根据信号的变化规律予以确定。
(2)开关量控制系统的软件抗干扰
可采取软件冗余、设置当前输出状态寄存单元、设置自检程序等软件抗干扰措施。
5.程序运行失常的软件对策
程序运行失常:
当系统受到干扰侵害,致使程序计数器PC值改变,造成程序的无序运行,甚至进入死循环。
程序运行失常的软件对策:
发现失常状态后,及时引导系统恢复原始状态。
可采用以下方法:
(1)程序监视定时器(Watchdag,WDT)技术
程序监视定时器(也称为“看门狗”)的作用:
通过不断监视程序每周期的运行事件是否超过正常状态下所需要的时间,从而判断程序是否进入了“死循环”,并对进入“死循环”的程序作出系统复位处理。
“看门狗”技术:
可由硬件、软件或软硬结合实现。
①硬件“看门狗”可以很好地解决主程序陷入死循环的故障,但是,严重的干扰有时会出现中断关闭故障使系统无法定时“喂狗”,无法探测到这种故障,硬件“看门狗”电路失效。
②软件“看门狗”可以保证对中断关闭故障的发现和处理,但若单片机的死循环发生在某个高优先级的中断服务程序中,软件“看门狗”也无法完成其作用。
③利用软硬结合的“看门狗”组合可以克服单一“看门狗”功能的缺陷,从而实现对故障的全方位监控。
(2)设置软件陷阱
软件陷阱:
指将捕获的“跑飞”程序引向复位入口地址0000H的指令。
设置方法:
①在EPROM中,非程序区设置软件陷阱,软件陷阱一般1KB空间有2~3个就可以进行有效拦截。
指令如下:
NOP
NOP
LJMP0000H
②在未使用的中断服务程序中设置软件陷阱,能及时捕获错误的中断。
RETI
(3)指令冗余技术
指令冗余:
在程序的关键地方人为插入一些单字节指令,或将有效单字节指令重写,称为指令冗余。
作用:
可将“跑飞”程序纳入正轨。
通常是在双字节指令和三字节指令后插入两个字节以上的NOP。
这样即使程序“跑飞”到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当做操作数执行,程序自动纳入正轨。
此外,对系统流向起重要作用的指令(如RET,RETI,LCALL,LJMP,JC等指令)之前也可插入两条NOP指令,确保这些重要指令的执行。
7.2.5单片机应用系统的调试、测试
单片机应用系统的软、硬件制作完成后,必须反复进行调试、修改,直至完全正常工作,经过测试,功能完全符合系统性能指标要求,应用系统设计才算完成。
1.硬件调试
(1)静态检查
根据硬件电路图核对元器件的型号、极性、安装是否正确,检查硬件电路连线是否与电路图一致,有无短路、虚焊等现象。
(2)通电检查
通电检查时,可以模拟各种输入信号分别送入电路的各有关部分,观察I/O口的动作情况,查看电路板上有无元件过热、冒烟、异味等现象,各相关设备的动作是否符合要求,整个系统的功能是否符合要求。
2.软件调试
程序模块编写完成后,通过汇编或编译后,在开发系统上进行调试。
调试时应先分别调试各模块子程序,调试通过后,再调试中断服务子程序,最后调试主程序,并将各部分进行联调。
3.系统调试
当硬件和软件调试完成之后,就可以进行全系统软、硬件调试,对于有电气控制负载的系统,应先实验空载,空载正常后再实验负载情况。
系统调试的任务是排除软、硬件中的残留错误,使整个系统能够完成预定的工作任务,达到要求的性能指标。
4.程序固化
系统调试成功之后,就可以将程序通过专用程序固化器固化到ROM中。
5.脱机运行调试
将固化好程序的ROM插回到应用系统电路板的相应位置,即可脱机运行。
系统试运行要连续运行相当长的时间(也称为考机),以考验其稳定性。
并要进一步进行修改和完善处理。
6.测试单片机系统的可靠性
单片机系统设计完成时,一般需进行单片机软件功能的测试,上电、掉电测试,老化测试,静电放电(ElectroStaticDischarge,ESD)抗扰度和电快进瞬变脉冲群(ElectricalFastTransient,EFT)抗扰度等测试。
可以使用各种干扰模拟器来测试单片机系统的可靠性,还可以模拟人为使用中可能发生的破坏情况。
经过调试、测试后,若系统完全正常工作,功能完全符合系统性能指标要求,则一个单片机应用系统的研制过程全部结束。
7.3C51编程简介
MCS-51的编程语言常用的有两种,一种是汇编语言,一种是C语言(C51)。
汇编语言的特点:
机器代码生成效率很高,可读性差,编程难度大。
C51的特点:
C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。
C51提供了很多数学函数并支持浮点运算,开发效率高,程序的可读性和可维护性较好。
而且C51还可以嵌入汇编语言来解决高时效性的代码编写问题。
7.3.1MCS-51单片机C51语言简介
1.C51的优点
C51与ASM-51(汇编语言)相比,有如下优点:
①对单片机的指令系统、硬件不要求了解,仅要求对MCS-51的存储器结构有初步了解,就能够编程。
②程序有规范的结构,易于结构化、模块化和移植,已编好的程序可以很容易地植入新程序。
③寄存器分配、存储器的寻址及数据类型,中断服务程序的现场保护和恢复,中断向量表的填写都由C51编译器处理。
④提供丰富的库函数供用户直接调用,不同函数的数据实行覆盖,有效地利用了片上有限的RAM空间。
具有较强的数据处理能力。
⑤C51提供了复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;
提供auto,extern,static,const等存储类型和专门针对MCS-51单片机的data,bdata,idata,pdata,xdata,code等存储类型,自动为变量合理地分配地址;
提供small,compact,large等编译模式,以适应片上存储器的大小;
完整的编译控制指令为程序调试提供必要的符号信息。
⑥头文件中允许定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发。
⑦可方便地接受多种实用程序的服务,有专门的实用程序自动生成;
有实时多任务操作系统,可调度多道任务,简化用户编程,提高运行的安全性等。
2.单片机C51语言与C语言的异同
单片机的C51是继承了标准C的绝大部分的特性,基本语法相同,但其本身在特定的硬件结构上又有所扩展(如专门针对MCS-51单片机的存储类型等),需要在C51的实际编程应用过程中逐步体会。
7.3.2C51的基本语法
1.C51的程序结构
与一般C语言的结构相同,以main()函数为程序入口,程序体中包含若干语句,还可以包含若干函数。
2.C51的数据类型
常用的数据类型有:
位型(bit,1位)、字符型(char,1字节)、整型(int,2字节)、长整型(longint,4字节)、浮点型(float,4字节)、数组型、指针型等。
3.C51数据的存储类型
C51数据的存储类型如下表所示。
4.C51包含的头文件
C51包含的头文件通常有reg51.h,math.h,ctype.h,stdio.h,stdlib.h,absacc.h。
其中,常用的有reg51.h(定义特殊功能寄存器和位寄存器)和math.h(定义常用数学运算)。
5.C51的运算符
C51的运算符与C语言基本相同:
+(加)、-(减)、*(乘)、/(除)、>
(大于)、>
=(大于等于)、<
(小于)、<
=(小于等于)、=(等于)、!
=(不等于)、&
&
(逻辑与)、||(逻辑或)、!
(逻辑非)、>
>
(位右移)、<
<
(位左移)、&
(按位与)、|(按位或)、^(按位异或)、~(按位取反)。
6.C51的基本语句
C51的基本语句与标准C语言基本相同:
if(选择语句)、switch/case(多分支选择语句)、while(循环语句)、for(循环语句)、do-while(循环语句)等。
7.3.3C51编译器
FranklinC51交叉编译器是专为80C51系列单片机设计的一种高效的C语言编译器,使用它可以缩短开发周期,降低开发成本,而且开发出的系统易于维护,可靠性高,可移植性好,代码的使用效率高。
1.C51语言程序设计的基本技巧
(1)采用结构化程序设计
(2)采用模块化程序设计,分别指定个功能模块相应的入口参数和出口参数,而经常使用的一些程序最好编成函数。
(3)充分利用C51语言的预处理命令。
(4)采用宏定义“#define”(或集中起来)将一些常用的常数、各种特殊功能寄存器或程序中一些重要的、依据外界条件可变的常量放在一个头文件中进行定义,然后采用文件包含命令“#include”将其加入到程序中去,便于修改,有利于文件的维护和更新。
2.C51语言与汇编语言程序的混合编程
有时为了编程直观或某些特殊地址的处理,C51程序中还须采用一些汇编语言编程。
而在另一些场合,出于某种目的,汇编语言也可调用C语言。
在这种混合编程中,关键是参数的传递和函数的返回值。
它们必须有完整的约定,否则数据的交换就可能出错。
3.C51中断处理过程
C51编译器支持在C源程序中直接开发中断,中断服务函数的完整语法如下:
void 函数名(void)[模式]
[再入]interruptn[usingr]
其中:
n(0~31)----代表中断号;
r(0~3)----代表第r组寄存器;
[再入]----说明中断处理函数有无“再入”能力。
。
7.3.4KeilC51开发系统简介
1.系统概述
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。
其特点是提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面;
生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
2.KeilC51单片机软件开发系统的功能
KeilC51单片机软件开发系统可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用集成开发环境IDE本身或其他编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由L51创建生成库文件,也可以与库文件一起,经L51连接定位,生成绝对目标文件(.ABS)。
(5)RTX51是一个实时多任务操作系统,可以不用main()函数,是单片机系统软件向RTOS发展是一种趋势。
(6)dScope51是一个源级调试器和模拟器,它可以调试由C51编译器、A51汇编器、PL/M-51编译器及ASM-51汇编器产生的程序。
它不需目标板,只能进行软件模拟,但其功能强大,可模拟CPU及其外围器件,能对嵌入式软件功能进行有效测试。
(7)Initfile为一个初始化文件,它在启动dScope51后,在debugfile之前装入,装有一些dScope的初始化参数及常用调试函数等。
(8)tScope51也为一个初始化文件,与dScope51不同的是,tScope51必须带目标板,目前它可以通过两种方式访问目标板。
①通过EMul51在线仿真器,tScope51为该仿真器准备了一个动态连接文件EMUL51.IOT,但该方法必须配合该仿真器。
②通过Monitov51监控程序。
tScope51为访问Monitor51,专门带有MON51.IOT连接程序,使用时可通过串口及监控程序来调试目标板。
(9)Monitor51是一个监控程序,通过PC的串口与目标板进行通信,Monitor操作需要MON51或dScope51forWindows。
(10)IshellforDOS是一个DOS环境下的IDE,直接在命令行输入Ishell,则进入该环境。
它使用简单方便,其命令行与DOS命令行具有同样的功能。
(11)uVisionforWindows是一个标准的Windows应用程序,它是C51的一个集成软件开发平台,具有源代码编辑、Project管理、集成的Make等功能,它的人机界面友好,操作方便,是开发者的首选。
3.KeilC51与标准C
对标准C的扩展是学习C51的关键之一。
C51直接针对8051系列CPU对标准C的扩展包括8051存储类型及存储区域、存储模式、存储器类型声明、变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 单片机 系统 研发 设计方案