Difference between revisions of "Fx2lafw"
Uwe Hermann (talk | contribs) (→Hardware overview: 6-Lab LOGIC-U * series.) |
Uwe Hermann (talk | contribs) |
||
Line 16: | Line 16: | ||
!FX2 package | !FX2 package | ||
!Buffer/ESD-protection | !Buffer/ESD-protection | ||
!Resistor | !Resistor/probe | ||
!I2C EEPROM | !I2C EEPROM | ||
!Status | !Status | ||
Line 63: | Line 63: | ||
| [[ARMFLY AX-Pro]] | | [[ARMFLY AX-Pro]] | ||
| 08a9:0014 | | 08a9:0014 | ||
| 8 | | 8 (+1 analog) | ||
| 56LTXC (QFN) | | 56LTXC (QFN) | ||
| ? | | ? | ||
Line 73: | Line 73: | ||
| [[ARMFLY Mini-Logic]]<sup>2</sup> | | [[ARMFLY Mini-Logic]]<sup>2</sup> | ||
| 08a9:0014 | | 08a9:0014 | ||
| 8 | | 8 | ||
| 56LTXC (QFN) | | 56LTXC (QFN) | ||
| ? | | ? | ||
Line 83: | Line 83: | ||
| [[Braintechnology USB Interface V2.x]] | | [[Braintechnology USB Interface V2.x]] | ||
| 04b4:8613 | | 04b4:8613 | ||
| 8/16 | | 8/16 | ||
| 56PVXC (SSOP) | | 56PVXC (SSOP) | ||
| none | | none | ||
Line 93: | Line 93: | ||
| [[Braintechnology USB-LPS]] | | [[Braintechnology USB-LPS]] | ||
| 16d0:0498 | | 16d0:0498 | ||
| 8/16 | | 8/16 | ||
| 56PVXC (SSOP) | | 56PVXC (SSOP) | ||
| none | | none | ||
Line 133: | Line 133: | ||
| [[CWAV USBee AX-Pro]] | | [[CWAV USBee AX-Pro]] | ||
| [http://www.mikrocontroller.net/topic/136039#1878129 08a9:0014] | | [http://www.mikrocontroller.net/topic/136039#1878129 08a9:0014] | ||
| 8 | | 8 (+1 analog) | ||
| ? | | ? | ||
| ? | | ? | ||
Line 143: | Line 143: | ||
| [[CWAV USBee DX]] | | [[CWAV USBee DX]] | ||
| [http://www.mikrocontroller.net/topic/136039#1878129 08a9:0015] | | [http://www.mikrocontroller.net/topic/136039#1878129 08a9:0015] | ||
| 16 | | 16 (+2 analog) | ||
| ? | | ? | ||
| ? | | ? | ||
Line 163: | Line 163: | ||
| [[CWAV USBee SX]] | | [[CWAV USBee SX]] | ||
| 08a9:0009 | | 08a9:0009 | ||
| 8 | | 8 | ||
| 56PVXC (SSOP) | | 56PVXC (SSOP) | ||
| none | | none | ||
Line 173: | Line 173: | ||
| [[CWAV USBee ZX]] | | [[CWAV USBee ZX]] | ||
| ? | | ? | ||
| 8 | | 8 | ||
| ? | | ? | ||
| ? | | ? | ||
Line 203: | Line 203: | ||
| [[EE Electronics ESLA100]] | | [[EE Electronics ESLA100]] | ||
| 0925:3881 | | 0925:3881 | ||
| 8 | | 8 | ||
| 56LFXC (QFN) | | 56LFXC (QFN) | ||
| NXP 74HC245D | | NXP 74HC245D | ||
Line 213: | Line 213: | ||
| [[EE Electronics ESLA201A]] | | [[EE Electronics ESLA201A]] | ||
| 08a9:0014 | | 08a9:0014 | ||
| 8 | | 8 (+1 analog) | ||
| 56LFXC (QFN) | | 56LFXC (QFN) | ||
| none | | none | ||
Line 223: | Line 223: | ||
| [[Lcsoft Mini Board]] | | [[Lcsoft Mini Board]] | ||
| 04b4:8613 | | 04b4:8613 | ||
| 8/16 | | 8/16 | ||
| 56PVXC (SSOP) | | 56PVXC (SSOP) | ||
| none | | none | ||
Line 253: | Line 253: | ||
| [[Robomotic BugLogic 3]] | | [[Robomotic BugLogic 3]] | ||
| 0925:3881 | | 0925:3881 | ||
| 8 | | 8 | ||
| ? | | ? | ||
| ? | | ? | ||
Line 263: | Line 263: | ||
| [[Robomotic MiniLogic]] | | [[Robomotic MiniLogic]] | ||
| 0925:3881 | | 0925:3881 | ||
| 8 | | 8 | ||
| 56PVXC (SSOP) | | 56PVXC (SSOP) | ||
| 74HC244A | | 74HC244A | ||
Line 283: | Line 283: | ||
| [[Saleae Logic]] | | [[Saleae Logic]] | ||
| 0925:3881 | | 0925:3881 | ||
| 8 | | 8 | ||
| 56PVXC (SSOP) | | 56PVXC (SSOP) | ||
| ST DVIULC6-4SC6 | | ST DVIULC6-4SC6 | ||
Line 292: | Line 292: | ||
|} | |} | ||
All devices use a 24MHz crystal. | All devices use a 24MHz crystal. For 8 probes the FX2 pins PB0-PB7 are used, for 16 probes PB0-PB7 and PD0-PD7. For analog support PD0-PD7 (plus additional hardware) is usually used. | ||
<small> | <small> |
Revision as of 10:47, 9 June 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/probe | I2C EEPROM | Status |
---|---|---|---|---|---|---|---|
6-Lab LOGIC-U5 | ? | ? | ? | ? | ? | ? | TODO |
6-Lab LOGIC-U PLUS5 | ? | ? | ? | ? | ? | ? | TODO |
6-Lab LOGIC-U PRO5 | ? | ? | ? | ? | ? | ? | TODO |
6-Lab LOGIC-U ISL5 | ? | ? | ? | ? | ? | ? | TODO |
ARMFLY AX-Pro | 08a9:0014 | 8 (+1 analog) | 56LTXC (QFN) | ? | 100 Ω | Atmel ATML920 24C02N SU27 D | 95%1 |
ARMFLY Mini-Logic2 | 08a9:0014 | 8 | 56LTXC (QFN) | ? | 100 Ω | Atmel ATML920 24C02N SU27 D | 100% |
Braintechnology USB Interface V2.x | 04b4:8613 | 8/16 | 56PVXC (SSOP) | none | none | Microchip 24LC64I | 100% |
Braintechnology USB-LPS | 16d0:0498 | 8/16 | 56PVXC (SSOP) | none | ? 68 Ω | Atmel ATML0816 TINY13 20SU | 100% |
CWAV BusBee | ? | 4 | ? | ? | ? | ? | TODO |
CWAV USBee AX-Standard | 08a9:0012 | ? | ? | ? | ? | ? | TODO |
CWAV USBee AX-Plus | 08a9:0013 | ? | ? | ? | ? | ? | TODO |
CWAV USBee AX-Pro | 08a9:0014 | 8 (+1 analog) | ? | ? | ? | ? | 95%1 |
CWAV USBee DX | 08a9:0015 | 16 (+2 analog) | ? | ? | ? | ? | TODO |
CWAV USBee EX2 | ? | 8 | ? | ? | ? | ? | TODO |
CWAV USBee SX | 08a9:0009 | 8 | 56PVXC (SSOP) | none | 560 Ω | Microchip 24LC01B | 100% |
CWAV USBee ZX | ? | 8 | ? | ? | ? | ? | TODO |
ITead Studio MiniLogic4 | ? | ? | ? | ? | ? | ? | TODO |
ITead Studio ITDB01 | ? | ? | ? | ? | ? | ? | TODO |
EE Electronics ESLA100 | 0925:3881 | 8 | 56LFXC (QFN) | NXP 74HC245D | 100 Ω | Atmel ATMLH911 02B 1 | 100% |
EE Electronics ESLA201A | 08a9:0014 | 8 (+1 analog) | 56LFXC (QFN) | none | 100 Ω | Atmel ATMLH113 | 95%1 |
Lcsoft Mini Board | 04b4:8613 | 8/16 | 56PVXC (SSOP) | none | none | Shenzhen First-Rank Technology T24C128A | 95%1 |
Mollex Logic Analyzer3 | ? | ? | ? | ? | ? | ? | TODO |
Robomotic BugLogic 2 | ? | ? | ? | ? | ? | ? | TODO |
Robomotic BugLogic 3 | 0925:3881 | 8 | ? | ? | ? | ? | 100% |
Robomotic MiniLogic | 0925:3881 | 8 | 56PVXC (SSOP) | 74HC244A | ? | 2x Microchip 24LC02BI, 1x 24LC64I | 100% |
Robomotic XZL024 | ? | ? | ? | ? | ? | ? | TODO |
Saleae Logic | 0925:3881 | 8 | 56PVXC (SSOP) | ST DVIULC6-4SC6 | ? | ? | 100% |
All devices use a 24MHz crystal. For 8 probes the FX2 pins PB0-PB7 are used, for 16 probes PB0-PB7 and PD0-PD7. For analog support PD0-PD7 (plus additional hardware) is usually used.
1 Analog signal support is not yet implemented.
2 Even though this devices has the same USB VID/PID as the CWAV USBee AX-Pro, it only has 8 channels and no analog support.
3 Clone of the USBee AX and Saleae Logic. "Mollex" is the name of the guy who seems to sell it on some forum.
4 Clone of the USBee AX (SX?) and Saleae Logic, see also here and here. Dissection by a user here. Seems to be the same hardware as the Robomotic MiniLogic.
5 Various adapters are available, for example RS422/RS232/CAN, galvanic isolation, "BNC divider".
Download
$ git clone git://sigrok.git.sourceforge.net/gitroot/sigrok/fx2lafw
Usage
Build sigrok
- Build and install a sigrok frontend (CLI or GUI) with libsigrok >= 0.1.1 (or latest git HEAD) for your platform as usual, see e.g. Linux, Mac OS X, FreeBSD, or Windows.
Install the udev rules file
These steps prevent the need to run sigrok as superuser.
- Copy the udev rules file from sigrok/libsigrok/contrib/z60_libsigrok.rules to /etc/udev/rules.d/.
- Restart udev: sudo /etc/init.d/udev restart.
Build fx2lafw
$ cd fx2lafw $ git clone git://github.com/mulicheng/fx2lib.git $ make $ sudo cp hw/*/build/*.fw /usr/local/share/sigrok-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 with 16 channels- Analog sampling
- 1-channel
- 2-channel
- Voltage meter
- Trigger pin
- Clock input
- Clock output
- Frequency/pulse counter
- Signal generator
Resources
- Browse Source Code
- sdcc (C compiler for 8051 microcontrollers, usable for FX2)
- fx2lib: SF project page, blog article, github repo, mailing list
- Cypress FX2 docs:
- CY7C68013A, CY7C68014A, CY7C68015A, CY7C68016A datasheet (PDF)
- EZ-USB Technical Reference Manual (TRM) (PDF)
- EZ-USB FX2LP appnotes
- EZ-USB FX2LP errata
- GPIF Designer (Windows software, requires login)
- CY3681 EZ-USB FX2 Development Kit (GPIF designer downloadable without login)