Bug 301 - Triggering via TRG doesn't seem to work
Summary: Triggering via TRG doesn't seem to work
Status: CONFIRMED
Alias: None
Product: libsigrok
Classification: Unclassified
Component: Driver: sysclk-lwla (show other bugs)
Version: unreleased development snapshot
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-30 15:07 CET by Uwe Hermann
Modified: 2015-08-30 17:47 CEST (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe Hermann 2014-01-30 15:07:38 CET
On my test device (LWLA1034) I can't seem to be able to trigger using the "TRG" setting on the external trigger pin. I tried a 3.3V rectangle waveform and 5V too. Triggering with the same data source on a random logic pin works just fine, though.

I'll investigate this further soonish to be able to add more info. Just making a bug for now, so we don't forget about this.
Comment 1 Daniel Elstner 2014-01-31 23:53:45 CET
Well, works for me.  In my tests, I use a DE0-Nano with the FPGA outputs set to 3.3 V.  My test logic has two 17-bit counters driving all 34 logic analyzer channels.  For testing of the external inputs, there is a CLK output and a push button routed to TRG.  All 40 wires from the logic analyzer, including the four GND wires, are connected to the FPGA board.

Doing the following works just fine for me:

1. start PulseView
2. select the LWLA1034 device
3. in the config popup, choose TRG as trigger source
4. run

At this point, the STATUS led on the logic analyzer should have turned yellow to indicate that it is waiting for a trigger.

5. press trigger button on DE0-Nano

The logic analyzer should now begin reading samples into its capture buffer, which should be displayed by PulseView shortly thereafter.  Even if there is no signal activity at the logic channel inputs, the STATUS LED should still turn from yellow to red as soon as it gets the trigger.  You should also see a corresponding info message in the log output.

Apart from a hardware fault, the only thing I can think of are the GND connections.  Perhaps you need to wire a specific GND for the TRG input to work.
Comment 2 Daniel Elstner 2014-02-01 00:14:51 CET
Oh, and another potential problem:  The probe wires connector shipped with my device does not make a secure connection unless inserted with great force.  With only normal force applied, you can feel that the connector is not really all the way in if you wiggle it around a bit.

To avoid mechanically breaking the board, I have used a spare pin header to slightly widen the pin receptacles of the connector one by one.  After that, it should be possible to insert the connector all the way with moderate force applied to it.

Of course, not all devices shipped may have that problem, but it is worth a try.
Comment 3 Daniel Elstner 2014-02-28 23:11:12 CET
Uwe, did you have a chance to re-test this?
Comment 4 Daniel Elstner 2015-06-25 08:23:14 CEST
Uwe, if you find the time it would be cool if you could re-test this.  I still suspect that the connector was at fault.
Comment 5 Daniel Elstner 2015-08-30 11:20:44 CEST
OK, I can reproduce this now -- the external trigger works, but only for the first run after it has been enabled.
Comment 6 Daniel Elstner 2015-08-30 17:40:34 CEST
I take that back -- it does work; it's just that the triggering works only once if the level on the EXT input is constant. That does indicate that the device keeps state between runs, which may be unexpected, but is not the same problem as you described.

Perhaps you could try with the Windows software to rule out that the problem isn't the connector after all.
Comment 7 Daniel Elstner 2015-08-30 17:47:33 CEST
OK, it appears there there is a bus hold on the TRG input. That makes it possible to distinguish between constant input and floating input.

With constant input, it triggers only on the first run, even if you switch the trigger slope from "r" to "f" and vice versa. With floating input, it triggers once after toggling the trigger edge.

Judging from the behavior you described on IRC, it would appear that your TRG input is indeed floating, which points to a connection problem.