top - download
⟦ccec10017⟧ Wang Wps File
Length: 27600 (0x6bd0)
Types: Wang Wps File
Notes: LTUX-ASYNC APPL.F/W PSP
Names: »2651A «
Derivation
└─⟦5f5ac081b⟧ Bits:30006138 8" Wang WCS floppy, CR 0236A
└─ ⟦this⟧ »2651A «
WangText
…0a……07……09……0b……09……0d……09……00……09… …08……08……08……0d……08……00……08……06……07……08……07……0c……07……0e……07……02……07……05……06……09……06……0d……06……86…1
…02…
…02…
…02…
…02…FIX/3232/PSP/0035
…02… HV/820920…02……02…#
LTUX-ASYNC
APPLICATION
FIRMWARE
PRODUCT
SPECIFICATION…02……02…FK
7809
L̲I̲S̲T̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲ Page
1. SCOPE 1
2. APPLICABLE DOCUMENTS 2
3. FUNCTIONAL DESCRIPTION 3
3.1 Overview 3
3.1.1 LTUX-S System Software Interface 3
3.1.1.1 TDX-BUS Interface 3
3.1.1.2 Operating System Interface 4
3.1.2 Communication Line Interface 4
3.1.3 Functions 4
3.1.3.1 Input 7
3.1.3.2 Output 8
3.1.3.3 Processing 9
3.1.3.3.1 Narrative 9
3.1.3.3.2 Task List 11
3.1.3.3.2.1 Req. Spec. References to Tasks 13
3.1.3.3.2.2 Internal FIKS Spec. References to Tasks 14
3.2 Functional Allocation 15
3.2.1 Application Firmware Breakdown 15
3.2.1.1 Functional Areas 15
3.2.1.2 Submodules 15
3.2.1.3 Firmware Structure Overview 15
3.2.1.3.1 Entry Points in Submodules 20
3.2.1.4 Routine Call Tree 21
3.2.1.5 Task versus Submodules 26
3.2.1.6 Task versus Routines 28
3.2.1.7 Data Tables 37
3.2.18. Memory Layout 37
L̲I̲S̲T̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲ Page
3.3 Submodule Description 38
3.3.1 LDUINI Submodule 38
3.3.1.1 Introduction 38
3.3.1.2 Functions 38
3.3.2 Command Interpreter Submodule (CMI) 38
3.3.2.1 Introduction 38
3.3.3 DUP-Protocol Timer (LDUTIM) 39
3.3.3.2 Functions 39
3.3.3.2.4 Diagrams 40
3.3.3.2.6 Timing 40
3.3.4 ASYNC-Input Submodule (LDUINP) 42
3.3.4.1 Introduction 42
3.3.4.2 Functions 42
3.3.4.2.1 Input 42
3.3.4.2.2 Output 43
3.3.4.2.3 Processing 48
3.3.4.2.4 Diagrams 49
3.3.5 ASYNC-Output Submodule (LDUOUT) 51
3.3.5.1 Introduction 51
3.3.5.2 Functions 52
3.3.5.2.1 Input 52
3.3.5.2.2 Output 55
3.3.5.2.3 Processing 55
3.3.5.2.4 Diagrams 55
3.3.6 ASYNC-Driver Submodule (ASDRIV) 57
3.3.6.1 Introduction 57
3.3.6.2 Functions 57
3.3.6.2.3 Processing 57
3.3.6.2.4 Diagrams 59
4. QUALITY ASSURANCE 63
5. PREPARATION FOR DELIVERY 63
5.1 Available Files 63
5.2 PROM Preparation 64
1. S̲C̲O̲P̲E̲
The LTUX-ASYNC is an interface module, which handles the communications with the asynchronous
data users in the FIKS data user Network.
The LTUX-ASYNC is based upon the LTUX-S hardware module, which handles the interface between
the TDX-bus and up to four V24 communication lines.
During description of the LTUX-ASYNC references will be made to ref. 2.8 LTUX-SYNC APPLICATION
F/W, PRODUCT SPECIFICATION.
2. A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲
2.1 TDX Reference Manual FIX/1031/EWP/0065, Issue 3
2.2 LTUX-S Technical Manual CSD-MIC/005/TCM/0009,Iss.1
2.3 LTUX-S (reference) Prod.Spec.CSD-MIC/220/PSP/0013,Iss.2
2.4 Basic Operating System CSD-MIC/002/USM/0002,Iss.1
2.5 System Library CSD-MIC/001/USM/0001,Iss.1
2.6 FIKS TDX Design Spec. FIX/3131/DSP/0011, Issue 3
2.7 TDX Device Config.Prod.Spec.
2.8 LTUX-SYNC APPl.F/W,Prod.Spec. FIX/3232/PSP/0026, Issue 2
2.9 LTUX-ASYNC Integ.Test Proced. FIX/3232/TPR/0041, Issue 1
3. F̲U̲N̲C̲T̲I̲O̲N̲A̲L̲ ̲D̲E̲S̲C̲R̲I̲P̲T̲I̲O̲N̲
3.1 O̲v̲e̲r̲v̲i̲e̲w̲
The LTUX handles the communications with the asynchronous data users in the FIKS (datauser)
Network. These data users are:
o INTEL 1
3.1.1 L̲T̲U̲X̲-̲S̲ ̲S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The system software is delivered as source code on a diskette. The correspnding absolute
code is situated in a PROM separated from the application firmware PROM.
3.1.1.1 T̲D̲X̲-̲B̲u̲s̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The Line Termination Units employed are all of the LTUX-S type. Up to 10 full duplex individual
subdevices are supported by the standard firmware employed. Up to 9.6 kbps is supported in
total this LTUX.
Access to the TDX-bus is obtained by the application firmware through standard subroutine
calls: IDEPA, IGEPA, ODEPA and OGEPA. The queues which are used as the subdevice interfaces
to application firmware are socalled packet queues.
3.1.1.2 O̲p̲e̲r̲a̲t̲i̲n̲g̲ ̲S̲y̲s̲t̲e̲m̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The schedule list (described in ref. 2.4) is placed in the system S/W PROM, as a linkable
module, so the application programmer has the possibility to decide in which order the processes
shall be executed. Routines resident in the system software, can be used by making a call
to the routine's absolute address. Ref. 2.7.
3.1.2 C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲ ̲L̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The LTUX-S interfaces to four communication lines through four Cannon 25-pin connectors (ISO
2110). The circuits supported and the signal sequencing are shown in 3-3296 and 3-2690.
3.1.3 F̲u̲n̲c̲t̲i̲o̲n̲s̲
The LTUX supports four communication lines by the same set of application software, i.e.
the four lines are all handles in the same manner.
3.1.3.1 I̲n̲p̲u̲t̲
Input from the terminal interface is transparent, i.e. without protocol as seen from the
LTUX. There is no information for the LTUX beyond that presented by the V24 control circuits;
no interpretation of the data circuit input shall take place.
Input from the host-computer is the commands described in the interface section for the black
system and in the general interface section.
The commands to which the LTUX-ASYNC shall react are listed below:
1 Open Specified Data Type (subdevice)
2 Close Specified Data Type (subdevice) on subdevice
3 Program Specified Line Handler 0 (to
standard S/W)
4 Data User END Record load
5 Shift from Secondary to Primaru on subdevice
2 (to applic.
6 Status Request S/W)
Input from LTUX-TRUNK and -NPDN is formatted according to the HLP format. The commands recognized
by the LTUX within the HLP format are:
1 Data
2 Activate on specific subdevices
3 De-activate (to application software)
4 Missing trunk
3.1.3.2 O̲u̲t̲p̲u̲t̲
Output to the terminal interface is transparent to the data transmitted, and hence symmetrical
to the input interface.
Output to the host-computer consists of reports from the LTUX-ASYNC and acknowlwedgements
to commands received from the Host-computer.
1 Status Report
from subdevice 2
2 Command Response
Output the LTUX-TRUNK and -NPDN is formatted according to the HLP format. The commands recognized
are:
1 Data
2 Activate from specific subdevices
3 De-activate
3.1.3.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
3.1.3.3.1 N̲a̲r̲r̲a̲t̲i̲v̲e̲
The LTUX-ASYNC processing is carried out by seven processes in seven submodules in the application
software.
One process handles the interface between the LTUX and the data user. This interface is interrupt
driven. The program associated with interrupt processing has a number of entry points corresponding
to a number of different interrupt causes communicated by the SIO-chip on the LTUX.
Two other processes (input and output) handle the queue interfacing against the TDX-Bus.
These processes are driven by operating system scheduling.
Data from the TDX-bus to the communication line are taken from the HLP-format and put into
an output character FIFO for the communication line in question, as determined from the User
Code in the HLP-block.
After a specific time delay (determined in a scheduled timer process) the interrupt driver
will in turn take data from this FIFO and output them to the data user.
Data coming in from the data user to the LTUX are placed in an input character FIFO corresponding
to the communication line.
The scheduled input process in turn takes data from these FIFO's and blocks according to
the HLP format in lengths according to the Data Route End Record information.
The destination subdevice is determined from a Data Route Table.
A fifth process is a Command Interpreter Submodule which monitors subdevice 2 for incoming
commands to the LTUX. It also sends status reports to the host computer by request.
Monitoring of subdevice 0 is carried out by the TDX Device Configuration Submodule (LTSDCS)
described in ref. 2.7.
3.1.3.3.2 T̲a̲s̲k̲ ̲L̲i̲s̲t̲
This is the concise list of tasks which have been allocated to the LTUX-ASYNC per Requirements
Specification, and/or higher level design documents.
In the subsection the following specific document references are given as regards to this
task list
1. Asynchronous operation
2. Full or half duplex, 5bit character transfer (BAUDOT) 50 or 100 BPS selectable, 1 1/2
stopbits.
3. N.A.
4. DTE or DCE version
5. V24 control signalling
6. Data User Activation Request:
V24 signal 109 on at a DTE entry
V24 signal 105 on at a DCE entry
Forward a ACR command through the network
7. On a DCE entry the V24 signal 106 shall indicate the conclusion of the data user activation
period
8. Data User Deactivation Request:
V24 signal 109 off at a DTE entry
V24 signal 105 off at a DCE entry
Forward a DAR-command through the network
9. Point to Point
10. React on the following commands
10.1 Open
10.2 Close
10.3 Program line handler
10.5 Data Route end record loading
10.6 Status request
10.7 Shift from secondary to primary route
10.8 Shift from primary to secondary route after a missing trunk command is received
10.9 Forward data according to the HLP-format
11. Response shall be sent after 10.1, 10.2, 10.3, 10.5, 10.6, 10.7, 10.8.
3.1.3.3.2.1 R̲e̲q̲u̲i̲r̲e̲m̲e̲n̲t̲s̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲F̲I̲X̲/̲0̲0̲0̲0̲/̲S̲P̲C̲/̲0̲0̲0̲2̲,̲ ̲I̲s̲s̲u̲e̲ ̲5̲ ̲r̲e̲f̲e̲r̲e̲n̲c̲e̲s̲ ̲t̲o̲ ̲t̲a̲s̲k̲s̲
Task 1 : Pg. 19E section A.2
Pg. 471B section C.b
Task 2 : Pg. 19E section D
Pg. 471B section C.b
Task 3 : N.A.
Task 4 : Pg. 19C section D
Pg. 471B section C.b
Task 5 : Pg. 471B section C.b
Task 6 : Pg. 19BA section CG
Pg. 19BA section CH
Task 7 : Pg. 19BA section CI
Task 8 : Pg. 19C section D
Task 9 : Pg. 19D section A
Pg. 20
Task 10.3: Pg. 19E section A.2
Pg. 471B section C.b
Task 10.5: Pg. 20B section B,C
Task 10.7: Pg. 20C section D
Task 10.8: Pg. 20C section C
Task 11 : Pg. 20A section A
3.1.3.3.2.2 I̲n̲t̲e̲r̲n̲a̲l̲ ̲F̲I̲K̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲r̲e̲f̲e̲r̲e̲n̲c̲e̲s̲ ̲t̲o̲ ̲t̲a̲s̲k̲s̲
Task 6 : FIX/3131/DSP/0011, Issue 3, pg.358-366
Task 8 : " pg.359-366
Task 10.1 : "
10.2 : " pg. 17-25
10.3 : "
Task 10.5 : "
10.6 : " pg. 26-31
10.7 : "
Task 10.9 : " pg.358-366
Task 11 : " pg. 17-31
3.2 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲A̲l̲l̲o̲c̲a̲t̲i̲o̲n̲
3.2.1 A̲p̲p̲l̲i̲c̲a̲t̲i̲o̲n̲ ̲F̲i̲r̲m̲w̲a̲r̲e̲ ̲B̲r̲e̲a̲k̲d̲o̲w̲n̲
In this section a breakdown is made of the Application Firmware into submodules and sub
A submodule is a linkable software element.
3.2.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲A̲r̲e̲a̲s̲
These is a one to one correspondance between functional areas and submodules.
3.2.1.2 S̲u̲b̲m̲o̲d̲u̲l̲e̲s̲
LDUINI : Creation of application
processes and setup
routines FIX/0901/S-T/0400
CMI : Command interpreter FIX/0902/S-T/0500
LDUINP : Input handling FIX/0903/S-T/0500
LDUOUT : Output handling FIX/0904/S-T/0500
LDUTIM : Timer Process FIX/0905/S-T/0201
ASDRIV : V24 Driver FIX/1001/S-T/0200
LDUDEF : LTUX Data User Definition FIX/0909/S-T/0600
3.2.1.3 F̲i̲r̲m̲w̲a̲r̲e̲ ̲s̲t̲r̲u̲c̲t̲u̲r̲e̲ ̲o̲v̲e̲r̲v̲i̲e̲w̲
See 3-2678 (2 sheets) and 3-3298 (2 sheets).
3.2.1.3.1 E̲n̲t̲r̲y̲ ̲P̲o̲i̲n̲t̲s̲ ̲i̲n̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲s̲
LDUINI: INITIA: Process Creation
UBTAB: Branch Table for set up routines
DUMDCS: Appl. routine for opening a subdevice
DUMDCS: Appl. routine for closing a subdevice
PLLDU: Appl. routine for programming a V24 line
CMI: CMINIT: Command interpreting on subdevice 2
LDUINP: SIINIT: Input handling from receiver
LDUOUT: SOINIT: Output handling to transmitter
LDUTIM: TIMINI: Timer routine to Data User Plug Protocol.
ASDRIV: ITX#: Transmitter interrupt routine
IRX#: Receiver " "
IERR#: Error Receive interrupt routine
IEX#: External/status interrupt routine
IRXD#: Receiver Discard Interrupt routine
DUMMY: Dummy interrupt routine
# = 1,2,3 or 4 corresponding to the 4 V24-Jacks
3.2.1.4 R̲o̲u̲t̲i̲n̲e̲ ̲C̲a̲l̲l̲ ̲T̲r̲e̲e̲
For each entry point in the firmware structure is shown a Routine Call Tree. A Routine Call
Tree shows all the calls that the subroutine will ever make to each other.
L̲D̲U̲I̲N̲I̲:̲
DUMDCS: open and close subdevice
PLLDU : Program a V24 line
SETCTC: Program CTC
SETSIO: Program SIO
CONDRT: Configuration Driver table
RESSIO: Reset SIO CH.
C̲M̲I̲:̲
GETADD: Calculates start address in data buffer
DRTTAB: Calculates data route table address from SIO-ID
EDITAB: Edits a queue table
BUFEVA: Evaluate buffers to specified queue
DELNUM: Delete number in a table
INSNUM: Insert number in a table
CALJID: Calculate a jack id from SIO ID in data route table
DELETE: Delete a Jack id in a Queue table
INSERT: Insert Jack id in a Queue table
DOLDJN: Delete an old jack id in a Queue table
PRRSBF: Prepare response buffer on subd. 2
SENDRB: Send a buffer to outgoing queue on subd. 2.
L̲D̲U̲I̲N̲P̲:̲
RESFIF: Resets a specified FIFO
GETBUF: Gets a buffer from outgoing empty buffer quewue. Address to next link element
and data buffer are saved
SENDBF: Sends a buffer on specified subdevice
L̲D̲U̲O̲U̲T̲
A̲S̲D̲R̲I̲V̲:̲ =: No. 1,2,3,4
ITX#: Transmitter
IRX#: Receiver
IERR#: Error routine
IEX#: External/status interrupt routine
IRXD#: Discard routine
DUMMY : Dummy routine
STATXS: Start transmitter
ENXINT: Enable external interrupts
SETDTR: Sets DTR-bit in SIO-req.
SETDTS: Sets RTS-bit - - -
RESRTS: Resets - - - - -
DISTXS: Disables transmitter
L̲D̲U̲T̲I̲M̲:̲
TIMEOUT: Tineout routine
S̲y̲s̲t̲e̲m̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲:̲
IGEPA: Dequeues element from ing. full buffer queue head
IDEPA: Enqueues element in ing. empty buffer queue head
OGEPA: Dequeues element from outgoing empty buffer queue head
ODEPA: Enqueues element in outgoing full buffer queue head
BEVALX: Devaluates buffer to specified queue head
SCREAT: Creates a specified process
SCOMMO: Schedules the different processes according to the schedule list
3.2.1.7 D̲a̲t̲a̲ ̲T̲a̲b̲l̲e̲s̲
The names of the contents of the Data Route Table are explained in the following:
To each jack number (1-4) there is allocated a Data Route Table.
A detailed description is found in ref. 2.8.
3.2.1.8 M̲e̲m̲o̲r̲y̲ ̲L̲a̲y̲o̲u̲t̲
The LTUX-ASYNC memory layout is as follows:
0 - 0FFF…0f…16…0e… System Software Prom
4000…0f…16…0e…- 4FFF…0f…16…0e… Application Firmware PROM
5000…0f…16…0e…- 53FF…0f…16…0e… Application RAM area 1
5400…0f…16…0e…- 57FF…0f…16…0e… System Software RAM
6000…0f…16…0e…- 67FF…0f…16…0e… Application RAM area 2
3.3 S̲u̲b̲m̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
3.3.1 L̲D̲U̲I̲N̲I̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲
3.3.1.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
This submodule is the first executed application process, created by system software in the
LTUX-S. The submodule is used to create the other application processes in the LTUX-ASYNC.
It also contains the subroutines DUMDCS and PLLDU used on subdevice 0.
Finally initialization of the interrupt tables is donw.
3.3.1.2 F̲u̲n̲c̲t̲i̲o̲n̲s̲
See description in ref. 2.8
3.3.2 C̲o̲m̲m̲a̲n̲d̲ ̲I̲n̲t̲e̲r̲p̲r̲e̲t̲e̲r̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲ ̲(̲C̲M̲I̲)̲
3.3.2.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
The Command Interpreter Submodule (CMI) monitors the subdevice queue No. 2 for commands sent
to LTUX-ASYNC.
The commands are:
o Data route end record loading
o Shift from sec. to primary route
o Status request
CMI returns with command responses to subdevice queue 2 telling if a command has been carried
out successfully or not.
It contains one process, which is scheduled regularly.
During initializing of the CMI, all the Data Route Tables are initialized, and buffers to
subdevice 0, 2-9 are evaluated.
See description in Ref. 2.8.
3.3.3 D̲U̲P̲-̲P̲r̲o̲t̲o̲c̲o̲l̲ ̲T̲i̲m̲e̲r̲ ̲(̲L̲D̲U̲T̲I̲M̲)̲
Software Timers are implemented with the LDUTIM process.
3.3.3.2 F̲u̲n̲c̲t̲i̲o̲n̲s̲
The LDUTIM-submodule is a scheduled process. When the LTUOUT process (output handler) starts
the DUP-protocol timer, the current value of HWTIM is stored in TIMER1 in the Data Route
Table.
Then the HWTIM is regularly polled and when the following equation is true the async transmitter
is started
PRESENT = HWTIM - TIMER1
In the LTUX-ASYNC PRESET is set zero.
Further a HLP Timer is implemented for use in the LDUINP process. See LDUINP description.
3.3.3.2.4 D̲i̲a̲g̲r̲a̲m̲s̲
On fig. 3-3870 is shown an overview of the LDUTIM-submodule.
3.3.3.2.6 T̲i̲m̲i̲n̲g̲
In order to keep the right timing, it is necessary to poll the HWTIM with intervals less
than 8 ms.
That means that the LDUTIM Must appear in the Schedule List so often that the process is
scheduled within 8 ms intervals.
3.3.4 A̲S̲Y̲N̲C̲ ̲I̲n̲p̲u̲t̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲ ̲(̲L̲D̲U̲I̲N̲P̲)̲
3.3.4.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
This submodule takes care of sending data and status information from a source Data User
through the FIKS Network to the destination Data User.
The process is scheduled regularly by the operating system.
3.3.4.2 F̲u̲n̲c̲t̲i̲o̲n̲
3.3.4.2.1 I̲n̲p̲u̲t̲
Input to the LDUINP submodule is
1) Data from the Data User stored in an Input FIFO by the interrupt-driven driver (ASDRIV)
and
2) Status of the carrier (V.24 109 or 105) stored in a byte (ISTAT) in the Data Route Table
by the ASDRIV-submodule.
3) Request for shifting routes from CMI or LDUOUT submodule via CUROST in the Data Route
Table.
3.3.4.2.2 O̲u̲t̲p̲u̲t̲
Before transferring status information and data to the TDX-packet protocol, a HLP-formatting
is done:
1) Carrier On results in an Activation Request ACR
2) Carrier Off results in a Deactivation Request DAR
3) Data is packed according to the HLP-Block length FxB
3.3.4.2.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
The LDUINP-submodule, which is scheduled by the operating system, services all four Jacks
and all subdevices (3-9) in the following way:
Subdevice 3-9 are in turn serviced. When a subdevice is under service. all the Jacks which
are connected to the subdevice are found via the Queue Table (QTABST).
The Jacks in question are polled to see, if they have any commands or data to be sent.
If they have, a buffer is fetched from empty packet queue and data/commands are loaded into
the buffer.
When all Jacks related to the subdevice have been polled, the buffer is released to Outgoing
Packet Queue.
Then the next subdevice is serviced.
When a specific Jack is polled, the processing is state-event driven according to 3-2682
and fig. 3.3.4.2.3-2.
As mentioned above characters are sent HLP-formatted. This means, that a block of characters
is sent, when there are enough characters in the Input FIFO to create a HLP-Block.
A HLP TIMER assures that no characters will be left in the FIFO, if the FIFO's count is less
than the HLP-block length. Fill characters are inserted in the HLP-Block, so the correct
length can be obtained.
This character (00H) are deleted in the transmitter interrupt routine at the destination
LTUX.
3.3.4.2.4 D̲i̲a̲g̲r̲a̲m̲s̲
On 3.-3867 is shown an overview of the flow through LDUINP-submodule.
3.3.5 A̲S̲Y̲N̲C̲ ̲O̲u̲t̲p̲u̲t̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲ ̲(̲L̲D̲U̲O̲U̲T̲)̲
3.3.5.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
This submodule takes care of transferring data and status information from the TDX-packet
protocol (subdevice 3-9) to one of four destination Data Users.
The process is scheduled regularly by the operating system.
3.3.5.2 F̲u̲n̲c̲t̲i̲o̲n̲s̲
3.3.5.2.1 I̲n̲p̲u̲t̲
Input to the LDUOUT-submodule is data/status formatted according to the HLP-format:
1) Data FxB
2) Activation Request ACR
3) Deactivation Request DAR
4) Missing Trunk MTR
7 0
HLP User Code Format Data
For further details, see 3-2686 Data User Controls.
When Format is equal to FxB, the header byte is followed by some data bytes. The number of
bytes is equal to the HLP-Block length.
3.3.5.2.2 O̲u̲t̲p̲u̲t̲
Outout-data from LDUOUT is delivered to an output FIFO connected to a specific Jack.
The interrupt-driven SIO-driver then takes these characters from the FIFO and outputs them
to the Data User.
3.3.5.2.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
The LDUOUT-submodule, which is schedules by the operating system, services subdevice 3-9
in the following way:
The subdevices are in turn polled for incoming packets from Ingoing Full Queue Head.
When a packet has been dequeued, an interpretation of the contents takes place.
The commands called: ACR; DAR and FxB are handled in a state/event handler, shown in more
details on 3-2683 and fig. 3.3.5.2.3-2.
When MTR-command is received, a request is sent to LDUINP.
3.3.5.2.4 D̲i̲a̲g̲r̲a̲m̲s̲
On 3-3866 is shown a flow diagram of the LDUOUT submodule.
3.3.6 A̲S̲Y̲N̲C̲-̲D̲r̲i̲v̲e̲r̲ ̲S̲u̲b̲m̲o̲d̲u̲l̲e̲ ̲(̲A̲S̲D̲R̲I̲V̲)̲
3.3.6.1 I̲n̲t̲r̲o̲d̲u̲c̲t̲i̲o̲n̲
This submodule holds the interrupt driven routines for transmitting and receiving data to
and from the Data User.
The routines are duplicated 4 times (1 for each Jack).
3.3.6.2 F̲u̲n̲c̲t̲i̲o̲n̲s̲
3.3.6.2.3 P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲
T̲r̲a̲n̲s̲m̲i̲t̲t̲e̲r̲
The transmitter takes care of loading characters from an output FIFO to the corresponding
SIO-channel.
The transmitter is enabled by a subroutine call in the LDUTIM-submodule, and every time characters
are loaded into the Output FIFO by Action 1 in LDUOUT.
After being enabled, the transmitter is interrupted every time the Transmit buffer in SIO
gets empty.
The moment the output FIFO is empty, the transmitter disables itself. See flow diagram on
fig. 3.3.6.2.4-1.
R̲e̲c̲e̲i̲v̲e̲r̲
The received has three interrupt routines used in the following way:
All characters that might be received during the Carrier being in Off-condition; are discarded
in the "Receiver Discard Routine".
When the Carrier is in On-condition, all characters are received in the "Receive Character
Available Routine" and input to the Input FIFO's.
If a Receive Overrun Condition occurs, this is handled by the "Special Receive Condition
Routine".
E̲x̲t̲e̲r̲n̲a̲l̲ ̲I̲n̲t̲e̲r̲r̲u̲p̲t̲s̲
Status signals are handled in the "External/Status Interrupts Routine".
This routine redefines the interrupt tables every time a shift on the Carrier has been detected.
The redefinition takes care of activate/passivate the "Receive Character Available Routine"
and "Receive Discard Routine".
See fig. 3.3.6.2.4-3.
The External Interrupts are enabled during a subroutine Call in the "Data Routine End Record
Loading" in the CMI-submodule.
Therefore data cannot be received from a Data User before a "Data Route End Record" has been
issued from the Host-computer.
3.3.6.2.4 D̲i̲a̲g̲r̲a̲m̲s̲
On fig. 3.3.6.2.4-1,-2 and -3 are shown flow diagrams of the interrupt-driven routines.
4. Q̲U̲A̲L̲I̲T̲Y̲ ̲A̲S̲S̲U̲R̲A̲N̲C̲E̲
See LTUX-ASYNC INTEGRATION TEST PROCEDURE
FIX/3232/TPR/0041.
5. P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲ ̲F̲O̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
This section describes how to prepare the LTUX-ASYNC firmware. The firmware is resident in
the CR200?.
The preparation is carried out on an HP64000 development system with tape station and PROM
program-
mer module.
5.1 A̲v̲a̲i̲l̲a̲b̲l̲e̲ ̲F̲i̲l̲e̲s̲
It is presumed that the files listed below are available on the HP64000 development system:
F̲i̲l̲e̲ ̲N̲a̲m̲e̲:̲ T̲y̲p̲e̲ M̲o̲d̲u̲l̲e̲ ̲N̲o̲.̲:̲
LTSDEF:FIXSYS SOURCE FIX/1401/
SITDEF:FIXSYS SOURCE FIX/1413/
FCBDEF:FIXSYS SOURCE FIX/1411/
FIXLIB:FIXSYS reloc
5.2 P̲R̲O̲M̲ ̲P̲r̲e̲p̲a̲r̲a̲t̲i̲o̲n̲
1. Get access to an HP64000 development station with tape station.
2. Login user-id LDU
3. Restore all files from tape containing LDU files.
P.S.: Delete eventually existing files by answering the prompt: "FILE NAME already
exists, delete old" with softkey "yes". Verify that all files have been restored
by checking the display response. If one or more files caused by checksum error
or other have not been restored, those are restored again.
4. LTUX-ASYNC module is generated by running the Command file called: ASYNCGEN.
5. The command file ends with linking of the relocateable object modules into one absolute
file: ASREL.
6. Logout userid LDU.
7. Get access to an HP64000 development station with PROM programmer module No. 64509A.
8. LKogin user-id LDU
9. Insert an erased INTEL 2732 EPROM in the socket of the PROM programmer module.
10. To program the PROM in the socket type in: Press:
1. Prom- Programmer, Return
2) Program from ASREL start address 4000H
11. Logout user-id LDU
Remove the PROM from the PROM programmer module.
NOTE: THe PROM should be marked with CR 200? and release No.