程晓鹏
摘要:本文通过分析嵌入式系统CPU信号的控制及工作时序的静态调试,对常见的电路系统的测试以及硬件故障定位进行一定阐述,希望能为相关人员提供参考借鉴。
关键词:嵌入式系统;CPU;静态调试
中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2018)11-0157-01
随着嵌入式系统运营范围愈加广泛,硬件开发特变得更加复杂。分析嵌入式系统硬件调试,对于实现规范化企业各项工业生产应用、大规模生产有着非常重要意义。通过硬件调试也能够方便嵌入系统的准确开发,但是对于一些开发能力较弱,生产能力较小的企业来说,硬件调试的成本较高。本文针对嵌入式系统开发各个硬件特性。提出了一些经济有效的测试方法,希望能为企业应用。
1 常见嵌入式系统硬件特征和调试方式
1.1 硬件特征
一个完整的嵌入式硬件系统需要有控制器、存储器、显示接口、信息接口等硬件。根据硬件发挥作用和适用范围不同,还会存在如、A/D接口和D/A接口、这些接口将直接作用于模拟信号处理相关的电路。
1.2 硬件调试
在基于微控制器产生控制系统信号的基础上,嵌入式系统通过对信息分析和流向控制,从而实现整个系统特定功能操作。对于信号反应流程,程序实现常借助于CPU外部时序信号。在某种意义上来说,CPU产生对时序信号控制起到了关键性调试作用。因此,通过模仿CPU的各项功能,就可以摆脱微控制器的约束,独立地对硬件进行测试。在此基础上,很多仿真器都被用来进行调试测试。不过这种仿真器只能实现指令级的调试,不能执行信息的处理。对于一些多款嵌入系统开发并不实用,对于事件故障判定不敏感[1]。
本文的提出硬件测试功能建议正是基于CPU系统时序信号的模拟,从而实现嵌入式系统硬件的故障定位以及相关调试。现将常见的MCS-51微控制器嵌入系统相关调试为例,对具体调试和应用进行可行性分析。
2 调试原理分析
如图1所示,MCS-51的相关储存操作需要经过a段取读以及b段写入以及c段读时序。
根据读取时序信号的类型不同可以借助CPU调试处理的流程和原理如[2]:(1)CPU对于外部数据的读取:数据先是对PO、P2口进行数据输送,当ALE接到有效指令后会产生信号对A0-A7实现封锁。等到RD有效性信号发出后,A0-A15和RAM单元将数据读出,在经过PO口将信号传回CPU实现对外部的数据的读取。(2)外部数据的译写:类似于外部数据的读取,通常是在WD实现信号指令后,将PO口数据写入A0-A15相关RAM单元,实现数据的完成译写流程。(3)对于程序储存器CPU时序读取:读取时候现将ALE地址信号进行有效锁存,同时为了保证P2口送出的A8-A15信号有效,将PO口输出的A0~A7信号进行锁存。当PSEN信号进行指令发挥时候能够将信息从PO口输入CPU程序内部,实现储存器的读程序指令。(4)对于外部1/0接口的扩展访问:通常在8031系统中没有特定该类型接口的指令。采用的方法一般是外部数据储存、同一地址编址,因此和外部的RAM时序处理方法一致。(5)静态调试:为了实现MCS-51系统嵌入式核心硬件调试,需要借助逻辑点落产生的相关信号如WR、PO等,实现逻辑电平信号的调试。该类型不同与CPU的动态运行,被称为“静态调试”,究其作用,该方法更能分析内部电路连接、期间逻辑性的正常与否,适合后续调试工作。
3 静态调试
3.1 CPU模拟原理
建立一个简单的硬件调试系统,CPU信号的产生离不开几点调试工具:(1)WE:进行信息译写功能;(2)ALE:常用的地址鎖存信号;(3)RD:对于外部数据储存信号控制分析;(4)PSEN:对于外部程序储存器控制信号;(5)低8位地址/数据信号(P0.0-P0.7)、高8位地址信号(P2.0-P2.7)。
通过以上信号以及处理工具的帮助,能够实现CPU在电路驱动后产生对应时序仿真信号,同时也能利用驱动器产生反向LED信号实现状态监控功能。针对于1/O信号制定相关信号灯指令。同时,仿真信号在通过相关设备链接下能够实现与CPU信号的同步更新,通过待测系统调试板控制CPU位置就能实现调试。通过以上静态调试流程后,将CPU进行恢复就能进行下一步开发工作。
3.2 对于常见调试案例分析
通过CPU时序信号的相关控制与操作能够实现待测系统整个电路结构和模块的统一调试,方便对于电路系统的全面检测和故障定位分析。下面通过列举相关案例分析通过端口排除硬件故障的调试方法。配合安装和调试工具能显示电路运行状态,在模拟CPU工作时序时候,能够将电路组件各个部位的执行情况利用控制信号反馈。对应处理流程如:
(1)对于1/O端口的访问调试:首先通过Sa0-5a15产生端口地址,在系统加电基础上,产生相关的ALE正脉冲,将IC3(373)将低8位信号进行锁存,因为PO端口和373的输出是隔离,因此不会影响373功能输出,保证地址锁存功能正确。同时,让P2口接1C2进行驱动输入。在判断IC2信号下对高8位地址信号相关电路信号进行分析性,若IC2正确,IC6就会输出信号。(2)对于端口数据读取测试:此项测试前提是让Sa0-Sa7之间的调试工具相互隔开,减少因为应注意将调试工具开关P0.0-P0.7信号反馈造成电路短路发生频率。通过让ScR发出有效信号RD信号,经IC5(244)驱动送出在1C6译码器翻译成有效信号,在1C8(245)运行基础上,将相关数据反馈P0口,借助调试工具将相关数据同端口输出。这种方式能够控制相关信号的阐释、实现器件、线路故障对应排除工作,适用于多种电路模块组件调试。
4 结语
本文分析了在CPU时序控制信号调试方面各个流程,帮助对嵌入式硬件开发中相关电路组件、电路板的排查和故障定位,有助于开发人员对于硬件调试各项应用。
参考文献
[1]王娟.基于ARM7的嵌入式系统虚拟实验平台的设计[J].电子设计工程,2017(13):135-138+142.
[2]职燕,蒋存波,徐健,等.嵌入式系统硬件调试方法的研究与设计[J].电测与仪表,2006(4):49-51.
Research and Design of Embedded System Hardware Debugging Method
CHENG Xiao-peng
(Gaoxinxing Science and Technology Group Co., Ltd. , Guangzhou Guangdong 510530)
Abstract:By analyzing the control of CPU signal and static debugging of working sequence in embedded system, this paper expounds the common circuit system test and hardware fault location, hoping to provide reference for relevant personnel.
Key words:embedded system; CPU; static debugging