Outils d'utilisateurs

Outils du Site


Nagivation / Info pratique

FX2 logic analyser

http://www.sigrok.org provides opensource firmware “fx2lafw” to use cheap FX2-based logic analysers cross-platform. This projects aims at extending the functionality of this firmware and to make a small hardware modification to allow for basic triggering. The final goal is to provide the lab with a working logic analyser setup.

Status

Status du project
Date de début 21/07/2014
Status work in progress
Initiateur Magnus

Description

Extend a cheap logic analyser by:

  • increasing its sampling speed (proof of concept done)
  • adding basic trigger capability (proof of concept done)

To Do

  • Finalise firmware
  • Add software support in libsigrok
  • Make clean software installation in lab
  • Testing…

Material

Participants

[fx2_logic_analyser] Interested in joining this project
Nomparticipation activeparticipation passivesuivre de loins
Michael Jaussi2014-08-06 22:41:29  
Sebastien Chassot2014-08-08 17:26:27  
 2

Log

July 2014

Got 8051 cross-compiler installed. Increased sampling speed to 48 MHz. This can be achieved by a recursive GPIF DP point that re-executes the data transfer.

05/08/2014

Soldered to wires to connect RDY0 and RDY1 to D0 and D1. This allows to add trigger decision points. A proof-of-concept firmware with a 4-stage trigger seems to work. The maximum number of delay states was reduced to 255 to fit within a single state. This should be enough anyways (further downsampling can be done on the PC side…).

(see the two black wires added to the FX2)

16/09/2014

Moved the whole configuration of states to the PC side:

 struct cmd_start_acquisition {
        uint8_t flags;
[...]
+       uint8_t state[32];
 };

… simplifying the firmware (sigrok-firmware-fx2lafw 70b415b) side to:

bool gpif_acquisition_start(const struct cmd_start_acquisition *cmd) {
[...]
+       /* Populate states */
+       for (i=0;i<32;++i) {
+               pSTATE[i]=cmd->state[i];
       }

Testing with some 1 MHz signal from an arduino board (see http://dzlsevilgeniuslair.blogspot.dk/2012/05/generating-high-frequencies-with-avr.html):

$ sigrok-cli --driver=fx2lafw --config samplerate=48M --samples=100 --channels=0 
libsigrok 0.3.0
Acquisition with 1/8 channels at 48 MHz
0:11111000 00000000 00000000 00000111 11111111 11111111 11111111 00000000
0:00000000 00000000 11111111 11111111 1111
$ sigrok-cli --driver=fx2lafw --config samplerate=30M --samples=100 --channels=0 
libsigrok 0.3.0
Acquisition with 1/8 channels at 30 MHz
0:00000111 11111111 11111100 00000000 00000111 11111111 11111100 00000000
0:00000111 11111111 11111100 00000000 0000
$ sigrok-cli --driver=fx2lafw --config samplerate=24M --samples=100 --channels=0 
libsigrok 0.3.0
Acquisition with 1/8 channels at 24 MHz
0:00000001 11111111 11111000 00000000 01111111 11111100 00000000 00111111
0:11111111 00000000 00001111 11111111 1000
$ sigrok-cli --driver=fx2lafw --config samplerate=15M --samples=100 --channels=0 
libsigrok 0.3.0
Acquisition with 1/8 channels at 15 MHz
0:11000000 01111111 10000000 01111111 10000000 01111111 10000000 01111111
0:10000000 01111111 10000000 01111111 1000
$ sigrok-cli --driver=fx2lafw --config samplerate=10M --samples=100 --channels=0 
libsigrok 0.3.0
Acquisition with 1/8 channels at 10 MHz
0:11110000 01111110 00001111 10000011 11110000 01111110 00001111 10000011
0:11110000 01111110 00001111 10000011 1111

… looks good so far!

Liens externes

projects/fx2_logic_analyser.txt · Dernière modification: 2014/09/16 23:32 par magnustron