• Keine Ergebnisse gefunden

CONTROL SECTION .1 General

Im Dokument Technical Manual (Seite 88-93)

The control section (Figure 1-5) is made up of everything except the two interfaces which have just been described. This section contains:

• The common RAM - via which almost all commands and data are routed

• The store arbitrator-which regulates all RAM access requests from the host and the DHVII 's two microcomputers

• The microcomputers - PROCI and PROC2

FIFO control and address circuits - which supply the appropriate FIFO addresses

DMA OUTPUT BUFFERS 8 x 8 WORDS

Each channel has an 8-word buffer for DMA characters. There are also eight I-word buffers (one for each channel) for single-character programmed transfers. By using buffers, the DHVll is able to transmit more efficiently. Buffers are filled by PROCI and emptied by PROC2.

4-7

Each word of a buffer has a flag byte (D<15:8» and a character byte (D<7:0». When PROC1 transfers a character to a buffer, it sets the flag byte to a non-zero condition. When PROC2 transfers a character to a UART, it clears the flag byte to zero. In this way, the flag byte is used as a handshake between PROC 1 and PROC2.

The top eight words are reserved for self-test diagnostic bytes.

4.4.2.2 Registers - The DHV11 is controlled via registers. There are seven for each channel, plus the FIFO (RBUF) and a common CSR. The functions of registers are as follows:

CSR RBUF TXCHAR

LPR

STAT LNCTRL

- Main control register for channel selection, important flags, and control bits - FIFO for received characters, and status and diagnostic information

- Any character written to a channel's TXCHAR is transmitted on that channel - Command codes written by the host to this register configure the channel - Indicates the current modem status

- Command register via which the host controls the channels

TBUFF AD 1 - Loaded by the host, while setting up a DMA transfer with the 16 low-order bits of a DMA address

TBUFF AD2 - Holds the six high-order bits of a DMA address, plus control bits

TBUFFCT - Loaded by the host, while setting up a DMA transfer, with the number ofDMA characters to be transferred.

Register functions are described in Chapter 3 (Programming).

Figure 4-6 shows the location of registers and their physical addresses. Each block allocated to a register contains 16 word locations, only 8 of which are used. These locations are indexed by an address previously written to CSR<3:0>. For example, in order to write to the TXCHARregister for channel 7 , the host must first write 7 to CSR<3:0>. When the host then writes to TXCHAR (BASE

+

2), the address is indexed by 7. This accesses the appropriate TXCHAR register from the block of 16.

The host can also write bytes to the registers. In that case, even addresses (BASE

+

2, BASE

+

4, and so on) will access the low byte (D<7:0». Odd addresses (BASE

+

3, BASE

+

5, and soon) will access the high byte (D<15:8».

Transfers to the master, from the registers and the FIFO, are routed via the output data latches. Transfers from the master to the registers pass through the input data latches.

4.4.2.3 FIFO - This 256-word RAM area usually contains received characters and status information.

When the host reads from BASE

+

2(RBUF), the oldest word in the FIFO is transferred.

There is only one received character buffer (RBUF). The index bits (CSR<3:0» are ignored during a read action from RBUF.

4.4.3 RAM Access

(See Figure 4-7.) The common RAM can be accessed by the host, or by each of the DHVll microcomputers. Therefore, it is a 3-port memory.

I Addresses (Figure 4-7) come from four sources:

• •

• •

PROCI PROC2

The host processor (via translation logic) The FIFO Fill and Empty counters.

FROM

During a write to FIFO (by PROC2) or a read from FIFO (by the host), the RAM address is given by one of the FIFO counters. Dotted lines in Figure 4-7 indicate that this area is oversimplified.

Figure 4-1 shows more detail of the same circuit.

4-9

4.4.4 Store Arbitrator

When one of the microcomputers or the host needs to access the RAM, it will generate a request for store access. The store arbitrator (Figures 4-7 and 4-1) sequentially scans the request lines. When it detects a request, that request is granted and the other two requests are locked out. The arbitrator issues enable signals for the appropriate address and data sources, and starts memory timing and control logic.

Signals produced by the timing and control logic perform the read or write action and then terminate the access.

4.4.5 Microcomputers

Using the RAM as a common reference point, PROC1 and PROC2 manage the functions of the DHV11.

Under control of firmware, contained in internal ROM in each microcomputer, the RAM is scanned for commands or data. The main functions of each microcomputer are as follows:

PROC1

1. Single-character transfers from the TXCHAR register to the output buffers in common RAM.

2. Control of DMA transfers from system memory to the output buffers in common RAM.

3. Reporting back to the host via the TX.ACTION bit in the CSR.

4. Executing the Background Monitor Program (BMP) when not busy with other tasks.

PROC2

1. Transfer of characters (DMA and single character) from the output buffers to the appropriate DUART channel.

2. Transfer ofreceived characters and error status from the DUARTs to the FIFO. Recognition of automatic flow control (auto-flow) characters X-ON and X-OFF. Auto-flow is described in Chapter 3, Programming.

3. Servicing internal interrupts which are raised when the host writes to the LPR or LNCTRL registers.

4. Scanning the modem status lines for a change of state. Reporting back to the host via the STAT register and FIFO.

5. Executing BMP when not busy with other tasks.

4.4.6 Address and Data Latches

To meet the interface timing demands, latches are used for all transfers between the host and the DHV11.

For example, to transmit a single character, the host writes the character to the TXCHAR register.

During this action the TXCHAR address is latched into the register address latch. The data is latched into the input data latches. The arbitration and timing and control circuits complete the transfer to TXCHAR.

Characters transferred by DMA are not routed through the TXCHAR register. Special DMA latches are provided for this purpose.

At the beginning of a DMA cycle the next DMA address is written to the DMA address latches (Figure 4-1).

This generates a DMA request to the DMA control IC, DCO 1 0, which transfers the next word from host memory to the DMA data latches. PROC1 will transfer the word (two characters) from the latches to the DMA buffer area in common RAM, except at the beginning or end of an odd length buffer.

4.4.7 FIFO Addresses

The FIFO is implemented in common RAM. It is filled by PROC2 and emptied by the host. It is made to act like a FIFO by the action of two counters.

The Fill counter provides addresses during PROC2 FIFO WRITE actions. It points to the next available location. The counter is incremented after each word (two separate bytes) is written.

The Empty counter provides addresses during a FIFO READ action by the host. It addresses the oldest word in the FIFO. It is incremented after each word is read.

4.4.8 FIFO Control

Received characters are transferred from the DUARTs to the FIFO in order to be read by the host.

PROC2 loads the status (high) byte and then the character (low) byte. The host reads this information as a full word. A FIFO control circuit manages these actions by monitoring GRANT signals from the store arbitrator and READ or WRITE signals from the host or PROC2.

The functions of the FIFO control circuit are as follows:

• Gating the appropriate FIFO counter onto the store address (SAD<9:0» bus

• Incrementing the appropriate counter after access

• Disabling both FIFO addresses when the FIFO is not being accessed

• Reporting the state of the FIFO (FULL, ALARM, EMPTY) to PROC2 and the CSR.

4.5 OTHER CIRCUITS

Im Dokument Technical Manual (Seite 88-93)