逻辑分析仪常识
又以下面的触发顺序为例:
If ADDR=1000 Then Go To 2
If DATA=2000 Then Trigger
若逻辑分析仪撷取到的数据如下,虽然第一点可符合条件1,但触发点应发生在第7个点:
Sample No.
ADDR
DATA
备注
1
1000
2000
此取样点符合第一层的条件
2
1010
3000
布尔代数
若需要以数个条件同时发生的情况作为触发点,则应使用布尔代数,例如「If ADDR=1000 AND DATA=2000」。
到底要使用多层式触发顺序,还是采用布尔代数,混淆二者是触发设定中常见的错误。通常布尔代数是用于许多事件同时发生时;而对于一个事件发生在另一事件之后,有排列先后的情形,则应使用多层式触发顺序。
Timer1<500 ns then Trigger
Else If Timer1>=500 ns, then
Reset Timer1 Go to 1
节省内存
为嵌入式软的问题所在。只知道错误点接着百万状态后,发生了不正常动作,因此可在此现象作触发,但却因内存有限,而无法同时看到原因(错误)与现象(问题)。两种最简单节省内存的方法是时钟与储存资格限制。
Else If DATA=2000 Then Trigger (此为第一状态的第三个分支)
2.If DATA<=7000 Then Trigger
3.If SIG1 rising edge Then Trigger
第一状态含有三个分支,因此有三种可能的动作,若能符合第一分支的条件,则其它分支便不做测试;同时,即使一个取样点能符合多个分支的条件,最多也只能执行一个分支的动作。
逻辑分析仪中的内存可比喻成一条很长的输送带,从待测物(DUT)撷取到的取样点,便是输送带上的物品。在输送带的一端放上新的物品时,旧的物品便会在另一端被取出。换句话说,因为逻辑分析仪的存储深度(亦即可储存的取样点)有限,因此当存储记录满时,再多撷取一个新的取样点,就需要删除一个最旧的取样点。以这样的比喻来看,逻辑分析仪的触发设定就像是“操作员站在输送带前,寻找某一个特殊的物品,他同时可控制整条输送带,在此物品被运送到某一个特定的位置时停止运送”。这个特殊的物品便是「触发点」。当逻辑分析仪检测到在内存的某个适当位置,撷取到符合触发条件的取样点时,逻辑分析仪便会停止搜集数据。同时,触发位置是可以设在内存内任何地方的。
通常我们在数字分析上,并不需要知道仔细的波形变化,需要的是逻辑的高低电平以及芯片上不同管脚的时序关系。在非同步模式中,取样的脉冲信号是由逻辑分析仪内部提供的,因此与待测物的脉冲是非同步的。
2.同步模式(Synchronous Mode)
同步模式称为“状态分析”(State),它的取样脉冲信号即是由待测物所提供的,因而称为“同步”。它不象“时序分析”用波形来显示信号和时间的关系。“状态分析”通常是用列表形式来呈现待分析的信号。“状态分析”最适用于用在读取微处理器数据流上的信息。通常把它设定为以6位码来显示采集到的信息。若加上反汇编软件,便可自动把6位码翻译成汇编代码,方便找出硬件或软件上的错误。
逻辑分析仪常识
1.什么是记录长度,又称存储深度--->
2.两种基本测量模式--->
3.如何设置逻辑分析仪的触发--->
4.深入了解逻辑分析仪入门手册pdf(泰克)
5.得心应手的逻辑分析仪pdf(安捷伦)
6.邏輯分析儀應用在數位設計上的基本概念pdf(安捷伦)
7.实现逻分析仪成功探测的6项提示pdf(安捷伦)
触发序列(Trigger Sequence)
虽然逻辑分析仪的触发条件通常很直觉而简单,但却有可能需要做相当复杂的程序编辑,例如,使用者可能希望紧接在一个信号的上升沿后,另一个信号又产生上升沿时,将它定为触发点。由于需要一连串的步骤才能找到触发点,因此可称这些步骤为触发顺序,而其中的每一个步骤则称为触发状态。
3
1020
4000
4
1030
5000
5
1040
6000
6
1050
7000
7
1060
2000
此为逻辑分析仪触发的点
由于新的取样点会在第一状态条件符合后,与开始测试第二状态条件之前被撷取到,因此逻辑分析仪不会在第一状态便触发。较佳的触发顺序逻辑应为「Find ADDR=1000 followed by DATA=2000 and then trigger」。下一步若触发状态的条件能够符合,逻辑分析仪便会跳至「Go To」指定的层数执行,但若没有「Go To」指令可执行,下一步该执行哪一状态便只能由逻辑分析仪决定了。有些逻辑分析仪在此时会直接执行下一状态,有些则会再执行原来那一状态,因此,为了避免如此模棱两可,最好能明白指示「Go To」这个动作。
时钟限定(Clock Qualification)
分析仪采用系统时钟做为状态分析的取样率,同时撷取几个其它信号,例如:*TA与TSIZ,作为时钟限定。因此只有当系统时钟为上升沿,同时*TA(K-clock)为低基准时,才储存该取样点。
存储限定(Storage Qualification)
存储限定也可达到有效运用逻辑分析仪内存的目的,更进一步地,在触发点前后可采用不同的存储设定。最简单的存储限定是预设储存(default storage),除非触发状态另有特别的设定,否则就须储存取样点。因此,如果只想要储存ADDR在1000至2000的点,则预设储存应设定为「ADDR In Range 1000 to 2000」,若全部不存,则可设为储存「Nothing」。
每一个触发状态都由条件与动作两部份组成。条件即为布尔代数,例如,「若ADDR=1000」或「若SIG1产生一个上升沿」;动作则为当条件符合时,逻辑分析仪应执行的工作。例如:触发逻辑分析仪、转到另一状态(Go To)、或激活定时器,类似于程序编辑中的If/Then叙述。每一个触发状态都会依序编号,起始时一定是执行第一个触发状态,但其它状态则可依照Go To指令,以任意顺序来执行。当一个触发点在某一状态中不符合条件时,逻辑分析仪会撷取下一个取样点,并验证是否符合该状态的条件。以下面的触发状态为例:
1.非同步模式(Asynchronous Mode)
非同步模式又称为“时序分析”(Timing),它在屏幕上显示波形的方式和示波器十分相似。与示波器不同的是:
a.示波器只有2~4个信道,但逻辑分析仪却有8~200多个信道;
b.另一个不同点是,逻辑分析仪将待测信号记录为一连串的“1”(高)与“0”(低)。若在取样时刻波形的位超过分析仪预设的电压临界值(电压门限)时,仪器就会记录为“1”,反之则记录为“0”。
时钟设置1MHz ,总记录时长1us x 128k = 128ms
时钟设置10MHz ,总记录时长0.1us x 128k = 12.8ms
无论台式或者虚拟PC式的,存储深度都只取决于仪器本身的内部快速存储器,
长时间数据记录可通过触发方式来分段记录,如挑选适当的触发点、触发延时捕获,等方式。
二、两种基本测量模式
8.客观评估逻辑分析仪pdf(安捷伦)
9.8 Hints for Solving Common Debugging Problems with Your Logic Analyzerpdf(安捷伦)
以上内容摘自网络,方便大家学习参考
一、记录长度
举例:假设一台逻辑分析仪每通道存储深度128k
时钟设置100kHz ,总记录时长10us x 128k = 1.28s
三、如何设定触发
设定逻辑分析仪的触发有时非常困难且耗时,即使知道如何写程序,也不一定会做触发设定。这是因为就逻辑分析仪而言,有许多独特的概念。但是只要一旦了解这些概念,触发设定就一点也不困难了。本文的目的即在说明触发设定的概念,以及如何有效利用它们。
比如,为嵌入式系统进行故障查找时,需要监控系统中许多信号及其数据流的实时行为,而逻辑分析仪是最能观察到嵌入式系统内详细数据的工具。不过,逻辑分析仪也不是魔术,要建立正确的触发,才能正确对嵌入式系统进行故障查找。
另一种触发则可利用并行计数器(occurrence counter),找到一个事件发生第N次的情况。以下的例子可设定当「ADDR=1000」发生5次时做触发:
1.If ADDR=1000 occurs 5 times
Then Trigger
使用定时器(Timer)
在某些例子中,使用者有兴趣的是信号间的相互影响,此时可使用定时器来核对事件间所耗费的时间。若想在一个边沿信号(edge),与前一个边沿信号相隔500ns以内时做触发,就需要使用定时器。要记得的是,定时器必须在检测前激活。设定定时器的关键在于,要辨别何时激活与何时做检测。定时器需在检测到SIG1的上升沿时激活,并在出现SIG2上升沿时检测。因此,这样的测量可设定为:
分支(Branching)
分支与C语言中的Switch叙述,或Basic语言中的Select Case相类似,都可提供具有个别动作之复合条件的测试方法。例如:
1.If ADDR<1000 Then Go To 2 (此为第一状态的第一个分支)
Else If ADDR>2000 Then GoTo 3 (此为第一状态的第二个分支)
If DATA = 7000 Then Trigger
逻辑分析仪会不断搜集取样点,直到DATA为7000时才做触发。一旦逻辑分析仪触发后,即使符合触发条件的取样点不只一个,它也不会再触发。
若此条件不符合,逻辑分析仪将搜集下一个取样点并执行同一状态进行比较。若取样点符合条件,逻辑分析仪便会在另一个触发状态执行前,撷取到下一个取样点,因此绝不会有一个点符合两层以上的条件,而且每一状态代表的是在不同时间点发生的事件。
1.If there's a Rising Edge on SIG1, then Start Timer 1 Go to 2.