SuprChipTM  Product Description

Complete process control computer module starting at $59.

SuprChip

What is a SuprChipTM?

The SuprChip is a plug-in module containing a highly integrated general-purpose microprocessor packaged with an array of support elements sufficient to operate as a stand-alone computer. It represents a convenient way to reduce the duration of product development projects for automated machinery. It combines, in a single plug-in module, all of the functions common to all such equipment, allowing the designer to begin the project with a known good central processing unit, having communications capabilities as well as direct control of over 70 additional signals, which include both analog and digital inputs and outputs.

Most importantly, the TaskMasterTM  firmware included with the SuprChipTM  is a real-time multi-tasking operating system with built-in commands that make application a snap.

Why use a SuprChipTM 

Any designer of embedded control systems knows that the most difficult step in development is the first one--"bringing up" the processor section. Once the control section is operational, it may be used for "bootstrapping" the checkout on the rest of the system.

Modern microcontrollers offer an amazing assortment of features to the automated equipment designer. However, learning how to make use of these features is frequently a long, daunting task--even with the best of development support systems. Unfortunately, most development systems are very expensive, are even harder to learn than the microcontroller itself, and may introduce additional problems. It is not unusual to spend as much time troubleshooting a non-problem caused by interaction with the test equipment as is spent perfecting the design.
 
There are always a bewildering array of possible faults, from a simple error in configuration to major flaws in execution, that exhibit the same symptoms--the circuit simply does not work. Overcoming this first step can consume weeks of time while each potential cause is investigated. Is the design correct? Does the circuit board layout match the design? Was the board manufactured properly? Are the correct components installed? Are the components installed correctly? Are the components operational? Is the program correct? Is the memory programmed properly? Is there a short or open on the board? Is the connection to the test equipment made properly?

In addition to all these questions, and more, there is always the possibility that there is an error either in, or caused by, the test equipment. When nothing works, it is very difficult to know where to start.

Reducing the number of unknowns.

To help in reducing the unknown factors which take up so much of the time it takes to get a new product to market, we have already taken the first few steps. The designer can start off with a known good "kernel" which has the bugs worked out and provides a platform for testing the rest of the system, using the same electronics that will be in the production units.

The DIVA Automation SuprChipTM  can cut weeks or months off the lead time for developing a microprocessor-based system. All of the electronic support elements required to make your application work are contained in a single module. You need only add the specific drivers, connectors and command instructions that are unique to your application, or we can do it for you.

Save board space

The SuprChip I TM  uses only 3.6 square inches of board space, or about the same as a 486-class processor. Within this space is contained all or most of the circuitry needed for many applications.

A total of 72 I/O lines are offered, which consist of analog and digital input and output lines. Most lines have multiple functions available. For instance, eight lines may be used for 8-bit A/D inputs. However, if only three analog inputs were required, the remaining five lines could be programmed for digital I/O, as either input or output, on an individual basis. Two lines can be programmed as 8-bit D/A analog outputs, or used as digital I/O.

Two serial communication channels are provided for synchronous and asynchronous communications. In fact, the SuprChip may be used as an intelligent store-and-forward circuit, receiving RS-232 on one port and retransmitting RS-485 on the other port and vice-versa. Up to 32 SuprChipTM  controllers may be daisy-chained on a single RS-232 channel, with individual addressing. Baud rates of up to 115 Kbaud may be selected for RS-232 and up to 1 megabaud for RS-485.

Six external interrupts may be used for synchronization with other circuits. Two lines may be used as event counters or timers, or may be set up as pulse outputs.
 
A second version of the SuprChip, the SuprChip ][, is mounted in a quad in-line package with the same size as a 40-pin DIP.  It has the same features as the SuprChip I.

Easy programming

Programming is vastly simplified by the presence of an on-board command interpreter and non-volatile memory storage. No PC is required for program development--only a "dumb" terminal. A wealth of two-letter mnemonic commands allow the most complex task to be reduced to a short list of commands. A channel is selected to be an output with the command "CTn", where n is the channel number. To program a sequence of 100 pulses on channel 3 that are on for 5 mS and off for 50 mS, the command would be, "CN3, WA5, CF3, WA50, RP99". (Turn on channel 3, wait 5 mS, turn off channel 3, wait 50 mS, then repeat the entire sequence 99 more times.) "T" is used to signify "ouTput", "I" means "Input", "N" means "oN" and "F" means "ofF", for all commands.

Two of the most powerful features of the SuprChipTM  are the immediate execution of commands and the built-in debugger. Any command string entered is executed immediately, except for macro definitions, which allows immediate control or interrogation of any port and line-at-a-time testing of any application. The debugger gives direct access to any port or memory location. Assembly language routines may be entered and executed through the debugger for very high speed operations.

The ability to define "macro commands" aids greatly in the simplification process. Any sequence of basic commands can be defined as a macro command, which is then added to the built in library of commands. Very complex machine operations may be represented by as few as 15-25 macro commands, each of which combine perhaps 6-8 basic commands.

To create a macro command for the pulse sequence described above, simply preface the command with a macro definition command and number. "MD8,CN3, WA5, CF3, WA50, RP99". Macro command number 8 will be created and stored for later use. Afterwards, it may be used as any other command. The following command will execute macro number 8 if channel 13 is on, else it will skip to the following command in sequence: "XN13,MC8,....,......".

Each macro command uses one byte of memory storage, in addition to seven bytes for each individual command making up the macro. A seven-command macro command therefore requires 50 bytes of storage. The SuprChip offers up to 512 Kbytes of non-volatile EEPROM storage, which could accommodate over 10,000 macro commands, or 400 times as much as a typical installation. In applications where additional memory storage is needed, 32 Kbytes of external EPROM or RAM may be added by assigning 30 I/O lines for the external memory bus. Over 100 basic commands have been developed for the SuprChipTM . Individual SuprChipTM  models contain only those commands that support the configuration.

Multi-tasking

True multi-tasking is accomplished with the task commands, nKD, nKS, nKT (tasK Definition, tasK Start, tasK sTop). Tasks are defined just like macro commands and are serviced at 1 mS intervals (or less, depending on configuration). Applications such as motor underspeed or overspeed limits may be monitored as tasks, with appropriate action triggered by the task when the limits are exceeded.

Once a task has been started, it will continue to run at the programmed rate, regardless of the function being performed. Even during program editing, the task sequence will continue operating, unless stopped by the KT command.

Register commands

A full suite of 32-bit arithmetic commands is implemented to support the ability to test for numeric limits, to scale values and to control program flow based on numeric considerations. These commands allow the user to convert analog inputs to engineering units, so that instead of reporting that the analog input = 128 out of 256 levels, it can report that the input = 2.50 volts. Scaling supports the implementation of various meter functions when a display is connected.

High speed

In addition to the very high baud rates mentioned earlier, the SuprChipTM  accepts clock rates as high as 5MHz as inputs to the counter channels, A/D conversion is performed in 20 microSecs and commands are executed at a rate of 2-3 per milliSecond.

Custom functions

In addition to the broad array of general-purpose commands, a large library of special purpose applications has been developed, and can be implemented on order. These functions include: burst mode analog data collection, interfaces to printers, keyboards, displays, joysticks, etc., as well as numerous motion control functions.

Save money

A complete SuprChipTM  is priced as low as $39 in large quantities, with samples available at $69, each.

Appendix A--TaskMasterTM  Commands

Utility Commands

DM     Decimal Mode (treat all input and output numbers as decimal)
HM     Hex mode (treat all input and output numbers as hexadecimal)
BRn     Baud Rate (set baud rate according to table)
RT       ReseT (restart program and restore default values )
RCn     Reset Counter (resets counter n)
CS       CheckSum (calculate checksum of ROM for self test)
HE       HElp (on-line help)
ST       Set Time (sets time of day)
SD       Set Date (sets calendar date)

Reporting Commands

TS       Tell Status (report status of system)
TI        Tell Iterations (report status of loop counter)
TB       Tell Board address (report network address of active unit)
TCn     Tell Count (reports value of counter n)
TD       Tell Date (reports present calendar date)
TP        Tell Position (reports difference between counters 0 and 1)
TT        Tell Time (reports present time of day)
PN        Printer oN (copies all future displays to the printer port)
PF         Printer ofF (disables output to printer)
PA         Print Accumulator (reports value in accumulator register)
TCn       Tell Channel (report status of channel n)
TAn       Tell Analog (report value of analog voltage on channel n)
TOn       Tell Output (report present value of analog output, n)

Register Commands

LAn     Load Accumulator (load accumulator register with value of n)
AAn     Add Accumulator (add value of n to accumulator register)
ASn     Accumulator Subtract (subtract value of n from accumulator register)
AMn     Accumulator Multiply (multiply value of n times accumulator register)
ADn     Accumulator Divide (divide value of n into accumulator register)

Macro Commands

MDn     Macro Definition (defines new macro command)
MCn     Macro Command (calls existing macr command)
TMn     Tell Macro (reports contents of macro command)
RM     Reset Macros (resets macro storage area)

I/O Commands

CIn      Channel iN (assign channel n as an input)
CTn     Channel ouT (assign channel n as an output)
CNn    Channel oN (set channel n to ON state)
CFn     Channel ofF (set channel n to OFF state)
aSOn    Set Output (set analog output channel a to voltage n)
aIOn     Increment Output (add value n to analog output channela)
aSFn     Set Frequency (sets frequency of channel a to n)
aSCn    Set Cycles (sets number of cycles of channel a to n)
aDOn    Define Offset (sets offset of analog output a to n)
aLLn     Lower Limit (sets lower limit of analog output a to n)
aLUn    Upper Limit (sets upper limit of analog output a to n)
aLOn    Learn Output (sets waveform point n to present output of channel a)
aLI        Learn/Increment (similar to LO, but increments waveform point)
aAP       Adjust Point (adjusts present waveform point to value of channel a)
aSBn     Set Beginning (sets beginning waveform point for channel a to point n)
aSEn     Set Ending (sets ending waveform point for channel a to point n)
aSYn     Set delaY (sets delay time for repetition of channel a waveform to n)

Sequence Commands

aGOn     GO (starts channel a waveformat point n)
aPW       Pause Waveform (indefinite pause for waveform on channel a)
aCO       COntinue waveform (continues waveform generation after pause)
aMPn     Move to Point (sets output channel a to waveform point n)
aMI        Move to point/Increment (similar to MP, but increments waveform point)
WAn      WAit (wait for n milliseconds before continuing)
WNn      Wait until oN (wait until channel n is ON)
WFn       Wait until ofF (wait until channel n is OFF)
aWGn     Wait until Greater (wait until analog channel a is greater than n)
aWLn      Wait until Less (wait until analog channel a is less than n)
RPn         RePeat (repeat entire command string n times)
aXGn       eXecute if Greater (do next step if analog channel a is greater than n)
aXLn        eXecute if Lesser (do next step if analog channel a is less than n)
XNn         eXecute if oN (do next step if channel n is ON)
XFn          eXecute if ofF (do next step if channel n is OFF)
XZ            eXecute if Zero (do if value in accumulator register is zero)
XN           eXecute if Non-zero (do if value in accumulator register is not zero)

String Commands

RG        Reset strinG (clears string storage)
DSn      Define String (define new string, n)
PSn      Print String (print string n)

Task Commands

DKn     Define tasK (define new task, n)
KSn     tasK Start (start task n)
KTn     tasK sTop (stop task n)

Ph: 800 984-DIVA (3482)

Fax: 877 471-3437
Email:
sales@divaauto.com

Version date: October 5, 2007
Copyright © 2007 DIVA Automation

Updated on ... October 6, 2007