|
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»