《单片机原理与应用第8章课件》由会员分享,可在线阅读,更多相关《单片机原理与应用第8章课件(48页珍藏版)》请在金锄头文库上搜索。
1、第第8 8章章 单片机应用系统单片机应用系统设计设计8.1 单片机应用系统及设计单片机应用系统及设计8.2 单片机应用系统设计的方法单片机应用系统设计的方法8.3 单片机应用系统的开发单片机应用系统的开发8.4 单片机应用系统的调试单片机应用系统的调试8.5 单片机应用系统的抗干扰技术单片机应用系统的抗干扰技术8.1 8.1 单片机应用系统及设计单片机应用系统及设计 单片机应用系统的设计包括计算机知识、计算技术、单片机应用系统的设计包括计算机知识、计算技术、计算方法、电子技术和自动检测技术等,是一个多学科计算方法、电子技术和自动检测技术等,是一个多学科的综合运用。的综合运用。 8.1.1 8.
2、1.1 单片机应用系统的组成单片机应用系统的组成典型单片机应用系统组成框图典型单片机应用系统组成框图1.1.单片机应用系统的硬件组成单片机应用系统的硬件组成 1 1)单片机)单片机 单片机是整个应用系统的核心,通过接口可向系统的各个部分发出各种控单片机是整个应用系统的核心,通过接口可向系统的各个部分发出各种控制命令,对被测物理参数进行检测、数据处理、控制、报警处理及逻辑判断等制命令,对被测物理参数进行检测、数据处理、控制、报警处理及逻辑判断等操作。操作。2 2)I/OI/O接口部分接口部分 目前,大部分目前,大部分I/OI/O接口都是可编程的,单片机常需要的扩展接口为:接口都是可编程的,单片机
3、常需要的扩展接口为: (1 1)并行接口。)并行接口。 (2 2)A/DA/D转换和转换和D/AD/A转换接口。转换接口。 (3 3)开关量接口。)开关量接口。3 3)外部设备)外部设备 外部设备主要用来显示、打印、存储及传送数据。外部设备主要用来显示、打印、存储及传送数据。4 4)传感器和执行器)传感器和执行器 在单片机应用系统中,必须对各种数据,如温度、压力、流量、液位、成在单片机应用系统中,必须对各种数据,如温度、压力、流量、液位、成分等进行数据采集。分等进行数据采集。5 5)操作控制台)操作控制台 操作控制台是单片机控制系统中人机对话的纽带,人们通过它可以向单片操作控制台是单片机控制系
4、统中人机对话的纽带,人们通过它可以向单片机输入程序,修改内存数据,显示被测参数,以及发出各种控制命令等。机输入程序,修改内存数据,显示被测参数,以及发出各种控制命令等。2.2.单片机应用系统的软件组成单片机应用系统的软件组成 如如D/AD/A或或A/DA/D转换程序、数据采样程序、数字滤波程序、标转换程序、数据采样程序、数字滤波程序、标度变换程序、键盘处理程序、显示程序、过程控制程序等。度变换程序、键盘处理程序、显示程序、过程控制程序等。注意:软件和硬件只有紧密配合、协调一致,才能提高系统的注意:软件和硬件只有紧密配合、协调一致,才能提高系统的性价比。性价比。 虽然设计的步骤一般是先选择硬件再
5、设计软件,实际上在虽然设计的步骤一般是先选择硬件再设计软件,实际上在进行每一个步骤时都要考虑软件和硬件的配合问题和折中问题,进行每一个步骤时都要考虑软件和硬件的配合问题和折中问题,以实现在满足系统设计要求的前提下使硬件费用达到最小的目以实现在满足系统设计要求的前提下使硬件费用达到最小的目的。整个研制过程中两者互相配合、互相协调,有利于提高系的。整个研制过程中两者互相配合、互相协调,有利于提高系统功能与设计效率。统功能与设计效率。可行性分析可行性分析总体方案设计总体方案设计系统硬件设计系统硬件设计系统软件设计系统软件设计调试与实验调试与实验系统的产品化系统的产品化8.1.2 8.1.2 单片机应
6、用系统的设计过程单片机应用系统的设计过程 技术技术要求要求可靠性高可靠性高适应现场工作适应现场工作环境环境具有完善的输具有完善的输入输出通道和入输出通道和实时控制能力实时控制能力易于操作和维护易于操作和维护 具有一定的具有一定的可扩展性可扩展性8.1.3 8.1.3 单片机应用系统的设计原则单片机应用系统的设计原则 在设计单片机应用系统时,既要实现测控功能、降低成本,又在设计单片机应用系统时,既要实现测控功能、降低成本,又要满足以下技术要求。要满足以下技术要求。8.2 8.2 单片机应用系统设计的方法单片机应用系统设计的方法 8.2.1 8.2.1 系统总体方案的确定系统总体方案的确定 1.1
7、.可行性分析可行性分析 可行性分析是指分析完成该项目的可能性。它主要为投资者可行性分析是指分析完成该项目的可能性。它主要为投资者进行决策提供依据,其目的是通过技术经济效益分析确定是否有进行决策提供依据,其目的是通过技术经济效益分析确定是否有必要对该产品进行研制,如果决策不当,势必造成人力、物力和必要对该产品进行研制,如果决策不当,势必造成人力、物力和财力的损失。财力的损失。进行可行性分进行可行性分析的基本原则析的基本原则技术效果好,经济效益技术效果好,经济效益(或社会效益)高。(或社会效益)高。技术先进,造技术先进,造价低。价低。可靠性高,易可靠性高,易维修。维修。开发研制周期短。开发研制周期
8、短。 操作简便,操作简便,容易掌握。容易掌握。进行可行性分析的基本原则如下:进行可行性分析的基本原则如下:2.2.确定控制系统方案确定控制系统方案 调研工作完毕以后,就要确定系统需求、系统目标任务了。调研工作完毕以后,就要确定系统需求、系统目标任务了。首先需要确定系统采用开环系统还是闭环系统,或者是数据处首先需要确定系统采用开环系统还是闭环系统,或者是数据处理系统。如果采用闭环控制系统,则还要确定是采用直接数字理系统。如果采用闭环控制系统,则还要确定是采用直接数字控制(控制(DDCDDC)系统,还是采用计算机监督控制()系统,还是采用计算机监督控制(SCCSCC)系统,或)系统,或者采用分布式
9、控制(者采用分布式控制(DCSDCS)系统。)系统。3.3.选择单片机选择单片机 单片机种类繁多,选择合适的单片机是应用系统设计的关键。一单片机种类繁多,选择合适的单片机是应用系统设计的关键。一般可以从以下几个方面考虑:般可以从以下几个方面考虑: (1 1)所选的单片机型号必须有稳定、充足的货源,最好选择该领)所选的单片机型号必须有稳定、充足的货源,最好选择该领域应用最广的单片机系列产品。域应用最广的单片机系列产品。 (2 2)根据系统的功能要求和各种单片机的性能,选择最容易实现)根据系统的功能要求和各种单片机的性能,选择最容易实现系统指标的型号,而且能达到较高的性价比。系统指标的型号,而且能
10、达到较高的性价比。 (3 3)在研制任务重、时间紧的情况下,尽可能选择技术成熟、有)在研制任务重、时间紧的情况下,尽可能选择技术成熟、有较多软件支持、具有相应单片机的开发工具,比较熟悉的机型,以便较多软件支持、具有相应单片机的开发工具,比较熟悉的机型,以便能马上着手进行系统的设计;同时可以借鉴一些现有的技术,利用性能马上着手进行系统的设计;同时可以借鉴一些现有的技术,利用性能优良的开发工具缩短开发周期,降低开发成本。能优良的开发工具缩短开发周期,降低开发成本。4.4.选择检测元件选择检测元件 选择好被测参数的测量元件是影响控制系统精度的重要因素之选择好被测参数的测量元件是影响控制系统精度的重要
11、因素之一。测量各种参数的传感器,如温度、流量、压力、液位、成分、一。测量各种参数的传感器,如温度、流量、压力、液位、成分、位移、重量、速度等,种类繁多,规格各异,因此要选择合适的检位移、重量、速度等,种类繁多,规格各异,因此要选择合适的检测元器件。测元器件。5.5.选择执行机构选择执行机构 执行机构是单片机控制系统的重要组成部件之一。执行机构的执行机构是单片机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况决定。况决定。6.6.软件和硬件的功能划分软件和硬件的功能划分 软件和硬件功能的划
12、分如同人的思想和躯干功能的划分一软件和硬件功能的划分如同人的思想和躯干功能的划分一样。在实际应用中,一旦一个系统功能确定,其软件和硬件的样。在实际应用中,一旦一个系统功能确定,其软件和硬件的功能就基本确定。但从另一方面说,具有相同功能的单片机应功能就基本确定。但从另一方面说,具有相同功能的单片机应用系统,其软硬件功能可以在很宽的范围内变化,一些硬件电用系统,其软硬件功能可以在很宽的范围内变化,一些硬件电路的功能可以由软件来实现,反之亦然。软件替代硬件,可以路的功能可以由软件来实现,反之亦然。软件替代硬件,可以降低成本,但可能降低系统速度;硬件替代软件,会增加成本,降低成本,但可能降低系统速度;
13、硬件替代软件,会增加成本,但也提高工作速度。但也提高工作速度。8.2.2 8.2.2 系统的硬件设计系统的硬件设计 1.1.硬件设计原则硬件设计原则 (1 1)尽量选择标准化、模块化的典型电路;)尽量选择标准化、模块化的典型电路;(2 2)应考虑留有充分余量,为后续产品升级留有余地。)应考虑留有充分余量,为后续产品升级留有余地。(3 3)硬件设计同时要结合软件方案一起考虑。)硬件设计同时要结合软件方案一起考虑。(4 4)相关的器件要和系统整体要求的性能指标相匹配。)相关的器件要和系统整体要求的性能指标相匹配。(5 5)要充分考虑应用系统各部分的驱动能力。)要充分考虑应用系统各部分的驱动能力。(
14、6 6)必须考虑系统的可靠性及抗干扰设计。)必须考虑系统的可靠性及抗干扰设计。(7 7)多做些调研,采用最新器件与最新技术。)多做些调研,采用最新器件与最新技术。 (8 8)应充分重视电源电路的设计。)应充分重视电源电路的设计。根据各输入输出数据的传送方根据各输入输出数据的传送方式确定是中断方式、查询方式式确定是中断方式、查询方式还是无条件方式等。还是无条件方式等。进行电路连接,绘制出完进行电路连接,绘制出完整的电路连接图。整的电路连接图。 根据系统需要确定使用哪种结根据系统需要确定使用哪种结构,确定系统中主要电路是最构,确定系统中主要电路是最小应用系统还是扩展系统。除小应用系统还是扩展系统。
15、除单片机外,系统中还需要哪些单片机外,系统中还需要哪些扩展芯片、模拟电路等。扩展芯片、模拟电路等。进行资源分配,各输入输进行资源分配,各输入输出信号应分别使用哪个并出信号应分别使用哪个并行口、串行口、中断、定行口、串行口、中断、定时时/计数器等。计数器等。12342.2.硬件设计的步骤硬件设计的步骤 8.2.3 8.2.3 系统的软件设计系统的软件设计 1.1.软件设计原则软件设计原则(1 1)根据软件各功能模块之间的联系以及在时间上的关系,设计出合理的软)根据软件各功能模块之间的联系以及在时间上的关系,设计出合理的软件结构,使其清晰、简洁、流程合理。件结构,使其清晰、简洁、流程合理。(2 2
16、)培养结构化程序设计风格,各功能模块实现模块化、系统化,既便于调)培养结构化程序设计风格,各功能模块实现模块化、系统化,既便于调试、连接,又便于移植、修改。试、连接,又便于移植、修改。(3 3)根据系统输入)根据系统输入/ /输出变量建立正确的数学模型,它是关系到系统性能好输出变量建立正确的数学模型,它是关系到系统性能好坏的重要因素。坏的重要因素。(4 4)在编写应用程序之前,应绘制出程序流程图。从某种意义上讲,多花一)在编写应用程序之前,应绘制出程序流程图。从某种意义上讲,多花一分钟时间来设计流程图,可以节约源程序编辑调试时间。分钟时间来设计流程图,可以节约源程序编辑调试时间。(5 5)合理
17、分配系统资源,包括)合理分配系统资源,包括ROMROM、RAMRAM、定时器、定时器/ /计数器、中断源等,既能计数器、中断源等,既能节约存储容量,又能给程序设计与操作带来方便。节约存储容量,又能给程序设计与操作带来方便。(6 6)运行状态实现标志化管理。各个功能程序运行状态、运行结果及运行需)运行状态实现标志化管理。各个功能程序运行状态、运行结果及运行需求都设置状态标志以便于查询和控制。求都设置状态标志以便于查询和控制。(7 7)加强软件抗干扰设计,它是提高单片机应用系统可靠性的有力措施。)加强软件抗干扰设计,它是提高单片机应用系统可靠性的有力措施。(8 8)为了提高系统运行的可靠性,还应设
18、置自诊断程序,在系统运行前先运)为了提高系统运行的可靠性,还应设置自诊断程序,在系统运行前先运行自诊断程序,用来检查系统各特征参数是否正常。行自诊断程序,用来检查系统各特征参数是否正常。2.2.系统定义系统定义 系统定义是在软件设计之前,进一系统定义是在软件设计之前,进一步明确软件所要完成的功能,然后结合步明确软件所要完成的功能,然后结合硬件结构,确定软件承担的任务细节。硬件结构,确定软件承担的任务细节。系统定义的内容包括以下几个方面:系统定义的内容包括以下几个方面: (1 1)定义各输入)定义各输入/ /输出的功能、信号输出的功能、信号类别、电平范围、与系统接口方式、占类别、电平范围、与系统
19、接口方式、占用口地址、读取的输出方式等。用口地址、读取的输出方式等。 (2 2)定义分配存储空间,包括主程)定义分配存储空间,包括主程序、常数表格、功能子程序块划分、入序、常数表格、功能子程序块划分、入口地址表等。口地址表等。 (3 3)若有断电保护措施,应定义数)若有断电保护措施,应定义数据暂存区标志单元等。据暂存区标志单元等。 (4 4)面板开关、按键等控制输入量)面板开关、按键等控制输入量的定义与软件编制密切相关,系统运行的定义与软件编制密切相关,系统运行过程中的显示、运算结果的显示、正常过程中的显示、运算结果的显示、正常运行和出错显示等由软件完成。运行和出错显示等由软件完成。单片机软件
20、程序设计常用的技术单片机软件程序设计常用的技术模块程模块程序设计序设计自顶向自顶向下设计下设计结构结构化编程化编程3.3.程序设计技术程序设计技术模具加模具加工方法工方法软件件开发1. 划分功能模块,安划分功能模块,安排程序结构。排程序结构。2. 建立数学模型,描建立数学模型,描述输入与输出之间的述输入与输出之间的数学关系。数学关系。3. 画出各程序模块的流画出各程序模块的流程图。程图。4. 选择合适的语言编写程选择合适的语言编写程序。序。4.4.软件开发过程软件开发过程软件开发大体包括以下几个方面:软件开发大体包括以下几个方面:8.2.4 8.2.4 系统的可靠性设计和评估系统的可靠性设计和
21、评估 单片机系统一般都是实时系统,且功能比较单一,因单片机系统一般都是实时系统,且功能比较单一,因此对系统的可靠性要求比较高。提高系统可靠性的关键还此对系统的可靠性要求比较高。提高系统可靠性的关键还是在硬件系统上,如采用抗干扰措施、提高元器件质量等。是在硬件系统上,如采用抗干扰措施、提高元器件质量等。当然,对软件采用一些相应的设计,往往成本低、见效快,当然,对软件采用一些相应的设计,往往成本低、见效快,能起到事半功倍的效果。能起到事半功倍的效果。 系统的可靠性设计系统的可靠性设计提高所用元提高所用元器件的可靠性器件的可靠性抗干扰措施抗干扰措施采用多种采用多种容错技术容错技术采取加密采取加密保护
22、技术保护技术8.3 8.3 单片机应用系统的开发单片机应用系统的开发 8.3.1 8.3.1 单片机的开发工具单片机的开发工具 单片机的开发工具由主处理机、在线仿真器、单片机的开发工具由主处理机、在线仿真器、EPROMEPROM写入器和相关软件组成。写入器和相关软件组成。 8.3.2 8.3.2 开发系统简介开发系统简介1.1.开发系统的基本功能开发系统的基本功能1 1)在线仿真功能)在线仿真功能 开发系统中的在线仿真器本身就是一个单片机系统,具有与所开开发系统中的在线仿真器本身就是一个单片机系统,具有与所开发的单片机应用系统相同的功能。发的单片机应用系统相同的功能。 仿真功能具体包括以下两方
23、面:仿真功能具体包括以下两方面: (1 1)单片机仿真功能。)单片机仿真功能。 (2 2)模拟功能。)模拟功能。2 2)调试功能)调试功能 可实现以下功能:可实现以下功能: (1 1)运行控制功能。)运行控制功能。 (2 2)对目标系统状态的读出修改功能。)对目标系统状态的读出修改功能。 (3 3)跟踪功能。)跟踪功能。3 3)软件辅助设计功能)软件辅助设计功能 软件的辅助设计功能的强弱也是衡量单片机开发系统性能高低的软件的辅助设计功能的强弱也是衡量单片机开发系统性能高低的重要标志。重要标志。4 4)EPROMEPROM操作操作 在应用程序尚未调试好之前可借用开发系统的存储器,这时应能在应用程
24、序尚未调试好之前可借用开发系统的存储器,这时应能实现对各种型号的实现对各种型号的EPROMEPROM芯片进行读取、查空、用户程序的固化等操芯片进行读取、查空、用户程序的固化等操作。作。专用型单片机开发系统。这类专用型单片机开发系统。这类系统大都是微处理机生产厂家系统大都是微处理机生产厂家专门为支持自己的微处理机产专门为支持自己的微处理机产品而设计的。品而设计的。软件模拟开发系统。这是一种软件模拟开发系统。这是一种脱机的方法,只需利用现有的脱机的方法,只需利用现有的系统计算机,再配以一个专门系统计算机,再配以一个专门设计的模拟软件接口。设计的模拟软件接口。采用国际上流行的独立型仿真采用国际上流行
25、的独立型仿真 器,与任何具有器,与任何具有RS232C串行串行接口的终端或个人计算机相连,接口的终端或个人计算机相连,即可构成单片机开发系统。即可构成单片机开发系统。实用型单片机开发系统。这实用型单片机开发系统。这类装置硬件按典型应用系统类装置硬件按典型应用系统配置,自带监控程序,具有配置,自带监控程序,具有自开发能力。自开发能力。专用型单专用型单片机开片机开发系统发系统通用型单通用型单片机开发片机开发系统系统实用型单实用型单片机开片机开发系统发系统软件模拟软件模拟开发系开发系统统2.2.常用单片机开发系统常用单片机开发系统8.4 8.4 单片机应用系统的调试单片机应用系统的调试 系统调试是系
26、统开发的重要环节,目的是查出设计与系统调试是系统开发的重要环节,目的是查出设计与制作中的错误,以便进行修改。最好能在方案设计阶段就制作中的错误,以便进行修改。最好能在方案设计阶段就开始考虑调试问题,如采用什么调试方法、使用哪种调试开始考虑调试问题,如采用什么调试方法、使用哪种调试仪器等。一般地,系统调试包括硬件调试、软件调试、软仪器等。一般地,系统调试包括硬件调试、软件调试、软硬件联调。根据调试环境不同也可分为实验室模拟调试和硬件联调。根据调试环境不同也可分为实验室模拟调试和现场调试。现场调试。 示波器。示波器。示波器可以测量示波器可以测量电平、模拟信号波形及频电平、模拟信号波形及频率,还可以
27、同时观察两个率,还可以同时观察两个信号的波形及它们之间相信号的波形及它们之间相位差。位差。万用表。万用表。未通电时万用表未通电时万用表可以用来测量硬件电路的可以用来测量硬件电路的通断和两点间的阻值;通通断和两点间的阻值;通电后则可测量测试点的稳电后则可测量测试点的稳态电压值。利用万用表可态电压值。利用万用表可以初步确定两测试点之间以初步确定两测试点之间是否存在故障。是否存在故障。逻辑脉冲发生器与模拟信号逻辑脉冲发生器与模拟信号发生器。发生器。逻辑脉冲发生器能逻辑脉冲发生器能够产生不同宽度、幅度及频够产生不同宽度、幅度及频率的脉冲信号,它可以作为率的脉冲信号,它可以作为数字电路的输入源。数字电路
28、的输入源。逻辑分析仪。逻辑分析仪。逻辑分析仪逻辑分析仪能够以单通道或多通道方能够以单通道或多通道方式实时获取与触发事件有式实时获取与触发事件有关的逻辑信号,可保存显关的逻辑信号,可保存显示触发事件前后所获取的示触发事件前后所获取的信号,供操作者观察使用,信号,供操作者观察使用,有利于快捷有效地查出软有利于快捷有效地查出软硬件中存在的错误。硬件中存在的错误。12345自制模拟信号发生器。自制模拟信号发生器。在单在单片机应用系统中,来自传感片机应用系统中,来自传感器的信号多种多样,其转换器的信号多种多样,其转换的电信号也各不相同。的电信号也各不相同。8.4.1 8.4.1 调试工具调试工具8.4.
29、2 8.4.2 硬件调试硬件调试1.1.常见的硬件故障常见的硬件故障 单片机应用系统调试时,首先应排除系统中明显的硬件故单片机应用系统调试时,首先应排除系统中明显的硬件故障。硬件调试的任务就是排除应用系统的设计性错误和工艺性障。硬件调试的任务就是排除应用系统的设计性错误和工艺性故障。单片机应用系统中常见的硬件故障包括:故障。单片机应用系统中常见的硬件故障包括:(1 1)逻辑错误。)逻辑错误。(2 2)元器件失效。)元器件失效。(3 3)可靠性差。)可靠性差。(4 4)电源故障。)电源故障。2.2.硬件电路的调试硬件电路的调试 一般来说,硬件系统的样机制造好后,需单独调试好,再与用一般来说,硬件
30、系统的样机制造好后,需单独调试好,再与用户软件联合调试。由此可将硬件电路的调试分为两步进行:脱机检户软件联合调试。由此可将硬件电路的调试分为两步进行:脱机检查和联机调试,即硬件电路检查和硬件系统诊断。查和联机调试,即硬件电路检查和硬件系统诊断。 (1 1)脱机检查。脱机检查是在开发系统外进行的一种硬件检查,)脱机检查。脱机检查是在开发系统外进行的一种硬件检查,主要检查电路制作是否准确无误。主要检查电路制作是否准确无误。 (2 2)联机调试。脱机检查之后,分别打开样机和仿真器电源,)联机调试。脱机检查之后,分别打开样机和仿真器电源,就可以进行联机调试了。联机调试是在用户系统工作的情况下发现就可以
31、进行联机调试了。联机调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件间连接逻辑错误和排除用户系统硬件中存在的器件内部故障、器件间连接逻辑错误等的一种硬件检查,又称为动态调试。等的一种硬件检查,又称为动态调试。8.4.3 8.4.3 软件调试软件调试1.1.常见的软件故障常见的软件故障 软件调试的任务是排除软件错误,解决硬件遗留下的问题。软件调试的任务是排除软件错误,解决硬件遗留下的问题。(1)程序失控。)程序失控。(2)中断错误。)中断错误。(3)输入)输入/输出错误。输出错误。常见常见的软的软件错件错误类误类型型(4)结果不正确。)结果不正确。先独立后联机先独立后
32、联机从宏观来说,单片机应用从宏观来说,单片机应用系统的硬件与软件是密切系统的硬件与软件是密切相关、相辅相成的,将两相关、相辅相成的,将两者完全独立开来是不可能者完全独立开来是不可能的。的。先分块后组合先分块后组合如果用户系统规模大、任如果用户系统规模大、任务多,在先将用户程序分务多,在先将用户程序分为与硬件无关和依赖于硬为与硬件无关和依赖于硬件的两部分后,发现这两件的两部分后,发现这两部分仍然较为庞大,不利部分仍然较为庞大,不利于故障定位,则可分别对于故障定位,则可分别对两类程序块进一步采用分两类程序块进一步采用分模块调试,提高软件调试模块调试,提高软件调试的有效性。的有效性。先单步后连续先单
33、步后连续调试程序的关键是实现对调试程序的关键是实现对故障的正确定位。准确发故障的正确定位。准确发现程序错误最有效的方法现程序错误最有效的方法是采用单步加断点的运行是采用单步加断点的运行调试程序。调试程序。2.2.软件调试的方法软件调试的方法 软件调试的一般方法是先独立后联机、先分块后组合、先单步软件调试的一般方法是先独立后联机、先分块后组合、先单步后连续。后连续。8.5 8.5 单片机应用系统的抗干扰技术单片机应用系统的抗干扰技术 8.5.1 8.5.1 干扰源和干扰种类干扰源和干扰种类 1.1.干扰源干扰源1 1)内部干扰源)内部干扰源 内部干扰多由系统结构、制造工艺决定,其主要来源包括以下
34、几内部干扰多由系统结构、制造工艺决定,其主要来源包括以下几个方面:个方面:(1 1)电路元器件产生的固有干扰。)电路元器件产生的固有干扰。(2 2)感性负载切换时产生的干扰。)感性负载切换时产生的干扰。(3 3)接触干扰。由于两种不同材料之间的不完全接触而引起导电率)接触干扰。由于两种不同材料之间的不完全接触而引起导电率起伏所产生的干扰。起伏所产生的干扰。2 2)外部干扰源)外部干扰源外部干扰是由外界环境因素决定的,与系统结构无关。外部干扰是由外界环境因素决定的,与系统结构无关。(1)天体和天电干扰。)天体和天电干扰。(2)放电干扰。)放电干扰。(3)射频干扰。)射频干扰。外外部部干干扰扰源源
35、(4)工频干扰。)工频干扰。 电磁耦合电磁耦合载流导体的周围空间中都会产载流导体的周围空间中都会产生磁场,若磁场是交变的,就生磁场,若磁场是交变的,就会对其周围的闭合电路产生感会对其周围的闭合电路产生感应电势。应电势。静电耦合静电耦合电路当中元件之间、导线之间、电路当中元件之间、导线之间、导线与元件之间都存在分布电导线与元件之间都存在分布电容,如果一个导体上的信号电容,如果一个导体上的信号电压通过分布电容影响到其他导压通过分布电容影响到其他导体上的电位,这样的现象就称体上的电位,这样的现象就称为静电耦合。为静电耦合。 漏电流耦合漏电流耦合当相邻元件或导线间的绝缘电当相邻元件或导线间的绝缘电阻降
36、低时,有些电信号会通过阻降低时,有些电信号会通过改绝缘电阻耦合到逻辑元件的改绝缘电阻耦合到逻辑元件的输入端形成干扰。输入端形成干扰。共阻抗耦合共阻抗耦合当电路的电流流经一个公共当电路的电流流经一个公共阻抗时,一个电路的电流在阻抗时,一个电路的电流在该阻抗上形成的电压会对另该阻抗上形成的电压会对另一个电路产生影响。一个电路产生影响。干扰的耦合方式干扰的耦合方式 2.2.干扰的耦合方式干扰的耦合方式 3.3.干扰模式干扰模式 (1 1)差模干扰:差模干扰能够使接收电路的一个输入端相对于另一)差模干扰:差模干扰能够使接收电路的一个输入端相对于另一个输入端产生电位差的干扰。由于这种干扰通常与输入信号串
37、联,有个输入端产生电位差的干扰。由于这种干扰通常与输入信号串联,有时也称为串模噪声。时也称为串模噪声。(2 2)共模干扰:共模干扰是相对于公共的电位基准点,在系统的接)共模干扰:共模干扰是相对于公共的电位基准点,在系统的接收电路的两个输入端同时出现的干扰。当接收器具有较低的共模抑制收电路的两个输入端同时出现的干扰。当接收器具有较低的共模抑制比时,也会影响系统的结果。比时,也会影响系统的结果。 良好的接地系统。良好的接地系统。平衡对称输入。在平衡对称输入。在设计信号源时尽量设计信号源时尽量做到平衡和对称。做到平衡和对称。选用高质量的差动选用高质量的差动放大器。放大器。系统接地点的正确连接方系统接
38、地点的正确连接方式。系统中的数字地与模式。系统中的数字地与模拟地要分开,最后只在一拟地要分开,最后只在一点相连。点相连。12345屏蔽。用金属外壳将整机或屏蔽。用金属外壳将整机或部分元器件包围起来,再将部分元器件包围起来,再将金属外壳接地,就能起到屏金属外壳接地,就能起到屏蔽作用。蔽作用。 1.1.共模干扰的抑制共模干扰的抑制 8.5.2 8.5.2 硬件抗干扰技术硬件抗干扰技术 差模干扰的抑制差模干扰的抑制 光电隔离。光电隔离。数字信号采用负逻辑传输。数字信号采用负逻辑传输。 硬件滤波电路。硬件滤波电路。 过压保护电路。过压保护电路。 抗干扰稳压电源。抗干扰稳压电源。 调制解调技术。调制解调
39、技术。 2.2.差模干扰的抑制差模干扰的抑制 光电耦合器的输入阻抗很光电耦合器的输入阻抗很小,一般为小,一般为0.11 k,而,而干扰源内阻一般都较大干扰源内阻一般都较大(105 106 )。)。光电耦合器是以光为光电耦合器是以光为媒介传输信号的,其媒介传输信号的,其输入和输出在电气上输入和输出在电气上是隔离的。是隔离的。光电耦合器是在密封条件光电耦合器是在密封条件实现输入回路与输出回路实现输入回路与输出回路的光耦合,不会受到外界的光耦合,不会受到外界光的干扰。光的干扰。干扰噪声虽有较大的电压干扰噪声虽有较大的电压幅值,但能量小,只能形幅值,但能量小,只能形成微弱电流。成微弱电流。12345输
40、入回路与输出回路之间分布输入回路与输出回路之间分布电容极小,一般为电容极小,一般为0.52 pF,而且绝缘电阻很大,通常为而且绝缘电阻很大,通常为10111012 ,因此回路一端,因此回路一端的干扰很难通过光电耦合器馈的干扰很难通过光电耦合器馈送到另一端去。送到另一端去。3.3.过程通道干扰的抑制过程通道干扰的抑制 1 1)光电隔离)光电隔离光电耦合器能够抑制干扰信号,主要是因为它具有以下特点:光电耦合器能够抑制干扰信号,主要是因为它具有以下特点:2 2)双绞线传输)双绞线传输 在单片机实时系统的长线传输中,双绞线是较常用的一种传输线。在单片机实时系统的长线传输中,双绞线是较常用的一种传输线。
41、把双绞线中的一根作为屏蔽线,另一根作为信号传输线。在使用过程中,把双绞线中的一根作为屏蔽线,另一根作为信号传输线。在使用过程中,把信号输出线和返回线两根导线拧合,其扭绞节距与该导线的线径有关。把信号输出线和返回线两根导线拧合,其扭绞节距与该导线的线径有关。双绞线长度双绞线长度5 m以下时端部连接方法以下时端部连接方法双绞线长度数十米时端部连接方法双绞线长度数十米时端部连接方法光电耦合器与双绞线联合使用光电耦合器与双绞线联合使用3 3)长线传输的阻抗匹配)长线传输的阻抗匹配阻抗匹配的方法一般有以下阻抗匹配的方法一般有以下4 4种形式:种形式:(1 1)始端串联匹配。)始端串联匹配。(2 2)终端
42、并联匹配。)终端并联匹配。(3 3)终端并联隔直流匹配。)终端并联隔直流匹配。(4 4)终端钳位二极管匹配。)终端钳位二极管匹配。传输线的阻抗匹配传输线的阻抗匹配8.5.3 8.5.3 软件抗干扰技术软件抗干扰技术 1 1指令冗余技术指令冗余技术 在条件控制系统中,对于控制条件的一次采样、处理、控制输出在条件控制系统中,对于控制条件的一次采样、处理、控制输出改为循环地采样、处理、控制输出。这种方法对于惯性较大的控制系改为循环地采样、处理、控制输出。这种方法对于惯性较大的控制系统具有良好的抗偶然因素干扰的作用。统具有良好的抗偶然因素干扰的作用。 为了使为了使“跑飞跑飞”程序迅速纳入正轨,应该多用
43、单字节指令,并采程序迅速纳入正轨,应该多用单字节指令,并采用以下冗余技术。用以下冗余技术。1 1)NOPNOP的使用的使用 可在双字节和三字节指令后插入两个单字节指令(可在双字节和三字节指令后插入两个单字节指令(NOPNOP指令),指令),保证其后的指令不被拆散。保证其后的指令不被拆散。2 2)重要指令冗余)重要指令冗余 通常在那些对程序流向起决定作用或对系统工作状态起重要作用通常在那些对程序流向起决定作用或对系统工作状态起重要作用的指令(如前文所列举的一些指令)的后面,可重复写上这些指令,的指令(如前文所列举的一些指令)的后面,可重复写上这些指令,以保证指令的正确执行。以保证指令的正确执行。
44、2.2.软件陷阱技术软件陷阱技术 1 1)软件陷阱)软件陷阱 软件陷阱,就是用引导指令强行将捕获到的软件陷阱,就是用引导指令强行将捕获到的“跑飞跑飞”程序引至复位入程序引至复位入口地址口地址0000H0000H,在此处将程序转向专门对程序出错进行处理的程序,使程,在此处将程序转向专门对程序出错进行处理的程序,使程序纳入正轨。序纳入正轨。2 2)软件陷阱的安排)软件陷阱的安排 (1 1)未使用的中断区。)未使用的中断区。 (2 2)未使用的)未使用的EPROMEPROM空间。空间。 (3 3)表格。)表格。 (4 4)运行程序区。)运行程序区。 (5 5)RAMRAM数据保护的条件陷阱。数据保护
45、的条件陷阱。 “看门狗看门狗”技术就是不断监视程序循环运行时间,若发现时间超技术就是不断监视程序循环运行时间,若发现时间超过已知的循环设定时间,则认为系统陷入了死循环,然后强迫程序过已知的循环设定时间,则认为系统陷入了死循环,然后强迫程序返回到返回到0000H0000H入口,在入口,在0000H0000H处安排一段出错处理程序,使程序纳入处安排一段出错处理程序,使程序纳入正轨。正轨。 “看门狗看门狗”技术可由硬件实现,也可由软件实现,也可由两者结技术可由硬件实现,也可由软件实现,也可由两者结合来实现。合来实现。 3.3.“看门狗看门狗”技术技术 本章小结本章小结 MCS-51 MCS-51系列
46、单片机以其独特的优越性,在多个领域得系列单片机以其独特的优越性,在多个领域得到了极为广泛的应用,因此当用户根据所要完成的不同任到了极为广泛的应用,因此当用户根据所要完成的不同任务进行单片机应用系统的设计工作时,就需要熟悉单片机务进行单片机应用系统的设计工作时,就需要熟悉单片机应用系统的设计与开发的全过程。本章就应用系统的软硬应用系统的设计与开发的全过程。本章就应用系统的软硬件设计和调试各个方面进行了分析和讨论,并针对系统开件设计和调试各个方面进行了分析和讨论,并针对系统开发过程当中遇到的干扰问题,针对干扰的传播途径及耦合发过程当中遇到的干扰问题,针对干扰的传播途径及耦合方式,介绍了硬件和软件抗干扰技术,以提高系统可靠性。方式,介绍了硬件和软件抗干扰技术,以提高系统可靠性。通过本章的学习,希望读者能初步具备应用单片机进行系通过本章的学习,希望读者能初步具备应用单片机进行系统设计与开发的能力。统设计与开发的能力。