MC68606RC12 [MOTOROLA]

Multi Protocol Controller, CPGA84;
MC68606RC12
型号: MC68606RC12
厂家: MOTOROLA    MOTOROLA
描述:

Multi Protocol Controller, CPGA84

外围集成电路
文件: 总284页 (文件大小:2168K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
MOTOROLA  
MC68606  
Multi-Link LAPD  
Protocol Controller  
User’s Manual  
©MOTOROLA INC., 1992  
TABLE OF CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
Section 1  
Introduction  
1.1  
1.2  
1.3  
1.4  
1.4.1  
1.4.2  
1.4.3  
1.5  
1.5.1  
1.5.2  
1.5.3  
1.5.4  
1.5.5  
Feature Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1  
ISDN Communication Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
LAPD Frame Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3  
System Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6  
Physical Link Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7  
Microprocessor System Bus Interface. . . . . . . . . . . . . . . . . . . . . . . 1-8  
Shared-Memory Control Components. . . . . . . . . . . . . . . . . . . . . . . 1-8  
Overview of MLAPD Functional Operation. . . . . . . . . . . . . . . . . . . . . 1-9  
MLAPD Internal States and Command Structure Overview . . . . . . 1-9  
Interrupt Structure Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10  
Initialization Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11  
Frame Reception Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11  
Frame Transmission Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12  
Section 2  
Memory Structures  
2.1  
2.1.1  
Global Configuration Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
Constants Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3  
Option Bits 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5  
Option Bits 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8  
Match Table Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
L2 Queue Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
L2 Queue Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
Timer Table Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
LLID-LLT Table Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
Interrupt Queue Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9  
Interrupt Queue Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
Pool Table Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
Reloadable Variables Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
Pad Time Select. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
Nonstandard Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10  
T203 Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11  
I Frame Retransmit Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12  
N200 Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12  
REJ Transmit Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12  
RNR Transmit Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12  
REJ Receive Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
RNR Receive Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
CTS Timeout Threshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
Scan Length I Queue 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
2.1.1.1  
2.1.1.2  
2.1.1.3  
2.1.1.4  
2.1.1.5  
2.1.1.6  
2.1.1.7  
2.1.1.8  
2.1.1.9  
2.1.1.10  
2.1.2  
2.1.2.1  
2.1.2.2  
2.1.2.3  
2.1.2.4  
2.1.2.5  
2.1.2.6  
2.1.2.7  
2.1.2.8  
2.1.2.9  
2.1.2.10  
2.1.2.11  
MOTOROLA  
MC68606 USER’S MANUAL  
iii  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
2.1.2.12  
2.1.2.13  
2.1.2.14  
2.1.2.15  
2.1.2.16  
2.1.2.17  
2.1.2.18  
2.1.2.19  
2.1.2.20  
2.1.3  
2.1.3.1  
2.1.3.2  
2.1.3.3  
2.1.3.4  
2.1.3.5  
2.1.3.6  
2.1.3.7  
2.1.3.8  
2.1.4  
2.1.4.1  
2.1.4.2  
2.1.4.3  
2.1.5  
2.1.5.1  
2.1.5.2  
2.1.5.3  
2.1.5.4  
2.1.5.5  
2.1.5.6  
2.1.5.7  
2.2  
Scan Length I Queue 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
Scan Length I Queue 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13  
Scan Length I Queue 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
Scan Length XID/UI Queue 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
Scan Length XID/UI Queue 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
Interrupt Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
Protocol Error Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14  
Nonprotocol Error Mask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16  
Filter Mask and Filter Match. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18  
Statistics Threshold Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18  
RxFIFO Overrun Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18  
TxFIFO Underrun Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18  
Inactive DLCI Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19  
Invalid Address Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19  
Discarded Frame Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19  
Short Frame Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19  
CRC Error Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19  
Abort or Nonoctet Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19  
Command Arguments Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
Command Argument 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
Command Argument 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
Command Argument 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
User Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20  
User Interrupt Queue Read Pointer . . . . . . . . . . . . . . . . . . . . . . . 2-20  
User Global XID/UI Tx Next Confirm Pointer. . . . . . . . . . . . . . . . 2-20  
User Global XID/UI Tx Last Queued Pointer . . . . . . . . . . . . . . . . 2-20  
User XID/UI_0 Tx Next Confirm Pointer . . . . . . . . . . . . . . . . . . . 2-20  
User XID/UI_0 Tx Last Queued Pointer. . . . . . . . . . . . . . . . . . . . 2-20  
User XID/UI_1 Tx Next Confirm Pointer . . . . . . . . . . . . . . . . . . . 2-21  
User XID/UI_1 Tx Last Queued Pointer. . . . . . . . . . . . . . . . . . . . 2-21  
Match Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21  
LLID-LLT Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22  
Logical-Link Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23  
Transmit Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24  
DLCI and Configuration Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26  
Maximum Number of Outstanding I Frames (K) . . . . . . . . . . . . . . . 2-26  
V(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26  
V(S)/V(R). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26  
Link Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27  
Tx I Queue Number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29  
T200 Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29  
N201 Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29  
2.3  
2.4  
2.4.1  
2.4.2  
2.4.3  
2.4.4  
2.4.5  
2.4.6  
2.4.7  
2.4.8  
2.4.9  
iv  
MC68606 USER’S MANUAL  
MOTOROLA  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
2.4.10  
2.4.11  
2.4.12  
2.4.13  
2.4.14  
2.4.15  
2.4.16  
2.4.17  
2.4.18  
2.4.19  
2.5  
Receive Pool Number and Error Mask Valid (EMV) . . . . . . . . . . . . 2-31  
Tx Next Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31  
Tx Next Acknowledge Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31  
Tx Next LLT Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31  
REJ Tx Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32  
RNR Tx Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32  
REJ Rx Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32  
RNR Rx Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33  
User Tx Next Confirm Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33  
User Tx Last Queued Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33  
Receive Pool Pointers Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34  
Transmit Frame Descriptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35  
Status Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-36  
Next Tx Frame Descriptor Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . 2-37  
Data Buffer Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37  
Control Bits and Data Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37  
Frame Type and LLID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38  
Header Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39  
Header Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39  
Retransmit Count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39  
Receive Frame Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39  
Control Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40  
Next Rx Frame Descriptor Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . 2-41  
Data Buffer Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41  
Data Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41  
Frame Type and LLID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-42  
Time Stamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44  
Error Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44  
Interrupt Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44  
Interrupt Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47  
Interrupt Arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-50  
MDL Error Indication Arguments . . . . . . . . . . . . . . . . . . . . . . . . . 2-50  
Link Counter Threshold Reached Arguments . . . . . . . . . . . . . . . 2-52  
Timer Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-52  
Timer Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53  
Level 2 Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55  
2.6  
2.6.1  
2.6.2  
2.6.3  
2.6.4  
2.6.5  
2.6.6  
2.6.7  
2.6.8  
2.7  
2.7.1  
2.7.2  
2.7.3  
2.7.4  
2.7.5  
2.7.6  
2.7.7  
2.8  
2.8.1  
2.8.2  
2.8.2.1  
2.8.2.2  
2.9  
2.9.1  
2.10  
Section 3  
Internal Registers  
3.1  
3.1.1  
3.1.2  
Directly Accessible Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1  
Command Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1  
Semaphore Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
MOTOROLA  
MC68606 USER’S MANUAL  
v
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
3.1.3  
3.1.4  
3.2  
3.2.1  
3.2.2  
3.2.3  
3.2.4  
3.2.5  
3.2.6  
3.2.7  
3.2.8  
3.2.9  
Interrupt Vector Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2  
Data Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3  
Indirectly Accessible Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4  
CAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4  
N200 Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
T203 Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
Highest Active LLID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5  
T200 Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
T203 Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
Pool Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
L2 Tail Displacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6  
External L2 Queue Displacement Registers . . . . . . . . . . . . . . . . . . 3-6  
Tx XID/UI LLID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
Tx XID/UI DLCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
Internal L2 Queue Displacement Registers. . . . . . . . . . . . . . . . . . . 3-7  
Tx FD Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
Tx V(S)/V(R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7  
CTS Timeout Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
Tx Maximum Number of Outstanding I Frames (K). . . . . . . . . . . . . 3-8  
Tx V(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
Tx Link Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
Current Queue In-Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8  
Scan Length Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
Tx I LLID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
Tx I DLCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
Retransmit Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9  
Rx Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Rx N201. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Rx Link Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Rx LLID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Rx DLCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Rx Frame ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10  
Tx Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
Time Stamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
RxFIFO Overrun Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
TxFIFO Underrun Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
Invalid Address Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
Inactive DLCI Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11  
Discarded Frame Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
Short Frame Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
CRC Error Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
Abort/Nonoctet Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
3.2.10  
3.2.11  
3.2.12  
3.2.13  
3.2.14  
3.2.15  
3.2.16  
3.2.17  
3.2.18  
3.2.19  
3.2.20  
3.2.21  
3.2.22  
3.2.23  
3.2.24  
3.2.25  
3.2.26  
3.2.27  
3.2.28  
3.2.29  
3.2.30  
3.2.31  
3.2.32  
3.2.33  
3.2.34  
3.2.35  
3.2.36  
3.2.37  
3.2.38  
3.2.39  
vi  
MC68606 USER’S MANUAL  
MOTOROLA  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
3.2.40  
3.2.41  
3.2.42  
3.2.43  
3.2.44  
3.2.45  
3.2.46  
3.2.47  
3.2.48  
Tx REJ/RNR Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12  
Rx REJ/RNR Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13  
CTS Timeout Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13  
Scan Length I Queues 0–3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13  
Scan Length XID/UI Queues 0, 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
Interrupt Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
Protocol Error Mask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
Nonprotocol Error Mask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
Rx Maximum Number of Outstanding Frames or  
Filter Mask (Word 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14  
Rx V(A) or Filter Mask (Word 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
Rx V(S)/V(R) or Filter Match (Word 1). . . . . . . . . . . . . . . . . . . . . . . 3-15  
Rx Control or Filter Match (Word 2). . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
Tx LILT Transmit Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15  
Nonstandard Control Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
Revision Number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
Tx Next Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
Tx LLT Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
Global XID/UI Head Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16  
I Queue 0–3 Head Pointer Registers. . . . . . . . . . . . . . . . . . . . . . . . 3-16  
I Queue 0–3 Tail Pointer Registers . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
L2 Queue Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
Match Table Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
LLID-LLT Table Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
Timer Table Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
Interrupt Queue Tail Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17  
Interrupt Queue Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
Interrupt Queue Write Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
First Rx FD Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
GCB Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
Temporary Rx FD Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18  
Rx LILT Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
Rx Pool Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
Rx Next Acknowledge Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
Rx Next Tx Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
Rx Current FD Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
Rx Next FD Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19  
Pool Table Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20  
XID/UI Queue 0 Head Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20  
XID/UI Queue 1 Head Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20  
Tx XID/UI LLT Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20  
Tx XID/UI FD Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20  
3.2.49  
3.2.50  
3.2.51  
3.2.52  
3.2.53  
3.2.54  
3.2.55  
3.2.56  
3.2.57  
3.2.58  
3.2.59  
3.2.60  
3.2.61  
3.2.62  
3.2.63  
3.2.64  
3.2.65  
3.2.66  
3.2.67  
3.2.68  
3.2.69  
3.2.70  
3.2.71  
3.2.72  
3.2.73  
3.2.74  
3.2.75  
3.2.76  
3.2.77  
3.2.78  
3.2.79  
3.2.80  
MOTOROLA  
MC68606 USER’S MANUAL  
vii  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
3.2.81  
3.2.82  
3.2.83  
3.2.84  
3.2.85  
3.2.86  
Bus/Address Error Pointers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20  
DMA Rx Data Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
DMA Tx Data Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
DMA Rx Data Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
DMA Tx Data Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
DMA General-Purpose Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21  
Section 4  
Command Set  
4.1  
Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1  
RESET Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1  
SET_BUS_WIDTH_8 Command. . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
SET_BUS_WIDTH_16 Command. . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
INIT Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2  
Test/Diagnostic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3  
DMA_TEST Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3  
DUMP Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4  
Host-MLAPD Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9  
OFF-LINE Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9  
ON-LINE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9  
RELOAD Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9  
DUMP-STATISTICS Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11  
PRESET_STATISTICS Command . . . . . . . . . . . . . . . . . . . . . . . . . 4-11  
ENABLE_IRQ Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12  
ASSIGN_POOL_POINTER Command . . . . . . . . . . . . . . . . . . . . . . 4-12  
Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12  
MDL_ASSIGN_REQUEST Command . . . . . . . . . . . . . . . . . . . . . . 4-13  
DL_ESTABLISH_REQUEST Command . . . . . . . . . . . . . . . . . . . . . 4-13  
DL_DATA_REQUEST Command . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14  
RELINK_REQUEST Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15  
GLOBAL_XID/ULREQUEST Command . . . . . . . . . . . . . . . . . . . . . 4-15  
XID/UI_QUEUE_0_REQUEST Command . . . . . . . . . . . . . . . . . . . 4-16  
XID/UI_QUEUE_1_REQUEST Command . . . . . . . . . . . . . . . . . . . 4-16  
MDI ERROR_RESPONSE Command . . . . . . . . . . . . . . . . . . . . . . 4-17  
DL_RELEASE_REQUEST Command . . . . . . . . . . . . . . . . . . . . . . 4-17  
MDL_REMOVE_REQUEST Command . . . . . . . . . . . . . . . . . . . . . 4-18  
Protocol Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18  
ACTIVATE_LL Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18  
DEACTIVATE_LL Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19  
REMOTE_STATUS_REQUEST Command . . . . . . . . . . . . . . . . . . 4-20  
SET_LOCAL_BUSY Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20  
CLEAR_LOCAL_BUSY Command . . . . . . . . . . . . . . . . . . . . . . . . . 4-21  
4.1.1  
4.1.2  
4.1.3  
4.1.4  
4.2  
4.2.1  
4.2.2  
4.3  
4.3.1  
4.3.2  
4.3.3  
4.3.4  
4.3.5  
4.3.6  
4.3.7  
4.4  
4.4.1  
4.4.2  
4.4.3  
4.4.4  
4.4.5  
4.4.6  
4.4.7  
4.4.8  
4.4.9  
4.4.10  
4.5  
4.5.1  
4.5.2  
4.5.3  
4.5.4  
4.5.5  
viii  
MC68606 USER’S MANUAL  
MOTOROLA  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
4.5.6  
4.5.7  
4.5.8  
4.5.9  
4.6  
STOP_TX_I Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21  
STOP_GLOBAL_XID/UI Command . . . . . . . . . . . . . . . . . . . . . . . . 4-21  
STOP_XID/UI_QUEUE_0 Command . . . . . . . . . . . . . . . . . . . . . . . 4-22  
STOP_XID/UI_QUEUE_1 Command . . . . . . . . . . . . . . . . . . . . . . . 4-22  
Command Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22  
Section 5  
Transmit Process  
5.1  
5.2  
Transmit Servicing Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1  
Transmit I Frame Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2  
I Frame Queue Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3  
Logical-Link Transmit Queue Structure. . . . . . . . . . . . . . . . . . . . . . 5-4  
I Frame Transmission Queueing . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5  
MLAPD I Frame Queue Processing . . . . . . . . . . . . . . . . . . . . . . . . 5-6  
Stopping I Frame Transmission. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7  
Collecting Acknowledged Frames . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8  
Transmit XID/UI Frame Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8  
XID/UI Queue Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8  
XID/UI Transmit Queue Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9  
XID/UI Frame Transmission Queueing . . . . . . . . . . . . . . . . . . . . . . 5-9  
MLAPD XlD/UI Queue Processing . . . . . . . . . . . . . . . . . . . . . . . . . 5-10  
Stopping XID/Ul Frame Transmission . . . . . . . . . . . . . . . . . . . . . . . 5-11  
Collecting Transmitted XID/Ul Frames . . . . . . . . . . . . . . . . . . . . . . 5-11  
Errors During Frame Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12  
5.2.1  
5.2.2  
5.2.3  
5.2.4  
5.2.5  
5.2.6  
5.3  
5.3.1  
5.3.2  
5.3.3  
5.3.4  
5.3.5  
5.3.6  
5.4  
Section 6  
Receive Process  
6.1  
Receive Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1  
Receive Pool Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1  
Receive Queue Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3  
User Receive Pointers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3  
MLAPD Receive Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4  
Collecting Received Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4  
6.1.1  
6.1.2  
6.1.3  
6.2  
6.3  
Section 7  
Exception Processing  
7.1  
Interrupt Mechanism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1  
Interrupt Queue Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1  
Selecting Polled or Interrupt-Driven Operation . . . . . . . . . . . . . . . . 7-1  
Collecting Interrupt Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2  
Interrupt Queue Overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2  
Bus Error Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3  
7.1.1  
7.1.2  
7.1.3  
7.1.4  
7.2  
MOTOROLA  
MC68606 USER’S MANUAL  
ix  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
7.3  
Page  
Title  
Number  
Address Error Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3  
Section 8  
MLAPD Implementation of LAPD  
8.1  
8.2  
8.2.1  
8.2.1.1  
8.2.2  
8.3  
8.4  
8.5  
8.6  
8.7  
MLAPD Initialization Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1  
Initialization of Logical Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2  
Broadcast Link Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2  
Broadcast Link Initialization Procedure . . . . . . . . . . . . . . . . . . . . 8-3  
Signaling Link Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3  
Assignment Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4  
Link Setup Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4  
Link Release Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5  
Collision of Unnumbered Command Frames . . . . . . . . . . . . . . . . . . . 8-7  
Transmit Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7  
Information Frame Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7  
Information Frame Transmission. . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7  
XID/UI/Nonstandard-control Frame Preparation . . . . . . . . . . . . . . . 8-8  
XID/UI/Nonstandardcontrol Frame Transmission . . . . . . . . . . . . . . 8-9  
Reception Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9  
Information Frame Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9  
Invalid Frames Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10  
Bad Frames Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11  
Frame Reject Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11  
XID/UI/Nonstandard_control Frame Reception. . . . . . . . . . . . . . . . 8-11  
Receiving an Out_Of_Sequence I Frame . . . . . . . . . . . . . . . . . . . . 8-11  
Receiving a FRMR Frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12  
Frame Types Allowed in Each Link State. . . . . . . . . . . . . . . . . . . . . . 8-12  
TEI_UNASSIGN and EST_WAIT_TEI States . . . . . . . . . . . . . . . . . 8-12  
TEI_ASSIGNED, AWAIT_EST, and AWAIT_REL States . . . . . . . . 8-12  
Connected States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13  
Flow Control and Error Control Procedures . . . . . . . . . . . . . . . . . . . . 8-13  
Local Busy Condition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14  
Awaiting Acknowledgement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14  
Receiving Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15  
Receiving a REJ Frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15  
Receiving a RNR Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15  
Error Handling Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15  
Frame Reject Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16  
CCITT/DMI Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16  
8.7.1  
8.7.2  
8.7.3  
8.7.4  
8.8  
8.8.1  
8.8.2  
8.8.3  
8.8.4  
8.8.5  
8.8.6  
8.8.7  
8.9  
8.9.1  
8.9.2  
8.9.3  
8.10  
8.10.1  
8.10.2  
8.10.3  
8.10.4  
8.10.5  
8.11  
8.11.1  
8.11.2  
x
MC68606 USER’S MANUAL  
MOTOROLA  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
Section 9  
MLAPD Implementation of Special Modes  
9.1  
Nonprotocol Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1  
Setup Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2  
Release Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2  
Queuing Frames For Transmission. . . . . . . . . . . . . . . . . . . . . . . . . 9-2  
MLAPD Transmit Queue Processing. . . . . . . . . . . . . . . . . . . . . . . . 9-3  
MLAPD Frame Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3  
Stopping Frame Transmission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4  
Collecting Transmitted Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4  
Receive Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5  
MLAPD Frame Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5  
Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6  
Promiscuous Receive Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6  
Multibuffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7  
Filter Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7  
Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8  
Parallel Assist Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8  
Line Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9  
System Loopback Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10  
Memory-to-Memory Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10  
Handling Received Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11  
Handling Transmit Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12  
9.1.1  
9.1.2  
9.1.3  
9.1.4  
9.1.5  
9.1.6  
9.1.7  
9.1.8  
9.1.9  
9.1.10  
9.2  
9.2.1  
9.2.2  
9.2.3  
9.3  
9.4  
9.5  
9.6  
9.6.1  
9.6.2  
Section 10  
Signal Description  
10.1  
Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2  
Modem Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2  
Request-to-Send (RTS) or Transmit Start (TSTART) . . . . . . . . . 10-2  
Clear-to-Send (CTS) or Receive Start (RSTART) . . . . . . . . . . . . 10-2  
Transmit Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3  
Transmit Clock (TxCLK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3  
Transmit Data (TxD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3  
Receive Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3  
Receive Clock (RxCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3  
Receive Data (RxD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4  
Motorola Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4  
Motorola/Intel Mode (MOT/INT). . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4  
Address Bus (A1–A23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4  
Data Bus (D0–D15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5  
Bus Control Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5  
Chip Select (CS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5  
10.1.1  
10.1.1.1  
10.1.1.2  
10.1.2  
10.1.2.1  
10.1.2.2  
10.1.3  
10.1.3.1  
10.1.3.2  
10.2  
10.2.1  
10.2.2  
10.2.3  
10.2.4  
10.2.4.1  
MOTOROLA  
MC68606 USER’S MANUAL  
xi  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
10.2.4.2  
10.2.4.3  
10.2.4.4  
10.2.4.5  
10.2.5  
10.2.5.1  
10.2.5.2  
10.2.5.3  
10.2.6  
10.2.6.1  
10.2.6.2  
10.2.7  
10.2.7.1  
10.2.7.2  
10.2.7.3  
10.2.7.4  
10.2.8  
Address Strobe (AS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5  
Read/Write (R/W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5  
Upper Data Strobe (UDS/A0) and Lower Data Strobe (LDS/DS) 10-5  
Data Transfer Acknowledge (DTACK). . . . . . . . . . . . . . . . . . . . . 10-6  
Bus Arbitration Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6  
Bus Request (BR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6  
Bus Grant (BG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6  
Bus Grant Acknowledge (BGACK) . . . . . . . . . . . . . . . . . . . . . . . 10-6  
Interrupt Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
Interrupt Request (IRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
Interrupt Acknowledge (IACK) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
Bus Exception Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
RESET(RESET). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
Halt (HALT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
Bus Error (BERR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
(RETRY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7  
System Clock (CLK) Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8  
Motorola Signal Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8  
Intel-Compatible Bus Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Motorola/Intel Mode (MOT/INT). . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Address Bus (A0–A23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Data Bus (D0–D15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Bus Control Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Chip Select (CS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Address Strobe (AS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9  
Read (RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10  
Write (WR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10  
Bus High Enable (BHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10  
Ready (READY). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10  
Bus Arbitration Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Hold Request (HRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Hold Acknowledge (HOLDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Interrupt Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Interrupt Request (INTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Interrupt Acknowledge (INTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Bus Exception Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Reset (RESET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11  
Halt (HALT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12  
Bus Error (BERR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12  
Retry (RETRY). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12  
System Clock (CLK) Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12  
Intel Signal Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12  
10.2.9  
10.3  
10.3.1  
10.3.2  
10.3.3  
10.3.4  
10.3.4.1  
10.3.4.2  
10.3.4.3  
10.3.4.4  
10.3.4.5  
10.3.4.6  
10.3.5  
10.3.5.1  
10.3.5.2  
10.3.6  
10.3.6.1  
10.3.6.2  
10.3.7  
10.3.7.1  
10.3.7.2  
10.3.7.3  
10.3.7.4  
10.3.8  
10.3.9  
xii  
MC68606 USER’S MANUAL  
MOTOROLA  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
Section 11  
Bus Operation  
11.1  
11.1.1  
11.1.1.1  
11.1.1.2  
11.1.2  
Motorola Bus Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1  
Slave Operation Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1  
Host Processor Read Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1  
Host Processor Write Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2  
Interrupt Acknowledge Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2  
Master Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3  
DMA Priority Scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4  
MLAPD Read Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4  
MLAPD Write Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5  
Bus Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6  
Bus Exception Control Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6  
Halt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7  
Bus Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7  
Retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7  
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8  
Intel-Compatible Bus Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8  
Slave Operation Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8  
Host Processor Read Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10  
Host Processor Write Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10  
Interrupt Acknowledge Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-11  
Master Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12  
DMA Priority Scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12  
MLAPD Read Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12  
MLAPD Write Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13  
Bus Arbitration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13  
Bus Exception Control Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14  
Halt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15  
Bus Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15  
Retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16  
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16  
11.1.3  
11.1.3.1  
11.1.3.2  
11.1.3.3  
11.1.4  
11.1.5  
11.1.5.1  
11.1.5.2  
11.1.5.3  
11.1.5.4  
11.2  
11.2.1  
11.2.1.1  
11.2.1.2  
11.2.2  
11.2.3  
11.2.3.1  
11.2.3.2  
11.2.3.3  
11.2.4  
11.2.5  
11.2.5.1  
11.2.5.2  
11.2.5.3  
11.2.5.4  
Section 12  
Electrical Specifications  
12.1  
12.2  
12.3  
12.4  
12.5  
12.5.1  
12.5.2  
Maximum Ratings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1  
THERMAL CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1  
Power Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1  
DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2  
AC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2  
Motorola AC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . 12-2  
Intel-Compatible AC Electrical Characteristics . . . . . . . . . . . . . . . . 12-17  
MOTOROLA  
MC68606 USER’S MANUAL  
xiii  
TABLE OF CONTENTS (Continued)  
Paragraph  
Number  
Page  
Number  
Title  
Section 13  
Mechanical Data  
13.1  
13.2  
13.3  
Package Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1  
Pin Assignments .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1  
Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-3  
Appendix A  
Software Interface Flows For the MLAPD  
A.1  
A.2  
Nomenclature: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Frame Descriptor (FD) Bits Used in User-MLAPD Interface . . . . . . . A-1  
Tx I FD status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Tx U FD status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1  
Tx FD length (both U and I frames) . . . . . . . . . . . . . . . . . . . . . . A-1  
Tx U FD llid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
Rx FD control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
Rx FD llid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
Rx FD error bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
Interrupt queue entry bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2  
Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3  
Issue command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3  
Build Receive Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4  
Build LL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5  
Initialize MLAPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6  
Handle_Intermpts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8  
Add Tx I frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10  
Add XID/UI Tx frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12  
Interrupt DL.Data.Confirmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13  
Collect Next Confirmed Frame on LLT . . . . . . . . . . . . . . . . . . . . . . A-14  
Interrupt XID/UI Confirmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15  
Collect Next Tx XID/UI Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16  
Collect Next Frame Received on pool. . . . . . . . . . . . . . . . . . . . . . . A-17  
Add to Receive Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18  
Stop Transmit of I Frames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-19  
Stop Transmit for XID/UI Frames . . . . . . . . . . . . . . . . . . . . . . . . . . A-21  
DMA test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-22  
Serial loopback test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23  
Serial loopback test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26  
A.2.1  
A.2.2  
A.2.3  
A.2.4  
A.2.5  
A.2.6  
A.2.7  
A.2.8  
A.3  
A.3.1  
A.3.2  
A.3.3  
A.3.4  
A.3.5  
A.3.6  
A.3.7  
A.3.8  
A.3.9  
A.3.10  
A.3.11  
A.3.12  
A.3.13  
A.3.14  
A.3.15  
A.3.16  
A.3.17  
A.3.18  
Appendix B  
Abbreviations  
xiv  
MC68606 USER’S MANUAL  
MOTOROLA  
LIST OF ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
1-1  
1-2  
1-3  
1-4  
1-5  
1-6  
1-7  
1-8  
1-9  
Data Switching of the Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2  
LAPD In Relation to ISDN and ISO Models . . . . . . . . . . . . . . . . . . . . . . . . 1-4  
LAPD Frame Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5  
Address Field Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5  
Control Field Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5  
Command and Response Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6  
MLAPD Protocol Controller Application Environment . . . . . . . . . . . . . . . . 1-7  
Receive Process for Expanded Operation Mode . . . . . . . . . . . . . . . . . . . . 1-12  
Receive Process for On-Chip Operation Mode . . . . . . . . . . . . . . . . . . . . . 1-13  
2-1  
2-2  
2-3  
2-4  
2-5  
2-6  
2-7  
2-8  
Shared Memory Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1  
GCB Format-Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2  
GCB Format-Reloadable Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3  
GCB Format-Statistics Threshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4  
GCB Format-Command Arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4  
GCB-User Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5  
Interrupt Mask Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15  
Match Table Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22  
LLID-LLT Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22  
Logical-Link Table Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23  
Transmit Status Bits Transition Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25  
Receive Pool Pointers Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34  
Transmit Frame Descriptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35  
Transmit Frame Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35  
Receive Frame Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40  
Interrupt Queue Entry Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45  
Interrupt Queue Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45  
Timer Table Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53  
MLAPD Generated Level 2 Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55  
Level 2 Queue Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-56  
2-9  
2-10  
2-11  
2-12  
2-14  
2-13  
2-15  
2-17  
2-16  
2-18  
2-19  
2-20  
4-1  
4-2  
DMA Transfer Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4  
Dump Registers Memory Map (Sheet 1 of 5). . . . . . . . . . . . . . . . . . . . . . . 4-4  
5-1  
5-2  
5-3  
5-4  
5-5  
Transmit Servicing Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2  
Transmit Servicing Flowchart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3  
Structure of Each I Frame Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4  
Logical-Link Transmit Queue Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5  
XID/UI Transmit Queue Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9  
6-1  
6-2  
Receive Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2  
User Receive Pointers Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3  
MOTOROLA  
MC68606 USER’S MANUAL  
xvii  
LIST OF ILLUSTRATIONS (Continued)  
Page  
Number  
Figure  
Number  
Title  
8-1  
MLAPD Protocol States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2  
Memory-to-Memory Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11  
MC68606 Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1  
9-1  
10-1  
11-1  
11-2  
11-3  
11-4  
11-5  
11-6  
11-7  
11-8  
11-9  
Motorola Typical Host Byte Read Cycle Timing Diagram . . . . . . . . . . . . . 11-2  
Motorola Typical Host Word Write Cycle Timing Diagram . . . . . . . . . . . . . 11-3  
Motorola Typical Interrupt Acknowledge Cycle Timing Diagram . . . . . . . . 11-3  
Motorola Typical DMA Read Cycle Timing Diagram . . . . . . . . . . . . . . . . . 11-5  
Motorola Typical DMA Write Cycle Timing Diagram . . . . . . . . . . . . . . . . . 11-5  
Motorola Typical Bus Arbitration Timing Diagram . . . . . . . . . . . . . . . . . . . 11-6  
Motorola Typical Write Cycle with HALT Timing Diagram . . . . . . . . . . . . . 11-7  
Motorola Typical Read Cycle with BERR Timing Diagram. . . . . . . . . . . . . 11-8  
Motorola Typical Read Cycle with RETRY Timing Diagram . . . . . . . . . . . 11-9  
11-10 Intel-Compatible Typical Host Byte Read Cycle Timing Diagram . . . . . . . 11-10  
11-11 Intel-Compatible Typical Host Word Write Cycle Timing Diagram. . . . . . . 11-11  
11-12 Intel-Compatible Typical Interrupt Acknowledge Cycle Timing Diagram . . 11-11  
11-13 Intel-Compatible Typical DMA Read Cycle Timing Diagram . . . . . . . . . . . 11-13  
11-14 Intel-Compatible Typical DMA Write Cycle Timing Diagram . . . . . . . . . . . 11-14  
11-15 Intel-Compatible Typical Bus Arbitration Timing Diagram . . . . . . . . . . . . . 11-14  
11-16 Intel-Compatible Typical Write Cycle with HALT Timing Diagram . . . . . . . 11-15  
11-17 Intel-Compatible Typical Read Cycle with BERR Timing Diagram . . . . . . 11-16  
11-18 Intel-Compatible Typical Read Cycle with RETRY Timing Diagram . . . . . 11-17  
12-1  
12-2  
12-3  
12-4  
12-5  
12-6  
12-7  
12-8  
Motorola Host Processor Read Cycle Timing Diagram . . . . . . . . . . . . . . . 12-6  
Motorola Host Processor Write Cycle Timing Diagram . . . . . . . . . . . . . . . 12-7  
Motorola Interrupt Acknowledge Cycle Timing Diagram . . . . . . . . . . . . . . 12-8  
Motorola Bus Arbitration Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 12-9  
Motorola DMA Read Cycle and Slow Read Cycle Timing Diagram. . . . . . 12-10  
Motorola DMA Write Cycle and Slow Write Cycle Timing Diagram . . . . . . 12-11  
Motorola Late Synchronous Exception DTACK Active Timing Diagram . . 12-12  
Motorola Early Synchronous Exception DTACK Not Active  
Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-13  
Motorola Hardware RESET Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . 12-14  
12-9  
12-10 Motorola Read Cycle with RETRY Timing Diagram. . . . . . . . . . . . . . . . . . 12-15  
12-11 Serial Data and Serial Clocks Timing Diagram . . . . . . . . . . . . . . . . . . . . . 12-16  
12-12 Intel-Compatible Host Processor Read Cycle Timing Diagram . . . . . . . . . 12-20  
12-13 Intel-Compatible Host Processor Write Cycle Timing Diagram . . . . . . . . . 12-21  
12-14 Intel-Compatible Interrupt Acknowledge Cycle Timing Diagram . . . . . . . . 12-22  
12-15 Intel-Compatible Bus Arbitration Timing Diagram . . . . . . . . . . . . . . . . . . . 12-23  
12-16 Intel-Compatible DMA Read Cycle and Slow Read Cycle Timing Diagram 12-24  
xviii  
MC68606 USER’S MANUAL  
MOTOROLA  
LIST OF ILLUSTRATIONS (Concluded)  
Figure  
Number  
Page  
Number  
Title  
12-17 Intel-Compatible DMA Write Cycle and Slow Write Cycle Timing Diagram 12-25  
12-18 Intel-Compatible Late Synchronous Exception READY Active Timing Diagram  
12-26  
12-19 Intel-Compatible Early Synchronous Exception READY Not Active  
Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-27  
12-20 Intel-Compatible Hardware RESET Timing Diagram . . . . . . . . . . . . . . . . . 12-28  
12-21 Intel-Compatible Read Cycle with RETRY Timing Diagram. . . . . . . . . . . . 12-29  
12-22 Serial Data and Serial Clocks Timing Diagram . . . . . . . . . . . . . . . . . . . . . 12-30  
MOTOROLA  
MC68606 USER’S MANUAL  
xix  
xx  
MC68606 USER’S MANUAL  
MOTOROLA  
LIST OF TABLES  
Page  
Number  
Table  
Number  
Title  
1-1  
Guide to Memory Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9  
2-1  
2-2  
Examples of Error Mask Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15  
Receive Frame Parameter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30  
3-1  
3-2  
Motorola Bus Selection of Directly Accessible Registers. . . . . . . . . . . . . . 3-2  
Intel-Compatible Bus Selection of Directly Accessible Registers. . . . . . . . 3-3  
4-1  
4-2  
MLAPD Command Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23  
MLAPD Command Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24  
8-1  
List of Link States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1  
10-1  
10-2  
10-3  
10-4  
10-5  
TxD Three-State Logic Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4  
Motorola Data Strobe Control of Data Bus. . . . . . . . . . . . . . . . . . . . . . . . . 10-6  
Motorola Signal Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8  
Intel-Compatible Byte Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10  
Intel-Compatible Signal Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13  
MOTOROLA  
MC68606 USER’S MANUAL  
xxi  
xxii  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 1  
INTRODUCTION  
The Motorola MC68606 Multi-Link LAPD (MLAPD) protocol controller is an integrated circuit  
implementing the link-access procedure (LAPD) protocol. LAPD is the proposed protocol for  
use at the link layer (ISO-Layer 2) for both signaling and data transfer in Integrated Services  
Digital Network (ISDN) configurations. The LAPD protocol is specified in International  
Telegraph and Telephone Consultative Committee (CCITT) Recommendation Q.920/  
Q.921.  
The MLAPD device simplifies interfacing a microcomputer system to a packet network by  
providing the link-layer services of sequencing, error control, flow control, and multiplexing  
of logical links. Sequencing refers to numbering the frames to ensure arrival in the order of  
transmission. Error control ensures that frames arrive without errors; frames are  
retransmitted when errors are detected. Flow control ensures that the sender does not  
overwhelm the receiver with data. Multiplexing allows multiple logical-link connections to  
share a single physical circuit.  
Current product implementations of this link-level protocol are accomplished with firmware.  
Firmware implementation significantly loads the local processor and presents limitations to  
both the maximum potential throughput of data and to the number of logical links which may  
be supported by such packet data interfaces. Figure 1-1 is a generic view of where the  
MLAPD device can be used to interconnect a variety of data endpoints in a high-speed  
packet switch network. The data links illustrated could differ functionally and provide data  
rates up to 2.048 Mbps.  
The MLAPD functions as an intelligent peripheral device to a central processing unit (CPU)  
in a microcomputer system. An on-chip direct memory access (DMA) controller transfers  
data packets to and from a buffer memory with minimal CPU assistance. A microcoded  
buffer-management scheme queues packets during transmission and reception. All link  
management duties are handled by the MLAPD device to maximize the bandwidth available  
for CPU operation and to increase the throughput for packet data transfer. This VLSI  
implementation provides a cost-effective solution, while encouraging a universal  
implementation of the LAPD protocol.  
1.1 FEATURE OVERVIEW  
Key features of the MLAPD include:  
• Full implementation of CCITT Recommendation Q.920/Q.921 LAPD with independent  
generation of commands and responses for each logical link.  
MOTOROLA  
MC68606 USER’S MANUAL  
1-1  
Introduction  
.
FRONT-END  
PROCESSOR  
HOST  
COMPUTER  
T
T
T
T
T
DATA  
LINK  
DATA  
LINK  
DATA  
LINK  
TERMINAL  
CONCENTRATOR  
PERSONAL  
COMPUTER  
HIGH-SPEED  
PACKET SWITCH  
PACKET  
SWITCH  
DATA  
LINK  
DATA  
LINK  
CONTROLLER  
TERMINAL  
CLUSTER  
CONTROLLER  
DATA  
HIGHWAY  
GATEWAY  
DATA  
LINK  
HOST  
COMPUTER  
LAN  
PC  
PC  
WIDE-AREA NETWORK  
PC  
PC  
PC  
POSSIBLE APPLICATION OF MLAPD DEVICE  
Figure 1-1. Data Switching of the Future  
• Control of up to 8192 logical links using a memory-based architecture, wherein the pro-  
tocol controller and the supervising microprocessor communicate through shared mem-  
ory.  
• Reliable, interleaved data transfers for multiple logical links with the following protocol  
actions:  
— HDLC framing with zero-bit insertion/deletion for a serial bit stream; or optional par-  
allel assist mode where zero insertion/deletion is disabled and frame delineation is  
provided by external pins to simplify the external logic required to support a parallel  
interface to the physical level.  
— Error control using a 16-bit cyclical redundancy check (CRC).  
— Flow control to prevent data from accumulating at the receiving end faster than data  
can be processed.  
• Termination of a nonchannelized serial bit stream with an aggregate rate in excess of  
2.048 Mbps or optional memory-to-memory operation allowing the MLAPD to act as a  
LAPD controller independent of the system's physical level characteristics.  
• User-defined priority for information (1) frame and exchange identification/unnumbered  
information (XID/UI) frame transmission.  
• Optional reception and transmission of a user-defined nonstandard LAPD unnumbered  
(U) frame.  
1-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Introduction  
• On-chip, content addressable memory (CAM) provides address translation for up to 16  
logical links. When supporting more than 16 logical links, translation is provided via a  
match table in shared memory.  
• Error/statistical counters and maskable interrupts to the Level 3 process.  
• Optional nonprotocol mode on a per-logical link basis, which allows the host to receive  
and transmit frames without application of the LAPD procedures by the MLAPD.  
• Promiscuous receive mode in which the MLAPD receives all frames from the line and  
transfers the entire frame to memory:  
— A received frame may be split between multiple memory buffers.  
— A filtering mechanism allows the user to selectively receive frames based on the first  
32-bits of each frame.  
• System interface tailored for different microprocessor system implementations:  
— Motorola M68000 and Intel iAPX86 Family bus interface options.  
— 8-and 16-bit data bus support.  
— Direct addressing of 16 Mbytes of system memory.  
• Available in 12.5 MHz and 16.67 MHz system clock versions.  
• 84-lead pin grid array (PGA) package and plastic, leadless chip carrier (PLCC) J-lead  
surface mount package.  
• 1.5 micron HCMOS technology.  
1.2 ISDN COMMUNICATION MODEL  
A review of the protocol conventions of the Open Systems Interconnect (OSI) model and of  
the proposed Integrated Services Digital Network (ISDN) model is pertinent to show where  
the LAPD protocol fits into both the OSI and ISDN models (see Figure 1-2). The LAPD  
protocol is the recommended data-link-layer protocol for a logical link used for signaling and  
also for a logical link used for data, or bearer, service. The physical level interface may also  
be the same for both signaling and data applications. The Level 3 interface depends upon  
the type of services provided. For termination of the link in a signaling case, the CCITT  
specifies the protocol in Recommendation Q.931. For data transport services, CCITT  
Recommendation X.25 Data Phase may be used at Level 3. In both applications, the LAPD  
protocol can be used as a universal link-layer protocol in an ISDN product family.  
1.3 LAPD FRAME FORMAT  
LAPD is specified by CCITT Recommendations Q.920/Q.921 (1.440/1.441). LAPD is a  
multiplexed derivative of the CCITT Recommendation X.25 LAPB, which is based on the  
HDLC frame format. The HDLC frame format consists of an address field (two bytes for  
LAPD), a control field (one or two bytes for LAPD), an optional information field of length n  
bytes (default of 128 or 260 bytes for LAPD), and a 16-bit CRC sequence. Frames are  
delineated by flag characters (01111110), and zero insertion/deletion is used to ensure data  
transparency. A minimum of two flags (an opening and closing flag) are transmitted between  
frames. All frames are octet aligned. Octets within a frame are transmitted in ascending  
numerical order, with the least significant bit transmitted first. An exception to this rule is the  
transmission of the CRC sequence, where the coefficient of the highest order exponential  
term is transmitted first. The LAPD formats for frames containing and not containing an  
information field are shown in Figure 1-3.  
MOTOROLA  
MC68606 USER’S MANUAL  
1-3  
Introduction  
.
ISO REFERENCE  
MODEL  
LAYER 7  
APPLICATION  
LAYER 6  
PRESENTATION  
ISDN  
TELESERVICES  
LAYER 5  
SESSION  
LAYER 4  
TRANSPORT  
LAYER 3  
NETWORK  
LAYER 3  
Q.931 SIGNALLING  
ISDN  
BEARER  
SERVICES  
LAYER 2  
LINK  
LAYER 2  
Q.921 LAPD  
LAYER 1  
PHYSICAL  
LAYER 1  
PHYSICAL  
DATA CHANNEL  
APPLICATION  
SIGNALLING CHANNEL  
APPLICATION  
Figure 1-2. LAPD In Relation to ISDN and ISO Models  
The address field format shown in Figure 1-4 specifies two Data-Link_Connection Identifier  
(DLCI) subfields, address field extension bits, and a command/response indication bit. The  
two DLCI subfields, service-access-point identifier (SAPI) and terminal-endpoint identifier  
(TEI), define the DLCI which is one of 8192 potential addresses, or logical links, that may be  
active on a single physical channel. The address field extension bit allows the address to  
span multiple octets by indicating which octet is the final address octet. The address field  
extension bit in the high order address byte is always set to zero and in the low order  
address byte is always set to one. The command/response bit identifies a frame as either a  
command or response. The endpoint designated as the user side sends commands with the  
C/R bit set to zero and responses with the C/R bit set to one. The endpoint designated as  
the network side sends commands with the C/R bit set to one and responses with the C/R  
bit set to zero.  
The control field defines the type of command or response frame. The three control field  
formats, supervisory (S), unnumbered (U) and information (1), are shown in Figure 1-5. The  
command and response frames defined for these three frame types are shown in Figure 1-  
6. S frames are used to perform data link supervisory control functions, such as I frame  
acknowledgment, I frame retransmission requests, and flow control. U frames provide  
additional data link control functions and unacknowledged information transfer. I frames  
transfer sequentially numbered frames containing information fields provided by Level 3.  
1-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Introduction  
FORMAT A  
FORMAT B  
8
0
7
1
6
1
5
4
3
1
2
1
1
0
8
0
7
1
6
1
5
4
3
1
2
1
1
0
FLAG  
FLAG  
OCTET 1  
OCTET 1  
1
1
1
1
ADDRESS (HIGH-ORDER OCTET)  
(LOW-ORDER OCTET)  
CONTROL*  
ADDRESS (HIGH-ORDER OCTET)  
(LOW-ORDER OCTET)  
CONTROL*  
OCTET 2  
OCTET 3  
OCTET 4  
OCTET 2  
OCTET 3  
OCTET 4  
INFORMATION  
CYCLICAL REDUNDANCY CHECK (CRC)  
CYCLICAL REDUNDANCY CHECK (CRC)  
N-2  
N
N-2  
N
........................  
FLAG  
........................  
FLAG  
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
* Unacknowledged Operation:  
Multiple Frame Operation:  
(Modulo 128)  
One octet  
Two octets for frames with sequence numbers  
One octet for frames without sequence numbers  
Figure 1-3. LAPD Frame Format  
8
7
6
5
4
3
2
1
DLCI  
EA  
0
C/R  
OCTET 2  
(UPPER SUBFIELD - SAPI)  
DLCI  
EA  
1
OCTET 3  
(LOWER SUBFIELD - TEI  
C/R  
EA  
DLCI  
SAPI  
TEI  
= Command/response field bit  
= Address field extension bit  
= Data-Link_Connection Identifier  
= Service-Access Point Identifier  
= Terminal-Endpoint Identifier  
Figure 1-4. Address Field Format  
CONTROL FIELD BITS  
(MODULO 128)  
8
7
6
5
4
3
2
1
I FORMAT  
S FORMAT  
U FORMAT  
N(S)  
N(R)  
X
0
P
1
OCTET 4  
OCTET 5  
OCTET 4  
OCTET 5  
OCTET 4  
X
X
X
S
S
0
1
N(R)  
P/F  
P/F  
1
M
M
M
M
M
N(S)  
N(R)  
S
Send sequence number  
P
Poll bit  
Receive sequence number  
Supervisory function bit  
Modifier function bit  
P/F Poll bit when issued as a command  
Final bit when issued as a response  
Reserved and set to zero  
M
X
Figure 1-5. Control Field Formats  
MOTOROLA  
MC68606 USER’S MANUAL  
1-5  
Introduction  
Format  
Encoding  
Commands Responses  
8
7
6
5
NIS)  
N(R)  
0
4
3
2
1
0
P
Information  
Transfer  
Supervisory  
I
RR  
RNR  
RR  
RNR  
REJ  
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
P/F  
1
P/F  
1
N(R)  
0
N(R)  
0
REJ  
N(R)  
P
F
P
P
F
F
P/F  
P/F  
1
1
1
1
1
1
1
Unnumbered  
SABME  
0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
DM  
UI  
DISC  
UA  
FRMR  
XID  
XID  
DISC  
DM  
F
Disconnect  
Disconnected mode  
Final bit  
FRMR  
I
Frame reject  
Information  
N(R)  
NIS)  
P
Receive sequence number  
Send sequence number  
Poll bit  
P/F  
Poll bit when issued as a command/  
Final bit when issued as a response  
Reject  
Receive-not-ready  
Receive ready  
REJ  
RNR  
RR  
SABME  
UA  
UI  
Set asynchronous balanced mode extended  
Unnumbered acknowledgment  
Unnumbered information  
Exchange identification  
XID  
Figure 1-6. Command and Response Frames  
The LAPD procedures define how the S, U, and I frames are used for peer-to-peer  
communication between data link entities. The details of the MLAPD implementation of  
these procedures is given in Section 8 MLAPD Implementation of LAPD.  
1.4 SYSTEM ENVIRONMENT  
The MLAPD protocol controller provides simultaneous control of a maximum of 8192 logical  
links, while under the overall supervision of a microprocessor. The communication between  
the microprocessor, hereafter referred to as the host processor or CPU, and the protocol  
controller is established through command and data block structures stored in shared  
memory. The Global Configuration Block (GCB), Logical-Link Tables (LLTs), Transmit and  
Receive Queues, Receive Pools, and Interrupt Queue are command and data blocks  
highlighted in Figure 1-7. This figure provides a simplistic overview of the MLAPD's shared  
memory structure.  
1-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Introduction  
1.4.1 Physical Link Interface  
The MLAPD serial interface provides HDLC-type decoding/encoding for the data stream  
entering/exiting the full-duplex serial interface. The three input signals from the physical  
interface are the transmit clock, receive clock, and receive data. The transmit data signal is  
an output to the physical interface. Nonreturn-to-zero (NRZ) data encoding/decoding is  
implemented. Two modem control signals, request-to-send ( RTS ) and clear-to-send  
(CTS), are also available. Electrical signal levels are transistor-transistor logic (TTL)  
compatible.  
.
TRANSMIT  
QUEUES  
SHARED MEMORY  
LOGICAL-LINK  
TABLES (LLT)  
RECEIVE  
QUEUES  
CPU  
GLOBAL  
CONFIGURATION  
BLOCK (GCB)  
ROM  
LEVELS 3+  
INTERRUPT  
QUEUE  
RECEIVE  
POOLS  
MICROPROCESSOR BUS  
MLAPD CONTROLLER  
DATA  
SERIAL  
COMMUNICATIONS  
LINK  
PHYSICAL  
INTERFACE  
COMMAND  
SEMAPHORE  
INTERRUPT VECTOR  
Figure 1-7. MLAPD Protocol Controller Application Environment  
MOTOROLA  
MC68606 USER’S MANUAL  
1-7  
Introduction  
In addition, the MLAPD may be optionally configured to interface to a physical level which  
does not implement a serial HDLC-framed bit stream. In this mode, the MLAPD transmitter  
does not provide zero insertion, and the MLAPD receiver does not provide zero deletion for  
data transparency. Additionally, the MLAPD does not delineate frames with flag sequences.  
Instead, the FITS and CTS signals function as transmit start (TSTART) and receive start  
(RSTART), respectively, to delineate a frame for the transmit and receive data lines. In  
particular, this mode can simplify the external logic required to support a physical level that  
implements a parallel interface, such as a backplane in a network switch or host computer.  
1.4.2 Microprocessor System Bus Interface  
The host CPU can be any 8- or 16-bit microprocessor that supports multibus master  
capability, compatible with either the Motorola M68000 Family or the Intel iAPX86 Family  
bus interface definition. The important differences between the two families are the means  
of providing read, write, and data-byte selection signals. The desired bus operation mode of  
the MLAPD is selected at powerup.  
The MLAPD has a 24-bit address bus to directly support a 16-Mbyte memory address  
space. A separate 16-bit data bus is provided, which may be configured for 8-bit operation.  
The MLAPD handles byte ordering in an appropriate fashion for the selected  
microprocessor family option.  
The format for memory usage has 16-bit and 32-bit values stored at even boundaries  
enabling 16-bit microprocessors to operate efficiently in shared memory. To ensure  
compatibility with both 8-bit and 16-bit microprocessors, the configuration, command, and  
status information for logical-link control are built as linked table structures on a byte-wide  
basis.  
1.4.3 Shared-Memory Control Components  
Referring to Figure 1-7, which illustrates the MLAPD protocol controller's application  
environment, the shared memory consists of several key control blocks. The control blocks  
are functionally partitioned into the following structures:  
Global Configuration Block (GCB)  
Logical-Link Tables (LLTs)  
Receive and Transmit Queues  
Receive Pool Pointers Table  
Interrupt Queue  
Match Table  
Logical-Link Identification (LLID) number to LLT Table (LLID-LLT)  
Timer Table  
Level 2 Queue  
Table 1-1 provides a summary of the functions performed by these blocks.  
1-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Introduction  
Table 1-1. Guide to Memory Structures  
Block Type  
Purpose  
Global Configuration Block (GCB) Contains pointers to other memory tables.  
Contains global information for all logical links.  
Contains user system and link options.  
Logical-Link Tables (LLTs)  
Contains specific link control parameters for the given link. Also contains pointers to  
the receive/transmit queues. Contains working protocol status for the link.  
Contains linked list of receive and transmit frame descriptors for information (1),  
unnumbered information (UI), and exchange identification (XID) frames.  
Linked list of available receive frame descriptors with associated data buffers.  
Contains time-sequential list of interrupt status for each interrupt event.  
Receive and Transmit Queues  
Receive Pools  
Interrupt Queue  
Match Table  
Contains translation from Data-Link-Connection Identifier (DLCI) to Logical-Link  
Identification (LLID) number for incoming frames (expanded operation mode).  
Translates LLID into the address of the corresponding LLT.  
LLID-LLT Tables  
Level 2 Transmit Queue  
Contains Level 2 supervisory (S) and unnumbered (U) frames generated byMLAPD.  
Timer Table  
Implements T200/T203 for all logical links that are in multiple-frame established  
mode of operation.  
During system initialization, the host processor loads protocol and operational parameters  
into the shared-memory control structures and then stores pointers to the various memory  
tables into the GCB. Next, the host programs the MLAPD protocol controller with the  
address of the GCB and commands the MLAPD to initialize itself by loading its internal  
registers from the shared memory tables. From this point on, the host and the MLAPD  
communicate primarily via software flags and an Interrupt Queue in shared memory.  
1.5 OVERVIEW OF MLAPD FUNCTIONAL OPERATION  
Before describing the shared memory structures, internal registers, command set, and bus  
operation, a high-level summary of the command structure, the Interrupt Queue structure,  
and the MLAPD operational sequences may prove helpful.  
1.5.1 MLAPD Internal States and Command Structure Overview  
The MLAPD functions in one of three internal states: off-line, on-line, or bus/address error.  
In the off-line state, the MLAPD will only execute host commands. In the on-line state, the  
MLAPD will execute host commands, receive frames, and transmit frames. In the bus/  
address error state, the MLAPD will only accept an OFF-LINE or RESET command from the  
host.  
Transitions between these three states occur as the result of host commands and system  
error conditions. After reset, the MLAPD is in the off-line state. INIT and ON-LINE  
commands transfer the MLAPD to the on-line state. The OFF-LINE command transfers the  
MLAPD to the off-line state from either the on-line or the bus/address error state. The bus/  
address error state is entered when the BE-RR signal is asserted during an MLAPD bus  
master cycle or when CS or IACK (INTA) signals are asserted during an MLAPD bus master  
cycle.  
MOTOROLA  
MC68606 USER’S MANUAL  
1-9  
Introduction  
The host issues a command to the MLAPD by first writing the command arguments (if any)  
into the command argument fields in the GCB in shared memory. Second, the host performs  
a Write operation to enter the command into the on-chip command register. These  
commands belong to one of the following five categories:  
1. Initialization  
2. Test/Diagnostics  
3. Host/MLAPD Interface  
4. Protocol  
5. Protocol Extension  
Upon receipt of a command, the MLAPD sets its on-chip semaphore register (SR) to the  
value 'FE' hex. After either command completion or command acceptance, depending on  
the specific command, the MLAPD sets the value of the SR to 'FF' hex. The host must  
always read the SR before writing a new command. See 3.1.2 Semaphore Register.  
1.5.2 Interrupt Structure Overview  
An Interrupt Queue is located in shared memory to support the speed requirement of  
reporting many interrupting events occurring in rapid succession across the various active  
logical links. Each entry in this Interrupt Queue consists of a Logical-Link Identification  
(LLID) number, if applicable, and a cause indication. Each of the potential interrupt sources  
may be individually masked by the host to prevent the reporting of a specific event. The  
Interrupt Queue is described in detail; refer to 2.8 Interrupt Queue.  
The MLAPD supports both systems using the interrupt-driven method and systems using  
the polled method for interrupt handling. After the MLAPD has written an entry into the  
Interrupt Queue, a hardware interrupt request may be asserted. This interrupt feature is  
enabled or disabled by the host. If interrupt-driven operation (interrupts are allowed in the  
system) is desired, the interrupt-vector register (IVR) must be programmed by the host  
during the initialization procedure, or it will assume the default value 'OF' hex. If polled  
operation is desired, the host programs the MLAPD for this method at initialization.  
The IVR is on-chip and allows the MLAPD to return an indication of the interrupt cause as  
part of an interrupt acknowledge cycle on the system bus. The two possible vectors reported  
across the bus are: normal interrupt and severe interrupt.  
Interrupt information is written into the Interrupt Queue to fully identify the specific cause of  
the interrupt in either a polled or interrupt-driven system. Interrupts are the principle  
mechanism used to report protocol events and errors (including exceeded error thresholds).  
Since the Interrupt Queue is circular and of limited size, the host is responsible for reading  
the interrupt information and maintaining free entries to record new interrupt events.  
1-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Introduction  
1.5.3 Initialization Overview  
As a part of initialization, the host must:  
• Issue a RESET command to the MLAPD.  
• Issue a SET_BUS_WIDTH_16,(8) command to the MLAPD, which specifies a 16-or 8-  
bit data bus configuration.  
• Load the IVR in the MLAPD device.  
• Load the address of the GCB into the data register in the MLAPD device.  
• Prepare the GCB. The host specifies the addresses of the various memory tables in the  
GCB and programs several global parameters required to process the LAPD protocol  
for all links.  
• Clear the following tables: Match Table, Interrupt Queue, and Timer Table.  
• Prepare the LLT(s) with the local parameters for the link(s) in service.  
• Construct receive pool(s) of frame descriptors.  
• Construct the necessary entry(s) in the LLID-LLT Table.  
• Issue the INIT command to the MLAPD.  
The MLAPD now enters the on-line state and begins monitoring the receive data line.  
1.5.4 Frame Reception Overview  
Frame reception for a specific logical link is enabled by performing the initialization  
procedure followed by a DLCI assignment procedure. (The DLCI, which is contained in the  
address field of LAPD frames, is formed by the concatenation of the 6-bit SAPI and the 7-  
bit TEL) This logical link then enters a protocol-defined state in which it can receive UI  
frames, using data buffers from its assigned receive pool. After the exchange of set  
asynchronous balanced mode extended (SABME) and unnumbered acknowledgment (UA)  
frames, the link setup procedure is complete, and the data connection is established. The  
MLAPD device is now ready to receive numbered I frames containing the assigned DLCI,  
provided receive buffers are available.  
When the expanded-system operation mode is selected by the host, the DLCI field in an  
incoming frame is used by the MLAPD as an index into an external Match Table in shared  
memory to determine whether the DLCI has been assigned to an active logical link by Level  
3. The Match Table also contains the LLID number associated with each active DLCI. (Level  
3 defines a 13-bit LLID number corresponding to each active DLCI. Translation to an LLID,  
which is only of local significance to the link-level process, serves to reduce the external  
memory requirements.) If the DLCI is marked as invalid, then the incoming DLCI has not  
been assigned to a logical link, and the frame is ignored. The receive process for expanded-  
system operation mode is shown in Figure 1-8.  
MOTOROLA  
MC68606 USER’S MANUAL  
1-11  
Introduction  
.
INCOMING FRAME  
ORDER OF RECEPTION  
CRC DATA CONTROL  
DLCI  
MATCH TABLE  
VAL LLID(X)  
LLID—LLT  
TABLE  
OFFSET  
OFFSET  
LOGICAL-LINK  
TABLE (LLT)  
8192 WORDS  
LLT(X) POINTER  
RECEIVE  
QUEUE  
LLID(X)  
PARAMETERS  
AND  
(2 x MAX # OF LL’S) WORDS  
TRANSMIT  
QUEUE  
STATUS  
Figure 1-8. Receive Process for Expanded Operation Mode  
If the DLCI is marked valid, the MLAPD uses the LLID associated with the DLCI as an offset  
into a lookup table, which is the LLID-LLT Table. This link's LLT address is stored in the  
location indexed by this offset. The MLAPD accesses the link's LLT to obtain the specific  
protocol parameters for this link, which are required for subsequent protocol processing of  
the received frame. In the case of an information bearing frame, the MLAPD uses the  
receive_pool_number entry in the LILT as an offset into the Receive Pool Pointers Table to  
locate the first available receive frame descriptor for this logical link. (Sixteen pool pointers  
are stored on-chip to reduce the number of memory accesses for the receive operation.) The  
MLAPD stores the data field in the incoming frame in this buffer for processing by higher  
level software.  
When the application is limited to supporting 16 logical links or less, the host selects on- chip  
system operation mode. In the on-chip operation mode, the DLCI match operation is  
performed by an internal CAM circuit, and subsequent indexing performed in external  
memory is the same as for the expanded-system operation mode. The internal CAM  
reduces the external memory requirements for endpoints such as personal computers,  
since the 8K-word Match Table is not required. Figure 1-9 maps the receive process in the  
on-chip operation mode.  
1.5.5 Frame Transmission Overview  
Frame transmission for a specific logical link is enabled by performing the initialization  
procedure followed by a DLCI assignment procedure. The logical link is then in a protocol-  
defined state in which it can transmit UI frames. The host must initiate a link setup procedure  
before numbered information frames may be sent.  
1-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Introduction  
.
INCOMING FRAME  
ORDER OF RECEPTION  
CRC DATA CONTROL  
DLCI  
MATCH TABLE  
LLID—LLT  
TABLE  
CAM  
DLCI(I)  
LLID(X)  
MLAPD  
OFFSET  
LOGICAL-LINK  
TABLE (LLT)  
16  
LLT(X) POINTER  
RECEIVE  
QUEUE  
LLID(X)  
PARAMETERS  
AND  
(2 x MAX # OF LL’S) WORDS  
TRANSMIT  
QUEUE  
STATUS  
Figure 1-9. Receive Process for On-Chip Operation Mode  
When data is ready for transmission on a given logical link, the host fragments (divides) the  
data into one or more data buffers, where each buffer will be transmitted as an I frame. The  
host then arranges the frame descriptors (which point to the actual data buffers) into a linked  
list and issues a data request to the MLAPD. In response, the MLAPD device links these  
frame descriptors into one of four transmit I frame queues. The host assigns each logical  
link to an I frame queue by programming a parameter in the link's LILT. By providing four I  
frame queues, the MLAPD allows the host to prioritize transmit frame servicing.  
In comparison, the transmission process is more complex than the reception process, in that  
the MLAPD device must wait for acknowledgment from the Level 2 peer before declaring  
the data request operation to be complete. After transmission, the MLAPD maintains control  
of a transmitted-awaiting-acknowledgment frame in case retransmission is required. Once  
the frame has been acknowledged, the MLAPD sets the confirmation bit in the status word  
of its I frame descriptor.  
After all frames have been transmitted and acknowledged, the MLAPD writes a  
DL_data_confirmation for the specific LLID into the Interrupt Queue in shared memory.  
Additionally, if the interrupt option is enabled, the MLAPD activates the hardware interrupt  
signal (if it is not already asserted). The host is thus notified that confirmed frames on the  
transmit queue can be removed and reused. The host can also remove confirmed frames  
before receiving the confirmation interrupt by checking the confirmation bit in each frame  
descriptor.  
MOTOROLA  
MC68606 USER’S MANUAL  
1-13  
Introduction  
1-14  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 2  
MEMORY STRUCTURES  
The MLAPD uses several memory structures to communicate with the host processor.  
These memory structures include the Global Configuration Block (GCB), Logical-Link  
Tables (LLTs), Receive and Transmit Queues, and the Interrupt Queue. In addition to these  
structures, four memory tables are required for the implementation of the LAPD procedure.  
These tables include the Match Table, Logical-Link Identification to Logical-Link Table  
(LLID-LLT) Table, Receive Pool Pointers Table, and Timer Table. The Level 2 Queue is a  
private area in shared memory accessed only by the MLAPD. Figure 2-1 shows the interre-  
lationship of these tables in memory.  
.
GLOBAL  
CONFIGURATION  
BLOCK (GCB)  
MATCH TABLE  
TIMER TABLE  
LEVEL 2 QUEUE  
RECEIVE POOL (1)  
LOGICAL-LINK  
TABLE (LLT)  
(LLID = 0)  
RECEIVE POOL  
POINTERS  
TABLE  
GLOBAL XID/UI  
TRANSMIT  
QUEUE  
RECEIVE POOL (2)  
LLID - LLT TABLE  
¥
¥
¥
LOGICAL-LINK  
TABLE (LLT)  
(LLID = 2)  
XID/UI TRANSMIT  
QUEUE 0  
¥
¥
¥
RECEIVE POOL (N)  
INTERRUPT QUEUE  
XID/UI TRANSMIT  
QUEUE 1  
I FRAME TRANSMIT QUEUES 0-3  
Figure 2-1. Shared Memory Tables  
MOTOROLA  
MC68606 USER’S MANUAL  
2-1  
Memory Structures  
All MLAPD pointers to memory tables are 32 bits in length, even though the MLAPD only  
provides 24 bits of address during bus master cycles. In a 16-bit system, all memory tables  
and data structures must begin on an even-byte boundary, with the exception of transmit  
data buffers. The MLAPD does not check for an odd pointer and does not generate an  
address error for an odd-word boundary. For an 8-bit data bus, an odd pointer is proper. For  
a 16-bit bus, the MLAPD zeros the least significant address bit and therefore always pre-  
sents an even-word address to the bus. The system designer must ensure that the MLAPD  
is not supplied with an odd pointer in a 16-bit configuration.  
2.1 GLOBAL CONFIGURATION BLOCK  
The GCB format is shown on the following pages (refer to Figures 2-2 through 2-5). The  
GCB is written by the host, is read by the MLAPD, and is divided into four areas: constants,  
reloadable variables, statistics threshold variables, and command arguments. The host has  
the option to reserve additional words beyond the end of the GCB for use by higher level  
software. The additional entries required by the higher level software to interface with the  
MLAPD are specified in the user area and may be considered as part of the GCB. However,  
these entries may actually reside anywhere in memory as the MLAPD does not access  
them. (Refer to Figure 2-6.)  
HEX  
DISPLACEMENT  
15  
8
7
0
0
2
OPTION BITS 1  
OPTION BITS 2  
4
MATCH TABLE POINTER  
6
8
L2 QUEUE POINTER  
L2 QUEUE LENGTH  
A
C
E
TIMERS TABLE POINTER  
10  
12  
14  
16  
18  
1A  
IC  
1E  
20  
22  
24  
26  
28  
2A  
2C  
2E  
LLID-LLT TABLE POINTER  
INTERRUPT QUEUE POINTER  
INTERRUPT QUEUE LENGTH  
POOL TABLE POINTER  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
Figure 2-2. GCB Format-Constants  
2-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
HEX  
DISPLACEMENT  
15  
8
7
0
30  
32  
34  
36  
38  
3A  
3C  
3E  
40  
42  
44  
46  
48  
4A  
4C  
4E  
50  
52  
54  
56  
58  
5A  
5C  
5E  
PAD TIME SELECT  
NONSTANDARD CONTROL  
T203 VALUE  
N200 VALUE  
I FRAME RETRANSMIT THRESHOLD  
REJ TRANSMIT THRESHOLD  
REJ RECEIVE THRESHOLD  
RNR TRANSMIT THRESHOLD  
RNR RECEIVE THRESHOLD  
CTS TIMEOUT THRESHOLD  
SCAN LENGTH I QUEUE 0  
SCAN LENGTH I QUEUE 1  
SCAN LENGTH I QUEUE 2  
SCAN LENGTH I QUEUE 3  
SCAN LENGTH XID/UI QUEUE 0  
SCAN LENGTH XID/UI QUEUE 1  
INTERRUPT MASK  
PROTOCOL ERROR MASK  
NONPROTOCOL ERROR MASK  
FILTER MASK  
FILTER MATCH  
RESERVED  
RESERVED  
RESERVED  
Figure 2-3. GCB Format-Reloadable Variables  
2.1.1 Constants Area  
The length of this area is 48 bytes from '0' hex to '2F' hex. The MLAPD reads all constant  
entries at initialization (INIT command) and stores them internally. The MLAPD has an inter-  
nal register corresponding to each entry with the same name. If the user wishes to change  
any of these constants, an INIT command must be issued directing the MLAPD to reload the  
entire GCB.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-3  
Memory Structures  
HEX  
DISPLACEMENT  
15  
8
7
0
60  
62  
64  
66  
68  
6A  
6C  
6E  
70  
72  
74  
76  
78  
7A  
7C  
7E  
RxFIF0 OVERRUN THRESHOLD  
TxFIF0 UNDERRUN THRESHOLD  
INACTIVE DLCI THRESHOLD  
INVALID ADDRESS THRESHOLD  
DISCARDED FRAME THRESHOLD  
SHORT FRAME THRESHOLD  
CRC ERROR THRESHOLD  
ABORT/NONOCTET THRESHOLD  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
RESERVED  
Figure 2-4. GCB Format-Statistics Threshold  
HEX  
DISPLACEMENT  
15  
8
7
0
80  
82  
84  
86  
88  
8A  
8C  
8E  
COMMAND ARGUMENT 1  
COMMAND ARGUMENT 2  
COMMAND ARGUMENT 3  
RESERVED  
RESERVED  
RESERVE  
Figure 2-5. GCB Format-Command Arguments  
2-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
15  
8
7
0
90  
92  
94  
96  
98  
9A  
9C  
9E  
A0  
A2  
A4  
A6  
A8  
AA  
USER INTERRUPT QUEUE READ POINTER  
USER GLOBAL XID/UI Tx NEXT CONFIRM POINTER  
USER GLOBAL XID/UI Tx LAST QUEUED POINTER  
USER XID/UI_0 Tx NEXT CONFIRM POINTER  
USER XID/UI_0 Tx LAST QUEUED POINTER  
USER XID/UI-1 Tx NEXT CONFIRMED POINTER  
USER XID/UI-1 Tx LAST QUEUED POINTER  
Figure 2-6. GCB-User Area  
2.1.1.1 OPTION BITS 1. The option-bits-1 word defines user programmable options as fol-  
lows:  
15  
0
14  
0
13  
1 2  
11  
10  
9
8
SERIAL  
ECHO  
SELECT  
ZERO  
INSERT  
RTS  
SELECT  
ZERO  
DELETE  
INTERNAL  
SELECT  
BURST  
CONTROL SELECT  
7
0
6
0
5
4
3
2
1
0
PROMIS-  
CUOUS  
RECEIVE  
SELECT  
MEMORY  
TO  
MEMORY  
Tx  
FRMR  
SELECT  
FILTER  
SELECT  
POLLING  
SELECT  
SYSTEM  
MODE  
Bits 15 and 14 are not used.  
These bits must be set to zero by the host.  
Serial-echo-select (bit 13)  
1
RxD and TxD pins are connected internally, causing any data received from the  
network on RxD to be retransmitted to the network on TxD. (The MLAPD receiver  
and transmitter are not connected to the RxD and TxD.)  
0
RxD and TxD are not connected internally to echo data back to the network.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-5  
Memory Structures  
RTS-select (bit 12)  
This bit is meaningful only when the zero-insertion-select bit (bit 8) in the option-bits-1 en-  
try is set to zero. Otherwise, RTS-select is not used and must be set to zero.  
1
RTS is asserted the first time a DL_DATA-REQUEST, GLOBAL-XID/UI-RE-  
QUEST, XID/UI-QUEUE-0-REQUEST, or XID/UI-QUEUE-1-REQUEST command  
is issued following INIT. RTS remains asserted until a RESET or INIT command is  
issued.  
0
RTS is asserted only when there is a pending transmit frame. When no transmit  
frames are queued, RTS is negated.  
Zero-deletion-select (bit 1 1)  
1
No zero deletion is performed on the receive bit stream. The CTS signal now op-  
erates as the RSTART input for the MLAPD receiver. See 10.1.1.2 Clear-to-Send  
(CTS) or Receive Start (RSTART).  
0
Zero deletion is performed on the receive bit stream.  
Internal-loopback-select (bit 10)  
1
Internal loopback is enabled. The MLAPD transmitter is connected to the MLAPD  
receiver. The transmitter is not connected to TxD, and the receiver is not connected  
to RxD. RTS is not asserted. TxCLK is used to synchronize the data.  
0
Internal loopback is disabled. The MLAPD transmitter is not connected to the  
MLAPD receiver.  
Burst-control (bit 9)  
1
0
Each MLAPD DMA burst is limited to eight successive memory cycles.  
Each MLAPD DMA burst is unlimited.  
Zero-insertion-select (bit 8)  
1
No zero insertion is performed on the transmit bit stream. The RTS output now op-  
erates as the TSTART output signal for the MLAPD transmitter. See 10.1.1.1 Re-  
quest-to-Send (RTS) or Transmit Start (TSTART).  
0
Zero insertion is performed on the transmit bit stream.  
Bits 7 and 6 are not used.  
These bits must be set to zero.  
Memory-to-memory select (bit 5)  
1
Memory-to-memory mode is enabled. In this mode the MLAPD performs the LAPD  
procedures for memory-resident receive and transmit frames. See 9.6 Memory-to-  
Memory Operation.  
0
Memory-to-memory mode is disabled.  
2-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
Promiscuous-receive-select (bit 4)  
1
Promiscuous receive is enabled. In this mode the MLAPD receives all incoming  
frames. No address recognition is performed. The MLAPD places all receive  
frames in the receive pool assigned to DLCI = 0. When promiscuous receive is en-  
abled, the user must assign the link with DLCI = 0 to operate in nonprotocol mode.  
See 9.2 Promiscuous Receive Mode. The MLAPD transmitter operation is not af-  
fected by this bit. All transmitter functions are still available.  
0
Promiscuous receive is disabled. In this mode, address matching is performed on  
the incoming DLCIs, and the MLAPD may perform LAPD processing for the re-  
ceived frames.  
Filter-select (bit 3)  
This bit is meaningful only when the promiscuous-receive-select bit (bit 4) in the option-  
bits-1 entry is set to one. Otherwise, this bit is not used and must be set to zero.  
1
0
Filtering is enabled on the incoming frames. See 9.2.2 Filter Mode.  
Filtering is disabled.  
Polling-select (bit 2)  
1
Polling enabled. Interrupting events are reported via the Interrupt Queue, but IRQ  
(INTR) is not asserted. In the case of a bus/address error condition, however, the  
MLAPD will assert IRQ (INTR). This action addresses the possibility that a bus/ ad-  
dress error may occur during an access to the Interrupt Queue. When polling mode  
is selected, the host must periodically scan the Interrupt Queue.  
0
External interrupt indication enabled. Interrupting events are reported via the Inter-  
rupt Queue and IRQ (INTR) is asserted.  
Tx-FRMR-select (bit 1)  
1
Transmission of a FRMR frame is enabled when a FRMR condition is determined.  
See 8.11.1 Frame Reject Mode.  
0
Transmission of a FRMR frame is disabled when a FRMR condition is determined.  
System-mode (bit 0)  
1
On-chip system operation mode enabled. Up to 16 logical links are supported via  
on-chip CAM. An external Match Table is not supported. This system mode should  
be selected for a system designed to support 16 or fewer logical links. The on-chip  
operation mode uses less external memory resources, i.e. the 8K-word Match Ta-  
ble is not required.  
0
Expanded-system operation mode enabled. Up to 8192 logical links are supported.  
An external 8K-word Match Table is required. To reduce external memory require-  
ments, the host must always assign the lowest available LLID when activating a  
logical link.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-7  
Memory Structures  
2.1.1.2 OPTION BITS 2. The option-bits-2 word defines user programmable options as fol-  
lows:  
15  
14  
0
13  
0
12  
0
11  
0
10  
0
9
0
8
0
7
0
6
0
5
0
4
3
2
1
0
CCITT/  
DMI  
SELECT  
LINK  
RETRANSMIT  
MULTI-  
BUFFER  
SELECT  
FLIP  
SELECT  
STATISTICS STATISTICS  
SELECT SELECT  
Bits 15 thru 5 are not used.  
These bits must be set to zero.  
CCITT/DMI-select (bit 4)  
1
The MLAPD implements the LAPD protocol as defined by CCITT Recommenda-  
tion Q.920/Q.921. See 8.11.2 CCITT/DMI Mode.  
0
The MLAPD implements the LAPD protocol as defined by DMI. See 8.11.2 CCITT/  
DMI Mode.  
Flip-select (bit 3)  
1
Flipping is enabled. The MLAPD inverts the least significant bit of the DLCI for each  
receive frame. By altering the frame address, the user can perform a system loop-  
back (either internal or external) where the user software and the MLAPD operate  
as though a connection has been established with a remote station. Since the  
transmit and receive addresses are different, the MLAPD can implement the LAPD  
procedures for these two logical links.  
0
Flipping is disabled.  
Link_statistics_select (bit 2)  
1
Link statistics are enabled. For every link assigned as a LAPD protocol link, the  
MLAPD maintains four down counters which record the number of transmitted  
RNR frames, transmitted REJ frames, received RNR frames, and received REJ  
frames. The user specifies threshold values for each counter via the corresponding  
GCB entries.  
0
Link statistics are disabled.  
Retransmit-statistics-select (bit 1)  
1
Retransmit statistics are enabled. For each I frame, the MLAPD maintains an up  
counter that counts how many times the I frame is retransmitted. This count is re-  
corded in its transmit frame descriptor.  
0
Retransmit statistics are disabled.  
2-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
Multibuffer_select (bit 0)  
This bit is meaningful only for links assigned as nonprotocol. This bit does not affect the  
receive process for protocol links, regardless of its value.  
1
The MLAPD will use more than one receive memory buffer as necessary to store  
an incoming frame.  
0
The MLAPD will only use a single receive memory buffer to store an incoming  
frame. When the buffer is not large enough to store the entire frame, the frame may  
or may not be received based upon the nonprotocol-error-mask entry.  
2.1.1.3 MATCH TABLE POINTER. This 32-bit GCB entry is the address of the first word of  
the Match Table. The match-table-pointer is loaded into the match-table-pointer register by  
the MLAPD during execution of the INIT command. The host must zero the Match Table  
area before presenting the area to the MLAPD.  
2.1.1.4 L2 QUEUE POINTER. This 32-bit GCB entry is the address of the first word of the  
Level 2 (L-2) Queue in memory. This pointer is loaded into the L2-queue-pointer register by  
the MLAPD during the execution of the INIT command.  
2.1.1.5 L2 QUEUE LENGTH. The number of words allocated by the host for the Level 2  
Queue in external memory is contained in this 16-bit GCB entry. The value of  
{(L2_queue_length-5 words) x 2) is loaded into the L2_tail_displacement register during  
execution of the INIT command. The maximum value for L2_queue_length is 2^15-1 words;  
so the host must set bit 15 to zero in this entry. It is recommended that the host provide a  
minimum of 128 words for the external Level 2 Queue. Internally, the MLAPD provides 32  
words in on-chip system mode or 48 words in expanded-system mode for the Level 2  
Queue. The external Level 2 Queue is only used when the internal queue is filled with pend-  
ing frames to minimize shared memory accesses.  
2.1.1.6 TIMER TABLE POINTER. This 32-bit GCB entry is the address of the first word of  
the Timer Table in memory. This pointer is loaded into the timer-table-pointer register by the  
MLAPD during the execution of the INIT command. The host must zero the Timer Table area  
before presenting the area to the MLAPD. The Timer Table length (in words) must not be  
less than the maximum LLID number, which may be assigned to any logical link by higher  
layer software.  
2.1.1.7 LLID-LLT TABLE POINTER. This 32-bit GCB entry is the address of the first word  
of the LLID-LLT Table. This pointer is loaded into the LLID_LLT_table_pointer register by  
the MLAPD during execution of the INIT command.  
2.1.1.8 INTERRUPT QUEUE POINTER. The 32-bit address of the first word of the Interrupt  
Queue is contained in this GCB entry. The MLAPD loads the interrupt-queue-pointer into the  
interrupt-queue-pointer register during the execution of the INIT command. The host must  
zero the Interrupt Queue before presenting the area to the MLAPD.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-9  
Memory Structures  
2.1.1.9 INTERRUPT QUEUE LENGTH. The number of entries in the Interrupt Queue is  
contained in this 14-bit GCB entry. Bits 15-14 are not used and must be set to zero. Each  
entry consists of two words. The size of the queue is defined by the user, based on the inter-  
rupt response time of the host and the expected occurrence of interrupting events. The Inter-  
rupt Queue may support up to 16K interrupt entries. The value of {interrupt-queue-pointer +  
(4 x interrupt-queue-length)-2 words} is loaded into the interrupt-queue-tail-pointer register  
during the execution of the INIT command.  
2.1.1.10 POOL TABLE POINTER. This 32-bit GCB entry is the address of the Receive  
Pool Pointers Table in memory. This pointer is loaded into the pool-table-pointer register by  
the MLAPD during execution of the INIT command. Since the MLAPD stores the pointers for  
receive pools 0 to 15 on-chip, the first receive_pool_pointer in the memory table corre-  
sponds to receive pool 16. The host must allocate enough memory for the Receive Pool  
Pointers Table to accommodate pointers for all receive pools that will be assigned to the var-  
ious logical links by higher level software.  
2.1.2 Reloadable Variables Area  
The length of this area is 48 bytes from '30' hex to '5F' hex. The MLAPD reads these reload-  
able entries at initialization (INIT command) and stores them internally. The MLAPD has an  
internal register corresponding to each entry with the same name. The user can change any  
of these constants while the MLAPD is in the on-line state and then issue a RELOAD com-  
mand to cause the MLAPD to reload this portion of the GCB into its internal registers.  
2.1.2.1 PAD TIME SELECT. The 8-bit pad_time_select specifies the minimum number of  
flags to be transmitted before a frame. When a frame is awaiting transmission and a pad  
value of zero is programmed, the MLAPD transmits only a terminating flag to indicate the  
end of the current frame and a beginning flag to indicate the start of the next frame. Addi-  
tional flags may be transmitted if frame transmission cannot begin for a protocol link  
because less than 6 bytes of data have been transferred to the internal transmit first-in first-  
out (FIFO). Additional flags may be transmitted if frame transmission cannot begin for a non-  
protocol link because 1) less than 10 bytes of data have been transferred to the internal  
transmit FIFO when the transmit_address_enable bit in the frame descriptor is set to zero or  
2) less than eight bytes of data have been transferred to the internal transmit FIFO when  
transmit_address_enable is set to one.  
2.1.2.2 NONSTANDARD CONTROL . This 16-bit GCB entry may specify a control field  
which is not defined by the LAPD frame structure. When an incoming unnumbered (U) frame  
contains this nonstandard-control field, the MLAPD will accept the frame. The MLAPD takes  
no protocol action on receipt of this frame. A frame reject (FRMR) condition is not estab-  
lished unless the information field exceeds the negotiated N201 for this link.  
2-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
The MLAPD implements this feature when bits 0 and 1 of the incoming frame's control field  
identify the frame as an U frame and the remaining bits in the control field do not correspond  
to a LAPD-defined U frame. (The specified bit numbersconsiderthatthecontrol field bits are  
numbered from 0-7, not 1-8 as found in CCITT documents.) The MLAPD then compares the  
M bits in the frame's control field (see format following) against the corresponding bits in the  
user-specified nonstandard-control entry and checks whether the frame is a command or  
response frame. When the frame's control field matches this entry and the frame is either a  
command or response frame as specified by the user, the MLAPD accepts the frame. The  
MLAPD identifies the frame as either a nonstandard-control command frame or a nonstand-  
ard-control response frame in the receive frame descriptor and places the data field (if any)  
in the addressed logical link's receive queue.  
All the M bits are user-defined. The user sets bit 8 (C in the format) to one allowing the  
MLAPD to receive a command frame with this nonstandard-control field and bit 9 (R in the  
format) to one allowing the MLAPD to receive a response frame with this nonstandard-con-  
trol field. The value of bit 4, the poll/final (P/F) bit, is don't care. The MLAPD will accept  
frames with the P/F bit set to zero or one, but the state of the P/F bit is not reported to Level  
3. When the user does not wish to accept any nonstandard LAPD U frames, the nonstand-  
ard-control entry must be set to zero.  
When the user wishes to transmit a frame with a nonstandard control field, the low-order  
eight bits of this GCB entry specify the encoding of the control field. The frame-type entry in  
the transmit frame descriptor selects either a nonstandard-control command or response  
frame type, with the P/F bit set to zero or one. During transmission, the MLAPD provides the  
frame address and the control field.  
15  
X
14  
X
13  
X
12  
X
11  
X
10  
X
9
8
R
C
7
6
5
4
3
2
1
1
0
1
M
M
M
X
M
M
nonstandard control field encoding  
X = don't care  
R = response frame  
C = command frame  
M = match bits  
2.1.2.3 T203 VALUE. The nine least significant bits of this 16-bit GCB entry define the max-  
imum time that an established link may be inactive (carries no frames). The CCITT default  
value for T203 is 60 seconds. If F is the MLAPD system clock frequency and T is the desired  
T203 timer value in seconds, then the value to be loaded into this entry is determined by the  
following equation:  
MOTOROLA  
MC68606 USER’S MANUAL  
2-11  
Memory Structures  
20  
T203_value = (Tx F)/(2 X 10)  
Example 1: T = 10 sec, F = 10 MHz  
6
20  
10 x 10 x 10 /2 X 10 = 9.53  
T203_value = 9 or 10 decimal  
Example 2: T = 100 sec, F = 16.67 MHz  
6
20  
1 00 x 16.67 x 10 /2 X 1 0 = 158.94  
T203_value = 159 decimal  
2.1.2.4 I FRAME RETRANSMIT THRESHOLD. This 8-bit GCB entry defines the maximum  
number of times the MLAPD will retransmit an I frame before issuing an interrupt. This value  
ranges from 1 to 256. When this entry is set to all zeros, the MLAPD will retransmit an I frame  
256 times before issuing an interrupt. Retransmission may continue after the interrupt is  
issued, according to the LAPD procedures.  
2.1.2.5 N200 VALUE. The least significant five bits of this 8-bit GCB entry define the max-  
imum number of times the MLAPD will retransmit a supervisory (S) command frame or a U  
command frame. After N200 retransmissions, the MLAPD issues an MDL_error_indication  
interrupt unless masked by the user. The CCITT default value for N200 is three. This value  
ranges from 0 to 31.  
2.1.2.6 REJ TRANSMIT THRESHOLD. This 8-bit GCB entry defines the number of reject  
(REJ) frames transmitted, per link, that are required to generate an interrupt. When this  
threshold is reached on any link, an interrupt is issued. Once an entry is written into the Inter-  
rupt Queue, the REJ transmit frame counter for this logical link is reinitialized. REJ transmit  
frame counters on other links are not affected. The range of the threshold value is from 1 to  
256. When this entry is set to all zeros, the MLAPD considers the threshold to be 256.  
2.1.2.7 RNR TRANSMIT THRESHOLD. This 8-bit GCB entry defines the number of  
receive- not-ready (RNR) frames transmitted, per link, that are required to generate an inter-  
rupt. When this threshold is reached on any link, an interrupt is issued. Once an entry is writ-  
ten into the Interrupt Queue, the RNR transmit frame counter for this logical link is  
reinitialized. RNR transmit frame counters on other links are not affected. The range of the  
threshold value is from 1 to 256. When this entry is set to all zeros, the MLAPD considers the  
threshold to be 256.  
2-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.1.2.8 REJ RECEIVE THRESHOLD. This 8-bit GCB entry defines the number of REJ  
frames received, per link, that are required to generate an interrupt. When this threshold is  
reached on any link, an interrupt is issued. Once an entry is written into the Interrupt Queue,  
the REJ receive frame counter for this logical link is reinitialized. REJ receive frame counters  
on other links are not affected. The range of the threshold value is from 1 to 256. When this  
entry is set to all zeros, the MLAPD considers the threshold to be 256.  
2.1.2.9RNR RECEIVE THRESHOLD . This 8-bit GCB entry defines the number of RNR  
frames received, per link, that are required to generate an interrupt. When this threshold is  
reached on any link, an interrupt is issued. Once an entry is written into the Interrupt Queue,  
the RNR receive frame counter for this logical link is reinitialized. RNR receive frame  
counters on other links are not affected. The range of the threshold value is from 1 to 256.  
When this entry is set to all zeros, the MLAPD considers the threshold to be 256.  
2.1.2.10 CTS TIMEOUT THRESHOLD. This 16_bit GCB entry allows the user to program  
the time period that the MLAPD waits for clear_to_send (CTS) to be asserted after asserting  
request_to_send (RTS). This time period is determined by (CTS_timeout_threshold X 2048)  
transmit clock (TxCLK) cycles. After this period expires, the MLAPD issues a  
CTS_threshold_reached interrupt. The CTS_timeout_counter is then reinitialized to the  
threshold value and counting begins again. Additional interrupts continue to be issued  
whenever the time period expires, until CTS is asserted. When a value of zero is pro-  
grammed by the user, the MLAPD will wait ('10000' hex x 2048) TxCLK cycles for CTS to be  
asserted.  
2.1.2.11 SCAN LENGTH I QUEUE 0. This 16-bit GCB entry contains the maximum num-  
ber of frames from transmit information (1) frame Queue_0 to be transmitted before switch-  
ing service to I frame Queue_1. The value ranges from 0 to 64K-1. When the scan-length for  
I Queue_0 is defined as zero, the corresponding I frame queue is never serviced. In this way  
the user can implement fewer queues for I frame transmission.  
2.1.2.12 SCAN LENGTH I QUEUE 1. This 16-bit GCB entry contains the maximum num-  
ber of frames from I frame Queue_1 to be transmitted before switching service to I frame  
Queue_2. The value ranges from 0 to 64K-1. When the scan-length for I Queue_1 is defined  
as zero, the corresponding I frame queue is never serviced. In this way the user can imple-  
ment fewer queues for I frame transmission.  
2.1.2.13 SCAN LENGTH I QUEUE 2. This 16-bit GCB entry contains the maximum num-  
ber of frames from I frame Queue_2 to be transmitted before switching service to I frame  
Queue_3. The value ranges from 0 to 64K-1. When the scan-length for I Queue_2 is defined  
as zero, the corresponding I frame queue is never serviced. In this way the user can imple-  
ment fewer queues for I frame transmission.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-13  
Memory Structures  
2.1.2.14 SCAN LENGTH I QUEUE 3. This 16-bit GCB entry contains the maximum num-  
ber of frames from I frame Queue_3 to be transmitted before switching service to transmit  
exchange identification/unnumbered information (XID/UI) frames from XID/UI Queue_0.  
The value ranges from 0 to 64K-1. When the scan-length for I Queue_3 is defined as zero,  
the corresponding I frame queue is never serviced. In this way the user can implement fewer  
queues for I frame transmission.  
2.1.2.15 SCAN LENGTH XID/UI QUEUE 0. This 16-bit GCB entry contains the maximum  
number of frames from XID/UI Queue_0 to be transmitted before switching service to XID/  
UI Queue_1. The value ranges from 0 to 64K-1. When the scan-length for XID/UI Queue_0  
is defined as zero, the corresponding XID/UI frame queue is never serviced. In this way the  
user can implement fewer queues for XID/UI frame transmission.  
2.1.2.16 SCAN LENGTH XID/UI QUEUE 1. This 16-bit GCB entry contains the maximum  
number of frames from the XID/UI Queue_1 to be transmitted before switching service to I  
frame Queue_0. The value ranges from 0 to 64K-1. When the scan-length for XID/UI  
Queue_1 is defined as zero, the corresponding XID/UI frame queue is never serviced. In this  
way the user can implement fewer queues for XID/UI frame transmission.  
2.1.2.17 INTERRUPT MASK. This 32-bit GCB entry contains the MLAPD interrupt mask,  
where each bit of the mask corresponds to one interrupt condition. Figure 2-7 shows the  
interrupt mask bits. 2.8.1 Interrupt Events defines the interrupt events. If a bit is set to one  
in this mask and the corresponding interrupt condition occurs, then an entry is written into  
the Interrupt Queue. IRQ (INTR) is also asserted (if it is not already asserted), if polling-  
select is set to zero. If the mask bit is zero and the corresponding interrupt event occurs, the  
Interrupt Queue is not updated and no interrupt request is generated. Bus/address_error  
and interrupt_queue_overflow interrupt conditions cannot be masked by the host.  
2.1.2.18 PROTOCOL ERROR MASK. As a frame is received, the MLAPID stores any  
associated data field into a receive buffer. If an error is detected during reception, the  
MLAPID usually discards any stored data by overwriting this data in the receive buffer with  
data from a subsequently received frame. Alternately, to allow the user to save these erro-  
neous frames for inspection, the MLAPD supports an error mask.  
When a receive frame contains multiple errors, the MLAPID checks the error mask for the  
errors detected according to the following order:  
1. RxFIFO overrun  
2. Abort/nonoctet  
3. CRC error  
4. Buffer length exceeded (N201 error)  
If an error occurs and the mask bit is set, the MLAPD saves the frame and the corresponding  
error counter is not decremented. All errors are reported in the receive frame descriptor  
error-code entry. Table 2-1 provides examples of the logic used by the MLAPD when saving  
a frame.  
2-14  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
31  
0
30  
29  
28  
0
27  
26  
25  
DL  
24  
DL  
UNDEFINED  
HOST  
COMMAND  
MDL  
ERROR  
INDICATION  
DL  
RELEASE  
DL  
RELEASE  
ESTABLISH  
ESTABLISH  
INDICATION CONFIRMATION INDICATION CONFIRMATION  
23  
22  
21  
20  
19  
18  
17  
16  
GLOBAL  
XID/Ul  
XID/Ul  
QUEUE-1  
XID/Ul  
QUEUE-1  
DL  
DATA  
REMOTE  
STATUS  
CONFIRMATION INDICATION  
MDL  
ASSIGN  
DATA  
INDICATION  
LOCAL  
BUSY  
CONFIRMATIONCONFIRMATIONCONFIRMATIONCONFIRMATION  
15  
0
14  
13  
12  
11  
10  
9
8
I FRAME  
RETRANSMIT  
THRESHOLD  
REACHED  
LINK  
ERROR  
THRESHOLD  
REACHED  
L2  
QUEUE  
OVERFLOW  
TIMEOUT  
THRESHOLD  
REACHED CTS  
CAM  
OVERFLOW  
POOL  
RED LINE  
CTS  
LOST  
7
6
5
4
3
2
1
0
ABORT/  
NONOCTET  
THRESHOLD  
REACHED  
CRC  
ERROR  
THRESHOLD  
REACHED  
SHORT  
FRAME  
THRESHOLD  
REACHED  
DISCARDED  
FRAME  
THRESHOLD  
REACHED  
INVALID  
ADDRESS  
THRESHOLD  
REACHED  
INACTIVE  
DLCI  
THRESHOLD  
REACHED  
TxFIFO  
RxFIFO  
UNDERRUN  
THRESHOLD  
REACHED  
OVERFIRUN  
THRESHOLD  
REACHED  
Figure 2-7. Interrupt Mask Bits  
The least significant four bits of this 16-bit GCB entry contain a mask for four possible  
receive errors. This mask is used by the MLAPD during frame reception when two conditions  
are met:  
1. The error_mask_valid bit in the addressed link's LLT receive-pool-number entry is set  
to one, and  
2. The addressed link is in protocol mode.  
Table 2-1. Examples of Error Mask Handling  
Errors Detected in  
the Receive Frame  
Error Mask Bits  
Frame Saved  
in Memory?  
OVERRUN ABORT CRC  
N201  
OVERRUN ABORT CRC  
N201  
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
1
0
0
Yes  
No  
Yes  
No  
Yes  
No  
Yes  
Yes  
MOTOROLA  
MC68606 USER’S MANUAL  
2-15  
Memory Structures  
The protocol_error_mask bits are defined as follows:  
Bits 15-4 are not used.  
These bits must be set to zero.  
Buffer_length_exceeded (bit 3)  
1
Receive frames which exceed the negotiated N201 value are accepted. If  
N201_value is even, then N201 data bytes are stored in the receive buffer. If  
N201_value is odd, then N201-1 data bytes are stored in the receive buffer. Any  
remaining bytes are discarded.  
0
Receive frames which exceed the negotiated N201 value are discarded.  
RxFIFO_overrun (bit 2)  
1
Receive frames which cause a receive FIFO overrun condition are accepted. The  
data length in the receive frame descriptor is the number of data bytes that were  
placed in the data buffer before the overrun occurred. For the definition of an over-  
run condition see 2.1.3.1 RxFIFO Overrun Threshold.  
0
Receive frames which cause a receive FIFO overrun condition are discarded.  
Abort/nonoctet (bit 1)  
1
Receive frames which are nonoctet aligned or receive frames which are aborted  
are accepted. The data is placed into the memory buffer as it is received. The last  
word, which contains the residual data bits, is not transferred to memory. The  
MLAPD does not give any indication as to the number of received residual bits.  
0
Receive frames Which are nonoctet aligned or receive frames which are aborted  
are discarded.  
CRC_error (bit 0)  
1
0
Receive frames with CRC error are accepted.  
Receive frames with CRC error are discarded.  
2.1.2.19 NONPROTOCOL ERROR MASK. As a frame is received for a nonprotocol link,  
the MLAPD places the entire frame into a receive buffer. If a receive error is detected during  
reception, the MLAPD usually discards the frame by overwriting any bytes in the receive  
buffer with a subsequently received frame. Alternately, to allow the user to save these erro-  
neous frames for inspection, the MLAPD supports an error mask.  
When a receive frame contains multiple errors, the MLAPD checks the error mask for the,  
errors detected according to the following order:  
1. RxFIFO overrun  
2. Abort/nonoctet  
3. CRC error  
4. Buffer length exceeded (N201 error)  
If one or more errors is detected and one of the corresponding error mask bits is set, then the  
MLAPD saves the frame and does not decrement the corresponding error counters. If one or  
2-16  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
more errors is detected and none of the corresponding error mask bits is set, then the  
MLAPD discards the frame and decrements the corresponding error counters. All errors are  
reported in the receive frame descriptor error_code_entry. Table 2-1 provides examples of  
the logic used by the MLAPD when saving a frame.  
The least significant four bits of this 16-bit GCB entry contain a mask for four possible  
receive errors. This mask is used by the MLAPD during frame reception when two conditions  
are met:  
1. The error_mask_valid bit in the addressed link's LLT pool-number entry is set to one,  
and  
2. The addressed link is assigned to nonprotocol mode.  
The nonprotocol-error-mask bits are defined as follows:  
Bits 15-4 are not used.  
These bits must be set to zero.  
Buffer_length_exceeded (bit 3)  
1
When the GCB multibuffer_select bit is set to zero, receive frames which exceed  
the specified N201 value are accepted. N201 bytes are stored in the receive buffer.  
When multibuffer_select is set to one and the receive pool becomes empty while  
receiving a frame, the partially received frame is placed into the receive queue and  
both the first and last frame descriptors for this frame are marked with the  
buffer_length_exceeded encoding.  
0
When the GCB multibuffer_select bit is set to zero, receive frames which exceed  
the specified N201 value are discarded. When multibuffer-select is set to one and  
the receive pool becomes empty while receiving a frame, the partially received  
frame is not placed in the receive queue. Its buffers are returned to the receive  
pool.  
RxFIFO_overrun (bit 2)  
1
Receive frames which cause a receive FIFO overrun condition are accepted. The  
data length in the receive frame descriptor is the number of bytes that were placed  
in the receive buffer before the overrun occurred. For the definition of an overrun  
condition see 2.1.3.1 RxFIFO Overrun Threshold.  
0
Receive frames which cause a receive FIFO overrun condition are discarded.  
Abort/nonoctet (bit 1)  
1
Receive frames which are nonoctet aligned or receive frames which are aborted  
are accepted. The information between the opening and closing flag is placed into  
the memory buffer as it is received. The data-length entry in the frame descriptor  
includes the two bytes of CRC (or, in other words, the last two bytes of the frame).  
The last word or byte contains the residual bits. The MLAPD does not give any in-  
dication as to the number of received residual bits. Also, the MLAPD does not pad  
out the last word or byte with a predictable bit pattern.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-17  
Memory Structures  
0
Receive frames which are nonoctet aligned or receive frames which are aborted  
are discarded.  
CRC-error (bit 0)  
1
0
Receive frames with CRC error are accepted.  
Receive frames with CRC error are discarded.  
2.1.2.20 FILTER MASK AND FILTER MATCH. These 32-bit GCB entries are meaningful  
only hen the promiscuous_receive_select bit is set to one and the filter-select bit is set to  
one. Otherwise, these entries are not used and should be set to zero. The filter-mask entry  
combined with the filter-match entry allow the user to selectively accept frames from the link  
based upon the first 32-bits of each frame. See 9.2.2 Filter Mode.  
2.1.3 Statistics Threshold Area  
The length of this area is 32 bytes from '60' (hex) to '7F' (hex). The MLAPD reads these  
entries at initialization (INIT command) and stores them internally. The MLAPD has an inter-  
nal register with the same name that corresponds to each entry and is used as a down  
counter. When the counter reaches zero, an interrupt is generated, and an entry is written  
into the Interrupt Queue. The internal register is then reinitialized to the threshold value. The  
user can change any of these thresholds while the MLAPD is in the on-line state by issuing  
a PRESET-STATISTICS command to cause the MLAPD to reinitialize each counter to the  
new threshold values specified in the GCB. The user can view the status of these error  
counters by issuing a DUMP-STATISTICS command.  
2.1.3.1 RXFIFO OVERRUN THRESHOLD. This 16-bit GCB entry contains the number of  
receive FIFO (RxFIFO) overrun conditions that must occur before the MLAPD generates an  
interrupt. An overrun condition occurs when the MLAPD attempts to write to its RxFIFO dur-  
ing frame reception and the FIFO is full. An overrun indicates that the MLAPD was unable to  
DMA (direct memory access) information from the RxFIFO into memory buffers quickly  
enough to keep up with the serial bit rate. If this condition occurs frequently, it indicates that  
the MLAPD is not receiving sufficient system bus bandwidth. When this entry is set to all  
16  
zeros, the MLAPD considers the threshold to be 2 .  
2.1.3.2 TXFIFO UNDERRUN THRESHOLD. This 16-bit GCB entry contains the number of  
transmit FIFO (TxFIFO) underrun conditions that must occur before the MLAPD generates  
an interrupt. An underrun condition occurs when the MLAPD transmit task attempts to read  
from an empty TxFIFO during frame transmission. The MLAPD sends an abort sequence  
(seven consecutive ones) to terminate the frame. An underrun condition indicates that the  
MLAPD was unable to DMA information from the transmit memory buffer into the TxFIFO  
quickly enough to keep up with the serial bit rate. If this condition occurs frequently, it indi-  
cates that the MLAPD is not receiving sufficient system bus bandwidth. When this entry is  
16  
set to all zeros, the MLAPD considers the threshold to be 2 .  
2-18  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.1.3.3 INACTIVE DLCI THRESHOLD. This 16-bit GCB entry contains the number of  
frames that must be received with an inactive Data-Link_Connection Identifier (DLCI) before  
the MLAPD generates an interrupt. The MLAPD determines whether a DLCI is active by  
accessing the external Match Table in expanded-system operation mode or by accessing  
the internal content addressable memory (CAM) in on-chip system operation mode. When  
16  
this entry is set to all zeros, the MLAPD considers the threshold to be 2 .  
2.1.3.4 INVALID ADDRESS THRESHOLD . This 16-bit GCB entry contains the number of  
frames that must be received with an invalid address structure before the MLAPD generates  
an interrupt. This address structure only applies to links assigned to LAPD operation. An  
invalid address structure is defined as any address structure other than the following:  
1 5  
x
14  
x
13  
x
12  
x
11  
x
10  
x
9
x
8
1
7
6
5
4
3
2
1
0
0
X
X
X
X
X
X
X
X = don't care  
16  
When this entry is set to all zeros, the MLAPD considers the threshold to be 2 .  
2.1.3.5 DISCARDED FRAME THRESHOLD. This 16-bit GCB entry contains the number of  
frames that must be discarded (due to the lack of receive data buffers) before the MLAPD  
generates an interrupt. When this entry is set to all zeros, the MLAPD considers the thresh-  
16  
old to be 2 .  
2.1.3.6 SHORT FRAME THRESHOLD. This 16-bit GCB entry contains the number of  
LAPD frames with less than five bytes between flags that must be received before the  
MLAPD generates an interrupt. When this entry is set to all zeros, the MLAPD considers the  
16  
threshold to be 2 .  
2.1.3.7 CRC ERROR THRESHOLD. This 16-bit GCB entry contains the number of frames  
received with cyclical redundancy check (CRC) error that are required to generate an inter-  
rupt. Because the DLCI of a frame with a CRC error may not be correct, it is meaningless to  
post CRC errors to individual DLCIs. Therefore, the counting of frames with CRC errors is  
handled on a global basis. When this entry is set to all zeros, the MLAPD considers the  
16  
threshold to be 2 .  
2.1.3.8 ABORT OR NONOCTET THRESHOLD . This 16-bit GCB entry contains the num-  
ber of aborted frames or nonoctet aligned frames that must be received before the MLAPD  
generates an interrupt. When this entry is set to all zeros, the MLAPD considers the thresh-  
16  
old to be 2 .  
MOTOROLA  
MC68606 USER’S MANUAL  
2-19  
Memory Structures  
2.1.4 Command Arguments Area  
The length of this area is 16 bytes from '80' (hex) to '8F' (hex). Some MLAPD commands  
require one or more arguments. The host writes the arguments) into this area before issuing  
the command. Each MLAPD command individually defines the usage of these three argu-  
ments, if required.  
2.1.4.1 COMMAND ARGUMENT 1. This GCB entry may contain a 16-bit argument asso-  
ciated with a host command.  
2.1.4.2 COMMAND ARGUMENT 2. This GCB entry may contain a 32-bit pointer argument  
associated with a host command.  
2.1.4.3 COMMAND ARGUMENT 3. This GCB entry may contain a 32-bit pointer argument  
associated with a host command.  
2.1.5 User Area  
The user may choose to reserve a user area located just beyond the command arguments  
area of the GCB. The values to be stored in this area and the length of this area are defined  
by the user. The MLAPD does not read or write to the user area. The following user pointers  
are required to interface with the MLAPD, and the user may opt to store these pointers in this  
area.  
2.1.5.1 USER INTERRUPT QUEUE READ POINTER. This 32-bit pointer indicates the  
next entry to be handled by the host in the Interrupt Queue.  
2.1.5.2 USER GLOBAL XID/UI TX NEXT CONFIRM POINTER. This 32-bit pointer indi-  
cates the next frame to be collected by the host from the Global XID/UI Queue.  
2.1.5.3 USER GLOBAL XID/UI TX LAST QUEUED POINTER. This 32-bit pointer indi-  
cates the last frame queued by the host for transmission on the Global XID/UI Queue.  
2.1.5.4 USER XID/UI_0 TX NEXT CONFIRM POINTER. This 32-bit pointer indicates the  
next frame to be collected by the host from the XID/UI Queue_0.  
2.1.5.5 USER XID/UI_0 TX LAST QUEUED POINTER. This 32-bit pointer indicates the  
last frame queued by the host for transmission on the XID/UI Queue_0.  
2-20  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.1.5.6 USER XID/UI_1 TX NEXT CONFIRM POINTER. This 32-bit pointer indicates the  
next frame to be collected by the host from the XID/UI Queue_1.  
2.1.5.7 USER XID/UI_1 TX LAST QUEUED POINTER. This 32-bit pointer indicates the  
last frame queued by the host for transmission on the XID/UI Queue_1.  
2.2 MATCH TABLE  
The Match Table is accessed in the expanded operation mode only. The start of the table is  
defined by the match_table_pointer in the GCB. The MLAPD uses this table to obtain the  
Logical-Link identification (LLID) number of the logical link whose DLCI is contained in an  
incoming frame. The incoming DLCI is used as an index into this table.  
The host must zero this table before initializing the MLAPD, defining all entries as invalid.  
After initialization by the host, the MLAPD device is responsible for updating this table as  
logical links are assigned or removed. During the assignment procedure, the MLAPD copies  
the LLID, nonprotocol_select bit and user/network_select bit from the link's LLT into the  
appropriate Match Table entry. Each 16-bit Match Table entry is organized as follows:  
Valid_DLCI (bit 15)  
1
This DLCl has been assigned to a logical link. The associated LLID is contained in  
this Match Table entry.  
0
This DLCl has not been assigned to a logical link. This Match Table entry is not val-  
id.  
Nonprotocol_select (bit 14)  
1
This logical link is assigned to nonprotocol mode. The MLAPD will not implement  
the LAPD procedures for this logical link.  
0
The MLAPD implements the LAPD protocol for this logical link.  
User/network (bit 13)  
1
This logical link is defined as a "user" station. The MLAPD will set the C/R bit to  
zero in transmitted command frames and to one in transmitted response frames.  
0
This logical link is defined as a "network" station. The MLAPD will set the C/R bit  
to one in transmitted command frames and to zero in transmitted response frames.  
LLID (bits 12-0)  
These bits contain the LLID associated with this DLCl.  
The length of the Match Table is fixed by the number of possible DLCIs. Therefore, the  
Match Table length is 8192 words. The Match Table format is described in Figure 2-8.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-21  
Memory Structures  
15  
12  
0
BASE + 0  
1
1
U/N  
LLID ASSOCIATED WITH DLCI = 0  
LLID ASSOCIATED WITH OLCI = 1  
LLID ASSOCIATED WITH DLCI = 2  
BASE + 2  
BASE + 4  
0
1
X
0
X
U/N  
BASE + 6K–4  
BASE + 16K–2  
0
0
X
X
X
X
LLID ASSOCIATED WITH DLCI = 819O  
LLID ASSOCIATED WITH OLCI = 8191  
X = DON'T CARE Condition  
NOTE: In this example, only DLCI'0' and '2' are assigned to active logical links.The MLAPD implements  
the LAPD protocol only for the link with DLCI = '2'.  
Figure 2-8. Match Table Format  
2.3 LLID-LLT TABLE  
The Logical-Link Identification to Logical-Link Table (LLID-LLT) Table is maintained by the  
host. The MLAPD only reads information from this table. The LLID-LLT Table identifies the  
address of a logical link's LLT, using the link's LLID as an index. The start of the table is  
defined by the LLID_LLT_table_pointer in the GCB. This table must accommodate a 32-bit  
entry for each LLID that may be assigned to a logical link by higher level software.  
Before issuing an MDL_ASSIGN_REQUEST, the host is responsible for creating a LLT for  
the logical link and storing the address of the LLT in the appropriate LLID-LLT Table entry.  
When a logical link is removed from service, the host may remove the corresponding LLID-  
LLT entry if desired. In any event, the MLAPD will not access this entry after link removal  
since the DLCI will be marked invalid in the Match Table. The LLID-LLT Table format is  
described in Figure 2-9.  
15  
0
BASE  
LLT ADDRESS FOR  
LLID = 0  
BASE + 4  
LLT ADDRESS FOR  
LLID = 1  
BASE + (MAXIMUM_  
LLT ADDRESS FOR  
LLID MAXIMUM-LLID-NUMBER  
LLID-NUMBER x 4)  
Figure 2-9. LLID-LLT Table  
2-22  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.4 LOGICAL-LINK TABLE  
A Logical-Link Table (LLT) is associated with each active logical link. The LLT contains user-  
defined constants and the variables and pointers managed by the MLAPD for Level 2 han-  
dling. The host may not change the LLT entries after a link is activated via an  
MDL_ASSIGN_REQUEST or ACTIVATE_LL command, except as noted in the description  
of each entry. The MLAPD reads the constant and variable entries in a link's LLT to initialize  
link-specific registers when the link is to be serviced. During and after a particular link ser-  
vice task is completed, the MLAPD updates the variable entries in the LLT.  
After preparing the LLT, the host need not access this table again, except for diagnostic pur-  
poses. However, the host may wish to reserve additional words beyond the end of the LLT  
for use by higher levels. The two additional entries required by the higher level software to  
interface with the MLAPD are indicated at the end of the LLT. These entries may actually  
reside anywhere in memory, as the MLAPD does not access them. The LLT format is shown  
in Figure 2-10.  
15  
8 7  
0
0
2
TRANSMIT STATUS  
CONFIGURATION  
DLCI  
4
MAXIMUM OUTSTANDING I FRAMES  
6
V(A)  
V(S)  
8
0
V(R)  
0
A
LINK STATUS  
C
Tx QUEUE NUMBER  
T200 VALUE  
E
E N201 VALUE  
10  
12  
14  
16  
18  
1A  
1C  
1E  
20  
22  
24  
26  
28  
EMV*  
RECEIVE POOL NUMBER  
Tx NEXT POINTER  
Tx NEXT ACKNOWLEDGE POINTER  
Tx NEXT LLT POINTER  
REJ Tx COUNT  
REJ Rx COUNT  
RNR Tx COUNT  
RNR Rx COUNT  
USER Tx NEXT CONFIRM POINTER  
USER Tx LAST QUEUED POINTER  
*Error Mask Valid  
Figure 2-10. Logical-Link Table Format  
MOTOROLA  
MC68606 USER’S MANUAL  
2-23  
Memory Structures  
2.4.1 Transmit Status  
This 16-bit LLT entry contains the logical link's Transmit Queue status. The host zeros this  
entry before the LLT is first presented to the MLAPD. Thereafter, the MLAPD sets and resets  
the bits. The transmit-status bits are defined as follows:  
Bits 15-5 are not used.  
These bits are set to zero by the host.  
Stop-Tx (bit 4)  
1
The MLAPD will not transmit any remaining I frames for this logical link due to one  
of the following conditions:  
— A STOP_TX_I command has been issued by the host for this logical link.  
— A DL_RELEASE_REQUEST, DEACTIVATE_LL, MDL_REMOVE_REQUEST,  
or DL_ESTABLISH_REQUEST command has been issued by the host.  
— A link reset operation has been initiated by the remote station (DISC or SABME  
frame was received while in the connected state).  
— A link reset operation has occurred due to any other situation, according to the  
LAPD protocol.  
— The MLAPD immediately sets the stop_Tx bit in the transmit-status to indicate  
that this LILT must be removed from its assigned I frame queue. When the  
MLAPD transmit task next services this logical link as part of the transmit ser-  
vicing scheme, the link is removed from the I frame queue, and its active bit is  
set to zero (if it is not already zero). The transmit servicing scheme is explained  
in 5.1 Transmit Servicing Scheme.  
0 The logical link associated with this LLT has no stop-Tx condition and may or may not  
be linked to its assigned transmit I frame queue.  
Active (bit 3)  
1
The Transmit Queue associated with this LLT is linked to the appropriate I frame  
queue. Transmission of frames for this logical link will be performed as part of the  
transmit servicing scheme.  
0
The Transmit Queue associated with this LLT is not linked to its I frame queue. This  
condition may be static (no pending transmit activity) or temporary (current link  
conditions do not permit transmit activity). In either case, the LLT will be relinked  
to the appropriate I frame queue when a host command or a link event enables  
transmit activity.  
Acknowledge (bit 2)  
1
0
This logical link has one or more frames waiting for acknowledgment.  
All the frames in this logical link's Transmit Queue have been transmitted and ac-  
knowledged. Before the MLAPD sets this bit to zero, the MLAPD again checks the  
link's Transmit Queue to verify that no additional frames have been added to the  
queue for transmission. If additional frames are found, the MLAPD again places  
this link's LLT in its assigned I frame queue and sets the transmit and active bits to  
one.  
2-24  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
Transmit (bit 1)  
1
The MLAPD has more frames to transmit for this logical link. This logical link's  
Transmit Queue may or may not be linked to its I frame queue depending on the  
link's status information.  
0
This logical link has no transmit I frames queued for transmission.  
Last_LLT (bit 0)  
1
This LLT is the last LLT linked to this I frame queue. The Tx_next_LLT-pointer entry  
in this LLT is not valid.  
0
At least one more LLT is linked to this I frame queue, and the Tx_next_LLT-pointer  
entry in this LLT is valid.  
The transition table for the transmit-status bits is shown in Figure 2-1 1.  
Transmit Status Bits  
Input Conditions  
S0 =  
S2 =  
S3 =  
S7 =  
S8 =  
SA =  
SC =  
SE =  
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
0
0
0
1
1
0
0
0
0
S7  
ILL  
ILL  
ILL  
S7  
ILL  
S7  
ILL  
ILL  
S7  
S3  
S7  
ILL  
ILL  
ILL  
ILL  
ILL  
ILL  
SA  
SE  
ILL  
ILL  
ILL  
ILL  
S8  
S8  
S8  
SC  
S8  
S8  
SC  
SC  
x
x
x
S7  
x
x
so  
X
x
x
x
x
S0  
S0  
S0  
S0  
S0  
S0  
S0  
S0  
x
S3  
S3  
x
S7  
x
S2  
x
x
x
x
X
x
S8  
x
S8  
x
x
1
1
0
1
x
x
x
x
x
S8  
S8  
x
ILL = Illegal Command (MOL_error_indication argument = '000000' and MLAPD takes no action)  
X = Impossible or DON'T CARE Condition  
Figure 2-11. Transmit Status Bits Transition Table  
MOTOROLA  
MC68606 USER’S MANUAL  
2-25  
Memory Structures  
2.4.2 DLCI and Configuration Bits  
This 16-bit entry is written by the host and read by the MLAPD. This entry contains the  
assigned DLCI for the logical link and is considered a constant. The MLAPD assumes that  
this entry is not modified after an ACTIVATE_LL or MDL_ASSIGN-REQUEST command is  
issued until a DEACTIVATE_LL command is given. The DLCI is contained in the low-order  
13 bits. The remaining bits are defined as follows:  
Bit 15 is zeroed by the host.  
Nonprotocol_select (bit 14)  
1
This logical link is assigned to nonprotocol mode. The MLAPD will not implement  
the LAPD protocol for this link. See 9.1 Nonprotocol Links.  
0
The MLAPD implements the LAPD protocol for this logical link.  
User/network_select (bit 13)  
1
The logical link associated with this LLT is defined as a "user" station. The MLAPD  
will set the C/R bit to zero in transmitted command frames and to one in transmitted  
response frames.  
0
The logical link associated with this LLT is defined as a "network" station. The  
MLAPD will set the C/R bit to one in transmitted command frames and to zero in  
transmitted response frames.  
2.4.3 Maximum Number of Outstanding I Frames (K)  
This entry is written by the host and read by the MLAPD. The host may only change this  
entry when no transmit queue is active for the link. That is, a DL_data_confirmation interrupt  
is issued, or both the active bit and the acknowledge bit in the transmit_status bits are set to  
zero. The most significant seven bits of this 16-bit LLT entry define the maximum number of  
I frames which can be sent on this logical link before an acknowledgment is required from  
the remote station. The MLAPD transmits numbered frames for the link as long as V(S)-V(A)  
is less than K. When K is set to zero, no numbered frames can be transmitted. The maximum  
value of K is 127 for modulo 128 operation. Bit 8 must be set to zero.  
2.4.4 V(A)  
This entry is written and read by the MLAPD. The most significant seven bits of this 16-bit  
LLT entry contain the acknowledge_state_variable, V(A). V(A) identifies the next frame to be  
acknowledged by the remote station. The MLAPD initializes V(A) to zero following link  
establishment. Bit 8 is always set to zero.  
2.4.5 V(S)/V(R)  
This entry is written and read by the MLAPD. This 16-bit LLT entry contains the link's send  
and receive state variables, which are specified in the numbered information frame format.  
2-26  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
The 7-bit send_state_variable, V(S), denotes the sequence number of the next in-sequence  
I frame to be transmitted. This sequence number is stored in bits 15-9. Bit 8 is always set to  
zero. The 7-bit receive-state-variable, V(R), denotes the expected sequence number of the  
next in-sequence I frame to be received. This sequence number is stored in bits 7-1. Bit 0 is  
always set to zero. The V(S)N(R) entry is initialized to zero by the MLAPD during link estab-  
lishment. When a particular link service task is completed, e.g., a frame is transmitted, the  
V(S)/V(R) value is written back into the LLT if it has changed.  
2.4.6 Link Status  
Each active logical link is operated according to the finite-state machine defined by the  
LAPD protocol. This 16-bit LLT entry contains the current state of the link's finite-state-  
machine and other status bits that define the link's state. The host must initialize this word to  
all zeroes before presenting the LLT to the MLAPD. The MLAPD will thereafter modify this  
status word based upon events occurring on this logical link.  
Bits 15 and 14 are not used.  
These bits are always set to zero by the host.  
Remote_status_check (bit 13)  
1
The host has requested updated status information for this link via a  
REMOTE_STATUS_REQUEST command. A remote status response is expected.  
0
A remote status response is not expected.  
Remote_busy (bit 12)  
1
0
The remote station is in a busy condition.  
The remote station is not in a busy condition.  
Local_busy (bit 1 1)  
1
The host has issued a SET_LOCAL_BUSY command. No frames with a data field  
may be received for this link.  
0
The host has not disabled reception of frames with data fields for this link.  
XID-flag (bit 10)  
1
An XID command frame has been sent, and the MLAPD is waiting for an XID re-  
sponse frame from the remote station.  
0
An XID response frame is not expected.  
Status_inquiry (bit 9)  
1
0
T203 expired, and the MLAPD transmitted a S frame with the poll bit set to one.  
A remote status response is not expected.  
P_flag (bit 8)  
1
The MLAPD transmitted a command frame with the poll (P) bit set to one, and a  
response frame with the final (F) bit set to one is expected.  
0
A response frame with the F bit set to one is not expected.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-27  
Memory Structures  
Bits 7 and 6 are not used.  
These bits are always set to zero by the host.  
Busy_reject (bits 5,4)  
When the logical link is in the MF_EST_BUSY or TM_REC_BUSY state and cannot re-  
ceive I frames, this flag determines whether the MLAPD must send a REJ response frame  
when the link exits the busy state.  
00 No received I frame has been discarded. Therefore, a REJ frame is not neces-  
sary.  
01 An I frame has been discarded and a REJ frame must be sent.  
10 A REJ frame has already been sent.  
11 Not a valid encoding.  
Link_state (bits 3-0)  
These four bits encode the current state (in binary) of the link's finite-state-machine. The  
encodings with numeric state values 7.0. 7.1, and 7.2 are the multiple-frame established  
states. (For a listing of the link states, see Table 8-1.) The encodings with numeric state  
values of 8.0, 8.1, and 8.2 are the timer recovery states. The state encodings are shown  
as follows:  
0000 Uninitialized state. This value is programmed in the link-status word by the host  
before this link is presented to the MLAPD via an MDL_ASSIGN_REQUEST or  
ACTIVATE_LL command.  
0001 TEI_UNASSIGN (numeric state value 1)  
0010 Undefined. The MLAPD will not write this bit encoding.  
The ASSIGN-WAIT-TEI state (numeric state value 2) is not implemented.  
When an XID/UI frame transmission request cannot be performed because a  
TO value has not been assigned, the MLAPD will not store any information field  
associated with the XID/UI frame. Storage is not possible because the MLAPD  
does not support a UI queue per link. If a DL_UI frame transmission is request-  
ed for a link in TEI_UNASSIGN, the link will not change states, and the MLAPD  
will return a negative confirmation for the frame.  
0011 EST_WAIT_TEI (numeric state value 3)  
0100 TEI_ASSIGNED (numeric state value 4)  
0101 AWAIT_EST (numeric state value 5)  
0110 AWAIT_REL (numeric state value 6)  
0111 Undefined. The MLAPD will not write this bit encoding.  
1000 MF_EST_NORM (numeric state value 7.0)  
1001 MF_EST_REJ (numeric state value 7.1)  
1010 MF_EST_BUSY (numeric state value 7.2)  
1011 Undefined. The MLAPD will not write this bit encoding.  
1100 TM_REC_NORM (numeric state value 8.0)  
1101 TM-_REC_REJ (numeric state value 8.1)  
1110 TM_REC_BUSY (numeric state value 8.2)  
1111 Undefined. The MLAPD will not write this bit encoding.  
2-28  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.4.7 Tx I Queue Number  
This entry is written by the host and read by the MLAPD. The host may only change this  
entry when no transmit queue is active for the link. That is, a DL_data_confirmation interrupt  
is issued, or both the active bit and the acknowledge bit in the transmit-status bits are set to  
zero. Bits 10 and 9 of this 7-bit LILT entry specify the transmit frame queue assigned by the  
host for all I frame transmission on this link. The MLAPD queues I frames for this link to one  
of the four I frame queues (0-3) based on the value of this LILT entry. Bits 15-11 of this entry  
must be zeroed by the host.  
2.4.8 T200 Value  
This entry is written by the host and read by the MLAPD. The host may change this entry at  
any time, and the MLAPD will use the new T200 value the next time that timer T200 is  
started. This 9-bit LILT entry (bits 8-0) defines the timeout value for the acknowledgment  
timer (T200). The CCITT default for T200 is one second. If F is the system clock frequency  
and T is the T200 timer value in seconds, then the value to be loaded in the T200-value entry  
in the LILT is calculated as follows:  
20  
T200_value = T x F/2  
Example 1: T = 1 sec, F = 10 MHz  
20  
1 X 107/2 = 9.53  
T200_value = 9 or 10 decimal  
Example 2: T = 25 sec, F = 16.67 MHz  
6
20  
25 X 16.67 X 10 /2 = 397.36  
T200-value = 397 or 398 decimal  
2.4.9 N201 Value  
This entry is written by the host and read by the MLAPD. This entry may be changed by the  
host following a SET-LOCAL-BUSY command. The 15 low-order bits of this LLT entry are  
used to specify the N201_value. The function of the N201_value entry for protocol, nonpro-  
tocol, and promiscuous receive operation is described in the following paragraphs. This  
entry can range from 0 to (32K-1) bytes. When a zero is programmed, data can not be trans-  
ferred. Bit 15 of this entry must be set to zero by the host.  
For a logical link operating in protocol mode, this LLT entry defines the maximum number of  
octets allowed in an information field of a frame. The CCITT default value is 260 bytes. The  
minimum frame size that can be received is 5 bytes for unnumbered frames and 6 bytes for  
numbered frames (information and supervisory frames). The minimum buffer size is 0 bytes.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-29  
Memory Structures  
For a logical link operating in nonprotocol mode with the multi_buffer_select bit set to zero,  
this LLT entry defines the maximum number of bytes that can be written to a data buffer and  
must be specified as an even number. The minimum frame size that can be received is 5  
bytes for nonprotocol links. The user must provide a minimum of 6 bytes for each memory  
buffer.  
For a logical link operating in nonprotocol mode with the multibuffer_select bit set to one, this  
LILT entry defines the maximum number of bytes that will be stored in a single receive buffer  
and must be an even number. If the number of bytes between the opening flag and closing  
flag of the frame is greater than the link's N201_value, then the MLAPD will fetch add addi-  
tional buffers as needed. Except for the last buffer, each buffer will contain (N201_value_2)  
bytes. The user must provide a minimum of 6 bytes for each memory buffer.  
The MLAPD verifies that incoming receive frames satisfy the N201_value requirement. The  
user should allocate enough memory space for each receive data buffer to contain at least  
N201 bytes. Table 2-2 lists the N201_value range, minimum frame size, maximum data  
length of the frame, the buffer size, and the maximum number of bytes written to each data  
buffer in protocol or nonprotocol. The minimum frame size is the minimum number octets  
between the opening and closing flags. Frames shorter than the minimum frame size will be  
discarded. Frames longer than the maximum frame size will be treated as long frames, and  
all of the extra bytes will be discarded.  
For transmission, the data length is specified by the user in each transmit frame descriptor.  
The MLAPD does not check that the transmit data length is less than or equal to N201.  
Table 2-2. Receive Frame Parameter Summary  
Maximum  
Data  
Length†  
Maximum Number  
of Bytes Written  
to Buffer  
N201_value  
Range  
Minimum  
Frame Size  
Mode  
Protocol  
Buffer Size  
0 to (32K –1)  
5††  
6††  
N201  
N201 and Even  
N201  
Nonprotocol(S) 6 to (32K –2) and even  
Nonprotocol(M) 6 to (32K –2) and even  
5
5
N201  
N201  
N201  
N201  
N201 –2†††  
N201†††  
infinite  
NOTES:  
For a protocol link, the maximum data length is the maximum number of octets in the information  
field. For a nonprotocol link, the maximum data length is the maximum number of octets between  
the opening and the closing flags.  
††  
— The minimum size for protocol frames is 5 bytes for unnumbered frames and 6 bytes for numbered  
frames (Information and Supervisory frames).  
†††  
In multibuffer mode, N201-2 bytes is the maximum number of bytes written to all of the buffers  
except the last buffer. N201 is the maximum number of bytes written to the last buffer.  
(S)  
(M)  
Single Buffer Mode  
Multibuffer Mode  
All sizes are given in bytes unless otherwise specified.  
2-30  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.4.10 Receive Pool Number and Error Mask Valid (EMV)  
This entry is written by the host and read by the MLAPD. This entry may be changed by the  
host following a SET_LOCAL_BUSY command. The 13 low-order bits of this 16-bit LLT  
entry identify the receive pool assigned to this link. During frame reception, the 13-bit  
receive_pool_number is used as an offset into the Receive Pool Pointers Table to locate the  
next receive frame descriptor to be fetched. Refer to 6.1.1 Receive Pool Format. The  
length of each data buffer in a receive pool must be equal to or greater than the largest N201  
of all logical links which share this pool.  
This 16-bit LLT entry also contains the error_mask_valid bit. The remaining bits in this entry  
are defined as follows:  
Error_mask_valid (bit 15)  
1
This logical link accepts erroneous receive frames according to the  
protocol_error_mask entry in the GCB if this link implements the LAPD procedures  
or according to the nonprotocol_error_mask entry in the GCB if this link is assigned  
to nonprotocol operation.  
0
This logical link does not accept erroneous receive frames.  
Bits 14 and 13 are not used.  
These bits must be set to zero by the host.  
2.4.11 Tx Next Pointer  
This entry is written and read by the MLAPD. This 32-bit pointer contains either the address  
of the I frame descriptor with the data buffer currently being transmitted or the address of the  
I frame descriptor with the data buffer that will be transmitted when the link is next serviced.  
This pointer is initialized by the MLAPD to point to the first transmit I frame descriptor in the  
link's Transmit Queue based on the command argument associated with a  
DL_DATA_REQUEST.  
2.4.12 Tx Next Acknowledge Pointer  
This entry is written and read by the MLAPD. This 32-bit pointer contains the address of the  
first transmit I frame descriptor that is not yet acknowledged. A DL_DATA_REQUEST com-  
mand causes the MLAPD to initialize this pointer to point to the first transmit I frame descrip-  
tor in the link's Transmit Queue. The MLAPD then updates this entry as transmitted frames  
are acknowledged.  
2.4.13 Tx Next LLT Pointer  
This entry is written and read by the MLAPD. This 32-bit pointer is the linking mechanism for  
placing a logical link's Transmit Queue into its assigned I frame queue. When the last_LLT  
bit in the link's transmit-status bits is set to zero, then this entry indicates the address of the  
LLT for the next logical link that is linked to the same transmit I frame queue.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-31  
Memory Structures  
2.4.14 REJ Tx Counter  
This entry is written and read by the MLAPD. The MLAPD counts the number of REJ frames  
transmitted on each link when link statistics are enabled by the user. The user enables link  
statistics by setting the link_statistics_select bit to one in the option_bits_2 entry of the GCB.  
This 8-bit LLT entry is the REJ_transmit counter for this link. The counter is initialized by the  
MLAPD to the REJ_transmit_threshold during link assignment. Thereafter, the counter is  
decremented each time a REJ frame is transmitted on this logical link. When the counter  
reaches zero, the MLAPD informs the host via the Interrupt Queue, and the counter is rein-  
itialized to the threshold value.  
No method exists to allow the user to immediately reinitialize a link's REJ_transmit_counter  
to the threshold value defined in the GCB. The user may change the threshold value in the  
GCB and issue a RELOAD command. Then each link's counter is reinitialized to the new  
threshold value when it expires.  
2.4.15 RNR Tx Counter  
This entry is written and read by the MLAPD. The MLAPD counts the number of RNR frames  
transmitted on each link when link statistics are enabled by the user. The user enables link  
statistics by setting the link-statistics-select bit to one in the option_bits_2 entry of the GCB.  
This 8-bit LLT entry is the RNR_transmit counter for this link. The counter is initialized by the  
MLAPD to the RNR_transmit_threshold during link assignment. Thereafter, the counter is  
decremented each time a RNR frame is transmitted on this logical link. When the counter  
reaches zero, the MLAPD informs the host via the Interrupt Queue, and the counter is rein-  
itialized to the threshold value.  
No method exists to allow the user to immediately reinitialize a link's RNR_transmit_counter  
to the threshold value defined in the GCB. The user may change the threshold value in the  
GCB and issue a RELOAD command. Then each link's counter is reinitialized to the new  
threshold value when it expires.  
2.4.16 REJ Rx Counter  
This entry is written and read by the MLAPD. The MLAPD counts the number of REJ frames  
received on each link when link statistics are enabled by the user. The user enables link sta-  
tistics by setting the link_statistics_select bit to one in the option_bits_2 entry of the GCB.  
2-32  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
This 8-bit LLT entry is the REJ_receive counter for this link. The counter is initialized by the  
MLAPD to the REJ_received-threshold during link assignment. Thereafter, the counter is  
decremented each time a REJ frame is received on this logical link. When the counter  
reaches zero, the MLAPD informs the host via the Interrupt Queue, and the counter is rein-  
itialized to the threshold value.  
No method exists to allow the user to immediately reinitialize a link's REJ_receive_counter  
to the threshold value defined in the GCB. The user may change the threshold value in the  
GCB and issue a RELOAD command. Then each link's counter is reinitialized to the new  
threshold value when it expires.  
2.4.17 RNR Rx Counter  
This entry is written and read by the MLAPD. The MLAPD counts the number of RNR frames  
received on each link when link statistics are enabled by the user. The user enables link sta-  
tistics by setting the link-statistics-select bit to one in the option_bits_2 entry of the GCB.  
This 8-bit LLT entry is the RNR_receive counter for this link. The counter is initialized by the  
MLAPD to the RNR_received_threshold during link assignment. Thereafter, the counter is  
decremented each time a RNR frame is received on this logical link. When the counter  
reaches zero, the MLAPD informs the host via the Interrupt Queue, and the counter is rein-  
itialized to the threshold value.  
No method exists to allow the user to immediately reinitialize a link's RNR_receive_counter  
to the threshold value defined in the GCB. The user may change the threshold value in the  
GCB and issue a RELOAD command. Then each link's counter is reinitialized to the new  
threshold value when it expires.  
2.4.18 User Tx Next Confirm Pointer  
This entry is written and read by the host. This 32-bit pointer contains the address of the next  
frame descriptor in the link's Transmit Queue to be confirmed by the MLAPD. The host  
updates this pointer after each frame descriptor is removed.  
2.4.19 User Tx Last Queued Pointer  
This entry is written and read by the host. This 32-bit pointer contains the address of the last  
frame descriptor that the host queued to the link's Transmit Queue. The host updates this  
pointer when new frames are added to the link's Transmit Queue for transmission.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-33  
Memory Structures  
2.5 RECEIVE POOL POINTERS TABLE  
The Receive Pool Pointers Table is written and read by the MLAPD. A portion of this table is  
located on-chip, and the remainder of this table is located in shared memory. The address of  
the table in shared memory is defined by the pool_table_pointer entry in the GCB.  
The Receive Pool Pointers Table allows the host to define up to 8192 receive pools. The  
address of the first receive frame descriptor in each receive pool is identified by the corre-  
sponding receive_pool_pointer. The Receive Pool Pointers Table is a sequential list of  
receive_pool_pointers for pools 16 to 8191. The MLAPD loads a receive_pool_pointer into  
this table as the result of a ASSIGN-POOL POINTER command.  
The first 16 receive_pool_pointers (0 to 15) are stored on-chip, and any additional  
receive_pool_pointers (16 to 8191) are stored in the Receive Pool Pointers Table in shared  
memory. When a maximum of 16 receive pools are defined for all active logical links, the  
MLAPD need not access the external Receive Pool Pointers Table, which provides  
improved performance. The Receive Pool Pointers Table is shown in Figure 2-12.  
.
LOGICAL-LINK TABLE (LLT)  
(LLID = 0)  
RECEIVE POOL 1  
RECEIVE POOL POINTERS TABLE  
RECEIVE POOL POINTER (0)  
RECEIVE POOL 15  
RECEIVE POOL POINTER (1)  
LOGICAL-LINK TABLE (LLT)  
RECEIVE POOL 14  
¥
(LLID = 4)  
¥
¥
RECEIVE POOL POINTER (15)  
RECEIVE POOL 0  
RECEIVE POOL 1  
MLAPD  
RECEIVE POOL POINTERS TABLE  
LOGICAL-LINK TABLE (LLT)  
(LLID = 52)  
RECEIVE POOL POINTER (16)  
RECEIVE POOL POINTER (17)  
RECEIVE POOL POINTER (18)  
RECEIVE POOL 8191  
RECEIVE POOL 18  
RECEIVE POOL 8190  
RECEIVE POOL 8189  
¥
¥
¥
RECEIVE POOL 17  
RECEIVE POOL 16  
RECEIVE POOL POINTER (8191)  
NOTE: Logical-Link tables shown are for example only.  
Figure 2-12. Receive Pool Pointers Table  
2-34  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
Any number of logical links may share a receive pool. The host assigns each logical link to a  
receive pool using the receive_pool_number entry in the link's LLT. During the reception  
process, the MLAPD uses the receive_pool_number as an offset into the Receive Pool  
Pointers Table to locate a free receive buffer. After a frame descriptor is used for frame  
reception, the MLAPD reads the next_Rx_frame_descriptor_pointer entry in the receive  
frame descriptor and updates the receive_pool_pointer entry for this pool in the Receive  
Pool Pointers Table.  
2.6 TRANSMIT FRAME DESCRIPTOR  
An I or XID/UI frame consists of a frame descriptor and an associated data buffer. The  
MLAPD also provides the option of configuring the frame as a frame descriptor with an asso-  
ciated header buffer and an associated data buffer. A transmit frame is shown in Figure 2-  
13.  
The transmit frame descriptor format is described in Figure 2-14. In some cases the defini-  
tion of the various bits in the frame descriptor are not used, depending on the frame type. .  
HEADER  
(OPTIONAL)  
Tx FRAME  
DESCRIPTOR  
DATA  
BUFFER  
Figure 2-13. Transmit Frame Configuration  
HEX  
DISPLACEMENT  
15  
0
0
2
STATUS BITS  
NEXT Tx FRAME  
DESCRIPTOR  
POINTER  
4
6
8
DATA BUFFER POINTER  
A
CONTROL  
FRAME TYPE  
DATA LENGTH  
LLID  
C
0
E
HEADER POINTER  
10  
12  
14  
HEADER LENGTH  
RETRANSMIT COUNT  
Figure 2-14. Transmit Frame Descriptor  
MOTOROLA  
MC68606 USER’S MANUAL  
2-35  
Memory Structures  
2.6.1 Status Bits  
The status-bits entry is written by the MLAPD and read by the host. This word is initialized to  
zero by the host. The meaning of the status-bits is slightly different depending on whether  
the frame descriptor describes an I frame, an XID/UI frame, or a frame for a nonprotocol link.  
For an I frame or any frame for a nonprotocol link this word is defined as follows:  
Bits 15-3 are not used.  
These bits are set to zero by the MLAPD.  
Empty (bit 2)  
1
0
This link's Transmit Queue has been processed by the MLAPD. This queue con-  
tains no frames awaiting transmission. The bit is set in the last frame descriptor  
when all transmitted frames are acknowledged for protocol links or when all frames  
are transmitted for nonprotocol links.  
This link's Transmit Queue is still being processed by the MLAPD. Frames are  
awaiting transmission.  
Confirmation (bit 1)  
This bit has meaning only for protocol links. For nonprotocol links, this bit is not used and  
is set to zero by the MLAPD.  
1
0
The buffer(s) associated with this frame descriptor has (have) been acknowledged.  
The buffer(s) associated with this frame descriptor has (have) not been acknowl-  
edged.  
Transmit (bit 0)  
The data in the buffer(s) associated with this frame descriptor has been read and  
placed into the TxFIFO for transmission.  
1
0 The data in the buffer(s) associated with this frame descriptor has not been read and  
placed into the TxFIFO for transmission.  
For an XID/UI transmit frame, this word is defined as follows:  
Bits 15-3 are not used.  
These bits are set to zero by the MLAPD.  
Empty (bit 2)  
1
This XID/UI transmit queue has been handled by the MLAPD. This queue contains  
no frames awaiting transmission.  
0
This XID/UI transmit queue is still being processed by the MLAPD. Frames are  
2-36  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
Transmit-bits (bits 1,0)  
00 The data in the buffer(s) associated with this frame descriptor has not been read  
and placed into the TxFIFO for transmission.  
01 The data in the buffer(s) associated with this frame descriptor has been read and  
placed into the TxFIFO for transmission. This encoding is a positive confirmation.  
10 ThisframehasbeennottransmittedbecauseaDL_UI,XID,ornonstandard_control  
frame may not be transmitted while the logical link is in its present link state  
(TEI_UNASSIGN or EST_WAIT_TEI). This encoding is a negative confirmation.  
11 Not a valid encoding.  
2.6.2 Next Tx Frame Descriptor Pointer  
This entry is written by the host and read by the MLAPD. This 32-bit entry contains the  
address of the next transmit frame descriptor in the linked list.  
2.6.3 Data Buffer Pointer  
This entry is written by the host and read by the MLAPD. This 32-bit entry contains the begin-  
ning address of the data buffer. The data buffer may begin on either an odd-or even-byte  
boundary. The MLAPD will always read both the even byte and the odd byte from the first  
memory location of the data buffer. The even data byte is discarded when the buffer begins  
on an odd-byte boundary.  
2.6.4 Control Bits and Data Length  
This entry is written by the host and read by the MLAPD. This word is defined as follows:  
Last (bit 15)  
1
0
This frame descriptor is the last one in this transmit queue.  
This frame descriptor is not the last one in this transmit queue.  
Header-valid (bit 14)  
1
This frame descriptor contains a header buffer, which is transmitted before the data  
buffer.  
0
This frame descriptor only contains a data buffer. The header-pointer entry is not  
valid.  
Data-length (Bits 13-0)  
This field contains the length of the associated data buffer in bytes. The data-length may  
be an odd number of bytes or an even number of bytes. When the data ends on an odd-  
byte boundary, the last MLAPD access will be a byte read. The MLAPD does not check  
the data-length against the N201_value associated with this logical link. The host must  
construct data buffers which satisfy the N201 requirement that was established through  
parameter negotiation (i.e., header-length + data-length N201). The transmit  
data_length may range from 0 to (16K-1) bytes.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-37  
Memory Structures  
2.6.5 Frame Type and LLID  
This entry is written by the host and read by the MLAPD. The meaning of the bits in this entry  
are different depending on whether the frame descriptor belongs to an XID/UI queue or to a  
Transmit Queue for a nonprotocol link. This entry is not used in I frame descriptors that  
belong to protocol links.  
For a frame in the XID/UI queue, this word is defined as follows:  
Frame-type (bits 15, 14, 13)  
000 This is a MDL UI frame.  
001 This is a DIL UI frame.  
010 This is an XID-command frame.  
011 This is an XID-response frame.  
100 This is an nonstandard_control_command frame. The control field encoding is  
defined by the nonstandard-control GCB entry, and the P/F bit is set to zero.  
101 This is an nonstandard_control_command frame. The control field encoding is  
defined by the nonstandard-control GCB entry, and the P/F bit is set to one.  
110 This is an nonstandard_control_response frame. The control field encoding is  
defined by the nonstandard-control GCB entry, and the P/F bit is set to zero.  
111 This is an nonstanclard_control_response frame. The control field encoding is  
defined by the nonstandard_control GCB entry, and the P/F bit is set to one.  
LLID (bits 12-0)  
These bits contain the ILLID of the link on which the frame is to be transmitted. This link  
must be assigned as a protocol link. Otherwise, the MLAPD will not transmit the frame and  
will return a negative-confirmation.  
For any frame that belongs to a nonprotocol link, this word is defined as follows:  
Transmit_CRC_disable (bit 15)  
1
0
The MLAPD will not append a CRC to the end of this frame  
The MLAPD will append a CRC to the end of this frame transmission.  
Transmit_address_disable (bit 14)  
1
0
The MLAPD will not append a DLCI to the beginning of this frame transmission.  
The MLAPD will append the DLCI associated with this logical link to the beginning  
of this frame transmission. Bit 0 is set to zero and bit 8 is set to one. Bit 1 is set to  
the inverse of the user/network-select bit in the DLCI entry in the link's LILT (i.e.,  
treated as a command frame).  
Bits 13-0 are not used.  
These bits must be set to zero by the host.  
2-38  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.6.6 Header Pointer  
The 32-bit header-pointer is written by the host and read by the MLAPD. When the  
header_valid bit is set to one in the control_bits/data_length entry, this location contains the  
address of a header buffer. Otherwise, this entry is not used.  
The MLAPD will transmit the header buffer before transmitting the data buffer specified by  
this frame descriptor. The header buffer must begin on an even-byte boundary,  
2.6.7 Header Length  
When the header-valid bit is set to one in the control_bits/data_length entry, the least signif-  
icant four bits of this entry contain the length of the associated header buffer. Otherwise, this  
entry is not used. The header-length entry is written by the host and read by the MLAPD. Bits  
15 to 4 must be set to zero by the host.  
The header-length may be an odd number of bytes or an even number of bytes. When the  
header-length is odd, the MLAPD reads both the even and the odd bytes of the last memory  
location. The even byte is discarded. The MLAPD does not check whether the header-length  
plus the data-length exceeds the N201 value associated with this logical link. The host must  
construct data buffers which satisfy the N201 requirement that was established through  
parameter negotiation. The header-length may range from 0 to 15 bytes. When a header-  
length of zero is programmed, the MLAPD will transmit information from the data buffer only.  
2.6.8 Retransmit Count  
This entry is not used for XID/UI frames or for any frames transmitted by nonprotocol links.  
The retransmit-count entry in I frame descriptors is written by the MLAPD only when the  
retransmit_statistics_select bit in the option_bits_2 GCB entry is set to one. Otherwise, this  
entry is not used for I frames either.  
This 16-bit entry is a wrap around up-counter. The host must initialize this entry to zero.  
Each time an I frame is retransmitted, the MLAPD increments the retransmit-count entry by  
one. If this entry becomes equal to the retransmit-threshold, the MLAPD places an interrupt  
on the Interrupt Queue (if this interrupt is not masked). Additional interrupts will occur every  
(Hex) '10000' retransmissions of the frame.  
2.7 RECEIVE FRAME DESCRIPTOR  
The MLAPD reports information about a received frame via its receive frame descriptor. The  
format of a receive frame descriptor is described in Figure 2-15.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-39  
 
Memory Structures  
HEX  
DISPLACEMENT  
15  
0
0
2
CONTROL BITS  
NEXT Tx FRAME  
DESCRIPTOR  
POINTER  
4
6
8
DATA BUFFER POINTER  
A
DATA LENGTH  
LLID  
C
FRAME TYPE  
E
TIME STAMP  
10  
12  
ERROR CODE  
Figure 2-15. Receive Frame Descriptor  
2.7.1 Control Bits  
The control_bits entry is written by the host and read by the MLAPD. This word is defined as  
follows:  
Bits 15-3 are not used.  
These bits must be set to zero by the host.  
Data-indication (bit 2)  
1
An interrupt is generated when this frame descriptor is used for frame reception.  
The host may choose to set this bit in the first frame descriptor in the receive pool,  
so that an interrupt is generated when the receive queue is not empty. The host  
may alternatively choose to set this bit in each frame descriptor in the receive pool,  
so that an interrupt is generated each time a frame is received. If the host wishes  
to service a receive queue after some number of frames have been received, this  
bit can be set in frame descriptors in the receive pool that are multiples of this num-  
ber.  
0
No interrupt indication is given when this frame descriptor is used for frame recep-  
tion.  
Red-line (bit 1)  
This bit can be programmed by the host during the preparation of the receive pool  
or dynamically after this frame descriptor is already in the pool. During frame re-  
ception, the MLAPD reads the next_receive_frame_descriptor-pointer and checks  
the red-line bit in this identified frame descriptor. If this bit is set to one, the MLAPD  
issues an interrupt. An interrupt is only issued the first time the red-line bit is  
checked in a frame descriptor.  
The red-line indication allows the host to avoid a busy condition on a logical link by  
dynamically adding frame descriptors. The red-line indication can alternatively in-  
2-40  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
dicate that a frame has been received to an empty queue. See 6.3 Collecting Re-  
ceived Frames.  
1
0
The MLAPD issues a red-line interrupt if a frame has been successfully stored into  
the previous frame descriptor and the red-line bit is set in this frame descriptor,  
which is now the head of the receive pool. When the MLAPD again accesses this  
frame descriptor to store a frame, the MLAPD will not issue another red-line inter-  
rupt.  
No red-line indication is enabled.  
Last-in-pool (bit 0)  
1
This is the last frame descriptor (the pool-dummy frame descriptor) in the receive  
pool. The MLAPD will not use this frame descriptor's associated buffer to store data  
from an incoming frame. The MLAPD will not remove the pool-dummy frame de-  
scriptor from the receive pool.  
0
More frame descriptors are in the receive pool. A buffer is associated with this  
frame descriptor and can be used by the MLAPD for frame reception.  
2.7.2 Next Rx Frame Descriptor Pointer  
This 32-bit entry is written by the host and read by the MLAPD. This entry points to the next  
receive frame descriptor in the receive pool. When collecting receive data, the host reads  
the next_receive_frame_descriptor_pointer to traverse the receive queue.  
2.7.3 Data Buffer Pointer  
This entry is written by the host and read by the MLAPD. This 32-bit pointer contains the  
beginning address of the data buffer. Restrictions are placed on receive data buffers: 1) a  
data buffer must begin on an even-byte boundary; and 2) a data buffer must contain an even  
number of bytes, even when N201 is odd. In the case of a frame containing an odd number  
of bytes in the data field, the MLAPD will perform a word write for a 16-bit data bus or two  
byte writes for an 8-bit data bus to place the last data byte into the data buffer. The data writ-  
ten to the even byte of this last memory location will be invalid and the data-length entry will  
not include this even byte as data.  
2.7.4 Data Length  
This 16-bit entry is written by the MLAPD and read by the host. After the associated data  
buffer is filled with data from an incoming frame, the MLAPD writes the number of bytes used  
in the data buffer into this data-length entry. This entry will be less than or equal to the  
N201_value associated with this logical link. The host must ensure that the length of each  
data buffer in a receive pool is equal to or greater than the largest N201 value negotiated for  
all logical links which share the pool.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-41  
Memory Structures  
2.7.5 Frame Type and LLID  
This 16-bit entry is written by the MLAPD and read by the host. This entry is initialized by the  
host when the frame descriptor is added to the receive pool. This entry must be initialized to  
zero for frame descriptors that will be used by protocol links. The host software then tests for  
a nonzero value to know that this buffer now contains receive data. For frame descriptors to  
be used by nonprotocol links, the entry initialization may be handled in one of two ways. If  
the host initializes this entry to zero, a test for a nonzero value will indicate that the buffer  
now contains receive data. However, in the case of multibuffer operation, this test will mask  
the receive data stored in memory from a multibuffer frame that is not completely received.  
To allow recognition of receive data before a multibuffer frame has ended, the host can ini-  
tialize this entry to an undefined encoding, such as 010XXXXXXXXXXXXX.  
The definition of the bits in this entry differ depending on whether the addressed logical link  
is assigned to protocol or nonprotocol mode.  
For links assigned to protocol mode, these bits are defined as follows:  
Frame-type (bits 15-13)  
000 The buffer associated with this frame descriptor does not contain data from an  
incoming frame. This frame descriptor belongs to the receive pool.  
001 The data buffer associated with this frame descriptor contains data from an XID  
command frame. This frame descriptor belongs to the receive queue.  
010 The data buffer associated with this frame descriptor contains data from an XID  
response frame. This frame descriptor belongs to the receive queue.  
011 The data buffer associated with this frame descriptor contains data from an UI  
frame. This frame descriptor belongs to the receive queue.  
100 The data buffer associated with this frame descriptor contains data from a num-  
bered I frame. This frame descriptor belongs to the receive queue.  
101 The data buffer associated with this frame descriptor contains data from a FRMR  
frame. This frame descriptor belongs to the receive queue.  
110 The data buffer associated with this frame descriptor was used for reception of  
a command frame containing the nonstandard-control field specified in the GCB  
entry. The buffer contains all information following the control field of the frame  
and before the closing flag. This frame descriptor belongs to the receive queue.  
111 The data buffer associated with this frame descriptor was used for reception of  
a response frame containing the nonstandard-control field specified in the GCB  
entry. The buffer contains all information following the control field of the frame  
and before the closing flag. This frame descriptor belongs to the receive queue.  
LLID (bits 12-0)  
These bits specify the LLID associated with the received frame.  
2-42  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
For links assigned to nonprotocol mode with the multibuffer_select bit in the option_bits_2  
GCB entry set to zero, these bits are defined as follows:  
Frame-type (bits 15-13)  
000 Undefined. The MLAPD will not write this encoding.  
001 Undefined. The MLAPD will not write this encoding.  
010 Undefined. The MLAPD will not write this encoding.  
011 Undefined. The MLAPD will not write this encoding.  
100 Undefined. The MLAPD will not write this encoding.  
101 Undefined. The MLAPD will not write this encoding.  
110 Undefined. The MLAPD will not write this encoding.  
111 The data buffer associated with this frame descriptor has been used for recep-  
tion of an incoming frame. This frame descriptor belongs to the receive queue.  
LLID (bits 12-0)  
These bits specify the LLID associated with the received frame.  
For links assigned to nonprotocol mode with the multibuffer_select bit in the option_bits_2  
GCB entry set to one, these bits are defined as follows:  
Frame-type (bits 15-13)  
000 The data buffer associated with this frame descriptor has been used for recep-  
tion of an incoming frame. When the MLAPD receives a frame for a nonprotocol  
link which will not fit into a single receive buffer, the MLAPD marks the buffer  
000. As the frame continues to be stored in memory, all additional buffers are  
marked 000. When the entire frame is received, the last buffer used is marked  
011. At that time, the MLAPD returns to the first buffer used for receiving this  
frame and marks it 100. All other intermediate buffers used for receiving this  
frame remain marked 000. The data-length for buffers marked 000 is equal to  
N201_value_2. (When the MLAPD is operating in line monitor mode. No concept  
of a frame exists; therefore, all used receive buffers will be marked with this en-  
coding, and the data length will be N201_value-2. See 9.4 Line Monitor).  
001 Undefined. The MLAPD will not write this encoding.  
010 Undefined. The MLAPD will not write this encoding.  
011 This data buffer is the last buffer of a multibuffer frame. The data-length will be  
less than or equal to N201_value.  
100 This data buffer is the first buffer of a multibuffer frame. The data-length will be  
equal to N201_value-2.  
101 Undefined. The MLAPD will not write this encoding.  
110 Undefined. The MLAPD will not write this encoding.  
111 This data buffer contains an entire frame. The data-length will be less than or  
equal to N201_value.  
LLID (bits 12-0)  
These bits specify the LLID associated with the received frame.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-43  
Memory Structures  
2.7.6 Time Stamp  
This 32-bit entry is written by the MLAPD only when the promiscuous-receive-select bit in  
the option_bits_1 GCB entry is set to one. Otherwise, this entry is not used. The MLAPD  
writes the arrival time of the frame into this entry. The time stamp is based on an internal 32-  
bit counter with a resolution of 16 system clock cycles.  
2.7.7 Error Code  
The error-code entry is written by the MLAPD and read by the host. The error-code word  
must be initialized to zero by the host before the frame descriptor is linked to the receive  
pool. The MLAPD will receive frames with errors for logical links which have the  
error_mask_valid bit set to one in the link's LLT. Frames are received based upon the  
protocol_error_mask GCB entry for links operating in protocol mode, while frames are  
received based upon the nonprotocol_error_mask for links operating in nonprotocol mode.  
For an erroneous nonprotocol frame, the error-code is written in both the first and last buffers  
of the frame when the multibuffer_select option bit is set. If the receive pool becomes empty  
before a multibuffer frame ends, the buffer_length_exceeded error bit is set. The error codes  
are defined as follows:  
Bits 15-4 are not used.  
These bits must be set to zero by the host.  
Buffer_length_exceeded (bit 3)  
1
This frame violated the N201 value negotiated for this logical link. For nonprotocol  
links with the multibuffer option enabled, this bit is set if the receive-pool becomes  
empty during reception of this frame.  
0
This frame did not violate the N201 value for this logical link.  
RxFIFO_overrun (bit 2)  
1
0
This frame caused a receive FIFO overrun.  
This frame did not cause a receive FIFO overrun.  
Abort/nonoctet (bit 1)  
1
0
This frame ended with an abort or this frame was nonoctet aligned.  
This frame ended normally.  
CRC_error (bit 0)  
1
0
This frame had a CRC error.  
This frame did not have a CRC error.  
2.8 INTERRUPT QUEUE  
The Interrupt Queue is located in shared memory. The host specifies the head of the queue  
and the number of available entries via the GCB during initialization. The host must zero the  
2-44  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
Interrupt Queue before presenting the area to the MLAPD. The Interrupt Queue structure is  
shown in Figure 2-16.  
The Interrupt Queue provides detailed information on interrupting events to the host. Each  
entry in the queue consists of two words. The format of an interrupt entry is shown in Figure  
2-17.  
.
INTERRUPT QUEUE POINTER  
(NOT VALID)  
USER INTERRUPT QUEUE READ POINTER  
INTERRUPT ENTRY  
INTERRUPT ENTRY  
INTERRUPT ENTRY  
INTERRUPT ENTRY  
INTERRUPT QUEUE WRITE POINTER  
(NOT VALID)  
INTERRUPT QUEUE TAIL POINTER  
Figure 2-16. Interrupt Queue Structure  
15  
14  
13  
12  
7
6
5
0
BASE  
NOT USED  
LLID  
VALID  
ENTRY  
ASSO. ASSO.  
LLID ARG  
BASE+ 2  
X
ARGUEMENT  
EVENT NUMBER  
Figure 2-17. Interrupt Queue Entry Format  
MOTOROLA  
MC68606 USER’S MANUAL  
2-45  
Memory Structures  
The first word of the interrupt entry contains the corresponding LLID, if the interrupt is asso-  
ciated with a specific logical link. Otherwise, the first word of the interrupt entry is not valid.  
This word is read by the host and written by the MLAPD. The format of the first word is  
defined as follows:  
Bits 15, 14, and 13 are not used.  
These bits are set to zero by the MLAPD, if associated_LILID is set to one. If  
associated_LLID is set to zero, bits 15, 14, and 13 are don't care since the entire word is  
not valid.  
LLID (bits 12-0)  
These bits contain the LLID associated with the interrupting condition, if applicable.  
The second word in an interrupt entry indicates whether the entry contains a valid interrupt  
condition and, if so, the cause of the pending interrupt.  
Valid-entry (bit 15)  
Set to valid by MLAPD, reset to invalid by the host.  
1
This Interrupt Queue entry defines an interrupt condition not yet handled by the  
host.  
0
This Interrupt Queue entry is free.  
Bit 14  
This bit is a don't care.  
Interrupt-argument (bits 13-8  
For two interrupting conditions, this field is encoded to provide additional information  
about the cause of the interrupt. See 2.8.2 Interrupt Arguments.  
Associated_LLID (bit 7)  
1
The LLID associated with this interrupt is contained in the first word of this interrupt  
entry.  
0
No LLID is associated with this interrupt entry. The first word of this interrupt entry  
is not used.  
Associated-argument (bit 6)  
1
0
The argument field in this word is valid.  
The argument field in this word is not valid.  
Interrupt_event_number (bits 5-0)  
This field contains a number which identifies the cause of the interrupt. This number cor-  
responds to the bit location of the interrupt in the 32-bit interrupt-mask. The list of interrupt  
conditions is given in 2.8.1 Interrupt Events.  
2-46  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.8.1 Interrupt Events  
The following list specifies all interrupting events and their corresponding inter_  
rupt_event_number (in binary), which is stored in the Interrupt Queue entry.  
000000 RxFIFO_overrun_threshold_reached  
This interrupt indicates that the system bus bandwidth allocated to the MLAPD is  
not sufficient to handle the receive data activity. This interrupt has no associated  
LLID.  
000001 TxFIFO_underrun_threshold_reached  
This interrupt indicates that the system bus bandwidth allocated to the MLAPD for  
providing data to the transmitter is not sufficient. This interrupt has no associated  
LLID.  
000010 Inactive_DLCI_threshold_reached  
This interrupt indicates that the inactive_DLCI_threshold (specified in the GCB)  
has been reached. This interrupt has no associated LLID.  
000011 Invalid_address_threshold_reached  
This interrupt indicates that the invalid_address_threshold (specified in the GCB)  
has been reached. This interrupt has no associated LLID.  
000100 Discarded_frame_threshold_reached  
This interrupt indicates that the discarded_frame_threshold (specified in the GCB)  
has been reached, This interrupt has no associated LLID.  
000101 Short_frame_threshold_reached  
This interrupt indicates that the short_frame_threshold (specified in the GCB) has  
been reached. This interrupt has no associated LLID.  
000110 CRC_error_threshold_reached  
This interrupt indicates that the CRC_error_threshold (specified in the GCB) has  
been reached. This interrupt has no associated LLID.  
000111 Abort/nonoctet_threshold_reached  
This interrupt indicates that the abort/nonoctet_threshold (specified in the GCB)  
has been reached. This interrupt has no associated LLID.  
001000 Link_error_threshold_reached  
This interrupt indicates that a link error threshold (specified in the GCB) has been  
reached. This interrupt has an associated LLID. The argument field of this interrupt  
defines the specific link error.  
001001 I_frame_retransmit_threshold_reached  
This interrupt indicates that the I_frame_retransmit_threshold (specified in the  
GCB) has been reached for an I frame. The retransmit_count entry in the transmit  
MOTOROLA  
MC68606 USER’S MANUAL  
2-47  
Memory Structures  
frame descriptor of the affected I frame is equal to the retransmit_threshold. This  
interrupt has an associated LLID.  
001010 CTS_timeout_threshold-reached  
This interrupt indicates that the MLAPD asserted RTS and waited for (CTS-  
timeout-thresholdx2048) TxCLK cycles for CTS to be asserted. Alternatively, this  
interrupt indicates that the MLAPD has waited for this time interval since the last  
time this interrupt was issued. This interrupt has no associated LLID entry.  
001011 CTS-lost  
This interrupt indicates that the CTS pin was negated during a frame transmission  
for more than one TxCLK cycle. TxD is three-stated while CTS is not active. This  
interrupt is issued only once per frame, regardless of the number of bit times  
where CTS is negated. This interrupt has no associated LLID.  
001100 Pool red-line  
This interrupt indicates that a red line condition has been reached for the receive  
pool associated with the specified logical link. See 2.7 Receive Frame  
Descriptor. This interrupt has an associated LLID.  
001101 CAM-overflow  
This interrupt indicates that the host attempted to activate more than 16 logical  
links in on-chip system operation mode. This interrupt has no associated LLID.  
001110 L2_queue_overflow  
This interrupt indicates that the memory allocated to the external Level 2 Queue  
was not sufficient for storing all the Level 2 frames generated as the result of host  
commands or received frames. This interrupt has no associated LLID.  
001111 Undefined/reserved  
010000 MIDL_assign_inclication  
This interrupt indicates that the MLAPD is waiting for a DLCI assignment for the  
specified link for which a service has been requested. This interrupt has an  
associated LLID.  
010001 Remote_status_confirmation  
This interrupt indicates that a frame with F set to one has been received in  
response to a S frame transmitted by the MLAPD with P set to one following a  
REMOTE_STATUS_REQUEST  
command.  
Refer  
to  
4.5.3  
REMOTE_STATUS_REQUEST Command Command. This interrupt has an  
associated LLID.  
010010 Local_busy  
This interrupt indicates that a frame was received for the specified logical link,  
while this logical link was in the local busy condition. See 8.10.1 Local Busy  
Condition. This interrupt has an associated LLID.  
2-48  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
010011 Data-indication  
This interrupt indicates that a frame was added to a receive queue for the specified  
link. For a protocol link, specification of the frame type is found in the receive frame  
descriptor. This interrupt has an associated LLID.  
010100 DI data-confirmation  
This interrupt indicates that the last frame in the specified logical link's Transmit  
Queue was transmitted and acknowledged. This interrupt has an associated LLID.  
010101 XID/UI_Queue_0_confirmation  
This interrupt indicates that the last frame in the XID/UI Queue_0 was transmitted.  
This interrupt has no associated LLID.  
010110 XID/U1_Queue_1_confirmation  
This interrupt indicates that the last frame in the XID/UI Queue_1 was transmitted.  
This interrupt has no associated LLID.  
010111 Global_XID/UI_confirmation  
This interrupt indicates that the last frame in the Global XID/UI Queue was  
transmitted. This interrupt has no associated LLID.  
011000 DL_establish-confirmation  
This interrupt indicates that the specified link was established as the result of a  
DL_ESTABLISH-REQUEST command. This interrupt has an associated LLID.  
011001 DI establish-indication  
This interrupt indicates that the specified link was established as the result of a  
SABME frame reception. This interrupt has an associated LLID.  
011010 DL_release_confirmation  
This interrupt indicates that the specified logical link was released as the result of  
a DL_RELEASE-REQUEST command. This interrupt has an associated LLID.  
011011 DL_release_indication  
This interrupt indicates that a DISC command frame was received for the specified  
link, that the link was released for timeout reasons, or that the link was released  
as the result of a MDL_REMOVE_REQUEST command. This interrupt has an  
associated LLID.  
011100 Undefined/reserved  
011101 MDL_error_indication  
This interrupt indicates that an error condition occurred on the specified link. This  
interrupt has an associated LLID and argument field.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-49  
Memory Structures  
011110 Undefined_host_command  
This interrupt indicates that the host issued an unimplemented command. This  
interrupt has no associated LLID.  
011111 thru 111101 Undefined/reserved  
111110 Interrupt_queue_overflow  
This interrupt indicates that the memory allocated for the Interrupt Queue was not  
sufficient for storing all pending interrupt requests. This interrupt has no  
associated LLID. This interrupt is not maskable.  
111111 Bus/address_error A bus/address error occurred on an MLAPD DMA cycle. Bus/  
address error operation is described in 7.2 Bus Error Operation. This interrupt  
has no associated LLID. This interrupt is not maskable. IRQ (INTR) will be  
asserted regardless of the user-programmed value of the polling_select bit.  
2.8.2 Interrupt Arguments  
Two interrupt conditions, MDL_error_indication and link_error_threshold_reached, encode  
the argument field to provide additional information about the interrupt cause.  
2.8.2.1 MDL ERROR INDICATION ARGUMENTS . The valid encodings of the  
interrupt_argument field and the corresponding approved CCITT error codes are listed  
below. The indicated link state numbers correspond to the numeric state values defined in  
Table 8-1.  
000000 Reception of a host command which is not permitted in the link's current state. (no  
code defined)  
000001 Reception of a S frame with F set to one when not allowed. (code A)  
000010 Reception of a DM frame when not allowed. (code B)  
000011 Reception of a UA frame when link state is 4. 7, or 8. (code C)  
000100 Reception of a UA frame with F set to zero when link state is 5 or 6. (code D)  
000101 Undefined/reserved  
000110 Reception of a SABME frame when not allowed. (code F)  
000111 SABME retransmission limit reached. (code G)  
001000 DISC retransmission limit reached. (code H)  
2-50  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
001001 Status inquiry retransmission limit reached as part of normal timer recovery. (code  
11)  
001010 Status inquiry retransmission limit reached as part of the T203 status inquiry  
process. (code 12)  
001011 N(R) error. A FRMR frame was transmitted, if enabled by option_bits_1 entry in  
GCB. (code J)  
001100 Reception of FRMR when link state is 7 or 8. (code K)  
001101 Reception of an unimplemented frame. A FRMR frame was transmitted, if enabled  
by option_bits_1 entry in GCB. (code L)  
001110 Reception of an I field when not permitted. A FRMR frame was transmitted, if  
enabled by option_bits_1 entry in GCB. (code M)  
001111 Undefined/reserved  
010000 Reception of an I frame with N201 error. A FRMR frame was transmitted, if  
enabled by option_bits_1 entry in GCB. (code 01)  
010001 Reception of a XID command frame with N201 error. A FRMR frame was  
transmitted, if enabled by option_bits_1 entry in GCB. (code 02)  
010010 Reception of a XID response frame with N201 error. A FRMR frame was  
transmitted, if enabled by option_bits_1 entry in GCB. (code 03)  
010011 Reception of a UI command frame or a user-defined U frame with N201 error.  
A FRMR frame was transmitted, if enabled by option_bits_1 entry in GCB. (code  
04) Or reception of a frame with an N201 error to a nonprotocol link.  
010100 Reception of a XID command frame in one of the following cases:  
1. When the link state is 7.2  
2. When the link state is 8.2  
3. When the link state is 4, 5, or 6 AND the link is in local busy  
In all cases the received frame is discarded. (code P2)  
010101 Reception of a XID response frame in one of the following cases:  
1. When the link state is 7.2  
2. When the link state is 8.2  
3. When the link state is 4, 5, or 6 AND the link is in local busy  
In all cases the received frame is discarded. (code P3)  
MOTOROLA  
MC68606 USER’S MANUAL  
2-51  
Memory Structures  
010110 Reception of a UI command frame or a user-defined U frame in one of the following  
cases:  
1. When the link state is 7.2  
2. When the link state is 8.2  
3. When the link state is 1, 3, 4, 5, or 6 AND the link is in local busy. Also, re-  
ception of a frame for a nonprotocol link while the link is in local busy.  
In all cases the received frame is discarded. (code P4)  
010111 Reception of a FRMR response frame in one of the following cases:  
1. When the link state is 7.2  
2. When the link state is 8.2  
According to the LAPD protocol, FRMR is considered a bad frame in states 1, 3,  
4, 5, and 6. Also, issuing a SET_LOCAL_BUSY command in any connected state  
places the link in state 7.2 or 8.2.  
In all cases the received frame is discarded. (code P5)  
011000 thru 111111 Undefined/reserved  
2.8.2.2 LINK COUNTER THRESHOLD REACHED ARGUMENTS . The valid encodings  
of the interrupt-argument field for the link_error_threshold_reached interrupt are as follows:  
000000 REJ transmit counter reached its threshold.  
000001 RNR transmit counter reached its threshold.  
000010 REJ receive counter reached its threshold.  
000011 RNR receive counter reached its threshold.  
000100 thru 111111 Undefined/reserved.  
2.9 TIMER TABLE  
The Timer Table is read and written by the MLAPD. The MLAPD uses this table together  
with two free-running on-chip counters to implement the Level 2 timers: T200 and T203.  
Only one timer per logical link is active at any given time. The timers are maintained for pro-  
tocol links in AWAIT_EST (state 5), AWAIT_REL (state 6), MF_EST_NORM (state 7.0),  
MF_EST_REJ (state 7.1), MF_EST-BUSY (state 7.2), TM_REC_NORM (state 8.0),  
TM_REC_REJ (state 8.1), and TM_REC_BUSY (state 8.2). Refer to the LAIRD state tables  
for details of when each timer is (restarted and stopped. Timers are not maintained for non-  
protocol links. The Timer Table format is shown in Figure 2-18.  
The Timer Table begins at the address specified by the timer_table_pointer. The host must  
allocate enough memory for this table to accommodate a 16-bit entry for each LLID that may  
be assigned by the host plus two additional words, which are used by the MLAPD to store  
temporary values. The host must zero the Timer Table before presenting the area to the  
MLAPD. The LLID multiplied by two is the index into the table.  
2-52  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
158  
70  
BASE  
BASE + 2  
LLID 0 TIMER ENTRY  
LLID 1 TIMER ENTRY  
BASE + 4  
LLID 2 TIMER ENTRY  
BASE + MAXIMUM_LLIO_NUMBERx 2  
LLID (MAXIMUM) TIMER ENTRY  
TEMPORARY (READ ONLY)  
TEMPORARY (READ ONLY)  
Figure 2-18. Timer Table Format  
Each entry in the Timer Table contains the timer status for a specific logical link. The format  
of each entry is defined as follows:  
15  
1 4  
13  
1 2  
11  
10  
9
ENTRY #n  
ACTIVE  
T200/T203  
RETRANSMISSION COUNT  
8
7
6
5
4
3
2
1
0
EXPIRATION TIME  
Active (bit 15)  
1
0
This entry contains an active timer.  
This entry has no active timer.  
T200/T203 (bit 14)  
1
0
This logical link timer is T200. (acknowledgment)  
This logical link timer is T203. (idle)  
Retransmission-count (bits 13-9)  
Stores the number of retransmissions of the current transmit frame for this logical link. The  
MLAPD increments the retransmission-count according to the LAIRD protocol and com-  
pares this value to the GCB parameter, N200_value.  
Expiration-time (bits 8-0)  
These bits store the "time", with respect to an on-chip timer, when this logical link's timer  
expires.  
2.9.1 Timer Operations  
Three timer operations are performed on a per link basis to implement the T200 and T203  
protocol functions: disable timer, (re)start timer, and timeout recognition.  
MOTOROLA  
MC68606 USER’S MANUAL  
2-53  
Memory Structures  
The disable and (re)start operations are performed frequently, according to the link's activity.  
These operations require up to three memory cycles. To disable a timer, the MLAPD sets  
the active bit to zero in the appropriate entry. To start a timer for a logical link, the present  
value of the corresponding on-chip counter is added to the link's timeout period. This expi-  
ration-time is written in the appropriate table entry, along with the timer type (T200/T203).  
The retransmission-count is also zeroed as specified by the LAPD protocol in conjunction  
with this timer operation, and the active bit is set to one. The T203 timeout period is a global  
parameter contained in the T203_value entry in the GCB. The T200 timeout is specified on  
a per link basis and is contained in the T200_value entry in the link's LLT.  
A timeout recognition operation is performed at every time step. The following example  
shows the time step for T200 and T203, based upon the system clock frequency:  
20  
T200 time step = (2 )/F  
20  
T203 time step = (2 X 10)/F  
F is the system clock frequency.  
F
T200 Time Step T203  
(milliseconds)  
Time Step  
(milliseconds)  
(MHz)  
16.67  
12.5  
10.0  
8.0  
62.91  
83.88  
629.1  
838.8  
104.85  
131.07  
1048.5  
1310.7  
During timeout recognition, all active timer entries are read from memory and compared to  
the present value of the corresponding on-chip counter. If the expiration-time entry for a log-  
ical link and the on-chip counter have the same value, then the logical link's timer has  
expired. When a retransmission occurs as result of timeout recognition, the  
retransmission_count is incremented by one and compared to the maximum number of  
retransmissions (N200_value).  
The MLAPD keeps track of the highest active LLID assigned by the host. During a timeout  
recognition operation, the MLAPD only checks the Timer Table entries up to the highest  
active LLID. By assigning the lowest available LLID to a link during link establishment, the  
system bus loading for timer handling is minimized. Also, because a complete Timer Table  
check is performed once per timer resolution (70 to 130 milliseconds depending on the sys-  
tem clock frequency), the recognition of a timeout may be delayed by almost a full time step  
when many LLIDs are active.  
During a timer recognition operation two entries are read during each DMA burst. For 8K  
active logical links, the microcode is busy with the timer recognition operation approximately  
40-45% of the time. In the remaining 55-60%, the microcode is available to handle command  
execution and service the serial link. The amount of microcode time for timer maintenance  
increases and decreases linearly with respect to the number of active LAPD links.  
2-54  
MC68606 USER’S MANUAL  
MOTOROLA  
Memory Structures  
2.10 LEVEL 2 QUEUE  
The MLAPD generates all Level 2 LAPD control frames (see Figure 2-19). As these frames  
are generated, the MLAPD queues them for transmission on the Level 2 Transmit Queue.  
Level 2 frames must be queued for transmission, since the MLAPD is not always able to  
immediately begin transmission. The first 32 (on-chip operation mode) or 48 (expanded  
operation mode) words of the Level 2 Queue are located on-chip, and additional storage is  
allocated by the host in external memory. When an overflow condition occurs on the internal  
queue, the MLAPD starts filling the external queue. Once the external Level 2 Queue is  
emptied, the MLAPD resumes use of the internal queue.  
The Level 2 Queue is completely managed by the MLAPD and is transparent to the user.  
The host is notified, though, when the MLAPD overflows the allocated external Level 2  
queue area. It is recommended that this external area be at least 128 words in length to  
avoid a Level 2 Queue overflow condition. However, the LAPD procedure allows for easy  
recovery from an overflow since this situation equates to the MLAPD's transmission of Level  
2 frames, which were lost on the link.  
During initialization the MLAPD fetches the L2_queue-pointer and the L2_queue-length  
from the GCB. The beginning address of the external queue is stored in the 32-bit  
L2_queue-pointer register. The value (L2_queue_length-5)x2 are stored in the L2_tail-  
_displacement register. The L2_tail_displacement register then indicates to the last entry  
that can be used for a Level 2 frame, since the largest Level 2 Queue entry consists of five  
words (FRMR frame). The MLAPD manages this external queue by using the  
L2_read_displacement register and the L2_write_displacement register, which are 16-bit  
offsets from the L2_queue-pointer register. The internal queue is managed in the same  
manner as the external Level 2 Queue, using the L2_int-read-displacement register and the  
L2_int-write-displacement register. These six registers may be inspected for diagnostic pur-  
poses by issuing a DUMP command.  
The Level 2 Queue structure is shown in Figure 2-20. Each entry in the Level 2 Queue con-  
sists of the control field of the frame followed by the DLCI. If the Level 2 frame is an FRMR  
frame, the DLCI is then followed by the FRMR I field.  
SUPERVISORY (S) FRAMES  
RECEIVE READY MR)  
RECEIVE-NOT-READY (RNR)  
REJECT (REJ)  
UNNUMBERED (U) FRAMES  
SET ASYNCHRONOUS BALANCED MODE EXTENDED (SABME)  
DISCONNECT (DISC)  
DISCONNECTED MODE (DM)  
UNNUMBERED ACKNOWLEDGEMENT (UA)  
FRAME REJECT (FRMR)  
Figure 2-19. MLAPD Generated Level 2 Frames  
.
MOTOROLA  
MC68606 USER’S MANUAL  
2-55  
Memory Structures  
MLAPD  
LEVEL 2 QUEUE  
LEVEL 2 QUEUE (EXTERNAL)  
CONTROL  
DLCI  
CONTROL  
DLCI  
CONTROL  
DLCI  
CONTROL  
DLCI  
CONTROL  
DLCI  
CONTROL  
DLCI  
FRMR I FIELD  
FRMR I FIELD  
FRMR I FIELD  
CONTROL  
DLCI  
FRMR I FIELD  
FRMR I FIELD  
FRMR I FIELD  
32 WORDS*  
(NOT VALID)  
*48 WORDS IN EXPANDED-OPERATION MODE  
MINIMUM 128 WORDS  
Figure 2-20. Level 2 Queue Structure  
2-56  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 3  
INTERNAL REGISTERS  
The MLAPD has 7 functional blocks: serial, direct memory access (DMA), microcontroller  
arithmetic logic unit (ALU), register file, random access memory (RAM), and content  
addressable memory (CAM). Each of these sections contain user visible and nonvisible  
registers that define and control the operation of the MLAPD. Some of these registers  
contain global information for all logical links. This information permanently resides on-chip  
after initialization. Other registers contain information for the specific link currently receiving  
service by the MLAPD receiver or transmitter. The information in these registers is moved  
into and out of the chip each time the in-service link changes.  
Because the MLAPD communicates with the host primarily through shared memory  
structures, a minimum number of host directly accessible registers are required. Most of the  
MLAPD registers are visible to the user but are not directly accessible. Commands issued  
to the MLAPD cause the MLAPD to load internal registers from the Global Configuration  
Block (GCB) and Logical-Link Tables (LLTs) or to write the updated register values into the  
GCB and LLTs. Most of the internal registers are cleared (set to zero) during the reset  
sequence. The indirectly addressed registers may be global or per link, and constant or  
variable.  
3.1 DIRECTLY ACCESSIBLE REGISTERS  
The directly accessible registers include the command register (CR), semaphore register  
(SR), data register (DR), and interrupt-vector register (IVR). A register map is shown in  
Table 3-1 for Motorola configuration and in Table 3-2 for Intel-compatible configuration.  
3.1.1 Command Register  
The control interface between the MLAPD and the host processor is the CR. This 8-bit  
register is written by the host processor to issue commands to the MLAPD. Once a  
command is issued, it must be completed (or accepted) by the MLAPD before the next  
command can be written to the CR. The SR indicates when a new command may be issued.  
Passing the MLAPD an undefined command causes an undefined_host_command interrupt  
to be placed on the Interrupt Queue.  
The command set is detailed in Section 4 Command Set. Some commands need  
additional arguments, which are written into the argument fields in the GCB by the host prior  
to issuing a command.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-1  
Internal Registers  
Table 3-1. Motorola Bus Selection of Directly Accessible Registers  
A2  
Al  
UDS/A0  
LDS/DS  
D8–D15  
D0–D7  
16-Bit Bus  
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
x
x
0
0
1
0
0
1
0
0
0
1
0
0
1
0
x
CR, SR  
JVR  
x
DR (High Word)  
DR Byte 3  
x
x
DR Byte 2  
DR (Low Word)  
DR Byte 1  
x
x
DR Byte 0  
8-Bit Bus  
0
0
1
0
0
1
1
x
x
0
1
0
1
0
0
0
0
0
0
x
x
x
x
x
x
CR, SR  
IVR  
0
1
DR Byte 3  
DR Byte 2  
DR Byte 1  
DR Byte 0  
1
1
I
X–DON’T CARE  
31  
24 23  
16 15  
8
7
0
DR  
Byte 3  
Byte 2  
Byte 1  
Byte 0  
3.1.2 Semaphore Register  
The MLAPD uses the 8-bit SR to indicate execution of the current host command. When a  
command is written to the CR, the MLAPD indicates a busy condition by setting this register  
to the hex value 'FE'. Upon completion (or acceptance) of the command, the SR is set to the  
hex value 'FF'. The host processor must read the SR to ensure that it is hex 'FF' before  
modifying the command-argument entries or issuing the next command. Failure to do so will  
cause unpredictable results. As an exception to the above statement, a software RESET  
command can be issued even when the SR is hex 'FE'.  
The MLAPD also reports the completion of a hardware reset by setting the SR to the hex  
value 'FF'. The worst-case delay for a command to begin execution (other than RESET,  
INIT, and DUMP) is approximately 400 system clock cycles.  
3.1.3 Interrupt Vector Register  
The IVR contains the 8-bit interrupt vector number presented to the system during an  
interrupt acknowledge cycle. The upper seven bits of the vector are user programmable.  
The least significant bit is generated internally by the MLAPD to provide a unique interrupt  
vector number corresponding to the interrupt type. Normal and severe interrupt sources are  
defined in 2.8.1 Interrupt Events. The interrupt conditions which cause a severe interrupt  
are bus error and address error. The interrupt vector encodings are shown in the following  
table.  
IVR (BIT 0)  
Normal Interrupt  
Severe Interrupt  
0
1
3-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
Table 3-2. Intel-Compatible Bus Selection of Directly Accessible Registers  
A2  
A1  
A0  
BHE  
D8–15  
D0–D7  
16-Bit Bus  
0
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
x
x
0
1
0
0
1
0
x
x
CR, SR  
IVR  
DR (Low Word)  
x
DR Byte 0  
x
DR Byte 1  
DR (High Word)  
x
DR Byte 2  
x
DR Byte 3  
8-Bit Bus  
0
0
1
0
0
1
1
0
0
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
CR, SR  
IVR  
0
1
DR Byte 0  
DR Byte 1  
DR Byte 2  
DR Byte 3  
1
1
1
X–DON’T CARE  
31  
24 23  
16 15  
8
7
0
DR  
Byte 3  
Byte 2  
Byte 1  
Byte 0  
The MLAPD exits reset in the interrupt-driven mode with the IVR set to hex 'OF'. The hex  
'OF' encoding is defined in the M68000 architecture as an uninitialized interrupt vector. In  
an Intel-compatible configuration, this encoding may be defined as a system reserved  
vector. Therefore, the IVR must be loaded during the initialization procedure with a user  
specified value to avoid a possible conflict of system bus interrupt usage.  
3.1.4 Data Register  
The 32-bit DR is written by the host during initialization with the address of the GCB. As part  
of the INIT command, the MLAPD transfers the value in the DR into the  
global_configuration_block-pointer register.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-3  
Internal Registers  
3.2 INDIRECTLY ACCESSIBLE REGISTERS  
The DUMP command allows the user to view many indirectly accessible, internal MLAPD  
registers. During execution of the DUMP command, the MLAPD writes these internal  
registers and CAM into a user-specified dump area in memory. The format of the dump area  
is described in 4.2.2 DUMP Command. The definitions of these internal registers and CAM  
are contained in this section. The ordering of this section directly corresponds to the ordering  
of the dump area map. Some locations in the dump area contain temporary values. These  
temporary values are not defined. The dump area also contains the internal Level 2 Queue  
which is described in 2.10 Level 2 Queue. The dump area also contains receive pool  
pointers 0–15 which are described in 2.5 Receive Pool Pointers Table.  
3.2.1 CAM  
The on-chip content addressable memory (CAM) has 16 entries, where each entry stores a  
DLCI_LLID pair. The CAM is used only when the on-chip system operation mode is  
selected. All the entries are cleared by hardware or software reset. A new entry is written  
into the CAM as part of the MDL_ASSIGN_REQUEST command, if a free entry exists. If  
there is no free entry, a CAM_overflow interrupt is generated. An entry is removed from the  
CAM by the MLAPD as part of the DEACTIVATE_LL command execution.  
The CAM identifies the Logical-Link Identification (LLID) number associated with the Data-  
Link-Connection Identifier (DLCI) in the incoming frame. If the CAM is enabled, an incoming  
DLCI is presented to the CAM and a hit or miss indication is generated. In the case of a hit,  
the LLID is returned. A miss indicates that the DLCI is unassigned, and the frame is ignored.  
Each CAM entry consists of two words. The first word of the word pair is defined as follows:  
15  
14  
13  
0
12  
0
VALID  
CAM  
VALID  
CAM  
DLCI  
ENTRY  
ENTRY  
Valid_CAM_entry (bit 15)  
1
0
A valid DLCI_LLID pair is stored in this entry.  
This CAM entry is free. No DLCI_LLID pair is stored in this entry.  
Last_CAM_entry (bit 14)  
1
0
This is the last entry in the CAM.  
This CAM entry is not the last one (the sixteenth entry).  
Bit 13  
This bit is always set to zero.  
DLCI (bits 12-0)  
This field contains a valid DLCI when the valid_CAM_entry bit is set to one.  
3-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
The second word of the CAM word pair is defined as follows:  
15  
0
14  
0
13  
12  
0
USER/NTW  
LLID  
Bits 15 and 14  
These bits are always set to zero.  
User/Network (bit 13)  
1
The logical link associated with this LLT is on the "network" side. The C/R bit is set  
to one in transmitted command frames and to zero in transmitted response frames.  
0
The logical link associated with this LLT is on the "user" side. The C/R bit is set to  
zero in transmitted command frames and to one in transmitted response frames.  
LLID (bits 12-0)  
This field contains the LLID associated with the DLCI in this CAM entry when the  
valid_CAM_entry bit is set to one.  
3.2.2 N200 Value  
The five bits (13-9) of this 16-bit register contain the user-specified number of retransmission  
attempts for a supervisory (S) command frame or an unnumbered (U) command frame  
(N200). Bits 15 and 14 are set to one. Bits 8 and 0 are set to zero. This register is initialized  
during INIT execution with the corresponding GCB value and is a global definition for all  
logical links. The MLAPD will update this register during execution of a RELOAD command  
with a new user-defined value.  
3.2.3 T203 Value  
Bits 8-0 of this 16-bit register define the maximum time that an established link may be  
inactive (carry no frames). This register is initialized during INIT execution with the  
corresponding GCB value, which is a global definition for all links. The MLAPD will update  
this register during execution of a RELOAD command with a new user-defined value.  
3.2.4 Highest Active LLID  
The least significant 13 bits of this 16-bit register contain the highest LLID which the host  
has assigned to any LAPD link in numeric link state 5 or higher. This register is initialized to  
zero during INIT execution. The highest_active_LLID register is used by the MLAPD when  
performing a timeout recognition operation. The MLAPD updates this register as necessary  
when a link makes a transition from a numeric link state less than 5 to numeric link state 5  
or higher and when a link makes a transition from numeric link state 5 or higher to a numeric  
link state less than five.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-5  
Internal Registers  
3.2.5 T200 Counter  
The MLAPD uses this 9-bit counter (bits 8-0) together with the external Timer Table to  
implement the individual T200 link acknowledgment timers for each LAPD link in numeric  
link states 5 and higher. Bits 15-9 are set to 1100000. The counter is set to zero after a  
hardware or software reset. Every 220 master clocks, the T200_counter is incremented. So  
for a 16.67 MHz clock, this counter is incremented every 63 milliseconds with a maximum  
count of 32 seconds.  
3.2.6 T203 Counter  
The MLAPD uses this 9-bit counter (bits 8-0) together with the external Timer Table to  
implement the activity timer T203 for each active logical link. Bits 15-9 are set to 1000000.  
The counter is set to zero after a hardware or software reset. Every 1 0 x 220 master clocks,  
the T203_counter is incremented. For example, with a 16.67 MHz clock, this counter is  
incremented every 0.63 seconds, with a maximum count of 322 seconds. The T200 counter  
is scaled by 10 to give the proper range for the T203 counter.  
3.2.7 Pool Number  
This 16-bit register contains the receive_pool_number for the link addressed in the current/  
last receive frame. The MLAPD uses this number to fetch the corresponding  
receive_pool_pointer from the Receive Pool Pointers Table during a receive operation. This  
register is initialized to zero during INIT execution. This register is updated as a frame is  
received.  
3.2.8 L2 Tail Displacement  
This 16-bit register is an offset from the Level 2 (L2)_queue_pointer register. The L2_tail-  
displacement register identifies the last entry which may be used by the MLAPD in the  
external Level 2 Queue. This memory location has the address (L2_queue-pointer +  
(L2_queue_length-5) x 2) This register is initialized during INIT execution.  
3.2.9 External L2 Queue Displacement Registers  
The MLAPD uses two 16_bit registers to manage the external Level 2 Queue: the  
L2_read_displacement register and the L2_write_displacement register. These registers  
are byte offsets from the L2_queue_pointer register. The L2_read_displacement register  
points to the next Level 2 frame to be transmitted, and the L2_write_displacement register  
points to the next location where a Level 2 frame will be stored. When these displacements  
are equal, the external Level 2 Queue is empty, and the MLAPD begins using the internal  
Level 2 Queue area. These registers are initialized to zero during INIT execution.  
3-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
3.2.10 Tx XID/UI LLID  
The 13 least significant bits of this 16-bit register contain the LLID of the current/last logical  
link serviced by the MLAPD transmitter while processing frames from either the Global XIC/  
UI Queue, XID/UI Queue_0, or XID/UI Queue_1. Bits 15-13 are not used and always set to  
zero. This register is initialized to zero during INIT execution. This register is updated as  
frames are transmitted from one of the XID/UI queues.  
3.2.11 Tx XID/UI DLCI  
This 16-bit register contains the DLCI of the current/last logical link serviced by the MLAPD  
transmitter while processing the Global XID/UI Queue. The format of this register is as  
follows:  
Bits 15-13 Always set to zero  
Bits 12-7 SAPI/DLCI's upper field  
Bits 6-0 TEI/DLCI's lower field  
This register is initialized to zero during INIT execution. This register is updated as frames  
are transmitted from the Global XID/UI Queue.  
3.2.12 Internal L2 Queue Displacement Registers  
The MLAPD uses two 16-bit registers to manage the internal Level 2 Queue: the  
L2_int_write_displacement and the L2_int_read_displacement. These registers are offsets  
from the beginning of the internal Level 2 Queue area. These registers range from 0–31 in  
on-chip system operation mode and from 0–47 in expanded-system operation mode. The  
L2_int_read_displacement register points to the next Level 2 frame to be transmitted, and  
the L2_int_write_displacement register points to the next location where a Level 2 frame will  
be stored. When these pointers are equal, the internal Level 2 Queue is empty. When the  
L2_int_write_displacement is greater than the L2_int_read_displacement, then the internal  
Level 2 Queue is full, and the MLAPD will begin to use the external Level 2 Queue. These  
registers are initialized to zero during INIT execution.  
3.2.13 Tx FD Status  
This 16-bit register contains the status word of the current or last transmit frame descriptor  
(FD) serviced by the MLAPD transmitter.  
3.2.14 Tx V(S)/V(R)  
This 16-bit register contains the send and receive state variables for the current or last  
logical link serviced by the MLAPD transmitter. The send state variable, V(S), denotes the  
sequence number of the next information (1) frame to be transmitted. This variable is stored  
in bits 9-15. Bit 8 is always set to zero. The receive state variable, V(R), denotes the  
expected sequence number of the next I frame to be received. This variable is stored in bits  
7-1. Bit 0 is always set to zero. The Tx_V(S)/V(R) value is initialized by the MLAPD during  
link establishment. The LLT entry is updated whenever this value changes.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-7  
Internal Registers  
3.2.15 CTS Timeout Counter  
The least significant 8 bits of this 16_bit counter are used by the MLAPD to measure the time  
from when request_to_send (RTS) is asserted until clear-to-send (CTS) is asserted. This  
counter is initialized during INIT execution with the corresponding GCB threshold entry and  
is reinitialized each time RTS is asserted. Following the assertion of RTS, the MLAPD  
decrements this counter every 2048 transmit clock (TxCLK) cycles. When this counter  
reaches zero, the MLAPD issues a CTS_timeout_threshold_reached interrupt, reloads the  
counter from the CTS_timeout_threshold register, and begins counting again. Once CTS is  
asserted, the MLAPD reinitializes the counter to its threshold value.  
3.2.16 Tx Maximum Number of Outstanding I Frames (K)  
The lower byte of this 16-bit register defines the maximum number of I frames that can be  
transmitted for the current/last link serviced by the MLAPD transmit task before an  
acknowledgment is required. Bits 15-8 are not used and set to zero. This register is  
initialized to zero during INIT execution. This register is updated when the link in-service  
changes.  
3.2.17 Tx V(A)  
The most significant 7 bits of this 16-bit register contain the acknowledge state variable,  
V(A), for the current or last logical link serviced by the MLAPD transmitter. V(A) identifies  
the last I frame that has been acknowledged. Bits 8-0 are always set to zero. This register  
is initialized to zero during link establishment and is updated as each valid acknowledgment  
is received for the associated link. The link's LLT entry is updated whenever this value  
changes.  
3.2.18 Tx Link Status  
This 16-bit register contains the link-status LLT entry of the current/last logical link serviced  
by the MLAPD transmitter. This register is initialized to zero during INIT execution and is  
updated as each frame is transmitted, if necessary. The corresponding LLT entry is updated  
whenever the link status changes.  
3.2.19 Current Queue In-Service  
The three low-order bits of this 16-bit register specify which of the six lowest-priority transmit  
queues is to be serviced next by the MLAPD transmit task. This register is incremented  
modulo 6. This register is initialized to zero during hardware or software reset; therefore after  
reset, I frame Queue_0 is serviced before the other queues (but after the Level 2 Queue and  
the Global XID/UI Queue, as usual). The current_queue_in_service register encodings  
correspond to the six queues as follows:  
3-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
000 I Queue_0  
001 I Queue_1  
010 I Queue_2  
011 I Queue_3  
100 XID/UI Queue_0  
101 XID/UI Queue_1  
110 Not used  
111 Not used  
3.2.20 Scan Length Counter  
This 16-bit counter counts the number of frames to be transmitted from the XID/UI or I frame  
queue currently receiving service by the MLAPD transmitter, The counter is set to the user  
specified scan_length for the current transmit queue when service begins and is  
decremented as each frame is transmitted. When the last frame in the current transmit  
queue is transmitted or when the scan_length_counter reaches zero, the MLAPD  
automatically begins servicing the next XID/UI or I frame queue according to the transmit  
servicing scheme explained in 5.1 Transmit Servicing Scheme.  
3.2.21 Tx I LLID  
The 13 least significant bits of this 16-bit register contain the LLID of the current/last logical  
link which received I frame service by the MLAPD transmitter. Bits 15-13 are not used and  
always set to zero. This register is initialized to zero during INIT execution. This register is  
updated when the link receiving I frame transmit service changes.  
3.2.22 Tx I DLCI  
This 16-bit register contains the DLCl of the current/last logical link which received I frame  
service by the MLAPD transmitter (right justified). The format of this register is as follows:  
Bits 15-13 Always set to zero  
Bits 12-7 SAPI/DLCI's upper field  
Bits 6-0 TEI/DLCI's lower field  
3.2.23 Retransmit Threshold  
Bits 7-0 of this 16-bit register contain the user-specified retransmission limit for I frames  
which causes an interrupt to be generated. This register is initialized during INIT execution  
with the corresponding GCB value. The MLAPD will update this register during execution of  
a RELOAD command with a new user-defined value.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-9  
Internal Registers  
3.2.24 Rx Address  
This 16-bit register contains the address field for the current/last received frame. This  
register is initialized to zero during INIT execution; it is updated as each incoming frame is  
received.  
3.2.25 Rx N201  
This 16-bit register contains the maximum data field length (N201) allowed for the current/  
last received frame. This register is initialized to zero during INIT execution. This register is  
updated from the addressed link's LLT as each incoming frame is received.  
3.2.26 Rx Link Status  
This 16-bit register contains the link-status LLT entry for the logical link addressed by the  
current/last received frame. This register is initialized to zero during INIT execution and is  
updated on each incoming frame, if necessary. The corresponding LLT entry is updated  
whenever the link status changes.  
3.2.27 Rx LLID  
The 13 low-order bits of this 16-bit register contain the LLID of the current/last logical link  
that received a frame. If bit 15 is zeroed, the logical link specified by this LLID is still in an  
Bits 7-0 of this 16-bit register contain the user-specified retransmission limit for I frames last  
link to receive a frame, and no other logical link was in the process of receiving a frame at  
the time that the DUMP command was performed. This register is initialized to zero during  
INIT execution. This register is updated as each incoming frame is received.  
3.2.28 Rx DLCI  
The 13 low-order bits of this 16-bit register contain the DLCI of the current/last receive frame  
(right justified). The format of this register is as follows:  
Bits 15-13 Always set to zero  
Bits 12-7 SAPI/DLCI's upper field  
Bits 8-0 TEI/DLCI's lower field  
The Rx_DLCI is used in the DLCI-LLID match operation with the internal CAM in the on- chip  
operation mode and with the external Match Table in the expanded operation mode. This  
register is initialized to zero during [NIT execution and is updated as each incoming frame  
is received.  
3.2.29 Rx Frame ID  
This 16-bit register contains the frame-type and LLID for the current/last receive frame which  
is written into the frame-type and LLID entry of the receive frame descriptor. This register is  
initialized to zero during INIT execution. This register is updated as each frame is received.  
3-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
3.2.30 Tx Address  
This 16-bit register contains the address field for the current/last transmitted frame. This  
register is initialized to zero during INIT execution and is updated as each frame is  
transmitted.  
3.2.31 Time Stamp  
This 16-bit register contains the most significant 16-bits of a 32-bit counter. This counter is  
initialized to zero during a hardware or software reset. This 32-bit counter is incremented  
20  
every 2 system clock cycles.  
3.2.32 RxFIFO Overrun Counter  
This 16-bit counter is initialized to the corresponding GCB entry during execution of the INIT  
command. When a receive first-in first-out (RxFIFO) overrun occurs, this counter is  
decremented. Upon reaching zero, a RxFIFO_overrun_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized. This counter is also  
reinitialized as the result of a PRESET_STATISTICS command.  
3.2.33 TxFIFO Underrun Counter  
This 16-bit counter is initialized to the corresponding GCB entry during execution of the INIT  
command. When a transmit FIFO (TxFIFO) underrun occurs, this counter is decremented.  
Upon reaching zero, a TxFIFO_underrun_threshold_reached interrupt is placed on the  
Interrupt Queue, and the counter is reinitialized. This counter is also reinitialized as the result  
of a PRESET_STATISTICS command.  
3.2.34 Invalid Address Counter  
This 16-bit counter is initialized to the corresponding GCB entry during execution of the INIT  
command. When a LAPD frame is received with an invalid address, this counter is  
decremented. Upon reaching zero, an invalid_address_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized. This counter is also  
reinitialized as the result of a PRESET_STATISTICS command.  
3.2.35 Inactive DLCI Counter  
This 16-bit counter is initialized to the corresponding GCB entry during execution of the INIT  
command. When a frame is received for an inactive DLCI, this counter is decremented.  
Upon reaching zero, an inactive_DLCI_threshold_reached interrupt is placed on the  
Interrupt Queue, and the counter is reinitialized. This counter is also reinitialized as the result  
of a PRESET_STATISTICS command.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-11  
Internal Registers  
3.2.36 Discarded Frame Counter  
This 16-bit counter is initialized to the corresponding GCB entry during execution of the INIT  
command. When a receive frame is discarded due to lack of receive buffers, this counter is  
decremented. Upon reaching zero, a discarded_frame_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized. This counter is also  
reinitialized as the result of a PRESET_STATISTICS command.  
3.2.37 Short Frame Counter  
This 16-bit counter is initialized to the corresponding GCB entry during execution of the INIT  
command. When a LAPD frame is received with less than five bytes between flags, this  
counter is decremented. Upon reaching zero, a short_frame_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized. This counter is also  
reinitialized as the result of a PRESET_STATISTICS command.  
3.2.38 CRC Error Counter  
This 16-bit counter is initialized to the CRC_error_threshold during execution of the INIT  
command. When a frame is received with a cyclical redundancy check (CRC) error, this  
counter is decremented. Upon reaching zero, a CRC_error_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized. This counter is also  
reinitialized as the result of a PRESET_STATISTICS command.  
3.2.39 Abort/Nonoctet Counter  
This 16-bit counter is initialized to the abort/nonoctet_threshold during execution of the INIT  
command. When a receive frame contains an abort or is nonoctet aligned, this counter is  
decremented. Upon reaching zero, an abort/nonoctet_error_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized. This counter is also  
reinitialized as the result of a PRESET_STATISTICS command,  
3.2.40 Tx REJ/RNR Counter  
The upper 8 bits of this 16_bit register count the number of transmitted reject (REJ) frames  
for the current/last link receiving service by the MLAPD transmit task. This counter is  
initialized to zero during INIT execution. The counter is loaded with the current link's  
corresponding LLT entry when transmit servicing begins and is decremented when a REJ  
frame is transmitted. Upon reaching zero, a link_error_threshold_reached interrupt is placed  
on the Interrupt Queue, and the counter is reinitialized with the REJ_transmit_threshold  
GCB entry. The LLT entry is updated when this register value changes.  
3-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
The lower 8 bits of this 16_bit register count the number of transmitted receive_not_ready  
(RNR) frames for the current/last link receiving service by the MLAPD transmit task. This  
counter is initialized to zero during INIT execution; it is loaded with the current link's  
corresponding LLT entry when transmit servicing begins. This counter is decremented when  
a REJ frame is transmitted. Upon reaching zero, a link_error_threshold_reached interrupt is  
placed on the Interrupt Queue, and the counter is reinitialized with the  
RNR_transmit_threshold GCB entry. The LLT entry is updated when this register value  
changes.  
3.2.41 Rx REJ/RNR Counter  
The upper 8 bits of this 16-bit register count the number of received REJ frames for the  
current/last link addressed by an incoming receive frame. The counter is initialized to zero  
during INIT execution and is loaded with the addressed link's corresponding LLT entry as  
an incoming frame is received. This counter is decremented when a REJ frame is received.  
Upon reaching zero, a link_error_threshold_reached interrupt is placed on the Interrupt  
Queue, and the counter is reinitialized with the REJ_receive_threshold GCB entry. The LLT  
entry is updated when this register value changes. The lower 8 bits of this 16_bit register  
count the number of received RNR frames for the current/last link addressed by an incoming  
receive frame. The counter is initialized to zero during INIT execution and is loaded with the  
addressed link's corresponding LLT entry as an incoming frame is received. This counter is  
decremented when  
a
RNR frame is received. Upon reaching zero,  
a
link_error_threshold_reached interrupt is placed on the Interrupt Queue, and the counter is  
reinitialized with the RNR_receive_threshold GCB entry. The LLT entry is updated when this  
register value changes.  
3.2.42 CTS Timeout Threshold  
The least significant 8 bits of this 16-bit register allow the user to program the time period,  
after asserting RTS, that the MLAPD waits for CTS to be asserted before issuing an  
interrupt. The time period is determined by (CTS_timeout_threshold x 2048) TxCLK cycles.  
The register is initialized during INIT execution to the corresponding GCB value. The  
MLAPD updates the register during execution of a RELOAD command with a new user-  
defined value.  
3.2.43 Scan Length I Queues 0–3  
These four 16-bit registers contain the maximum number of I frames to be transmitted from  
the corresponding I frame Queues_0–3 before switching to service the next queue  
according to the transmit servicing scheme. These registers are initialized during INIT  
execution with the corresponding GCB value. The MLAPD updates these registers during  
execution of a RELOAD command with the new user-defined values.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-13  
Internal Registers  
3.2.44 Scan Length XID/UI Queues 0, 1  
These two 16-bit registers contain the maximum number of XID/UI frames to be transmitted  
from the corresponding XID/UI Queues 0 and 1 before switching to service the next queue  
according to the transmit servicing scheme. These registers are initialized during INIT  
execution with the corresponding GCB value. The MLAPD updates these registers during  
execution of a RELOAD command with the new user-defined values.  
3.2.45 Interrupt Mask  
This 32-bit register allows the user to selectively disable interrupts for specific events.  
Clearing the appropriate bit in this mask prevents the specific event or condition from being  
reported via the Interrupt Queue. Figure 2-7 describes the interrupt mask bits. This register  
is initialized during INIT execution with the corresponding GCB value. The MLAPD updates  
the register during execution of a RELOAD command with the new user-defined value.  
3.2.46 Protocol Error Mask  
This 16-bit register contains the user-specified receive error mask for LAPD links. The host  
may individually enable reception of frames with any of the four invalid frame conditions on  
a per logical link basis. The register is initialized during INIT execution with the  
corresponding GCB value. The MLAPD will update this register during execution of a  
RELOAD command with the new user-defined value.  
3.2.47 Nonprotocol Error Mask  
This 16-bit register contains the user-specified receive error mask for nonprotocol links. The  
host may individually enable reception of frames with any of the four invalid frame conditions  
on a per logical-link basis. The register is initialized during INIT execution with the  
corresponding GCB value. The MLAPD will update this register during execution of a  
RELOAD command with the new user-defined value.  
3.2.48RxMaximumNumberofOutstandingFramesorFilterMask(Word1)  
If promiscuous_receive_select and filter_select bits in option_bits_1 are set to one, then this  
entry contains the GCB filter_mask word 1. In this case, the register is initialized during INIT  
execution to filter-mask word 1. Otherwise, this 16-bit register contains the maximum  
number of outstanding frames (K) for the logical link addressed by the incoming receive  
frame. The register is initialized during INIT execution to zero and is updated for each  
receive frame from the link's LLT entry.  
3-14  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
3.2.49 Rx V(A) or Filter Mask (Word 2)  
If promiscuous_receive_select and filter_select bits in option_bits_1 are set to one, then this  
entry contains the GCB filter_mask word 2. In this case, the register is initialized during INIT  
execution to filter-mask word 2. Otherwise, the most significant 7 bits of this 16-bit register  
contain the acknowledge state variable, V(A), for the logical link addressed by the current/  
last incoming frame. V(A) identifies the last frame that has been acknowledged. In this case,  
bits 8-0 are always set to zero. This register is updated as each valid acknowledgment is  
received for the associated link. The link's LLT entry is updated whenever this value  
changes. This register is initialized to zero during INIT execution.  
3.2.50 Rx V(S)/V(R) or Filter Match (Word 1)  
If promiscuous_receive_select and filter_select bits in option_bits_1 are set to one, then this  
entry contains the GCB filter_match word 1. In this case, the register is initialized during INIT  
execution to filter_match word 1. Otherwise, this 16-bit register contains the send and  
receive state variables, for the current or last logical link addressed by an incoming frame.  
The send state variable, V(S), denotes the sequence number of the next frame to be  
transmitted. This variable is stored in bits 15-9. Bit 8 is always zero. The receive state  
variable, V(R), denotes the expected sequence number of the next I frame to be received.  
This variable is stored in bits 7-1. Bit 0 is always zero. This register is initialized to zero  
during INIT execution. The corresponding LLT entry is updated whenever this value  
changes.  
3.2.51 Rx Control or Filter Match (Word 2)  
If promiscuous_receive_select and filter_select bits in option_bits_1 are set to one, then this  
entry contains the GCB filter_match word 2. In this case, this register is initialized during INIT  
execution to filter-match word 2. Otherwise, this 16-bit register contains the control field of  
an incoming receive frame. The register is initialized to zero during INIT execution and is  
updated as each incoming frame is received.  
3.2.52 Tx LILT Transmit Status  
This 16-bit register contains the transmit-status LLT entry for the current/last logical link  
serviced by the MLAPD transmitter. The register is initialized to zero during INIT execution  
and is updated whenever the link's transmit status changes. The corresponding LILT entry  
is also updated whenever this value changes.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-15  
Internal Registers  
3.2.53 Nonstandard Control Field  
This 16-bit register contains the user-defined nonstandard-control field, which is loaded from  
the corresponding GCB entry during INIT execution. This register is updated during  
RELOAD execution with the new user-defined value.  
3.2.54 Revision Number  
This 16-bit register contains the revision number of this silicon. Bits 15-8 are not used and  
set to zero. Bits 7-0 are encoded to indicate the silicon revision. This register is initialized  
during INIT execution.  
3.2.55 Tx Next Pointer  
This register contains 1) the 32-bit address of the transmit I frame descriptor with the data  
buffer currently being transmitted or 2) the address of the transmit I frame descriptor with  
the data buffer that will be transmitted the next time the logical link is serviced. This register  
is initialized to zero during INIT execution and is updated as each I frame is transmitted. The  
MLAPD also updates the corresponding LLT entry when this register changes.  
3.2.56 Tx LLT Pointer  
This 32-bit register stores the address of the LLT for the current/last link receiving I frame  
service by the MLAPD transmit task. This register is initialized to zero during INIT execution  
and is updated when the link receiving I frame service by the MLAPD transmit task changes.  
3.2.57 Global XID/UI Head Pointer  
This 32-bit pointer identifies 1) the frame descriptor in the Global XID/UI Queue with the data  
buffer currently being transmitted or 2) the frame descriptor with the data buffer that will be  
transmitted when the Global XID/UI Queue is next serviced. This register is initialized to zero  
during INIT execution and is updated when a GLOBAL_XID/UI_REQUEST command is  
accepted and after a queued frame descriptor is handled.  
3.2.58 I Queue 0–3 Head Pointer Registers  
Each of the four 32-bit I_Queue_0–3_head_pointer registers identify a linked list of logical  
links' Transmit Queues that have I frames to be transmitted. The I_Queue_0–  
3_head_pointer registers actually contain the address of the LLT of the first logical link in the  
corresponding queue which has pending I frames. These registers are initialized to zero  
during INIT execution. A register is updated when the identified link's Transmit Queue  
servicing is completed and the link's Transmit Queue is removed from its I frame queue.  
3-16  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
3.2.59 I Queue 0–3 Tail Pointer Registers  
The end of the four transmit I frame Queues_0–3 are identified by the four 32-bit  
I_Queue_0– 3_tail_pointer registers, respectively. The I_Queue_0_3_tail_pointer registers  
actually contain the address of the LLT of the last logical link in the corresponding queue  
which has pending I frames. These registers are initialized to zero during INIT execution.  
When a DL_DATA_REQUESTcommand is executed, the MLAPD updates the appropriate  
tail pointer register to link the logical link into its I frame queue, unless a link condition (such  
as P_flag, remote_busy, etc.) prevents the linking. In this case, the register would be  
updated when the link condition clears. Also, the register may be updated at any time when  
a logical link in an I frame queue must be removed due to a link condition and then later  
relinked to the queue.  
3.2.60 L2 Queue Pointer  
This 32-bit register contains the beginning address of the external Level 2 Queue. This  
register is initialized during INIT execution with the corresponding GCB value and is  
considered a constant.  
3.2.61 Match Table Pointer  
The 32-bit match_table_pointer register contains the address of the Match Table in shared  
memory. This register is used only in expanded-system operation mode and is initialized  
during INIT execution with the corresponding GCB value. The register is considered a  
constant.  
3.2.62 LLID-LLT Table Pointer  
This 32-bit pointer identifies the LLID-LLT Table which contains the address of the LLT  
associated with each active link. This register is initialized during INIT execution with the  
corresponding GCB value and is considered a constant.  
3.2.63 Timer Table Pointer  
This 32-bit register contains the address of the first word of the Timer Table in shared  
memory. The register, which is considered a constant, is initialized during INIT execution  
with the corresponding GCB value.  
3.2.64 Interrupt Queue Tail Pointer  
This 32-bit register points to the last entry in the Interrupt Queue. Each Interrupt Queue entry  
is two words in length. During execution of the INIT command the value of {interrupt-queue-  
pointer+(4xinterrupt_queue_length)–2words}isloadedintotheinterrupt_queue_tail_pointer  
register. The register is considered a constant.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-17  
Internal Registers  
3.2.65 Interrupt Queue Pointer  
This 32-bit pointer identifies the beginning address of the Interrupt Queue in shared  
memory. Together with the interrupt_queue_length, this register defines the limits of the  
circular queue which is used to pass activity information from the MLAPD to the host.  
Initialized during INIT execution with the corresponding GCB value, this register is  
considered a constant.  
3.2.66 Interrupt Queue Write Pointer  
This 32-bit pointer indicates the next entry in the Interrupt Queue to be written by the  
MLAPD. This register contains the address of the second word of the interrupt queue entry  
that was last written. When the interrupt queue entry located at the end of the Interrupt  
Queue has been written, identified by the interrupt_queue_tail_pointer, and another  
interrupt condition occurs, the interrupt_queue_write_pointer register is loaded with the  
beginning Interrupt Queue address to implement a circular queue. The register is initialized  
to the interrupt_queue_tail_pointer during INIT execution.  
3.2.67 First Rx FD Pointer  
This 32-bit register contains the address of the first receive frame descriptor used to store  
an incoming frame in multibuffer operation. The register is initialized to zero during INIT  
execution. This register is updated as an incoming frame is received for a nonprotocol link  
for which multibuffer operation is enabled by the multibuffer_select bit in the option_bits_2  
GCB entry.  
3.2.68 GCB Pointer  
This 32-bit register contains the address of the Global Configuration Block (GCB). This  
register is loaded from the data register during execution of the INIT command and is  
considered a constant.  
3.2.69 Temporary Rx FD Pointer  
This 32-bit register contains the address of the receive frame descriptor used to store an  
incoming frame in multibuffer operation. This register is initialized to zero during INIT  
execution. This register is updated as an incoming frame is received for a nonprotocol link  
for which multibuffer operation is enabled by the multibuffer_select bit in the option_bits_2  
GCB entry.  
3-18  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
3.2.70 Rx LILT Pointer  
This 32-bit register contains the address of the LLT for the link addressed by the current/ last  
incoming receive frame. This register is initialized to zero during INIT execution; it is updated  
on each incoming receive frame, if necessary.  
3.2.71 Rx Pool Pointer  
This 32-bit register holds the address of the receive_pool_pointer entry for the link  
addressed by the current/last incoming receive frame. The MLAPD uses this pointer to  
locate the first free data buffer in the pool. This register is initialized to zero during INIT  
execution and is updated as a frame is received, if necessary.  
3.2.72 Rx Next Acknowledge Pointer  
This register contains the 32-bit address of the next transmit I frame descriptor to be  
acknowledged for the logical link addressed by the incoming receive frame. This register is  
initialized to zero during INIT execution and is updated when an acknowledgment is  
received. The MLAPD also updates the corresponding LLT entry when this register  
changes.  
3.2.73 Rx Next Tx Pointer  
This register contains the 32-bit address of the next transmit I frame descriptor to be  
transmitted for the logical link addressed by the incoming receive frame. This register is  
initialized to zero during INIT execution and is updated when an incoming frame is received.  
The MLAPD also updates the corresponding LILT entry when this register changes.  
3.2.74 Rx Current FD Pointer  
This 32-bit register contains the address of the current/last receive frame descriptor used by  
the MLAPD for incoming data. This register is initialized to zero during INIT execution and  
is updated as each incoming frame is received.  
3.2.75 Rx Next FD Pointer  
This 32-bit register contains the address of the next receive frame descriptor in the linked  
receive pool following the frame descriptor identified by the Rx_current_FID register. This  
register is initialized to zero during INIT execution and is updated as each incoming frame  
is received.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-19  
Internal Registers  
3.2.76 Pool Table Pointer  
This 32-bit register contains the address of the first receive_pool_pointer in the Receive Pool  
Pointers Table in shared memory. The MLAPD stores the receive_pool_pointers for receive  
pools 0–15 on chip. The first receive_pool_pointer in the external memory table corresponds  
to pool 16. This register is initialized during INIT execution with the corresponding GCB  
value and is considered a constant.  
3.2.77 XID/UI Queue 0 Head Pointer  
This 32-bit pointer identifies 1) the frame descriptor in XID/UI Queue_0 with the data buffer  
currently being transmitted or 2) the frame descriptor with the data buffer that will be  
transmitted when XID/UI Queue_0 is next serviced. This register is initialized to zero during  
INIT execution and is updated when a XID/UI_QUEUE_0_REQUEST command is accepted  
and when a queued frame descriptor is handled.  
3.2.78 XID/UI Queue 1 Head Pointer  
This 32-bit pointer identifies 1) the frame descriptor in XID/UI Queue_1 with the data buffer  
currently being transmitted or 2) the frame descriptor with the data buffer that will be  
transmitted when XID/UI Queue_1 is next serviced. The register is initialized to zero during  
INIT execution. This register is updated when a XID/UI_QUEUE_1_REQUEST command is  
accepted and when a queued frame descriptor is handled.  
3.2.79 Tx XID/UI LLT Pointer  
This 32-bit register contains the address of the LLT associated with the current/last logical  
link to receive XID/UI frame service by the MLAPD transmitter from XID/UI Queue_0 or-1.  
This register is initialized to zero during INIT execution and is updated as each frame is  
transmitted, if necessary.  
3.2.80 Tx XID/UI FD Pointer  
This 32-bit register contains the address of the frame descriptor associated with the current/  
last logical link to receive XlD/UI frame service by the MLAPD transmitter from XID/UI  
Queue_0 or_1. This register is initialized to zero during INIT execution and is updated as  
each frame is transmitted.  
3.2.81 Bus/Address Error Pointers  
When a bus/address error occurs, the MLAPD stores the DMA_Rx_data_pointer register,  
DMA_Tx_data_pointer register, and the two DMA_general_purpose_pointer registers into  
the corresponding bus/address error pointer registers. No indication is provided as to which  
of these registers contains the address driven on the address bus during the bus/address  
error cycle. These register values may be larger by one (8-bit data bus) or by two (16-bit  
data bus) than the actual address which was driven on the address bus, due to an automatic  
post-incrementing mechanism. These registers are initialized to zero during INIT execution.  
3-20  
MC68606 USER’S MANUAL  
MOTOROLA  
Internal Registers  
3.2.82 DMA Rx Data Pointer  
This 32-bit register contains the addresses used by the MLAPD to write receive data buffers.  
When this register is written to the dump area, the register value may be larger by one (8-  
bit data bus) or by two (16-bit data bus) than the actual address which was last driven on  
the address bus, due to an automatic post-incrementing mechanism. This register is not  
initialized.  
3.2.83 DMA Tx Data Pointer  
This 32-bit register contains the addresses used by the MLAPD to read transmit data  
buffers. When this register is written to the dump area, the register value may be larger by  
one (8- bit data bus) or by two (16-bit data bus) than the actual address which was last driven  
on the address bus, due to an automatic post-incrementing mechanism. This register is not  
initialized.  
3.2.84 DMA Rx Data Counter  
This 16-bit register counts the number of bytes written to the location beginning with the  
DMA_Rx_data_pointer register. This register is not initialized.  
3.2.85 DMA Tx Data Counter  
This 16-bit register counts the number of bytes read from the location beginning with the  
DMA_Tx_data_pointer register. This register is not initialized.  
3.2.86 DMA General-Purpose Pointers  
These two 32-bit registers contain the addresses used by the MLAPD to write the various  
shared memory tables and frame descriptors. These registers are not initialized.  
MOTOROLA  
MC68606 USER’S MANUAL  
3-21  
Internal Registers  
3-22  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 4  
COMMAND SET  
The host processor instructs the MLAPD to perform various operations by writing a  
command into the MLAPD command register (CR). Some commands also require  
command arguments, which must be written into the command-argument fields in the  
Global Configuration Block (GCB) before the command is issued.  
The commands fall into the following five categories:  
1. Initialization  
2. Test/Diagnostics  
3. Host-MLAPD Interface  
4. Protocol  
5. Protocol Extension  
Upon reception of a command from the host processor, the MLAPD sets the semaphore  
register (SR) to hex 'FE'. After command execution or command acceptance, depending on  
the specific command, the MLAPD sets the SR to hex 'FF', indicating that it is ready to  
receive the next command from the host. The host processor must read the SR before  
writing the next command or modifying any command argument to ensure that the new  
command will not interfere with the execution of the previous command. When the MLAPD  
receives an undefined command, an undefined_host_command interrupt is issued if this  
interrupt is not masked.  
4.1 INITIALIZATION  
Initialization commands configure the MLAPD for operation after a hardware or software  
reset. The initialization commands specify certain system attributes and the location of the  
GCB in memory. These commands must only be issued as part of the MLAPD initialization  
procedure following reset.  
4.1.1 RESET Command  
The format of the RESET command is shown below:  
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
1
MOTOROLA  
MC68606 USER’S MANUAL  
4-1  
Command Set  
The RESET command or hardware reset causes the following actions:  
The receive (Rx) channel is reset.  
The transmit (Tx) channel is reset, request-to-send (RTS) is negated, and transmit data  
(TxD) is three-stated.  
The system bus is relinquished immediately.  
The interrupt-vector register is set to 'OF' hex.  
The data bus width is set to eight bits.  
The SR is set to 'FF' hex when reset is completed.  
4.1.2 SET_BUS_WIDTH_8 Command  
The format of the SET_BUS_WIDTH_8 command is shown below:  
7
0
6
1
5
0
4
0
3
0
2
0
1
0
0
1
The SET_BUS_WIDTH_8 command sets the data bus width to 8 bits. The SR is set to 'FF'  
hex when the command is completed.  
4.1.3 SET_BUS_WIDTH_16 Command  
The format of the SET_BUS_WIDTH_16 command is shown below:  
7
0
6
1
5
0
4
0
3
0
2
0
1
0
0
1
The SET_BUS_WIDTH_16 command sets the data bus width to 16 bits. The SR is set to  
'FF' hex when the command is completed.  
4.1.4 INIT Command  
The format of the initialization (INIT) command is shown below:  
7
0
6
1
5
0
4
0
3
0
2
0
1
1
0
0
The user issues this command after RESET and the appropriate SET-BUS-WIDTH  
command. The INIT command assumes that the host has previously written the address of  
the GCB into the data register (DR). During INIT execution, the MLAPD moves the value in  
the DR into the global_configuration_block_pointer register. The MLAPD then loads its  
internal registers corresponding to the entries in the constants area, reloadable variables  
area, and statistics threshold area of the GCB. In addition, the INIT command causes the  
MLAPD to:  
4-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
Clear all content addressable memory (CAM) entries,  
Clear all other internal registers, and  
Set the highest_active_LLID (Logical-Link Identification number) register to zero.  
The SR is set to 'FF' hex when the command is completed.  
4.2 TEST/DIAGNOSTIC  
These commands allow the user to test, debug, and diagnose the system. The user must  
only issue the test/diagnostic commands when the MLAPD is in the off-line state. If these  
commands are issued in the on-line state, the results are unpredictable. If these commands  
are issued in the bus/address error state, they are ignored.  
4.2.1 DMA_TEST Command  
The format of the (direct memory access) DMA_TEST command is shown below:  
7
1
6
0
5
1
4
0
3
0
2
0
1
1
0
0
The DMA_TEST command requires a length value (odd or even) in the corn_  
mand_argument_1 field, a source address in the command_argument_2 field, and a des_  
tination address in the command_argument_3 field in the GCB. For a 16-bit data bus, the  
MLAPD requires an even source and destination address. For an 8_bit data bus, no restric_  
tion is made on the source and destination address.  
The DMA_TEST command tests the handling of parallel data in the logical configuration  
shown in Figure 4-1. The MLAPD reads data beginning at the memory location specified by  
the source address. The number of data bytes to be read is specified by the length value.  
The MLAPD then writes this data back into memory, beginning at the location specified by  
the destination address. The MLAPD transfers this data via the DR, without using the  
internal receive or transmit FIFOs (RxFIFO or TxFIFO). The serial link is not affected by this  
operation, except that no DMA services are provided for the serial link until the DMA transfer  
is completed.  
Upon complete of the data transfer, the MLAPD sets the SR to hex 'FF'. To determine  
whether the DMA_TEST was successful, the user should compare the source data with the  
destination data.  
MOTOROLA  
MC68606 USER’S MANUAL  
4-3  
Command Set  
.
MLAPD  
MEMORY  
Tx  
FIFO  
Tx  
DATA  
DMAC  
Rx  
FIFO  
Rx  
DATA  
Figure 4-1. DMA Transfer Configuration  
4.2.2 DUMP Command  
The format of the DUMP command is shown below:  
7
0
6
0
5
1
4
0
3
0
2
0
1
0
0
0
The DUMP command requires a 32-bit dump area address to be specified in the  
command_argument_2 field of the GCB.  
The DUMP command writes internal MLAPD registers and CAM into the dump area in  
external memory. The location of the dump area is specified by the user in the command  
argument. The dump area is 650 bytes in length. The ordering of the registers in the dump  
memory area is shown in Figure 4-2. Detailed descriptions of the registers and the CAM  
format are found in 3.2 Indirectly Accessible Registers. The SR is set to hex 'FF' when  
the command is completed.  
HEX  
DISPLACEMENT  
15  
8
7
0
INTERNAL LEVEL 2 QUEUE  
40  
CAM—(DLCIs)  
OR  
INTERNAL LEVEL 2 QUEUE  
60  
62  
64  
66  
68  
6A  
N200 VALUE  
T203 VALUE  
HIGHEST ACTIVE LLI D  
TEMPORARY  
TEMPORARY  
TEMPORARY  
Figure 4-2. Dump Registers Memory Map (Sheet 1 of 5)  
4-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
HEX  
DISPLACEMENT  
15  
8
7
0
6C  
6E  
70  
72  
74  
76  
78  
7A  
7C  
7E  
80  
82  
84  
T200 COUNTER  
T203 COUNTER  
POOL NUMBER  
1-2 TAIL DISPLACEMENT (EXTERNAL)  
L2 WRITE DISPLACEMENT (EXTERNAL)  
L2 READ DISPLACEMENT (EXTERNAL)  
Tx XID/UI LLID  
Tx XID/UI DLCI  
INTERNAL L2 WRITE DISPLACEMENT  
INTERNAL L2 READ DISPLACEMENT  
Tx FD STATUS  
TEMPORARY  
CAM-(LLIDs)  
A4  
A6  
AB  
AA  
AC  
AE  
B0  
B2  
B4  
B6  
B8  
BA  
BC  
BE  
co  
Tx V(S)/V(R)  
CTS TIMEOUT COUNTER  
Tx MAXIMUM NUMBER OF OUTSTANDING FRAMES  
Tx VIA)  
Tx LINK STATUS  
CURRENT QUEUE IN-SERVICE  
SCAN LENGTH COUNTER  
Tx I LLID  
Tx I DLCI  
RETRANSMIT THRESHOLD  
Rx ADDRESS  
Rx N201  
Rx LINK STATUS  
Rx LLID  
Rx DLCI  
C2  
C4  
C6  
C8  
CA  
cc  
Rx FRAME ID  
Tx ADDRESS  
TIME STAMP (HIGH WORD)  
RxFIFO OVERRUN COUNTER  
TxFIFO UNDERRUN COUNTER  
INVALID ADDRESS COUNTER  
INACTIVE DLCI COUNTER  
DISCARDED FRAME COUNTER  
SHORT FRAME COUNTER  
CRC ERROR COUNTER  
ABORT/NONOCTET COUNTER  
Tx REJ/RNR COUNTER  
Rx REJ/RNR COUNTER  
CTS TIMEOUT THRESHOLD  
SCAN LENGTH I QUEUE-0  
SCAN LENGTH I QUEUE-1  
SCAN LENGTH I QUEUE-2  
SCAN LENGTH I QUEUE-3  
SCAN LENGTH XID/UI QUEUE-0  
CE  
D0  
D2  
D4  
D6  
D8  
DA  
DC  
DE  
E0  
E2  
E4  
E6  
Figure 4-2. Dump Registers Memory Map (Sheet 2 of 5)  
MOTOROLA  
MC68606 USER’S MANUAL  
4-5  
Command Set  
15  
8
7
0
E8  
EA  
EC  
EE  
F0  
F2  
F4  
F6  
F8  
FA  
FC  
FE  
SCAN LENGTH XID/UI QUEUE_1  
INTERRUPT MASK  
PROTOCOL ERROR MASK  
NONPROTOCOL ERROR MASK  
Rx MAXIMUM NUMBER OF OUTSTANDING FRAMES (K) OR FILTER MASK (WORD 1)  
Rx VIA) OR FILTER MASK (WORD 2)  
Rx V(S)N(R) OR FILTER MATCH (WORD 1)  
Rx CONTROL OR FILTER MATCH (WORD 2)  
Tx LLT TRANSMIT STATUS  
NONSTANDARD CONTROL  
REVISION NUMBER  
100  
TEMPORARY  
114  
116  
118  
11A  
11C  
11E  
120  
122  
124  
126  
128  
12A  
12C  
12E  
130  
132  
134  
136  
138  
13A  
13C  
13E  
140  
142  
144  
146  
Tx NEXT POINTER  
Tx LLT POINTER-  
GLOBAL XID/UI HEAD POINTER  
I QUEUE_0 HEAD POINTER  
I QUEUE_0 TAIL POINTER  
I QUEUE_1 HEAD POINTER  
I QUEU_1 TAIL POINTER  
I QUEUE-2 HEAD POINTER  
I QUEUE-2 TAIL POINTER  
I QUEUE_3 HEAD POINTER  
I QUEUE_3 TAIL POINTER  
L2 QUEUE POINTER  
MATCH TABLE POINTER  
Figure 4-2. Dump Registers Memory Map (Sheet 3 of 5)  
4-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
HEX  
DISPLACEMENT  
15  
8
7
0
148  
14A  
14C  
14E  
150  
152  
154  
156  
158  
15A  
15C  
15E  
160  
162  
164  
166  
168  
16A  
16C  
16E  
170  
172  
174  
176  
178  
17A  
17C  
17E  
LLID-LLT TABLE POINTER  
TIMER TABLE POINTER  
INTERRUPT QUEUE TAIL POINTER  
INTERRUPT QUEUE POINTER  
INTERRUPT QUEUE WRITE POINTER  
FIRST Rx FD POINTER  
(MULTIBUFFER OPERATION)  
GCB POINTER  
TEMPORARY Rx FD POINTER  
(MULTIBUFFER OPERATION)  
Rx LLT POINTER  
Rx POOL POINTER  
Rx NEXT ACKNOWLEDGE POINTER  
Rx NEXT Tx POINTER  
Rx CURRENT FD POINTER  
Rx NEXT FD POINTER  
180  
Rx POOL POINTER TABLE  
(RECEIVE POOL POINTERS 0-15)  
1C0  
1C2  
1C4  
1C6  
1C8  
1CA  
1CC  
1CE  
POOL TABLE POINTER  
XID/UI QUEUE-0 HEAD POINTER  
XID/UI QUEUE-1 HEAD POINTER  
Tx XID/UI LILT POINTER  
Figure 4-2. Dump Registers Memory Map (Sheet 4 of 5)  
MOTOROLA  
MC68606 USER’S MANUAL  
4-7  
Command Set  
HEX  
DISPLACEMENT  
15  
8
7
0
1D0  
1D2  
1D4  
1D6  
1D8  
1DA  
1DC  
1DE  
1E0  
1E2  
1E4  
1E6  
TEMPORARY  
Tx XID/UI FD POINTER  
BUS/ADDRESS ERROR GENERAL-PURPOSE POINTER  
BUSIADDRESS ERROR GENERAL-PURPOSE POINTER  
. BUS/ADDRESS ERROR DMA Rx DATA POINTER  
BUS/ADDRESS ERROR DMA Tx DATA POINTER  
lE8  
TEMPORARY  
1FE  
200  
202  
204  
206  
208  
20A  
20C  
20E  
210  
212  
214  
DMA Rx DATA POINTER  
DMA Tx DATA POINTER  
DIVA Rx DATA COUNTER  
DMA Tx DATA COUNTER  
DMA GENERAL-PURPOSE POINTER  
DMA GENERAL-PURPOSE POINTER  
TEMPORARY REGISTERS  
27E  
Figure 4-2. Dump Registers Memory Map (Sheet 5 of 5)  
4-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
4.3 HOST-MLAPD INTERFACE  
These commands are issued by the host to instruct the MLAPD to perform operations not  
explicitly named in the link access procedure (LAPD) protocol, but which are required by the  
host to interface with the MLAPD.  
4.3.1 OFF-LINE Command  
The format of the OFF-LINE command is shown below:  
7
0
6
0
5
0
4
0
3
0
2
1
1
0
0
0
The OFF-LINE command transfers the MLAPD to the off-line state in which the MLAPD will  
only execute commands. All other MLAPD activities, (e.g., transmitting, receiving, timeout  
checking, etc.) are disabled.  
When the MLAPD is in the on-line state, this command places the MLAPD in a state  
appropriate for debugging. When the MLAPD is in the bus/address error state (after a bus/  
address error has occurred), this command notifies the MLAPD that the host has recognized  
the error. The SR is set to hex 'FF' when the command is completed.  
4.3.2 ON-LINE Command  
The format of the ON-LINE command is shown below:  
7
0
6
1
5
0
4
0
3
0
2
1
1
0
0
1
The ON-LINE command transfers the MLAPD to the on-line state. In this state, the MLAPD  
will execute host commands, receive frames, and transmit frames. This command is used  
to transfer the MLAPD from the off-line state to a state where the full functionality of the  
MLAPD is available for processing the serial bit stream. The SR is set to hex 'FF' when the  
command is completed.  
4.3.3 RELOAD Command  
The format of the RELOAD command is shown below:  
7
0
6
1
5
0
4
0
3
0
2
1
1
1
0
0
MOTOROLA  
MC68606 USER’S MANUAL  
4-9  
Command Set  
The RELOAD command causes the MLAPD to load its internal registers from the  
corresponding entries in the reloadable variables area of the GCB. This command allows  
the host to dynamically change parameters, such as scan-length or interrupt_mask, without  
stopping the MLAPD on-line operation. The SR is set to hex 'FF' when the command is  
accepted. The actual reloading of each parameter occurs the next time the parameter is  
used by the MLAPD. The following list details when the new value is loaded.  
Pad Time Select  
Before the next frame transmission begins  
Nonstandard Control  
The next time a nonstandard-control frame is transmitted or received  
T203 Value  
The next time the T203 timer is restarted for any link  
I Frame Retransmit Threshold  
The next time an information (1) frame is transmitted  
N200 Value  
The next time a supervisory (S) or unnumbered (U) frame is retransmitted  
REJ Transmit Threshold  
After this threshold is reached for any logical link  
RNR Transmit Threshold  
After this threshold is reached for any logical link  
REJ Received Threshold  
After this threshold is reached for any logical link  
RNR Received Threshold  
After this threshold is reached for any logical link  
CTS Timeout Threshold  
The next time clear-to-send (CTS) is negated  
Scan Length I Queue 0  
The next time this queue is serviced  
Scan Length I Queue 1  
The next time this queue is serviced  
Scan Length I Queue 2  
The next time this queue is serviced  
4-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
Scan Length I Queue 3  
The next time this queue is serviced  
Scan Length XID/UI Queue 0  
The next time this queue is serviced  
Scan Length XID/UI Queue 1  
The next time this queue is serviced  
Interrupt Mask  
The next time an interrupt occurs  
Protocol Error Mask  
The next time an error occurs on a protocol link  
Nonprotocol Error Mask  
The next time an error occurs on a nonprotocol link  
Filter Mask  
The next receive frame  
Filter Match  
The next receive frame  
4.3.4 DUMP-STATISTICS Command  
The format of the DUMP-STATISTICS command is shown below:  
7
0
6
0
5
1
4
0
3
0
2
0
1
1
0
1
This command requires a dump address in the command_argument_2 field of the GCB.  
The DUMP-STATISTICS command causes the MLAPD to write the internal global statistics  
counters to the memory location specified by the pointer in command_argument_2. The  
order in which these counters are written into memory is the same order as their  
corresponding threshold values are specified in the statistics threshold area of the GCB  
(refer to Figure 2-4). The SR is set to hex 'FF' when the command is completed.  
4.3.5 PRESET_STATISTICS Command  
The format of the PRESET_STATISTICS command is shown below:  
7
0
6
1
5
0
4
0
3
0
2
1
1
1
0
1
MOTOROLA  
MC68606 USER’S MANUAL  
4-11  
Command Set  
The PRESET_STATISTICS command causes the MLAPD to immediately load its internal  
global statistics counters from the corresponding entries in the GCB statistics threshold  
area. This command allows the host to dynamically change threshold values or to  
dynamically reinitialize the counters without stopping the MLAPD on-line operation. The SR  
is set to hex 'FF' when the command is completed.  
4.3.6 ENABLE_IRQ Command  
The format of the ENABLE_IRQ (interrupt request) command is shown below:  
7
1
6
0
5
0
4
0
3
1
2
0
1
0
0
0
The ENABLE_IRQ command is issued by the host to notify the MLAPD that all pending  
entries in the Interrupt Queue have been handled. In response, the MLAPD deactivates the  
IRQ (INTR) pin and checks that the last pending interrupt entry in the Interrupt Queue has  
been handled. If not, the MLAPD asserts a new interrupt request via IRQ (INTR).  
The SR is set to hex 'FF' when the command is completed.  
4.3.7 ASSIGN_POOL_POINTER Command  
The format of the ASSIGN_POOL_POINTER command is shown below:  
7
1
6
0
5
1
4
0
3
0
2
0
1
0
0
1
This command requires a receive_pool_number in the command_argument_1 field and the  
address of the first frame descriptor in the command_argument_2 field located in the GCB.  
The host issues an ASSIGN_POOL_POINTER command to establish a new receive pool.  
In response, the MLAPD uses the receive_pool_number as an index into the Receive Pool  
Pointers Table. The MLAPD then stores the address of the first frame descriptor in this  
receive_pool_pointer entry. The receive_pool_pointers for receive pools 0-15 are stored on  
chip, and pointers for receive pools 16-8191 are stored in the Receive Pool Pointers Table  
located in shared memory. The SR is set to hex 'FF' when the command is completed.  
4.4 PROTOCOL  
These commands are the primitives explicitly defined in the LAPD protocol. The protocol  
commands allow the host to setup and resume link operation as well as to control the flow  
of frames on the link. With the exception of DL_DATA-REQUEST, the protocol commands  
are only valid for links operating according to the LAPD protocol.  
4-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
The short description of the MLAPD's response to each of the protocol commands assumes  
that the command is issued when the associated logical link's current status allows the  
command to be handled. For detailed operation descriptions, refer to CCITT  
Recommendation Q.920/Q9.21.  
4.4.1 MDL_ASSIGN_REQUEST Command  
The format of the MDI ASSIGN-REQUEST command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
1
1
0
0
0
This command requires an LLID in the command_argument_1 field in the GCB. In response  
to an MDL_ASSIGN_REQUEST command, the MLAPD fetches the Logical-Link Table  
(LLT) address from the LLID-LLT Table and reads the Data-Link Connection Identifier  
(DLCI) and link-status entries.  
If this LLID is not active, then in on-chip operation mode, the MLAPD stores the DLCI and  
associated LLID in a free CAM entry. If no free entry is found, a CAM-overflow interrupt is  
generated. In expanded operation mode, the LLID is stored in the external Match Table. The  
MLAPD also sets the state of the specified logical link to (terminal endpoint identifier)  
TEI_ASSIGN.  
If this LLID is already active, then the logical link's state is changed as follows:  
TEI_UNASSIGN (STATE 1) TEI_ASSIGN (STATE 4)  
or  
EST-WAIT-TEI (STATE 3) AWAIT_EST (STATE 5)  
If the link's state is changed to AWAIT-EST, a set asynchronous balanced mode extended  
(SABME) frame is transmitted, T200 is started for this LLID, and the highest_active_LLID  
register is updated, if necessary. The SR indicates that the command has been completed  
by returning hex 'FF'.  
4.4.2 DL_ESTABLISH_REQUEST Command  
The format of the DL_ESTABLISH_REQUEST command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
0
1
1
0
1
MOTOROLA  
MC68606 USER’S MANUAL  
4-13  
Command Set  
This command requires an LLID in the command_argument_1 field in the GCB.  
In response to this command, the MLAPD changes the link's state as follows:  
New link (STATE 0) EST-WAIT-TEI (STATE 3)  
or  
TEI_UNASSIGN (STATE 1) EST-WAIT-TEI (STATE 3)  
or  
TEI_ASSIGN (STATE 4) AWAIT-EST (SPACE 5)  
If the link's state is changed to AWAIT_EST, a SAME frame is transmitted, T200 is started  
for this LLID, and the highest_active_ILLID register is updated, if necessary. The SR is set  
to hex 'FF" when the command is completed.  
4.4.3 DL_DATA_REQUEST Command  
The format of the DL_DATA_REQUEST command is shown below:  
7
1
6
0
5
1
4
0
3
0
2
0
1
0
0
0
This command requires an LLID in the command_argument_1 field and an address of the  
first transmit I frame descriptor in the command_argument_2 field located in the GCB.  
DL_DATA_REQUEST is issued by the host to enable transmission after queuing at least  
one frame to the specified logical link's Transmit Queue. The pointer associated with the  
command identifies the head of the Transmit Queue. In response, the MLAPD places the  
specified logical link into its associated I frame queue by writing the address of this link's LLT  
in the Tx_next_LLT_pointer entry of the last LILT in the I frame queue. The MLAPD then  
initializes the following LILT entries for the specified link:  
transmit_status (initialized to '000F' hex)  
Tx_next_pointer (initialized to value in command_argument_2)  
Tx_next_acknowledge_pointer (initialized to value in command_argument_2)  
This command is only accepted by the MLAPD when the current Transmit Queue for this  
logical link has been transmitted and all frames have been acknowledged. Otherwise, an  
MDL_error_indication interrupt is issued. When frames are added to a nonempty Transmit  
Queue, no command is required to enable their transmission.  
A DL_DATA_REQUEST is also issued to resume handling of a logical link's Transmit Queue  
after the MLAPD has stopped transmission for the specified link due to the receipt of a  
STOP_TX_I command.  
The SR is set to hex 'FF' when the link's Transmit Queue is placed in its I frame queue. A  
DL_data_confirmation interrupt indicates that the command has been completed.  
4-14  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
4.4.4 RELINK_REQUEST Command  
The format of the RELINK_REQUEST command is shown below:  
7
0
6
1
5
1
4
0
3
1
2
0
1
1
0
1
This command requires an LLID in the command_argument_1 field located in the GCB.  
The host issues a RELINK_REQUEST command when the host wants to queue at least one  
frame to the specified logical link's Transmit Queue and all frames in the link's current  
Transmit Queue have been transmitted, but not all frames are acknowledged. The MLAPD's  
response depends upon the two following conditions:  
1. A real need for relinking exists_meaning that all frames in the queue were transmitted,  
but not all frames were acknowledged, when the host dynamically added the frame(s)  
to the queue, and  
2. No reason exists to prevent the relinking action (e.g., P_flag = 1).  
If these two conditions are met, the RELINK_REQUEST command is similar to a  
DL_DATA_REQUEST in that the MLAPD: places the link's LLT in its assigned I frame  
queue; updates the queue's tail pointer; and, if this queue is empty, updates the queue's  
head pointer also.  
If these two conditions are not met, the command may be considered illegal, may be  
ignored, or may cause the relinking to occur after link conditions clear. For specific  
information on the affect of a RELINK_REQUEST command see Figure 2-11. The SR is set  
to hex 'FF' when the command is accepted.  
4.4.5 GLOBAL_XID/ULREQUEST Command  
The format of the GLOBAL_XID/UI_REQUEST command is shown below:  
7
0
6
0
5
1
4
0
3
0
2
0
1
1
0
0
This host command requires the 32-bit address of the first (exchange identification/  
unnumbered information) XID/UI transmit frame descriptor in the command_argument_2  
field of the GCB.  
The host issues this command after queuing at least one frame to the Global XID/UI Queue  
to enable transmission. In response, the MLAPD initializes the Global_XID/  
UI_header_pointer register to point to the first frame descriptor in the queue. The MLAPD  
then places the Global XID/UI Queue in the transmit servicing scheme.  
MOTOROLA  
MC68606 USER’S MANUAL  
4-15  
Command Set  
The MLAPD accepts this command when all XID/UI frames from a previous GLOBAL_XID/  
UI_REQUEST have been transmitted. Otherwise, an MDL_error_indication interrupt is  
issued. When frames are added to a nonempty Global XID/UI Queue, no command is  
required to enable their transmission.  
This command is also issued to resume handling of the Global XID/UI Transmit Queue after  
the MLAPD has stopped transmission due to the receipt of a STOP_GLOBAL_XID/UI  
command.  
The SR is set to hex 'FF' when this command is accepted. A Global_XID/UI_confirmation  
interrupt is issued when all of this queue is handled by the MLAPD.  
4.4.6 XID/UI_QUEUE_0_REQUEST Command  
The format of the XID/UI_QUEUE_0_REQUEST is shown below:  
7
0
6
0
5
1
4
0
3
0
2
1
1
1
0
0
This command requires the 32-bit address of the first XID/UI Queue_0 frame descriptor in  
the command_argument_2 field of the GCB.  
The host issues this command after queuing at least one frame to the XID/UI Queue_0 to  
enable  
transmission.  
In  
response,  
the  
MLAPD  
initializes  
the  
XID/  
UI_Queue_0_head_pointer register to point to the first frame descriptor in the queue. The  
MLAPD then places the XID/ UI Queue_0 in the transmit servicing scheme. The MLAPD  
accepts this command when all XID/UI frames from  
a
previous XID/  
UI_QUEUE_0_REQUEST have been transmitted. Otherwise, an MDL_error_indication  
interrupt is issued. When frames are added to a non-empty XID/UI Queue_0, no command  
is required to enable their transmission.  
This command is also issued to resume handling of the XID/UI Queue_0 after the MLAPD  
has stopped transmission due to the receipt of a STOP_XID/UI_QUEUE_0 command. The  
SR is set to hex 'FF' when the command is accepted. An XID/UI_Queue_0-confirmation  
interrupt indicates that the MLAPD has completed handling this queue.  
4.4.7 XID/UI_QUEUE_1_REQUEST Command  
The format of the XID/UI_QUEUE_1_REQUEST command is shown below:  
7
0
6
0
5
1
4
0
3
0
2
1
1
1
0
1
4-16  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
This command requires the 32-bit address of the first XID/UI Queue_1 frame descriptor in  
the command_argument_2 field in the GCB.  
After queuing at least one frame to the XID/UI Queue_1 to enable transmission, this  
command is issued by the host. In response, the MLAPD initializes the XID/  
UI_Queue_1_head_pointer register to point to the first frame descriptor in the queue. The  
MLAPD then places the XID/UI Queue_1 in the transmit servicing scheme. The command  
is accepted by the MLAPD when all XID/UI frames from a previous XID/  
UI_QUEUE_1_REQUEST have been transmitted. Otherwise, an MDL_error-indication  
interrupt is issued. When frames are added to a nonempty XID/UI Queue_1, no command  
is required to enable their transmission.  
This command is also issued to resume handling of the XID/UI Queue_1 after the MLAPD  
has stopped transmission due to the receipt of a STOP_XID/UI_QUEUE_1 command. The  
SR is set to hex 'FF' when the command is accepted. An XID/UI_Queue_1_confirmation  
interrupt indicates that the MLAPD had completed handling this queue.  
4.4.8 MDI ERROR_RESPONSE Command  
The format of the MDL_ERROR_RESPONSE command is shown below:  
7
0
6
1
5
1
4
0
3
1
2
0
1
0
0
0
This command requires an LLID in the command_argument_1 field in the GCB.  
The command is issued when T202 expiration has been recognized by the management  
entity for Layer 2 and before a DLCI has been assigned by the peer management. This  
command only causes a state change for the specified logical link back to the state  
TEI_UNASSIGN. Timer 202 is the minimum time between the transmission of TEI identity  
request messages. The SR is set to hex 'FF' when the command is completed.  
4.4.9 DL_RELEASE_REQUEST Command  
The format of the DL_RELEASE_REQUEST command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
1
1
0
0
0
This command requires an LLID in the command_argument_1 field in the GCB.  
If a DL_RELEASE_REQUEST is issued under normal link conditions, the MLAPD responds  
to this command by generating a disconnect (DISC) frame for the specified logical link. The  
SR is set to hex 'FF' when the command is completed.  
MOTOROLA  
MC68606 USER’S MANUAL  
4-17  
Command Set  
4.4.10 MDL_REMOVE_REQUEST Command  
The format of the MDL_REMOVE_REQUEST command is shown below:  
7
0
6
1
5
1
4
0
3
1
2
1
1
0
0
0
This command requires an LLID in the command_argument_1 field in the GCB.  
In response to an MIDL_REMOVE_REQUEST, the MLAPD changes the state of the  
specified logical link to TEI_UNASSIGN. The highest_active_LLID register is updated, if  
necessary.  
The SR indicates that this command has been accepted by returning hex 'FF. If the LLT of  
this link is in its assigned I frame queue, the command is actually completed by the transmit  
task that removes the LLT from its queue. Removal occurs when the LLT reaches the head  
of its I frame queue. The LLT can be reused only after the link's active bit in its LLT has been  
set to zero by the MLAPD.  
If the LLT of this link is not in its assigned I frame queue, the semaphore value 'FF' hex  
indicates the completion of the command. In either case, when the active bit in the transmit-  
status entry in the link's LLT is set to zero, the command has been completed.  
4.5 PROTOCOL EXTENSION  
These commands are not specified by the LAPD protocol. Because they allow the host to  
interfere in the normal flow of the protocol processing, the host must carefully issue these  
commands to the MLAPD. The SET_LOCAL_BUSY and CLEAR_LOCAL_BUSY  
commands may also be used as a part of normal protocol processing. The protocol  
extension commands that are valid for nonprotocol links are: ACTIVATE_LL,  
DEACTIVATE_LL, SET_LOCAL_BUSY, CLEAR_LOCAL_BUSY, and STOP_TX_I.  
The short description of the MLAPD response to each command assumes that the  
command is issued when the associated logical link's current state allows the command to  
be handled.  
4.5.1 ACTIVATE_LL Command  
The format of the ACTIVATE_LL (logical link) command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
0
1
1
0
0
This command requires an LLD in the command_argument_1 field in the GCB. The  
ACTIVATE_LL command may be issued by the host only after the LLID-LLT Table has a  
valid entry for the specified LLID and after the following entries in the corresponding LILT  
have a valid value:  
4-18  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
DLCI and configuration bits  
N201_value  
Receive_pool_number  
The nonprotocol_select bit in the LLT configuration bits determines whether this newly  
active link will operate according to the LAPD protocol or whether this link will operate in  
nonprotocol mode. The ACTIVATE_LL command configures a LAPD logical link to support  
unnumbered information (UI) exchange from the management entity. As an example, this  
command can be used to configure the broadcast logical link.  
In response to an ACTIVATE_LL command, the MLAPD fetches the LILT address from the  
LLID_LLT Table and reads the DLCI entry. If the requested LLID or DLCI is already active,  
an MDL_error_indication (argument = '000000') interrupt is placed on the Interrupt Queue.  
Otherwise, in one_chip operation mode, the MLAPD stores the DLCI and the associated  
LLID in a free CAM entry. If no free entry is found, a CAM_overflow interrupt is generated.  
In expanded operation mode, the LLID is stored in the external Match Table. For a protocol  
link, the; MLAPD also sets the state of the specified logical link to TEI_UNASSIGN and  
updates the highest_active_LLID register, if necessary. When the SR has a value of hex  
'FF', the specified logical link is ready for operation.  
4.5.2 DEACTIVATE_LL Command  
The format of the DEACTIVATE_LL command is shown below:  
7
0
6
1
5
1
4
0
3
1
2
0
1
1
0
0
This command requires an LLID in the command_argument_1 field in the GCB.  
In response to a DEACTIVATE_LL command, the MLAPD sets the transmit-status bits as  
follows: stop_TX = 1; active = unchanged; acknowledge = 0; and transmit = 0. The MLAPD  
also deletes the specified logical link's DLCI-LLID entry in the CAM when in the on-chip  
operation mode. In expanded-system operation mode, the DLCI-LLID entry is deleted from  
the external Match Table by the MLAPD. The highest_active_LLID register is also updated,  
if necessary.  
The SR indicates command acceptance by returning hex 'FF', and, at that time, the host may  
issue another command. If this link's LLT is in its assigned I frame queue, the command is  
actually completed by the transmit task that removes the LLT from the queue. Removal  
occurs when the LLT reaches the head of its I frame queue. The LILT can be reused only  
after the link's active bit in its LLT is set to zero by the MLAPD.  
MOTOROLA  
MC68606 USER’S MANUAL  
4-19  
Command Set  
If the LLT of this link is not in its assigned I frame Queue, the semaphore value 'FF' hex  
indicates completion of the command. In either case, when the active bit in the  
transmit_status entry is set to zero, the command has been completed.  
4.5.3 REMOTE_STATUS_REQUEST Command  
The format of the REMOTE_STATUS_REQUEST is shown below:  
7
0
6
1
5
1
4
0
3
1
2
0
1
0
0
1
This command requires an LLID in the command_argument_1 field in the GCB.  
The MLAPD responds to this command as follows:  
• If the P_flag is set for this logical link (i.e., a supervisory frame has been sent with the  
poll (P) bit set to one, and no response frame has been received with the final (F) bit set  
to one), the MLAPD sets the remote_status_check flag indicating that a  
REMOTE_STATUS_REQUEST has been issued for this logical link.  
• If the P_flag is not set for this logical link, the MLAPD transmits a S frame, appropriate  
for link's current state, with the P bit set to one and sets the remote_status_check flag  
and the P_flag.  
In both cases, when a response frame is received with F set to one, the MLAPD issues a  
Remote_status_confirmation interrupt and clears both the remote_status_check flag and  
the P_flag. The SR is set to hex 'FF' when the command is accepted.  
4.5.4 SET_LOCAL_BUSY Command  
The format of the SET_LOCAL_BUSY command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
0
1
0
0
1
This command requires an LLID in the command_argument_1 field located in the GCB.  
A SET_LOCAL_BUSY command forces the receive busy situation, in which no free buffers  
in the receive pool are associated with the specified LLID. Higher level software may use  
this command for immediate flow control by allowing the data-link layer to initiate flow control  
rather than asserting flow control at a higher level. In addition, a remote station could request  
this busy condition through dialogue between the remote and local management layers. In  
this case, the command can be used to check the operation of the station in a local busy  
condition for testing or certification purposes. The SR indicates that the local-busy flag in the  
appropriate LLT's link-status word is set by returning hex 'FF’.  
4-20  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
4.5.5 CLEAR_LOCAL_BUSY Command  
The format of the CLEAR_LOCAL_BUSY command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
0
1
0
0
0
This command requires an LLID in the command_argument_1 field located in the GCB.  
When the local_busy flag was previously set by a SET_LOCAL_BUSY command, the host  
issues a CLEAR_LOCAL_BUSY command to clear the flag and return the link to normal  
operation. The command will also clear the flag and return the link to normal operation. The  
command will also clear a true receive busy condition caused by lack of receive buffers.  
After adding buffers to an empty receive pool, the host can issue this command to return to  
normal operation on this link. The SR is set to hex 'FF' when this command is completed.  
4.5.6 STOP_TX_I Command  
The format of the STOP_TX_I command is shown below:  
7
0
6
1
5
1
4
0
3
0
2
1
1
1
0
1
This command requires an LLID in the command_argument_1 field in the GCB.  
The host issues a STOP_TX_I command to instruct the MLAPD not to initiate any new  
transmission service for this specified logical link's Transmit Queue. The SR is set to hex  
'FF' when this command is accepted. If the MLAPD receives this command while  
transmitting an I frame for the link, then the MLAPD aborts the frame. Next, the MLAPD  
waits for all outstanding I frames for the specified logical link to be acknowledged and then  
places a DL_data_confirmation interrupt on the Interrupt Queue indicating that the  
STOP_TX_I command has been completed.  
4.5.7 STOP_GLOBAL_XID/UI Command  
The format of the STOP_GLOBAL_XID/UI command is shown below:  
7
1
6
0
5
0
4
0
3
1
2
0
1
0
0
1
MOTOROLA  
MC68606 USER’S MANUAL  
4-21  
Command Set  
A STOP_GLOBAL_XID/UI command is issued by the host to instruct the MLAPD not to  
initiate any new transmission service for the Global XID/UI Queue. If the MLAPD receives  
this command while transmitting an XID/UI frame from this queue, then MLAPD aborts this  
frame. The SR is set to hex 'FF' when this command is completed.  
4.5.8 STOP_XID/UI_QUEUE_0 Command  
The format of the STOP_XID/UI_QUEUE_0 command is shown below:  
7
1
6
0
5
0
4
0
3
1
2
0
1
1
0
0
The host issues STOP_XID/UI_QUEUE_0 command to instruct the MLAPD not to initiate  
any new transmission service for the XID/UI Queue_0. If the MLAPD receives this command  
while transmitting an XID/UI frame from this queue, then the MLAPD aborts this frame. The  
SR is set to hex 'FF' when this command is completed.  
4.5.9 STOP_XID/UI_QUEUE_1 Command  
The format of the STOP_XID/UI_QUEUE_1 command is shown below:  
7
1
6
0
5
0
4
0
3
1
2
0
1
1
0
1
A STOP_XID/UI_QUEUE_1 command is issued by the host to instruct the MLAPD not to  
initiate any new transmission service for the XID/UI Queue_1. If the MLAPD receives the  
command while transmitting an XID/UI frame from this queue, then the MLAPD aborts this  
frame. The SR is set to hex 'FF' when this command is completed.  
4.6 COMMAND SUMMARY  
Table 4-1 briefly defines the MLAPD commands.  
Table 4-2 summarizes the MLAPD command set.  
4-22  
MC68606 USER’S MANUAL  
MOTOROLA  
Command Set  
Table 4-1. MLAPD Command Definitions  
Command Group  
Command  
Functional Description  
Initialization  
RESET  
Software reset.  
SET_BUS_WIDTH_8  
SET_BUS_WIDTH_16  
INIT  
Data bus width is 8 bits.  
Data bus width is 16 bits.  
MLAPD loads registers from the GCB.  
MLAPD only executes host commands.  
Host, MLAPD  
Interface  
OFF-LINE  
ON-LINE  
MLAPD executes commands, receives frames, and transmits frames.  
MLAPD loads registers from reloadable area of GCB.  
RELOAD  
DUMP_STATISTICS  
PRESET_STATISTICS  
ENABLE_IRQ  
MLAPD writes global counters to specified memory area.  
MLAPD loads global counters from statistics threshold area of GCB.  
All pending interrupt entries handled. Enable external interrupt  
signal.  
ASSIGN-POOL POINTER  
MDI ASSIGN-REQUEST  
DL_ESTABLISH-REQUEST  
DL_DATA-REQUEST  
Host has created a new receive pool.  
Place specified logical link in the TEI_ASSIGN state.  
Setup link. Link enters multiple-frame established mode.  
Protocol  
Request transmission of an I frame queue for the specified logical  
link.  
RELINK REQUEST  
Frames were added to a queue in which all frames were 'Tx awaiting  
ACK'.  
GLOBAL XID/UI REQUEST  
Request transmission of XID UI frames in the Global XID/UI Queue,  
XID/UI_QUEUE_0_REQUEST Request transmission of XID/UI frames in XID/UI_Queue_0.  
XID/UI_QUEUE_1_REQUEST Request transmission of XID/UI frames in XID/UI_Queue_1.  
MIDI ERROR-RESPONSE  
Indication that no DLCI assigned. The logical link is in TEI_UNASSIGN  
state.  
DL_RELEASE-REQUEST  
MDI REMOVE-REQUEST  
ACTIVATE_LL  
Release link from the multiple-frame established mode.  
Place logical link in TEI_UNASSIGN state.  
Place specified logical link in the TEL_UNASSIGN state. Remove  
DLCI-LLID pair,  
Protocol  
Extension  
DEACTIVATE_LL  
Remove specified logical link from LAPD service.  
REMOTE_STATUS_REQUES Send frame with poll bit set to check remote station status for  
specified link.  
SET_LOCAL_BUSY  
CLEAR_LOCAL_BUSY  
STOP_TX_I  
Specified logical link enters the local busy condition.  
Specified logical link exits the local busy condition.  
Stop transmission of the specified logical link's I frame queue.  
Stop transmission of frames in the GLOBAL XID/UI Queue.  
Stop transmission of frames in the XID/UI_Queue_0.  
Stop transmission of frames in the XID UI_Queue_1.  
Test DMA operation  
STOP_GLOBAL_XID/UI  
STOP_XID/UI_QUEUE_0  
STOP_XID/UI_QUEUE-1  
DMA TEST  
Test  
Diagnostic  
Dump all internal MLAPD registers and CAM.  
DUMP  
MOTOROLA  
MC68606 USER’S MANUAL  
4-23  
Command Set  
Table 4-2. MLAPD Command Summary  
Command  
Argument_1  
Command  
Argument_2  
Command  
Argument_3  
Code  
Command  
Initialization Command  
FF  
40  
41  
42  
RESET  
SET_BUS_WIDTH_8  
SET_BUS_WIDTH_16  
INIT (GCB address is in data register)  
Host Interface Commands  
44  
45  
46  
23  
47  
88  
A1  
OFF_LINE  
ON_LINE  
RELOAD  
Pointer  
DUMP STATISTICS  
PRESET_STATISTICS  
ENABLE_IRQ  
ASSIGN_POOL_POINTER  
Pool_Number  
Pool_Pointer  
Protocol Commands  
66  
63  
AO  
6B  
22  
26  
27  
68  
64  
6C  
MDL_ASSIGN_REQUEST  
DL_ESTABLISH_REQUEST  
DL_DATA_REQUEST  
LLID  
LLID  
LLID  
Queue_Pointer  
RELINK_REQUEST  
LLID  
GLOBAL_XID UI_REQUEST  
XID/UI_QUEUE_0 REQUEST  
XID/UI_QUEUE_1 REQUEST  
MIDL_ERROR_RESPONSE  
DL_RELEASE_REQUEST  
MDL_REMOVE_REQUEST  
Queue_Pointer  
Queue_Pointer  
Queue_Pointer  
LLID  
LLID  
LLID  
Protocol Extension Commands  
62  
6A  
69  
61  
60  
67  
89  
8A  
8B  
ACTIVATE_LL  
LLID  
LLID  
DEACTIVATE_LL  
REMOTE_STATUS_REQUEST  
SET_LOCAL_BUSY  
LLID  
LLID  
CLEAR_LOCAI BUSY  
STOP_TX_I  
LLID  
LLID  
STOP_GLOBAL_ID/UI  
STOP_XID UI_QUEUE_0  
STOP_XID UI_QUEUE_1  
Test/Diagnostics Commands  
Data_Length  
A2  
20  
DMA_TEST  
DUMP  
Source_Pointer  
Pointer  
Destination_Pointer  
4-24  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 5  
TRANSMIT PROCESS  
5.1 TRANSMIT SERVICING SCHEME  
The MLAPD services several transmit queues. All frames in a single queue belong to one  
of the following categories: Level 2 (MLAPD) generated frames, exchange identification/  
unnumbered information (XID/UI) frames (including nonstandard-control frames), or  
numbered information (1) frames. A fixed internal servicing scheme determines when each  
transmit queue is handled.  
The highest priority transmit queue is the Level 2 Transmit Queue. When the MLAPD  
services the Level 2 Queue, all queued frames are transmitted before servicing the next  
lower priority queue. The Level 2 Queue contains frames generated by the MLAPD in  
response to received frames and host commands. These frames, unnumbered (U) and  
supervisory (S), are referred to as Level2frames throughout this specification. A breakdown  
of Level 2 frames is given in Figure 2-19. Since these Level 2 frames are generated  
independently by the MLAPD and this queue is managed transparently to the host, the Level  
2 Queue is discussed in a separate section. (See 2.10 Level 2 Queue).  
The next lower priority transmit queue is the Global XID/UI Queue. When the MLAPD  
services the Global XID/UI Queue, all queued frames are transmitted before servicing the  
lowest priority queues. The Global XID/UI Queue contains XID and UI (also  
nonstandard_control) frames generated by the host for transmission on the specified logical  
link. System implementations may dedicate the Global XID/UI Queue for frames generated  
by the Level 3 management entity.  
The lowest priority transmit queues are the user_defined servicing queues, which contain I  
frames and XID/UI (also nonstandard_control) frames. A total of six queues implement  
user_defined servicing: four transmit I frame queues (I frame Queues_0_3) and two XID/ UI  
queues (XID/UI Queues_0, 1). When the MLAPD services these queues, all queued frames  
are NOT transmitted before servicing the next I or XID/UI queue. Instead, the user defines  
the maximum number of frames to be transmitted from each queue before switching to the  
next queue. This variable is programmed into the scan_length fields in the Global  
Configuration Block (GCB). When a scan_length of zero is programmed, the corresponding  
queue is never serviced; thus, the user can opt to implement from zero up to all four queues  
for I frame transmission and from zero up to two queues for XID/UI (and nonstandard  
control) frame transmission. The scan_length for any queue may be changed dynamically  
by writing the appropriate GCB entry and issuing a RELOAD command.  
While the scan_length does not implement an absolute priority scheme, the scan_length  
does allow the user to define the relative servicing of transmit frames in each queue that is  
MOTOROLA  
MC68606 USER’S MANUAL  
5-1  
Transmit Process  
to be provided by the MLAPD transmit task, eliminating the problem of queue starvation. In  
an absolute priority scheme, frames in a queue with a higher scan_length would always be  
transmitted before frames in a queue with a lower scan_length. In a relative priority scheme,  
the MLAPD transmit task services frames in a queue with a higher scan length more often  
than frames in a queue with a lower scan_length although the queue with the lower  
scan_length is guaranteed to receive a percentage of the transmit service.  
According to the fixed priority scheme, the MLAPD transmits all frames in the Level 2 Queue  
and all frames in the Global XID/UI Queue before servicing the lower priority I frame queues  
and XID/UI queues. The MLAPD services the lowest priority queues in round robin fashion  
as follows: I frame Queue_0, I frame Queue_1, I frame Queue_2, I frame Queue_3, XID/UI  
Queue_0, XID/UI Queue_1, I frame Queue_0, etc. After each frame, transmission from the  
lowest priority queues may be interrupted to maintain priority to the Level 2 and Global XID/  
UI Queues. Upon completion, the MLAPD will resume servicing the lowest priority queues  
at the point of interruption. The MLAPD transmit servicing scheme is shown pictorially in  
Figure 5-1 and in flowchart form in Figure 5-2.  
5.2 TRANSMIT I FRAME PROCESS  
The host assigns each logical link to one of four I frame queues for all of its I frame  
transmission. When a link has I frames pending transmission, the MLAPD places the link in  
its assigned queue. Each I frame queue is serviced according to the transmit servicing  
scheme. The MLAPD maintains pointers to control the process flow. The following  
paragraphs provide an overview of the transmission process and also explanations of the  
various procedures and capabilities.  
.
ON-CHIP REGISTERS  
LEVEL 2  
I FRAME  
QUEUE 0  
TRANSMIT QUEUE  
CURRENT Tx  
TASK  
I FRAME  
QUEUE 1  
GLOBAL XID/UI  
TRANSMIT QUEUE  
I FRAME QUEUE 0  
SCAN COUNTER  
I FRAME QUEUE 1  
SCAN COUNTER  
I FRAME  
QUEUE 2  
USER-DEFINED  
SERVICING QUEUES  
I FRAME QUEUE 2  
SCAN COUNTER  
I FRAME  
QUEUE 3  
I FRAME QUEUE 3  
SCAN COUNTER  
XID/UI  
QUEUE 0  
XID/UI QUEUE 0  
SCAN COUNTER  
XID/UI QUEUE 1  
SCAN COUNTER  
XID/UI  
QUEUE 1  
Figure 5-1. Transmit Servicing Scheme  
5-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Transmit Process  
.
Tx SERVICING SCHEME  
YES  
LEVEL 2 QUEUE  
FRAME PENDING  
?
NO  
Tx FRAME  
GLOBAL  
XID/UI QUEUE  
FRAME PENDING  
?
YES  
NO  
Tx FRAME  
USER-DEFINED  
SERVICING QUEUE n  
FRAME PENDING  
?
YES  
NO  
NO  
SCAN COUNT =  
SCAN LENGTH  
?
YES  
Tx FRAME FROM QUEUE n  
SCAN COUNT = SCAN COUNT + 1  
SERVICE NEXT QUEUE  
SCAN COUNT = 0  
Figure 5-2. Transmit Servicing Flowchart  
5.2.1 I Frame Queue Structure  
An I frame queue consists of linked LLTs belonging to links with I frames awaiting  
transmission. Each LLT contains three pointers maintained by the MLAPD, which identify  
the next frame to be acknowledged, the next frame to be transmitted, and the next logical  
link in the I frame queue to be serviced. The structure of an I frame queue is shown in Figure  
5-3.  
MOTOROLA  
MC68606 USER’S MANUAL  
5-3  
Transmit Process  
.
LOGICAL-LINK TABLE (LLT)  
(LLID = 4)  
ON-CHIP REGISTERS  
TRANSMIT QUEUE  
TRANSMITTED  
I FRAME QUEUE_n HEAD POINTER  
I FRAME QUEUE_n TAIL POINTER  
I FRAME QUEUE_n  
Tx NEXT ACKNOWLEDGE POINTER  
Tx NEXT POINTER  
Tx NEXT LLT POINTER  
AWAITING TRANSMISSION  
TRANSMIT QUEUE  
LOGICAL-LINK TABLE (LLT)  
(LLID = 6)  
I FRAME QUEUE_n  
Tx NEXT ACKNOWLEDGE POINTER  
Tx NEXT POINTER  
Tx NEXT LLT POINTER  
LOGICAL-LINK TABLE (LLT)  
(LLID = 3)  
TRANSMIT QUEUE  
I FRAME QUEUE_n  
Tx NEXT ACKNOWLEDGE POINTER  
Tx NEXT POINTER  
Tx NEXT LLT POINTER  
NOTE: LLIDs shown are for example only.  
Figure 5-3. Structure of Each I Frame Queue  
The MLAPD maintains a pointer to the tail and head of each transmit I frame queue. In  
response to a DL_DATA_REQUEST command, the MLAPD places the link's LLT into the  
assigned I frame queue using the corresponding tail pointer to locate the last LILT belonging  
to the queue. When the MLAPD is ready to service an I frame queue, the MLAPD uses the  
corresponding head pointer register to locate the first LLT in the queue.  
The MLAPD is exclusively responsible for handling each I frame queue. A logical link's  
Transmit Queue is linked to its I frame queue if and only if the MLAPD is able to provide  
transmission services for the link. Inability to provide transmission services may result from  
either local or remote link conditions and host commands. The MLAPD relinks the logical  
link's Transmit Queue to its I frame queue when the link conditions inhibiting transmission  
servicing clear. For more details see 5.2.4 MLAPD I Frame Queue Processing.  
5.2.2 Logical-Link Transmit Queue Structure  
To minimize context switching, each logical link has its own Transmit Queue for I frames. A  
Transmit Queue is a linked list of frame descriptors. The format of a transmit frame  
descriptor is discussed in 2.6 TRANSMIT FRAME DESCRIPTOR. A Transmit Queue may  
be conceptually divided into two portions: a portion which is inactive and a portion which is  
active. In the inactive portion, all frames have been transmitted and acknowledged. The  
5-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Transmit Process  
active portion contains frames awaiting acknowledgment (frames which have been  
transmitted) and frames awaiting transmission, The inactive portion of the Transmit Queue  
has been returned to the host, and these frame structures may be collected and reused. The  
active portion is still under the control of the MLAPD. The structure of a logical link's Transmit  
Queue is shown in Figure 5-4. To enable transmission of I frames in a Transmit Queue, this  
queue must be linked to one of the four user-defined I frame queues. The host assigns each  
logical link to one of these queues for all of its I frame activity.  
.
(MLAPD) Tx NEXT POINTER  
(MLAPD) Tx NEXT ACKNOWLEDGE POINTER  
USER Tx NEXT CONFIRM POINTER  
USER Tx LAST QUEUED POINTER  
TRANSMIT I  
FRAME  
DESCRIPTOR  
TRANSMIT I  
FRAME  
DESCRIPTOR  
TRANSMIT I  
FRAME  
DESCRIPTOR  
TRANSMIT I  
FRAME  
DESCRIPTOR  
TRANSMIT I  
FRAME  
DESCRIPTOR  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
INACTIVE  
ACTIVE  
Figure 5-4. Logical-Link Transmit Queue Structure  
5.2.3 I Frame Transmission Queueing  
To queue I frames for transmission, the host first creates a Transmit Queue for a logical link  
and then instructs the MLAPD to add the queue to its assigned I frame queue by issuing a  
DL_DATA_REQUEST command. (See 4.4.3 DL_DATA_REQUEST Command). The host  
must maintain the user Tx_next_confirm_pointer and the user_Tx_last_queued_pointer for  
each logical link's Transmit Queue. These pointers are required for removing acknowledged  
frame descriptors and/or for adding more frame descriptors for transmission.  
The host may add frames to the Transmit Queue while frames are still awaiting  
transmission. When a frame is ready to be added, the host sets the last bit in the new frame  
descriptor and links the new frame descriptor to the last frame descriptor in the existing  
Transmit Queue. The last frame descriptor is identified by the userTx_last_queued_pointer.  
The host then clears the last bit in the frame descriptor that was previously the last frame  
descriptor in the queue and updates the user_Tx_last_queued_pointer. Upon receiving a  
DL_data_confirmation interrupt, the host must verify that the last frame added to the queue  
MOTOROLA  
MC68606 USER’S MANUAL  
5-5  
Transmit Process  
was indeed transmitted. If not, then the addition operation was performed after the MLAPD  
had checked the last bit in the frame descriptor, which the host intended to clear. In this  
case, the host must present the remaining frames to the MLAPD as a new Transmit Queue  
and issue a DL_DATA_REQUEST.  
The host may also add frames to the Transmit Queue after all frames have been transmitted  
but before all frames have been acknowledged. In this case, the host must issue a  
RELINK_REQUEST command after the frames are added to the queue to enable  
transmission.  
5.2.4 MLAPD I Frame Queue Processing  
Upon receiving a DL_DATA_REQUEST command, the MLAPD adds the logical link's  
Transmit Queue to the appropriate I frame queue for transmission, using the queue's tail  
pointer register. The Tx_next_pointer and Tx_next_acknowledge_pointer LLT entries for  
this link are initialized to point to the first frame descriptor in this link's Transmit Queue. The  
stop_Tx, active, acknowledge, and transmit bits in this link's transmit_status entry are set to  
0111, respectively. The last_LLT bit in the transmit_status entry is set to one since this LLT  
is now the last one in the I frame queue.  
After loading the link's state, (or context), information from the LLT, the MLAPD locates the  
link's Transmit Queue using the Tx_next_pointer. The MLAPD then begins transmitting the  
link's queued frames. Advancing the Tx_next_pointer, the MLAPD continues to transmit  
frames from the link's Transmit Queue until the queue is emptied or until the scan_length  
associated with this I frame queue is exhausted. If the link's Transmit Queue is emptied  
before the scan_length is exhausted, the MLAPD locates the next LLT in the I frame queue  
using the linking mechanism, the Tx_next_LLT entry in the current link's LLT. The MLAPD  
then loads the next link's context and begins transmitting frames from its Transmit Queue.  
This process continues until the scan-length for-this I frame queue is satisfied.  
The MLAPD may temporarily remove this link's Transmit Queue from its I frame queue as  
the result of link conditions and host commands. The link conditions that cause removal are:  
Remote busy condition,  
Outstanding remote status request (P-flag or remote_status_check_),  
Outstanding frames limit (K),  
Link reset, and  
Timer recovery condition.  
The remote busy condition, the outstanding remote status request, and the timer recovery  
condition are indicated by the link_status LLT entry. The outstanding frames limit condition  
is determined by the value of V(S)–V(A) K. Send_state_variable V(S),  
acknowledge_state_variable V(A), and K are entries in the link's LLT. The link reset  
condition is reported via the Interrupt Queue. The host commands that cause removal are:  
5-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Transmit Process  
STOP_TX_I,  
MIDIL_REMOVE_REQUEST,  
DEACTIVATE_LL,  
DL_RELEASE_REQUEST, and  
REMOTE_STATUS_REQUEST.  
The MLAPD also removes the link's Transmit Queue from its I frame queue after all frames  
have been transmitted. Later, when all frames have been acknowledged, the MLAPD  
checks whether any transmit frames have been added to the link's Transmit Queue. If so,  
the link's Transmit Queue is automatically relinked to the tail of its I frame queue by the  
MLAPD.  
When a transmitted frame is acknowledged, the MLAPD updates the Tx_next_acknowledge  
pointer to the next frame awaiting confirmation.  
After all frames have been transmitted and acknowledged for this link, a  
IDL_data_confirmation interrupt is issued by the MLAPD to notify the host. At this time, the  
host may request transmission of a new queue of frames for this logical link by issuing  
another IDL_DATA_REQUEST command.  
5.2.5 Stopping I Frame Transmission  
At any time, the host may instruct the MLAPD to immediately suspend all I frame transmit  
activity for a specific logical link by issuing a STOP_TX_I command. (See 4.5.6 STOP_TX_I  
Command.) Upon receiving this command, the MLAPD aborts any current frame  
transmission for this link and does not advance the Tx_next_pointer past its current position.  
The host can immediately manipulate any transmit frames following the last frame in which  
the transmit status bit is set. Later, the host is notified via a DL_data_confirmation interrupt  
that all outstanding acknowledgments have been received. At this point, the host is free to  
manipulate the entire Transmit Queue as desired since this queue is inactive. The host  
reactivates the handling of I frame transmission for this link via the usual  
DL_DATA_REQUEST command. This stop mechanism may be used to provide faster  
servicing of certain I frames or may be necessary to implement various types of error  
recovery.  
To stop transmit activity for a link without the possibility of an abort transmission, the host  
can set the last bit in the first two frame descriptors in the link's Transmit Queue which have  
not been transmitted. This action ensures that the MLAPD will transmit only these two  
frames at the most before stopping the link's transmission. The host can immediately  
manipulate any transmit frames following the frames in which the last bit was set. Later, the  
host is notified via a DL_data_confirmation interrupt that all outstanding acknowledgments  
have been received. At this point, the host is free to manipulate the entire Transmit Queue  
as desired since this queue is inactive.  
MOTOROLA  
MC68606 USER’S MANUAL  
5-7  
Transmit Process  
5.2.6 Collecting Acknowledged Frames  
To collect acknowledged frames, the host reads the status_bits in each frame descriptor  
beginning with the frame descriptor indicated by the user_Tx_next_confirm_pointer. Once  
the associated data buffer has been transmitted and acknowledged, the confirmation bit is  
set to one by the MLAP. Acknowledged frames may be collected by the host dynamically  
(while other frames await acknowledgment) or after being notified by the MLAPD that all  
frames in the queue are acknowledged via a DL_data_confirmation interrupt. The host  
should update the user_Tx_next_confirm_pointer after each frame is collected.  
When the host has dynamically added frames to a link's Transmit Queue, the host must  
determine whether the additional frames were handled by the MLAPD. Verification is made  
by inspecting the frame descriptor which was the last frame descriptor in the queue before  
the additional frames were added. If the empty bit is set and the last bit is cleared in this  
frame descriptor, then the frame addition was not successful. The host must issue a  
DL_DATA_REQUEST with this link's LLID in command_argument_1 to enable  
transmission. The address of the next frame descriptor, the unsuccessful frame descriptor  
added previously, should be placed in command_argument_2.  
5.3 TRANSMIT XID/UI FRAME PROCESSING  
XID/UI (also nonstandard_control) transmit frames are contained in both the Global XID/ UI  
Transmit Queue and the user-defined servicing queues, XID/UI Queues_0, 1. Each  
Transmit Queue consists of frame descriptors with associated data buffers. In order to  
maintain process flow, pointers are used to identify the next frame for transmission. The  
following paragraphs provide an overview of the transmission process and also  
explanations of the various procedures and capabilities.  
5.3.1 XID/UI Queue Structure  
The Global XID/UI Queue and the XID/UI Queues_0,1 are linked lists of frame descriptors.  
These queues may contain frames to be transmitted on one or more logical links. Each  
frame descriptor specifies the logical link associated with the XID, UI, or  
nonstandard_control frame. The format of a transmit frame descriptor is discussed in 2.6  
Transmit Frame Descriptor. The structure of the XID/UI queues is shown in Figure 5-5.  
The XID/UI queue may be conceptually divided into two portions: a portion which is inactive  
(frames which have been transmitted) and a portion which is active (frames awaiting  
transmission). The inactive portion of the Transmit Queue has been returned to the host and  
these frame structures may be collected and reused. The active portion is still under the  
control of the MLAPD.  
5-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Transmit Process  
.
(MLAPD) XID/UI Tx NEXT POINTER  
USER XID/UI Tx NEXT CONFIRM POINTER  
USER XID/UI Tx LAST QUEUED POINTER  
TRANSMIT XID/UI  
FRAME  
DESCRIPTOR  
TRANSMIT XID/UI  
FRAME  
DESCRIPTOR  
TRANSMIT XID/UI  
FRAME  
DESCRIPTOR  
TRANSMIT XID/UI  
FRAME  
DESCRIPTOR  
TRANSMIT XID/UI  
FRAME  
DESCRIPTOR  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
INACTIVE  
ACTIVE  
Figure 5-5. XID/UI Transmit Queue Structure  
5.3.2 XID/UI Transmit Queue Usage  
XID/UI queues contain XID frames, UI frames, and user_defined nonstandard_control  
frames. Infrequent use of XID frames and nonstandard_control frames by Level 3 entities is  
anticipated. In applications, which primarily use numbered information frames for data  
transfer, the infrequent use of UI frames is anticipated. However, some applications, e.g.,  
bridges which interface to connectionless-oriented networks, may use UI frames extensively  
for data transfer.  
To address the varying usage of XID/UI (and nonstandard_control) frames, the MLAPD  
provides two methods of servicing XlD/UI queues. In the first method, when frames are  
queued to the Global XID/UI Queue, the MLAPD will transmit all pending frames each time  
this queue is serviced. After the Level 2 Queue, the Global XID/UI Queue has second  
highest transmit priority. In the second method, when frames are queued to either XID/UI  
Queue_0 or XID/UI Queue_1, the MLAPD will transmit only the number of frames specified  
by the host in the corresponding scan_length GCB entry. In this way, the host defines the  
servicing to be provided by the MLAPD transmit task for the queued frames.  
The host may choose to use only the Global XID/UI Queue, only the XID/UI Queues_0 and/  
or 1, or a combination of these queues depending on the application. (Of course, the host  
may opt not to use XID, UI, or nonstandard_control frames at all.)  
5.3.3 XID/UI Frame Transmission Queueing  
To begin XID/UI frame transmission, the host first creates a transmit queue consisting of any  
number of XID/UI (and nonstandard_control) frames to be transmitted on various logical  
MOTOROLA  
MC68606 USER’S MANUAL  
5-9  
Transmit Process  
links. Then the host instructs the MLAPD to add this queue to the transmit servicing scheme  
by issuing an XID/UI_QUEUE_0_REQUEST, an XID/UI_QUEUE_1_REQUEST, or a  
GLOBAL_XID/UI_REQUEST, depending on the servicing desired by the host for these  
frames.  
The host must also maintain a user_XID/UI_Tx_next_confirm_pointer and a user_XID/  
UI_Tx_last_queued_pointer for these queues. These pointers, which may be stored in the  
user area of the GCB, are required for removing transmitted frame descriptors and/or for  
adding frame descriptors for transmission.  
The host may add XID/UI (and nonstandard_control) frames to an existing XID/UI queue  
while frames are still awaiting transmission. When a frame is ready to be added to a queue,  
the host sets the last bit in the new frame descriptor and links the new frame descriptor to  
the last frame descriptor in the existing queue. The last frame descriptor is indicated by the  
user_XID/UI_Tx_last_queued_pointer associated with the XID/UI queue. The host then  
clears the last bit in the frame descriptor that was previously the last frame descriptor in the  
queue and updates the associated user_XID/UI_Tx_last_queued_pointer. Upon receiving  
an XID/UI confirmation interrupt for this queue, the host must verify that the last frame added  
to the queue was handled by the MLAPD. If not, then the addition operation was performed  
after the MLAPD had checked the last bit in the frame descriptor that the host intended to  
clear. In this case, the host must present the remaining frames by issuing an appropriate  
GLOBAL_XID/UI_REQUEST, XID/UI_QUEUE_0_REQUEST, or XID/  
UI_QUEUE_1_REQUEST command.  
5.3.4 MLAPD XlD/UI Queue Processing  
The MLAPD maintains a pointer to the head of each XID/Ul queue. These three pointers are:  
1) the Global XID/Ul_head pointer, 2) the XID/U1 Queue_0_head pointer, and 3) the XID/Ul  
Queue_1_head pointer. Each pointer is contained in the corresponding register. The  
MLAPD is given the address of the head of the queue in the command_argument_2 field  
when a XID/Ul_request command is issued.  
When the MLAPD is ready to service the Global XID/U1 Queue, the MLAPD uses the  
Global_XID/UI_Tx_next_FD register to locate the first frame descriptor in the queue. The  
MLAPD transmits XID, Ul, and nonstandard_control frames from the queue, until the queue  
is emptied. The IMLAPD then issues a Global_XID/Ul_confirmation interrupt. At this time,  
the host may request transmission of a new queue of XID/Ul (and nonstandard_control field)  
frames by again issuing a GLOBAL_XID/Ul_request command.  
When the MLAPD is ready to service XID/U1 Queue_0 or 1, the MLAPD uses the  
corresponding XID/UI_Tx_next_FD register to locate the first frame descriptor in the queue.  
The MILAPID transmits XID, Ul, and nonstandard_control frames from the queue until the  
queue is emptied or until the scan_length associated with this XID/Ul queue is exhausted. If  
the scan_length is exhausted before the queue is emptied, the MLAPD moves on to service  
the next XID/Ul queue or I frame queue in the transmit servicing scheme. When the XID/ Ul  
queue is eventually emptied, the MLAPD issues a confirmation interrupt. At this time, the  
host may request transmission of a new queue of XID/Ul (and nonstandard_control) frames  
by again issuing a XID/Ul_QUEUE_0_REQUEST or an XID/Ul_QUEUE_1_REQUEST.  
5-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Transmit Process  
5.3.5 Stopping XID/Ul Frame Transmission  
At any time, the host may instruct the MLAPD to immediately suspend all transmit activity  
for an XID/Ul queue by issuing a STOP_GLOBAL_XID/Ul, STOP_XID/Ul_QUEUE_0 or  
STOP_XID/Ul_QUEUE_1 command. Upon receiving one of these commands, the MLAPD  
aborts any current XID/Ul (or nonstandard_control) frame transmission for this queue and  
does not service additional XID/Ul frame descriptors in the specified queue. At this point, the  
host is free to manipulate the queue as desired since this queue is inactive. The host  
reactivates frame transmission for the queue via the appropriate command (GLOBAL_XID/  
Ul_REQUEST, XID/Ul_QUEUE_0_REQUEST, or XID/Ul_QUEUE_1_REQUEST). This  
stop mechanism may be used to provide faster servicing of certain XID/Ul (or  
nonstandard_control) frames for a particular logical link or may be necessary to implement  
various types of error recovery.  
To stop transmit activity for an XID/Ul queue without the possibility of abort transmission, the  
host can set the last bit in the first two frame descriptors in the XID/Ul queue which have not  
been transmitted. This action ensures that the MILAPID will transmit only these two frames  
at the most before stopping frame transmission for this queue.  
5.3.6 Collecting Transmitted XID/Ul Frames  
The process of collecting transmitted XID/Ul frames is the same for all three XID/Ul queues.  
To collect transmitted frames, the host reads the status_bits in each frame descriptor  
beginning with the frame descriptor indicated by the user_XID/UI_Tx_next_confirm_pointer  
associated with the queue. When either the positive_confirmation bit or the  
negative_confirmation bit is set, the associated data buffer has been handled by the  
MLAPD. If the last bit is set, then this frame descriptor is the last frame descriptor in this XID/  
Ul queue.  
The positive_confirmation bit indicates that the associated data buffer has been transmitted,  
while the negative_confirmation bit indicates that the associated data buffer cannot be  
transmitted. A negative indication is generated whenever frame transmission is requested  
for a logical link in conflict with the services available in the current link state as defined by  
the LAPID protocol state tables. (DL_Ul, XID, and nonstandard_control frame transmission  
service is not permitted when a logical link is in the TEI_UNASSIGN state or  
EST_WAIT_TEI state. Requests to transmit such frames for this logical link are not honored  
by the MLAPD and the negative_confirmation bit is set.) When frame transmission is denied,  
the host may later resubmit the frame for transmission by adding the frame descriptor to an  
XID/UI queue.  
Transmitted frames may be collected by the host dynamically (while other frames await  
transmission) or after being notified by the MLAPD that all frames in the queue have been  
sent via an XID/Ul_confirmation interrupt. After each frame is collected from an XID/Ul  
queue, the host should update the associated user_XID/UI_Tx_next_confirm_pointer.  
5-11  
MC68606 USER’S MANUAL  
MOTOROLA  
Transmit Process  
If the host has dynamically added frames to an XID/Ul transmit queue, the host must  
determine if the additional frames were handled by the MLAPD. The host can easily check  
for this situation by inspecting the frame descriptor which was the last frame descriptor in  
the queue before the additional frames were added. If the empty bit is set and the last bit in  
this frame descriptor is cleared, then the addition was not successful. The host must issue  
an appropriate XID/Ul_request command with the address of the next frame descriptor, the  
unsuccessful frame descriptor added previously, in the command_argument_2 to enable  
transmission.  
5.4 ERRORS DURING FRAME TRANSMISSION  
Two possible errors may occur during frame transmission:  
Transmit FIFO (TxFIFO) underrun  
Clear_to_send (CTS) lost  
If the TxFIFO is emptied during frame transmission, the next first-in first-out (FIFO)read by  
the transmitter causes the transmit channel to enter the underrun state. In this state, the  
current frame transmission is aborted, and the MLAPD later retransmits the same frame. If  
another underrun occurs while this frame is being retransmitted, the MLAPD will try again  
until successful. No limit is placed on the number of retries since underrun implies that the  
problem concerns the system bus bandwidth allocated to the MLAPD. Also, an underrun  
counter is incremented, and when it reaches the underrun threshold defined in the GCB, a  
Tx_underrun_threshold_reached interrupt is issued by the MLAPD.  
If the CTS pin is negated during frame transmission for more than one transmit clock cycle,  
the transmitted frame will be corrupted. For each bit time that CTS is negated, the transmit  
data pin is three-stated. So, the transmitted frame will most probably be received by the  
remote station with cyclical redundancy check (CRC) error. Although a CTS_lost interrupt is  
also issued, the frame transmission continues.  
Another error concerning CTS operation occurs when CTS is not asserted within a  
reasonable time period after the MLAPD has asserted request_to_send (RTS). This time  
period is defined by the CTS_timeout_threshold entry in the GCB. When this time period  
expires, the MLAPD issues a CTS_timeout_threshold_reached interrupt. Additional  
interrupts continue to be issued whenever the time period expires, until CTS is asserted.  
5-12  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 6  
RECEIVE PROCESS  
The host maintains receive pools that contain free receive frame descriptors with associated  
data buffers. The host can create up to 8192 receive pools and can assign any number of  
logical links to the same receive pool. The data buffers in a pool must have a length at least  
equal to the largest N201_value specified for all the logical links assigned to the pool.  
Before the MLAPD can receive frames for a particular logical link, the host must prepare a  
receive pool and assign the link to the pool via the receive_pool_number entry in the link's  
Logical-Link Table (LLT). Then, as a frame is received for the logical link, the MLAPD  
fetches the first available receive frame descriptor from the link's receive pool to store the  
incoming data. When the frame is successfully received, the MLAPD indicates the frame  
type and stores the associated Logical-Link Identification (LLID) number. Although the  
linkage to the receive pool is not broken, the frame can now be considered part of a receive  
queue. All logical links that share the same receive pool will also share a common receive  
queue, Higher level software is responsible for removing valid frames from the receive  
queue and eventually returning the frame descriptors to the receive pool.  
6.1 RECEIVE DATA STRUCTURES  
The overall receive data structure is shown in Figure 6-1. The receive data structure is  
logically divided into two portions: a receive queue and a receive pool. When a receive pool  
is initially created, the receive queue is null. The receive_pool_pointer and  
user_Rx_next_pointer address the first frame descriptor in the pool. When this frame  
descriptor is used for frame reception, the receive_pool_pointer is advanced to point to the  
next frame descriptor in the pool. At this point, a receive queue is created containing the  
filled (used) frame descriptor. This frame descriptor is available for collection by the host  
using the user_Rx_next_pointer.  
6.1.1 Receive Pool Format  
A receive pool is organized as a linked list of receive frame descriptors with associated data  
buffers. A data buffer must begin on an even-byte boundary and must contain an even  
number of bytes, even when N201 is odd. (In the case of a frame containing an odd number  
of bytes in the data field, the MLAPD performs a word write for a 16-bit data bus to place the  
last data byte into the data buffer. For an 8-bit data bus, the MLAPD performs two byte writes  
to place the last data byte into the data buffer. The data written to the even byte of this last  
memory location will be invalid, and the data_length word will not include this even byte as  
data.) The format of the receive frame descriptor is described in 2.7 Receive Frame  
Descriptor.  
MOTOROLA  
MC68606 USER’S MANUAL  
6-1  
Receive Process  
.
(MLAPD) RECEIVE POOL POINTER (n)  
USER Rx NEXT POINTER  
USER Rx POOL TAIL POINTER  
RECEIVE  
FRAME  
DESCRIPTOR  
RECEIVE  
FRAME  
DESCRIPTOR  
RECEIVE  
FRAME  
DESCRIPTOR  
RECEIVE  
FRAME  
DESCRIPTOR  
Rx POOL DUMMY  
FRAME  
DESCRIPTOR  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
DATA  
BUFFER  
RECEIVE QUEUE  
RECEIVE POOL  
Figure 6-1. Receive Data Structure  
Each receive pool is assigned an identification number by the host. This identification  
number is referred to as the receive_pool_number in this specification. The  
receive_pool_number ranges from 0 to 8191.  
After creating a receive pool, the host specifies the receive_pool_pointer, which is the  
address of the first frame descriptor in the receive pool, and issues an  
ASSIGN_POOL_POINTER command to cause the MLAPD to load the  
receive_pool_pointer into the Receive Pool Pointers Table. The MLAPD stores the first  
sixteen receive_pool_pointers (0 to 15) on-chip and stores any additional  
receive_pool_pointers (16 to 8191) in the Receive Pool Pointers Table in shared memory.  
The address of the memory table is specified by the host in the Global Configuration Block  
(GCB).  
A receive pool must always contain at least one frame descriptor. The last frame descriptor  
in the pool is the pool_dummy frame descriptor, and the last_in_pool bit in this frame  
descriptor's control_bits entry is set. When the receive_pool_pointer points to this  
pool_dummy frame descriptor, the receive pool is defined to be empty.  
The host can add frame descriptors to the receive pool dynamically by using the  
user_Rx_pool_tail_pointer for the receive pool. The user_Rx_pool_taii_pointer always  
points to the pool_dummy frame descriptor. The MLAPD does not access this pointer.  
To aid in the management of the receive pool, the host may choose to use the red_line  
feature. This feature allows the host to avoid a busy condition on a logical link by dynamically  
6-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Receive Process  
adding frame descriptors when the MLAPD issues a red_line interrupt. To implement this  
pool management tool, the host sets the red_line bit in a receive frame descriptor far enough  
away from the pool's end to retain sufficient receive frame descriptors for acceptance of all  
incoming information (1) frames in transmission.  
6.1.2 Receive Queue Format  
The receive data structure shown in Figure 6-1 serves as both a receive pool and a receive  
queue. When a frame descriptor in a receive pool is used for frame reception, the MLAPD  
updates the pool's receive_pool_pointer entry in the Receive Pool Pointers Table. At this  
point, the used frame descriptor is logically removed from the receive pool and placed in the  
receive queue, even though no unlinking/linking operation is performed. The head of the  
receive queue is identified by the user_Rx_next_pointer.  
6.1.3 User Receive Pointers  
The host must maintain two pointers to manipulate each receive data structure: the  
user_Rx_next_pointer and the user_Rx_pool_tail_pointer. The host may locate these user  
pointers in contiguous memory or throughout memory as the MLAPD does not access them.  
A suggested format for storing the user receive pointers is shown in Figure 6-2.  
The 32-bit user_Rx_next_pointer points to the next frame descriptor to be collected by the  
the host from the receive queue. When the frame_type field in this frame descriptor is '000',  
the receive queue is empty. The 32-bit user_Rx_pool_tail_pointer points to the last frame  
descriptor in the receive pool. This frame descriptor is the pool_dummy frame descriptor.  
The host dynamically adds frame descriptors to the receive pool starting at the  
user_Rx_pool_tail_pointer.  
15  
0
0
2
4
6
USER Rx NEXT POINTER  
FOR RECEIVE POOL 0  
USER Rx POOL TAIL POINTER  
FOR RECEIVE POOL 0  
8 x N  
(8 x N)2  
USER Rx NEXT POINTER  
FOR RECEIVE POOL N  
USER RX POOL TAIL POINTER  
FOR RECEIVE POOL N  
(8 x N) + 4  
(8 x N) ÷6  
Figure 6-2. User Receive Pointers Table  
MOTOROLA  
MC68606 USER’S MANUAL  
6-3  
Receive Process  
6.2 MLAPD RECEIVE PROCESSING  
When the Data_Link_Connection Identifier (DLCI) of an incoming frame identifies an active  
LLID, the MLAPD performs a look-up process to determine the address of the logical link's  
LLT. This process is described in detail in 1.5.4 Frame Reception Overview. Once the  
MLAPD has located the appropriate LLT, the MLAPD accesses this table to obtain the  
receive pool_number. Using this number, the MLAPD fetches the receive_pool_pointer from  
the Receive Pool Pointers Table which identifies the first free frame descriptor in this link's  
receive pool. The data in the incoming frame is transferred to the frame descriptor's  
associated data buffer.  
After the frame is received successfully, the MLAPD performs the following operations:  
• The receive_pool_pointer is updated to point to the next free frame descriptor in the  
pool.  
• The data_length entry is written to indicate the length (in bytes) of the information field  
of the incoming frame.  
• The LLID of the addressed logical link is written into the LLID entry of the frame descrip-  
tor.  
• The frame_type entry is set to indicate whether the data is an I frame, an unnumbered  
information (UI) frame, an exchange identification (XID) command frame, an XID re-  
sponse frame, a frame reject (FRMR) response frame, a nonstandard_control com-  
mand frame, or nonstandard_control response frame.  
• The error_code entry is written if the MLAPD detected a receive frame error that was  
allowed by the protocol_receive_error_mask.  
• If the data_indication bit is set to one in this frame descriptor, which describes the newly  
filled buffer, a data_indication interrupt is generated to inform the host that this receive  
queue now contains a frame available for collection.  
6.3 COLLECTING RECEIVED FRAMES  
The host uses the user_Rx_next_pointer to collect received frames by traversing the linked  
list of frame descriptors until a frame descriptor is reached with the frame_type bits set to  
000. This encoding indicates that this frame descriptor still belongs to the receive pool and  
has not been used for frame reception. After collecting receive frames, the host must update  
the user_Rx_next_pointer.  
The host may set the data_indication bit in the first frame descriptor in the receive pool to  
request an interrupt when a receive frame is stored in this frame descriptor's data buffer. The  
host must set the data_indication bit before checking the frame_type field to guarantee that  
an interrupt is issued when a frame is added to an empty receive queue.  
Rather than using the data_indication bit, the host may choose to use the red_line bit to  
provide an indication that a frame has been placed in an empty receive queue. This may  
save processing time for a system in which the software needs to be notified that a frame  
has been received to an empty queue, but frames received subsequent to that do not need  
notification (until the queue has been re-emptied by the user). In this case, a data_indication  
6-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Receive Process  
interrupt does not need to be enabled when each receive frame descriptor is filled. Once the  
host is informed that the queue is not empty, the software empties the receive queue of all  
frames that have been received.  
The receive queue begins at the frame descriptor identified by the user_next_Rx_pointer.  
When creating a receive pool, the host must set the red_line bit in the second frame  
descriptor in the receive queue. When adding a frame to an empty pool, the red_line bit is  
set in the dummy frame descriptor. The red_line bit need not be set in an empty receive pool.  
When collecting received frames, the user must perform two operations for each frame  
checked. First, the red_line bit in the frame descriptor following the head_of_receive queue  
is set, then the frame_type in the head_of_receive queue is checked. Two scenarios are  
possible:  
1. If the current frame is filled before the red_line bit of the following frame descriptor has  
been set, the software will recognize the frame_type of the current frame as one of a  
received frame and collect it. A red_line interrupt will not be generated.  
2. If the MLAPD receives the next frame after the red_line bit is set, a red_line interrupt  
will be issued for that queue. This is interpreted by the software as meaning that the  
receive queue is no longer empty.  
The data_indication bit is not needed when the red_line bit is used to inform the host when  
the receive queue is not empty. The data_indication bit cannot be used to provide the  
"receive_to_empty queue" feature. This inability exists because of differences in the  
implementation of this bit and the red_line bit by the MLAPD. Using the data_indication bit  
as described above could lead to a situation where the user requests an interrupt for a  
receive queue believed to be empty and the MLAPD has received a frame to that queue for  
which no data_indication interrupt has been requested.  
MOTOROLA  
MC68606 USER’S MANUAL  
6-5  
Receive Process  
6-6  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 7  
EXCEPTION PROCESSING  
When the MLAPD determines that a nonmasked interrupt condition has occurred, an  
interrupt indication is written into the Interrupt Queue in shared memory. An external  
interrupt request signal is also asserted when enabled by the host. The host is responsible  
for collecting interrupt events expeditiously to avoid an interrupt queue overflow.  
7.1 INTERRUPT MECHANISM  
According to LAPD procedures, the MLAPD must provide event indication and  
confirmation.Additionally, the MLAPD must have the ability to report events concerning its  
system environment, such as the MLAPD-to-host interface and the MLAPD-to-memory  
interface.To support these requirements, the MLAPD implements an interrupt mechanism  
consisting of an Interrupt Queue, interrupt/polling mode selection, interrupt vector number,  
interrupt_queue_mask, and interrupt_queue_write_pointer.  
7.1.1 Interrupt Queue Handling  
The interrupt queue is described in 2.8 Interrupt Queue. The interrupt_queue_write_pointer  
is used by the MLAPD to manage the Interrupt Queue. This pointer is stored on-chip and is  
not accessed by the host. As an entry is filled, the pointer is advanced. Since the Interrupt  
Queue is cyclical, the pointer is reinitialized to point to the top of the queue after the last entry  
in the queue is filled.  
Upon detection of an interrupting event, the MLAPD checks the interrupt source against the  
interrupt_mask entry in the Global Configuration Block (GCB). If this condition is not  
masked, the MLAPD enters the interrupt indication into the Interrupt Queue. If the  
interrupt_queue_write_pointer register points to an entry with the valid-entry bit set,  
indicating that it has not yet been removed by the host, the Interrupt Queue has overflowed.  
(See 7.1.4 Interrupt Queue Overflow. In this case, the previous entry is overwritten with an  
interrupt_queue_overflow interrupt indication. If the entry is free, the MLAPD writes the LLID  
(if applicable) and the cause word with the valid_entry bit set to one. Then, in the interrupt-  
driven mode, the MLAPD asserts IRQ (INTR), if it is not already asserted due to a prior  
interrupting event.  
7.1.2 Selecting Polled or Interrupt-Driven Operation  
The MLAPD interrupt scheme supports systems which use a polling method and systems  
which use an interrupt-driven method for interrupt handling. The MLAPD exits reset in the  
interrupt-driven mode. The host then specifies interrupt-driven or polling operation for  
interrupt handling as part of the initialization sequence. (See 2.1.1.1 Option Bits 1). When  
MOTOROLA  
MC68606 USER’S MANUAL  
7-1  
Exception Processing  
the interrupt-driven mode is selected and vectored interrupts are to be implemented, the  
host must also initialize the interrupt_vector register (IVR).  
In a polled system, interrupt indications are written into the Interrupt Queue in shared  
memory, and the host services this queue periodically. The MLAPD does not request  
interrupt service via an external bus signal.  
In an interrupt-driven system, the MLAPD writes the interrupt indication into the Interrupt  
Queue and also issues an interrupt request by asserting IRQ (INTR). If an interrupt  
acknowledge cycle is initiated by the host, the MLAPD responds with an interrupt vector  
number which specifies the interrupt type. The most significant bits, 7-1, of the interrupt  
vector number are programmed by the host, while the least significant bit is encoded by the  
MLAPD to indicate a normal or severe interrupt. The interrupt handshake signals are IRQ  
and IACK (INTR and INTA). The interrupt acknowledge cycle is described in detail for  
Motorola systems in 11.1.2 Interrupt Acknowledge Cycle and for Intel compatible systems  
in 11.2.2 Interrupt Acknowledge Cycle.  
7.1.3 Collecting Interrupt Events  
A user_interrupt_queue_read pointer must be maintained by the host to store the next  
Interrupt Queue entry to be read. This pointer is initialized with the address of the beginning  
of the Interrupt Queue.  
To collect interrupt information from the Interrupt Queue, the host first determines that an  
entry is valid by inspecting the valid_entry bit in the second word of the interrupt entry.After  
each valid entry is read, the host zeroes the valid_entry bit allowing the MLAPD to reuse the  
entry to report new interrupting conditions. The host then updates the  
user_interrupt_queue_read_pointer. Once the host reads a valid_entry bit that is set to zero,  
then all pending interrupts have been serviced.  
In the interrupt-driven mode, the host must issue an ENABLE_IRQ command to cause  
IRQ(INTR) to be negated. The possibility exists that some additional interrupt indications  
may have been written into the Interrupt Queue by the MLAPD after the host determined that  
the queue was empty but before it issued the ENABLE_IRQ. command. To avoid missing  
these interrupting events, the MLAPD inspects the valid_entry bit in the last entry which it  
wrote into the queue on reception of the ENABLE_IRQ command. If this entry has not been  
handled, the MLAPD reissues an interrupt request by asserting IRQ (or INTR).  
7.1.4 Interrupt Queue Overflow  
Information passed to the host through the interrupt mechanism is not stored explicitly in any  
other location. The host is responsible for retrieving this information at a rate compatible with  
the memory resources allocated to the Interrupt Queue. If interrupt information is not  
removed quickly enough, new interrupt information may be lost.  
7-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Exception Processing  
If the Interrupt Queue overflows, the MLAPD notifies the host, by overwriting the last entry  
in the queue with an interrupt_queue_overflow interrupt indication. In the unusual case that  
the Interrupt Queue overflows and that the interrupt event causing the overflow was a bus/  
address error, the MLAPD notifies the host by overwriting the last entry in the queue with a  
bus_error interrupt indication (not an interrupt_queue_overflow interrupt indication).  
7.2 BUS ERROR OPERATION  
The MLAPD enters the bus error condition when the BERR pin is asserted. The MLAPD  
asserts the IRQ (INTR) signal, regardless of the programmed value of the polling_select bit  
in the option_bits_1 GCB entry. (An external interrupt indication is always provided fora bus  
error condition because the bus error may have occurred during an access to the Interrupt  
Queue. So, no guarantee can be given to ensure that a bus error interrupt entry can always  
be reported via the Interrupt Queue.) The MLAPD also places a nonmaskable bus/  
address_error interrupt on the Interrupt Queue. If an interrupt acknowledge cycle is then  
initiated by the host, the MLAPD reports a severe interrupt request by passing an interrupt  
vector number with the least significant bit set to one.  
Internally, the MLAPD enters the bus/address error state in which it ignores all commands  
except an OFF-LINE or RESET command. When the host issues any command other than  
OFF-LINE or RESET, the MLAPD immediately sets the semaphore register (SR) to hex ’FF’  
without executing this command.  
After issuing an OFF-LINE command, the host can determine the address which caused the  
access error, together with other relevant arguments by issuing a DUMP  
command.Recommendation is made that the user then inspect the MLAPD shared memory  
structures to gather additional information before issuing INIT.  
7.3 ADDRESS ERROR OPERATION  
An address error occurs when either CS or IACK (INTA) is asserted during an MLAPD bus  
master cycle. The MLAPD exception processing for an address error is the same as  
described for a bus error. See 7.2 Bus Error Operation.  
MOTOROLA  
MC68606 USER’S MANUAL  
7-3  
 
Exception Processing  
7-4  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 8  
MLAPD IMPLEMENTATION OF LAPD  
This section describes the interaction between the host and the MLAPD in implementing a  
LAPD node. Following the MLAPD initialization process, details are provided on logical link  
initialization, setup, and release. The remainder of this section details the MLAPD imple-  
mentation of the LAPD procedures for frame transmission and reception. The reader should  
refer to the CCITT Q.920/Q.921 recommendation for a complete description of the LAPD  
procedures. Table 8-1 identifies the LAPD link states referenced in the following para-  
graphs.  
Table 8-1. List of Link States  
Numeric.  
State Value  
State Name  
TEI Assignment  
TEI Unassigned State  
Assign Waiting TEI State  
Establish Waiting TEI (to be assigned) State  
1
2
3
TEI_UNASSIGN  
ASSIGN_WAIT_TEI  
EST_WAIT_TEI  
Numeric  
State Value  
State Name  
Multiframe Definition  
4
5
6
TEI_ASSIGNED  
AWAIT_EST  
AWAIT_REL  
TEI Assigned State  
Awaiting Establishment State  
Awaiting Release State  
7.0  
7.1  
7.2  
8.0  
8.1  
8.2  
MF_EST_NORM  
MF_EST_REJ  
MF_EST_BUSY  
TM_REC_NORM  
TM_REC_REJ  
TM_REC_BUSY  
Multiple Frame Established (Normal State)  
Multiple Frame Established (Reject State)  
Multiple Frame Established (Busy State)  
Timer Recovery (Normal State)  
Timer Recovery (Reject State)  
Timer Recovery (Busy State)  
The MF_EST_NORM, MF_EST_BUSY, MF_EST_REJ, TM_REC_NORM,  
TM_REC_BUSY, and TM_REC_REJ states are referred to as the connected states.  
8.1 MLAPD INITIALIZATION PROCEDURE  
During initialization, system configuration information, the MLAPD interrupt vector number,  
and the Global Configuration Block (GCB) address are loaded by the MLAPD under the  
direction of the host, as shown in the sample program below. Internal registers directly  
accessed during the initialization procedure are the command register (CR), semaphore  
register (SR), interrupt_vector register (IVR), and data register.  
1.  
RESET  
Repeat  
:
:
:
:
:
:
:
2a.  
2b.  
3.  
4a.  
4b.  
4c.  
Read SR until it is the hex value 'FF'  
SET_BUS_WIDTH_16,(8)  
Interrupt vector number  
Read SR until it is the hex value 'FF'  
GCB address  
Write CR  
Write IVR  
Repeat  
Write DR  
Write CR  
INIT  
MOTOROLA  
MC68606 USER’S MANUAL  
8-1  
MLAPD Implementation of LAPD  
After initialization, the MLAPD is in the on-line state. No logical link is active when the initial-  
ization process is completed. The host can write any command to the MLAPD. However, it is  
always necessary for the host to check the SR for the hex value 'FF' to ensure that the  
MLAPID is ready to accept the command.  
8.2 INITIALIZATION OF LOGICAL LINKS  
After powerup, the MLAPD has no association with logical addresses for any link. To support  
an ISIDN environment for signaling and packet-mode bearer services, a broadcast channel  
must first be established. This broadcast channel supports the negotiation procedure by  
which a logical address may be assigned for the signaling channel. Once the signaling chan-  
nel has a Data-Link-Connection Identifier (DLCI) assigned, and an establishment procedure  
has established a logical connection, the user-to-network signaling negotiation will deter-  
mine the DLCIs to be used for the assignment of the bearer logical-link connections. Figure  
8-1 shows a simple overview to the steps of address assignment.  
8.2.1 Broadcast Link Initialization  
To establish a broadcast channel, the host prepares a Logical-Link Table (LLT) and chooses  
a Logical-Link Identification (LLID) number that will be associated with this link. (Level 3  
defines a 13-bit LLID corresponding to each active DLCI Translation to an LLID, which is  
only of local significance to the link-level process, serves to reduce the external memory  
requirements.) The host records the address of the LLT in the appropriate entry of the LLID-  
LLT Table. This entry is determined by using the LLID as a displacement from the beginning  
LLID-LLT Table address. The values assigned to parameters in the LLT (N201, K, etc.) are  
those defined as the default parameters for a signaling logical link. The DLCI entry in the LLT  
is programmed as 8191, the address assigned to the broadcast link by the LAPID protocol.  
The host then prepares a receive pool and issues an ASSIGN_POOL_POINTER command.  
HOST ACTIONS  
INACTIVE  
OR  
UNEQUIPPED  
STATE  
ISSUE ACTIVATE_LL COMMAND  
TEI_UNASSIGN  
STATE  
ISSUE MDL_ASSIGN_REQUEST COMMAND  
TEI_ASSIGN  
STATE  
ISSUE DL_ESTABLISH_REQUEST COMMAND  
"CONNECTED"  
STATE  
Figure 8-1. MLAPD Protocol States  
8-2  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
Next, the host issues the ACTIVATE_LIL command. In response, the MLAPD fetches the  
LLT address from the LLID-LLT Table and reads the DLCI entry in the link's LLT. If the  
MLAPD is operating in the on-chip system operation mode, the MLAPD stores the DLCI and  
associated LLID into a free content addressable memory (CAM) location. Alternatively, if the  
MLAPD is operating in the expanded-system operation mode, the MLAPD stores the LLID in  
the external Match Table. This Match Table entry is identified by using the DLCI as an offset  
into the table (refer to 2.2 Match Table). Finally, the MLAPD places the link in the  
TEI_UNASSIGN state (link state 1). The broadcast link is now in a protocol-defined state  
which allows the exchange of connection management information using the unnumbered  
information (UI) frame as part of a terminal endpoint identifier (TEI) assignment procedure.  
8.2.1.1 BROADCAST LINK INITIALIZATION PROCEDURE . The following steps are for  
broad- cast address assignment:  
5a. Repeat: Read SR until it is the hex value 'FF'  
5b. Write arguments (receive pool number and receive pool pointer) into the cornmand-  
arguments area in the GCB.  
5c. Write CR : ASSIGN_POOL_POINTER  
6a. Repeat : Read SR until it is the hex value 'FF'  
6b. Write argument (LLID) into the command-arguments area in the GCB.  
6c. Write CR : ACTIVATE_LL  
8.2.2 Signaling Link Initialization  
Once a broadcast channel is active, the negotiation procedure begins for the assignment of  
a logical address for the signaling channel. As part of the negotiation procedure, the con-  
nection management entity sends an identity request message to its peer network manage-  
ment entity. This message is placed into a data buffer and linked to a transmit frame  
descriptor. The host encodes the frame_type field of the frame descriptor to indicate a  
MDL_UI frame. Next, the host issues a GLOBAL_XID/UI_REQUEST command to enable  
transmission of this frame. As the MLAPD processes this transmit queue, the frame is sent  
as a UI frame.  
After receiving this identity request message, the peer network management entity  
responds with an identity-assigned message, containing the DLCI to be assigned to the sig-  
naling link. This message is also transmitted as a UI frame over the broadcast channel.  
When the originating MLAPD receives the UI frame, the frame is stored in a receive data  
buffer identified by the link's assigned Receive Pool Pointer. The frame_type field of the  
receive frame descriptor is encoded as a UI frame, and the MLAPD issues a data-indication  
interrupt.  
MOTOROLA  
MC68606 USER’S MANUAL  
8-3  
MLAPD Implementation of LAPD  
The management entity then extracts the DLCI value contained in this identity-assigned  
message, creates a LLT for the signaling link, associates an LLID with this DLCI, and stores  
the address of the LLT in the LLID-LLT Table. Another receive pool may optionally be cre-  
ated to service this link. Finally, the host issues an MDL_ASSIGN_REQUEST command. In  
response, the MLAPD stores the LLID in the Match Table or stores the DLCI-LLID pair in the  
on-chip CAM, depending on the system operation mode. This link's state is sot to  
TEI_ASSIGNED (state 4).  
The host may now follow the link setup procedure to establish the signaling connection. See  
8.4 Link Setup Procedure. Once the signaling link enters the connect mode, negotiations  
can occur to assign DLCIs for various bearer logical-link connections. When a DLCI is  
assigned for a logical link, the host performs an assignment procedure to activate the link.  
8.3 ASSIGNMENT PROCEDURE  
Before any frame can be transmitted via a logical link, an assignment process must take  
place which associates a specific DLCI with the logical link. When the assigned address is  
known, the host prepares a Logical-Link Table (LLT) for the link and records the LLT pointer  
in the appropriate entry of the LLID-LLT Table. Then, the host prepares a receive pool and  
issues an ASSIGN_POOL_POINTER command to the MLAPD. Finally, the host issues an  
MDI_ASSIGN_REQUEST command for the logical link.  
When in the expanded-system operation mode, the MLAPD then responds by writing the  
LLID into the corresponding entry of the Match Table. When in the on-chip system operation  
mode, the MLAPD responds to the MDL_ASSIGN_REQUEST by loading the DLCI and its  
associated LLID into the on-chip CAM. If no entry is available in the on-chip CAM, the  
MLAPD issues a CAM_over_flow interrupt. Figure 1-9 illustrates the above operation.  
Finally, if the link was in the TEI_UNASSIGN state (link state 1), the MLAPD changes the  
logical link's internal state from the TEI_UNASSIGN state to the TEI_ASSIGNED state (link  
state 4).  
A DL_ESTABLISH_REQUEST may be issued for a new link before that link was assigned  
by an MDL_ASSIGN_REQUEST command, according to the LAPD protocol. For more  
details see 8.9 Frame Types Allowed in Each Link State.  
8.4 LINK SETUP PROCEDURE  
A link setup, or establishment, procedure is performed for a previously assigned link to enter  
connect mode for multiple frame operation. A successful link setup consists of the exchange  
of set asynchronous balanced mode extended (SABME) and unnumbered acknowledge-  
ment (UA) frames, while an unsuccessful link setup consists of the exchange of SABME and  
disconnected mode (DM) frames. A link setup is initiated in one of two ways:  
8-4  
MC68606 USER’S MANUAL  
MOTOROLA  
 
MLAPD Implementation of LAPD  
The MLAPD receives a SABME command frame from the remote station; or  
The MLAPD executes a DL_ESTABLISH_REQUEST command from the host.  
When the MLAPD receives a SABME command frame from the remote station and the log-  
ical link can enter the information transfer phase, the MLAPD transmits a LIA response  
frame. The MLAPD zeroes the retransmission_count, the remote_busy flag, and the link  
variables: send_state_variable, V(S), receive_state_variable, V(R), and  
acknowledge_state_variable, V(A). Then, the MLAPD restarts data link activity timer T203.  
The MLAPD updates its internal highest_active_LLID register, if necessary. The MLAPD  
moves the logical link to the MF_EST_NORM state and issues a DL_establish_indication  
interrupt for the link using the interrupt mechanism described in 7.1 Interrupt Mechanism. If  
a SABME command is received while the logical link is in the AWAIT_REL state (link state  
6), then the logical link cannot enter the MF_EST_NORM state, and the MLAPD transmits a  
DM response frame.  
When the MLAPD executes a DL_ESTABLISH_REQUEST command from the host, a  
SABME command frame is sent to the remote station by the MLAPD. The acknowledgement  
timer, T200, is started to determine when retransmission of the SABME frame should be ini-  
tiated if no response is received. The MLAPD updates its internal highest_active_LLID reg-  
ister, if necessary, and the MLAPD zeroes the retransmission_count. Then, the logical link  
changes its internal protocol state to the AWAIT_EST state (link state 5).  
When a UA response frame is received while in this AWAIT_EST state, the logical link  
enters the MF_EST_NORM state, and the MLAPD issues a DL_establish_confirmation  
interrupt for this link using the interrupt mechanism. The MLAPD zeroes the remote_busy  
flag and the link variables: V(S), V(R), and V(A). Alternatively, if a DM response frame is  
received, the MLAPD stops T200 and issues a DL_release_indication interrupt. All frames  
other than UA, DM, SABME, and disconnect (DISC) are ignored while in the AWAIT_EST  
state. The reception of a DISC or SABME frame is a collision of unnumbered command  
frames as discussed in 8.6 Collision of Unnumbered Command Frames.  
If T200 expires before a response frame is received, the MLAPD retransmits the SABME  
frame, restarts T200, and increments the retransmission_count in the link's timer entry.  
When the number of retransmission attempts reaches the N200-value, the MLAPD stops  
T200 and issues a DL_release_indication and an MDL_error_indication interrupt for this  
link.  
The commands MDL_ASSIGN_REQUEST and DL_ESTABLISH_REQUEST may be  
issued in any state to place a new link into the MF_EST_NORM state.  
8.5 LINK RELEASE PROCEDURE  
A link release procedure is performed for a previously connected,logical link to terminate  
multiple frame operation. A link release procedure consists of the exchange of DISC and UA  
frames or DISC and DM frames. A link release procedure is initiated in one of two ways:  
MOTOROLA  
MC68606 USER’S MANUAL  
8-5  
MLAPD Implementation of LAPD  
The MLAPD receives a DISC command frame from the remote station; or  
The MLAPD executes a DL_RELEASE_REQUEST command from the host.  
When the MLAPD receives a DISC command frame from the remote station, the MLAPD  
aborts any reception or transmission of information (1) frames for this link and transmits a  
UA response frame. The MLAPD stops any running timer, issues a DL_release_indication  
interrupt, and changes the link state to TEI_ASSIGNED (link state 4). If the DISC command  
frame is received while the logical link is in the AWAIT_EST state (link state 5), the MLAPD  
transmits a DM response frame without any change in the link state.  
When the MLAPD executes a DL_RELEASE_REQUEST command from the host, a DISC  
command frame is sent to the remote station by the MLAPD. The acknowledgement timer,  
T200, is started to determine when retransmission of the frame should be initiated if no  
response is received. The MLAPD updates its internal highest_active_LLID register, if nec-  
essary, and the MLAPD zeroes the retransmission_count. Then, the logical link changes its  
internal protocol state to the AWAIT_REL state (link state 6).  
When a UA response frame or a DM response frame is received while in this AWAIT_REL  
state, the logical link enters the TEI_ASSIGNED state. The MLAPD stops T200 and issues  
a DL_release_confirmation interrupt. Frames other than UA, DM, SABME, and DISC are  
ignored while in the AWAIT_REL state. The reception of a DISC or SABME frame is a col-  
lision of unnumbered commands as discussed in 8.6 Collision of Unnumbered Command  
Frames.  
If T200 expires before a response frame is received, the MLAPD retransmits a DISC frame,  
restarts T200, and increments the retransmission_count in the link's timer entry. When the  
number of retransmission attempts reaches the N200-value, the MLAPD stops T200 and  
issues a DL_release_indication and an MDL_error_indication interrupt for this link.  
Once in the TEI_ASSIGNED state, the link can receive and transmit user frames as  
described in 8.9 Frame Types Allowed in Each Link State. To further limit link activities,  
the host issues an MDL_REMOVE_REQUEST command to transfer the link to the  
TEI_UNASSIGN state. To stop all link activities regardless of the link's current LAPD proto-  
col state, the host issues a DEACTIVATE_LL command. Following this command, the SR  
value must return to hex 'FF', and the active bit in the transmit_status LLT entry must be set  
to zero by the MLAPD before the memory space allocated for the link's LLT is free for host  
manipulation.  
A link can also exit the connect mode:  
By an MDL_REMOVE_REQUEST command, which changes the link-state to  
TEI_UNASSIGN.  
By a DEACTIVATE_LL command, which changes the link-state to uninitialized (0000).  
In normal operation, recommendation is made not to allow a link to exit the connect state via  
the MDL_REMOVE_REQUEST or DEACTIVATE_LL command as the remote link has no  
way to know that its peer link is no longer in the connect mode. For more details see Section  
4 Command Set.  
8-6  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
8.6 COLLISION OF UNNUMBERED COMMAND FRAMES  
If the sent and received unnumbered command frames are the same (SABME/SABME or  
DISC/DISC), the MLAPD and the remote station send a UA response at the earliest oppor-  
tunity. The logical linkthen enters the requested operational mode afterthe MLAPD receives  
the UA response from the remote station.  
If the sent and received unnumbered command frames are different (SABME/DISC or DISC/  
SABME), the MLAPD and the remote station transmit a DM response at the earliest oppor-  
tunity. If the MLAPD receives a DM frame with the final (F) bit setto one aftertransmitting a  
DISC frame, the MLAPD issues a DL_release_confirmation interrupt and moves the link  
from the AWAIT_REL state (link state 6) to the TEI_ASSIGNED state (link state 4). If a DM  
frame with the F bit set to one is received after transmitting a SABME frame, the MLAPD  
issues a Di release-indication interrupt and places the logical link in the TEI_ASSIGNED  
state.  
8.7 TRANSMIT PROCEDURE  
Frame preparation and transmission procedures are outlined in this segment. Procedures  
are defined for I frames and XID/UI (nonstandard_control) frames.  
8.7.1 Information Frame Preparation  
When the host has data ready for transmission on a logical link, the host prepares one or  
more frame descriptors which contain information required by the MLAPD to transmit the  
associated frame(s). The host links the frame descriptors to the desired logical link's Trans-  
mit Queue. If the logical link's Transmit Queue is empty when the new frame descriptors) are  
linked to the queue, the host must issue a DL_DATA_REQUEST for this logical link and  
specify the head of the Transmit Queue. When this DL_DATA_REQUEST is issued, the  
MLAPID links the corresponding Transmit Queue to its assigned I frame queue. If frames  
are waiting for transmission for the logical link when the new frame descriptors) are added,  
the linking of the frame descriptors is sufficient forthe associated frame(s) to be transmitted.  
If all the frames for this logical link have been transmitted but some frames are still awaiting  
acknowledgement, the host must issue a RELINK_REQUEST command for this logical link  
to enable transmission of the new frame(s).  
8.7.2 Information Frame Transmission  
The MLAPD transmits I frames according to the transmit servicing scheme described in 5.1  
Transmit Servicing Scheme. When an information frame is to be transmitted, the MLAPD  
first fetches the logical link's context information from the link's LLT. This information is used  
to build the DLCI and control fields for the frame, which are then placed in the transmit first-  
in first-out (TxFIFO) buffer. Next, the MLAPD uses information contained in the frame  
descriptor to locate the data to be sent and then transfers this information into its TxFIFO.  
The MLAPD transmits the frame and attaches a frame check sequence to complete the  
frame. Zeros are inserted when necessary for transparency, if the zero_insertion_select bit  
in the GCB is set to one. Afterframe transmission, V(S) is updated, and T200 is started if it is  
not already running.  
MOTOROLA  
MC68606 USER’S MANUAL  
8-7  
MLAPD Implementation of LAPD  
Transmission begins when six data bytes are present in the TxFlFO, in addition to the DLCI  
and control field, or when the entire frame is present in the TxFIFO (when the entire frame is  
less than six bytes), Between frames the MLAPD transmits the user selected number of pad  
flags. Additional flags may be transmitted until the requirements for start of transmission are  
met. While transmitting an information frame, the MLAPD requests use of the system bus  
when at least four empty bytes are available in the TxFIFO. (TheTxFIFO contains 20 words).  
The MLAPD aborts an I frame when:  
A TxFIFO underrun occurs;  
A STOP_TX_I command is executed and an I frame is in-transmission for the specified  
link;  
A REJ frame is received and an I frame in-transmission for this link;  
The MLAPD resets a link (due to a link condition, host command, etc.) and an I frame is  
in-transmission for this link; or  
A bus error occurs (the transmitter is reset, RTS is negated, and TO is three-stated).  
The MLAPD continues transmitting frames for the same logical link until one of the following  
events occur:  
The logical link's Transmit Queue is exhausted;  
The maximum number of outstanding I frames (K) for this logical link is reached;  
The MLAPD transmitter switches to service another queue according to the transmit ser-  
vicing scheme;  
A receive-not-ready (RNR) frame is received from the remote station;  
A supervisory (S) frame with poll M bit set to one is transmitted by this logical link;  
A DL_data_confirmation is issued when all frames in a logical link's Transmit Queue have  
been acknowledged.  
8.7.3 XID/UI/Nonstandard-control Frame Preparation  
When the host has XID/UI (or nonstandard_control) information for transmission on a logical  
link, the host prepares one or more frame descriptors which contain the information required  
by the MLAPD to transmit the frame(s). The host links the frame descriptors to the Global  
XID/UI Transmit Queue, to XID/UI Queue_0, or to XID/UI Queue_1. The host sets the  
frame_type bits in the frame descriptor to specify whether the frame is to be transmitted as  
an MDL_UI, DL_UI, XID command, XID response, nonstandard_control command, or  
nonstandard_control response frame. If the queue is empty when the new frame descrip-  
tor(s) are linked to the queue the host must issue an appropriate XID/UI_REQUEST com-  
mand with the pointer to the first frame descriptor stored in the command_argument_2 field  
of the GCB. When this request is issued, the MLAPD then places the specified XID/UI  
Queue into the transmit servicing mechanism. If any frames are waiting for transmission  
when the new XID/UI transmit frame descriptors) are added, the linking of the frame descrip-  
tors) is sufficient for the associated frame(s) to be transmitted.  
8-8  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
8.7.4 XID/UI/Nonstandardcontrol Frame Transmission  
The MLAPD services each XID/UI queue according to the transmit priority mechanism. The  
MLAPD locates the link's LLT, using the LLID entry in the frame descriptor to index into the  
LLID-LLT Table, to obtain the appropriate DLCI for the XID/UI (or nonstandard_control field)  
frame. The MLAPD places this DLCI and the correct control field into its TxFIFO. Next, the  
address of the data buffer is read from the frame descriptor, and the MLAPD transfers this  
data into the TxFIFO. As the frame is transmitted, zeros are inserted when necessary for  
transparency. The cyclical redundancy check (CR) is calculated and appended to complete  
the frame.  
Transmission begins when six data bytes are present in the TxFIFO, in addition to the DLCI  
and control field, or when the entire frame is present in the TxFIFO (when the entire frame is  
less than six bytes). Between frames, the MLAPD transmits the user selected number of pad  
flags. Additional flags may be transmitted until the requirements for start of transmission are  
met. While transmitting a frame, the MLAPD requests the system bus when at least four  
empty bytes are available in the TxFIFO. (The TxFIFO contains 20 words.)  
The MLAPD aborts a XID/UI (or nonstandard_control) frame when:  
A TxFIFO underrun occurs;  
A STOP-GLOBAL_XID/UI, STOP-XID/UI_QUEUE-0, or  
STOP-XID/UI_QUEUE_1 command is executed and a frame is in-transmission for the  
specified queue; or  
A bus error occurs (the transmitter is reset, RTS is negated, and TxD is three-stated).  
A Global-XID/UI_confirmation, XID/UI_Queue_0_confirmation, or XID/  
UI_Queue_1_confirmation interrupt is issued when all frames from the specified queue have  
been transmitted.  
8.8 RECEPTION PROCEDURE  
Procedures are outlined for reception of I frames and XID/UI (and nonstandard_control)  
frames. Also, receive errors are defined, including invalid frame conditions and frame reject  
conditions.  
8.8.1 Information Frame Reception  
Information frame reception is enabled for a specific logical link by performing the link setup  
procedure. Once the link is established, the MLAPD is ready to receive frames containing  
the associated DLCI.  
For information frames that are not treated as "invalid frames" (see following section on  
"Invalid Frames Reception") or as "bad frames" (see section on "Bad Frames Reception"),  
the MLAPD proceeds to locate a free buffer for the frame's information field using the link's  
receive_pool_number to index into the Receive Pool Pointers Table. If the receive pool  
associated with this logical link is not empty and the link's local-busy flag is not set, then the  
information field is transferred through the receive FIFO into the receive buffer. Finally, the  
MLAPD updates the LLT state variable V(R) and acknowledges the frame reception by  
MOTOROLA  
MC68606 USER’S MANUAL  
8-9  
MLAPD Implementation of LAPD  
queuing a RR frame on the Level 2 Queue. The MLAPD uses S frames to acknowledge  
information frames rather than piggybacking acknowledgments because it is impossible to  
know when the next information frame belonging to this logical link will be transmitted.  
If the receive pool associated with this logical link is empty or the link's local-busy flag is set,  
then a Level 2 frame (RNR) is queued for transmission and the information field is ignored.  
In this case, the logical link will be in the MF_EST_BUSY state or TM_REC_BUSY state.  
Zero deletion is performed throughout the reception process based on the  
zero_deletion_select bit in the option bits 1. The MLAPD requests use of the system bus  
when at least four bytes are in the RxFIFO. Frames are received in sequence as long as  
memory buffers are available and adequate bandwidth is provided for DMA on the system  
bus.  
8.8.2 Invalid Frames Reception  
An invalid frame is a frame which:  
• a) is not properly bounded by two flags  
• b) has fewer than 6 octets between flags of frames with sequence numbers (I frames  
and S frames), or fewer than 5 octets between flags of frames without sequence num-  
bers (U frames)  
• c) does not consist of an integral number of octets after zero deletion  
• d) contains a CRC error  
The MLAPD also treats the following frames as invalid:  
• Frames for which a RX_FIFO overflow occurred during reception  
• Frames with inactive DLCI  
• Frames with invalid address (error in the address field extension bits)  
In compliance with the LAPD protocol, the invalid frame is discarded without notification to  
the sender. No protocol action is taken as the result of this frame.  
Note that the error_mask_valid bit entry in each LLT allows the host to selectively receive  
invalid frames for a logical link, according to the protocol_error_mask entry in the GCB. Also  
the MLAPD provides individual error counters for some types of invalid receive frames.  
The following types of invalid frames can be received:  
• Aborted frames  
• Frames with CRC error  
• Frames in which a RX_FIFO overflow occurred during reception  
The following types of invalid frames have an error counter associated with them:  
• RX_FIFO overrun  
• Aborted frames  
• Frames with a CRC error  
• Short frames  
• Inactive DLCI  
• Invalid address  
8-10  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
8.8.3 Bad Frames Reception  
A bad frame is defined by the LAPD protocol as an error-free frame (a frame that is not an  
invalid frame) that contains:  
• An undefined control field  
• An information field which is not permitted (U or S frame)  
• An information field length which is not equal to 5 in FRMR frame  
• An invalid N(R)  
• An information field which is longer than N201 (I, UI, or XID frames)  
In compliance with the LAPID protocol, the bad frame is discarded. The MLAPD then exe-  
cutes the link setup procedure:  
• queues a FRMR response frame (depending on the Tx-FRMR-select bit in the option-  
bits-1 entry of the GCB)  
• queues a SABME frame  
• changes the logical link's state to AWAIT_EST  
• issues an MDL_error_indication interrupt to the host with the appropriate argument  
A frame with an information field longer than N201 can be received if the error-mask-valid bit  
entry in the LLT and the N201 bit in the protocol_error_mask entry in the GCB are set. In that  
case, only the first N201 bytes of the frame will be written to the data buffer and the rest of  
the frame will be discarded.  
A frame with an invalid N(R) and a correct N(S) will be received if the CCITT/DMI mode bit in  
the option_bits_2 entry of the GCB is set to one.  
8.8.4 Frame Reject Mode  
The MLAPD checks the frame reject mode on reception of a bad frame (see sub chapter  
"Bad Frames Reception"). The MLAPD queues a FRMR response frame only if the Tx-  
FRMR-select bit in the option_bits_1 entry of the GCB is set to one. All the other protocol  
actions (see sub chapter "Bad Frames Reception") are always executed.  
8.8.5 XID/UI/Nonstandard_control Frame Reception  
XID, UI, and nonstandard_control field frame reception is the same as I frame reception.  
Received XID, UI, and nonstandard_control frames are placed in the logical link's receive  
queue. To differentiate between types of received frames in the receive queue, the MLAPD  
encodes the frame_type bits in the associated receive frame descriptor. (Refer to Figure 2-  
15.)  
8.8.6 Receiving an Out_Of_Sequence I Frame  
When the MLAPD receives a valid I frame with N(S) not equal to the LLT state variable V(R),  
the information field is discarded. If the addressed logical link is in the MF_EST_NORM state  
or TM_REC_NORM state, the MLAPD queues a REJ frame to the Level 2 frame queue and  
enters the REJ condition for the affected link. A REJ condition is cleared when the requested  
I frame is received. If the addressed logical link is in the MF_EST_BUSY or  
MOTOROLA  
MC68606 USER’S MANUAL  
8-11  
MLAPD Implementation of LAPD  
TM_REC_BUSY, the MLAPD places a RNR frame on the Level 2 Queue, and a REJ frame  
is sent when the link changes to MF_EST_NORM or TM_REC_NORM.  
8.8.7 Receiving a FRMR Frame  
Upon reception of an FRMR frame, the MLAPD issues an MDL_error_indication interrupt to  
the host (with argument code K). The information field of the FRMR frame is written into the  
receive queue. The MLAPD also writes the LLID and sets the appropriate status-bits. How-  
ever, if the link's receive pool is empty, the MLAPD will be unable to transfer the information  
field to the host. In this case, the MLAPD issues an MDL_error_indication interrupt to the  
host (with argument code P5). In response to a FRMR, the MLAPD sends a SABME com-  
mand frame with the P bit set to one, and changes the state of the logical link to  
AWAIT_EST.  
8.9 FRAME TYPES ALLOWED IN EACH LINK STATE  
The following sections list the frame types that are allowed by the LAPD protocol in each link  
state. The method for transition between LAPD states is also noted.  
8.9.1 TEI_UNASSIGN and EST_WAIT_TEI States  
The user assigns a new link to TEI_UNASSIGN (state 1) by issuing an ACTIVATE_LL com-  
mand. In this state, a DL_ESTABLISH_REQUEST command causes a transition to  
EST_WAIT_TEI (state 3).  
Also, the user can assign a new link to EST_WAIT_TEI (state 3) by a  
DL_ESTABLISH_REQUEST command. The TEI_UNASSIGN state is used only for man-  
agement links. In these two states, the link can transmit the following frames:  
MDL_UI frames  
Nonstandard-control frames  
In these two states, the link can receive the following frames:  
UI frames  
Nonstandard_control frames  
8.9.2 TEI_ASSIGNED, AWAIT_EST, and AWAIT_REL States  
The user assigns a new link to TEI_ASSIGN (state 4) by either issuing an MDIL-  
ASSIGN_REQUEST command or by issuing an ACTIVATE_LL command followed by an  
MDI ASSIGN_REQUEST command.  
8-12  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
The user assigns a new link to AWAIT_EST (state 5) by issuing commands as follows:  
1. MDL_ASSIGN_REQUEST and DL_ESTABLISH_REQUEST, in this order;  
2. DL_ESTABLISH_REQUEST and MDL_ASSIGN_REQUEST, in this order; or  
3. ACTIVATE_LL,DL_ESTABLISH_REQUESTandMDI ASSIGN_REQUEST,inthisor-  
der.  
The user can cause a previously connected link (i.e., in connect mode) to transition to the  
AWAIT_REL (state 6) by issuing an MDL_RELEASE_REQUEST command.  
In these three states, the link can transmit the following frames:  
MDL_UI frames  
DL_U1 frames  
Nonstandard_control frames  
XID frames  
In these three states, the link can receive the following frames:  
UI frames  
Nonstandard_control frames  
XID frames  
8.9.3 Connected States  
To assign a new link to MF_EST_NORM (state 7.0), the link must first enter the AWAIT_EST  
state (state 5). Then, after reception of a UA response frame from the remote station, the link  
enters the MF_EST_NORM state. MF_EST_NORM is the entry point into the multiple frame  
established mode. From MF_EST_NORM, the link may eventually change to the other con-  
nected states: MF_EST_REJ (state 7.1), MF_EST_BUSY (state 7.2), TM_REC_NORM  
(state 8.0), TM_REC_REJ (state 8.1), or TM_REC_BUSY (state 8.2).  
While in connected mode, the link can transmit the following frames:  
MDL_UI frames  
DL_UI frames  
Nonstandard-control frames  
XID frames  
I frames  
While in connected mode (except states 7.2 and 8.2), the link can receive the following  
frames:  
UI frames  
Nonstandard-control frames  
XID frames  
I frames  
8.10 FLOW CONTROL AND ERROR CONTROL PROCEDURES  
Supervisory (S) frames are used in flow and error control. These frames provide receiver  
status information and acknowledge received I frames.  
MOTOROLA  
MC68606 USER’S MANUAL  
8-13  
MLAPD Implementation of LAPD  
8.10.1 Local Busy Condition  
A busy condition is defined as a temporary inability to accept additional incoming I frames. A  
logical link enters the local busy condition when one of the following occurs:  
A SET_LOCAL_BUSY command is issued by the host for this specific logical link, or the  
receive pool associated with this logical link has no free buffers.  
When a SET_LOCAL_BUSY command is issued by the host, the MLAPD sets the  
local_busy flag in the specified link's link_status entry of its LLT and reacts to subsequent  
receive frames as though no free buffers are available in the link's receive pool. A RNR  
frame is queued to the Level 2 Queue and the logical link enters the MF_EST_BUSY state or  
the TM_REC_BUSY state. The host clears the busy condition by issuing a  
CLEAR_LOCAL_BUSY command. In response, the MLAPD queues a RR or REJ frame to  
the Level 2 Queue and resumes normal multiple frame operation.  
When the receive pool has no free buffers, only the pool_dummy frame descriptor remains  
in the pool. When a frame is. received for a logical link that is assigned to this receive pool,  
the MLAPD recognizes the last_in_pool bit in the pool_dummy frame descriptor, and this  
logical link enters the local busy condition. The MLAPD issues a local_busy interrupt for this  
link and queues a RR or REJ frame to the Level 2 Queue. The logical link enters the  
MF_EST_BUSY state or the TM_REC_BUSY state.  
The MLAPD recognizes that the host has added free buffers to a receive pool when:  
The MLAPD first receives a frame addressed to a link assigned to the receive pool;  
The MLAPD responds to a RR or RNR frame addressed to the link with the P bit set to  
one; or  
The MLAPD responds to a T203 or T200 timeout condition for this link.  
To determine if a specific logical link is in the busy condition, the MLAPD reads the first  
receive frame descriptor in its associated receive pool. Based upon whether this frame  
descriptor is the pool_dummy frame descriptor or a valid frame descriptor, the logical link  
remains in the local busy condition or exits this condition. When the logical link exits the busy  
condition, the MLAPD queues a RR or REJ frame to the Level 2 Queue.  
8.10.2 Awaiting Acknowledgement  
The MLAPD starts timer T200 after a frame has been transmitted from a logical link's Trans-  
mit Queue to ensure that an acknowledgment for the frame is received before the pro-  
grammed timeout value is reached. If T200 expires while this logical link is in the  
MF_EST_NORM state (link state 7.0), the MLAPD changes the state of this logical link to the  
TM_REC_NORM state (link state 8.0). If this logical link is in MF_EST_REJ state (link state  
7.1), the MLAPD changes the state of this logical link to the TM_REC_REJ state (link state  
8.1). The MLAPD then sends a RR frame with the P bit set to one if receive buffers are avail-  
ablefrom the buffers pool associatedwiththis logical link.Alternatively,the MLAPD sends a  
RNR frame with the P bit set to one if no receive buffers are available and changes the state  
of this logical link to the TM_REC_BUSY state (link state 8.2). The MLAPD then increments  
the retransmission_count in this link's timer entry and restarts T200.  
8-14  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
The MLAPD clears the timer recovery condition when a S frame is received with the F bit set  
to one and with N(R) within the range of the logical link's current V(A) to V(S), inclusive. The  
MLAPD then stops T200, updates its send state variable V(S), updates the Tx_next_pointer  
in the LLT, and begins transmission or retransmission, as appropriate.  
If T200 expires while the logical link is in the TM_REC_xxx state, the MLAPD increments the  
retransmission_count for this logical link and transmits the appropriate S command with the  
P bit set to one. If the retransmission_count reaches the N200_value, the MLAPD will initiate  
a link resetting procedure as described in 8.4 Link Setup Procedure and will issue an  
MDL_error_indication interrupt.  
8.10.3 Receiving Acknowledgement  
When the MLAPD correctly receives an I frame or a S frame for a given logical link, the N(R)  
contained in this frame acknowledges all I frames previously transmitted with an N(S) up to  
and including the received N(R)-1. The MLAPD stops T200 when it receives an N(R) higher  
than the last received N(R) (acknowledging some I frames) or when the MLAPD receives a  
REJ frame with the N(R) equal to the last received N(R). If T200 is stopped by the reception  
of an 1, RR, or RNR frame and outstanding I frames are still unacknowledged, the MLAPD  
will restart T200.  
8.10.4 Receiving a REJ Frame  
When a REJ frame is received for a logical link, the MLAPD sets V(S) and V(A) for this log-  
ical link to the value of the N(R) contained in the frame. The MLAPD then updates the  
Tx_next_pointer in the link's LLT, so that the frame(s) to be retransmitted are relinked into  
the transmit servicing mechanism.  
If the REJ frame has the P bit set to one, the MLAPD will send an RR, RNR, or REJ response  
with the F bit set to one before retransmitting the requested I frame(s).  
8.10.5 Receiving a RNR Frame  
When a RNR frame is received for a logical link, the MLAPD updates the remote-busy flag  
and V(A) for this logical link. Until a RR frame is received, MLAPD does not transmit any I  
frames. Ul, XID, and undefined-control frames can be transmitted. The MLAPD then restarts  
T200 and, upon its expiration, sends a S frame with P bit set to one. If the remote station  
responds with a RNR frame with the F bit set to one, indicating the continuance of the busy  
condition, the MLAPD repeats the above sequence. If the remote station responds with an  
RR or REJ frame, indicating the clearance of the busy condition, the MLAPD stops T200,  
clears the remote-busy flag, and begins (retransmission as appropriate.  
8.11 ERROR HANDLING OPTIONS  
Options are provided for handling error conditions. The MLAPD will optionally transmit an  
FRMR frame when a frame reject condition is determined. The user may also select either  
the CCITT or the DMI error mode.  
MOTOROLA  
MC68606 USER’S MANUAL  
8-15  
MLAPD Implementation of LAPD  
8.11.1 Frame Reject Mode  
The MLAPD enters the frame reject mode for a logical link on reception of an error-free  
frame containing:  
An undefined command or response control field;  
An information field which is not permitted (U or S frame) or a U or S frame with incorrect  
length (e.g., FRMR with a three-byte I field instead of a five-byte I field);  
An invalid N(R), or  
An information field longer than N201.  
The error_mask_valid entry in each LI-Tallowsthe hostto selectively receive invalid frames  
for a logical link with an information field longer than N201, based on the  
buffer_length_exceeded bit of the protocol-error-mask in the GCB. Also the MLAPD allows  
the user to define a nonstandard-control field which can be received without causing a  
FRMR condition.  
When a FRMR condition is detected and the Tx_FRMR_select bit in the option_bits-1 entry  
of the GCB is set to one, the MLAPD queues a FRMR response frame and immediately pro-  
ceeds to the link setup procedure without waiting for acknowlegement of the FRMR frame.  
Regardless of the Tx_FRMR_select bit value, the MLAPD issues an MDL_error_indication  
interrupt to the host with the appropriate argument, queues a SABME frame, and changes  
the logical link's state to AWAIT_EST.  
8.11.2 CCITT/DMI Mode  
There are some minor differences between the DMI and CCITT state tables with respect to  
error handling. The user can configure the MLAPD to implement the DMI or. CCITT state  
table via the DMi/CCITT_select bit in the GCB. The differences are as follows:  
1. Reception of a S response frame with unexpected F bit set to one and N(R) is correct:  
CCITT Use the received N(R) to acknowledge the transmitted I frames,  
Report MDL_error_indication code A  
DMI  
The N(R) field is verified for N(R) error but is not used to acknowledge the  
transmitted I frames  
Report MDL_error_indication code A  
2. Reception of an I frame with N(R) error and N(S) correct:  
CCITT If the receiver is not in a busy condition,  
Deliver the I field to Level 3  
Report MDL_error_indication code J  
Send RR response frame  
Link reset (FRMR and SABME)  
If the receiver is in a busy condition,  
Report MDL_error_indication code J  
Send RNR response frame  
Link reset (FRMR and SABME)  
DMI  
Report MDL_error_indication code J  
Link reset (FRMR and SABME)  
8-16  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of LAPD  
3. Reception of an I frame with N(R) error and N(S) error:  
CCITT If the receiver is in normal condition,  
Report MDL_error-indication code J  
Send REJ response frame with F equal to P  
Link reset (FRMR and SABME)  
If the receiver is in reject recovery condition,  
Report MDL_error_indication code J  
Send RR response frame with F equal to P  
Link reset (FRMR and SABME)  
If the receive is in a busy condition,  
Report MDL_error_indication code J  
Send RNR response frmae with F equal to P  
Link reset (FRMR and SABME)  
DMI  
Report MDL_error_indication code J  
Link reset (FRMR and SABME)  
4. Reception of DM response with F equal to 1 in connect states:  
CCITT No change in state  
Report MDL_error_indication code B  
DMI  
Report MDL_error_indication code B  
Link reset (SABME)  
5. DL_RELEASE-REQUEST or MDL_REMOVE_REQUEST command issued when the  
link is in EST_WAIT_TEI state:  
CCITT No change in state  
DMI  
Change to TEI_UNASSIGN  
MDL_error_indication  
MOTOROLA  
MC68606 USER’S MANUAL  
8-17  
MLAPD Implementation of LAPD  
8-18  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 9  
MLAPD IMPLEMENTATION OF SPECIAL MODES  
The MLAPD's primary function is to perform the LAPD procedures on frames entering/  
exiting its serial, nonchannelized physical level interface. However, the MLAPD can be  
configured for several alternative modes, which affect the processing of frames or its  
physical level interface. The nonprotocol, promiscuous receive, and line monitor modes limit  
the protocol processing performed on received frames. Parallel assist and memory- to-  
memory modes support alternative interfaces to the physical level. This section describes  
the purpose of each mode, how the mode is evoked, and the details of each mode's  
operation.  
9.1 NONPROTOCOL LINKS  
The host defines a link to be either a protocol or a nonprotocol link. The MLAPD can  
simultaneously support both types of links. For a protocol, or LAPD link, the MLAPD  
implements the elements of procedure for link management and guarantees that all frames  
meet the LAPD frame format. For a nonprotocol link, any elements of procedure are  
implemented by the host in software as the MLAPD does not apply the LAPD procedures.  
The frame format is generally considered to contain a 16-bit address field and a 16-bit  
CCITT-CRC.  
Programmable options and MLAPD variations in frame processing minimize the effect of  
these frame format assumptions. For the receive operation, all receive frames must be at  
least five bytes in length. The MLAPD uses the first 16-bits of the frame as usual to index  
into the Match Table (or the on-chip CAM) to determine whether the link is active and  
whether the link is defined to be a protocol or nonprotocol link. Then, for a nonprotocol link,  
these first 16 bits are stored in memory along with the remainder of the frame. Bits 0, 1, and  
8 are don't care bits and are not required to meet the specified LAPD values. (The address  
field structure for a nonprotocol link is shown below.) Finally, even though the MLAPD  
checks the last 16-bits of the frame against a cyclical redundancy check (CRQ, the host can  
opt to receive frames with CRC errors. For the transmit operation, the host programs  
whether the MLAPD is to insert the link's Data-Link-Connection Identifier (DLCI) into the  
frame address field and whether the MLAPD is to append a CRC to the frame. Thus, the  
host may provide the entire transmit frame if desired.  
15  
A
14  
A
13  
A
12  
A
11  
A
10  
A
9
8
7
6
5
4
3
2
1
0
A
X
A
A
A
A
A
A
A
X
A = Address Bit  
X = Don't Care  
MOTOROLA  
MC68606 USER’S MANUAL  
9-1  
MLAPD Implementation of Special Modes  
Nonprotocol operation uses the same structures as protocol operation. Any differences in  
bit definitions or feature usage is indicated in the relevant sections of this manual. The  
following sections describe the interaction between the host and MLAPD for nonprotocol  
operation and the specific MLAPD processing flows.  
9.1.1 Setup Procedure  
Before any frames may be received or transmitted for a nonprotocol link, an assignment  
process must take place which associates a specific Data-Link-Connection Identifier (DLCI)  
with the logical link. First, the host prepares a Logical-Link Table (LLT) for the link. The host  
specifies that the link will operate in nonprotocol mode by programming the nonprotocol-  
select bit in the configuration-bits of the link's LLT. Next, the host places the address of the  
LLT in the appropriate entry of the LLID-LLT Table. This entry is determined by using the  
Logical-Link Identification (LLID) number as a displacement from the beginning LLID-LLT  
Table address. (Level 3 defines a 13-bit LLID corresponding to each active DLCI. The LLID  
is used during link-level processing and is only of local significance. The LLID serves to  
reduce the external memory requirements for Level 2.) Then the host prepares a receive  
pool and issues an ASSIGN_POOL_POINTER command to the MLAPD. Finally, the host  
issues an ACTIVATE_LL command for the link.  
9.1.2 Release Procedure  
At any time, the host may terminate activity on a nonprotocol link by issuing a  
DEACTIVATE_LL command for the link. The semaphore register (SR) is set to hex 'FF'  
when the command is accepted. From this point on, no receive or transmit activities are  
performed for this link. Any current frame transmission for this link is aborted, and any  
current frame reception for this link is discarded when the command is received.  
If the LLT of this link is in its assigned information (1) frame queue, this command is actually  
completed by the MLAPD transmit task that removes the LLT from the queue. This removal  
occurs when the LLT reaches the head of its I frame queue. The LLT for this link can be  
reused by the host only after the link's active bit in its LLT is set to zero by the MLAPD.  
If the LLT of this link is not in its assigned I frame queue, the semaphore value hex 'FF'  
indicates the completion of the command. In either case, when the active bit in the  
transmit_status entry is set to zero, the command has been completed.  
9.1.3 Queuing Frames For Transmission  
To queue frames for transmission on a nonprotocol link, the host first creates a Transmit  
Queue. The structure of this Transmit Queue is identical to an I frame Transmit Queue which  
is used for protocol links. See Figure 5-4. The definition of the fields in a transmit frame  
descriptor for a nonprotocol link are found in 2.6 Transmit Frame Descriptor.  
9-2  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of Special Modes  
To enable transmission of the Transmit Queue for a nonprotocol link, the host issues a  
DL_DATA_REQUESTcommand.Thehostmustmaintaintheuser_Tx_next_confirm_pointer  
and the user_Tx_last_queued_pointer for each logical link's Transmit Queue. These pointers  
are required for removing transmitted frame descriptors and/or for adding more frame  
descriptors for transmission.  
The host may add frames to the Transmit Queue while frames are still awaiting  
transmission. When a frame is ready to be added, the host sets the last bit in the new frame  
descriptor and links the new frame descriptor to the last frame descriptor in the existing  
Transmit  
Queue.  
The  
last  
frame  
descriptor  
is  
identified  
by  
the  
user_Tx_last_queued_pointer. The host then clears the last bit in the frame descriptor that  
was previously the last frame descriptor in the queue and updates the  
user_Tx_last_queued_pointer. Upon receiving a DL_data_confirmation interrupt, the host  
must verify that the last frame added to the queue was indeed transmitted. If it was not, then  
the addition operation was performed after the MLAPD had checked the last bit in the frame  
descriptor, which the host intended to clear. In this case, the host must present the  
remaining frames to the MLAPD as a new Transmit Queue and issue another  
DL_DATA_REQUEST.  
For nonprotocol links, the transmit frame descriptor acknowledge bit has no meaning, and  
so the RELINK_REQUEST command is meaningless.  
9.1.4 MLAPD Transmit Queue Processing  
Upon receiving a DL_DATA_REQUEST command, the MLAPD adds the logical link's  
Transmit Queue to the appropriate I frame queue for transmission, using the queue's tail  
pointer register. The stop-Tx, active, acknowledge, and transmit bits in this link's  
transmit_status entry are set to 0101, respectively, by the MLAPD. The last_LLT bit in the  
transmit_status entry is set to one, since this LLT is now the last one in the I frame queue.  
The MLAPD will not remove this link's Transmit Queue from its I frame queue until all frames  
are transmitted, except as the result of a STOP_TX_I command.  
Once the MLAPD begins handling this link's Transmit Queue, the MLAPD will continue  
servicing the queue until all frames are transmitted or until the scan_length associated with  
the I frame queue is exhausted. If the scan_length is exhausted before the Transmit Queue  
is emptied, the MLAPD will move on to service the next queue in the transmit servicing  
scheme. The next time this I frame queue is serviced again, the transmission of frames for  
this nonprotocol link will continue. When all frames in the Transmit Queue are transmitted,  
the MLAPD issues a DL_data_confirmation interrupt for the link.  
9.1.5 MLAPD Frame Transmission  
When a frame is to be transmitted for a nonprotocol link, the MLAPD first fetches the link's  
context from its LLT by reading LLT entries 0 to 14. Then, based upon the  
transmit_address_disable bit in the frame descriptor, the MLAPD may or may not prefix the  
DLCI associated with this logical link to the beginning of the transmit frame. Next, the  
MLAPD uses the address contained in the frame descriptor to locate the transmit memory  
buffer, and then transfers this information into its transmit first-in first-out (TxFIFO) buffer.  
The MLAPD transmits the frame inserting zeros when necessary if the zero_insertion_select  
MOTOROLA  
MC68606 USER’S MANUAL  
9-3  
MLAPD Implementation of Special Modes  
is enabled. After the transmit buffer is transmitted, the MLAPD may or may not append a  
cyclical redundancy check (CRC) to the frame, based upon the transmit-CRC-disable bit in  
the frame descriptor.  
Transmission begins when ten bytes are present in the TxFIFO or when the entire frame is  
present in the TxFIFO. Between frames, the MLAPD transmits the user selected number of  
pad flags. Additional flags may be transmitted, until the requirements for start of  
transmission are met. While transmitting a frame, the MLAPD requests use of the system  
bus when six to eight empty bytes are available in the TxFIFO.  
9.1.6 Stopping Frame Transmission  
At any time, the host may instruct the MLAPD to immediately suspend all transmit activity  
on a nonprotocol link by issuing a STOP_TX_I command. (See 4.5.6 STOP_TX_I  
Command). Upon receiving this command, the MLAPD aborts any current frame  
transmission for this link and does not service additional frame descriptors. The  
Tx_next_pointer is not advanced past its current position. At this point, the host is free to  
manipulate the Transmit Queue as desired, since this queue is inactive. The host reactivates  
the handling of frame transmission for this link via the usual DL_DATA_REQUEST  
command. This stop mechanism may be used to provide faster servicing of certain frames  
for this link, or this mechanism may be necessary to perform various types of error recovery.  
To stop transmit activity for a link without the possibility of an abort transmission, the host  
can set the last bit in the first two frame descriptors in the link's Transmit Queue, which have  
not been transmitted. This action ensures that the MLAPD will transmit only these two  
frames at the most, before stopping this link's transmission.  
9.1.7 Collecting Transmitted Frames  
To collect transmitted frames, the host reads the status_bits in each frame descriptor,  
beginning with the frame descriptor indicated by the user_Tx_next_confirm_pointer. When  
the transmit bit is set, the associated data buffer has been transmitted. If the last bit is set,  
this frame descriptor is the last frame descriptor in the queue. Transmitted frames may be  
collected by the host dynamically (while other frames await transmission) or after being  
notified by the MLAPD that all frames in the queue are transmitted via a  
DL_data_confirmation interrupt. The host should update the user_Tx_next_confirm_pointer  
after each frame is collected.  
When the host has dynamically added frames to a link's Transmit Queue, the host must  
determine whether the additional frames were handled by the LAPD. Verification is made by  
inspecting the frame descriptor, which was the last frame descriptor in the queue before the  
additional frames were added. When the empty bit is set and the last bit is cleared in this  
frame descriptor, then the frame addition was not successful. The host must issue a  
DL_DATA_REQUEST with this link's LLID in command_argument_1 to enable  
transmission. The address of the frame descriptor, which was not successfully added,  
should be placed in command_argument_2.  
9-4  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of Special Modes  
9.1.8 Receive Structures  
The receive structures for a nonprotocol link are identical to the structures for a protocol link.  
See Figure 6-1. A receive pool is a linked list of receive frame descriptors. The format of a  
receive frame descriptor is defined in 2.7 Receive Frame Descriptor. When a receive  
buffer is filled with information from an incoming frame, the frame descriptor is written by the  
MLAPD to provide information about the received frame. At this point, the frame descriptor  
is logically removed from the receive pool although no unlinking/linking operation is  
performed. So, the receive structure serves as both a receive pool and a receive queue.  
A nonprotocol link is assigned to a receive pool by the host using the receive_pool_number  
entry in the link's LLT. Any number of links may share a receive pool although it is  
anticipated that most system implementations will not assign protocol and nonprotocol links  
to the same receive pool since both links have different receive characteristics. The  
minimum length of the data buffers in a receive pool must be equal to the largest  
N201_value specified for all links that share the pool. The N201_value specified for a  
nonprotocol link defines the receive buffer length and must be an even number. Each buffer  
in a receive pool must accommodate all information between the opening and closing flag  
of a frame, except when multibuffer mode is enabled. See 9.2.1 Multibuffer Mode.  
9.1.9 MLAPD Frame Reception  
Frame reception is enabled for a nonprotocol link by performing the link setup procedure  
described in 9.1.1 Setup Procedure. As an incoming frame is received in on-chip system  
operation mode, the DLCI field in the frame is compared to the on-chip content addressable  
memory (CAM) to identify the corresponding logical link, if any. In expanded-system  
operation mode, the MLAPD accesses the external Match Table to determine the  
associated logical link. If no DLCI match is found, then the incoming DLCI has not been  
assigned to a logical link, and the frame is ignored.  
If a DLCI match is found, the corresponding entry in the Match Table or CAM specifies both  
the LLID and whether the link is assigned to protocol or nonprotocol operation. If the frame  
is for a nonprotocol link, the MLAPD proceeds to locate a free buffer to store the information  
between the opening and closing flag of the frame. The MLAPD locates the link's receive  
pool by using the link's receive_pool_number LLT entry to index into the Receive Pool  
Pointers Table. If the receive pool associated with the logical link is empty, then the frame  
is ignored, and a local_busy interrupt is generated.  
MOTOROLA  
MC68606 USER’S MANUAL  
9-5  
MLAPD Implementation of Special Modes  
Otherwise, the MLAPD begins to transfer the frame into the memory buffer. Throughout  
frame reception, the MLAPD performs zero deletion if enabled by the zero_deletion_select  
bit in the Global Configuration Block (GCB). The MLAPD also checks for receive errors and  
calculates the CRC. For every receive frame, five error conditions are checked using the  
following order of priority:  
1. Inactive DLCI error detected;  
2. Frame ended with abort or nonocted aligned;  
3. CRC error detected;  
4. Data length error detected (information field exceeds N201).  
Frame was too short (less than five octets between flags) when an error is detected during  
the receive process, the MLAPD does not advance the receive_pool_pointer. The next  
frame received for a link that shares this receive pool will be stored over the erroneous  
frame. However, the host may save these erroneous frames for inspection by setting the  
error_mask_valid bit in the link's LLT. The nonprotocol_error_mask entry allows the host to  
individually enable reception of frames with various error conditions.  
For nonprotocol links, the host may also choose to have the MLAPD access multiple receive  
buffers as needed to store receive frames. If the multibuffer_select bit in the option_bits_2  
GCB entry is set to one and the frame is longer than N201, the chip will continue data  
reception into the next receive buffer in the pool. Any number of receive buffers may be used  
by the MLAPD in this mode for storing one incoming frame. Refer to 2.7.5 Frame Type and  
LLID and LLID for more details.  
9.1.10 Restrictions  
The nonprotocol restrictions are:  
1. N201_value in LLT must be an even number greater than five.  
2. The only valid commands for a nonprotocol link are:  
ACTIVATE_LL Establish a new link  
DEACTIVATE_LL Terminate the link activity  
DL_DATA_REQUEST Start/continue transmission  
STOP_TX_I Stop transmission  
SET_LOCAL_BUSY Stop reception  
CLEAR_LOCAL_BUSY Continue reception  
Although these listed commands are considered valid for nonprotocol links, the MLAPD will  
not issue an undefined_host_command interrupt when commands not listed are issued by  
the host.  
9.2 PROMISCUOUS RECEIVE MODE  
Promiscuous receive mode is a special case of the nonprotocol link operation in which no  
address matching is performed by the MLAPD. The host instructs the chip to enter this mode  
9-6  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of Special Modes  
by setting the promiscuous_receive_select bit in the option_bits_1 GCB entry and by  
assigning the logical link associated with DLCI equal to zero to nonprotocol operation. This  
mode only affects the MLAPD receiver operation. The MLAPD transmitter operation is not  
affected.  
When promiscuous receive mode is selected, the MLAPD does not perform LAPD frame  
processing on the incoming serial bit stream. The MLAPD strips flags and performs zero  
deletion if enabled by the zero_deletion_select bit in the GCB. Otherwise, the RSTART  
signal provides frame delineation. For every receive frame, three error conditions are  
checked using the following order of priority:  
1. Frame ended with abort or nonocted aligned;  
2. CRC error detected;  
3. Data length error detected (an information field exceeds N201) when not multibuffer.  
No address matching or control field analysis is performed. The entire frame is stored in  
memory.  
All incoming frames are transferred to one receive pool-the pool assigned by the host to the  
logical link with DLCI equal to zero. As each receive buffer is filled, the MLAPD writes a time  
stamp into the associated frame descriptor. This time stamp indicates the "time", with  
respect to an internal 32-bit timer value, when the MLAPD has transferred the incoming  
frame to the specific receive buffer. This internal timer is incremented every 16 system clock  
cycles, which provides an accuracy of approximately one hour (for 16.67 MHz: one hour and  
eight minutes). This timer is zeroed during the INIT command execution.  
The host may choose to accept invalid frames based upon the nonprotocol_error_mask.  
When a frame is received with one of these receive errors, the error_code entry in the frame  
descriptor defines the error detected by the MLAPD.  
9.2.1 Multibuffer Mode  
When the multibuffer_select bit in the option_bits_1 GCB entry is zero, one receive buffer is  
used per frame. If the received frame is longer than the preassigned buffer, then, based  
upon the buffer_length_exceeded bit in the nonprotocol_error_mask, the frame is either 1)  
discarded and the same buffer is overwritten by the next incoming frame or 2) N201 bytes  
are stored and the remainder of the frame is discarded. On the other hand, when the  
multibuffer_select bit is set to one, the MLAPD will use as many receive buffers as required  
to store the received frame. For each frame longer than N201, the chip will use the  
subsequent receive buffer(s) in the receive pool until the whole frame is stored. The MLAPD  
writes the time stamp into each receive buffer as it is filled.  
9.2.2 Filter Mode  
This mode is an extension of the promiscuous receive mode in which only a portion of the  
received frames are stored in memory based upon a filtering mechanism. When the MLAPD  
is in promiscuous receive mode, the host may enable a filtering option by setting the  
filter_select bit in the options_bits_1 entry to one. This filter option allows the host to  
selectively receive frames from the serial link based upon the first 32-bits of each frame.  
MOTOROLA  
MC68606 USER’S MANUAL  
9-7  
MLAPD Implementation of Special Modes  
In this mode, the host defines two 32-bit words in the GCB: filter_mask and filter_match.  
During frame reception, the MLAPD performs a logical AND operation between the first 32  
bits of each incoming frame and the GCB filter_mask entry. The result of this operation is  
then compared to the result of (GCB filter_match entry AND GCB filter_mask entry). If equal,  
then the MLAPD places the information between the opening and closing flags of this frame  
into a receive memory buffer (including the address, control, information, and CRC fields).  
For example, to receive all the unnumbered information (UI) frames from DLCI '2' (hex), the  
user programs the GCB entries as follows:  
.
TARGET 32-BITS:  
P/F BIT  
C/R BIT  
0
0
0
0
0
0
X 0  
0
0
0
0
0
1
0
1
0
0
0
X
0
0
1
1
X X X X  
X X X X  
¥ ¥ ¥ ¥  
ADDRESS  
CONTROL  
DATA  
X = DON'T CARE Condition  
Mask Word High = FFFD (hex) to mask C/R bit  
Mask Word Low = 00EF (hex) to mask P/F bit and data byte  
Match Word High = 0500 (hex)  
Match Word Low = 0003 (hex)  
MLAPD filter operation:  
Match AND Mask  
05000003 AND FFFD00EF  
= ? = (FIRST32) AND Mask  
= ? = (FIRST32) AND FFFD00EF  
X = DON'T CARE Condition  
Mask Word High  
Mask Word Low  
Match Word High  
Match Word Low  
= FFFD (hex) to mask C/R bit  
= OCIEF (hex) to mask P/F bit and data byte  
= 0500 (hex)  
= 0003 (hex)  
MLAPD filter operation:  
Match AND Mask  
= ? = (FIRST32) AND Mask  
05000003 AND FFFDOOEF  
= ? = (FIRST32) AND FFFDOCIEF  
9.2.3 Restrictions  
The two following restrictions apply to the promiscuous receive mode: 1) the logical link with  
DLCI equal to zero must be assigned as a nonprotocol link, and, 2) N201_value in its LLT  
must be an even number greater than five.  
9.3 PARALLEL ASSIST MODE  
The purpose of this mode is to minimize the external logic required to interface the MLAPD  
to a physical level, which is based upon a parallel interface. This mode also allows the  
9-8  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of Special Modes  
MLAPD to be a controller for non-HDLC based serial communications. The full functionality  
of the MLAPD is available to support both protocol links and nonprotocol links when parallel  
assist mode is selected.  
The MLAPD enters the parallel assist mode when the host sets the zero_insertion_select  
and zero_deletion_select bits in the option_bits_1 GCB entry to one. Since HDLC flags  
cannot serve as frame delimiters when zero insertion/deletion is disabled, two of the MLAPD  
serial pins are used to delineate the frames.  
On the transmit side, the request-to-send (RTS) pin functions as transmit start (TSTART) to  
indicate that the data on the transmit data (TxD) output pin is valid. The TSTART pin  
becomes active as the first bit of the serial frame is transmitted and stays active until the last  
bit of the frame is transmitted. On the receive side, the clear-to-send (CTS) pin functions as  
receive start (RSTART). The MLAPD considers the data on receive data (RxD) to be valid  
when RSTART is asserted. The MLAPD continues receiving the frame until RSTART is  
negated. The receiver checks the CRC for each frame although the host may choose to  
ignore the results of the CRC check by using the protocol and/or nonprotocol_error_masks.  
All frames must be octet aligned. A nonoctet aligned frame is treated as though the frame  
ended with an abort. When the transmit machine needs to terminate the current frame with  
an abort due to an underrun or STOP command, then the TSTART signal negation does not  
occur on an octet boundary.  
Since this mode affects only the serial portion of the chip, LAPD protocol processing can  
continue normally. A possible application of this mode would be to provide LAPD protocol  
processing on data coming from a non HDLC-like physical media. A physical level device  
could provide the frames directly or via memory buffers to and from the MLAPD.  
The parallel assist mode can also be used to assist the implementation of any protocol in  
software (not just HDLC-type protocols) since HDLC framing is not performed by the  
MLAPD. By assigning a link to nonprotocol operation, the frame is entirely user-defined. On  
the receive side, the MLAPD may be assigned to promiscuous receive mode. Thus, the  
MLAPD transmits and receives frames without regard to the imposed protocol.  
9.4 LINE MONITOR  
This mode is a combination of some of the previously defined operating modes. In line  
monitor, the user can monitor all the bits on the data link. To enter this mode, the host sets  
zero_deletion_select to one, multibuffer_select to one, and promiscuous_receive_select to  
one. The host then assigns the logical link with DLCI equal to zero to nonprotocol operation.  
When the RSTART pin is asserted, the receive operation begins. As long as RSTART  
remains asserted, the chip will pack all received bits to words and write them into receive  
data buffers from the receive pool specified for the logical link with DLCI equal to zero. Since  
no processing is performed on the serial bit stream, each bit appearing on RxD is dumped  
into successive memory buffers using the multibuffer receive function.  
MOTOROLA  
MC68606 USER’S MANUAL  
9-9  
MLAPD Implementation of Special Modes  
This mode may be very useful in analyzing line problems, bit errors, zero insertion errors,  
and special bit patterns such as flags, abort, and idle sequences that are not normally  
dumped into memory.  
9.5 SYSTEM LOOPBACK TESTING  
The host may wish to test the MC68606-based system without disturbing the network.  
However, a logical link cannot enter the connect state according to the LAPD protocol if it  
receives its own transmit frames (MLAPD transmitter connected to MLAPD receiver). To  
allow the MLAPD to perform the LAPD procedures during a system loopback test, the  
MLAPD provides a flip option. When the host enables the flip option by setting the flip_select  
bit in the option_bits_2 GCB entry, the MLAPD will invert the least significant bit of the DLCI  
field for each received frame.  
To implement this mode, the host activates pairs of logical links with DLCIs that differ only  
in the least significant bit position. For each pair, one link is assigned as network and the  
other link is assigned as user. Then when a frame is transmitted for one logical link, the  
frame is received for the other logical link; thus, the MLAPD can implement the LAPD  
procedures.  
The loopback can be internal or external. When internal loopback is selected, the host may  
also specify that any bits received on RxD should be echoed back to the network on TxD.  
To enable this option, the host sets the echo_select bit in the option_bits_1 GCB entry to  
one.  
When the flip_select option is not enabled, the host may only operate nonprotocol links  
under the internal or external loopback configuration.  
9.6 MEMORY-TO-MEMORY OPERATION  
The MLAPD can be configured for operation in systems with a channelized serial interface  
such as T1 networks or local area networks (LANs). The memory-to-memory operation  
mode allows the system designer to use the MLAPD to implement the LAPD procedures in  
a manner independent of the physical level characteristics of the system. When using the  
MLAPD in this manner, it is assumed that a device in the system (Device A in Figure 9-1)  
directly interfaces to the physical level. Received frames are placed into memory, and  
transmit frames are placed into Device A using either direct memory access (DMA) or host  
input/output (I/O) capabilities. In memory-to-memory operation, the MLAPD performs the  
LAPD procedures on the memory-resident receive and transmit frames. Frames for  
nonprotocol links are also supported. Since the memory-to-memory operation mode uses  
the receive actions described for promiscuous receive operation and the transmit actions  
described for nonprotocol links, the designer should refer to 9.2 Promiscuous Receive  
Mode and 9.1 Nonprotocol Links.  
To  
enable  
memory_to_memory  
operation,  
the  
host  
must  
set  
the  
memory_to_memory_select, zero_insertion_disable, and zero_deletion_disable bits in the  
option_bits_1 entry of the GCB. In this configuration, the MLAPD transmitter and receiver  
are internally connected; the RxD and TxD pins are not used. The MLAPD on-chip DMA  
controller feeds the receive and transmit machines via their associated FIFOs. The host then  
9-10  
MC68606 USER’S MANUAL  
MOTOROLA  
MLAPD Implementation of Special Modes  
activates a logical link with DLCI equal to zero as a nonprotocol link and assigns this link to  
I frame Queue_0. I frame Queue_0 should be reserved for use only by this logical link  
associated with DLCI equal to zero.  
.
RECEIVE POOLS/QUEUES  
NONPROTOCOL TRANSMIT  
PROTOCOL RECEIVE  
TRANSMIT  
RECEIVE  
PROMISCUOUS RECEIVE  
RECEIVE  
PROTOCOL TRANSMIT  
MLAPD  
I FRAME  
QUEUE_0  
POOL/QUEUE  
DLCI = 0  
LEVEL 2  
QUEUE  
GLOBAL  
XID/UI  
QUEUE  
I FRAME  
QUEUES  
1-3  
XID/UI  
QUEUES  
0, 1  
RECEIVE  
TRANSMIT  
"DEVICE A"  
PHYSICAL LEVEL  
Figure 9-1. Memory-to-Memory Operation  
9.6.1 Handling Received Frames  
As frames are received from the physical level, the host is responsible for placing these  
frames into the memory format defined for a MLAPD Transmit Queue. Each transmit buffer  
contains an entire received frame. The host then issues a DL_DATA_REQUEST command  
with both the LLID associated with DLCI equal to zero as command_argument_1 and the  
address of the first transmit frame descriptor as command_argument_2. In response, the  
MLAPD begins transmitting frames from I frame Queue_0 according to the MLAPD transmit  
servicing scheme.  
Since the logical link associated with DLCI equal to zero is assigned to nonprotocol  
operation, the MLAPD acts as a simple HDLC framer while servicing I frame Queue_0, The  
MLAPD may optionally add the frame CRC, based upon the transmit_CRC_disable bit in  
each transmit frame descriptor. The frame address should already be contained in the  
transmit data buffer (passed through from the physical level).  
When the frame is received via the internal loopback path, the MLAPD analyzes the address  
field, determines whether the addressed logical link is assigned to LAPD or nonprotocol  
operation, and then handles the frame accordingly. The MLAPD continues to transmit  
frames from I frame Queue_0 until the scan_length specified for this queue is exhausted or  
until all queued frames are transmitted. A DIL_data_confirmation interrupt is issued to the  
MOTOROLA  
MC68606 USER’S MANUAL  
9-11  
MLAPD Implementation of Special Modes  
host when all frames are transmitted. This interrupt indicates that all frames received from  
the physical level have been handled by the MLAPD. Level 3 collects the received 1,  
exchange identification (XID), unnumbered information WI), and nonstandard_control  
frames for the various logical links from their associated receive queues. All frames received  
for nonprotocol links are collected from their associated receive queues and processed by  
the host.  
9.6.2 Handling Transmit Frames  
The memory-to-memory operation mode does not affect the procedure for passing transmit  
frames from Level 3 to the MLAPD for Level 2 handling. Level 3 queues 1, XID, UI, and  
nonstandard_control frames to the Global XID/UI Queue, I frame Queues_1_3, and XID/UI  
Queues_0,1. (I frame Queue_0 is not available for passing transmit frames since it is  
dedicated for passing received frames to the MLAPD for processing.) The MLAPD  
independently generates unnumbered (U) and supervisory (S) frames and places them on  
the Level 2 Queue.  
The transmit servicing scheme for these transmit queues and the protocol actions provided  
by the MLAPD are unchanged. During the transmit process, the MLAPD prefixs the  
appropriate DLCI, control field, and CRC to queued transmit frames for LAPD links. The  
MLAPD may optionally append address and CRC for nonprotocol links.  
As each transmitted frame is received via the internal loopback path, the MLAPD receiver  
handles the frame as for promiscuous receive mode. The entire frame is stored in memory.  
The MLAPD uses the receive pool assigned by the host to the logical link associated with  
DLCI equal to zero. The host is responsible for enabling transmission of these frames by the  
physical level.  
9-12  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 10  
SIGNAL DESCRIPTION  
The input and output signals of the MLAPD can be functionally viewed as shown in Figure  
10-1. The MC68606 implements a 24-bit address bus and supports either an 8-or 16-bit data  
bus. The level on the MOT/INT pin determines whether the bus interface signals operate  
according to Motorola or Intel-compatible bus specifications. In either case, the four bus  
exception signals, BERR, HALT, RESET, and RETRY are available. The physical-level  
connection is implemented as a conventional 6-signal serial interface. The system clock is  
independent of the receive and transmit serial clocks. Additionally the internal serial logic  
block is static, allowing the receive and transmit clocks to be stopped if necessary.  
This section contains a brief description of the input and output signals of the MLAPD.  
Reference is given (if applicable) to other paragraphs containing more information about the  
function being performed.  
.
V
DD  
DATA BUS  
ADDRESS BUS  
ADDRESS BUS  
D0-D15  
A3-A23  
A1, A2  
GND  
CLK  
MC68606  
RTS/TSTART  
CTS/RSTART  
TxCLK  
FULL MOTOROLA  
OR  
FULL INTEL  
BUS CONTROL  
MOT/INT  
BERR  
SERIAL  
INTERFACE  
TxD  
HALT  
RxCLK  
RESET  
RETRY  
RxD  
Figure 10-1. MC68606 Signals  
MOTOROLA  
MC68606 USER’S MANUAL  
10-1  
Signal Description  
NOTE  
The terms assertion and negation will be used extensively to  
avoid confusion when dealing with a mixture of "active low" and  
"active high" signals. The terms assert and assertion are used to  
indicate that a signal is active or true, independent of whether  
that level is represented by a high or low voltage. The terms ne-  
gate and negation are used to indicate that a signal is inactive or  
false.  
10.1 SERIAL INTERFACE  
10.1.1 Modem Control Signals  
The following paragraphs describe the modem control signals.  
10.1.1.1 REQUEST-TO-SEND (RTS) OR TRANSMIT START (TSTART). This output pin  
is defined as RTS when the zero_insertion_select bit in option_bits_1 Global Configuration  
Block (GCB) entry is set to zero. This pin is defined as TSTART when the  
zero_insertion_select bit is set to one.  
The MLAPD negates the RTS pin for the following conditions:  
Hardware or software reset,  
DMA_TEST command, and  
Loopback_select enabled and echo_select disabled.  
When RTS is negated, transmit data (TxD) is three-stated.  
The MLAPD asserts the RTS output pin either continually or intermittently after executing  
the INIT command based upon the RTS_select bit in the option_bits_1 GCB entry. If  
RTS_select is set to one, RTS will be asserted when the first transmit frame is pending  
following INIT and will remain asserted until one of the above conditions occur, which cause  
the MLAPD to negate RTS. When no transmit frames are pending in this mode, the MLAPD  
will transmit flags on the TxD line.  
If RTS_select is set to zero, RTS will be asserted whenever a frame is waiting for  
transmission and negated whenever no transmit frames are pending. When no transmit  
frames are pending in this mode, the TxD line is three-stated. This provides a ones fill when  
a pullup resistor is connected to TxD, satisfying the basic rate ISDN requirement.  
For either setting of the RTS_select bit, when RTS and clear-to-send (CTS) are both  
asserted, the MLAPD only transmits pad flags and frames.  
The MLAPD asserts the TSTART when the first bit of a frame is presented on the TxD pin  
and negates this signal after the last bit of the frame is presented on TxD.  
10.1.1.2 CLEAR-TO-SEND (CTS) OR RECEIVE START (RSTART). This input pin is  
defined as CTS when the zero_deletion_select bit in the option_bits_1 GCB entry is set to  
zero. This in is defined as RSTART when the zero_deletion_select bit is set to one.  
10-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Signal Description  
Following the assertion of RTS, the MLAPD monitors CTS. If CTS is not asserted within the  
time period defined by the CTS_timeout_threshold value multiplied by 2048 transmit clock  
(TxCLK) cycles, a CTS_timeout_threshold interrupt is placed on the Interrupt Queue.  
If the CTS signal is negated for more than one TxCLK cycle during a frame transmission,  
the MLAPD writes a CTS_lost indication to the Interrupt Queue. Whenever is negated, TxD  
is in three-state. By connecting a pullup resistor to TxD, ones are sent on the TxD line while  
CTS is lost. If CTS remains negated for seven TxCLK cycles during frame transmission, the  
effect is as if an abort has been generated for the frame. If the CTS is reasserted in the same  
frame, the MLAPD transmitter is allowed to drive TxD with the bit that would have been  
transmitted at that bit time if CTS had not been lost. However, a cyclical redundancy check  
(CRC) error should be detected at the receiving station due to the ones which were inserted  
in the bit stream.  
When RSTART is asserted, the receiver starts receiving the data on receive data (RxD).  
When RSTART is negated the receiver stops sampling RxD and checks the CRC. A frame  
is defined as all the bits received on RxD while RSTART is asserted.  
10.1.2 Transmit Signals  
The following paragraphs describe the transmit signals.  
10.1.2.1 TRANSMIT CLOCK (TxCLK). The MLAPD synchronizes the transmit data to this  
input clock. This clock is also used to synchronize both the receive and transmit data during  
internal serial loopback. The MLAPD was designed to perform the full LAPD procedures with  
a serial clock to system clock ratio of 1:6. Operation at ratios less than 1:6 may result in  
performance and throughput degradation. The limiting serial clock to system clock ratio is  
1:1.  
10.1.2.2 TRANSMIT DATA (TxD). This output pin is used to send the serial bit stream. The  
data is encoded in nonreturn-to-zero (NRZ). TxD can be driven by two sources: the  
transmitter and RxD. The echo_select bit in the option_bits_1 GCB entry selects between  
these two transmit sources.  
The control of the three-state logic for TxD is a function of four option bits, an input pin, and  
an output pin (see Table 10-1).  
10.1.3 Receive Signals  
The following paragraphs describe the receive signals.  
10.1.3.1 RECEIVE CLOCK (RxCLK). The MLAPD synchronizes the receive data to this  
input clock. The MLAPD was designed to perform the full LAPD procedures with a serial  
clock to system clock ration of 1:6. Operation at ratios less than 1:6 may result in  
performance and throughput degradation. The limiting serial clock to system clock ratio is  
1:1.  
MOTOROLA  
MC68606 USER’S MANUAL  
10-3  
Signal Description  
Table 10-1. TxD Three-State Logic Control  
Zero  
Zero  
Loop  
Back  
Echo  
Insert Delete RTS  
Select Select  
CTS  
Output in Three-State?  
1
0
0
x
1
0
x
x
1
x
x
x
x
x
x
x
x
x
No (RxD is the transmit source)  
Yes  
No (transmit queues are the  
transmit source)  
No (transmit queues are the  
transmit source)  
No (transmit queues are the  
transmit source)  
Yes  
0
0
0
0
x
1
0
X
0
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
Yes  
Yes  
10.1.3.2 RECEIVE DATA (RxD). This input line receives the serial bit stream from the  
communications link synchronized to the receive clock. The data is encoded in NRZ.  
10.2 MOTOROLA BUS INTERFACE  
On the system bus, the MLAPD operates as a bus master and as a slave device. When in  
the master mode, the MLAPD assumes mastership of the system bus and performs memory  
reads and writes using its on-chip direct memory access (DMA) capability. The MLAPD  
enters slave mode whenever CS or IACK (INTA) is asserted. In this mode, the MLAPD  
accepts data from or places data on D0–D15, according to the level on the R/W (RD, WR)  
pin. Therefore, many MLAPD system bus signals are bidirectional, with the pin's status as  
an input or an output determined by the current master or slave operation mode.  
The Motorola bus interface signals are discussed in the following paragraphs.  
10.2.1 Motorola/Intel Mode (MOT/INT)  
This input signal determines whether the MLAPD operates according to the Motorola  
asynchronous-system bus specifications or the Intel synchronous-system bus  
specifications. When MOT/INT is high, the MLAPD bus signals function as Motorola bus  
signals; when MOT/INT is low, the MLAPD bus signals function as Intel bus signals.  
10.2.2 Address Bus (A1–A23)  
This is a 24-bit (when combined with the UDS/A0 signal), unidirectional (with the exception  
of A1 and A2), three-state bus capable of addressing up to 16 Mbytes of memory. Al and  
10-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Signal Description  
A2 are bidirectional three-state lines that address internal MLAPD registers in the slave  
mode and that provide the lower two address outputs in the master mode.  
10.2.3 Data Bus (D0–D15)  
The MLAPD has a 16-bit, bidirectional, three-state bus for general-purpose data transfer  
The MLAPD can be configured to interface to an 8-bit or a 16-bit data bus. The data bus is  
used for data input during a host processor write or MLAPD read cycle, and for data output  
during a host processor read or MLAPD write cycle.  
10.2.4 Bus Control Signals  
The following paragraphs describe the bus control signals.  
10.2.4.1 CHIP SELECT (CS). This input pin selects the MLAPD for a host processor bus  
cycle. When US is asserted, the address on A1, A2, and the data strobes select the internal  
MLAPD register that will be involved in the transfer. CS should be generated by qualifying  
an address decode signal with address strobe.  
10.2.4.2 ADDRESS STROBE (AS). This bidirectional three-state signal is an output in the  
direct memory access (DMA) mode which indicates that a valid address is present on the  
address bus. In slave mode, AS is an input that is monitored to determine when the MLAPD  
can take control of the bus (after the MLAPD has requested and has been granted use of  
the system bus).  
10.2.4.3 READ/WRITE (R/W. This bidirectional three-state signal indicates the direction of  
data transfer during a bus cycle. The R/W pin is an input in the slave mode. A high level  
indicates that the transfer is from the MLAPD to the data bus, and a low level indicates that  
the transfer is from the data bus to the MLAPD.  
The R/W pin is an output in the master mode. A high level indicates that the transfer is from  
the data bus to the MLAPD, and a low level indicates that the transfer is from the MLAPD to  
the data bus.  
10.2.4.4 UPPER DATA STROBE (UDS/A0) AND LOWER DATA STROBE (LDS/DS).  
These bidirectional three-state signals control the flow of data on the data bus. When using  
a 16-bit data bus, these pins function as UDS and LDS. During any bus cycle, UDS is  
asserted if data is to be transferred over data lines D8–Dl5, and LDS is asserted if data is to  
be transferred over data lines D0–D7. UDS and LDS are controlled by the MLAPD when  
operating in the master mode and by the host when operating in the slave mode.  
When using an 8-bit data bus, these pins function as A0 and DS. A0 is an extension to the  
lower address lines to provide the address of a byte in the address map and is valid when  
A1–A23 are valid. DS is the data strobe that enables external data buffers and indicates that  
valid data is on the bus during a write cycle. See Table 10-2.  
MOTOROLA  
MC68606 USER’S MANUAL  
10-5  
Signal Description  
UDS/A0  
Table 10-2. Motorola Data Strobe Control of Data Bus  
LDS/DS  
R/W  
16-Bit Bus  
x
D8–15  
D0–D7  
High  
Low  
High  
High  
Low  
Low  
High  
Low  
Low  
Low  
High  
High  
No Valid Data  
Valid Data  
x
No Valid Data  
Valid Data  
Valid Data  
Valid Data  
x
x
Low  
High  
Low  
x
Valid Data  
Valid Data  
High  
8-Bit Bus  
Low  
x
x
X
x
Low  
Low  
High  
No Valid Data  
x
Valid Data  
Valid Data  
High  
X
No Valid Data  
No Valid Data  
10.2.4.5 DATA TRANSFER ACKNOWLEDGE (DTACK). This bidirectional three-state  
line signals that the asynchronous bus cycle may be terminated. In the slave mode, this  
output indicates that the MLAPD has accepted data from the host or placed data on the  
system bus for the host. In the master mode, this input is monitored by the MLAPD to  
determine when to terminate the bus cycle. As long as DTACK remains negated, the  
MLAPD will insert wait cycles into the bus cycle. The system should provide the DMA  
timeout function by asserting bus error (BERR) or RETRY to terminate the cycle. When  
DTACK is asserted, the bus cycle will be terminated.  
10.2.5 Bus Arbitration Signals  
The three signals discussed in the following paragraphs form a bus arbitration circuit that  
determines which device in a system is the current bus master.  
10.2.5.1 BUS REQUEST (BR). This open-drain output pin is asserted by the MLAPD to  
request control of the bus. BR is wire-ORed with all other devices that may be bus masters.  
10.2.5.2 BUS GRANT (BG). This input is asserted by the CPU or an external bus arbiter to  
inform the MLAPD that it may assume bus mastership as soon as the current bus cycle is  
completed.  
10.2.5.3 BUS GRANT ACKNOWLEDGE (BGACK). This bidirectional three-state signal is  
asserted by the MLAPD to indicate that it is the current system bus master. BGACK is  
monitored as an input to determine when the MLAPD can become bus master. BGACK is  
not asserted as an output until the following conditions are met:  
BR is asserted,  
BG is asserted,  
10-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Signal Description  
AS is inactive, indicating that the current bus cycle has ended,  
BGACK is inactive, indicating that no other device is claiming bus mastership, and  
HALT, RETRY, and BERR are negated.  
10.2.6 Interrupt Control Signals  
The two signals discussed in the following paragraphs perform an interrupt request/  
acknowledge handshake with the host processor.  
10.2.6.1 INTERRUPT REQUEST (IRQ). This open-drain output is asserted by the MLAPD  
to request service from the host.  
10.2.6.2 INTERRUPT ACKNOWLEDGE (IACK). This input is asserted by the host to ac-  
knowledge that it has received an interrupt request from the MLAPD. In response to the  
assertion of IACK, the MLAPD places a vector on D0–D7 that is used by the host to fetch  
the proper MLAPD interrupt handler routine.  
10.2.7 Bus Exception Signals  
The following paragraphs describe the bus exception signals.  
10.2.7.1 RESET(RESET). Whenthisinputsignalisasserted,the MLAPD executes an internal  
reset sequence. RESET should be asserted for at least 10 system clock cycles. TxCLK is  
not required for completion of reset. The semaphore register (SR) is set to hex 'FF' when the  
reset sequence is completed.  
10.2.7.2 HALT (HALT). When this input signal is asserted, the MLAPD halts after the  
current bus cycle is terminated by DTACK. The MLAPD releases ownership of the bus and  
enters the idle state until all the exception signals are negated. At this time, the MLAPD will  
rearbitrate for the system bus and continue DMA operations, if necessary.  
10.2.7.3 BUS ERROR (BERR) . When the BERR input signal is asserted, the MLAPD  
aborts the current bus cycle and releases control of the bus, regardless of the state of the  
HALT or RETRY signals. After BERR is negated, the MLAPD will rearbitrate for the bus as  
part of its bus error handling operation. The MLAPD reports the bus error via the Interrupt  
Queue.  
10.2.7.4 (RETRY) . When the RETRY input signal is asserted, the MLAPD terminates the  
current bus cycle and enters a waiting mode. After all the exception signals are negated by  
external logic, the MLAPD will rerun the previous cycle. If HALT, RETRY, and DTACK signal  
are asserted simultaneously, the MLAPD enters the relinquish and retry sequence.  
MOTOROLA  
MC68606 USER’S MANUAL  
10-7  
Signal Description  
10.2.8 System Clock (CLK) Signal  
This input signal is the MLAPD master clock. This signal ranges from 8 to 16.67 MHz. The  
MLAPD can operate with a CLK signal that is synchronous or asynchronous with respect to  
the host clock in the Motorola mode, as long as the bus requirements are satisfied.  
10.2.9 Motorola Signal Summary  
Table 10-3 is a summary of the Motorola signals definitions.  
Table 10-3. Motorola Signal Summary  
Signal Name  
Address Bus  
Mnemonic  
A1–A2  
A3–A23  
D0–D15  
UDS/A0  
LDS/DS  
AS  
Input/Output  
Input/Output  
Output  
Active State  
NA  
Driver Type  
Three-State  
Three-State  
Three-State  
Three-State*  
Three-State*  
Three-State*  
Three-State*  
NA  
Address Bus  
Input/Output  
input/Output  
Input/Output  
Input/Output  
Input/Output  
Input  
NA  
Data Bus  
Low/NA  
Low  
Upper Data Strobe  
Lower Data Strobe  
Address Strobe  
Read/Write  
Low  
R/W  
High/Low  
Low  
CS  
Chip Select  
DTACK  
BR  
Input/Output  
Output  
Low  
Three-State*  
Open-Drain  
Data Transfer Acknowledge  
Bus Request  
Low  
BG  
Input  
Low  
Bus Grant  
BGACK  
RESET  
HALT  
Input/Output  
Input  
Low  
Three-State*  
Bus Grant Acknowledge  
Reset  
Low  
Input  
Low  
Halt  
BERR  
RETRY  
MOT/INT  
RTS/TSTART  
CTS/RSTART  
TxCLK  
TxD  
Input  
Low  
Bus Error  
Input  
Low  
Retry  
Input  
High/Low  
Low  
Motorola/Intel  
Output  
Normal  
Request-To-Send/Transmit Start  
Clear-To-Send Receive Start  
Transmit Clock  
Transmit Data  
Receive Clock  
Receive Data  
Input  
Low  
Input  
NA  
Output  
N/A  
Three-State*  
Open-Drain  
RxCLK  
RxD  
Input  
NA  
Input  
N/A  
IRQ  
Output  
Low  
Interrupt Request  
Interrupt Acknowledge  
Clock  
IACK  
Input  
Low  
CLK  
Input  
NA  
* These signals require a pullup resistor to maintain a high voltage when in the high-impedance or negated state.  
However, when these signals go to the high-impedance or negated state, they will first drive the pin high  
momentarily to reduce the signal rise time.  
10-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Signal Description  
10.3 INTEL-COMPATIBLE BUS INTERFACE  
On the system bus, the MLAPD operates as a bus master and as a slave device. When in  
the master mode, the MLAPD assumes mastership of the system bus and performs memory  
reads and writes using its on-chip direct memory access (DMA) capability. The MLAPD  
enters slave mode whenever CS or IACK (INTA) is asserted. In this mode, the MLAPD  
accepts data from or places data on D0–D15, according to the level on the R/W (RD, WR)  
pin. Therefore, many MLAPD system bus signals are bidirectional, with the pin's status as  
an input or an output determined by the current master or slave operation mode.  
The Intel-compatible bus interface signals are discussed in the following paragraphs.  
10.3.1 Motorola/Intel Mode (MOT/INT)  
This input signal determines whether the MLAPD operates according to the Motorola  
asynchronous system bus specifications or the Intel synchronous system bus specifications.  
When MOT/INT is high, the MLAPD bus signals function as Motorola bus signals; when  
MOT/INT is low, the MLAPD bus signals function as Intel-compatible bus signals.  
10.3.2 Address Bus (A0–A23)  
This is a 24-bit, unidirectional (with the exception of A0, A1, and A2), three-state bus capable  
of addressing up to 16 Mbytes of memory. A1 and A2 are bidirectional three-state lines that  
address internal MLAPD registers in the slave mode and that provide the lower address  
output lines in the master mode. A0 is a bidirectional, three-state line that enables data  
transfer onto the lower byte of the data bus (D7–D0).  
10.3.3 Data Bus (D0–D15)  
The MLAPD has a 16-bit, bidirectional, three-state bus for general-purpose data transfers.  
The MLAPD can be configured to interface to an 8-bit or a 16-bit data bus. The data bus is  
used for data input during a host processor write or MLAPD read cycle and for data output  
during a host processor read or MLAPD write cycle.  
10.3.4 Bus Control Signals  
The following paragraphs describe the bus control signals.  
10.3.4.1 CHIP SELECT (CS). This input pin selects the MLAPD for a host processor bus  
cycle. When US is asserted, the address on A0, A1, A2 and the BHE selects the internal  
MLAPD register that will be involved in the transfer.  
10.3.4.2 ADDRESS STROBE (AS). In master mode, this three-state output signal  
indicates that a valid address is present on the address bus.  
MOTOROLA  
MC68606 USER’S MANUAL  
10-9  
Signal Description  
10.3.4.3 READ (RD). This bidirectional three-state signal indicates the direction of the data  
transfer during a bus cycle. In master mode, RD is driven low by the MLAPD when a read  
cycle is to be performed. In slave mode, RD is an input signal monitored by the MLAPD.  
When the VD input is low, the MLAPD transfers data from the selected register onto the data  
bus.  
10.3.4.4 WRITE (WR). This bidirectional three-state signal indicates the direction of data  
transfer during a bus cycle. In master mode, WR is driven low by the MLAPD when a write  
cycle is to be performed. In slave mode, WR is an input signal monitored by the MLAPD.  
When the WR input is low, the MLAPD transfers data from the data bus into the selected  
register.  
10.3.4.5 BUS HIGH ENABLE (BHE). This bidirectional three-state line is used to enable  
transfer of data onto the most significant byte of the data bus (D15–D8). In master mode,  
BHE is an output signal that is combined with A0 to control the flow of data as shown in the  
following table. In the slave mode, BHE is an input signal that is combined with AO to control  
the data flow on the data bus. The BHE and A0 decoding is shown in Table 10-4.  
10.3.4.6 READY (READY). This three-state input/output line is used to extend data transfer  
cycles as necessary. In master mode, READY is an input signal monitored by the MLAPD  
to determine when to terminate the current bus cycle. While READY is negated, the MLAPD  
will insert wait states. When READY is asserted, the MLAPD will terminate the bus cycle.  
Table 10-4. Intel-Compatible Byte Addressing  
BHE  
A0  
RD  
WR  
D8–D15  
D0–D7  
16-Bit Bus  
X
x
High  
x
High  
x
No Valid Data  
No Valid Data  
Valid Data  
Valid Data  
x
No Valid Data  
No Valid Data  
Valid Data  
Valid Data  
Valid Data  
Valid Data  
x
High  
Low  
Low  
High  
High  
Low  
Low  
High  
Low  
Low  
Low  
Low  
High  
High  
Low  
High  
Low  
High  
Low  
High  
High  
Low  
High  
Low  
High  
Low  
x
Valid Data  
Valid Data  
x
8-Bit Bus  
x
x
x
x
x
x
High  
Low  
High  
Low  
High  
High  
High  
Low  
High  
Low  
No Valid Data  
No Valid Data  
Valid Data  
Valid Data  
Valid Data  
Valid Data  
High  
High  
Low  
Low  
x
No Valid Data  
x
No Valid Data  
10-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Signal Description  
In slave mode, READY is an output signal asserted by the MLAPD indicating to the host that  
the MLAPD is ready to perform the data transfer on the next clock high transition.  
10.3.5 Bus Arbitration Signals  
The two signals discussed in the following paragraphs are used for requesting and  
acknowledging bus mastership.  
10.3.5.1 HOLD REQUEST (HRQ) . This output signal is asserted to request control of the  
system bus. This signal remains asserted after bus mastership has been granted, as long  
as the MLAPD controls the system bus.  
10.3.5.2 HOLD ACKNOWLEDGE (HOLDA). This input signal is asserted by the CPU or an  
external bus arbiter indicating that the MLAPD has been given mastership of the system  
bus. This signal is negated when HRQ is negated, acknowledging that the current bus  
master has released control of the system bus. If HOLDA is negated before HRQ negation,  
the MLAPD will execute a HALT sequence. The MLAPD releases ownership of the bus after  
the current bus cycle is terminated by READY and then negates HRQ.  
10.3.6 Interrupt Control Signals  
The two signals discussed in the following paragraphs perform an interrupt request/  
acknowledge handshake with the host processor.  
10.3.6.1 INTERRUPT REQUEST (INTR). This output signal is asserted by the MLAPD to  
request service from the host.  
10.3.6.2 INTERRUPT ACKNOWLEDGE (INTA) . This input signal is asserted by the host  
to acknowledge that it has received an interrupt request from the MLAPD. In response to the  
assertion of INTA, the MLAPD places a vector on D0–D7, which is used by the host to fetch  
the address of the proper MLAPD interrupt handier routine, and negates INTR. INTA may  
be asserted once or twice, depending on the interrupt logic implementation. The interrupt  
vector will be driven at every INTA assertion.  
10.3.7 Bus Exception Signals  
The following paragraphs describe the bus exception signals.  
10.3.7.1 RESET (RESET). When this input signal is asserted, the MLAPD executes an  
internal reset sequence. RESET should be asserted for at least 10 clock cycles.TxCLK is  
not required for completion of reset. The SR is set to hex 'FF' when the reset sequence is  
completed.  
MOTOROLA  
MC68606 USER’S MANUAL  
10-11  
Signal Description  
10.3.7.2 HALT (HALT). When this input signal is asserted, the MLAPD halts after the  
current bus cycle is terminated by READY. The MLAPD releases ownership of the bus and  
enters the idle state until all the exception signals are negated. At this time, the MLAPD will  
rearbitrate for the system bus and continue DMA operations, if necessary.  
10.3.7.3 BUS ERROR (BERR) . When the BERR input signal is asserted, the MLAPD  
aborts the current bus cycle and releases control of the bus, regardless of the state of the  
HALT or RETRY signals. After BERR is negated, the MLAPD will rearbitrate for the bus as  
part of its bus error handling operation. The MLAPD reports the bus error via the Interrupt  
Queue.  
10.3.7.4 RETRY (RETRY) . When the RETRY input signal is asserted, the MLAPD  
terminates the current bus cycle and enters a waiting mode. After all the exception signals  
are negated by external logic, the MLAPD will rerun the previous cycle. If HALT, RETRY,  
and READY are asserted, the MLAPD enters the relinquish and retry sequence.  
10.3.8 System Clock (CLK) Signal  
This input signal is the MLAPD master clock. This signal can range from 8 to 16.67 MHz.  
10.3.9 Intel Signal Summary  
Table 10-5 is a summary of the Intel signal definitions.  
10-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Signal Description  
Table 10-5. Intel-Compatible Signal Summary  
Signal Name  
Address Bus  
Mnemonic  
A0  
Input/output  
Input/Output  
Input/Output  
Output  
Active State  
NA  
Driver Type  
Three-State*  
Three-State*  
Three-State  
Three-State  
Three-State*  
Three-State*  
Three-State*  
Three-State*  
Address Bus  
Address Bus  
Data Bus  
A1–A2  
A3–A23  
D0–D15  
AS  
NA  
NA  
Input/Output  
Output  
NA  
Address Strobe  
Bus High Enable  
Read  
Low  
Low  
Low  
Low  
Low  
High  
High  
High  
Low  
Low  
Low  
Low  
High/Low  
Low  
Low  
NA  
BHE  
Input/Output  
Input/output  
Input/Output  
Input  
RD  
Write  
WR  
Chip Select  
CS  
Ready  
READY  
HRQ  
Input/Output  
Output  
Three-State**  
Normal  
Hold Request  
Hold Acknowledge  
Reset  
HOLDA  
RESET  
HALT  
input  
Input  
Halt  
Input  
Bus Error  
BERR  
RETRY  
MOT/INT  
RTS/TSTART  
CTS/RSTART  
TxCLK  
TxD  
Input  
Retry  
Input  
Motorola/Intel  
Request-To-Send/Transmit Start  
Clear-To-Send/Receive Start  
Transmit Clock  
Transmit Data  
Receive Clock  
Receive Data  
Interrupt Request  
Interrupt Acknowledge  
Clock  
Input  
Output  
Normal  
Three-State*  
Normal  
Input  
Input  
Output  
NA  
RxCLK  
RxD  
Input  
NA  
Input  
NA  
INTR  
Output  
High  
Low  
NA  
INTA  
Input  
CLK  
Input  
* These signals require a pullup resistor to maintain a high voltage when in the high-impedance or negated state.  
However, when these signals go to the high-impedance or negated state, they will first drive the pin high  
momentarily to reduce the signal rise time.  
** This signal requires a pulldown resistor to maintain a low voltage when in the high-impedance or negated state.  
However, when this signal goes to the high-impedance or negated state, it will first drive the pin low momentarily to  
reduce the signal fall time.  
MOTOROLA  
MC68606 USER’S MANUAL  
10-13  
Signal Description  
10-14  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 11  
BUS OPERATION  
The following section describes the bus signal operation of the MLAPD during data transfer  
operations (slave and master operation modes), bus arbitration, and bus exceptions.  
Separate sections describe Motorola bus operation and Intel-compatible bus operation.  
Functional timing diagrams are included to assist in the definition of signal timing; however,  
these diagrams are not intended as parametric timing definitions. For detailed timing  
relationships refer to Section 12 Electrical Specifications.  
11.1 MOTOROLA BUS OPERATION  
11.1.1 Slave Operation Mode  
In the slave operation mode, the MLAPD is a peripheral slave to the bus master. The  
MLAPD enters the slave operation mode when CS or IACK is asserted. During slave mode  
operations, the MLAPD accepts data from or places data on the data bus, according to the  
level on the R/W pin. The data transferred will either be written into or read from the internal  
register that is selected by the encoding of A1 and A2 and by the data strobes. Refer to  
Table 10-2.  
This mode of operation is used during the initialization sequence to load the interrupt-vector  
register (IVR) and the Global Configuration Block (GCB) address into the data register (DR).  
The slave operation mode is used during normal operation to read the semaphore register  
(SR) and to write commands into the MLAPD command register (CR).  
In slave mode, the MLAPD can operate with a clock input which is synchronous or  
asynchronous with respect to the host clock, as long as the bus requirements are satisfied.  
In the functional diagrams showing host operations, the bus master is assumed to be a  
MC68000, MC68008, or MC68010 with a clock signal identical to the MLAPD clock signal.  
The state numbers (S0, S1, etc.) refer to the numbering convention for those processors.  
11.1.1.1 HOST PROCESSOR READ CYCLE. During a host processor read cycle, the  
MLAPD places data on the data bus and asserts DTACK to indicate that the data is valid.  
Figure 11-1 shows the functional timing for a byte read cycle on a 16-bit data bus. The  
timings for even-and odd-byte host reads on a 16-bit data bus or any host read on an 8-bit  
bus are identical, with the encoding of UDS/A0 and LDS/DS selecting the proper byte. The  
8-bit SR is always selected during a host processor read cycle, regardless of the A1/A2  
encoding, as this register is the only MLAPD register directly readable by the host processor.  
MOTOROLA  
MC68606 USER’S MANUAL  
11-1  
Bus Operation  
If the upper data byte is selected during a host processor read cycle, the MLAPD drives D8-  
Dl5 to hex 'FF'.  
The MLAPD begins a host read cycle when CS is asserted and the R/W line is high. The  
MLAPD responds to CS by driving the data bus bytes selected by UDS/A0 and LDS/DS and  
by asserting DTACK. Next, the MLAPD waits until both UDS/A0 and LDS/DS are negated  
or until CS is negated; then three-states the data lines, and last, negates DTACK.  
11.1.1.2 HOST PROCESSOR WRITE CYCLE . During a host processor write cycle, the  
MLAPD accepts data from the data bus and asserts DTACK indicating to the bus master  
that the data has been loaded into the selected register. The only MLAPD registers that are  
directly writable by the host processor are the IVR, DR, and CR.  
A host processor write cycle begins when CS is asserted and R/W is low. The MLAPD  
responds by decoding A1, A2, UDS/A0, and LDS/DS signals. When a valid register is  
selected, the MLAPD accepts data from the data bus, places the data into the selected  
register, and asserts DTACK. Next, the MLAPD waits until both LDS/DS and UDS/A0 are  
negated or until CS is negated and then negates DTACK. The timing for this operation is  
shown in Figure 11-2.  
11.1.2 Interrupt Acknowledge Cycle  
During an interrupt acknowledge cycle, the host processor is responding to an interrupt  
request from the MLAPD. The timing of an interrupt acknowledge cycle is identical to an  
odd-byte read cycle, except that it is started by the assertion of an IACK signal rather than  
CS. CS and IACK are mutually exclusive signals and should not be asserted simultaneously.  
If IACK is asserted when the MLAPD is bus master, an address error is generated.  
The interrupt acknowledge cycle is started by the MLAPD when IACK is asserted and LDS/  
DS is asserted. The MLAPD responds by placing a vector number on D0-D7 and asserting  
DTACK. The vector number remains valid on the data bus until IACK or LDS is negated by  
the host processor. At this time the MLAPD three-states the data lines and negates DTACK.  
The timing is shown in Figure 11-3..  
S0  
S1 S2  
S3  
S4 SW SW SW SW S5  
S6  
S7  
S0  
CLK  
(INPUT)  
R/W  
(INPUT)  
CS/LDS  
(INPUT)  
DTACK  
(OUTPUT)  
D0-D7  
(OUTPUT)  
FF OR FE  
Figure 11-1. Motorola Typical Host Byte Read Cycle Timing Diagram  
11-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
.
S0  
S1 S2  
S3  
S4  
S5 SW SW SW SW S6  
S7  
S0  
CLK  
(INPUT)  
R/W  
(INPUT)  
A1, A2  
(INPUT)  
CS/LDS/UDS  
(INPUT)  
DTACK  
(OUTPUT)  
D0-D15  
(INPUT)  
Figure 11-2. Motorola Typical Host Word Write Cycle Timing Diagram  
11.1.3 Master Operation  
In the master operation mode, the MLAPD is the bus master and performs memory read and  
write operations. The MLAPD can operate in either an 8-bit or a 16-bit bus configuration.  
.
S0  
S1 S2  
S3  
S4 SW SW SW SW S5  
S6  
S7  
S0  
CLK  
(INPUT)  
IRQ  
(OUTPUT)  
R/W  
(INPUT)  
IACK/LDS  
(INPUT)  
DTACK  
(OUTPUT)  
D0-D7  
(OUTPUT)  
INTERRUPT VECTOR  
Figure 11-3. Motorola Typical Interrupt Acknowledge Cycle Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-3  
Bus Operation  
11.1.3.1 DMA PRIORITY SCHEME. The MLAPD has four direct memory access (DMA)  
chan- nels which are used to access the receive memory buffers, the transmit memory  
buffers, and the various shared memory tables. During one DMA burst, the MLAPD may  
access one or more of these memory structures. Commands from the host that are received  
between DMA bursts are handled by the MLAPD microcode and have higher priority than  
the receiver and transmitter. For each memory access, an internal arbiter determines which  
section of the MLAPD will be serviced: the microcode controller, the receiver, or the  
transmitter. The priority scheme used in the online state is listed below.  
1. Microcode controller, if execution of microcode requires a memory access  
2. Receiver, if the RxFIFO has more than 15 full words  
3. Transmitter, if the TxFIFO has more than 15 empty words  
4. Receiver, if the RxFIFO has more than four full words or the RxFIFO contains a com-  
plete frame  
5. Transmitter, if the TxFIFO has more than four empty words  
6. Receiver, if the RxFIFO is not empty and the MLAPD is already bus master  
7. Transmitter, if the TxFIFO is not full and the MLAPD is already bus master  
As the state of the receive first-in first-out (RxFIFO) buffer and transmit first-in first-out  
(TxFIFO) buffer changes, the priority of the required memory accesses for the receiver and  
transmitter changes. For example: If RxFIFO has two full words and TxFIFO has one empty  
word, then no DMA activity will be initiated until the microcode requires a DMA cycle.  
Thus the sequence will be:  
(rule 1, RxFIFO = 2, TxFIFO = 1) microcode  
(rule 6, RxFIFO = 2, TxFIFO = 1) Rx, Rx  
(rule 7, RxFIFO = 0, TxFIFO = 1) Tx  
Both receive (Rx) and transmit (Tx) requests are handled during the microcode-initiated  
DMA burst.  
For example: If the RxFIFO has 10 full words, the TxFIFO has 17 empty words, and no  
commands have been received from the host, then the sequential memory cycles are:  
(rule 3, RxFIFO = 10, TxFIFO = 17) Tx, Tx  
(rule 4, RxFIFO = 10, TxFIFO = 15) Rx, Rx, Rx, Rx, Rx, Rx  
(rule 5, RxFIFO = 4, TxFIFO = 15) Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx  
(rule 6, RxFIFO = 4, TxFIFO = 4) Rx, Rx, Rx, Rx  
(rule 7, RxFIFO = 0, TxFIFO = 4) Tx, Tx, Tx, Tx  
11.1.3.2 MLAPD READ CYCLES. During a DMA read operation, the MLAPD controls the  
transfer of data from memory into the MLAPD. The functional timing for a DMA read  
operation is shown in Figure 11-4. The timing for an even-or odd-byte read on a 16-bit data  
bus or any read on an 8-bit data bus is identical, with the encoding of UDS/A0 and EMUS-  
selecting the proper byte.  
The MLAPD drives the A11-A23 pins with the address of the memory location to be read.  
Then R/W is driven high, and AS, UDS/A0, and LDS/DS are asserted. DTACK is asserted  
by memory when valid data is on lines D0-D15. If using an 8-bit bus, only the data on lines  
D0-D7 is assumed to be valid. When DTACK is asserted, the data is latched by the MLAPD  
from the data bus, and the bus cycle is terminated.  
11-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
.
S0  
S1 S2  
S3  
S4  
S5  
S6  
S7  
S0  
S1  
CLK  
(INPUT)  
A1-A23  
(OUTPUT)  
AS  
(OUTPUT)  
UDS/LDS  
(OUTPUT)  
R/W  
(OUTPUT)  
D0-D15  
(INPUT)  
DTACK  
(INPUT)  
Figure 11-4. Motorola Typical DMA Read Cycle Timing Diagram  
11.1.3.3 MLAPD WRITE CYCLES. During a DMA write operation, the MLAPD controls the  
transfer of data to memory from the MLAPD. The functional timing for this operation is  
shown in Figure 11-5. The timing for an even-or odd-byte write on a 16-bit data bus or any  
write on an 8-bit data bus is identical, with the encoding of UDS/A0 and LDS/DS selecting  
the proper byte.  
The MLAPD drives the A11-A23 pins with the address of the memory location to be written.  
Then R/W is driven low, AS is asserted, and, depending on data size, UDS/A0 and/or LDS/  
DS are asserted. Data to be written to memory is placed on the bus, and when DTACK is  
asserted, the cycle is terminated. On a slow write, the bus cycle is extended because  
DTACK is not asserted by the end of S4.  
.
S0  
S1 S2  
S3  
S4  
S5  
S6  
S7  
S0  
S1  
CLK  
(INPUT)  
A1-A23  
(OUTPUT)  
AS  
(OUTPUT)  
UDS/LDS  
(OUTPUT)  
R/W  
(OUTPUT)  
D0-D15  
(OUTPUT)  
DTACK  
(INPUT)  
Figure 11-5. Motorola Typical DMA Write Cycle Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-5  
Bus Operation  
11.1.4 Bus Arbitration  
Once the host has initialized the MLAPD, the MLAPD uses the following bus arbitration  
protocol to request bus mastership before entering the master operation mode. The bus  
arbitration timing is shown in Figure 11-6.  
The MLAPD requests control of the system bus by asserting BR when a command is issued  
that requires a DMA operation or when data needs to be moved to or from the internal  
FIFOs. BG is asserted by an external bus arbiter to indicate that the MLAPD may assume  
bus mastership as soon as the current bus master has released the bus.  
The MLAPD waits until AS and BGACK are negated and until any bus exceptions clear,  
before asserting BGACK. The negation of AS indicates that the previous master has  
completed its bus cycle, and the negation of BGACK indicates that the previous master has  
released control of the system bus. After the MLAPD asserts BGACK, BR is negated to  
allow the external bus arbiter to begin arbitration for the next bus master.  
The MLAPD maintains control of the system bus for up to eight bus cycles or until all data  
transfers have been serviced, based upon the burst_control bit in the option_bits entry of the  
GCB. BGACK is negated after the last bus cycle is completed. Bus mastership is terminated  
at the negation of BGACK.  
11.1.5 Bus Exception Control Functions  
To fully support the M68000 bus architecture, the MLAPD has four bus exception inputs:  
RESET, HALT, BERR, and RETRY. RESET is always recognized by the MLAPD. HALT,  
RETRY, and BERR are only recognized when the MLAPD has asserted BR to become the  
bus master or when the MLAPD is the current bus master. When an exception is asserted,  
the MLAPD terminates the current bus cycle and waits for the exception signal to be  
negated. Each of the bus exceptions are discussed in detail in the following paragraphs.  
Three possible cases for bus exceptions exists. In case one, a very early bus exception  
occurs when the bus exception is asserted more than one clock cycle before DTACK is  
asserted. In case two, which is the typical case, the bus exception occurs in the same clock  
cycle as DUCK. In case three, the bus exception signal occurs in the clock cycle after  
DTACK has been asserted. In all, cases, the bus exception is acted on without any delay by  
the MLAPD, and the bus cycle is terminated. .  
SW S5  
S6 S7  
S0  
S1  
S2  
CLK  
(INPUT)  
BG  
(INPUT)  
BGACK  
(OUTPUT)  
BR  
(OUTPUT)  
AS  
(INPUT/OUTPUT)  
Figure 11-6. Motorola Typical Bus Arbitration Timing Diagram  
11-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
A late bus exception, which does not meet electrical specification (58), may cause improper  
behavior of the MLAPD, including system bus lockup.  
11.1.5.1 HALT. A low level on the HALT pin halts the MLAPD, and the current bus cycle is  
terminated by the assertion of DTACK. The MLAPD releases ownership of the bus and  
enters the idle state until the HALT pin returns to a one level. The halt timing diagram is  
shown in Figure 11-7. The MLAPD rearbitrates for the bus and continues DMA operations,  
if necessary.  
11.1.5.2 BUS ERROR. When a low level is detected on the BERR pin, the MLAPD aborts  
the current bus cycle and releases bus ownership. After the BERR signal returns to a one  
level, the MLAPD rearbitrates for the bus to report the bus error to the host processor as  
described in 7.2 Bus Error Operation. A bus error condition is shown in Figure 11-8.  
11.1.5.3 RETRY . A low level on the RETRY pin terminates the current bus cycle and  
places the MLAPD into a waiting mode. The MLAPD retains bus mastership by keeping  
BGACK asserted. When the RETRY signal returns to a one level, the MLAPD reruns the  
same bus cycle using the same address. Figure 11-9 shows the timing diagram for a retry  
operation.  
.
S0  
S1 S2  
S3  
S4  
S5  
S6  
S7  
S0  
CLK  
(INPUT)  
A1-A23  
(OUTPUT)  
AS  
(OUTPUT)  
R/W  
(OUTPUT)  
UDS/LDS  
(OUTPUT)  
D0-D15  
(INPUT)  
DTACK  
(INPUT)  
HALT  
(INPUT)  
BGACK  
(OUTPUT)  
Figure 11-7. Motorola Typical Write Cycle with HALT Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-7  
Bus Operation  
.
S0  
S1 S2  
S3  
S4  
S5  
S6  
S7  
S0  
CLK  
(INPUT)  
A1-A23  
(OUTPUT)  
AS  
(OUTPUT)  
R/W  
(OUTPUT)  
UDS/LDS  
(OUTPUT)  
D0-D15  
(OUTPUT)  
DTACK  
(INPUT)  
BERR  
(INPUT)  
BGACK  
(OUTPUT)  
Figure 11-8. Motorola Typical Read Cycle with BERR Timing Diagram  
11.1.5.4 RESET . The MLAPD is reset either by a host processor command or by a  
hardware reset from an external device. The host processor can issue a reset by passing  
the MLAPD a RESET command (hex 'FF'). The hardware reset is accomplished by driving  
the RESET pin low for at least 10 clock cycles. Normally after either a hardware or software  
reset, the MLAPD requires four clock cycles before it is ready to accept a susbsequent  
command.  
11.2 INTEL-COMPATIBLE BUS OPERATION  
11.2.1 Slave Operation Mode  
In the slave operation mode, the MLAPD is a slave to the bus master. The MLAPD enters  
the slave operation mode when CS is asserted. During slave mode operation, the MLAPD  
accepts data from or places data on the data bus, according to the level on the RD and WR  
pins. The data transferred is either written into or read from the internal register that is  
selected by the encoding of A0, A1, A2 and BHE.  
The slave operation mode is used during the initialization sequence to load the IVR and  
GCB address into the DR. The slave operation mode is used during normal operation to  
read the SR and to write commands to the CR. Each memory transfer consists of at least  
four clock cycles which are referred to as T1, T2, T3, and T4.  
11-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
.
Figure 11-9. Motorola Typical Read Cycle with RETRY Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-9  
Bus Operation  
11.2.1.1 HOST PROCESSOR READ CYCLE. During host processor read cycles, the  
MLAPD places data on the data bus and asserts READY to indicate that the data is valid on  
the data bus. Figure 11-10 shows the functional timing for a byte read cycle on a 16-bit data  
bus. The timing for even-and odd-byte host reads on a 16-bit data bus or any host read on  
an 8-bit data bus are identical, with the encoding of BHE and AO selecting the proper byte.  
The 8-bit SR is always selected during a host processor read cycle, regardless of the A1,  
A2 encoding, as this register is the only MLAPD register directly readable by th±¶lst. When  
the upper data byte is selected during a host read cycle, the MLAPD drives D8-D15 to hex  
'FF'.  
The MLAPD begins a host read cycle when CS is asserted and RD is asserted. During the  
T1 clock cycle, the MLAPD monitors the pins A0, A1, A2, and BHE. The MLAPD drives the  
appropriate data lines after RD is asserted. When the MLAPD asserts READY, the data may  
be latched at the next T4 clock cycle, according to set up and hold time specifications.  
11.2.1.2 HOST PROCESSOR WRITE CYCLE. During host processor write cycles, the  
MLAPD accepts data from the data bus and asserts READY to indicate that the data has  
been loaded into the selected register. The only MLAPD registers that are directly writable  
by the host are the CR, IVR, and the DR. The timing is identical for even-and odd-byte host  
processor writes to a 16-bit data bus or any host processor write to an 8-bit data bus.  
A host processor write cycle begins when CS is asserted and WR is asserted. During the  
T1 clock cycle, the MLAPD monitors the pins A0, A1, A2, and BHE. These pins select the  
internal MLAPD register and the data byte(s) to be written. When the MLAPD asserts  
READY, the data has been latched, and the host may terminate this bus cycle. Data is  
latched by the falling edge of T3 or Tw prior to the negation of WR. See Figure 11-11.  
.
T1  
T2  
T3  
TW  
TW  
TW  
T4  
CLK  
(INPUT)  
A0  
(INPUT)  
CS  
(INPUT)  
RD  
(INPUT)  
READY  
(OUTPUT)  
D0-D7  
(OUTPUT)  
FF OR FE  
Figure 11-10. Intel-Compatible Typical Host Byte Read Cycle Timing Diagram  
.
11-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
T1  
T2  
T3  
TW  
TW  
TW  
T4  
CLK  
(INPUT)  
BHE  
(INPUT)  
A0-A2  
(INPUT)  
CS  
(INPUT)  
WR  
(INPUT)  
READY  
(OUTPUT)  
D0-D15  
(INPUT)  
Figure 11-11. Intel-Compatible Typical Host Word Write Cycle Timing Diagram  
11.2.2 Interrupt Acknowledge Cycle  
During an interrupt acknowledge cycle, the host processor is responding to an interrupt  
request from the MLAPD. The timing of an interrupt acknowledge cycle is identical to an  
even-byte read cycle, except that it is started by the assertion of the INTA signal rather than  
CS. CS and INTA are mutually exclusive signals and should not be asserted simultaneously.  
If INTA is asserted when the MLAPD is bus master, an address error is generated.  
Whenever the MLAPD has an interrupting condition and an external interrupt indication is  
enabled via the polling_select GCB entry, INTR is asserted. The host processor  
acknowledges the interrupt by asserting INTA during T2. The MLAPD responds to INTA by  
placing a vector number on D0-D7 and asserting READY. The vector number remains valid  
on the data bus until INTA is negated by the host processor. See Figure 11-12.  
.
T1  
T2  
T3  
TW  
TW  
T4  
CLK  
(INPUT)  
INTR  
(OUTPUT)  
INTA  
(INPUT)  
READY  
(OUTPUT)  
D0-D7  
(OUTPUT)  
INTERRUPT VECTOR  
Figure 11-12. Intel-Compatible Typical Interrupt Acknowledge Cycle Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-11  
Bus Operation  
11.2.3 Master Operation  
In master operation mode, the MLAPD is the system bus master and performs memory read  
and write operations. The MLAPD can operate in either an 8-bit or a 16-bit bus configuration.  
11.2.3.1 DMA PRIORITY SCHEME . The MLAPD has four DMA channels which are used  
to access the receive memory buffers, the transmit memory buffers, and the various shared  
memory tables. During one DMA burst, the MLAPD may access one or more of these  
memory structures. Commands from the host that are received between DMA bursts are  
handled by the MLAPD microcode and have higher priority than the receiver and transmitter.  
For each memory access, an internal arbiter determines which section of the MLAPD will be  
serviced: the microcode controller, the receiver, or the transmitter. The priority scheme used  
in the online state is listed below.  
1. Microcode controller, if execution of microcode requires a memory access  
2. Receiver, if the RxFIFO has more than 15 full words  
3. Transmitter, if the TxFIFO has more than 15 empty words  
4. Receiver, if the RxFIFO has more than four full words or the RxFIFO contains a com-  
plete frame  
5. Transmitter, if the TxFIFO has more than four empty words  
6. Receiver, if the RxFIFO is not empty and the MLAPD is already bus master  
7. Transmitter, if the TxFIF0 is not full and the MLAPD is already bus master  
As the state of the RxFIF0 and TxFIFO changes, the priority of the required memory  
accesses for the receiver and transmitter changes. For example: If RxFIFO has two full  
words and TxFIFO has one empty word, then no DMA activity will be seen until the  
microcode requires a DMA cycle. Then the sequence will be:  
(rule 1, RxFIFO = 2, TxFIFO = 1) microcode  
(rule 6, RxFIFO = 2, TxFIFO = 1) Rx, Rx  
(rule 7, RxFIFO = 0, TxFIFO = 1) Tx  
Both Rx and Tx requests are handled during the microcode-initiated DMA burst.  
For example: If the RxFIFO has 10 full words, the TxFIFO has 17 empty words, and no  
commands have been received from the host, then the sequential memory cycles are:  
(rule 3, RxFIFO = 10, TxFIF0 = 17) Tx, Tx  
(rule 4, RxFIFO = 10, TxFIFO = 15) Rx, Rx, Rx, Rx, Rx, Rx  
(rule 5, RxFIFO = 4, TxFIFO = 15) Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx, Tx  
(rule 6, RxFIFO = 4, TxFIFO = 4) Rx, Rx, Rx, Rx  
(rule 7, RxFIFO = 0, TxFIFO = 4) Tx, Tx, Tx, Tx  
11.2.3.2 MLAPD READ CYCLE . During a DMA read operation, the MLAPD controls the  
transfer of data from memory into the MLAPD. The functional timing for a DMA read  
operation is shown in Figure 11-13. The timing for an even-or odd-byte read on a 16-bit data  
11-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
bus or any read on an 8-bit data bus is identical, with the encoding of BHE and A0O selecting  
the proper byte.  
The MLAPD read cycle begins with the generation of an address. The memory RD signal is  
asserted at T2. RD causes the addressed device to enable its system data bus drivers.  
When data is valid on the bus, the READY line is asserted. After RD is negated by the  
MLAPD, the addressed device again three-states its data bus drivers. If READY is not  
asserted during T3 by the addressed device, the MLAPD inserts wait states between T3 and  
T4, and data is latched on the falling edge of the last wait cycle. RD is negated during T4.  
11.2.3.3 MLAPD WRITE CYCLE . During a DMA write operation, the MLAPD controls the  
transfer of data to memory from the MLAPD. The functional timing for this operation is  
shown in Figure 11-14. The timing for an even-or odd-byte write on a 16-bit data bus or any  
write to an 8-bit data bus is identical, with the encoding of BHE and A0 selecting the proper  
byte.  
The MLAPD write cycle begins with the generation of an address. At T3 the MLAPD drives  
the data onto the data bus. This data remains valid until the middle of T4. The WR signal is  
asserted during T3. The WR signal remains asserted during any Tw states. When READY  
is asserted, the cycle is terminated.  
11.2.4 Bus Arbitration  
Once the host has initialized the MLAPD, the MLAPD uses the following bus arbitration  
protocol to request bus mastership before entering the DMA operation mode. The bus  
arbitration timing is shown in Figure 11-15.  
.
T1  
T2  
T3  
T4  
T1  
CLK  
(INPUT)  
BHE  
(OUTPUT)  
A0-A23  
(OUTPUT)  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
D0-D15  
(INPUT)  
READY  
(INPUT)  
Figure 11-13. Intel-Compatible Typical DMA Read Cycle Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-13  
Bus Operation  
.
T1  
T2  
T3  
T4  
T1  
CLK  
(INPUT)  
BHE  
(OUTPUT)  
A0-A23  
(OUTPUT)  
AS  
(OUTPUT)  
WR  
(OUTPUT)  
D0-D15  
(OUTPUT)  
READY  
(INPUT)  
Figure 11-14. Intel-Compatible Typical DMA Write Cycle Timing Diagram  
The MLAPD requests control of the system bus by asserting HRQ when a command is  
issued that requires a DMA operation or when data needs to be moved to or from the internal  
FIFOs. HOLDA is asserted by an external bus arbiter to indicate that the MLAPD may  
assume bus mastership. The MLAPD maintains control of the system bus for up to eight bus  
cycles or until all data transfers have been serviced, based upon the burst_control bit in the  
option_bits entry in the GCB. HRQ is negated only after the MLAPD has completed its last  
transfer. After HRQ is negated, the external arbiter negates HOLDA. If HOLDA is negated  
before HRQ, the MLAPD will act as if HALT has been activated. The current bus cycle is  
terminated by the assertion of READY. The MLAPD releases ownership of the bus but still  
asserts HRQ. The MLAPD will rearbitrate for the bus and continue DMA operations,  
11.2.5 Bus Exception Control Functions  
The MLAPD has four bus exception inputs: RESET, HALT, BERR, and RETRY. RESET is  
always recognized by the MLAPD. HALT, RETRY and BERR are only recognized when the  
MLAPD has asserted HRQ to become the bus master or when the MLAPID is the current  
bus master. When an exception is asserted, the MLAPD will terminate the current bus cycle  
and wait for the exception signal to be negated. Each of the possible conditions is discussed  
in detail in the following paragraphs. .  
T1  
T4  
CLK  
(INPUT)  
HOLDA  
(INPUT)  
HRQ  
(OUTPUT)  
AS  
(OUTPUT)  
Figure 11-15. Intel-Compatible Typical Bus Arbitration Timing Diagram  
11-14  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
Three possible cases for bus exceptions exist. In case one, a very early bus exception  
occurs when the bus exception is asserted more than one clock cycle before READY is  
asserted. In case two, which is the typical case, the bus exception occurs in the same clock  
cycle as READY. In case three, the bus exception signal occurs in the clock cycle after  
READY has been asserted. In all cases, the bus exception is acted on without any delay by  
the MLAPD, and the bus cycle is terminated.  
A late bus exception, which does not meet electrical specification (58), may cause improper  
behavior of the MLAPD, including system bus lockup.  
11.2.5.1 HALT . A low level on the HALT pin halts the MLAPD, and the current bus cycle is  
terminated by the assertion of READY. The MLAPD releases ownership of the bus and  
enters the idle state until the HALT pin returns to a one level. The halt timing diagram is  
shown in Figure 11-16. The MLAPD rearbitrates for the bus and continues DMA operations,  
if necessary.  
11.2.5.2 BUS ERROR . When a low level is detected on the BERR pin, the MLAPD aborts  
the current bus cycle and releases bus ownership. After the BERR signal returns to a one  
level, the MLAPD rearbitrates for the bus to report the bus error to the host processor as  
described in 7.2 Bus Error Operation. A bus error condition is shown in Figure 11-17.  
.
T1  
T2  
T3  
TW  
T4  
CLK  
(INPUT)  
BHE/A0-A23  
(OUTPUT)  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
WR  
(OUTPUT)  
D0-D15  
(OUTPUT)  
READY  
(INPUT)  
HALT  
(INPUT)  
HRQ  
(OUTPUT)  
Figure 11-16. Intel-Compatible Typical Write Cycle with HALT Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-15  
Bus Operation  
11.2.5.3 RETRY . A low level on the RETRY pin terminates the current bus cycle and  
places the MLAPD into a waiting mode. The MLAPD retains bus mastership by keeping  
HRQ asserted. When the RETRY signal returns to a one level, the MLAPD reruns the same  
bus cycle using the same address. Figure 11-18 shows the timing diagram for a retry  
operation.  
11.2.5.4 RESET . The MLAPD is reset either by a host processor command or by a  
hardware RESET from an external device. The host processor can issue a reset by passing  
the MLAPD a RESET command (hex 'FF'). The hardware reset is accomplished by driving  
the RESET pin low for at least 10 clock cycles. Normally after either a hardware or software  
reset, the MLAPD requires four clock cycles before it is ready to accept a susbsequent  
command.  
.
T1  
T2  
T3  
T4  
CLK  
(INPUT)  
BHE/A0-A23  
(OUTPUT)  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
D0-D15  
(OUTPUT)  
READY  
(INPUT)  
BERR  
(INPUT)  
HRQ  
(OUTPUT)  
Figure 11-17. Intel-Compatible Typical Read Cycle with BERR Timing Diagram  
11-16  
MC68606 USER’S MANUAL  
MOTOROLA  
Bus Operation  
.
Figure 11-18. Intel-Compatible Typical Read Cycle with RETRY Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
11-17  
Bus Operation  
11-18  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 12  
ELECTRICAL SPECIFICATIONS  
This section contains the electrical specifications and associated timing information for the  
MC68606 MLAPD.  
12.1 MAXIMUM RATINGS  
Rating  
Supply Voltage  
Symbol  
Value  
Unit  
This device contains circuitry to  
protect the inputs against damage  
due to high static voltages or  
electric fields; however, it is  
advised that normal precautions  
be taken to avoid application of  
any voltages higher than the  
maximum-rated voltages to this  
high-impedance circuit. Reliability  
of operation is enhanced if  
unused inputs are tied to an  
appropriate logic voltage level  
V
–0.3 to + 7.0  
V
DD  
Input Voltage  
V
–0.3 to + 7.0  
0 to 70  
V
in  
Operating Temperature Range  
Storage Temperature Range  
T
°C  
°C  
A
T
–55 to + 150  
stg  
(e.g. either ground or V  
.
CC  
12.2 THERMAL CHARACTERISTICS  
Characteristic  
Thermal Resistance  
Symbol  
Value  
Unit  
°C/W  
θ
JA  
PGA  
33  
Tj  
=
=
T + (PID x θ )  
A JA  
P
V
x I ) + P  
D
DD DD I/O  
where:  
P
is the lower dissipation on pins (user determined) which can be neglected  
I/O  
in most cases.  
For T = 70°C and P = 0.55 Watts at 12.5 MHz  
A
D
T = 88°C  
J
12.3 POWER CONSIDERATIONS  
The average chip-junction temperature, T , in °C can be obtained from:  
J
T = T + (P • θ )  
(1)  
J
A
D
JA  
where:  
T = Ambient Temperature, °C  
A
θ
= Package Thermal Resistance, Junction-to-Ambient, °C/W  
JA  
P = P  
+ P  
D
INT  
I/O  
P
P
= I x V , Watts-Chip Internal Power  
= Power Dissipation on Input and Output Pins, Watts-User Determined  
INT  
DD DD  
I/O  
For most applications PI/O<PINT and can be neglected.  
The following is an approximate relationship between P and T (if P is neglected):  
D
J
I/O  
P = K ÷ (T + 273°C)  
(2)  
D
J
MOTOROLA  
MC68606 USER’S MANUAL  
12-1  
Electrical Specifications  
Solving equations (1) and (2) for K gives:  
2
K = P * (T ÷ 273°C) + θ * P  
D
D
A
JA  
where K is a constant pertaining to the particular part. K can be determined from equation  
(3) by measuring P (at equilibrium) for a known T . Using this value of K, the values of P  
D
A
D
and Tj can be obtained by solving equations (1) and (2) iteratively for any value of T .  
A
12.4 DC ELECTRICAL CHARACTERISTICS  
Characteristic  
Symbol  
Min  
Max  
Unit  
Input High Voltage (Except System Clock)  
V
2.0  
V
V
IH  
DD  
Input Low Voltage (Except System Clock)  
Input High Voltage (System Clock)-,  
Input Low Voltage (System Clock)  
Input Leakage Current  
V
V
–0.3  
SS  
0.8  
V
V
IL  
V
2.4  
–0.3  
SS  
V
DD  
CIH  
V
V
0.5  
V
CIL  
l
20  
13  
20  
µA  
pF  
mA  
in  
Input Capacitance  
C
in  
Three-State Leakage Current (2.4/0.5 V)  
Open-Drain Leakage Current (2.4 V)  
I
TSI  
IOD  
VOH  
2.4  
20  
-
V
V
Output High Voltage(I = 400 µA)  
OH  
Output Low Voltage-  
VOL  
V
(IOL = 3.2 rnA) A1–A31, RTS, TSTART, TxD, A0, UDS/A0 as A0  
0.5  
(IOL = 5.3 rnA  
D0–D15, AS, BHE, LDS, A0, UDS/A0 as UDS,  
READY, DTACK, RD, WR, R/W, BGACK  
HRQ, BR, INTR, IRQ  
0.5  
0.5  
0.55  
0.75  
IOL = 8.9 rnA)  
Power Dissipation  
@ 12.5 MHz, 0°C  
@ 16.67 MHz, 0°C  
P
W
D
12.5 AC ELECTRICAL CHARACTERISTICS  
This segment contains the parametric numbers and timing diagrams for both Motorola and  
Intel bus operations. Each reference is standalone.  
12.5.1 Motorola AC Electrical Characteristics  
The MLAPD is characterized at two rated frequencies, 12.5 MHz and 16.67 MHz. To use  
the MLAPD at system clock frequencies between 8 MHz and the rated clock frequency, the  
designer should use the electrical characteristics for the rated frequency of the MLAPD. The  
characteristics that are specified in nanoseconds are guaranteed for system clock  
frequencies between 8 MHz and the rated frequency. The characteristics that are specified  
as clock periods refer to the period of actual system clock.  
12-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
12.5 MHz  
16.67 MHz  
Unit  
Number  
Characteristic  
Asynchronous Input Set-up Time  
Min  
Max  
Min  
Max  
1
2
10  
0
10  
ns  
ns  
UDS, LDS inactive to CS, IACK Inactive  
60  
80  
80  
0
3
4
CLK Low (on which UDS or LDS and CS or IACK are  
recognized) to Data-Out Valid (see note 5)  
60  
30  
ns  
ns  
CS or iACK High to Data-Out High-Impedance  
(see note 8)  
40  
5
6
LDS, DS High to Data-Out Invalid  
0
0
ns  
ns  
CS or IACK Low to DTACK High (Driving Three-State  
DTACK High)  
40  
30  
7
CLK Low (on which UDS or LDS and CS or IACK are  
recognized) to DTACK Low (see note 5)  
2 +  
50  
2 +  
45  
Clk. Per.  
ns  
8
9
CLK Low to DTACK Low  
20  
0
50  
20  
0
45  
ns  
ns  
ns  
Data-Out Valid to DTACK Low  
10  
DTACK Low to UDS, LDS, CS, or IACK High  
(earliest one)  
11  
12  
CS or IACK or Data Strobes (Earliest One) High to DTACK  
High (see note 9)  
40  
40  
-
30  
30  
ns  
ns  
DTACK High to DTACKK High-Impedance (at the end of  
bus cycle after CS/IACK High).  
1
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
UDS, LDS Inactive Time  
1
50  
80  
40  
40  
50  
40  
1
40  
60  
30  
30  
40  
30  
Clk. Per.  
ns  
CS, IACK Inactive Time  
0
0
A1–A2 Valid to UDS/LDS/CS (latest one) Low (Write)  
DTACK Low to Data-In Hold Time  
LIDS or LDS, CS (latest one) Low to Data-In Valid  
R/W Valid to UDS or LDS, CS or IACK (latest one) Low  
UDS, LDS High to R/W High, A1–A2 Invalid  
CLK High to IRQ Low  
20  
0
10  
0
ns  
ns  
20  
0
10  
0
ns  
ns  
ns  
20  
10  
ns  
Reserved  
Reserved  
CLK High to BR Low  
ns  
CLK High to High-Impedance  
BGACK Low to BR High-Impedance  
Reserved  
ns  
ns  
CLK Low to BGACK Low  
ns  
CLK High to BGACK High-Impedance  
ns  
AS and BGACK Input High (latest one) to BGACK  
Output Low (when BG is previously asserted)  
2 +  
15  
3 +  
55  
2 +  
10  
3 +  
40  
Clk. Per.  
ns  
30  
BG Low to BGACK Low (No Other Bus Master)  
2 +  
15  
3 +  
55  
2 +  
10  
3 +  
40  
Clk. Per.  
ns  
31  
32  
BR High-Impedance to BG High  
0
-
0
ns  
CLK Low on which BGACK Low to CLK High on which  
AS Low  
1.5  
1.5  
1.5  
1.5  
Clk. Per.  
33  
CLK Low to BGACK High  
40  
30  
ns  
MOTOROLA  
MC68606 USER’S MANUAL  
12-3  
Electrical Specifications  
Number  
12.5 MHz  
16.67 MHz  
Min Max  
1 +  
Characteristic  
Unit  
Min  
Max  
34  
CLK on which 9-R Low to CLK on which BGACK Low  
(Assuming that BG is Active and AS and BGACK  
are Inactive for at least 2 Clk. Per.)  
1 +  
55  
Clk. Per.  
ns  
45  
35  
Clock on which AS is High to Clock on which BGACK  
is High  
1
1
Clk. Per.  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
CLK High to Address High-impedance  
CLK High to Address Valid  
15  
15  
0
50  
80  
40  
40  
40  
40  
40  
80  
10  
10  
0
40  
60  
30  
30  
30  
30  
30  
60  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Address Valid to AS Low  
CLK High to AS, UDS, LDS Low  
CLK to AS, UDS, LDS High (see note 7)  
AS High to Address Invalid  
CLK High to AS, UDS, LDS High-Impedance  
CLK to R/W High (see Note 4)  
CLK Low to R/W High-Impedance  
UDS, LDS High to Data-In Invalid  
AS, UDS, LDS High to DTACK High (the earliest of AS,  
UDS, or LDS)  
0
0
48  
49  
Data-In to CLK Low Required when DTACK Satisfies  
(1) (see note 1)  
10  
50  
40  
5
40  
30  
ns  
ns  
ns  
DTACK Low to Data-In Valid Required when DTACK  
Does Not Satisfy (1) (see notes 1 and 2)  
50  
51  
CLK High to R/W Low  
AS Low to Data-Out Valid (Write)  
0.5 +  
40  
0.5 +  
30  
Clk. Per.  
ns  
52  
53  
54  
55  
56  
CLK Low to Data-Out Valid  
Data-Out Valid to UDS, LDS Low  
UDS, LDS High to Data-Out Invalid  
CLK High to Data-Out Invalid  
No Exception to BR Low  
10  
10  
0
45  
80  
10  
10  
0
35  
60  
ns  
ns  
ns  
ns  
1.5 +  
10  
2.5 +  
50  
1.5 +  
10  
2.5 +  
40  
Clk. Per.  
ns  
57  
58  
59  
DTACK Low to Asynchronous Exception Active  
Required when 5-TACK Does Not Satisfy (1)  
(see note 2)  
30  
10  
40  
20  
10  
30  
ns  
ns  
ns  
Exception Active to CLK Low Setup Time Synchronous  
Input ("late exception") Required when DTACK  
Satisfies (1) (see note 1)  
Exception Active to CLK Low Setup Time  
Asynchronous Input lRequired when DTACK  
is Absent) (see note 3)  
60  
61  
62  
63  
64  
AS, UDS, LDS High to Exception Inactive  
0
10  
8
0
10  
8
ns  
Reserved  
Reserved  
RESET Width  
CLK Frequency  
Clk. Per.  
MHz  
12.5  
16.66  
12-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
12.5 MHz  
16.67 MHz  
Unit  
Number  
Characteristic  
Min  
Max  
125  
62.5  
5
Min  
60  
25  
25  
0
Max  
125  
02.5  
5
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
CLK Period  
80  
35  
35  
0
ns  
ns  
ns  
ns  
MHz  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
CLK Width High (see note 6)  
CLK Rise/Fall Time (see note 6)  
CLK Width Low (see note 6)  
RxCLK, TxCLK Frequency  
62.5  
12.5  
62.5  
16.67  
RxD, RSTART Valid to RxCLK High Setup Time  
RxCLK High to RxD, TS-TART Hold Time  
RxCLK, TxCLK Rise/Fall Time  
RxCLK, TxCLK Width Low  
25  
15  
5
25  
15  
5
35  
35  
80  
10  
25  
25  
25  
60  
10  
25  
RxCLK, TxCLK Width High  
RxCLK, TxCLK Period  
TxCLK Low to TxD, RTS, TSTART Valid  
Reserved  
40  
40  
Low to TxCLK High Set-up Time  
ns  
NOTES:  
1. If DTACK satisfies the asynchronous set-up time (1), then (48) is required for the data-in set-up time and (58)  
for the synchronous exception setup time. Erroneous behavior may occur if (58) is not satisfied.  
2. If DTACK does not satisfy (1), then (49) is required for data-in and (57) for the exception. Erroneous behavior  
may occur if (57) is not satisfied.  
3. Active exception when DTACK is absent must satisfy the asynchronous set-up time (59).  
4. R/W rises at the end of a write cycle, on the high clock edge following ST When the MLAPD acquires the bus,  
R/W is three-stated until S1 and rises on that low clock.  
5. Data (3) and DTACK (7) will be timed from the latest of CS and either data strobe during an MPU cycle. Data  
(3) and DTACK (7) will be timed from the latest of IACK and either data strobe during an IACK cycle.  
6. These specifications reflect tolerances on the CLK circuit, However, a 50% duty cycle CLK input should be  
provided.  
7. AS rises at the end of a cycle on the low clock of S7. When the MLAPD acquires the bus, ASis three-stated  
until SO and rises on that high clock.  
8. If CS or IACK is negated before UDS/LDS, the data bus will be three-stated (4) possibly before UDS/LDS  
negation.  
MOTOROLA  
MC68606 USER’S MANUAL  
12-5  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 SW SW SW SW S6 S7  
S0  
CLK  
(INPUT)  
18  
13  
14  
19  
R/W  
(INPUT)  
10  
UDS/LDS  
(INPUT)  
2
10  
CS  
(INPUT)  
7
12  
6
8
11  
DTACK  
(OUTPUT)  
9
4
3
5
D0-D7  
(OUTPUT)  
FF OR FE  
Figure 12-1. Motorola Host Processor Read Cycle Timing Diagram  
12-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 SW SW SW SW S6 S7  
S0  
CLK  
(INPUT)  
15  
13  
18  
14  
19  
A1, A2  
(INPUT)  
10  
UDS/LDS  
(INPUT)  
2
19  
R/W  
(INPUT)  
10  
CS  
(INPUT)  
11  
16  
7
6
8
12  
DTACK  
(OUTPUT)  
17  
D0-D15  
(INPUT)  
Figure 12-2. Motorola Host Processor Write Cycle Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
12-7  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 SW SW SW SW S6 S7  
S0  
CLK  
(INPUT)  
20  
18  
IRQ  
(OUTPUT)  
19  
R/W  
(INPUT)  
10  
13  
LDS  
(INPUT)  
2
10  
14  
IACK  
(INPUT)  
11  
7
6
8
12  
DTACK  
(OUTPUT)  
9
4
3
5
D0-D7  
(OUTPUT)  
INTERRUPT VECTOR  
Figure 12-3. Motorola Interrupt Acknowledge Cycle Timing Diagram  
12-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
S0 S1 S2  
CLK  
(INPUT)  
1
RETRY/BERR/HALT  
(INPUT)  
30  
29  
1
1
31  
BG  
(INPUT)  
27  
BGACK  
(INPUT/OUTPUT)  
23  
24  
25  
56  
BR  
(OUTPUT)  
32  
1
40  
AS  
(INPUT/OUTPUT)  
Figure 12-4. Motorola Bus Arbitration Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
12-9  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 S6 S7  
S0 S1 S2 S3 S4 SW SW S5 S6 S7  
S0  
CLK  
(INPUT)  
38  
37  
A1-A23  
(OUTPUT)  
39  
42  
41  
43  
AS  
(OUTPUT)  
41  
41  
43  
40  
UDS/LDS  
(OUTPUT)  
44  
45  
R/W  
(OUTPUT)  
48  
49  
46  
D0-D15  
(INPUT)  
1
47  
DTACK  
(INPUT)  
Figure 12-5. Motorola DMA Read Cycle and Slow Read Cycle Timing Diagram  
12-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 S6  
S7  
S0 S1 S2 S3 S4 SW SW S5 S6 S7  
S0  
CLK  
(INPUT)  
38  
37  
A1-A23  
(OUTPUT)  
39  
42  
41  
43  
AS  
(OUTPUT)  
41  
40  
41  
43  
40  
UDS/LDS  
(OUTPUT)  
52  
53  
44  
44  
51  
45  
R/W  
(OUTPUT)  
55  
50  
54  
D0-D15  
(OUTPUT)  
1
47  
DTACK  
(INPUT)  
Figure 12-6. Motorola DMA Write Cycle and Slow Write Cycle Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
12-11  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 S6 S7 S0  
CLK  
(INPUT)  
A1-A23  
(OUTPUT)  
AS  
(OUTPUT)  
R/W  
(OUTPUT)  
UDS/LDS  
(OUTPUT)  
D0-D15  
(INPUT)  
57  
DTACK  
(INPUT)  
58  
60  
HALT/BERR  
(INPUT)  
33  
35  
28  
BGACK  
(OUTPUT)  
Figure 12-7. Motorola Late Synchronous Exception DTACK Active Timing Diagram  
12-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
S0 S1 S2 S3 S4 S5 S6 S7 S0  
CLK  
(INPUT)  
A1-A23  
(OUTPUT)  
AS  
(OUTPUT)  
R/W  
(OUTPUT)  
UDS/LDS  
(OUTPUT)  
D0-D15  
(OUTPUT)  
DTACK  
(INPUT)  
59  
60  
BERR  
(INPUT)  
33  
35  
28  
BGACK  
(OUTPUT)  
Figure12-8.MotorolaEarlySynchronousExceptionDTACKNotActiveTimingDiagram  
MOTOROLA  
MC68606 USER’S MANUAL  
12-13  
Electrical Specifications  
.
CLK  
(INPUT)  
1
RESET  
(INPUT)  
37  
A1-A31  
(OUTPUT)  
AS  
(OUTPUT)  
43  
UDS/LDS  
(OUTPUT)  
45  
R/W  
(OUTPUT)  
55  
D0-D15  
(OUTPUT)  
33  
BGACK  
(OUTPUT)  
Figure 12-9. Motorola Hardware RESET Timing Diagram  
12-14  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
Figure 12-10. Motorola Read Cycle with RETRY Timing Diagram  
MOTOROLA  
MC68606 USER’S MANUAL  
12-15  
Electrical Specifications  
.
TxCLK  
(INPUT)  
76  
76  
RTS/TSTART  
(OUTPUT)  
TxD  
(OUTPUT)  
78  
78  
RSTART  
(INPUT)  
RxCLK  
(INPUT)  
70  
70  
RSTART  
(INPUT)  
RxD  
(INPUT)  
NOTE: The MLAPD was designed to perform the full LAPD procedures with a  
serial clock to system clock ratio of 1:6. Operation at ratios of less than 1:6  
may result in performance and throughput degradation.  
Figure 12-11. Serial Data and Serial Clocks Timing Diagram  
12-16  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
12.5.2 Intel-Compatible AC Electrical Characteristics  
The MLAPD is characterized at two rated frequencies, 12.5 MHz and 16.67 MHz. To use  
the MLAPD at system clock frequencies between 8 MHz and the rated clock frequency, the  
designer should use the electrical characteristics for the rated frequency of the MLAPD. The  
characteristics that are specified in nanoseconds are guaranteed for system clock  
frequencies between 8 MHz and the rated frequency. The characteristics that are specified  
as clock periods refer to the period of actual system clock.  
12.5 MHz  
16.67 MHz  
Min Max  
10  
Number  
Characteristic  
Asynchronous Input Setup Time  
Unit  
Min  
Max  
1
1A  
2
10  
15  
0
ns  
ns  
ns  
ns  
ns  
Asynchronous Input Hold Time  
RD, WR Inactive to CS Inactive  
RD and CS_or INTA to Data-Out Valid  
15  
0
60  
60  
30  
80  
80  
40  
3
4
RD and CS or INTA High to Data-Out High-impedance  
(see note 2)  
5
6
RD and CS or INTA High to Data-Out Invalid  
0
0
ns  
ns  
CS or INTA Low to READY LOW (Driving Three-State  
READY Low)  
40  
30  
7
CLIK Low (on which RD or WR Low) to READY High  
(see note 4)  
2 +  
50  
2 +  
45  
Clk. Per.  
ns  
8
9
CLK Low to READY High  
20  
0
50  
20  
0
45  
ns  
ns  
ns  
Data-Out Valid to READY High  
10  
READY High to RD or WR, CS or INTA High  
(earliest one)  
11  
12  
RD or WR, CS or INTA High to READY Low  
40  
40  
30  
30  
ns  
ns  
READY Low to READY Hiqh-Impedance (At the end of  
bus cycle after CS/INTA High)  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
RD or WR, INTA Inactive Time  
CS, INTA Inactive Time  
BHE, A0-A2 to RD or WR, CS (latest one) Low (Write)  
READY High to Data-in Invalid  
WR, CS (latest one) Low to Data-In Valid  
Reserved  
1
50  
80  
40  
1
40  
60  
30  
Clk. Per.  
ns  
0
0
20  
0
10  
0
ns  
ns  
0
0
ns  
RD or WR High to BHE, A0-A2 Invalid  
CLK High to INTR High  
Reserved  
ns  
ns  
Reserved  
CLK High to HRQ Valid  
Reserved  
ns  
Reserved  
Reserved  
1 Reserved  
MOTOROLA  
MC68606 USER’S MANUAL  
12-17  
Electrical Specifications  
Number  
12.5 MHz  
16.67 MHz  
Min Max  
Characteristic  
Unit  
Min  
Max  
28  
29  
30  
31  
32  
Reserved  
Reserved  
Reserved  
0
0
HRQ Negated to HOLDA Negated  
ns  
CLK Low on which HOLDA High to CLK High on which  
AS Low  
1.5  
1.5  
1.5  
1.5  
Clk. Per.  
33  
34  
35  
Reserved  
Reserved  
Clock on which AS is High to Clock on which HRQ is  
Negated  
0.5  
0.5  
Clk. Per.  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
Reserved  
15  
15  
50  
80  
40  
40  
40  
40  
10  
15  
15  
40  
60  
30  
30  
30  
30  
5
ns  
ns  
ns  
ns  
n
CLK High to Address High-impedance  
CLK High to Addressi-BH-E Valid  
Reserved  
CLK High to AS Low  
CLK to AS High (see note 3)  
Reserved  
CLK High to AS,RD or WR High-Impedance  
CLK to RD or WR High (see note 3)  
Reserved  
ns  
ns  
ns  
ns  
CLK Low to Data-In Invalid  
CLK Low to READY Low  
Data-in Valid to CLK (on which READY  
recognized) Low  
49  
50  
51  
52  
53  
54  
55  
56  
Reserved  
0
40  
45  
80  
-
30  
35  
60  
ns  
ns  
ns  
CLK Low to RD or WR low  
Reserved  
-
CLK Low to Data-Out Valid  
Reserved  
0
Reserved  
CLK High to Data-Out Invalid  
No Exception to HRQ Asserted  
1.5 +  
10  
2.5 +  
50  
1.5 +  
10  
2.5  
40  
+ Clk. Per.  
ns  
57  
58  
59  
Reserved  
30  
10  
20  
10  
ns  
ns  
Exception Active to CLK Low  
Exception Active to CLK Low (Early Asynchronous  
Input Exception Required when READY is Absent)  
60  
61  
62  
63  
Reserved  
15  
10  
15  
10  
ns  
CLK Low to Exception Inactive  
Reserved  
RESET Width  
12-18  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
Number  
12.5 MHz  
Min Max  
16.67 MHz  
Min Max  
Characteristic  
Unit  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
CLK Frequency  
CLK Period  
8
12.5  
125  
62.5  
5
8
16.66  
125  
62.5  
5
MHz  
ns  
ns  
ns  
ns  
MHz  
ns  
ns  
n
80  
35  
35  
0
60  
25  
25  
0
CLK Width High (see note 5)  
CLK Rise/Fall Time (see note 5)  
CLK Width Low (see note 5)  
RxCLK, TxCLK Frequency  
62.5  
12.5  
62.5  
16.67  
RxD, RSTART Valid to RxCLK High Set-up Time  
RxCLK High to RxD, RSTART Hold Time  
RxCLK, TxCLK Rise/Fall Time  
RxCLK, TxCLK Width Low  
25  
15  
5
25  
15  
5
35  
35  
80  
10  
25  
25  
25  
60  
10  
25  
ns  
ns  
ns  
ns  
RxCLIK, TxCLK Width High  
RxCLK, TxCLK Period  
TxCLK Low to TxD, FITS, TSTART Valid  
Reserved  
40  
40  
CTS Low to TxCLK High Set-up Time  
ns  
NOTE  
1. If READY satisfies the asynchronous set-up time (1), then (48) is required for the data-in set-up time and (58)  
for the synchronous exception set-up time. Erroneous behavior may occur if (57) is not satisfied.  
2. If CS is negated before RD, the data bus will be three-stated (4) possibly before RD negation.  
3. RD/WR and AS rise on the end of a write cycle on the low phase of T4. When the MLAPD acquires the bus,  
RD/WR and AS are three-stated until the rising edge before T1, and they rise on that high clock.  
4. Data (3) and READY (7) will be timed from the latest of TS and either RD/WR during an MPU cycle. Data (3)  
and READY (7) will be timed from the latest of INTA and RD during an INTA cycle.  
5. If CS or IACK is negated before UDS/LDS, the data bus will be three-stated (4) possibly before UDS/LDS  
negation.  
12-19  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
TW  
TW  
T4  
CLK  
(INPUT)  
15  
13  
14  
19  
A0  
(INPUT)  
1
1
10  
RD  
(INPUT)  
2
10  
11  
CS  
(INPUT)  
7
12  
6
8
READY  
(OUTPUT)  
9
4
3
5
D0-D7  
(OUTPUT)  
FF OR FE  
Figure 12-12. Intel-Compatible Host Processor Read Cycle Timing Diagram  
12-20  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
TW  
TW  
T4  
CLK  
(INPUT)  
A0-A2  
(INPUT)  
15  
19  
BHE  
(INPUT)  
1
1
13  
14  
10  
WR  
(INPUT)  
2
10  
CS  
(INPUT)  
11  
7
6
8
12  
READY  
(OUTPUT)  
16  
17  
D0-D15  
(INPUT)  
Figure 12-13. Intel-Compatible Host Processor Write Cycle Timing Diagram  
12-21  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
TW  
TW  
T4  
CLK  
(INPUT)  
20  
INTR  
(OUTPUT)  
13  
10  
1
INTA  
(INPUT)  
11  
7
6
8
12  
READY  
(OUTPUT)  
9
4
3
5
D0-D7  
(OUTPUT)  
INTERRUPT VECTOR  
Figure 12-14. Intel-Compatible Interrupt Acknowledge Cycle Timing Diagram  
12-22  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T3  
T4  
T1  
CLK  
(INPUT)  
1
BERR/HALT  
(INPUT)  
56  
1
1
HOLDA  
(INPUT)  
32  
31  
23  
23  
HRQ  
(OUTPUT)  
43  
40  
AS  
(OUTPUT)  
Figure 12-15. Intel-Compatible Bus Arbitration Timing Diagram  
12-23  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
T4  
T1  
T2  
T3  
TW  
T4  
CLK  
(INPUT)  
38  
37  
A0-A23  
(OUTPUT)  
BHE  
(OUTPUT)  
40  
41  
44  
44  
41  
44  
43  
43  
43  
AS  
(OUTPUT)  
50  
RD  
(OUTPUT)  
WR  
(OUTPUT)  
48  
46  
D0-D15  
(INPUT)  
1
47  
READY  
(INPUT)  
Figure 12-16. Intel-Compatible DMA Read Cycle and Slow Read Cycle Timing Diagram  
12-24  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
T4  
T1  
T2  
T3  
TW  
T4  
CLK  
(INPUT)  
38  
37  
A0-A23  
(OUTPUT)  
BHE  
(OUTPUT)  
40  
41  
44  
44  
41  
43  
43  
43  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
50  
44  
WR  
(OUTPUT)  
52  
55  
D0-D15  
(OUTPUT)  
1
47  
READY  
(INPUT)  
Figure 12-17. Intel-Compatible DMA Write Cycle and Slow Write Cycle Timing  
Diagram  
12-25  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
T4  
CLK  
(INPUT)  
BHE/A1-A31  
(OUTPUT)  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
WR  
(OUTPUT)  
D0-D15  
(OUTPUT)  
47  
1
READY  
(INPUT)  
61  
58  
HALT/BERR  
(INPUT)  
35  
23  
HRQ  
(OUTPUT)  
Figure 12-18. Intel-Compatible Late Synchronous Exception READY Active Timing  
Diagram  
12-26  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
T1  
T2  
T3  
T4  
CLK  
(INPUT)  
BHE/A1-A31  
(OUTPUT)  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
D0-D15  
(OUTPUT)  
READY  
(INPUT)  
59  
61  
BERR  
(INPUT)  
23  
HRQ  
(OUTPUT)  
Figure 12-19. Intel-Compatible Early Synchronous Exception READY Not Active  
Timing Diagram  
12-27  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
CLK  
(INPUT)  
1
RESET  
(INPUT)  
37  
BHE/A1-A31  
(OUTPUT)  
43  
43  
43  
AS  
(OUTPUT)  
RD  
(OUTPUT)  
WR  
(OUTPUT)  
55  
D0-D15  
(OUTPUT)  
23  
HRQ  
(OUTPUT)  
Figure 12-20. Intel-Compatible Hardware RESET Timing Diagram  
12-28  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
Figure 12-21. Intel-Compatible Read Cycle with RETRY Timing Diagram  
12-29  
MC68606 USER’S MANUAL  
MOTOROLA  
Electrical Specifications  
.
TxCLK  
(INPUT)  
76  
76  
RTS/TSTART  
(OUTPUT)  
TxD  
(OUTPUT)  
78  
78  
RSTART  
(INPUT)  
RxCLK  
(INPUT)  
70  
70  
RSTART  
(INPUT)  
RxD  
(INPUT)  
NOTE: The MLAPD was designed to perform the full LAPD procedures with a  
serial clock to system clock ratio of 1:6. Operation at ratios of less than 1:6  
may result in performance and throughput degradation.  
Figure 12-22. Serial Data and Serial Clocks Timing Diagram  
12-30  
MC68606 USER’S MANUAL  
MOTOROLA  
SECTION 13  
MECHANICAL DATA  
This section contains the pin assignments and package dimensions for the PGA (pin grid  
array) MC68606RC and for the PLCC (plastic leaded chip carrier) MC68606FN.  
13.1 PACKAGE TYPES  
Suffix  
Package Type  
Pin Grid Array (PGA)  
Ceramic  
Comments  
RC  
Depopulated Center Pins  
Gold Lead Finish  
No Standoffs  
FN  
Plastic Leaded Chip  
Carrier (PLCC)  
Suitable for Socketing or  
Surface Mounting  
13.2 PIN ASSIGNMENTS .  
CLK  
A23  
A20  
GND RxD  
V
RxLK V  
DD  
A21 GND A18  
A19 A17 A15  
K
J
DD  
RTS/  
TSTART  
V
V
DD  
TxD  
MOT/INT  
GND  
DD  
H
G
CTS/  
(RSTART)  
TxCLK  
V
RETRY GND  
GND  
RESET  
A22 A16  
A14  
DD  
IACK  
(INTA)  
BERR  
HALT  
A13 A12 GND  
BG  
BR  
IRQ  
(INTR)  
A9  
A8  
A11 A10  
V
F
E
D
C
B
A
BOTTOM  
VIEW  
(HOLDA)(HRQ)  
DTACK  
(READY)  
GND  
R/W  
(WR)  
DD  
GND  
V
DD  
V
UDS/A0  
(A0)  
BGACK DD  
(RD)  
A5  
A7  
V
D12  
LDS/DS CS  
(BHE)  
AS  
GND  
D10  
A1  
GND A6  
DD  
GND  
D1  
GND  
D11  
D0  
D3  
D2  
D4  
D5  
D6  
GND D9  
D7 D8  
D15 A2  
A4  
D13 D14 A3  
1 2 3 4 5 6 7 8 9 10  
MOTOROLA  
MC68606 USER’S MANUAL  
13-1  
Mechanical Data  
.
11  
84  
75  
V
1
DD 12  
A15  
74 GND  
CLK  
A14  
A13  
RETRY  
V
DD  
A12  
GND  
A11  
HALT  
RESET  
BERR  
A10  
A9  
IACK (INTA)  
BR (HRQ)  
A8  
IRQ (INTR)  
64 DTACK (READY)  
BG (HOLDA)  
R/W (WR)  
GND 22  
V
DD  
MC68606  
(TOP VIEW)  
A7  
A6  
A5  
GND  
BGACK (RD)  
V
V
DD  
DD  
A4  
LDS/DS (BHE)  
CS  
UDS/A0 (A0)  
GND  
GND  
A3  
A2  
GND 32  
54 AS  
33  
43  
53  
13-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Mechanical Data  
13.3 PACKAGE DIMENSIONS  
.
±T±  
K
G
NOTES:  
1. DIMENSIONING AND TOLERANCING PER ANSI  
Y14.5M, 1982.  
2. CONTROLLING DIMENSION: INCH.  
K
J
H
G
F
E
D
C
B
A
G
INCHES  
MILLIMETERS  
DIM  
A
B
C
D
MIN  
–––  
–––  
0.080  
0.017  
MAX  
1.080  
1.080  
0.105  
0.024  
MIN  
–––  
–––  
2.04  
0.44  
MAX  
27.43  
27.43  
2.66  
±A±  
0.60  
G
0.100 BSC  
2.54 BSC  
1
2
3
4
5
6
7
8
9
10  
K
0.170  
0.190  
4.32  
4.82  
D 84 PL  
PIN A1  
±B±  
C
L
S
S
0.13 (0.005)  
T
A
B
MOTOROLA  
MC68606 USER’S MANUAL  
13-3  
Mechanical Data  
.
M
S
S
B
0.007 (0.18)  
T
L–M  
N
U
M
S
S
0.007 (0.18)  
T
L–M  
N
±N±  
Y BRK  
D
Z
±L±  
±M±  
W
D
84  
1
X
G1  
V
S
S
S
0.010 (0.25)  
T
L–M  
N
VIEW D±D  
A
M
S
S
S
S
0.007 (0.18)  
0.007 (0.18)  
T
T
L–M  
L–M  
N
N
NOTES:  
1. DATUMS –L–, –M–, –N–, AND –P– DETERMINED  
WHERE TOP OF LEAD SHOULDER EXITS  
PACKAGE BODY AT MOLD PARTING LINE.  
2. DIMENSION G1, TRUE POSITION TO BE  
MEASURED AT DATUM –T–, SEATING PLANE.  
3. DIMENSIONS R AND U DO NOT INCLUDE  
MOLD FLASH. ALLOWABLE MOLD FLASH IS  
0.010 (0.25) PER SIDE.  
Z
R
M
E
4. DIMENSIONING AND TOLERANCING PER ANSI  
Y14.5M, 1982.  
0.004 (0.10)  
5. CONTROLLING DIMENSION: INCH.  
6. THE PACKAGE TOP MAY BE SMALLER THAN  
THE PACKAGE BOTTOM BY UP TO 0.012  
(0.300). DIMENSIONS R AND U ARE  
DETERMINED AT THE OUTERMOST  
EXTREMES OF THE PLASTIC BODY  
G
C
J
±T± SEATING  
PLANE  
G1  
VIEW S  
S
S
S
0.010 (0.25)  
T
L–M  
N
EXCLUSIVE OF MOLD FLASH, TIE BAR BURRS,  
GATE BURRS AND INTERLEAD FLASH, BUT  
INCLUDING ANY MISMATCH BETWEEN THE  
TOP AND BOTTOM OF THE PLASTIC BODY.  
7. DIMENSION H DOES NOT INCLUDE DAMBAR  
PROTRUSION OR INTRUSION. THE DAMBAR  
PROTRUSION(S) SHALL NOT CAUSE THE H  
DIMENSION TO BE GREATER THAN 0.037  
(0.94). THE DAMBAR INTRUSION(S) SHALL  
NOT CAUSE THE H DIMENSION T O BE  
SMALLER THAN 0.025 (0.635).  
M
S
S
0.007 (0.18)  
0.007 (0.18)  
T
T
L–M  
L–M  
N
N
H
INCHES  
MILLIMETERS  
DIM  
A
B
C
E
MIN  
MAX  
1.195  
1.195  
0.180  
0.110  
0.019  
MIN  
30.10  
30.10  
4.20  
2.29  
0.33  
MAX  
30.35  
30.35  
4.57  
2.79  
0.48  
1.185  
1.185  
0.165  
0.090  
0.013  
K1  
K
M
S
S
F
F
G
H
J
K
R
U
V
W
X
Y
0.050 BSC  
1.27 BSC  
VIEW S  
0.026  
0.020  
0.025  
1.150  
1.150  
0.042  
0.042  
0.042  
–––  
0.032  
–––  
–––  
1.156  
1.156  
0.048  
0.048  
0.056  
0.020  
10  
0.66  
0.51  
0.64  
29.21  
29.21  
1.07  
1.07  
1.07  
–––  
0.81  
–––  
–––  
29.36  
29.36  
1.21  
1.21  
1.42  
0.50  
10  
Z
2
2
G1  
K1  
1.110  
0.040  
1.130  
–––  
28.20  
1.02  
28.70  
–––  
13-4  
MC68606 USER’S MANUAL  
MOTOROLA  
APPENDIX A  
SOFTWARE INTERFACE FLOWS FOR THE MLAPD  
A.1 NOMENCLATURE:  
1. Comments are enclosed by /* and */  
2. Modules written as routines with associated arguments  
3. Setting and zeroing bits affects only the bits concerned (logical AND, OR operations)  
4. Pointer field is used to refer to the "field" belonging to a structure (C) or record (PAS-  
CAL) which is pointed to by "pointer".  
5. Table(. n .) is used to signify the n-th element of array "table".  
6. All bits in various fields of the FD's referenced in these "routine" are mentioned below.  
This is not a complete listing of bits that may appear in FD's.  
A.2 FRAME DESCRIPTOR (FD) BITS USED IN USER-MLAPD INTERFACE  
A.2.1 Tx I FD status  
ACK  
TX  
The I frame has been acknowledged (confirmation for I-frame).  
The I frame has been transmitted.  
EMPTY  
No outstanding frames for Tx or Acknowledge  
A.2.2 Tx U FD status  
POS  
The frame was successfully transmitted  
NEG  
The frame could not be transmitted,  
No outstanding frames for Tx  
EMPTY  
A.2.3 Tx FD length (both U and I frames)  
HV (header valid) The current FD contains a valid header buffer  
LAST  
The current FD is the last in this transmit queue.  
MOTOROLA  
MC68606 USER’S MANUAL  
A-1  
Software Interface Flows For the MLAPD  
A.2.4 Tx U FD llid  
TX_FRAME_TYPE  
These are three bits that may take on one of the values:  
DL_UNIDATA, MDL_UNIDATA, XID_REQ, XID_RSP  
NON_STANDARD_CMD(0or1)andNON_STANDARD_RSP(0  
or 1) for non-protocol links,  
DISABLE_CRC, DISABLE_DLCI  
A.2.5 Rx FD control  
FIRST  
This will be the first frame in the receive queue when filled with a  
received frame (i.e. the receive queue is now empty). MLAPD will inter-  
rupt when this is filled with a received frame.  
LASTP  
Last frame in receive buffer pool.  
RED_FLAG  
The current FD has a red flag set. MLAPD will interrupt when this FD  
becomes the head of the receive pool (i.e. the FD preceeding it has  
been used for frame reception).  
A.2.6 Rx FD llid  
RX_FRAME_TYPE These are three bits that may take on one of the following values:  
UNUSED, UNDEFINED COMMAND, UNDEFINED_RESPONSE, UI, I,  
FRMR, XID_COMMAND, XFD_RESPONSE  
A.2.7 Rx FD error bits  
CRC  
ABR  
OVR  
BUF  
This frame has a CRC error.  
This frame ended in an abort sequence or not on an octet boundary.  
This frame caused a fifo overrun.  
This frame length exceeded N201 for its logical link.  
A.2.8 Interrupt queue entry bits  
LLID  
The mask for reading the llid for the current entry  
VE (valid entry)  
ARG  
This entry defines a valid (and pending) interrupt condition.  
Argument bits (relevant for certain interrupts only).  
EVENT_NUMBER The number of the interrupt event (see interrupt mask).  
LV  
The associated llid number is valid.  
A-2  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3 FLOWS  
A.3.1 Issue command  
/*  
* ROUTINE 1.  
* issue a command to MLAPD with  
* accompanied arguments  
* SR is the semaphore register  
* CR is the command register  
*/  
issue_command ( command , arg1 , arg2 arg3)  
/*  
* wait till SR is FF  
*/  
while ( SR < > FF)  
IF looped more than MAXIMUM times  
THEN  
abort routine  
perform reset and initialization procedures  
/* load arguments in GCB */  
for each argument, argi  
GCB- > argi = argi  
write command to CR  
/* if expected, wait for result */  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-3  
Software Interface Flows For the MLAPD  
A.3.2 Build Receive Pool  
/*  
* ROUTINE 13.  
* build a pool of receive buffers.  
*/  
BUILD RX POOL ( pool_number, pool_size )  
fd = allocate a frame  
set LASTP bit in FD- > control  
pool_descriptor(. pool_number .) - > Next_Rx_FD_Pointer = FD  
pool_descriptor(. pool_number .)- > User_Buffer_Tail_Pointer  
= FD  
/*  
* instruct chip to receive frames to the new pool  
*/  
issue_command (ASSIGN_POOL_POINTER, pool_number, fd )  
ADD_TO_POOL (pool_size frames )  
END  
A-4  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.3 Build LL  
/*  
* ROUTINE 2,  
* build a new logical link  
* we assume that the DLCI for the  
* new link has already been determined  
* and is passed here as an argument, as  
* well as the new LLID and the pool number  
* for the link  
*/  
BUILD LL (LLID , DLCI , pool_index , queue_no )  
LLT = allocate memory for the LL configuration block  
fill in LLT (status, DLCI, pool number and protocol arguments)  
/*  
* set dlci configuration bit  
*/  
zero nonprotocol bit for protocol links  
set user/network bit as required  
/* build the receive pool if necessary */  
if( pool number pool_index does not exist )  
BUILD RX POOL ( pool_index)  
/* insert pointer in LLID_LLT table */  
LLID_LLT[ LLID = LLT  
/*  
* the broadcast LL is given a special command  
* to be activated while remaining in the  
* TEI_UNASSIGNED state  
*/  
IF (( DLCI = BROADCAST_DLCI ) OR ( link is non-protocol ))  
THEN  
issue_command ( ACTIVATE_LL, LLID)  
ELSE  
issue_command ( MDL_ASSIGN_REQUEST, LLID)  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-5  
Software Interface Flows For the MLAPD  
A.3.4 Initialize MLAPD  
/*  
* ROUTINE 3.  
* initialization sequence  
*/  
INITIALIZE MLAPD  
/* global configuration block */  
gcb = allocate memory for GCB  
initialize fields of GCB  
/* match table */  
IF high_end operation mode is desired  
THEN  
match = allocate memory for match table (8k words)  
initialize match table (all entries marked invalid)  
/* layer 2 queue */  
I2 = allocate memory for layer 2 queue ( layer_2_length  
zero layer 2 queue memory  
set pointer to I2 in gcb  
/*  
* timers table: the user is responsible for  
* providing enough memory for the timers table.  
* The MLAPD requires one word for every value of  
* Ilid between 0 and MAXIMUM_LLID plus two additional  
* words for housekeeping.  
*/  
timers = allocate memory for timers  
zero timers memory  
set pointer to timers in gcb  
/* LLID-LLT table */  
LLID_LLT = allocate memory for LLID to LLT table  
set pointer in gcb  
/* interrupt queue */  
iq = allocate memory for interrupt queue (interrupt_queue_length)  
zero interrupt queue memory  
set pointer in gcb  
/*  
* the following sequence instructs the  
* MLAPD to begin its normal functions  
*/  
issue_command ( RESET)  
write interrupt vector number to IVR /* not a MLAPD command */  
issue_command ( SET_BUS_WIDTH_16,(8) ) /* depend on system bus*/  
/*  
* writing the GCBPR is not a command to the MLAPD.  
* it should immediately precede the INIT command  
*/  
write gcb in GCBPR  
issue_command ( INIT)  
/* broadcast LL */  
A-6  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
BUILD LL (BROADCAST_LLID, BROADCAST_DLCI)  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-7  
Software Interface Flows For the MLAPD  
A.3.5 Handle_Intermpts  
/*  
* there are 2 interrupt routines, corresponding  
* to the 2 generic classes of interrupts issued  
* by MLAPD: normal (Intr0) and severe (intr1)  
*/  
/*  
* ROUTINE 4a.  
* interrupt routine: severe interrupt  
*/  
INTR1 ( )  
/*  
* severe interrupt routine  
* note that the MLAPD will not accept any instruction  
* now other than OFFILINE.  
* this is only a guideline for possible handling  
* of severe interrupts  
*/  
issue_command ( OFFLINE  
issue command ( DUMP) )  
test memory  
)
To continue working the user must reinitialize the MLAPD  
END  
A-8  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
/*  
* ROUTINE 4b.  
* interrupt: normal interrupt  
* this routine may be reached following an interrupt  
* or called directly by the polling task  
* each element of the interrupt queue is referenced as a long  
* word (32 bit).  
*/  
INTRO ( )  
WHILE ( *next_intr & VE is set )  
DO  
/*  
* if the LV bit is raised, the Ilid associated  
* with the interrupt is in (*next intr & LLID)  
* if the AV bit is raised, an argument associated  
* with the interrupt is in (*next_intr & ARG)  
*/  
IF *next_intr & AV  
THEN  
/*  
* MDL error indications and link counter thresholds  
* both have an associated argument field  
*/  
IF ( *next_intr & EVENT_NUMBER = MDL_error_indication )  
THEN  
*next_intr & ARG contains encoded explanantion of error  
IF ( *next_intr & EVENT_NUMBER = link_Counter  
THEN  
*next_intr & ARG contains coded name of counter  
IF ( *next_intr & EVENT_NUMBER = bus_error )  
THEN  
handle as in severe interrupt routine  
/*  
* note that if the interrupt was INTERRUPT_QUEUE_OVERFLOW,  
* at least one interrupt has been lost  
*/  
handle interrupt as required  
zero VE bit in *next_intr  
advance next_intr (MODULO interrupt_queue_length)  
END OF WHILE  
/* enable further interrupts if necessary */  
IF NOT polling mode  
THEN  
issue_command ( ENABLE_IRQ )  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-9  
Software Interface Flows For the MLAPD  
A.3.6 Add Tx I frames  
/*  
* ROUTINE 5.  
* add linked list of Tx I FD_a-> ...−> FD_n to Tx queue in LLT  
* (each FD's Last bit is zero)  
*
* It is assumed that this routine is reached when frames are to be  
* added for transmission either before or after all outstanding acknow-  
* ments have arrived, and possibly following a STOP_TRANSMIT command.  
* All frames have been prepared for transmission: header buffer (if  
* exists), length, etc.  
*
* Note that the tx queue of each LL may be marked empty (in  
* transmit and confirm routines). This may be done by zeroing either  
* the user tx last_queued_ptr or the user tx next_confirm_ptr.  
* or by raising and lowering bits in a flag Which the user  
* creates for each logical link.  
*/  
ADD I FRAME(S) FOR TX ( LLT, FD_a, FD_n )  
set Last bit in FD_n- > length  
/*  
* add to transmit queue  
* by updating user entries in LLT  
*/  
IF tx queue is marked empty /* a user flag for this LLT */  
THEN  
/* Tx queue is empty */  
User_Tx_Last_Queued_ptr = FD_n  
User_Tx_Next_Confirm_ptr = FD_a  
ELSE  
/* Tx queue not empty */  
/* add to tail of queue */  
User_Tx Last_Queued_ptr- > Next_I_Frame_Descriptor_Pointer = FD_a  
zero Last bit in User Tx Last_Queued_ptr- > length  
temp = User_Tx_Last_Queued_ptr  
User_Tx_Last_Queued_ptr = FD_n  
/*  
* if the queue is not stopped,  
* see if a RELINK command is needed.  
*/  
IF ( LL is not stopped )  
THEN  
IF ( Transmit bit in temp- > status is set )  
THEN  
issue command ( RELINK, LLID)  
return  
/*  
* if tx queue was either stopped or empty  
* we must issue a DATA REQUEST command  
* NOTE: the user should only raise these flags  
* after receiving a DL_data_confirm interrupt  
* for this link.  
*/  
IF ( LL is marked as stopped or empty  
THEN  
/* give command, setting chip's tx pointer */  
A-10  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
mark LLT tx queue as not empty and not stopped  
set fd to first non-transmitted frame  
issue_command ( DL_DATA_REQUEST , LLT, fd )  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-11  
Software Interface Flows For the MLAPD  
A.3.7 Add XID/UI Tx frames  
/*  
* ROUTINE 6.  
* add linked list of Tx XID/UI FD_a- >... > FD_n  
* to any of the three XID/UI Tx queues  
* Note that the command given must be chosen with  
* respect to which unnumbered queue is being used.  
*/  
ADD FRAME(S) FOR XID/UI TX ( FD_a, FD_n )  
FOR EACH frame to be transmitted  
set Last bit in FD- > length to zero  
set FD- > llid to required llid  
set FD- > llid & TX FRAME TYPE to desired type of frame  
/* UI, XID_REQUEST, XID RESPONSE */  
/* or NON_STANDARD_CMD/RSP * /  
set Last bit in FD_n- > length  
/* add to transmit queue */  
IF ( XID/UI_tx queue is empty )  
THEN  
/* queue is empty  
User_U_Tx_Last_Queued_ptr = FD_n  
User_U_Tx_Next_Confirm_ptr = FD_a  
ELSE /* queue not empty */  
/* add to tail of queue */  
User_U_Tx_Last_Queued_ptr- > Next_U_Frame_Descriptor_Pointer  
= FD_a  
temp = User_U_Tx_Last_Queued_ptr  
User_U_Tx_Last_Queued_ptr = FD_n  
zero Last bit in temp- > length  
/*  
* a command must be issued if the XID/UI tx queue  
* is either empty or stopped)  
*/  
IF ( XID/UI_tx is empty or stopped  
THEN  
fd = first non-transmitted FD  
mark UI_tx queue as not empty and not stopped  
issue_command ( XID/UI_REQUEST , fd )  
END  
A-12  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.8 Interrupt DL.Data.Confirmation  
/*  
* ROUTINE 7.  
* interrupt routine performed on  
* "all-I-frames-confirmed interrupt"  
* check that all frames added to the Tx queue  
* have been handled by the MLAPD  
* the check here should be redundant if done in  
* "collect_next_confirmed_frame" and is included  
* here only for completeness  
*/  
INTERRUPT DL_Data_Confirmation ( LLT )  
IF ( LL is stopped )  
THEN  
return  
fd = User_Tx_Next_confirm_ptr  
WHILE ( LAST bit in fd- > length = 0 )  
IF ( ACK bit in fd- > status = I AND )  
EMPTY bit in fd- > status = 1  
THEN  
/* chip "missed" the last frames added */  
issue_command ( DL_DATA_REQUEST , LLT, fd- > next )  
return  
fd = fd- > next  
/*  
* presumably some indication will be made here to  
* tell the software to perform GET NEXT CONFIRMED FRAMES  
* in the near future  
*/  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-13  
Software Interface Flows For the MLAPD  
A.3.9 Collect Next Confirmed Frame on LLT  
/*  
* ROUTINE 8.  
* get next confirmed frame on LLT  
* for further layer 3 processing  
*/  
GET NEXT CONFIRMED FRAME ( lit)  
IF ( ACK bit is set in User_Tx_Next_Confirm_ptr- > status )  
THEN  
ternp = User_Tx_Next_Confirm_ptr /* save current position */  
IF ( Last bit is not set in User_Tx_Next_Confirm_ptr- > length  
THEN  
/* more frames in queue  
temp = User_Tx_Next_Confirm_ptr  
IF Empty bit in temp- > status is set  
THEN  
issue_command ( DL_DATA_REQUEST , llt , ternp- > next  
User_Tx_Next Confirm_ptr =  
User_Tx_Next_Confirm_ptr- >  
Next_I_Frame_Descriptor_Pointer  
ELSE  
mark tx queue as empty /* checked in ADD I FRAMES  
FOR TX */  
return ( temp ) /* to layer 3 */  
ELSE  
return ( NULL )  
END  
A-14  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.10 Interrupt XID/UI Confirmation  
/*  
* ROUTINE 9.  
* interrupt routine performed on  
* XlD/UI_Confirmation interrupt".  
* check on last frame added to the XID/UI Tx queue  
* that the whole queue has been handled  
* if the check is done in "collect_next_tx_xid_ui_frame"  
* it is redundant here. it is included only for completeness.  
*/  
INTERRUPT XID/UI_Confirmation  
/*  
* note that this interrupt can only be received  
* when the XlD/UI tx queue is not stopped  
*/  
fd = User_U_Tx_Last_Queued_ptr  
WHILE ( LAST bit in fd- > length = 0 )  
IF ( EMPTY bit in fd- > status = 1 )  
THEN  
/* chip "missed" frames following this one */  
issue_command ( XID/UI_REQUEST , fd- > next )  
return  
fd = fd- > next  
/*  
* presumably some indication will be made here to  
* tell the software to perform COLLECT NEXT TRANSMITTED  
XID/UI FRAMES  
* in the near future  
*/  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-15  
Software Interface Flows For the MLAPD  
A.3.11 Collect Next Tx XID/UI Frame  
/*  
* ROUTINE 10.  
* collect confirmed XID/UI frames on LLT  
* for further layer 3/management processing  
*/  
COLLECT NEXT TRANSMITTED XID/UI FRAME  
IF ( (User_U_Tx_Next_ptr- > status & POS) is non-zero  
OR (User_U_Tx_Next_ptr- > status & NEG) is non-zero )  
THEN  
temp = User_U_Tx_Next_ptr  
/* save current position */  
IF Last bit is not set in User_U_Tx_Next_ptr- > length  
THEN /* more frames in queue */  
If EMPTY bit in temp- > status is set  
THEN  
issue_command( XID/UI_REQUEST , temp- > next )  
User U_Tx Next_ptr =  
User_U_ Tx_Next_PTR- > Next_U_Frame_Descriptor_Pointer  
return ( temp )  
/* to layer 3 */  
ELSE  
mark XID/UI_tx queue empty /* checked when transmitting */  
return ( temp )  
ELSE  
return ( NULL )  
/* no confirmed frames */  
END  
A-16  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.12 Collect Next Frame Received on pool  
/*  
* ROUTINE 11.  
* get next frame received to the desired receive pool  
*/  
GET NEXT RX FRAME ( pool )  
/*  
* don't take the last frame from pool  
* RX_FRAME_TYPE non-zero means a frame has been received  
* with that frame descriptor  
*/  
IF Last In_Pool bit in User_Rx_Next_ptr- > control is zero  
AND RX_FRAME_TYPE in USER_Rx_Next_ptr- > llid is non-zero  
THEN  
temp = User_Rx_Next Ptr  
User_Rx_Next_ Ptr = User_Rx_Next_Ptr- >  
Next_Rx_Frame_Descriptor_Pointer  
/*  
* note that temp- > llid contains the llid for which the  
* frame was received and bits which indicate that the frame  
* is either I, UI or XID (REQ or RSP).  
*/  
return ( temp )  
ELSE  
/* Rx queue is empty */  
return( null )  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-17  
Software Interface Flows For the MLAPD  
A.3.13 Add to Receive Pool  
/*  
* ROUTINE 12.  
* add the given frame to the receive buffer pool.  
* The argument "pool" points to the pool descriptor  
* for the pool concerned.  
*/  
ADD TO POOL ( frame, pool )  
temp = pool- > User_Buffer_Pool_Tail_Pointer  
/* add frame to end of pool */  
temp- > Next_Frame_Descriptor_Pointer = frame  
/* frame is now the last in the pool */  
raise LASTP bit in frame- > control  
/* update tail pointer and previous last bit */  
pool- > User_Buffer_Pool_Tail_Pointer = frame  
zero LASTP bit in temp- > control  
END  
A-18  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.14 Stop Transmit of I Frames  
/*  
* ROUTINE 14.  
* stop transmission on a logical link  
* as soon as possible  
*/  
STOP TX ( LLT )  
/**************************************  
version 1:  
The STOP_TX command is issued. This means that if the MLAPD  
is currently transmitting a frame from this link, it will stop  
the transmission of the frame and generate an ABORT sequence.  
**************************************  
issue_command ( STOP_Transmit , LLID)  
/*  
* only when all acknowledgements have arrived can the  
* queue be manipulated  
* NOTE: the routine add_frames_for_tx should not be  
* called until all I_frames have been confirmed.  
*/  
wait for interrupt on I-frames confirmed  
mark LL as stopped /* checked in add_frames_for_tx */  
/*  
* MLAPD will now cease accessing the queue,  
* leaving the user free to manipulate the  
* transmission queue of oLLT" at will.  
*
...  
* eventually, the user may prepare FD_a- > ..- > FD_n  
* for transmission  
*/  
ADD I FRAME(S) FOR TX ( FD_a , FD_n , LLID)  
/**************************************  
version 2:  
The STOP TX command is not issued.  
The transmit queue is effectively shortened by raising the  
LAST bit in the first two non-transmitted FD  
**************************************/  
/*  
* Find first non-transmitted frame  
*/  
fd = first fd in lit tx queue  
while TX bit in fd- > status is set  
fd = fd- > next  
/*  
* raise LAST bit in the two FD's at the end of the tx queue  
* this must be done in a loop to avoid race conditions  
* that can occur if the MLAPD is currently transmitting  
* these frames.  
* (the bit is set before the condition is checked)  
MOTOROLA  
MC68606 USER’S MANUAL  
A-19  
Software Interface Flows For the MLAPD  
*/  
set LAST bit in fd- > next- > length  
do  
fd = fd- > next  
set LAST bit in fd- > next- > length  
while TX bit in fd- > status is set  
END  
A-20  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.15 Stop Transmit for XID/UI Frames  
/*  
* ROUTINE 15.  
* stop transmission of XlD/UI frames  
* as soon as possible  
*/  
STOP XID/UI TRANSMIT  
mark XID/UI_tx as stopped  
/* checked in confirm interrupt */  
issue_command ( STOP_XID/UI_TRANSMIT)  
/*  
* only when the chip has handled the STOP XID/UI comman  
* may the queue be manipulated. This is true when the  
* semaphore register returns to the value of FF.  
*/  
wait until semaphore register = FF  
/*  
* MLAPD will now cease accessing the queue.  
* leaving the user free to manipulate the XID/UI  
* transmission queue at will.  
...  
* eventually, the user may prepare FD_a- > > FD_n  
* for transmission  
*/  
ADD FRAME(S) FOR XID/UI_TRANSMIT ( FD_a , FD_n  
MOTOROLA  
MC68606 USER’S MANUAL  
A-21  
Software Interface Flows For the MLAPD  
A.3.16 DMA test  
/*  
* ROUTINE 16  
*
* DMA TEST  
* three arguments are passed to this routine:  
* ptrl, ptr2 and length  
*/  
DMA_TEST ( ptrl, ptr2, length )  
perform INIT sequence  
issue command ( OFFLINE  
)
clear length bytes of memory at ptr2  
issue command ( DMA_TEST, length, ptrl, ptr2)  
wait till semaphore register = FF  
check that the memory at ptr2 is identical to ptr1  
END  
A-22  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
A.3.17 Serial loopback test  
/*  
* ROUTINE 17  
* perform a serial loopback test  
* three scenarios are presented:  
* 1. the chip is in normal mode and non-protocol links are used  
* 2. the chip is in normal mode and the FLIP bit is used  
* 3. the chip is in promiscuous_rx mode  
*/  
SERIAL_LOOPBACK_TEST ( test_fds )  
/**************************************  
scenario 1: chip is in normal mode, test link is non-protocol  
***************************************  
/*  
* in performing the INIT sequence for a serial loopback test,  
* the WRAP bit in gcb- > option bits should be set and the  
* non_protocol_error mask set to receive all frames  
* NOTE: The data buffer size of frames in the receive pool  
* should be two bytes longer than the user data presented.  
* This is to compensate for the dlcl which may beadded  
* in transmission (optional). Also note that in this  
* scenario, the user data should include the 16-bit CRC.  
*/  
perform INIT sequence with test_option_bits  
prepare a receive pool test_link_Pool_no  
/*  
* the error mask is valid for this link so that we may check  
* for CRC or ABORT errors in receiving the data  
*/  
set NON_PROTOCOL bit for test link  
set ERROR _MASK_VALID bit for test_link  
build 11 ( test_link , test_link_pool_no )  
lower DISABLE _DLCI bit for all test_fds  
lower DISABLE_CRC bit for all test_fds  
/*  
* the following routine issues the DL_DATA_REQUEST command  
*/  
add frame(s) for tx ( test_link , Id  
wait until frame(s) in receive pool are not-empty  
/*  
* the dlci has been received by the chip in the first 2  
* bytes of the receive buffer: it should be ignored.  
* the last two bytes of data are the CRC  
*/  
check for ABORT or CRC error in received frame(s)  
check received frames match transmitted frames  
MOTOROLA  
MC68606 USER’S MANUAL  
A-23  
Software Interface Flows For the MLAPD  
**************************************  
scenario 2: chip is in normal mode, FLIP bit is used  
**************************************/  
/*  
* for this scenario, both the FLIP bit and  
* the WRAP bit in gcb- > option bits should be set.  
*/  
perform INIT sequence with test_option_bits  
prepare receive pool(s)  
/*  
* prepare two dlci's that differ only on the "flip" bit  
* (e.g. 100 and 101)  
*/  
dlci2 = dicil with FLIP bit raised  
zero user/network bit in dicil  
set user/network bit in dIci2  
set nonprotocol bit for test_linkl, test_link2  
build ll ( test_linkl , dlcil , test_link_Pool_nol )  
build ll ( test_link2 , dlci2 , test_link_pool_no2 )  
/*  
* the following routine issues the DL_DATA_REQUEST command  
*/  
add frame(s) for tx ( test_link1 , fd  
wait frames in receive pool are not-empty  
/*  
* supervisory and data frames should be exchanged by  
* the two links as dictated by the protocol.  
*/  
check that the data frames received on test_link2  
match those transmitted on test_linkl  
**************************************  
scenario 3: chip is in promiscous_rx mode  
**************************************  
/*  
* in performing the INIT sequence for a serial loopback test,  
* the WRAP bit in gcb- > option bits should be set and the  
* non_protocol_error_mask set to receive all frames  
* in this scenario, the PROMISCUOUS mode is chosen  
* NOTE: The data buffer size of frames in the receive pool  
* ïshould be four bytes longer than the user data presented.  
* This is to compensate for the dlci and CRC which may be  
* added in transmission (optional). These fields are  
* received and stored in the data buffer when the MLAPD is  
* in promiscuous mode.  
*/  
perform INIT sequence with test option_bits  
prepare a receive pool test_link:pool_no  
/*  
* create a link for transmitting the frames  
*/  
set NON_PROTOCOL bit for tx_link  
build ll ( tx_link )  
A-24  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
/*  
* the error mask is valid for the rx_link so that we may check  
* for CRC or ABORT errors in receiving the data.  
* note that in promiscuous mode, all frames are received in  
* the pool for which link dlci = 0 is associated.  
*/  
set ERROR_MASK_VALID bit for rx_link  
set NON_PROTOCOL bit for rx_link  
build ll ( rx_link, dlci = 0, test_Pool_no )  
raise DISABLE_DLCI bit for all test_fds  
lower DISABLE_CRC bit for all test_fds  
/*  
* the following routine issues the DL_DATA_REQUEST command  
*/  
add frame(s) for tx ( tx_link , fd  
wait until frame(s) in receive pool are not-empty  
/*  
* the last two bytes of data are the CRC  
*/  
check for ABORT or CRC error in received frame(s)  
check received frames match transmitted frames  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-25  
Software Interface Flows For the MLAPD  
A.3.18 Serial loopback test  
/*  
* ROUTINE 18.  
*
* PERFORM LAYER 2 PROCESSING (MEMORY TO MEMORY)  
*
* This routine indicates how an application may use the MLAPD  
* to perform layer 2 (LAPD) protocol processing where the  
* serial interface is not non-channelized wide band.  
* The interface to the physical level is achieved via another  
* device, referred to as device A.  
* The MLAPD communicates with device A via shared memory  
* (which may necessitate some data structure translation by  
* a processor).  
*/  
LAYER_2_PROCESSING  
/*  
* initialize the MLAPD. Note that the INTERNAL_LOOPBACK  
* option bit is NOT set  
*/  
perform INIT sequence with MEMORY_TO_MEMORY bit set  
/*  
* create a link for dlci = 0 (on I_QUEUE_0) for handling  
* frames received by device A.  
* this link must be put in the NON_PROTOCOL mode  
* and is used to interface the physical layer device (A).  
*/  
set NON_PROTOCOL bit for physical_llid  
build ll ( physical_llid, dic! = 0, physical_pool_no, queue_no 0 )  
/*  
* build logical links required by the application  
* (say appl_llid). None of these links may be assigned  
* to I_QUEUE_0.  
*/  
build ll (appl_llid, appl_dlci, appl_pool_no, appl_queue_no )  
/*  
* to receive a frame from device A, the following  
* steps are taken  
*/  
gather frames from device_A receive queue  
/*  
* the following may involve translating device A's receive  
* data structures to the MLAPD's transmit data structures  
*/  
link frames for transmission to tx queue of physical_llid  
/* CRC may be generated by the MLAPD if stripped off by  
* device A, or not, if the received CRC remains in memory.  
* assume the latter is the case.  
*/  
A-26  
MC68606 USER’S MANUAL  
MOTOROLA  
Software Interface Flows For the MLAPD  
raise DISABLE_CRC bit for all physical_fds  
add frames for tx ( llid = 0, physical_fds)  
on receiving DL_DATA_CONFIRMATION interrupt for dlci = 0:  
/*  
* all frames have been transmitted. Free them, or return them  
* to a device A receive pool, as necessary.  
*/  
release transmitted frames  
/*  
* the frames received from device A are transmitted  
* by the non-protocol link which serves as an HDLC framer.  
* Layer 2 address and control fields are already in the  
* transmitted data. The frames are internally looped to the  
* receiver and received for whichever link they were destined,  
* (generating a DL_DATA INDICATION interrupt if appropriate).  
* Protocol processing, and user interface from this point onwards  
* is identical to that of normal MLAPD functions.  
*
*
*
* In order to transmit frames on the physical layer (on appl_11id)  
* the following steps should be taken.  
* (U or I-frames may be transmitted)  
*/  
add frames for tx ( appl_llid, tx_fds)  
/*  
* these transmitted frames are looped internally, and received  
* on physical_llid (dlci = 0).  
* the MLAPD will also automatically transmit any Supervisor frames  
* in accordance with the protocol.  
*/  
FOR each frame received on physical_pool_no  
collect next frame received on physical_pool_no  
/*  
* the following step translates the MLAPD receive-data structure  
* to device A's transmit data structure.  
*/  
transmit frame on device A  
/*  
* device A will notify user when to return these frames  
* back to physical_pool_no  
*/  
END  
MOTOROLA  
MC68606 USER’S MANUAL  
A-27  
Software Interface Flows For the MLAPD  
A-28  
MC68606 USER’S MANUAL  
MOTOROLA  
APPENDIX B  
ABBREVIATIONS  
CAM  
CR  
Content Addressable Memory  
Command Register  
DISC  
DLCI  
DL  
DISConnect  
Data Link Connection Identifier  
Data Link entity  
DM  
Disconnected Mode  
Digital Multiplexed Interface  
Final  
DMI  
IF  
FD  
Frame Descriptor  
FRMR  
GCB  
GCBP  
GCBPR  
I
FRaMe Reject  
Global Configuration Block  
Global Configuration Block Pointer  
Global Configuration Block Pointer Register  
Information  
ISDN  
IVR  
Integrated Services Digital Network  
Interrupt Vector Register  
Link Access Procedure on D-channel  
Logical Link  
LAPD  
ILL  
LLID  
LLT  
Logical Link IDentification  
Logical Link Table  
MDL  
MLAPD  
P
Management of Data Link entity  
Multi-link LAPD controller  
Poll  
P/F  
Poll/Final  
REJ  
RNR  
REJect  
Receiver Not Ready  
MOTOROLA  
MC68606 USER’S MANUAL  
B-1  
Abbreviations  
RR  
Rx  
Receiver Ready  
Receive  
S
Supervisory  
SABME  
SR  
Tx  
Set Asynchronous Balanced Mode Extended  
Semaphore Register  
Transmit  
U
Unnumbered  
UA  
UI  
Unnumbered Acknowledge  
Unnumbered Information  
B-2  
MC68606 USER’S MANUAL  
MOTOROLA  

相关型号:

SI9130DB

5- and 3.3-V Step-Down Synchronous Converters

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9135LG-T1

SMBus Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9135LG-T1-E3

SMBus Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9135_11

SMBus Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9136_11

Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9130CG-T1-E3

Pin-Programmable Dual Controller - Portable PCs

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9130LG-T1-E3

Pin-Programmable Dual Controller - Portable PCs

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9130_11

Pin-Programmable Dual Controller - Portable PCs

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9137

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9137DB

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9137LG

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9122E

500-kHz Half-Bridge DC/DC Controller with Integrated Secondary Synchronous Rectification Drivers

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY