单片机系统硬件调试方法
单片机的系统硬件调试,通常有静态调试和动态调试两种不同,前者是通过目测、万能表测试、加电检查、联机检查的方法,在加电于样机之前.对样机的型号规格,以及安装要求等进行核对,同时检查电源系统.防止极性错误情况和电源短路情况的出现,同时对系统总线的重点检查后者则是在开发系统的基础上.利用开发系统的人机界面.访问和控制用户系统各个部分的电路.以找出系统运行过程中存在的问题.对故障进行一一排除。因此,单片机的系统硬件调试,需要从硬件的静态调试和动态调试两个角度人手:
单片机系统硬件的静态调试
1、逻辑故障的排除在制板设计和加工的过程中.由于工艺性的错误.单片机容易出现错线、开路和短路的问题。排除这种故障的方法是根据原理图,对照加工印制板.确保原理图和印制板的一致.同时检查电源系统,重点注意是否存在电源短路和极性错误的问题.具体的做法是检查地址、数据和控制总线.该过程可以利用数字万能表进行功能测试。另外,还需要检查元件是否失效.根据设计要求,检查其型号、规格和安装等,确保元件没有烧坏.以及安全无误.该过程可以采用替换法进行排除。
2、电源故障的排除
在通电之前.检查电源电压的辐值和极性,以免损坏集成块,在加电之后.对各个插件上引脚的电位进行检查.检查VCC和GND的电位.一般情况下电位为5-4.8V。如果属于高压通电,则要调试联机仿真器.经检查仿真器失效,则说明系统的集成块已经烧坏。
单片机系统硬件的动态调试
(1)利用示波器和万能表等基本工具,检查信号线的连结状态和时序.以便外围电路出现读写错误。单片机的信号线有多种类型,譬如读信号线、写信号线、时钟信号线、复位信号线等,这些信号线大多数发出脉冲信号.这种信号一般利用示波器观测.但观测效果并不佳,笔者认为要利用软件编程的方法.检测出译码片选信号.具体的做法将地址送人DPTRHE和将译码地址外RAM中的内容送入ACC,同时进行适当延时和循环.再利用示波器观测引出脚.非错误状态时存在周期性的负脉冲波形.否则表示译码信号存在错误。这种方法适用于电平类信号的测试.复位信号用示波器即可。
(2)在断电情况下,将所有的元器件插上,并连接在线仿真器和系统.然后打开电源和启动在线仿真器.进行在线仿真调试。在调试过程中.经常出现三种故障.第一种是通电之后,电源的指示灯不亮,以及电位系数为零.此时可以用万能表检测电源的插座。如果发现存在虚焊问题.对其进行重新焊接之后,再接人电源,发现指示灯正常亮起,说明电位已经开始趋于正常:第二种是3O脚用示波器进行检测.输出的时钟频率非常弱.此时则要检查3O脚是否接高电平.如果没有.则要进行重新焊接.直到稳定输出时钟脉冲;第三种是键盘按下之后,蜂鸣器不会发声,可以通过更换蜂鸣器.检查是否损坏。
(3)在启动定时功能之后.定时功能通过数码管提示。如果数码管上小数点管脚被烧坏.则可通过更换LED显示器.如果小数点显示仍然不正常,则要进行软件调试。语音模块的调试.要用逻辑电路调试,检查时钟芯片是否正常工作.如果掉电后不能够保存时钟的数据.则表示运行不正常.要求更换时钟芯片的电池。
(4)辅助交流电源漏电流检测保护装置应用的要求是.借助电流传感器.将电压传输并在液晶上显示.其中分为输入电流和输出电流两路漏电装置设计的方案是将微电流互感器配置在辅助电流上.以便检测时候显示具体的漏电流.同时设置漏电流的保护值.确定具体的保护信号。漏电保护装置的总体结构是由电流采样电流、电源模块、串行通信构成单片机.并提供数字输出功能、数字输入功能、键盘输入功能、液晶显示功能。漏电保护装置设置在机车上,可以显示漏电流量,并比较漏电流质和存储保护值,作为外部继电报警的依据。除此之外.我们还需要根据机车系统的扩展升级需求.选择合适型号单片机.其中高速、低功耗、抗干扰是单片机最基本的功能,其外围电路模块有利于抗干扰和保证电路输出输入的安全.而交流采样电路转变正旋交流电压.将信号输入单片机。
结束语
综上所述.单片机的系统硬件调试.包括静态调试和动态调试两种.需要检查元件是否失效.根据设计要求,检查其型号、规格和安装等.确保元件没有烧坏.同时利用软件编程的方法,检测出译码片选信号,具体的做法将地址送入DPTRHE和将译码地址外RAM中的内容送入ACC,同时进行适当延时和循环,再利用示波器观测引出脚.以及开发系统的基础上.利用开发系统的人机界面,访问和控制用户系统各个部分的电路,以找出系统运行过程中存在的问题.对故障进行一一排除。
谈谈单片机常用调试的接口:SWD、JTAG、Jlink、Ulink、STlink
搞嵌入式开发和ARM开发搞了半辈子了,调试程序是不可避免的。接触了那么多的调试规范、调试工具、调试手段,彼此之间的关系却也不是特别清楚,今天就来捋一捋:
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:
· TMS:测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;
· TCK:测试时钟输入;
· TDI:测试数据输入,数据通过TDI引脚输入JTAG接口;
· TDO:测试数据输出,数据通过TDO引 脚从JTAG接口输出;
JTAG协议在定义时,由于当时的计算机(PC机)普遍带有并口,因而在连接计算机端是定义使用的并口。而计算机到了今天,不要说笔记本电脑,现在台式计算机上面有并口的都很少了,取而代之的是越来越多的USB接口。所以,目前市场上已经很少看到它的身影了。
SWD接口
串行调试(Serial Wire Debug),应该可以算是一种和JTAG不同的调试模式,使用的调试协议也应该不一样,所以最直接的体现在调试接口上,与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。
SWD和传统的调试方式区别:
· SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败,但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用SWD模式的,只要你的仿真器支持,所以推荐大家使用这个模式。
· 在大家GPIO刚好缺一个的时候,可以使用SWD仿真,这种模式支持更少的引脚。
· 在大家板子的体积有限的时候推荐使用SWD模式,它需要的引脚少,当然需要的PCB空间就小啦!比如你可以选择一个很小的2.54间距的5芯端子做仿真接口。
RDI接口
远程调试接口(Remote Debug Interface),是ARM公司提出的标准调试接口,主要用于ARM芯片的仿真,由于各个IDE厂商使用的调试接口各自独立,硬件无法进行跨平台的调试。现在众多的IDE厂家都逐步采用标准RDI作为ARM仿真器的调试接口,因此使跨平台的硬件调试成为可能。EasyJTAG由于使用标准RDI调试接口,因此在任何使用标准RDI接口的IDE调试环境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。
JLink仿真器
J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。
JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的。
ULink仿真器
ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。
但是要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。
ST-Link仿真器
ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:
· 编程功能:可烧写FLASH ROM、EEPROM、AFR等;
仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;
仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;
· 编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;
相关问答
单片机 中硬件仿真软件仿真区别, 单片机的硬件 仿真器是什么有什么用,keil能进行 硬件 仿真吗,仿真哪些项目?硬件仿真:顾名思义就是你想像到的每一个信号都是由实体硬件发出的,比如说一个单片机硬件仿真器,它也会给你提供和真实单片机相同的封装、脚数的一个接口,然后...
单片机调试 原理?Jlink是用来对软件的单步调试的,他是将宿主机上的程序(就是通过rvds或ads生成的*.axf)经过Jlink送到arm板子上调试;串口和和USB连接是为了通信,宿主机上用s...
初学 单片机 需要准备哪些学习套件?最好配一块单片机开发板学习。在单片机的学习过程中,切不可有以下错误认识:1、看完学习视频后,认为自己这部分已经...4、下载软件上面都没问题,就要把程序烧进...
单片机 程序怎么在电脑上 调试 ?用什么软件好?单片机可以实现在线调试程序,通过软件设置断点,进行单步调试,这样可以看到单片机是如何一步步执行程序的,从而快速找到问题,解决问题。以Keil和IAR为例介绍...单...
51 单片机 所必需的外部 硬件 电路?对于51单片机最小系统而言,目前主流型号的51单片机外部硬件只有电源电路,即根据单片机的型号向其提供3.3Ⅴ或5V电源。新型号的51单片机已经不再需要过去所必...
想入门 单片机 ,从事 硬件 研发工作,需要做哪些准备,买?需要熟悉模电数电和C语言汇编语言的编程知识,另外最好买一块开发板,跟着配套的视频学,这样上手会比较快需要熟悉模电数电和C语言汇编语言的编程知识,另外最好...
单片机 工程师需具备哪些技能,市场需求大吗?首先单片机工程师的市场需求应该是非常大的!现在基本上所有的电子产品都都用到单片机。只要有电子的地方基本上都需要有电子工程师或者单片机工程师的参与。要...
51 单片机的硬件 结构及作用?51单片机内部包含的功能组件及作用主要有:1、cpu主芯片(内部通过总线连接扩展的设备)2、时钟电路(为单片机提供震荡脉冲)3、电源电路(为单片机提供电源...
怎样提高对 单片机的 编程能力?我大学曾泡在实验室搞了一年多的单片机开发,可以分享一下心得。我觉得单片机的编程不单单是掌握C语言就可以了,首先要弄通单片机的基本硬件功能。比如说中断,...
单片机 程序怎么在电脑上 调试 ?用什么软件好?_其他问答_系统粉KEILC.最好用串口当做调试数据通道,电脑上串口助手或自编软件。仿真那些看着高大上,其实不实用,因为单片机程序都很短,且都与硬件接口打交道,仿真...