Home page
Memory Testers

Tech Support
Software Downloads

Calibration & Upgrades
SIMCHECK II Upgrade to        RAMCHECK
Application Notes
Development Logs
Service & RMA Policy

News Releases
Site Map


Contact us at
(281) 879-6226

SIMCHECK Application Note


This application note discloses partial information regarding the RAMCHECK or SIMCHECK II Serial Interface Protocol. This information should be sufficient for advanced users wishing to implement their own computer interface program. The information may also be used for serial interface troubleshooting. Since RAMCHECK protocol is identical to SIMCHECK II (except fater baud rate), any reference to SIMCHECK in this document applies for both units.

SIMCHECK Serial Protocol is proprietary information of INNOVENTIONS Inc. and copyright, patent pending, and trade secret protection cover it. Users are hereby granted the use of the enclosed information only in conjunction with INNOVENTIONS' SIMCHECK II and RAMCHECK units. INNOVENTIONS Inc. reserves the right to incorporate any change in said protocol without prior notice.


SIMCHECK II: The serial communication setup is 19,200 Baud, 8 data bits, 1 stop bit, and no parity.

RAMCHECK: The serial communication setup is 38,400 Baud, 8 data bits, 1 stop bit, and no parity.

The 9-pin D-SUB serial connector for both RAMCHECK and SIMCHECK II uses pin 2 as Transmit, pin 3 as Receive, and pin 5 as Ground. NO OTHER PIN IS USED. The serial cable supplied with the unit has straight connections (pin 1 to pin1, pin 2 to pin 2, etc.).


The PC Communications program for both RAMCHECK and SIMCHECK II includes a communications diagnostic tool, which allows you to view the serial streams between the PC and the tester, as well as sent characters stream to the tester in accordance with this document.

Diagnostics Screen

The Communications Diagnostics can be activated from the RAMCHECK/SIMCHECK menu, or using the associated speed button.

Protocol Overview

The main design constraint of the Serial Protocol was to avoid any task overhead on the SIMCHECK II/RAMCHECK main memory test routines, in order to retain the stand-alone advantage of our architecture. Therefore it is implemented with short communication streams (typically 4 to 6 characters) from the PC to SIMCHECK. All lengthy communications of test results from SIMCHECK II to the PC are made only between test subroutines.

The second design constraint of the Serial Protocol was to create a loose, non-time-critical communication between SIMCHECK and the PC in order to retain SIMCHECK full independence. Also, the memory test will not be interrupted even if communication is lost (or intentionally ignored) for some time. The only result of communication being lost will be a gap in the PC Test Log data. You will find this feature to be very useful in simplifying your own interface program!

SERIAL INTERFACE PROTOCOL (partial disclosure)


All character streams are denoted within a pair of quotation marks, like this "[r0". The quotation marks are NOT PART of the protocol. All characters are in standard ASCII presentation.

Individual character (byte) values, which are cumbersome in ASCII, are written between '<' and '>' markers like "[t<07>". In this example, a byte equal to 122 is transmitted after the letter 't'.

A <cr> is the carriage return character (=13).

A <variable 1> is a variable value between 0 and 255.

We use the h notation for hexadecimal numbers, for example 23fh.

General Stream Format

All the Realtime Interface streams between PC and SIMCHECK II must start with the character '[' or '{'. Thus, your own program may safely ignore all the streams which do not include the '[' or '{' prefix.


Upon turn on, the SIMCHECK II serial channel is inactive. The PC turns it on by sending any command. From that point, SIMCHECK II will send various data via the serial interface. Your custom PC does not need to respond to these commands.

The following table outlines the most useful commands from the PC program (which you may create) to SIMCHECK II.

NOTE: Please select the top text section on the Communications Diagnostics window when entering the serial commands. This can be done by simply clicking the text section with your mouse.
PC Command String SIMCHECK response
Get SIMCHECK version "[r0<cr>" "a<version><cr>"where the version char is 100-255 for version 1.00 to 2.55
Esc "[r1<cr>" Similar to SIMCHECK Esc key.
Jump to Basic Test "[r101<cr>" SIMCHECK performs Basic Test.
Jump to Extensive "[r102<cr>" SIMCHECK goes to the title screen of Extensive Test.
Jump to Voltage Cycling "[r103<cr>" SIMCHECK performs this phase of the Extensive Test.
Jump to Mode Test "[r104<cr>" SIMCHECK performs this phase.
Jump to Voltage Bounce "[r105<cr>" SIMCHECK performs this phase.
Jump to March Up Down "[r106<cr>" SIMCHECK performs this phase.
Jump to Relative Refresh "[r107<cr>" SIMCHECK performs this phase.
Jump to Relative Spikes "[r108<cr>" SIMCHECK performs this phase.
Jump to Final Test "[r109<cr>" SIMCHECK performs this phase.
Jump to Auto Loop Test "[r10a<cr>" SIMCHECK performs Auto Loop Test.
Jump to Single Bit Test "[r10b<cr>" SIMCHECK performs Single Bit Test.
SIMCHECK Halt "[r2<cr>" SIMCHECK program halts at its current state. Screens including a timer will show the timer running but any test animation or test stage will remain.
SIMCHECK continue "[r3<cr>" Terminate the halt command.
Note: the jump-to command will be changed in future versions of SIMCHECK II as we add more test phases.


SIMCHECK Test Log Data

SIMCHECK II provides test results to the PC in strings of plain text (with a special header) which are placed in the PC Test Log by our standard Realtime Interface. It should be very easy for your program to intercept these messages which, in effect, contain all the test results.

The format of such a test log data stream is as follows:


The header portion is "[l<length>..." where length is the number of characters in the current message. The message terminates with a carriage return. The message may contain several lines of characters; each terminated with a null character (equal to 0). We use short lines in order to conform to the 20 character per line limit of the SIMCHECK II's LCD display. Your program can decode the lines differently.

SIMCHECK Short Message Streams

SIMCHECK II also sends several short messages that provide Speed, Cycle Time and Voltage information to the graphic meter portion of our standard Realtime Interface program. The following table provides some listing of these messages:

Message Type Format Notes
voltage "[v<value><cr>" Value is converted to voltage x.xxV by: (value * 2+ 125)/100
speed "[s<speed><cyc_l><cyc_h><cr>" Speed is the access time in the range 0-255 nS. Cycle information is send via two bytes: Cyc_h (ms byte) and cyc_l (ls byte). Cycle=256 * cyc_h + cyc_l. If cyc_l=cyc_h=0 - only speed info is valid.
Send SIMCHECK serial number "[n<snum_l><snum_h><cr>" Sends a 16 bit representation of the SIMCHECK II serial number: Serial #=256 * snum_h + snum_l.
SIMCHECK error code "[e<error code><cr>" This message indicates that an error was encountered and the error code is used to identify the type of error it was.
SIMCHECK internal status "[u<code><cr>" Special code transmitted from SIMCHECK to enable our Realtime Interface program to perform Change-on-the-fly. You can ignore it in your program.
SIMCHECK current test stage "[x<test_lev><cr>" Test_lev variable encodes the current SIMCHECK test level. The following is a partial list: 00=STANDBY 10h=BASIC TEST 20h=EXTENSIVE 30h=SINGLE BIT 40h=AUTO LOOP 60h=DEMO 90h=SETUP ffh=DIAGNOSTIC

Activating various debug flags in the SIMCHECK configuration setup may create various streams of information in the serial channel at particular points in the SIMCHECK program. These are special purpose streams for our research and they do not conform to the above list. You can avoid them by setting SIMCHECK to default configuration, or have your program ignore all streams that are not understood. With this you will find the main benefit of our open (loose) protocol which does not require message acknowledgement during realtime operation.

This document does not cover the use of the serial interface with our standard PC Downloader program to download SIMCHECK firmware and to transfer bitmaps from/to SIMCHECK.

Quick Tutorial

We recommend that if you plan to write your own interface, use a standard communication software package (e.g. ProComm Plus or Windows Terminal program) to experiment with our Serial Protocol. Set your communication program for CR-LF so that each line received from SIMCHECK is scrolled. Enter chat mode to conveniently separate the messages coming from SIMCHECK and your messages.

Try our PC commands by typing "[r101<cr>"(without the quotation mark). SIMCHECK II will start Basic Test. Then type "[r1<cr>" to exit the test. Type "r102<cr>" to start with the Voltage Cycling test phase. Immediately enter "[r2<cr>" to halt the test. Note how the SIMCHECK timer runs normally while the animation characters are supsended. Type "[r3<cr>" to continue the test. Type "[r10b<cr>" to visit the Single Bit Test. Return to standby mode by typing "[r1<cr>". Check the SIMCHECK version with the command "[r0<cr>". If SIMCHECK's version is 1.28, you will see a string for SIMCHECK like '[aç'. The last character represents byte=128 in my computer.

For more information, please call us at (281) 879-6226 M-F 9:00-5:00 Central Time, or send your E-mail to support@innoventions.com, or fax your message to (281) 879-6415. Please remember to include your phone and e-mail.

Products |  What's New  |  Sales  |  Tech Support |  Downloads  |  Employment  |  Company  |  Contact Us
©1995, 2010 INNOVENTIONS, INC.  All rights reserved.