MC68824_Token_Bus_Controller_1987 MC68824 Token Bus Controller 1987

User Manual: MC68824_Token_Bus_Controller_1987

Open the PDF directly: View PDF PDF.
Page Count: 158

DownloadMC68824_Token_Bus_Controller_1987 MC68824 Token Bus Controller 1987
Open PDF In BrowserView PDF
Introduction
Tables
Commands
Buffer Structures
Signals
Bus Operation
TBC Interfaces
Electrical Specifications

Ordering Information and Mechanical Data
IEEE 802.4 Operation
Frame Formats and Addressing
Bridging

II
II
II
II
II
II
II
II
II
II

II
II

Performance . .

This document contains information on a new product. Specifications and information
herein are subject to change without notice. Motorola reserves the right to make changes
to any products herein to improve functioning or design. Although the information in
this document has been carefully reviewed and is believed to be reliable, Motorola does
not assume any liability arising out of the application or use of any product or circuit
described herein; neither does it convey any license under its patent right nor the rights
of others.

Motorola, Inc. general policy does not recommend the use of its components in life support applications
wherein a failure or malfunction of the component may directly threaten life or injury. Per Motorola Terms
and Conditions of Sale, the user of Motorola components in life support applications assumes all risk of
such use and indemnifies Motorola against all damages.

©MOTOROLA INC., 1987

TABLE OF CONTENTS
Paragraph
Number

Page
Number

Title

1.1
1.2
1.2.1
1.2.2
1.3
1.3.1
1.3.2
1.4
1.5
1.6
1.7
1.8
1.8.1
1.8.2
1.8.3

Section 1
Introduction
Features....................................... .................................. .......... .....
Logical Area Network Standards ........ ........................ ............ ............
150/051 Reference Model............................................................
IEEE Local Area Network Standards..............................................
IEEE 802.4 Token Bus Local Area Networks.......... ................................
Token Bus Operation............. ............................... ...... ........... .....
Options Within IEEE 802.4...... .... .... ................ .................... .... .....
TBC Environment. .......... ............ .... .... ............ ........................ .... .....
Physical Layer Interface....................................................................
Microprocessor System Bus Interface. ........ .................... ............ .........
Shared Memory..............................................................................
Overview of TBC Functional Operation ................................................
Command Structure Overview .... .................................................
Frame Reception Overview..........................................................
Frame Transmission Overview.... ........................................ .........

1-1
1-2
1-2
1-3
1-3
1-3
1-4
1-4
1-5
1-5
1-6
1-6
1-6
1-6
1-7

2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.1.6
2.1.7
2.1.8
2.1.9
2.1.10
2.1.11
2.1.12
2.1.13
2.1.14
2.1.15
2.1.16
2.1.17
2.1.18
2.1.19
2.1.20

Section 2
Tables
TBC Private Area ............................................................................
Next Station Address.................................................................
Previous Station Address............................................................
Hi-Priority-Token-Hold Time.......................................................
Last Token-Rotation-Time ....................................... ...................
Token Rotation Time at Start of Access Classes...............................
Target Token Rotation Time for Access Classes...............................
Token Rotation Time at Start of Ring Maintenance...........................
Target Rotation Time for Ring Maintenance....................................
Ring Maintenance Time Initial Value..............................................
Source Routing - Source Segment/Bridge 10 (SID) ..........................
Source Routing - Target Segment/Bridge 10 (TID) ..... ......................
Segment Number Mask for Source Routing....................................
Max-Inter-Solicit-Count ........ ............................... ...... ...... ..... .....
RX Frame Status Error Mask.................................... ....................
TX Queue Access Class Status............................ ..........................
TX Queue Access Class Pointers...................................................
RX Queue Access Class Pointers...................................................
Free Frame Descriptor Pointer......................................................
Free Buffer Descriptor Pointer ......................................................
Group Address Mask............................................. .....................

2-1
2-1
2-3
2-3
2-3
2-4
2-4
2-4
2-4
2-5
2-5
2-5
2-5
2-5
2-6
2-6
2-6
2-6
2-7
2-7
2-7

MC68824 USER'S MANUAL

MOTOROLA
iii

TABLE OF CONTENTS (Continued)
Paragraph
Number

2.1.21
2.1.22
2.1.23
2.1.24
2.1.25
2.1.26
2.1.27
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.2.9
2.2.10
2.2.11
2.2.11.1
2.2.11.2
2.2.12
2.2.13
2.2.13.1
2.2.13.2
2.2.13.3
2.2.13.4
2.2.13.5
2.2.13.6
2.2.13.7
2.2.13.8
2.2.14
2.2.14.1
2.2.14.2
2.2.14.3
2.2.14.4
2.2.15

Title

Page
Number

Individual Address Mask.............................................................
Non-RWR Maximum Retry Limit...................................................
RWR Maximum Retry Limit.........................................................
Slot Time.................................................................................
This Station Address .... ....... ........ ............ ......... ..... ...... ....... ........
Manufacturer Product Revision and 802.4 Standard Revision Number..
Transmitter Fault Count ............. ~................................................
Initialization Table ....... ........... .... ................. .......... ..... ...... ...............
Private Area Function Code.........................................................
Private Area Pointer ............ ........ .... ................. ........... ........... ....
Parameters Initializing the Private Area ............ ...... ........................
Initial Pad Timer Preset (PTP) .................. ...................... ...... .........
Initial In-Ring Desired .. ... ...... ...... ........... ........ ....... ...... ...............
Initial Address Length............ ...... ........... ......... ...... ...... ...............
Response Destination Address Pointer ............................ ...............
Response Pointer. ....... .... ................ .... .... ... ..... ..... ....... ..... .........
Request with Response Pointer .............. ........ .................... ..........
Command Parameter Area ..........................................................
Interrupt Status Words ...............................................................
Interrupt Status Word 0........ ....... ........ ........ ..... ...... ..... .... ......
Interrupt Status Word 1 ....... :.................................................
Interrupt Masks..... .... ............................ .... ........ .... ...... ...... ..... ....
Statistics .................................................................................
Number of Tokens Passed .....................................................
Number of Tokens Heard.......................................................
Number of Passes Through No Successor 8 .......... ....................
Number of Who Follows............................................... .........
Number of Token Pass Failed.................................................
Number of Frames Too Long (>8K Bytes).................................
Number of No FD/BD Errors...................................................
Number of Overruns.............................................................
Modem Error Counters...............................................................
Non-Silence........................................................................
FCS Errors..........................................................................
E-Bit Errors.........................................................................
Frame Fragments.................................................................
DMA Dump Area.......................................................................

2-8
2-8
2-9
2-9
2-9
2-9
2-10
2-10
2-10
2-10
2-10
2-13
2-13
2-13
2-13
2-13
2-14
2-14
2-15
2-15
2-17
2-19
2-19
2-20
2-20
2-20
2-20
2-20
2-20
2-20
2-21
2-21
2-21
2-21
2-21
2-21
2-21

Section 3
Commands

3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5

MOTOROLA

iv

Registers...... ........................................... ...... ...... ........... ..... ...... ....
TBC Register Map......................................................................
Command Register (CR)..............................................................
Data Register (DR) .....................................................................
Interrupt Vector Register (IV)............ ........ ............ ........................
Semaphore Register.............. .....................................................

3-2
3-3
3-3
3-3
3-3
3-4

MC68824 USER'S MANUAL

TABLE OF CONTENTS (Continued)
Paragraph
Number

Page
Number

Title

3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.3
3.3.1
3.3.2
3.3.3
3.3.4
3.4
3.4.1
3.4.2
3.4.3
3.5
3.5.1
3.5.2
3.5.3
3.5.3.1
3.5.3.2
3.5.3.3
3.5.3.4
3.5.3.5
3.5.3.6
3.6
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.7
3.7.1
3.7.2
3.8
3.8.1
3.8.1.1
3.8.1.2
3.8.2
3.9

Initialization...................................................................................
LOAD INITIALIZATION TABLE FUNCTION CODE Command ................
INITIALIZE Command.............................................. ...................
OFFLINE Command.............................................. .....................
IDLE Command.........................................................................
RESET Command.............................................. ........................
Set Operation Mode........................................................................
SET MODE 1 Command..............................................................
SET MODE 2 Command..............................................................
SET MODE 3 Command ..............................................................
SET/CLEAR IN-RING DESIRED Command... .................... ................
TX Data Frames............................. ................ .................................
STOP Command .................................................................... ...
RESTART Command ..................................................................
START Command........... ..... ........................................ ..............
Set/Read Value ...............................................................................
Command Parameter Area ..........................................................
READ VALUE Command .............................................................
SET VALUE Command .............. .................................................
Buffer Descriptor Function Code......................... .....................
Frame Descriptor Function Code .............................................
Data Buffers Function Code... ................................... ..............
Set Pad Timer Preset Register (PTP).......................... ...............
Set One Word .....................................................................
Set Two Words...................................................................
Testing .............................. ..................................... ......................
SET INTERNAUEXTERNAL LOOPBACK MODE Command ..................
HOST INTERFACE TEST Command ...............................................
FULL-DUPLEX LOOPBACK TEST Command ....................................
TRANSMITTER TEST Command ......... ............... ...........................
RECEIVER TEST Command..........................................................
Sequence for Running all the Tests ...............................................
Notify TBC.....................................................................................
CLEAR INTERRUPT STATUS Command.........................................
RESPONSE READY Command......... .............................................
Modem Control..............................................................................
PHYSICAL Command.................................................................
Immediate Commands...................... ....................................
Data Transfer Commands......................................................
END PHYSICAL Command.......................... ............ .....................
Illegal Commands.............................................. .............................

3-4
3-5
3-5
3-5
3-6
3-6
3-7
3-7
3-8
3-10
3-11
3-23
3-12
3-12
3-12
3-13
3-13
3-16
3-16
3-17
3-17
3-17
3-17
3-18
3-18
3-18
3-19
3-19
3-20
3-22
3-23
3-24
3-26
3-26
3-27
3-27
3-27
3-28
3-29
3-30
3-30

4.1
4.1.1
4.1.1.1

Section 4
Buffer Structures
Buffer Structures ... .......... .... ...... ...... ............................ ...................
Frame Descriptors................ ...... .... ... ................. .... ....... ............
FD Confirmation/Indication Word Format..................................

4-2
4-2
4-3

MC68824 USER'S MANUAL

MOTOROLA
v

TABLE OF CONTENTS (Continued)
Paragraph
Number

4.1.1.2
4.1.1.3
4.1.1.4
4.1.1.5
4.1.1.6
4.1.1.7
4.1.1.8
4.1.1.9
4.1.1.10
4.1.2
4.1.2.1
4.1.2.2
4.1.2.3
4.1.2.4
4.1.2.5
4.1.3
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.3
4.3.1
4.3.2
4.3.3
4.4
4.5

Page
Number

Title

Receive Status Word ..... ................................. ......................
Control for Next Frame Descriptor Pointer............. ....................
Next Frame Descriptor Pointer ..... ............ ..... ........... ...............
First Buffer Descriptor Pointer.............. ........ ................. ....... ...
Frame Data Length...............................................................
Immediate Response Frame Descriptor Pointer..........................
Frame Control.....................................................................
MAC Destination Address......................................................
MAC Source Address............................................................
Buffer Descriptors....... ..... .... ....................................... ...............
Data Buffer Pointer...............................................................
Buffer Descriptor Control and Offset ......................... ...............
Buffer Length......................................................................
Receive Indication Word........................................................
Next Buffer Descriptor Pointer....... ..... .... ........... .....................
Data Buffers.. .......... ............. .................... ................................
Transmission of a Frame.... ......... .... ................... .................... ..........
Initialization Performed by Host....................................................
Management of Transmission Queues...........................................
Examples of TBC Transmission Queues.........................................
Adding a Frame to a Transmission Queue......................................
TBC's Actions Upon Transmission ................................. ...............
Reception of Frames............................................. ..................... ......
Initialization Performed by Host............................... .... .................
Reception Queues and Free Pools ............................ ... ............ ......
TBC's Action Upon Reception ......................................................
Request with Response (RWR) Transmission ........................................
Reception of RWR Frames and Transmission of Response ...... ............ .....

4-5
4-5
4-6
4-6
4-6
4-6
4-6
4-6
4-6
4-6
4-7
4-7
4-8
4-8
4-8
4-8
4-8
4-9
4-9
4-10
4-11
4-11
4-12
4-12
4-13
4-14
4-15
4-16

Section 5
Signals

5.1
5.2
5.3
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
5.3.6
5.3.7
5.4
5.4.1
5.4.2
5.4.3

MOTOROLA
vi

Address Bus (A1-A31) ......................................................................
Data Bus (00-015)...........................................................................
Bus Control ...................................................................................
Function Codes (FCO-FC3) ...........................................................
Bus Exception Conditions (BECO-BEC2) ............................... ..... ......
Data Transfer Acknowledge (DTACK) .............................................
ReadIWrite (RIW).......................................................................
Upper Data Strobe (UDS/AO), Lower Data Strobe (LOS/OS).... ....... ......
Address Strobe (AS) ..................................................................
Chip Select (CS) ....... ........................... ................................ ......
Bus Arbitration...............................................................................
Bus Request (BR) ......................................................................
Bus Grant (BG) ... ..... ............. .......... ..... ............. ... ........... ..........
Bus Grant Acknowledge (BGACK) .................................................

5-1
5-1
5-1
5-1
5-2
5-3
5-3
5-3
5-3
5-4
5-4
5-4
5-4
5-4

MC68824 USER'S MANUAL

TABLE OF CONTENTS (Continued)
Paragraph
Number

5.5
5.5.1
5.5.2
5.6
5.6.1
5.6.1.1
5.6.1.2
5.6.1.3
5.6.1.4
5.6.2
5.6.2.1
5.6.2.2
5.6.2.3
5.6.2.4
5.7

Title

Page
Number

Interrupt Control.............................................................................
Interrupt Request (lRO) ... ............................................................
Interrupt Acknowledge (lACK) ......................................................
Serial Interface...............................................................................
Physical Data Request Channel.................................. ...................
Station Management Request (SMREO)....................................
Transmit Clock (TXCLK).........................................................
TXSYM2, TXSYM1, and TXSYMO in MAC Mode .........................
TXSYM2, TXSYM1, and TXSYMO in Station Management Mode....
Physical Data Indication Channel............................. .....................
Station Management Indication (SMIND) ............. ........... ..........
Receive Clock (RXCLK) ........ ;.................................................
RXSYMO, RXSYM1, and RXSYM2 in MAC Mode.........................
RXSYM2, RXSYM1, and RXSYMO in Station Management Mode....
Signal Summary.............................................................................

5-4
5-5
5-5
5-5
5-5
5-6
5-6
5-6
5-6
5-7
5-7
5-7
5-7
5-8
5-9

Section 6
Bus Operation

6.1
6.1.1
6.1.2
6.1.3
6.2
6.2.1
6.2.2
6.2.3
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
6.3.6
6.3.7
6.4
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
6.5
6.5.1
6.5.2
6.6

Host Processor Operation Mode.........................................................
Host Processor Read Cycles.........................................................
Host Processor Write Cycles........................................................
Interrupt Acknowledge Cycles......................................................
DMA Operation..............................................................................
DMA Burst Control....................................................................
TBC Read Cycles.......................................................................
TBC Write Cycles.......................................................................
Bus Exception Control Functions........................................................
Normal Termination................. ...... ................. .... ........................
Halt................ ... . ............. ..... ................. ............. ..... ..... ..........
Bus Error.................................................................................
Retry................................ .... ................. ............... ..................
Relinquish and Retry..................................................................
Reset..................... ..... .... ...... ...... ............................................
Undefined BEC Codes ................................................................
Bus Arbitration ............. ... .... .... ..... ........... ............ ...........................
Requesting the Bus ....................................................................
Receiving the Bus Grant ....... ...... ..................... ....... ..... ........ .......
Acknowledgement of Mastership.. .................... ........ ....................
Bus Arbitration Control...............................................................
Reset Operation............ ................ ................. ... ... ....... ............. .......
Bus Overhead Time.........................................................................
Front-End Overhead...................................................................
Back-End Overhead....................................................................
Registers.......................................................................................

MC68824 USER'S MANUAL

6-1
6-1
6-1
6-2
6-3
6-3
6-4
6-4
6-4
6-6
6-6
6-6
6-6
6-8
6-8
6-8
6-8
6-10
6-10
6-10
6-10
6-10
6-11
6-11
6-12
6-12

MOTOROLA

vii

TABLE OF CONTENTS (Continued)
Paragraph
Number

Page
Number

Title
Section 7
TBC Interfaces

7.1
7.2
7.3

T8C-to-Host Processor Interface.. .................................. .....................
Non-M68000 8us Interface ................ ................................................
MAC Sublayer-to-Physical-Layer Interface...................... ......................

7-1
7-1
7-4

Section 8
Electrical Specifications

8.1
8.2
8.3
8.4
8.5

Maximum Ratings...........................................................................
Thermal Characteristics.... .................... ........ ........ .... .......... .......... ....
Power Considerations......................................................................
DC Electrical Characteristics..............................................................
AC Electrical Characteristics..............................................................

8-1
8-1
8-1
8-2
8-2

Section 9
Ordering Information and Mechanical Data

9.1
9.2
9.3
9.4

Package Types...............................................................................
Standard Ordering Information..........................................................
Pin Assignments.............................................................................
Package Dimensions........................................................................

9-1
9-1
9-2
9-3

Appendix A
IEEE 802.4 Operation

A.1
A.2
A.3
A.4
A.5
A.6

Fu nctions .... ..... ...... . ......................... . ................................ . ...........
Steady Station Operation..................................................................
Initialization........................................................................ ...........
Passing the Token...........................................................................
Adding New Stations................. ...................... ........ ........................
Priority............ ...... ...... ......... .................. ............ .............. ............

A-1
A-1
A-2
A-2
A-3
A-4

Appendix B
Frame Formats and Addressing

8.1
8.1.1
8.1.2
8.1.3
8.1.4
8.1.5
8.1.6
8.1.7
8.1.8
8.1.9

MOTOROLA
viii

Frame Formats and Addressing.........................................................
Preamble...................................................................... ...........
Start Delimiter ..........................................................................
Frame Control..........................................................................
Address Fields..........................................................................
Data................ ............. ............. ........................... .. ... .............
Frame Check Sequence (FCS)................ .......................................
End Delimiter ...........................................................................
Invalid Frames..........................................................................
Abort Sequence........................................................................

8-1
8-1
8-1
8-2
8-3
8-3
8-3
8-3
8-3
8-4

MC68824 USER'S MANUAL

TABLE OF CONTENTS (Concluded)
Paragraph
Number

B.2
B.2.1
B.2.2
B.2.3
B.2.4

Page
Number

Title

Addressing....................................................................................
IEEE Addressing........................................................................
Individual Addressing.................................................................
Group Addressing.....................................................................
Promiscuous Listener......................................................................

B-4
B-4
B-4
B-6
B-6

Appendix C
Bridging

C.1
C.2
C.2.1
C.2.2
C.3
C.3.1
C.3.2
C.3.3

Interconnection of Networks......................................................... .....
Hierarchical Addressed Bridging ........................................................
Hierarchical Addressed Bridging Implementation.............................
Lower Bridges..........................................................................
Flat Addressed Bridging Overview......................................................
Source Routing Implementation...................................................
Route Designators.....................................................................
Source Routing Operation ...........................................................

C-1
C-1
C-2
C-3
C-3
C-4
C-5
C-6

Appendix 0
Performance

MC68824 USER'S MANUAL

MOTOROLA

LIST OF ILLUSTRATIONS
Figure
Number

Title

Page
Number

1-1
1-2
1-3

10S/OSI Model ...............................................................................
IEEE Standard Modem ... ..... ..................... ........ .... ......... ....... ............
Token Bus LAN Node. ....... ............ ..... ........... ............ ..... ........ .........

1-2
1-3
1-5

2-1
2-2
2-3

Data Organization in Memory........ ............ ................ ............ ............
TBC Private Area ............................................................................
Initialization Table...........................................................................

2-1
2-2
2-11

3-1

Command Parameter Area................................................................

3-13

4-1
4-2
4-3
4-4
4-5
4-6
4-7
4-8

Linked Buffer Structures ..... ............ ....... ......... ........... ............... ........
TBC Queues...................................................................................
Frame Descriptor Format..................................................................
Buffer Descriptor Format..................................................................
Examples of Queues Status. ............ ................ ............ ..... .... .... .........
Free Frame Descriptor and Buffer Descriptor Pools................................
Initialization of a Reception Queue.. ...................... ..............................
Reception Queue After Receivi ng 0 ne Fra me............ ............................

4-1
4-2
4-3
4-7
4-10
4-12
4-14
4-14

5-1
5-2
5-3
5-4
5-5
5-6
5-7
5-8

MC68824 Signals............................................................................
Data Strobe Control of Data Bus in Master Mode...................................
Physical Layer Interface....................................................................
Request Channel Encodings for MAC Mode (SMREQ = 1).........................
Request Channel Encodings for Station Management Mode (SMREQ=O)....
Indication Channel Encodings for MAC Mode (SMIND = 1) .......................
Encodings for Station Management Mode (SMIND=O) ...........................
Typical Station Management Sequence...............................................

5-2
5-3
5-5
5-6
5-7
5-7
5-8
5-8

6-1
6-2
6-3
6-4
6-5
6-6
6-7
6-8
6-9
6-10
6-11
6-12
6-13
6-14

Host Processor Read Cycle with Two Wait States...................................
Host Processor Write Cycle ..... .... ................ ........ .... ........ ......... .........
Interrupt Acknowledge Cycle.............................................................
Read Cycle and Slow Read Cycle........................................................
Write Cycle and Slow Write Cycle.......................................................
BEC Encoding Definitions.. ...... ...... .......... .......... ........ .... ........ ...........
TBC Write Cycle with HALT...............................................................
TBC Read Cycle with Bus Error..........................................................
TBC Read Cycle with RETRy..............................................................
TBC Read Cycle with Relinquish and Retry, Early and Late............ ...........
TBC Read Cycle with Undefined Bus Exception .............. .............. .........
Bus Arbitration...............................................................................
Bus Arbitration Unit State Diagram.....................................................
Bus Timing Diagram........................................................................

6-2
6-2
6-3
6-4
6-5
6-5
6-6
6-7
6-7
6-8
6-9
6-9
6-11
6-12

MOTOROLA
)(

MC68824 USER'S MANUAL

LIST OF ILLUSTRATIONS (Continued)
Figure
Number

Title

Page
Number

7-1
7-2
7-3

TBC to MC68020 Interface.................. .............. ........... ........... ..... ......
TBC to iAPX 80186 Interface..............................................................
Memory Organization.................................................... ..................

7-2
7-3
7-4

8-1
8-2
8-3
8-4
8-5
8-6
8-7
8-8
8-9
8-10
8-11
8-12

Host Processor Read Cycle .................... :...........................................
Host Processor Write Cycle...............................................................
Interrupt Acknowledge Cycle.............................................................
Bus Arbitration...............................................................................
Read Cycle and Slow Read Cycle........................................................
Write Cycle....................................................................................
TBC Read Cycle with RETRy..............................................................
Read Cycle with Bus Error................................................................
BR After Previous Exception ........................................................ ;.....
Short Exception Cycle......................................................................
Clock, ClK....... ............................... ................. ..............................
TBC Serial Data (RXD and TXD) and Serial Clocks (RClK and TClK) ..........

8-5
8-6
8-6
8-7
8-8
8-9
8-10
8-11
8-12
8-12
8-13
8-13

MC68824 USER'S MANUAL

MOTOROLA
vi

LIST OF TABLES
Table
Number

3-1
3-2
3-3
3-4
3-5
3-6
3-7
3-8
3.9

TBC Commands by Categories............... ............... ..... ....... ..... ...............
TBC Commands.................................................................................
Register Map....................................................................................
Data Register Format..........................................................................
Interrupt Vector ........ ............. ...... ........ ............. ........ ..... ....................
Read Value Opcodes.. .............................. .................. ...... .... ...............
Set Value Opcodes..............................................................................
Test Buffer Format.............................................................................
Test Buffer for Returned Data...............................................................

3-1
3-2
3-3
3-3
3-4
3-14
3-15
3-20
3-21

5-1
5-2

Bus Exception Conditions....................................................................
Signal Summary................................................................................

5-2
5-9

6-1
6-2

Bit Bus Access (CS=O and R/w=O) ....................................................... 6-12
16-Bit Bus Access (CS=O and R/w=O) ................................................... 6-12

MOTOROLA
xii

Page
Number

Title

MC68824 USER'S MANUAL

II
SECTION 1
INTRODUCTION
The Motorola MC68824 Token Bus Controller (TBC) is a silicon integrated circuit implementing
the media access control (MAC) portion of the IEEE 802.4 token passing bus standard. IEEE 802.4
defines the physical and MAC portion of the data link layer standards of the Manufacturing
Automation Protocol (MAP) specification.
The TBC simplifies interfacing a microcomputer to a MAP network by providing the link layer
services including managing ordered access to the token bus medium, providing a means for
admission and deletion of stations, and handling fault recovery. Some extra features have been
added to enhance the token bus controller for real time applications. These enhancements consist
of the four levels of priority for transmit and receive and the request with response mechanism.
These features, combined with the basic functionality of the token bus controller, make it ideally
suited for both seven layer MAP networks and the Enhanced Performance Architecture (EPA)
networks defined by MAP version 3.0.
The TBC functions as an intelligent peripheral device to a microprocessor. An on-chip DMA
transfers data frames to and from a buffer memory with minimal microprocessor interface required. A microcoded fully linked buffer management scheme queues frames during transmission
and reception, and optimizes memory use. This VLSI implementation significantly reduces the
cost of a MAP network.
1.1 FEATURES

The MC68824 provides the following:
• Low Power Consumption through 2 Micron HCMOS Fabrication
• MAC Options Suitable for Real Time Environments
Four Receive and Four Transmit Queues Supporting Four Priority Levels
Immediate Response Mechanism using the Request with Response (RWR) Frame Type
• On-chip Network Monitoring and Diagnostics
• Two Separate Ways of Bridging - Hierarchial and IBM Defined Source Routing
• Powerful Addressing - Group Address Recognition and Multidrop Capability
• System Clock Rate up to 16.67 MHz
• Serial Data Rates from 10 Kbits/Second to 16.67 Mbits/Second
• IEEE 802.4 Recommended Serial Interface Supporting Various Physical Layers
• Simple Interface to Higher Level Software by Means of a Powerful, Fully-Linked Data
Structure
• Highly Integrated M68000 Family Bus Master/Slave Interface
Four Channel DMA for Transfer of Data Frames to and from Memory
40-Byte FIFO to Efficiently Support High Data Rate
32-Bit Address Bus with Virtual Address Capabilities
• Simplified Interface to Other Processor Environments
Byte Swapping Capability for Alternate Memory Structures
8- or 16-Bit Data Bus

MC68824 USER'S MANUAL

MOTOROLA
1-1

II

1.2 LOCAL AREA NETWORK STANDARDS

Until recently, proprietary local area networks were the only way to tie equipment together to
share information and resources. These proprietary local area networks allowed the user to connect small segments of one vendor's computers together. This was all the user needed or wanted.
Today, with the increasing complexity of factories and offices, there is a significant increase in
the requirements for local area network functionality. Users need to connect more than just a
small segment of one vendor's equipment. Since each vendor has its own proprietary protocol,
connecting equipment together from more than one vendor or placing a different vendor's machine into a proprietary network can cost up to 80% of the price of the actual equipment. This
cost is mainly attributed to the time necessary to write special software programs.
Users began to see that this situation left them with two choices; to buy everything from one
vendor, or to buy standard equipment. Since it is obviously not reasonable to buy everything
from one vendor, local area network standards began to receive attention. General Motors has
specifically addressed the standardization of the factory local area network through the Manufacturing Automation Protocol (MAP) specification based on the 150/051 reference model.
1.2.1 150/051 Reference Model

The industry accepted communications model is the International Standards Organization (ISO) reference model of
Open Systems Interconnection (051). The model specifies
seven layers, with each layer responsible for providing specific services to the layer above it. These layers are independent of each other and peer-to-peer layer interfaces are
defined and standardized (see Figure 1-1).

ISO LAYER
APPLICATION
PRESENTATION
SESSION
STATION
MANAGEMENT

NETWORK
OATA LINK

Application Layer
Provides the network services necessary for the user to
run his application program.
Presentation Layer
Provides the services necessary to format data exchange and to manage session dialog.

TRANSPORT

PHYSICAL

()

I

PHYSICAL MEOlA

)

Figure 1-1. 105/051 Model

Session Layer
Handles connection establishment, connection termination, and arbitrates session user rights
to services.
Transport Layer
Provides the functions necessary for error free delivery of messages (flow control, acknowledgement, error recovery).
Network Layer
Routes frames between multiple network segments.
Data Link Layer
Is responsible for sending frames across the physical link in a reliable manner.
Physical Layer
Transmits data bits across the physical medium.

MOTOROLA
1-2

MC68824 USER'S MANUAL

1.2.2 IEEE Local Area Network Standards

The IEEE 802 standards body has specified a set of standards based on the lowest two layers of
the ISO/OSI model. In order to meet the diverse requirements of the user community, the 802
standards body has defined five different standards so far. These standards are:
1. IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMAlCD) on a Bus
Topology
2. IEEE 802.4 Token Bus
3. IEEE 802.5 Token Ring
4. IEEE 802.6 Metropolitan Area Network (MAN)
5. IEEE 802.9 Intergrated Voice Data LAN Access Method
The IEEE standards do not directly correspond to the ISO/OSI model as shown in Figure 1-1. IEEE
breaks the data link layer into the media access control (MAC) and the logical link control (LLC)
sublayers (see Figure 1-2). The MAC layers are specified by working groups 802.3, 802.4, 802.5,
802.6, and 802.9. The LLC sublayer is specified by 802.2. IEEE has other supporting working groups
which consist of network management and interworking (802.1), broadband advisory (802.7), and
fiber optic advisory (802.8).

802.1 MANAGEMENT

802.2 LLC

I

BBBBB

DATA
LINK
LAYER

LLC
MAC

PHYSICAL
LAYER

Figure 1·2. IEEE Standard Model

1.3 IEEE 802.4 TOKEN BUS LOCAL AREA NETWORKS

The following paragraphs briefly describe the token bus operation and the options outlined in
the IEEE 802.4 standard.

1.3.1 Token Bus Operation

The IEEE 802.4 token passing bus standard is a deterministic protocol. This means that the user
is guaranteed access to the network on or before certain predefined intervals. The predefined
intervals are dependent on network characteristics such as number of stations and token hold
times within each station. A station is only allowed to transmit onto the network when it holds
the token. A token is an 8·bit pattern in the frame control portion of the frame. There is only one
token on a network. This token is passed from the station with the highest address to the station
having the next highest address and so on, with the lowest addressed station passing the token
back to the highest addressed station. This circular passing of the token forms a logical ring.

MC68824 USER'S MANUAL

MOTOROLA
1 .,

II

II

The initialization of a token bus network is accomplished by each station listening to the network.
When a particular station hears nothing for a specified period, it will try to claim the token. A
number of stations can try to claim the token at the same time but only the highest addressed
station will win the token.
Periodically, each station on the network checks to see if a station that has an address between
that of itself and the station it-passes the token to (its successor in the logical ring), wants to enter
the network. If there is such a station, the original station makes the new station the recipient of
the token (its successor), therefore allowing the new station to enter the ring. It is conceivable
that more than one station could try to enter the logical ring at the same time (i.e., have addresses
between the same two stations). The protocol is set up such that the highest addressed station
will be allowed into the ring and the other station(s) will have to try again at the next opportunity.
When a station no longer desires to be a part of the logical ring, it tells the station preceeding it
(previous station) that it is leaving the ring. The previous station will then determine its new
successor, and pass it the token.
For more detailed information on how the IEEE 802.4 standard works, refer to APPENDIX A IEEE
802.4 OPERATION or the IEEE 802.4 standard.
1.3.2 Options Within IEEE 802.4
The token bus controller implements both the priority and request with response (RWR) options
outlined in the IEEE 802.4 standard. These options make the TBe suitable for use in real time
networks as specified in MAP version 3.0.
The request with response option allows any station that is a member of the logical ring to
communicate with any station(s) that is not a member of the logical ring. This is useful in real
time networks because stations that do not have much data to transmit do not add unnecessary
delay to the token rotation time. The longer the token rotation time is, the longer it is between
each station's opportunity to transmit. Not being a part of the logical ring allows these stations
to have less functionality, simpler software, and lower cost. Whenever a station needs data from
a station that is not a member of the logical ring, the requesting station sends a request with
response frame to the station it wants a response from. The responding station then returns a
response while the requesting station still holds the token.
The four levels of priority are optional. If the user chooses not to implement priority, all frames
are received and transmitted out of the highest priority queue. If priority is implemented, frames
are linked into one of the four queues according to their priority. The TBe implements priority
by transmitting out of the highest priority queue until there are no more frames in that queue or
until the timer for that priority has elapsed. The timer for the highest priority queue is set by the
user while the timer for lower priorities is set partially by the user and partially by network history.
The TBe then either passes the token or checks the next lower priority queue for frames to transmit.
If the timer for the next lower queue has not elapsed (the TBe has not passed the token), the TBe
transmits out of that queue until there are no more frames to transmit or until the timer for that
priority (which has been set by the user) has elapsed, and so on through all four queues. Finally
the TBe passes the token to the next station. While receiving, frames of the same priority are
linked together so the host can easily read the data by priority queue.
1.4 TBe ENVIRONMENT
The token bus controller provides ordered access to the token bus medium while under the overall
supervision of a microprocessor. The communication between the microprocessor and the TBe
is primarily through shared memory, but also uses a command structure.
.

MOTOROLA
1.11

MC68824 USER'S MANUAL

Figure 1-3 illustrates a typical system configuration using the TBC. The TBC, memory, and CPU
all communicate through a local bus. On the serial side, the TBC communicates through the IEEE
802.4G recommended standard serial interface to any modem also implementing this interface.

~T
IIIe
BUS

STANDARD
PHYSICAL
INTERFACE

COAX
CABLE

Figure 1-3. Token Bus LAN Node

1.5 PHYSICAL LAYER INTERFACE
The TBC is a half-duplex controller which can be interfaced to any physical layer that implements
the IEEE 802.4 recommended standard serial interface at 1, 5, or 10 Mbps. The serial interface
supports two modes of operation: station management mode and MAC mode. In station management mode, commands may be given to an intelligent modem through the TBC. The serial
interface consists of a request channel and an indication channel. The request channel is from
the TBC to the modem and consists of TXCLK (supplied by the modem), TXSYMO, TXSYM1,
TXSYM2, and SMREQ. The indication channel is from the modem to the TBC and consists of
RXCLK (supplied by the modem), RXSYMO, RXSYM1, RXSYM2, and SMIND.
Both the TBC and the modem can request station management mode. The TBC requests station
management mode in order to give commands and the modem requests station management
mode in order to report error conditions. The TBC can either encode commands on its TXSYM
lines or send serial data commands on one of the TXSYM lines.
1.6 MICROPROCESSOR SYSTEM BUS INTERFACE
The host microprocessor can be any 8-, 16-, or 32-bit microprocessor. The microprocessor interface
on the TBC is that of the M68000 Family. The TBC provides byte swapping capability to enable
the user to operate with either Motorola or Intel byte ordering convention.
The TBC has a 32-bit non-multiplexed address bus and a separate 16-bit data bus, which may be
configured for 8-bit operation.

MC68824 USER'S MANUAL

MOTOROLA

1-5

II

II

1.7 SHARED MEMORY
The TBC and the host microprocessor interface through shared memory which consists of:
Initialization Table
Private Area
Fully Linked Buffer Structure
Frame Descriptors
Buffer Descriptors
Data Buffers
Initialization Table
Contains all of the initial parameters necessary for TBC network operation and is prepared
by the host prior to the initialization of the TBC.
Private Area
An external scratch pad for the TBC containing some TBC parameters.
Fully Linked Buffer Structure
Consists of frame descriptors, buffer descriptors, and data buffers.
Frame descriptors contain control information for each frame and are linked together to form
each priority queue.
Buffer descriptors are pointed to by frame descriptors and contain control information for
the data. Buffer descriptors contain an offset value set by the user which tells how far from
the beginning of the data buffer the actual data begins. The offset feature can be used to
add or subtract upper layer headers making it unnecessary to recopy data.
Data buffers contain only data and are flexible in size.

1.8 OVERVIEW OF TBC FUNCTIONAL OPERATION
The following paragraphs provide a high level summary of the command structure, frame reception, and frame transmission.

1.8.1 COMMAND STRUCTURE OVERVIEW
The host issues a command to the TBC by writing the 8-bit command into the command register.
The commands belong to one of the following categories:
Initialization
Set Operation Mode
Transmit Data Frames
Set/Read Value
Test
Notify TBC
Modem Control

1.8.2 FRAME RECEPTION OVERVIEW
A frame is received by a station if the address comparison is true. For group addressed frame
reception, the address comparison uses the group address mask, this station's address, and the

MOTOROLA

'-6

MC68824 USER'S MANUAL

destination address of the frame. The address comparison for a non-group (individual) addressed
frame uses the individual address mask, this station's address, and the destination address of the
frame. Broadcast frames are always accepted. Once the station determines that it is to receive
the frame, the frame is transferred by DMA into the linked buffer portion of shared memory into
the appropriate priority queue. The TBC does all of the linking and transferring. After the frame
has been written into shared memory, an indication of its reception and its status are written into
the frame descriptor.

1.8.3 FRAME TRANSMISSION OVERVIEW
Data frames are transmitted from one of four transmission priority queues. Frames are only
transmitted out of the enabled priority queues. On reception of the token by the station, the TBC
checks the transmission queues for frames to be sent. If frames are present on one or more of
the queues, the TBC will send the frames until its allotted transmission time has expired, then
pass the token. Confirmation that a specific frame has been sent, along with the transmission
status is written into its frame descriptor.

MC68824 USER'S MANUAL

MOTOROLA
1-7

II

II

MOTOROLA
1-8

MC68824 USER'S MANUAL

II

SECTION 2
TABLES
The MC68824 Token Bus Controller (TBC) utilizes two tables to interface with the host. The tables
include the TBC private area and the initialization table. The TBC private area is a 128-byte block
of memory used by the TBC to store internal variables and pointers. The initialization table is a
256-byte block of memory which holds initial parameters, interrupt status and interrupt masks, a
DMA dump area, statistical information, and the command parameter area (CPA). The CPA is
used by the host to set and read TBC parameters.
2.1 TBC PRIVATE AREA
The TBC private area is a 128-byte area of RAM reserved for use by the TBC to store internal
variables and statistical information associated with the media access control (MAC) operation.
During initialization, the host CPU specifies the appropriate initial values of the private area
parameters in the initialization table (see displacement 08 hex through 76 hex in the initialization
table shown in Figure 2-3). These initial values are then loaded into the private area through the
INITIALIZE command (see 3.2.2 INITIALIZE Command for details). After initialization, the TBC
keeps an on-chip pointer to this private area. The private area should never be directly accessed
by the host as this would not guarantee IEEE 802.4 operation. The parameters in the private area
should only be set and read by the SET/READ VALUE commands through the command parameter
area (see 3.5 SET/READ VALUE).
The format of the TBC private area is shown in Figure 2-2. Those parameters specified in the IEEE
802.4 standard are noted. All timers are specified in octet times; one octet time is defined as 8-1/
(network data rate)). The data is organized following the Motorola byte ordering convention unless
otherwise specified. That is, the low-order byte has an odd address while the high-order byte has
an even address as shown in Figure 2-1.

High Word

I MSB

DeB
Byte 0

A

8

7

[Word 01

Byte 1

~--------------------------------------------------------~

Low Word

Byte 2

[Word

11

Byte 3

LSB

I

Figure 2·1. Data Organization in Memory

2.1.1 Next Station Address
Next station (NS) address is the 48-bit (or 16-bit) address of the next station in the logical ring
that this station will pass the token to. The address length of 48 or 16 bits for the station is chosen
at initialization time by setting or resetting a bit located in offset 7A of the initialization table. The

MC68824 USER'S MANUAL

MOTOROLA
?_1

DISPLACEMENT
(IN BYTES)

II

DESCRIPTION OF FIELD

802.4
802.4
802.4
.802.4
802.4
802.4

00
02
04
06
08
OA
OC
OE

NEXT STATION ADDRESS HIGH
NEXT STATION ADDRESS MEDIUM
PREVIOUS STATION ADDRESS HIGH
PREVIOUS STATION ADDRESS MEDIUM
HI_PRIORITY_TOKEN_HOLD_TIME
LAST TOKEN_ROTATION_TIME
TOKEN ROTATION TIME AT START OF ACCESS CLASS 4
TARGET_ROTATION_TIME FOR ACCESS CLASS 4

10
12
14
16
18
lA
lC
IE

TOKEN ROTATION TIME AT START OF ACCESS CLASS 2
TARGET_ROTATION_TIME FOR ACCESS CLASS 2
TOKEN ROTATION TIME AT START OF ACCESS CLASS 0
TARGET_ROTATlON_TIME FOR ACCESS CLASS 0
TOKEN ROTATION TIME AT START OF RING MAINTENANCE
TARGETJOTATION_TIME FOR RING MAINTENANCE
RING MAINTENANCE TIME INITIAL VALUE
SOURCE ROUTING - SOURCE SEGMENT/BRIDGE ID (SID)

20
22
24
26
28
2E

SOURCE ROUTING - TARGET SEGMENT/BRIDGE ID (TID)
SEGMENT NUMBER MASK FOR SOURCE ROUTING
MALINTEILSOLlCIT_COUNT
RX FRAME STATUS ERROR MASK
TX QUEUE ACCESS CLASS 6 STATUS
TX QUEUE ACCESS CLASS 6 HEAD OF QUEUE POINTER
ZERO

30
32
34
36
38
3A
3E

TX QUEUE ACCESS
TX QUEUE ACCESS
ZERO
TX QUEUE ACCESS
TX QUEUE ACCESS
ZERO
ZERO

CLASS 4 STATUS
CLASS 4 HEAD OF QUEUE POINTER

40
42
46
48
4C

TX QUEUE ACCESS
TX QUEUE ACCESS
ZERO
RX QUEUE ACCESS
RX QUEUE ACCESS

CLASS 0 STATUS
CLASS 0 HEAD OF QUEUE POINTER

50
54
58
5C

RX QUEUE ACCESS CLASS 2 END OF QUEUE POINTER
RX QUEUE ACCESS CLASS 0 END OF QUEUE POINTER
FREE FRAME DESCRIPTOR POINTER TO FIRST FD
FREE BUFFER DESCRIPTOR POINTER TO FIRST BD

60
62
64
66
68
6A
6C
6E

GROUP ADDRESS MASK - LOW
GROUP ADDRESS MASK - MEDIUM
GROUP ADDRESS MASK - HIGH
INDIVIDUAL ADDRESS MASK - LOW
INDIVIDUAL ADDRESS MASK - MEDIUM
INDIVIDUAL ADDRESS MASK - HIGH
NON RWR MAXIMUM RETRY LIMIT
RWR MAXIMUM RETRY LIMIT

70
72
74
76
78
7A
7C
7E

SLOT TIME
THIS STATION ADDRESS - LOW
THIS STATION ADDRESS - MEDIUM
THIS STATION ADDRESS - HIGH
MANUFACTURER PRODUCT VERSION AND 802.4 STANDARD REV. NUMBER
TRANSMITTER FAULT COUNT
RESERVED FOR TBC
RESERVED FOR TBC

2A

802.4
802.4
802.4
802.4
802.4

802.4

CLASS 2 STATUS
CLASS 2 HEAD OF QUEUE POINTER

CLASS 6 END OF QUEUE POINTER
CLASS 4 END OF QUEUE POINTER

802.4
802.4
802.4
802.4
802.4
802.4

Figure 2-2. TBe Private Area

MOTOROLA
2-2

MC68824 USER'S MANUAL

low word of this address is stored in an internal TBC register while the middle and high words
are stored in the private area. Next station address may be accessed through the READ VALUE
command (see 3.5.2 READ VALUE for details).
Offset

00

c

D

I MSB

A

B

Next Station - High Word

02

Next Station - Middle Word

LSB

I

2.1.2 Previous Station Address
Previous station (PS) address is the 48-bit (or 16-bit) address of the previous station that passes
the token to this station. The low word of this address is stored in an internal TBC register with
the middle and high words stored in the private area. Previous station address is accessed through
the READ VALUE command.
Offset

04

c

D

I MSB

B

A
Previous Station - High Word

06

Previous Station - Middle Word

LSB

I

2.1.3 HLPiority_Token_Hold Time
The hLpriority_token_hold time can be from 0 to (2 16)-1 octet times before prescaling (see 3.3.3
SET MODE 3 for details on scaling). If the priority option is used, the hLpriority_token_hold_time
is the maximum" amount of time the station may transmit data from the highest priority queue
(queue 6). If the priority option is not used, the hLpriority_token_hold_time determines the maximum amount of time the station can transmit before passing the token. The IEEE 802.4 standard
specifies the maximum value for this timer to be (2 16 )-1 octet times which therefore requires the
user to zero the upper three bits or the upper six bits of this word depending on the prescaling
factor used. However, the TBC does not check that this parameter is within the specified range
which allows the user to specify a timer with a maximum value of (2 22 )-1. This parameter must
be initialized by the host through the initialization table and may be altered or read via the SET/
READ VALUE command thereafter.
Offset

c

D

B

A

08
08

HLPriority_Token_Hold Time (Prescaler of 3)

I

0

o

I

0

I

0

I

0

I

0

HLPriority_Token_Hold Time (Prescaler of 6)

2.1.4 Last Token_Rotation_Time
Last token_rotation_time is the observed prescaled-octet time measured from the last time the
station had the token to when the station receives the token again, timed from token arrival to
token arrival. This statistic is updated every time the TBC receives the token. Last token_rotation_time can be accessed by the host via the READ VALUE command. The worst case
token_rotation_time is equal to the total of the token hold times for all the nodes on the network
plus the time it takes to pass the token between nodes. A value of zero indicates that the value
is not currently available and occurs, for example, when the token is not rotating.
Offset

D

OA

MC68824 USER'S MANUAL

c

B

A
Last Token_Rotation_Time (Prescaled)

MOTOROLA

II

2.1.5 Token Rotation Time at Start of Access Classes

II

Token rotation time at the start of each access class is measured in octet times from the station's
receipt of the token to the TBC's entrance into that access class. There is one token rotation timer
for each of the lower three access classes and one for ring maintenance. These statistics along
with the target rotation time for each access class are used by the TBC to implement the priority
mechanism. These statistics have no meaning if the priority access class is disabled or if the
station is not a member of the logical ring. These statistics can be accessed by the host via the
READ VALUE command.
Offset
~C,

o

C

10, 14

B

o

A

Token Rotation Time at Start of Access Class IPrescaled)

2.1.6 Target Token Rotation Time for Access Classes
The target token rotation time for each access class is user programmable in the range from 0 to
(2 21 )-1 octet times before prescaling, and is used in conjunction with the token rotation time at
start of access classes and ring maintenance timer. These parameters must be initialized by the
host through the initialization table and may be altered or read via the SET/READ VALUE command
thereafter. The TBC does not check that these parameters are within the specified range. There
is a set of four timers called token rotation timers which get loaded with the target token rotation
time as explained below. There is one token rotation timer for each of the lower three access
classes and one for ring maintenance. These timers all run concurrently, counting downward
from an initial value to zero, at which point their status is expired. When the station begins
processing the token at a given access class, the associated internal token rotation timer is reloaded
with the value of the target token rotation time for that access class. When the station receives
the token again it may send data from that access class until the residual time in the associated
token rotation timer has expired.
Offset

o

C

B

OE, 12, 16,

A

4

o

Target Rotation Time for Access Classes IPrescaled)

2.1.7 Token Rotation Time at Start of Ring Maintenance
The token rotation time at the start of ring maintenance is a statistic which contains the elapsed
time in units of prescaled octet times from arrival of the token to entering ring maintenance. This
statistic can be accessed by the host via the READ VALUE command.
Offset

o

C

18

B

A

Token Rotation Time at Start of Ring Maintenance IPrescaled)

2.1.8 Target Rotation Time for Ring Maintenance
The target rotation time for ring maintenance is initialized by the host through the initialization
table and may be altered or read via the SET/READ VALUE command thereafter. This parameter
gets loaded into the internal ring maintenance token rotation timer and is in the range from 0 to
(2 21 ) -1 octet times before prescaling. The station will solicit a successor if the inteLsoliciLcount
equals zero and the ring maintenance token rotation timer has not expired. If the timer has expired,
the solicitation will be deferred until the next time the station holds the token.
Offset

lA

MOTOROLA
'LA

o

C

B

A

4

Target Rotation Time for Ring Maintenance IPrescaled)

MC68824 USER'S MANUAL

2.1.9 Ring Maintenance Time Initial Value
The ring maintenance time initial value is an integer in the range from 0 to (2 21 ) -1 octet times
before prescaling. This parameter must be initialized by the host through the initialization table
and may be altered or read via the SET/READ VALUE command thereafter. This initial value gets
loaded into the ring maintenance timer upon initial entry into the ring. If the ring maintenance
initial value is set to zero, the station will defer solicitation of successors for at least one rotation
of the token. If the value is high, the station will immediately solicit successors upon entry to the
logical ring.

o

Offset

c

B

A

1e

Ring Maintenance Time Initial Value (Prescaled)

2.1.10 Source Routing - Source Segment/Bridge 10 (SID)
Two 16-bit segment numbers (SID and TID) are required by the optional source routing mechanism
as described in APPENDIX C BRIDGING. These parameters determine whether or not the TBC
accepts a particular source routing frame.

o

Offset

c

B

A

1E

Source Routing Source ID

2.1.11 Source Routing - Target Segment/Bridge 10 (TID)
The target number for source routing is discussed in the APPENDIX C BRIDGING.

o

Offset

C

B

A

20

Source Routing Target ID

2.1.12 Segment Number Mask for Source Routing
The segment number mask determines which part of the routing designator is the segment number
and which part is the bridge number. See APPENDIX C BRIDING for details.

o

Offset

c

B

22

A

4

Segment Number Mask for Source Routing

2.1.13 MalLlnter_SoliciLCount
Ma><-lnteLSoliciLCount, working with the ring maintenance timer and target rotation timer for
ring maintenance, determines how often the station opens a response window. The range of this
parameter should be from 16 to 255, however the TBC will accept values smaller than 16. As
required by the 802.4 standard, the TBC ignores the two least significant bits of the given value
and replaces them by two random bits. If the inter_soliciLcount equals zero and if the ring
maintenance token rotation timer has not expired, the station will open a window to solicit a new
successor. If the ring maintenance timer has expired, the solicitation yvill be deferred until the
next time the station holds the token. This parameter must be initialized by the host through the
initialization table and may be altered or read via the SET/READ VALUE command thereafter.
Offset

24

E

o

c

B

A

MaxJntecSoliciCCount

MC68824 USER'S MANUAL

o

I

o

I

0

I

0

I

0

I

0

MOTOROLA
')_h

II

2.1.14 RX Frame Status Error Mask

II

If a frame addressed to the TBC is received with one of the errors listed below and the corresponding error mask bit is set to one, the TBC will accept the frame (for more details see 4.1.1.2
RECEIVE STATUS WORD). The format of the status error mask is shown below. This parameter
is initialized by the host through the initialization table and may be altered or read via the SETI
READ VALUE command thereafter.
Offset

26

FED

C

B

A

4

I CRCE I EBIT I FOVR I NOISE I FTL I NOBUFI
CRCE
EBIT
FOVR
NOISE

0

o

I

I

0

I

0

I

o

0

I

0

I

0

I

0

FTL
Frame Too Long (>8 K)
NOBUF Not Enough Buffers in Free Buffer Pool

CRC Error
E-Bit Error
FIFO Overrun
Noise

2.1.15 TX Queue Access Class Status
Each transmit queue has an associated transmit queue access class status word. Each status word
is initialized by the host through the initialization table and may be altered or read via the SETI
READ VALUE command thereafter. In each of the access class status words, bit F (aD) contains
the queue disabled bit and bit E (aE) contains the queue empty bit. In order to transmit, the host
processor may set the queue disabled bit to zero to enable the queue and the empty bit to zero
indicating the queue contains data. This action is not necessary since the START command sets
both bits (aD and aE) of the status word to zero, indicating that the queue is enabled and full.
When the TBC is finished transmitting from the queue, it sets the queue empty bit to one. A
transmit queue, except for class 6 frames, must be enabled at least one token rotation time before
it can contain data or before the station enters the logical ring. This is done so the token rotation
timers for each access class have a valid value.
Offset

FED

28, 30, 38, 40 I QO I QE I

0

C
I

0

B
I

0

QD - Queue Disabled
1 Queue is Disabled
o Queue is Enabled

A
I

0

9
I

0

I

0

I

0

I

o

I

4

0

I

0

o

I

I

0

QE - Queue Empty
1 Queue is Empty
o Queue is Not Empty

2.1.16 TX Queue Access Class Pointers
The four transmit queue access class pointers point to the first frame descriptor in the respective
access class queue. These pointers direct the TBC to the location from which to start transmitting.
Each pointer is initialized by the host through the initialization table and may be altered or read
via the SETIREAD VALUE command thereafter. For more details on the management of these
pointers refer to SECTION 4 BUFFER STRUCTURES. The format is shown below.

o

Offset

2A, 32, 3A, 42 MSB

C

B

A

4

Tx Queue Access Class HOQ Pointer - High Word

~----------------------------------------------------------~

2C, 34, 3C, 44

Tx Queue Access Class HOQ Pointer - Low Word

LSB

~----------------------------------------------------------~

2.1.17 RX Queue Access Class Pointers
The four receive queue access class pointers point to the last frame descriptor in the respective
access class queue. Each pointer is initialized by the host through the initialization table and may

MOTOROLA

'-R

MC68824 USER'S MANUAL

be altered or read via the SET/READ VALUE command thereafter. This enables the TBC to add
onto the linked list. Initially these receive queue access class pointers must point to a valid frame
descriptor for the TBC to link from. This frame descriptor, referred to as a 'dummy' frame descriptor, must always be provided. For more details on the management of these pointers refer
to SECTION 4 BUFFER STRUCTURES.
Offset
48, 4C, 50, 54

E

D

C

A

B

MSB

Rx Queue Access Class EOQ Pointer - High Word

~------------------------------------------------------~~~~~~

4A, 4E, 52, 56

Rx Queue Access Class EOQ Pointer - Low Word

LSB

~----------------------------------------------------------~

2.1.18 Free Frame Descriptor Pointer
The free frame descriptor pointer is a 32-bit pointer containing the address of the first free frame
descriptor in the linked list of the free frame descriptor pool. This pointer is initialized by the host
through the initialization table and may be altered or read via the SET/READ VALUE command
thereafter. The TBC uses these free frame descriptors upon reception of a frame. Initially, the free
frame descriptor pointer must point to a valid frame descriptor. For more details on the management of these pointers refer to SECTION 4 BUFFER STRUCTURES.
Offset
58

D

C

I MSB

B

A
Head of FD Free Pool Pointer - High Word

5A

Head of FD Free Pool Pointer - Low Word

LSB

2.1.19 Free Buffer Descriptor Pointer
The free buffer descriptor pointer is a 32-bit pointer containing the address of the first free buffer
descriptor in the linked list of the free buffer descriptor pool. The TBC uses these free buffer
descriptors upon reception of a frame. This pointer is initialized by the host through the initialization table and may be altered or read via the SET/READ VALUE command thereafter. For more
details on the management of these pointers refer to SECTION 4 BUFFER STRUCTURES.
Offset
5C

D
MSB

5E

C

B

A
Head of BD Free Pool Pointer - High Word
Head of SO Free Pool Pointer - Low Word

LSB

2.1.20 Group Address Mask
The group address mask is used to determine if a group addressed frame is to be accepted by
the station. A group addressed frame is denoted by the least significant bit of the destination
address field. This bit, called the I/G bit, must be one for a group addressed frame. A group address
is used to send messages to a group of logically related stations. The group address mask is
either two or six bytes in length, depending on the addressing mode of the TBC, and m",ust have
its least significant bit set to one. The group address mechanism can be disabled by setting the
group address mask to zero. Broadcast frames will always be accepted, regardless of the group
address mask. The mathematical expression for accepting frames using the group address mechanism, is:
Destination Address AND GA-MASK= Destination Address

MC68824 USER'S MANUAL

MOTOROLA

II

If the boolean value of the expression is true, then the frame is accepted. For a more detailed
explanation and examples of group addressing, see APPENDIX B FRAME FORMATS AND ADDRESSING. This parameter is initialized by the host through the initialization table and may be
altered or read via the SET/READ VALUE command thereafter. The middle and high words must
be zero if the address length is two bytes. Note that the group address mask is stored following
the IEEE format.
Offset

60

D

I MSB

e

A

B

Group Address Mask - low Word

62

Group Address Mask - Middle Word

64

Group Address Mask - High Word

2.1.21

lSB

I

Individual Address Mask

The individual address mask can be either two or six bytes and must have its least significant bit
set to zero. It is used to modify the test used by the TBC for individual node address recognition.
The mathematical expression for accepting frames using the individual address mechanism is:
Destination Address AND IA.MASK=This Station Address AND IA.MASK
If the boolean value of the expression is true, then the frame is accepted. For a more detailed
explanation and examples of individual addressing, see APPENDIX B FRAME FORMATS AND
ADDRESSING. This parameter is initialized by the host through the initialization table and may
be altered or read via the SET/READ VALUE command thereafter. The middle and high words
should be zero if the address length is 16 bits. Note that the individual address mask is stored
following the IEEE format.
Offset

D

e

A

B

66

Individual Address Mask - low Word

68

Individual Address Mask - Middle Word

6A

Individual Address Mask - High Word

lSB

I

2.1.22 Non-RWR Maximum Retry Limit
The maximum number of non-request with response retries sets an upper bound to the number
of times the TBC will attempt to transmit the same message. This parameter is initialized by the
host through the initialization table and may be altered or read via the SET/READ VALUE command
thereafter. Trying to send a frame again (retrying) is necessary when long host bus latency
conditions occur, sometimes causing the frame transmission to be aborted. The TBC will keep
attempting to send a message until this retry limit is met. This maximum retry limit is user
programmable with the TBC supporting a maximum of 255 retries. If the frame still has not been
sent when the maximum retry limit is met, negative confirmation appears in the confirmation
word of the frame descriptor and the TBC will stop trying to send it. The maximum retry limit for
non-RWR messages is not an IEEE 802.4 parameter.
Offset

6e

MOTOROLA
?R

o

I

0

I

D

e

0

o

A

B

I

0

I

0

I

0

I

0

I

Non-RWR Maximum Retry limit

MC68824 USER'S MANUAL

2.1.23 RWR Maximum Retry Limit
The request with response (RWR) maximum retry limit sets an upper bound to the number of
times the T8C will attempt to transmit a RWR frame. A retry is performed if an underrun occurs
or if no response is received from the destination address. This parameter is initialized by the
host through the initialization table and may be altered or read via the SET/READ VALUE command
thereafter. In the IEEE 802.4 standard, the maximum RWR number of retries value is seven. The
maximum value that the T8C will support is 255.
Offset

6E

1

0

1

0

o
c
B
A
01 0 10101 0

o
o

RWR Maximum Retry Limit

1

2.1.24 Slot Time
Slot time is the worst case time any station must wait for a response from another station. This
parameter must be uniform throughout the network. It is equal to the amount of time for the
slowest station on the bus to respond to MAC control frames. Slot time is measured in octet
times, has a maximum value of (2 13) -1 and is defined by the equation below:
SLOT TIME = Integer ((2·Transmission_Path_Delay) + (((2·Station_Delay)
+ Safety_Margin)/MAC_SymboLTime)/8)
The transmission path delay is the worst case delay which transmissions experience going through
the physical medium from a transmitting station to a receiving station. The station delay is the
amount of time from the receipt of the end delimiter at the receiving station's physical medium
interface until the impression of the first bit of the preamble on the physical medium by the
receiving station's transmittter. The safety margin in the time interval is no less than one MAC
symbol time. MAC symbols are defined as the smallest unit of information exchanged between
the MAC sublayer entities. MAC symbol time is the time required to send a single MAC symbol
and is therefore the inverse of the network data rate.
Offset

FED

70

0

1

1

0 1 0

C

B

A

4

o

Slot Time (In Octets)

1

2.1.25 This Station Address
This station address (TS) is a 48-bit or 16-bit address which must be an even integer since an
odd address represents a group address. It contains the address used by the TBC to accept or
reject MAC frames. This parameter is initialized by the host through the initialization table and
may be read via the READ VALUE command thereafter. The middle and high words should be
zero if the address length is 16 bits. Note that this parameter is stored following the IEEE format.
Offset

o

C

B

A

72

This Station Address - low Word

74

This Station Address - Middle Word

76

This Station Address - High Word

lSB

I

2.1.26 Manufacturer Product Revision and 802.4 Standard Revision Number
The value of this parameter is "0402 hex" for T8C mask set 2A60S and "0502 hex" for T8C mask
set 18598. It is stored at offset 78. The '4' or '5' is an indication of the manufacturer product

MC68824 USER'S MANUAL

MOTOROLA

II

revision while the '2' means the TBC implements 802.4 Revision 2. This parameter may be read
via the READ VALUE command.

II

2.1.27 Transmitter Fault Count
The transmitter fault count is an integer in the range from zero to seven stored by the TBC in the
most significant three bits. If the station sequences to the end of the token contention process
and loses, or fails to pass the token to any successor, this counter is incremented by one. If this
value exceeds seven, bit 1 of interrupt status word 1 will be set by the TBC (see 2.2.11 Interrupt
Status Words for a complete description). This parameter may be read via the READ VALUE
command.

o

Offset

C

o

TX FCNT

7A

I

B

0

I

A

0

o

I

0

I

1

o

0

I

0

I

0

o

0

I

0

2.2 INITIALIZATION TABLE
'.

The initialization table is a 256-byte area of memory which is shared by the TBC and the host
CPU. It is used by the host processor to pass operating parameters and pointers to the TBC. This
is performed during the initialization sequence and whenever it is necessary to update operating
parameters during TBC operation. The initialization table is also used by the TBC to pass status,
statistic counters, and command return information (parameters) to the host.
The format of the initialization table is shown in Figure 2-3.
2.2.1 Private Area Function Code
Bits 0-3 of the initialization table word 0 contain the function code values that may be required
by the system to access the private area. If no function codes are used, this word does not need
to be initialized by the host. The TBC private area pointer is located in the subsequent two words
of the initialization table.
Offset

00

C

B

10101010

FED

o

A

I

4

I

0

0

o

I

0

Private Area FC

2.2.2 Private Area Pointer
The private area pointer is a 32-bit address which points to the 128-byte area in RAM that should
only be accessed by the TBC since it contains MAC variables and parameters.
Offset F
o
C
B
4
A
02 'IM-S-B--------------------P-riv-at-e-Ar-ea-P-oi-nte-r---H-i9-h-W-or-d--------------------~
04

Private Area Pointer - Low Word

LSB I

2.2.3 Parameters Initializing the Private Area
The parameters in displacements 08-76 are the initial values of the corresponding parameters of
the private area. These values are initialized by the host CPU in the intialization table and are then
loaded into the private area by the INITIALIZE command. For a detailed description of these
parameters, see 2.1 TBC PRIVATE AREA.

MOTOROLA
?_1n

MC68824 USER'S MANUAL

DISPLACEMENT
(IN BYTES)

00

DESCRIPTION OF FIELD

UPDATED
BY

06
08
OA
OC
OE

PRIVATE AREA FUNCTION CODE
PRIVATE AREA POINTER - HIGH
PRIVATE AREA POINTER - LOW
ZERO
INITIAL HI_PRIORITY_TOKEN-HOLD_TIME
ZERO
ZERO
INITIAL TARGEL.ROTATIDN_TIME FOR ACCESS CLASS 4

Host
Host
Host
Host
Host
Host
Host
Host

10
12
14
16
18
lA
lC
IE

ZERO
INITIAL TARGET-ROTATION_TIME FOR ACCESS CLASS 2
ZERO
INITIAL TARGET-ROTATION_TIME FOR ACCESS CLASS 0
ZERO
INITIAL TARGET-ROTATION_TIME FOR RING MAINTENANCE
INITIAL RING MAINTENANCE TIME INITIAL VALUE
INITIAL SOURCE SEGMENT/BRIDGE 10 (SID)

Host
Host
Host
Host
Host
Host
Host
Host

20
22
24
26
28
2E

INITIAL TARGET SEGMENT/BRIDGE ID (TID)
INITIAL SEGMENT NUMBER MASK FOR SOURCE ROUTING
INITIAL MALINTEfLSOLlCIT_COUNT
INITIAL RX FRAME STATUS ERROR MASK
INITIAL TX QUEUE ACCESS CLASS 6 STATUS
INITIAL TX QUEUE ACCESS CLASS 6 HOQ POINTER
ZERO

Host
Host
Host
Host
Host
Host
Host

30
32
36
38
3A
3E

INITIAL TX
INITIAL TX
ZERO
INITIAL TX
INITIAL TX
ZERO

Host
Host
Host
Host
Host
Host

40

INITIAL TX QUEUE ACCESS
INITIAL TX QUEUE ACCESS
ZERO
INITIAL RX QUEUE ACCESS
INITIAL RX QUEUE ACCESS

02

04

2A

42
46
48
4C

50
54
58

QUEUE ACCESS CLASS 4 STATUS
QUEUE ACCESS CLASS 4 HOQ POINTER
QUEUE ACCESS CLASS 2 STATUS
QUEUE ACCESS CLASS 2 HOQ POINTER
CLASS 0 STATUS
CLASS 0 HOQ POINTER
CLASS 6 EOQ POINTER
CLASS 4 EOQ POINTER

Host
Host
Host
Host
Host

5C

INITIAL RX QUEUE ACCESS CLASS 2 EOQ POINTER
INITIAL RX QUEUE ACCESS CLASS 0 EOQ POINTER
INITIAL FREE FRAME DESCRIPTOR POOL POINTER TO FIRST FD
INITIAL FREE BUFFER DESCRIPTOR POOL POINTER TO FIRST BD

Host
Host
Host
Host

60
62
64
66
68
6A
6C
6E

INITIAL GROUP ADDRESS MASK - LOW
INITIAL GROUP ADDRESS MASK - MEDIUM
INITIAL GROUP ADDRESS MASK - HIGH
INITIAL INDIVIDUAL ADORESS MASK - LOW
INITIAL INDIVIDUAL ADDRESS MASK - MEDIUM
INITIAL INDIVIDUAL ADDRESS MASK - HIGH
INITIAL NON RWR MAX RETRY LIMIT
INITIAL RWR MAX RETRIES LIMIT

Host
Host
Host
Host
Host
Host
Host
Host

70
72
74
76
78
7A

INITIAL SLOT TIME
INITIAL THIS STATION ADDRESS - LOW
INITIAL THIS STATION ADDRESS - MEDIUM
INITIAL THIS STATION ADORESS - HIGH
INITIAL PAD TIMER PRESET (PTP)
BIT 15 - INITIAL IN-RING DESIRED
BIT 14 - INITIAL ADDRESS LENGTH (48/16 BITS)
ZERO
ZERO

Host
Host
Host
Host
Host
Host
Host
Host
Host

7C
7E

II

Figure 2-3. Initialzation Table (Sheet 1 of 2)

MC68824 USER'S MANUAL

MOTOROLA
., 11

DISPLACEMENT
(IN BYTES)

80
82

84

II

88
8C

DESCRIPTION OF FIELD
ZERO
ZERO
RESPONSE DESTINATION ADDRESS POINTER
RESPONSE POINTER
RWR POINTER

UPDATED
BY
Host
Host
Host
TBC

COMMAND PARAMETER AREA
COMMAND
COMMAND
COMMAND
COMMAND
COMMAND
COMMAND
COMMAND
ZERO

PARAMETER AREA VALO
PARAMETER AREA VAll
PARAMETER AREA VAL2
RETURN AREA RETO
RETURN AREA RET1
RETURN AREA RET2
STATUS AND DONE BIT

AC
AE

INTERRUPT
INTERRUPT
INTERRUPT
INTERRUPT

STATUS WORD 0
MASK 0
STATUS WORD 1
MASK 1

BO
B2
B4
B6
B8
BA
BG
BE
CO
C2
C4
C6
C8
CA
CC
CE
DO
02
04
06
08
DA
DC
DE

NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER
NUMBER

90
92

94
96
98
9A
9C
9E-A6

Host
Host
Host
TBC
TBC
TBC
TBC
Host

INTERRUPT STATUS AREA
A8

AA

TBC
Host
TBC
Host
STATISTICS

OF TOKENS PASSED (THRESHOLD)
OF TOKENS PASSED
OF TOKENS HEARD (THRESHOLD)
OF TOKENS HEARD
OF NO_SUGGESSOR......8 ARGS (THRESHOLD)
OF NO-SUGGESSOR......8 ARCS
OF WHOJOLLOWS TRANSMITIED (THRESHOLD)
OF WHOJOLLOWS TRANSMITIED
OF TOKEN PASSES THAT FAILED (THRESHOLD)
OF TOKEN PASSED THAT FAILED
OF NON_SILENCE (THRESHOLD)
OF NON_SILENCE
OF FCS ERRORS (THRESHOLD)
OF FCS ERRORS
OF E-BIT ERRORS (THRESHOLD)
OF E-BIT ERRORS
OF FRAME FRAGMENTS (THRESHOLD)
OF FRAME FRAGMENTS
OF RECEIVED FRAMES TOO LONG (>8K BYTES) (THRESHOLD)
OF RECEIVED FRAMES TOO LONG
OF NO FDIBD ERRORS (THRESHOLD)
OF NO FD/BD ERRORS
OF OVERRUNS (THRESHOLD)
OF OVERRUNS

Host
TBG
Host
TBG
Host
TBG
Host
TBG
Host
TBG
Host
TBG
Host
TBG
Host
TBG
Host
TBC
Host
TBG
Host
TBG
Host
TBG

DMA DUMP AREA
EO
E2
E6
E8
EC
EE
F2
F4
F8-FE

FG1
DPTRI
FG2
DPTR2
FG3
DPTR3
FG4
DPTR4
ZERO

TBG
TBG
TBG
TBG
TBC
TBG
TBC
TBG
Host

Figure 2-3. Initialzation Table (Sheet 2 of 2)

MOTOROLA
7.17

MC68824 USER'S MANUAL

2.2.4 Initial Pad Timer Preset (PTP)
The initial pad timer preset (PTP) value is used to set the length and pattern of the preamble, and
the minimum number of preamble octets transmitted between frames. This register must be set
at initialization time by the host CPU according to the format shown below. The SET PTP command
must be used after initialization to modify this register if desired. The type of physical layer used
in the node determines the value to which the PTP is initialized. See 3.5.3.4 SET PAD TIMER
PRESET REGISTER (PTP) for more details on the PTP.
Offset
78

FED
I

m

I

m

I

m

C
I

m

B
I

m

A
I

9

bib

8
I

b

7'
I

pip

I

pip

I

p

p

I

p

p

I

Where:
m = Minimum number minus one of preamble octets transmitted between frames.
b = Minimum number of preamble octets minus two transmitted before frame after silence.
p = Pattern of preamble octet.

2.2.5 Initial In_Ring Desired
The initial in_ring desired parameter is a Boolean located in bit 15. A one indicates that the TBC
should be a member of the token passing logical ring. After initialization the in_ring desired
parameter may be modified using the SET/CLEAR IN_RING DESIRED command.
Offset
D
C
B
A
7A
~IR-'I-A-L~-o~l--o~-o~l-o~--~-o-'l-o~l--o~I--~--~I-o~--o-I~o-'I-o-'

2.2.6 Initial Address Length
The initial address length is a Boolean located in bit 14. A one indicates a 48-bit address and a
zero indicates a 16-bit address. Note that the MAP specification specifies 48-bit addresses only.
Offset
D
C
B
A
7A
~1R~I-A-L~O~I--o~-o-l~o~-o~l-o~l--o~-o~1--~o~l-o~l--o~I--~1-o~

2.2.7 Response Destination Address Pointer
The response destination address pointer points to a frame descriptor into which the TBC writes
a received RWR frame's source address in the response frame's destination address field. See
4.4 REQUEST WITH RESPONSE (RWR) TRANSMISSION for details on the RWR mechanism.
D

Offset
84

C

B

A

r-----------------------------------------------------------~

MSB

86

Response Destination Address Pointer - High Word

Response Destination Address Pointer - Low Word

LSB

2.2.8 Response Pointer
The response pointer contains a 32-bit address which points to the frame descriptor of the response
to be sent when a request with response frame is received. The response pointer is used automatically only in predefined response mode. If the TBC is not in predefined response mode, the
logical link control (LLC) must generate a response and update the response pointer. In that case,

MC68824 USER'S MANUAL

MOTOROLA
?-1~

II

the response pointer is not valid until the RESPONSE READY command is issued to the TBC by
the host. See 4.4 REQUEST WITH RESPONSE (RWR) TRANSMISSION for details on the RWR
mechanism.
Offset F
D
C
B
A
88 ~IM-S-B---------------------Re-sp-on-s-eP-o-int-er---H-ig-h-w-or-d----------------------~

II

8A

Response Pointer - Low Word

LSB

1

2.2.9 Request with Response Pointer
The request with response (RWR) pointer contains a 32-bit address which points to the frame
descriptor of the request with response frame that was received. See 4.4 REQUEST WITH RESPONSE (RWR) TRANSMISSION for details on the RWR mechanism.
Offset F
o
D
C
B
A
8C ~IM-S-B----------------------Rw-R-P-o-int-er---H-ig-h-W-or-d----------------------~
RWR Pointer - Low Word

8E

LSB

1

2.2.10 Command Parameter Area
The command parameter area is located in words 90 through 9C of the initialization table. This
area is used to read values from, and set values into, the TBC. The command parameter area
format consists of the command area and the command result area. The most frequent usage of
the command parameter area is by the SET ONE WORD, SET TWO WORDS, and READ VALUE
commands. For these commands, the command area is a three word area with the first word
containing the parameter opcode to be set or read. The other two words contain the new parameter
when setting the value of that parameter. For a description of the parameter opcodes see Tables
3-7 and 3-8. The format of the command parameter area when using other commands is defined
in the specific command description in SECTION 3 COMMANDS.
Offset

90

D

C

B

A

9

8

0101010101010101

4

Opcode .

CPA VALO

92

Parameter 1 Of Needed)

CPA VAll

94

Parameter 2 Of Needed)

CPA VAL2

The command result area is a four word area. The first three words contain the returned value
of the parameter which was requested via a READ VALUE command and the fourth word contains
the status. The done bit in the status word is set by the TBC when it is finished processing any
command except RESET and LOAD INITIALIZATION TABLE FC. In order to use the done bit as
an indicator of command completion, it must be cleared prior to issuing the TBC a command.
The meaning of the status contained in offset 9C of the CPA is detailed under each command if
used. The format of the command result area is:

MOTOROLA
2-14

MC68824 USER'S MANUAL

Offset

0

C

B

A

96

Parameter 1

CPA RETO

98

Parameter 2

CPA RET1

9A

Parameter 3

CPA RET2

9C

I Do~e
Bit

Status

2.2.11 Interrupt Status Words
Interrupt status bits are updated continuously by the TBC as status changes. To change a status
bit, the TBC reads the appropriate word of the status area, updates the proper bit, and then writes
the word back to the memory area. If the corresponding status bit is already set, then no action
is taken by the TBC. The interrupt status word, combined with the interrupt status mask, determines
whether an interrupt will be generated. If a special event occurs and the corresponding bit in the
interrupt mask is zero, then an interrupt request will not be generated; however, the corresponding
status bit will be set to one. If a special event occurs and the corresponding bit in the interrupt
mask is one, then an interrupt will be generated, and the corresponding status bit will be set to
one. To clear the interrupt status words, the CLEAR INTERRUPT STATUS command must be
issued.
2.2.11.1 INTERRUPT STATUS WORD O. The format of interrupt status word 0 is shown below:
Offset
A8

FED

C

B

A

9

8

7

6

5

4

3

2

1

0

I RXDF IRXRWR I TXDF ITXRDF ITXRWR I UNR lOVER IBDPL I FDPL IBAERR I TP I TSK I TXQE IBDPE I FDPE I TCC I

TCC - TBC Command Complete
This bit is set upon completion of execution of all commands except RESET, LOAD INITIALIZATION TABLE FC, and CLEAR INTERRUPT STATUS.
FDPE - Frame Descriptor Pool Empty
This bit is set after the last frame descriptor (FD) in the free frame descriptor pool is used
and linked to one of the receive queues.
BDPE - Buffer Descriptor Pool Empty
This bit is set when the TBC accesses the last buffer descriptor (BD) in the free buffer descriptor
pool. The TBC does not use the last BD until the host has linked additional BDs to the pool.
The TBC is able to receive only the header information (FC, DA, SA) from data frames when
the BD pool is empty as long as free frame descriptors are available.
TXQE - Transmit Queue Empty
This bit is set after the TBC sets the confirm frame descriptor (CFD) bit of the last FD in any
of the transmit queues. The queue must be reinitialized by the START command before
transmitting again.
TSK - Token Skipped
This bit is set when the TBC hears a valid token frame being passed from a station "before"
the TBC to a station "after" the TBC (i.e., SA> TS>DA or DA>SA> TS or TS>DA>SA). It is
not affected by whether the TBC is in_ring. If the event occurs when the TBC is in_ring, an
error has occurred.

MC68824 USER'S MANUAL

II

TP - Token Passed
This bit is set when the TBC believes it has successfully passed the token to its successor
station. When this event occurs, the TBC stores the token rotation time (TRT) value into the
last token_rotation_time and begins a new TRT measurement.

II

BAERR - Bus/Address Error
This bit is set when a bus or address error occurs in a TBC DMA cycle. Bus error is indicated
on the BEC pins, while an address error is generated when the TBC is bus master and CS or
lACK is asserted, indicating that the TBC has attempted to address itself.
If a bus or address error occurs, the TBC stops transmitting and receiving data frames. If the
TBC has the token at this time, the TBC will pass the token to its successor. If the TBC does
not have a successor, then it will try to find a new successor. Next, the TBC will dump all
four DMA pointers and their function codes into the dump area in the initialization table
(offset EO through F4) and execute the interrupt routine if the corresponding bit is set in the
interrupt mask word. Note that the pointer which caused the bus/address error may have
been incremented by one or two before its value was dumped. If a bus error occurs during
reception, both free pools are disrupted and must be reinitialized via SET TWO WORDS
commands as part of the bus error handling routine.
The host can cause the TBC to resume full operation by issuing a CLEAR INTERRUPT STATUS
command to clear the bus/address error bit. This command should be given only after the
steps described below have been followed:
• The host has dealt with the cause of the bus/address error.
• The host has given the TBC new pools of free FDs and free BDs.
• The host has enabled the TBC to resume transmitting by issuing the START or RESTART
command if the TBC has more to transmit.
If a second bus/address error occurs before the host has dealt with the first one, (i.e., the
appropriate CLEAR INTERRUPT STATUS command was not given), then the TBC enters an
endless loop of severe interrupts and waits for RESET. If the TBC was in the OFFLINE state
when the first bus/address error occurred, it will immediately enter the severe interrupt state.
FDPL - Frame Descriptor Pool Low
This bit is set when the TBC accesses an FD in the free FD pool whose W_FD (warning frame
descriptor pool low) bit is set. The W_FD bit is intended to be a warning that the FD pool is
running low and that more FDs should be added soon. The host decides in which FD to set
the W_FD bit.
BDPL - BD Pool Low
This bit is set when the TBC accesses a BD in the free BD pool whose W_BD (warning buffer
descriptor pool low) bit is set. The W_BD bit is intended to be a warning that the BD pool is
running low and that more BDs should be added soon. The host decides in which BD to set
the W_BD bit.
OVER - Overrun
This bit when set indicates that the TBC attempted to write to a full FIFO while receiving.
This means that the TBC was not able to empty the FIFO fast enough. If this occurs frequently,
it may indicate that the TBC is not receiving sufficient host bus bandwidth.
UNR - Underrun
If the TBC transmit machine attempts to read from an empty FIFO this bit will be set and an
abort sequence will be sent by the TBC. This indicates that the TBC was not able to fill the
FIFO fast enough. If this occurs frequently, it may indicate that the TBC is not receiving
sufficient host bus bandwidth.

MOTOROLA
2-16

MC68824 USER'S MANUAL

TXRWR - Transmitted Request With Response Frame
This bit is set when the TBC has finished processing a transmitted RWR frame and its response.
This does not necessarily indicate that the frame was successfully transmitted or that an
appropriate response frame was received. Setting this bit indicates that the status word of
the FD of the RWR frame contains the detailed status of the frame.
TXRDF - Transmitted Response Data Frame
This bit is set when the TBC has finished processing a transmitted response data frame after
receiving a RWR data frame. This does not necessarily indicate that the frame was successfully
transmitted. Setting this bit indicates that the status word of the FD of the response frame
contains the detailed status of the frame.
TXDF - Transmitted Data Frame
This bit is set when the TBC has finished processing a transmitted non-RWR frame or nonresponse data frame. This does not necessarily indicate that the frame was successfully
transmitted. Setting this bit indicates that the status word of the FD of the frame contains
the detailed status of the frame.
RXRWR - Received Request with Response Frame
This bit is set when the TBC accepts a valid non-retry RWR data frame, see 4.4 REQUEST
WITH RESPONSE (RWR) TRANSMISSION for the definition of retry. This bit is set only after
the confirmation word has been written to the FD, the FD has been linked to the appropriate
receive queue, and the TBC has written a pointer to the FD in the RWR pointer field of the
initialization table. If a RWR frame addressed to the TBC is received with an error (e.g., noise,
FCS error, overrun, lack of BDs), this bit will not be set even if the frame is accepted and
linked to the appropriate receive queue. If such a frame is accepted, the RX data frame bit
will be set although the frame control is that of a RWR frame.
RXDF - Received Data Frame
This bit is set when the TBC accepts a non-RWR data frame or an invalid request with response
frame, after the confirmation word has been written to the FD and the FD has been linked
to the appropriate receive queue.
2.2.11.2 INTERRUPT STATUS WORD 1. The format of interrupt status word 1 is shown below:
Offset
AC

FED

IMODER I

*

C

B

A

9

8

7

I LAS I TCE I BIEX I WAS I NRES I RECl IUNEXF10\

S

5

4

3

2

SA \ UEXFS\ NSI \ NS \ SC

1

0

\ FTX \ DMAD \

*Reserved

DMAD - Duplicate MAC Address Detected
This bit is set when the TBC receives a control frame with SA equal to TS, when it is sure
that this frame is not the echo of the TBC's own transmission. This means that there is another
station in the ring with the same TS address as this station. Upon detecting such an event,
the TBC sets this bit and goes OFFLINE.
FTX - Faulty Transmitter
This bit is set when the value of transmitter fault count stored in the private area exceeds
seven. The value of the transmitter fault count is incremented each time the station sequences
to the end of the token contention process and loses or fails to pass the token to any successor.
Neither of these failures occurs in normal operation. The value of transmitter fault count is
reset to zero if the station either enters the ring or successfully solicits a new successor, since
such an event indicates that another station correctly heard a transmission from this station.
Upon detecting the event of faulty transmitter, the TBC sets this bit and goes OFFLINE.

MC68824 USER'S MANUAL

MOTOROLA

II

SC -

II

Successor Changed
This bit is set when the TBC changes its successor. The new successor's address can be read
via the READ VALUE command. This allows the network to maintain a "live list" of the
stations in the logical ring.

NS - No Successor
NS1 - No Successor 1
When the TBC realizes that it has no successor, it sets either the no successor or the no
successor 1 bit. The TBC can have no successor when it receives a set successor frame with
data unit equal to TS, which means that this is the only station in the ring (no successor 1);
or when it fails to pass the token to any successor, or when it gets the IDLE command and
performs the transition from OFFLINE to IDLE (no successor). Note that no successor 1
represents normal operation while no successor, when not after the IDLE command, may
indicate a problem in the network.
UEXF6 - Unexpected Frame 6
This bit is set when the TBC hears an unexpected frame when expecting a response to a
transmitted request with response frame. An unexpected frame in this case is any valid frame
which is not a response frame addressed to this station. Upon detecting this event, the TBC
sets this bit and goes to IDLE without passing the token.
SA -

Solicit Any Arc of the Access Control Machine (ACM) Performed
This bit is set when the TBC thinks it has a successor but reaches the solicit any phase of
the pass token procedure. This means that the successor failed to respond to the token twice,
and no station responded to two who_follows queries. The TBC sends a solicit any frame
and sets this bit.

UNEXF10 - Unexpected Frame 10
The TBC sets this bit when it executes the "unexpected frame 10" transition in the IEEE 802.4
access control machine (ACM). It occurs when the TBC attempted to solicit a new successor
and while waiting for a response, heard either a data frame not sent by itself, a set successor
frame not addressed to it, or another type of control frame not sent by itself. When this event
occurs, it indicates a protocol error, possibly a duplicate token situation. After setting this bit
the TBC will go to IDLE without passing the token.
RECl - Receive Claim Token
This bit is set when the TBC hears a claim token frame sent by another station. This means
that some other station thinks it is the only active station and wants to build a new logical
ring.
NRES - No Response Received (ACM in the Await Response State)
This bit may be used as the MAC "heartbeat" indication to provide a periodic check on the
functioning of the MAC sublayer. The heartbeat indication should occur periodically in a
station where in_ring_desired remains true and sole_active_station is false, in other words
a station which is a member of an active logical ring. If the heartbeat indication does not
occur periodically, a monitor may assume that possibly the station's MAC is malfunctioning
or some other catastropohic network failure has occurred. Also, if the bit is set too frequently,
the maximum inteLsolicit count may be incremented since no new station wants to enter
the ring.
WAS - Win Address Sort
This bit is set when the TBC wins the claim token procedure and now is the one holding the
token. The TBC sends data frames from access class 6 and then opens a response window
to allow other stations to enter the ring.

MOTOROLA
?-1R

MC68824 USER'S MANUAL

BIEX - Bus Idle Timer Expired
This bit is set when the bus idle timer expires and the TBC has no frames to send, and does
not want to be in_ring, or is the sole_active_station. It implies that nothing has been sent on
the network for a long time, including tokens. This can happen if no station in the network
wants to be in_ring, or the ring has collapsed, or if there is a fault in this station's receiver.
TCE - Threshold Counter Exceeded
This bit is set if anyone of the statistic counters in the initialization table exceeded its threshold
value. See 2.2.13 Statistics for more detail.
LAS - Lose Address Sort
The TBC sets this bit when after six or seven slot times of silence, the TBC enters the claim
token procedure, but does not win. The TBC returns to the IDLE state. This bit, along with
the receive claim token, win address sort, and bus idle timer expired bits indicates that the
logical ring, if there was one, has collapsed.
MODER - Modem Error
This bit is set if the physical layer has signalled a modem detected error. The TBC monitors
error indication from the modem while in the idle state, or in the use token state. The modem
error bit may also be set by the TBC if indicated from the physical layer during the receive
or transmit test if run in external loopback. During transmission, this bit usually indicates
that the modem detected that the TBC has transmitted for more than a half second. If an
intelligent modem is used, then more information can be obtained via the physical command.
Upon detecting this event, the TBC sets this bit and goes to OFFLINE.

2.2.12 Interrupt Masks
Interrupt masks have the same format as interrupt status words. If an interrupt status condition
event occurs and the interrupt status bit is not already set, it causes an interrupt if the appropriate
mask bit is set to one. An interrupt vector is then requested by the host processor and the host
processor checks the interrupt status words to determine what caused the interrupt. If the mask
bit is set to zero and the event occurs, no interrupt will be generated; however, the corresponding
status bit in the interrupt status word will be set.
The format of interrupt mask 0 is shown below:
Offset
AA

FED

C

B

A

9

8

7

6

4

I RXDF I RXRWR I TXDF I TXRDF I TXRWR I UNR lOVER I BDPl I FDPl I BAERR I TP

3

2

1

0

I TSK I TXQE I BDPE I FDPE I TCC

The format of interrupt mask 1 is shown below:
Offset
AE

FED
I MODER I

*

C

B

A

9

8

7

6

3

2

I LAS I TCE I BIEX I WAS I NRES I RECl IUNEXF101 SA I UEXF61 NSl I NS

5

4

SC

1

0

FTX I DMAD I

*Reserved

2.2.13 Statistics
The initialization table contains statistics about the operation of the network. The statistic counters
are 16-bit wrap-around counters. Every counter has a threshold variable. Whenever a counter is
incremented, the TBC checks whether its value has exceeded the threshold value set by the host.

MC68824 USER'S MANUAL

MOTOROLA
?-1'1

II

II

If the threshold value has been exceeded, the status bit threshold counter exceeded (TCE) in
interrupt status word 1 is set. If enabled by the TCE bit in interrupt mask word 1, an interrupt is
also generated. A threshold value of zero disables the interrupt mechanism, however the counters
are still incremented. The threshold mechanism allows software to map the 16-bit counters into
larger counters (32 bits), or to be notified if a large number of errors occurs. Counters are not
automatically cleared when the threshold value is reached. The collection of two ofthese statistics
which are number of tokens passed and number of tokens heard may be disabled using the SET
MODE 1 command (see 3.3.1 SET MODE 1 Command).These counters are described in the following paragraphs.

2.2.13.1 NUMBER OF TOKENS PASSED. This statistic is the number of tokens that have been
passed by this station. The counter is incremented when the TBC thinks it successfully passed
the token to its successor in the ring. In normal operation, this is equal to the number of tokens
passed to the TBC. This statistic enables software to calculate the average token rotation time.
The collection of this statistic may be disabled using the SET MODE 1 command.
2.2.13.2 NUMBER OF TOKENS HEARD. This statistic represents the number of tokens this station
has heard on the network with DA not equal to TS and SA not equal to TS, that is the number
of tokens that have gone by. This counter, along with the tokens passed counter, the :':0 ken skipped
and token passed status bits in interrupt status word 0, may be used to estimate the number of
stations in the logical ring. The collection of this statistic may be disabled using the SET MODE
1 command.
2.2.13.3 NUMBER OF PASSES THROUGH NO SUCCESSOR 8. This statistic indicates the number
of times this station has gone through the no successor 8 arc in the state machine. This happens
when the TBC fails to pass the token and does not succeed in finding a new successor station.
The counter is incremented only if the TBC thinks it is not the only active station in the network.
A significantly large value in this counter may indicate a IIfaulty" transmitter condition in this
station.
2.2.13.4 NUMBER OF WHO FOLLOWS. This statistic is the number of times this station has had
to look for a new next station to pass the token to. This frame is sent as part of the TBC's effort
to pass the token to its former successor's successor if the original successor station does not
respond to the token. This counter is incremented by two every time a failure occurs.
2.2.13.5 NUMBER OF TOKEN PASS FAILED. This statistic indicates the number of token pass
failed transitions when pass state is equal to pass token. Upon failing to pass the token, the TBC
tries to send a second token (pass state equals repeat pass token). If this effort fails too, this
counter is not incremented again; but the TBC will then send a who follows frame and the who
follows query counter will be incremented.
2.2.13.6 NUMBER OF FRAMES TOO LONG (>8K BYTES). This statistic is the number of received
frames that are too long (>8K bytes, an IEEE 802.4 parameter). If frames are longer than 8K, they
may be accepted if the appropriate bit is set in the receive frame status error mask (see 4.1.1.2
RECEIVE STATUS WORD for a description) in the initialization table.
2.2.13.7 NUMBER OF NO FD/BD ERRORS. This statistic counts the number of frames that were
not received because there were not enough frame descriptors or there were not enough buffers.

MOTOROLA
?-?O

MC68824 USER'S MANUAL

When there are not enough buffers, frames may be accepted if the appropriate bit is set in the
receive frame status error mask (see 4.1.1.2 RECEIVE STATUS WORD for a description) in the
initialization table.

2.2.13.8 NUMBER OF OVERRUNS. This statistic represents the nu mber of times the TBe detected
a FIFO overrun during receive. Frames may be stored into memory up to the overrun error if the
appropriate bit is set in the receive frame status error mask (see 4.1.1.2 RECEIVE STATUS WORD
for a description) in the initialization table.

2.2.14 Modem Error Counters
The following three counters are the number of noise bursts detected that occurred when noise
was not expected. Noise may be expected in some procedures in the protocol due to collisions.
These counters do not track such noise bursts, but only noise bursts that are due to errors or
unexpected noise on the medium.
2.2.14.1 NON-SILENCE. Non-silence is the number of received periods of non-silence.
2.2.14.2 FCS ERRORS. FCS errors track the number of received frames with FCS (or CRC) errors
and the E-bit reset.

2.2.14.3 E-BIT ERRORS. E-bit errors count the number of received frames with the E bit set in the
end delimiter. The E bit, or error bit, is set by the regenerative repeater (headend remodulator),
when the headend detects a FCS error on the forward channel. If this error occurs, frames may
be accepted if the appropriate bit is set in the receive frame status error mask (see 4.1.1.2 RECEIVE
STATUS WORD for a description) in the initialization table.
"
2.2.14.4 FRAME FRAGMENTS. This counter represents the number of frame fragments (start
delimiter (SO) not followed by a valid end delimiter (EO)). A valid frame consists of only data
(zero or one MAC symbols) between the SO and the EO. If an SO is detected and then, before a
valid ED, the TBC detects either silence, non data (not part of the aligned ED), or bad signal, then
this counter is incremented. Note that this includes abort sequences.
2.2.15 DMA Dump Area
The OMA dump area contains the pointers and function codes of the four DMA channels when
a bus/address error occurs (see 2.2.11 Interrupt Status Words). The dump area can be used to
check all of the pointers and to see if one of them is out of sequence. This should be the pointer
that caused the bus/address error.

MC68824 USER'S MANUAL

MOTOROLA
2-21

II

II

MOTOROLA
2-22

MC68824 USER'S MANUAL

SECTION 3
COMMANDS
The host processor controls the TBC and the modem through the command mechanism. This
command mechanism is composed of the command register (CR), the semaphore register (SR),
and the command parameter area (CPA) in the initialization table. The 8-bit, write only, command
register is used to write commands to the TBC. The 8-bit, read only, semaphore register is used
to notify the host that execution of either the RESET or LOAD INITIALIZATION TABLE FUNCTION
CODE commands have been completed. The actual completion of a command except for RESET,
and LOAD INITIALIZATION TABLE FUNCTION CODE is indicated by the TBC setting of the 'done
bit' in the command parameter area in the initialization table. Another indication of command
completion is the TBC command complete bit (TCC) in the interrupt status word 0 which, if enabled,
can generate an interrupt to the host. The TBC command set is divided into the following categories:
Initialization,
Set Operation Mode,
TX Data Frames,
Set/Read Value,
Test,
Notify TBC, and
Modem Control.
Table 3-1 shows the commands for each category, while Table 3-2 illustrates each command's
encodings.

Table 3-1. TBC Commands by Categories
INITIALIZATION
LOAD INITIAL TABLE FUNCTION CODE
INITIALIZE
OFFLINE
IDLE
RESET

TEST
INTERNAUEXTERNAL LOOPBACK MODE
RECEIVER TEST
TRANSMITIER TEST
HOST INTERFACE TEST
FULL DUPLEX LOOPBACK TEST

SET OPERATION MODE
SET MODE 1
SET MODE 2
SET MODE 3
SET/CLEAR IN_RING DESIRED

NOTIFY TBC
CLEAR INTERRUPT STATUS
RESPONSE READY

TX DATA FRAMES
STOP
RESTART
START

MODEM CONTROL
PHYSICAL
END PHYSICAL

SET/READ VALUE
READ VALUE
SET FUNCTION CODE OF BUFFER DESCRIPTORS
SET FUNCTION CODE OF FRAME DESCRIPTORS
SET FUNCTION CODE OF RX AND TX DATA BUFFERS
SET PAD TIMER PRESET (PTP) REGISTER
SET ONE WORD
SET TWO WORDS

MC68824 USER'S MANUAL

MOTOROLA

II

Table 3-2. TBC Commands
7

6

5

4

3

2

1

0

Hex

ILLEGAL

0

0

0

X

X

X

X

X

0O-1F

SET MODE 1

0

0

1

0

Y

Y

Y

Y

20-2F

SET MODE 2

0

1

0

Y

Y

Y

Y

Y

40-5F

SET MODE 3

0

1

1

Y

Y

Y

Y

Y

60-7F

SET FC BD

1

0

0

0

0

0

0

1

81

SET FC FD

1

0

0

0

0

0

1

0

82

Command

II

SET PAD TIMER PRESET (PTP)

1

0

0

0

0

0

1

1

83

START

1

0

0

0

0

1

0

0

84

SET TWO WORDS

1

0

0

0

0

1

0

1

85

SET ONE WORD

1

0

0

0

0

1

1

0

86

SET FC DATA

1

0

0

0

0

1

1

1

87

0

1

0

0

0

88

CLEAR INTERRUPT STATUS

1

0

0

READ VALUE

1

0

0

1

0

0

0

0

90

PHYSICAL

1

0

1

0

0

Y

Y

Y

A1-A7

END PHYSICAL

1

0

1

0

1

0

0

0

A8

RECEIVE TEST

1

0

1

1

0

0

0

0

80

TRANSMIT TEST

1

0

1

1

0

1

Y

0

B4, B6

FULL-DUPLEX LOOPBACK TEST

1

0

1

1

1

0

0

0

88

HOST INTERFACE TEST

1

0

1

1

1

1

0

0

BC

INT/EXT LOOPBACK MODE

1

1

0

0

Y

1

0

0

C4,CC

RESPONSE READY

1

1

0

0

0

1

0

1

C5

RESTART

1

1

0

0

0

1

1

0

C6

INITIALIZE

1

1

0

0

0

1

1

1

C7

SET/CLEAR IN_RING DESIRED

1

1

0

0

1

Y

1

1

CB,CF

LOAD INIT TABLE FC

1

1

0

1

0

0

0

Y

DO, D1

STOP

1

1

1

0

0

0

0

0

EO

IDLE

1

1

1

1

0

0

0

0

FO

OFFLINE

1

1

1

1

1

0

0

0

F8

RESET

1

1

1

1

1

1

1

1

FF

CODING OF COMMANDS
X - Don't Care
Y - Information Bit

Commands are executed by the TBC either while uninitialized, in the OFFLINE or IDLE modes, or
in the use_token state in between transmitting and receiving frames. Commands which have an
opcode not specified in Table 3-2 are reserved. In most cases, if one of these reserved opcodes
is loaded into the command register the TBC will execute the command with the legal opcode
closest to the reserved one. However, this behavior cannot be guaranteed and care should be
taken to always load the command register with legal opcodes.

3.1 REGISTERS
The following registers are writable by the host CPU: Command Register (CR), Data Register (DR),
and Interrupt Vector Register (IV). Another register, the semaphore register (SR), is only readable

MOTOROLA
- ~-.,

MC68824 USER'S MANUAL

by the host. Table 6-1 shows how the TBC registers are accessed during a write cycle for an 8bit data bus and Table 6-2 shows how the TBC registers are accessed using a 16-bit data bus
(these tables are located in SECTION 6 BUS OPERATION).
3.1.1 TBC Register Map
The register map for the TBC is shown in Table 3-3. Byte one (least significant byte) of the first
word holds the 8-bit command register which is also used as the semaphore register. Byte one
of the second word holds the interrupt vector register. The 32-bit data register is in the next four
bytes, DRO being the least significant byte and DR3 being the most significant byte of that register.
Table 3-3. Register Map
015

08

07

BASE

00
CRISR

IV

BASE +2
BASE +4

OR3

OR2

BASE +6

OR1

ORO

3.1.2 Command Register (CR)
The 8-bit command register is used by the host processor to send commands to the TBC. There
are 28 valid commands in seven categories that can be issued by the host processor to the TBC .
.J

3.1.3 Data Register (DR)
The 32-bit data register is used as a data input port to receive the initialization table pointer and
function code. The TBC also uses the data register during DMA transfers. See 6.2 DMA OPERATION
for details on DMA transfers. The format of the 32-bit data register is shown in Table 3-4.
Table 3-4. Data Register Format
31

24 23
OR3

I

16 15
OR2

I

a

8 7
OR1

ORO

3.1.4 Interrupt Vector Register (IV)
The 8-bit interrupt vector register is used to store the 8-bit interrupt vector returned to the host
by the TBC for the interrupt acknowledge (lACK) cycle. This interrupt vector contains the address
of the software routine to be executed by the host 'when an interrupt occurs. The TBC uses two
interrupt status words located in the initialization table to inform the host about events which
occurred. The TBC's actions after such an interrupting condition occurs are described in 2.2.11
Interrupt Status Words. The CLEAR INTERRUPT STATUS command which is used by the host to
clear interrupts in the interrupt status words is described in 3.7.1 CLEAR INTERRUPT STATUS
Command. In order to use the interrupt mechanism provided by the TBC, the host must load the
upper six bits of the interrupt vector into the IV at initialization. The lowest two bits are a prioritized
code that indicates which of two categories requested the interrupt. These two bits are loaded
by the TBC and are '01' to indicate a bus/address error which occurred twice in a row (i.e.,· a

MC68824 USER'S MANUAL

MOTOROLA
'V~

3

severe interrupt), that is the host did not take appropriate action after the first bus/address error
indication. See 2.2.11 Interrupt Status Words for more details. For all other interrupts, the two
least significant bits of the interrupt vector register are set to '00'. The interrupt vector register is
set to 'OF' after reset and remains 'OF' until written to for the first time. Table 3-5 shows the format
of the interrupt vector.
Table 3-5. Interrupt Vector
7

II

6

5

4

Furnished by Host from IV

3

2

o
Loaded by TBC

3.1.5 Semaphore Register
This register is written to by the TBC and is read by the host processor. When any command is
written to the TBC command register, the TBC indicates that it has accepted the command by
setting the semaphore register to 'FE'. In order to determine when the TBC has completed a
command, the done bit in the status word of the CPA located in the initialization table may be
checked, if it was previously cleared, for all commands except RESET and LOAD INITIALIZATION
TABLE FUNCTION CODE. The completion of these two commands is indicated by the semaphore
register changing to 'FF'. The semaphore register has the same address as the command register.

3.2 INITIALIZATION
Commands in the initialization category are used to initialize the TBC and to change the access
control machine (ACM) state from OFFLINE to IDLE. The following routine is used to initialize the
TBC by the host processor. For every command except the RESET and LOAD INITIALIZATION
TABLE FUNCTION CODE commands, the done bit in the status word of the command parameter
area may be checked to ensure the instruction was executed by the TBC if the host processor has
cleared the fourth word of the command result area before issuing the command.
Prepare the Initialization Table
Issue RESET' Command
Wait until Semaphore Register is 'FF'
Initialize the Interrupt Vector Register
.
Load the Function Code of the Initialization Table Pointer into DR02
Issue LOAD INITIALIZATION TABLE FC3 command
Wait until Semaphore Register is 'FF'
Load the Initialization Table Pointer into DR
Issue INITIALIZE Command
Issue SET MODE 1 Command
Issue SET MODE 2 Command
Issue SET MODE 3 Command
Initialize Modem
Issue SET FC FOR THE BUFFER DESCRIPTORS Command 2
Issue SET FC FOR THE FRAME DESCRIPTORS Command 2
Issue SET FC FOR RX and TX DATA BUFFERS Command 2
Issue IDLE Command

NOTES:
1. After reset, the TBC is in default mode where all bits in the SET MODE commands are cleared, except for the halt generator
enable mode which is set (see 3.3.3 SET MODE 3 Command).
2. Necessary only if using function codes.
3. This command also chooses the bus width of 8 or 16 bits. Note that prior to this command the bus width was 8 bits.

MOTOROLA
'':Ul

MC68824 USER'S MANUAL

3.2.1 LOAD INITIALIZATION TABLE FUNCTION CODE Command
The LOAD INITIALIZATION TABLE FUNCTION CODE command is the first command in the initialization sequence of the TBC. This command loads the 4-bit initialization table function code
through the data register (ORO) and sets the bus width to 8 or 16 bits. If function codes are not
used, no value needs to be loaded into ORO, however if the bus width is 16 bits this command
still needs to be issued. If the desired bus width is eight bits and no function codes are used, this
command is unnecessary. The only confirmation this command returns is an 'FF' in the semaphore
register. The coding for this command is DO or 01 and its format is shown below.
1

I

I

1

o

1

I

o

0

IBUSW I

Where:
BUSW = Bus Width
0= 8-Bit Bus
1 = 16-Bit Bus
3.2.2 INITIALIZE Command
INITIALIZE is the second command in the initialization sequence of the TBC. This command must
only be given while in the OFFLINE state after a RESET. Before giving this command, the host
must load the initialization table in shared memory and write the pointer for the initialization table
into the DR register.
The INITIALIZE command causes the TBC to load the initialization table pointer from the DR
register, load the private area function code and pointer from the initialization table, load the
operational TBC parameters from the initialization table, and initialize the private area. The TBC
also performs a self test of its internal resources upon execution of this command. The TBC will
return confirmation of this command in the CPA (offset 9C of the initialization table), provided
this word was cleared prior to command execution. If no errors are detected during the self test,
a value of one will be returned in the status word of the CPA. Otherwise, a value of 0011 hex will
be stored in the status word of the CPA. If a bus/address error occurs during execution of this
command, a severe interrupt will be generated requiring a RESET of the TBC. The coding for this
command is C7 and its format is shown below:

1

I

1

o

I

0

I

3
0

I

1

I

1

I

1

3.2.3 OFFLINE Command
The OFFLINE command causes the TBC to leave its present state and enter the OFFLINE state.
This command is typically used to end receive and transmit tests (see 3.6.3 FULL-DUPLEX LOOPBACK TEST Command and 3.6.4 TRANSMITTER TEST Command) and when the TBC is not in_ring.
Execution of this command clears the any_send_pending flag (IEEE 802.4 boolean) and resets the
receive and transmit machines.
If the TBC is transmitting when the OFFLINE command is issued, the current frame may not be
completed; that is, the end delimiter may not be sent. If the TBC is in_ring when this command
is given, the TBC will immediately drop out of the ring without notifying other stations or passing
the token. The OFFLINE command should only be issued when the TBC is in_ring if, for some
reason, the proper exit method is not successful. The proper way to eXit the ring is to issue the
STOP command, clear in_ring desired, and wait for a no_successor status from the TBC. Then

MC68824 USER'S MANUAL

MOTOROLA

II

the OFFLINE command may be given safely. The coding for this command is F8 and its format
is shown below:

WARNING
The free FD and BD pool pointers (see. SECTION 4 BUFFER STRUCTURES) may be
incorrect after issuing the OFFLINE command if any data frame was received since they
were last initialized. They must be reinitialized (SET TWO WORDS command) before
giving the IDLE or RECEIVE TEST command.

II

3.2.4 IDLE Command
The IDLE command causes the TBC to go from OFFLINE to the IDLE state. The IDLE command
must only be given when the TBC is in the OFFLINE state (i.e., not in_ring). The free frame
descriptor and free buffer descriptor pools should be initialized before giving this command. The
IDLE command is used, for example, after initialization, testing, or physical management.
The IDLE command causes the TBC to:
Clear any_send_pending (802.4 boolean),
Reset the receive and transmit machines,
Enable the receive machine,
Set noise expected (see 2.2.13 STATISTICS),
Zero the lasLtoken_rotation_timer (TRT) variable located in the private area,
Zero the internal token_rotation_timer (TRT) counter,
Set the no_successor status bit,
Zero the transmitter fault count located in the private area,
Load free FD and BD pool pointers from the private area to the TBC,
Return command confirmation, and
Enter the IDLE state.
The coding for this command is 'FO' and its format is shown below:

1

I

1

I

1

I

1

o

I

0

I

0

3.2.5 RESET Command
This command is equivalent to a hardware reset and is used to reset the TBC. RESET may be
issued to the TBC with the semaphore register equal to 'FE' or 'FF'. It:
Sets the semaphore register to 'FE' hex,
Returns all modes to their default values of zero except for HLEN which defaults to one (see
3.3.3 SET MODE 3 Command),

MOTOROLA
~-~

MC68824 USER'S MANUAL

Sets the bus width to its default value (eight bits),
Resets the receive and transmit machines,
Sends silence symbols to the modem,
Zeros the internal TRT counter,
Zeros the internal copy of interrupt status word 0, and
Causes the TBC to believe the free FD pool is not empty and resets in_ring and NS known
(802.4 booleans).
After completing the above, the TBC sets the semaphore byte to IFF' hex when ready to receive
the LOAD INIT TABLE FC command. There is no other indication that the command has been
executed.
The coding for this command is IFF' and its format is shown below:
1

I

1

I

1

1

I

3
1

I

1

I

1

I

1

3.3 SET OPERATION MODE
The four commands in this category are used to set the various operation modes and options in
the TBC. The default setting is zero, or disabled, for all modes except for HLEN whose default is
one (see 3.3.3 SET MODE 3 Command). These commands are normally given only during initialization or testing.
3.3.1 SET MODE 1 Command
The default setting is zero for all modes described in this subsection. This command is normally
given only as part of an initialization sequence or during testing.

o

I

0

I

1

I

4

0

3

2

1

0

I CUFC I CACF I lSTT I PDRF

CUFC - Recognize Frames with Undefined Frame Control (not part of IEEE 802.4)
1 Recognize frames with undefined frame control as valid data frames
o Do not recognize frames with undefined frame control as valid data frames
When disabled, frames with undefined frame control fields are treated as noise bursts or
invalid frames and are not stored in memory. When enabled, the frames are treated as valid
data frames and the TBC can support additional frame control fields to be defined by the
user or by IEEE 802.4 in the future. This mode can also be useful in detecting error conditions
on the network.
CACF - Copy all Control Frames
1 Copy all control and data frames to queue six
o Copy only data frames to the appropriate queue (normal operation)
In the CACF mode, all control and data frames are copied to the data buffers if the necessary
criteria for accepting a frame as in normal operation are met (destination address match,
etc.). This mod~ is useful for monitoring network traffic. In this mode, all received frames

MC68824 USER'S MANUAL

MOTOROLA

II

are treated as data frames of priority six even if their priority is lower. In this mode, the TBC
must not be part of the logical ring since control frames are not recognized as control frames.
For the TBC to be in promiscuous mode, this mode bit must be set and in addition, the
individual address mask located in the private area should be set to zero while the group
address mask should be set to all F's (see APPENDIX B FRAME FORMATS AND ADDRESSING
for more details).

II

LSTT - Limited Statistics Tracking
1 Keep track of infrequent statistics only
o Update all statistics
In limited statistics counter mode, the TBC updates all statistics except the token pass counter
and the token heard counter located in the initialization table. The statistics kept in the private
area are not affected by this mode (last token rotation time, elapsed time to access class 0,
2,4, or 6).
PDRF - Predefined Response Mode
1 In predefined response mode
o Not in predefined response mode
While in predefined response mode, when the TBC receives a valid request with response
(RWR) frame, it immediateiy fetches and transmits a prepared response frame pointed to by
the response pointer in the initialization table (offset 88). When not in this mode, the TBC
notifies the host processor that a RWR frame has been received and waits for the host
processor to prepare a response and issue a RESPONSE READY command. See 4.4 REQUEST
WITH RESPONSE (RWR) TRANSMISSION and 4.5 RECEPTION OF RWR FRAMES AND TRANSMISSION OF RESPONSE for a complete description of RWR frames.

3.3.2 SET MODE 2 Command
The default setting is zero for all modes described in this subsection. This command is normally
given only as part of an initialization sequence or during testing.
4

o

LBRM -

I

1

I

0

IlBRM

3

2

I IRND I SRlB

I BRG

RSR

Lower Bridge Mode

1 Recognize lower bridge mode

o

Do not recognize lower bridge mode

In lower bridge mode, the TBC accepts frames if the destination address ANDed with the
individual address mask is not equal to this station's address ANDed with the individual
address mask (DA AND IA mask not equal to TS AND IA mask). When this mode is disabled,
the TBC accepts the frame only if equality is found between the two expressions. Similarly,
when LBRM is enabled, group addresses are accepted if the DA does not match the group
address (GA) mask. Reception of broadcast frames is not affected by this mode. Lower bridge
mode is used in a hierarchical bridge architecture. Note that the lower bridge mode and the
recognize source routing mode (bit 0) are mutually exclusive. If both modes are set, recognize
source routing mode takes precedence. For more details on bridges, see APPENDIX C BRIDGING.

MOTOROLA

':1_"

MC68824 USER'S MANUAL

IRND - In_Ring Desired
1 In_ring desired
a In_ring not desired
This bit determines the TBC's steady state condition when it is not OFFLINE and has no
queued transmission requests. The initial value of this mode is set in the initialization table
(offset 7A). This command should only be used at initialization time or for testing purposes.
The preferred way to modify the in_ring desired flag is by using the SET/CLEAR IN_RING
DESIRED command (see 3.3.4 SET IN_RING DESIRED Command).
SRLB - Source Routing Limited Broadcast
1 In source routing limited broadcast mode
a Not in source routing limited broadcast mode
This bit has meaning only when recognize source routing (RSR) is enabled. Source routing
frames are of two types: broadcast and non-broadcast. A broadcast frame may be limited
broadcast or unlimited broadcast. Unlimited broadcast frames are accepted by all bridges
while limited broadcast frames are accepted only by bridges which are in limited broadcast
mode. This option can be used to reduce the amount of traffic generated by broadcast frames
or to specify default routing paths. More details may be found in APPENDIX C BRIDGING.
BRG - Bridge Delay Mode
1 Enable bridge delay mode
a Disable bridge delay mode
This mode is used when the TBC transmits 'aliased' data frames; i.e., SA not equal to TS.
This occurs in bridges, which can transmit frames originating on other segments. This bit
should only be set in broadband networks where the TBC is located far enough from the
head-end remodulator so that the entire echo of a minimal length frame transmitted by the
TBC could be heard by it after it has completed transmission. This mode solves a problem
caused by hearing a data frame with SA not equal to TS, which could cause the TBC to
incorrectly believe that another station is transmitting. In this mode, the TBC will wait approximately one slot time before transmitting a solicit successor or token frame after transmitting a data frame, or before transmitting a non-retry request with response data frame.
RSR - Recognize Source Routing
1 Recognize source routing
a Do not recognize source routing
This mode allows the TBC to act as a part of a source routing MAC bridge between interconnected networks. The meaning of the least significant bit of the source address of a frame
having a value of one is not defined in the IEEE 802 standards. The source routing method
uses this bit in data frames to indicate the presence of a routing information field in the frame
which describes the segment routing of the frame. This is a non-address based routing
scheme, meaning that the destination address does not itself contain information on where
the destination station is located. When the least significant bit of the source address bit is
zero, the frame is treated as an ordinary frame. If this bit is a one in a control frame, the
frame is considered invalid and is treated as a noise burst. If this bit is a one in a data frame
and if RSR mode is disabled, the TBC treats the frame as a normal frame (i.e., if the destination
address matches the criteria set by the host, the frame is accepted and the routing information
field is treated as normal data). If the RSR mode is enabled, the frame is accepted if the
destination address matches the specified criteria or if the routing information field specifies
that the frame is to be routed to another segment via the TBC. The routing information field
is copied to the first data buffer like normal data. The length of the buffers in the free pool

MC68824 USER'S MANUAL

MOTOROLA
3-9

II

should be at least 64 bytes in this mode. Note that the lower bridge mode (bit 4) and the
recognize source routing mode are mutually exclusive. If both modes are set, recognize source
routing mode takes precedence. See APPENDIX C BRIDGING for details.
3.3.3 SET MODE 3 Command

II

The default setting is zero for all modes described in this subsection except for the halt generator
enable mode (HLEN) whose default is one. This command is normally given only as part of an
initialization sequence or during testing.
7654321

o

I

1

I

1

I RCDS I TCDS IHLEN I SWAP I

PS3

RCDS - RX CRC to Data Storage Mode
1 Copy RX CRC as part of the data unit
o Do not copy RX CRC as part of the data unit.
This mode causes the TBC to copy the 4-byte CRC of data frames to memory as part of the
data unit. The CRC is counted in the reported data unit length. Regardless of this mode, the
CRC is checked for correctness and, if erroneous, the TBC will not accept the frame unless
so specified in·the RX frame status error mask in the private area (offset 26).
TCDS - TX CRC Disable Mode
1 CRC not generated by the TBC for data frames
o CRC generated by the TBC
This mode disables CRC generation on data frames transmitted by the TBC. In this case, the
user must supply a correct CRC at the end of the data unit. According to the 802.4 standard,
all frames are transmitted with the standard 32-bit frame check sequence (FCS) and the FCS
or CRCis checked for correctness in all received frames. Received frames with CRC errors are
treated as noise bursts by the access control machine (ACM). This mode applies to all data
frames, i.e., there is not a separate indication for each frame. The TBC always generates and
attaches the CRC for all control frames, even when this mode is on. This mode can be used
for testing or for use with a non-standard, user specified CRC.
NOTE

In the latter case, receiving stations may identify data frames as noise bursts.
The CRC error bit in the RX status error mask located in the private area must
be set in order to accept such frames.
HLEN - Halt Generator Enable Mode
1 Halt generator enabled
o Halt generator not enabled
This mode controls the maximum number of DMA transfers that the TBC performs in one
DMA burst. If the user wishes to give the maximum memory bandwidth to the TBC, HLEN
should be set to zero. This will allow the TBC to, for example, empty or fill the FIFO in one
burst. If the user wishes to limit TBC DMA bursts, HLEN should be set to one. This will cause
the TBC to release the bus after a maximum of eight memory cycles. In this case, if the FIFO
is not empty or full, the TBC will request the bus again. After RESET, HLEN is enabled.
SWAP - Data Byte Swap Mode
1 Data in memory buffers organized with high order byte in higher address (Digital and
Intel convention)

MOTOROLA
3-10

MC68824 USER'S MANUAL

o

Data in memory buffers organized with high order byte in lower address (Motorola and
IBM convention)

SWAP = 1 -

Intel Convention
D

c

B

A

ODD (HIGHER) ADDRESS

SWAP =0 -

EVEN (LOWER) ADDRESS

Motorola Convention
D

c

B

A

EVEN (LOWER) ADDRESS

ODD (HIGHER) ADDRESS

In an 8-bit mode, this bit has no significance. Note that while the data organization of data
buffers and the frame header in the FD may be selected by this option, all other parameters,
pointers, and tables are organized according to the Motorola/IBM convention.
PS3 - Prescaler 3 Bit Mode
1 Prescaler of three bits for octet timers
o Prescaler of six bits for octet timers
The following octet variables, which are either parameters or statistics, are located in the
private area or in the initialization area of the initialization table and are subject to a prescaling
of three or six bits as set by the PS3 bit:
HLpriority_token_hold time
Parameter
Last token_rotation_time
Statistic
Statistic
Token rotation time at start of access classes (0, 2, and 4)
Parameter
Target token rotation time for access classes (0, 2, and 4)
Statistic
Token rotation time at start of ring maintenance
Target token rotation time for ring maintenance
Parameter
Parameter
Ring maintenance timer initial value
The prescaling mechanism provides a resolution of 8 or 64 octets for all the values listed
above. The amount of prescaling must be chosen such that after prescaling, the parameters
will fit into 15 bits. Thus, if the largest target rotation time parameter or the expected token
rotation time is larger than (2 18 ) -1 octet times, the prescaler size must be six bits. When
rotation times are this large, the eight octet resolution is finer than needed, and the 64 octet
resolution is sufficient. A value of FFFF for anyone of the statistics listed above indicates an
overflow.

3.3.4 SET/CLEAR IN_RING DESIRED Command
This command is used to change the value of in_ring desired during normal operation. This
method of clearing, or setting, in_ring desired should be used rather than the SET MODE 2
command during normal operation. A description of the in_ring desired variable, which is an IEEE
802.4 boolean, is found in 3.3.2 SET MODE 2 Command. The coding for this command is CB or
CF and its format is:

Where:
1 Set In_Ring Desired
o Clear In_Ring Desired

MC68824 USER'S MANUAL

MOTOROLA
~_11

II

3.4 TX DATA FRAMES
Commands in this category are used to stop/restart transmission of data frames or to start transmission from an empty queue.
3.4.1 STOP Command

II

The STOP command causes the TBC to suspend transmission of data frames in all queues. This
command does not affect the status of the four transmit queues (see 2.1.15 TX Queue Access
Class Status). If the TBC is holding the token when the STOP command is received, the TBC will
complete transmission of the current frame and then pass the token. If in_ring desired is true,
the TBC will remain in_ring or, if not currently in_ring, will continue to try to enter the ring. The
STOP command is equivalent to clearing the any_send_pending boolean defined in the IEEE 802.4
standard. The coding for the STOP command is EO and its format is shown below.
1

I

1

I

o

1

I

0

I

I

0

3.4.2 RESTART Command
This command restarts transmission of data frames by the TBC. RESTART sets the
any_send_pending boolean and differs from the START command in that it only restarts transmission of data frames and does not affect the status of the four transmit queues. The RESTART
command is used after transmission of data frames was suspended by an earlier STOP command.
If the TBC is not in_ring when this command is given, the TBC will enter the logical ring if
outstanding data frames remain to be transmitted. The coding for this command is C6 and its
format is shown below.
1

I

1

I

0

o

I

0

I

1

I

1

I

0

3.4.3 START Command
This command is used by the host processor to start transmission only when a new frame has
been added to an empty transmit queue. Before loading this command into the command register
(CR), the host must initialize the command parameter area located in the initialization table. The
first word of the CPA, CPA VALO (offset 90), must contain the code of the appropriate transmit
queue. These are:
Queue
6

4
2

o

CPA VALO (Hex)
0028
0030
0038
0040

The second and third words of the CPA, CPA VAL 1 and CPA VAL2 respectively, must contain a
pointer to the new head of the transmit queue. This pointer is the address of the first frame
descriptor in the queue, with the most significant word of the pointer in CPA VAL 1.
The TBC, when issued this command, sets its internal any_send_pending status to true. It also
zeroes the appropriate transmit queue status word in the private area. In other words, it sets the

MOTOROLA
3-12

MC68824 USER'S MANUAL

status of the queue to enabled and not empty and writes the pointer to the appropriate head of
transmit queue pointer entry in the private area.
This command should not be used to enable a disabled low priority (4, 2, 0) queue. The token
rotation timers of disabled priority queues are not maintained. Therefore, a lower priority queue
must be enabled at least one token rotation before queueing a frame for transmission on that
queue. Lower priority queues are preferably enabled in the OFFLINE state by the SET ONE WORD
command (see 3.5.3 SET VALUE Command). Note that adding a frame to a transmit queue which
is not empty and is enabled is an implicit request for transmission, therefore the START command
is not needed in this case.
The coding of this command is 84 and its format is shown below.
1

I

o

0

I

0

I

1

o

I

0

3.5 SET/READ VALUE
Commands in this category are used by the host processor to read or set TBC parameters residing
in the private area or on chip. These commands use the command parameter area in the initialization table to transfer parameters between the host and the TBC.

3.5.1 Command Parameter Area
The command parameter area (CPA) is a seven word memory area within the initialization table
(offset 90 to 9C) used to set and read internal variables of the TBC which reside in the private
area or on chip via the SET/READ VALUE commands. The CPA consists of the command area
and the command result area.
The format of the command parameter area is shown in Figure 3-1. The command parameter
area is a three word area located at offset 90 through 94 of the initialization table. The first word
contains the opcode for the parameter to be set or read, see Tables 3-6 and 3-7 for the opcodes
list, while the other two words contain the parameters to be passed from the host processor to
the TBC.

INITIALIZATION TABLE

+ 90
+92
+94
+96
+98
+9A
+9C

CPA VALO (CODE)
CPA VAll
CPA VAL2
CPA RElO
CPA RET!
CPA REl2
CPA RESULT (STATUS WORD)

CODE

- DEFINES THE CODE OF THE OPERATION IN READ/SET VALUE. THIS CODE IS ALSO USED FOR
THE START COMMAND (SEE 3.4.3 START).
VAL
- DEFINES THE VALUE OF THE PARAMETER TO BE WRITTEN
RET
- CONTAINS THE RETURNED PARAMETER FROM THE TBC
RESULT -CONTAINS THE STATUS

Figure 3-1. Command Parameter Area

MC68824 USER'S MANUAL

MOTOROLA

II

Table 3-6. Read Value Opcodes
Code (Hex)

Length in Bytes

00

2,6

NS

Next Station's Address

04

2,6

PS

Previous Station's Address

802.4

08

2

HI_PRLTHT

High_Priority_Token_Hold_Time

802.4

OA

2

LAST_TRT

Last Token_Rotation_Time

802.4

OC

2

START(4)

TRT at Start of Access Class 4

802.4

OE

2

TAFLROT(4)

Target Rotation Time Access Class 4

802.4

10

2

START(2)

TRT at Start of Access Class 2

802.4

12

2

TAFLROT(2)

Target Rotation Time Access Class 2

802.4

14

2

START(O)

TRT at Start of Access Class 0

802.4

16

2

TAFLROT(O)

Target Rotation Time Access Class 0

802.4

18

2

START(RM)

TRT at Start of Ring Maintenance

802.4

1A

2

TAFLROT(RM)

Target Rotation Time Ring Maintenance

802.4

1C

2

RM_INIT

Ring Maintenance Timer Initial Value

802.4

II

Description

Name

802.4

1E

2

SID

Bridge Pair Source Segment Number

20

2

TID

Bridge Pair Target Segment Number

22

2

SFLMASK

Source Routing User Mask

24

2

MA>LINT_SOL

Maximum_lnter_SoliciLCount

26

2

R>LERFLMASK

RX Frame Status Error Mask

28

2

T>LSTAT(6)

Status of TX Queue (6)

2A

4

T>LHOQ6

Tx Queue Access Class 6 HOQ Pointer

30

2

T>LSTAT(4)

Status of TX Queue (4)

32

4

T>LHOQ4

TX Queue Access Class 4 HOQ Pointer

38

2

T>LSTAT(2)

Status of TX Queue (2)

3A

4

T>LHOQ2

TX Queue Access Class 2 HOQ Pointer

40

2

T>LSTAT(O)

Status of TX Queue (0)

42

4

T>LHOQO

Tx Queue Access Class 0 HOQ Pointer

802.4

48

4

R>LEOQ6

Rx Queue Access Class 6 EOQ Pointer

4C

4

R>LEOQ4

Rx Queue Access Clas 4 EOQ Pointer

50

4

R>LEOQ2

RX Queue Access Class 2 EOQ Pointer

54

4

R>LEOQO

RX Queue Access Class 0 EOQ Pointer

58

4

FD_POOLPTR

Free Frame Descriptor Pointer to First FD

5C

4

BD_POOLPTR

Free Buffer Descriptor Pointer to First BD

60

2

GJLMASK-LOW

Group Address Mask -

Low Word

62 1

4

GJLMASK-MED_HI

Group Address Mask -

Medium and High Words

66

2

IJLMASK-LOW

Individual Address Mask -

Low Word

68'

4

IJLMASK-MED_HI

Individual Address Mask -

Medium and High Words

6C

2

MAX-RETRY

Non-RWR Maximum Retry Limit

802.4

6E

2

RWFLMA>LRETRY

RWR Maximum Retry Limit

802.4

70

2

SLOT_TIME

Slot Time Value

802.4

72

2

TS_LOW

This Station's Address -

Low Word

802.4

74'

4

TS_MED_HI

This Station's Address -

Medium and High Words

802.4

78

2

MPV_REV

Manufacturer Product Version and 802.4 Revision Number

7A

2

T>LFLT_CNT

Transmitter Fault Count

80

2

TRT

Token Rotation Time (Current -

802.4
Internal)

NOTE:
1. This value is not meaningful if the address length is 16 bits.

MOTOROLA
~_1.d

MC68824 USER'S MANUAL

Table 3·7. Set Value Opcodes
Code (Hex)

Length in Bytes

08

2

HLPRI_THT

High_Priority_Token_Hold_TIme

Description
802.4

OE

2

TAILROT(4)

Target Rotation Time Access Class 4

802.4

Name

12

2

TAILROT(2)

Target Rotation Time Access Class 2

802.4

16

2

TAILROT(O)

Target Rotation Time Access Class 0

802.4

1A

2

TAILROT(RM)

Target Rotation Time Ring Maintenance

802.4

1C

2

RM_INIT

Ring Maintenance Timer Initial Value

802.4

1E

2

SID

Bridge Pair Source Segment Number

20

2

TID

Bridge Pair Target Segment Number

22

2

SILMASK

Source Routing User Mask

24

2

MAX-I NT_SOL

Maximum_lnter_SoliciLCount

26

2

RX-ERILMASK

RX Frame Status Error Mask

28

2

TX-STAT(6)

Status of TX Queue (6)

2A

4

TX-HOQ6

Tx Queue Access Class 6 HOQ Pointer

30

2

TX-STAT(4)

Status of TX Queue (4)

32

4

TX-HOQ4

TX Queue Access Class 4 HOQ Pointer

38

2

TX-STAT(2)

Status of TX Queue (2)

3A

4

TX-HOQ2

TX Queue Access Class 2 HOQ Pointer

40

2

TX-STAT(O)

Status of TX Queue (0)

42

4

TX-HOQO

Tx Queue Access Class 0 HOQ Pointer

802.4

48

4

RX-EOQ6

Rx ueue Access Class 6 EOQ Pointer

4C

4

RX-EOQ4

Rx Queue Access Clas 4 EOQ Pointer

50

4

RX-EOQ2

RX Queue Access Class 2 EOQ Pointer

54

4

RX-EOQO

RX Queue Access Class 0 EOQ Pointer

58

4

FD_POOLPTR

Free Frame Descriptor Pointer to First FD

5C

4

BD_POOLPTR

Free Buffer Descriptor Pointer to First BD

60

2

GA-MASK-LOW

Group Address Mask -

Low Word

62'

4

GA-MASK-MED_HI

Group Address Mask -

Medium and High Words

66

2

lA-MASK-LOW

Individual Address Mask -

Low Word

68'

4

IA-MASK-MED_HI

Individual Address Mask -

Medium and High Words

6C

2

MAX-RETRY

Non-RWR Maximum Retry Limit

802.4

6E

2

RWILMAX-RETRY

RWR Maximum Retry Limit

802.4

NOTE:
1. This value is not meaningful if the address length is 16 bits.

The command result area is the four word area following the command parameter area in the
initialization table and is located at offset 96 through 9C. The first three words of the command
result area are used to pass parameters from the TBC to the host while the fourth word contains
the status. The least significant bit of the CPA RESULT (fourth word of the command parameter
area), when set, indicates the TBC has completed the execution of the previous command. This
bit, referred to as the done bit, is valid for execution of all TBC commands except for the RESET
and LOAD INIT TABLE FC commands. The only confirmation for these commands is the value
'FF' of the semaphore register. If the done bit in the status word of the CPA is to be used to
determine the completion of a command, it must be cleared by the host prior to giving the
command. Another method to check to see if the TBC has finished processing a command is
through the TBC command complete bit (TCC) in the interrupt status word 0 located in the
initialization table (for all commands except RESET, LOAD INIT TABLE FC, and CLEAR INTERRUPT
STATUS).

MC68824 USER'S MANUAL

MOTOROLA
3-15

II

3.5.2 READ VALUE Command

II

The read value command returns the current operational values of TBC parameters to the host.
Not all of the TBC parameters are meaningful at all times and the TBC does not indicate whether
the value it returns is meaningful. The opcode of the parameter to be read is loaded into the
command parameter area word 0 by the host processor. A list of these parameter opcodes is
given in Table 3-6. The TBC moves the current value of the parameter into the command return
field. In most cases, a two-byte value is returned in CPA RETO, and a four-byte value is returned
in CPA RETO and CPA RET1. The length of the returned value is not a parameter of the command
but is a function of the parameter requested. When finished, the TBC gives confirmation of
command execution in CPA RESULT.
The following exceptions exist:
1. If the opcode is '00' (next station address) or '04' (previous station address), and the
address length is 48 bits, the resulting address will be returned as the high word in CPA
RETO, the medium word in CPA RET1, and the low word in CPA RET2. If the address is
16 bits, the result will be returned in CPA RET2.
2.

If the opcode is '80' (internal token rotation time), the value is always returned in CPA
RET2. Note that this parameter is prescaled by three or six bits according to the prescaler
specified via the SET MODE 3 command.

3. The boolean 'nexLstation_known' is returned in CPA RESULT bit 15 if the host has
requested the next station address (opcode 00). If next station known is true, this bit is
zero and the next station address that is returned is valid; if false, this bit is one and the
next station value that is read is not meaningful.
The code for the READ VALUE command is 90 and its format is shown below.
o

I

0

I

0

I

0

3.5.3 SET VALUE Command
An array of commands, referred to as SET VALUE commands, are available to the user to initialize
or modify the TBC's parameters. The parameters which may be modified include the function
codes for buffer descriptors, frame descriptors, and receive and transmit data buffers. Also included is the capability, to set the pad timer preset register (PTP), and some of the parameters
which reside in the private area (see Table 3-7 for a complete list). The mechanism used to pass
parameters for the SET VALUE commands is described in each case in the following subsections.
The coding for the SET VALUE commands is 81 through 87 and the format for each command is
shown below.
1

Where:
S S

o

S

0
1
010
1
1
1
o 1 1
1
1
0
1
0
1

Set
Set
Set
Set
Set
Set

I

0

I

0

o

I

0

s

s

I

s

Function
Function Code of Buffer Descriptor 1
Function Code of Frame Descriptor 1
Function Code of RX and TX Data Buffers 1
Pad Timer Preset (PTP) Register
One Word Value
Two Word Value

NOTE:
1. If the signals FCO-FC3 are not used, these commands are not necessary.

MOTOROLA
3-16

MC68824 USER'S MANUAL

3.5.3.1 BUFFER DESCRIPTOR FUNCTION CODE. This command sets a single function code used
for all buffer descriptors. The host must write the desired function code (FCO-FC3) into bits 0-3 of
CPA VALO before loading the command register with this command. This command is normally
given only as part of an initialization sequence or during testing. The coding is 81 and the format
is shown below:
76543210
110101010101011

3.5.3.2 FRAME DESCRIPTOR FUNCTION CODE. This command sets a single function code used
for all frame descriptors. The host must write the desired function code (FCO-FC3) into bits 0-3 of
CPA VALO before loading the command register with this command. This command is normally
given only as part of an initialization sequence or in testing. The coding is 82 and the format is
shown below:
76543210
110101010101110

3.5.3.3 DATA BUFFERS FUNCTION CODE. This command sets a single function code used for all
receive and transmit data buffers. The host must write the desired function code (FCO-FC3) into
bits 0-3 of CPA VALO before loading the command register with this command. This command
is normally given only as part of an initialization sequence or during testing. The coding is 87
and the format is shown below:
7
1

6
1

4

o

0

1

1

1

1

3.5.3.4 SET PAD TIMER PRESET REGISTER (PTP). The pad timer preset register is used by the
TBC to set the length and pattern of the preamble, and the minimum number of preamble octets
transmitted between frames. The initial value of this register is loaded by the host at offset 78 of
the initialization table. After initialization this command must be used to modify the PTP. The host
must write the new PTP value into bits 0-15 of CPA VALO before loading the command register
with this command. This register contains three parameters which include:
1. The preamble pattern, in bits 0-7 where bit 0 is the first bit of each preamble octet transmitted and bit 7 is the last.
2. The minimum number of preamble octets transmitted after silence is loaded in bits 8-10.
This is equivalent to the 802.4 parameter min_posLsilence_preamble length.
3. The minimum number of preamble octets transmitted between frames resides in bits 1115.
The coding for the SET PTP command is 83 and its format is:
7654321
110101010101111

The format of the pad timer preset (PTP) register is:
15

Where:
m
b
p

14

13

12

11

10

9

8

7

= Minimum number (minus 1) of preamble octets transmitted between frames.

= Minimum number (minus 2)
= Pattern of preamble octet.

MC68824 USER'S MANUAL

of preamble octets transmitted before frame after silence.

MOTOROLA
3-17

II

Minimum values for the PTP register are:
Physical
Layer Type
Single Channel Phase
Continuous FSK
Single Channel Phase
Coherent FSK
Broadband Bus

Bit Rate
(Mb/Sec)

m

m

m

m

m

b

b

b

p

p

p

p

p

p

p

p

1

0

0

0

0

0

0

0

0

1

0

1

0

1

0

1

0

1
0

1
1

1
1

1
1

1
1

0
0

1
1

0
0

1
1

0
0

1
1

0
0

0
1
0

0
0
0

1
1
1

0
0
0

1
1
1

0
0
0

1
1
1

0
0
0

1
1
1

0
0
0

1
1
1

0
0
0

5
10
1

5

II

10

0
0

0
0

0
0

0
1

0
0
0

0
0
0

0
0
0

0
0
1

The values for 'mmmmm' and 'bbb' in the above table are minimum values. The user may use
larger values for 'mmmmm' to enhance back-to-back frame reception, or may use larger values
for 'bbb' if a non-standard modem being used requires more preamble after silence.
The PTP register bits have different meanings when being used in the receive test. See 3.6.5
RECEIVER TEST Command for more details.
3.5.3.5 SET ONE WORD. The SET ONE WORD command is used to set two-byte TBC operational
parameters residing in the private area. The host must load the opcode into CPA VALO and the
new parameter value in CPA VAL 1 before writing the SET ONE WORD command into the command
register. The opcodes for the SET ONE WORDITWO WORDS commands are listed in Table 3-7.
The co~ing for this command is 86 and its format is shown below:
1

I

0

I

o

0

I

0

I

1

I

1

I

0

3.5.3.6 SET TWO WORDS. The SET TWO WORDS command is used to set four-byte TBC parameters which reside in the private area. The host must load the opcode into CPA VALO and the new
parameter value high order word in CPA VAL 1 and low order word in CPA VAL2 before writing
the SET TWO WORDS command into the command register. The coding for this command is 85
and its format is shown below:
1

I

0

I

o

0

I

0

I

1

I

0

I

1

The opcodes for the SET ONE WORDITWO WORDS commands are listed in Table 3-7.

3.6 TESTING
Commands in this category were designed to facilitate debugging and diagnostics tasks on a TBC
system. There are four available tests which can be run on the TBC while in the OFFLINE state.
The receiver test, transmitter test, and full duplex loopback test may be run in either internal or
external loopback mode, see 3.6.1 SET INTERNAUEXTERNAL LOOPBACK MODE Command for
a description. The codings for the test commands are BO through BC and the format is:

1

MOTOROLA
3-18

I

0

I

1

I

1

T

T

T

T

MC68824 USER'S MANUAL

Where:
T
0
0
1
1

T
0
1
0
1

T

T

0
sil/noi
0
0

0
O·
0
0

Receiver test
Transmitter test
Full duplex loopback test
Host interface test

The host interface test exercises the DMA portion of the TBC by checking the path from a memory
buffer to the TBC and back to the memory buffer. The transmitter test is used to check the path
from a transmit queue in memory through the transmitter and back to the receiver. The receiver
test is used to check the path from the receiver to a receive queue in memory. Finally, the full
duplex loopback test is used to check the path from a buffer in memory through the TBC serial
interface and back to the memory buffer.

3.6.1 SET INTERNAUEXTERNAL LOOPBACK MODE Command
The SET INTERNAUEXTERNAL LOOPBACK MODE command is used by the host processor to
enable or disable the internalloopback mode of operation while running the receiver, transmitter,
and full duplex loopback tests. Note that if internal loopback mode is selected, an external clock
has to be provided for the receive clock while running the tests. The default mode of operation
is with internal loop back mode disabled. The coding for this command is CC or C4 and its format
is shown below.

I

INTERNAL
LOOPBACK

I

INTERNAL LOOPBACK
1 Enables internal loopback mode of operation.
o Disables internal loopback mode of operation.
This command controls the internal loopback from TXSYMO, TXSYM1, and TXSYM2 to
RXSYMO, RXSYM1, and RXSYM2 respectively. In internal loopback mode, transmitted information is looped back as received information internally to the chip. Also, in internal
loop back mode, the external transmit output pins send silence symbols regardless of the
symbols being generated internally. In external loop back mode, the transmit pins must be
externally connected to the receive pins either directly or through a modem.

3.6.2 HOST INTERFACE TEST Command
The host interface test is used to check the path from the memory buffer to the TBC FIFO and
back to the memory buffer. To initiate this test, the user first builds a 70-byte buffer placing test
data in the first 34 bytes, see Table 3-8 for format. Next, the user loads the function code of the
buffer into CPA VALO of the command parameter area, loads the buffer pointer into CPA VAL 1
(high word) and CPA VAL2 (low word) and issues the test command with the appropriate bits set
for the host interface test. The 34 bytes of data are copied from the first half of the 70-byte buffer
to the TBC and written back to the second half of the 70-byte buffer by the TBC. Upon completion
of the test, the done bit in the status word of the CPA located at offset 9C in the initialization table
is set. The host checks the data written back to the memory buffer against what was transferred.

MC68824 USER'S MANUAL

MOTOROLA
3-19

II

Table 3-8. Test Buffer Format
Buffer Format:
MSB
F

II

LSB

D

C

B

o

A

Host Data 0
Host Data 2

Host Data 1
Host Data 3

Host Data 32
TBC Return Data 0
TBC Return Data 2

Host Data 33
TBC Return Data 1
TBC Return Data 3

TBC Return Data 32
Indication 0

TBC Return Data 33
Indication 1

Host Data:
Data prepared by the host which resides in the first 34 bytes.

TBC Return Data:
Data returned by the TBC which resides in the next 34 bytes and which should be the same as the host data.

Indication:
Indication returned by the TBC in full duplex loop back test. This value is 0 in the host interface test.

The following routine may be used to perform the host interface test:
Prepare the Initialization Table
Issue RESET command
Wait until Semaphore Register is 'FF'
Initialize the Interrupt Vector Register
Load the Function Code of the init table pointer into DRO
Issue LOAD INITIALIZATION TABLE FC Command
Wait until Semaphore Register is 'FF'
Load the Init Table Pointer into DR
Issue INITIALIZE Command
Issue SET MODE 3 Command to set SWAP and HLEN Bits
Prepare First 34 Bytes of Test Buffer
Load CPA VALO with Function Code of Buffer if Needed
Load CPA VAL 1 and CPA VAL2 with Pointer to Buffer
Clear Done Bit in CPA Status Word
Issue HOST INTERFACE TEST (Code is BC)
Wait for Done Bit in CPA Status Word
Compare Returned Data to Data which was given to the TBC
NOTE

In order to check for command completion, the host must clear the done bit in the CPA
status word before issuing a command to the TBC.

3.6.3 FULL-DUPLEX LOOPBACK TEST Command

The full-duplex loopback test checks the path from buffer memory through the TBC serial interface
and back to the memory buffer, thus checking ths proper functioning of the transmit and receive

MOTOROLA
3-20

MC68824 USER'S MANUAL

machines. Both the receive and transmit machines are working simultaneously, i.e., in full duplex,
while running this test. To run this test, the user must first prepare a buffer as described in Table
3-8. The buffer is used in the same way as for the host interface test with the following exceptions:
1. Byte 0 (host data 0) is not transmitted.
Table 3-9. Test Buffer for
2. Byte 34 (TBC ret data 0) does not contain valid
Returned Data
information.
3. The buffer length may vary according to the
settings of mode bits for RCDS, RX CRC to data
storage, and TCDS, TX CRC disable, (see 3.3.3
SET MODE 3 Command). Table 3-9 shows the
buffer length relationship with these mode bits.
4. Indication 0 byte, that is the first byte after the
returned data, contains the frame data length
including the CRC. Note that this value is valid
only if no CRC error was detected.

RCDS

rCDS

Data Length
Stored in
Buffer

Indication 1
(Error)
Byte Number

0

0

33

69

0

1

29

65

1

0

37

73

1

1

33

69

5. The most significant bit, bit 7, of indication 1 byte is set if a CRC error was detected by
the TBC.
Note that the indication bytes do not contain sufficient information to determine whether the test
was a success or failure. The data itself must be checked by the host.
The following routine may be used to run the full duplex loopback test:
Prepare the Initialization Table
Issue RESET Command
Wait until Semaphore Register is 'FF'
Initialize the Interrupt Vector Register
Load the Function Code of the Init Table Pointer into DRO
Issue LOAD INITIALIZATION TABLE FC Command
Wait until Semaphore Register is 'FF'
Load the Init Table Pointer into DR
Issue INITIALIZE Command
Issue SET MODE 3 Command to Set SWAP, HLEN, RCDS and TCDS Bits
Prepare Test Buffer
Load CPA VALO with Function Code of Buffer if needed
Load CPA VAL 1 and CPA VAL2 with Pointer to Buffer
Issue SET INTERNAUEXTERNAL LOOPBACK MODE
Initialize Modem if in External Loopback Mode
Clear Done Bit in CPA Status Word
Issue FULL DUPLEX LOOPBACK MODE TEST (Code is B8)
Wait for Done Bit in Status Word
Read Indication 0 and 1 for Errors
Compare Returned Data to Data which was given to the TBC
NOTE
In order to check for command completion, the host must clear the done bit in CPA
status word before issuing a command to the TBC.

MC68824 USER'S MANUAL

MOTOROLA

3-21

II

3.6.4 TRANSMITIER TEST Command

II

The transmitter test is used by the host processor to check the path from the TX queue in memory
to the transmitter and back to the receiver. During this test, the TBC acts as if it is in_ring and
has just received a token. The transmitter test may be run with the option of waiting for nonsilence (bit 1 of the command) on the bus before transmission begins, thus deliberately creating
a collision. Note that if this test is run in internal loopback mode, it must also be run with the
silence/noise bit set to one, that is the TBC will wait for reported silence to start transmitting. If
desired, a cyclic transmit queue can be used, creating an almost unlimited number of frames for
transmission (see SECTION 4 BUFFER STRUCTURES). The number of frames is only limited by
the high_priority_token_hold time when in externalloopback mode, while there are no limitations
in internalloopback mode. During the transmitter test, the receiver is in a special mode in which
it checks incoming frames for CRC (FCS) and underrun errors but does not write the contents of
the frame to the FIFO. To perform this test, the host must prepare a class 6 transmission queue
and set the high_priority_token_hold_time to 'FFFF' for maximum transmitter test time. When
either the last transmission frame has been confirmed, or an interrupt on empty transmission
queue has occurred (bit three of interrupt status word 0, TXQE), the test should be ended by
issuing the OFFLINE command. Command confirmation and status are returned to the command
return area in the initialization table. The OFFLINE command must be given before the token hold
timer expires while running in external loopback mode. To check the tests results, the host can
check the FD confirmation word for TX queue access class 6. If detected, CRC/underrun errors
are indicated by the TBC setting bit 1 of the command result area after confirmation was given
for the OFFLINE command.
The following routine may be used to perform the transmitter test:
Prepare the Initialization Table
Issue RESET Command
Wait until Semaphore Register is 'FF'
Initialize the Interrupt Vector Register
Load the Function Code of the Init Table Pointer into ORO
Issue LOAD INITIALIZATION TABLE FC Command
Wait until Semaphore Register is 'FF'
Load the Init Table Pointer into DR
Issue INITIALIZE Command
Issue SET MODE 3 Command to Set SWAP, HLEN, PS3 and TCDS Bits
Prepare Access Class 6 TX Queue
Issue SET ONE WORD Command to Set High_Priority_Token_Hold_Time if Different from
Value Set in Initialization Table
Issue SET FC BD, FD, and RXITX Data Buffers if needed
Issue SET INTERNAL/EXTERNAL LOOPBACK MODE
Initialize Modem if in External Loopback Mode
Issue START Command for Access Class 6
Clear Done Bit in CPA Status Word
Issue TRANSMITTER TEST (Code is B4 or B6)
Wait for Command Confirmation which Indicates Acceptance of the Test
Wait until Last Known TX Frame has been Confirmed or an Interrupt has been Generated by
the TBC for TXQE

MOTOROLA
3-22

MC68824 USER'S MANUAL

Issue the OFFLINE Command
Check for CRC/Underrun Errors (Bit 1 of the Command Result area will be set if such errors
occurred.)
Check the FD Confirmation Word for Each Transmitted Frame
NOTE
In order to check for command completion, the host must clear the done bit in CPA
status word before issuing a command to the TBC.

II

3.6.5 RECEIVER TEST Command
The receiver test is used by the host processor to check the path from the receiver to the RX
queue in memory. The transmitter transmits a predefined pattern partitioned into frames of up
to 33 bytes in length. The pattern of the frame is user definable and is loaded by the host through
CPA VALO. This pattern will be transmitted between the SD and FCS (CRC) of frames from the
least significant byte to the most significant byte. However, care should be taken not to create
an RWR pattern. For this test to run, it is required that the TBC generate the CRC, therefore the
TCDS bit should be left disabled using the SET MODE 3 command (see 3.3.3 SET MODE 3
Command). The PTP register has a different format in this test than in normal mode as shown.
PTP register format for the receive test:
DeB

A

3
p

I

p

I

p

Where:
m = Frame's length - number of bytes between the start delimiter up to but not including the
CRC (FCS) minus two (2).
b = Number of preamble octets between frames minus one (1).
p = Pattern of preamble octet
The command confirmation bit is set by the TBC upon completion of the OFFLINE command and
the status is placed in the command return area. Status is given on every frame in the FD (class
6) as in normal frame reception. In order to determine success or failure of the test, the host
processor checks the received frames against what was sent in CPA VALO.
NOTES

Using a 1: 1 ratio of the serial clock to the system clock, an overflow is expected after
approximately every third frame. To reduce the number of overruns when running this
test, it is recommended to use 16 words as the minimum data buffer length, and to
allocate one buffer descriptor per frame descriptor.
The following routine may be used to perform the receiver test:
Prepare the Initialization Table
Issue RESET Command
Wait until Semaphore Register is 'FF'
Initialize the Interrupt Vector Register

MC68824 USER'S MANUAL

MOTOROLA
~-?~

Load the Function Code of the Init Table Pointer into ORO
Issue LOAD INITIALIZATION TABLE FC Command
Wait until Semaphore Register is 'FF'
Load the Init Table Pointer into DR
Issue INITIALIZE Command
Issue SET MODE 1 Command to Set CACF and CUFC Mode Bits
Issue SET MODE 3 Command to Set SWAP, HLEN, PS3, and RCDS Bits if Desired
Issue SET 1 WORD or 2 WORDS Command to Set Individual Address Mask to Zero (Copy all
Frames)

II

Issue SET 1 WORD or 2 WORDS Command to Set Group Address Mask to 'FFFF' (Copy all
Frames)
Issue SET PTP Command
Prepare Free FD and BD Pools
Issue SET 2 WORDS Commands to Initialize the Free FD and BD Pool Pointers as well as the
RX Queue Access Class 6 EOQ Pointer
Issue SET FC BD, FD, and RXlTX Data Buffers if needed
Issue SET INTERNAUEXTERNAL LOOPBACK MODE
Initialize Modem if in External Loopback Mode
Load CPA VALO with Pattern Word - Must be Two Identical Bytes
Clear Done Bit in CPA Status Word
Issue RECEIVER TEST (Code is BO)
Wait for Command Confirmation which Indicates Acceptance of the Test
Wait until FD or BD Pool Empty (Bits 1 and 2 in Interrupt Status Word 0)
Issue the OFFLINE Command
Check for Received Frames' Status in the FD (Class 6)
NOTE
In order to check for command completion, the host must clear the done bit in CPA
status word before issuing a command to the TBC.

3.6.6 Sequence for Running all the Tests
The tests may be run one after the other without reinitialization, provided each preceding test
runs successfully to completion. If a test fails, it is strongly recommended to reinitialize the chip
before running the next test. This sequence of tests can be run at system initialization and after
reset. The four tests are executed in the following sequence: host interface, full duplex loopback,
receive, and transmit. This routine should be performed as follows:
TBC INITIALIZATION
Prepare'the Initialization Table
Issue RESET Command
Wait until Semaphore Register is ,FF'
Initialize the Interrupt Vector Register
Load the Function Code of the Init Table Pointer into ORO

MOTOROLA
3-24

MC68824 USER'S MANUAL

Issue LOAD INITIALIZATION TABLE FC Command
Wait until Semaphore Register is 'FF'
Load the Init Table Pointer into DR
Issue INITIALIZE Command
HOST INTERFACE TEST
Issue SET MODE 3 Command to Set SWAP and HLEN Bits

II

Prepare First 3.4 Bytes of Test Buffer
Load CPA VALO with Function Code of Buffer if Needed
Load CPA VAL 1 and CPA VAL2 with Pointer to Buffer
Clear Done Bit in CPA Status Word
Issue HOST INTERFACE TEST (Code is BC)
Wait for Done Bit in Status Word
Compare Returned Data to Data which was given to the TBC
FULL DUPLEX LOOPBACK TEST
Issue SET MODE 3 Command to Set SWAP, HLEN, RCDS, and TCDS Bits if Needed
Prepare Test Buffer
Load CPA VALO with Function Code of Buffer if needed
Load CPA VAL 1 and CPA VAL2 with Pointer to Buffer
Issue SET INTERNAUEXTERNAL LOOPBACK MODE
Initialize Modem if in External Loopback Mode
Clear Done Bit in CPA Status Word
Issue FULL DUPLEX LOOPBACK MODE TEST (Code is B8)
Wait for Done Bit in Status Word
Read Indication 0 and 1 for Errors
Compare Returned Data to Data which was given to the TBC
TRANSMITIER TEST
Issue SET MODE 3 Command to set SWAP, HLEN, PS3, and TCDS Bits if Needed
Prepare Access Class 6 TX Queue
Issue SET ONE WORD Command to Set High_Priority_Token_Hold Time if Different from
Value Set in Initialization Table
Issue SET FC BD, FD, and RX/TX Data Buffers if Needed
Issue SET INTERNAUEXTERNAL LOOPBACK MODE
Initialize Modem if in External Loopback Mode Needed
Issue START Command for Access Class 6
Clear Done Bit in CPA Status Word
Issue TRANSMITIER TEST (Code is B4 or B6)
Wait for Command Confirmation which Indicates Acceptance of the Test
Wait until Last Known TX Frame has been Confirmed or an Interrupt is Generated by the TBC
for TXQE
Issue the OFFLINE Command

MC68824 USER'S MANUAL

MOTOROLA
3-25

Check for CRC/Underrun Errors (Bit 1 of the command result area will be set if such errors
occurred.)
Check the FD Confirmation Word for each Transmitted Frame

II

RECEIVER TEST
Issue SET MODE 1 Command to set CACF and CUFC Mode Bits
Issue SET MODE 3 Command to set SWAP, HLEN, PS3, and RCDS Bits if Desired
Issue SET 1 WORD or 2 WORDS Command to Set Individual Address Mask to Zero (Copy all
Frames)
Issue SET 1 WORD or 2 WORDS Command to Set Group Address Mask to 'FFFF' (Copy all
Frames)
Issue SET PTP Command
Prepare Free FD and BD Pools
Issue SET 2 WORDS Commands to Initialize the Free FD and BD Pool Pointers as well as the
RX Queue Access Class 6 EOQ Pointer
Issue SET FC BD, FD, and RXITX Data Buffers if Needed
Issue SET INTERNAUEXTERNAL LOOPBACK MODE
Initialize Modem if Needed
Load CPA VALO with Pattern Word - MUST be Two Identical Bytes
Clear Done Bit in CPA Status Word
Issue RECEIVER TEST (Code is BO)
Wait for Command Confirmation which Indicates Acceptance of the Test
Wait until FD or BD Pool Empty (Bits 1 and 2 in Interrupt Status Word 0)
Issue the OFFLINE Command
Check for Received Frames' Status in the FD (Class 6)

NOTE
In order to check for command completion, the host must clear the done bit in CPA
status word before issuing a command to the TBC.
3.7 NOTIFY TBC
The two commands in this category are used to notify the TBC that a response frame is ready
when using the non-predefined RWR mechanism or to clear some interrupt status bits.
3.7.1 CLEAR INTERRUPT STATUS Command
This command is used to clear, that is negate, the interrupt request signal (IRQ) and specific status
bits in interrupt status words 0 and 1 which are located in the initialization table (see 2.2.11 Interrupt
Status Words). Before loading this command into the command register, the host must write the
mask for interrupt status word 0 into CPA VALO while the mask for interrupt status word 1 must
be loaded into CPA VAL 1. The mask consists of a '0' to leave the corresponding status bit unchanged and a '1' to cause it to be cleared. After the TBC has cleared the desired bits, if there
remains a set, unmasked status bit in one of the status words, interrupt request will be reasserted
even if it was negated by the previous CLEAR INTERRUPT STATUS command. Upon receiving
this command the TBC will immediately negate IRQ. The status bits in the initialization table will

MOTOROLA
3-26

MC68824 USER'S MANUAL

be cleared only when the TBC actually executes the command. A situation may arise in which
the CPU may get an interrupt without any status bits in the interrupt status words being set. This
scenario may occur if the host happens to be issuing a CLEAR INTERRUPT STATUS command
right after the TBC has updated one of the interrupt status words for a new event but before the
TBC generated an IRQ. If that situation occurs the host should issue the CLEAR INTERRUPT
STATUS COMMAND with a zero mask in CPA VALO and CPA VAL 1. Note that the TBC command
complete bit (TCC) residing in interrupt status word 0 is not set after completion of this command.
The coding of this command is 88 and its format is shown below:

1

I

0

I

o

0

I

o

1

I

0

I

II
0

3.7.2 RESPONSE READY Command
This command is used by the host to notify the TBC that a response frame is ready to be transmitted
following the reception of a request with response frame. The issuance of this command is an
indication to the TBC that the response pointer in the initialization table located at offset 88 is
valid. This command is only applicable when not in predefined response mode, see 4.5 RECEPTION
OF RWR FRAMES AND TRANSMISSION OF RESPONSE for a description of this mechanism.
The coding for this command is C5 and its format is shown below:

1

I

1

I

0

I

0

I

I

0

1

I

0

I

1

3.8 MODEM CONTROL
Two commands are provided to allow the TBC to communicate management services to the
physical layer of the network.

3.8.1 PHYSICAL Command
This command is used by the host processor to control the modem while in station management
and should only be given when the TBC is in the OFFLINE state. Status is returned to the last
word in the command parameter area (CPA RESULT) as shown following the command format.
The physical data request channel is fully described in 5.9.1 Physical Data Request Channel while
the physical data indication channel is described in 5.9.2 Physical Data Indication Channel. Note
that SMREQ equals zero is an indication that station management has been selected. This signal
is automatically asserted when the first physical command is issued by the host. SMREQ will stay
low until the END PHYSICAL command (see 3.8.2 END PHYSICAL Command) is issued by the
host to terminate station management. SMREQ is also referred as TXSYM3 in the 802.4G document.
The coding for the physical command is A1-A7 and its format is shown below:
2

o

MC68824 USER'S MANUAL

I

DATA

1

0

I TXSYM2 I TXSYMl

MOTOROLA

TXSYM2
1 TXSYM2 line to the modem is set to one while SMREO equals zero
o TXSYM2 line to the modem is set to zero while SMREO equals zero
TXSYM1
1 TXSYM1 line to the modem is set to one while SMREO equals zero
o TXSYM1 line to the modem is set to zero while SMREO equals zero

II

DATA
1 Perform data exchange with the modem
o No data exchange
Note that the PHYSICAL command should not be given with a code of AO as this commands the
modem to enter the idle state without a data transfer. This action would then cause the modem
to respond with idle whereas the TBC would be waiting for ACK or NACK. Only the TBC is permitted
to issue idle to the modem without a data transfer.
The status word format returned in CPA RESULT is shown below:

x

x

x

x

x

RXACK

RXNA

I COMCON

RXACK - RXSYM1 Acknowledgement
1 Acknowledgement received
o No acknowledgement received
RXNA - RXSYM2 Non-Acknowledgement
1 Non-acknowledged received
o No non-acknowledgement received
COMCON - Command Configuration
1 Command confirmed
o Command not confirmed

x - Don't Care
There are two main types of commands which can be issued by the host to the physical layer:
immediate and data transfer. Immediate commands do not involve data exchange with the modem
but rather provide a simple interface to allow the host to control the modem through the TBC.
Data transfer commands are designed for intelligent modems which need additional information
to be transferred between the host and the modem through the TBC.
3.S.1.1 IMMEDIATE COMMANDS. The immediate commands include reset, disable loopback,and
enable transmitter. Refer to 5.9. ;.4 TXSYM2, TXSYM1, AND TXYSMO IN STATION MANAGEMENT
MODE for a description of the encodings of these commands on the physical interface. The
following paragraphs describe the handshake between the TBC and the modem. The host loads
the command into the command register and the TBC passes the command to the modem by
encoding it on pins TXSYM1 and TXSYM2 while TXSYMO is set to one. Note that for immediate
commands, bit 2 (DATA) of the command register must be set to zero. Upon receiving this type
of command the TBC will go through the steps described below:
1. It is assumed that the TBC and the modem are in MAC mode or that a modem error just
occurred.

MOTOROLA
'l~,)O

MC68824 USER'S MANUAL

2. The TBC encodes the command found in CR on TXSYM1 and TXSYM2 with TXSYMO= 1
and SMREO equal to zero.
3. The TBC waits indefinitely for ACK or NACK coding on RXSYM1 and RXSYM2 as well as
SMIND=O from the modem.
NOTES
The modem is free to go to idle before transitioning to this state. If the modem does
not respond after a reasonable length of time, a software or hardware RESET must be
issued to the TBC.
4. The TBC samples the ACKINACK signals (RXSYM1 and RXSYM2) and issues idle to the
modem (TXSYM2=0, TXSYM1 =0, while TXSYMO=1, and SMREO=O).
5. The TBC waits for the modem to respond with idle (RXSYM2=0, RXSYM1 =0, while
SMIND=O).
NOTE
If the modem does not respond after a reasonable length of time, a software or hardware
RESET must be issued to the TBC.
6. The TBC updates the CPA result with the ACKINACK and command done bits.
7. At this point, the TBC is in SM idle mode with TXSYM2=0, TXSYM1 =0, TXSYMO= 1, and
SMREO=O. The modem is in the idle state with RXSYM2=0, RXSYM1 =0, and SMIND=O.
S. The TBC is ready to accept another command.

3.8.1.2 DATA TRANSFER COMMANDS. Data transfer commands are designed for intelligent modems which need more information. The serial station management data interface provides a
sophisticated way for the host to communicate with the modem through the TBC. Upon receiving
this type of command the TBC will go through the steps described below:
1. It is assumed that the TBC and the modem are in MAC mode or that a modem error just
occurred.
2. The TBC issues the data transfer command found in CR with TXSYMO=1 and SMREO=O
to the mO,dem.
3. The TBC waits indefinitely for the modem to assert SMIND = O.
NOTE
If the modem does not respond after a reasonable length of time, a software or hardware
RESET must be issued to the TBC.
4. The TBC samples RXSYM 1 and RXSYM2 for ACKINACK from now to the end of the received
data stream.
5. The TBC outputs the bit stream taken from CPA VALO (16 bits from 0 to 15) on TXSYMO.
The data word in CPA VALO must include the start bit as shown to conform to S02.4G:
CPA VALO:

D

C

B

A

4

Data
Start Bit

NOTE
The programmer does not have to furnish the stop bit.
To conform to S02.4G only one data byte may be sent at a time. If more than one data
byte needs to be sent, then more data commands must be given.

MC68824 USER'S MANUAL

MOTOROLA
,)_,)0

II

6. The TBC waits indefinitely for the modem to assert the start bit i.e., RXSYMO = O.
NOTE
Ifthe modem does not respond after a reasonable length oftime, a software or hardware
RESET must be issued to the TBC.
.

II

7. The TBC waits 16 clock cycles to sample the 16 bits after the start bit from RXSYMO.
S. The TBC asserts TXSYMO = 1, TXSYM 1 = 0, TXSYM2 = 0 with SMREQ = 0, thus issuing idle.
9. The TBC waits for the modem to respond with idle: RXSYM1 =0, RXSYM2=0, while
SMIND=O.
10. The TBC then copies the received word into CPA RET O. Bits 0 through 7 contain the data
returned by the modem while bits S through F contain all ones if the S02.4G interface was
used.
11. The TBC updates the CPA result with the ACKINACK and command done bits.
12. At this point, the TBC is in SM idle mode with TXSYM2=0, TXSYM1 =0, TXSYMO= 1, and
SMREQ=O. The modem is in the idle state with RXSYM2=0, RXSYM1 =0, and SMIND=O.
13. The TBC is ready to accept another command.

3.S.2 END PHYSICAL Command
This command causes the TBC to exit from station management mode. Upon receiving the
command, the TBC sets SMREQ=1, and waits for the modem to set SMIND=1 before setting
the command done bit (bit 0 of CPA RESULT). The coding for this command is AS and its format
is:

o

I

0

3.9 ILLEGAL COMMAND

Commands with bits 5, 6, and 7 set to zero are ILLEGAL commands to the TBC. A command with
this format will have no affect on the TBC and the command complete bit in the status word will
not be set. The format of an ILLEGAL command is shown below. The semaphore register will
contain 'FE' until the next command is passed by the host processor to the TBC.

I

x-

o

I

x

x

I

x

1

0

x

I x

Don't Care

MOTOROLA
3-30

0

MC68824 USER'S MANUAL

SECTION 4
BUFFER STRUCTURES
The TBC communicates with the host processor primarily through shared memory. This shared
memory is divided into the initialization table and buffer structures. The fully linked buffer structures include frame descriptors (FD), buffer descriptors (BD), and data buffers (DB). One frame
descriptor is required per received or transmitted frame. Each frame descriptor contains information pertaining both to the frame sent or received plus a pointer to the next FD as well as a
pointer to its first BD. Buffer descriptors contain the pointer to a data buffer as well as that buffer's
attributes, and a pointer to the next buffer descriptor in the frame if used. The data buffers are
used to store message data, and there is one data buffer associated with each buffer descriptor.
Figure 4-1 illustrates the linked buffer structure.
To fully support the IEEE 802.4 message priorities, the TBC provides four transmit queues and
four receive queues. Before transmission of a message, the host processor creates frame descriptors, buffer descriptors, and data buffers for that message and then links the frame descriptor
to the appropriate transmit queue. Transmission queues may be enabled or disabled using the
SET ONE WORD command. The TBC confirms transmission of the frames in each frame descriptor
as they are sent out. During reception, the TBC reverses the process to use frame descriptors and
buffer descriptors from the pre-linked free frame descriptors pool and free buffer descriptors pool
as frames are received, assigning these frames to the proper reception queue. Receive queues
may not be disabled. The free frame descriptor and buffer descriptor pool pointers, which are
located in the private area, must be valid at initialization time and may be changed thereafter
using the SET TWO WORDS command while the TBC is OFFLINE. Finally, the host processor
removes the frame data from these reception queues as programmed. Figure 4-2 illustrates the
linking between the queues, FDs, BDs, and DBs. Refer to 4.2 TRANSMISSION OF A FRAME and
4.3 RECEPTION OF FRAMES for detailed descriptions of the tranmission and reception mechanisms.

FRAME DESCRIPTOR
CONFIRMATION/INDICATION WORD
RECEIVE STATUS WORD
CONTROL FOR NEXT FD POINTER
POINTER TO NEXT FD
POINTER TO FIRST BD
FRAME DATA LENGTH
IMMEDIATE RESPONSE FD POINTER
FRAME CONTROL
MAC DESTINATION ADDRESS
MAC SOURCE ADDRESS

DATA BUFFER

DATA

< 32K BYTES

BUFFER DESCRIPTOR

DATA BUFFER POINTER
BD CONTROL AND OFFSET
BUFFER LENGTH
RECEIVE INDICATION WORD
POINTER TO NEXT BD

Figure 4-1. Linked Buffer Structures

MC68824 USER'S MANUAL

MOTOROLA
.1_1

4

PRIVATE AREA

TX
TX
TX
TX

HOO ACCESS
HOO ACCESS
HOO ACCESS
HOO ACCESS

CLASS 6
CLASS 4
CLASS 2
CLASS a

RX
RX
RX
RX

EOO ACCESS
EOO ACCESS
EOO ACCESS
EOO ACCESS

CLASS 6
CLASS 4
CLASS 2
CLASS a

II
Figure 4-2. TBC Queues

The buffer management structure is powerful and very flexible. The host processor has to maintain
only the free frame descriptor pool and free buffer descriptor pool for receive messages since
the TBC can dynamicaily allocate buffers to the appropriate queue from the free pool. The TBC
data buffer structure easily interfaces to upper layer software. An offset in the data buffer descriptor
indicates how far from the beginning of the data buffer actual data begins. This offset is useful
for building data frames as they are passed down through the seven layers ofthe ISO/OSI structure.
Address and control information can then be appended to and removed from the front of each
frame as it passes through the software layers during transmission and reception respectively.
The TBC can access the first data buffer on an odd byte boundary while transmitting, further
removing restrictions on building frames.

4.1 BUFFER STRUCTURES

The following paragraphs present in detail the TBC's buffer structures which consist of frame
descriptors, buffer descriptors, and data buffers as shown in Figure 4-1.

4.1.1 Frame Descriptors

Frame descriptors (FD) contain MAC frame parameters, frame status, and pointers. Frame descriptors are used for both transmission (TX) and reception (RX) of message frames. The formats
of the frame descriptors for a 48-bit MAC address and for a 16-bit MAC address are shown in
Figure 4-3. Note that a frame descriptor must start at an even address.

MOTOROLA

4-'

MC68824 USER'S MANUAL

DISPLACEMENT
(IN BYTES)

DESCRIPTION OF FIELD

a
2
4
6
8
A
C
E
10
12
14
16
18
lA
lB

CONFIRMATION/INDICATION WORD
RECEIVE STATUS WORD
CONTROL FOR NEXT FD POINTER
NEXT FD POINTER - HIGH
NEXT FD POINTER - LOW
RESERVED
FIRST BD POINTER - HIGH
FIRST BD POINTER - LOW
FRAME DATA LENGTH
RESERVED
RESERVED
IR FRAME DESCIRPTOR POINTER - HIGH
IR FRAME DESCRIPTOR POINTER - LOW
RESERVED
FRAME CONTROL - BYTE

lC
10
IE
IF
20
22

MAC DESTINATION ADDRESS - LEAST SIGNIFICANT BYTE
MAC DESTINATION ADDRESS - MOST SIGNIFICANT BYTE
MAC SOURCE ADDRESS - LEAST SIGNIFICANT BYTE
MAC SOURCE ADDRESS - MOST SIGNIFICANT BYTE
RESERVED
RESERVED

lC
10
IE
IF
20
21
22
23
24
25
26
27
28

MAC DESTINATION ADDRESS MAC DESTINATION ADDRESS MAC DESTINATION ADDRESS MAC DESTINATION ADDRESS MAC DESTINATION ADDRESS MAC DESTINATION ADDRESS MAC SOURCE ADDRESS - BYTE
MAC SOURCE ADDRESS - BYTE
MAC SOURCE ADDRESS - BYTE
MAC SOURCE ADDRESS - BYTE
MAC SOURCE ADDRESS - BYTE
MAC SOURCE ADDRESS - BYTE
RESERVED
RESERVED

II

IF ALEN = aTHEN THE ADDRESS LENGTH IS 2 BYTES

IF ALEN = 1 THEN THE ADDRESS LENGTH IS 6 BYTES

2A

BYTE
BYTE
BYTE
BYTE
BYTE
BYTE

a

IEEE LSB

1
2
3
4
5

a
1
2
3
4
5

IEEE LSB

Figure 4-3. Frame Descriptor Format
4.1.1.1 FD CONFIRMATION/INDICATION WORD FORMAT. The first word of the frame descriptor
contains the frame descriptor confirmation/indication word. This word holds status information
of the frame and the queue. The frame descriptor confirmation word must be cleared by the host
before being placed into the free frame descriptor pool or the transmit queue. This word is used
in both transmission and reception queues and is updated by the TBC.
The format of this word for a TRANSMISSION queue is shown below:
FED

C

B

A

9

8

7

6

a

543

I CFD I N/P I EMP I FTL I RES I UR I NR I UF I RT7 I RT6 I RT5 I RT4 I RT3 I AT2

ATI

RTO

CFD -

Confirm Frame Descriptor
Frame has not yet been processed (remaining indication bits are meaningless in this word)
1 TBC completed processing of this frame

o

MC68824 USER'S MANUAL

MOTOROLA

NIP - NegativelPositive

o

Positive confirmation
1 Negative confirmation

EMP - Empty Transmit Queue
o If CFD = 1 and NPV = 1 in the next FD control word then the TBC sets this queue to not
empty
1 If NPV = 0 in the next FD control word then the TBC sets this queue to empty
FTL -

Frame Too Long
No meaning
1 The frame is too long. The actual data length is greater than the frame data length from
the FD which is set by the host. The TBC transmitted the data contained in the first data
buffer or the frame data length set by the host, whichever is the shortest, followed by an
abort sequence.

o

II

RES UR -

NR -

UF -

Reserved

Underrun
No underrun occurred
1 Underrun occurred

o

No Response
No meaning
1 If NIP = 1 then no response was received to an RWR frame. If NIP = 0 then response was
received on one of the following retries.

o

Unexpected Frame
No meaning
1 Unexpected frame received during RWR

o

RD-RTO - Number of Tries
Number of tries, except if the MAX RETRY LIMIT was reached then it is the number of retries.
Refer to 4.4 REQUEST WITH RESPONSE (RWR) TRANSMISSION and 4.5 RECEPTION OF RWR
FRAMES AND TRANSMISSION OF RESPONSE for further details.
When used in a RECEIVE queue, the frame descriptor confirmationlindication word has the following format and is updated by the TBC:
FED

I NRV I

*

I

*

C

I

8

A

*

*Don't Care

NRV -

o

Next Receive Pointer Valid
The pointer to the next FD in this receive queue is not valid so this is the last frame in
this receive queue.
The pointer to the next FD in this receive queue is valid.

MOTOROLA
lLA

MC68824 USER'S MANUAL

4.1.1.2 RECEIVE STATUS WORD. The receive status word is updated by the TBC in the receive
case. The host must clear this word in the frame descriptor before placing the frame descriptor
into the free frame descriptor pool. A one in the corresponding bit of the receive status error
mask located in the private area will cause the frame to be accepted according to the following
criteria:
• If a CRC error occurred the frame is stored in its entirety. The frame data length (offset 10 in
FD) reflects the actual data length including the CRC length if the RCDS (RX CRC to data
storage mode) is enabled.
• If an E bit error was detected, the frame is stored in its entirety and the frame data length is
updated to reflect the number of bytes the TBC heard.
• If a FIFO overflow occurred (i.e., overrun error), the data is copied to the data buffer(s) up to
the point where the overrun error occurred. The frame data length reflects the number of
bytes copied to the data buffer(s).
• If noise was detected, the data is copied to the data buffer(s) up to the point where the noise
occurred. The frame data length reflects the number of bytes copied to the data buffer(s).
• If a frame >8K was detected, the data is copied to the data buffer(s) in its entirety. The frame
data length reflects the number of bytes copied to the data buffer(s).
• If not enough buffers are available in the free buffer pool, the TBC receives the frame's header
information as long as free FDs are available. The correct frame length is stored in the FD.

o

c

B

A

*Reserved

CRCE
EBIT
FOVF
NOISE
FTL
NOBUF

-

CRC error occurred in the frame received
The E bit in the end delimiter is set
FIFO overflow
Noise
Frame too long (the received frame is longer than 8K bytes)
Not enough buffers in buffer pool

4.1.1.3 CONTROL FOR NEXT FRAME DESCRIPTOR POINTER. This word is updated by the host
and its format is shown below:
FED

I NPV IW_FD I

*

C

I

*

B

I

*

A

I

*

*

I

*

*Reserved

NPV - Next Pointer Valid
Valid in TX and RX Cases
o This is the last valid FD in this queue. The TBC will set the FD pool empty bit in
interrupt status word 0 upon using this FD for receiving.
The next FD in this queue is valid.
W-FD - Warning Frame Descriptor Pool Low
Valid in free pool case. This bit should be used only while in a free frame descriptor pool.
o During transmission, the W-FD bit must be set to zero. Note that in the last FD the
free pool (NPV = 0) W-FD must be a zero.
FD pool is almost empty, the FD pool low bit in the interrupt status word 0 will be
set upon the TBC's detection of this condition.

MC68824 USER'S MANUAL

MOTOROLA
JLk

II

4.1.1.4 NEXT FRAME DESCRIPTOR POINTER. This 32-bit address points to the next frame descriptor in the queue. This pointer must be initialized by the host if the next FD is valid in both
the transmit and free pool cases.

4.1.1.5 FIRST BUFFER DESCRIPTOR POINTER. This 32-bit address is used by the TBC to address
the first buffer descriptor. When in a transmit queue, this pointer must be initialized by the host.
If this FD resides in the free frame descriptor pool, the TBC will update this pointer as it gets a
BD from the free buffer descriptor pool upon receiving a frame.

II

4.1.1.6 FRAME DATA LENGTH. During transmit, frame data length is updated by the host; during
receive, it is updated by the TBC. Normally, the frame data length is the length of the data unit
of the frame. The only exception is if RCDS (RX CRC to data storage mode) is enabled, in that
case the CRC is included in frame data length.

4.1.1.7 IMMEDIATE RESPONSE FRAME DESCRIPTOR POINTER. This word contains the 32-bit
address of the immediate response frame descriptor. This pointer is updated by the TBC. This is
used after a station has transmitted a request with response frame and receives a valid response.
Then the IR frame descriptor pointer of the RWR frame points to the frame descriptor of the
response, thus linking the RWR frame with its response.

4.1.1.8 FRAME CONTROL. The frame control field determines the category of frame that is being
sent or received. In the transmit case, the host is responsible for updating this field, while in the
receive case the TBC is. Three frame categories are currently defined by IEEE 802.4: MAC control
and LLC data. Note that the host is forbidden from setting this byte to a MAC control value in the
TX case. See APPENDIX B FRAME FORMATS AND ADDRESSING for more details.

4.1.1.9 MAC DESTINATION ADDRESS. The MAC destination address can be either two or six
bytes. The address length is determined by the host at initialization time by setting appropriately
the address length bit which resides in the initialization table at offset 7A. This address is updated
by the host in the transmit case, while in the receive case the TBC is responsible for doing so.
Note that this address is stored following the IEEE convention, see APPENDIX B FRAME FORMATS
AND ADDRESSING for more details.

4.1.1.10 MAC SOURCE ADDRESS. The MAC source address can be either two or six bytes in
length. The address length is determined by the host at initialization time by setting appropriately
the address length bit which resides in the initialization table at offset 7A. This address is updated
by the host in the transmit case, while in the receive case the TBC is responsible for doing so.
Note that this address is stored following the IEEE convention, see APPENDIX B FRAME FORMATS
AND ADDRESSING for more details.

4.1.2 Buffer Descriptors
Buffer descriptors (BD) contain buffer parameters, buffer status, and pointers. Buffer descriptors
are chained together linking data buffers which contain frame data. The format of a buffer descriptor is shown in Figure 4-4. Note that a buffer descriptor must start at an even address.

MOTOROLA
4-6

MC68824 USER'S MANUAL

DISPLACEMENT
(IN BYTES)

DESCRIPTION OF FIELD
RESERVED
DATA BUFFER POINTER - HIGH
DATA BUFFER POINTER -LOW
BD CONTROL AND OFFSET
BUFFER LENGTH
RECEIVE INDICATION WORD
RESERVED
NEXT BUFFER DESCRIPTOR POINTER - HIGH
NEXT BUFFER DESCRIPTOR POINTER - LOW

0
2
4
6
8
OA
OC
OE
10

Figure 4-4. Buffer Descriptor Format

4.1.2.1 DATA BUFFER POINTER. These two words contain the 32·bit pointer to the data buffer.
The data buffer pointer links the buffer descriptor to its associated data buffer. Each buffer descriptor has only one associated data buffer. The buffer descriptor points to its associated data
buffer whether the buffer descriptor is being used for a TX frame, an RX frame, or is still in the
free buffer descriptor pool. This pointer must be initialized by the host.

4.1.2.2 BUFFER DESCRIPTOR CONTROL AND OFFSET. This word contains the control and offset
information for a buffer descriptor and must be initialized by the host. The offset is useful for
appending upper layer software information to the data buffer. The offset tells the TBC how far
from the beginning of the data buffer actual data begins. This is useful for passing data through
the ISO layers. As the message is passed down through the software layers, address and control
information may be appended to the front of the data and the offset may be changed for the next
ISO layer so that the data does not have to be rewritten. Note that bit F of this word has a different
meaning for the TX queue and the free buffer descriptor pool.

o

C

B

A

2

i i i i i i i i i i i i i i i
LABD

OF14

OF13

OF12

OFll

OF10

OF9

OF8

OF7

OF6

OF54

OF4

OF3

OF2

OFI

OFO

LABD -

Last Buffer Descriptor, Transmit Queue Case (TBC will use last BD)
This BD is not the last one (next buffer descriptor pointer is valid)
1 This is the last linked buffer in this frame

o

LABD -

o

Last Buffer Descriptor, Free BD Pool Case (TBC will not use last BD while receiving)
This buffer descriptor is not the last one
This is the last linked buffer in the pool queue and this buffer descriptor is not valid. The
TBC will set the BD pool empty bit in interrupt status word 0 upon detection of this
condition.

OF14·0FO - Offset Length in Bytes from the Head of the Buffer where Actual Data Begins
In free BD pool case, buffer pointer plus offset must be even. In transmit queue case, if this
is the first BD of the frame then buffer pointer plus offset may be even or odd. In transmit
queue case, if this is NOT the first BD of the frame then buffer pointer plus offset must be
even. Also in transmit queue case, if a frame has to be divided into two or more buffer
descriptors and the first data buffer only holds one byte of data then the BD pointer plus
offset must be even.

MC68824 USER'S MANUAL

MOTOROLA
11.7

II

4.1.2.3 BUFFER LENGTH. This word must be initialized by the host in all cases.
FED

C

B

A

9

8

7

6

5

432

IW_BD I BL14 I BL13 I BL12 I BL11 I BL10 I BL9 I BL8 I BL7 I BL6 I BL5 I BL4 I Bl3 I Bl2 I BL1

BLO

W-BD - Warning for Buffer Descriptor Pool
o In the free pool case indicates no warning. In the transmit case this bit must be zero.
1 In the free pool case, indicates the free BD pool is low. The BD pool low bit in interrupt
status word 0 will be set upon the TBC's detection of this warning.

II

BL 14-BLO - Buffer Length
In both the free pool and transmit cases, this value represents the number of data bytes in
the data buffer associated with this BD.

4.1.2.4 RECEIVE INDICATION WORD. This word is updated by the TBC and only has meaning in
the receive case. The host must clear this indication word before adding this BD to the free BD
pool.
FED

C

B

A

6

9

I RLBD I 0L14 I, 0L13 I 0L12 I 0L11 I 0L10 I OL9 I OL8

OL7

5

432

I OL6 I OL5 I OL4 I Ol3 I OL2 I OL1

OLD

RLBD - Receive Last Buffer Descriptor
o Not the last linked buffer in this receive frame
1 This is the last linked buffer in this receive frame
OL 14-0LO - Offset Length
Number of unused data bytes in this buffer

4.1.2.5 NEXT BUFFER DESCRIPTOR POINTER. This 32-bit address points to the next buffer descriptor in the queue. This pointer must be initialized by the host if the next BD is valid in both
the transmit and free pool cases.

4.1.3 Data Buffers
A data buffer is a continuous block of memory reserved for message data. Different buffers do
not need to be contiguous. Data buffer size can vary from zero bytes to 32K -1, bytes. Buffers
are concatenated via buffer descriptors for messages requiring multiple data buffers. The maximum message length which the TBC will store in data buffers is 64K bytes provided the RX status
error mask located in the private area is set to accept such frames. However, since the IEEE 802.4
maximum specified message length is 8K bytes as supported by the TBC's ACM, noise will be
reported in the interrupt status words along with storing of such frames. There is no equivalent
error conditions reported when transmitting a frame of length greater than 8K.

4.2 TRANSMISSION OF A FRAME
The following paragraphs present the actions required from the host to transmit a frame, and the
feedback from the TBC upon completion of frame transmission.

MOTOROLA
4-8

MC68824 USER'S MANUAL

4.2.1 Initialization Performed by Host
In order to transmit a frame, the host must prepare the frame descriptors and buffer descriptors
as required for the frame. The following data structures must be initialized by the host:
1. A frame descriptor must be created for each frame as shown below:
• Zero the confirmation/indication word (offset 0)
• Zero the receive status word (offset 2)
• Initialize the control word for next FD pointer (offset 4) with NPV (next pointer valid
bit) set to one or zero depending on whether or not another frame has to be transmitted.
Also, W-FD (warning FD pool low bit) must be set to zero.
• Initialize the next frame descriptor pointer (offset 6) if another frame has to be transmitted, i.e., NPV= 1.
• Initialize the pointer for the first buffer descriptor (offset C)
• Update the frame data length (offset 10) per the actual frame length to be transmitted.
Note that the TBC does not check for this value to be <8K bytes. The TBC can transmit
frames up to 32K -1 bytes.
• Update the frame control (offset 1B). Note that the TBC does not check for the validity
of this value.
• Initialize the MAC destination and source address. Note that the TBC does not check
for the validity of these values.
2. Buffer descriptor(s) must be created, the host has to decide how many are required for each
frame:
• Initialize the data buffer pointer (offset 2).
• Set LABD (last buffer descriptor bit), located in the control and offset word (offset 6), to
one or zero depending on whether or not this is the last linked buffer for this frame.
Also, the offset in bytes from the head of the data buffer to where actual data begins
must be entered.
• Load the data buffer length (offset 8) in bytes in bits 0 through 14. Bit 15 which is the
warning for buffer descriptor pool low must be set to zero.
• Initialize the next buffer descriptor pointer (offset OE) if the next BD is valid.
3. The data must be loaded in data buffer(s) as necessary. Note, that only one data buffer may
be associated with a buffer descriptor.
4.2.2 Management of Transmission Queues
The TBC gets frames for transmission from four queues, one for each priority class. The following
is a description of the possible queue conditions.
EMPTY QUEUE
A transmission queue which the host is certain is empty, that is the queue is either uninitialized
or the last frame was confirmed. A queue is not empty if for all FDs in the queue, either CFD
is zero or CFD is one and NPV is one.
ACTIVE QUEUE
A transmission queue for which the host is certain that the TBC did not read the control word
of its last frame's FD. That is, no confirmation was given by the TBC in the frame preceding
the final frame in the queue.

MC68824 USER'S MANUAL

MOTOROLA

II

NOT SURE QUEUE
A transmission queue for which the host cannot determine which of the two previous categories the queue belongs to. This occurs when confirmation was given to the frame preceding the final frame, but not the last frame in the queue, so the user is not sure whether
the last frame in the queue will be determined to be empty before the next frame is linked
onto it.
4.2.3

II

Examples of TBC Transmission Queues

NPV - Next Pointer Valid
This bit resides in the control word for the next FD.
a Next pointer is not valid
1 Next pointer is valid
The NPV bit is set and cleared by the host.
CFD - Confirm Frame Descriptor
This bit resides in the confirmation/indication word of the FD
a TBC did not complete this frame's transmission
1 TBC completed this frame's transmission
EMP- Empty
This bit resides in the confirmation/indication word of the FD
a This queue is not empty
1 This queue is empty
EMP reflects the value of NPV as read by the TBC. EMP is not valid if CFD = a because the host
clears it when preparing the frame.
The CFD and EMP bits are set and cleared by the TBC in a single memory access after sampling
NPV.
Figure 4-5 is an illustration of each of the status of queues as designated in 4.2.2 Management
of Transmission Queues. Each block represents a frame and the arrows indicate the order of
transmission.
ACTIVE QUEUE
NPV = 1
cm =1
EMP = 0

NPV = 1
cm =0
EMP =X

NPV = 1
cm =0
EMP =X

NPV = 0
cm =0
EMP =X

NPV =1
cm =1
EMP =0

NPV = 1
cm:= 1
EMP:= 0

NPV = 0
CFD =1
EMp:= 1

NPV =1
CFD =1
EMP =0

NPV:= 1
cm:= 1
EMP:= 0

NPV:= 0
cm = 0
EMp:= X

EMPTY QUEUE
NPV:= 1
cm:= 1
EMP:= 0

'NOT SURE' QUEUE
NPV =1
CFD =1
EMP =0

Figure 4-5. Examples of Queues Status

MOTOROLA
.II 1n

MC68824 USER'S MANUAL

4.2.4 Adding a Frame to a Transmission Queue
To cause the TBC to transmit a frame, four cases have to be examined.
In the first case, let's assume that no frames have been previously sent; i.e., the host is ready to
send the first frame after initialization. The head of queue pointer for the desired TX access class
which resides in the private area must be initialized to point to the first frame descriptor and the
queue's status must be updated. This initialization is accomplished using the START command
(see 3.4.3 START Command). The START command must be issued to start transmission for each
queue.
In the second case, frames could have been previously sent by the TBC but the last frame has
already been confirmed by the TBC. In this case, as in the previous case, this amounts to adding
a frame to an empty queue (see Figure 4-5); therefore, the START command must be issued.
In the third case, the queue to which the frame belongs is active; that is, the next to last frame
has not been confirmed. This is equivalent to adding a frame to an active queue as shown in
Figure 4-5. To cause the TBC to transmit the newly added frame, the host has to update the
pointer to the new frame in the next FD pointer field and set the NPV bit in the last FD of this
active queue.
Finally, in the fourth case a frame could be added to a 'not sure' queue. This is accomplished by
adding a frame as if to an active queue as above, then waiting for the CFD bit on the previous
FD to be updated. The EMP bit is then checked to see if the queue was an active queue or an
empty queue. If it was active, then nothing more needs to be done. If it was empty, then a START
command must be issued to the TBC as in adding a frame to an empty queue. A 'not sure' queue
that turns out to be an empty queue can be detected if there is a confirmed frame with the EMP
bit in the confirmation word set and the NPV bit in the control word also set. This event can be
detected by an interrupt routine which could be run upon servicing a TBC interrupt triggered by
the perceived end of the queue (TXQE, bit 3 of interrupt status word 0).
The host should keep two pointers for each transmit access class queue: one for the head of the
queue where the host checks for TBC confirmation of sending frames, and one to the end of the
queue where the host links new frames. The TBC, on the other hand, keeps one pointer to the
head of each transmission queue located in the private area so it knows where to start transmitting
from.
4.2.5 TBC'S Actions Upon Transmission
Upon completion of frame transmission, the TBC will update the confirmation word located in
the FD as follows:
• The CFD bit is set.
• The NIP bit is set if the transmission failed and cleared if the transmission succeeded.
• The EMP bit is set if this was the last frame in this transmit queue.
• If the actual frame length, calculated from the sum of the data in the frame's data buffers, is
greater than the frame length (offset 10 in FD), then the negative confirmation bit will be set
along with the FTL bit.
• The UR bit (underrun) wiil be set if the TBC attempted to transmit from an empty FIFO. The
underrun bit in interrupt status 0 will also be set and an interrupt will be generated if enabled.
The frame will be retransmitted if the non-RWR max retry limit parameter located in the
private area has not been exceeded. The non-RWR max retry limit is not an IEEE 802.4
parameter, its maximum value is 255 and a retry will be performed only if an underrun has
occurred.

MC68824 USER'S MANUAL

MOTOROLA

II

Lastly, the TBC will set the TXDF bit in interrupt status word 0 (transmitted data frame), and
generate an interrupt if enabled.
Once the host has checked that the frame has been processed (the CFD bit is set), it clears the
confirmation indication word and either links this FD to the end of the free frame descriptors pool,
uses it in the next transmit frame, or frees up memory space.

4.3 RECEPTION OF FRAMES

II

Every frame detected on the token bus medium has its destination address field checked by each
station to see if that station should receive it. The following paragraphs describe the setting up
which is required by the host to allow the TBC to store a frame, as well as the mechanism used
by the TBC to do so.

4.3.1 Initialization Performed by Host
In order to allow the TBC to store the received frames, the host must set up free frame descriptor
and buffer descriptor pools as shown in the example of Figure 4-6.
To enable the TBC to store incoming frames, the host must prepare the following data structures:
1. The free frame descriptor pool pointer located in the private area must be updated at initialization time or through the SET TWO WORDS command. This pointer must point to a
valid free FD. Refilling of the FD pool is accomplished by writing the pointer to a new FD in
the last FD.

FREE FRAME
DESCRIPTOR
POOL

PRIVATE AREA
FREE FRAME DESCRIPTOR
POOL POINTER

FREE BUFFER DESCRIPTOR
POOL POINTER

FREE BUFFER
DESCRIPTOR POOL

Figure 4-6. Free Frame Descriptor and Buffer Descriptor Pools

MOTOROLA

MC68824 USER'S MANUAL

2. Each
•
•
•

FD in the free pool must be initialized as follows:
Zero the confirmation/indication word (offset 0).
Zero the receive status word (offset 2).
Initialize the control word for next FD pointer (offset 4) with NPV (next pointer valid
bit) set to one or to zero depending on whether or not this is the last valid FD. Also,
W-FD (warning FD pool low bit) may be set to one or zero to enable the host to be
notified when the FD pool is low whenever applicable. W-FD must not be set in the
last FD.
• Initialize the next frame descriptor pointer (offset 6) if the next FD is valid; i.e., NPV = 1.

3. The free buffer descriptor pool pointer located in the private area must be updated at initialization time or through the SET TWO WORDS command. This pointer must point to a
valid free BD. Refilling of the BD pool is accomplished by writing the pointer to a new BO
in the last BD.
4. Each BD in the free pool must be initialized as follows:
• Initialize the data buffer pointer (offset 2).
• Set LABD (last buffer descriptor bit) to one or zero in the control and offset word (offset
6), depending on whether or not this is the last buffer available in the free pool. The
TBC will not use the last buffer. Also, the offset in bytes from the head of the data
buffer to where actual data should be stored must be initialized.
• Load the data buffer length (offset 8) in bytes in bits 0 through 14. Bit 15 (W-BD) may
be set to one to indicate that the free BD pool is low. W-BD must never be set to one
in the last BD.
• Clear the receive indication word (offset OA)
• Initialize the next buffer descriptor pointer (offset OE) if the next BD is valid, i.e., LABD = O.
5. Memory space must be reserved for the data buffers pointed to by the BD's.

4.3.2 Reception Queues and Free Pools
Four queues are maintained for received frames - one for each priority class. Note that these
queues may not be disabled by the host. At initialization time, the host must set the RX EOO
pointer for each access class. These pointers may be modified thereafter by using the SET TWO
WORDS command. The TBC will update these pointers upon completion of frame reception.
The host is responsible for creating and adding frame descriptors to the free pool. When the last
FD in the free pool has been used by the TBC (i.e., it has been linked to the appropriate receive
queue), the TBC keeps an internal pointer to this FD as its link to the free pool. Therefore, the
host must not remove the last FD from a receive queue. The host can add new FDs to the free
FD pool by writing the pointer to a new FD in the last FD in the pool and setting its NPV bit. The
TBC polls this last NPV bit on every received frame to see if the host has added FOs to an empty
pool.
The host is also responsible for creating and adding buffer descriptors to the free BD pool. The
TBC will not use the last buffer descriptor in the free pool. To add buffer descriptors to the pool,
the host writes the pointer to the BD of the new buffer in the last buffers BD, and clears its LABO
bit. The TBC polls this LABO bit on every received frame to see if the host has added buffers to
an empty BD pool.
Refer to Figure 4-7 for an illustration of the initialization of data structures by the host needed to
receive frames. This example only shows the linking for one access class because the mechanism

MC68824 USER'S MANUAL

MOTOROLA
4-13

II

PRIVATE AREA

RX EOO ACCESS CLASS 6

FREE Fa POOL POINTER

FREE SO POOL POINTER

II
Figure 4-7. Initalization of a Reception Queue

for the other access classes is the same. Each receive queue must consist of at least one dummy
FO (FD1). The dummy FO is used to start the linking procedure and contains the pointer to the
next FO when there is one as shown in Figure 4-8. Therefore, the host must not remove the last
FO, which serves as the dummy FD, from the queue. In Figure 4-8, the TBC has received one
frame and has stored it using F02 and two BOs (B02 and B03).

4.3.3 TBe's Actions Upon Reception
As the TBC accepts frames addressed to it, it takes frame descriptors and buffer descriptors from
the beginning of the free frame descriptor and free buffer descriptor pools.

PRIVATE AREA

RX EOO ACCESS CLASS 6

FREE Fa POOL POINTER

FREE SO POOL POINTER

Figure 4-8. Reception Queue After Receiving One Frame

MOTOROLA
4-14

MC68824 USER'S MANUAL

Upon frame reception, the TBC will perform the following steps:
1. For each FD which is pulled off the free pool the TBC will:
• Update the indication word (offset 0) bit 15 (NRV). If this is the last frame in this RX
queue, then NRV = a else NRV = 1.
• Update the receive status word (offset 2) to reflect possible errors found while receiving
this frame. The TBC will accept the frame in which errors were found according to the
RX status error mask located in the private area (see 2.1.14 RX Frame Status Error
Mask).
• Check the control word for next FD pointer (offset 4). If the NPV bit is cleared, the TBC
will set the FDPE bit in interrupt status word 0, and this FD will be used by the TBC.
Also, the W-FD bit will be checked and the FDPL bit in interrupt status word 0 will be
set if required.
• Update the first BD pointer (offset C) as it fetches a BD from the free pool if the first
BD fetched has LABD = O.
• Load the frame data length (offset 10).
• Load the frame control (offset 1B), the destination and source address.
2. For each BD which is fetched from the free pool the TBC will:
• Check bit 15 of the BD control and offset word (offset 6). If LABD = 1, then the TBC will
NOT use this last BD. The buffer descriptor pool empty bit in interrupt status word a
will be set. If the RX status error mask permits it, the TBC will receive the frame's header
information (Le., the information stored in the FD) provided a free FD is still avai!able.
• Check bit 15 of the buffer length (offset 8). If W-BD = 1, then the TBC will set the BD
pool low bit in interrupt status word O.
,
• Update the receive indication word (offset A) to inform the host if this is the last BD
for this frame and the number of unused data bytes in this buffer.
3. The TBC will load the data from the frame into the data buffer(s) associated to the BD(s)
which was (were) pulled from the free pool.
4. The TBC will check the private area to find the last FD residing in the appropriate receive
queue. It will change this last FD's next receive valid (NRV) bit to a one indicating that there
is at least one more FD in the queue. The TBC will then link the received FD to the last FD
in the queue, and update the RX EOO pointer for that access class in the private area.
5. Lastly, the TBC will set the RXDF bit (received data frame) located in interrupt status word
a and generate an interrupt if enabled.
As the host reads received frames, it must keep at least one FD linked to the queue for each
access class to know where to start reading. Before adding FDs to the FD pool, the host must
clear the confirmation/indication word in the frame descriptor as well as the status indication
word. The host can then free up memory space or add the FD or BD back into the linked list.

4.4 REQUEST WITH RESPONSE (RWR) TRANSMISSION
The mechanism used by the host to prepare an RWR frame for transmission is the same as for
any other frame with one exception: the frame control field for that frame (offset 1B of FD) must
have RWR encoded in it. When the TBC reaches this frame in the transmit queue, it transmits the
frame and waits three slot times for a response as defined in IEEE 802.4. If no valid response
arrives, the TBC will try to transmit the frame again, up to the RWR max retry limit which is
specified by the user in offset 6E of the private area. IEEE specifies this value to be programmable
and to have a maximum value of seven, however the TBC allows a maximum value of 255 for

MC68824 USER'S MANUAL

MOTOROLA
.1-1 "

II

this parameter. Note that an underrun also counts as a retry. If a valid response arrives, the TBC
goes through the following steps:
• Loads the frame into the appropriate priority receive queue.
• Links the transmitted RWR frame to the response frame by placing the pointer to the response's FD in the transmitted RWR frame's immediate response FD pointer in the transmitted
frame's FD.
• Gives confirmation in the RWR frame's FD.
• Sets TXRWR bit (transmitted request with response) in interrupt status word 0 and interrupts
the host if enabled by the interrupt status mask.

II

If no response is received after the RWR retry limit is reached, the TBC gives negative confirmation
on this frame in the RWR's FD's confirmation/indication word, updates the interrupt status word
to indicate TXRWR, and interrupts the host if enabled.
A valid response is defined as an LLC data frame with a MAC action field set to response which
is received by the requester within the RWR max retry limit and before any control frames or
other data frames are received.
If the TBC hears an unexpected frame while waiting for a response, the TBC will:
• Store that frame into the appropriate queue.
• Give a negative confirmation as well as set the unexpected frame received during RWR bit
in the RWR's FD.
• Set the TXRWR bit in interrupt status word 0 as well as the unexpected frame 6 bit in interrupt
status word 1.
4.5 RECEPTION OF RWR FRAMES AND TRANSMISSION OF RESPONSE

Upon receiving an RWR frame addressed to this station, the TBC will store it into the appropriate
receive queue and perform the following steps:
• The source address of the received frame is stored into the destination address field of the
FD pointed to by the response destination address pointer. This pointer resides in the initialization table at offset 84 and must have been previously initialized by the host to point to
a valid FD.
• If the frame is not a retry, then the TBC loads the pointer to the received RWR frame's FD
into the RWR pointer field located in the initialization table at offset 8C. The received RWR
frame bit in interrupt status word o will then be set and an interrupt will be generated if
enabled.
A retry is defined as an RWR frame addressed to this TBC that arrives immediately after another
RWR frame which was addressed to it. If another valid frame such as a protocol frame, a nonRWR data frame, or a data frame not addressed to this station arrives in between two RWR frames,
then the second RWR frame is considered to be a new frame and not a retry.
The response is sent by the TBC according to the steps defined below:
• Ifthe TBC is in predefined response mode, set by the host through the SET MODE 1 command,
then the pointer stored by the host in the response pointer field in the initialization table
(offset 88) is considered valid, and the response is transmitted immediately after the token
bus goes to silence. The TXRDF bit (transmitted response data frame) in interrupt status word
o is also set and an interrupt is generated if enabled.

MOTOROLA
4-1f\

MC68824 USER'S MANUAL

• If the TBC is not in predefined response mode, then the TBC must wait for the command
RESPONSE READY from the host before sending out the response. Before issuing the RESPONSE READY command, the host must prepare a response and update the response
pointer field located in the initialization table (offset 88) if necessary. If this command is issued
within two slot times, then the TBC will transmit the response prepared by the host.
However, if the host issues the command later than two slot times but before the TBC receives
the next RWR retry frame, the TBC will still transmit the previously prepared response as a
response to the current retry of the RWR frame. The TXRDF bit (transmitted response data
frame) in !nterrupt status word 0 is also set and an interrupt is generated if enabled.
Note that if the host still owes a previous response to the TBC, the TBC will neither update the
RWR pointer field nor change the status of RXRWR in interrupt'status word O.
The following four paragraphs describe the relationship between two of the pointers residing in
the initialization table at offset 84 and 88 which are used to implement the RWR mechanism.
Case 1:
The TBC is in predefined response mode and the DA of the response frame must be identical
to the SA of the received RWR frame.
• The response destination address pointer (offset 84) should have been previously set by
the host to the same value as the response pointer (offset 88).
• The TBC will set DA equal to SA of received frame in the FD pointed to by the response
destination address pointer (offset 84).
Case 2:
The TBC is in predefined response mode and the DA of the response frame must be different
from the SA of the received RWR frame.
• The response destination address pointer (offset 84) should have been previously set by
the host to point to a dummy FD.
• The response pointer (offset 88) should have been previously set by the host to point
to the response frame's FD where the host has set DA as required.
Case 3:
The TBC is in non-predefined mode and the DA of the response frame must be identical to
the SA of the received RWR frame.
• The response destination address pointer (offset 84) should have been previously set by
the host to the same value as the response pointer (offset 88).
• The response pointer (offset 88) must be a constant, i.e., always point to the same FD.
• The TBC will set DA equal to SA of received frame in the FD pointed to by the response
destination address pointer (offset 84).
Case 4:
The TBC is in non-predefined response mode and the DA of the response frame must be
different from the SA of the received RWR frame.
• The response destination address pointer (offset 84) should be set by the host to point
to a dummy FD.
• The response pointer (offset 88) is set by the host to point to the response frame's FD
where the host has set DA as required upon getting the RXRWR interrupt (this bit could
also be polled).

NOTE
Cases 2 and 4 describe operations which are inappropriate for IEEE 802.4.

MC68824 USER'S MANUAL

MOTOROLA

II

WARNING
The TBC may send a response to a previous RWR frame as a response to a new
RWR frame in the following cases:
• If a second, new RWR frame arrives immediately after a RWR frame whose
response was not ready within two slot times from its arrival (this new frame
is considered to be a retry) .
• If the response from the host is issued to the TBC at the same time as a second
RWR frame arrives, even if a non-RWR frame addressed to this station arrived
previously. In this case, the RESPONSE READY command is executed only after
complete reception of the RWR frame. Thus, the response is considered a valid
response to the second request and will be transmitted. This scenario also can
take place if the response was ready to be transmitted but, due to high load
on the bus, the TBC was not able to execute the RESPONSE READY command
prior to receiving the second RWR frame.

II

Note that in these cases, the host did not respond in time to the last retry of a RWR frame, while
according to the 802.4 standard, the host should respond in time to the first one. Thus, these
situations should not occur.

MOTOROLA
4-18

MC68824 USER'S MANUAL

SECTION 5
SIGNALS
This section contains a description of the input and output signals for the MC68824 Token Bus
Controller.
NOTES
The terms assertion and negation will be used extensively. This is done to avoid confusion when dealing with a mixture of "active low" and "active high" signals. The term
"assert" or "assertion" is used to indicate that a signal is active or true, independent of
whether that level is represented by a high or low voltage. The term "negate" or "negation" is used to indicate that a signal is inactive or false.

II

The TBC has two modes of bus operation, the master mode and the slave mode. In the master
mode, the TBC has control of the address and data bus and is performing memory liD. In the
slave mode, the TBC is acting as a peripheral and is being accessed by the host. Refer to 6.1
HOST PROCESSOR OPERATION MODE and 6.2 DMA OPERATION for further details.
Input and output signals are functionally organized into the groups shown in Figure 5-1. Each of
these groups is discussed in the following paragraphs.
5.1 ADDRESS BUS (A1-A31)
This is a 32-bit (when combined with UOS/AO signal), unidirectional (with the exception of A 1 and
A2 which are bidirectional), three-state bus capable of addressing up to 4 gigabytes of memory.
A 1 and A2 are used to address internal registers in slave mode.
5.2 DATA BUS (DO-D15)
The TBC has a 16-bit, bidirectional, three-state bus for a general purpose data path. It can transmit
and receive data in either word or byte lengths. In 8-bit mode, data transfer is restricted to 0007 pins.

5.3 BUS CONTROL
The following paragraphs describe the bus control signals.

5.3.1 Function Codes (FCO-FC3)
The TBC function code pins are three-state outputs which are asserted during a OMA bus cycle.
These function codes may be used to divide memory into separate address spaces. The TBC does
not check for any particular 4-bit values. The host processor memory management unit can define

MC68824 USER'S MANUAL

MOTOROLA
1=;_1

SYSTEM INTERFACE

Al

ADDRESS BUS {

-

VOD

A2
~

A

A3-A31
CLK

DATABUS {

<

I\.

00-015

"'-

V
FCO

GND

FCI

FUNCTION CODES {

FC2
SERIAL INTERFACE

FC3
MC68824
DTACK

II

R/W
BUS
CONTROL

UDS/AO
LOS/OS
AS
CS

BUS {
ARBITRATION
.

SMREQ
TXClK

}

PHYSICAL
DATA
REQUEST
CHANNEL

}

PHYSICAL
DATA
INDICATION
CHANNEL

TXSYM2
TXSYMI
TXSYMO

Bli
BG
BGACK

SMIND
""'- RXClK

INTERRUPT {
CONTROL

IRQ

RXSYM2

lACK

RXSYMI
RXSYMO

BE CO
BUS EXCEPTION {
CONDITIONS

BECI
BEC2

Figure 5-1. MC68824 Signals
these encodings as desired. The user is not required to
implement function codes. If the function code pins are
not connected, the user can ignore SET FUNCTION CODE
commands (see 3.5.3 Set Value).

5.3.2 Bus Exception Conditions (BECO-BEC2)
These input lines provide an encoded signal that indicates an abnormal bus condition such as a bus error or
reset. The three-bit bus exception control codes allow
for eight different bus termination conditions. BECD is
the least significant bit and BEC2 is the most significant
bit. Table 5-1 shows the eight conditions.

MOTOROLA
5-2

Table 5-1. Bus Exception Conditions
BEC2 BEC1
H

H

H
H

BECD

Condition

H

No Exception

H

L

Halt (Release Bus)

L

H

Bus Error

H

L

L

Retry

L

H

H

Relinquish and Retry

L

H

L

Undefined (Reserved)

L

L

H

Undefined (Reserved)

L

L

L

Reset

MC68824 USER'S MANUAL

5.3.3 Data Transfer Acknowledge (DTACK)
OTACK is a bidirectional three-state signal which indicates that an asynchronous bus cycle may
be terminated. In the slave mode, this output indicates that the TBC has accepted data from the
host processor or placed data onto the bus for the host processor. In the master mode, this input
is monitored by the TBC to determine when to terminate a bus cycle. As long as OTACK remains
negated, the TBC will insert wait cycles into the bus cycle. When OTACK is asserted, the bus cycle
will be terminated.
5.3.4 ReadlWrite (RIW)
RIW is a bidirectional three-state signal that indicates the direction of the data transfer during a
bus cycle. The RIW pin is an input in the slave mode and an output in master mode. Thus, in the
slave mode, a high level indicates that a transfer is from the TBC onto the data bus, and a low
level indicates that a transfer is from the data bus into the TBC. In the master mode, a high level
indicates that a transfer is from the data bus into the TBC, and a low level indicates that a transfer
is from the TBC onto the data bus.
5.3.5 Upper Data Strobe (UDS/AO), Lower Data Strobe (LDS/DS)
These bidirectional three-state signals control the flow of data onto the data bus. UOS and LOS
are asserted by the TBC when operating in the master mode and by the host processor when
operating in slave mode. In the master mode, during any 16-bit bus cycle, UOS is asserted if data
is to be transferred over the data lines 08-015, and LOS is asserted if data is to be transferred
over data lines 00-07. For an 8-bit bus configuration, UOS functions as AO and LOS functions as
data strobe. AO is thus an extension of the lower address lines to provide the address of a byte
in the address map and is valid when A1-A31 are valid. OS is a data strobe used to enable external
data buffers and indicates that valid data is on the bus during a write cycle. In the slave mode,
UOS and LOS operate in conjunction with A 1, A2, and CS as indicated in 6.6 REGISTERS and
5.5.5 Chip Select (CS). Figure 5-2 shows the various signal combinations and when data is valid
on the data lines.
5.3.6 Address Strobe (AS)
This bidirectional three-state signal indicates that there is a valid address on the address bus. It
is an output when the TBC is in master mode and has control of the bus. AS is an input during

UDS

LOS

RIW

16-BIT TRANSFER
HIGH
LOW
HIGH
HIGH
LOW
LOW

HIGH
LOW
LOW
LOW
HIGH
HIGH

X
X
LOW
HIGH
LOW
HIGH

00-07

08-015
NO VALID DATA
VALID DATA 8-15
NO VALID DATA

X
VALID DATA 8-15
VALID DATA 8-15

NO VALID DATA
VALID DATA 0-7
VALID DATA 0-7
VALID DATA 0-7
NO VALID DATA

X

8-BIT TRANSFER

X
X
X

x-

LOW
LOW
HIGH

LOW
HIGH

X

NO VALID DATA

X
NO VALID DATA

VALID DATA 0-7
VALID DATA 0-7
NO VALID DATA

Don't Care

Figure 5-2. Data Strobe Control of Data Bus in Master Mode

MC68824 USER'S MANUAL

MOTOROLA
5-3

II

bus arbitration cycles, and it is monitored to determine when the TBC can take control of the bus
(after the TBC has requested and been granted use of the bus).

5.3.7 Chip Select (CS)
This input pin is used by the TBC to determine when it has been selected by the host processor.
When CS is asserted, the address on A 1, A2, and the data strobes select the internal TBC register
that will be involved in the transfer. CS should be generated by qualifying an address decode
signal with the address and data strobes. Asserting CS when the TBC is bus master will cause
an address error to occur.

5.4 BUS ARBITRATION

II

The signals in this group form a bus arbitration circuit that determines which device is the current
bus master.

5.4.1 Bus Request (BR)
This open-drain ouptut pin is wire-ORed with all other devices that could be bus masters and is
asserted to request control of the bus.

5.4.2 Bus Grant (BG)
BG is an input that indicates to the TBC that bus control has been granted and that it may assume
bus mastership as soon as the current bus cycle is completed. The TBC will not take control of
the bus until AS and BGACK are negated and the BEC pins are encoded as normal mode.

5.4.3 Bus Grant Acknowledge (BGACK)
BGACK is a bidirectional three-state signal. When BGACK is an asserted input signal to the TBC,
it indicates that some other device has become the bus master. This signal will not be asserted
as an output to indicate that the TBC is the current bus master until the following conditions are
met:
1. Bus request (BR) is asserted.
2. A bus grant (BG) has been received.
3. Address strobe (AS) is inactive, indicating that the current bus cycle has ended.
4. Bus grant acknowledge (BGACK) is inactive, which indicates that no other device is still
claiming bus mastership.
5. BEC pins are encoded as normal mode.

5.5 INTERRUPT CONTROL
Two signals are used to perform the request/acknowledge handshake function between the TBC
and the host processor.

MOTOROLA

5-4

MC68824 USER'S MANUAL

5.5.1 Interrupt Request (IRQ)
The interrupt request pin is an open-drain output pin which requests service from the host processor when an interrupting event has occurred.
5.5.2 Interrupt Acknowledge (lACK)
This input is asserted by the host processor to acknowledge that it has received an interrupt from
the TBC. The TBC responds by placing a vector on 00-07 that is used by the host processor to
fetch the address of the proper TBC interrupt handler routine. The TBC does not negate IRQ after
an lACK cycle, but rather after the appropriate bit(s) in the interrupt status registers is (are) cleared
by the host processor.

5.6 SERIAL INTERFACE
The serial interface implemented on the TBC complies with the IEEE Draft Standard 802.4G which
describes the exposed OTE to OCE interface. This interface provides a standard way to transfer
requests for data unit transmission and for indicating data unit reception when in the MAC mode.
The interface also serves as a communication channel for passing station management requests,
indications, and confirmations between the physical layer and the TBC. Note that since the TBC
is a half duplex part, it will not hear its own transmission. The following paragraphs describe the
data request and data indication channel while Figure 5-3 illustrates the signals comprising the
physical layer interface.

5.6.1 Physical Data Request Channel
Five signals comprise the physical data request channel with four of these being outputs and
TXCLK being an input. Three of these signals are multiplexed and have different meanings depending on the mode of operation. The SMREQ signal determines whether the physical layer is
in station management mode or MAC mode. When programmed for MAC operation, this channel

TXCLK
SMREO

}

PHYSICAL
DATA
REQUEST
CHANNEL

}

PHYSICAL
DATA
INDICATION
CHANNEL

TXSYM2
TXSYMl
TXSYMO
TBC
RXCLK
SMIND
RXSYM2
RXSYMl
RXSYMO

Figure 5·3. Physical Layer Interface

MC68824 USER'S MANUAL

MOTOROLA

5-5

II

is used by the MAC to provide encoded requests (atomic symbols) for data transmission. In station
management mode, this channel is used to pass commands or send serial station management
data to the physical layer.

5.6.1.1 STATION MANAGEMENT REQUEST (SMREQ). SMREO is an output used to select the
modem mode of operation. SMREO is called TXSYM3 in the 802.4G Draft Standard. When SMREO
is equal to one, MAC mode is selected. This is considered the normal mode of operation. The
MAC sends data to the physical layer encoded as atomic symbols (silence, non-data, pad-idle,
data 'one', and data 'zero') on lines TXSYMO, TXSYM1, and TXSYM2 in normal operation. The
atomic symbols request data unit transmission, and the physical layer modulates its transmit
carrier signal accordingly. When SMREO is equal to zero, station management mode is selected.
5.6.1.2 TRANSMIT CLOCK (TXCLK). The transmit clock is supplied to the TBC by the physical
layer and can be from 10 kHz to 16.67 MHz. TXSYM2, TXSYM1, and TXSYMO are synchronized
to TXCLK.

5.6.1.3 TXSYM2, TXSYM1, AND TXSYMO IN MAC MODE. TXSYM2, TXSYM1, and TXSYMO are
all output signals. When operating in the MAC mode, the request channel symbol encodings for
TXSYM2, TXSYM1, and TXSYMO are those shown in the Figure 5-4. When the TBC does not have
any data to transmit it will encode ones on the TXSYM lines, that is silence will be transmitted.
The TBC looks for silence on the RXSYM lines to determine if it can transmit. Also note that the
TBC does not receive its own transmission being a half duplex part.
TXSYM2

TXSYMI

TXSYMO

DATA ZERO

0

0

0

DATA ONE

0

0

1

PAD-IDLE

0

1

X

NON-DATA

1

0

X

SILENCE

1

1

X

SYMBOL

Where:
DATA ZERO is a binary zero
DATA ONE is a binary one
NON-DATA is a delimiter flag and is always requested in pairs
SILENCE is silence or pseudo-silence
PAD-IDLE is one symbol of preamble/interframe idle

Figure 5-4. Request Channel Encodings for
MAC Mode (SMREQ = 1)
5.6.1.4 TXSYM2, TXSYM1, AND TXSYMO IN STATION MANAGEMENT MODE. The encoding for
the request channel signals TXSYM2, TXSYM1, and TXSYMO in station management mode is
shown in Figure 5-5. By setting SMREO equal to zero, the request channel enters station management mode. When in station management mode, the request channel can command the
physical layer to reset, disable loopback, enable transmitter, idle, or send SM data serially to the
physical layer.
The PHYSICAL and END PHYSICAL commands which are described in 3.8 MODEM CONTROL are
the means by which the host sends commands through the TBC to the physical layer.

MOTOROLA
5-6

MC68824 USER'S MANUAL

SYMBOL

TXSYM2

TXSYMI

TXSYMO

RESET

1

1

1

LOOPBACK OISABLE

1

0

1

ENABLE TRANSMITIER

0

1

1

SERIAL SM DATA ZERO
OR START BIT

0

0

0

SERIAL SM DATA ONE
OR STOP BIT OR IDLE

0

0

1

Figure 5-5. Request Channel Encodings for Station
Management Mode (SMREQ = 0)
5.6.2 Physical Data Indication Channel
Five input signals comprise the physical data indication channel. Three of these signals are multiplexed and have different meanings depending on the mode of operation. The SMIND signal
determines if the channel is in station management mode or MAC mode. When programmed for
MAC operation, this channel is used by the physical layer to provide encoded indications of the
data unit reception. In station management mode, this channel either carries confirmations to
commands passed to the physical layer or reports physical layer conditions.
5.6.2.1 STATION MANAGEMENT INDICATION (SMIND). SMIND is an input to the TBC which
indicates whether the physical layer is in MAC mode (SMIND=O) or station management mode
(SMIND = 1). SMIND is called RXSYM3 in the 802.4G Draft Standard. When in MAC mode, the
physical layer sends encoded indications of data unit reception (silence, non-data, bad signal,
data 'one', and data 'zero'). The physical layer enters management mode (SMIND=O) to send
responses to management commands at the request of the TBC, to report an error event at the
initiative of the modem, or to report real time data also at the initiative of the modem.
5.6.2.2 RECEIVE CLOCK (RXCLK). The receive clock is supplied to the TBC by the physical layer
and can be from 10 kHz to 16.67 MHz. RXSYMO, RXSYM1, RXSYM2, and SMIND are synchronized
to RXCLK.
5.6.2.3 RXSYMO, RXSYM1, AND RXSYM2 IN MAC MODE. Figure 5-6 shows the encoding of
RXSYMO, RXSYM 1, and RXSYM2 in MAC mode.
RXSYM2

RXSYMI

RXSYMO

DATA ZERO

SYMBOL

0

0

0

DATA ONE

0

0

1

BAD-SIGNAL

0

1

X

NON-DATA

1

0

X

SILENCE

1

1

X

Where:
DATA ZERO is a binary zero
DATA ONE is a binary one
BAD-SIGNAL indicates reception of a bad signal for one MAC symbol
period
NON-DATA is a delimiter flag. In the absence of errors, NON-DATA
will always be present in pairs
SILENCE is silence or pseudo-silence for one MAC symbol period

Figure 5-6. Indication Channel Encodings for
MAC Mode (SMIND = 1)

MC68824 USER'S MANUAL

MOTOROLA

5-7

II

5.6.2.4 RXSYM2, RXSYM1, AND RXSYMO IN STATION MANAGEMENT MODE. When in station
management mode, the physical layer sends confirmation to commands from the TBe (reset,
loopback disable, enable TX, and serial station management data) using the indication channel.
This is accomplished by the encodings on signals RXSYM2, RXSYM 1, and RXSYMO as shown in
Figure 5-7. Figure 5-8 illustrates a typical station management sequence.

STATE

RXSYMI

RXSYMO

0

1

*

1

0

*

IDLE

0

0

1

PHYSICAL LAYER ERROR

1

1

1

ACK (ACKNOWLEDGEMENT)
NACK (NON-ACKNOWLEDGEMENT)

RXSYM2

Where * indicates RXSYMO contains the SM data when responding to a serial data command.
A '1' in that position indicates a serial SM data one or stop bit. A '0' in that position indicates
a serial SM data zero or start bit.

Figure 5-7. Encodings for Station Management Mode
(SMIND=O)

II
HOST
ACTIONS

GIVE PHYSICAL
COMMAND

OBTAINS
CONFIRMATION

GIVES SECOND
COMMAND

OBTAINS
CONFIRMATION

GIVES DATA
COMMAND

CONFIRMATION
AND DATA
FROM MODEM

SIGNALS

TXSYMI
TXSYM2

TXSYMO

RXSYMI
RXSYM2

RXSYMO
DATA EXCLUDING
START BIT

---->

Figure 5-8. Typical Station Management Sequence

MOTOROLA
5-8

MC68824 USER'S MANUAL

The mechanisms by which the TBC obtains acknowledgements from the physical layer are described in 3.8 MODEM CONTROL. If the TBC receives a physical layer error encoding while in the
MAC mode, it will put itself in the offline mode and set the modem error bit in interrupt status
word 1 (see 2.2.11 Interrupt Status Words).
5.7 SIGNAL SUMMARY
Table 5-2 is a summary of all signals discussed in the previous paragraphs.

Table 5-2. Signal Summary
Signal Name

Menemonic

Input/Output

Address Bus

A1-A2

Input/Output

Three State

Address Bus

A3-A31

Output

Three State

Data Bus

DO-D15

Input/Output

Three State

Function Codes

FCO-FC3

Output

BECO-BEC2

Input

Low

Upper Data Strobe

UDS/AO

Input/Output

Low/High

Three State 1

Lower Data Strobe

Bus Exception Codes

Active State

Driver Type

LDS/DS

Input/Output

Low/Low

Three State 1

Address Strobe

AS

Input/Output

Low

Three State 1

ReadtWrite

RiW

Input/Output

High/Low

Three State 1

Chip Select
Data Transfer Acknowledge
Bus Request
Bus Grant
Bus Grant Acknowledge

CS

Input

Low

DTACK

Input/Output

Low

Three State 1

BR

Output

Low

Open Drain 2

BG

Input

Low

BGACK

Input/Output

Low

Receive Clock

RXCLK

Input

Indication Channel

SMIND

Input

Indication Channel

RXSYMO

Input

II

Three State

Three State 1

Low

Indication Channel

RXSYM1

Input

Indication Channel

RXSYM2

Input

Transmit Clock

TXCLK

Input

Request Channel

SMREQ

Input

Request Channel

TXSYMO

Output

Request Channel

TXSYM1

Output

Request Channel

TXSYM2

Output

Interrupt Request

IRQ

Output

Low

Interrupt Acknowledge

lACK

Input

Low

Clock

CLK

Input

Low

Open Drain 2

NOTES:
1. 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.
2. These signals are wire-ORed and require a pullup resistor to maintain a high voltage when not
driven.

MC68824 USER'S MANUAL

MOTOROLA

5-9

II

o

MOTOROLA
5-10

MC68824 USER'S MANUAL

l

SECTION 6
BUS OPERATION
The following section describes the bus signal operation during data transfer operations, bus
exception conditions, host processor operations, OMA operations, and reset. 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 relatiQnships refer to SECTION 8 ELEC-

TRICAL SPECIFICATIONS.
6.1 HOST PROCESSOR OPERATION MODE
In the host processor operation mode or slave mode, the TBC is a peripheral slave to the bus
master. The TBC enters the slave mode when chip select (CS) or interrupt acknowledge (lACK) is
asserted. Ouring host processor operations, the TBC places data onto the data bus or accepts
data from the data bus, respectively, according to the level of the RIW pin. This mode of operation
is used during TBC initialization to load the configuration information and initial parameters into
the TBC. After initialization, the slave mode of operation is used by the host processor to place
commands into the TBC command register.
The TBC can operate with a ClK input that is either synchronous or asynchronous with respect
to the host processor clock provided the bus requirements are satisfied. The timing diagrams
assume that an M68000 Family processor is the host processor with a clock signal identical to
the TBe ClK.

6.1.1 Host Processor Read Cycles
Ouring the host processor read cycle, the bus master asserts chip select (CS), read (RIW) and
lower data strobe (lOS/OS). The TBC then places data onto the data bus and asserts data transfer
acknowledge (OTACK) to indicate to the bus master that the data is valid. The semaphore register
will always be selected on a read cycle regardless of A 1 and A2 encodings because it is the only
readable register. When the lower data strobe (lOS/OS), or chip select (CS), is negated by the
host, the TBC will three-state the data lines and then negate and three-state OTACK. This is shown
in Figure 6-1. 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. The encodings of UOS/AO and lOS/OS select the proper byte.

6.1.2 Host Processor Write Cycles
Ouring host processor write cycles, the TBC accepts data from the data bus and asserts OTACK
to indicate to the bus master that the data has been loaded into the selected register. The only
TBC registers that are directly writable by the host processor are the command register, the upper
six bits of the interrupt vector register, and the data register.
.
To begin a host processor write cycle, the bus master asserts CS and drives RIW low. The TBC
responds by decoding the A1, A2, UOS/AO, and lOS/OS signals. When a valid register (CR, OR,

MC68824 USER'S MANUAL

MOTOROLA

II

SO

SI

S2

S3

S4

S5

SW

SW

S6

S7

ClK
!INPUT!
UOS. LOS
!INPUT!

I

\

cs

/

\

!INPUT!

/

<

00-015
!OUTPUT!
OTACK
!OUTPUT!

)

r-

\

I

7

R/W
!INPUT!

Figure 6-1. Host Processor Read Cycle with Two Wait States

or IV), is selected, the TBC accepts the data from the data bus and asserts OTACK. Next the TBC
waits for either LOS/OS, UDS/AO, or CS to be negated, and then negates and three states DTACK
and three states the data lines. The timing for this operation is shown in Figure 6-2.
6.1.3 Interrupt Acknowledge Cycles
Ouring an interrupt acknowledge cycle, the host processor responds to an interrupt request from
the TBC. The timing of an interrupt acknowledge cycle is identical to an odd byte read cycle,
except that it is started by the assertion of the interrupt acknowledge (lACK) signal rather than
chip select (CS). Note that chip select (CS) and interrupt acknowledge (lACK) are mutually exclusive
signals and should not be asserted at the same time. If interrupt acknowledge (lACK) is asserted
at the same time the TBC is the bus master, an address error is generated.

SO

SI

S2

S3

S4

S5

SW

SW

sw

SW

S6

S7

ClK
!INPUT!
UOS. LOS
!INPUTl

7

cs

I

\

!INPUTl
00-015
!OUTPUT!

R/W

r-

<
I

OTACK
!OUTPUTl

!INPUTl

I

\

7

\

\

/'-

r-

Figure 6-2. Host Processor Write Cycle

MOTOROLA
~-?

MC68824 USER'S MANUAL

The interrupt acknowledge operation is started by the TBC when interrupt acknowledge (lACK)
and lower data strobe (LOS) are asserted by the host processor. The TBC responds by placing its
interrupt vector number on 00-07 and asserting data transfer acknowledge (DTACK). During this
operation, A1-A31 and UDS/AO are ignored by the TBC. The vector number remains on the data
bus until lACK or LOS is negated by the host processor. When this occurs, the TBC will three state
the data lines and then negate and three state DTACK. The timing for this operation is shown in
Figure 6-3.
50

51

52

53

54

55

5W

5W

56

57

50

CLK
(INPUT)

L05
,
(INPUT) _ _----'

\~------------~I

----1'

lACK ---------------------------------\
(INPUT)
'-_ _ _ _ _ _ _ _

00·07
(OUTPUT)
O~CK

)
-------------------------------------------------<(
'-_________________________
---J>-----__________________________________________1

(OUTPUT)

\~_________~f'--------

II

R/W ----------------------,..,......-----------------------------------------------------------------------------(IN PUT) _________________---'

Figure 6-3. Interrupt Acknowledge Cycle

6.2 DMA OPERATION
In the DMA operation mode or master mode, the TBC is the bus master and performs memory
read and write operations. The TBC can operate in either an a-bit or a 16-bit bus configuration.
NOTE
The TBC does not check for an "odd pointer" and does not generate an address error
for an odd word boundary. For an a-bit data bus, an "odd pointer" is proper. For a 16bit bus, the TBC zeros the least significant address bit and therefore always presents an
even word address to the bus. The system designer must ensure that the TBC is not
supplied with an "odd pointer" in a 16-bit configuration.
6.2.1 DMA Burst Control
The TBC has an operation mode that controls the maximum number of DMA transfers that the
TBC can perform in one DMA burst. The operation mode bit is called halt generator enable (HLEN)
and is controlled by the SET MODE 3 command. If the TBC is to be giv~n the maximum memory
bandwidth, HLEN should be set to zero. In this case the TBC will empty or fill the FIFO in one
DMA burst. If the TBC is to have limited DMA burst, HLEN should be set to one. In this case, the
TBC will release the bus after a maximum of eight memory cycles. If the FIFO is not empty or
full, the TBC will request the bus again. This limited DMA burst mode provides an upper bound
for latency and allows other masters to access the memory.

MC68824 USER'S MANUAL

MOTOROLA

6.2.2 TBC Read Cycles
During a OMA read operation, the TBC controls the transfer of the data from memory into the
TBC. The functional timing for this operation is shown in Figure 6-4. The TBC drives FCO-FC3 and
A1-A31 pins with the address of the memory location that the TBC wants to read. AS, and
depending on the data size, UOS/AO and/or LOS/OS are asserted and RIW is driven high. Data
transfer acknowledge is asserted by the system when valid data from memory are on the appropriate data lines. If in the 8-bit bus mode, only the data on lines 00-07 are assumed to be valid.
When OTACK is asserted, data is latched by the TBC from the data lines, and the address, function
code and control signals are negated.
SO Sl
CLK
(INPUTI
A1·A31
(OUTPUTI
FCO·FC3
(OUTPUTI

S2 S3 S4 S5 S6 S7

so

Sl

S2 S3 S4 S5 SW SW

sw sw sw

SW S6 S7

=:x____________ _______________________
=:x____________
~x~

)~---

~X

)~---

ASF\~________'r___\
F \~____~r___\

II

(OUTPUTI

('-----

UOS.LOS
(OUTPUTI

r-'-----

R/W
(OUTPUTI
00·015
(INPUTI

---1

,

----------~<==>~--------------~<==>~--------

OlACK
(INPUTI

-----~/

' ' ' ' __________----Jr-

Figure 6-4. Read Cycle and Slow Read Cycle

6.2.3 TBC Write Cycles
During a OMA write operation, the TBC controls the transfer of data to memory from the TBC
internal registers or FIFO. The functional timing for this operation is shown in Figure 6-5. The TBC
drives FCO-FC3 and A1-A31 pins with the address of the memory location to be written. Then,
address strobe (AS) is asserted and, depending on the data size, upper data strobe (UDS/AO) and
lower data strobe (LOS/OS) are asserted and RIW is driven low. Data to be written to memory is
placed on the bus and, when OTACK is asserted, the cycle is terminated. On the slow write cycle
shown in Figure 6-5, the bus cycle is extended because OTACK does not appear as soon as
expected by the TBC (by the end of S4).
6.3 BUS EXCEPTION CONTROL FUNCTIONS
To fully support the M68000 bus architecture, the TBC has three encoded inputs, BECO-BEC2, that
indicate abnormal bus cycle termination conditions. These three lines function in a similar manner
to RESET, HALT, and BERR signals on a M68000 processor, but have different functionality than
the processor counterparts. The 3-bit bus exception control code allows eight different bus termination conditions as shown in Figure 6-6. BECO is the least significant bit and BEC2 is the most
significant bit. When an exception is encoded on the BEC lines, the TBC will terminate the current

MOTOROLA
~_L1

MC68824 USER'S MANUAL

SO SI

S2 S3 S4 S5 S6 S7 SO SI S2 S3 S4 S5 SW SW SW SW SW SW SW SW S6 S7

CLK
(INPUTl
Al·A31
(OUTPUTl
FCO·FC3
(OUTPUTl

AS
(OUTPUTl
UOS. LOS
(OUTPUTl

R/W
(OUTPUTl

=x
=x

x-------------------------->-x-------------------------->--

1 \~________________~f'__

\
I
\
/
--F\

00·015
(OUTPUTl

\______________~f'__

/

1\

OTACK
(INPUTl

<------------------~>--

)

<

\

/

\

I

Figure 6·5. Write Cycle and Slow Write Cycle

Code

BEC2

BEC1

BECO

0

H

H

H

NO EXCEPTION

NO AFFECT

1

H

H

L

HALT
(RELEASE BUSI

HALT AFTER DTACK AND RELEASE THE BUS

II

TBC Action

Definition

2

H

L

H

BUS ERROR

TERMINATE THE CURRENT CYCLE AND RELEASE THE BUS

3

H

L

L

RETRY

TERMINATE THE CURRENT CYCLE AND RERUN THE SAME CYCLE AGAIN
AFTER THE EXCEPTION DISAPPEARS

4

L

H

H

RELINQUISH AND
RETRY

TERMINATE THE CURRENT CYCLE, RELEASE THE BUS, RERUN LAST
CYCLE AFTER REARBITRATION

5

L

H

L

UNDEFINED

ONE CLOCK DELAY BEFORE TERMINATION NO FURTHER CYCLES UNTIL
NO EXCEPTION (RESERVEDI

6

L

L

H

UNDEFINED

ONE CLOCK DELAY BEFORE TERMINATION NO FURTHER CYCLES UNTIL
NO EXCEPTION (RESERVEDI

7

L

L

L

RESET

RESET TBC REGISTERS AND LOGIC

Figure 6·6. BEC Encoding Definitions

bus cycle and wait for the BEC encoding to return to zero. Each of the possible conditions is
discussed in detail in the following paragraphs.
There are three possible cases for bus exceptions. In the first case, a very early bus exception
occurs when the bus exception is asserted more than one clock cycle before DTACK is asserted.
The bus exception is acted on without any delay by the TBC and the bus cycle is terminated. In
case two, which is the typical case, the bus exception occurs in the same clock cycle as DTACK.
One delay cycle is added to the bus cycle to be sure that a bus exception has occurred before
the bus cycle is terminated. In the third case, the bus exception signal occurs on the clock after
data transfer acknowledge (DTACK) has been asserted. In this case, one clock delay is also added
before the bus cycle is terminated.

MC68824 USER'S MANUAL

MOTOROLA

6.3.1 Normal Termination
When the BEC pins are non-asserted, the TBC operates in a normal mode and DTACK terminates
the bus cycle.
6.3.2 Halt
A logical one encoded on the BEC pins halts the TBC and the current bus cycle is terminated by
the assertion of DTACK. The TBC releases ownership of the bus and enters the idle state until the
BEC pins return to normal mode (logical zero). The halt timing diagram is shown in Figure 6-7.
The TBC rearbitrates for the bus and continues DMA operations if necessary.
SO SI
CLK
(INPUT)
Al·A31
(OUTPUT)
FCO·FC3
(OUTPUT)

S4 S5 S6 S7 S8 S9

==x
==x

AS

SO SI S2 S3 S4 S5 SW SW

>
)

\
\

f'
f'
I

<

>

OTACK
(INPUT)

\

I

HALT ON
BECQ·BEC2
(INPUT)

\

(OUTPUT)

II

S2 S3

UOS. lOS
(OUTPUT)

R/W
(OUTPUT)
00·015
(OUTPUT)

\

~

OTACK ACTIVE BEFORE HALT

/

==x~

sw

SW S6 S7

__________

~r-

r-

==x
\~

____________f'-

\. . . ______-----JI'\_____________~r_

>-

-----«

\

\ \

f

r

OTACK ACTIVE AFTER HALT

Figure 6-7. TBC Write Cycle with HALT
6.3.3 Bus Error
When a logical two is encoded on the BEC pins, the TBC aborts the current bus cycle and releases
bus mastership. After the BEC lines return to normal, the TBC rearbitrates for the bus to report
the bus error to the host processor by writing the address that caused the error into the DMA
dump area in the initialization table. The TBC sets the bus/address error bit in the initialization
table interrupt status word, and interrupts the host processor if enabled. A bus error condition is
shown in the Figure 6-8 timing diagram.
6.3.4 Retry
A logical three encoded on the BEC pins of the TBC terminates the current bus cycle and places
the TBC into a waiting mode. The TBC retains bus mastership by keeping BGACK asserted. When
the BEC pins return to normal, the TBC reruns the same bus cycle using the same address and
function code. Figure 6-9 shows the timing diagram for a retry operation.

MOTOROLA
cc

MC68824 USER'S MANUAL

SO SI

S2 S3 S4 S5 S6 S7 S8 S9

SO SI

S2 S3 S4 S5 S6 S7 S8 S9

CLK
(INPUT)
Al·A31
(OUTPUT)

~------------~)~----

FCO·FC3
(OUTPUT)

~--------------~)~----­

AS
(OUTPUT)

\__________~f'-----

UoS. LOS
(OUTPUT)

\~________~f'-----

R/W
(OUTPUT)

---1

00·015
(INPUT)

('---__----J)>------

oTACK
(INPUT)

>

\

I
I

\

BERR ON
BECO·BEC2
!INPUT)
BGACK
(OUTPUT)

<

\--------~I

------------------~~
EARLY ASYNCHRONOUS EXCEPTION

II

LATE SYNCHRONOUS EXCEPTION

Figure 6-8. TBC Read Cycle with Bus Error

SO SI

S2 S3 S4 S5 S6 S7 S8 S9

SO SI

S2 S3 S4 S5 S6 S7

ClK
!INPUT)
BGACK
(OUTPUT) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Al·A31
(OUTPUT)

~~-----------------------------------------~~-----------------------------------------AS - - - - ,
r--------.,

FCO·FC3
(OUTPUT)

1

(OUTPUT)

\\,., _ _ _ _ _ _ _

UDS, lOS
(OUTPUT)

\
.

I,

R/W
I
(OUTPUT) - - '
00·015
!INPUT)

1

oTACK - - - - - . , \
(INPUT)
\-._ _ _ _ _ _ _ _,
RTY ON - - - - - - _ - , .
BECO·BEC2
\
(INPUT)
\-...----1

I

Figure 6-9. TBC Read Cycle with RETRY

MC68824 USER'S MANUAL

MOTOROLA
~_7

6.3.5 Relinquish and Retry
If the BEC pins are encoded with a logical four, then the TBC terminates the current bus cycle
and relinquishes bus mastership. One debounce delay after the BEC pins have returned to normal,
the TBC rearbitrates for the bus and reruns the same bus cycle as shown in Figure 6-10.

SO SI S2 S3 S4 S5 S6 S7

sa

S9 SlO Sl1

ClK
(INPUT!
Al·A31
(OUTPUT!

AS.

=x______________

,

UOS. lOS
(OUTPUT!
00·015
(INPUT!

~--------~;-'--------------

-----------~(

>~---------

'---_---'/~---- ~R"

OTACK
(INPUT!
ART ON
BECO·BEC2
(INPUT!

}

\
\

OTACK
(INPUT!

/

ART ON
BECO·BEC2
(INPUT!
BGACK
(OUTPUT!

-J>~----------­

}

lATE

,'--__-J/

----------------------------/

Bii
(OUTPUll

Figure 6-10. TBC Read Cycle with Relinquish and Retry, Early and Late

6.3.6 Reset
A logical seven encoded on the BEC pins causes the TBC to execute an internal reset sequence.
Hardware and software reset will cause the TBC to execute the same steps, see 3.2.5 RESET
Command for more details.
6.3.7 Undefined BEC Codes
If a logical five or six is encoded on the BEC pins, the TBC takes no action as shown in Figure 611. However, the bus cycle may be extended one more clock cycle due to the debouncing of BEC
lines. The TBC terminates the current cycle after DTACK is asserted.
6.4 BUS ARBITRATION
Bus arbitration is a technique used by bus master devices to request, be granted, and acknowledge
bus mastership. In its simplest form, it consists of the following .
• Asserting a bus mastership request.
• Receiving a bus grant indicating that the bus is available at the end of the current cycle.

MOTOROLA
6-8

MC68824 USER'S MANUAL

SO SI

SO SI

S2 S3 S4 S5 S6 S7 S8 S9

S2' S3 S4 S5 SW SW S6 S7

CLK
(INPUT)
Al-A31
(OUTPUT)
FCO-FC3
(OUTPUT)

==x

>-

>- ==x

AS

\

UOS. LOS
(OUTPUT)

\

R/W

==x

---.J

(OUTPUT)

(OUTPUT)

>--

---v
- - - 1 '_________

00-

---.I
(

DTACK
(INPUT)

\
\

UNO
BECO-BEC2
(INPUT)

00-

\
\

"-

00-015
(INPUT)

>"-

=.J

>r

C>I
I

\

I

\

Figure 6-11. TBC Read Cycle with Unefined Bus Exception
• Monitoring the bus for the previous bus master to release the bus and acknowledging that
bus mastership has been assumed.
The TBC uses this M68000 bus arbitration protocol to request bus mastership before entering the
DMA mode of operation. The bus arbitration timing diagram is shown in Figure 6-12.
TBC CYCLE

OTHER BUS MASTER
SO SI

SO SI

S2 S3 S4 S5 S6 S7

S2 S3 S4 S5 S6 S7

CLK
(INPUT)

Bii------.

(OUTPUT)

~

(INPUT)

/

\'-_ _ _ _ _ _ _ _ _ ______

------.\'-_ _ _ _ _ _ _ _ _ _ _

/

----1

AS -------.\'-_ _ _~/--------~\'-_ _ _- J~--------

(liD)

0""----------

BGACK
(liD) _ _ _ _ _ _ _ _ _ _ _/

\ ""_ _ _ _ _ _ _ _---'.
TBC CYCLE

NO BUS MASTER

SO SI

S2 S3 S4 S5 S6 S7

CLK
(INPUT)

M -------.

(OUTPUT)

/

\'-_ _ _ _ _ _ _ _.....J

/

~ ------~

(INPUT)

\""_ _ _ _ _ _ _ _ _ _--'

AS - - - - - - - - - - - - - , \
(liD)

~_ _ _ _ _ _ _ __

""_ _ _---",

BGACK - - - - - - - - - - - - . \'-_ _ _ _ _ _ _ _ __
(OUTPUT)

~~------

Figure 6-12. Bus Arbitration

MC68824 USER'S MANUAL

MOTOROLA
e::_Q

II

6.4.1 Requesting the Bus
External devices capable of becoming bus masters request the bus by asserting the bus request
(BR) signal. This is a wire-ORed signal that indicates to the external bus arbiter that some external
device requires control of the external bus. The bus is requested by the TBC when a command
is issued that requires a DMA operation, or when data needs to be moved to or from the internal
FIFO. The TBC will request the bus when there are four empty words in the FIFO in the transmit
case, or when four words have been received in the FIFO in the receive case.

6.4.2 Receiving the Bus Grant
The host processor or a bus arbiter circuit asserts bus grant (BG) as soon as possible to indicate
that another bus master may assume control after the current bus master releases the bus.
Normally this is immediately after internal synchronization of the host processor. The only exception to this occurs when the host processor has made an internal decision to execute the next
bus cycle, but has not progressed far enough into the cycle to have asserted the address strobe
(AS) signal. In this case, bus grant will be delayed until AS is asserted to indicate that a bus cycle
is being executed.

II

The bus grant (BG) signal may be routed through a daisy-chained network or through a specific
priority-encoded network. The host processor is not affected by the external method of arbitration
as long as the protocol is obeyed.

6.4.3 Acknowledgement of Mastership
Upon receiving a bus grant, the TBC waits until AS and bus grant acknowledge (BGACK) are
negated before asserting BGACK. The negation of AS indicates that the previous master completed
its cycle; negation of BGACK indicates that the previous master has released control of the bus.
When these conditions are met, the TBC asserts BGACK. After BGACK is asserted, BR is negated
to' allow the external arbiter to begin arbitration of the next bus master. The current bus master
only maintains control of the bus until it negates BGACK.

6.4.4 Bus Arbitration Control
The bus arbitration control unit in the TBC is implemented with a finite state machine. The state
diagram of this machine is shown in Figure 6-13. All asynchronous signals to the TBC are synchronized before they are used internally. This synchronization is accomplished in a maximum
of one cycle of the system clock. The input signal is sampled on the falling edge of the clock and
is valid internally after the next rising edge.

6.4.5 Reset Operation
The TBC is reset either by a host processor command passed to the TBC or by a hardware reset
from an external device. The host processor can issue a reset by passing the TBC a RESET
command (hex tiFF"). The hardware reset is accomplished by encoding reset on BECO-BEC2. A
reset encoding on the BEC lines should be asserted for at least ten clock cycles. Normally, the
TBC requires four clock cycles before it is ready to accept a subsequent command after either a
hardware or software reset.

MOTOROLA
6-10

MC68824 USER'S MANUAL

I
I

ANY STATE

RESET

NRM & REO
~

IDLE WAITS FOR
NRM TO REQUEST

NRM & BGF
BUS REOUEST
WAITS FOR NRM
TO OWN BUS

IDLE

NRM

NRM

!

REO &
NRM

BERRI (REQ &
((NRM & DTAC KII
(UNO & DTAC KII
(HALT & DTAC Kill

BUS REOUEST
WAITS FOR BGF
TO OWN BUS
NRM &
BGF

NRM & BGF

MASTER
ACTIVE

(HALT & DTACK & REOII RRT
RESET - RESET
NRM - NORMAL (NO EXCEPTIONI
REO - INTERNAL TRANSFER REOUEST
HALT - HALT
DTACK - DTACK ACTIVE
BERR - BUS ERROR
BGF - BUS GRANTED AND FREE
RTY - RETRY
RRT - RELINQUISH AND RETRY
UNO - UNDEFINED EXCEPTION

NRM

f

l

RTYI (DTACK &
REQ & UNOI

MASTER
WAITS FOR NRM

II

Figure 6-13. Bus Arbitration Unit State Diagram

6.5 BUS OVERHEAD TIME
In asynchronous bus systems, such as those defined for the M68000 Family, a certain amount of
time is used to synchronize incoming signals. This is "wasted time" since no data transfer activity
can take place during those periods. In many applications, the synchronization overhead time
required to switch bus masters must be known to predict system behavior.
For the TBC, there are two types of overhead:
Time for the TBC to take control of the bus (front-end overhead), and
Time that occurs when the TBC releases control of the bus to another bus master (back-end
overhead).
The timing diagram for the front-end and back-end overhead for the TBC is shown in Figure 6-

14.

6.5.1 Front-End Overhead
This overhead is the delay that occurs from the time that the host processor terminates a bus
cycle by negating AS to when the TBC starts the bus cycle by placing the function codes and
address information on the bus. It is assumed that BG is asserted and BGACK is negated prior
to negation of AS by the host processor so that no additional synchronization delays are introduced'
by those signals. After one synchronization delay plus one and a half clock cycles, the TBC asserts
BGACK to assume control of the bus and begin the DMA cycle. The front-end overhead is between
two-and-a-half and three-and-a-half clock cycles.

MC68824 USER'S MANUAL

MOTOROLA
a

11

S4

S6

SO

S2

S4

SO

S6 S7

S4

S2

SO

S6 S7

S2

CLK
IINPUT)

I

\

iiR

I

\

BG

AS

f'

\

BGACK

-.-l

I~

\
OTHER
BUS MASTER

-+ +- -+ +
FRONT·ENO
OVERHEAD

"---

{\

'\

f'

TBC
CYCLE

BACK·ENO
OVERHEAD

NEXT
BUS CYCLE

Figure 6-14. Bus Timing Diagram
6.5.2 Back-End Overhead
This overhead time is the delay between when the TBC has completed all operations and negated
AS, and the start of the next bus cycle which is controlled by another bus master. The TBC negates
the BGACK signal one cycle after the last bus cycle. One synchronization delay plus one-half clock
cycle later, the new bus master begins the next bus cycle.

6.6 REGISTERS
The following registers are user programmable: the command register (CR)' the data register
(DR), and the interrupt vector register (IV). Table 6-1 shows how the TBC registers are accessed
for 8-bit bus and Table 6-2 shows how the TBC registers are accessed using a 16-bit data bus.
Table 6-2. 16-Bit Bus Access
(CS=O and RIW=O)

Table 6-1. 8-Bit Bus Access
(CS=O and R/W=O)
A2

A1

AO

os

TBC Register

A2

A1

UOS

0

TBC Register

LOS

0

0

X

0

CR

0

0

X

0

1

X

0

IV

0

1

X

0

IV

1

0

0

0

DR- Byte 3

1

0

0

1

DR- Byte 3

1

0

1

0

DR -

Byte 2

1

0

1

0

DR -

Byte 2

1

1

0

0

DR- Byte 1

1

0

0

0

DR -

High Word

1

1

1

0

DR- Byte 0

1

1

0

1

DR -

Byte 1

1

1

1

0

DR -

Byte 0

1

1

0

0

DR- Low Word

MOTOROLA
6-12

CR

MC68824 USER'S MANUAL

SECTION 7
TBCINTERFACES
The TBC must be interfaced to a host processor, buffer memory, and the physical layer of the
communication medium.

7.1 TBC-TO-HOST PROCESSOR INTERFACE
Figure 7-1 illustrates the connection of the TBC to a MC68020 host processor, while Figure 7-2
illustratres the interface of the TBC to iAPX80186. For detailed descriptions of the bus signals see
SECTION 5 SIGNALS.

7.2 NON-M68000 BUS INTERFACE
The TBC has a programmable mode which allows use with non-Motorola byte ordered memory
structures. Figure 7-3 illustrates, for example, the comparison between the Intel 8086 and the
Motorola M680'OO memory configurations.
Information stored in a data buffer is assumed to be organized in bytes. The first byte is byte 0
and the last byte is byte 4. The TBC can internally swap the data on the bus according to the
swap bit in the SET MODE 3 command during TBC initialization. The byte swapping option is
limited to data that is transmitted or received in the data buffers. Initialization table entries and
pointers and control data in frame descriptors MUST be organized to the Motorola standard.
Another consideration besides byte order is control line usage. In case of the Intel 8086 Family,
the address lines always provide a full byte address using AO. A signal called BHEN is used to
indicate a data transfer on D8-D15. As a simple interface to Intel type devices, the TBC signals
can be utilized as follows: UDS is used as BHEN, LDS is used as AO. In a similiar manner, it is
possible to map bus arbitration schemes. In this case, the Intel HOLD function is similiar to
Motorola bus request, and HOLDA can be treated as bus grant. BGACK also provides extra
information to the system. In cases where the TBC may be enabled for unlimited DMA burst
cycles, the user may want to create a capability for the processor to request the bus immediately.
This can be accomplished in a potentially disruptive manner through encoding BERR on the BEC
lines, or in a more predictable manner through HALT or RETRY encodings.

MC68824

MOTOROLA

II

TBC

MC68020

CLOCK

+--

4

12.5 MHz TO 16.67 MHz

MHz TO

MHz

16.67

~

SA

elK

iiii
BG

BG
BGACK

BGACK
IRQ

IPLO

iPIT

lACK

IPL2

INTERRUPT
LOGIC

FCO
FCI
FC2

FCO
FCI
FC2
Al
Al·A31

A2

1
J

II
AS

A3

.

MMU~

1.
ADDRESS
DECODE

FC3
AI. A2
A3·A31

cs
AS

AD
DATA
STROBE
GENERATION

SIZO
SIZI

os

DSACKO

LOS

16 "

00·031

R/W

UDS

/

R/W

L~r

DSACKI
RESET
BERR
HALT

00·015

DTACK
BUS
EXCEPTIDN
LOGIC

BECO
BECI
BEC2

Figure 7-1. TBC to MC68020 Interface

MOTOROLA

MC68824 USER'S MANUAL

3:

n

en

co
co
~

I+--

MEMORY. I/O INTERFACE

c:

BUS CONTROL

r----

C/)

m

:JJ

en

<~

s:»

z
»
r-

c:
RD

[r,4lS373
I
{

WR
ALE

ADDRESS BUS

Y IY
74LS373

74LS373

~~

~">.

11

~

A16-A19

ADO-A015

SERIAL
INTERFACE

~AO~

L---V

TXSYMO-2 RXSYMO-2
Al-AI9

A20-A31

/'

'\,

;-----

~7

DTACK

BHE

ES

ARDY

CLOCK

LOS

52
51
SO
INTx

BEC2

UOS

80186
TO
TBC
INTERFACE

BECI

R/W

BE CO

lACK
IRQ

OTIA

Bii
74LS245

DEN

I

BGACK
74LS245

BG

L~
DATA BUS

$;

o

d
:::0
.0

)~

'"

"

8086/80186

-V

J l

00-015

TBC

DATA BUS TO MEMORY

Figure 7-2. TBe to iAPX 80186 Interface

II

CLOCK/
EXCEPTION/
RESET

MOTOROlA M68000

INTEl 8086

15

15
BYTE 0

BYTE 1

BYTE 2

BYTE 3

BYTE 1

BYTE 0

BYTE 3

BYTE 2

HIGH
ADDRESS

BYTE 4

EVEN BYTE

LOW
ADDRESS

ODD BYTE

BYTE 4
ODD BYTE

EVEN BYTE

Figure 7-3. Memory Organization

7.3 MAC SUBLAVER-TO-PHVSICAL-LAVER INTERFACE
This physical layer interface complies with the IEEE Draft Standard 802.4G. Physical data units
are sent and received as atomic symbols. To minimize the number of signal lines, the station
management functions required by the physical layer make use of the data lines. Thethree primary
functions of the interface are:
Physical Data Request Channel
In the MAC mode, this channel is used by the TBC to provide encoded requests for data
transmission.

II

Physical Data Indication Channel
In the MAC mode, this channel is used by the physical layer to provide encoded indications
of data unit reception to the TBC.
Physical Layer Management
In the station management mode, this interface also provides the ability to pass station
management requests, indications, and confirmations between the MAC device and the physical layer. Although management is not directly a MAC function, the MAC interface is used
as a channel to provide this service. The request channel consists of four basic signal lines.
These signal lines are synchronized to the transmit clock (TXCLK). The indication channel
also consists of four signals which are synchronized to the receive clock (RXCLK).
See 5.6 SERIAL INTERFACE for a detailed description of the serial interface.

MOTOROLA

MC68824 USER'S MANUAL

SECTION 8
ELECTRICAL SPECIFICATIONS
This section contains the electrical specifications and associated timing information forthe MC68824.
8.1 MAXIMUM RATINGS
Symbol

Value

Unit

Supply Voltage

Rating

VOO

-0.3 to +7.0

V

Input Voltage

Vin

-0.3 to +7.0

Operating Temperature
MC68824
MC688241

TA

Storage Temperature

TstQ

o to 70
o to 85
-55 to 150

V
°C

°C

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 voltage higher than maximum-rated voltages to this high-impedance
circuit. Reliability of operation is enhanced if
unused inputs are tied to an appropriate logic
voltage level (e.g., either GNO or VOO).

8.2 THERMAL CHARACTERISTICS
Characteristic
Thermal Resistance for PGA
TJ = TA + (PO-OJA)
Po = (VOO-IOO) + PI/O
where:
PlIO is the lower dissipation on pins (user determined) which can be neglected
in most cases.
For TA=70°C and PO=0.55 W @ 12.5 MHz
TJ=88°C

II

8.3 POWER CONSIDERATIONS

The average chip-junction temperature, TJ, in °C can be obtained from:
TJ = TA + (PO • OJA)
where:
= Ambient Temperature, °C
TA
= Package Thermal Resistance, Junction-to-Ambient, °CIW
OJA
Po
= PINT+PI/O
PINT = 100 x VOO, Watts - Chip Internal Power
= Power Dissipation on Input and Output Pins, Watts - User Determined
PliO

(1 )

For most applications PI/O co ..... CD Ln o:t" M N _
C
~cccccccccccccccc«cz

!:::! ==

:!

z

I~I~ ~

Pin-Grid Array
K

0

0

0

0A3 0

0AB

0

0

0

TXSYMOTXSYM2TXSYMl

J

II

H

E

0

0

0

0

A5

A9

A13

A15

A17

A19

0

0

0

0

0

0

0A20

0

0

0

0

o

0

Al

A4

A7

All

0

0

CLK

BECO

0

0

0
VOO

A

0

'

0

0A25

0

0

o

A2B

0

0

0

A31

0A29

0

0

0

0

0

CS

do
NC

UOS/AO

0

0

01

A27

0

0

0

0

002

005

0DB

011

0

0FC3 0FCO
0
015

0

0

0

0

0

03

4

MOTOROLA

A24

A26

AS

Q-?

AlB

BG

IRQ OTACK NOT USED DO

B

GNO

0

0A21 0A22 0A23

BEC2 SMREQ

BGACK lACK
C

0A14 A16
0

0

BR

0

0

A12

0

BECl
F

0

Al0

SMINO RXCLK RXSYMl A2
RXSYM2 RXSYMO TXCLK
G

A6

06

04

09

07

012

010

GNO

013

FCl

0

014

A30

0

FC2
10

MC68824 USER'S MANUAL

9.4 PACKAGE DIMENSIONS

FN SUFFIX
CASE 780-01
PLASTIC LEADED
CHIP CARRIER
YBRK

~D

~D

t - - - - - - - - - 1 I - A 1+10.18 (0.007)

®

I TIL Q)-M @I N Q)-p@1

VIEW 0-0

DETAIL S

1+10.25 (0.010)@

DIM

A
B

C
E
F
G
H
J
K
R
U·
V
W
X
y

Z
Gl
K1
Z1

MIWMETERS
MIN
MAX
30.10
30.35
30.10
30.35
4.20
4.57
2.29
2.79
0.33
0.48
1.27 BSC
0.66
0.81
0.51
0.64
29.21
29.36
29.21
29.36
1.07
1.21
1.07
1.21
1.07
1.42
O.SO
2°
10°
28.20
28.70
1.02
2°
lD"

MC68824 USER'S MANUAL

-

-

INCHES
MIN
MAX
1.185
1.195
1.185
1.195
0.165
0.180
0.090
0.110
0.013
0.019
O.OSO BSC
0.026
0.032
0.020
0.025
1.1 SO
1.156
1.ISO
1.156
0.042
0.048
0.042
0.048
0.042
0.056
0.020
2°
10°
1.110
1.130
0.040
2°
10°

-

II

NOTES:
1. DUE TO SPACE LIMITATION, CASE
780-01 SHALL BE REPRESENTED
BY A GENERAL (SMALLER) CASE
OUTLINE DRAWING RATHER THAN
SHOWING ALL 84 LEADS.
2. DATUMS ·L·, ·M·, ·N·, AND .p. DETERMINED
WHERE TOP OF LEAD SHOULDER EXIT PLASTIC
BODY AT MOLD PARTING LINE.
3. DIM Gl, TRUE POSITION TO BE MEASURED AT
DATUM ·T·, SEATING PLANE.
4. DIM RAND U DO NOT INCLUDE MOLD
PROTRUSION. ALLOWABLE MOLD PROTRUSION
IS 0.25 (0.010) PER SIDE.
5. DIMENSIONING AND TOLERANCING PER ANSI
Y14.5M, 1982.
6. CONTROLLING DIMENSION: INCH.

MOTOROLA
9-3

RCSUFFIX
CASE 793·02
PIN GRIO ARRAY

K ® ® ® ® ® ® ® ® O~HQt-t-..L­
J®®®®®®®®®o
H®®®®®®®®®®
G®®®
®®®
F®®®
®®®
E~®®
®®®
O®®®
®®®
C®®®®@)®@)®®®
B®®@)@)®®®@)®®
A®®@)®@)®®®®®

A

1

2

3

4

5

6

7

8

9

10

NOTES:
1. DIMENSIONS A AND BARE DATUMS AND T IS
A DATUM SURFACE.
2. POSITIONAL TOLERANCE FOR LEADS: (84 PL)
,., cfJO.13 (0.005) <9, T' A ® 'B ®
3. DIMENSIONING AND TOLERANCING PER
Y14.5M, 1982.
4. CONTROLLING DIMENSION: INCH.

I

II

DIM
A
B

C
D
G
K

MOTOROLA
9-4

MILLIMETERS
MIN
MAX
27.43
27.43
2.03
2.67
0.43
0.61
2.54 BSC
3.56
4.95

-

INCHES
MIN
MAX
1.080
1.080
0.080
0.105
0.017
0.024
0.100 BSC
0.140
0.195

-

MC68824 USER'S MANUAL

APPENDIX A
IEEE 802.4 OPERATION
The IEEE 802.4 token bus standard defines a broadcast protocol where all stations on the network
hear everything (or a portion of everything) that is transmitted. While the station holds the token,
it has the right to transmit. All stations on the network do not have to be involved in token passing.
There may be stations that just "listen" or stations that only respond to special requesLwith_response frames. Every station has the capability to detect and correct network error
conditions such as multiple tokens or 'lost tokens. This means that no special "monitor" stations
are required.

A.1 FUNCTIONS

The non-error condition functions of the token bus medium access control layer are to maintain
steady state operation by passing the token, establish a logical ring on initialization, and allow
stations to enter and leave the logical ring without disrupting the network. The error related
functions are to recover from multiple tokens, lost tokens, token pass failures, non-operating
receivers and transmitters, and duplicate station addresses. Explanation of error related functions
are not presented here. Descriptions may be found in the IEEE 802.4 standard.

A.2 STEADY STATE OPERATION

TERMS
This Station (TS)
The address of the station that the discussion is in reference to
Previous Station (PS)
The address of the station that TS gets the token from
Next Station (NS)
The address of the station that TS passes the token to
During steady state operation, the token is passed from the highest addressed station in the
network to the next highest addressed station, in descending order of address to the lowest
addressed station, then back to the highest addressed station. This circular passing of the token
forms a logical ring. Each station knows its previous station (PS), its next station (NS), and its
own station address referred to as this station (TS). PS and NS are dynamically determined by
the token bus protocol. Each station is allowed to hold the token for a user programmed amount
of time. The addition of all the maximum amounts of time each station may hold the token plus
the propagation delay equals the maximum token rotation time. The maximum token rotation
time is a measure of the worst case time between each station's opportunity to transmit.

MC68824 USER'S MANUAL

MOTOROLA
A-1

A.3 INITIALIZATION

TERMS
Slot Time
A measurement of time consistent throughout the network which is defined as the maximum
amount of time any station need wait for an immediate response from another station. It is
primarily dependent on the worst case station delay in the network. The mathematical formula
is given in 2.1.24 Slot Time.
Bus Idle (Inactivity) Timer
A timer within the Token Bus Controller MAC that determines how long the station will listen
to silence before trying to initialize the logical ring. This timer is set at seven slot times unless
it is the lowest addressed station when it is set to six slot times.
"Claim-Token" Control Frame
Control frame sent to initialize the logical ring. Any station that has not heard anything on
the bus for a specified time (the inactivity timer expired), will send a "claim-token" frame
to start the initialization sequence. A "claim-token" frame has a data field length of zero,
two, four, or eight slot times, depending on the address of the station.

II

Initialization of the logical ring is a special case of adding new stations. One station on the network
will claim the token and the algorithm is set up such that the station who claims the token is the
highest addressed station. Each active station on the network monitors the medium. If nothing
happens for a specified length of time, that station's bus-idle (inactivity) timer times out. When
the bus-idle timer expires, the station sends a "claim-token" control frame. The length of the
"claim-token" frame information field is in multiples of slot time (zero, two, four, or six) and is
determined (the first time) by the two most significant bits in the station's address. Having different
lengths of the "claim-token" frames is done in anticipation that more than one station will attempt
to establish the logical ring at the same time. After a station sends a "claim-token" frame, the
station waits one slot time for its transmission to die out, then samples the cable. If the station
hears non-silence, it knows that a station with a higher address is also attempting to establish a
logical ring, so the lower addressed station (TS) defers initialization to the higher addressed station.
If the station heard silence, it sends another "claim-token" frame with the next two significant
bits of its address determining the length of transmission. When all the address bits have been
used in the above manner plus one more claim token frame whose length is determined by two
random bits and silence is still sensed, the station has won the initialization sequence and now
holds the token. The logical ring is built from here by adding new stations as described in the
following paragraphs.

A.4 PASSING THE TOKEN

TERMS
"Token" Control Frame
A bit pattern used to determine when a station can transmit
"Who-Follows" Control Frame
Control frame used to determine who the station is that is the successor to this station's NS,
which is contained in the data field of the frame. A "who-follows" frame is used to skip over
a non-working station to delete it from the logical ring. After this frame is sent, the sending
station waits three slot times for a response. An appropriate response is a "set-successor"
frame.

MOTOROLA
A-2

MC68824 USER'S MANUAL

"Set-Successor" Control Frame
Control frame which tells the requesting station who its successor should be. It is an appropriate response to any "who-follows" or solicit-successor" control frame. Its destination
address is equal to the source address of the last frame received. Its data unit is equal to the
station's NS or TS.
II

"Solicit-Successor-2" Control Frame
Used to allow stations to enter the logical ring if it is the lowest addressed station in the
network. Also, it is used to allow any station to respond when the station does not know the
state of the network. Two response windows always follow this frame.
A station passes the token by encoding it in the MAC frame control field of a frame addressed to
its successor. After the token is sent, the station listens to the medium to make sure the token
pass has been completed successfully. If the sending station hears a valid frame, it assumes its
successor has received the token correctly and is transmitting. If the sending station hears an
invalid frame, it will wait and listen for up to four slot times. If anything is heard during those
four slot times, the sending station assumes its successor has the token and is operating correctly.
If, in those four slot times, the sending station still does not hear anything, it assumes it was the
garbled token frame that it heard. The sending station will repeat the token pass once and listen
to the medium again. If nothing is heard again within the four slot times, the sending station
assumes its successor has failed. The sending station will now send a "who-follows" frame with
its successors address in the data field of the frame. All the stations on the network compare this
address to the address of their predecessor and if they match, that station will send a set-successor"
frame with its address in the data field. The sending station now knows who its new successor
is and has deleted the failed station out of the ring. If the station hears no response to the
w ho_follows" frame, it sends a solicit-successor_2" frame with its address as both the source
address and destination address, asking any station in the network to respond. Any operational
station within the logical ring should respond to this control frame. If no station responds to the
"solicit-successor-2" frame, the station gives up trying to maintain the logical ring and waits for
any activity on the network.
II

II

II

A.5 ADDING NEW STATIONS

TERMS
Any-Send-Pending
A boolean that indicates that there is something in the transmit qu·eues to transmit for this
station.
In-Ring-Desired
A boolean that indicates whether the station wishes to be a part of the logical ring, even if
it has nothing to send.
"Solicit-Successor_1" Control Frame
Control frame used to allow stations between TS and NS to enter the logical ring. One
response window always follows this frame.
Response Window
Measured in slot times, the response window is opened after a MAC control frame to hear
a response. The parameter max-in·ter-solicit-count determines how often a station attempts
to open a response window.

MC68824 USER'S MANUAL

MOTOROLA
A-3

_
_

New stations attempt to join the logical ring when their any-send-pending or in-ring-desired
parameters become true. New stations are added to the logical ring through a controlled contention process. On each rotation of the token for each station, the current token rotation time
(measured by the ring maintenance timer) is compared to the value set by station management
(max-ring-maintenance-rotation-time). If the ring maintenance timer value is less than the
max-ring-maintenance-time value, that station will let a "new station enter if the new station's
address is between its address and the address of its successor. This occurs by the station sending
out a "solicit-successor-1" control frame with its address and the address of its successor. Then
the sending station waits one response window (one slot time before a station starts transmitting)
for a station to begin to answer that it is within that range. Responding stations send this soliciting
station a "set-successor" frame with its address in the data field so the soliciting station will
make the responding station its new successor. It is possible for more than one station to respond
to the "solicit-successor" at the same time. If this happens, the soliciting station sends a "resolve
contention" control frame which works much like the initialization algorithm.
A.6 PRIORITY
The priority option within the IEEE 802.4 standard is implemented by the token bus controller.
This option allows more important messages to be transmitted the next time the station receives
the token, and less important messages to be transmitted when important messages do not need
to be transmitted. There are four priority queues (access classes) for receive and four priority
queues (access classes) for transmit. These access classes are six, four, two, and zero, with six
being the highest access class. LLC has eight access classes defined. These eight access classes
are mapped into the MAC access classes by the MAC ignoring the least significant bit.
The TBC always receives frames that are destined to it, and places them in the appropriate priority
queue. The TBC only transmits out of enabled queues. The user enables the queues in the transmit
status area of the private area (see 2.1.15 TX Queue Access Class Status). Any combination of
transmit queues may be enabled.

II

When a station receives a token and all the transmit queues are enabled, the station transmits
out of transmit queue six until it either has nothing more to transmit, or the
hi-priority-token-hold-time expires. If the station has finished transmitting its queue six frames
or the hi-priority-token-hold-time has expired, the TBC will then check to see whether it has
frames in a lower access queue to transmit. If transmit queue four has frames to transmit, the
TBC checks the target rotation time for access class queue four which has been set by station
management. If this target rotation time has already been reached, the station can not transmit
out of this transmit queue and checks the next lower transmit queue. If this target rotation time
has not yet been reached, the station will transmit out of this priority queue until either it has no
more frames of this priority to send, or the target rotation time for the access class queue has
been reached. Then the station checks the target rotation time for the next lower transmit queue
and so on. When the lowest transmit queue is serviced, the station performs any logical ring
maintenence if it is required, and then passes the token to its successor.

NOTE
This is only a summary of a portion of how the IEEE 802.4 standard works. For more
information, refer to the IEEE 802.4 standard 1987. This can be purchased from:
IEEE Headquarters
345E 47th Street
New York, NY 10017-2394
Telephone: (212) 705-7960

MOTOROLA
A-4

MC68824 USER'S MANUAL

APPENDIX B
FRAME FORMATS AND ADDRESSING
B.1 FRAME FORMATS AND ADDRESSING
The frame format used in an IEEE 802.4 network is as follows:

I Preamble I SO I FC I DA I SA I Data I FCS I ED I
Where:
Preamble
SO
FC
DA
SA
Data
FCS
ED

= Pattern

used to set receiving modem's clock and level
(one or more octets)
= Start Delimiter (one octet)
= Frame Control (one octet)
= Destination Address (two or six octets)
= Source Address (two or six octets)
= Information (zero or more octets)
= Frame Check Sequence (four octets)
= End Delimiter (one octet)

B.1.1 PREAMBLE
Preamble preceds every transmitted MAC frame. It is used primarily for the receiving modem to
acquire signal level and phase lock by using a known pattern. Preamble is also used to give
stations a minimum amount of time to process a frame previously received. The amount of
preamble transmitted depends on the data rate and modulation scheme. Preamble must always
be a minimum of 2 microseconds regardless of the data rate and an integral number of octets
must be sent. Therefore, on a 10 Mbitlsec network, three octets of preamble is the minimum. The
maximum preamble length is constrained by the jabber control in the physical layer.

B.1.2 START DELIMITER
The start delimiter informs the modem that a frame is coming. The signaling patterns of the start
delimiter are always distinguishable from data. The start deliminter is represented as follows:

I

First Bit Transmitted

o

I

0

Most Significant Bit
N = Non Data
o = Zero

MC68824 USER'S MANUAL

MOTOROLA
8-1

B.1.3 Frame Control
The frame control field determines the type of frame. The three types of frames are MAC control,
LLC control, and station management. A MAC control frame looks as follows:
First Bit Transmitted

o

C

C

C

C

I I
C

C

Most Significant Bit
Where:

c

c

c

c

c

c

0

0

0

0

0

0

claim_token

0

0

0

0

0

1

soliciLsuccessoL 1

0

0

0

0

1

0

soliciLsuccessor_2

0

0

0

0

1

1

who_follows

0

0

0

1

0

0

resolve_contention

0

0

1

0

0

0

token

0

0

1

1

0

0

seLsuccessor

Data frames are represented as follows:
Bits 0
First Bit Transmitted
M

M

p

p

M

p

Most Significant Bit
Where:
Frame Type

MAC Action

E.-f

o

1

1
1

0

LCC Data Frame
Reserved (Former Systems Management)
Reserved

1
M

M

M

0

0

0

0

0

1

0

1

0

Priority

Request with No Response
Request with Response
Response
P

P

P

1
1
1
1

1
1

0

0
0
0
0

I

1 Highest Priority

0

1

0

0

1
1

0

1

0

1

0

0 Lowest Priority

(6)
(6)
(4)
(4)
(2)
(2)
(0)
(0)

For example, an LCC data frame of priority six would have a frame control field in the TBC frame
.
descriptor as follows:
Bits
Frame Control

MOTOROLA
8-2

MC68824 USER'S MANUAL

B.1.4 Address Fields
Addresses may be either 16 or 48 bits in the TBC as set in bit 14 of offset 7A in the initialization
table upon initialization. All addresses on a local area network must be of the same length. The
least significant bit of the destination address determines if the address is individual or group (II
G bit). The IIG bit in the source address field is reserved by IEEE 802.4. The next least significant
bit determines if a 48-bit address is locally administered or globally administered. Globally administered addresses are unique throughout the world and are assigned by IEEE.
B.1.5 Data
The number of octets between the start deliminiter and the end deliminiter must be 8191 or fewer,
not counting SO and ED. The least significant bit is always transmitted first.
B.1.6 Frame Check Sequence (FCS)
The FCS is a 32-bit frame check sequence. The TBC always performs a frame check sequence on
incoming frames. The TBC always generates an FCS for transmitted frames unless the TCDS bit
is set in the SET MODE 3 command. If this mode is selected, the TBC treats the last four bytes
of data as the FCS. The user may also choose to write the FCS to memory through the SET MODE
3 command. The TBC can accept frames with an incorrect FCS by setting the receive error mask
in the initialization table appropriately. The term CRC (cyclic redundancy check) is used synonymously with FCS throughout this document.
B.1.7 End Delimiter
The end delimiter ends the frame and determines the position of the FCS. The end delimiter
consists of signalling patterns that are always distinguishable from data. The end delimiter is
represented as follows:
First MAC Symbol Transmitted
ININlllNINll

liE
Most Significant Bit

N=Non Data
1=One
I = Intermediate Bit ("1" - More to Transmit, "0" - End of Transmissionl
E= Error Bit ("0" - No Error, ''1'' - Error)

B.1.8 Invalid Frames
An invalid frame is defined by IEEE 802.4 to meet at least one of the following conditons:
1. Identified as invalid by the physical layer (contains non-data or invalid symbols).
2. Is not a integral number of octets in length.
3. Does not contain the proper fields or the fields are in an improper order.
4. The FCS computation fails.
5. The frame control field contains an undefined bit pattern.
6. The error bit is set to one.

MC68824 USER'S MANUAL

MOTOROLA
8-3

II

B.1.9 Abort Sequence

An abort sequence prematurely terminates the transmission of a frame. The abort sequence is
sent by a station that does not wish to continue to send a frame it has already begun sending.
The TBC will automatically generate an abort sequence if the conditions require it to do so. For
example, the TBC will generate an abort sequence if it gets an underrun condition while trans- .
mitting a frame. The abort sequence is a start delimiter immediately followed by an end delimiter
and is represnted as follows:
First Svmbol Transmitted

I

I

E

B.2 ADDRESSING

IEEE 802.4 uses the IEEE addressing notation and two types of addressing: individual and group.
Individual addressing identifies a particular station and group addressing identifies a group of
logically related stations. These two types of addresses are differentiated by the least significant
bit in the destination address field of the frame.
B.2.1 IEEE Addressing

The IEEE globally administered 48-bit address contains 12 hexadecimal digits with each digit
paried in groups of two. The bits within each octet or pair, are transmitted from the least significant
bit to the most significant bit. For example, an address supplied by IEEE is represented as follows:
FO-2E-15-6C-77-9B
It would be transmitted onto the local area network as follows:
First Bit Transmitted
0000 1111 0111 0100

1010

1000 0011

0110

1110

1110 1101

1001

This address would appear in the TBC private area as:
TS Low

Least Significant Bit
2EFO
TS Medium 6C15

TS High

9B77

This address would appear in the TBC frame descriptor as:
Offset 28

II

502E

Offset 30

156C

Offset 32

779B

B.2.2 Individual Addressing

The individual address, or this station (TS), of a station is set during initialization through the
initialization table. The TBC also contains an individual address mask that allows the station to
accept individually addressed frames for more than one station. The individual address mask is
also set on initialization through the initialization table. This means the TBC can be used in the
configuration below. In this example, station 0036 is the only member of the logical ring and
therefore the only station to receive and send the token. Station 0036 will receive frames addressed

MOTOROLA
8-4

MC68824 USER'S MANUAL

TOKEN BUS

TBC 0036

STATION 0030

STATION 0032

STATION 0034

The IA mask is not applied to control frames and the IA mask least significant bit should always
be zero. If the IIG bit is zero indicating individual addressing, the following opertion is performed
to determine whether to accept the frame:
DA AND IA Mask=This Station Address (TS) AND IA Mask

Some examples are shown below. All examples have this station address (TS) equal to 0036 hex
and an address length of 16 bits.
To accept only data from this station (DA=TS), the IA mask is set as below:
IA Mask=

1111

1111

1111

1110

(FFFE hex)

To accept data frames that are for one of the four stations 0030, 0032, 0034, or 0036:
IA Mask=

1111

1111

1111

1000

(FFF8 hex)

To cite a specific example, if the destination address of an incoming frame is set to 0032, the
operation for acceptance of the frame is performed by the TBC as follows:'
0032 (DA) ANDed with FFF8 (lA Mask) = 0036 (TS) ANDed with FFF8 (lA Mask)
Since the equation is true, the frame is accepted. A binary representation of the acceptance
equation is shown below:
DA
=0000
IA Mask
= 1111
DA AND IA Mask:
IA Mask
=0000
TS
=0000
IA Mask
= 1111
TS AND IA Mask:
TS
=0000

0000
1111

0011
1111

0010
1000

0000
0000

0011
0011

0000
0110

1111

1111

1000

0000

0011

0110

=0030 hex

II

=0030 hex

The equation would also be true if DA=0030, 0031, 0033, 0034, 0035, and 0036 so frames with
these DAs would also be accepted.
To accept data frames that are only for one of the two stations 0036, 0136:
IA Mask

= 1111

MC68824 USER'S MANUAL

1110

1111

1110

(FEFE hex)

MOTOROLA
8-5

The source address identifies the station originating the frame and has the same format as the
destination address, except the individual/group bit is always set to zero.
B.2.3 Group Addressing
The TBC recognizes group addressing when the I/G bit (least significant bit of the destination
address) is equal to one. Only information frames can have group addresses. Messages are sent
to only one group, but each station may belong to many groups. Therefore, if the sending station
wants to send a message to multiple groups, a separate message is sent to each group, one for
each group address.
The group address may be divided into as many fields as the user requires different groups. In
the following example, four fields make up the 48-bit group address, even though not all 48 bits
are used. Unused bits are set to zero. Within the example network, the following group address
field definition is used:
Bit #

o

9 10

3 4

o

Floor #

0
0
0
etc.

001 Floor 1
010 Floor 2
100 Floor 3

Cell #
000001
000010
000100
001000

Cell
Cell
Cell
Cell

Project ID
1 000001 Proj.
2 000010 Proj.
3 000100 Proj.
4 001000 Proj.

47

15 16
21 22
Department ID

Zeros

1 000001 Dept.
2 000010 Dept.
3 000100 Dept.
4 001000 Dept.

Zeros
Zeros
Zeros
Zeros

1
2

3
4

Example of Group Address Mask
Bit #

o

3 4
010 Floor 2

9 10

001000 Cell 4

15 16

47

21 22

000011 Proj. 1 000010 Dept. 2
Proj.2

000 .... 00000

The equation for accepting a group address (GA) frame:
Destination Address (DA) AND GA Mask= DA
To calculate the value for the group address mask field, the logical OR of the group address is
used. For example, if a station is a member of both projects 1 and 2, the station's group address
mask segment for the department ID portion should be set to the logical OR of the group address
field or 000011. The same is true for the rest of the fields. When assigning group addresses, zeros
should be used in any field the station doesn't use. By carefully dividing the address into fields,
a large number of group addresses may be supported.

II

A broadcast address is a group address that is all ones. A broadcast addressed frame will go to
all stations on the network regardless of IA and GA masks.
B.2.4 Promiscuous Listener
The TBC can be programmed to operate in a special mode called "promiscuous listener" mode.
In promiscuous listener mode, a station records everything on the network. This mode is implemented by setting the individual address mask to all zeros (receive all frames), setting the group
address mask to FFF (receive all group addressed frames) and setting copy for all control frames
as data (through the SET MODE command).

MOTOROLA
B-6

MC68824 USER'S MANUAL

APPENDIX C
BRIDGING
C.1 INTERCONNECTION OF NETWORKS
Bridges, routers, and gateways are all used to interconnect networks. Bridges are the simplest of
interconnecting devices and are defined to connect similar networks by using only the first two
051 layers. Routers, also referred to as "level 3 relays", are more complicated than bridges and
utilize the ISO 051 level 3 function of segmenting. Gateways, also referred to as "level 7 relays",
are the most complicated of interconnecting devices and connect networks with different protocol
architectures. The type of interconnecting device used depends on the networks being connected
and the performance required.
MAC bridges are specified by IEEE 802.1 and the MAP specification because of MAP's requirements
for performance, transparency, ease of use and cost. Bridges have the best performance of any
interconnecting device since they connect only similar LANs and do not require much software
to operate. The end user never needs to know where a station that it addresses physically resides,
meaning bridges are transparent. When nodes change location within an extended LAN, little or
no human or LAN intervention is required using bridges as interconnecting devices, making them
very easy to use and maintain. Since bridges have the least amount of hardware and software
of any interconnecting device, they are the least expensive to implement.
Examples of where bridges are intended to be used are given in the MAP specification and include:
connecting two or more identical LANs, multiplying the maximum allowable nodes and maximum
allowable cable distances without affecting the token rotation times of each segment (a bridge is
not a repeater); connecting LANs with different data rates (connecting 10 Mbps 802.4 broadband
to 5 Mbps 802.4 carrierband); and connecting two different broadband channels on a broadband
backbone. When using a bridge, it is important to consider the different frame length limitations
of the segments being connected.
There are many different ways to implement bridging. Some of the different ways the TBC may
be used to implement bridging are described in the following paragraphs.

C.2 HIERARCHICAL ADDRESSED BRIDGING
The hierarchical addressed bridging mechanism requires a hierarchy of address assignment to
easily "filter" the appropriate frames into or out of segments. The discussion here focuses on
the TBC MAC capabilities in hierarchical addressed bridges and how to use them. A typical
interconnected network is shown below connected with hierarchical bridges.
Each hierarchical bridge is made up of two MAC entities. One MAC entity belongs to the logical
ring of the network above it (upper bridge) and one MAC belongs to the logical ring of the network
below it (lower bridge). The upper bridge takes frames that are destined for networks below it
and passes them down to the lower bridge for transmission onto the lower network. The lower
bridge takes frames that do not belong on the lower network, or on any networks below it, and

MC68824 USER'S MANUAL

MOTOROLA

C-1

IE

passes them up to the upper bridge to be transmitted onto the upper network. Both upper and
lower bridges use the TBC individual address mask to consider only that part of the address that
is relevant to it.

BACKBONE BUS

UPPER BRIDGE

UPPER BRIOGE

B

A

LOWER BRIDGE

LOWER BRIDGE

UPPER BRIDGE

UPPER BRIDGE

UPPER BRIDGE

UPPER BRIDGE

LOWER BRIDGE

LOWER BRIDGE

LOWER BRIDGE

LOWER BRIDGE

C.2. ~ Hierarchical Addressed Bridging Implementation
Each upper bridge in the above figure is responsible for passing information down from the
backbone. In the addressing scheme, the address field can be logically divided into regions. For
example, the two most significant bits of the address differentiate which region the frame goes
to; the next two significant bits of the address differentiate which segment the frame goes to;
and the four least significant bits differentiate which station the frame goes to. For simplicity in
the following example, we assume that only those eight bits form the address.
Bridges A and B recognize frames for regions 1 and 2 respectively. Bridges C, D, E, and F recognize
frames for their respective segments. As an example we'll follow a frame with a destination
address of 1010 0101 (region 1, segment 1, station 5).

I

The equation individual address (lA) AND destination address(DA) = IA AND this station (TS) is
true, so bridge A accepts the frame. If the example were using a group address, the equation
would be GA mask AND DA=DA.

MOTOROLA
C-2

MC68824 USER'S MANUAL

Bridge B's individual address mask is set to CO. The address mechanism would work as follows:
IA
DA
IA AND DA

1100 0000
1010 0101
1000 0000

IA
TS
IA AND TS

1100 0000
01xx xxx x
0100 0000

The equation individual address (lA) AND destination address (DA) = IA AND this station (TS) is
not true, so bridge B does not accept the frame.
Bridge C's individual address mask is set to 03. The address mechanism would work as follows:
IA
DA
IA AND DA

0011 0000
1010 0101
0010 0000

IA
TS
IA AND TS

0011 0000
0010 xxxx
0010 0000

The equation individual address (lA) AND destination address (DA) = IA AND this station (TS) is
true, so bridge C accepts the frame.

C.2.2 Lower Bridges
Each lower bridge is responsible for passing frames up from the segment to the backbone. In
order to be a lower bridge, the LBRM bit must be set using the SET MODE 2 command. In lower
bridge mode, the bridge will forward frames only when the frame is not addressed to a station
below the bridge (lA mask AND DA are not equal to IA mask AND TS or GA mask AND DA are
not equal to DA). This means that lower Bridge C will forward to region 1 only those frames which
do not belong in segment 1.

C.3 FLAT ADDRESSED BRIDGING OVERVIEW
Flat addressed bridges can interconnect segments where the addresses have been assigned
randomly. A Spanning Tree uses'flat addresses yet it is a hierarchical bridge. The Spanning Tree
approach is currently being investigated by the IEEE 802.1 committee.
A table of translations is required at each station in some flat addressed bridging schemes such
as IBM defined source routing. In source routing, the route taken by, or chosen for a frame as it
traverses the network is reflected in the routing information field which is imbedded in the frame
itself. Source routing is being proposed by the IEEE 802.5 committee for interconnection of 802.5
segments. The token bus controller provides the MAC functions necessary to implement a source
routing bridge or station, making it possible to interconnect 802.4 segments into 802.5 networks
or to other 802.4 segments. Stations not implementing source routing can coexist on the same
segment (network) with stations that do use source routing, but cannot send messages through
bridges using source routing.
If a station wishing to send a frame to another segment already knows the routing information
on how to get it there, the station sends the frame with the routing information imbedded in the
routing information field of the frame. If the station that wishes to send the frame does not know
the routing information on how to get there, the station can dynamically discover the necessary
routing information. The routing information is obtained by the station sending a "broadcast"
frame which travels over every bridge in the network, eventually reaching its destination. On their
way, broadcast frames record where they have been. If a bridge receives a broadcast frame which
, has already been on the segment it connects to (it finds its identifier in the routing information

MC68824 USER'S MANUAL

MOTOROLA
C-3

II

field), it does not retransmit that frame. When the destination station receives the frame, it responds using the route noted in the frame. Multiple frames may reach the destination station
because of different routes that exist, and each of these multiple frames received will be sent
back to the originating station by the route that it took to get to the target station. The sending
station will choose which route to save in its routing table according to different rules. Examples
of these rules include: the frame that was received first, or the frame that took the shortest path
(went through the least number of bridges).
There also exists a limited broadcast mode, chosen by the SRLB bit in the SET MODE 2 command,
in which only those stations that are in limited broadcast mode may rebroadcast a broadcast
frame. This reduces the number of frames the receiving station gets by strategically placing the
limited broadcast stations, thus reducing the amount of traffic on the network.

C.3.1 Source Routing Implementation
The source routing mechanism is implemented when the source address (SA) JIG bit is equal to
one. In the IEEE 802.4 standard, the SA IIG bit equal to one is reserved for future use. When using
source routing, the routing field is a subset of the data field of the 802.4 standard. The frame
format is shown as follows:
NORMAL 802.4 FRAME
SD

FC

SA

DA

DATA

FCS

ED

FCS

ED

SOURCE ROUTING IMPLEMENTED
SD

FC

DA

SA
IG=1

RI

DATA

The routing information (RI) field is present only when the SA field least significant bit, referred
to as the routing information indicator, or RII bit, is set to one. The RI field can be from 2 to 30
octets. If the RII bit is equal to zero, a routing information field is not present. If this bit is one in
a control frame, the frame is considered invalid and is treated as a noise burst. If this bit is one
in a data frame and recognize source routing (RSR) is not enabled in the TBe, the TBe treats the
frame as a normal frame. If this bit is one and RSR is enabled, the frame is accepted if the
destination address matches the specified criteria set by the host or if the RI field specifies that
the frame is to be routed to another segment via the TBe. In this case, the RI field is copied to
the first data buffer like normal data. Note that lower bridge mode and recognize source routing
mode are mutually exclusive modes. If both mode bits are set, RSR dominates. The routing
information field has the format shown below.

-------

RC Field
RC

------- - - - - RD Fields - - - - - - - -

Where:
RD1
RC The Routing Control (2 Octets)
RD Route Designators (2 Octets Each)

MOTOROLA

C-4

RD2

RDn

MC68824 USER'S MANUAL

The format of the routing control octets is shown below:
D

c

B

Broadcast

A
Length

D

Reserved

Broadcast
The coding is as follows:
OXX - Non-Broadcast
10X - All Routes Brodcast
11X - Limited Broadcast
Where an X indicates don't care.
Non-broadcast frames always contain the specific route through the network which the frame
will take. All routes broadcast frames are transmitted on every route to the destination address.
Limited broadcast frames are only retransmitted by bridges who are in the special limited
broadcast mode. This restricts the number of routes a broadcast frame will take, thus reducing
the traffic on the network.
Length
The length of the RI field, including the control field and the route designator field is measured
in octets. The length field consists of five bits.
D-

Direction Bit
The direction bit indicates to a bridge whether a frame is travelling from the originating
station to the target or vice versa. This bit allows the route designators to appear in the same
order regardless of the direction of transmission.

Reserved Bits
Reserved bits are set to zero when transmitting, and ignored when receiving.
When the recognize source routing (RSR) bit is set by the SET MODE 2 command, the TBC provides
source routing based frame reception in addition to normal address based frame reception. The
TBC does not by itself provide a bridge function but does receive and transmit frames containing
the source routing fields as any other MAC frames. Frames are copied based on recognition of
a segment pair as described in route designators. To implement a bridge, a MAC function (such
as the TBC) for each segment the bridge is attached to is required, as well as a host to provide
the additional bridge functionality.
C.3.2 Route Designators
Route designators (RDs) are pairs of octets which indicate the specific segments and bridges
through which the frame passes. Route designators contain bit strings with no arithmetic significance; i.e., concepts like addition, subtraction, greater than, or less than, do not apply to route
designators. Thus, the two bytes of an RD can not really be described as high and low, or most
significant and least significant. What is preserved in all 802 LANs is the byte transmission order.
The bit transmission order of each octet depends on the type of MAC. IEEE 802.4 transmits the
least significant bit first.
Each route designator can be shown as follows:
RDl
Byte 0

RD2
Byte 1

MC68824 USER'S MANUAL

Byte 0

Byte 1

MOTOROLA
f'_h

III
iii

The first byte to be transmitted is byte 0 and the second byte to be transmitted is byte 1. The
TBe data buffer looks as follows:
INTEL MODE

MOTOROLA MODE
15

15
RC

RC

RDI
BYTE 0 BYTE 1

RDI
BYTE 1 BYTE 0

RD2
BYTE 0 BYTE 1

RD2
BYTE 1 BYTE 0

...

...

In order to perform source routing based reception, the TBe requires three parameters: SID, TID,
and SR-MASK. The initial values of these parameters are taken from the initialization table. They
may be chan.ged during operation by the SET VALUE command. They have the following format:
15
INIUABLE
PRIVATE_AREA

+ IE
+ IE

SR_SID
BYTE 1 BYTE 0

INIUABLE
PRIVATCAREA

+ 20
+ 20

SRJID
BYTE 1 BYTE 0

INIUABLE
PRIVATE_AREA

+22
+ 22

SR_MASK
BYTE 1 BYTE 0

As proposed by IEEE 802.5, each RD has the following format:'
15

I

SEGMENT NUMBER

4 3

I

0

BRIDGE NUMBER

I

The segment number identifies a specific segment. The bridge number identifies a specific bridge
between that segment and another segment. Thus, two segments connected by three different
bridges would have three different bridge numbers creating three distinct routing designators.
Bridge numbers are local to segment pairs, meaning bridge numbers can be the same as long
as they are not connecting the same two segments.
Source 10 (SID) is the identification of the segment where the frame comes from. The target 10
(TID) is the identification of the segment where the frame is going to. The source routing mask
(SR MASK) is a two-octet parameter defining which bits in the RDs are the segment number
(denoted by a "1") and which bits are the bridge number (denoted by a "0"). The definition of
the RD currently calls for 12 bits for the segment number and four bits for the bridge number, or
a mask of FOFF. For broadcast frames with the RI bit set, the TBe will scan the RII field of ordered
RD pairs and accept frames based on the value of SR SID and SR TID. On non-broadcast frames,
accept/reject criteria are based on the values of SR SID and SR TID.

rill

C.3.3 Source Routing Operation
When a station wants to send a frame to another station on a different LAN, it first sends a
broadcast frame to all segments. (The host must prepare the frame, the TBe transmits it). In this
frame, the routing information indicator (RII bit) is set to one, the broadcast field is set to 1XX,
and the direction bit is set to zero. The source address is the individual address of the transmitter,

MC68824 USER'S MANUAL

and the destination address is the individual address of the target station. This frame goes out
from all bridges on the originating LAN. (The bridge TBC will receive the frame, the host must
either add the information to the RC field and transmit the frame onto the next segment or discard
it). Each bridge scans the RD field for the number of the target segment it attaches to and, if it is
there, the bridge will not forward the frame because it has already been on that segment. If the
bridge's next segment number is not there, the bridge adds its segment and bridge numbers to
the frame's RI field, increments the RI length by two, and forwards the frame. A number of
differently routed frames may arrive at the target station. The routing designator is copied for
each bridge as the frame travels through in the network. (The host must add this information
before transmitting the frame onto the connecting segment). The first routing designator is the
RD of the first bridge to copy the broadcast frame. The target station responds to each differently
routed frame by sending it back to the transmitting station. (The target host must change the RC
field and put the frame into the transmit queue). Each follows the route of its routing designator
field in the opposite direction. In these frames that are sent back, the RII bit is set to one, the RI
field is as it arrived, the broadcast field is set to OXX, the D bit equals one, the SA is the individual
address of the target, and the DA is the individual address of the station that sent the original
broadcast frame. The sending station receives as many responses as there are routes. The host
at the sending station chooses the route according to its specific criteria, then saves this route
and uses it for all subsequent communications with that DA. The target learns of this selected
route when it receives its first non-broadcast frame.
The host is responsible for changing the routing control field if necessary. The TBC does not
interpret the routing control field. The TBC transmits a source routing frame exactly as it appears
in its transmit queue (i.e., the host must prepare the frame according to the source routing
protocol).
More detail can be found on bridging in: IEEE 802.5, IEEE 802.1, and MAP.

MC68824 USER'S MANUAL

MOTOROLA
("_"7

MOTOROLA

r.-R

MC68824 USER'S MANUAL

APPENDIX D
PERFORMANCE
It is necessary to understand certain aspects of the token bus controller to compute certain network
parameters such as slot time. The following describes simulations that were done to give the
user the required performance numbers. In general, the numbers given are for the worst case
situation. The simulations were run for network data rates of 10 Mbps and 5 Mbps. The numbers
given are in symbol times (bits) elapsed from the end of the end delimiter (ED) to the start of
TBC preamble and take into account the I/O sampling delays in the TBC.
System Parameters:
Address Length: 48 bits
TBC mode bits are in their default state except predefined response mode is enabled, in-ring
desired is enabled, and all statistics are enabled.
Bus Width: 16 bits
Bus Latency: one cycle
Wait States: none
Commands: none
BD and FD pools are not empty with no warning bits
Preamble: minimum length
Interrupt Status Bits: none are set
Counters: not equal to thresholds
For performance reasons, it is required that a frequency ratio of systems clock to serial clock is
greater than 1: 1.

II
MC68824 USER'S MANUAL

MOTOROLA

DESCRIPTION OF CASES
O. The TBe receives a token.
1. The TBe observes a three byte, group addressed data frame not for the TBe, and immediately
after, receives a token frame that is addressed to the TBe.
2. The TBe receives a three byte data frame that is a broadcast address, and immediately after,
receives a token frame that is addressed to the TBe.
3. The TBe receives a three byte, group addressed data frame not for the TBe, and immediately
after, receives a solicit-successor-1 control frame that it must respond to.
4. The TBe receives a three byte data frame that is a broadcast address; and immediately after,
receives a solicit-successor-1 control frame that it must respond to.
5. The TBe receives a three byte request with response frame that it must respond to (remember
the TBe is in predefined response mode).
6. The TBe receives a token frame addressed to it right after the TBe has passed the token
(two station ring).
7. The TBe observes a three byte, group addressed data frame not for the TBe, and immediately
after, receives a token frame that is addressed to the TBe, just after it has passed the token
(two station ring).
8. The TBe receives a three byte data frame that is a broadcast address, and immediately after,
receives a token frame that is addressed to the TBe just after it has passed the token (two
station ring).
9. The TBe receives a three byte request with response frame (predefined response mode) for
the TBe, just after the TBe has passed the token.
10. The TBe receives a set-successor control frame for itself, immediately following this it
receives the token, just after.it has passed the token (two station ring with no-successor1).

TBC CONTRIBUTION TO STATION DELAV
2A60S/1 B59B MASK SETS
Case

systems clock:serial clock in MHz

8:5

12.5:10

12.5:5

10:10

10:5

8:10

0

66

35

105

42

153

1

66

35

150

42

261

53

2

310

38

460

94

647

184

3

78

40

121

48

173

59

4

322

43

476

102

667

194

5

376

156

498

199

651

268

6

124

66

179

81

246

100

7

135

35

242

-41

375

52

8

382

68

551

139

761

242

9

449

186

589

242

765

326

10

133

35

249

42

390

79

!

53

•
MOTOROLA

n-?

MC68824 USER'S MANUAL

II

Introduction

II

Tables

II
II
II
II
II

Commands

Signals

II

Electrical Specifications

II

Ordering Information and Mechanical Data

Buffer Structures

Bus Operation
TBC Interfaces

III
II

Frame Formats and Addressing

II

Bridging

•

Performance

IEEE 802.4 Operation

MC68824
This first edition of the Motorola MC68824 Token Bus Controller User's Manual provides
the latest, complete information to engineers using the MC68824. This manual includes
programming information as well as detailed signal desGriptions and electrical
specifications. Also provided is ordering information and mechanical data to ~id the user
in selecting the best part for his application.
The Motorola MC68824 Token Bus Controller is a silicon integrated circuit which
implements the media access control (MAC) portion of the IEEE 802.4 standard. This
standard has been selected for the Manufacturing Automation Protocol (MAP)
specification. The MC68824 built in features make it ideally suited for many
communications applications.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2012:08:14 17:17:56-08:00
Modify Date                     : 2012:08:14 17:54:23-07:00
Metadata Date                   : 2012:08:14 17:54:23-07:00
Producer                        : Adobe Acrobat 9.51 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:a1a6fda1-e5f3-4ad6-b669-c88bfa80c1a2
Instance ID                     : uuid:a29b676b-12a8-4d72-9a06-bd7a6f90ec59
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 158
EXIF Metadata provided by EXIF.tools

Navigation menu