版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/第9章 单片机应用系统的研制过程及设计实例 http:
2、/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/9.1 单片机应用系统研制过程由于单片机应用系统的多样性和技术指
3、标不同,研制的方法、步骤不完全一样。研制工作包括硬件和软件两个方面,硬件指单片机、外围器件、I/O设备组成的机器,软件是各种操作程序的总称。硬件和软件紧密配合、协调一致,才能组成一个高性能的应用系统。单片机应用系统研制包括总体设计、硬件设计、软件设计、调试、产品化等阶段。图9-1描述了一般开发过程。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- h
4、ttp:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/图 9-1 单片机应用系统开发设计流程图 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/w
5、ww.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/9.1.1 系统的总体设计 1 确定功能技术指标 单片机应用系统的研制是从确定功能技术指标开始的,它是系统设计的依据和出发点,也是决定产品前途的关键。必须根据系统应用场合、工作环境、用途,参考国内外同类产品资料,提出合理、详尽的功能技术指标。2 机型和器件选择 选择单片机机型依据是市场货源、单片机性能、开发工具和熟悉程度。根据技术指标,选择容易研制、性能价格比高、
6、有现成开发工具、比较熟悉的一种单片机。接着再选择合适的传感器、执行机构和I/O设备,使它们在精度、速度和可靠性等方面符合要求。3 硬件和软件功能划分 系统硬件的配置和软件的设计是紧密联系的,在某些场合,硬件和软件具有一定的互换性,有些功能可以由硬件实现也可以由软件实现,如系统日历时钟。对于生产批量大的产品,能由软件实现的功能尽量由软件完成,以利简化硬件结构,降低成本。总体设计时权衡利弊,仔细划分好软、硬件的功能。 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/ww
7、w.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/9.1.2 系统的硬件设计 1系统结构选择根据系统对硬件的需求,确定是小系统、紧凑系统还是大系统。如果是紧凑系统或大系统,进一步选择地址译码方法。http:/ http:/ http:/ http:/ http:/ http:/ htt
8、p:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/2可靠性设计系统对可靠性的要求是由工作环境(湿度、温度、电磁干扰、供电条件等等)和用途确定的。可以采用下列措施,提高系统的可靠性。(1)采用抗干
9、扰措施 1) 抑制电源噪声干扰:安装低通滤波器、减少印板上交流电引进线长度,电 源的容量留有余地,完善滤波系统、逻辑电路和模拟电路的合理布局等。 2) 抑制输入/输出通道的干扰:使用双绞线、光隔离等方法和外部设备传送信 息。 3) 抑制电磁场干扰:电磁屏蔽。(2)提高元器件可靠性 1) 选用质量好的元器件并进行严格老化、测试、筛选。 2) 设计时技术参数留有一定余量。 3) 提高印板和组装的工艺质量。 4) FIASH型单片机不宜在环境恶劣的系统中使用。最终产品应选OTP型。 (3)采用容错技术 1) 信息冗余:通信中采用奇偶校验、累加和检验、循环码校验等措施,使系统 具有检错和纠错能力。 2
10、) 使用系统正常工作监视器(Watchdog):对于内部有Watchdog的单片机,合理 选择监视计数器的溢出周期,正确设计清监视计数器的程序。对于内部没有 Watchdog的单片机,可以外接监视电路。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/
11、 http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/3 电路图和印板设计(1)电路框图设计在完成总体、结构、可靠性设计基础上,基本确定所用元器件后,可用手工方法画出电路框图。框图应能看出所用器件以及相互间逻辑关系。(2)电路原理图设计选择合适的计算机辅助电路设计软件,根据电路框图,进行电路原理图设计,由印板划分、电路复杂性,原理图可绘成一张或若干张。(3)印刷电路板设计根据生产条件和工艺,规划电路板(物理外形、尺寸、电气边界),设置布线参数(工作层面(单面、双面、多层),线宽,特殊线宽、间距,过孔尺
12、寸等),布局元器件,编辑元件标注,布线,检查、修改。最后保存文件,送加工厂加工印板,组装样机。在元件布局时,逻辑关系紧密的元件尽量靠近,数字电路、模拟电路、弱电、强电应各自分块集中,滤波电容靠近IC器件;布线时电源线和地线尽可能宽(大于40mil),模拟地和数字地一点相连。对于熟手,人工布线可布出高质量印板,对于新手采用自动布线,然后对不合理处进行人工修改。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ h
13、ttp:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/9.1.3 系统的软件设计 1 软件结构设计合理的软件结构是设计出一个性能优良的应用程序的基础。单片机应用系统的软件(监控程序)设计是系统设计中最基本而且工作量较大的任务。与系统机上操作系统支持下的纯软件设计不同,单片机的软件设计是在裸机的条件下进行的,而且随应用系统的不同而不同。图9-2为软
14、件设计流程图。在软件设计中一般需考虑以下几个方面:(1)根据要求确定软件的具体任务细节,然后确定合理的软件结构。一般系统软件由主程序和若干个子程序及中断服务程序组成,详细划分主程序、子程序和中断服务程序的具体任务,确定各个中断的优先级。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对事务的处理。在子程序和中断服务程序中,要考虑现场的保护和恢复以及它们和主程序之间的信息交换方法。(2)程序的结构一般常用模块化结构,即把监控程序分解为若干个功能相对独立的较小的程序模块分别设计,以便于调试。具体设计时可采用自底向上或自顶向下的方法。(3)在进行程序设计时,先根据问题的定义描
15、述出各个输入变量和输出变量之间的数学关系,即建立数学模型,然后绘制程序流程图,再根据流程图用汇编语言或高级语言进行具体程序的编写。(4)在程序设计完成后,利用相应的开发工具和软件进行程序的汇编(或编译),生成程序的机器码。 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- ht
16、tp:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/图9-2 软件设计流程图 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ ht
17、tp:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/对于大多数简单的单片机应用系统,通常采用顺序设计方法,这种系统软件由主程序和若干个中断服务程序所构成。根据系统各个操作的性质,指定哪些操作由中断服务程序完成、哪些操作由主程序完成,并指定各个中断的优先级。1)中断服务程序对实时事件请求作必要的处理,使系统能实时地并行地完成各个操作。中断处理程序必须包括现场保护、中断服务、现场恢复、中断返回等4个部分。中断的发生是随机的,它可能在任意地方打断主程序的运行,无法预知这时主程序执行的状态。因此,在执行中断服务程
18、序时,必须对原有程序状态进行保护。现场保护的内容应是中断服务程序所使用的有关资源(如PSW、ACC、DPTR等)。中断服务程序是中断处理程序的主体,它由中断所要完成的功能所确定,如输入或输出一个数据等。现场恢复与现场保护相对应,恢复被保护的有关寄存器状态,中断返回使CPU回到被该中断所打断的地方继续执行原来的程序。2)主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对日常事务的处理。图9-3给出了中断程序和主程序的结构。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/
19、 http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/(b) 主程序结构 (a) 中断程序结构 图9-3 中断程序与主程序的结构 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ ht
20、tp:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/3)主程序和中断服务程序间的信息交换一般采用数据缓冲器和软件标志(置位或清“0”位寻址区的某一位)方法。例如:定时中断到1s后置位标志SS(设(20H).0),以通知主程序对日历时钟进
21、行计数,主程序查询到SS=1时,清“0”该标志并完成时钟计数。又如:A/D中断服务程序在读到一个完整数据时将数据存入约定的缓冲器,并置位标志以通知主程序对此数据进行处理。再如:若要打印,主程序判断到打印机空时,将数据装配到打印机缓冲器,启动打印机并允许打印中断。打印中断服务程序将一个个数据输出打印,打印完后关打印中断,并置位打印结束标志以通知主程序打印机已空。因为顺序程序设计方法容易理解和掌握,也能满足大多数简单的应用系统对软件的功能要求,因此是一种用得很广的方法。顺序程序设计的缺点是软件的结构不够清晰、软件的修改扩充比较困难、实时性能差。这是因为当功能复杂的时候,执行中断服务程序要花较多的时
22、间,CPU执行中断程序时不响应低级或同级的中断,这可能导致某些实时中断请求得不到及时的响应,甚至会丢失中断信息。如果多采用一些缓冲器和标志,让大多数工作由主程序完成,中断服务程序只完成一些必需的操作,从而缩短中断服务程序的执行时间,这在一定程度上能提高系统实时性,但是众多的软件标志会使软件结构杂乱,容易发生错误,给调试带来困难。对于复杂的应用系统,可采用实时多任务操作系统。 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf-
23、 http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/2 程序设计方法(1)自顶向下模块化设计方法随着单片机应用日益广泛,软件的规模和复杂性也不断增加,给软件的设计、调试和维护带来很多困难。自顶向下的模块化设计方法能有效解决这个问题。程序结构自顶向下模块化程序设计方法就是把一个大程序划分成一些较小的部分,每一个功能独立的部分用一
24、个程序模块来实现。分解模块的原则是简单性、独立性和完整性,即:(a) 模块具有单一的入口和出口;(b) 模块不宣过大,应让模块具有单一功能;(c) 模块和外界联系仅限于入口参数和出口参数,内部结构和外界无关。这样各个模块分别进行设计和调试就比较容易实现。(2)逐步求精设计方法模块设计采用逐步求精的设计方法,先设计出一个粗的操作步骤,只指明先做什么后做什么,而不回答如何做。进而对每个步骤细化,回答如何做的问题,每一步越来越细,直至可以编写程序时为止。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http
25、:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/(3)结构化程序设计方法按顺序结构、选择结构、循环结构模式编写程序。见图9-4。 图9-4 自顶向下模块化设计方法http:/ http:/ http:/ http:/ http:/ http:/ ht
26、tp:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/3算法和数据结构算法和数据结构有密切的关系。明确了算法才能设计出好的数据结构,反之选择好的算法又依赖于数据结构。算法就是求解问题的方法,一个算
27、法由一系列求解步骤完成。正确的算法要求组成算法的规则和步骤的含义是唯一确定的,没有二义性的,指定的操作步骤有严格的次序,并在执行有限步骤以后给出问题的结果。求解同一个问题可能有多种算法,选择算法的标准是可靠性、简单性、易理解性以及代码效率和执行速度。描述算法的工具之一是流程图又称框图,它是算法的图形描述,具有直观、易理解的优点。前面章节中许多程序算法都用流程图表示。流程图可以作为编写程序的依据,也是程序员之间的交流工具。流程图也采用由粗到细,逐步细化,足够明确后就可以编写程序。数据结构是指数据对象、相互关系和构造方法。不过单片机中数据结构一般比较简单,多数只采用整型数据,少数采用浮点型或构造性
28、数据。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/4程序设计语言选择和编写程序单片机中常用的程序设
29、计语言为汇编语言和C51语言。对于熟悉指令系统并且有经验的程序员,喜欢用汇编语言编写程序,根据流程图可以编制出高质量的程序。对于指令系统不熟悉的程序员,喜欢用C51语言编写程序,用C51语言编写的结构化程序易读易理解,容易维护和移植。因此程序设计语言的选择是因人而异的。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- h
30、ttp:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/9.1. 系统的调试技术系统调试包括硬件调试、软件调试和软、硬件系统联调。根据调试环境不同,系统调试又分为模拟调试与现场调试。各种调试所起的作用是不同的,它们所处的时间段也不一样,不过它们的目的都是为了查出用户系统中存在的错误或缺陷。系统调试的一般过程如图9-5。 图9-5 系统调试的一般过程http:/ http:/ http:/ http:/ http:/ http:/ htt
31、p:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ 单片机应用系统调试工具 当用户样机完成硬件和软件设计,全部元器件安装完毕后,在用户样机的程序存储器中放入编写好的应用程序,系统即
32、可运行。但应用程序运行一次性成功几乎是不可能的,多少会存在一些软件、硬件上的错误,需借助单片机的系统调试工具进行调试,发现错误并加以改正。最常用的调试工具有单片机开发系统、万用表、逻辑笔、逻辑脉冲发生器与模拟信号发生器、示波器和逻辑分析仪等几种。其中,万用表、示波器及开发系统是最基本的、必备的调试工具。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk-
33、 http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ 单片机仿真开发系统简介 单片机只是一个芯片,既没有键盘,又没有CRT、LED显示器,无法进行软件的开发(如编辑、汇编、调试程序等),必须借助某种开发工具(也称为仿真开发系统)所提供的开发手段。一般来说,仿真开发工具应具有如下最基本功能:1)用户样机程序的输入与修改;2)程序的运行、调试(单步运行、设置断点运行)、排错、状态查询等功能
34、;3)用户样机硬件电路的诊断与检查;4)有较全的开发软件。用户可用汇编语言或C语言编制应用程序;由开发系统编译连接生成目标文件、可执行文件。配有反汇编软件,能将目标程序转换成汇编语言程序;有丰富的子程序可供用户选择调用;5)将调试正确的程序写入到程序存储器中。 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:
35、/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/目前国内使用较多的仿真开发系统大致分为如下两类:1)通用机仿真开发系统目前设计者使用最多的一类开发装置,是一种通过PC机的并行口、串行口或USB口,外加在线仿真器的仿真开发系统,如图9-6所示。在线仿真器一侧与PC机的串口(或并口、USB口)相连。在线仿真器另一侧的仿真插头插入到用户样机的单片机插座上,对样机的单片机进行“仿真”。从仿真插头向在线仿真器看去,看到的就是一个“单片机”。 这个
36、“单片机”是用来“代替”用户样机上的单片机。但是这个“单片机”片内程序的运行是由PC机上的软件控制的。由于在线仿真器有PC机及其仿真开发软件的强大支持,可以在PC机的屏幕上观察用户程序的运行情况,可以采用单步、设断点等手段逐条跟踪用户程序并进行修改和调试,以及查找软、硬件故障。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fa
37、g- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/图9-6 通用机仿真开发系统http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ htt
38、p:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/在线仿真器除了“出借” 单片机外,还“出借”存储器,即仿真RAM。就是说,在用户样机调试期间,仿真器把开发系统的一部分存储器“变换”成为用户样机的存储器。这部分存储器与用户样机的程序存储器具有相同的存储空间,用来存放待调试的用户程序。在调试用户程序时,仿真器的仿真插头必须插入用户样机空出的单片机插座中。当仿真开发系统与PC机联机后,用户可利用PC机上的仿真开发软件,在PC机上编辑、修改源程序,然后通
39、过交叉汇编软件将其汇编成机器代码,传送到在线仿真器中的仿真RAM中。这时用户可用单步、断点、跟踪、全速等方式运行用户程序,系统状态实时地显示在屏幕上。程序调试通过,再使用编程器器,把调试完毕的程序写入到单片机内的Flash存储器中或外扩的EPROM中。此类仿真开发系统是目前最流行的仿真开发工具。配置不同的仿真插头,可以仿真开发各种单片机。通用机仿真开发系统中还有另一种仿真器:独立型仿真器。该类仿真器采用模块化结构,配有不同外设,如外存板、打印机、键盘/显示器等,用户可根据需要选用。在工业现场,往往没有PC机的支持,这时使用独立型仿真器也可进行仿真调试工作,只不过要输入机器码,稍显麻烦一些。ht
40、tp:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/2)软件仿真开发工具Proteus它是一种完全用软件手段对
41、单片机应用系统进行仿真开发的。软件仿真开发工具与用户样机在硬件上无任何联系。通常这种系统是由PC机上安装仿真开发工具软件构成,可进行应用系统的设计、仿真、开发与调试。使用Proteus软件进行仿真开发时,编译调试环境可选用Keil C51 Vision 4软件。该软件支持众多不同公司的MCS-51架构的芯片,集编辑、编译和程序仿真等于一体,同时还支持汇编和C语言的程序设计,界面友好易学,在调试程序、软件仿真方面有很强大的功能。用Proteus软件调试不需任何硬件在线仿真器,也不需要用户硬件样机,直接就可以在PC机上开发和调试单片机软件。调试完毕的软件可以将机器代码固化,一般能直接投入运行。尽管
42、Proteus软件具有开发效率高,不需要附加的硬件开发装置成本。但是软件模拟器是使用纯软件来对用户系统仿真,对硬件电路的实时性还不能完全准确地模拟,不能进行用户样机硬件部分的诊断与实时在线仿真。因此,在系统开发中,一般是先用Proteus设计出系统的硬件电路,编写程序,然后在Proteus环境下仿真调试通过。然后依照仿真的结果,完成实际硬件设计。再将仿真通过的程序烧录到编程器中,然后安装到用户样机硬件板上去观察运行结果,如有问题,再连接硬件仿真器去分析、调试。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:
43、/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ 硬件调试 单片机应用系统的软硬件调试是分不开的,通常是先排除明显的硬件故障后再和软件结合起来进行调试。常见的硬件故障有逻辑错误、元器件失效、可靠性差和电源故障等。硬件调试可分
44、静态调试与动态调试两步进行。其中,静态调试是在用户系统未工作时的一种硬件检查;动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件间连接逻辑错误等的一种硬件检查。由于单片机应用系统的硬件动态调试是在开发系统的支持下完成的,故又称为联机仿真或联机调试。在进行硬件调试时先进行静态调试,用万用表等工具在样机加电前根据原理图和装配图仔细检查线路,核对元器件的型号、规格和安装是否正确;然后加电检查各点电位是否正常;接下来再借助仿真器进行联机调试,分别测试扩展的RAM、I/O口、I/O设备、程序存储器以及晶振和复位电路,改正其中的错误。 http:/ http:/ http:/
45、 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ 软件调试 软件调试就是排查系统软件中的错误。常见的软件错误有程序失控、中断错误
46、(不响应中断或循环响应中断)、输入/输出错误和处理结果错误等类型。通常是把各个程序模块分别进行调试,通过后再组合到一块进行综合调试。达到预定的功能技术指标后即可将软件固化。1) 先独立后联机从宏观来说,单片机应用系统中的软件与硬件是密切相关、相辅相成的。软件是硬件的灵魂,没有软件,系统将无法工作;同时,大多数软件的运行又依赖于硬件,没有相应的硬件支持,软件的功能便荡然无存。因此,将两者完全孤立开来是不可能的。然而,并不是用户程序的全部都依赖于硬件,当软件对被测试参数进行加工处理或作某项事务处理时,往往是与硬件无关的,这样,就可以通过对用户程序的仔细分析,把与硬件无关的、功能相对独立的程序段抽取
47、出来,形成与硬件无关和依赖于硬件的两大类用户程序块。这一划分工作在软件设计时就应充分考虑。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ ht
48、tp:/ http:/ http:/2) 先分块后组合如果用户系统规模较大、任务较多,即使先行将用户程序分为与硬件无关和依赖于硬件两大部分,但这两部分程序仍较为庞大的话,采用笼统的方法从头至尾调试,既费时间又不容易进行错误定位,所以常规的调试方法是分别对两类程序块进一步采用分模块调试,以提高软件调试的有效性。 在调试时所划分的程序模块应基本保持与软件设计时的程序功能模块或任务一致。除非某些程序功能块或任务较大才将其再细分为若干个子模块。但要注意的是,子模块的划分与一般模块的划分应一致。3) 先单步后连续调试好程序模块的关键是实现对错误的正确定位。准确发现程序(或硬件电路)中错误的最有效方法是采
49、用单步加断点运行方式调试程序。单步运行可以了解被调试程序中每条指令的执行情况,分析指令的运行结果可以知道该指令执行的正确性,并进一步确定是由于硬件电路错误、数据错误还是程序设计错误等引起了该指令的执行错误,从而发现、排除错误。 http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn-
50、http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ 系统联调 系统联调主要解决以下问题:(1) 软、硬件能否按预定要求配合工作?如果不能,那么问题出在哪里?如何解决?(2) 系统运行中是否有潜在的设计时难以预料的错误?如硬件延时过长造成工作时序不符合要求,布线不合理造成有信号串扰等。(3) 系统的动态性能指标(包括精度、速度参数)是否满足设计要求? http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/
51、 http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ 现场调试 一般情况下,通过系统联调后,用户系统就可以按照设计目标正常工作了。但在某些情况下,由于用户系统运行的环境较为复杂(如环境干扰较为严重、工作
52、现场有腐蚀性气体等),在实际现场工作之前,环境对系统的影响无法预料,只能通过现场运行调试来发现问题,找出相应的解决方法;或者虽然已经在系统设计时考虑到抗干扰的对策,但是否行之有效,还必须通过用户系统在实际现场的运行来加以验证。另外,有些用户系统的调试是在用模拟设备代替实际监测、控制对象的情况下进行的,这就更有必要进行现场调试,以检验用户系统在实际工作环境中工作的正确性。http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- ht
53、tp:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/9.1.5 系统的可靠性设计 1硬件的可靠性设计单片机应用系统可靠性设计中,先应考虑硬件设计的可靠性。(1)应考虑元件的失效问题,如元件本身的缺陷和工艺问题。(2)要特别注意元器件的正确选择、使用和替换。 对于电阻和电容,要考虑其标称值和误差、额定功率、频率特性及耐压值等; 对于C
54、MOS集成电路,应注意输入电压不能超过其电源电压,也不能低于0V,未用的输入端必须与电源或地端相接,而输出端则不许短路,在焊接时如用交流电烙铁则应先切断电源,利用余热进行焊接; 对于TTL集成电路,其电源不能超过5+0.25V,未用的门电路的输入端应并接到该片要使用的输入端上,输出端则接高电平,并注意加上适当的去耦电容等。(3)应考虑环境条件对硬件参数的影响,如温度、湿度、电源及各种干扰等。因此,元器件的选择应遵循降额使用的原则,留出一定的余地。在结构中要控制工作环境的条件,如通风、除湿、除尘等,注意对噪声的抑制,必要的时候可以考虑采用冗余设计。http:/ http:/ http:/ htt
55、p:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/2软件的可靠性设计在单片机应用系统中,软件就是系统的监控程序。软件和硬件是密切相关的,软件错误主要来自
56、设计上的错误。要提高软件的可靠性,必须从设计、测试和长期使用等方面来考虑。因此,在设计中一定要十分认真。(1)要正确地使用中断。由于监控系统中中断处理是很常用的设计方法,在主程序和中断程序的安排上应考虑时间分配问题,可以采用定时中断或随机事件中断。(2)要将整个系统软件根据功能划分为若干个相对独立的模块,这样便于多人分工编写和程序的调试。(3)根据现场技术指标和具体的控制精度要求选取适当的控制策略,有些测控因素关联度较大的对象,应采用多种控制策略。同一控制对象的不同调节参数可以采用不同的控制算法。但是,软件的可靠性设计没有统一的模式,应根据各个具体的硬件系统和测控对象灵活地采用不同的方法。ht
57、tp:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/3系统的抗干扰设计 (1)干扰源及干扰途径单片机系统中的干
58、扰有多种类型。干扰的主要来源有:1) 来自空间辐射的干扰。可控硅逆变电源、变频调速器、发射机等特殊设备在工作时会产生很强的干扰,在这种环境中单片机系统难以正常运行;2) 来自电源的干扰。各种开关的通断、火花干扰、大电机启停等现象在工业现场很常见,这些来自交流电源的干扰对单片机系统的正常运行危害极大;3) 来自信号通道的干扰。在实际的应用系统中,测控信号的输入/输出是必不可少的。在工业现场中,这些I/O信号线、控制线有时长达几百m,不可避免地会把干扰引入到系统中。如果受控对象是强干扰源,如可控硅、电焊机等,则单片机系统根本就无法运行。http:/ http:/ http:/ http:/ htt
59、p:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/http:/www.zg- http:/www.skf- http:/ http:/www.skf- http:/www.nsk- http:/www.fag- http:/ http:/www.ntn- http:/ http:/ http:/ http:/ http:/ http:/www.xunchi- http:/ http:/ http:/ http:/ http:/(2)硬件抗干扰措施根据干扰的产生及传输特点,在硬件上可以采取措施有:1) 硬件屏蔽。将系统安装在对电磁辐射干扰具有
60、屏蔽作用的金属机箱中,并进行正确接地,可以有效地抑制强电设备产生的空间辐射干扰。2) 光电隔离。对于开关量信号用光电耦合器隔离以后再进行输入/输出,对于模拟量信号可选用光电隔离器或变压器隔离后再进行输入/输出,并使用双绞线或屏蔽线进行信号传输,这样就可以有效地克服信号传输通道带来的干扰。3) 电源滤波。对于来自电源的干扰,可采用低通滤波器以及带有屏蔽层的电源变压器来进行抑制。4) 电源去耦。对于系统中每一片集成电路,在电源和地之间都加上去耦电容,既是本芯片的蓄能电容,还能抑制高频噪声。5) 在满足要求的前提下尽量用较低的时钟频率和低频的器件。6) 合理布置元件在线路板上的位置,把模拟电路、高速
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学《高层建筑结构设计》2021-2022学年第一学期期末试卷
- 吉首大学《曲式与作品分析1》2021-2022学年第一学期期末试卷
- 吉林艺术学院《数字虚拟化制作》2021-2022学年第一学期期末试卷
- 车辆赔偿协议书范文文并茂
- 2024年大型烟酒店转让合同范本
- 自来水抢修劳务协议书范文模板
- 2022年辽宁省公务员录用考试《行测》真题及答案解析
- 2014河南中考道德与法治真题及答案
- 环保项目立项管理流程
- 2024个人汽车转让合同范本
- 2024年浙江杭州滨江城建发展有限公司招聘笔试参考题库含答案解析
- 枪库应急处置预案
- 处理不同类型客户的技巧与策略
- 《凸透镜成像的规律》课件
- 仓库管理中的客户服务和沟通技巧
- 规划选址及用地预审
- 土砂石料厂项目融资计划书
- 2024年给药错误护理不良事件分析持续改进
- 电力行业网络安全
- 《北京大学介绍》课件
- 提升员工营销能力的企业教育培训
评论
0/150
提交评论