Translate

Wednesday, March 23, 2011

CY7C68013A USB Logic Analyzer

I received to test a little board based on the Cypress CY7C68013A.
Here some notes about this experience.



The CY7C68013A USB Logic Analyzer is a small board made by a Chinese company (Lcsoft) sold on Ebay from a China reseller as a Logic Analyzer tool.
It's a small board based on a Cypress CY7C68013A micro-controller (an 8051 clone).

First impressions

The board arrived in a small padded envelop, without any cable, documentation and software.
Quite useless due the totally lack of information.
Looking over the net didn't return too much information, there are very few seller of this product.

On some Ebay auctions for this board, there were present some links to the schematics and software, however these links seems not working.




Being only in Chinese is not really helpful to understand what is going on, also if it appears a "button" is available, but it is  disabled (gray one).
Also the download material available on these links, is information-less.
Are basically 3 rar files named 0000.rar, 1111.rar and 2222.rar, not really self explaining.
I had to contact the vendor of the board, and he initially answered back giving me the link to the same URL I discovered not working.
After another round of contacts, the vendor sent me the files via email.

The software

As I mentioned earlier, the software associated to this board, is coming in three "anonymous" RAR files :
  • 0000.rar
  • 1111.rar
  • 2222.rar 

0000.rar

This file contains other rar files, some of them named in Chinese and thus with wrong/illegal names in English.
Fortunately, at least under Linux, almost all in the end was accessible.
Without entering too much in detail here some contents, for what I can say (no documentation is present) :
  • -rw-r--r-- 1 1118001 2007-01-02 00:13 56pin.rar
    Source code for the board firmware.
    There are different directories and is not clear if all the code present is part of what is written on the chip or if there are testing code, experiments, ecc.
    There is NO documentation, nor information, nor about the necessary tools to compile the code and how to load it in the chip.
  • -rw-r--r-- 1 1701745 2007-01-02 00:13 Logic Software 1.0.21.rar
    Windows version Logic analyzer program in binary, no documentation.
    It is from the USBee Suite .
  • -rw-r--r-- 1 229606 2007-01-02 00:13 Schematic.rar
    Schematic and BOM of the board

1111.rar

This file contains a single zip file, that in the end contains a MSIA loader (Microsoft stuff)
  • -rw-r--r-- 1 11416917 2009-02-18 02:13 axsw.zip

2222.rar

Also this file contains a single zip file that contains some USB drivers for Windows.
  • -rw-r--r-- 1 8372169 2010-05-05 11:21 usbeesuitesw.zip 

To better organize the received material, I created a new tree , changing some names to better identify the pieces :
  • drwxr-xr-x 7   4096 2010-11-01 16:23 Firmware
    This directory contains the firmware supposedly on board
  • drwxr-xr-x 2   4096 2011-03-18 12:29 LogicAnalyzer
    It seems a logic analyzer code. Not sure if is equivalent to the UsbeeSuite or it is part
  • drwxr-xr-x 2   4096 2011-03-18 07:05 Msia
    Microsoft libraries
  • drwxr-xr-x 2   4096 2007-01-02 03:37 Schematics
    Schematics of the board
  • drwxr-xr-x 2   4096 2011-03-18 07:05 UsbeeSuite
    Usbee Suite 1.5.7

The hardware

The schematic present in the received files, it just illustrates the board "as is", without any indication about how to use it for the Logic Analyzer function. 
Doing some tests using the program Logic under Windows (1.0.21), it seems that the 8 inputs used are located in the port B, where PB0 is the Input 1, PB1 the input 2 and so on.
The pins not connected to a probe input, reports an high value (+5V), i.e. seems the inputs are pulled up.
Also from the tests it seems the board can support max 8Mhz as input frequency.
The possible selection of the program Logic (12 Mhz, 16 Mhz and 24 Mhz) are not working.
The program automatically reduce them to lower values if selected. 
From some tests, it appears that all the selections of frequency are working, however the combination of the frequency and the  number of samples can  cause the program to "scale down" the frequency selection.
When the jumper close to the Eeprom is removed, the board is not seen anymore as Logic Analyzer but as Cypress development board.
Probably in the Eeprom are stored the codes and/or firmware for the Logic analyzer.

The cable

The analyzer arrived without any cable, so I looked around to see what was the best approach.
Some sellers of the board (and similar one) sells a cable that can be connected to the board, but I didn't like it for the price, the endless waiting time (from Honk Kong) and the appearance.
So I decided to buy the cable  used by the Logic original hardware and build a simple adapter board to connect it.
I bought the cable from Sparkfun (TOL-09225).

Here a couple of pictures of the adapter board to connect the cable to the logic analyzer.

The Logic Analyzer

Exploring the received files, I didn't find a single piece of documentation about how to set up both software and hardware, the logic analyzer functionality.

From some comments and the nature of the code, I think that the package (hardware and software) is a clone (hack ?) of the USBee LX series of USB instruments .
There is also another Logic analyzer code, the Logic, from Saleae , that exist also for Linux .
So in order to see if the board is actually working, here are some required steps :
  1. try to install on a Windows machine the included software :
    • USBee Logic Analyzer Suite
    • Microsoft Net extensions
    • Saleae Logic analyzer (Version 1.0.21)
  2. check the installed software in order to find hardware hook up info
  3. connect the hardware to the PC and see if is working and discover how to use the board I/O
  4. try to do the same with the Linux version

Install code

Logic 1.0.21 (Windows)

One for the Windows code in the received files, is from the Saleae, Logic, version 1.0.21.
The program requires some .Net libraries, I suspect the ones received with the rest of the code.
However the installation checks and installs them from the Microsoft website directly.
The .Net framework installation takes some time, so it is mandatory to have patience. 
After restarted the computer and completed the installation, it is possible to launch Logic, after connecting the board.
The board is recognized and the program is able to read the signals.
Status : working

Logic 1.1.4 (Ubuntu)

The Ubuntu (32 bit) version tested is the 1.1.4.
There is no need to install the code, however in the Driver directory there is an udev entry and a small script capable to copy the udev rule under /etc/udev.
So far the board is recognized (plug in) but on I have a not identified "access" problem.
lsusb recognize the board as "Lakeview Research"
Bus 001 Device 021: ID 0925:3881 Lakeview Research
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  idVendor           0x0925 Lakeview Research
  idProduct          0x3881
  bcdDevice            0.00
  iManufacturer           1
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           46
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
can't get device qualifier: Connection timed out
can't get debug descriptor: Connection timed out
cannot read device status, Connection timed out (110)

However some info I found suggest that the board should give more information.
Status : NOT working



Logic 1.1.9 (Ubuntu)

The Ubuntu (32 bit) version tested is the 1.1.9.
There is no need to install the code, however in the Driver directory there is an udev entry and a small script capable to copy the udev rule under /etc/udev.
So far the board is recognized (plug in) but on I have a not identified "access" problem.
lsusb recognize the board as "Lakeview Research".

Status :  working

Logic 1.1.4  (Windows)

I installed also the new version of Logic, the 1.1.4, under Windows.
The installation was successful, however like the Ubuntu version, is not full recognizing the board, aborting immediately after the board is connected to the USB.
A collateral effect I had so far, is that the board is not working anymore also with the 1.0.21 version of Logic until the new Logic program 1.1.4 is dis-installed and the computer restarted.
Status : NOT working (not yet tested with the update)

Logic 1.0.33  (Windows)

On the Saleae website is also present an older version of Logic, but greater than the one present in the received files from the board vendor.
The version, only for Windows, is called 1.0.33 (present also in this website) and is working.
Status : working

USBee Suite 1.5.7 (Windows)

The other included Logic analyzer application is the USBee Suite, version 1.5.7.
The installation went well, no errors (on my Win XP machine) but the code it crash as soon as it starts, after the splashscreen.
Doesn't matter to have the board connected or not to the computer.
Status : NOT working

Conclusion

The board is working basically only with the version of Logic 1.0.21 and Logic 1.0.33 under Windows and with limitations (max. available frequency).
The lack of information make really complicate to try to study the reason of the failure with newer version of the Logic or Linux version, but I think has to do with a lack of information to the USB udev.
Also in order to use the board is necessary to :
  • buy a set of 9 probes
  • prepare a piggy back circuit to adapt the probe connettor
    Since the board is "generic" the probe connection are not linear but the ones available on the market are.
  • eventually optoisolate/protect the inputs
  • put the board in a case

For the price is sure an interesting object, but the lack of information and the reduced capabilities if compared with "official" products can reduce the usefulness of the product.

If having reduced capabilities, like be forced to use Windows instead of Linux and the limit in the frequency input, having to build the case for the board, play with the received material and lack of information (that this article tries to fix), then it can make sense to spend the money.

Otherwise I think the full price of the "originals" like the Saleae Logic are more than well justified.


36 comments:

  1. Thanks for all the info on this, I had considered buying one to play around with but from what you have said this will be too much work - and I do not have enough knowledge!

    ReplyDelete
  2. I will update the post soon or later, adding some notes about the work to have usable tool.
    In theory in the files received there is also the source for the firmware for the Logic Analizer function. Would be nice to be able to change it.
    But I agree with you, there is a lot of work involved to have something close to the "original".
    It make sense for hobby, but if you just need a reliable tool, better to buy one "official" and supported.

    ReplyDelete
  3. So does the "logic" software for linux work? (there is some build in the site). Why is the chinese board with reduced frequency limitations when the chip is basically the same.

    ReplyDelete
  4. Where can I find files 0000.rar, 1111.rar, 2222.rar ??

    ReplyDelete
  5. No, the Linux version of the code is not working with this board.
    Nor the latest Windows version.

    About the second question, I don't have an answer.
    Not having the original board for the Logic software, I'm unable to compare them.
    I just reported what is happening.

    ReplyDelete
  6. As I wrote in the article, there are some links pointing to these files but they didn't work for me.
    So I contacted the seller directly and he sent them to me via email.

    ReplyDelete
  7. I just ordered one of these boards, and intend to make it fully compatible with the saleae software.
    BTW did you try to read the content of the eeprom, I think all of the programs surrounding software capabilities ca be resolved with proper memory values ( from what I've red in the Chinese forums)

    ReplyDelete
  8. Hi bobi-one, I agree with your assertion.
    Is only matter to give the right memory values. I did found some posts where they reported the saleae card lsusb and it is indeed different.
    To answer your question, no, I did not try to access the firmware. I don't have time right now to start to play with also this development environment :-) I'm quite sure it is possible to set up a system using GNU but I did nothing about it.
    I have already to play with the MSP430 family and others :) and I don't have time for them either :-(

    ReplyDelete
  9. Hi All, @Boby one, you can compare picture of original logic http://www.saleae.com/logic/ you get a professional made board, a set of grabber cables and a soft bag too.
    See this beatiful review :
    http://www.electronicsjunk.com/index.php?option=com_content&view=article&id=52:saleae-logic-analyzer-&catid=34:electronics&Itemid=59
    Original has input protection circuitry, (u2,u4 and r5-r12 limiting can act also as a fuse, same on USB side) so if you had to implement all of this why don't agree price for logic is not too much? When I bought this mini board I was aware of Logic, now I don't think again to buy this one. About eeprom original Logic has no external eeprom and you have to deal with cypress development system, firmware is not on board but loaded every time you connect it. It can be simple to bypass protection, but i like saleae work and a support to them is a correct tribute. Again why waste a long amount of time to enrich china people? I hope to buy logic 16 asap my finance permit to. These guy also support Linux and MAc, long life to Logic.
    Regards
    Roberto

    ReplyDelete
  10. I just purchased one of these boards (or quite similar), and as far as I'm concerned, it's a waste of my time. Maybe not somebody else's, but it is mine. For the time and trouble, I should have gone with the original. The "software" stinks, I can't read ANYthing. I've got a "CD" I downloaded, but almost NOTHING will open, and there's no help from the seller.

    But for somebody on a strict budget, this may work out, IF you're A) capable of making it work, and B) can find everything you need and C) are willing to fix issues later like a case, protection etc...

    But in all honesty, I'd say forget it, save a few bucks up, and go with the brand name and just get something that works out of the box.

    I may end up using mine for something, anything other than a logic analyzer. (In fact, I'd like to get a small FPGA module and use that, build my own, as it would be a LOT faster)

    Just my two cents worth.

    ReplyDelete
    Replies
    1. Just in case someone need help, if you cannot open the zip files, rename all folders including subfolders with a non-Chinese words. To download the files, google the net for OT272CY7C68013Aboard.rar or CY7C68013A.rar files.

      Delete
  11. For use as saleae logic write C0 25 09 81 38 00 00 00 to eeprom (fill rest with ff if needed). GiyF.

    ReplyDelete
  12. Just a note. I usually just approve comments, unless they contains obscenity or insults. But I don't test nor support/approve any suggestion.
    If somebody wants to follow suggestions find on the comments, it's to his/her risk.

    ReplyDelete
  13. in saleae site are just 1 version to download and is 1.1.15 please if you can tell us if this version works.

    ReplyDelete
  14. The 1.1.15 seems not working with that clone.

    ReplyDelete
  15. Could you please post a link of where I can download the Logic versions that actually work? Because I have the same board as you but I can't find that old versions anywhere.

    ReplyDelete
  16. I don't have any link for older versions of Logic.
    If you have the board, you should have received a CD with it, containing some code. Among that, it should be present the Logic program.

    ReplyDelete
  17. Ive got one of these boards and I have the support file that comes with it! If you need it I will email it.

    I didn't but this board with the intention of creating a logic analyser its just the chip alone cost more money here than the whole china board! I hate this China business it should be cheap to buy anywhere.

    If you are working with this chip FX2 please get in tough!

    you can email to:
    cy7fx2 at gmail.com- Thanks

    ReplyDelete
  18. U4 and U5
    the DL46 marking is for a Ultra low capacitance ESD protection
    Number DVIULC6-4SC6 from ST

    U1
    Microchip
    M0NN where M0 is a 24LC00 ( 16 Bytes )
    and NN is a Alphanumeric traceability code.

    ReplyDelete
  19. Hi,

    Thank you for this useful post. I have found a way of making this work with the latest software. Here is a post on my blog that might help you all:

    http://sunbizhosting.co.uk/~spiral/blog/?p=117

    Spiral

    ReplyDelete
  20. Just wanted to echo the support of using this as a dev board instead of a counterfeit Saleae/USBee. It's a pretty good deal when this whole breakout board can be bought for less than $16 (with free shipping) on ebay, when the chip alone would cost you around $20 in single quantities. It's just a shame that everyone, from the LCSoft manufacturer to all the Ebay resellers are trying to push it foremost as a counterfeit good.

    Anyway, for anyone interested in a legitimate use for this board, it does work pretty well as a breakout for the 56-pin version of the FX2LP. The included EEPROM (U3) is pre-programmed with 'C0' as the first byte (to tell the '68013a to use only the VID/PID/DID from the EEPROM, with no firmware), and, naturally, it's preprogrammed with Saleae's VID and PID, but you can use J1 to change the EEPROM's I2C address and cause the '68013a to not use U3 as its default EEPROM. The SCL and SDA lines are broken out to the headers, so you can attach your own EEPROM easily. It's also easy enough to reprogram the included EEPROM with Cypress' "Cypress Suite USB"'s CyConsole software to wipe the Saleae IDs. You can also use CyConsole to upload firmware directly to the chip's memory for single runs.

    A Knowledge Base entry on Cypress' site suggests that debugging support in Keil is accomplished via a set of serial pins which are not present on 56-pin FX2LPs, but I don't imagine anyone searching ebay for cheap FX2LP boards is going to be using Keil anyway, when SDCC supports the chip.

    If you do want to use it as a logic analyzer, there's no excuse for pirating Saleae's software. Sigrok is an opensource logic analyzer which includes support for this very LCSoft breakout board. The Logic Sniffer-branch of the OLS-client is another open source logic analyzer, which shouldn't prove too hard to hack in support for the '68013a.

    ReplyDelete
  21. This comment has been removed by a blog administrator.

    ReplyDelete
  22. Thanks for the information, it was really helpful.
    I just don´t understand what is the correct firmware at 0000.rar file and what tools did you use to upload the firmware to the kit ?

    Thanks!
    Iliézer Tamagno

    ReplyDelete
  23. The files sent with the board were quite useless.
    I did not have (and I don't have) anyway any environment to compile code for the board. The firmware was already loaded in the board.

    ReplyDelete
  24. I confirm that the board works flawless with Saleae Logic 1.1.15 software once you connect a small i2c eeprom with the proper VID/PID stored in the first few bytes. I'm using an AT24C02 wire-connected to the board, it lets me run Logic 1.1.15 in Windows7 64bit at 24MHz :-)

    Previously it made Logic 1.1.15 crash immediately and I was forced at using Saleae Logic 1.0.21 on WindowsXP only ... which was good too. But now I am able to run it on a Windows7 64bit machine with the latest Saleae release too :-)

    ReplyDelete
    Replies
    1. Roberto I just got new board. What should I do to make it running?

      I installed Cypress Studio but the driver that is in x64 folder is not recognizing by my vista 64bit system.

      Later on I installed Saleae 1.1.15 and it has installed its own drive Saleae Logic analyser automatic. The device was visible in system manager. But Saleae software was crashing immediately after start. I had original manufacturer's EEprom, tried with and withot jumper. No difference.

      The device is also not visible in Cypres console.

      Currently I installed new EEprom 24C64 with 8bit organisation, but how can I reprogram it if its not visible. I am getting mixed up a little bit..

      Delete
    2. Hi Roberto, Can you confirm what you used as "proper VID/PID" ?
      Thansk

      Delete
  25. Ciao Stefano, non avevo ancora approfondito il tuo blog ... solo adesso ho capito che sei un "nuovo emigrato" :-)

    In bocca al lupo a te che sei lì in America, ti porto i saluti dall'Italia :-)

    ReplyDelete
  26. Grazie Roberto, anche se piu' che "nuovo" sono lavato con perlana :)

    ReplyDelete
  27. Nice work!
    Do you still have a copy of the 1.0.31 (Win) version of logic? version 1.0.21 only seems to work on 32bit systems, and none of these old versions are present on the website anymore...

    ReplyDelete
  28. Hi Kalle, no I don't have anymore the original stuff arrived with the board. It was quite useless and I don't use Windows anymore.

    ReplyDelete
  29. Is possible to use analyser for reseting laptop batteries like EV2300 or USB-to-GPIO from TExas Instruments?

    ReplyDelete
  30. Jm, your question is not clear to me.
    Sure you can use the analyzer to monitor the USB or any serial/parallel connection or maybe some processor-like bus, surely not an analog voltage.

    ReplyDelete
  31. For the usbee software you might want to read this article to get it working:
    http://hackaday.com/2011/12/15/saleae-logic-analyzer-knockoff-hacking/

    ReplyDelete
  32. I managed to patch the Saleae's firmware so it will work with the current EEPROM chip and with the latest software (as for now, version 1.1.34)

    ReplyDelete
    Replies
    1. can u advise what the patch is? my module can only working with o;d version and I like to try and get it to work with 1.1.34 beta. thanks.

      Delete