|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 22784 (0x5900)
Types: TextFile
Names: »30-M298.DOC«
└─⟦b9fe312e5⟧ Bits:30008868 Diskette med 3 stk RCSL-30-M og 3 stk RCSL-31-D
└─⟦this⟧ »30-M298.DOC«
F_O_R_E_W_O_R_D_
First edition: RCSL No 30-M277.
This manual describes a reliability test of the VDC. It can be
used for two purposes, one which is testing the video display
controller alone, testing most hardware functions (must be con-
nected to an auxiliary VDC), and another one which is testing the
circuit line with a maximum of 8 stations connected (each station
must contain the related test mirror process).
The VDC test is a test package in the RC3502 test system, TOP80,
and must have this as a parent process, see ref. 2.
It is written in Real Time Pascal (RC3502 implementation).
Jan Nielsen
A/S REGNECENTRALEN af 1979, March 1981
Second edition: RCSL No 30-M298.
This second edition is made to introduce dynamic test buffers and
a test log book.
The dynamic testbuffers can for test "a" be from 1 to 254 bytes,
for test "b" from 1 to 32000 bytes.
The log book can give an impression of how the hardware has been
handled.
Jan Nielsen
A/S REGNECENTRALEN af 1979, October 1981
\f
F_ ii
\f
iii
T_A_B_L_E_ _O_F_ _C_O_N_T_E_N_T_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _P_A_G_E_
1. INTRODUCTION ........................................... 1
1.1 Configuration Requirements ........................ 1
1.2 Parameter Values .................................. 1
1.3 Load Test ......................................... 2
2. DYNAMIC TEST BUFFERS ................................... 3
3. TEST A, RC3502 MIRROR, RELIABILITY ..................... 4
3.1 Test Strategy ..................................... 4
3.2 Error Messages .................................... 7
4. TEST B, CIRCUIT LINE, RELIABILITY ...................... 9
4.1 Test Strategy ..................................... 9
5. LOG BOOK ............................................... 11
5.1 Controller Registers .............................. 11
5.2 Interrupt/Control Words ........................... 12
A_P_P_E_N_D_I_C_E_S_:
A. REFERENCES ............................................. 15
B. EXAMPLES OF OUTPUT ..................................... 16
C. SPECIALITIES ........................................... 18
\f
iv
\f
F_ 1_._ _ _ _ _ _ _ _ _I_N_T_R_O_D_U_C_T_I_O_N_ 1.
1_._1_ _ _ _ _ _ _ _C_o_n_f_i_g_u_r_a_t_i_o_n_ _R_e_q_u_i_r_e_m_e_n_t_s_ 1.1
A minimum configuration for the RC3502-test system with a connec-
tion to an RC8000 or another load medium possibility for loading
the test system TOP80 and the test. For test "A" there must be
two VDC's connected with a two pair cable and a mirror process,
which are linked, created, and started by the VDC test. The mir-
ror process could be placed in another RC3502. For test "B",
there is required one VDC, a two pair circuit line and at least
one terminal (RC850) including the related test mirror.
1_._2_ _ _ _ _ _ _ _P_a_r_a_m_e_t_e_r_ _V_a_l_u_e_s_ 1.2
Param No text default min. max.
000 TESTPROGRAM : A A B
001 NO OF RUNS : 20 1 integer
002 MODULE NO (MASTER) : 16 0 126
003 CHANNEL : -1 -1 7
004 MODULE NO (MIRROR) : 18 0 124
006 DATACHECK : YES NO YES
010 MIN BLOCKSIZE : 1 1 param No 011
011 MAX BLOCKSIZE : 254 1 254 for
test A
32000 for
test B
018 DATA KIND : 4 0, 1, 3, 4
049 MAX MESSAGE : 10 1 integer
Param No 003 specifies actual station number (if -1, it means all
possible).
\f
1_._3_ _ _ _ _ _ _ _L_o_a_d_ _T_e_s_t_ 1.3
How to load in general, see ref. 1.
TOP80 and the VDC test is loaded and started as described in ref.
2. If testing against RC3502 mirror process is wanted, this can
either be done in the same or other RC3502. If it is wanted to be
done in the same RC3502, a mirror process for a slave VDC is
included when the test is loaded. Otherwise you must load the
second RC3502 with the bootfile BOOTMIR. The second RC3502 is
started in the following way, when loaded:
It will then write:
> mirror
**start of vdc test mirror**
**ver. 81.02.24**
mirror module no.:
When you have filled in a valid no. (10 <_ no < 126), normally 18,
it will write:
>>>mirror process started
if the creation of the slave VDC process was successful else it
will write:
******mirror creation error: error cause******
Up till 10 mirrors could be started, replying to the question.
(Note: That a mirror with a module no. 10 greater or smaller than
one already started could not be started. And that there always
should be a difference of 2 between a new mirror started and one
already existing, due to the controller occupying two interrupt
levels.
\f
F_ 2_._ _ _ _ _ _ _ _ _D_Y_N_A_M_I_C_ _T_E_S_T_ _B_U_F_F_E_R_S_ 2.
With the blocksize parameters an arbitrary databuffer size can be
selected. These buffers are not allocated when the test is init-
iated, but dynamic allocated when the test is started. There is
allocated 32 buffers of the maximum size, 2 transmitbuffers and 2
receivebuffers for each channel.
If the allocation meets limitations in memory, it is tried to
start the test with 1 transmitbuffer and 1 receivebuffer per
channel.
If this also fails the test tries to get buffers with half the
size and so on.
The buffer-allocation can fail in two ways. It finds no buffers
at all, OR it finds to few buffers of the size to have at least 1
transmitbuffer and 1 receivebuffer per channel. In the last case
it is recommendable to restart the test with smaller buffers. In
both cases the test will be terminated.
If the allocation of buffers succeeds the test will write as
follows:
*** maximum test buffer size : 254
*** maximum queue depth for xfer: 2
\f
F_ 3_._ _ _ _ _ _ _ _ _T_E_S_T_ _A_,_ _R_C_3_5_0_2_ _M_I_R_R_O_R_,_ _R_E_L_I_A_B_I_L_I_T_Y_ 3.
Test A is a verification of proper operation of the video display
controller hardware by transferring data/commands between master
and mirror as defined by the circuit protocol, see ref. 3. To
check all controller operations possible, the VDC in test should
be placed in either ends of the circuit line, to test all of its
functions properly.
3_._1_ _ _ _ _ _ _ _T_e_s_t_ _S_t_r_a_t_e_g_y_ 3.1
The VDC test and the mirror process (with a slave VDC connected
in same or other RC3502) are intended to simulate a normal cir-
cuit line with 8 stations. It is the mirror process that handles
the slave VDC in a way, so that it acts as 8 secondary stations.
It is therefore recommended to run the test twice swopping the
VDCs. If this is done, all functions in the VDC are checked by
the test program. In fig. 1 left of the vertical line the con-
cerned processes are shown, right of the line, the hardware is
shown.
The testing starts with a connection phase, where an attempt to
connect the specified number of stations is made. Note that
switch S4 (right) on the VDC must be open (see fig. 2). This
causes the VDC to make longer flags so that the mirror can catch
up with the primary.
In the beginning of the test, it is tried to generate errors with
code (1, 2, 8, 12, 13) (ref. 4 or ref. 5), to check that
these are generated correctly. If this was not the case, an error
with associated error code no. is written. All except error code
13 is generated, when the test places the code no. in the first
byte of the databuffer.
\f
F_
Figure 1: Test A, soft and hard configuration. \f
F_ Left Right
red dot
when S4 left is open the
VDC microprogram will loop in
s1 s2 s3 s4 its init phase.
white
dot
s4 right must be open on
primary when testing
Figure 2: VDC switch setting.
The mirror then performs the wanted action (e.g. when the mirror
receives code 8 for timeout it does not reply within the timeout
limit).
Error code 13 is generated by requesting a receive frame that is
smaller than the transmitted.
If all errors were generated correctly, the test will proceed to
the transfer data part. The first 4 "stations" will repeat their
transfer with an increasing buffersize from minimum size to
maximum size and decreasing back to minimum size (the growth is
one byte per transfer). The last 4 "stations" will repeat their
transfer with decreasing buffersize from maximum size to minimum
size and increasing back to maximum size. This will test the
frame recognition, when scanning the secondaries and use the line
as much as possible.
The data patterns used in the transferred buffers can either be
all zeroes (0), all ones (1) or counting (4). All ones can be
used to check the automatic zero insertion.
Note: That pointers in the data buffer is pointing in the part
that contains datapattern. The two first bytes are reserved for
information to the mirror about errorgeneration. That is why the
maximum blocksize of this subtest is 254 and not 256.
\f
first 4 secondaries
min max min
blocksize blocksize blocksize
last 4 secondaries
max min max
blocksize blocksize blocksize
Figure 3: Blocklength variation during one run.
3_._2_ _ _ _ _ _ _ _E_r_r_o_r_ _M_e_s_s_a_g_e_s_ 3.2
If an error is detected during operation an associated errortext
is written on the output media.
The errortexts associated to the hardware are:
<secondary has unsolited buffer>:
The related secondary has a buffer not yet returned, because of
a line disconnection.
<answer reset during communication>:
The station sent 'Anser Reset' during normal communication.
(code 1).
<reset req, station had short intervention>:
The station sent 'Reset' indicating it wants to be reset (code
2).
<time out in communication with station>:
Time-out, i.e. no response from the station within 10ms. (code
8).
\f
<cannot get access to line for 1 sec>:
Controller cannot get access to line for 1 sec, i.e. carrier
signal persists (code 15).
<CRC-error or abort detected>:
Framing or FCS error (code 15).
<data error, hard error>:
The expected and received patterns is printed.
<data received when not receive ready>:
I-field received when master's RR was 0 (code 12).
<data field too long for buffer>:
Received I-field was too long for buffer (code 13).
<sequence number error, not in synchronism>:
Sequence number in header invalid (code 14).
<error in event code generation>:
The errorcode was of a not expected type.
<underrun because of bustimeout>:
Receiver underrun, buserror (code 10).
<overrun because of bustimeout>:
Transmitter overrun, buserror (code 11).
<Blocklength error>.
The received datablock was not of expected size.
The following three error messages indicate that the concerned
process is not started correctly and proceeding has no meaning.
<fatal error in creation of tps>,
<fatal error in creation of mirror>,
<fatal error in creation of driver>,
\f
F_ 4_._ _ _ _ _ _ _ _ _T_E_S_T_ _B_,_ _C_I_R_C_U_I_T_ _L_I_N_E_,_ _R_E_L_I_A_B_I_L_I_T_Y_ 4.
Test B is a verification of proper operation of the circuit line
with one or more RC850 connected (maximum 8) by transferring
data/commands between master and secondaries as defined by the
circuit protocol, ref. 3. The secondaries must contain the
associated mirror processes to run the test. The function in the
VDC by which it will act as a secondary is not checked when
running this subtest.
4_._1_ _ _ _ _ _ _ _T_e_s_t_ _S_t_r_a_t_e_g_y_ 4.1
This subtest is the same as test "A", except for the fact that it
does not make any attempt to generate error codes as in test "A"
and it is intended to run with maximum 8 RC850s. For further
description see sections 2.1 and 2.2. Fig. 4 shows the processes
concerned and the hardware (example with 4 stations).
It is possible to run this subtest with datapattern 3, which
generates a readable text on screen of the RC850.
The text is:
**VDC TEST IN PROGRESS**
If the buffer is greater than this, the rest will contain the
readable alphabet.
\f
F_
Figure 4: Test B, soft and hard configuration. \f
F_ 5_._ _ _ _ _ _ _ _ _L_O_G_ _B_O_O_K_ 5.
The test contains a log book that can be used to get information
about the 64 internal controller register or a log of the past
(earlier control and interrupt words) from a cyclic buffer of 256
word resident in the driver. The log book is identified by the
name <VDCPRINT<NO>>, where <NO> is the same number identifying
the test.
Commands to <VDCPRINT<NO>> are:
<r> : giving a printout of the 64 internal controller registers.
See ref. 5.
<i> : giving a printout of the 256 words from cyclic buffer in
the controller. Each word is either a controlword or an
interrupt word.
5_._1_ _ _ _ _ _ _ _C_o_n_t_r_o_l_l_e_r_ _R_e_g_i_s_t_e_r_s_ 5.1
The layout of the 64 controller registers could be seen in ref.
5 fig. 3.2.1. It is printed on 16 lines with each line contain-
ing 4 register Pairs, equvalent to the way the registers are used
(one channel occupies 4 registers).
\f
Figure 5: Example of Controller Register output.
5_._2_ _ _ _ _ _ _ _I_n_t_e_r_r_u_p_t_/_C_o_n_t_r_o_l_ _W_o_r_d_s_ 5.2
The 256 words of the cyclic buffer are printed with 8 words per
line. The first printed word is the oldest event. If the buffer
has been filled more than once, a line like the following is
printed
97 mod 256 words lost.
The control words is presented in hexadecimal and must be one of
the controlwords to the controller, ref. 5.
The interrupt words are presented like this
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
M_m_m_ RR SR SN U X RX RX TX error-event subdevice
P_p_p_ T T T T CHG Data Data
Where bit 12 is set to 1, to be able to differentiate interrupt
words from controlwords. An example of an interrupt word could
look like this: a4 08.
\f
Figure 6: Example of interrupt/control-words.
\f
F_
\f
F_ A_._ _ _ _ _ _ _ _ _R_E_F_E_R_E_N_C_E_S_ A.
1 RCSL No 52-AA988:
PASCAL80 on the RC3502 Computer, How to Use the RC3502
2 RCSL No 30-M280:
RC3502, TOP80, Test Operating System, User's Guide
3 RCSL No 31-D598:
CIRCUIT Protocol, Reference Manual
4 RCSL No 31-D616:
RC3502 VDC201 CIRCUIT Master Driver
5 RCSL No 31-D599:
VDC201/291, Reference Manual
6 RCSL No 31-D637:
VDC201, Technical Manual
7 RCSL No 31-D636:
VDC201/291 General Information
\f
F_ B_._ _ _ _ _ _ _ _ _E_X_A_M_P_L_E_S_ _O_F_ _O_U_T_P_U_T_ B.
\f
F_\f
F_C_._ _ _ _ _ _ _ _ _S_P_E_C_I_A_L_I_T_I_E_S_ C.
The RC850 mirror process will be supplied as PROM (ROA408-ROA409-
ROA410), which must be placed in the terminal(s) before running
test-B.
The driver is started when the test is started and not removed
before the test is killed by TOP. Therefore do not change p002
(module No) without killing the test first.
«eof»