SPLAT
Serial Propeller Logic Analyzer Terminal
The Logic Analyzer you can run in an serial ANSI terminal MANUAL |
Table of Contents
INTRODUCTIONNecessity 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
|
COMMANDSFormat of the commandsThe 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 modeFrom 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. |
NANOSECONDSn 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 |
MICROSECONDSu 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. |
MILLISECONDSm 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. |
BAUDb 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. |
WIDTHw 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. |
ZOOMz 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 CHANNELSi 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. |
s Start SPLAT
r Resume SPLAT
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.
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. |
.:.:--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 |