Re: Logic Analyser Usage Advice

2021-03-26 Thread Paul Koning via cctalk



> On Mar 26, 2021, at 5:08 AM, Rob Jarratt via cctalk  
> wrote:
> 
> I have an old HP 1630G logic analyser. I am trying to use it to debug a
> problem with an 82C206 peripheral controller (or rather I think damage
> between the CPU and the peripheral controller). I am not very experienced
> with logic analysers and I wonder if I am using it correctly.
> 
> What I am trying to do is see which internal registers are being
> read/written and the values. To do this there are two signals (XIOR and
> XIOW) that trigger the read/write on their rising edge. So I have connected
> the XIOR and XIOW signals to the J and K clock inputs and set the LA to
> clock on the rising edge. I have then told the LA to trigger on a particular
> address range (in the State Trace screen if anyone is familiar with this
> LA).
> 
> When I run the analyser it complains of a slow clock. This makes sense,
> because I am using the read/write signals to drive the clock inputs so that
> I only capture actual reads and writes to the peripheral controller.
> However, I don't seem to be getting sensible values in the trace and I am
> wondering if the LA is really not capturing anything because of the slow
> clock?
> 
> I don't think it makes sense to clock the LA on the actual clock signal
> because I won't be able to capture the address and data values on the rising
> edge of the read/write signals and I would end up with traces full of
> useless data.

If you have the trigger set to the event you want that wouldn't be a problem; 
the LA would not store anything until the trigger hits.

I have a different ancient logic analyzer, a Philips/Fluke model.  It has 
"state plus timing" capture, meaning that it can capture sequences of clocked 
state changes, time-labeled waveforms, or both simultaneously.  What you're 
doing corresponds to "state" capture, which uses a clock.

If you're capturing with a clock that means the LA captures the inputs at each 
specified clock edge -- in your case, rising edge of either of those two 
signals.  (Does it really have two clocks and defines that it captures on a 
clock event from either of them?)  That would mean you see ONLY the points in 
time when that edge occurs.

If you have a bus transaction that begins with a rising XIOR or XIOW, and then 
some other things happen -- like an address or data transfer perhaps 
accompanied by some control signal -- then what you're doing won't work because 
you won't be capturing those later points in time, since they don't occur at an 
XIOR/W edge.  What you need instead is either to specify a constantly running 
bus clock as your clock, or capture in timing mode (every N nanoseconds) if the 
LA has such a mode.  You would then specify a trigger along the lines of: wait 
for edge on XIOR or XIOW, then look for address in the range x to y.  If the 
address is on the bus at that edge this is easy: "(rising XIOR or rising XIOW) 
and (addr >= x and addr <= y)".  If the address occurs later, you'd have to 
specify something along the lines of "edge then address match within z 
nanoseconds" to describe an address match occurring within that same bus cycle. 
 Or if the address is accompanied by an address strobe it would be "edge then 
within z nanoseconds (address strobe and address in range)".  Depending on your 
LA trigger machinery you may be pushing the limits of what it can do.  If all 
else fails you might need to concoct some external circuit to implement part of 
the trigger condition, and hook the output from that helper circuit to another 
LA pin as one of the trigger terms.

paul



RE: Logic Analyser Usage Advice

2021-03-26 Thread Rob Jarratt via cctalk



> -Original Message-
> From: cctalk  On Behalf Of Paul Berger via
> cctalk
> Sent: 26 March 2021 11:54
> To: Rob Jarratt via cctalk 
> Subject: Re: Logic Analyser Usage Advice
> 
> 
> On 2021-03-26 6:08 a.m., Rob Jarratt via cctalk wrote:
> > I have an old HP 1630G logic analyser. I am trying to use it to debug
> > a problem with an 82C206 peripheral controller (or rather I think
> > damage between the CPU and the peripheral controller). I am not very
> > experienced with logic analysers and I wonder if I am using it correctly.
> >
> >
> >
> > What I am trying to do is see which internal registers are being
> > read/written and the values. To do this there are two signals (XIOR
> > and
> > XIOW) that trigger the read/write on their rising edge. So I have
> > connected the XIOR and XIOW signals to the J and K clock inputs and
> > set the LA to clock on the rising edge. I have then told the LA to
> > trigger on a particular address range (in the State Trace screen if
> > anyone is familiar with this LA).
> >
> >
> >
> > When I run the analyser it complains of a slow clock. This makes
> > sense, because I am using the read/write signals to drive the clock
> > inputs so that I only capture actual reads and writes to the peripheral
> controller.
> > However, I don't seem to be getting sensible values in the trace and I
> > am wondering if the LA is really not capturing anything because of the
> > slow clock?
> >
> >
> >
> > I don't think it makes sense to clock the LA on the actual clock
> > signal because I won't be able to capture the address and data values
> > on the rising edge of the read/write signals and I would end up with
> > traces full of useless data.
> >
> >
> >
> > Am I doing it right, or is there a technique that I am missing here?
> >
> >
> >
> > Thanks
> >
> >
> >
> > Rob
> >
> I think you are the right track, If you wish to only capture register accesses
> you may want to qualify on the -ACK signal as the datasheet says it must be
> high for register access.  I would also clock on the rising edge  of the -XIOR
> and -XIOW signals as the data sheet seems to indicate that data is not valid
> on the falling edge.

Yes, I am using the -ACK signal too as part of the address and clocking on the 
rising edge of -XIOR and -XIOW. I wonder if the logic analyser itself might be 
faulty because I have set it to trigger on -ACK=1 and XA0-9=08X(hexadecimal, 
X=don't care), but I get XA values that do not match the trigger. I am 
wondering if it is problem with sampling too late after the rising edge maybe?

Regards

Rob



Re: Logic Analyser Usage Advice

2021-03-26 Thread Paul Berger via cctalk



On 2021-03-26 6:08 a.m., Rob Jarratt via cctalk wrote:

I have an old HP 1630G logic analyser. I am trying to use it to debug a
problem with an 82C206 peripheral controller (or rather I think damage
between the CPU and the peripheral controller). I am not very experienced
with logic analysers and I wonder if I am using it correctly.

  


What I am trying to do is see which internal registers are being
read/written and the values. To do this there are two signals (XIOR and
XIOW) that trigger the read/write on their rising edge. So I have connected
the XIOR and XIOW signals to the J and K clock inputs and set the LA to
clock on the rising edge. I have then told the LA to trigger on a particular
address range (in the State Trace screen if anyone is familiar with this
LA).

  


When I run the analyser it complains of a slow clock. This makes sense,
because I am using the read/write signals to drive the clock inputs so that
I only capture actual reads and writes to the peripheral controller.
However, I don't seem to be getting sensible values in the trace and I am
wondering if the LA is really not capturing anything because of the slow
clock?

  


I don't think it makes sense to clock the LA on the actual clock signal
because I won't be able to capture the address and data values on the rising
edge of the read/write signals and I would end up with traces full of
useless data.

  


Am I doing it right, or is there a technique that I am missing here?

  


Thanks

  


Rob

I think you are the right track, If you wish to only capture register 
accesses you may want to qualify on the -ACK signal as the datasheet 
says it must be high for register access.  I would also clock on the 
rising edge  of the -XIOR and -XIOW signals as the data sheet seems to 
indicate that data is not valid on the falling edge.


Paul.



Logic Analyser Usage Advice

2021-03-26 Thread Rob Jarratt via cctalk
I have an old HP 1630G logic analyser. I am trying to use it to debug a
problem with an 82C206 peripheral controller (or rather I think damage
between the CPU and the peripheral controller). I am not very experienced
with logic analysers and I wonder if I am using it correctly.

 

What I am trying to do is see which internal registers are being
read/written and the values. To do this there are two signals (XIOR and
XIOW) that trigger the read/write on their rising edge. So I have connected
the XIOR and XIOW signals to the J and K clock inputs and set the LA to
clock on the rising edge. I have then told the LA to trigger on a particular
address range (in the State Trace screen if anyone is familiar with this
LA).

 

When I run the analyser it complains of a slow clock. This makes sense,
because I am using the read/write signals to drive the clock inputs so that
I only capture actual reads and writes to the peripheral controller.
However, I don't seem to be getting sensible values in the trace and I am
wondering if the LA is really not capturing anything because of the slow
clock?

 

I don't think it makes sense to clock the LA on the actual clock signal
because I won't be able to capture the address and data values on the rising
edge of the read/write signals and I would end up with traces full of
useless data.

 

Am I doing it right, or is there a technique that I am missing here?

 

Thanks

 

Rob