逻辑分析仪常识

上传人:夏** 文档编号:557028874 上传时间:2024-01-14 格式:DOCX 页数:6 大小:17.44KB
返回 下载 相关 举报
逻辑分析仪常识_第1页
第1页 / 共6页
逻辑分析仪常识_第2页
第2页 / 共6页
逻辑分析仪常识_第3页
第3页 / 共6页
逻辑分析仪常识_第4页
第4页 / 共6页
逻辑分析仪常识_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《逻辑分析仪常识》由会员分享,可在线阅读,更多相关《逻辑分析仪常识(6页珍藏版)》请在金锄头文库上搜索。

1、1. 什么是记录长度,又称存储深度 =2. 两种基本测量模式3. 如何设置逻辑分析仪的触发二4. 深入了解逻辑分析仪入门手册pdf(泰克)5. 得心应手的逻辑分析仪pdf (安捷伦)6. 邏輯分析儀應用在數位設計上的基本概念pdf(安捷伦)7. 实现逻分析仪成功探测的6项提示pdf (安捷伦)8. 客观评估逻辑分析仪pdf (安捷伦)9. 8 Hints for Solving Common Debugging Problems with Your Logic Analyzer pdf(安捷伦)以上内容摘自网络,方便大家学习参考一、记录长度举例:假设一台逻辑分析仪每通道存储深度128k时钟设置

2、100kHz ,总记录时长10us x 128k = 1.28s时钟设置1MHz ,总记录时长1us x 128k = 128ms时钟设置10MHz,总记录时长0.1us x 128k = 12.8ms无论台式或者虚拟PC式的,存储深度都只取决于仪器本身的内部快速存储器,长时间数据记录可通过触发方式来分段记录,如挑选适当的触发点、触发延时捕获,等方式。二、两种基本测量模式1. 非同步模式(Asynchronous Mode)非同步模式又称为“时序分析”(Timing),它在屏幕上显示波形的方式和示波器十分相似。与示波器不同的是:a.示波器只有24个信道,但逻辑分析仪却有8200多个信道;b.另

3、一个不同点是,逻辑分析仪将待测信号记录为一连串的“ 1”(高)与“0”(低)。若在取样时刻波形的 位超过分析仪预设的电压临界值(电压门限)时,仪器就会记录为“1”,反之则记录为“0”。通常我们在数字分析上,并不需要知道仔细的波形变化,需要的是逻辑的高低电平以及芯片上不同管脚的时 序关系。在非同步模式中,取样的脉冲信号是由逻辑分析仪内部提供的,因此与待测物的脉冲是非同步的。2. 同步模式(Synchronous Mode)同步模式称为“状态分析”(State),它的取样脉冲信号即是由待测物所提供的,因而称为“同步”。它不 象“时序分析”用波形来显示信号和时间的关系。“状态分析”通常是用列表形式来

4、呈现待分析的信号。“状态分析”最适用于用在读取微处理器数据流上的信息。通常把它设定为以6位码来显示采集到的信息。 若加上反汇编软件,便可自动把6位码翻译成汇编代码,方便找出硬件或软件上的错误。三、如何设定触发设定逻辑分析仪的触发有时非常困难且耗时,即使知道如何写程序,也不一定会做触发设定。这是因为就 逻辑分析仪而言,有许多独特的概念。但是只要一旦了解这些概念,触发设定就一点也不困难了。本文的目 的即在说明触发设定的概念,以及如何有效利用它们。比如,为嵌入式系统进行故障査找时,需要监控系统中许多信号及其数据流的实时行为,而逻辑分析仪是 最能观察到嵌入式系统内详细数据的工具。不过,逻辑分析仪也不是

5、魔术,要建立正确的触发,才能正确对 嵌入式系统进行故障査找。逻辑分析仪中的内存可比喻成一条很长的输送带,从待测物(DUT)撷取到的取样点,便是输送带上的物品。 在输送带的一端放上新的物品时,旧的物品便会在另一端被取出。换句话说,因为逻辑分析仪的存储深度(亦 即可储存的取样点)有限,因此当存储记录满时,再多撷取一个新的取样点,就需要删除一个最旧的取样点。 以这样的比喻来看,逻辑分析仪的触发设定就像是“操作员站在输送带前,寻找某一个特殊的物品,他同时 可控制整条输送带,在此物品被运送到某一个特定的位置时停止运送”。这个特殊的物品便是触发点。 当逻辑分析仪检测到在内存的某个适当位置,撷取到符合触发条

6、件的取样点时,逻辑分析仪便会停止搜集数 据。同时,触发位置是可以设在内存内任何地方的。触发序列(Trigger Sequence)虽然逻辑分析仪的触发条件通常很直觉而简单,但却有可能需要做相当复杂的程序编辑,例如,使用者 可能希望紧接在一个信号的上升沿后,另一个信号又产生上升沿时,将它定为触发点。由于需要一连串的步 骤才能找到触发点,因此可称这些步骤为触发顺序,而其中的每一个步骤则称为触发状态。每一个触发状态都由条件与动作两部份组成。条件即为布尔代数,例如,若ADDR=1000或若SIG1产 生一个上升沿;动作则为当条件符合时,逻辑分析仪应执行的工作。例如:触发逻辑分析仪、转到另一状 态(Go

7、 To)、或激活定时器,类似于程序编辑中的If/Then叙述。每一个触发状态都会依序编号,起始时 一定是执行第一个触发状态,但其它状态则可依照Go To指令,以任意顺序来执行。当一个触发点在某一状 态中不符合条件时,逻辑分析仪会撷取下一个取样点,并验证是否符合该状态的条件。以下面的触发状态为 例:If DATA = 7000 Then Trigger逻辑分析仪会不断搜集取样点,直到DATA为7000时才做触发。一旦逻辑分析仪触发后,即使符合触发 条件的取样点不只一个,它也不会再触发。若此条件不符合,逻辑分析仪将搜集下一个取样点并执行同一状态进行比较。若取样点符合条件,逻辑分析 仪便会在另一个触

8、发状态执行前,撷取到下一个取样点,因此绝不会有一个点符合两层以上的条件,而且每 一状态代表的是在不同时间点发生的事件。又以下面的触发顺序为例:If ADDR=1000 Then Go To 2If DATA=2000 Then Trigger若逻辑分析仪撷取到的数据如下,虽然第一点可符合条件1,但触发点应发生在第7个点:Sample No.ADDRDATA备注110002000此取样点符合第一层的条件210103000310204000410305000510406000610507000710602000此为逻辑分析仪触发的点由于新的取样点会在第一状态条件符合后,与开始测试第二状态条件之前被

9、撷取到,因此逻辑分析仪不 会在第一状态便触发。较佳的触发顺序逻辑应为Find ADDR=1000 followed by DATA=2000 and then trigger。下一步若触发状态的条件能够符合,逻辑分析仪便会跳至Go To指定的层数执行,但若没有 Go To指令可执行,下一步该执行哪一状态便只能由逻辑分析仪决定了。有些逻辑分析仪在此时会直接 执行下一状态,有些则会再执行原来那一状态,因此,为了避免如此模棱两可,最好能明白指示Go To 这个动作。布尔代数若需要以数个条件同时发生的情况作为触发点,则应使用布尔代数,例如If ADDR=1000 AND DATA=2000。到底要使用

10、多层式触发顺序,还是采用布尔代数,混淆二者是触发设定中常见的错误。通常布尔代数是用于 许多事件同时发生时;而对于一个事件发生在另一事件之后,有排列先后的情形,则应使用多层式触发顺序。分支(Branching)分支与C语言中的Switch叙述,或Basic语言中的Select Case相类似,都可提供具有个别动作之复 合条件的测试方法。例如:1.If ADDR2000 Then GoTo 3 (此为第一状态的第二个分支)Else If DATA=2000 Then Trigger (此为第一状态的第三个分支)2.1f DATA=7000 Then Trigger3.1f SIGI rising

11、edge Then Trigger第一状态含有三个分支,因此有三种可能的动作,若能符合第一分支的条件,则其它分支便不做测试; 同时,即使一个取样点能符合多个分支的条件,最多也只能执行一个分支的动作。另一种触发则可利用并行计数器(occurrence counter),找到一个事件发生第N次的情况。以下的例 子可设定当ADDR=1000发生5次时做触发:l.If ADDR=1000 occurs 5 timesThen Trigger使用定时器(Timer)在某些例子中,使用者有兴趣的是信号间的相互影响,此时可使用定时器来核对事件间所耗费的时间。 若想在一个边沿信号(edge),与前一个边沿信号

12、相隔500ns以内时做触发,就需要使用定时器。要记得 的是,定时器必须在检测前激活。设定定时器的关键在于,要辨别何时激活与何时做检测。定时器需在检测 到SIG1的上升沿时激活,并在出现SIG2上升沿时检测。因此,这样的测量可设定为:l.If t heres a Rising Edge on SIG1, t hen Start Timer 1 Go to 2.2.If t heres a Rising Edge on SIG2 And Timer 1 500ns t hen Trigger.以上的触发顺序看似正确,其实隐藏了一个很危险的缺陷。若SIG1与SIG2的上升缘相隔超过500 ns 时会

13、发生什么事?没错,逻辑分析仪不会做触发,因为Timer1会持续计时,使得触发条件永远也无法满足, 但稍后可能又出现SIG1,并在500ns内发生了 SIG2。若要解决这个问题,应在定时器每超过500ns而没触发时,重新回到第一状态,寻找SIG1的上升沿, 正确的触发顺序应为:1.If t heres a Rising Edge on SIG1, t hen Start Timer1 Go to 2.2.If t heres a Rising Edge on SIG2 AndTimer1=500 ns, thenReset Timer1 Go to 1节省内存为嵌入式软件纠错时,常遇到无法精确指

14、出到底是汇编语言中哪一行指令是程序的问题所在。只知道错 误点接着百万状态后,发生了不正常动作,因此可在此现象作触发,但却因内存有限,而无法同时看到原因 (错误)与现象(问题)。两种最简单节省内存的方法是时钟与储存资格限制。时钟限定(Clock Qualifica tion)分析仪采用系统时钟做为状态分析的取样率,同时撷取几个其它信号,例如:*TA与TSIZ,作为时钟限定。 因此只有当系统时钟为上升沿,同时*TA (K-clock)为低基准时,才储存该取样点。存储限定(Sto rage Qualifica tion)存储限定也可达到有效运用逻辑分析仪内存的目的,更进一步地,在触发点前后可采用不同

15、的存储设定。 最简单的存储限定是预设储存(default storage),除非触发状态另有特别的设定,否则就须储存取样点。 因此,如果只想要储存ADDR在1000至2000的点,则预设储存应设定为ADDR In Range 1000 to 2000, 若全部不存,则可设为储存Nothing。有些问题是不能单用逻辑分析仪解决的,因为通常是在见到不正常现象时,才触发逻辑分析仪。例如为 找出系统总是周期性死机(crash)的原因,我们发现某一变量A总是在死机前变成72,所以选择在A=72 前提下做触发,但如此一来,触发后待测系统却继续动作直到过了十万状态后才死机。若能在撷取到代表系 统即将毁损的信号时,让系统暂停,再单步执行直到系统死机,便可找出真正的问题。这就要使用内部模块 触发(Intermodule Trigger)功能,连结逻辑分析仪与能控制该处理器执行(Run Control)的仿真器,在 找到A=72时暂停待测物,以观察究竟发生了什么状况,导致周期性死机。通常逻辑分析仪的触发设定与软件的编辑大不相同,如果能以事先定义的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号