Translate

Showing posts with label CY7C68013A. Show all posts
Showing posts with label CY7C68013A. Show all posts

Monday, August 22, 2011

CY7C68013A USB Logic Analyzer - Update

Time ago I received to test a little board based on the Cypress CY7C68013A and I wrote some notes about it.
This is a quick update of those notes.
These are informational notes only and are old!
I strongly suggest to buy the Logic package in order to have  the best results and easy operations.


usblogic_1.jpg

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

Exists a relatively easy hack in order to have the board working with Logic under Linux (tested with the 1.1.9 version under Ubuntu 11.04 quite time ago).

Here the hack :
  1. Be sure to don't have Logic running on the Linux  box
  2. Power on (plug-in) the Cypress CY7C68013A board
  3. Wait few seconds, the time for the board to start
  4. Remove the jumper J1
  5. Start Logic
After few seconds Logic will indicate ready to Start.
What happens is that without the jumper, Logic (at least the version 1.1.9) is loading the necessary firmware in the board and then start it.
Note that if you put back the jumper, all is working until you turn the board off and then back on or close Logic.
i.e. the firmware loaded is not permanent, every time it needs to be loaded.

I decided to put the board in a small box, for better protection and to be able to host a push-button.
Not having around any decent box, I temporary used two pieces of plexyglass. Ugly but functional :-)
I used a NC push-button, connected of course to the jumper J1.








Now in order to use the board with Logic, simply connect it to an USB port, then after few seconds, push the button and, while keeping it pushed, launch Logic.
When logic come out with Start, release the button and everything should work.

When closing Logic the configuration is lost, so it is necessary to un-plug the board  then plug the board back, following the procedure described above.
Much better to have an original Logic board.


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.