Jump to content
oPossum

6 channel logic analyzer

Recommended Posts

The LogicBoost is a 6 channel 16 MHz 256 ksample logic anlyzer booster for the MSP430 launchpad. It works with 3 to 5 volt logic levels.

post-2341-135135562723_thumb.png

Many common communication protocols can be observed, such as:

- Async serial ("UART", "RS-232")

- SPI

- IIC

- Dallas/Maxim one wire

- Low speed USB (1.5 Mbps)

- DHT11/22 sensors

- Consumer infrared and IRDA

It is also useful for PWM and other applications.

 

SPI RAM chips are used for the acquisition buffer. This greatly simplifies the design relative to using parallel SRAM chips. The SPI RAM have and internal address counter that eliminates the need for an external address bus and counter. The MSP430 sets up an address and write mode, and then data is clocked into the RAM on every SPI clock.

 

post-2341-135135562748_thumb.png

 

The PCB is 50 x 50 mm for low cost and uses thru-hole components so anyone can build it. An optional FTDI board can be used for faster host communication.

post-2341-135135562762_thumb.jpg

 

It can be stacked with the Launchpad Mini - also 50 x 50 mm. An FTDI board is required for host communication and power in this configuration.

post-2341-135135562775_thumb.jpg

post-2341-13513556279_thumb.jpg

Share this post


Link to post
Share on other sites

The SUMP protocol is used for host communication. Recommended software is Open Logic Sniffer. The application UART of the launchpad is usable, but slow. An FTDI board is recommended for faster and more reliable communication.

 

The prototype was initially tested with a 74HC4040 counter clocked at 10 MHz.

post-2341-135135562813_thumb.jpg

 

Aliasing of the 5 MHz output is noticeable. As a general rule, 10x sampling is desirable, and 4x is a minimum. So signals up to 1.6 MHz are fine, and up to 4 MHz may work with limited timing resolution.

post-2341-135135562806_thumb.png

 

The C2000 Launchpad just became available and the the Stelaris Launchpad has been announced. I will be investigating compatibility with both as soon as I can get them. There may be a PCB revision to allow support of all three launchpads.

 

Firmware and PCB files: logicboost.zip

Share this post


Link to post
Share on other sites
The C2000 Launchpad just became available and the the Stelaris Launchpad has been announced. I will be investigating compatibility with both as soon as I can get them. There may be a PCB revision to allow support of all three launchpads.

 

looking forward to this.

Share this post


Link to post
Share on other sites

Is it possible to expand the solution to 8 channels? The latch is already 8 channel and there are free pins available on MCU. Is there some software limitation? From layout point of view I would be willing to go for SOIC and no crystal on LaunchPad in exchange of 8 channel solution.

Share this post


Link to post
Share on other sites

Sure - P2.6 and P2.7 can be used as GPIO instead of for a xtal. Some minor firmware changes would be required to properly setup port 2 and use the additional 2 bits. Search the source code for 0x3F to find where most of the changes need to be made.

Share this post


Link to post
Share on other sites
The C2000 Launchpad just became available and the the Stelaris Launchpad has been announced. I will be investigating compatibility with both as soon as I can get them. There may be a PCB revision to allow support of all three launchpads.

 

looking forward to this.

Me, too. This may make me buy one of the faster LaunchPads. ;)

Share this post


Link to post
Share on other sites

This looks like a clever design. I normally think of using a fast MCU to read the GPIO pins as quickly as possible to capture the data.

 

Am I right that the maximum length of capture is limited by the SPI RAM?

 

For example, the max time it can capture is 256K bit = 262144 samples * 1/sampling rate? i.e If I'm capturing at 16MHz, the max time I can capture is: 0.016.38 seconds (or 16.38ms)

 

Can the SPI RAM act as a circular buffer providing that the MSP430 is off loading the data fast enough?

 

Thanks

 

-Thanh

Share this post


Link to post
Share on other sites

This is great, but I will done it on much simpler (only MSP430F550x) way. uC will collect the samples on high speed (just storing byte from P4 to USB endpoint buffer on 25MHz) and (when the buffer is full, 64 bytes) sending it to PC over USB on 1 MB/s. After measuring is done, on PC side some (dummy) data from beginning of measured stream will be rejected due to USB bus waking up. No need for RAM, and no limitation in length of samples/measured data. Number of channels * Sampling speed = 1MB/s, so if the higher sampling speed is needed, number of channels can be decreased, and opposite.

Share this post


Link to post
Share on other sites

Thanks. I soldered it up the other night. I didn't realise until I had the chips in place that you sent me a spare '573! That was very kind. It will be a head start if I decide to have a crack at your 23LC1024 based version. :thumbup:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...