×

单片机应用测试内容及实现方法资料下载

消耗积分:2 | 格式:pdf | 大小:215.16KB | 2021-04-02

12268

分享资料个

  1 引 言     单片机以其体积小、功耗低、应用灵活、性价比高等优势,广泛地应用在仪表、家用电器智能化和等领域。在我军新型电子装备中,单片机的应用也很普遍。当这些装备出现故障时,可利用机内自检程序将故障定位到印制。因此,电路板的性能测试及故障诊断就成为装备维修工作中的重点。我们在研制电子装备通用自动测试系统时,将PCB的测试,尤其是带单片机的PCB(简称CPU板)的故障诊断作为难题之一来研究。CPU板的测试和诊断与普通板有相同之处,也有其自身的特点,因为CPU板是总线结构的PCB板,其总线结构中的总线器件(如:RAM、ROM等)随着程序指令的进行而完成不同的功能,管脚数据信息随着程序的执行不断变化,一般采用仿真方法进行测试。仿真测试是将单片机系统开发的仿真器应用于电路板测试。一般的仿真测试方法有:处理器仿真测试、存储器仿真测试、总线周期仿真测试、DMA仿真测试等。对非总线器件(如:逻辑器件、时序器件等)进行测试,可利用隔离技术注入测试激励,采集相应节点的响应进行在线测试、功能测试等。通过权衡被测装备CPU板的性能、种类及其测试速度的要求,我们在测试系统中选择了处理器仿真测试与自动探针测试相结合的方法。     2 测试内容及实现方法     CPU板上一般有单片机、ROM、RAM、数字I/O及其他IC器件。被测CPU板由测试系统提供特定激励信号,执行专用测试程序,完成测试任务,在电路板输出端口产生输出信号。测试系统采集输出信号与预期信号进行门限比较,以判断电路板的功能是否正常。当功能测试无法通过时,测试系统利用程控探针对电路板内部关键节点进行信号采集,并与预定数据进行比较,通过故障树分析程序进行故障隔离与显示,将故障确定到一个或几个器件。对无法利用测试程序进行判断的非总线逻辑和时序数字集成器件,可结合辅助IC夹具测试的方法,采用实时仿真测试方法进行故障诊断,将故障定位到某一集成器件。   完成上述CPU板的性能测试和故障诊断需要用到以下几种技术支持。     2.1 处理器仿真测试技术     电路板本身携带的工作程序无法提供测试系统所需的测试向量并完成测试任务。测试开发人员需  要根据被测电路板的工作原理、及器件种类,编译相应的单片机程序,以实现复杂的测试算法,并将单片机测试程序编辑成库。测试操作人员在对特定电路板进行功能测试时,首先用与被测板上的单片机相对应的仿真头取代被测板上的单片机,测试系统调用开发的单片机程序并写入仿真机中,然后执行仿真机脱机运行状态,利用仿真系统对被测板上的总线器件进行读/写操作,判断其功能是否正常。因目前单片机仿真开发与调试技术已日见成熟,只需对市场上供应的单片机仿真器硬件及软件进行少量改进,就能应用到通用自动测试系统中。处理器仿真测试的优势是:以与被测板相同的工作速率进行动态功能测试;可实现复杂的测试算法,易于生成复杂的测试图形;对总线器件测试故障覆盖率较高;由于采用市场成熟的仿真技术,开发工作量较少。     2.2 程控探针自动检测技术     程控自动探针可程控定位探测点并刺穿防护层,获取检测信号。它利用步进电机开环控制,由电机驱动完成探针的矢量移位,探针接触电路焊点的压力可调。此装置有两种工作状态:远控和本地。程控信号使用IEEE488接口实现,检测信号由专用电缆引出。在对被测PCB进行开发时,首先对被测PCB在程控探针装置上的物理位置进行校准,一般选取两个校准点记录在案;再通过人工辅助定位方式确定所选节点的坐标参数,此时用到了其本地功能:利用控制面板上的位移键将探针准确定位到被测节点;再执行其远控功能,由计算机准确读取并记录坐标参数;将测试点坐标参数调入测试程序,计算测试点与当前探针所在位置的距离,调用设备的抬针、位移命令,将探针定位在被测节点处,再调用落针、相对位移划破涂层程序,控制矩阵开关、测量仪器进行测量,记录检测数据。此自动检测方法与传统的人工检测方法相比,自动化程度高,人为故障少。与针床相比,通用性好,且测试速度相对较快,适应目前芯片集成度高、安装密集的发展趋向。但对异型PCB进行测试时,因电路板难于安装固定而无法进行检测。     2.3 数字实时仿真测试技术     对于处理器仿真测试无法涉及的非总线器件,辅助测试夹具可实现数字集成电路的检测。在测试系统中,我们摒弃传统的反驱动(Back Drive)技术,采用对电路器件工作环境进行实时仿真的测试方法,使用图形化编程工具提供的逻辑关系、条件函数建立仿真器件库,将实际被测器件的输入信息同步注入仿真器件的输入端,采集实际电路的输出数据,并与输入数据经逻辑关系、条件函数计算之后的仿真输出相比较,从而检测此集成电路的工作性能。组合逻辑器件的仿真实现较简单,根据功能表利用数学逻辑公式即可组建仿真器件。时序电路器件的输出不但与当时的输入有关,还和电路前一级时序状态有关,需要存储触发器所组成的存储电路进行记忆和表征,因此其组建过程需要解决时序电路的初态、存储和记忆等问题。我们选用HPVEE软件进行仿真,使用它的Math、Sample&Hold和ShiftRegister等特殊功能函数来实现仿真器件库的组建。   此技术避免了反驱动技术可能对CMOS电路带来的器件损坏,扩大了应用范围。改进锯齿形人工夹具增强了其刺破涂层的能力,减少了因接触不良带来的测试故障。但在仿真测试开发工作中,庞大的仿真器件库占用了大量空间,有可能影响运行速度。     3 实例分析     电子装备通用自动测试系统是集VXI总线技术和各种测试诊断技术于一体的新型、高性能综合测试系统,用于完成新型电子装备的性能测试与故障诊断。该系统硬件由主控计算机、VXI机箱及卡式仪器、程控交直流电源、通用适配器、程控探针定位仪组成;软件设计平台选择HPVEE,基本环境为Windows98,编程语言为HPVEE和VC++,汉化平台为中文之星。软件结构主要由被测件诊断信息库、系统编辑开发软件库、系统测试诊断数据库、系统测试诊断程序集、被测件测试诊断报告五部分组成。PCB的检测诊断是测试系统的主要功能之一。进行CPU板测试的系统结构如图1所示。          软件测试流程见图2,软件设计过程中,被测PCB板的性能测试与故障诊断可单独进行,也可连续进行,并对故障诊断历史记录进行保存。故障显示利用测试点图像显示方法,可调用被测板电路图,动态显示测试节点及故障隔离器件位置。          在本测试系统中从CPU板的核心(单片机)由内向外进行测试,既提高了故障诊断准确率,又提高了测试系统的故障覆盖率。另外需要提及的是:本系统中RAM测试采用k/n码提取图形法,其测试性能和测试时间基本满足被测武器装备的需求。ROM测试使用原码比较法,利用仿真机的附加功能,读取被测板上的实际工作程序代码,与系统保存的标准原程序代码进行比较,得出诊断结果,此方法无须添加硬件与软件,简单易行。   目前,已在该系统上完成了多种装备测试诊断软件的开发工作。通过故障模拟实验,计算机通信板、信息机CPU板、信息机通信板、火炮终端机CPU板、通信板等13种单片机应用电路板的典型故障均可被测试系统正确隔离。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'单片机应用测试内容及实现方法资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);