SPLAT 

Serial Propeller Logic Analyzer Terminal


The Logic Analyzer you can run in an serial ANSI terminal

MANUAL

Screenshot from 2015-09-06 22:00:47.png


Table of Contents

INTRODUCTION

FEATURES

COMMANDS

Format of the commands

Entering SHELL mode

LIST OF COMMANDS

NANOSECONDS

MICROSECONDS

MILLISECONDS

BAUD

WIDTH

ZOOM

INPUT CHANNELS

SCROLL LEFT

SCROLL RIGHT

CURSOR LEFT

CURSOR RIGHT

BACKSPACE

SPACE

HELP

COMMAND LINE ONLY

SHELL COMMANDS

LABEL

NOTES

TEXT DISPLAY


INTRODUCTION

Necessity is the mother of invention or so it is said, and so out of necessity I created a logic analyzer for the Parallax Propeller chip that could be used to debug up to 30 channels of serial transmit and receive that runs from the same chip as the analyzer or could just as well be a dedicated analyzer.

Since my development environment for the Propeller chip is Tachyon Forth it just made sense to write some functions for capturing 32 I/O and presenting this information in a standard logic analyzer format. Although there have been logic analyzers written for the Propeller before, I was seeking one that did not require a special display such as VGA or LCD etc.

Since Tachyon Forth development is handled over a serial terminal emulator, in my case minicom on a Linux system it was the logical choice to use this as the display device. Many terminal emulators support ANSI command sequences that permit screen positioning and foreground and background colors to be set etc. Using these commands the logic analyzer display was built up and can run on a variety of terminal emulators on a variety of operating systems.

New features are being added all the time and improvements made to existing functions. The SPLAT logic analyzer is very easy to modify and enhance as the Propeller itself is the development environment and changes can be made interactively.

---more

FEATURES

  • Up to 32 channels of capture (28 to 30 usable)
  • 1.9Msps sampling with 20Msps to be added
  • standard 512 deep capture buffer
  • Operation with serial terminals at up to 2M baud
  • Totally software based, no special requirements
  • Command line mode
  • Channel label tags

COMMANDS

Format of the commands

The format of the commands is the same if it is entered within SPLAT or from the Forth shell command line. Parameters are entered prior to a command although many commands accept a zero or null parameter as a default. Commands are case insensitive and the parameter may be any 32-bit unsigned value so it is possible for instance to enter "1000000000n" to set the sample time to one billion nanoseconds which is the same as one second which would normally be entered as 1000m .

When entering commands from the FORTH shell it is necessary to add whitespace between the parameter and the command as per Forth convention.

Inside SPLAT the space is omitted.

Entering SHELL mode

From within SPLAT hitting the enter or <cr> key will exit to the shell where commands can be entered and SPLAT resumed by entering R <cr>.

Of course the shell isn't limited to simple commands as the whole Forth environment is open and even new code can be written.

LIST OF COMMANDS

NANOSECONDS

n        Set scale to ns (nanoseconds)

Format:         <num> N

Example:        800n

Display:        SCALE=800ns

Set the sampling frequency scale in units of nanoseconds with the given magnitude. The magnitude will have limits applied automatically so this also means that entering a 0 or null value N will set it to the fastest sampling frequency. F

MICROSECONDS

u        Set scale to us (microseconds)

Format:         <num> U

Example:        125u

Display:        SCALE=125.000us

Set the sampling frequency scale in units of microseconds with the given magnitude.

MILLISECONDS

m        Set scale to ms (milliseconds)

Format:         <num> m

Example:        10m

Display:        SCALE=10m

Set the sampling frequency scale in units of milliseconds with the given magnitude.

BAUD

b        Set scale to match three times the baud rate

Format:         <num> b

Example:        115200b

Display:        SCALE=115,200baud

Using the baud rate supplied calculate the required sampling frequency as three times the baud rate. This value is also used for character decoding purposes.

WIDTH

w        Set the width of the capture display (less the frame)

Format:         <num> w

Example:        75w

Set the width of the capture display plus another 5 characters for the frame. The width will normally be set to match the terminal window but may be made smaller to suit or for faster screen updates when working at lower baud rates.

ZOOM

z        Set the zoom of the capture display

Format:         <num> z

Example:        3z

Set the zoom factor of the capture display to multiply the number of divisions or character positions a sample will consume up to a maximum of 10.

INPUT CHANNELS

i        Set the number of channels

Format:         <num> i

Example:        8i

Set the number of channels being used for a minimum of 8 to a maximum of 32 starting from offset.

SCROLL LEFT

<        Scroll the display left

Format:         <num> <

Example:        <

Will scroll left by 1 column at a time repeatedly or by the number of columns specified. Any key will stop it but will also execute so just use SPACE to stop.

SCROLL RIGHT

>        Scroll the display right

Format:         <num> >

Example:        >

Will scroll right by 1 column at a time repeatedly or by the number of columns specified. Any key will stop it but will also execute so just use SPACE to stop.

CURSOR LEFT

,        Move the cursor left

Format:         <num> ,

Example:        ,

Will move the cursor left by one column or by number specified

CURSOR RIGHT

.        Move the cursor right

Format:         <num> ,

Example:        ,

Will move the cursor right by one column or by number specified

BACKSPACE

<BS>        backspace and remove last digit

Format:         <num> <BS>

Example:        1234<BS>  results in 123

Correct the last digit entry.

SPACE

<SP>        Stop, clear, and refresh

Stop any continuous action, clear any entry, and refresh the display.

HELP

?        Display help command summary

Will display current help information. If SD filesystem is available then this is checked for a more verbose file if found.

COMMAND LINE ONLY

s                Start SPLAT

r                Resume SPLAT

SHELL COMMANDS

LABEL

Format:         <channel> LABEL <name>

Example:        28 LABEL SCL

Enter a channel label with up to 4 characters to be displayed on the right hand side of the screen.

        


NOTES

Changing the baud rate of SPLAT to match the terminal.

To run SPLAT smoothly it is best to use as high a baud rate as possible with 2M being recommended as the maximum. To change this exit to the command shell and enter the baud rate value followed by the CONBAUD command.

Example:        2000000 CONBAUD

The unit will lock the value into EEPROM but will not switch to the new baud until reset which can be effected at any baud rate by sending a break sequence which in minicom is ^A F or in TeraTerm <alt> B.

Caution: Entering an incorrect baud rate may not be easily recoverable after reset.


TEXT DISPLAY

 .:.:--TACHYON--:.:. SPLAT LOGIC ANALYZER V1.0

        012345678901234567890123456789012345678901234567890123456789012345678901234

 00d__________0____---______---___------______---------___---___------------___TX1

 01u__________0____---______---______---------___------___---___------------___TX2

 02d------____0_---------___---__________________---______---___------------___TX3

 03x___---____0_______---___---___---___---___---------___---_________---___---TX4

 04d----------1-___------___---______---------___------___---___---------______TX5

 05u___-------1-___------___---___------______---------___---__________________TX6          

 06u__________0____---______---_________---___---------___---___------------___TX7          

 07u---_______0____------___---______---------___------___---_________---______TX8          

 08d---______-1----------___---__________________---______---_________---___---TX9          

 09d__________0____---______---___---______---______---___---__________________TX10          

 10u__________0____---______---___---_______________---___---______---------___TX11

 11d___------_0_---------___---___---___---______------___---__________________TX12

 12u______---_0_---------___---____________---___------___---__________________TX13

 13u___-------1-___------___---___---------______------___---___---___---______TX14

 14u___-------1-___------___---___---------______------___---___---___---______TX15

 15u___------_0_---------___---___---___---______------___---_________------___TX16

 16x---_______0____---______---__________________---______---______---_________TX17

 17u__________0____---______---___---______---______---___---__________________TX18

 18d---___---_0_---------___---__________________---______---___---___------___TX19

 19u______----1-___------___---_________------___------___---__________________TX20

 20u----------1----------------------------------------------------------------

 21x__________0________________________________________________________________

 22x__________0________________________________________________________________

 23x__________0________________________________________________________________

 24x__________0________________________________________________________________

 25d-___----__0----___---____---____---____---____---____---____---___----___--REF

 26d__________0________________________________________________________________

 27u----------1----------------------------------------------------------------

 28u----------1----------------------------------------------------------------SCL

 29u----------1----------------------------------------------------------------SDA

                    SCALE=115,200baud x1 @0 = F818.6130                                

 ok        SPLAT - Serial Propeller Logic Analyzer Terminal  150905-0050