




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.1开发系统的组成与功能7.2应用系统调试7.3单片机仿真系统举例习题7单片机应用系统设计完成以后,首先要做的就是样机调试,要检查电路装配是否正确,程序设计是否合理,功能调试完成后还要将程序写入存储器中,这些都必须借助单片机开发系统来完成。单片机开发系统一般由PC机、仿真器、仿真头、仿真软件、电源和目标板组成,如图7.1所示。
单片机开发系统是在通用计算机(PC机)的基础上增加了目标系统的在线仿真器及安装在PC机上的编程器、汇编程序和模拟仿真软件等组成的。7.1开发系统的组成与功能其中,仿真器本身也是一个单片机系统。当一个单片机应用系统(目标系统)装配完成后,其自身并无调试能力,无法验证其功能,我们可以把应用系统中的单片机芯片拔掉,插上在线仿真器提供的仿真头,此时整个仿真系统就仿真了一个可以随时检查内部设置的单片机了。仿真器的另一端通过RS-232口与PC机相连。在开发系统上通过在线仿真器调试
单片机应用系统时,利用PC机及仿真器的资源模拟单片机的功能,就像使用应用系统中真实的单片机一样,这种“替代”称之为“仿真”。图7.1单片机开发系统组成框图单片机开发系统有通用型和专用型两类。通用型单片机开发系统配备多种在线仿真头和相应的开发软件,使用时,只需更换系统中的仿真头,就能开发相应的单片机系统或可编程器件。专用开发系统只能仿真一种类型的单片机。无论是通用型还是专用型,单片机开发系统都具有以下内容所讲的功能。7.1.1在线仿真功能
在线仿真器的英文名为InCircuitEmulator(简称ICE)。ICE是由一系列硬件构成的设备。开发系统中的在线仿真器应能仿真目标系统(即应用系统)中的单片机,并能模拟目标系统的ROM、RAM和I/O端口等。使用在线仿真时,目标系统的运行环境和脱机运行的环境完全“逼真”,以实现目标系统的一次性开发。仿真功能具体地体现在两个方面。
1.单片机仿真功能
在线仿真时,开发系统应能将在线仿真器中的单片机完整地出让给目标系统,不占用目标系统单片机的任何资源,使目标系统在仿真调试和脱机运行时的环境(工作程序、使用的资源和地址空间)完全一致,实现完全的一次性仿真。
单片机的资源包括:片内的CPU、RAM、ROM、SFR、定时器、中断源、I/O端口及外部可扩充的程序存储器和数据存储器的地址空间。这些资源应允许目标系统充分自由地使用,不受任何限制,使目标系统能根据单片机固有的资源特性进行硬件设计和软件编程。
2.模拟功能
在开发目标系统过程中,开发系统允许用户使用其内部的RAM存储器和I/O端口来替代目标系统中的ROM程序存储器、RAM数据存储器和I/O端口,使用户在目标系统样机还未完成装配之前,便可以借助开发系统提供的资源进行软件编程和模拟仿真。
在系统软件设计和调试过程中,用户编写的程序必须存放在开发系统RAM存储器内,以便于对程序进行调试和修改。开发系统所能出让的可作为目标系统程序存储器RAM的容量和地址映射应与目标系统完全一致。7.1.2调试功能
开发系统对目标系统软、硬件调试功能的强弱,将直接影响开发效率。一般来讲,单片机开发系统应具有以下调试功能:
1.运行控制功能
开发系统能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。
(1)单步运行:允许CPU从任意程序地址开始,一条一条地执行指令,每执行一条指令后停止运行,以便检查运行状态。
(2)断点运行:允许用户任意设置断点条件,启动CPU从规定地址运行程序,当符合断点条件时停止运行。
(3)全速运行:CPU从指定地址开始连续全速运行目标程序。
(4)跟踪运行:跟踪程序走向,逐条执行指令,并可以跟踪到子程序中运行。
2.目标系统状态检测功能
当CPU停止执行目标系统的程序后,允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。允许用户读出/修改的目标系统资源包括:
(1)可以随时修改开发系统中的仿真RAM存储器内容或目标机中的程序存储器内容。
(2)可以修改单片机内部工作寄存器、特殊功能寄存器、I/O端口状态、RAM数据存储器及位单元等的内容。
(3)能够很方便地修改系统中扩展的数据存储器内容和I/O端口状态。
3.跟踪功能
在系统研发过程中,专门购置逻辑分析仪当然是十分有用的,但由于逻辑分析仪价格较高,对于大多数研发人员来说,拥有一台逻辑分析仪就不太现实了。好在近期推出的单片机开发系统具有仿真逻辑分析仪的功能,在目标程序运行过程中,能跟踪存储目标系统总线上的地址、数据和控制信号的变化状态,跟踪存储器能同步记录总线上信息的变化过程。用户可以根据需要显示跟踪存储器搜集到的信息,也可以显示某一位总线状态变化的波形,掌握总线上的状态变化过程,这样能清楚地判断信号时序,从而快速找到故障的准确位置。7.1.3辅助设计功能
软件辅助设计功能的强弱是衡量单片机开发系统性能高低的重要标志。单片机应用系统软件开发的效率在很大程度上取决于开发系统的辅助设计功能。
1.程序设计语言
单片机的程序设计语言有机器语言、汇编语言和高级语言。
机器语言只在简单的开发装置中才使用,程序的设计、输入、修改和调试都很麻烦。因此,机器语言只能用来开发一些非常简单的单片机应用系统。汇编语言具有使用灵活、直观明了、程序容易优化的特点,是单片机应用系统中最常用的程序设计语言。相对而言,用汇编语言编写程序比较麻烦,要求研发者非常熟悉单片机的指令系统,具有一定的编程经验,才能设计出高效的应用程序。
高级语言通用性好,程序设计人员只需掌握开发系统所提供的高级语言,就可以直接编写程序。MCS-51系列单片机常用的高级语言有PL/M51、C-51、MBASIC-51等。
编译型高级语言可生成机器码,解释型高级语言必须在解释程序支持下直接解释执行,因此把编译型高级语言作为单片机开发语言。单片机开发系统可以支持多种高级语言,目前广泛采用的是C语言,当然,针对具体的开发系统会有一些特殊规定。
2.编译程序
单片机大多应用于硬件环境相对简单的嵌入式系统中,一般直接使用机器代码程序。通常借助开发系统提供的编译软件将用户设计的源程序翻译成目标程序。
单片机开发系统与PC机连接,允许用户使用PC机的编辑环境编写汇编语言或高级语言程序。可以充分利用PC机的编辑环境,方便地将源程序输入到计算机开发系统中,生成汇编语言或高级语言的源文件。然后利用开发系统提供的交叉汇编或编译系统,将源程序编译成可在单片机上直接运行的目标程序。7.1.4程序固化功能
在系统调试阶段,应用程序尚未调试完成时,可借用开发系统的存储器进行修改、调试和存储程序。当系统调试完成,确认软件功能正常后,要将调试完成的程序固化到应用系统的单片机(片内有程序存储器的单片机)或片外程序存储器(片内无程序存储器或片内程序存储器不够使用时)中,程序写入器(也叫编程器)就是用来完成这一任务的,是单片机开发系统的重要组成部分。编程器可以将完成调试、编译的目标程序写入目标单元,从而实现单片机应用系统脱机工作(脱离开发系统单独工作)。当然,现在流行的写入器不仅具有各类单片机、存储器编程功能,而且还具有写入可编程逻辑器件和检测常用集成块状态等功能。7.2.1硬件调试方法
单片机应用系统的硬件调试和软件调试既有区别又有联系,是软硬件结合十分紧密的一个整体。许多硬件故障是在调试软件时才发现的,但通常是先排除系统中明显的硬件故障后,再与软件系统结合起来调试。
7.2应用系统调试
1.常见的硬件故障
1)逻辑错误
样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路等,其中短路是最常见最容易出现的故障。一般情况下,印刷电路板布线密度较高,易因制版工艺造成短路。
2)元器件失效
元器件失效的原因有两个方面:一是元器件本身已损坏或性能指标达不到电路要求,如电容器耐压不够,集成电路速率低等;二是由于组装错误造成的元器件失效,如电解电容、二极管的极性装反,三极管极性不正确及集成块安装错位等。
3)可靠性差
引起系统不可靠的因素很多,如电路板金属化孔不通、接插件接触不良造成系统时好时坏;内部和外部的高频辐射干扰,电源容量不足,工作电压不稳,总线驱动能力不够造成逻辑电平不稳定等。另外,信号连线不规则和电路板布局不合理也会引起系统可靠性降低。
4)电源故障
若样机中存在电源故障,则加电后将造成器件损坏。电源的故障包括电压值不符合设计要求,电源引出线和插座不对应,电源功率不足及负载能力差等。
2.硬件调试方法
1)脱机检查
脱机检查是在电路板未连接到开发系统之前的检查,分为静态检查和动态检查。
(1)静态检查。
静态检查是在电路板没加电的情况下,先直观地检查电路板上有没有明显的错误,根据硬件电路原理图和装配图仔细检查样机线路的正确性,核对元器件的型号、规格和安装是否符合要求,借助万用表等工具,检查有无短路、开路、线路板过孔不通等问题。应特别注意电路板电源线之间、电源线与地线之间有无短路现象,用三用表测量电路板电源端和地线之间的电阻,经确认无误后方可接通电路板上的电源,防止电源之间或电源与地之间短路而烧坏器件或电源。检查系统总线是否存在相互间的短路,接插件连接情况是否正确,信号线间有无短路、开路现象。
系统所用的直流电源,使用前必须单独调试。确认其电压值、负载能力、极性等均符合要求后,才能连接到系统的各个电路板上。
(2)动态检查。
经过静态检查,确认电路板电源端与地线之间电阻正常无短路,所用电源电压、极性、额定功率等均符合要求的情况下,才能给电路板加电。首先在电路板不插集成块的情况下,加电检查各插件上电源引脚的电位,测量各观察点电位是否正常,尤其应注意单片机插座上各点的电位是否正常,发现故障及时排除。确认各点电位正常后,关闭电源,分别插上集成块。
注意:此时应在插上一批集成块时加电,检查电源电压,各点电位是否正常,有无异常现象发生。若有,则及时排除,正常后再插一批,直到集成电路器件全部插上,各点电位均正常为止。否则,联机时可能会损坏仿真器。
2)联机调试
仿真器可以很方便地进行硬件功能测试,能够将动态执行的指令静态化,利用逻辑笔(一种十分有用的测试工具,参见8.4.1节)、三用表能够很容易地查出各种硬件连线及逻辑故障。利用仿真系统可以很方便地对硬件系统的基本功能进行测试。可以向存储单元写入/读出数据来检验译码器、存储器功能是否正常;采用循环向同一地址写入/读出数据,用逻辑笔检测写入/读出信号;向I/O端口写入数据,通过检测端
口输出电平来判断端口的工作状态。通过脱机检查可解决一些明显问题,排除一些简单故障。然而有些硬件故障需要通过联机调试才能发现和排除。
联机前先断电,把开发系统的仿真插头插到样机电路板的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好,确认正常后,打开电源。
加电后,开发机执行读/写指令,对样机电路板上的存储器、I/O端口进行读/写操作和逻辑检查,可用逻辑笔检测相应端的逻辑电平和脉冲信号,或用示波器观察信号波形(如输出、读/写控制信号、地址线、数据线波形以及有关控制电平等),判断其工作状态。若有故障,则应查明原因及时排除。在这一过程中,要充分利用开发系统的软件资源,通过编写简单的测试程序,来测试相应硬件模块的功能。例如,希望检查2000H地址的译码信号,可用以下程序:TEST:MOVEDPTR,#2000H
LOOP:MOVXA,@DPTR
NOP
SJMPLOOP
执行以上程序后,就会在译码器相应输出端输出一组译码脉冲信号,然后用逻辑笔进行检测,就可判断译码电路工作是否正常。
在用户系统的主机部分调试完成后,可以插上用户系统的其他外围部件,如键盘、显示器、输出驱动板及A/D、D/A转换板等,再对这些部件进行调试。7.2.2软件调试方法
软件调试方法与所选用的软件和程序结构有关。如果采用模块化程序设计,首先要逐个模块调试,然后进行软件功能调试;如果采用实时多任务操作系统,一般是逐个任务进行调试。对于模块化程序结构,要一个模块一个模块分别调试。调试模块程序时,一定要符合现场环境,确定好入口条件和出口状态。可采用单步运行方式或断点运行方式,通过检查用户系统CPU的状态、RAM单元的内容和I/O端口的状态来判断程序执行结果是否符合设计要求。通过检测,可以发现程序中存在的逻辑错误,同时也可以发现应用系统中的硬件故障、软件算法及硬件设计缺陷等。在调试过程中不断完善用户系统的软、硬件功能。各程序模块调试完成后,可以把各功能模块联合起来进行程序综合调试。在这一阶段,若发生故障,则可以考虑各子程序在运行时是否会破坏现场,缓冲单元是否会发生冲突,置位和清除在设计上是否会产生失误,堆栈区域是否会溢出,输入设备的状态是否正常等。若用户系统是在开发系统的监控程序下运行的,则还要考虑用户缓冲单元和监控程序的工作单元是否会发生冲突等。
单步和断点运行调试完成后,要进行连续运行调试,因为单步运行只能验证程序正确与否,而不能体现定时精度、CPU的实时响应等问题。全部软件调试完成后,应反复运行,除了观察系统稳定性外,还要观察应用系统的功能是否达到设计要求,必要时还要作适当修正。
实时多任务操作系统的调试方法与上述方法相似,只是实时多任务操作系统的应用程序是由若干个子任务程序组成的,一般是逐个任务进行调试。调试某一任务时,同时也可调试相关的子程序、中断服务程序等。各个任务调试完成后,将各个任务同时运行,如果操作系统没有错误,一般情况下系统就能正常运行了。7.3.1仿真器功能
仿真器功能主要有以下几点:
(1)一套完整的仿真系统由PC机、仿真器、仿真头及仿真软件组成,通过更换仿真头(POD)可以对各种CPU进行仿真。
(2)仿真软件一般采用Windows版本,支持汇编语言、C语言、PLM语言等混合编程,目前常用汇编语言和C语言编程,具有项目管理功能。
(3)双工作模式。7.3单片机仿真系统举例①软件模拟仿真(没有仿真器的情况下也能模拟仿真);
②硬件仿真。
(4)双CPU结构,不能占用用户资源。保证全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、事件断点,具有实时断点计数、软件运行时间统计功能。
(5)双集成环境。
程序编辑、编译、下载、调试全部集中在一个环境下进行。
(6)具有逻辑分析仪综合调试功能。
逻辑分析仪由交互式软件菜单窗口对系统硬件的逻辑进行同步实时采样,并实时在线调试分析。系统在使用逻辑分析仪时,除普通的单步运行、键盘断点运行、全速硬件断点运行外,还可实现各种条件组合断点设置。
由于逻辑分析仪可以直接对程序的执行结果进行分析,因此极大地方便了程序的调试。随着科学技术的发展,单片机在通信领域的应用越来越多。在通信功能的调试时,查找故障原因比较麻烦,有了逻辑分析仪,处理问题就方便多了。用它可以分别或者同时对发送方、接收方的输入、输出波形进行记录、存储、对比、测量等直观的分析,可以将实际输出信号波形与源程序相比较,就能及时发现问题的所在,提高调试效率。
(7)具有程序跟踪功能。
跟踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件及触发条件。跟踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,总线跟踪可以跟踪程序的运行轨迹,统计软件运行时间等。7.3.2仿真器硬件介绍
1.仿真头
仿真头是指仿真器与系统板连接的、能够替代CPU的电路板,图7.2是伟福E2000型仿真系统的POD8X5X仿真头示意图。
选用40脚DIP封装的转接座、44脚PLCC封装的转接、2051转接座可以仿真多种型号的单片机。
2.仿真器简介
用于仿真P0、P2口作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市河道清淤施工方案
- 工地施工劳务用工合同
- 土地出让合同补充协议
- 霓虹灯施工方案
- 合金网兜施工方案
- 配电线路施工方案
- 南通轻质混凝土施工方案
- 塑料管卡箍连接施工方案
- 临朐立柱宣传栏施工方案
- 建筑工程劳务用工协议
- 马克思主义与社会科学方法论习题与答案
- 建信融通数字证书使用承诺函范本
- 印花烘干机操作规程
- 部编版小学四年级语文下册同步练习试题及答案(全册)
- 学校维修改造工程投标方案(完整技术标)
- (完整word版)中小企业划型标准一览表
- 非暴力沟通(完整版)
- 汽车维修公务车辆定点维修车辆保养投标方案
- (新统编版)语文八年级上册 第四单元 大单元教学设计
- 辅酶Q10-心脏安全卫士课件
- 申根签证在职证明模板中英双语备课讲稿
评论
0/150
提交评论