The Micro Channel architecture consists of an address bus, a data bus, an arbitration bus, a set of interrupt signals, and support signals. It uses synchronous and asynchronous procedures for data transfer between memory, I/O devices, and a controlling master. The controlling master can be a DMA controller, the system master (system processor), or a bus master. The features of the Micro Channel architecture are:
All Micro Channel participants are either masters or slaves. There are three types of masters and three types of slaves.
An adapter can incorporate either a master function, a slave function, or a combination of both. For example, an adapter might be designed to operate primarily as a DMA slave. However, it would also respond to certain I/O read and I/O write operations from the system master, making it an I/O slave. If the adapter contains RAM or ROM that is in the memory address space, it would be a memory slave when that memory was accessed.
The Micro Channel architecture consists of:
The highest value of the arbitration bus (hex F) has the lowest priority, and the lowest value (hex 0) has the highest priority. To participate in the arbitration procedure, an arbitrating participant must present its arbitration level immediately after the rising edge of ARB/-GNT . All arbitrating participants monitor the arbitration bus, and those with lower priority arbitration levels withdraw them by not driving less-significant arbitration bits.
The arbitration level of the highest-priority requester is valid on the arbitration bus after a settling time.
After the channel is granted to the highest-priority requester, that requester continues to drive its arbitration level on the bus.
Note: The system master can perform data transfers during arbitration ( ARB/-GNT in the ARB state).
The address bus and the associated signals are used by the controlling master to assert the memory address or the I/O address ( M/-IO ), to enable a slave to latch the address and status signals ( -S0, -S1 ), and to indicate that the memory address is greater than 16MB.
Note: A0 - A31 are used to transfer data during a 64-bit streaming data cycle.
During both read and write operations, a master generates a parity bit for each valid address byte, and the receiving slave optionally performs the parity checking to ensure the integrity of the address.
Note: APAR0 - APAR3 represent data parity during 64-bit streaming data cycle when -DPAREN is active.
APAR(0) represents the odd parity of D(32-39) . APAR(1) represents the odd parity of D(40-47) . APAR(2) represents the odd parity of D(48-55) . APAR(3) represents the odd parity of D(56-63) .
Note: Memory that contains diagnostic code must not drive -CD SFDBK during the diagnostic operation.
During a read cycle, a slave ensures that data is valid within the time specified after releasing the signal to a ready state. The slave also holds the data long enough for the controlling master to sample the data. A slave can also use this signal during a write cycle if more time is needed to store the data. This signal is initially driven from a valid unlatched address decode and status active.
Note: APAR(0) - APAR(3) represent data parity during 64-bit streaming data cycles when -DPAREN is active.
During write operations, a master generates a parity bit for each data byte being transferred, and the receiving slave optionally performs the parity checking to ensure the integrity of the data. During read operations, a slave generates a parity bit for each valid data byte, and the receiving master optionally performs the parity checking to ensure the integrity of the data.
DPAR(2) represents the odd parity of D(16-23) . DPAR(3) represents the odd parity of D(24-31) .
During write operations, a master generates a parity bit for each data byte being transferred, and the receiving slave optionally performs the parity checking to ensure the integrity of the data. During read operations, a slave generates a parity bit for each valid data byte, and the receiving master optionally performs the parity checking to ensure the integrity of the data.
This signal allows the controlling master to monitor the information about the selected slave's data port size. The -CD DS 16 signal from each slave, not on an adapter card, is included in the AND to generate -DS 16 RTN .
-DS 16 -DS 32
RTN RTN Data Port Size
1 1 8-Bit Data Port
1 0 Not Valid
0 1 16-Bit Data Port
0 0 32-Bit Data Port
-SDR(0) -SDR(1) Decoded Streaming Rate
1 1 Basic Transfer Cycle
0 1 10 MHz maximum (100 ns minimum cycle)
0 0 20 MHz maximum (50 ns minimum cycle)
1 0 Reserved
Data is transferred to or from the data bus based on -CMD and a latched decode of the address, the status lines ( -S0 exclusive-OR -S1 ), and M/-IO .
Slaves must support a full decode of -S0 and -S1 . The following table shows the states of M/-IO , -S0 , and -S1 in decoding I/O and memory read and write commands.
M/-IO -S0 -S1 Function
0 0 0 (see note below)
0 0 1 I/O Write Command
0 1 0 I/O Read Command
0 1 1 Inactive
1 0 0 (see note below)
1 0 1 Memory Write Command
1 1 0 Memory Read Command
1 1 1 Inactive
Note: These decodes are used in the 20 MHz streaming data transfer. Some systems execute system specific basic transfer procedures with both status signals active.
An I/O write command instructs an I/O slave to receive the data from the data bus. An I/O read command instructs an I/O slave to drive its data onto the data bus.
A memory write command instructs a memory slave to receive the data from the data bus. A memory read command instructs a memory slave to drive its data onto the data bus.
AUDIO and AUDIO GND are the only analog signals in the Micro Channel. The AUDIO signal is a connection between all audio drivers and receivers on the bus. The AUDIO subsystem can support single and multiple drivers as well as single and multiple receivers. The receivers can be either AC or DC coupled. Each AUDIO driver has a source impedance of 1200 +/- 20%. Each AUDIO receiver has an input impedance of not less than 7500 ohms.
The system provides a path to the system speaker. The system provides a 600 +/- 20% impedance from AUDIO to AUDIO GND . The AUDIO GND must not be used for any analog circuitry other than the AUDIO subsystem.
The following figure lists the digital Micro Channel signals and shows what type of driver or receiver is required. The 'audio' and 'audio ground' signals are analog signals. When a Micro Channel adapter combines the functions of bus masters and slaves, the signals driven and received by the adapter are a superset of the selected functions.
For example:
Note: All adapters must support setup.
The central arbitration control point, central steering logic, and central translator logic are packaged within the system logic. The system logic also includes circuitry for memory refresh, the oscillator, and channel reset.
The signals for the 16-bit adapter are a subset of the signals for the 32-bit adapter.
Signal System DMA Bus DMA Memory I/O Driver
Name Master Cntlr Master Slave Slave Slave Type
D/R D/R D/R D/R D/R D/R Signal
Group
A(0-15) D/- D/- D/- -/O -/R -/R TS (1)
A(16-23) D/- D/- D/- -/- -/R -/- TS (1)
A(24-31) */- */- */- -/- -/* -/- TS (1)
-ADL D/- D/- D/- -/O -/O -/O TS (1)
APAR(0-3) O/- O/- O/- -/O -/O -/O TS (2)
-APAREN O/- O/- O/- -/O -/O -/O TS (2)
ARB(0-3) O/O -/R D/R D/R -/- -/- OC (5)
ARB/-GNT D/- -/R -/R -/R -/- -/- BD (4)
-BE(0-3) */- */- */- -/* -/* -/* TS (1)
-BURST O/R D/R O/- O/- -/O -/O OC (5)
CD CHRDY (n) -/R -/- -/- O/- O/- O/- TP (3)
-CD DS 16 (n) -/R -/- -/- $/- $/- $/- TP (3)
-CD DS 32 (n) -/* -/- -/- */- */- */- TP (3)
-CD SETUP (n) D/- -/@ -/@ -/@ -/@ -/@ TP (8)
-CD SFDBK (n) -/R -/- -/- D/- D/- D/- TP (3)
-CHCK -/R O/R O/R O/- O/- O/- OC (6)
CHRDYRTN D/- -/R -/R -/- -/- -/- BD (4)
CHRESET D/- -/R -/R -/R -/R -/R BD (4)
-CMD D/- D/- D/- -/R -/R -/R TS (1)
D(0-7) D/R D/R D/R D/R D/R D/R TS (2)
D(8-15) D/R D/R D/R $/$ $/$ $/$ TS (2)
D(16-31) */* */* */* */* */* */* TS (2)
DPAR(0) O/O O/O O/O O/O O/O O/O TS (2)
DPAR(1) O/O O/O O/O O/O O/O O/O TS (2)
DPAR(2-3) O/O O/O O/O O/O O/O O/O TS (2)
-DPAREN O/O O/O O/O O/O O/O O/O TS (2a)
-DS 16 RTN D/- -/R -/R -/- -/- -/- BD (4)
-DS 32 RTN */- -/* -/* -/- -/- -/- BD (4)
-IRQ (N) O/R O/- O/O O/- O/- O/- OC (6)
M/-IO D/- D/- D/- -/R -/R -/R TS (1)
MADE 24 D/- D/- D/- -/- -/R -/- TS (1)
-MSDR -/O -/O -/O O/- O/- O/- TS (1)
OSC D/- -/O -/O -/O -/O -/O CD (7)
-PREEMPT D/R -/- D/O D/O -/- -/- OC (5)
-REFRESH D/- -/- -/- -/- -/O -/- BD (4)
-S0,-S1 D/* D/- D/- -/R -/R -/R TS (1)
-SBHE D/* D/- D/- -/# -/# -/# TS (1)
-SFDBKRTN O/- -/O -/O -/- -/- -/- BD (4)
-SD STROBE O/- O/- O/- -/O -/O -/O TS (1)
-SDR(0) -/O -/O -/O O/- O/- O/- TS (1)
-SDR(1) -/O -/O -/O O/- O/- O/- TS (1)
-TC -/- D/- -/- -/R -/- -/- TS (1)
TR 32 */R */- */- -/O -/O -/O TS (1)
- KEY -
D = Drive Enabled OC = Open Collector # = Required for 16-bit devices
O = Optional TS = Tri-State $ = Required for 16- or 32-bit
R = Receive Enabled TP = Totem Pole devices
- = Not Implemented BD = Bus Driver * = Required for 32-bit devices
CD = Clock Driver N = IRQ(9-12,14,15,3-7) @ = -CD SETUP is received by all
adapters
The following table and notes apply to the driver and receiver options above.
Signal Group Driver Type Capacity Loading Capacitance
1 Tri-State 24 mA 20 pF 240 pF
2 Tri-State 24 mA 20 pF 240 pF
2a Tri-State 24 ma 20 pF 240 pF
3 Totem Pole 6 mA 20 pF 40 pF
4 Bus Driver 24 mA 20 pF 240 pF
5 Open Collector 24 mA 15 pF 200 pF
6 Open Collector 24 mA 20 pF 240 pF
7 Clock Driver 24 mA 15 pF 200 pF
8 Totem Pole or 6 mA 50 pF Not
Tri-State Applicable
Notes:
Signal Driver Recommended Recommended Note
Group Type Resistor Resistor
to +5 Vdc to Ground
1 Tri-State 1 K ohms 2 K ohms
2 Tri-State 1 K ohms 2 K ohms 2
2a Tri-State 470 ohms 940 ohms 4
3 Totem Pole 2.2 K ohms 4.4 K ohms
4 Bus Driver 2.2 K ohms 4.4 K ohms
5 Open Collector 470 ohms 940 ohms 3
6 Open Collector 1 K ohms 2 K ohms 2
7 Clock Driver 1 K ohms 2 K V
8 Totem Pole or Tri-State None None
Notes:
The Micro Channel procedures, as well as data steering, are described in the following pages.
The arbitration procedure provides the functions to resolve multiple requests for control of the channel.
Arbitration consists of local arbiters, the arbitration bus and the associated signals, and a central arbitration control point.
The arbitration bus is a parallel bus that consists of four lines ARB(0-3) , supporting up to 16 arbitration levels. These arbitration levels are hex 0 through hex F; level hex 0 is the highest priority, level hex F is the lowest priority. The master with level hex F is always the default master. No two active arbiters will be assigned the same arbitration level at the same time.
If no -PREEMPT is driven, the arbitration level defaults to hex F and the default master gains control of the channel.
If a system master is also the default master, the system master controls the Micro Channel when the channel is not controlled by any other master.
The central arbitration control point controls arbitration cycles using three arbitration signals: -PREEMPT , ARB/-GNT , and -BURST .
Arbitrating participants (local arbiters) drive -PREEMPT active to request use of the channel. An arbiter can activate -PREEMPT asynchronously. However, an arbiter must have -PREEMPT activated before the beginning of an arbitration cycle to participate in that cycle. If an arbiter drives -PREEMPT active when an arbitration cycle is in progress, it must wait for the next arbitration cycle before driving its arbitration level onto the arbitration bus. An arbiter that activates -PREEMPT while ARB/-GNT is in the -GNT state should (but is not required to) participate in the next arbitration cycle. An arbiter that has -PREEMPT active for at least 20 nanoseconds prior to ARB/-GNT being driven to the -GNT state must participate in the next arbitration cycle (and all following arbitration cycles) until it wins control of the channel.
The central arbitration control point initiates an arbitration cycle by driving ARB/-GNT to the ARB state.
The requesting local arbiters then drive their 4-bit arbitration level onto the arbitration bus. When a local arbiter sees a more-significant bit low on the arbitration bus (other than those driven low by itself), it stops driving its less-significant bits onto the arbitration bus. The local arbiter driving the lowest arbitration level (highest priority) thereby wins control of the channel when ARB/-GNT goes to the -GNT state.
When a master is granted control of the channel, it is required to initiate a transfer cycle or an abort cycle. An exception is the system master that wins the channel be default. The system must continue to function correctly when multiple consecutive grants default to arbitration level hex F.
Arbitrating participants with multiple data transfers to perform signal the central arbitration control point by driving -BURST active. -BURST is held active until all transfers have been completed or until another participant drives -PREEMPT active. When preempted, the controlling master or DMA slave must release the channel and signal the end of transfer within 7.8 microseconds.
The end of transfer (EOT) is indicated by the trailing edge of -S0 , -S1 , -BURST , or -CMD , whichever occurs last. When the central arbitration control point detects an EOT condition, it drives ARB/-GNT to the ARB state, initiating the next arbitration cycle.
When ARB/-GNT is in the ARB state, bus masters and DMA controllers disable all of their channel drivers except -PREEMPT and ARB(0-3) . Slaves, including bus masters and DMA controllers responding as slaves, must be capable of driving the channel when addressed.
During exception conditions, the central arbitration control point can gain control of the channel by driving ARB/-GNT to the ARB state independently of an EOT condition.
Note: While ARB/-GNT is in the ARB state, the system master can perform data transfers and system logic can perform refresh operations. Selected slaves must respond independently of the state of ARB/-GNT
Participants requesting the use of the channel implement logic that allows all competing participants to recognize the winner. This logic is known as a local arbiter. An arbitrating participant competes for control of the channel only if it has driven -PREEMPT active before ARB/-GNT goes to the ARB state. A competing local arbiter drives its arbitration level onto the arbitration bus, then compares its arbitration level, on a bit-by-bit basis, with the value appearing on the arbitration bus beginning with the most significant bit, ARB3 . If the competing local arbiter detects a mismatch on one of the bits, it immediately stops driving its less-significant bits. If the local arbiter subsequently recognizes a match on that bit, it resumes driving its less-significant bits until another mismatch is detected. The following is an example of an arbitration cycle.
To use burst transfer, a controlling master or a DMA slave activates -BURST after being granted the channel. -BURST is held active until after the start of the last cycle of the burst transfer.
When an arbitrating participant requires the channel, it activates -PREEMPT . The following diagram shows -PREEMPT occurring during a burst transfer.
The preempted burst transfer sequence is as follows:
Arbitrating masters should maximize use of the channel within the 7.8 microsecond limit from -PREEMPT going active. If a master or a DMA slave does not release the channel by presenting EOT within 7.8 microseconds after -PREEMPT is driven active, a channel time-out can occur, creating an exception condition.
All bursting participants must support the fairness feature. Fairness forces the bursting participant to equitably share the channel time with the other participants. An optional configuration field in programmable option select (POS) can be used to disable the fairness feature.
When a bursting participant with control of the channel senses an active -PREEMPT , it must release the channel within the specified time (even if the fairness feature is disabled). If its fairness feature is enabled, the participant must enter the inactive state unless -PREEMPT was inactive while that participant owned the channel. If -PREEMPT was inactive while that participant had control, it is not required to enter the inactive state but must release the channel. In the inactive state, the bursting participant will not drive -PREEMPT active or participate in arbitration.
To exit the inactive state, the arbitrating participant must wait for -PREEMPT to go inactive. The participant then waits for a specified time after the trailing edge of status (status active to inactive) before driving -PREEMPT active. It is possible for multiple arbitrating participants to be in the inactive state concurrently.
Note: The participant exits the inactive state independently of the state of ARB/-GNT .
The system master and the central arbitration control point can work together to improve use of the channel by overlapping a system master data transfer with arbitration as follows.
When the system master is the controlling master and -PREEMPT is active, ARB/-GNT can be driven to the ARB state. After the arbitration cycle is completed and the system master has signalled EOT, ARB/-GNT is driven to the -GNT state.
The system master can execute cycles during arbitration. When the arbitration cycle is completed, ARB0 - ARB3 can be checked to see if the winning arbitration level is the system master's arbitration level. If the winning arbitration level is the system master's arbitration level, ARB/-GNT can be driven to the -GNT state while the system master is executing a bus operation.
The data transfer procedures are used to transfer data between a controlling master and the selected slave. The three types of data transfer procedures are:
Each procedure defines the signal sequences and the signal timing specifications used in the procedure. Data transfer occurs only during the data transfer cycle defined by the procedure. A cycle is one or more data transfers, occurring during the time between the leading edge of -CMD and the trailing edge of -CMD . The data transfer cycle address selects either an I/O-address-space address or a memory-address-space address, under the control of M/-IO .
A controlling master or a DMA slave can drive -BURST , to indicate to the central arbitration control point that one or more data transfer cycles will be used before the EOT occurs.
This section describes each procedure, the signal sequence for each procedure, and the signal timing specifications.
The system-specific technical manuals contain the signal sequence and timing specifications for matched-memory signals and auxiliary-video signals.
The three types of basic transfer cycles are:
All masters and DMA controllers transfer data with the same control sequence. The following covers the case of a write cycle. The signals appear in the following sequence:
Whether a default, a synchronous-extended, or an asynchronous-extended cycle is performed depends on how a slave uses CD CHRDY .
If a master begins a transfer cycle but must abort that cycle, -ADL and -CMD must not be activated, and -S0, -S1 must be activated with a minimum pulse width T2A. The T2A time allows the central arbitration control point to recognize EOT. -BURST , if active, is deactivated with status deactivation. Slaves must not latch CD CHRDY inactive until after the appearance of an active -ADL signal, and if the cycle is aborted, must release CD CHRDY with the deactivation of status.
A synchronous-extended cycle occurs when a slave drives CD CHRDY inactive, then releases CD CHRDY synchronously within the specified time after the leading edge of -CMD .
An asynchronous-extended cycle occurs when a slave drives CD CHRDY inactive, then releases CD CHRDY asynchronously.
The streaming data procedure provides performance improvements over basic transfer procedures for block transfers, and supports data-transfer rates of up to 160MB per second. It provides for the transfer of a data block by using a single address followed by multiple 16-, 32-, or 64-bit data transfers within a single streaming data cycle. The data transfers are clock-synchronous and incorporate automatic speed matching between the controlling master and slave.
The streaming data procedure can be used for high speed data transfer between a controlling master and the selected slave. The streaming data procedure is transparent to devices that are not selected. Streaming data participants must support the basic transfer procedure to operate with nonstreaming-data participants.
Special rules apply to streaming data devices to ensure compatibility with nonstreaming-data participants. These include:
Note: Streaming data participants must support a fully-functional operation with nonstreaming-data participants, independent of the state of the Streaming Data Enable fields.
Implementing and using streaming data transfer is optional to masters. Implementing and indicating streaming data transfer capabilities is optional to slaves.
A 16- or 32-bit streaming data transfer cycle is initiated as either a 16- or 32-bit basic data transfer cycle, and all rules associated with those procedures apply. The following is an example of a 16- or 32-bit streaming data write cycle. The signals appear in the following sequence:
Note: Because 16- and 32-bit streaming data operations are aligned on four-byte boundaries, A0 , A1 , and -SBHE equal a binary 000.
Note: When the slave does not drive -SDR(0) , or -SDR(1) active, the controlling master meets the basic transfer timings.
Note: If CHRDYRTN is active, -SD STROBE can be activated concurrently with -CMD . -SD STROBE is used by both the controlling master and slave to transfer data, with data being clocked on and off the bus on the falling clock edge and clocked off the bus on the next falling clock edge. The operation proceeds with new data being placed on the bus every time -SD STROBE makes a high-to-low transition.
A 64-bit streaming data transfer cycle is initiated as a 32-bit basic transfer cycle, and all the rules associated with this procedure apply. The following is an example of a 64-bit streaming data write cycle. The signals appear in the following sequence:
Note: Because 64-bit operations are aligned on an eight-byte boundary, A0 , A1 , and -SBHE equal binary 000.
Note: When the slave does not drive -SDR(0) , or -SDR(1) active, the controlling master meets the basic transfer timings.
The 64-bit streaming data transfer is indicated by driving -BE(0-3) inactive, driving data bits 32-63 of the eight byte transfer on the address bus, and, if -DPAREN is active, driving APAR(0-3) valid. -APAREN is driven inactive.
Note: -SD STROBE is used by both the controlling master and the slave to transfer data; data is clocked on and off the address bus and the data bus on the falling clock edge and clocked off the address bus and the data bus on the next falling clock edge. The operation proceeds with the new data being placed on the address bus and the data bus each time -SD STROBE makes a high-to-low transition.
The amount of data transferred per -SD STROBE period is constant during streaming data transfer. The number of bytes transferred in one transfer cycle are listed below.
Streaming Data Master Size 16-Bit Slave 32-Bit Slave 64-Bit Slave -------------- ------------ ------------ ------------ 16-Bit 2 2 2 32-Bit 2 4 4 64-Bit 2 4 8
Note: When a slave requests a 10 MHz streaming data transfer, it must be prepared to support a minimum of two transfers. When a master initiates a 10 MHz streaming data transfer, it must be prepared to support a minimum of two transfers.
When a slave requests a 20 MHz streaming data transfer, it must be prepared to support a minimum of 4 transfers. When a master initiates 20 MHz streaming data transfers, it must be prepared to support a minimum of 4 transfers.
During 16 and 32 bit streaming data transfers, the address on the address bus and TR 32 are not changed until -SDR(0,1) is driven inactive. The controlling master and the slave must provide memory-address-space address management and I/O-address-space address management as follows:
If the starting address is not a four-byte address boundary and a 16- or 32-bit streaming data procedure is going to be used, then the basic transfer procedure must be used to transfer data until the address has the correct boundary alignment. The controlling master must execute the basic transfer procedure to obtain address boundary alignment.
A slave can indicate streaming data capability, by driving -SDR(0,1) active, without checking address boundary alignment. Then the controlling master and the slave can use the streaming data procedure. The basic transfer procedure might also be required to complete the data transfer, even if the initial data address was a four-byte address boundary.
If the starting address is not on an eight-byte address boundary and a 64-bit streaming transfer procedure is going to be used basic transfer cycles are used to transfer data until the address has a correct boundary alignment. The basic transfer procedure might also be needed to complete the data transfer, even if the initial data address was a eight-byte address boundary.
A master can perform streaming data transfers at 10 MHz when -SDR(0,1) is a binary 00, 01, or 10, and can perform the transfer at less than the requested width. A master can perform streaming data transfers at 20 MHz when -SDR(0,1) is a binary 00 or 10 and can perform the transfer at less than the requested width. The valid streaming data signal combinations from the selected slave are shown in the following table.
-SDR # -CD DS 0 1 # 16/32 # -MSDR # Type of Cycle Requested by Slave 1 1 # X X # X # Basic Transfer 0 1 # 0 0 # 0 # 64-bit Streaming Data Transfer at 10 MHz max. 0 1 # 0 0 # 1 # 32-bit Streaming Data Transfer at 10 MHz max. 0 1 # 0 1 # 1 # 16-bit Streaming Data Transfer at 10 MHz max. 0 0 # 0 0 # 0 # 64-bit Streaming Data Transfer at 20 MHz max. 0 0 # 0 0 # 1 # 32-bit Streaming Data Transfer at 20 MHz max. 0 0 # 0 1 # 1 # 16-bit Streaming Data Transfer at 20 MHz max. 1 0 # X X # X # Reserved
Both 16- and 32-bit masters can use streaming data procedures with either 16- or 32-bit slaves.
However, because the central translator logic does not perform data steering during a streaming data transfer, a 32-bit slave must perform the steering when streaming with a 16-bit master. (The 32-bit master does the steering for all data transfers with slaves having a smaller data port.)
The following describe how:
The 64-bit streaming data transfer can only be used between 64-bit streaming masters and 64-bit streaming slaves. The 64-bit streaming transfer is similar to the 32-bit streaming data transfer, but uses both the data bus and the address bus to achieve the 64-bit data transfer width.
The 64-bit cycle begins as a 32-bit basic transfer cycle. The selected slave responds by driving -CD DS 16 , -CD DS 32 , -SDR(0,1) and -MSDR valid to indicate that it supports 64-bit streaming operations. The data rate requested by the slave is indicated by -SDR(0,1) . -BE(0-3) are driven inactive by the master to indicate a 64-bit streaming-data procedure will be used. The master indicates 20 MHz streaming data transfers by driving the second Status line active. During a transfer to the slave, the master starts -SD STROBE and gates the data onto the data and address buses. During a transfer to the master, the master tri-states the address bus after driving -CMD active, and, after the trailing edge of -BE(0-3) , the slave gates the data onto the data and address buses. The least significant byte is D(0-7) and the most significant byte is A(24-31) .
The 64-bit streaming transfer then proceeds like a 32-bit streaming data transfer.
If -DPAREN has been driven active, the parity bits for data bytes zero through three are contained in DPAR(0-3), the parity bits for data bytes four through seven are contained in APAR(0-3) .
Deferred start of the 64-bit streaming transfer is supported, but data pacing is not available during 64-bit data streaming transfers.
Streaming masters can drive -SD STROBE active at the same time as -CMD to minimize the overhead in starting the streaming data cycle. The propagation delay for the signals to and from the slave can delay the sample point of -SDR(0,1) and -MSDR until after -CMD and -SD STROBE have been activated. Therefore, if a slave requests a 10 MHz streaming data transfer and the master activated -SD STROBE , the master must perform at least two streaming data transfers. If 20 MHz streaming data transfers are supported by both the master and the slave, both must execute at least 4 streaming data transfers. If the slave does not request streaming data transfer and the master activated -SD STROBE , the operation defaults to a basic transfer cycle and the rules for deactivation of -S0, -S1 apply, as specified by the basic transfer procedure.
If 20 MHz streaming data transfers are supported by both the master and the slave, both must execute at least 4 streaming data transfers.
During a streaming data transfer, the slave may need more time at the start of the cycle to prepare for the transfer. The slave can defer the start of the transfer by driving CD CHRDY inactive. The controlling master delays the start of -SD STROBE until after CHRDYRTN goes active.
If -SDR(0,1) is not active within the time specified (T70A), the controlling master continues the cycle using basic transfer procedures. All specifications for the basic transfer procedure apply.
If -SDR(0,1) is active, after CHRDYRTN becomes active, the streaming data procedure can be invoked.
After a 16- or 32-bit streaming data cycle is started, CD CHRDY and CHRDYRTN pace the data transfer, allowing slaves to introduce momentary pauses in the data transfer. CD CHRDY is clocked simultaneously with data and makes state transitions following the high-to-low transition of -SD STROBE On each falling edge, the controlling master must inspect the state of CHRDYRTN . When CHRDYRTN is inactive during a read operation, it indicates that the slave did not have valid data in this clock period and that the transfer must be repeated. When CHRDYRTN is inactive during a write operation, it indicates the slave did not accept the data and that the transfer must be repeated.
Note: Data pacing by the slave is not supported during 64-bit streaming data cycles.
Data pacing by the slave is not supported during 20 MHz streaming data cycles. The master ignores CHRDYRTN once 20 MHz streaming data transfers have started.
If the slave has driven CD CHRDY inactive, it must not deactivate -SDR(0,1) .
When -MSDR is active, the slave cannot pace the transfer. The slave can use CD CHRDY only to delay the initiation of 64-bit transfers. Slaves that cannot meet the timing specifications for the 64-bit transfer must terminate the streaming data cycle. After -SD STROBE is being driven, the master ignores CHRDYRTN .
As the controlling source of CD CHRDY , the slave internally clocks its bus interface registers with the inversion of -SD STROBE . At the end of the cycle, the bus interface registers are clocked when -CMD goes high. The internal interface clock of the controlling master is conditional on CHRDYRTN being active.
To perform data transfer pacing, streaming masters can introduce momentary pauses in the data transfer by extending -SD STROBE . Data is transferred on the falling edge of -SD STROBE . The strobe period can be extended at either the high or low level, or both. This is done asynchronously to the edges of -SD STROBE .
Whenever the slave is not-ready ( CD CHRDY inactive), the master must continue to pulse -SD STROBE .
The actual data transfer will occur on the falling edge of -SD STROBE or (for the last transfer) the rising edge of -CMD once the slave becomes ready by driving CD CHRDY active.
Either the controlling master or the slave can terminate the streaming data procedure. If -PREEMPT has become active, the controlling master terminates the streaming data procedure within 7.8 microseconds and releases the channel at EOT. If the fairness feature is active, the preempted master enters the inactive state.
The controlling master can terminate a 10 MHz streaming data cycle by deactivating -S(0,1) on the data transfer before the desired stopping point. This can be done concurrently with the high-to-low transition of -SD STROBE . If -SDR(0,1) is inactive, the controlling master drives -CMD inactive at the point where the next -SD STROBE would have been. The slave must not drive -SDR(0,1) inactive while driving CD CHRDY inactive during 16- or 32-bit transfers. If -SDR(0,1) is active and CD CHRDY is inactive, it indicates that the slave is not ready, and the controlling master cannot terminate the cycle.
A direct memory access (DMA) operation is a specialized sequence of basic transfer procedure. It consists of a single transfer or a burst transfer between a DMA slave and a memory slave. The following lists only those definitions, signal sequences, and timing specifications that are different from or additional to those of a basic transfer cycle.
During a DMA read operation, the memory slave provides the data and the DMA slave stores it. If the slave is unable to provide or store data within the time specified for a normal operation, it extends the cycle by driving CD CHRDY inactive. To ensure the read data is valid, the slaves storing the data sample the data lines with reference to the trailing edge of the -CMD .
The default selection is by decode of the arbitration level, status ( -S0 exclusive-OR -S1 ), and an I/O cycle ( M/-IO in the -IO state). Selection by I/O address is by decode of the I/O address ( A0-A15 ), status ( -S0, -S1 ), and an I/O cycle ( M/-IO in the -IO state). When selection by I/O address is implemented for a DMA slave, a bit located in either configuration-data space or I/O address space is used to control the method of selection. All DMA slaves drive -CD SFDBK during the I/O portion of the DMA cycle for both selection methods.
The two types of DMA procedures are:
During a data transfer, the requesting DMA slave initiates the DMA operation by having its arbiter drive -PREEMPT active and arbitrate for the channel. On the low-to-high transition edge of ARB/-GNT (start of arbitration cycle), the DMA slave's priority level is placed on the arbitration bus. The DMA slave competes for use of the channel as defined in the arbitration procedure.
On the high-to-low transition edge of ARB/-GNT the DMA controller monitors the arbitration bus to determine if its DMA slave gained control of the channel. A match initiates a serial DMA operation in which the DMA controller drives the address lines during both cycles, as well as driving -S0, -S1, -CMD , and other control signals. The DMA controller also monitors -BURST , finds it inactive, and then activates -BURST (either on the channel, or through the system logic) to notify the central arbitration control point that consecutive cycles are required.
The DMA controller also manages the storage of data during the DMA read or DMA write operations for the consecutive cycles required by serial DMA transfers. Data count for data gated on or off the bus by the DMA slave is also maintained by the DMA controller.
Notes:
The method for transferring a block of data is similar to a single transfer DMA cycle, except that the local arbiter for the requesting DMA slave activates -BURST to request continued channel ownership for a burst operation. The central arbitration control point will not drive ARB/-GNT to the ARB state while -BURST is active. As in single-transfer DMA operations, the DMA controller drives the address, -S0 , -S1 , -CMD , and data transfer signals, as well as manages addresses and data transfer counts. The DMA controller also drives -BURST (either on the channel or through the system logic) jointly with the DMA slave for DMA write cycles. It does not drive -BURST active for burst DMA read cycles.
The DMA transfer operation is terminated by the EOT. At this time, a DMA slave can again request DMA service by arbitrating for use of the channel.
The terminating conditions for DMA transfers are:
When a bursting DMA slave wins the arbitration for the channel, it drives -BURST active. During default cycles, the DMA slave drives -BURST inactive when it detects status active for the last I/O cycle of this burst transfer. However, on sensing -SBHE and/or -BE(0-3) , the DMA slave might discover that it has one more cycle to perform. If so, it redrives -BURST active to continue the transfer.
During extended cycles, the DMA slave drives -BURST inactive within the specified time after the leading edge of -CMD .
If a burst transfer is terminated by the DMA controller, the DMA slave drives -BURST inactive within the specified time after the leading edge of -TC .
For DMA write cycles using burst transfers, the DMA controller drives -BURST active at the leading edge of -CMD for each I/O read and drives it inactive when it detects status active for the next memory write.
This section describes how all devices use interrupts. The procedure for sharing interrupts uses a request for interrupt services that is detected by the level of the interrupt request signal (level sensitive). These procedures involve the interaction between the hardware and an interrupt service routine.
To initiate an interrupt request, a device drives its -IRQ(N) active (N represents the assigned interrupt level for the device) and holds the signal active until it is reset by the interrupt service routine.
Each device provides an interrupt-pending bit within its address space. This bit is set by the device when it has an interrupt request pending and is reset by the interrupt handler when the interrupt request is serviced.
Note: The drivers for the interrupt signal must be disabled when the device is disabled.
An example of the sequence of the hardware and interrupt service routine interaction is shown in the following.
Hardware Operation
1. An interrupt condition causes the hardware to drive -IRQ(N) active and sets an interrupt-pending latch, which can be read by software.
Software Operation
2. A master begins executing code at the beginning of the appropriate chain of interrupt handlers.
3. The interrupt handler reads the interrupt-pending latch of the first device in the chain. If the latch is not set, the next device in the chain is tested. When the reporting device is detected, the handler executes the service routine.
4. The interrupt service routine operates the device hardware.
Hardware Operation
5. The device hardware resets the interrupt-pending latch and the interrupt request because of interrupt-service-routine actions.
Software Operation
6. The interrupt service routine completes the interrupt processing.
7. If another interrupt is pending ( -IRQ(N) driven active by another device), the sequence starts again at 1.
The timing of the refresh operation is performed by system logic. -REFRESH is driven active during a memory-read operation to indicate that a refresh cycle is in progress. The refresh cycle is a basic transfer default cycle with -REFRESH active. The timing for -REFRESH is the same as that of the address bus.
Note: Adapters with registers that have destructive read-outs and are mapped into the memory address space should include -REFRESH in their address decode.
During a refresh operation, the nine low-order address bits are incremented for each refresh cycle to address the next byte to be refreshed. ( A0 changes after each refresh cycle; A8 changes after 256 cycles.) The address bits, A31 through A9 , might not change, but these bits will be stable during the refresh cycle. The signals -BE(0-3) and -SBHE are irrelevant (but stable) during the refresh cycle.
The refresh operation can occur in periodic intervals or in short bursts of multiple operations. The refresh rate is a minimum of 128 refresh cycles every 2 milliseconds.
Note: Time periods between refresh cycles can vary and should not be used as a timing mechanism.
Regardless of whether it decodes -REFRESH or not, a memory slave can perform a memory read operation during a refresh cycle and drive its data onto the data bus, provided its memory address is on the address bus.
Memory slaves that do not need to perform refresh operations do not need to receive this signal.
The adapter configuration procedure consists of:
Multiple-card adapters are adapters that consist of a primary card and one or more secondary cards. The secondary cards are installed in the channel connectors adjacent to the primary card and can be on either, or both, sides of the primary card. The number of secondary cards is limited only by the number of connectors available.
The multiple-card adapter provides only one set of POS registers. Only the primary card responds to -CD SETUP .
The multiple-card adapter operates as a single adapter, and is completely enabled or disabled by the single set of POS registers.
After initialization, the system must be able to access the configuration data written into adapter POS registers.
Adapters must always respond to setup cycles. After initialization, the ability to change the configuration data in the POS registers for an adapter is adapter dependent.
When its -CD SETUP is active, the adapter must provide access to its configuration data. This data is contained in its POS registers and is divided into multiple device-unique, read/write fields.
The following table shows the organization of the I/O address space used for POS operations. Setup functions respond to these addresses only when -CD SETUP is active.
Address
(Hex) Function
XXX0 POS Register 0 - Adapter Identification Byte (Low Byte)
XXX1 POS Register 1 - Adapter Identification Byte (High Byte)
XXX2 POS Register 2 - Option Select Data Byte 1
Bit 0 is designated as Card Enable.
XXX3 POS Register 3 - Option Select Data Byte 2
XXX4 POS Register 4 - Option Select Data Byte 3
XXX5 POS Register 5 - Option Select Data Byte 4
Bit 7 is designated as channel check.
Bit 6 is designated as channel-check-status indicator.
XXX6 POS Register 6 - Subaddress Extension (Low Byte)
XXX7 POS Register 7 - Subaddress Extension (High Byte)
Bits 6 and 7 of POS Register 5 and bit 0 of POS Register 2 are defined by the architecture; all other bits within POS Registers 2 through 5 are available for adapter use.
The following configuration fields are required for all adapters.
Note: When CHRESET is driven active, adapters must set all fields to the default state.
The Adapter ID field is a two-byte, read-only field contained in POS Register 0 and 1. Each adapter is assigned a unique two-byte adapter ID that is used for adapter identification. An adapter ID of hex 0000 indicates that the adapter is not ready; if an adapter is not present, the adapter ID will be read as hex FFFF.
The card enable field is a one-bit, read/write field; it is bit 0 in POS Register 2. When this field is set to 0, the adapter disables the Micro Channel interface except when responding to its setup cycles. When this field is set to 1, the adapter enables all of its Micro Channel interface. The default state of this field is 0.
The Channel Check field is a one-bit, read/write field that indicates the adapter has driven -CHCK active; it is bit 7 of POS Register 5. The adapter sets this field to 0 to indicate it has an exception condition, and the system master resets this field to 1 to reset the adapter after handling the error condition. If the adapter has driven -CHCK active, it must set this field to 0 except for address parity exceptions. If the system master resets this field to 1 and the adapter is still driving -CHCK active, the adapter must drive -CHCK inactive. If the adapter does not support driving the -CHCK signal active (does not support channel check) this field is always set to 1.
Note: If this field is set to 0 during a setup cycle, the adapter should not drive -CHCK active.
The following are the configuration fields that are required when the adapter supports a specified function.
The Channel Check Status Indicator field has a specific location and state because the system master must handle the channel-check condition. Other conditionally-required fields do not have a specific location within POS address space or a specific state.
Note: When CHRESET is driven active, adapters must set all fields to the default state.
The Adapter I/O Address Select field is a one- to three-bit field that selects the adapter address decode from the possible address ranges. These bits allow I/O address resolution for up to eight devices of one type in a system. However, if the total I/O address space needed to support the maximum number of devices exceeds 32 bytes, use the Device I/O Address Assignment field.
The Adapter ROM/RAM Address Select field is a four-bit, read/write field that determines the starting address of the adapter ROM/RAM address space for the adapter. The adapter address space is defined as the memory address space from hex 000C0000 to 000DFFFF. The four bits represent address bits A16 through A13, which corresponds to 16 consecutive 8KB blocks.
Note: Adapters that require more than 16KB in this memory space can cause addressing conflicts that cannot be resolved during system configuration.
The Arbitration Level field is a four-bit, read/write field that selects the arbitration level. All adapters that use the arbitration procedure (bursting and nonbursting) must support a selectable arbitration level.
The Auto Incrementing Enable field is a one-bit, read/write field that enables or disables the automatic incrementing of POS Registers 6 and 7. The default state for this field is disable, which causes the adapter to not perform auto-incrementing. When enabled, it causes POS Registers 6 and 7 to automatically increment for each access to POS Register 3 or 4.
The Channel Check Exception Reporting field is a one-bit, read/write field that selects either synchronous or asynchronous -CHCK exception reporting for channel non-parity or slave-dependent exception conditions. When enabled, these exceptions are reported with synchronous -CHCK . When disabled, these exceptions are reported by asynchronous -CHCK . The default state for this field is disabled.
The Channel Check Status Indicator field is a one-bit, read-only field that indicates if channel-check status is available; it is bit 6 of POS Register 5. The default state of this field is 1. This field is required if the Channel Check field is supported by the adapter.
When this field is a 1, it indicates that status for the channel-check condition is not available. When the field is 0 and the Channel Check field is 0, it indicates that POS Registers 6 and 7 contain the channel-check status or a pointer to the status. (If an adapter does not support -CHCK , bit 6 of POS register 5 can be used for other configuration information.) Data and Address Parity Enable Field The Data and Address Parity Enable field is a one-bit, read/write field that is required if the adapter supports address or data parity. This field enables address or data parity on the channel. The default state for this field is disabled. While disabled, the device does not drive either -DPAREN or -APAREN active, and does not check parity from the channel. This field can be a two-bit field to individually enable data and address parity.
The Device I/O Address Assignment field is a six-bit field that selects the I/O address of the adapter. The six bits represent bits 15 through 10 of the I/O address as shown in the following figure. All I/O devices with a total I/O-address-space requirement greater than 32 bytes must support this field.
The total I/O-address-space requirement for a particular type of device is:
The number of bytes of I/O address space required by one device multiplied by the maximum number of devices of the same type supported in one system.
Address bits 15, 14, and 13 must be in POS registers 2 through 5. Address bits 12, 11, and 10 can be in POS registers 2 through 5 or in the POS extension. The address bits in the POS extension must default to 1 at power on.
The Matched Memory Enable field is a one-bit, read/write field that enables or disables support for the matched-memory signals. The default state of this field is disable, which causes the memory adapter to use the default cycle of the Basic Transfer procedures. When the field is in the enable state, the adapter will support the matched-memory signals.
The Selected Feedback Return Exception Enable field is a one-bit, read/write field that selects whether or not a master reports select-feedback-return exceptions. When the field is in the enable state, the adapter reports select-feedback-return exceptions. When the field is in the disable state, the adapter does not report a select-feedback-return exception. The default state of this field is disable.
The 10 MHz Streaming Data Enable field is a one-bit, read/write field that enables support for 10 MHz streaming data procedures. The default state of this field is disable, which causes the adapter to use the basic data transfer procedures. Adapters that support 10 MHz streaming data procedures must support this bit. When disabled, a slave must tri-state its streaming-data signals, and a master must tri-state -SD STROBE . When enabled, the 10 MHz streaming data procedure is supported.
The 20 MHz Streaming Data Enable field is a one-bit, read/write field that enables support for 20 MHz streaming data procedures. The default state of this field is disable, which causes the adapter to not support 20 MHz streaming data transfer procedures. Adapters that support 20 MHz streaming data procedures must support this bit. When disabled, a slave must not drive -SDR(0,1) to the 00 or 10 state and a master must not activate both status signals after the first -SD STROBE activation. When enabled, the 20 MHz streaming data procedure is supported.
The following configuration fields are optional.
Note: When CHRESET is driven active, adapters must set all fields to the default state.
The Option Select Data field is four bytes of adapter unique information in POS Registers 2 through 5 that allow developers to customize configuration data for the specific adapter. Bit 0 of POS Register 2 and bits 7 and 6 of POS Register 5 are defined by the architecture; all other bits within the Option Select Data field are available for adapter configuration.
The Fairness Feature Enable field is a one-bit, read/write field that enables or disables the fairness feature. The default state for this bit is enabled.
The POS Subaddress Extension field is an optional, two-byte field that provides a method to extend the POS register space. It is contained in POS Registers 6 and 7 and is used as an index for all setup-cycle accesses to POS Registers 3 and 4. This field allows the subaddressing of up to 128KB of additional information for each adapter.
The POS extension is an extension to POS Registers 3 and 4 and is made up of two one-byte registers. An index of hex 0000 results in setup cycles accessing POS Register 3 and 4. All adapters supporting the POS extension must set the index to hex 0000 when CHRESET is driven active. The default value for this field is hex 0000.
Adapters supporting POS extension can use POS Registers 6 and 7 as an index register that is automatically incremented for each access to POS Register 3 or 4. Adapters supporting this feature use the Auto-Incrementing field to enable the feature.
When bits 6 and 7 in POS Register 5 are set to 0, reading POS Registers 6 and 7 will return the channel-check-status information. This information can be status or a pointer to the status.
The following is an example of how subaddressing could be used to store or access data in the POS extension.
The Status Information field is contained in POS Registers 6 and 7. The field is used by an adapter to indicate its channel-check status or as a pointer to channel-check status.
The system configuration procedure uses setup cycles to transfer adapter ID and adapter configuration data between the system master and adapters. The system configuration procedure is similar to the basic transfer procedure, except for the following:
During a setup cycle, a valid POS-register address is driven on the address bus; only address bits A(0-2) are decoded by the adapter. The address driven on the bus must not be the I/O address of any adapter.
The following figure shows the organization of the address space used by POS during setup.
-CD Address SETUP M/-IO A2 A1 A0 Function 0 0 0 0 0 Adapter ID (Low Byte) 0 0 0 0 1 Adapter ID (High Byte) 0 0 0 1 0 Option Select Data Byte 1 0 0 0 1 1 Option Select Data Byte 2 0 0 1 0 0 Option Select Data Byte 3 0 0 1 0 1 Option Select Data Byte 4 0 0 1 1 0 Subaddress Extension/Channel Check Status (Low Byte) 0 0 1 1 1 Subaddress Extension/Channel Check Status (High Byte)
An adapter selected by -CD SETUP must enable its drivers, regardless of the state of the Card Enable field.
When -CHCK is driven active, the Channel Check field indicates that the adapter drove -CHCK active (except for address parity). The Channel Check, Channel Check Status Indicator, and Status Information fields (and channel-check status, if the field is used as a pointer) must remain unchanged until the system master resets the Channel Check field to 1 or until CHRESET is driven active.
During a setup cycle, only one adapter at a time is selected. The adapter is selected by an active -CD SETUP , not by an address decode or arbitration level.
CD CHRDY can be used to extend the setup cycle, as in the basic transfer procedure.
An exception condition is an event (including errors) that disrupts normal processing by the master. Resolving an exception usually requires system intervention. Exception conditions are reported to the controlling master or the system master using either -CHCK or an interrupt.
Note: An adapter whose master function detects exception conditions reports the condition through its I/O slave function by driving -IRQ active.
The following types of exception conditions are supported:
Descriptions of each type are included in the following sections.
Data and address parity support are optional features on the channel. This type of exception can occur during read or write operations. All participants that support data and address parity checking provide a POS bit (Data and Address Parity Enable field) to enable and disable this feature. The default state of this field is disable. When the Data and Address Parity Enable field is in the disable state, slaves disable checking data and address parity and do not activate -DPAREN during a data-transfer read cycle. Masters disable activation of -DPAREN and -APAREN and do not check data parity on the channel.
Note: Slaves do not disable the driving of -CHCK for non-parity exceptions (independent of the Data and Address Parity Enable field) and masters do not disable the detection of -CHCK .
The description of data and address parity support follows.
Data parity support is optional and allows the use of parity and non-parity adapters on the channel. For exceptions to be detected and reported, both the master and slave involved in the operation must support data parity. -DPAREN is activated by masters on write operations and by slaves on read operations. ( -DPAREN is activated by the data source only, and indicates the support of data parity.) The data parity bits, DPAR (0-3) , are provided at the same time as data on both write and read cycles, when parity is supported by the master and slave. Only the data bytes used during the data transfer need to have correct parity. For 64-bit streaming, the address parity bits are used during data transfers. -DPAREN is used to indicate that parity is valid on the address bus during 64-bit streaming data transfers. -APAREN remains inactive or is deactivated during the data portion of the transfer.
The following is a summary of how participants handle data-parity exception conditions.
During a read cycle a master that supports data parity checking and detects a parity error should do one of the following:
When a system master owns the channel and is enabled to support data parity, it must handle data parity errors.
When a DMA controller that supports data parity detects a data parity error during a read cycle, it should record read data parity exception status and, if the DMA slave is selected, drive -TC active.
Alternatively, the DMA controller can drive -TC active on a subsequent operation with the DMA slave.
The system master reads the DMA controller and DMA slave exception status at the end of the DMA operation to determine if the operation completed successfully.
When a selected slave detects a parity error during a write cycle, it should activate -CHCK and set bit 7 in POS Register 5 to 0 to indicate that an exception condition occurred. The slave determines what to do with the data.
Address parity support is optional and allows the use of parity and non-parity adapters on the channel.
For the exception to be detected and reported, both the master and slave involved in the operation must support address parity.
A controlling master that supports address parity drives -APAREN active to indicate that the parity is associated with the address. When a slave that supports address parity finds -APAREN active and an address parity error is detected, the slave is not selected. The slave includes address parity checking in its address decode. The following figure shows address parity timing requirements.
Slaves that support address parity must include parity checking in their address decode logic so that, when parity errors occur, they do not become selected and do not drive -CD SFDBK . Slaves check address parity for all data transfers that have -APAREN active. Slaves that support address parity check each address and drive -CHCK active when an address parity error is detected. I/O slaves check parity on all I/O addresses, and memory slaves check parity on all memory addresses. They do not set the channel check status bit in POS Register 5.
Note: A slave treating the address bus as a command should ensure address parity is good before allowing the command to execute.
These exceptions are channel exceptions other than data and address parity exceptions. These exceptions can be signaled by the current slave or detected by the master.
If the system master or a bus master detects an inactive -DS 16 RTN and an active -DS 32 RTN , it suspends the data transfer and posts an interrupt, indicating with interrupt status that the operation was not valid. Detecting the invalid operation is optional.
The DMA controller drives -TC active during the cycle of the detected exception when the DMA slave is selected, and records the status of the invalid operation. Alternatively, the DMA controller can drive -TC active on a subsequent operation with the DMA slave.
Bus masters monitor -SFDBKRTN under control of a Selected Feedback Return Exception Enable field.
Masters that do not support -SFDBKRTN do not need this POS bit. When the Selected Feedback Return Exception Enable field is enabled and -SFDBKRTN is inactive, the bus master sets appropriate status, suspends the data transfer and interrupts the system master.
The DMA controller monitors -SFDBKRTN under control of a Selected Feedback Return Exception Enable field. DMA controllers that do not support -SFDBKRTN do not need this POS bit. When the Selected Feedback Return Exception Enable field is enabled and -SFDBKRTN is inactive, the DMA controller sets the appropriate status and, if a DMA slave is selected, drives -TC active for that cycle. Alternatively, the DMA controller can drive -TC active on a subsequent operation with the DMA slave.
Systems can monitor the -CD SFDBK signals, or -SFDBKRTN , under control of the Selected Feedback Return Exception Enable field. When the Selected Feedback Return Exception Enable field is enabled and a -CD SFDBK is not returned, the system monitor should set appropriate status and generate an interrupt.
These types of exceptions can occur during either read or write operations.
Note: Masters must record the state of -SFDBKRTN when a channel check is detected regardless of the state of the Select Feedback Return Exception Enable field.
Master- and slave-dependent exceptions are not related to the channel but to the participants. Reporting of this type of exception is specific to each participant and to the specific exception condition.
This type of exception can occur during either read or write operations. A channel check can also occur. Therefore, a master must monitor -CHCK for exceptions during both read and write operations.
This is required regardless of whether address parity or data parity are supported.
Master- and DMA slave-dependent exceptions should be reported with an interrupt. However, certain slave-dependent exceptions might require using -CHCK to report the exception. Examples of exceptions that could require using -CHCK are:
If a controlling master or DMA slave fails to release the channel within 7.8 microseconds of -PREEMPT going active, the central arbitration control point can drive ARB/-GNT to the ARB state. In this state, the controlling master degates the address and data buses and all data transfer signals.
Note: Reporting and handling of this type of exception is system dependent.
A slave normally reports exceptions with synchronous -CHCK . A master normally reports exceptions with an interrupt and termination of current bus ownership. Exception reporting using -CHCK is described in the following information.
Exceptions detected by a slave or channel monitor are usually reported by activating a synchronous -CHCK . If -CHCK is activated, the system master or a bus master suspends processing and generates an interrupt. This interrupt invokes a utility program to handle the exception condition.
Any adapter that activates -CHCK sets bit 7 in POS Register 5 to a 0, to indicate the source of the exception in all cases except address parity errors. If multiple conditions can set -CHCK , the adapter can optionally set status information indicating the cause of the exception. The status or a pointer to it should be placed in POS Registers 6 and 7. Bit 6 in POS Register 5 is then set to 0 to indicate that status information is available. The system master can reset the -CHCK indication by setting a logical 1 into bit 7 in POS Register 5. Setting the bit to 0 will produce unpredictable results. Adapters that do not support -CHCK must ensure bit 7 in POS Register 5 is interpreted as a logical 1.
Synchronous and asynchronous reporting of exceptions using the -CHCK signal are supported. Both reporting methods are described in the following sections.
Synchronous -CHCK is signaled by a slave or channel monitor with a pulse on -CHCK . The conditions that are reported with synchronous -CHCK are:
Note: Slaves or channel monitors that report channel non-parity or slave-dependent exceptions with synchronous -CHCK must support the Channel Check Exception Reporting field.
An asynchronous -CHCK is indicated by driving -CHCK active asynchronously to a data transfer. -CHCK remains active until reset by the system master. The adapter that activates an asynchronous -CHCK sets bit 7 in POS Register 5 to a 0. The asynchronous -CHCK is reset by the system master setting bit 7 in POS Register 5, to a 1 (in the adapter that activated -CHCK ). The time that asynchronous -CHCK remains active is system master dependent.
Because asynchronous exceptions are latched, -CHCK is detected during the reading of the adapter configuration registers to determine the source of the exception. System masters should ignore -CHCK while collecting status associated with the signaling of -CHCK .
The conditions that can be reported with asynchronous -CHCK are:
If the exception cannot be reported with an interrupt or a synchronous -CHCK and the condition would otherwise go undetected, the exception can be reported with an asynchronous -CHCK . Using asynchronous -CHCK can cause momentary suspension of all I/O activity and could require a system reset.
If an interrupt is used to report an exception, status must be supplied to indicate the type of exception being reported.
The following describes how participants handle -CHCK conditions.
The bus master monitors -CHCK when it is the controlling master. When the bus master detects -CHCK , it should do one of the following:
The system master monitors -CHCK when it is the controlling master. If -CHCK is detected, the system master will handle the exception condition. The system master can monitor -CHCK at all other times also. The action taken is system dependent.
The method for handling exceptions is software dependent and will include setting the -CHCK status bit to 1 in participants that have activated -CHCK , if exception recovery is part of the action taken.
A DMA controller monitors -CHCK when it is the controlling master. When it detects -CHCK active, the DMA controller should record channel-check status, record the state of -SFDBKRTN , and, if the DMA slave is selected, drive -TC active. Alternatively, the DMA controller can drive -TC active on a subsequent operation with the DMA slave.
The system master reads the DMA controller and DMA slave exception status, when the end of the DMA operation is signaled, to determine if the operation completed successfully.
When a slave activates -CHCK , it must set bit 7 in POS Register 5 to a 0 (except for address parity checking). The system master, upon resolving the -CHCK exception, will reset the bit to a 1.
A -SFDBKRTN exception occurs when the controlling master does not detect -SFDBKRTN active (or -CD SFDBK for system masters). Reporting of this exception is optional. However, all masters that receive -SFDBKRTN must record its state when an exception occurs. Reporting -SFDBKRTN exceptions is controlled by the Select Feedback Return Exception Enable field. If the master does not receive the signal, the POS field and the monitoring of the signal is not required.
Note: All masters that support address parity must receive -SFDBKRTN .
The following describes how participants handle a -SFDBKRTN exception.
A bus master that is enabled to report a -SFDBKRTN exception and does not receive a -SFDBKRTN should do one of the following:
The status provided with the interrupt includes the lack of -SFDBKRTN . Data sent by the bus master after it detects the lack of -SFDBKRTN might not be received. Data received by the bus master after it detects the lack of -SFDBKRTN might not be valid.
Reporting a -SFDBKRTN exception and handling the exception is system dependent.
A DMA controller that is enabled to report a -SFDBKRTN exception and receives no -SFDBKRTN should record status and, if the DMA slave is selected, drive -TC active. Alternatively, the DMA controller can drive -TC active on a subsequent operation with the DMA slave.
At the end of the DMA operation the system master reads the DMA controller and DMA slave status to determine if the operation completed successfully.
CHRESET is used to force all system functions and channel participants to a defined state. The following situations cause a channel reset.
CHRESET is active for a minimum amount of time, after all voltages in the system are within operating limits.
After a channel reset or a system power-on reset, the state of the Micro Channel buses and signals are as follows:
System Power-On Reset Channel Reset
--------------------- ------------------
Buses and Signals Adapter System Adapter System
--------------------- --------- ------- --------- -------
Address Bus and Tri-state Initial Tri-state Unknown
Associated Signals
Data Bus and Tri-state Initial Tri-state Unknown
Associated Signals
Arbitration Bus and Tri-state Initial Tri-state Unknown
Associated Signals
IRQ signal Inactive Initial Inactive Initial
Channel Check Signal Inactive Initial Inactive Initial
All Others Inactive Initial Inactive Unknown
The channel provides all signal, power, and ground signals to adapters through 50-mil channel connectors.
The channel provides two basic types of connectors:
Pins 01 through 45 support 8-bit operations. Pins 46 and 47 are keys (physical notch). Pins 48 through 58 provide additional power and signals to support 16-bit operations. For 32-bit adapters that function in 16-bit connectors, pins 59 and 60 are keys; for 32-bit adapters that cannot function in 16-bit connectors, pins 59 and 60 are reserved. Pins 61 through 89 are used with pins 01 through 58 to support 32-bit operations.
The power and ground pins on side A of each connector are offset from side B by 2 pins, and every fourth pin on either side of each connector is an ac ground.
Video and matched-memory extensions to the basic 16- and 32-bit connectors are implemented on a system-by-system basis. For more information, see the technical reference for the specific system.
Note: Adapter designs should not extend the card-edge connector beyond the basic 16- or 32-bit connector unless the signals provided by the extension are used by the adapter.
All of the logic signal lines are transistor-transistor logic (TTL) compatible.
The following figure shows the basic types of channel connectors with optional extensions.
Warning: Any signals shown or described as "Reserved" should not be driven or received. These signals are reserved to allow compatibility with future implementations of the channel interface. Serious compatibility problems, loss of data, or permanent damage can result to features or the system, if these signals are misused.
The following figure shows the signals and the voltages assigned to the 32-bit channel connector. The 16-bit connector is a subset of the 32-bit connector consisting of pins 1 through 58. A key is provided at pin locations 46 and 47 for mechanical alignment.
SIGNAL PIN SIGNAL
----------- ------- --------------
AUDIO GND B01 A01 -CD SETUP
AUDIO B02 A02 +MADE 24
GND B03 A03 GND
14.3Mhz OSC B04 A04 +A 11
GND B05 A05 +A 10
+A 23 B06 A06 +A 09
+A 22 B07 A07 +5VDC
+A 21 B08 A08 +A 08
GND B09 A09 +A 07
+A 20 B10 A10 +A 06
+A 19 B11 A11 +5VDC
+A 18 B12 A12 +A 05
GND B13 A13 +A 04
+A 17 B14 A14 +A 03
+A 16 B15 A15 +5VDC
+A 15 B16 A16 +A 02
GND B17 A17 +A 01
+A 14 B18 A18 +A 00
+A 13 B19 A19 +12VDC
+A 12 B20 A20 -ADL
GND B21 A21 -PREEMPT
-IRQ 09 (2) B22 A22 -BURST
-IRQ 03 B23 A23 -12VDC
-IRQ 04 B24 A24 +ARB 00
GND B25 A25 +ARB 01
-IRQ 05 B26 A26 +ARB 02
-IRQ 06 B27 A27 -12VDC
-IRQ 07 B28 A28 +ARB 03
GND B29 A29 +ARB/-GNT
-DPAREN B30 A30 -TC
+DPAR 0 B31 A31 +5VDC
-CHCK B32 A32 -S0
GND B33 A33 -S1
-CMD B34 A34 +M/-IO
+CHRDYRTN B35 A35 +12VDC
-CD SFDBK B36 A36 +CD CHRDY
GND B37 A37 +D 00
+D 01 B38 A38 +D 02
+D 03 B39 A39 +5VDC
+D 04 B40 A40 +D 05
GND B41 A41 +D 06
+CHRESET B42 A42 +D 07
-SD STROBE B43 A43 GND
-SDR 0 B44 A44 -DS 16 RTN
GND B45 A45 -REFRESH
KEY B46 A46 KEY
KEY B47 A47 KEY
+D 08 B48 A48 +5VDC
+D 09 B49 A49 +D 10
GND B50 A50 +D 11
+D 12 B51 A51 +D 13
+D 14 B52 A52 +12VDC
+D 15 B53 A53 +DPAR 1
GND B54 A54 -SBHE
-IRQ 10 B55 A55 -CD DS 16
-IRQ 11 B56 A56 +5VDC
-IRQ 12 B57 A57 -IRQ 14
GND B58 A58 -IRQ 15
----------- ------- --------------
RESERVED B59 A59 RESERVED
RESERVED B60 A60 RESERVED
-SDR 1 B61 A61 GND
-MSDR B62 A62 RESERVED
GND B63 A63 RESERVED
+D 16 B64 A64 -SFDBKRTN
+D 17 B65 A65 +12VDC
+D 18 B66 A66 +D 19
GND B67 A67 +D 20
+D 22 B68 A68 +D 21
+D 23 B69 A69 +5VDC
+DPAR 2 B70 A70 +D 24
GND B71 A71 +D 25
+D 27 B72 A72 +D 26
+D 28 B73 A73 +5VDC
+D 29 B74 A74 +D 30
GND B75 A75 +D 31
-BE 0 B76 A76 +DPAR 3
-BE 1 B77 A77 +12VDC
-BE 2 B78 A78 -BE 3
GND B79 A79 -DS 32 RTN
+TR32 B80 A80 -CD DS 32
+A 24 B81 A81 +5VDC
+A 25 B82 A82 +A 26
GND B83 A83 +A 27
+A 29 B84 A84 +A 28
+A 30 B85 A85 +5VDC
+A 31 B86 A86 -APAREN
GND B87 A87 +APAR 0
+APAR 2 B88 A88 +APAR 1
+APAR 3 B89 A89 GND
----------- ------- --------------
BACK SIDE COMPONENT SIDE
----------- ------- --------------
The following are the physical specifications for Micro Channel adapters; these adapters can be Type 3, Type 3 half-card, Type 5, or Type 9. The type number identifies the dimensions of the adapter.
Systems specify the adapter type that they support.
Type 3 Adapter * Card height - 3.475 in. * Card plus retainer length - 12.3 in. Type 3 Half-card Adapter The Type 3 half card adapter does not require a retainer. * Card height - 3.475 in. * Card plus retainer length - 6.35 in. Type 5 Adapter The Type 5 adapter does not require a retainer. * Card height - 4.825 in. * Card length - 13.1 in. Type 9 Adapter The Type 9 adapter does not require a retainer. * Card height - 9.0 in. * Card length - 13.1 in.
* Minimum Spacing from Card Center to Card Center - 0.85 in. (Maximum spacing is system dependent.) * Maximum Component Height (Measured from card surface.) A side (without electrical insulation) = 0.6 in A side (with electrical insulation) = 0.675 in B side = 0.105 in.
Electrical insulation is also required if the card bows in excess of 0.025 inch. Measure the bow at a point 0.1 inch from the top of the card and 5.75 inches from the connector end (rear) of the card.
The following figures list the minimum available load current for each voltage present on each connector. Some systems can provide more current than the amount specified below. For more information, refer to the system-specific technical manual.
Minimum current available for the Type 3 adapter.
Supply Minimum Available Current Minimum Available Current Voltage Per 16-Bit Connector Per 32-Bit Connector + 5.0 Vdc 1.6 A 2.0 A + 12.0 Vdc 0.175 A 0.175 A - 12.0 Vdc 0.040 A 0.040 A
Minimum current available for the Type 5 adapter
Supply Minimum Available Current Minimum Available Current Voltage Per 16-Bit Connector Per 32-Bit Connector + 5.0 Vdc 3.12 A 3.12 A + 12.0 Vdc 0.25 A 0.25 A - 12.0 Vdc 0.10 A 0.10 A
Minimum current available for the type 9 adapter
Supply Minimum Available Current Minimum Available Current Voltage Per 16-Bit Connector Per 32-Bit Connector + 5.0 Vdc 5.0 A 7.0 A + 12.0 Vdc 0.7 A 0.7 A - 12.0 Vdc 0.2 A 0.2 A
The voltage regulation at the channel connector is shown in the following table.
Voltage Pins Tolerance
Ground A3,B3,B5,B9,B13,B17,B21,B25,B29, N/A
B33,B37,B41,A43,B45,B50,B54,B58 N/A
A61,B63,B67,B71,B75,B79,B83,B87,A89, N/A
+ 5.0 Vdc A7,A11,A15,A31,A39,A48,A56,A69,A73,A81,A85 + 5% - 4.5%
+ 12.0 Vdc A19,A35,A52,A65,A77, + 5% - 4.5%
- 12.0 Vdc A23,A27 + 9.5% - 10%
The tolerance includes all power distribution losses in both power and ground planes, up to the pins of the channel connector. It does not include the drop due to the connector (30 milliohm maximum per contact), or the drop due to distribution within the adapter.