Difference between revisions of "Fx2lafw"

From sigrok
Jump to navigation Jump to search
m (→‎Hardware overview: Add USB VID/PIDs.)
Line 12: Line 12:
|- bgcolor="#6699ff"
|- bgcolor="#6699ff"
!Device
!Device
!USB VID:PID
!Probes (pins)
!Probes (pins)
!FX2 package
!FX2 package
Line 21: Line 22:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[Braintechnology USB-LPS]]
| [[Braintechnology USB-LPS]]
| 16d0:0498
| 16
| 16
| 56PVXC (SSOP)
| 56PVXC (SSOP)
Line 30: Line 32:
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| [[CWAV BusBee]]
| [[CWAV BusBee]]
|
| 4
| 4
| ?
| ?
Line 39: Line 42:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[CWAV USBee AX]]
| [[CWAV USBee AX]]
| 08a9:0014
| 8 digital (PB0-PB7), 1 analog (PD0-PD7)
| 8 digital (PB0-PB7), 1 analog (PD0-PD7)
| ?
| ?
Line 48: Line 52:
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| [[CWAV USBee DX]]
| [[CWAV USBee DX]]
|
| 16 digital, 2 analog
| 16 digital, 2 analog
| ?
| ?
Line 57: Line 62:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[CWAV USBee EX2]]
| [[CWAV USBee EX2]]
|
| 8
| 8
| ?
| ?
Line 66: Line 72:
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| [[CWAV USBee SX]]
| [[CWAV USBee SX]]
| 08a9:0009
| 8 (PB0-PB7)
| 8 (PB0-PB7)
| 56PVXC (SSOP)
| 56PVXC (SSOP)
Line 75: Line 82:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[CWAV USBee ZX]]
| [[CWAV USBee ZX]]
|
| 8 (PB0-PB7)
| 8 (PB0-PB7)
| ?
| ?
Line 84: Line 92:
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| [[EE Electronics XLA ESLA100]]
| [[EE Electronics XLA ESLA100]]
| 0925:3881
| 8 (PB0-PB7)
| 8 (PB0-PB7)
| 56LFXC (QFN)
| 56LFXC (QFN)
Line 93: Line 102:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[EE Electronics ESLA201A]]
| [[EE Electronics ESLA201A]]
| 08a9:0014
| 8 digital (PB0-PB7), 1 analog (PD0-PD7)
| 8 digital (PB0-PB7), 1 analog (PD0-PD7)
| 56LFXC (QFN)
| 56LFXC (QFN)
Line 102: Line 112:
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| [[Lcsoft Mini Board]]
| [[Lcsoft Mini Board]]
| 04b4:8613
| 16 (PB0-PB7, PD0-PD7)
| 16 (PB0-PB7, PD0-PD7)
| 56PVXC (SSOP)
| 56PVXC (SSOP)
Line 111: Line 122:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[Saleae Logic]]
| [[Saleae Logic]]
| 0925:3881
| 8 (PB0-PB7)
| 8 (PB0-PB7)
| 56PVXC (SSOP)
| 56PVXC (SSOP)
Line 120: Line 132:
|- bgcolor="#dddddd"
|- bgcolor="#dddddd"
| [[Robomotic BugLogic 3]]
| [[Robomotic BugLogic 3]]
| 0925:3881
| 8 (PB0-PB7)
| 8 (PB0-PB7)
| ?
| ?
Line 129: Line 142:
|- bgcolor="#eeeeee"
|- bgcolor="#eeeeee"
| [[Robomotic MiniLogic]]
| [[Robomotic MiniLogic]]
| 0925:3881
| 8 (PB0-PB7)
| 8 (PB0-PB7)
| 56PVXC (SSOP)
| 56PVXC (SSOP)

Revision as of 19:01, 1 May 2012

fx2lafw is an open-source firmware for Cypress FX2 chips which makes them usable as simple logic analyzer hardware.

It is licensed under the terms of the GNU GPL (version 2, or later) and written in C, using sdcc as compiler, and fx2lib as helper library.

Hardware overview

The fx2lafw firmware is meant to work on any FX2-based hardware, including logic analyzers, FX2 eval boards, or other hardware which has this chip on-board.

Here's a quick overview of some of the relevant hardware information we have about the various devices:

Device USB VID:PID Probes (pins) FX2 package Buffer/ESD-protection Resistor per probe I2C EEPROM Support Status
Braintechnology USB-LPS 16d0:0498 16 56PVXC (SSOP) none ? 68 Ω Atmel ATML0816 TINY13 20SU TODO
CWAV BusBee 4 ? ? ? Ω ? TODO
CWAV USBee AX 08a9:0014 8 digital (PB0-PB7), 1 analog (PD0-PD7) ? ? ? Ω ? BASIC SUPPORT
CWAV USBee DX 16 digital, 2 analog ? ? ? Ω ? TODO
CWAV USBee EX2 8 ? ? ? Ω ? TODO
CWAV USBee SX 08a9:0009 8 (PB0-PB7) 56PVXC (SSOP) none 560 Ω Microchip 24LC01B WIP
CWAV USBee ZX 8 (PB0-PB7) ? ? ? Ω ? TODO
EE Electronics XLA ESLA100 0925:3881 8 (PB0-PB7) 56LFXC (QFN) NXP 74HC245D 100 Ω Atmel ATMLH911 02B 1 DONE
EE Electronics ESLA201A 08a9:0014 8 digital (PB0-PB7), 1 analog (PD0-PD7) 56LFXC (QFN) none 100 Ω Atmel ATMLH113 BASIC SUPPORT
Lcsoft Mini Board 04b4:8613 16 (PB0-PB7, PD0-PD7) 56PVXC (SSOP) none none Shenzhen First-Rank Technology T24C128A BASIC SUPPORT
Saleae Logic 0925:3881 8 (PB0-PB7) 56PVXC (SSOP) ST DVIULC6-4SC6 ? Ω ? DONE
Robomotic BugLogic 3 0925:3881 8 (PB0-PB7) ? ? ? ? DONE
Robomotic MiniLogic 0925:3881 8 (PB0-PB7) 56PVXC (SSOP) 74HC244A ? 2x Microchip 24LC02BI, 1x 24LC64I DONE

All devices use a 24MHz crystal.

Download

$ git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/fx2lafw

Usage

Building sigrok

  • Build and install latest git head sigrok for your platform, see e.g. Linux.
    • When building libsigrok, instead of ./configure do
$ ./configure --enable-fx2lafw --disable-saleae-logic
    • Follow all other steps as normal.

Install udev rules file

These steps prevent the need to run sigrok as superuser.

  • Copy the udev rules from sigrok/libsigrok/contrib/z60_libsigrok.rules to /etc/udev/rules.d/.
  • Restart udev: sudo /etc/init.d/udev restart.

Building fx2lafw

$ cd fx2lafw
$ git clone git://github.com/mulicheng/fx2lib.git
$ make
$ sudo cp build/*.fw /usr/local/share/libsigrok/firmware/

Where /usr/local is your installation prefix.

Test

$ sigrok-cli -D

If everything has worked, sigrok can now see your fx2lafw device, ready for use.

TODO

  • Digital sampling
    • 8-channel
    • 16-channel
  • Analog sampling
    • 1-channel
    • 2-channel
    • Voltage meter
  • Triggering
  • Trigger pin
  • Clock input
  • Clock output
  • Frequency/pulse counter

Resources