Text preview for : 27130A_Multiplexer_Firmware_IMS_Jul83.pdf part of HP 27130A Multiplexer Firmware IMS Jul83 HP 9000_cio 27130A_Multiplexer_Firmware_IMS_Jul83.pdf



Back to : 27130A_Multiplexer_Firmwa | Home

HELILETT
;-"7
/ / PAC K A R D /
/- / HEWLETT
I /
/ 1-; /-1
I / / I PAC K A R 0
/-
I
/




HP-CIO I/O EIGHT CHANNEL TERMINAL MULTIPLEXER

FIRMWARE INTERNAL MAINTENANCE SPECIFICATION (IMS)
HP-CIO I/O EIGHT CHANNEL TERMINAL MULTIPLEXER
PROJECf YUBA
FIRMWARE INTERNAL MAINTENANCE SPECIFICATION (IMS)

PROJECT YUBA




HEWLETT-PACKARD COMPANY July 14, 1983
Roso:>v i lle Networks Division
8()OO Foothills Boulevard Terry Gong
Roseville, California 95678 Greg Dolkas
HEWLETT-PACKARD COMPANY July 14, 1983
Roseville Networks Division
8000 Foothills Boulevard Terry Gong
Roseville, California 95678 Greg Dolkas
HEWLETT-PACKARD PRIVATE


HEULETT-PACKARD PRIVATE
HP-CIO 8-CHANNEL MUX FIRMWARE IMS


History +----------------------------------------------+------------------+
date description INTRODUCTION CHAPTER 1
821111 Original document +----------------------------------------------+------------------+
830510 Complete document
830714 Added debug monitor to the product firmware for trouble
shooting.

1.1 Scope
This document describes the internal structure of the firmware that
as implemented for the HP-CIO RS-232-C/RS-422/3 8 channel terminal
multiplexer card. Specially, this document describes:
o all symbols used by the firmware except for
symbols used as labels in the instruction
sequence,
o the firmware data structure,
o the function of each firmware modules, and
o any other information pertinent to the
understanding of the firmware.
The reader is referred to the following related documents.
o zilog Z80 CPU Technical Manual.
o Zilog Z80-SIO Technical Manual.
o zilog Z80~CTC Technical Manual.
o CSG I/O EIGHT CHANNEL TERMINAL MULTIPLEXER,
FIRMWARE EXTERNAL REFERENCE SPECIFICATION (ERS)
by Greg Dolkas (RVD).
o BACKPLANE INTERFACE CIRCUIT (BIC) ERS by Bill Martin,
Roseville Division (RVD).
o CSG STANDARD I/O BACKPLANE by R. B. Haagens, Computer
Systems Division (CSY).
o STANDARD DATACOM DRIVER by Greg Dolkas, Roseville
Division (RVD).
o CSG I/O STANDARD BACKPLANE PROTOCOL FOR SMART DATACOM
HEWLETT-PACKARD PRIVATE HEWLETT-PACKARD PRIVATE
HP-CIO 8-CHANNEL NUX FIRMWARE IMS HP-CIO 8-CHANNEL NUX FIRMWARE IMS


CARDS by Greg Dolkas, Roseville Division (RVD). +----------------------------------------------+------------------+
o GUIDEBOOK TO DATA COMMUNICATIONS, Part No. 5955-1715, EQUATE & VARIABLE SYMBOLS DICTIONARY CHA~ER 2
Hewlett-Packard, 1977.
+----------------------------------------------+------------------+
o HP-1000 SERIES; Z80 REAL TIME SCHEDULER, TECHNICAL
SPECIFICATION by Tom Szolyga, June, 1979.
This document assumes the reader has the full understanding of all This chapter defines all the symbols which are not used as a label
the information given in the NUX ERS. or subprogram name. However, all the symbols used in the self-test
is not defined here because it is a self-contained module (that is,
Note that this document does not contain complete documentation of leverage from the ASI and PSI self-test). See the listing for
the self-test. Much of the code was leverage from the HP-CIO ASI docu~entation infor~ation.
and PSI self-test and from the MEF/L/A PSI self-test. The listing
of the self-test subprogram contains most of the required Each global and local equate and variable symbols are defined in
documentation. this chapter. Each symbol will have 3 or 4 attribute descriptions
follow by the usage description.
The attribute descriptions are as follow:
o The first attribute is whether the symbol is globally
defined. The symbol is globally defined if it is used in an
COPY file or if it is given the PUBLIC attribute.
Otherwise, the symbol is locally defined within the module.
o The second attribute is the type of the symbol which
includes:
- code if the symbol is defined in the CSEG area by
using either DEFW or DEFB,
define label if the symbol is defined by using the
DEFL pseudo op,
- equate if the symbol is defined by using the EQU
pseudo oP,
- FBIT if the symbol is defined by using the FBIT
macro,
variable if the symbol is defined by using the DEFS
pseudo op,
- macro if the symbol is used to define offset to
access the content .
o The third attribute or information parameter is the name of
the source file where the symbol is defined.
o The fourth attribute is included only if the second
attribute is defined as being a variable. This defined the
HEWLETT-PACKARD PRIVATE HEWLETT-PACKARD PRIVATE
2 3
HP-CIO 8-CHANNEL MUX FIRMhlARE IMS HP-CIO 8-CHANNEL MUX FIRMhlARE INS


size of the variable. BAUD TAB local, code, &SPDSN, 17 bytes; the baud rate table to
match the first zero's count which is the start bit,
used in speed sensing
ABO - global, equate, [MUX; BIC register 2 status code, abort done
BEGSTACK - global, equate, [MUX; beginning address of the stack
ABORT - global, equate, [MUX; YTC order request code to abort a
given transaction BICEND - local, equate, &BPISR; bit assig~ent for BIC registers 5
and 6, the BIC END bit .
ABRT TBL - local, code, &BCYTC, 12 bytes; ju~p table to abort
processing routines BIC 0 - local, equate, &BPISR; I/O port address for BIC register 0
ACTPRIO - global, variable, &MUXVR, 1 byte; contains the priority BIC_1 - local, equate, &BPISR; I/O port address for BIC register 1
of the active transaction
BIC_2 - local, equate, &BPISRi I/O port address for BIC register 2
ACTREQ - global, variable, &MUXVR, 2 bytes; contains the address to
the active request block BIC 3 - local, equate, &BPISR; I/O port address for BIC register 3
ACTSTAT - global, variable, &MUXVR, 1 byte; contains the RTS code BIC 4 - local, equate, &BPISR and &MUXMN; I/O port address for BIC
for the active transaction register 4
ACTTID - global, variable, &MUXVR, 2 bytes; contains the BIC 5 - local, equate, &BPISR and &MUXMN; I/O port address for BIC
transaction 10 (TID) of the active transaction register 5
AES - global, equate, [MUX; BIC registr 2 status code, asynchronous BIC 6 - local, equate, &BPISR and &MUXMN; I/O port address for BIC
event register 6
ALERT! - global, equate, [MUX; bit assig~ent for alert 1 option in BIC ENI - local, equate, &BPISR; bit assig~ent for MIC register 0,
ALRT OPT set to enable the BIC interrupt
ALoe - global, ~acro, [MUX; macro to assign offset value to a given BLK_BIT - global, equate, [MUX; bit assignment for block mode in
symbol the WIC order request code
ALOC CNT - global, define label, [MUX; offset assig~ent to be used BLK MASK - global, equate, [MUX; mask to get the block ~ode bit
with the ~acro ALOe fro~ the WIC order request code


ALRT OPT - global, ALOe, [MUK, 1 byte; alert 1 option BP CMD - local, variable, &BPISR, 1 byte; contains the current
command fro~ the BIC register 1
ARQ BUF - local, variable, &BPISR, 16 bytes, the FIFO buffer to
queue ARQ status code for the host BP INT - local, variable, &BPISR, 1 byte; contains the current
. interrupt status fro~ BIC register 5
ARQ_PTRA - local, variable, &BPISR, 2 bytes, the buffer pointer to
ARQ_BUF for the writing the next ARQ status code BP ORDER - global, variable, &BPISR, 1 byte; contains the current
BIC order being processed
ARQ_PTRB - local, variable, &BPISR, 2 bytes, the buffer pointer to
ARQ_BUF for the reading the next ARQ status code BPTK PTR - global, ALOC, [MUK, 2 bytes; backplane trans~it buffer
pointer
BACK SP - global, ALOe, [MUX, 1 byte; contains the character fa
backspacing when edit mode is enabled BRK ON - global, equate, [MUX; bit assignment for PORTSTAT+l set
when break detection is actively in progress
BAUD_RAT - global, ALOC, [MUX, 1 byte; contains the baud rate value
BRK RX - global, equate, [MUX; bit assignment for INT STAT set when
HEWLETT-PACKARD PRIVATE HEWLETT-PACKARD PRIVATE
4 5
HP-CIO 8-CHANNEL NUX FIRMWARE IMS HP-CIO 8-CHANNEL NUX FIRMWARE IMS


break event occurred CH_QUOT - global, equate, [NUX; bit assignment for RX_FLAGS set
when quoting mode is enabled
BS - global, equate, [NUX; ASCII backspace character
CH SIGN - global, equate, [NUX; bit assignment for RX FLAGS set
BSLASH - global, equate, [NUX; ASCII back slash character when signal character detection is enabled
BP_PTR - global, ALOC, [NUX, 1 byte; RX buffer location of the last CH STT - global, equate, [NUX; bit assignment for RX_FLAGS set when
backspace action single text terNination is enabled
BUF ADDR - local, variable, &BPISR, 2 bytes; the buffer address for CMD - local, equate, &BPISR; bit assignment for BIC registers 5 and
continuing the data transfer when the buffer wrap around 6, the CONN and bit
in the circular buffer
CMD TBL - local, code, &BPISR, 32 bytes; jump table containing
BUF ADRM - local, variable, &BPISR, 2 bytes; contains the beginning processing routine address which correspond to the
address of the host write request for the bad BIC fix command to be processed
BUF_LEN - local, variable, &BPISR, 2 bytes; the length of the data CN_CARD - global, equate, [NUX; MIC order request code for control
transfer for the wrap around buffer of the circular card request
buffer data transfer
CN DEV - global, equate, [NUX; WIC order request code for control
BUF_LENM - local, variable, &BPISR, 2 bytes; contains the data device request
transfer length for the host write request for the bad
BIC fix CONF BUF - global, ALOC, [NUX, CONF_SIZ bytes; the write card
configuration staging buffer
BYTE - local, equate, &aPISR; bit assignment for BIC register 2,
set when want byte wide data transfer CONF_SIZ - global, equate, [NUX; size of the write card
configuration table which is currently 60 bytes
CAR MREG - global, variable, &MUXVR, 1 byte; contains pseudo card
write register content which defines the control for the COUNT - global, equate, [NUX; bit assignment for RD_OPT set when
card LED, self-test Node, hood LED, single-ended driver, the end-on-count option is enabled
and differential driver
COUNT - local, variable, &DMAA, 2 bytes; counter in the MIC channel
CDC - local, equate, &BPISRj bit assignment for BIC register 3, the A ISR to measure how many time the MIC failed by generating
clear device clear bit an interrupt for channel A DMA, the NUX card never uses the
MIC channel A DMA
CHAR~LEN - global, ALOC, [NUX, 1 byte; contains the character
length for the SID CR - global, equate, [NUX; ASCII carriage-return character
CH ALl - global, equate, [NUX; bit assignment for RX_FLAGS+l set eTCO_TAB - local, code, &MXMCC, 34 bytes; eTC baud rate generator
when alert 1 Node is enabled and no alert 1 has been sent programming values, each entry consists of 2 bytes, the
yet first byte is the control byte for the eTC, the second
byte is the time constant
CH ECHO - global, equate, [NUX; bit assignment for RX FLAGS set
when echoing is enabled erCIVECO - global, code, &MUXrV, 16 bytes; contains the interrupt
service routine addresses for erc to
CH_EDIT - global, equate, [NUX; bit assignment for RX_FLAGS set
when edit Node is enabled erCVEC - global, equate, [NUX; low byte of the starting address for
the erc interrupt table
CH HAND - global, equate, [NUX; bit assignment for RX_FLAGS set
when handshaking is enabled erc