MC68322FT25 [MOTOROLA]
32-BIT, 25MHz, RISC PROCESSOR, PQFP160, PLASTIC, QFP-160;![MC68322FT25](http://pdffile.icpdf.com/pdf2/p00305/img/icpdf/MC68322FT25_1842049_icpdf.jpg)
型号: | MC68322FT25 |
厂家: | ![]() |
描述: | 32-BIT, 25MHz, RISC PROCESSOR, PQFP160, PLASTIC, QFP-160 时钟 外围集成电路 |
文件: | 总293页 (文件大小:987K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
![](http://public.icpdf.com/style/img/ads.jpg)
MC68322
Integrated Printer Processor
User’s Manual
Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding
the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and
specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters can and do vary in different
applications. All operating parameters, including "Typicals" must be validated for each customer application by customer's technical experts. Motorola does not
convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in
systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the
Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended
or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with
such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and
are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.
© 1997 Motorola, Inc. All Rights Reserved.
™
Windows Printing System is a registered trademark of Microsoft Corporation.
PostScript is a registered trademark of Adobe Systems, Inc. Centronics is a registered trademark of
Centronics Inc. All other trademarks are the property of their respective owners.
®
®
ABOUT THIS MANUAL
The MC68322 Integrated Printer Processor User’s Manual contains information about the
programming capabilities, registers, and overall operation of the MC68322 device.
CONVENTIONS
The following conventions should help you navigate through this manual. Anything that is
not on this list is in plain text.
• Signals, pins, lines, and bit names appear in uppercase text.
• Register acronyms appear in uppercase text, but their full names are in lowercase.
• Cross references appear in initial-cap bold text.
• Instructions appear in lowercase bold text.
All acronyms and mnemonics are defined the first time they appear in each section. The
easiest way to start using this manual is to use the index to find the topic you’re interested in.
SUPPLEMENTAL DOCUMENTATION
There are two manuals available from Motorola that will enable you to have a more
well-rounded reference source for the MC68322. To order them, see the back cover of this
manual for the Motorola Literature Distribution Center contact information or click here to go
to the LDC website.
• The M68000 Family Programmer’s Reference Manual (M68000PM/AD) provides
instructions and detailed information on the EC000 core and other devices.
• The MC68322 Integrated Printer Processor Product Brief (MC68322P/D) provides a
brief description of the MC68322’s capabilities.
GIVE US YOUR OPINION
We are constantly trying to make our documentation easier to access and use, so please
give us your feedback. You can either print out and send us the form on the following page
or fill out the survey on the web at http://www.mot.com/SPS/ADC/site/docs_survey.html.
You can also visit the Motorola Imaging and Storage Division website at
http://www.mot.com/isd for information about applications, errata, and other products. This
manual is also available in PDF format at that site.
MOTOROLA
MC68322 USER’S MANUAL
v
MOTOROLA
IMAGING AND STORAGE DIVISION
CUSTOMER DOCUMENTATION SURVEY
Fill out this form and fax it to the ISD Information Development team at (512) 891-8593.
Title of Manual:
1. Did the information in this document appear to be organized in a logical manner? _____
2. Was the level of writing appropriate for you as a user of this Motorola product? _____
3. Were the illustrations and graphics clear and easy to understand? _____
4. Some information, such as signal summaries, may have been duplicated in other sections for the
purpose of making it easier for you to use. Did you find it useful? _____
5. Did any of the technical information assume too much prerequisite knowledge? _____
6. If you answered yes to #5, do you need more task-oriented information? _____
7. Were there enough example applications in the manual? _____
8. The Information Development team is considering the placement of documentation on CD-ROM in the
future. Does your computer have a CD player? _____
9. What information should we add to the next version of this document?
10. What information should we delete from the next version of this document?
11. Was there technical information in this document that you have a question about? Explain.
Thank you for your comments. They will be used to improve this and other Motorola customer documentation.
Name:
Title:
Company:
Address:
City/State/Zip/Country:
Email Address:
Phone Number:
TABLE OF CONTENTS
Paragraph
Number
Page
Number
Title
Section 1
Introduction
1.1
1.2
Features ...............................................................................................1-2
Processors and Modules ......................................................................1-3
The EC000 Core ........................................................................1-3
Graphics Unit ..............................................................................1-4
Bus Interface Unit .......................................................................1-5
System Integration Module .........................................................1-5
DRAM Controller ........................................................................1-6
DMA Interface ............................................................................1-6
Parallel Port Interface .................................................................1-6
Internal Memory Map ...........................................................................1-6
Understanding the MC68322 ...............................................................1-8
Printer Languages ......................................................................1-8
Bitmap ........................................................................................1-9
Banding ....................................................................................1-10
Halftoning .................................................................................1-10
Duplex Printing .........................................................................1-11
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.2.6
1.2.7
1.3
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
Section 2
Signal Descriptions
2.1
2.2
2.3
2.3.1
2.3.2
2.3.3
2.4
2.5
2.6
Address Bus .........................................................................................2-3
Data Bus ...............................................................................................2-3
System Interface ..................................................................................2-4
Reset (RESET) ...........................................................................2-4
System Clock .............................................................................2-4
High Impedance Mode ...............................................................2-5
External Bus Master Interface ..............................................................2-6
DRAM Interface ....................................................................................2-7
DMA Interface ......................................................................................2-8
Printer Communication Interface ..........................................................2-8
Print Engine Video Controller Interface ................................................2-8
Parallel Port Interface ...........................................................................2-9
2.7
2.8
2.9
MOTOROLA
MC68322 USER’S MANUAL
vii
TABLE OF CONTENTS (Continued)
Paragraph
Number
Page
Number
Title
Section 3
The Core
3.1
3.2
3.3
Programming Model .............................................................................3-1
Data Types and Addressing Modes .....................................................3-3
Instruction Set Summary ......................................................................3-4
Section 4
Bus Operation
4.1
4.2
4.3
4.4
EC000 Core Read Cycle ......................................................................4-1
EC000 Core Write Cycle ......................................................................4-4
Interrupt Acknowledge Bus Cycle ........................................................4-6
Reset Operation ...................................................................................4-8
External Bus Master .............................................................................4-9
MC68322 Bus Arbitration ...........................................................4-9
External Bus Master Read Cycle .............................................4-10
External Bus Master Write Cycle .............................................4-11
Illegal Address Interrupt ...........................................................4-12
4.5
4.5.1
4.5.2
4.5.3
4.5.4
Section 5
Interrupt and Exception Handling
5.1
Internal Interrupts .................................................................................5-1
Hardware Interrupts ...................................................................5-2
Software Interrupts .....................................................................5-3
External Interrupts ................................................................................5-4
Timer Module .......................................................................................5-6
Core Exception Handling .....................................................................5-7
Processing Specific Exceptions ...............................................5-10
Multiple Exceptions ..................................................................5-13
Exception Bus Cycles ..............................................................5-14
Module Soft-Reset Register ...............................................................5-14
5.1.1
5.1.2
5.2
5.3
5.4
5.4.1
5.4.2
5.4.3
5.5
Section 6
System Integration Module
6.1
6.2
Chip-Select Registers And Banks ........................................................6-1
Synchronous and AsynchronouS Chip-Select Access Timing ............6-4
viii
MC68322 USER’S MANUAL
MOTOROLA
TABLE OF CONTENTS (Continued)
Paragraph
Number
Page
Number
Title
Section 7
DRAM Controller
7.1
DRAM Registers and Banks .................................................................7-1
Base Address and Size Fields ...................................................7-1
ROM Mode .................................................................................7-2
Functional Description ....................................................7-2
7.1.1
7.1.2
7.1.2.1
7.1.2.2
7.1.2.3
7.1.2.4
7.2
Timing Example ..............................................................7-3
Address Demultiplexing Circuit .......................................7-4
Operational Example ......................................................7-4
DRAM Control Register ........................................................................7-5
DRAM Timing Modes ...........................................................................7-5
DRAM Accesses ..................................................................................7-6
DRAM Refresh Cycles ...............................................................7-6
DRAM Read Cycles ...................................................................7-7
DRAM Write Cycles ....................................................................7-8
DRAM Bus Arbitration ................................................................7-9
DRAM Burst Accesses .............................................................7-10
Power-Up Sequence ..........................................................................7-10
7.3
7.4
7.4.1
7.4.2
7.4.3
7.4.4
7.4.5
7.5
Section 8
DMA Interface
8.1
DMA Configuration Registers ...............................................................8-2
Transfer Address Fields .............................................................8-2
Transfer Count Fields .................................................................8-3
Flush Request Fields ..................................................................8-3
GDMA Control Register ........................................................................8-3
DMA Speed Register ............................................................................8-4
DMA Interrupt Event Registers .............................................................8-5
Initiating A DMA Operation ...................................................................8-6
DMA Transfers .....................................................................................8-6
PDMA Transfers .........................................................................8-7
GDMA MC68322 Bus Read and Write Cycles ...........................8-7
GDMA DRAM Bus Read and Write Cycles ................................8-8
DMA Transfer Termination ...................................................................8-9
Normal Termination ....................................................................8-9
Bad Address Termination .........................................................8-10
Core-Forced Termination .........................................................8-10
8.1.1
8.1.2
8.1.3
8.2
8.3
8.4
8.5
8.6
8.6.1
8.6.2
8.6.3
8.7
8.7.1
8.7.2
8.7.3
MOTOROLA
MC68322 USER’S MANUAL
ix
TABLE OF CONTENTS (Continued)
Paragraph
Number
Page
Number
Title
Section 9
Parallel Port Interface
9.1
PPI Registers .......................................................................................9-2
Parallel Port Interface Register ..................................................9-2
Parallel Port Control Register .....................................................9-4
PPI Interrupt Event Register ......................................................9-6
Hardware Handshaking ........................................................................9-8
Compatibility Handshaking .........................................................9-8
ECP Handshaking ......................................................................9-9
Command Byte Detection ...............................................9-9
9.1.1
9.1.2
9.1.3
9.2
9.2.1
9.2.2
9.2.2.1
9.2.2.2
9.2.3
9.3
RLE Decompression......................................................9-10
Disabling Hardware Handshaking ............................................9-10
Software-Controlled Handshaking .....................................................9-11
Digital Filtering ...................................................................................9-11
Error Cycles .......................................................................................9-12
Parallel Port Data Bus Latching .........................................................9-13
PPI on Reset ......................................................................................9-14
PPI Data Transfer Rate ......................................................................9-14
9.4
9.5
9.6
9.7
9.8
Section 10
Print Engine Interface
10.1
Print Engine Interface Registers ........................................................10-2
Printer Communication Register ..............................................10-2
PVC Control Register ...............................................................10-3
Printer Control Block Register Set ...........................................10-5
PVC Interrupt Event Register ...................................................10-6
Printer Communication Interrupt Event Register ......................10-8
Printer Communication Protocol ........................................................10-8
Print Engine Interface Operation ........................................................10-9
Synchronous/Asynchronous PVC Operation .........................10-10
Command Operation ..............................................................10-11
CCLK Supplied By MC68322 .....................................10-11
10.1.1
10.1.2
10.1.3
10.1.4
10.1.5
10.2
10.3
10.3.1
10.3.2
10.3.2.1
10.3.2.2
10.3.3
10.3.3.1
10.3.3.2
10.3.4
10.4
CCLK Supplied By Print Engine .................................10-12
Status Operation ....................................................................10-13
CCLK Supplied By MC68322 .....................................10-13
CCLK Supplied By Print Engine .................................10-14
PLL Video Clock Divisor .........................................................10-15
PVC On Reset ..................................................................................10-16
PVC Video Data Timing ...................................................................10-16
10.5
x
MC68322 USER’S MANUAL
MOTOROLA
TABLE OF CONTENTS (Continued)
Paragraph
Number
Page
Number
Title
10.5.1
10.5.2
10.5.3
1X Video Clock(PVCCR Bit 0 = 0) ..........................................10-17
VCLK Rising Edge (PVCCR Bit 1 = 11) .................................10-17
Border Polarity High (PVCCR Bit 5 = 0) .................................10-17
Section 11
RISC Graphics Processor
11.1
RGP Registers ...................................................................................11-2
RGP Start Register ...................................................................11-2
RGP Diagnostic Register .........................................................11-2
RGP Interrupt Event Register ...................................................11-2
RGP Basic Operation .........................................................................11-3
11.1.1
11.1.2
11.1.3
11.2
Section 12
Graphic Operations
12.1
12.2
12.3
12.4
12.5
12.6
12.6.1
12.6.2
12.6.3
12.6.4
12.7
Types of Bitmaps ................................................................................12-1
Graphic Operands ..............................................................................12-2
Types of Graphic Operands ...............................................................12-3
Boolean Codes ...................................................................................12-3
Bit Block Transfers .............................................................................12-5
Scanline Transfers .............................................................................12-5
Scanline Tables and Bit String Specifiers ................................12-6
Scanline Run Operation ...........................................................12-8
Executing During Banded Applications ....................................12-9
Halftone Companion Tables ...................................................12-10
Scanline and Halftone Table Example .............................................12-13
BitBLT and Scanline Order Execution ..............................................12-14
Location and Address Constraints ...................................................12-15
12.8
12.9
Section 13
Graphic Orders
13.1
Types of Graphic Orders ....................................................................13-1
Initialization ...............................................................................13-1
Program Flow Control ..............................................................13-3
Bit Block Transfer .....................................................................13-3
Expanded Bit Block Transfer ....................................................13-3
Scanline Transfer .....................................................................13-4
Sequence of the Display List ..............................................................13-5
Graphic Order Addresses ...................................................................13-5
Physical vs Logical Address .....................................................13-6
13.1.1
13.1.2
13.1.3
13.1.4
13.1.5
13.2
13.3
13.3.1
MOTOROLA
MC68322 USER’S MANUAL
xi
TABLE OF CONTENTS (Continued)
Paragraph
Number
Page
Number
Title
13.3.2
13.4
13.5
Duplex Addresses ....................................................................13-6
Band Number and Band Faults ..........................................................13-7
Graphic Order Descriptions ................................................................13-8
Section 14
Electrical and Thermal Characteristics
14.1
14.2
14.3
14.4
14.4.1
14.4.2
14.4.3
14.4.4
14.4.5
14.4.6
14.4.7
14.4.8
Maximum Ratings ..............................................................................14-1
Thermal Characteristics .....................................................................14-1
DC Electrical Specifications ...............................................................14-2
AC Electrical Specifications ...............................................................14-3
Clock and Reset Timing ...........................................................14-3
MC68322 Bus Timing ...............................................................14-4
DRAM Timing .........................................................................14-12
IDMA Timing ..........................................................................14-13
Print Engine Interface Timing .................................................14-14
Interrupt Timing ......................................................................14-16
Parallel Port Interface Timing .................................................14-17
External Bus Master Timing ...................................................14-18
Section 15
Ordering Information and Mechanical Data
15.1
15.2
15.3
Ordering Information ..........................................................................15-1
Pin Assignment ..................................................................................15-1
Mechanical Data ................................................................................15-3
Appendix A
In-Circuit Emulation Interface
A.1
A.1.1
A.2
A.3
A.3.1
A.4
ICE Interface Signals ...........................................................................A-1
ICE Signal Descriptions .............................................................A-2
ICE Adaptor Board Design ...................................................................A-4
ICE Adaptor Board Schematics ...........................................................A-6
In-Circuit Emulation Interface ...................................................A-12
ICE Pin Assignment ...........................................................................A-16
xii
MC68322 USER’S MANUAL
MOTOROLA
TABLE OF CONTENTS (Continued)
Paragraph
Number
Page
Number
Title
Appendix B
Applications
B.1
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
B.10
Configuring The MC68322 .................................................................. B-1
Configuring The DRAM and DRAM SIMM .......................................... B-2
Configuring The Flash EPROM ........................................................... B-4
Configuring The Random Control Logic .............................................. B-7
Configuring The Serial EEPROM ........................................................ B-8
Configuring The In-Circuit Emulation .................................................. B-9
Configuring The Parallel Port ............................................................ B-10
Configuring The Generic Print Engine Interface ................................ B-11
MC68322 Memory Map Initialization Example .................................. B-12
MC68322 Internal Registers Sample Code ....................................... B-13
Appendix C
Memory-Mapped Register Summary
C.1
C.2
MC68322 Mask Register ..................................................................... C-3
Test Register ....................................................................................... C-3
Appendix D
Alternate Pin Functions
D.1
D.2
D.3
D.4
D.5
D.6
D.7
Pins ..................................................................................................... D-1
State During Reset .............................................................................. D-2
Registers ............................................................................................. D-2
Input Pin Mode .................................................................................... D-3
Buzzer ................................................................................................. D-3
In-Circuit Emulation ............................................................................. D-3
Operation Example .............................................................................. D-4
Appendix E
Glossary
Index
MOTOROLA
MC68322 USER’S MANUAL
xiii
LIST OF ILLUSTRATIONS
Figure
Page
Number
Title
Number
1-1.
1-2.
1-3.
1-4.
1-5.
1-6.
1-7.
1-8.
1-9.
MC68322 Block Diagram .................................................................................1-3
Graphics Unit Data Flow Diagram ....................................................................1-5
16M Memory Map ............................................................................................1-7
256M Memory Map ..........................................................................................1-7
Memory Map Address Register ........................................................................1-7
Bitmap Structure ..............................................................................................1-9
Unpacked And Packed Bitmaps .......................................................................1-9
Duplex Laser Printer Paper Path ...................................................................1-11
Example of a Duplex Printing Operation ........................................................1-12
2-1.
2-2.
Functional Signal Groups .................................................................................2-1
CLK1 Phase Relationship ................................................................................2-4
3-1.
EC000 Core Programming Model ....................................................................3-2
4-1.
4-2.
4-3.
4-4.
4-5.
4-6.
4-7.
4-8.
4-9.
Read Cycle Flowchart ......................................................................................4-2
External Timing Diagram to Chip-Selects Banks .............................................4-2
External Timing Diagram to Chip-Select Banks ...............................................4-3
Word and Byte Read Cycle Timing Diagram to DRAM ....................................4-3
Write Cycle Flowchart ......................................................................................4-4
Word and Byte Write Cycle Timing Diagram to Chip-Selects ..........................4-5
Word Write Cycle Timing Diagram to DRAM ...................................................4-6
Internal Interrupt Acknowledge Cycle ..............................................................4-7
Interrupt Acknowledge Cycle Timing Diagram .................................................4-7
4-10. Reset Operation Timing Diagram .....................................................................4-8
4-11. Bus Arbitration Timing Diagram .....................................................................4-10
4-12. External Bus Master Read Cycle ...................................................................4-11
4-13. External Bus Master Write Cycle ...................................................................4-12
5-1.
5-2.
5-3.
5-4.
5-5.
5-6.
5-7.
Software Interrupt Event Register ....................................................................5-3
External Interrupt Registers (EXIR0/2–EXIR1/3) .............................................5-4
Timer Register ..................................................................................................5-6
Timer Interrupt Event Register .........................................................................5-6
General Exception Processing Flowchart ........................................................5-7
General Form of an Exception Stack Frame ....................................................5-8
Module Soft-Reset Register ...........................................................................5-14
xiv
MC68322 USER’S MANUAL
MOTOROLA
LIST OF ILLUSTRATIONS (Continued)
Figure
Page
Number
Title
Number
6-1.
6-2.
6-3.
6-4.
6-5.
Chip-Select Register (CSR7–CSR0) ................................................................6-1
Chip-Select DMA Timing and Recovery Registers ..........................................6-3
Synchronous Read or Write Timing Diagram ...................................................6-5
Asynchronous Read or Write Timing Diagram .................................................6-6
Special Asynchronous Read or Write Timing Diagram ....................................6-6
7-1.
7-2.
7-3.
7-4.
7-5.
7-6.
7-7.
7-8.
7-9.
DRAM Register (DRAM5–DRAM0) ..................................................................7-1
DRAM Timing Mode 1 (Read Cycle, ROM Mode = 0) .....................................7-3
DRAM Timing Mode 1 (Read Cycle, ROM Mode = 1) .....................................7-3
Address Demultiplexing Example ....................................................................7-4
DRAM Control Register ....................................................................................7-5
DRAM Refresh Cycle .......................................................................................7-6
DRAM Timing Mode 0 (Read Cycle, ROM Mode = 0) .....................................7-7
DRAM Timing Mode 1 (Read Cycle, ROM Mode = 0) .....................................7-7
DRAM Timing Mode 2 (Read Cycle, ROM Mode = 0) .....................................7-8
7-10. DRAM Timing Mode 0 (Write Cycle) ................................................................7-8
7-11. DRAM Timing Mode 1 (Write Cycle) ................................................................7-9
7-12. DRAM Timing Mode 2 (Write Cycle) ................................................................7-9
8-1.
8-2.
8-3.
8-4.
8-5.
8-6.
8-7.
PDMA and GDMA Configuration Registers .....................................................8-2
GDMA Control Register ...................................................................................8-3
DMA Speed Register .......................................................................................8-4
DMA Interrupt Event Registers ........................................................................8-5
GDMA MC68322 Bus Read Or Write Cycle .....................................................8-8
Byte-Sized DMA DRAM Write Transfer ...........................................................8-9
Word-Sized DMA DRAM Write Transfer ..........................................................8-9
9-1.
9-2.
9-3.
9-4.
9-5.
9-6.
9-7.
9-8.
Parallel Port Interface Controller Block Diagram ..............................................9-1
Parallel Port Interface Register ........................................................................9-2
Parallel Port Control Register ...........................................................................9-4
PPI Interrupt Event Register ............................................................................9-6
Compatibility Mode Timing Diagram ................................................................9-8
ECP Mode Timing Diagram .............................................................................9-9
Error Cycle Timing Diagram ...........................................................................9-13
Parallel Port Data Latch Timing Diagram .......................................................9-13
10-1. Printer Communication Register ....................................................................10-2
10-2. PVC Control Register .....................................................................................10-3
10-3. Printer Control Block Register Set .................................................................10-5
10-4. PVC Interrupt Event Register .........................................................................10-6
MOTOROLA
MC68322 USER’S MANUAL
xv
LIST OF ILLUSTRATIONS (Continued)
Figure
Page
Number
Title
Number
10-5. Printer Communication Interrupt Event Register ...........................................10-8
10-6. PVC Video Interface State Diagram ............................................................10-10
10-7. Command Operation—MC68322 Supplies CCLK .......................................10-12
10-8. Command Operation—Print Engine Supplies CCLK ...................................10-13
10-9. Status Operation—MC68322 Supplied CCLK .............................................10-14
10-10. Status Operation—Print Engine Supplied CCLK .........................................10-14
11-1. RGP Start Register ........................................................................................11-2
11-2. RGP Diagnostic Register ...............................................................................11-2
11-3. RGP Interrupt Event Register ........................................................................11-2
12-1. Eight Common Graphic Operation Transfers .................................................12-3
12-2. 256 Possible Boolean Coded Graphic Operation Transfers ..........................12-4
12-3. Bit String Specifier Formats ...........................................................................12-7
12-4. Scanline Run Operation .................................................................................12-8
12-5. Illegal Bit String Specifier Use ........................................................................12-9
12-6. 32-Bit Halftone Specifier Format ..................................................................12-10
12-7. 48-Bit Halftone Specifier Format ..................................................................12-11
12-8. Scanline and Halftone Table Example .........................................................12-13
13-1. Controlling Left and Right Clipping of Expanded Bit Maps ............................13-4
13-2. Halftone Specification for bitBLT Operations .................................................13-7
13-3. Destination bitBLT to Banded Bitmap—0° Page .........................................13-10
13-4. Destination bitBLT to Banded Bitmap—180° Page ....................................13-10
13-5. Source/Destination bitBLT to Banded Bitmap—0° Page .............................13-12
13-6. Source/Destination bitBLT to Banded Bitmap—180° Page .........................13-12
13-7. Source/Halftone/Destination bitBLT to Banded Bitmap—0° Page ...............13-15
13-8. Source/Halftone/Destination bitBLT to Banded Bitmap—180° Page ...........13-15
13-9. Expanded Source, Destination bitBLT To Banded Bitmap, 0° Page ...........13-18
13-10. Expanded Source, Destination bitBLT To Banded Bitmap, 180° Page ......13-18
13-11. Expanded Source, Halftone, Destination bitBLT To Banded
Bitmap, 0° Page ...........................................................................................13-22
13-12. Expanded Source, Halftone, Destination bitBLT To Banded
Bitmap, 180° Page .......................................................................................13-22
13-13. Destination bitBLT to Frame ........................................................................13-23
13-14. Source/Destination bitBLT to Frame ............................................................13-24
13-15. Source/Halftone/ Destination bitBLT to Frame ............................................13-26
13-16. Expanded Source, Destination bitBLT To Frame ........................................13-28
13-17. Expanded Source, Halftone, Destination bitBLT To Frame .........................13-31
13-18. Destination bitBLT to Unbanded Bitmap .....................................................13-32
xvi
MC68322 USER’S MANUAL
MOTOROLA
LIST OF ILLUSTRATIONS (Continued)
Figure
Page
Number
Title
Number
13-19. Source/Destination bitBLT to Unbanded Bitmap ..........................................13-33
13-20. Source/Halftone/Destination bitBLT to Unbanded Bitmap ..........................13-35
13-21. Expanded Source, Destination bitBLT To Unbanded Bitmap ......................13-37
13-22. Expanded Source, Halftone, Destination bitBLT to Unbanded Bitmap ........13-40
13-23. Banded Bitmap Parameters .........................................................................13-44
13-24. Halftone Bitmap Parameters ........................................................................13-46
13-25. Unpacked Source Bitmap ............................................................................13-47
13-26. Destination Scanline Transfer to Banded Bitmap, 0° Page .........................13-50
13-27. Destination Scanline Transfer to Banded Bitmap, 180° Page .....................13-50
13-28. Halftone, Destination Scanline Transfer to Banded Bitmap, 0° Page .........13-53
13-29. Halftone, Destination Scanline Transfer to Banded Bitmap, 180° Page ......13-53
13-30. Destination Scanline Transfer to Frame .......................................................13-54
13-31. Halftone, Destination Scanline Transfer to Frame .......................................13-56
13-32. Destination Scanline Transfer to Unbanded Bitmap ....................................13-57
13-33. Halftone, Destination Scanline Transfer to Unbanded Bitmap .....................13-59
14-1. Clock AC Timing ............................................................................................14-3
14-2. Reset AC Timing ............................................................................................14-3
14-3. Read Access (2:2:1:3) ....................................................................................14-5
14-4. Read Access (2:4:–1:3) ..................................................................................14-5
14-5. Read Access (4:2:–1:3) ..................................................................................14-6
14-6. Read Access (2:2:3:3) ....................................................................................14-6
14-7. Read Access (2:4:1:3) ....................................................................................14-7
14-8. Read Access (4:2:1:3) ....................................................................................14-7
14-9. Read Access (2:6:–1:3) ..................................................................................14-8
14-10. Read Access (4:4:–1:3) ..................................................................................14-8
14-11. Read Access (6:2:-1:3) ..................................................................................14-9
14-12. Write Access (4:2:–1:3) ..................................................................................14-9
14-13. Write Access (4:2:1:3) ..................................................................................14-10
14-14. Write Access (4:4:–1:3) ................................................................................14-10
14-15. DMA Read Cycle AC Timing ........................................................................14-11
14-16. DMA Write Cycle AC Timing ........................................................................14-11
14-17. DRAM Read Cycle AC Timing .....................................................................14-12
14-18. DRAM Write Cycle AC Timing .....................................................................14-12
14-19. DMA Request/Acknowledge AC Timing .......................................................14-13
14-20. Print Engine Interface Input AC Timing ........................................................14-15
14-21. Print Engine Interface Output AC Timing .....................................................14-15
14-22. Video Clock AC Timing ................................................................................14-15
14-23. PVC AC Timing ............................................................................................14-16
14-24. Print Engine Interface AC Timing .................................................................14-16
14-25. Interrupt Interface AC Timing .......................................................................14-16
14-26. Parallel Port Interface AC Timing .................................................................14-17
MOTOROLA
MC68322 USER’S MANUAL
xvii
LIST OF ILLUSTRATIONS (Continued)
Figure
Page
Number
Title
Number
14-27. External Bus Master Read Cycle AC Timing ...............................................14-18
14-28. External Bus Master Write Cycle AC Timing ...............................................14-19
14-29. External Bus Master Bus Arbitration AC Timing ..........................................14-19
14-30. External Bus Master Multiple Cycle AC Timing ...........................................14-19
15-1. MC68322 160-Lead Plastic Quad Flat Pack (PQFP) .....................................15-2
15-2. 160 Pin QFP Package Dimensions ................................................................15-3
A-1. ICE Interface Block Diagram ............................................................................A-5
A-2. MC68322 PGA Pinout ......................................................................................A-6
A-3. MC68000 Emulator Connection .......................................................................A-7
A-4. PGA Connector ................................................................................................A-8
A-5. Test Points .......................................................................................................A-9
A-6. ICE Adaptor Board .........................................................................................A-10
A-7. ICE Adaptor Board—Silkscreen .....................................................................A-11
A-8. ICE Reset AC Timing .....................................................................................A-12
A-9. ICE Read Cycle AC Timing ............................................................................A-13
A-10. ICE Write Cycle AC Timing ............................................................................A-14
A-11. ICE Interrupt Acknowledge Cycle AC Timing ................................................A-15
A-12. ICE Bus Arbitration AC Timing .......................................................................A-15
B-1. MC68322 Connection ......................................................................................B-2
B-2. DRAM Connection ...........................................................................................B-3
B-3. DRAM SIMM Connection .................................................................................B-4
B-4. Flash EEPROM Connection (1 of 2) ................................................................B-5
B-5. Reset Circuit ....................................................................................................B-7
B-6. Front Panel Buffers and Latches .....................................................................B-8
B-7. 4-Kbit Serial EEPROM Connection ..................................................................B-8
B-8. MC68322 ICE Interface ...................................................................................B-9
B-9. Parallel Port Connector Interface ...................................................................B-10
B-10. Print Engine Interface ....................................................................................B-11
B-11. Initialized Memory Map From Code Example ................................................B-12
xviii
MC68322 USER’S MANUAL
MOTOROLA
LIST OF TABLES
Table
Page
Number
Title
Number
2-1.
2-2.
2-3.
Signal Summary ...............................................................................................2-2
HI-Z and TEST Combinations ..........................................................................2-5
DRAM Address Multiplexer ..............................................................................2-7
3-1.
3-2.
3-3.
3-4.
Processor Data Formats ..................................................................................3-3
Effective Addressing Modes .............................................................................3-3
Notational Conventions ....................................................................................3-4
Instruction Set Summary ..................................................................................3-6
5-1.
5-2.
5-3.
5-4.
Hardware Interrupt Events ...............................................................................5-2
External Interrupt Polarity .................................................................................5-5
Exception Vector Assignments ........................................................................5-9
Exception Grouping and Priority ....................................................................5-13
6-1.
6-2.
Size Field Encoding .........................................................................................6-3
Synchronous Timing Values ............................................................................6-4
7-1.
7-2.
DRAM Size Options .........................................................................................7-2
DRAM Timing Modes .......................................................................................7-5
8-1.
DM Field Encoding ...........................................................................................8-4
10-1. SLC and SRC Encodings ...............................................................................10-3
10-2. PLL Video Clock Divisor ...............................................................................10-15
12-1. Graphic Operation Data Operand Constant Values .......................................12-2
12-2. Bit String Specifier Field Definitions ...............................................................12-8
12-3. bitBLT and Scanline Execution Times .........................................................12-14
13-1. Graphic Order Organization ...........................................................................13-2
13-2. Graphic Orders Sorted by Opcode .................................................................13-8
13-3. Supported Scaling Factors ...........................................................................13-17
MOTOROLA
MC68322 USER’S MANUAL
xix
LIST OF TABLES (Continued)
Table
Page
Number
Title
Number
A-1. ICE Interface Signal Summary .........................................................................A-1
A-2. Data Strobe Control of Data Bus .....................................................................A-2
A-3. Function Code Outputs ....................................................................................A-3
C-1. Memory-Mapped Register Set ........................................................................ C-1
D-1. ALTPIN SEL Bit Descriptions .......................................................................... D-1
xx
MC68322 USER’S MANUAL
MOTOROLA
SECTION 1
INTRODUCTION
The MC68322 is a high-performance integrated printer processor that combines an
MC68000 compatible EC000 core processor, a RISC graphics processor (RGP), a print
engine video controller (PVC), and numerous system integration features on a single
integrated circuit. It is the first of Motorola’s M68000 Family designed specifically for
nonimpact printers. The MC68322 provides a unique solution for new designs as well as an
excellent migration path for existing M68000-powered printers. Additionally, the new chip
finds ready application to the inkjet printer and multifunction-peripheral (fax/modem/printer)
markets and other embedded control applications, which require very fast bit manipulations.
The dual processor and dual bus architecture gives the MC68322 the ability to deliver
excellent performance. Historically, printer applications have been solved using a single
general-purpose processor with external application specific circuitry. The MC68322
employs a highly specialized, multiprocessor architecture that enables the user to take
advantage of memory reduction techniques. This design implementation provides a
technically superior and more cost effective system solution.
The specialized display list banding techniques (executed by the RGP) enable system
memory requirements to be significantly reduced. The use of software memory reduction
techniques alone (an approach taken by conventional controllers) lack the power needed to
handle complex pages, causing the controller to fall back to lower resolution or reduced
page throughput. The MC68322 optimizes overall system performance by integrating an
EC000 core, RGP, and PVC using a unique dual bus architecture. This architecture
eliminates bus contention between processing units and modules creating a true parallel
processing environment. The additional bandwidth allows each processing unit to operate
at peak performance. Working in conjunction with an on-chip, programmable, bursting
DRAM controller, the processing units are capable of achieving outstanding throughput.
These dedicated processing units enable the MC68322 to produce 600 dpi images using
substantially less memory than conventional controllers. The MC68322 extends these
benefits to low-cost 4-8 ppm printers.
The MC68322 significantly reduces component count, board space, power consumption
and their inherent costs while yielding higher reliability and shorter design time. It also
provides support for toner conservation, thus enabling the print controller to conserve toner
when printing in draft mode. The MC68322 also provides the perfect printing environment
for users of complex page description languages (such as PCL and PostScript®) and less
scaleable graphics imaging models such as Windows Printing System™ and QuickDraw®).
Complete code compatibility with the M68000 Family gives the designer access to a broad
base of established real-time kernels, operating systems, languages, applications, and
development tools, many of which are optimized for embedded processing and printing
applications.
MOTOROLA
MC68322 USER’S MANUAL
1-1
Introduction
1.1 FEATURES
The following list summarizes the main features of the MC68322:
• Static EC000 Core Processor
❏ Complete code compatibility with M68000 Family
❏ Glueless interface to peripherals
❏ 256M address range
• Graphics Unit
❏ Memory reduction techniques
— Run length encoded scan line tables
❏ RISC graphics processor
— Processes multi-operation graphics orders from display list
— Requires significantly less bitmap image memory due to hardware
banding capability
— Dedicated graphics bus allows up to 8 ppm performance at 600 dpi resolution
❏ Print engine video controller
— Converts bitmap image to serial datastream and feeds print engine
— Generic, programmable, nonimpact printer communications interface
— Toner conservation technique
❏ Dedicated high-performance DMA controller for graphics unit operations
• Bus Interface Unit
❏ Dual bus architecture allows separate buses to function independently
❏ Distributed processing optimizes system performance
❏ Write buffer for EC000 core enhances performance
• System Integration Module
• Eight Programmable Chip Selects
❏ 256K to 256M of address space
❏ Independently programmable timing parameters for each bank
❏ Integrated system timer
• DRAM System Integration Module
❏ Supports 512K, 2M, and 8M DRAM bank sizes
❏ Directly controls up to 6 banks of DRAM; supports up to 48M of DRAM
❏ Programmable transparent refresh of DRAM banks
❏ Bursting DRAM interface
• General-Purpose DMA Controller Module
❏ Provides high-speed downloads to and from DRAM
• IEEE 1284 Parallel Port Controller Module
❏ DMA controller supports 2M/sec bidirectional communication transfers
• 16-, 20-, or 25-MHz Operation
• 160-Pin Plastic Quad Flat Packaging
1-2
MC68322 USER’S MANUAL
MOTOROLA
Introduction
1.2 PROCESSORS AND MODULES
To improve total system throughput and reduce part count, board size, and cost of system
implementation, the M68300 Family integrates intelligent peripheral modules with typical
glue logic on-chip. The MC68322 consists of two processor units (the EC000 core and RGP)
and six modules that assist them (the PVC, bus interface unit, system integration module,
DRAM system integration module, DMA controller, and parallel port interface). Figure 1-1
illustrates the MC68322 block diagram.
PARALLEL PORT
IEEE 1284
GRAPHICS UNIT
PARALLEL PORT
DMA
STATIC
EC000 CORE
RISC GRAPHICS
PROCESSOR (RGP)
DMA
PROM
SYSTEM
BUS
INTEGRATION
MODULE (SIM)
GRAPHICS BUS
INTERFACE UNIT
EC000 BUS
PRINT ENGINE VIDEO
CONTROLLER (PVC)
DRAM CONTROL
IN-CIRCUIT
EMULATION
(OPTIONAL)
PERIPHERAL
(OPTIONAL)
CLOCK
DRAM
PRINT ENGINE
Figure 1-1. MC68322 Block Diagram
1.2.1 The EC000 Core
The MC68322 contains a static, low-power, 16-bit microprocessor (EC000 core), which
performs general-purpose computing, I/O and exception handling, and display list
rendering. The core has a 16-bit data path that is upward compatible with 32-bit machines.
It also has a 32-bit internal architecture with internal 32-bit data and address registers, and
an extended address range. The address range is 28 bits for internal register decoding of
chip-selects and DRAM controller functions. This address range allows for full code
compatibility with existing M68000 Family-based designs and future upward compatibility to
higher performance designs. The core is register and memory-map compatible with the
industry standard MC68000, MC68EC000, and MC68HC000 processors.
The MC68322 is designed to support in-circuit emulation with existing emulators so that new
hardware and software designs being ported to the MC68322 can be tested rapidly. This is
accomplished by providing signals in a 208-pin grid array (PGA) package that are not
available in the 160-pin quad flat pack (QFP) package.
MOTOROLA
MC68322 USER’S MANUAL
1-3
Introduction
1.2.2 Graphics Unit
The graphics unit performs all graphics functions required by complex PDLs, such as
bit-block transfer (bitBLT). A bitBLT is a CPU-intensive function of logically bits from one
memory location to another. The graphics unit acts as a dedicated hardware execution
engine to perform the bitBLT function with virtually no intervention from the core. bitBLT
operations are performed very fast by the graphics unit, supporting one, two, and three
operand bitBLT operations to yield 256 logical bitBLT operation combinations.
The graphics unit contains two independent processing units that can function in parallel
with the core—a RISC graphics processor (RGP) and a print engine video controller (PVC).
Both processing units perform burst read and write accesses to DRAM through the DRAM
controller. The RGP is a high-performance bit-image processor optimized for the 16-bit
DRAM controller on the MC68322. It achieves performance levels that enable the MC68322
to be used effectively in banding applications or in other high-speed, high-density bitmapped
graphics products. The RGP is comprised of four major blocks:
• Graphic order parser
• Graphic order execution unit
• Writeback logic
• Band control registers
The PVC contains a generic nonimpact printer communication interface, which can be used
with most of the printers currently on the market. The communications interface is 8-bit
synchronous full duplex and supports almost all laser and inkjet printers. Internal interrupt
events (if enabled) indicate that a serial command has been sent or a serial status has been
received. This interface accesses a memory-mapped register called the printer
communication interface register, which contains 8-bit command and status fields. Using
these fields, the printer communication interface controls the CBSY and SBSY signals to
provide a handshake that communicates between the PVC and the print engine. In addition
to this communication interface, the PVC also provides for serialization of the bitmap image
data through the video data output at a clock rate specified by the video clock input. A digital
phase-locked loop is also provided for those printers that do not supply a video clock source.
The RGP interprets a list of special instructions called graphic orders (a display list that the
core or host application processor generates) to render a banded bitmap page image. After
a page or band image is rendered by the RGP, the PVC converts the bitmap image into a
serial datastream and transfers the rendered page image through the video port to the print
engine. Both the RGP and PVC require only a minimal amount of initialization and
intervention by the core to produce an image and transfer it to the print engine. Figure 1-2
illustrates the data flow of the graphics unit.
1-4
MC68322 USER’S MANUAL
MOTOROLA
Introduction
MC68322
PROM
DRAM
•
•
•
•
•
•
•
•
•
•
•
•
•
•
GRAPHICS UNIT
DISPLAY
LIST
RISC GRAPHICS
PROCESSOR (RGP)
•
•
EC000
CORE
DRAM
CONTROL
BAND1
•
PRINT ENGINE VIDEO
CONTROLLER (PVC)
BAND0
•
PRINT ENGINE
Figure 1-2. Graphics Unit Data Flow Diagram
1.2.3 Bus Interface Unit
The dual bus architecture of the MC68322 allows the printing workload to be distributed
among processing units and executed in parallel. The bus interface unit (BIU) allows the
core and graphics unit, which reside on the MC68322 bus and graphics bus, to function
independently. This is done through an arbitration unit which accommodates core accesses
to DRAM residing on the graphics bus. However, to print pages correctly, the graphics unit
gets higher priority than the core for DRAM accesses. The core performs instruction and
PROM data fetches without any impact to graphics bus operations. The BIU contains a
single-word, writeback buffer that reduces peak bus traffic generated by multiple active
modules. The writeback buffer provides a no-wait state write profile to the core and delays
the write until the graphics unit stops using the graphics bus.
1.2.4 System Integration Module
The system integration module (SIM) provides the ROM, PROM, and peripheral
chip-selects. It contains eight chip-select banks that can be programmed to decode
addresses and supply internal DTACK termination. These eight chip-select banks are
individually programmable for an address range of 256K to 64M. They can be located
anywhere within the 256M memory map and can be either contiguous or disjointed, as
required by the operating environment. Also, each chip-select bank can be independently
size or disabled.
The chip-selects for each bank can be set up to provide a wide range of timing parameters,
such as setup, access, hold, and recovery times for both read and write bus cycles. The
MC68322’s SIM provides internal bus cycle auto-acknowledge and the asynchronous WAIT
signal allows external devices to insert additional wait states as needed. The SIM also
allows SRAM to be added to the MC68322 bus for system stack space, temporary data
storage, or as a buffer for peripheral data.
MOTOROLA
MC68322 USER’S MANUAL
1-5
Introduction
1.2.5 DRAM Controller
The MC68322 provides a fully integrated bursting DRAM controller containing six DRAM
banks of varying programmable sizes and locations. They can be located contiguously or
disjointedly, as required by the operating environment. The DRAM controller multiplexes
addresses to provide up to 8M of DRAM address space per bank. The timing parameters
for each DRAM bank are preprogrammed to provide a 3-, 4-, or 5-clock access from industry
standard fast-page mode DRAMs. On reset, all DRAM banks are disabled. Additionally, the
DRAM controller provides a separate 16-bit DRAM data path and a write enable signal for
a glueless DRAM interface. DRAM refresh cycles are carried out with CAS before RAS
refresh cycles. The DRAM refresh rate is fully programmable and the controller performs
refreshes from system reset until it is initialized.
1.2.6 DMA Interface
The DMA interface contains two DMA controllers—a single-ended general-purpose DMA
(GDMA) and a dedicated parallel port interface DMA (PDMA) controller. The DMA interface
can be programmed to transfer data from a high-speed I/O peripheral to DRAM with minimal
intervention from the core.
1.2.7 Parallel Port Interface
The MC68322 contains a direct, IEEE 1284 Level 2 compliant, bidirectional 8-bit PPI. The
PPI supports four IEEE 1284 communications modes—compatibility (Centronics™), nibble,
byte, and enhanced capabilities port (ECP). It also fully supports all variants of these modes,
including device ID requests and run-length encoded data compression. The PPI contains
specialized hardware to provide automatic handshaking during forward data transfers.
When hardware handshaking is used in conjunction with the PDMA, transfer rates as high
as 2M/sec and up can be achieved in the ECP forward mode. The hardware handshaking
can also be completely disabled for the software to directly control the parallel port interface
signals and support new protocols. Control and data signals provide a glueless interface to
the parallel port.
1.3 INTERNAL MEMORY MAP
The MC68322 uses memory-mapped registers that occupy 4K of memory space. With these
registers the hardware configuration and timing can be set, the status information can be
read, and the PVC, RGP, DMA, and PPI interfaces can be controlled. All registers can be
written and read, except for a few read-only and write-only registers that are noted. For more
information about each register, see its corresponding module’s section. Appendix C
Memory-Mapped Register Summary discusses all the registers and their location in
memory during power-up.
Register operations are implemented within one MC68322 bus cycle for both read and write
operations and are completed without asserting any wait states. The registers should only
be read and/or written as 16-bit words. All register addresses are on word boundaries. The
MC68322 powers up with a 16M memory map with the registers occupying the upper 4K of
the 16M of memory space. They are located at address range 0x00FFF000 through
0x00FFFFFF. The MC68322 memory map for a 16M memory space is illustrated in
Figure 1-3.
1-6
MC68322 USER’S MANUAL
MOTOROLA
Introduction
FFFFFFFF
UNDEFINED
01000000
00FFFFFF
INTERNAL
REGISTERS
00FFF000
00FFEFFF
ROM AND I/O BANKS 0–7
DRAM BANKS 0–5
00000000
Figure 1-3. 16M Memory Map
After power-up, the MC68322 can be configured for the full 256M address space and the
registers can be moved to start at a higher address. The MC68322 memory map for a 256M
memory space is illustrated in Figure 1-4.
FFFFFFFF
UNDEFINED
10000000
0FFFFFFF
INTERNAL REGISTERS
ROM AND I/O BANKS 0–7
DRAM BANKS 0–5
00000000
Figure 1-4. 256M Memory Map
The memory map address register contains bits 27–24 of the register set’s base address
and is illustrated in Figure 1-5. This register is used to relocate the memory-mapped
registers within the memory map.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
REGISTER BASE
ADDRESS (A27–A24)
00FFF900
RESERVED
Figure 1-5. Memory Map Address Register
DRAM, ROM, or I/O can be programmed individually to reside anywhere in the memory
map. The address space for registers, ROM or I/O (chip-selects), and DRAM can overlap.
In case of an address overlap, registers have the highest priority, then chip-selects, and
finally the DRAM. Only the device with the highest priority responds to the access.
MOTOROLA
MC68322 USER’S MANUAL
1-7
Introduction
1.4 UNDERSTANDING THE MC68322
Familiarity with some of the basic printer operation concepts is key to understanding how
the MC68322 works. These concepts include understanding printer languages, bitmaps,
banding, halftoning, and duplex printing.
1.4.1 Printer Languages
There are three basic types of printer languages:
1. Printer Control Language (PCL)—A term coined by Hewlett Packard when LaserJet
printers were first introduced. It embodies a relatively simple set of escape sequences
reminiscent of ANSI 3.64. Of the common printer languages, PCL is considered
moderately complex.
2. Page Description Languages (PDL)—Actual programming languages. The major
players are Adobe’s PostScript and Microsoft’s TrueImage and they resemble other
languages like BASIC, FORTRAN, and C, except that PDLs are interpreted rather
than compiled. The instructions for how the page is to be formed are described in
lexical verbs such as FINDFONT and MOVETO. This means that the parsing and
interpretation of these languages must be done in the printer engine itself. Generally,
PDLs describe one page at a time and each page is a separate PDL program. Also,
PDLs are considered highly complex.
3. Document Description Languages (DDL)—Similar to PDLs in that they are
programming languages with lexical verbs. The difference between DDLs and PDLs
is that DDLs generally describe an entire document consisting of multiple pages. This
increases the storage requirements of a printer in that the entire document must be
parsed and interpreted before any printing can begin. Like PDLs, DDLs are considered
highly complex.
1-8
MC68322 USER’S MANUAL
MOTOROLA
Introduction
1.4.2 Bitmap
A bitmap is a two dimensional array of memory bits. A scanline is one row in the array. There
is no special term for each column of the array. The junction point of a scanline and a column
is a pixel. The bitmap width, called the X dimension, is the number of pixels in each scanline.
The bitmap height, called the Y dimension, is the number of scanlines in the bitmap array.
Figure 1-6 illustrates these terms.
COLUMN
PIXEL
SCANLINE
Figure 1-6. Bitmap Structure
A bitmap can be stored in memory as either packed or unpacked, as illustrated in Figure 1-7.
Packed bitmaps occupy less memory than unpacked bitmaps. In an unpacked bitmap, each
scanline begins on a byte or word boundary. In a packed bitmap, scanlines follow one
another without regard to byte or word boundaries. The MC68322 supports both packed and
unpacked bitmap structures.
WARP
WARP = X DIMENSION
X DIMENSION
PACKED BIT MAP
1
UNPACKED BIT MAP
1
23 BYTES ( BYTE WASTED)
–
30 BYTES (7 BYTES WASTED)
–
2
2
Figure 1-7. Unpacked And Packed Bitmaps
MOTOROLA
MC68322 USER’S MANUAL
1-9
Introduction
In addition to width and height dimensions, an unpacked bitmap also possesses an attribute
known as the bitmap warp, which is the distance between the beginning of each consecutive
scanline. The bitmap warp is the value used to obtain Y dimension movement within the
bitmap. For example, to move from one pixel to a pixel in the same column, but in the next
lower scanline, simply add the bitmap warp to the current position in memory. A packed
bitmap also has a bitmap warp that is equal to the width of the bitmap.
1.4.3 Banding
Banding is a process in which the page to be printed is constructed in a series of partial page
images or bands. To better accommodate banding, the MC68322 allows the page image to
be represented in an intermediate form. In this intermediate form, the page image is
represented by a series of graphic orders, which are collectively called a display list and are
maintained in memory.
The PDL or PCL emulator firmware running on the core generates the display list before the
print engine begins the actual printing process. The RGP executes the graphic orders in the
display list to build the bitmapped image in bands as the print engine is started. Generally,
band n+1 is being constructed while band n is being output to the print engine.
1.4.4 Halftoning
Halftoning involves applying a pattern or halftone screen to a data transfer to modify its
appearance. Halftone screens are used to produce shades of gray in a monochrome printing
environment such as printing presses, dot matrix printers, or laser printers. Halftone screens
are commonly seen in newspapers because that is where photographs with levels of gray
are represented with a medium that only allows black and white. Halftone screens are
repetitive in both the X and Y dimensions of a bitmap array. For example, to perform
shading, a 10101010 pattern might be applied to the even scanlines and a 01010101 pattern
to the odd scanlines.
1-10
MC68322 USER’S MANUAL
MOTOROLA
Introduction
1.4.5 Duplex Printing
The MC68322 supports duplex printing applications. Duplex printing is the operation of
placing an image on both sides of a page before it leaves the printer. In a duplex laser
printer, paper travels out of the input hopper and under a drum to receive a toner image. The
paper then travels through a fuser to set the toner onto the first side of the paper and into an
internal duplex hopper. Next, the paper moves out of the duplex hopper and under the drum
again to receive the second toner image, this time on the reverse side of the paper. Finally,
once the second image has been fused, the paper is placed in the output hopper.
DOUBLE SIDED PAPER PATH
DUPLEX
HOPPER
(INTERNAL)
DRUM
FUSER
PAPER DIRECTION
INPUT
HOPPER
OUTPUT
HOPPER
Figure 1-8. Duplex Laser Printer Paper Path
Since the image is placed on both sides of the page in duplex printing, image orientation is
important. When the page is turned to read either side, both images must appear right-side
up. To achieve the correct image orientation, the physical characteristics of the print engine
and the format of the printed page must be taken into consideration. For example, it is
important to know how the page is turned over to expose both sides to the drum inside the
print engine as well as how the page is going to be bound in the completed document.
Images printed on the opposite side of a page may have to be rotated 180°. Understandably,
these types of pages are called 180° pages. They require pixel data to be transmitted from
the page image bitmap starting at the bottom-right corner and then continuing from right to
left, bottom to top. Pages that do not require this type of rotation are called 0˚ pages and
they are transmitted starting at the top-left corner and then continuing from left to right, top
to bottom.
In banding applications, 180° pages require special attention. Since the page image is
transmitted to the print engine in bottom to top order, bands must be generated in this order
too. The MC68322 directly supports 180° page rendering and printing as required by duplex
banding applications. The RGP and graphic order instruction set are specifically designed
to render images either top to bottom or bottom to top, thus enabling banding of both 0° and
180° pages on duplex printers.
MOTOROLA
MC68322 USER’S MANUAL
1-11
Introduction
There are two elements to keep in mind when determining image orientation—the feed edge
and the binding edge. The feed edge of a page is the edge that is first fed into the print
engine. The binding edge of a page is the edge that will be used in the binding process. For
example, if a document is to be stored in a three-ring binder, the binding edge would be the
edge of the paper where the holes are punched. To determine whether the second side of
a page needs to be rotated, the feed edge must be compared to the binding edge. If the feed
edge is the same as the binding edge, then the second side does not need to be rotated.
However, if the feed edge is different from the binding edge, then the second side must be
rotated 180° to have the proper orientation between both sides of the page.
Figure 1-9 illustrates a duplex printing operation. The paper is fed by its short edge when
the binding edge is defined as the long edge. This means the second pass image should be
rotated 180°. During the first pass, paper travels from the input hopper and under the drum
and an image is placed on the page. After fusing, the page is placed face down in the duplex
hopper. During the second pass, paper travels from the duplex hopper and under the drum
and another image is placed on the page. After fusing, the page is placed in the output
hopper with the second pass image facing up. To properly orient the two images on the page
the second pass data must be sent to the printer in right to left and bottom to top order so
that a 180° image rotation will occur.
FIRST PASS
SECOND PASS
FIRST PIXEL
SCANNED
FIRST PIXEL
SCANNED
ONTO PAGE
ONTO PAGE
DRUM
LASER SCAN DIRECTION
LASER SCAN DIRECTION
PAPER MOTION PAST DRUM
PAPER MOTION PAST DRUM
Figure 1-9. Example of a Duplex Printing Operation
1-12
MC68322 USER’S MANUAL
MOTOROLA
SECTION 2
SIGNAL DESCRIPTIONS
This section contains brief descriptions of the MC68322 input and output signals as
illustrated in the figure below.
PD7–PD0
SELECTIN
STROBE
AUTOFD
INIT
ADDRESS BUS
DATA BUS
A25–A1
D15–D0
CS7–CS0
RD
PARALLEL PORT
INTERFACE
ACK
BUSY
WRU
MC68322 BUS
INTERFACE
WRL
SELECT
WAIT
PERROR
FAULT
IRQ1–IRQ0
TEST
CLK2
SYSTEM
INTERFACE
VCLK
FSYNC
LSYNC
VIDEO
PRINT
RESET
HI-Z
PVC
INTERFACE
MA10–MA0
MD15–MD0
MEMORY ADDRESS BUS
MEMORY DATA BUS
MC68322
RAS5–RAS0
CAS1–CAS0
WE
DRAM
INTERFACE
CCLK
CBSY
PRINTER
COMMUNICATION
INTERFACE
SBSY
DREQ
DACK
DMA
INTERFACE
CMD/STS
STS
AS
R/W
EDTACK
BR
EXTERNAL
BUS MASTER
INTERFACE
BG
Figure 2-1. Functional Signal Groups
MOTOROLA
MC68322 USER’S MANUAL
2-1
Table 2-1. Signal Summary
THREE-STATED
ON BG
SIGNAL NAME
MNEMONIC
INPUT/OUTPUT
ACTIVE STATE
ON HI-Z
Yes
Yes
Yes
—
Address Bus
A25–A1
ACK
Input/Output
Output
—
Yes
No
Yes
—
Parallel Port Acknowledge
Address Strobe
Low
AS
Input/Output
Input
Low
Parallel Port Autofeed
Bus Grant
AUTOFD
BG
Low
Output
Low
No
—
Yes
—
Bus Request
BR
Input
Low
Parallel Port Busy
Column Address Strobe
Command Busy
BUSY
Output
High
No
No
No
No
—
Yes
Yes
Yes
Yes
—
CAS1–CAS0
Output
Low
CBSY
CCLK
CLK2
Output
Low
Command Clock
Input/Output
Input
—
2X System Clock
—
Command/Status Data
Chip Select
CMD
/
STS
Input/Output
Output
Low
No
No
No
—
Yes
Yes
Yes
Yes
—
CS7
–
CS0
Low
Data Bus
D0–D15
DACK
Input/Output
Output
—
DMA Data Acknowledge
DMA Data Request
External Master DTACK
Parallel Port Fault
Frame Synchronization
Parallel Port Initialization Input
Interrupt Request
Low
DREQ
Input
Programmable
—
EDTACK
FAULT
Output
Low
No
No
—
Yes
Yes
—
Output
Low
FSYNC
Input
Programmable
INIT
Input
Low
—
—
IRQ1–IRQ0
LSYNC
Input
Programmable
—
—
Line Synchronization
DRAM Multiplexed Address Bus
DRAM Memory Data Bus
Parallel Port Data Bus
Parallel Port Paper Error
Print Request
Input
Programmable
—
—
MA10–MA0
MD15–MD0
PD7–PD0
PERROR
PRINT
Output
—
No
No
No
No
No
Yes*
Yes
Yes
Yes
Yes
Yes
Yes
Input/Output
Input/Output
Output
—
—
Low
Output
Programmable
Read/Write
R/W
Input/Output
Read-High
Write-Low
DRAM Row Address Strobe
Read Strobe
RAS5
–
RAS0
Output
Output
Input
Low
Low
Low
Low
High
Low
Low
No
No
—
Yes
Yes
—
RD
Reset
RESET
SBSY
Status Busy
Input
—
—
Parallel Port Selected
Parallel Port Select In
Parallel Port Data Strobe
SELECT
SELECTIN
STROBE
Output
Input
No
—
Yes
—
Input
—
—
2-2
MC68322 USER’S MANUAL
MOTOROLA
Table 2-1. Signal Summary (Continued)
THREE-STATED
SIGNAL NAME
MNEMONIC
INPUT/OUTPUT
ACTIVE STATE
ON BG
ON HI-Z
Status Data
STS
HI-Z
Input
Input
Input
Low
Low
—
—
—
—
—
—
—
High Impedance
Power Input
V
CC
Video Clock
VCLK
VIDEO
WAIT
WE
Input
Output
Input
Programmable
—
No
—
—
Video
Programmable
Yes
—
Processor Wait
DRAM Write Enable
Write Enable - Lower
Write Enable - Upper
Low
Low
Low
Low
Output
Output
Output
No
No
No
Yes
Yes
Yes
WRL
WRU
NOTE: * Becomes An Input On BG, Which Effectively Three-States The Signal.
Note: Assertion and negation are used to specify forcing a signal to a particular state.
Assertion and assert refer to a signal that is active or true. Negation and negate
refer to a signal that is inactive or false. These terms are used independent of
the voltage level (high or low) that they represent.
2.1 ADDRESS BUS
This 25-bit, bidirectional, three-state bus is capable of directly addressing 64M of data. The
address bus acts as an output when the core or general-purpose DMA is accessing the
chip-select banks and it acts as an input when the device is in an external bus master mode.
In the external bus master mode, the address bus is sent to the MC68322’s internal decode
circuits.
2.2 DATA BUS
This 16-bit, bidirectional, three-state bus is the general-purpose data path. It acts as an input
when one of the following conditions occur:
• When data from ROM, PROM, or I/O is required in the form of data or instructions.
• When an external bus master performs a write cycle.
On the other hand, it acts as an output when one of the following conditions occur:
• When data is sent to an I/O device.
• When an external bus master is reading data.
During an interrupt acknowledge cycle, the data bus is not used.
MOTOROLA
MC68322 USER’S MANUAL
2-3
2.3 SYSTEM INTERFACE
2.3.1 Reset (RESET)
The RESET signal is an input only signal that causes a total system reset, thus resetting the
processor and external devices. This is different than a reset caused by the reset
instruction, which does not reset external devices or internal registers. In effect, the internal
state of the processor is not affected. Regardless, using the reset instruction on the
MC68322 is not recommended.
2.3.2 System Clock
To develop the internal clocks needed by the MC68322, CLK2 is internally buffered. The
MC68322 divides the system clock (CLK2) frequency by two to generate a CLK1 signal that
is used internally by the core and most modules. The input frequency of the CLK2 signal is
twice the system frequency.
CLK2 can be slowed or stopped to reduce device and system power consumption. However,
CLK2 is necessary to refresh DRAM, and complete removal of the CLK2 signal can cause
a loss of data in DRAM.
The internal CLK1 signal functions continuously through reset. The phase relationship
between CLK1 and CLK2 is determined by the trailing edge of RESET. Figure 2-2 illustrates
the internal timing of the MC68322 in which RESET is doubly synchronized and the trailing
edge is used to synchronize CLK1.
CLK2
RESET
r1
r2
r3
CLK1
or
CLK1
CLK1 SYNCED
Figure 2-2. CLK1 Phase Relationship
2-4
MC68322 USER’S MANUAL
MOTOROLA
CLK1 can be generated with external logic, as illustrated in the following equations. This
logic runs off CLK2, takes system reset in as RESETIN, and generates CLK1 and RESET
as outputs.
!rst1x
!RESETx
!rst2x
!CLK1
:=
:=
:=
:=
#
!RESETINx;
!rst1x;
!RESETx;
CLK1
RESETx & !rst2x
"Sync reset input (internal use)
"Reset to MC68322
"Delayed reset (internal use)
"Toggle
"Sync at trailing edge of RESET
Where:
!
=
=
=
=
=
=
=
Inverted
Logical AND
Logical OR
Registered Output
Combination; Non-Registered Output
Line Termination
Comment
&
#
:=
=
;
"
This external logic works in a similar manner as the logic used inside the MC68322. The
external CLK1 runs continuously, even during reset, and only its phase is adjusted based
on the trailing edge of the RESETIN input. The asynchronous RESETIN input is
synchronized to avoid metastability problems and a synchronous RESET output signal is
produced to reset the MC68322 and ensure that it generates its internal CLK1 in phase with
its external CLK1.
2.3.3 High Impedance Mode
The high impedance mode HI-Z and TEST pins can be used to place the MC68322 into a
three-state mode that allows an in-circuit emulator to be used. Table 2-2 shows all
combinations of the HI-Z and TEST pins. See Appendix D Alternate Pin Functions for
more information on the proper use of the input pin mode.
Table 2-2. HI-Z and TEST Combinations
HI-Z
TEST
FUNCTION
Three-State All Outputs
0
0
1
1
0
1
0
1
Input Pin Mode, A(22:25) Three-Stated
Normal Mode, A(22:25) Enabled
Special Test Mode (Do Not Use)
MOTOROLA
MC68322 USER’S MANUAL
2-5
2.4 EXTERNAL BUS MASTER INTERFACE
The following signals control the MC68322 bus operation.
PIN NAME
DESCRIPTION
AS
Address Strobe—The active low AS signal indicates a valid address on the address bus. ASis an output when
the core or internal DMA initiates an access on the MC68322 bus and an input when an external bus master
controls the MC68322 bus.
R/W
Read/Write—This signal defines a data bus transfer as a read (active high) or write cycle (active low). R/Wis
an output when the core or internal DMA initiates an access on the MC68322 bus, and an input when an external
bus master has control of the MC68322 bus.
EDTACK
External Bus Master Data Transfer Acknowledge—This output signal is sent to an external bus master to
indicate that the data transfer is complete. When EDTACK is recognized during a read cycle, the external bus
master latches the data and terminates the bus cycle. When EDTACKis recognized during a write cycle, the
bus cycle is terminated.
BR
BG
Bus Request—This active low input is ORed with all other devices that can be bus masters. This active-low
input signal informs the core that another device is ready to be the bus master.
Bus Grant—This active low output indicates to all other potential bus masters that the MC68322 bus is
available. BG will assert after the assertion of BR, but only after all bus cycles have terminated.
CS7-CS0
Chip-Select—These signals are output only and can be programmed to provide from 256K to 64M decode.
These signals continue to function as they are programmed when an alternate bus master has control of the
MC68322 bus.
RD
Read—This signal is an output only strobe that is asserted during a read operation on the MC68322 bus. A read
cycle can be initiated by the core, internal DMA, or external bus master. The read strobe remains negated during
an MC68322 bus write cycle.
WRU
Upper Write Strobe—This strobe is an output only signal that is asserted during a write operation on the
MC68322 bus. A write cycle can be initiated by the core, internal DMA, or external bus master. The upper write
strobe asserts during all word write operations and during byte write operations to the upper portion of the data
bus (D15-D8). WRU remains negated during a read and a lower byte write cycle.
WRL
Lower Write Strobe—This strobe is an output only signal that asserts during a write operation on the MC68322
bus. A write cycle can be initiated by the core, internal DMA, or external bus master. The lower write strobe
asserts during all word write operations and during byte write operations to the lower portion of the data bus (D7-
D0). WRL remains negated during a read and an upper byte write cycle.
WAIT
Wait—This input only signal that extends an MC68322 bus cycle beyond the programmed values. Be aware that
WAIT can only prolong bus cycles for chip-select banks.
IRQ1-IRQ0
External Interrupt Request—These input only signals have programmable assertion levels and are used to
connect external interrupting devices to the MC68322. These two signals are sent through the internal interrupt
controller before posting an interrupt to the core.
2-6
MC68322 USER’S MANUAL
MOTOROLA
2.5 DRAM INTERFACE
The following signals control the DRAM bus operation:
PIN NAME
DESCRIPTION
MA10–MA0
Memory Address Bus—These 11 output only signals connect to the internally multiplexed DRAM address bus.
They directly drive the memory address bus to a DRAM array. The low-order address signals change to provide
bursting capability. See Table 2-3 for a list of DRAM address multiplexing values.
MD15–MD0
RAS5-RAS0
CAS1-CAS0
Memory Data Bus—This signal connects to a 16-bit bidirectional three-stateable memory data bus. The
memory data bus is used to transfer byte- and word-sized data to and from DRAM.
Row Address Strobe—These output signals provide row address strobes for external DRAM. RASxasserts
when a memory reference occurs that is internally decoded for the DRAM bank(s).
Column Address Strobe—These output signals provide the column address strobe timing for the external
DRAM. The CAS1 signal asserts when a byte write operation occurs to the upper memory data bus (MD15-
MD8). CAS0 asserts when a byte write operation occurs to the lower memory data bus (MD7-MD0). However,
both CAS1 and CAS0 assert for byte-sized read operations and word-sized read and write operations.
WE
Write Enable—This output signal asserts when an external DRAM access write cycle is initiated providing the
write control for external DRAM.
Table 2-3. DRAM Address Multiplexer
ROW
ADDRESS
COLUMN
ADDRESS
MEMORY
ADDRESS
DRAM SIZE
× 16 BITS
A10
A11
A12
A13
A14
A15
A16
A17
A18
A20
A22
A01
A02
A03
A04
A05
A06
A07
A08
A09
A19
A21
MA0
MA1
MA2
MA3
MA4
MA5
MA6
MA7
MA8
MA9
MA10
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit, 256 Kbit
4 Mbit, 1 Mbit
4 Mbit
MOTOROLA
MC68322 USER’S MANUAL
2-7
2.6 DMA INTERFACE
The following signals control the DMA interface. They are used to transfer data from the
MC68322 bus to DRAM or vice versa.
PIN NAME
DESCRIPTION
DREQ
Data Request—This input signal, whose polarity is programmable, is asserted by a peripheral device to request
a transfer between the internal core bus and DRAM. The assertion of the DREQ signal starts a DMA operation.
DACK
Data Acknowledge—This active-low output signal indicates that a DMA transfer is complete.
2.7 PRINTER COMMUNICATION INTERFACE
The following signals communicate with the print engine. Due to various interfaces with
different print engines, some signals may not be needed.
PIN NAME
CBSY
DESCRIPTION
Command Busy—This output only signal indicates that a command byte is being sent to the print engine.
Status Busy—This input only signal indicates that a status is ready to be received from the print engine.
SBSY
CCLK
Command Clock—This bidirectional signal is used to clock command and status data between the MC68322
and the print engine. It is not a free running clock and remains inactive until CBSYor SBSY is asserted. The
print engine or the MC68322 can supply CCLK. The direction of this pin is programmable and engine dependent.
CMD/STS
STS
Command/Status—This bidirectional signal is provided because some print engines require command and
status on the same line. It is used to exchange command and status information between the print engine and
the MC68322. The direction of this pin is programmable and engine dependent.
Status—This input signal is used by the print engine to supply data to the MC68322. Data sent through this
signal is synchronous with the CCLK.
2.8 PRINT ENGINE VIDEO CONTROLLER INTERFACE
The print engine video controller (PVC) interface consists of five signals designed to
interface directly to most laser print engines and input/output polarities are programmable.
The following signals are used to transfer data from the MC68322 to the print engine.
PIN NAME
DESCRIPTION
VCLK
Video Shift Clock—This input signal is a free-running clock that is used to drive the video transfer. The print
engine or an onboard oscillator can supply VCLK.
FSYNC
LSYNC
PRINT
Frame Synchronize—This input only signal indicates frame synchronization. The print engine asserts the
FSYNC signal to begin a page. The active polarity of this signal is programmable.
Line Synchronize—This input signal indicates that the print engine is ready to accept data for
the next scanline. The active polarity of this signal is programmable.
Print Request—This output signal indicates that the MC68322 is ready to begin printing. The
assertion of this signal initiates the printing process. The active polarity of this pin is
programmable.
VIDEO
Video Data—This output signal provides the serial video data to the printer. The default
polarity is low for active video and high for inactive video. The VIDEOoutput driver can sink
and source 24 mA. The active polarity of this signal is programmable.
2-8
MC68322 USER’S MANUAL
MOTOROLA
2.9 PARALLEL PORT INTERFACE
The MC68322 has 17 pins dedicated to parallel port communications. These pins are
designed to interface to an IEEE 1284-compatible or compliant host and meet all electrical
driver/receiver requirements for Level 2 compliance. All inputs are TTL-compatible and
received with Schmitt triggers with over 200 mV of hysteresis. All outputs are symmetrical
and can sink and source 16 mA at 0.4 and 3.0 V, respectively. This provides a direct
connection (through series resistors) between the MC68322 and the parallel port connector,
thus no external buffering or latching logic is required.
The following signal descriptions are for compatibility mode operation only. Control signals
carry different meanings when other IEEE 1284 modes are used. When other modes are
discussed, the IEEE 1284 signal name is provided in parentheses following the MC68322
pin name. Applications that do not require a parallel port can use these pins as
general-purpose, individually controllable I/O pins.
PIN NAME
DESCRIPTION
PD7-PD0
Parallel Port Data Bus—This 8-bit, bidirectional, three-stateable bus is used to exchange data between an
external host computer and the MC68322.
SELECTIN
Parallel Port Select In—This input signal is used by the parallel port interface to request “on-line” status
information.
STROBE
AUTOFD
INIT
Data Strobe—This input signal indicates when valid data is present on the parallel port data bus.
Parallel Port Autofeed—This input signal indicates autofeed control.
Initialization Input—This input signal is used to initialize parallel port input control.
ACK
Parallel Port Acknowledge—This output signal indicates that a transfer on the parallel port data bus is
complete.
BUSY
Parallel Port Busy—This output signal indicates that the parallel port is busy.
SELECT
PERROR
Parallel Port Selected—This output signal indicates that the device on the parallel port is “on-line” or “off-line”.
Parallel Port Error—This output signal indicates that a problem exists with the paper in the printer. It could
mean that the printer has a paper jam or is out of paper.
FAULT
Parallel Port Fault—This output signal indicates that an error condition exists with the printer. It could mean that
the printer is out of toner or has been taken offline.
MOTOROLA
MC68322 USER’S MANUAL
2-9
SECTION 3
THE CORE
The MC68322 has an embedded EC000 core that controls its operation. The full
architecture provides for 32-bit address and data register operations via the 16-bit data bus
and internal 32-bit address bus. The core has the following features:
• Eight 32-bit address registers
• Eight 32-bit data registers
• 4G direct addressing range
• Fifty-six instructions
• Operations on five data types
• Memory-mapped input/output
• Fourteen addressing modes
3.1 PROGRAMMING MODEL
The EC000 core programming model is separated into two modes of access—user and
supervisor. The user mode provides the execution environment for a majority of the
application programs. The supervisor mode allows some additional instructions and
privileges that the operating system and other system software use. The M68000 Family
Programmer’s Reference Manual can be another source for programming model
information.
MOTOROLA
MC68322 USER’S MANUAL
3-1
USER PROGRAMMING MODEL
31
0
16 15
8 7
D0
D1
D2
D3
D4
DATA REGISTERS
D5
D6
D7
A0
A1
A2
A3
A4
A5
A6
ADDRESS REGISTERS
USER STACK POINTER
A7/USP
PC
PROGRAM COUNTER
CCR
CONDITION CODE REGISTER
SUPERVISOR PROGRAMMING MODEL
31
0
A7'/SSP
(CCR*) SR
SUPERVISOR STACK POINTER
STATUS REGISTER
NOTE: *CCR is also illustrated in the user programming model.
Figure 3-1. EC000 Core Programming Model
As illustrated in Figure 3-1, the user mode provides access to sixteen 32-bit,
general-purpose registers, a 32-bit program counter, and an 8-bit condition code register.
The first eight registers (D0–D7) are used as data registers for byte (8-bit), word (16-bit), and
long-word (32-bit) operations. The second set of seven registers (A0–A6) and the user stack
pointer (A7/USP) can be used as software stack pointers and base address registers. In
addition, the address registers can be used for word and long-word operations. However, all
16 registers can be used as index registers. The condition code register provides
information on integer overflow, zeros, negatives, carries, and extends. It is contained in the
low-order byte of the status register.
The supervisor mode provides access to two supplementary registers—status register
(high-order byte) and supervisor stack pointer (A7/SSP). The status register has access to
the condition codes, but also includes the interrupt mask (in the high-order byte) with eight
levels of interrupts available. It also indicates whether the core is in trace or supervisor
mode.
3-2
MC68322 USER’S MANUAL
MOTOROLA
3.2 DATA TYPES AND ADDRESSING MODES
The core supports the basic data formats of the M68000 Family. The instruction set supports
operations on other data formats, such as memory addresses. The operand data formats
supported by the core are the standard twos-complement data formats defined in the
M68000 Family architecture. Registers, memory, or instructions themselves can contain
integer unit operands. The operand size for each instruction is either explicitly encoded in
the instruction or implicitly defined by the instruction operation. Table 3-1 lists the data
formats for the core. Refer to the M68000 Family Programmer’s Reference Manual for
details on data format organization in registers and memory.
Table 3-1. Processor Data Formats
OPERAND DATA FORMAT
Bit
SIZE
1 Bit
Binary-Coded Decimal (BCD)
Byte Integer
8 Bits
8 Bits
16 Bits
32 Bits
Word Integer
Long-Word Integer
The core also supports the basic addressing modes of the M68000 Family. The register
indirect addressing modes support postincrement, predecrement, offset, and index
capabilities. The program counter relative mode also supports indexing and offsetting.
Table 3-2 lists a summary of the data addressing modes for the core. Refer to the M68000
Family Programmer’s Reference Manual for details on the core’s effective addressing
modes.
Table 3-2. Effective Addressing Modes
ADDRESSING MODES
SYNTAX
Register Direct Addressing
Data Register Direct
EA = Dn
EA = An
Address Register Direct
Absolute Data Addressing
Absolute Short
Absolute Long
EA = (Next Word)
EA = (Next Two Words)
Program Counter Relative Addressing
Relative With Offset
Relative With Index and Offset
EA = (PC) + d
EA = (PC) + d8
16
Register Indirect Addressing
Register Indirect
Postincrement Register Indirect
Predecrement Register Indirect
Register Indirect With Offset
Indexed Register Indirect With Offset
EA = (An)
EA = (An), An An + N
An
An –N, EA = (An)
EA = (An) + d
16
EA = (An) + (Xn) + d8
Immediate Data Addressing
Immediate
Quick Immediate
DATA = Next Word(s)
Inherent Data
Implied Addressing
Implied Register
EA = SR, USP, SSP, PC
MOTOROLA
MC68322 USER’S MANUAL
3-3
3.3 INSTRUCTION SET SUMMARY
Table 3-3 lists the notational conventions used throughout this manual and Table 3-4
summarizes the core instruction set by opcode. In the syntax descriptions, the left operand
is the source operand and the right operand is the destination operand.
Table 3-3. Notational Conventions
SINGLE- AND DOUBLE-OPERAND OPERATIONS
≠
+
–
Not equal.
Arithmetic addition or postincrement indicator.
Arithmetic subtraction or predecrement indicator.
Arithmetic multiplication.
×
÷
~
L
Arithmetic division or conjunction symbol.
Invert; operand is logically complemented.
Logical AND
V
≈
Logical OR
Logical exclusive OR
Source operand is moved to destination operand.
Two operands are exchanged.
<
>
Relational test; true if source operand is less than destination operand.
Relational test; true if source operand is greater than destination operand.
Any double-operand operation.
<operand>
<operand> tested
Operand is compared to zero and the condition codes are set appropriately.
<operand> sign-extended All bits of the upper portion are made equal to the high-order bit of the lower portion.
<operand>
<operand> shifted
by <count>
The source operand is shifted by the number of count.
<operand> rotated
by <count>
The source operand is rotated by the number of count.
bit number of <operand>
Selects a single bit of the operand.
OTHER OPERATIONS
TRAP
1
S-bit of SR;
SSP – 4 SSP; PC
SR (SSP); Vector Address
(SSP); SSP – 2
PC
SSP;
STOP
Enter the stopped state, waiting for interrupts.
<operand>
The operand is BCD; operations are performed in decimal.
10
If <condition>
then <operations>
else <operations>
Test the condition. If true, the operations after “then” are performed. If the condition is false and the optional “else”
clause is present, the operations after “else” are performed. If the condition is false and “else” is omitted, the
instruction performs no operation. Refer to the Bcc instruction description as an example.
REGISTER SPECIFICATION
Any Address Register n (example: A3 is address register 3)
Source and destination address registers, respectively.
Any Data Register n (example: D5 is data register 5)
An
Ax, Ay
Dn
3-4
MC68322 USER’S MANUAL
MOTOROLA
Table 3-3. Notational Conventions (Continued)
Dx, Dy
Rn
Source and destination data registers, respectively.
Any Address or Data Register
Rx, Ry
Xn
Any source and destination registers, respectively.
Index Register—An, Dn, or suppressed.
DATA FORMAT AND TYPE
<fmt>
Operand Data Format: Byte (B), Word (W), Long (L)
SUBFIELDS AND QUALIFIERS
#<xxx> or #<data>
Immediate data following the instruction word(s).
SINGLE- AND DOUBLE-OPERAND OPERATIONS
Identifies an indirect address in a register.
( )
[ ]
Identifies an indirect address in memory.
d
Displacement Value, n Bits Wide (example: d is a 16-bit displacement).
16
n
REGISTER NAMES
Condition Code Register (lower byte of status register)
Program Counter
CCR
PC
SR
Status Register
REGISTER CODES
Carry Bit in CCR
C
cc
N
U
V
X
Z
Condition Codes from CCR
Negative Bit in CCR
Undefined, Reserved for Motorola Use
Overflow Bit in CCR
Extend Bit in CCR
Zero Bit in CCR
STACK POINTERS
Active Stack Pointer
SP
SSP
USP
Supervisor (Master or Interrupt) Stack Pointer
User Stack Pointer
MISCELLANEOUS
Effective Address
<ea>
<label>
<list>
Assembly Program Label
List of registers, for example D3–D0.
MOTOROLA
MC68322 USER’S MANUAL
3-5
Table 3-4. Instruction Set Summary
OPCODE
OPERATION
SYNTAX
ABCD
Source + Destination + X
Destination
ABCD Dy,Dx
ABCD –(Ay), –(Ax)
10
10
ADD
Source + Destination
Destination
ADD <ea>,Dn
ADD Dn,<ea>
ADDA
ADDI
Source + Destination
Destination
Destination
Immediate Data + Destination Destination
Source + Destination + X Destination
ADDA <ea>,An
Immediate Data + Destination
ADDI #<data>,<ea>
ADDQ # <data>,<ea>
ADDQ
ADDX
ADDX Dy, Dx
ADDX –(Ay), –(Ax)
AND
Source
Λ
Destination
Destination
AND <ea>,Dn
AND Dn,<ea>
ANDI
Immediate Data
CCR
Λ
Destination
CCR
Destination
ANDI # <data>, <ea>
ANDI # <data>, CCR
ANDI # <data>, SR
ANDI to CCR Source
Λ
ANDI to SR
ASL, ASR
If supervisor state then Source
Destination Shifted by <count>
Λ
SR
SR else TRAP
Destination
ASd Dx,Dy
ASd # <data>,Dy
ASd <ea>
Bcc
If (condition true) then PC + d
PC
Bcc <label>
n
BCHG
~ (<bit number> of Destination)
~ (<bit number> of Destination)
Z;
BCHG Dn,<ea>
BCHG # <data>,<ea>
<bit number> of Destination
BCLR
BKPT
~ (<bit number> of Destination)
Z;
BCLR Dn,<ea>
BCLR # <data>,<ea>
0
<bit number> of Destination
Run breakpoint acknowledge cycle;
TRAP as illegal instruction
BKPT # <data>
BRA <label>
BRA
PC + d
PC
n
BSET
~ (<bit number> of Destination)
<bit number> of Destination
Z;
BSET Dn,<ea>
BSET # <data>,<ea>
1
BSR
SP – 4
SP; PC (SP); PC + d
PC
BSR <label>
n
BTST
~ (<bit number> of Destination) Z;
BTST Dn,<ea>
BTST # <data>,<ea>
CHK
CLR
If Dn < 0 or Dn > Source then TRAP
CHK <ea>,Dn
0
Destination
CLR <ea>
CMP
Destination – Source
Destination – Source
cc
cc
CMP <ea>,Dn
CMPA
CMPI
CMPM
DBcc
CMPA <ea>,An
CMPI # <data>,<ea>
CMPM (Ay)+, (Ax)+
DBcc Dn,<label>
Destination – Immediate Data
Destination – Source cc
cc
If condition false then (Dn – 1
If Dn –1 then PC + d PC)
Dn;
≠
n
DIVS
DIVU
Destination
Destination
÷
÷
Source
Source
Destination
Destination
DIVS.W <ea>,Dn32/16
DIVU.W <ea>,Dn32/16
16r:16q
16r:16q
3-6
MC68322 USER’S MANUAL
MOTOROLA
Table 3-4. Instruction Set Summary (Continued)
OPCODE
EOR
OPERATION
SYNTAX
Source Destination
Immediate Data Destination
Source CCR CCR
If supervisor state then Source SR
Rx Ry
Destination
EOR Dn,<ea>
EORI
Destination
EORI # <data>,<ea>
EORI # <data>,CCR
EORI # <data>,SR
EORI to CCR
EORI to SR
EXG
SR else TRAP
EXG Dx,Dy
EXG Ax,Ay
EXG Dx,Ay
EXG Ay,Dx
EXT
Destination Sign-Extended
Destination
EXT.W Dn extend byte to word
EXT.L Dn
extend word to long word
ILLEGAL
SSP – 4
SSP – 2
SSP; PC
SSP; SR
(SSP);
(SSP);
ILLEGAL
Illegal Instruction Vector Address
PC
JMP
JSR
Destination Address
PC
JMP <ea>
JSR <ea>
SP – 4
SP; PC
(SP)
PC
Destination Address
LEA
<ea>
An
LEA <ea>,An
LINK
SP – 4
SP
SP; An
An, SP + d
(SP)
SP
LINK An, # <displacement>
n
LSL,LSR
Destination Shifted by <count>
Destination
LSd Dx,Dy
LSd # <data>,Dy
LSd <ea>
MOVE
Source
Source
Destination
Destination
CCR
MOVE <ea>,<ea>
MOVEA <ea>,An
MOVE <ea>,CCR
MOVE SR,<ea>
MOVE <ea>,SR
MOVEA
MOVE to CCR Source
MOVE from SR SR
Destination
MOVE to SR
MOVE USP
If supervisor state then Source
If supervisor state then USP
SR else TRAP
An or An
US else TRAP
MOVE USP,An
MOVE An,USP
MOVEM
MOVEP
Registers
Source
Destination;
Registers
MOVEM <list>,<ea>
MOVEM <ea>,<list>
Source
Destination
MOVEP Dx,(d ,Ay)
16
MOVEP (d ,Ay),Dx
16
MOVEQ
MULS
MULU
NBCD
Immediate Data
Destination
Destination Destination
Destination
MOVEQ # <data>,Dn
Source
Source
×
×
MULS.W <ea>,Dn
MULU.W <ea>,Dn
NBCD <ea>
16 x 16
16 x 16
32
32
Destination
Destination
0 – (Destination ) – X
10
NEG
0 – (Destination)
0 – (Destination) – X
None
Destination
NEG <ea>
NEGX <ea>
NOP
NEGX
NOP
Destination
MOTOROLA
MC68322 USER’S MANUAL
3-7
Table 3-4. Instruction Set Summary (Continued)
OPCODE
NOT
OPERATION
SYNTAX
~Destination
Destination
Destination
NOT <ea>
OR
Source Destination
V
OR <ea>,Dn
OR Dn,<ea>
ORI
Immediate Data
Source CCR
If supervisor state then Source
Sp – 4 SP; <ea> (SP)
If supervisor state then Assert RESET Line else TRAP
Destination Rotated by <count> Destination
V
Destination
Destination
ORI # <data>,<ea>
ORI # <data>,CCR
ORI # <data>,SR
PEA <ea>
ORI to CCR
ORI to SR
PEA
V
CCR
V
SR
SR else TRAP
1
RESET
RESET
ROL, ROR
ROd Dx,Dy
ROd # <data>,Dy
ROd <ea>
ROXL,
ROXR
Destination Rotated with X by <count>
Destination
ROXd Dx,Dy
ROXd # <data>,Dy
ROXd <ea>
RTE
RTR
If supervisor state
RTE
then (SP)
SR; SP + 2
SP; (SP)
PC; SP + 4
SP;
restore state and deallocate stack according to (SP) else TRAP
(SP)
(SP)
CCR; SP + 2
PC; SP + 4
SP;
SP
RTR
RTS
RTS
(SP)
PC; SP + 4
SP
SBCD
Destination – Source – X
Destination
SBCD Dx,Dy
SBCD –(Ax),–(Ay)
10
10
Scc
If condition true then 1s
Destination else 0s
Destination
Scc <ea>
STOP
SUB
If supervisor state then Immediate Data SR; STOP else TRAP
STOP # <data>
Destination – Source
Destination
SUB <ea>,Dn
SUB Dn,<ea>
SUBA
SUBI
Destination – Source
Destination
SUBA <ea>,An
Destination – Immediate Data
Destination – Immediate Data
Destination
Destination
SUBI # <data>,<ea>
SUBQ # <data>,<ea>
SUBQ
SUBX
Destination – Source – X
Destination
SUBX Dx,Dy
SUBX –(Ax),–(Ay)
SWAP
TAS
Register [31:16]
¯
Register [15:0]
Condition Codes; 1 bit 7 of Destination
SWAP Dn
Destination Tested
TAS <ea>
TRAP
1
SR
S-bit of SR; SSP – 4
(SSP); Vector Address
SSP; PC
PC
(SSP); SSP – 2
SSP;
TRAP # <vector>
TRAPV
TST
If V then TRAP
TRAPV
Destination Tested
Condition Codes
TST <ea>
UNLK An
UNLK
An
SP; (SP)
An; SP + 4
SP
NOTES:
1.
2.
Does Not Reset External Devices Or Internal Registers. Has No Effect On Any MC68322 Modules.
d Is Direction, L, Or R.
3-8
MC68322 USER’S MANUAL
MOTOROLA
SECTION 4
BUS OPERATION
The MC68322 bus consists of the address and data buses (A25–A0 and D15–D0
respectively). These are separate parallel buses that transfer data using an asynchronous
protocol. The graphics bus consists of the MC68322’s DRAM address and data buses
(MA10–MA0 and MD15–MD0 respectively), which are separate parallel buses on which
data is transferred to and from DRAM using an asynchronous protocol. This section
describes control signals and bus operation during data transfers on the MC68322 bus and
graphics bus. It also describes arbitration of the bus and external bus mastership.
Except during external bus mastership, the EC000 core directs the MC68322 bus and
graphics bus using the following the CSx, RD, WRU, WRL, R/W, RAS5–RAS0,
CAS1–CAS0, MA10–MA0, and WE control signals to transfer data. These control signals
indicate the bus cycle beginning and type as well as the address space and size of the
transfer. They control all transfers to and from the core including:
• Internal registers read or write
• ROM read
• DRAM read or write
• I/O read or write
4.1 EC000 CORE READ CYCLE
During a read cycle, the core receives data from memory (DRAM or EPROM), an internal
register, or a peripheral device; reading either one or two bytes of data in all cases. If the
instruction specifies a word (or long-word) operation, the core reads both upper and lower
bytes simultaneously. When the instruction specifies a byte operation, the core uses the
internal A0 bit to determine which byte to read. Once the data is received, the core correctly
positions the byte internally. Figure 4-1 illustrates a word- and byte-sized read cycle
flowchart. Figure 4-2 illustrates the internal word read cycle timing diagram to chip-selects.
Figure 4-3 illustrates the internal byte- and word-sized read cycle timing diagram to
chip-selects, while Figure 4-4 illustrates the internal byte- and word-sized read cycle timing
diagram to DRAM.
Note: AS asserts for MC68322 chip-select bus operations only.
MOTOROLA
MC68322 USER’S MANUAL
4-1
u
EC000 CORE
BUS INTERFACE UNIT
INPUT THE DATA
ADDRESS THE DEVICE
1) PLACE ADDRESS ON A27–A0
2) ASSERT AS (MC68322 BUS ONLY)
4) ASSERT R/W
1) DECODE ADDRESS
2) ASSERT CHIP-SELECT (MC68322
BUS ONLY)
3) ASSERT RD (MC68322 BUS ONLY)
4) ASSERT MULTIPLEXED ADDRESS
ON MA10–MA0 (DRAM ONLY)
5) ASSERT RAS AND CAS (DRAM ONLY)
6) READ DATA FROM SOURCE
7) PLACE DATA ON INTERNAL D15–D0
8) ASSERT INTERNAL DTACK
9) ASSERT WAIT TO STALL EXTERNAL
MC68322 BUS ACCESS (OPTIONAL)
ACQUIRE THE DATA
1) LATCH DATA
2) NEGATE AS
TERMINATE THE CYCLE
1) REMOVE DATA FROM INTERNAL
D15–D0
2) NEGATE RD (MC68322 BUS ONLY)
3) NEGATE INTERNAL DTACK AND RD
STROBE
4) NEGATE MA10–MA0, RAS, AND CAS
(DRAM ONLY)
START NEXT CYCLE
Figure 4-1. Read Cycle Flowchart
S0
S2
S4
S6
S0
S2
S4
S6
S0
S4
W
W
S6
S2
CLK1
CSx
A25–A0
AS
UDS
LDS
R/W
DTACK
D15–D8
D7–D0
RD
WRU and WRL
WORD READ
WORD WRITE
SLOW READ
NOTE: UDS, LDS, and DTACK are internal signals only.
Figure 4-2. External Timing Diagram to Chip-Selects Banks
4-2
MC68322 USER’S MANUAL
MOTOROLA
u
W
S0
S2
S4
S6
S0
S2
S4
S6
S0
S2
S4
W
S6
CLK1
CSx
A25–A1
A0
AS
UDS
LDS
R/W
DTACK
D15–D8
D7–D0
RD
WORD READ
BYTE READ
SLOW BYTE READ
NOTE: A0, UDS, LDS, and DTACK are internal signals only.
Figure 4-3. External Timing Diagram to Chip-Select Banks
W
S0
S2
S4
W
S6
S0
AS
R/W
UDS and LDS
DTACK
MA10–MA0
ROW
COLUMN
RAS5–RAS0
CAS1–CAS0
READ DATA
MD15–MD0
WE
NOTE: UDS, LDS, and DTACK are internal signals only.
Figure 4-4. Word and Byte Read Cycle Timing Diagram to DRAM
MOTOROLA
MC68322 USER’S MANUAL
4-3
u
4.2 EC000 CORE WRITE CYCLE
During a write cycle, the core sends data to memory (DRAM or EPROM), an internal
register, or a peripheral device; writing bytes of data in all cases. If the instruction specifies
a word (or long-word) operation, the core writes both upper and lower bytes simultaneously.
When the instruction specifies a byte operation, the core uses the internal A0 to determine
which byte to write and then issues the data strobe required for that byte.
A transfer is initiated by asserting the address strobe (AS) and providing a valid internal
function code and address. The address is decoded by each module. Once a transfer is
initiated, the core uses the timing and wait state characteristics for the active interface to
pace the internal core bus cycle. Using the wait state information of the selected module,
the core waits the specified number of cycles, transfers data, and then terminates the cycle
by asserting the internal DTACK signal to the core. The core, in turn, then terminates the
internal core bus cycle within two clocks (S4–S7). All transfers on the internal core bus
require the minimum access time of four clock cycles. Figure 4-5 illustrates the write cycle
flowchart and Figure 4-6 illustrates the word and byte write cycle timing diagram to
chip-selects.
EC000 CORE
BUS INTERFACE UNIT
ADDRESS THE DEVICE
1) PLACE ADDRESS ON A27–A0
2) ASSERT AS (MC68322 BUS ONLY)
4) ASSERT R/W
INPUT THE DATA
1) DECODE ADDRESS
2) ASSERT CHIP-SELECT (MC68322
BUS ONLY)
3) ASSERT WRU AND WRL DEPENDING
ON UDS AND LDS (MC68322 BUS
ONLY)
4) ASSERT MULTIPLEXED ADDRESS
ON MA10–MA0 (DRAM ONLY)
5) ASSERT CS1 AND CS0 DEPENDING
ON UDS AND LDS (DRAM ONLY)
6) ASSERT RAS (DRAM ONLY)
7) WRITE DATA FROM DESTINATION
8) RECEIVE DATA ON INTERNAL
D15–D0
9) ASSERT INTERNAL DTACK
10) ASSERT WAIT TO STALL EXTERNAL
MC68322 BUS ACCESS (OPTIONAL)
ACQUIRE THE DATA
1) REMOVE DATA FROM INTERNAL
D15–D0
2) NEGATE AS
3) SET R/W TO READ
TERMINATE THE CYCLE
2) NEGATE INTERNAL DTACK
2) NEGATE WRU AND WRL (MC68322
BUS ONLY)
3) NEGATE MA10–MA0, WE, RAS, AND
CAS (DRAM ONLY)
START NEXT CYCLE
Figure 4-5. Write Cycle Flowchart
4-4
MC68322 USER’S MANUAL
MOTOROLA
u
S0
S2
S4
S6
S0
S2
S4
S6
S0
S2
S4
S6
CLK1
CSx
A25–A1
A0
AS
UDS
LDS
R/W
DTACK
D15–D8
D7–D0
WRU
WRL
ODD BYTE WRITE
EVEN BYTE WRITE
WORD WRITE
NOTE: A0, UDS, LDS, and DTACK are internal signals only.
Figure 4-6. Word and Byte Write Cycle Timing Diagram to Chip-Selects
When the core initiates a DRAM write cycle, the data is latched in an internal write buffer
and a zero wait-state DTACK is generated to the core. The data from the write buffer is
written to DRAM through the graphics bus as soon as the bus is available. Subsequent write
cycles to DRAM are held off if the write buffer is full. The write buffer allows the core to
execute the next instructions while waiting for data to be written to DRAM, thus increasing
the processor’s performance. Figure 4-7 illustrates the word and byte write cycle timing
diagram to DRAM.
MOTOROLA
MC68322 USER’S MANUAL
4-5
u
S0
S2
S4
S6
S0
S2
S4
CLK1
AS
CSx
UDS
DTACK
MA10–MA0
ROW
COL. CYCLE 2
RAS5–RAS0
CAS1, CAS0
MD15–MD0
WE
WRITE DATA
NOTE: UDS and DTACK are internal signals only.
Figure 4-7. Word Write Cycle Timing Diagram to DRAM
4.3 INTERRUPT ACKNOWLEDGE BUS CYCLE
Whenever an interrupt is generated by one of the modules on the MC68322 (or when an
external interrupt arrives), a bit will be set in the corresponding interrupt event register and
the internal IPLX signals will be asserted according to the level programmed for that module.
In response to these active internal IPLx signals, the core transparently initiates an interrupt
acknowledge cycle. During this cycle, the core sets all internal function code signals
(FC2–FC0) high, displays the interrupt level on internal A3–A1, drives A23–A4 and the
internal A0 high, and initiates a read cycle. All MC68322 interrupts are autovectored.
During the interrupt acknowledge bus cycle, with AS detected, an internal AVEC signal is
asserted to the core as an indication that the interrupt is an automatic vector interrupt. AVEC
is negated when AS goes inactive. The internal IPL2–IPL0 signals remain asserted until the
core clears the interrupt event by clearing the appropriate bit in the module’s interrupt event
register. The IPLx signals can, however, change from one level to another before they are
serviced if a different level interrupt is generated. As part of the interrupt handling routine,
the interrupt sources of that level should be cleared. Figure 4-8 illustrates the internal
interrupt acknowledge timing diagram and Figure 4-9 illustrates the interrupt acknowledge
cycle timing diagram.
4-6
MC68322 USER’S MANUAL
MOTOROLA
u
CLK1
FC2–FC0
A3–A1
AS
AVEC
NOTE: These signals are internal signals only.
Figure 4-8. Internal Interrupt Acknowledge Cycle
S0
S2
S4
S6 S7
S2
S4
S6
S0
S2
W
S5 S6
CLK1
CSx
A27–A4, A0
A3–A1
AS
UDS and LDS
R/W
DTACK
AVEC
D15–D8
D7–D0
STACK AND
VECTOR
FETCH
AUTO
VECTOR CYCLE
LAST BUS CYCLE OF INSTRUCTION
(READ OR WRITE)
NOTE: A0, UDS, LDS, AVEC, and DTACK are internal signals only.
Figure 4-9. Interrupt Acknowledge Cycle Timing Diagram
MOTOROLA
MC68322 USER’S MANUAL
4-7
u
4.4 RESET OPERATION
RESET is externally asserted for the initial processor reset. When RESET is driven by an
external device, the entire system (including the core and internal registers) are reset.
Resetting the MC68322 initializes the internal state. The processor reads the reset vector
table entry (address 00016) and loads the contents into the supervisor stack pointer. Next,
the processor loads the contents of address 00416 (vector table entry 1) into the program
counter. Refer to Table 5-3 for more information about exception vector assignments. The
processor then initializes the interrupt level in the status register to a value of seven.
Figure 4-10 illustrates the timing of the reset operation. RESET must be asserted for at least
132 clocks for initial reset. For a subsequent external reset, asserting this signal for 10 clock
cycles or longer resets the MC68322.
CLK1
+ 5 VOLTS
T >= 132 CLOCKS
T <= 4 CLOCKS
V
CC
RESET
NOTE 1
BUS CYCLES
NOTE 2
NOTE 3
NOTE 4
NOTE 5
NOTE 6
ALL CONTROL SIGNALS INACTIVE;
DATA BUS IN READ MODE.
NOTES:
1. Internal start-up time.
2. SSP high read in here.
3. SSP low read in here.
4. PC high read in here.
5. PC low read in here.
6. First instruction fetched here.
Figure 4-10. Reset Operation Timing Diagram
If the core executes the reset instruction, the internal state of the MC68322, its internal
registers, and its external devices are all unaffected. Neither the status register nor any of
the internal registers are affected by a reset instruction execution. Also, the RESET signal
will not assert during the execution of a reset instruction. However, using the reset
instruction on the MC68322 is not recommended.
4-8
MC68322 USER’S MANUAL
MOTOROLA
u
4.5 EXTERNAL BUS MASTER
The design of the MC68322 bus allows only one bus master at a given time. The core can
be disabled as the bus master so that DMA or an external device can have full access to
MC68322 resources. This provides a significant improvement in performance and takes full
advantage of the high integration in the MC68322. The design also provides the external bus
master with access to DRAM, chip-selects, or register memory resources in the lower 64M
of memory. However, the external bus master cannot access memory above this 64M
boundary. A handshake between the MC68322 and the external bus master achieves the
exchange of bus mastership.
When the MC68322 is in external bus master mode, the external bus master drives many
of the signals into the MC68322. The external bus master is limited in that it is unable to
detect generated interrupts, can perform only word-sized operations, and cannot perform
read-modify-write cycles.
4.5.1 MC68322 Bus Arbitration
Bus arbitration is the protocol by which an external device or DMA becomes the MC68322
bus master. The bus interface unit manages the bus arbitration signals so that the core
alternates cycles between GDMA and the external master. Systems having several devices
that become bus master require external circuitry to assign priorities to the devices. So when
two or more external devices try to become bus master at the same time, the one having the
highest priority is the bus master first. These external devices must assert the bus arbitration
signals in the following sequence:
1. An external device asserts the bus request (BR) signal. This can be a wire-ORed
signal (although it need not be constructed from open-collector devices) that informs
the MC68322 that an external device requires control of the bus.
2. The MC68322 three-states A25–A1, D15–D0, AS, and R/W. Then it asserts the bus
grant (BG) signal to indicate the bus is available.
3. The external device controls the bus cycle by driving the control signals and the
MC68322 asserts EDTACK to denote the end of each external bus master cycle.
BR can be issued at any time during a bus cycle or between cycles. BG is asserted when
the bus is available. When the requesting device receives BG and more than one external
device can be bus master, the requesting device should begin whatever arbitration is
required. The external device asserts and maintains BR during the entire bus cycle (or
cycles) for which it is bus master. The following conditions must be met for an external
device to assume mastership of the bus through the normal bus arbitration procedure:
1. The external device must have received the BG signal through the arbitration process.
2. In a multiple bus master situation, it is important to be sure that only one processor has
the bus at any given time.
MOTOROLA
MC68322 USER’S MANUAL
4-9
u
The external bus master can negate BR as soon as the MC68322 asserts EDTACK. The
bus is then granted back to the core when BR is negated. If BR is negated before EDTACK
is asserted, BG remains active until EDTACK is asserted and negated. The external bus
master should not assert BR for long periods of time because this would starve the core and
other modules for memory cycles. DRAM accesses and refreshes continue regardless of
bus arbitration. Figure 4-11 illustrates a bus arbitration timing diagram.
S0
S2
S4
S6
X
S0
S2
S4
W
S6
S0
S2
CLK1
A27–A0
R/W
AS
D15–D0
BR
BG
EDTACK
CONTROLLER
EXTERNAL READ
CONTROLLER
Figure 4-11. Bus Arbitration Timing Diagram
4.5.2 External Bus Master Read Cycle
When the external bus master reads from DRAM, chip-selects, or internal registers, the data
is internally latched at the end of the read cycle. The MC68322 asserts EDTACK and drives
the data out onto the data bus. When the external bus master reads from the chip-selects,
the data is latched on the CLK1 that RD is negated. The chip-select devices stop driving the
data bus when RD is negated. When the hold time is satisfied, then the MC68322 drives the
data bus with the data and EDTACK is asserted. The hold time provides a data turnaround
time starting from the time the chip-select device drives the data to the time the MC68322
drives the data. Read data is valid while EDTACK is asserted. When the external bus master
receives EDTACK, it is free to negate AS and to stop driving the address bus. Only
word-sized read cycles are supported. Figure 4-12 illustrates a read cycle from the external
bus master.
4-10
MC68322 USER’S MANUAL
MOTOROLA
u
BR
BG
AS
R/W
A25–A1
D15–D0
EDTACK
A
B
C
D
E
F
G
H
I
NOTES:
A = Master requests bus by asserting BR.
B = MC68322 grants bus by asserting BG.
C = Master drives A25–A1.
D = Master asserts AS.
E = MC68322 drives D15–D0 and asserts EDTACK.
F = Master negates AS and stops driving A25–A1.
G = MC68322 stops driving D15–D0 and negates EDTACK.
H = Master negates BR.
I = MC68322 negates BG.
Figure 4-12. External Bus Master Read Cycle
4.5.3 External Bus Master Write Cycle
When the external bus master writes to DRAM, chip-selects, or internal registers, it asserts
EDTACK when the write cycle to the device is complete. The write data on the data bus goes
directly to the device being written. Once the external bus master receives EDTACK, it is
free to negate AS and to stop driving the data and address buses. Only word-sized write
cycles are supported and there is no data strobe signal available to the external bus master.
The external bus master is required to supply valid data from the beginning of the cycle.
Figure 4-13 illustrates a write cycle from the external bus master.
MOTOROLA
MC68322 USER’S MANUAL
4-11
u
BR
BG
AS
R/W
A25–A1
D15–D0
EDTACK
A
B
C
D
E
F
G
H
I
J
NOTES:
A = Master requests bus by asserting BR.
B = MC68322 grants bus by asserting BG.
C = Master drives A1–A25 and asserts R/W.
D = Master asserts AS.
E = Master drives D0–D15.
F = MC68322 and asserts EDTACK.
G = Master deasserts AS and stops driving D0–D15 and A1–A25.
H = MC68322 deasserts EDTACK.
I = Master deasserts BR.
J = MC68322 deasserts BG.
Figure 4-13. External Bus Master Write Cycle
4.5.4 Illegal Address Interrupt
If the external bus master accesses a memory location not mapped to a register, DRAM, or
chip-select, the MC68322 asserts EDTACK immediately and waits for AS to be negated
before it negates EDTACK. This bad access by the external bus master causes an illegal
address interrupt bit to be set in the software interrupt event register. This causes a level 7
interrupt event to be posted to the core, but no interrupts are posted to the external master.
4-12
MC68322 USER’S MANUAL
MOTOROLA
SECTION 5
INTERRUPT AND EXCEPTION HANDLING
The MC68322 supports two types of interrupts—internal and external. These interrupts are
posted to the EC000 core through an internal interrupt controller, which uses an exception
processing routine to handle the interrupt. The core’s internal status register contains a 3-bit
interrupt priority mask that ranges from level 0 to 7 (level 7 being the highest) mask level.
Interrupts are inhibited for all priority levels less than or equal to the current mask level.
Priority level 7 is a special case. Level 7 interrupts cannot be inhibited by the interrupt priority
mask, thus providing a nonmaskable interrupt capability. Level 7 interrupts can be
generated in two ways. First, an interrupt is generated each time the interrupt event level
changes from a level below level 7. Second, a level 7 interrupt occurs if the interrupt request
level is a 7 and the core priority mask is dropped from level 7 to a lower level by the
execution of an instruction.
5.1 INTERNAL INTERRUPTS
The MC68322 modules function simultaneously and independently of the core. At the
completion of a module’s operation, the module is capable of posting an internal interrupt to
the core through an internal interrupt controller. For example, the printer video controller
(PVC) could post a page-end interrupt to signal the core that it has finished rendering a
page. The controller ranks the interrupt based on a module’s programmed interrupt priority
level and then posts the interrupt event to the core. This type of internal interrupt event is
called a hardware interrupt because it is initiated by one of the MC68322 modules.
The MC68322 supports another type of interrupt event called a software interrupt. This type
of interrupt is initiated by the software by programming some internal registers on the
MC68322. Once the software has initiated such an event, the interrupt will be posted to the
core in exactly the same way as a hardware interrupt event. The advantage that these
MC68322 hardware interrupts provide over the typical 68000 Family software exceptions is
that these software interrupts can be set at a lower priority level than the current interrupt
event and thus be delayed until the core runs at a lower priority level. This causes the
software interrupt to be serviced sometime between the current interrupt and the next
noninterrupt operation. See Section 5.4.2.3 Instruction Traps for more information.
MOTOROLA
MC68322 USER’S MANUAL
5-1
u
5.1.1 Hardware Interrupts
There are 31 hardware interrupt events that can be posted from a module to the core. The
interrupt events are grouped together by module and listed in Table 5-1. Each module has
a corresponding interrupt level register, which is used to set the needed interrupt level for
the module. Each module’s interrupt event register is individually described in the section
detailing the corresponding module.
Table 5-1. Hardware Interrupt Events
POSTING MODULE
INTERRUPT EVENTS
PVC
Illegal DRAM Address
Video Underrun
Band Underrun
Page End
Band Begin
RGP
Error
Done
Printer Communication
Command Sent
Status Received
Timer
Timer Interrupt
GDMA
Illegal Address
DMA Complete
Terminal Count Reached
PDMA
PPI
Illegal Address
DMA Complete
Terminal Count Reached
SELECTIN High
SELECTIN Low
STROBE High
STROBE Low
AUTOFD High
AUTOFD Low
INIT High
INIT Low
Data Received
ECP Command Received
Invalid Termination
External Interrupt 0
External Interrupt 1
External Interrupt 2
External Interrupt 3
External Interrupt Source 0
External Interrupt Source 1
External Interrupt Source 2
External Interrupt Source 3
A module’s interrupt event register contains three basic parts—interrupt enable field,
interrupt event bit fields, and interrupt level field. When an enable bit is set, it allows the
interrupt event to cause an interrupt. When clear, the interrupt is masked. An interrupt event
bit reflects the status of an interrupt event, regardless of the masking in the enable field. To
determine the source of the interrupt, the software reads these bits and applies the mask in
the enable field. The interrupt event bits are cleared with the software by writing a 1 to the
bit positions to be cleared in the module’s interrupt event register.
5-2
MC68322 USER’S MANUAL
MOTOROLA
u
The interrupt level field reflects the interrupt priority level for that module. Level 7 is the
highest priority, level 1 is the lowest, and level 0 indicates that no interrupt is requested. If
an event occurs and causes the same level of interrupt as is currently being serviced (at the
same time an interrupt of that level is being cleared) the interrupt level will become active
again after two clocks. The interrupt level to the core could change if the priority level of an
active interrupt is changed. To avoid potential problems, priority levels should be changed
only while the corresponding interrupt is masked. Some interrupt event registers have status
bits in addition to the interrupt bits. These status bits cannot cause an interrupt to the core.
However, the software can read them at any time to obtain more information about the
module’s status.
5.1.2 Software Interrupts
There are seven independent software interrupts that can be set and cleared under software
control; each corresponding to levels 7 through 1. Software can read the software interrupt
event register for status information (or write to it to clear) or set an interrupt. Like the basic
format for each module’s interrupt event registers described above, the software interrupt
event register contains an enable field, several software status fields, and the software
interrupt event bits. Figure 5-1 illustrates the software interrupt event register.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF790
00FFF792
00FFF794
ENABLE
EIA CIA
EVENT
SET
3
8
7
15
14
13
12
11
6
5
4
2
1
0
10
9
= RESERVED
Figure 5-1. Software Interrupt Event Register
Software interrupts are set by writing to the bits of the software interrupt event register’s SET
field. Writing a 1 to Bit 0 of the SET field generates a level 1 interrupt, Bit 1 a level 2, and so
on. The EVENT field reflects the state of the pending software interrupt. Software interrupts
can be set at any time and multiple interrupts can be set at the same time, if needed.
However, keep in mind that setting an interrupt that has already been set will have no effect.
Software interrupts are cleared by writing the EVENT field. Each bit corresponds to one of
the seven software interrupts. Writing a 1 to a bit position will clear that software interrupt,
while a zero in a bit position has no effect. For Bit 0, writing a 1 clears a level 1 interrupt, for
Bit 6 writing a 1 clears a level 2 interrupt, and so on. The interrupt service routine must clear
its interrupt to avoid another interrupt when the routine completes.
MOTOROLA
MC68322 USER’S MANUAL
5-3
u
The MC68322 completely decodes the address map and generates an internal DTACK. If
the core presents an address that does not match any of the programmed addresses for the
modules, none of the modules will generate DTACK. This condition is called an illegal
address. When an illegal address is detected, the core interface asserts an internal DTACK
and sets a level 7 interrupt to indicate an error condition. The software interrupt event
register’s CIA bit is then set, thus indicating that the core has accessed a memory location
that is not mapped to a register, chip-select, or DRAM. The interrupt is cleared by writing a
1 to the CIA bit position. The core will never have a bus error condition. The EIA bit is set if
the external bus master accesses a memory location that is not mapped to a register, chip-
select, or DRAM. This interrupt generates a level 7 interrupt to the core. The interrupt is
cleared by writing a 1 to the EIA bit position.
5.2 EXTERNAL INTERRUPTS
The MC68322 provides up to four pins for external interrupts (IRQ3–IRQ0). IRQ1 and IRQ0
are dedicated interrupt pins. IRQ3 and IRQ2 are multiplexed pins and must be programmed
to be used as interrupt pins. Refer to Appendix D Alternate Pin Functions for more details.
These inputs can be individually programmed for active polarity and either level or edge
sensitivity. External interrupts are asynchronous to the MC68322 and are synchronized
inside the MC68322 for proper operation. Two registers control each source of external
interrupt—external interrupt 0/2 and 1/3 registers (EXIR0/2–EXIR1/3). Figure 5-2 illustrates
these registers.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF770
00FFF772
ENB2 ENB0
STS0 REQ0
STS2 REQ2
EXTERNAL
INTERRUPT
REGISTER 0/2
INTERRUPT
LEVEL
00FFF774
00FFF776
00FFF778
00FFF780
00FFF782
MODE2
MODE0
SEN0
SEN2
ENB3
ENB1
STS1 REQ1
STS3 REQ3
MODE3
EXTERNAL
INTERRUPT
REGISTER 1/3
INTERRUPT
LEVEL
00FFF784
00FFF786
00FFF788
MODE1
SEN1
0
SEN3
1
8
15
14
13
12
11
6
5
4
3
2
10
9
7
= RESERVED
Figure 5-2. External Interrupt Registers (EXIR0/2–EXIR1/3)
5-4
MC68322 USER’S MANUAL
MOTOROLA
u
ENBx—External Interrupt Enable
External interrupts are enabled when set and disabled when cleared. This bit affects the
interrupt to the core, but not the interrupt event in the STSx or REQx fields.
STSx—External Interrupt Status
This bit reflects the status of the corresponding IRQ signal after it is synchronized with CLK1.
REQx—External Interrupt Request
This bit is set when an external interrupt event occurs. To remove the interrupt, the core
should write a 1 to the REQx bit. If this bit and the ENBx bit are set, an interrupt is posted.
Interrupt Level Register
This field is used to set the interrupt level. A level 7 is the highest priority and level 1 is the
lowest priority. Level 0 indicates that the interrupt is disabled.
MODEx—External Interrupt Mode
This field controls the external interrupt polarity and whether it is level sensitive or edge
sensitive. Table 5-2 lists the MODEx field encodings.
Table 5-2. External Interrupt Polarity
ENCODING
DESCRIPTION
00
01
10
11
Active Low Level
Active High Level
Falling Edge Transition
Rising Edge Transition
SENx—External Interrupt (Software Enable)
This bit is only used when the external interrupt is level sensitive. SENx is only set by the
software and only cleared by the hardware. It allows the software to control a level-sensitive
interrupt without using the ENBx bit. The software cannot clear SENx, but it is set by the
software and cleared by the hardware when a level-sensitive interrupt is received. This bit
is also forced clear if the MODEx field is set for edge-sensitive interrupts (102 or 112). When
an external interrupt occurs, REQx is set and SENx is automatically cleared.
Because a level-sensitive interrupt may not change, caution must be taken so that the core
is not constantly interrupted. It is recommended that an external interrupt be disabled before
the SENx field in the external interrupt register is initialized by the software.
MOTOROLA
MC68322 USER’S MANUAL
5-5
u
5.3 TIMER MODULE
For the operating software to monitor time, the MC68322 provides a timer that continuously
posts an interrupt event to the core at regular intervals. Like the other modules of the
MC68322, the timer runs independent of the core (even though its interval can be changed
by the core at any time).
A timer operation is initiated by a write to the interval field in the timer register. At 16MHz,
the width of the timer register provides an interrupt frequency range from 125ns to more than
one second. Typically, this register is only set once during software initialization to produce
interrupts every 50ms. Figure 5-3 illustrates the timer register.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF600
TIMER INTERVAL (HIGH BYTE)
TIMER INTERVAL (LOW WORD)
TIMER COUNT (HIGH BYTE)
TIMER COUNT (LOW WORD)
00FFF602
00FFF604
00FFF606
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
Figure 5-3. Timer Register
The timer interval field specifies the number of 1× clocks between timer interrupts. The timer
count field provides the current 1× clock count value in case more precise timing is required.
The interval field must be initialized before a timer interrupt event is enabled in the timer
interrupt event register (TIER), which is illustrated in Figure 5-4.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF730
ENB
INT
00FFF732
00FFF734
LEVEL
1
8
15
14
13
12
11
6
5
4
3
2
0
10
9
7
= RESERVED
Figure 5-4. Timer Interrupt Event Register
The timer interval and count fields in the timer register consist of a high byte and low word.
First the high byte should be loaded, followed by the low word, which is the natural order of
an core long-word write access. Loading the low word causes the new interval to be loaded
into the timer counter. The count field counts down to zero, generates an interrupt, and then
reloads from the interval field. The value read from the count field reflects the current state
of the timer counter. The count field should be read twice to determine the actual timer
count. The timer count will decrement between the read of the high byte and the low word
portions of the count field, which can cause the high byte to decrement. For example, if the
timer counts down from 30016 to 2FF16 between reads, then the software may incorrectly
read the upper byte as 3 and the lower word as FF16 for a total of 3FF16.
5-6
MC68322 USER’S MANUAL
MOTOROLA
u
5.4 CORE EXCEPTION HANDLING
Exception processing is the activity performed by the core in preparation to execute a
special routine for any condition that causes an exception. In particular, exception
processing does not include the execution of the routine itself. It is the transition from the
normal processing of a program to the processing required for any special internal or
external condition that preempts normal processing. External conditions that cause
exceptions are interrupts from external devices, address errors, and resets. Internal
conditions that cause exceptions are instructions, address errors, and tracing. For example,
the trap, trapv, chk, rte, and div instructions can generate exceptions as part of their
normal execution. In addition, illegal instructions and privilege violations cause exceptions.
Exception processing uses an exception vector table and an exception stack frame.
Exception processing occurs in four functional steps. However, all individual bus cycles
associated with exception processing (vector acquisition and stacking) are not guaranteed
to occur in the order in which they are described in this section. Figure 5-5 illustrates a
general flowchart for the steps taken by the core during exception processing.
ENTRY
SAVE INTERNAL
COPY OF SR
S
T
1
0
(SEE NOTE)
FETCH VECTOR
NUMBER
SAVE CONTENTS
TO STACK FRAME
(SEE NOTE)
EXECUTE EXCEPTION
HANDLER
OTHERWISE
BEGIN INSTRUCTION
EXECUTION
EXIT
NOTE: These blocks vary for reset and interrupt exceptions.
Figure 5-5. General Exception Processing Flowchart
MOTOROLA
MC68322 USER’S MANUAL
5-7
u
During the first step, the core makes an internal copy of the internal status register (SR),
except during the reset exception, which does not make a copy of the internal status
register. Then the core changes to the supervisor mode by setting the S bit and inhibits
tracing of the exception routine by clearing the T bit in the SR. For the reset and interrupt
exceptions, the core also updates the interrupt priority mask in the internal status register.
During the second step, the core determines the vector number for the exception and
internal logic provides the vector number for all exceptions. This vector number is used in
the last step to calculate the address of the exception vector. Please note that throughout
this section, vector numbers are given in decimal notation.
The third step is to save the current core contents for all exceptions other than the reset
exception, which does not stack information. The core creates an exception stack frame on
the active supervisor stack and fills it with information appropriate for the type of exception.
Other information can also be stacked, depending on which exception is being processed
and the state of the core prior to the exception. Figure 5-6 illustrates the general form of the
exception stack frame.
15
0
SP
STATUS REGISTER
PROGRAM COUNTER
Figure 5-6. General Form of an Exception Stack Frame
The last step initiates execution of the exception routine. The new internal program counter
value is fetched from the exception vector. The core then resumes instruction execution.
The instruction at the address in the exception vector is fetched and normal instruction
decoding and execution is started. The memory map for exception vectors is listed in
Table 5-3. The vector table is 512 words long (1,024 bytes), starting at address 0 (decimal),
and proceeding through address 1,023 (decimal). The vector table provides 255 unique
vectors, some of which are reserved for trap and other system function vectors. Of the 255,
192 are reserved for user interrupt vectors. However, the first 64 entries are not protected,
so user interrupt vectors may overlap at the discretion of the systems designer.
Note: All interrupt exceptions on the MC68322 are autovectored. See Section 5.4.2.2
Interrupt Exceptions for more details.
5-8
MC68322 USER’S MANUAL
MOTOROLA
u
Table 5-3. Exception Vector Assignments
VECTOR
NUMBER(S)
VECTOR OFFSET
4
SPACE
ASSIGNMENT
(HEX)
2
0
1
000
SP
SP
Reset Initial Interrupt Stack Pointer
2
004
Reset Initial Program Counter
Not Applicable
2
3
008
00C
010
014
018
01C
020
024
028
02C
030
SD
SD
SD
SD
SD
SD
SD
SD
SD
SD
—
Address Error
4
Illegal Instruction
Integer Divide By Zero
CHK Instruction
TRAPV Instruction
Privilege Violation
Trace
5
6
7
8
9
10
11
Line 1010 Emulator (Unimplemented A-Line Opcode)
Line 1111 Emulator (Unimplemented F-Line Opcode)
(Unassigned, Reserved)
1
12
1
034
—
(Unassigned, Reserved)
13
14
15
038
03C
SD
SD
—
Format Error
Not Applicable
1
040–05C
(Unassigned, Reserved)
16-23
24
25
060
064
SD
SD
SD
SD
SD
SD
SD
SD
SD
—
Not Applicable
Level 1 Interrupt Autovector
Level 2 Interrupt Autovector
Level 3 Interrupt Autovector
Level 4 Interrupt Autovector
Level 5 Interrupt Autovector
Level 6 Interrupt Autovector
Level 7 Interrupt Autovector
TRAP #0–15 Instruction Vectors
(Unassigned, Reserved)
26
068
27
06C
28
070
29
074
30
078
31
07C
32–47
080–0BC
0C0–0FC
1
48–63
64–255
100–3FC
SD
User Defined Vectors
NOTES:
1.
2.
Vector Numbers 12, 13, 16–23, And 48–63 Are Reserved For Future Enhancements By Motorola. No User-Peripheral Devices
Should Be Assigned These Numbers.
Reset Vector (0)RRequires Four Words (Unlike The Other Vectors, Which Only Require Two Words) And Is Located In The
Supervisor Program Space.
3.
4.
TRAP #n Uses Vector Number 32+ n.
SP Denotes Supervisor Program Space And SD Denotes Supervisor Data Space.
MOTOROLA
MC68322 USER’S MANUAL
5-9
u
5.4.1 Processing Specific Exceptions
The exceptions are classified according to their sources and each type is processed
differently. There are three types of exceptions—reset, interrupt, and instruction traps.
5.4.2.1 RESET EXCEPTION. The reset exception corresponds to the highest exception
level. The processing of the reset exception is performed for system initiation and recovery
from catastrophic failure. Any processing in progress at the time of the reset is aborted and
cannot be recovered. The core is forced into the supervisor state and the trace state is
forced off. The interrupt priority mask is set at level 7. The vector number is internally
generated to reference the reset exception vector at location 0 in the supervisor program
space. Because no assumptions can be made about the validity of register contents, in
particular the SSP, neither the internal program counter nor the internal status register are
saved. The address in the first two words of the reset exception vector is fetched as the initial
SSP, and the address in the last two words is fetched as the initial internal program counter.
Finally, instruction execution is started at the address in the internal program counter. The
initial internal program counter should point to the power-up/restart code.
The MC68322 does support the reset instruction, but the instruction will not affect any
changes in the system and should be avoided due to the long execution time of the
instruction. A reset exception is initiated by RESET, not the reset instruction. The reset
instruction does not assert the RESET signal and does not modify any internal registers. The
execution of the reset instruction does not affect the state or function of other on-chip
modules.
5.4.2.2 INTERRUPT EXCEPTIONS. An interrupt event is posted to the core by the interrupt
controller using the internal IPL2–IPL0. Interrupt events arriving at the core do not force
immediate exception processing, but the requests are given a pending status. Pending
interrupts are detected between instruction executions. If the priority of the pending interrupt
is lower than or equal to the current core priority mask level, execution continues with the
next instruction, and the interrupt exception processing is postponed until the current core
priority mask level becomes less than the pending interrupt event.
If the priority of the pending interrupt is greater than the current core priority mask level, the
exception processing sequence is started. A copy of the internal status register is saved, the
privilege mode is set to supervisor mode, tracing is suppressed, and the core priority mask
level is set to the level of the interrupt being acknowledged. The core internally generates a
vector number corresponding to the interrupt level number. It then proceeds with the usual
exception processing. The saved value of the internal program counter is the address of the
instruction that would have been executed had the interrupt not been taken. The appropriate
interrupt vector is fetched and loaded into the internal program counter and normal
instruction execution commences in the interrupt handling routine.
5-10
MC68322 USER’S MANUAL
MOTOROLA
u
5.4.2.3 INSTRUCTION TRAPS. Traps are exceptions caused by instructions and they occur
when the core recognizes an abnormal condition during instruction execution or when an
instruction is executed that normally traps during execution. Exception processing for traps
is straightforward. The internal status register is copied, the supervisor mode is entered, and
tracing is turned off. The vector number is internally generated, but as the trap instruction,
part of the vector number comes from the instruction itself. The internal program counter and
the copy of the internal status register are saved on the supervisor stack. The saved value
of the internal program counter is the address of the instruction following the instruction that
generated the trap. Finally, instruction execution commences at the address in the
exception vector.
Some instructions are used specifically to generate traps. The trap instruction always forces
an exception and is useful for implementing system calls for user programs. The trapv and
chk instructions force an exception if the user program detects a run-time error, which can
be an arithmetic overflow or a subscript out of bounds. A signed divide (divs) or unsigned
divide (divu) instruction forces an exception if a division operation is attempted with a divisor
of zero.
5.4.2.4 ILLEGAL AND UNIMPLEMENTED INSTRUCTIONS. An illegal instruction refers to
any of the word bit patterns that do not match the bit pattern of the first word of a legal core
instruction. If such an instruction is fetched, an illegal instruction exception occurs. Motorola
reserves the right to define instructions using the opcodes of any of the illegal instructions.
Three bit patterns always force an illegal instruction trap on all M68000 Family-compatible
microprocessors. These patterns are: 4AFA16, 4AFB16, and 4AFC16. Two of the patterns,
4AFA16 and 4AFB16, are reserved for Motorola system products. The third pattern, 4AFC16,
is reserved for customer use (as the take illegal instruction trap—illegal—instruction).
Word patterns with bits 15–12 equaling 10102 or 11112 are distinguished as unimplemented
instructions and separate exception vectors are assigned to these patterns to permit
efficient emulation. Opcodes beginning with bit patterns equaling 11112 (F line) are
implemented in the MC68020 as coprocessor instructions. These separate vectors allow the
operating system to emulate unimplemented instructions in the software. Exception
processing for illegal instructions is similar to that for traps. After the instruction is fetched
and decoding is attempted, the core determines that execution of an illegal instruction is
being attempted and starts exception processing. The exception stack frame is then pushed
on the supervisor stack and the illegal instruction vector is fetched.
MOTOROLA
MC68322 USER’S MANUAL
5-11
u
5.4.2.5 PRIVILEGE VIOLATIONS. To provide system security, various instructions are
privileged. An attempt to execute one of the privileged instructions while in the user mode
causes an exception. The privileged instructions are as follows:
• and immediate to sr
• move usp
• eor immediate to sr
• or immediate to sr
• move to sr
• reset
• move from sr
• rte
• movec
• stop
• moves
Exception processing for privilege violations is nearly identical to that for illegal instructions.
The core starts exception processing once the instruction is fetched, decoded, and the core
determines that a privilege violation is being attempted. The internal status register is
copied, the supervisor mode is entered, and tracing is turned off. The vector number is
generated to reference the privilege violation vector and the current internal program
counter and copy of the internal status register are saved on the supervisor stack. The saved
value of the internal program counter is the address of the first word of the instruction
causing the privilege violation. Finally, instruction execution commences at the address in
the privilege violation exception vector.
5.4.2.6 TRACING. To aid in program development, the core includes a facility to allow
tracing after each instruction. When tracing is enabled, an exception is forced after the
execution of each instruction. Thus, a debugging program can monitor the execution of the
program under test.
The trace facility is controlled by the T bit in the supervisor portion of the internal status
register. If the T bit is cleared, tracing is disabled and instruction execution proceeds from
instruction to instruction as normal. If the T bit is set (on) at the beginning of an instruction’s
execution, a trace exception is generated after the completion of the instruction. If the
instruction is not executed because an interrupt is taken or because the instruction is illegal
or privileged, the trace exception does not occur. The trace exception also does not occur if
the instruction is aborted by a reset, bus error, or address error exception. If the instruction
is executed and an interrupt is pending on completion, the trace exception is processed
before the interrupt exception. During the execution of the instruction, if an exception is
forced by that instruction, the exception processing for the instruction exception occurs
before that of the trace exception.
5-12
MC68322 USER’S MANUAL
MOTOROLA
u
As an extreme illustration of these rules, consider the arrival of an interrupt during the
execution of a trap instruction while tracing is enabled. First, the trap exception is
processed, then the trace exception, and finally the interrupt exception. After the execution
of the instruction is complete and before the start of the next instruction, exception
processing for a trace begins and a copy of the internal status register is made. The
transition to supervisor mode is made and the T bit of the internal status register is turned
off, thus disabling further tracing. The vector number is generated to reference the trace
exception vector and the current internal program counter and the copy of the internal status
register are saved on the supervisor stack. The saved value of the internal program counter
is the address of the next instruction. Instruction execution commences at the address
contained in the trace exception vector.
5.4.2.7 ADDRESS ERROR. An address error exception occurs when the core attempts to
access a word or long-word operand or an instruction at an odd address. The bus cycle is
aborted and the core ceases current processing and begins exception processing. Likewise,
if an address error occurs during the exception processing for an address error (or reset) the
core is halted. A common example of address error generation is when the stack pointer is
pointing at an odd address.
5.4.2 Multiple Exceptions
When multiple exceptions occur simultaneously, they are processed according to a fixed
priority. Table 5-4 lists the exceptions, grouped by characteristics, with group 0 having the
highest priority. Within group 0, reset has the highest priority, followed by an address error.
Within group 1, trace has priority over external interrupts, which takes priority over illegal
instruction and privilege violation. Since only one instruction can be executed at a time, no
priority relationship applies within group 2.
Table 5-4. Exception Grouping and Priority
GROUP
EXCEPTION
PROCESSING
0
1
2
Reset and Address Error
Exception Processing Begins Within Two Clock Cycles.
Exception Processing Begins Before The Next Instruction.
Exception Processing Is Started By Normal Instruction Execution.
Trace, Interrupt, Illegal, and Privilege
trap, trapv, chk, and div
The priority relationship between two exceptions determines which one is taken (or taken
first) if the conditions for both arise simultaneously. In another example, if an interrupt event
occurs during the execution of an instruction while the T bit in the internal status register is
asserted, the trace exception has priority and is processed first. However, before instruction
execution resumes, the interrupt exception is processed. As a general rule, the lower the
priority of an exception, the sooner the handler routine for that exception executes. This rule
does not apply to the reset exception. Its handler is executed first (even though it has the
highest priority) because the reset operation clears all other exceptions.
MOTOROLA
MC68322 USER’S MANUAL
5-13
u
5.4.3 Exception Bus Cycles
Because the MC68322 has a self-contained core, all addresses generated during bus
cycles should decode to an internal register, chip-select bank, or DRAM. In the event that
an undefined memory location is accessed, a core illegal address interrupt event is posted
and generates an interrupt if enabled. Therefore, an external BERR is not required. All
vectors in the exception vector table should be initialized, including the address error
exception. The core could have the stack pointer set to an odd byte boundary, which would
result in an address error exception.
5.5 MODULE SOFT-RESET REGISTER
The module soft-reset register (MSRR) contains four write-only bit fields that are used to
independently initialize a corresponding module to a known state. Figure 5-9 illustrates the
MSRR.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF7A0
RESERVED
GDR PDR RGP PVC
Figure 5-7. Module Soft-Reset Register
The GDR and PDR bits, when set, reset the GDMA and PDMA respectively. These two bits
provide for a recovery from an addressing error or any other error that causes the DMA
channel to stop in an indeterminate condition. The RGP bit then returns the RGP to its idle
state and the PVC bit returns the print engine video controller to its idle state. The PVC bit
can be used in the event that the PVC has an address error or if an underrun condition
occurs.
5-14
MC68322 USER’S MANUAL
MOTOROLA
SECTION 6
SYSTEM INTEGRATION MODULE
The system integration module (SIM) provides the ROM, PROM, and peripheral
chip-selects. It contains eight programmable chip-select banks to decode the address and
supply internal DTACK to the core after the appropriate number of wait states.
6.1 CHIP-SELECT REGISTERS AND BANKS
The MC68322 contains eight noncontiguous memory-mapped chip-select registers
(CSR7–CSR0), each corresponding to a variably sized chip-select bank (CSB7–CSB0) in
memory. Each chip-select register (CSR) indicates the corresponding chip-select bank’s
location, size, and timing for read and write accesses (such as data setup, hold, and
recovery time). Only the core or an external bus master can access the CSRs as word or
long-word sized registers. Figure 6-1 illustrates the eight chip-select registers.
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
00FFF000
00FFF002
SIZE
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
BASE ADDRESS (A27—A18)
RHLD RSET
CSR0
WHLD
WSET
WACC
RACC
00FFF010
00FFF012
00FFF020
00FFF022
00FFF030
00FFF032
SIZE
SIZE
SIZE
SIZE
SIZE
SIZE
SIZE
CSR1
CSR2
CSR3
WHLD
WHLD
WHLD
WHLD
WHLD
WSET
WSET
WSET
WSET
WSET
WACC
WACC
WACC
WACC
WACC
RACC
RACC
RACC
RACC
RACC
00FFF040
00FFF042
CSR4
CSR5
CSR6
CSR7
00FFF050
00FFF052
00FFF060
00FFF062
WHLD
WHLD
WSET
WSET
WACC
WACC
RACC
RACC
00FFF070
00FFF072
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
= RESERVED
Figure 6-1. Chip-Select Register (CSR7–CSR0)
MOTOROLA
MC68322 USER’S MANUAL
6-1
u
The upper word of the memory-mapped CSR contains the bit fields that control timing
characteristics for read and write cycles on the chip-select bank. By manipulating these
fields, different timing are created for read and write cycles on a bank-by-bank basis.
WHLD—Write Hold Time
CSx hold time from trailing edge of WRU and WRL for write operations.
WSET—Write Setup Time
CSx setup time before leading edge of WRU and WRL for write operations.
WACC—Write Access Time
Indicates the duration of the WRU and WRL signals during write operations.
RHLD—Read Hold Time
CSx hold time from falling edge of RD for read operations.
RSET—Read Setup Time
CSx setup time before leading edge of RD for read operations.
RACC—Read Access Time
Indicates the duration of the RD signal during read operations.
The chip-select active time (in CLK1s) for read operations is derived from these fields
through the calculation:
active read time = RSET + RACC + RHLD + 11/2
The chip-select active time (in CLK1s) for write operations is derived from the calculation:
active write time = WSET + WACC + WHLD + 11/2
There are two guidelines that the software must follow when programming these timing
parameters:
• The minimum allowed value for active read time and active write time is 21/2.
• The minimum allowed value for WSET = 1, which produces a write setup time of 2.
The CSR’s size field contains the chip-select bank’s size and should have a defined
programmed value. Because each CSR has its own size field, each chip-select bank can be
a different size or completely removed from the memory map. This bit field allows a
maximum bank size of 64M. Table 6-1 lists the encodings for the size field.
6-2
MC68322 USER’S MANUAL
MOTOROLA
u
Table 6-1. Size Field Encoding
ENCODING
BANK SIZE
Disabled
256K
ENCODING
BANK SIZE
4M
0
1
2
3
4
5
6
7
8
9
8M
512K
16M
1M
32M
2M
64M
The CSR’s base address field contains the chip-select bank’s address and allows each bank
to be programmed anywhere in the 256M range of the memory map. The bits in the base
address field correspond to bits 27–18 of the chip-select bank’s starting address.
At reset, CSR7–CSR1 are disabled. The base address of CSR0 is set to zero so the core
can fetch the reset vector. CSR0 should be connected to ROMs containing the startup code
and is enabled with a size of 8M on power-up. The programmable parameters should
provide setup and hold times for data to the core. The read data is latched on the rising edge
of the RD signal for any cycle with RHLD different than zero. If RHLD is equal to zero, the
read data must be set up by the rising edge of the CSx signal that negates half of CLK1
before the RD signal. On power-up, CSR0’s WSET and RSET fields are also set to zero and
the write and read ACC and HLD fields will be at their maximum. Be aware that the software
must program the chip-select parameters for banks 7–1 before using them.
A chip-select bank can be individually located anywhere in the 256M range of the memory
map and can overlap with DRAM or other chip-select banks. In case of an address overlap,
all memory-mapped registers have priority over chip-select banks. Likewise, chip-select
banks have priority over DRAM banks and lower numbered chip-select banks have priority
over higher numbered chip-select banks. For example, CSB0 has a higher priority than
CSB7. There are two additional timing registers accessed by the core—chip-select DMA
timing register and chip-select recovery register. Figure 6-2 illustrates these two registers.
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
00FFF080
00FFF082
WHLD
WSET
RHLD
RSET
RECOVERY SELECT
WACC
RACC
CSDTR
CSRR
RESERVED
14 13
REC
10
15
12
11
9
8
7
6
5
4
3
2
1
0
Figure 6-2. Chip-Select DMA Timing and Recovery Registers
The chip-select DMA timing register (CSDTR) is a dedicated register that provides access
timing parameters to the chip-select bank accessed by the general-purpose DMA (GDMA)
during DMA transfers. These timing fields function in a similar manner as those in the upper
word portion of a CSR. However, the normal timing parameters for the bank are not used
when the bank is accessed by the GDMA. See Section 8 DMA Interface for more details.
MOTOROLA
MC68322 USER’S MANUAL
6-3
u
The chip-select recovery register (CSRR) contains a REC field that controls the chip-select
recovery time. This recovery time applies to a chip-select only if it has been enabled in the
recovery select field. The REC field provides a common programmable recovery value for
all chip-select banks. Since the recovery time is common for all the chip-select banks, it
should be programmed to satisfy the maximum recovery value for all chip-select banks. If
the recovery time has not been satisfied between successive access to a bank (with
recovery enabled) the second access is delayed.
Each bit of the recovery select field corresponds to a chip-select bank. If recovery is
enabled, it is forced for that bank, regardless of when it is accessed by GDMA, the core, or
an external bus master.
6.2 SYNCHRONOUS AND ASYNCHRONOUS CHIP-SELECT
ACCESS TIMING
In synchronous mode, once the programmed timing values are satisfied, the system
integration module generates an internal DTACK to the core and terminates the MC68322
bus cycle. Table 6-2 lists the core’s synchronous access timing values for the chip-selects
and Figure 6-3 illustrates a synchronous read or write access.
Table 6-2. Synchronous Timing Values
PARAMETER
NAME
MIN. VALUES
(CLK1)
MAX. VALUE
(CLK1)
CSR FIELD
FORMULA (CLK1)
Read Setup
Write Setup
Read Access
Write Access
Read Hold
RSET
WSET
RACC
WACC
RHLD
RSET Time = RSET + 1
WSET Time = WSET + 1
RACC Time = RACC + 1
WACC Time = WACC + 1
RHLD Time = RHLD – 1/2
1
2
4
4
1
16
16
21/2
1
– 1/2
WHLD Time = WHLD – 1/2
REC Time = REC + 11/2
– 1/2
21/2
Write Hold
Recovery
WHLD
REC
1
/
321/2
2
NOTE: The Value WSET = 0 Produces A WSET Time = 2.
6-4
MC68322 USER’S MANUAL
MOTOROLA
u
S0 S2 S4
X
X
X
X
S6
INTERNAL CLK1
A25–A1
CSx
RD, or WRU and WRL
D15–D0 (READ)
D15–D0 (WRITE)
SET TIME
ACC TIME
HLD TIME
RECTIME
CHIP-SELECT TIME
NOTE 2
NOTE 1
SET = 2 => SET TIME = 3
ACC = 1 => ACC TIME = 2
1
/
HLD = 2 => HLD TIME = 1
REC = 2 => REC TIME = 31/2
2
NOTES:
1. Recovery starts here; no access to CSx will
start until recovery is satisfied.
2. Delayed EC000 core access starts here.
3. WAIT is inactive.
Figure 6-3. Synchronous Read or Write Timing Diagram
In asynchronous mode, read and write access timings (WACC and RACC) must be
programmed to be at least two, so that WAIT will be properly recognized by the MC68322.
This value results in read and write access times of three CLK1s, which is the minimum
required for a proper asynchronous access. Once RACC and WACC are satisfied, the
MC68322 samples WAIT. If WAIT is active at the end of the access time, the access is
stalled. After WAIT becomes inactive and a two CLK1 recovery from WAIT, RHLD and
WHLD are satisfied. If WAIT becomes inactive and RHLD and WHLD are zero, an internal
DTACK is generated to the core and the cycle is terminated. Figures 6-4 and 6-5 illustrate
normal and special asynchronous read or write timing.
MOTOROLA
MC68322 USER’S MANUAL
6-5
u
S0
S2 S4
W
W
W
W
W
W
W
W
W
W
W
S6
INTERNAL CLK1
A15–A1
CSx
WAIT
RD or WRL and WRU
D15–D0 (WRITE)
D15–D0 (READ)
SET TIME
ACC TIME
WAIT
REC TIME
ADDED WAIT TIME
HLD TIME
NOTE 2
CHIP-SELECT TIME
SET = 1 => SET TIME = 2
ACC = 3 => ACC TIME = 4
HLD = 2 => HLD TIME = 11
/
2
NOTE:
1. There is one CLK1 of synchronization delay on WAIT.
2. Chip-select bank recovery starts.
Figure 6-4. Asynchronous Read or Write Timing Diagram
S0
S2
S4
W
W
W
W
W
W
W
W
W
S6 S7
INTERNAL CLK1
A25–A1
CSx
WAIT
RD or WRL and WRU
D15–D0 (WRITE)
D15–D0 (READ)
SET TIME
CHIP-SELECT TIME
WAIT
REC
TIME
ACC TIME
ADDED
WAIT TIME
SET = 2 => SET TIME = 3
ACC = 3 => ACC TIME = 4
HLD = 0 => HLD TIME = –1/
2
NOTE: There is one CLK1 of synchronization delay on WAIT.
Figure 6-5. Special Asynchronous Read or Write Timing Diagram
6-6
MC68322 USER’S MANUAL
MOTOROLA
SECTION 7
DRAM CONTROLLER
The MC68322 supports fast-page mode DRAM devices. However, nibble mode and static
column DRAM devices are not supported. The MC68322 directly supports up to six banks
of DRAM with bank sizes of 256Kbits × 16, 1Mbit × 16, and 4Mbits × 16. All DRAM sizes are
a fixed data width of one word of 16 bits. Each of the six banks can support 512K to 8M.
The RISC graphics processor (RGP), printer video controller (PVC), DMAs, and EC000 core
can all make accesses through the DRAM controller. The RGP and PVC use burst cycle
accesses to maximize DRAM bus bandwidth, while the core does not burst to or from
DRAM. All burst cycles from these modules occur within 256-word DRAM page boundaries.
Core write accesses to the DRAM controller use data pipelining that allows for a reduction
of internal bus arbitration delays.
7.1 DRAM REGISTERS AND BANKS
7.1.1 Base Address and Size Fields
Each of the six DRAM banks correspond to an internal DRAM register. These six DRAM
registers (DRAM5–DRAM0) are word-sized and indicate the DRAM bank’s size and
location. Figure 7-1 illustrates these registers.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
ROM
MODE
ROM
MODE
ROM
MODE
ROM
MODE
ROM
MODE
ROM
00FFF100
00FFF110
DRAM0
DRAM1
SIZE
BASE ADDRESS (A27—A19)
BASE ADDRESS (A27—A19)
BASE ADDRESS (A27—A19)
BASE ADDRESS (A27—A19)
BASE ADDRESS (A27—A19)
BASE ADDRESS (A27—A19)
SIZE
SIZE
SIZE
SIZE
SIZE
00FFF120
00FFF130
00FFF140
00FFF150
DRAM2
DRAM3
DRAM4
DRAM5
MODE
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
Figure 7-1. DRAM Register (DRAM5–DRAM0)
MOTOROLA
MC68322 USER’S MANUAL
7-1
Because each DRAM register contains a size field, each DRAM bank can be individually
programmed for a different size or disabled entirely. The available sizes are either 512K, 2M,
or 8M, depending on the size field’s encoding. There are no limitations in the ordering of
bank sizes. Table 7-1 lists the size field encodings and the equivalent DRAM bank sizes.
Table 7-1. DRAM Size Options
ENCODING
DRAM BANK ORGANIZATION
00
01
10
11
Disabled (No Size)
256 Kbit
1 Mbit
×
×
×
16 (512K)
16 (2M)
16 (8M)
4 Mbit
The base address field, contained in each DRAM register, allows the six DRAM banks to be
individually located at any location in the 256-byte memory map. The DRAM register base
address field contains bits 27–19 of the corresponding DRAM bank’s starting address.
These DRAM banks can be contiguous to or disjointed from each other, as required by the
operating environment. Even though the DRAM bank can be any size, the starting address
must be unique, non-overlapping, and located on an address boundary equal to its size. For
example, an 8M DRAM bank must be on an 8M address boundary. DRAM address space
can, however, overlap with other registers, ROM, or I/O space. In case of an overlap, DRAM
has the lowest priority.
7.1.2 ROM Mode
The MC68322 DRAM controller ‘‘ROM mode’’ is available in the G59B Mask Set. The ROM
mode of operation causes the selected DRAM channel to run with extended cycle times
while the remainder of the channels operate at full speed. This will place font ROMs on one
of the DRAM channels with only an external latch required to demultiplex the address
signals. By placing the font ROMs on one of the DRAM channels, the MC68322 RGP will
have direct access to font data, which eliminates the need for a font cache, thus reducing
overall system DRAM requirements. ROM mode is selected for a particular DRAM channel
by setting the ROM mode bit in the corresponding DRAM register (see Figure 7-1 for
details).
7.1.2.1 FUNCTIONAL DESCRIPTION. When the ROM mode is selected for one of the
DRAM channels, the accesses to that channel are extended. Each initial and burst access
is extended by one CLK1 period (two CLK2 periods). For example, in timing mode 1 the
normal DRAM access time in CLK1s would be 4:2:2:2...; but when the ROM mode is
selected, the access time becomes 5:3:3:3... for that particular channel. This timing
relaxation in the ROM mode allows ROMs (which typically have longer access times than
DRAM) to operate effectively on one (or more) of the DRAM channels.
7-2
MC68322 USER’S MANUAL
MOTOROLA
At the same time, the other channels in the normal mode will run at full speed, thereby
achieving maximum use of the available bandwidth in the DRAMs and maximizing system
performance. In addition to extending the accesses, one CLK1 of idle time is inserted at the
end of the entire access to the channel when in the ROM mode. This idle clock allows the
data bus to return to a state of high impedance because ROMs can drive the data bus for
an extended period of time after an access.
7.1.2.2 TIMING EXAMPLE. Figures 7-2 and 7-3 illustrate the difference between the
DRAM accesses when in normal mode and ROM mode. This example is for DRAM timing
mode 1, but similar behavior is exhibited in timing modes 0 and 2.
CLK2
MA10-0
RAS5-0
COLUMN
ROW
COLUMN
ROW
COLUMN
CAS1-0
MD15-0
DATA
DATA
SINGLE CYCLE
FAST PAGE CYCLE
INITIAL ACCESS
NEXT ACCESS...
Figure 7-2. DRAM Timing Mode 1 (Read Cycle, ROM Mode = 0)
CLK2
MA10-0
RAS5-0
COLUMN
ROW
COLUMN
CAS1-0
MD15-0
DATA
DATA
SINGLE CYCLE
FAST PAGE CYCLE
IDLE
NEXT...
INITIAL ACCESS
Figure 7-3. DRAM Timing Mode 1 (Read Cycle, ROM Mode = 1)
Note: The IDLE state shown here will also occur at the end of a refresh cycle whenever
the ROM mode is selected for at least one of the DRAM channels.
MOTOROLA
MC68322 USER’S MANUAL
7-3
7.1.2.3 ADDRESS DEMULTIPLEXING CIRCUIT. The MC68322 multiplexes the
addresses on the DRAM bus as required by standard DRAM devices. To connect ROM to
one of the DRAM channels, a simple address demultiplexing circuit must be used. The
following circuit provides an example of how to implement this logic in a system.
2 MBYTE DRAM --> ROM CIRCUIT
CE1*
TO SECOND ROM
512K X 16
(OPTIONAL)
RAS5*
CE0*
74F00
LATCH
LMA(9)
MA(9:0)
LMA(8:0)
MD(15:0)
68322
74ALS821
MA(9:0)
ROM 512K X 16
THE CIRCUIT FOR THE 74F00 SHOULD BE AS FOLLOWS:
SIGNALS
ROM ADDRESS PINS
MA(9)
LMA(8:0)
MA(8:0)
A(18)
A(17:9)
A(8:0)
LATCH
CE1*
RAS5*
LMA(9)
CE0*
Figure 7-4. Address Demultiplexing Example
7.1.2.4 OPERATIONAL EXAMPLE. A typical MC68322-based system might be a 16-MHz
design that uses 70ns DRAMs. To achieve maximum system performance in this case,
select DRAM timing mode 2. This system might also include 120ns font ROMs that could
be attached to one of the DRAM channels using a circuit such as the one illustrated above.
Such an arrangement would minimize system cost by reducing the overall DRAM
requirements. If the ROM mode was not used, the system would need to be slowed to timing
mode 0 to accommodate these font ROMs. This slowdown would still produce a functional
system, but overall performance would be hindered because this setup would not fully utilize
the available bandwidth in the DRAMs. Instead, timing mode 2 should be selected for this
system and the ROM mode should be activated for the DRAM channel supporting the font
ROMs. These actions will optimize system performance as well as support the
DRAM-based font ROMs that help reduce system costs.
7-4
MC68322 USER’S MANUAL
MOTOROLA
7.2 DRAM CONTROL REGISTER
The DRAM control register (DRMCR) contains two fields—DRAM timing select (TS) and
DRAM refresh interval (RIC). Figure 7-5 illustrates this register.
8
15
15
14
14
13
12
12
11
11
6
5
4
3
2
1
0
10
10
9
7
00FFF160
00FFF162
TS
REFRESH INTERVAL COUNT (RIC)
8
13
6
5
4
3
2
1
0
9
7
= RESERVED
Figure 7-5. DRAM Control Register
The TS field is used to select one of three DRAM timing modes. The timing mode selected
applies to all banks. All DRAM devices connected to the MC68322 must operate at the same
speed because the DRAM controller does not support independently programmable bank
speeds. The exception to this is the ability to slow down individual DRAM banks by setting
the ROM mode bit in the corresponding DRAM register. See Section 7.1.2 ROM Mode for
details.
The RIC field provides the refresh time interval in CLK1s. The CAS and RAS timing
parameters for refresh are hardcoded and cannot be programmed. However, the RIC field
can be changed at any time and the new value will take effect when the next terminal count
is reached and a refresh cycle begins. Then the new RIC field value is loaded into the refresh
counter.
7.3 DRAM TIMING MODES
Three DRAM timing modes provide wait state profiles optimized for various DRAM speeds
at system frequencies of 16, 20, and 25MHz. These timing modes are not fixed to any
specific system clock frequency and can therefore be used regardless of system clock
frequency as long as the DRAM device timing is satisfied. The DRAM controller
automatically bursts for both read and write bus cycles. Table 7-2 lists the timing modes,
their associated DRAM control register TS field encodings, and the recommended system
speeds.
Table 7-2. DRAM Timing Modes
TS FIELD
ENCODING
MODE/WAIT STATE PROFILE
RECOMMENDED SYSTEM SPEED
25MHz with 80ns
Timing Mode 0
5:3:3:3…reads
5:2:2:2…writes
00
Timing Mode 1
Timing Mode 2
Not Used
4:2:2:2…reads
4:2:2:2…writes
01
10
11
20MHz with 100ns or 25MHz with 70ns
3:2:1:2…reads
3:2:2:2…writes
16MHz with 80ns, 20MHz with 60ns, or 25MHz
with 50ns
Not Used
MOTOROLA
MC68322 USER’S MANUAL
7-5
7.4 DRAM ACCESSES
When the RGP, PVC, one of the DMAs, or core accesses DRAM, the MC68322 begins a
DRAM read or write cycle to one of the DRAM banks. The software must assure that eight
or more refresh cycles (described below) have occurred before any access to the DRAM is
performed. This is a requirement of the DRAM devices rather than the MC68322.
7.4.1 DRAM Refresh Cycles
DRAM refresh is accomplished through the use of CAS before RAS refresh cycles with the
refresh interval fully programmable. In CAS before RAS refresh cycles, the DRAM provides
its own refresh address, thus eliminating the need to generate an external refresh address.
The refresh cycle timing is fixed and satisfies the timing requirements for the highest system
clock speeds. During the refresh cycle, WE is always driven high to prevent enabling of the
test mode feature found in some DRAM devices.
All refresh cycles are transparent in that they take place between DRAM accesses without
forcing the microprocessor to halt execution. If the core accesses a chip-select bank or
chip-select register, a DRAM refresh cycle can occur simultaneously. However, if the core
accesses DRAM during a refresh operation, it is delayed until the refresh cycle completes.
When the refresh cycle occurs, the RGP and PVC will also be delayed. Figure 7-6 illustrates
a DRAM refresh cycle.
START
RF1
RF2
RF3
RF4
CLK2
MA10–MA0
RAS5–RAS0
CAS1–CAS0
D15–D0
WE
REFRESH CYCLE
Figure 7-6. DRAM Refresh Cycle
7-6
MC68322 USER’S MANUAL
MOTOROLA
7.4.2 DRAM Read Cycles
The timing mode selected during setup determines the sequence of events that join to form
a DRAM read cycle. WE remains negated during these events. The events in timing order
are:
• The row address is placed on the memory address bus (MA10–MA0).
• The address selects one of the RAS signals, which is then asserted.
• The column address is placed on the memory address bus (MA10–MA0).
• The CAS1 and CAS0 are asserted.
• Data is read.
• RASx, CAS1, and CAS0 are negated.
Figures 7-7 to 7-9 illustrate the DRAM read cycle timings for each of the three timing modes.
START
WAIT
ROW
WAIT
WAIT
READ DATA
WAIT
WAIT
READ DATA
START
CLK2
MA10–MA0
COLUMN CYCLE 1
COLUMN CYCLE 2
RAS5–RAS0
CAS1–CAS0
DATA VALID
DATA VALID
D15–D0
WE
SINGLE CYCLE
FAST PAGE CYCLE
Figure 7-7. DRAM Timing Mode 0 (Read Cycle, ROM Mode = 0)
START
WAIT
WAIT
READ DATA
WAIT
READ DATA
START
CLK2
MA10–MA0
COLUMN CYCLE 1
COLUMN CYCLE 2
ROW
RAS5–RAS0
CAS1–CAS0
DATA VALID
DATA VALID
D15–D0
WE
SINGLE CYCLE
FAST PAGE CYCLE
Figure 7-8. DRAM Timing Mode 1 (Read Cycle, ROM Mode = 0)
MOTOROLA
MC68322 USER’S MANUAL
7-7
START
WAIT
READ DATA
WAIT
READ DATA
READ DATA
COLUMN
START
CLK2
MA10–MA0
COLUMN
COLUMN
ROW
RAS5–RAS0
CAS1–CAS0
DATA
DATA
DATA
D15–D0
WE
FAST PAGE CYCLE
FAST PAGE CYCLE
SINGLE CYCLE
Figure 7-9. DRAM Timing Mode 2 (Read Cycle, ROM Mode = 0)
7.4.3 DRAM Write Cycles
A DRAM write cycle begins in the same manner as a DRAM read cycle, except that data to
be written is placed on the DRAM data bus (MD15–MD0) and WE is asserted at the
beginning of the cycle. CAS1 and CAS0 are asserted according to the internal LDS and UDS
signals. The cycle ends by negating the RASx, CAS1, CAS2, and WE. It is important to note
that the MC68322 implements early write cycles, which means that the assertion of CAS1
and CAS2 strobes data into DRAM. Figures 7-10 to 7-12 illustrate the DRAM write cycle
timings for each of the three timing modes.
START
WAIT
ROW
WAIT
WAIT
WRITE DATA
WAIT
WRITE DATA
START
CLK2
MA10–MA0
COLUMN CYCLE 1
COLUMN CYCLE 2
RAS5–RAS0
CAS1–CAS0
D15–D0
WE
DATA VALID
DATA VALID
SINGLE CYCLE
FAST PAGE CYCLE
Figure 7-10. DRAM Timing Mode 0 (Write Cycle)
7-8
MC68322 USER’S MANUAL
MOTOROLA
START
WAIT
WAIT
WRITE DATA
WAIT
WRITE DATA
START
CLK2
MA10–MA0
ROW
COLUMN CYCLE 1
COLUMN CYCLE 2
RAS5–RAS0
CAS1–CAS0
D15–D0
WE
DATA VALID
DATA VALID
SINGLE CYCLE
FAST PAGE CYCLE
Figure 7-11. DRAM Timing Mode 1 (Write Cycle)
START
WAIT
WRITE DATA
WAIT
WRITE DATA
START
CLK2
MA10–MA0
ROW
COLUMN CYCLE 1
COLUMN CYCLE 2
RAS5–RAS0
CAS1–CAS0
D15–D0
WE
DATA VALID
DATA VALID
SINGLE CYCLE
FAST PAGE CYCLE
Figure 7-12. DRAM Timing Mode 2 (Write Cycle)
When a DRAM write cycle is initiated by the core, the data is latched into a buffer and an
early internal DTACK is generated to the core. Subsequent write cycles to DRAM are
delayed if the write buffer is full. The write buffer allows the core to execute the next
instruction(s) while waiting for the word to be written to DRAM, thus increasing the
MC68322’s performance.
7.4.4 DRAM Bus Arbitration
Arbitration for the DRAM bus is performed with strict priorities. If the bus is busy, the core
will be delayed a maximum of 13 internal accesses before it has access to DRAM.
MOTOROLA
MC68322 USER’S MANUAL
7-9
7.4.5 DRAM Burst Accesses
Burst accesses are carried out by using the fast-page mode operation of the DRAM.
Fast-page mode is used for all multi-word burst cycles. In fast-page mode, the cycle is
carried out as described for read and write cycles, except that only CAS1 and CAS2 are
negated while RASx remains asserted. After the defined interval (defined by the memory
access timing register) the column address is incremented and the CAS signals reassert,
initiating another memory cycle. The DRAM controller interface will not burst across a
256-word address page boundary. If a burst access tries to cross a 256-word page, the cycle
will terminate and a new one will begin.
7.5 POWER-UP SEQUENCE
Once RESET is negated, the DRAM controller automatically performs DRAM refresh cycles.
To guarantee proper DRAM operation after a power-up sequence or extended low
frequency or static operation, some DRAMs require an 8-cycle precharge. To meet this
requirement, the system should set the DRAM controller to the correct values and then
perform eight reads from DRAM, thus disregarding the data.
On reset, the DRAM registers and the DRMCR’s TS field are set to zero. Setting the TS field
to zero selects the most conservative timing mode. All DRAM banks are disabled and the
DRMCR refresh interval count (RIC) is set to a minimum value for the most frequent refresh
rate. Software must load the RIC field with the proper value during initialization, but before
it enables any DRAM bank, the DRAM register for a bank must be programmed with a valid
starting address.
7-10
MC68322 USER’S MANUAL
MOTOROLA
SECTION 8
DMA INTERFACE
The MC68322 DMA interface provides support for high-speed data transfers between
external sources and DRAM. The DMA interface contains two channels—the parallel port
DMA (PDMA) and the general-purpose DMA (GDMA). Both of these channels are
single-ended and operate independently from each other with the single restriction that
DRAM can only be accessed one channel at a time. Each DMA channel contains control
state machines, a 16-bit data latch, data steering multiplexers, and counters for addresses
and transferred data.
Each channel is interfaced and activated through a corresponding register. Once they are
activated, the data steering multiplexers are configured based on direction and data width
and the source controller begins requesting data. When source data is available, the source
control state machine latches the data and signals the destination control state machine to
start the destination operation. Destination transfer requests begin immediately after the first
source data is received. DMA transfers continue until all the data has been transferred (the
destination counter decrements to zero), a flush request is posted, or an error occurs.
The GDMA supports bidirectional byte- and word-sized data transfers between external
DMA devices (such as I/O) and DRAM. The GDMA transfers to or from a single address on
the MC68322 bus while automatically incrementing the address on the memory address bus
(MA10–MA0). This provides a high-speed method of transferring data to or from a peripheral
or DRAM. The PDMA operates like the GDMA, except that all transfers occur between the
parallel port interface and DRAM. In addition, it is designed to support only byte-sized data
transfers.
MOTOROLA
MC68322 USER’S MANUAL
8-1
8.1 DMA CONFIGURATION REGISTERS
The DMA interface provides two internal memory-mapped configuration register sets called
PDMA and GDMA. These registers configure each DMA channel and provide
programmability for transfer address and count. Figure 8-1 illustrates the DMA interface
registers.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF200
00FFF202
00FFF204
00FFF206
0000
PDMA DRAM TRANSFER ADDRESS ( HIGH WORD)
PDMA DRAM TRANSFER ADDRESS (LOW WORD)
PDMA TRANSFER COUNT
PDMA CONFIGURATION
REGISTERS
FR
00FFF210
00FFF212
00FFF214
00FFF216
00FFF218
GDMA DRAM TRANSFER ADDRESS (HIGH WORD)
GDMA DRAM TRANSFER ADDRESS (LOW WORD)
GDMA CHIP-SELECT TRANSFER ADDRESS (HIGH WORD)
GDMA CHIP-SELECT TRANSFER ADDRESS (LOW WORD)
GDMA TRANSFER COUNT
0000
0000
GDMA CONFIGURATION
REGISTERS
00FFF21A
FR
0
8
15
14
13
12
11
6
5
4
3
2
1
10
9
7
= RESERVED
Figure 8-1. PDMA and GDMA Configuration Registers
8.1.1 Transfer Address Fields
The PDMA configuration register contains the PDMA DRAM transfer address field. The
GDMA configuration register contains two transfer address fields—GDMA DRAM transfer
address (GDTA) and GDMA chip-select transfer address (GCSTA). These fields define the
base address for the beginning of the transfer and they cannot be written while the BSY bit
in the active channel’s interrupt event register is set. The transfer address fields support the
entire 256M address range of the MC68322.
The GDTA field increments during a DMA transfer. For word-sized data transfers using the
GDMA channel, the transfer address is incremented after every word is transferred. When
receiving byte-sized data, the data is packed into words prior to accessing DRAM and the
address is incremented after every full word is transferred to DRAM. Likewise, for sending
byte-sized data, a word access to DRAM is made, the address in incremented, and the data
is sent unpacked as bytes to the MC68322 bus. All byte-sized data packing is organized as
big endian data.
The MC68322 bus address used for the GDMA channel is fixed and not incremented. The
transfer address for the MC68322 bus is used to access one of eight possible chip-select
banks. The GDMA chip-select transfer address appears on the output address pins of the
MC68322 bus interface (A25–A1). It is assumed the device that is connected to the banks
on the MC68322 bus used for the DMA handles any addressing issues internally.
8-2
MC68322 USER’S MANUAL
MOTOROLA
8.1.2 Transfer Count Fields
Each DMA configuration register provides a 14-bit programmable transfer count field, thus
allowing for a maximum 16-Kbyte or 16-Kword transfers. The transfer count is in words if the
selected DMA channel is programmed to perform word-sized transfers. Similarly, the
transfer count is in bytes if the DMA channel is programmed to perform byte-sized transfers.
Writing this register activates the DMA channel, so that all other configuration register fields
must be initialized before writing the transfer count field.
When activated, the transfer count value is loaded into an internal counter and decremented
after each destination transfer. The transfer count field is not double buffered, so writing a
new value during an active transfer will not start the next DMA operation at the conclusion
of the current operation. However, if a new value is written to the transfer count field during
an active transfer, the new value is ignored.
During an active transfer, reading the transfer count field will reflect the current value of the
destination transfer count. This value is required to determine the amount of data remaining
to be transferred when a DMA channel is shut down using flush request. To assure an
accurate value after issuing a flush request, the transfer count should be read only after
receiving a DMA complete interrupt event. This ensures that all data was transferred and is
reflected in the count value.
8.1.3 Flush Request (FR) Fields
Each DMA channel contains a write-only control field (FR) that allows the core real-time
control over an active DMA transfer. A read by the core results in a value of zero. TheFR bit
(when set during an active transfer) shuts down the transfer and then returns the DMA
channel to a condition ready for a new operation. For transfers to DRAM, the FR bit instructs
the channel to disable reading source data and to finish transferring any data left in the
internal data latch to DRAM. For transfers from DRAM, the FR bit instructs the DMA channel
to disable reading source data and to discard any data left in the internal data latch that was
read from DRAM. When completed, a DMA complete interrupt is posted and the DMA
channel controllers return to the idle state.
8.2 GDMA CONTROL REGISTER
The GDMA control register (GDMCR) is used to configure the transfer direction, transfer
data width, and DREQ input mode, as well as enable CS× during MC68322 bus cycles. This
register is not double buffered and writing a new value during an active transfer will change
the current operational mode of the GDMA channel. This is not recommended. When read
by the core, the register reflects the current programmed bit fields. Figure 8-2 illustrates the
GDMA control register.
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
00FFF21C
D
W
DM
DS
RESERVED
Figure 8-2. GDMA Control Register
MOTOROLA
MC68322 USER’S MANUAL
8-3
The DM field is used to select how the GDMA channel recognizes an external DMA device
request. Table 8-1 lists the field encodings and available options.
Table 8-1. DM Field Encoding
ENCODING
DREQ REQUEST OPTION
Active Low Level
00
01
10
11
Active High Level
Falling Edge Transition
Rising Edge Transition
Setting the DS bit causes the MC68322 bus interface signal (CS×) to be asserted during a
DMA-generated MC68322 bus cycle. If cleared, CS× will not be asserted during the cycle.
When the W bit is set, the GDMA channel performs byte-sized transfers, but word-sized
transfers when cleared. When the D bit is set, the GDMA channel transfers data from DRAM
to an external DMA device and when cleared the GDMA channel transfers the data from an
external DMA device to DRAM.
8.3 DMA SPEED REGISTER
The SPD bit in the DMA speed (DMASP) register controls the maximum time that the GDMA
waits between accesses to DRAM. When set, GDMA waits a maximum of 29 DRAM bus
cycles plus six CLK1 periods for DRAM refresh. This is used for low-memory bandwidth
devices such as serial ports. When DMASP is clear, GDMA waits a maximum of 17 DRAM
bus cycles plus six CLK1 periods for DRAM refresh. This setting is used for high-memory
bandwidth applications. GDMA latency occurs when the core, RISC graphics processor,
print engine video controller, or an external bus master uses the DRAM bus. The minimum
latency is zero. If the DRAM bus is idle when the GDMA makes a request, its DRAM bus
cycle starts immediately. Figure 8-3 illustrates DMASP, which indicates the speed of the
DMA throughput.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF904
SPD
RESERVED
Figure 8-3. DMA Speed Register
8-4
MC68322 USER’S MANUAL
MOTOROLA
8.4 DMA INTERRUPT EVENT REGISTERS
The DMA interface provides two memory-mapped interrupt event registers for each DMA
channel. These registers provide real-time and interrupt status to the core. Figure 8-4
illustrates the two DMA interrupt registers.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF740
00FFF742
00FFF744
00FFF750
00FFF752
00FFF754
ENABLE
GDMA INTERRUPT
EVENT REGISTER
BSY FLL TCR CMP
ILA
INTERRUPT
LEVEL
ENABLE
PDMA INTERRUPT
EVENT REGISTER
BSY FLL TCR CMP
ILA
INTERRUPT
LEVEL
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
Figure 8-4. DMA Interrupt Event Registers
Note: The DMA interrupt registers are located in the interrupt register portion of the
memory map and are therefore not necessarily located contiguously with the
other DMA registers.
Interrupt events for either channel can be individually enabled or disabled by programming
each bit of the enable field. Setting each bit enables its respective event and clearing it
masks the event. If an event is enabled, an interrupt is sent to the core. The following are
GDMA and PDMA interrupt events and their bit field descriptions.
BSY—Busy
This bit is set when the DMA channel’s transfer count field is written, indicating that the
channel is active and that the core should not write to the channel’s configuration registers.
This bit is cleared when the final transfer has completed and the channel remains idle and
is ready to accept new register values.
FLL—Full
This bit is set when byte- or word-sized data is held in the DMA data latch and is cleared
when the transfer operation is complete. The combination of the BSY and FLL bits indicate
real-time status.
TCR and CMP—Terminal Count Reached and Complete
The TCR bit indicates when a DMA transfer is completed under normal termination (the
number of transfer operations equals the value programmed in the channel’s configuration
register transfer count field). When the TCR bit is set, the DMA channel is finished with its
transfer. The CMP bit is then set, indicating that the DMA registers are ready to be written
for the next DMA transfer.
MOTOROLA
MC68322 USER’S MANUAL
8-5
ILA—Illegal Address
An illegal address interrupt is generated if a DMA channel attempts to access a DRAM or
chip-select bank using an out-of-range address. This bit is set if the channel’s configuration
register GDTA, GCSTA, or PDTA fields do not access a valid address. If this error occurs,
the DMA channel will halt all transfer operations and park in an error condition. The DMA
channel must then be reset using the soft-reset register’s GDR or PDR bits before starting
a new operation.
The interrupt level field indicates the interrupt level. If any of the events in the channel’s
interrupt event register occur, an interrupt level indicated by this field is sent to the EC000
core. The interrupt levels range from seven to zero (zero disables interrupts).
8.5 INITIATING A DMA OPERATION
The DMA channel is activated after programming the channel’s configuration register and
writing the transfer count field. The software must ensure that a DMA channel is idle before
writing the transfer count field. Writing a zero value to the transfer count field is allowed, but
not recommended. New values should not be written into the DMA registers during active
transfers because undefined results will occur.
For transfers to the MC68322 bus from DRAM, the GDMA immediately requests data from
DRAM. After receiving data from DRAM, the GDMA begins monitoring the external DREQ
input. When the external DMA device requests data, it is read out of the internal data latch
and presented through the MC68322 bus to complete the data transfer. This process
continues until all data is transferred, an address error occurs, or the transfer is terminated
by the core through a flush request.
For data transfers to DRAM from the MC68322 bus, the GDMA begins monitoring the
external DREQ input. When data is available from the external DMA device, the MC68322
bus cycle starts and the data is loaded into the internal data latch. Once the internal data
latch is loaded with source data, the GDMA requests a DRAM cycle and, when granted,
writes the data to memory. This process continues until all data is transferred, an address
error occurs, or the transfer is terminated by the core through a flush request.
During an active DMA transfer, the system software can decide to reallocate the DMA
resource to another device. By issuing a flush request, the current DMA operation will be
terminated. When the CMP bit in the interrupt event register is set, new values for the DMA
channel registers can be written and the channel restarted.
8.6 DMA TRANSFERS
Because both DMA channels operate on a demand basis, all DMA-initiated transfers
(through either the PDMA or GDMA channels) use a data request and acknowledge type
handshake.
The GDMA supports both word- and byte-sized transfers. For word-sized transfers, the
external DMA device must connect to D15–D0 and for byte-sized transfers the device must
connect to D7–D0. WRU and WRL signals are both asserted during an MC68322
word-sized bus write cycle, but only WRL is asserted during byte-sized writes.
8-6
MC68322 USER’S MANUAL
MOTOROLA
Support for byte-sized transfers is handled automatically by the DMA interface through data
packing and it requires no external logic. Byte-sized data received from the core or PPI are
packed into words prior to requesting a DRAM access. Data sent to the core as bytes are
read in as words from DRAM and unpacked to bytes for transfer. All data transfers to and
from memory are in big endian format, thus assuring compatibility with the processor’s data
organization in memory.
8.6.1 PDMA Transfers
Handshaking for the PDMA channel is transparent and handled internally between the PPI
and the PDMA channel. A typical transfer cycle for the PPI is described in Section 9 Parallel
Port Interface.
8.6.2 GDMA MC68322 Bus Read and Write Cycles
GDMA handshaking uses the DREQ and DACK signals. DREQ is an input signal that has a
programmable level or edge sensitivity with polarity control. The default configuration is
active low level. DACK is an output signal that is used by the external DMA device to
acknowledge that a GDMA cycle is in progress. The polarity for the DACK output is fixed to
provide an active low output.
A GDMA cycle is requested when DREQ is asserted by the external DMA device, such as
PROM or I/O. After the DMA interface internally synchronizes DREQ, it arbitrates for the
MC68322 bus and, when granted, asserts DACK. After DACK is asserted, the internal bus
interface unit (BIU) performs the GDMA cycle defined by the GDMA configuration register.
After the cycle completes, DACK is negated and the DMA cycle terminates.
During a GDMA bus cycle, CS× can be disabled. This option supports external DMA devices
that require CS× to be inactive during a DMA operation. The DS bit in the GDMA
configuration register controls the operation of CS× during a DMA-generated MC68322 bus
cycle.
A GDMA MC68322 bus write cycle occurs when the GDMA channel is configured to transfer
from DRAM to an external DMA device. A word-sized GDMA write cycle asserts the WRU
and WRL signals and a byte-sized GDMA write cycle asserts WRL and negates WRU.
Figure 8-5 illustrates the typical timing for a fast DMA read or write cycle. The bus cycle
timing shown is obtained using minimum values for all timing parameters.
MOTOROLA
MC68322 USER’S MANUAL
8-7
MC68322
REQUEST REQUEST BUS REQ. START
WAIT
WAIT
DATA
RECOVERY
CLK2
DREQ
NOTE 1
NOTE 2
DACK
ADDRESS VALID
A23–A1
CS7–CS0
RD or
WRU and WRL
DATA VALID
D15–D0
MC68322
BUS REQ.
MC68322 BUS CYCLE
DMA REQUEST
NOTES:
1) This diagram illustrates DREQ programmed as an active low input.
DREQ is an asynchronous input and is synchronized internally by the
GDMA interface; it requires no setup or hold time to be
recognized for proper operation. However, to guarantee recognition of
the input at a certain edge of CLK, DREQ must satisfy a setup
requirement that it remain active for at least two consecutive CLK rising
edges to be detected by the GDMA interface.
2) Setup and hold requirements must be met to prevent the start of the next
GDMA cycle. If back to back GDMA cycles are preferred, DREQ must
stay active and detected as a low at this time.
Figure 8-5. GDMA MC68322 Bus Read Or Write Cycle
The GDMA can be mapped to any chip-select bank. To optimize DMA access timing, the
chip-select DMA timing register is provided. See Section 6 System Integration Module for
more information. This register provides a separate chip-select bank timing that is specific
to a DMA access. During a GDMA access to a chip-select bank, the internal DACK signal
has a timing that is identical to the CS×. The DS bit in the GDMA configuration register
controls the assertion of the CS× with DACK during a GDMA access.
8.6.3 GDMA DRAM Bus Read and Write Cycles
The DMA interface is one of five interfaces that internally arbitrates for control of the DRAM
bus. A GDMA DRAM bus read cycle request is generated when the internal data latch can
accept new data. This can occur either when the DMA interface is first started or after data
is transferred to a destination. A GDMA DRAM bus write cycle request is generated as soon
as data is available from the DMA source.
Figures 8-6 and 8-7 illustrate byte- and word-sized DMA write transfers across both
MC68322 and DRAM buses. In these figures, the transfer count register is set to two.
8-8
MC68322 USER’S MANUAL
MOTOROLA
LOAD
TRANSFER
COUNT
BUSY
FULL
CYCLE ACTIVE
MC68322 BUS
MC68322 BUS
DRAM
DMA REQUEST
INTERRUPT
Figure 8-6. Byte-Sized DMA DRAM Write Transfer
LOAD
TRANSFER
COUNT
BUSY
FULL
CYCLE ACTIVE
MC68322 BUS
DRAM
MC68322 BUS
DRAM
DMA REQUEST
INTERRUPT
Figure 8-7. Word-Sized DMA DRAM Write Transfer
8.7 DMA TRANSFER TERMINATION
A DMA transfer can terminate when one of the three following conditions occur—normal
termination, bad address, or an core-forced termination.
8.7.1 Normal Termination
Normal termination is the normal conclusion of a DMA transfer and it occurs when the
source and destination transfer counters have decremented to zero and no address value
errors have occurred. When the DMA transfer completes, the CMP and TCR bits in the
channel’s interrupt event register are set and an interrupt is posted to the core if enabled.
MOTOROLA
MC68322 USER’S MANUAL
8-9
8.7.2 Bad Address Termination
If at some point during the DMA transfer an address supplied by the DMA to the DRAM or
MC68322 bus interfaces is incorrect (not mapped to a valid bank), an address fault occurs.
The DMA transfer terminates, the ILA bit in the channel’s interrupt event register is set, and
an interrupt is posted to the core if enabled. As a result of this bad address error, the DMA
channel will park in an error condition. The DMA channel must then be reset using one of
soft-reset register’s DMA bits before a new operation can be initiated. A write to either the
GDR or PDR bits in the soft-reset register will initiate a DMA soft-reset operation. See
Section 5 Interrupt and Exception Handling for more information. During the reset
condition, only the DMA channel control logic is affected. Initial register values are not
cleared.
8.7.3 Core-Forced Termination
If, during a DMA transfer, the core sets the FR bit in the channel’s configuration register, the
DMA controller will terminate any ongoing transfer for that channel. If the DMA channel is
receiving data from the MC68322 bus or the PPI, any data remaining in the internal data
latch is written to DRAM. If the DMA channel is sending data to the MC68322 bus, any data
remaining in the data latch is discarded. When the data transfers are complete, the channel
shuts down, sets the CMP bit in the channel’s interrupt event register, and returns to the idle
state. Depending on the value remaining in the transfer counters, it is possible to set the FR
bit in the channel’s configuration register, and still have the DMA transfer terminate normally
due to the transfer counters decrementing to zero. If this condition occurs, both the CMP and
TCR bits will be set in the channel’s interrupt event register.
8-10
MC68322 USER’S MANUAL
MOTOROLA
SECTION 9
PARALLEL PORT INTERFACE
The MC68322 contains a direct-connect, fully IEEE 1284 Level 2 compliant, bidirectional
parallel port interface (PPI). The PPI supports four IEEE 1284 communications modes—
compatibility (Centronics™), nibble, byte, and enhanced capabilities port (ECP). It also
supports all variants of these modes, including device ID requests and run-length encoded
(RLE) data compression.
The PPI contains specific hardware to support automatic handshaking during host to
peripheral (forward) data transfers in compatibility and ECP modes, and run-length
detection and decompression of host to peripheral data during ECP transfers. This can
substantially improve data rates when operating the parallel port in compatibility or ECP
mode. When hardware handshaking is used in combination with the PPI’s dedicated DMA
controller, data rates as high as 2M per second can be achieved in ECP forward mode. The
software can disable and enable hardware handshaking to allow direct control of PPI signals
as well as to support future protocols. The remainder of IEEE 1284 operations (negotiation,
reverse data transfers, and termination cycles) must be carried out by the software. Please
note that IEEE 1284 EPP communications mode is not supported.
The PPI contains an interface controller that consists of a data receive and transmit latch,
run-length encoding decompression logic, input conditioning logic, and edge detector logic.
The RLE decompression is accomplished through a smart state machine and additional
control logic. The PPI has input conditioning logic to filter the incoming control signals.
Figure 9-1 illustrates the PPI controller block diagram.
DATA
TRANSMIT
LATCH
DATA
RECEIVE
LATCH
PD7–PD0
PARALLEL PORT
DATA BUS
RLE
DECOMPRESSION
LOGIC
FAULT
SELECTIN
DIGITAL
FILTER/
EDGE
SELECT
PERROR
STATE
MACHINE
CONTROL
REGISTERS
STROBE
AUTOFD
DETECTION
INIT
BUSY
ACK
CONTROL
REGISTERS
Figure 9-1. Parallel Port Interface Controller Block Diagram
MOTOROLA
MC68322 USER’S MANUAL
9-1
9.1 PPI REGISTERS
There are three memory-mapped registers that control the PPI:
• PPI interface register
• PPI control register
• PPI interrupt event register
9.1.1 Parallel Port Interface Register
The parallel port interface register (PPIR) is a read/write register that contains two 8-bit
fields—one that controls the ACK pulse width and another that contains the latched parallel
data transmitted from the host to the printer. The PPIR also contains eleven bits that control
the parallel port interface signals. These eleven bits consist of four read-only bits that are
used to read the logic level of the host input pins, two read-only bits to read the logic level
on the BUSY and ACK printer output pins, and five read/write bits control the logic levels on
the printer output pins. Figure 9-2 illustrates the parallel port interface register.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF302
INT* AFD* STR* SIN* ACK1*BSY1* ACK2 BSY2 PER SEL FLT
CMD
8
DATA
00FFF304
00FFF306
ACKW
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
*These bits are read-only bits.
Figure 9-2. Parallel Port Interface Register
ACKW—ACK Width
This field defines the ACK pulse width when compatibility mode is enabled (PPCR MODE
field = 01). The ACK pulse width is selectable from 0 to 255 CLK1 periods wide. At 16 MHz,
the software can set pulse widths anywhere in the range of 0 to 16 µs. If the field is clear,
no ACK pulse is issued. Otherwise, the cycle proceeds as normal.
ACKW can be changed at any time and with any PPCR MODE encoding selected, but it can
only be used during a compatibility mode handshaking cycle. If ACKW is changed near the
end of a data transfer (when an ACK is already low), then the new pulse width value does
not affect the current cycle. The new value of ACKW is used when the next cycle occurs.
CMD—Command
When read, this bit provides the logic level of AUTOFD when STROBE transitioned from
high to low with the PPCR’s PDE bit clear. If set, AUTOFD was latched high and if clear,
AUTOFD was latched low. This is a read-only bit, so writing CMD has no effect.
9-2
MC68322 USER’S MANUAL
MOTOROLA
DATA
This field is an 8-bit read/write field. When read, DATA provides the latched logic levels on
the parallel port data bus when STROBE last transitioned from high to low with the PPCR’s
PDE clear. When written, the value defines the logic levels to be driven by the MC68322
when PD7–PD0 is enabled by setting the PDE bit. The most-significant bit of the DATA field
corresponds to PD7 and the least-significant bit to PD0.
The CMD and DATA fields latch the logic levels on the parallel port data bus (PD7–PD0)
and AUTOFD pins, which is used to indicate command bytes during ECP mode forward data
transfers. The CMD and DATA fields should not be read while the PDMA channel is
enabled; doing so clears the PDMA request.
INT—INIT Status (Read-only)
Indicates the level read on INIT after synchronization and optional digital filtering.
AFD—AUTOFD Status (Read-only)
Indicates the level read on AUTOFD after synchronization and optional digital filtering.
STR—STROBE Status (Read-only)
Indicates the level read on STROBE after synchronization and optional digital filtering.
SIN—SELECTIN Status (Read-only)
Indicates the level read on SELECTIN after synchronization and optional digital filtering.
ACK1—ACK Status (Read-only)
Indicates the level driven on ACK. This bit is the ACK2 bit NOR’ed with ACK from the PPI
state machine. This bit is set on reset.
BSY1—BUSY Status (Read-only)
Indicates the level driven on BUSY. This bit is the BSY2 bit OR’ed with BUSY from the PPI
state machine. This bit is set on reset.
ACK2—ACK Control
ACK2 forces a low level to be driven on ACK. This is generally done when hardware
handshaking is disabled and the PPI state machine is idle. The ACK2 bit is NOR’ed with
ACK from the PPI state machine before driving ACK. If ACK2 is set, then the ACK pin is
forced low and the ACK1 bit is cleared.
BSY2—BUSY Control
BSY2 forces a high level to be driven on BUSY. This is generally done when hardware
handshaking is disabled and the PPI state machine is idle. The BSY2 bit is OR’ed with
BUSY from the PPI state machine before driving BUSY. If BSY2 is set, then BUSY is forced
high and the BSY1 bit is set. BSY2 is set on reset.
PER—PERROR Control
Setting this bit drives a high level and clearing it drives a low level on PERROR.
MOTOROLA
MC68322 USER’S MANUAL
9-3
SEL—SELECT Control Bit
Setting this bit drives a high level and clearing it drives a low level on SELECT.
FLT—FAULT Control Bit
Setting this bit drives a high level and clearing it drives a low level on FAULT.
Note: The FLT, SEL, PER, and BSY2 bits are arranged to correspond to their use as
parallel port data lines during nibble mode reverse data transfers. When
hardware handshaking is enabled, BUSY and ACK are controlled by the PPI
state machine. When hardware handshaking is disabled and the PPI state
machine is idle, BUSY and ACK can be controlled by the software using the
BSY2 and ACK2 bits.
9.1.2 Parallel Port Control Register
The parallel port control register (PPCR) is a read/write register containing nine bits that
configure the operation of the PPI. Figure 9-3 illustrates the PPCR.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF300
RESERVED
FLL RLD ABT PDE ERC
MODE
DFE RST
Figure 9-3. Parallel Port Control Register
FLL—Full
This bit is a read-only status bit that indicates when parallel port data from the host is latched
in the DATA field of the PPIR. FLL is cleared when the PPIR’s DATA field is read. When
handshaking and DMA are enabled, FLL is set and then cleared as data is latched and read
during forward data transfers. The FLL bit is also cleared when the RST bit is set.
RLD—Run-Length Decompression
This bit is a read-only status bit that indicates when run-length decompression is taking
place during ECP forward data transfers. RLD is set when a run-length count is received and
loaded into the internal counter and cleared when the last of the decompressed data is read
from the PPIR’s DATA field. This bit can only be set when ECP with RLE (MODE = 112) is
enabled. If the MODE field is reprogrammed during decompression, decompression
continues and RLD remains set until the operation is complete. RLD is also cleared when
RST is issued.
ABT—Abort
This bit causes the PPI to use SELECTIN to detect when the host suddenly aborts a reverse
transfer and returns to compatibility mode. If ABT is set, a low level on SELECTIN causes
the PDE bit to be cleared and the PD7–PD0 output drivers to be three-stated. In fact, if ABT
is set and SELECTIN is low, setting the PDE bit has no effect. This protection logic, as with
all internal PPI logic, operates on a synchronized and optionally digitally filtered SELECTIN
that is latched into the PPIR.
9-4
MC68322 USER’S MANUAL
MOTOROLA
PDE—Parallel Port Data Bus Output Enable
This bit performs two functions—controls the state of the three-state output buffers and
qualifies the latching of data from the output drivers into the PPIR’s DATA field When clear,
PDE disables the PD7–PD0 output buffers and allows data to be latched into the DATA field
on every high to low transition of STROBE. When set, PDE enables the PD7–PD0 output
buffers, preventing data from being latched into the DATA field. In this state, the DATA field
is unaffected by transitions on STROBE. Setting the ABT bit affects the operation of PDE. If
the ABT bit is set, SELECTIN must remain high to allow PDE to be set or remain set. If the
ABT bit is set and SELECTIN goes low, PDE is cleared, and setting PDE will have no effect.
ERC—Error Cycle
The ERC bit is used to execute an error cycle when in compatibility mode (MODE = 012).
When set, ERC sets the BSY1 bit in the PPIR, which immediately causes the MC68322 to
drive BUSY high. If ERC is set when a compatibility mode handshake sequence is in
progress, BSY1 remains set beyond the end of the cycle. The ERC bit does not affect an
ACK pulse that is already active, but does prevent an ACK pulse if it is about to be
generated. While ERC is set, the software can set or clear the PPIR’s SEL, PER, and FLT
bits. When ERC is cleared, the PPI generates an ACK pulse and negates BUSY to
automatically conclude the error cycle.
When the MODE bit is set to any value except 012, setting ERC has no effect. Setting
MODE = 012 when ERC is already set, causes the handshake controller to immediately
begin an error cycle as described above.
MODE
This 2-bit field selects and enables a hardware handshaking mode for forward data
transfers. The following paragraphs describe the functions for encoding the MODE field.
00 = Disable all hardware handshaking so that handshaking can be performed
by the software.
01 = Enable compatibility mode hardware handshaking during forward data transfers.
In this mode, the PPI responds to a high to low transition on STROBE and
automatically sets and clears the BSY1 and ACK1 bits in the PPIR to handshake
with the host. MODE can be reprogrammed at any time, but if a compatibility
mode cycle is currently in progress, it completes as normal. However, MODE
should only be changed from compatibility mode handshaking when BUSY is
high. This ensures that no parallel port activity is taking place when reconfiguring
the PPI.
10 = Enable ECP mode hardware handshaking without RLE support during forward
data transfers. In this mode, the PPI responds to a high to low transition on
STROBE and automatically sets and clears the BSY1 bit in the PPIR to
handshake with the host. Reception of both run-length counts and channel
addresses causes the PIER’s CRD bit to be set. The software is responsible for
responding to channel addresses and performing data decompression. MODE
MOTOROLA
MC68322 USER’S MANUAL
9-5
can be reprogrammed at any time, but if an ECP cycle is currently in progress, it
completes as normal.
11 = Enable ECP mode hardware handshaking with RLE support during forward data
transfers. The PPI performs the same ECP mode handshaking as above, except
RLE decompression is enabled. RLE decompression enables the PPI to detect
and intercept run-length counts and to automatically perform data
decompression. However, during this mode, only channel addresses cause the
PIER’s CRD bit to be set. The software is responsible for responding to channel
addresses. If MODE is reprogrammed when decompression is occurring (when
the RLD bit is set), the decompression continues unhindered to completion. The
RST bit can be set to immediately abort decompression.
DFE—Digital Filtering Enable
Setting this bit enables digital filtering on all four host control signal inputs—SELECTIN,
STROBE, AUTOFD, and INIT.
RST—Reset
Setting this bit causes the PPI’s handshake control and decompression logic to immediately
terminate the current operation and return to idle. RST clears the RLD and FLL bits. The PPI
state machine BUSY and ACK are negated. If the PPIR’s BSY2 and ACK2 bits are clear,
then BSY1 = 0 and ACK1 = 1. The software should set the MODE field to 00 to disable
handshaking when setting RST to prevent the PPI state machine from starting again. RST
is a write-only bit and setting it causes the reset. Clearing RST has no effect. This bit always
reads as zero.
9.1.3 PPI Interrupt Event Register
The PPI interrupt event register (PIER) contains 11 bits that can be enabled and used to
drive the parallel port using a software driver. Eight of the eleven bits indicate when a rising
or falling edge is seen on any of SELECTIN, INIT, AUTOFD, or STROBE host inputs. The
remaining three bits indicate when a data or command byte is received or when an invalid
termination event is detected. Figure 9-4 illustrates the PIER.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF760
ENABLE
00FFF762
00FFF764
DRD
8
INH AFL AFH STL STH SNL SNH
IVD CRD
INL
7
INTERRUPT
LEVEL
15
14
13
12
11
6
5
4
3
2
1
0
10
9
= RESERVED
Figure 9-4. PPI Interrupt Event Register
The following bits describe each of the parallel port interrupt events that can be posted by
the PPI. The first eight interrupt events signal level changes that occur at the host control
signal input pins. Note that these events are detected after the host inputs are synchronized,
optionally digitally filtered, and recorded in the PPIR.
9-6
MC68322 USER’S MANUAL
MOTOROLA
IVD—Invalid Transition
This bit is set when SELECTIN transitions from high to low in the middle of an ECP forward
data transfer handshake sequence. The invalid transition interrupt is posted if SELECTIN is
low when STROBE is low or BUSY is high. This event can be posted only when ECP is
enabled.
CRD—Command Received
This bit is set when a command byte is latched into the PPIR’s DATA field. If ECP without
RLE (MODE = 102) is enabled, then a command received interrupt is posted when a run-
length or channel address is received. If ECP with RLE (MODE = 112) is enabled, then a
command received interrupt is posted when a channel address is received. This event can
only be posted when ECP is enabled.
DRD—Data Received
This bit is set when data is latched into the PPIR’s DATA field, which occurs on every high
to low transition of STROBE when the PPCR’s PDE bit is clear. This interrupt is also set if
ECP with RLE (MODE = 112) is enabled and data decompression is in progress.
INL—INIT Low
This bit is set when a high-to-low transition on INIT is reported in the PPIR.
INH—INIT High
This bit is set when a low-to-high transition on INIT is reported in the PPIR.
AFL—AUTOFD Low
This bit is set when a high-to-low transition on AUTOFD is reported in the PPIR.
AFH—AUTOFD High
This bit is set when a low-to-high transition on AUTOFD is reported in the PPIR.
STL—STROBE Low
This bit is set when a high-to-low transition on STROBE is reported in the PPIR.
STH—STROBE High
This bit is set when a low-to-high transition on STROBE is reported in the PPIR.
SNL—SELECTIN Low
This bit is set when a high-to-low transition on SELECTIN is reported in the PPIR.
SNH—SELECTIN High
This bit is set when a low-to-high transition on SELECTIN is reported in the PPIR.
MOTOROLA
MC68322 USER’S MANUAL
9-7
9.2 HARDWARE HANDSHAKING
The PPI supports three hardware handshaking modes for forward data transfers that are
enabled and disabled by the software. One mode supports forward data transfers during
compatibility mode and the other two modes support forward data transfers during ECP
mode. Only one of the three modes can be enabled at a time or all modes can be disabled.
When disabled, the software must assume full responsibility for handshaking and use the
PIER and PPIR to read and control the logic levels on all parallel port pins.
9.2.1 Compatibility Handshaking
Compatibility mode hardware handshaking is enabled by setting the PPCR’s MODE = 012.
When this mode of handshaking is enabled, the PPI automatically generates BUSY when
the leading edge of STROBE from the host is received and latches the logic levels on
PD7–PD0 and AUTOFD into the PPIR. The PPI then waits for STROBE to negate and the
PPIR’s DATA field to be read. After both of these events occur, the PPI asserts ACK for the
duration specified in the PPIR’s ACKW field and then negates ACK and BUSY to conclude
the data transfer.
When data is latched into the PPIR’s DATA field, the PPI generates two interrupt
events—a parallel port DMA (PDMA) request and a core interrupt request. The software can
alternate between PDMA and interrupt-based data transfers. The PDMA request remains
active until the data is read by either the PDMA channel or core in response to the interrupt
event. If the PDMA has been enabled, it responds to the request by reading the PPIR’s
DATA field and writing the data to DRAM. When the PDMA channel reads the DATA field,
ACK is pulsed, BUSY is negated, and the PDMA request is cleared.
The PIER’s ENABLE field can be programmed to interrupt the core when parallel port data
is received. If enabled, the PIER’s DRD bit, when set, will generate a data received interrupt
event. When the core reads the PPIR’s DATA field, ACK is pulsed, BUSY is negated, and
the PDMA request is cleared. The PPI functions without using the PDMA, but the system
throughput will be dramatically impacted. Therefore, using the PDMA is strongly
recommended. Figure 9-5 illustrates the compatibility mode timing.
DATA
STROBE
BUSY
ACK
LATCH DATA
READ DATA
REQUEST INTERRUPT
MAKE ACK PULSE
Figure 9-5. Compatibility Mode Timing Diagram
9-8
MC68322 USER’S MANUAL
MOTOROLA
9.2.2 ECP Handshaking
The PPI supports two ECP hardware handshaking modes for forward data transfers—one
with run-length encoding and one without. ECP hardware handshaking is enabled by setting
the MODE field in the PPCR to 102, while ECP hardware handshaking with RLE is enabled
by setting MODE = 112. The basic operation of these two handshake modes is identical.
When either mode is enabled, the PPI automatically responds to STROBE by latching the
logic levels on PD7–PD0 and AUTOFD in the PPIR’s DATA field. When the PPIR’s DATA
field is read, the PPI drives BUSY high, waits for STROBE to go high, and then drives BUSY
low to conclude the cycle. Since no ACK pulse is generated, the pulse width duration
specified in the PPIR’s ACKW field is not used. Like compatibility handshake mode, data is
latched at the leading edge of STROBE, thus causing a PDMA request and the posting of a
data received interrupt event (setting the DRD bit in the PIER). DMA and interrupt operation
is the same as described for compatibility handshaking mode.
Two additional interrupts events can be posted by the PPI when an ECP handshake mode
is programmed—command received and invalid termination (setting the CRD and/or IVD
bits in the PIER). A CRD is posted when a command byte is received from the host and an
IVD is posted when SELECTIN transitions illegally in the middle of a handshake sequence;
that is, an invalid termination interrupt is posted if SELECTIN is low when STROBE is low
or BUSY is high. Such an event can be caused by the user changing a switch box or a
parallel cable coming loose. An invalid termination interrupt event should be treated as an
immediate termination and the PPI should be returned to compatibility mode operation.
Figure 9-6 illustrates the ECP mode timing.
DATA
STROBE
BUSY
LATCH DATA
READ DATA
REQUEST INTERRUPT
MAKE BUSY PULSE
Figure 9-6. ECP Mode Timing Diagram
9.2.2.1 COMMAND BYTE DETECTION. When ECP is enabled (MODE = 102 or 112), the
PPI monitors the AUTOFD level that is latched into the PPIR’s CMD bit, to detect and
intercept command bytes. If CMD is clear, the PPI interprets the data as a command byte
and examines the most-significant bit to interpret the byte. If PD7 = 0, the command byte is
a run-length count and if it is 1 the command byte is a channel address. The action taken
with a channel address or run-length count depends on which ECP handshaking mode is
selected.
MOTOROLA
MC68322 USER’S MANUAL
9-9
If ECP without RLE is enabled (MODE = 102), a channel address and run-length count
always generates a command received interrupt event. The PPI does not perform any
decompression. BUSY remains low until the PPIR’s DATA field is read by the core. No data
received interrupt event is posted and no PDMA request is generated for the command byte.
If ECP with RLE is enabled (MODE = 112) and a channel address is received, a command
received interrupt event is posted. BUSY remains low until the PPIR’s DATA field is read by
the core. If the PPI detects a run-length count, RLE decompression will occur on the next
data byte that is received. No command or data received interrupt events are posted and no
PDMA request is generated for the run-length command byte.
9.2.2.2 RLE DECOMPRESSION. When ECP with RLE handshaking is enabled,
run-length counts are detected and automatically loaded into an internal counter. The PPI
then sets the PPCR’s RLD bit. A run-length count of zero is interpreted as a replication factor
of one and a run-length count of 127 is interpreted as a factor of 128. BUSY is driven high
when the run-length value is loaded into the counter and lowered when STROBE returns
high. The PPI then waits for the next data byte.
When the next data byte arrives, BUSY remains low for the entire decompression period. In
the MC68322, depending on internal bus utilization, a replication factor of 128 could result
in BUSY remaining low for 1 to 2 ms while STROBE remains low. As decompression occurs,
the PPI generates PDMA requests and data received interrupts events in exactly the same
manner as when it receives uncompressed data. When the run-length counter decrements
to zero, the last PPIR DATA field read results in the BUSY being driven high and then low
following the rising edge of STROBE. The RLD bit is also cleared at this time. After a
run-length command is received the next byte usually is a data byte. If the next byte is also
a run-length, then this new run-length is used. If the next byte is a channel address, then a
command received interrupt event is posted and the PPI state machine continues waiting
for the next data byte.
If the PPCR’s MODE field is changed after the run-length command was received, but
before the data byte was received, then RLD remains set. When ECP with RLE is enabled
again, decompression will begin when the data byte is received. If MODE is changed while
decompression is occurring (RLD is set and the data byte was received), the decompression
continues until completion. If decompression must be immediately aborted, RST should be
issued in the PPCR.
The PPCR’s FLL bit is set when the run-length is received and immediately cleared when
the run-length is loaded into the counter. FLL is set again when the data byte is received and
cleared when the run-length counter reaches zero and the last data byte is decompressed.
9.2.3 Disabling Hardware Handshaking
When hardware handshaking is disabled (MODE = 002), the software is responsible for
controlling the PPI. However, the PPIR’s DATA field continues to latch parallel port data on
the leading edge of STROBE, even with all hardware handshaking disabled. Also, host
control signal inputs are always synchronized to CLK1 to prevent metastable events from
reaching the internal logic of the MC68322. This does not include PD7–PD0 since they are
guaranteed to be stable when STROBE is low.
9-10
MC68322 USER’S MANUAL
MOTOROLA
9.3 SOFTWARE-CONTROLLED HANDSHAKING
By clearing the PPCR’s MODE field, the software controls all parallel port operations,
including negotiation and termination phases, as well as reverse data transfers. The
software can also respond to parallel port inputs by way of polling or interrupts. This gives
the software the flexibility to adapt to new and revised protocols. The software controls
BUSY and ACK with the BSY2 and ACK2 bits in the PPIR. Normally, the PPI state machine
should be idle when using BSY2 and ACK2. The software can issue a reset (by setting the
RST bit in the PPCR) to force the PPI state machine to idle.
When polling, status bits in the PIER report the logic level at each parallel port input pin and
control bits allow separate and direct control of each of the output pins. The host inputs are
always synchronized to the internally generated CLK1 signal to prevent metastable events
from reaching the microprocessor. This results in a maximum of one CLK1 period of delay
before an external event appears in the PIER. The SELECTIN, INIT, AUTOFD, and
STROBE signals can also be digitally filtered to improve noise immunity. Digital filtering
adds another CLK1 period of delay before level changes on these signals are indicated in
the PIER.
9.4 DIGITAL FILTERING
The MC68322 contains digital filter circuitry on host control signal inputs (SELECTIN,
STROBE, AUTOFD, and INIT) to improve noise immunity and make the PPI more
impervious to inductive switching noise. Digital filtering can be enabled, regardless of
whether hardware handshaking is enabled or disabled. When digital filtering is disabled, the
host control signals are synchronized to the internally generated CLK1 signal to prevent
metastable events from reaching the internal logic of the MC68322. However, the
synchronization logic does not prevent glitches on the host control signals from reaching the
PPI’s internal logic and causing spurious events.
When digital filtering is enabled, the host control signals are first synchronized and then
passed through individual digital filters. The digital filter samples the host input on the rising
edge of CLK1 and passes a logic level change through, but only if the host signal is sampled
at the same logic level for a second consecutive clock. Digital filtering protects internal logic
from glitches as wide as one CLK1 period. Such internal logic includes the hardware
handshake control logic, the PPCR, and the parallel port interrupt controller.
Synchronization plus digital filtering adds two CLK1 periods of delay before a level change
on one of the host signals appears in the PPCR, and three CLK1 periods of delay before an
output responds to an input (before BUSY responds to STROBE). Likewise, synchronization
and digital filtering of STROBE affect the point at which PD7–PD0 and AUTOFD are latched
into the PPIR. Without digital filtering, PD7–PD0 and AUTOFD are sampled on the second
rising edge of CLK1 after STROBE is first sampled low. With digital filtering, PD7–PD0 and
AUTOFD are sampled on the third rising edge of CLK1 after STROBE is first sampled low.
Digital filtering can be disabled to avoid the one clock penalty that it adds to recognizing
input signals. This is an option in specialized applications that have a high bandwidth
requirement and the ability to guarantee signal integrity between the host and the printer.
Otherwise, it is highly recommended that digital filtering be enabled.
MOTOROLA
MC68322 USER’S MANUAL
9-11
9.5 ERROR CYCLES
An example of an error cycle is when the user takes the printer off-line, a paper jam occurs,
or the printer runs out of paper. When any of these or other events occur, the printer runs
an error cycle to alert the host of a change in the operational status of the printer. An error
cycle consists of asserting the BUSY signal and changing the states of SELECT, PERROR,
and/or FAULT to reflect the error condition. This is done by manipulating the ERC bit in the
PPCR, which in turn triggers the PPI to set or clear bits in the PIER.
In compatibility mode, the software sets ERC to notify the PPI when an error cycle occurs.
This causes the PPI to immediately set the BSY1 bit in the PIER. After 1 µs, the software
can set or clear the SEL, PER, or FLT bits in the PPIR, to indicate the error condition. After
the error condition is cleared, the software returns the SEL, PRR, and FLT to their normal
negated state. After 1 µs, the software clears ERC, and the handshake logic concludes the
cycle by generating an ACK pulse and clearing BSY1.
If ERC is set and then STROBE is received from the host, then the handshake logic
performs the data transfer and data is still latched, but no acknowledge is generated until
ERC is cleared. In other words, the ERC bit prevents the handshake logic from generating
an ACK pulse and clearing BSY1. Instead, ACK1 and BSY1 remain set in the PPIR and the
transfer cycle is extended. As long as ERC remains set, BUSY remains high, and the
software can manipulate status lines to indicate the error condition. After the error condition
is cleared, the software returns the SEL, PER, and FLT bits in the PPIR to their normal
negated state. After 1 µs the software clears ERC, and the handshake logic concludes the
cycle by generating an ACK pulse and clearing BSY1.
If ERC is set when the handshake logic is in the middle of a transfer, data is still latched, but
no acknowledge is generated until ERC is cleared. In other words, ERC prevents the
handshake logic from generating an ACK pulse and clearing BSY1. If ERC happens to be
set near the end of the cycle after the handshake logic has begun to generate an ACK pulse,
the hardware continues to produce the ACK pulse as normal. Setting ERC does not affect
an ACK pulse that is already active, but does prevent an ACK pulse that hasn’t yet started
(as described above). This behavior can result in two ACK pulses being generated while
BUSY is high. The first ACK is generated in response to STROBE and the second after ERC
is cleared. Figure 9-7 illustrates the timing diagram for an error cycle.
9-12
MC68322 USER’S MANUAL
MOTOROLA
ERC
SELECT
PERR
FAULT
BUSY
ACK
1µs DELAY
1µs DELAY
Figure 9-7. Error Cycle Timing Diagram
9.6 PARALLEL PORT DATA BUS LATCHING
Latching is enabled only when the PPCR’s PDE bit is clear. Latching occurs based on every
high to low transition of STROBE, regardless of the handshaking mode being enabled or
disabled. STROBE, like all PPI control inputs, is synchronized and optionally digitally filtered
before it is used internally by the PPI. This affects the point at which parallel port data is
latched. The 9-bit data input to the latch is not synchronized or digitally filtered. Figure 9-8
illustrates the timing diagram for parallel port data bus latching.
CLK1
DATA
STROBE
BUSY
DATA LATCHED
IF DFE = 0
DATA LATCHED
IF DFE = 1
Figure 9-8. Parallel Port Data Latch Timing Diagram
MOTOROLA
MC68322 USER’S MANUAL
9-13
9.7 PPI ON RESET
The assertion of RESET causes all PPI registers and register fields to be cleared to zero
(with one exception). The BSY2 bit in the PPIR is set and remains that way until the software
explicitly clears it. This is intended to delay the host long enough for the software to initialize
the PPI.
The RST bit in the PPCR resets the PPI state machine, which includes the hardware
handshake controller and run-length decompression logic. Normally, when RST is set,
MODE is set to 002 to prevent the state machine from starting again. RST immediately
causes the handshake controller and the run-length decompression logic to return to idle.
The handshake controller immediately discontinues handshaking with the host, terminates
decompression, and any pending DMA request is removed. When the PPI state machine is
in the idle state, BUSY and ACK are negated. If BSY2 and ACK2 are clear, then BSY1 will
be cleared and ACK1 will be set. RST also clears RLD and FLL bits in the PPCR. The
software should issue RST under error conditions, such as when an invalid transition
interrupt occurs or when the software detects a time-out error.
9.8 PPI DATA TRANSFER RATE
The expected data transfer rate in a system depends on several factors—capability of the
host computer, memory speed, and bandwidth used. The block size of the data transfer
affects the data rate because of the overhead involved. Forward data transfers are DMA
based and reverse data transfers are interrupt based. Overhead cycles such as the
negotiation phases are also interrupt based. The following are expected data transfer rates.
• Compatibility mode (forward) data rate = 400K/sec. Actually, the PPI is capable of a
compatibility mode forward data rate of 2M/sec. The 400K/sec is determined by the
IEEE 1284 specification.
• ECP mode (forward) data rate = 2M/sec.
• ECP decompression (forward) data rate = 4M/sec.
• Nibble mode (reverse) data rate = 5K/sec.
• Byte mode (reverse) data rate = 10K/sec.
9-14
MC68322 USER’S MANUAL
MOTOROLA
SECTION 10
PRINT ENGINE INTERFACE
The MC68322 uses an 8-bit, half-duplex, synchronous serial protocol to communicate with
the print engine. This print engine interface contains an integrated print engine video
controller (PVC) as well as control logic for the 8-bit serial communication channel
compatible with many print engines. The print engine interface is one of the two components
of the graphics unit; the other being the RISC graphics processor.
The PVC can drive virtually all laser printers currently on the market. It automatically
retrieves video data from DRAM using burst cycles and manages all parameters associated
with the video image. This type of print engine video interface eliminates all the software
overhead associated with the transfer of the bitmap image to the print engine. The software
starts the transfer and waits for the end of page or band interrupt event, which allows the
core to start processing the next page. The PVC also saves a significant amount of
hardware cost. Static RAMs and FIFOs are unnecessary since the bitmap image is
transferred directly from DRAM, serialized, and then transmitted to the print engine. The
PVC uses an efficient page mode access to DRAM to fill its internal eight word queue
(FIFO).
The PVC is divided into two subsystems:
• A memory subsystem that performs direct memory accesses to DRAM to obtain video
data from a page or band bitmap.
• A video subsystem that serializes the data and handshakes with the printer to transmit
the video data.
The memory subsystem contains a data fetch controller, an 8-word deep FIFO, and many
counters. It interfaces to the core through a set of memory-mapped registers called the
printer control block. The video subsystem’s task is to interface with the print engine and
serialize and transmit video data. It contains a video interface controller, a 16-bit shift
register, a phase-locked loop (PLL) clock circuit, and some counters.
The PLL video clock divisor divides the VCLK input by 32, 24, 16, 12, 8, or 4 to produce the
dot clock for the PVC. This is accomplished internally by using a prescaler and by using
either the rising edge or both edges of the clock for the PLL. This feature allows for direct
support of multiple resolutions using a single external oscillator. For example, the PVC can
transmit 300 × 300, 600 × 300, 600 × 600, or 1200 × 600 resolution page images using the
same VCLK input frequency.
MOTOROLA
MC68322 USER’S MANUAL
10-1
The print engine interface is capable of sending and receiving information to and from a print
engine, which is done at the same time as all other operations within the MC68322. This
transmission and reception of information is synchronous either to the clock supplied by the
interface or to the clock supplied by the print engine. For transmitting video data, the PVC
can run synchronously from a 1× video rate from the print engine. If the print engine does
not supply a video clock, the PVC can phase lock to a print engine’s synchronization signal
and generate an internal video rate to use during transmission. The phase-locked loop
circuitry runs off of a clock from an external oscillator.
10.1 PRINT ENGINE INTERFACE REGISTERS
The print engine interface contains several registers that control the engine interface
protocol, signals, and interrupts. These registers include the printer communication register,
the PVC control register, the printer control block register set, the PVC interrupt event
register, and the printer communication interrupt event register.
10.1.1 Printer Communication Register
The printer communication register (PCOMR) contains several bits and fields that control
the status of data transfers to or from the print engine.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF500
00FFF502
00FFF504
PRINTER COMMAND
PRINTER STATUS
CCLK DIVISOR
CSB SRC CRC
8
9
15
14
13
12
11
6
5
4
3
2
1
0
10
7
= RESERVED
Figure 10-1. Printer Communication Register
The core uses the printer command field (write-only) to send an 8-bit command to the print
engine and the printer status field (read-only) receives an 8-bit serial command. The 12-bit
CCLK divisor field determines the period of the clock supplied to the print engine. CCLK
period = CLK1 period × (CCLK Divisor + 1) × 16. At 16MHz, this provides a range of 1µs to
4.1ms per CCLK period.
The PCOMR has three bits that determine the various modes of operation—the CMD/STS
bidirectional (CSB) bit, the SCLK source (SRC) bit, and the CCLK source (CRC) bit. The
CSB bit indicates whether CMD/STS is bidirectional (CSB=1) or output only (CSB=0). The
values programmed in the SRC and CRC bits determine whether the MC68322 (SRC,
CRC=1) or the print engine (SRC, CRC=0) have supplied status or command clocks,
respectively.
10-2
MC68322 USER’S MANUAL
MOTOROLA
10.1.2 PVC Control Register
The PVC control register (PVCCR) contains bits that control the polarity of all MC68322
inputs and outputs used by the PVC. The PVCCR should be written after an MC68322 reset
and before a print operation begins.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF400
00FFF402
PRT
SDN
14
SLC
12
SRC
10
PLE
9
PLD
VDP BDP PRP FSP LSP VCP VCS
8
15
13
11
6
5
4
3
2
1
0
7
= RESERVED
Figure 10-2. PVC Control Register
While the PVC is active, the polarity of input signals should not be altered. The PVC
responds to a polarity change if it occurs while the PVC is waiting for a transition, but this
should be avoided. The PVCCR also contains the video clock source control bits, the PLL
video clock divisor control, and the SmartToner control bits.
SDN—SmartToner Density
This field selects one of four halftone patterns, where 002 = 1/2 density, 012 = 1/4 density,
10 = 1/6 density, and 112 = 1/8 density. This will affect the amount of toner used and the
qua2 lity of the printed page when the SmartToner feature is enabled.
SLC and SRC—SmartToner Left and Right Edge Control
These fields are used to select which dot the halftone pattern is applied to on the left and
right edges of a character. If the halftone pattern starts and ends on the first dot, then the
character will appear more jagged than if it starts and ends on the second or third dot. For
example, if the halftone pattern starts and ends on the second dot, then the character will
have a one dot wide border on the left and right sides, with the halftone pattern applied in
between.
Table 10-1. SLC and SRC Encodings
ENCODING
HALFTONE PATTERN
1st Dot
00
01
10
11
2nd Dot
3rd Dot
Not Used
PLE—PLL Edge
This bit is set to clock on both edges and clear to clock on rising edge only.
PLD—PLL Divisor
This field controls the PLL video clock prescaler. A PLD value of 002, 012, 102, or 112 causes
the VCLK input to prescale by one, two, three, or four before clocking the 8× PLL.
MOTOROLA
MC68322 USER’S MANUAL
10-3
VDP—VIDEO Polarity Control
Set if VIDEO is active high; clear if active low.
BDP—Border Polarity Control
Set to drive low logic level in a nonprinting area; clear to drive high.
PRP—PRINT Polarity Control
Set if PRINT is active high; clear if active low.
FSP—FSYNC Polarity Control
Set if FSYNC is active high; clear if active low.
LSP—LSYNC Polarity Control
Set if LSYNC is active high; clear if active low.
VCP—VCLK Polarity Control
Set if rising edge is to be used; clear if falling edge is to be used.
VCS—VCLK Source
Clear if VCLK input is 1× clock; set if VCLK input is an external oscillator driving the 8× PLL.
PRT—PRINT
This bit controls the level of the MC68322’s PRINT output pin. When the PRT bit is set,
PRINT is asserted, but when it is clear, PRINT is negated. The active level of PRINT is
determined by the PRP bit. In nonprinting applications or for applications that do not require
a PRINT interface signal, the PRINT output pin can be used as a general-purpose output.
10-4
MC68322 USER’S MANUAL
MOTOROLA
10.1.3 Printer Control Block Register Set
The printer control block (PCB) register set is a group of six registers that define a print
operation for the PVC to execute. The PCB values define the dimensions and location of the
band image, page margins, and band control data. Loading the page image bit address
portion of the PCB is the stimulus that starts the PVC and begins a print operation. The entire
PCB register set is doubled buffered, which allows two print operations to be loaded at a
time. Basically, when the first operation finishes, the second operation immediately begins
executing. This is especially useful in banding applications.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF404
00FFF406
VERTICAL MARGIN
HORIZONTAL MARGIN
00FFF408
00FFF40A
00FFF40C
PAGE IMAGE HEIGHT
PAGE IMAGE WIDTH
SME B2T BND
RESERVED
0
PAGE IMAGE BIT ADDRESS, HIGH WORD
PAGE IMAGE BIT ADDRESS, LOW WORD
00FFF410
00FFF412
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
Figure 10-3. Printer Control Block Register Set
The PCB’s vertical and horizontal margin registers position the page image on the printed
page. The vertical margin value specifies the number of scanlines that are skipped before
the first scanline of page image data and the horizontal margin value defines the number of
internal video clocks that are skipped before the first bit is transmitted at the start of each
scanline.
The PCB’s page image height and width registers describe the limits of the page image as
it is to be read from memory and transmitted to the print engine. The page image height is
measured in scanlines, but the page image width is in bits. The PCB also contains three 1-
bit fields that control the execution of a print operation on a band-by-band basis.
BND—Band
This bit is used during banding applications to indicate when the current band image is to be
followed by another band on a page. It is set for all bands, but cleared for the last band in a
sequence or when only one band appears on a page.
B2T—Bottom to Top
This bit is set to indicate the render direction. When B2T is clear, it indicates a top to bottom
and left to right direction. When set, it indicates a bottom to top and right to left direction.
SME—SmartToner Enable
This bit is used to reduce the amount of toner the printer uses. When it is enabled, a halftone
pattern is applied to the video data sent to the print engine. The print image in memory is
not affected. The SME bit is double buffered and can be set or cleared for a specific page.
MOTOROLA
MC68322 USER’S MANUAL
10-5
Note: It is not recommended that you change the SmartToner options in the PVCCR
(SLC, SRC, and SDN bits) while printing a page.
The page image bit address fields hold the starting address of the band image to be printed.
This address is a bit address and points to the first bit of data to be transmitted to the print
engine. Loading the page image bit address fields is also the stimulus that starts the PVC
and initiates a print operation. The values of all other PCB registers must be set before the
page image bit address register is loaded.
10.1.4 PVC Interrupt Event Register
The PVC interrupt event register (PVCIR) contains five bits that indicate PVC interrupts
events, two that report normal events (band begin and page end), and three that report
errors (video under, band under, and PVC error). A PVC error interrupt event results from
an illegal address or out-of-range address. If an error is detected by the PVC during the
processing of the PCB register set, it sets one of these five interrupt sources in the PVCIR.
After any of these interrupts occur, the PVC’s operation is undefined and must be
immediately reset by the module soft reset register’s (MSRR) PVC bit to return it to normal
operation.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF700
ENABLE
00FFF702
00FFF704
BSY PFL PBB PGE BUD VUD ILA
INTERRUPT
LEVEL
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
Figure 10-4. PVC Interrupt Event Register
Note: The PVCIR is located in the interrupt register portion of the memory map and,
therefore, is not necessarily located contiguously with the other print engine
interface registers.
BSY—PVC Busy
This bit indicates when the PVC is executing a print operation.
PFL—PCB Full
This bit indicates when the PCB register set is available for a new print operation. The PCB
registers should only be loaded when the PFL bit is clear. When the PFL bit is set, the PCB
register set should not be altered.
10-6
MC68322 USER’S MANUAL
MOTOROLA
PBB—Page/Band Begin
This bit is posted at the start of every page or band. At the start of a page, PBB is set after
it receives FSYNC from the print engine and provides timing information to the software for
controlling the PVCCR’s PRT bit (typically, the timing of a print engine’s PRINT signal is
referenced to FSYNC). When starting a band in the middle of a page, a page/band begin
interrupt event is posted when the first page image data is read from memory.
PGE—Page End
This bit is issued at the bottom of every page (end-of-page is determined by the BND bit in
the PCB control field) immediately after the last word of the last scanline is read from
memory. In response to a page end interrupt event, the page or band buffer can be
reclaimed and reused for the next page.
BUD—Band Underrun
This bit indicates a banding error, which is posted when the last word of one band is read,
but the PCB register set (specifically, the page image bit address) for the next band is not
yet loaded. Band underruns usually point to a page description that is too complicated for
the given banding environment. This bit is only set when the BND bit in the PCB control field
is set, thus indicating that the image data is a band.
VUD—Video Underrun
This bit indicates that a video underrun has occurred. It is posted if the print engine requests
video data faster than the PVC can access memory. A video underrun is usually the result
of a band underrun or PVC error, but can also mean the memory configuration is too slow
for the video rate of the print engine.
ILA—Illegal Address
This bit indicates the PVC’s attempt to read from DRAM memory that is nonexistent because
of an out-of-range address. The out-of-range address occurs when reading page image
data and can be the result of loading an illegal memory address in the page image bit
address register or reading beyond the end of memory space. The PVC shuts down in
response to an out-of-range address. In this state, the PVC only responds to a PVC
soft-reset that is required to return the PVC to normal operation.
MOTOROLA
MC68322 USER’S MANUAL
10-7
10.1.5 Printer Communication Interrupt Event Register
The printer communication interrupt event register (PCIER) indicates when a serial
command has been sent or a serial status has been received.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF720
00FFF722
ENABLE
CMS STR
LEVEL
00FFF724
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
Figure 10-5. Printer Communication Interrupt Event Register
Note: The PCIER is located in the interrupt register portion of the memory map and,
therefore, is not necessarily located contiguously with the other print engine
interface registers.
The command sent (CMS) bit indicates that the PCOMR’s printer command field has been
written and that the 8 bits of command data have been sent to the print engine. This interrupt
event bit notifies the core that the command has been sent.
The status receive (STR) bit indicates that a status received interrupt event is active. This
occurs when the interface receives one byte of status data and the SBSY pin is deactivated.
STR is set when the SBSY pin is inactive to prevent a command operation from occurring
before the print engine is ready to receive it.
10.2 PRINTER COMMUNICATION PROTOCOL
The print engine interface uses the CBSY and SBSY pins to indicate the direction of data
transfer and it uses the CCLK pin to pace data transmissions. It does not employ
handshaking, but it asserts the CBSY and SBSY pins before the actual data transmission
so there is sufficient time for the logic to prepare for the subsequent data. CCLK remains
inactive until either the CBSY or SBSY pin is asserted and then goes through eight periods,
one per data bit. During a command transfer to the print engine, the MC68322 shifts a bit on
each CCLK falling edge and expects the print engine to sample the datastream on each
rising edge. Similarly, for a status transfer from the print engine, the MC68322 samples the
datastream on each rising edge and expects the print engine to shift a bit on each falling
edge.
10-8
MC68322 USER’S MANUAL
MOTOROLA
10.3 PRINT ENGINE INTERFACE OPERATION
Page images are generally rendered by the RISC graphics processor (RGP) into an area of
memory known as the band buffer. After a page image is rendered, the PVC is programmed
to transmit the contents of the band buffer to the print engine. The PVC starts by loading the
PCB register set with the dimension and location of the page image. Once the page image
bit address register is written, the memory subsystem sets the PVCCR’s PFL and BSY bits
and begins to fetch data from memory to fill its FIFO. After the video subsystem is started,
which is also started when the page image bit address register is written, PFL is cleared.
Next, the video interface controller begins waiting for FSYNC and once it arrives, a
page/band begin interrupt event is posted and the controller waits for the leading active edge
of LSYNC. Then after LSYNC arrives, the vertical margin count is decremented and the
controller again waits for LSYNC. When the vertical margin decrements to zero, the next
LSYNC causes the horizontal margin count to be decremented for each internal video clock
until it reaches zero. At this time, the first bit of video data is transmitted.
Video data is loaded from the memory subsystem’s FIFO into a 16-bit shift register. On each
active edge VCLK, data is shifted out. When the last data bit is shifted out, the shift register
is reloaded. As the video subsystem shifts out video data and empties the FIFO, the memory
subsystem makes additional memory fetches. The FIFO is filled until the page image height
and width values decrement to zero, at which time BSY is cleared and the memory
subsystem returns to idle. Every internal video clock decrements the page width counter.
When the page width counter reaches zero, the page height counter is decremented and, if
it is not zero, the video interface controller returns again to wait for LSYNC.
When the page width and page height reach zero, the transmission completes and the video
interface controller posts a page end interrupt event and returns to idle. If the BND bit was
set in the PCB’s band control register, the controller returns instead to end-of-band idle and
waits for another page address to load before resuming execution. A state diagram for the
video interface controller machine is illustrated in Figure 10-6.
MOTOROLA
MC68322 USER’S MANUAL
10-9
!START
IDLE
PW = 0
&PH = 0
&!BAND
START
!FSYNC
PW > 0
PW = 0
&PH = 0
&BAND
!START
PRINT
VIDEO
IMAGE
WAIT
FOR
SYNC
END OF
BAND
IDLE
PW = 0
&PH > 0
START
HM = 0
FSYNC
VM = 0
&HM = 0
LSYNC & VM = 0
&HM = 0
PRINT
HORIZONTAL
MARGIN
WAIT
FOR
SYNC
LSYNC &VM=0 &HM>0
HM > 0
LSYNC
&VM > 0
!LSYNC
PRINT
VERTICAL
MARGIN
VM = 0
&HM > 0
VM>0
NOTES:
FSYNC = FSYNC Asserted
HM = Horizontal Margin Register Value
LSYNC = Leading Edge of LSYNC Detected
PH = Page Image Height Register Value
PM = Page Image Width Register Value
START = Load of Page Image Bit Address Register
VM = Vertical Margin Register Value
Figure 10-6. PVC Video Interface State Diagram
10.3.1 Synchronous/Asynchronous PVC Operation
The PVC interfaces with print engines that provide either an asynchronous or synchronous
interface. A print engine interface is considered synchronous if it supplies a video clock and
a synchronous control signal. If a print engine supplies no clock, the interface is considered
asynchronous. The PVC is programmed for synchronous operation by clearing the
PVCCR’s VCS bit. This causes the PVC to use VCLK as a 1× clock source to clock video
data. The VCLK period defines the width of a video dot. The active edge of VCLK is
programmed by setting the PVCCR’s VCP bit.
A synchronous print engine interface must source VCLK at a frequency that equals the
expected video dot rate and supply an LSYNC signal that meets the setup and hold
requirements of the MC68322 relative to the VCLK source. However, VCLK must be a
free-running clock.
10-10
MC68322 USER’S MANUAL
MOTOROLA
The PVC is programmed for asynchronous operation by setting the PVCCR’s VCS bit. This
causes the PVC to use the VCLK as a clock source and to enable the internal PLL circuitry.
The VCLK input is either 4, 8, 12, 16, 24, or 32 times the frequency of the video data rate
the print engine requires. The PLL circuit continuously generates an internal 1× clock to
drive the video subsystem. When a print operation is active and LSYNC arrives, the PLL
adjusts the frequency of the internal 1× clock in synchronization with LSYNC’s arrival. The
PLL guarantees that each scanline starts at the same point on the page with a maximum
offset of an eighth of a dot.
The PLL always takes a 1-dot clock delay to synchronize with LSYNC. Depending on the
PLL prescaler value selected, this will be a fixed time in the range of 4 to 32 VCLK periods.
A horizontal margin of zero dots is allowed. Asynchronous interfaces need only provide an
LSYNC signal that accurately identifies the start of each scanline. And, again, the VCLK
source must be a free-running clock.
On reset, the print engine interface is programmed for synchronous operation. If you want
asynchronous operation with the PLL, the PVCCR’s VCS bit must be set. After changing the
VCS bit, a PVC reset interrupt event must be posted by setting the PVC bit in the MSRR.
This will reset the video state machines to a known state. The VCS bit should be changed
only between pages when the video state machines are inactive.
10.3.2 Command Operation
Commands are sent to the print engine based on CCLK. Writing another command to the
PCOMR printer command field before one is finished should be avoided because it will
corrupt the data. The PCOMR should be properly programmed to choose between the
command and status modes. SBSY and STS, which are used during status operations,
should not be asserted during a command operation.
10.3.2.1 CCLK SUPPLIED BY MC68322. In this mode, a write to the PCOMR’s printer
command field makes CBSY active. CBSY completely brackets a command transmission
by providing a setup and hold of one half CCLK period each. This allows sufficient time for
the print engine to detect the impending command byte and prepare its internal logic. Setting
the PCOMR’s CRC bit allows the MC68322 to supply CCLK. The value of the PCOMR’s
CCLK divisor field should be programmed to provide sufficient setup and hold time for the
command data, with respect to the rising edge of the CCLK.
Command data is transferred on CMD/STS, which remains in high impedance until the
CBSY setup time is satisfied. CMD/STS is then brought active (for one CLK1 period) and
each bit is driven on the falling edge of CCLK. The print engine should sample the command
data on the rising edge of CCLK. At the end of the transmission, CMD/STS is brought high
for one CLK1 period and then returns to the high impedance state.
When CBSY transitions to an inactive state (indicating the end of the command operation),
the PCIER’s CMS bit is set to notify the core that the command has been sent, thus causing
a command sent interrupt event to occur. The software should not try to write another
command until this interrupt is received.
MOTOROLA
MC68322 USER’S MANUAL
10-11
A recovery cycle is then initiated, during which no command or status operations are
performed. If a subsequent command operation is initiated during this time, it will be latched
and started after the recovery. If SBSY becomes active, indicating a status operation, then
it must remain active until the end of the recovery, which has the duration of one half CCLK
period. Figure 10-7 illustrates the timing diagram for a command operation when the core
supplies CCLK.
1C
2C
3C
4C
5C
6C
7C
8C
9C
10C
CBSY
CMD/STS
A
B
C
NOTES:
SBSY and STS are not sampled during command operations.
A = CBSY setup; half CCLK period.
B = CMD sampled by the print engine.
C = Recovery cycle; half CCLK period.
Figure 10-7. Command Operation—MC68322 Supplies CCLK
10.3.2.2 CCLK SUPPLIED BY PRINT ENGINE. In this mode, the print engine interface
expects eight rising edge transitions of CCLK from the print engine. Because CCLK is
asynchronous to CLK1, it is synchronized inside the MC68322. As a result, the period of this
signal can be no less than four CLK1 periods. When a command operation is initiated, CBSY
transitions to an active state and stays active until all command bits are transferred and hold
time (the value in the PCOMR’s CCLK divisor field) for the last command bit is satisfied.
Command data is transferred on CMD/STS, which remains in high impedance until the first
falling edge of CCLK. The command bit changes three CLK1 periods after every falling edge
of the CCLK. At the end of the transmission, CMD/STS is brought high for one CLK1 period
and then returns to the high impedance state. When CBSY transitions to an inactive state
(indicating the end of the command operation), the PCIER’s CMS bit is set to notify the core
that the command has been sent, thus causing a command sent interrupt event to occur.
The software should not try to write another command until this interrupt is received.
SBSY and STS, which are used during status operations, should not be asserted during a
command operation. Figure 10-8 illustrates the timing diagram for a command operation
when the print engine supplies CCLK.
10-12
MC68322 USER’S MANUAL
MOTOROLA
1C
2C
3C
4C
5C
6C
7C
8C
9C
10C
CCLK
CBSY
CMD/STS
A
B
C
D
NOTES:
SBSY and STS are not sampled during command operations.
A = CMD transmitted with the first falling edge of CCLK.
B = CMD sampled by the print engine.
C = CMD/STS hold; controlled by the CCLK divisor field.
D = Recovery cycle; half CCLK period. Any print engine response
is acknowledged after recovery cycle.
Figure 10-8. Command Operation—Print Engine Supplies CCLK
10.3.3 Status Operation
CCLK status information is sent to the MC68322 from the print engine. During the status
operation, serial data is assembled into the PCOMR’s printer status field. Status information
can be supplied to the MC68322 on either the STS or CMD/STS signals. If status
information is driven on STS, the CMD/STS signal will be in a high impedance state. CBSY
is in a high impedance state during the status operation.
10.3.3.1 CCLK SUPPLIED BY MC68322. In this mode, the MC68322 print engine
interface generates eight high to low transitions of CCLK so that the status data can be
sampled at every rising edge. The PICR’s CCLK divisor field must be programmed to
provide sufficient setup and hold time for the status data to be sampled.
After all eight bits of the status are sampled, the print engine interface enters a recovery
cycle. The recovery time is one half CCLK period as programmed in the PCOMR’s CCLK
divisor field. During the recovery time, SBSY is not sampled and if a command operation is
initiated it will be latched and executed after the recovery. When the status operation is
complete, the PCIER’s STR bit is set, thus indicating that the PCOMR’s printer status field
is full. If enabled, this bit can and will cause an interrupt event.
SBSY is an asynchronous signal to the print engine interface and is internally synchronized
to CLK1. The print engine should not assert the signal at any time during a command
operation or recovery cycle. Once SBSY has been asserted, it must remain that way until
the status operation is initiated. Figure 10-9 illustrates the timing diagram for a status
operation when the core supplies CCLK.
MOTOROLA
MC68322 USER’S MANUAL
10-13
1C
2C
3C
4C
5C
6C
7C
8C
9C
CCLK
SBSY
STS
B
A
NOTES:
CBSY and CMD/STS are in high impedance.
A = STS is sampled by the EC000 core.
B = Recovery cycle; half CCLK period. Any pending command
is acknowledged after the recovery.
Figure 10-9. Status Operation—MC68322 Supplied CCLK
10.3.3.2 CCLK SUPPLIED BY PRINT ENGINE. In this mode, the print engine is expected
to supply eight high to low transitions of CCLK so that the status can be sampled on every
rising edge. The CCLK period must be at least four CLK1s for proper sampling of each
status bit. After all eight bits of the status are sampled, the print engine interface enters a
recovery cycle. The recovery time is one half CCLK period as programmed in the PCOMR’s
CCLK divisor field. When the status operation is complete, the PCIER’s STR bit is set, thus
indicating that the PCOMR’s printer status field is full. If enabled, this bit causes an interrupt
event.
SBSY is an asynchronous signal to the print engine interface and is internally synchronized
to CLK1. The print engine should not assert the signal at any time during a command
operation or recovery cycle. Once SBSY has been asserted, it must remain that way until
the status operation is initiated. Figure 10-10 illustrates the timing diagram for a status
operation when the print engine supplies CCLK.
1C
2C
3C
4C
5C
6C
7C
8C
9C
10C
CCLK
SBSY
STS
B
A
NOTE: CBSY and CMD/STS are in high impedance.
A = STS is sampled by the EC000 core.
B = Recovery cycle half CCLK period. Any pending command
is acknowledged after the recovery.
Figure 10-10. Status Operation—Print Engine Supplied CCLK
10-14
MC68322 USER’S MANUAL
MOTOROLA
10.3.4 PLL Video Clock Divisor
The 8× PLL circuitry can clock on either the rising edge or both edges of its clock. This is
controlled by the PVCCR’s PLE bit. If the PLL clocks on the rising edge, it divides its input
clock by eight to produce a dot clock. This dot clock will have no more than 1/ dot jitter. If
8
the PLL clocks on both edges, it divides its input clock by four to produce a dot clock. When
PLD = 00 or 10, and PLE = 01, the dot clock has no more than 1/ dot jitter. When the duty
7
cycle of the VCLK is less than 50%, the amount of jitter will increase when using both clock
edges. The duty cycle does not adversely affect the jitter of the dot clock when using the
rising edge only mode. PLD and PLE have an effect only when the PVCCR’s VCS bit selects
the PLL clock. After changing the PLD or PLE bits, a PVC soft-reset must be posted. The
PLD and PLE bits should only be changed between pages when the video state machine is
inactive. Table 10-2 lists all values of PLD, PLE, and the resulting dot clock.
Table 10-2. PLL Video Clock Divisor
PLD
ENCODING
PLE
ENCODING
PRESCALE
VALUE
CLOCK
JITTER
CLOCK EDGE
DOT CLOCK
1/8 Dot
1/7 Dot
0
1
2
3
0
1
+1
+2
+3
+4
Rising
Both
VCLK
VCLK
÷
÷
8
4
1/8 Dot
1/8 Dot
0
1
Rising
Both
VCLK
VCLK
÷
16
8
÷
1/8 Dot
1/7 Dot
0
1
Rising
Both
VCLK
VCLK
÷
÷
24
12
1/8 Dot
1/8 Dot
0
1
Rising
Both
VCLK
VCLK
÷
÷
32
16
NOTE: ClockJitter When PLLDIV = 0 And PLL EDGE = 1 Is Dependent On VCLK Input Clock Symmetry.
In some cases there are multiple configurations that produce the same effective dot clock.
It is preferable to use the rising edge of the clock when there is a choice because it will
produce slightly less jitter.
The prescaler can be set to divide by three. This is useful in a situation where only one
resolution is required because this would allow a common input clock for both VCLK and
CLK2. For example, if an 8 ppm engine at 300 × 300 dpi requires a dot clock of 2.5 MHz,
then VCLK could be 30 MHz. This 30-MHz clock could also be used for the processor clock
(CLK2) so that an oscillator could be eliminated from the board.
MOTOROLA
MC68322 USER’S MANUAL
10-15
10.4 PVC ON RESET
There are two sources for a PVC reset interrupt event—the MC68322 RESET pin and the
MSRR’s PVC bit. The RESET pin resets the entire device while the PVC soft-reset only
resets the PVC and PLL logic. The state of the PVC after each type of reset is similar in that:
• The PLL is reset
• All PVC controllers return to idle
• The PVCIR’s PFL and BSY bits are cleared
There are two important differences during a MC68322 reset—all PVC registers are cleared
and any pending PVC interrupts are cleared. Following the assertion of the RESET input, all
PVC registers are cleared to zeros. This causes the PVC to assume a default interface. The
default interface uses a 1× clock, interprets all inputs, and drives all outputs as active low
signals. If this interface is not correct for the specific print engine, the PVCCR must be
written to define a different interface. If the PVCCR’s VCS bit changes, then the PVC will
need to be soft-reset.
During a PVC soft-reset interrupt event, no PVC registers are affected. Any pending print
operation is cleared and the next print operation is assumed to start at the beginning of a
page. Any pending interrupts remain pending. A PVC reset interrupt event only occurs after
the conclusion of the PVC’s on-going memory cycle.
10.5 PVC VIDEO DATA TIMING
The following timing diagram illustrates the relationship between the video data and the
assertion of the LSYNC signal when the horizontal margin is set to zero.
VCLK
LSYNC
VIDEO
5ns (MIN)
2ns (MIN)
20ns (MAX)
There are many other variable associated with the behavior of the PVC. The above timing
diagram corresponds to a system configuration in the following manner.
10-16
MC68322 USER’S MANUAL
MOTOROLA
10.5.1 1X Video Clock(PVCCR Bit 0 = 0)
If the PLL is used, then video data will be clocked out by an “effective video clock” that is
generated internal to the MC68322. Recognition of the LSYNC signal and the subsequent
output of video data is relative to this internal clock since it is located outside the chip. For
applications that use an external ASIC to post-process the video data, use the 1X clock
mode.
10.5.2 VCLK Rising Edge (PVCCR Bit 1 = 11)
If VCP = 0, the specifications shown above are relative to the falling edge of VCLK.
10.5.3 Border Polarity High (PVCCR Bit 5 = 0)
This bit controls the state of the video out signal in the “margin” area of the page. If this bit
is set, the video signal is driven low when the video data is not being driven out of the part.
MOTOROLA
MC68322 USER’S MANUAL
10-17
SECTION 11
RISC GRAPHICS PROCESSOR
The RISC graphics processor (RGP) is one of the two components of the graphics unit; the
other being the print engine interface. The RGP executes a display list of graphic orders (a
special list of instructions) to render a page image. This section describes the following RGP
functional blocks and how they operate.
• Graphic order parser
• Graphic order execution unit
• Band registers
• Arithmetic logic unit
• Pixel data files
• Boolean logic unit
The graphic order parser is responsible for reading the display list and determining opcode
type and, if a banded opcode, the appropriate band to process the graphic order. It is also
responsible for aligning and transferring the operands into the band registers, interpreting,
aligning, and transferring scanline table bit string specifiers into the band registers, as well
as writing back any modified operands in the event of a band fault.
The graphic order execution unit is a collection of state machines that control all aspects of
the graphic operations, including calculation of effective addresses, rectangular pixel array
widths in words, barrel shifter rotation offsets, left/right mask values, and halftone
positioning. The band registers hold the graphic order operands and values that are required
for internal use. The arithmetic logic unit performs all internal calculations including addition,
subtraction, increment by one, decrement by one, and comparison. It is also used to
calculate and modify effective addresses for source, destination, and halftone bit maps.
The pixel data files (along with internal barrel shifters) hold source, halftone, and destination
data, and it constantly adjusts so that all the data is uniformly aligned. These data files
operate independently from the remainder of the RGP, requesting new data at the same
time existing data is processed through the barrel shifters or Boolean logic unit for
subsequent writing to memory.
The Boolean logic unit carries out all combinations of 1-, 2-, and 3-operand Boolean
operations, combining source, halftone, and destination data together in one of 256 possible
combinations. Left and right masking is used to preserve the original destination data at the
left and right edges of the destination bitmap.
MOTOROLA
MC68322 USER’S MANUAL
11-1
11.1 RGP REGISTERS
There are three registers that provide control of and receive status from the RGP—the RGP
start register, the RGP diagnostic register, and the RGP interrupt event register.
11.1.1 RGP Start Register
The RGP starts by writing the address of a display list into the RGP start register (RSR).
When the RSR is loaded, the first graphic order is fetched. The RSR in the MC68322 is
double buffered, thus allowing a second display list address to be loaded into the RSR prior
to the completion of the first display list. The second display list is automatically started as
soon as the first one finishes.
15
14
13
12
11
6
5
4
3
2
1
0
10
9
8
7
00FFF800
00FFF802
0000
HIGH WORD
LOW WORD
0
15
14
13
12
11
6
5
4
3
2
1
0
10
9
8
7
Figure 11-1. RGP Start Register
11.1.2 RGP Diagnostic Register
The RGP diagnostic register (RDR) contains the byte address of the graphic order opcode
or operand being interpreted from the display list. It is frozen when an error occurs and the
RGP interrupt event register’s RER bit is set. Depending on the nature of the error, the RDR
can be frozen beyond the exact point in the display list where an RGP error occurs because
of the prefetch characteristics of the RGP. The RDR resumes functioning when a soft-reset
of the RGP occurs.
15
14
13
12
11
6
5
4
3
2
1
0
10
9
8
7
00FFF804
00FFF806
0000
HIGH WORD
LOW WORD
0
15
14
13
12
11
6
5
4
3
2
1
0
10
9
8
7
Figure 11-2. RGP Diagnostic Register
11.1.3 RGP Interrupt Event Register
The RGP interrupt event register (RIER) processes and controls interrupts from the RGP to
the core.
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
00FFF710
00FFF712
00FFF714
ENABLE
RBY DLF RDN RER
INTERRUPT
LEVEL
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
= RESERVED
Figure 11-3. RGP Interrupt Event Register
11-2
MC68322 USER’S MANUAL
MOTOROLA
The RDN and RER bits are set by the RGP to indicate one interrupt event to the core and
each event bit has a corresponding bit in the enable field. The RBY bit indicates that the
RGP is executing a display list and the DLF bit indicates that a second display list is queued.
The RGP sets the RBY bit when the RSR is loaded and clears the RBY bit when it
encounters a STOP graphic order. If a second display list start address is loaded before a
STOP graphic order is encountered, the RGP keeps RBY set as the second display list
starts.
Since the RSR is double buffered, the DLF bit is set only after a second display list address
is loaded. If a second display list address was loaded and RGP reaches the end of the
current display list, it clears the DLF bit, keeps RBY set, and starts reading the second
display list. DLF is cleared as soon as a STOP graphic order opcode for the current display
list is encountered. If the RSR is loaded when DLF is set, the new address overwrites the
previously queued address. Also, when an error occurs, RBY and DLF retain their state until
the RGP is soft-reset.
11.2 RGP BASIC OPERATION
The RGP can render either an entire page from a display list or multiple bands from a single
banded display list. The RGP is activated by writing the starting address of a display list to
the RSR. The RGP then executes the display list and renders a page or band image and
when the end of the display list is reached, the RGP generates an RGP done interrupt event
to the core and waits for another display list address. Be aware that a second display list
address can be loaded while the RGP is working on the first display list. In this case, an
interrupt is generated upon completion of the first display list and the second display begins
executing immediately. Also, a second interrupt is generated upon completion of the second
display list.
The ability of the RGP to render multiple bands from a single banded display list allows for
complete freedom in the design of a banded memory system. A banded display list contains
band information near the beginning of the list. This band information includes the address
and size of the band, as well as the band number that is to be processed. The RGP uses
this information to determine which orders from the display list to process and where in
memory to create the bitmap image for the specific band. After one band is fully rendered
and the RGP generates an RGP done interrupt event, the software should adjust the display
list to reflect the next band information and then restart the RGP. The quantity, size, and
location of band buffers is determined by the core’s software. These band parameters can
be dynamically altered to suit a particular application or page complexity. The band numbers
are under software control to allow for nonsequential band processing applications like
duplex printing.
Depending on the length of the display lists and interrupt latency, one or both display lists
can complete and generate an RGP done interrupt event before any interrupt is even
serviced. To determine whether one or both display lists has executed, the software must
first clear the RIER’s RDN bit, then reread it to examine the current setting. If the RIER’s
RBY bit is set and a RGP done interrupt is being serviced, then one display list has finished
and the second display list is currently being executed. If the RBY bit is clear, both display
lists have finished and the RGP is sitting idle.
MOTOROLA
MC68322 USER’S MANUAL
11-3
The RGP can detect certain errors during the execution of a display list, including an
out-of-range display list start address, out-of-range graphic order operand addresses, and
illegal graphic order opcodes. When the RGP detects one of these errors, it immediately
stops processing the current display list and sets the RIER’s RER bit. When RER is set, the
RDR determines the graphic order that generated the error. However, the RGP must be
reset by an RGP soft-reset to return it to normal operation. A write to the RGP bit in the soft-
reset register initiates an RGP soft-reset operation. See Section 5 Interrupt and Exception
Handling for more information. On an RGP soft-reset, the RGP registers are initialized as
follows:
1. RSR is purged.
2. RIER’s DLF and RBY bits are cleared.
3. RDR is cleared to all zeros.
4. Internal Boolean code registers that hold the Boolean values defined by the
SET_BOOL graphic orders are cleared to all zeros.
If the RSR is loaded between the time an RGP error is detected and the time the soft-reset
is issued, the address stored in the RSR is lost. Additionally, if RDR information is needed,
the RDR must be read before an RGP soft-reset is executed. Due to the prefetching
characteristics of the RGP, and depending on the type of error, the address returned by the
RDR may be slightly beyond the source of the error.
When a graphic order is interrupted due to a band fault, all parameters necessary to resume
the data transfer at the point where the band fault occurred are written back into the display
list. In addition, the graphic order’s band number is incremented (or decremented for 180°
pages) and written back into the display list to ensure that the graphic order is executed for
the next band. Since the hardware automatically updates graphic orders that generate band
faults, graphic orders that span multiple bands execute without any software intervention.
Once a graphic order has been updated after a band fault, the execution of the display list
continues with the next graphic order in the list.
11-4
MC68322 USER’S MANUAL
MOTOROLA
SECTION 12
GRAPHIC OPERATIONS
The MC68322’s graphics unit (comprised of the print engine interface and the RISC
graphics processor) operates on a display list, which is a collection of graphic orders. A
graphic order is a special instruction or command that directs the MC68322 to perform a
discrete function, such as setting internal environment registers or executing graphic
operand transfers (source to destination bit maps). The MC68322 supports two types of
transfers—bit block and scanline.
12.1 TYPES OF BITMAPS
The basic element of a graphic operand is the bitmap. As described in Section 1
Introduction, a bitmap is a two dimensional array composed of scanlines (each row in the
array) and pixels (the junction of a scanline and column in the array). The width of the bitmap
(X dimension) is the number of pixels in the scanline and the height of the bitmap (Y
dimension) is the number of scanlines. Graphic orders use six types of bit maps:
• Banded—A banded bitmap has a warp associated with it that defines the X dimension
and a logical coordinate that defines the Y dimension. When specifying a banded
bitmap in a transfer of data, the transfer of data is checked against the Y boundary of
the bitmap. If the data falls beyond the Y boundary, a band fault occurs and the transfer
of data for the current graphic order is prematurely terminated.
• Unbanded—An unbanded bitmap also has a warp associated with it that only defines
the X dimension. However, there is no logical coordinate associated with its Y
dimension. The significance of this is that no boundary checks are made for unbanded
bit maps. When specifying an unbanded bitmap in a transfer of data, it is assumed that
the bitmap is of sufficient size to complete the transfer.
• Unexpanded—An unexpanded bitmap is a two dimensional array of pixels that
represents a low resolution image. Typically, an unexpanded bitmap describes a
bitmap image that is created at 75, 100, 150, 200, or 300 dpi. In contrast, all other bit
maps have an implied resolution that matches the print engine resolution, which can be
300, 600, or 1200 dpi. Unexpanded bit maps can be positioned anywhere in memory,
packed or unpacked, and they do not need to be aligned to word boundaries. Also, an
unexpanded bitmap is always used as a source bitmap by expanded graphic orders.
• Expanded—An expanded bitmap is a conceptual term that describes the outcome of
processing an unexpanded source bitmap during the execution of an expanded graphic
order. The expanded graphic order increases the resolution of the unexpanded bitmap
to match the resolution of the destination bitmap being used in a transfer. Since the
RGP expands the unexpanded bit maps during the transfer, expanded bit maps never
actually exist in memory.
MOTOROLA
MC68322 USER’S MANUAL
12-1
• Frame—A frame bitmap is a two dimensional array of pixels that is generally a subset
of some larger bitmap array (the width and warp are identical). For example, a frame
bitmap could describe the bounding box of a character. To better illustrate this
difference, suppose a rectangle is transferred to a bitmap, both the warp of the bitmap
and the width of the rectangle being transferred must be specified. When transferring a
rectangle to a frame bitmap, the warp is the width of the rectangle being transferred.
Operations that involve transferring pixels to frame bit maps are particularly useful
when a small rectangle of a larger image must be saved for future reference. The frame
bitmap is the smallest possible storage means for the rectangle because the scanlines
are packed in memory. The end of one scanline and the beginning of the next have no
unused bits between them.
• Halftone—A halftone bitmap is a special type of bitmap because it is automatically
replicated in both the horizontal and vertical directions. It is intended to hold a pattern
that is repetitively applied to data being transferred from a source bitmap to a
destination bitmap, thus causing a change in the appearance of the data.
12.2 GRAPHIC OPERANDS
Up to three operands are used when composing the print image—source, destination, and
halftone. The source operand is typically located in a frame or unexpanded bitmap, the
destination operand in a banded or unbanded bitmap, and the halftone operand in a halftone
bitmap. These operands are represented by a specific 1-byte constant value, which is listed
in Table 12-1.
Table 12-1. Graphic Operation Data
Operand Constant Values
CONSTANTS
Zero
BINARY CODING
00000000
One
11111111
Destination
Source
10101010
11001100
Halftone
11110000
These five constant values can be combined using Boolean arithmetic computations to yield
a 1-byte Boolean code that corresponds to a specific transfer effect. See Section 12.4
Boolean Codes for more information.
12-2
MC68322 USER’S MANUAL
MOTOROLA
12.3 TYPES OF GRAPHIC OPERANDS
Graphic orders specify which graphic operands to transfer and there are three types:
• All graphic orders of the form XXXX_D (such as SET_BOOL_D) define 1-operand
transfers that specify only the destination bitmap.
• All graphic orders of the form XXXX_SD or XXXX_HD (such as BLT2F_SD or
SL2UB_HD) define 2-operand transfers that specify the destination bitmap and either
the source or halftone bitmap (the halftone applied to the destination).
• All graphic orders of the form XXXX_SHD (such as BLT2BB_SHD) define 3-operand
transfers that specify the destination bitmap, source bitmap, and halftone bitmap (the
halftone applied to the source and destination).
12.4 BOOLEAN CODES
The preferred result of a graphic operand transfer must be specified by means of the 1-byte
Boolean code that directs the MC68322 to logically combine the given source, destination,
and/or halftone operands during the graphic operation. Figure 12-1 illustrates eight common
Boolean-coded graphic operation transfers and all 256 Boolean-coded graphic operation
transfer combinations are represented in Figure 12-2. They involve all possible logical
combinations between the true and inverted versions of the three operands.
D = DESTINATION
BIT MAP
S = SOURCE
BIT MAP
HT = HALFTONE
BIT MAP
CLEAR
(D 0)
OPAQUE
TRANSPARENT
(D S + D)
FULLY TRANSPARENT
(D HT + D)
(D
S)
S Λ
CLEAR TO BLACK
(D 1)
CLEAR TO PATTERN
(D HT)
OPAQUE TRANSFER
(D HT)
SEMI-TRANSPARENT
(D HT + !S D)
S
Λ
S
Λ
Λ
Figure 12-1. Eight Common Graphic Operation Transfers
MOTOROLA
MC68322 USER’S MANUAL
12-3
DESTINATION
BIT MAP
SOURCE
BIT MAP
HALFTONE
BIT MAP
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
00
10
20
30
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
00
10
20
30
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
Figure 12-2. 256 Possible Boolean Coded Graphic Operation Transfers
The Boolean codes shown in Figure 12-2 are derived from the constants listed in
Table 12-1. For example, setting the Boolean code to EE16 causes the MC68322 to OR the
source and destination operands, thus producing a transparent combination of the two. This
combination, illustrated in Figure 12-2 (row E0, column 0E), is calculated by logically OR’ing
the destination and source constants.
DESTINATION
V
SOURCE
=
BOOLEAN CODE
11101110 = EE
10101010
V
11001100
=
16
12-4
MC68322 USER’S MANUAL
MOTOROLA
A more complicated graphic operation transfer is calculated in the same way. For example,
the Boolean code for a semi-transparent source transfer onto the destination bitmap
involving halftoning (sometimes used by PostScript) is determined as follows:
[(NOT SOURCE)
Λ
Λ
DESTINATION]
V
(SOURCE
Λ
HALFTONE)
11110000)
=
BOOLEAN CODE
[(NOT 11001100)
10101010]
V
=
11100010 = E2
16
(11001100
Λ
Take caution when calculating a Boolean code to ensure only operand values that are
contained in the graphic operation transfer are used. For example, the halftone value should
not be used when specifying the Boolean code for a transfer involving a source/destination
graphic order. If this constraint is violated, the MC68322 treats the extra parameter(s) as
zero. Thus, if the Boolean code for dest = (source Λ halftone) V dest is used to specify a
transfer involving a source/destination graphic order, the MC68322 treats the halftone
parameter as zero. The resulting operation becomes dest = (source Λ 0) V dest or simply,
dest = dest.
12.5 BIT BLOCK TRANSFERS
A bit block transfer (bitBLT) is an operation that combines up to three rectangular bit maps
(source, halftone, and destination) in some Boolean combination and places the result in the
original destination bitmap. An expanded bitBLT operation is similar to a standard bitBLT
operation, except that each pixel of the source bitmap is replicated in one or both
dimensions by scaling factors from 1 to 16. An expanded bitBLT graphic order reads an
unexpanded source bitmap directly from memory and expands it to match the resolution of
the destination bitmap. Then it is combined with the destination and/or halftone bitmap to
complete the transfer.
For normal or expanded bitBLT operations, if the destination bitmap is a banded bitmap, the
transfer terminates prematurely if the transfer frame extends below the bottom of the band.
This is considered a band fault. The remainder of the display list is processed in the event
of a band fault, but the transfer operation that caused the band fault will resume when the
display list is rerun to render the next band of the page image.
12.6 SCANLINE TRANSFERS
Scanline transfers are used to operate on nonrectangular regions of bit maps. In their
simplest form, they are used to fill arbitrary polygons and draw vectors. A scanline transfer
involves operating on a specified set of scanline runs on one or more bit maps. The set of
scanline runs is defined by a scanline table, which contains a series of bit string specifiers.
Each bit string specifier is a compressed run-length encoding of a scanline run. The
compressed format of scanline tables not only saves memory, but also improves
performance since fewer memory fetches must be performed.
MOTOROLA
MC68322 USER’S MANUAL
12-5
Scanline operations arise quite often from two sources. The first occurs from outline fonts,
which describe the outline of a set of characters via splines, lines, and arcs. The outlines are
scaled for the preferred point size through software algorithms. The result is a set of scanline
endpoints that must be filled to create a solid character. The second occurs from vector
images such as wire-frame diagrams, which are entered as either a series of line drawing
graphic orders or as a previously generated bitmap. Since these vector images contain a
high percentage of white space, they typically require less storage space when described
as a series of scanline operations. Scanline transfers operate on a destination bitmap and
specify a halftone bitmap to render grayed or patterned images. No source bitmap is
involved in a scanline transfer.
12.6.1 Scanline Tables and Bit String Specifiers
A scanline table consists of a series of bit string specifiers representing an image that has
been compressed using run-length encoding. For example, bitmap fonts can be converted
into this format to reduce memory requirements for font storage. A scanline table can also
be used to efficiently represent line art and filled polygon shapes.
Each bit string specifier describes a displacement along with a run-length encoded definition
of a graphics operation for the RGP to perform on a single scanline. The MC68322 supports
three different sizes of bit string specifier formats: 16-, 32-, and 48-bit. The smaller formats
help to reduce memory requirements when short displacements or scanline runs are
required. The larger formats allow any pixel in a bitmap to be reached with a single specifier.
Three bit string specifiers are supported:
• 16-Bit—Conditionally moves to the next scanline, goes a short distance left or right from
there, and then draws a line that is a maximum of 63 bits long.
• 32-Bit—Moves vertically up to three scanlines, goes a large distance left or right from
there, and then draws a line that is a maximum of 4,095 bits long.
• 48-Bit—Moves a very large distance in both X and Y dimensions and then draws a line
that is a maximum of 16,383 bits long.
All bit string specifiers are multiples of 16 bits and must always be located on word memory
boundaries (0 mod 2 byte addresses). Each bit string specifier consists of an ID field, an
unsigned run length (RL) field, and a signed displacement (DX, DY, or DZ) field. Figure 12-3
illustrates the three types of bit string specifier formats.
12-6
MC68322 USER’S MANUAL
MOTOROLA
BYTE ADDRESS
OF WORD
8
8
15
14
13
13
12
12
11
11
6
6
5
5
4
4
3
3
2
2
1
1
0
0
10
10
9
9
7
7
DY
ID=0
RL
DX
16-BIT SPECIFIER
32-BIT SPECIFIER
+0
15
14
ID = 10
+0
+2
DX
2
ID = 10
DY
RL
2
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
ID = 11
+0
+2
+4
MSB
2
DZ
48-BIT SPECIFIER
LSB
ID = 11
RL
2
NOTES:
RL = Run Length (unsigned)
DX = X Dimension Displacement—Horizontal (signed)
DY = Y Dimension Displacement—Vertical (unsigned)
DZ = X and Y Dimension Displacement—Horizontal and Vertical (signed)
Figure 12-3. Bit String Specifier Formats
The ID field identifies the type of bit string specifier. The bit string specifiers are designed to
be recognizable no matter what direction the scanline table is read from memory. This is
required to properly handle scanline graphic orders in a duplex banding environment where
0° and 180° pages are possible. Thus, the ID fields in the 32- and 48-bit bit string specifiers
are duplicated to allow parsing of the scanline table in either direction. The RL field indicates
the number of pixels to be drawn horizontally during the scanline run.
The displacement fields indicate the number of horizontal and vertical pixels to skip before
drawing a scanline. The DX field indicates the signed horizontal movement along the X
dimension of the bitmap. The DY field indicates the unsigned vertical movement along the
Y dimension of the bitmap. The DZ field is the signed aggregate displacement based on a
calculation of the preferred X and Y movements along with the destination warp. Thus, the
warp of the target bitmap must be known before building a scanline table containing 48-bit
bit string specifiers. This calculation is DZ = (DY x DW) + DX, where DW is the unsigned
warp of the target destination bitmap. Note that DY is signed for this calculation. Table 12-2
lists the definitions for each field of the three types of bit string specifiers.
MOTOROLA
MC68322 USER’S MANUAL
12-7
Table 12-2. Bit String Specifier Field Definitions
BIT STRING TYPE
FIELD
DY
RL
DEFINITION
Zero to one scanline.
0 to 63 pixels.
16-bit
DX
DY
RL
+127 to –128 pixels.
Zero to three scanlines.
0 to 4,095 pixels.
32-bit
48-bit
DX
RL
+8,191 to –8,192 pixels.
0 to 16,383 pixels.
DZ
+536,870,991 to –536,870,992 pixels.
A 16-bit null termination bit string specifier of 000016 is placed before the beginning and after
the end of every scanline table. This is a real specifier that specifies no movement of the
base pointer and a run of zero pixels. Note that the null terminators can be shared between
scanline tables placed adjacent in memory. In other words, the ending point 000016 of one
scanline table serves as the starting point 000016 for the next scanline table. The dual
termination of the scanline tables is required for duplex banding applications where the
MC68322 reads the scanline table in both forward and reverse directions to render 0° and
180° pages.
12.6.2 Scanline Run Operation
When a scanline graphic order begins, the current destination address is established by the
initial address specified in the graphic order. The MC68322 maintains a current destination
address value and updates it after each bit string specifier is executed. For 0° pages, after
a scanline run occurs, the current destination address points to the pixel immediately
following the last pixel in the run. For 180° pages, the current destination address points
where the last specifier’s X and Y displacements put it.
The displacements specified by DX, DY (for 16- and 32-bit bit string specifiers), and DZ (for
48-bit bit string specifiers) are applied before executing the scanline run for a 0° page and
after executing it for a 180° page. Figure 12-4 illustrates a scanline run using the values in
the bit string specifier fields. Notice that destination address A is the initial address for 0°
pages as well as the final address for 180° pages and, in turn, address B is the final address
for 0° pages and the initial address for 180° pages.
DESTINATION
ADDRESS A
DISPLACEMENT
DY
DESTINATION
ADDRESS B
SCANLINE RUN
RL
DX
Figure 12-4. Scanline Run Operation
12-8
MC68322 USER’S MANUAL
MOTOROLA
When rendering to banded bit maps of 0° pages or to frame and unbanded bit maps, the
displacement is added to the current destination address before the scanline is drawn. The
scanline run is then completed in a left to right direction. When rendering to banded bit maps
of 180° pages, the run length is first subtracted from the current destination address and that
address is saved. Then the scanline run is carried out in a left to right direction and the
displacement is subtracted from the saved destination address.
12.6.3 Executing During Banded Applications
When executing a scanline table for a banded bitmap, the MC68322 performs boundary
checking to detect a band fault before executing each bit string specifier. A band fault occurs
when the destination bitmap is a banded bitmap and the scanline frame extends below the
end of the band. A band fault will cause the scanline transfer to terminate prematurely. The
remainder of the display list is processed in the event of a band fault, but the execution of
the scanline table resumes when the display list is rerun to render the next band of the page
image.
The MC68322 does not, however, check for a band fault while processing the scanline run
lengths. During banding applications, there are two ways to use bit string specifiers that can
cause unwanted destruction of data. The destruction occurs when the bit string specifier
causes processing to occur outside of the banded bitmap. One way is when a bit string
specifier contains a signed offset that references a previous band (see Figure 12-5). The
MC68322 checks only the lower boundary of the banded bitmap, so the violation goes
undetected. Normally, the MC68322 would process the bit string specifier’s run length at a
memory location that is not contained within the target bitmap.
PREVIOUS
BAND
CASE 1
OK
CURRENT
BAND
CASE 2
NEXT
BAND
Figure 12-5. Illegal Bit String Specifier Use
Another way is when a bit string specifier contains a run length that wraps from one scanline
to another and the new scanline is beyond the end of the current band. The MC68322 does
not check horizontal and vertical boundaries while processing the bit string specifier’s run.
MOTOROLA
MC68322 USER’S MANUAL
12-9
12.6.4 Halftone Companion Tables
A halftone bitmap is automatically replicated in both the X and Y dimensions. For scanline
graphic orders, the task is complex since each scanline run describes an individual area on
which to be operated. For example, on 0° pages after the displacement required by the bit
string specifier has been applied, the proper location in the halftone bitmap must be
calculated. For the 16-bit bit string specifier, this task is relatively straightforward and can be
carried out with a minimum number of cycles. For the 32- and 48-bit specifiers, the task is
considerably more complex because of the much larger displacement values associated
with them. The task can be accomplished, but at a significant cost in overhead cycles. To
reduce the penalty for the larger bit string specifier formats, a halftone companion table is
employed. This eliminates virtually all overhead cycles in return for only slightly higher
memory storage requirements within typical scanline tables.
The halftone companion table contains a list of corresponding halftone specifiers (similar in
composition to bit string specifiers) for each 32- and 48-bit bit string specifier in the scanline
table. There is no corresponding halftone specifier for 16-bit bit specifiers because they are
halftoned without assistance. The halftone specifiers use displacements instead of absolute
values. This minimizes the number of halftone tables to one per halftone pattern for each
halftoned character. Thus, if a character is halftoned, only one halftone table must be
constructed, regardless of the number of times the character is used. The same halftone
table for a particular character can be used with different halftone patterns if the dimensions
of each halftone bitmap are identical.
Each field of a halftone specifier corresponds to a similar field in the 32- or 48-bit bit string
specifier. As illustrated in Figure 12-6, the 32-bit halftone specifier contains two fields—a
halftone horizontal movement (HDX) and a halftone run length (HRL). HDX corresponds to
the 32-bit bit string specifier’s DX field and HRL corresponds to the RL field.
BYTE ADDRESS
OF WORD
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
+0
+2
HDX
HRL
NOTES:
HRL = Halftone Run Length (unsigned)
HDX = X Dimension Displacement—Horizontal (unsigned)
Figure 12-6. 32-Bit Halftone Specifier Format
HDX and HRL are defined as follows where HW is equal to the warp of the target halftone
bitmap:
HDX = DX mod HW (DX ≥ 0) V [HW – (– DX mod HW)] mod HW (DX < 0)
HRL = RL mod HW
12-10
MC68322 USER’S MANUAL
MOTOROLA
Both HDX and HRL are unsigned values, but their values should satisfy the following
boundary conditions:
0 < HRL < HW
0 < HDX < HW
The Y displacement found in the 32-bit bit string specifier (DY field) is automatically handled
by the MC68322 and has no corresponding field in the companion halftone specifier. HRL
is required for 180° pages since the graphics unit uses this offset to internally render
scanline runs from left to right.
As illustrated in Figure 12-7, the corresponding halftone specifier for the 48-bit bit string
specifier is 80 bits long and contains four fields—halftone vertical movement (HDY), halftone
horizontal movement (HDX), halftone run length (HRL), and halftone physical starting
address (HDA).
BYTE ADDRESS
OF WORD
8
15
14
13
12
11
6
5
4
3
2
1
0
10
9
7
+0
HRL
+2
+4
+6
+8
HDX
HDY
MSB
15
HDA
LSB
0
8
14
13
12
11
6
5
4
3
2
1
10
9
7
NOTES:
HRL = Halftone Run Length (unsigned)
HDX = X Dimension Displacement—Horizontal (unsigned)
HDY = Y Dimension Displacement—Vertical (unsigned)
HDA = Halftone Starting Address Displacement (unsigned)
Figure 12-7. 48-Bit Halftone Specifier Format
The preferred horizontal and vertical displacements used in the original calculation of the bit
string’s DZ field are required to generate the parameters of the companion halftone
specifier. The four parameters for the 48-bit companion halftone specifier are defined as
follows:
HRL = RL mod HW
HDX = DX mod HW (DX ≥ 0) or [HW – (– DX mod HW)] mod HW (DX < 0)
HDY = DY mod HH (DY ≥ 0) or [HH – (– DY mod HH)] mod HH (DY < 0)
HDA = (HDY × HW) + HDX
MOTOROLA
MC68322 USER’S MANUAL
12-11
Where:
DX and DY are the signed X and Y dimension values used in the calculation of DZ
HH is the target halftone bitmap height
HW is the target halftone bitmap width
HRL, HDX, HDY, and HDA are all unsigned values and their values should satisfy the
following boundary conditions:
0 < HRL < HW
0 < HDX < HW
0 < HDY < HH
0 < HDA < HZ
Where:
HZ is the total number of bits in the halftone bitmap
Any 32- or 48-bit bit string specifier, with a corresponding halftone specifier, must not have
a horizontal displacement that extends beyond either side of the destination bitmap. The
halftoning operation does not track the Y dimension displacement caused by wrapping
around the sides of a bitmap. Of course, the same is true for the run lengths since no
horizontal clipping is performed at the left or right edges of the destination bitmap for any
graphic order.
Unlike the scanline table, the halftone table requires no 000016 terminators. The parsing of
the halftone table tracks that of the scanline table, reading both tables in parallel. For
32- and 48-bit specifiers, the MC68322 reads a specifier from each table and for 16-bit
specifiers, only the scanline table is read. The halftone specifiers, like their bit string
counterparts, must be located on word-aligned boundaries and, consequently, the halftone
table address pointer specified in the scanline graphic order must be word aligned (0 mod 2
byte address).
12-12
MC68322 USER’S MANUAL
MOTOROLA
12.7 SCANLINE AND HALFTONE TABLE EXAMPLE
Figure 12-8 illustrates an example scanline table, its corresponding halftone table, and the
resulting image. Notice that the halftone table contains only two specifiers, since the
scanline table is mostly composed of 16-bit bit string specifiers, and that the halftone table
is not terminated with 000016 null specifiers, but the scanline table is.
COMPANION HALF-
SCANLINE TABLE
DESTINATION BIT MAP
TONE TABLE
0
HDX = 2
HRL = 0
HRL = 4
HDX = 1
HDY = 5
NULL
BSS #1
BSS #2
HTS #2
HTS #6
DA
0
RL = 30 DX = 0
DX = –30
#1
3
0
1
1
RL = 1000
BSS #3
BSS #4
BSS #5
BSS #6
RL = 60 DX = 60
RL = 60 DX = –60
RL = 60 DX = –60
(–30, +3)
#2
HDA = 41 = 5 x 8 + 1
#3
#4
#5
DZ = 4292601
(1789 x 2400 – 999)
RL = 500
0
NULL
HALFTONE
BIT MAP
(–999, +1789)
HW = 8
#6
NOTES:
HTS = Halftone Specifier
BSS = Bit String Specifier
DW = 2400
Figure 12-8. Scanline and Halftone Table Example
MOTOROLA
MC68322 USER’S MANUAL
12-13
12.8 bitBLT AND SCANLINE ORDER EXECUTION
Table 12-3 lists the bitBLT and scanline transfer timings based on an MC68322 system
running at 20 MHz with DRAM running at 3, 2, 1, 2 bus cycles.
Table 12-3. bitBLT and Scanline Execution Times
OPERANDS/ORDERS
TIME (ΜS)
bITBLT EXECUTION TIME (32
bITBLT EXECUTION TIME (30
bITBLT EXECUTION TIME (100
×
×
×
32)
D = f(S)
D = f(S,D)
D = f(H,D)
D = f(S,H,D)
D = f() Solid fill
30.75
30.75
31.05
40.65
21.00
50)
D = f(S)
48.90
48.90
47.10
63.30
31.65
D = f(S,D)
D = f(H,D)
D = f(S,H,D)
D = f() Solid fill
100)
D = f(S)
139.05
156.30
148.05
189.45
93.50
D = f(S,D)
D = f(H,D)
D = f(S,H,D)
D = f() Solid fill
SCANLINE EXECUTION TIME (30
× 50)
D = f(SL,D)
70.05
D = f(SL,H,D)
195.90
12-14
MC68322 USER’S MANUAL
MOTOROLA
Graphic Operations
12.9 LOCATION AND ADDRESS CONSTRAINTS
Display lists, scanline tables, and halftone tables must reside in DRAM space because the
graphics unit cannot access chip-select space. The graphics unit can, however, fetch
instructions from any of the MC68322’s six DRAM channels and from one channel to
another if two channels define a continuous region of memory. Keep in mind though, that
due to its internal prefetch queues, the graphics unit must be able to read eight words
beyond every display list, scanline table, and halftone table. If this rule is broken, an RGP
error interrupt event could occur and cause the graphics unit to shut down.
The addressing conventions discussed in previous sections also apply to graphic order
address parameters. All address fields are 32 bits wide. Address parameters that reference
bit maps specify bit addresses, while all others require conventional byte addresses. The
RGP requires all display lists, scanline tables, and companion halftone tables to start on
word-aligned addresses. Since all graphic orders, bit string specifiers, and halftone
specifiers are an even number of bytes in length, this guarantees that all successive orders
and specifiers begin at word-aligned addresses as well. This requirement also guarantees
that all word and long-word operands and field values are aligned on word boundaries. This
is important for the core, which can access word and long-word data only on word
boundaries. These rules do not apply to the actual bitmap data, which has no alignment
requirements.
The RGP internally stores all addresses in 32-bit registers and performs all address
calculations using 32-bit arithmetic. When the RGP makes an access to DRAM for bitmap
data, the bitmap address must first be converted to a byte address to accommodate the
fetch. This conversion is done first by stripping off the low order four bits (these bits select a
bit within the word) and then shifting the address to the right by three bits. This produces a
word-aligned byte address that is used for a 16-bit DRAM fetch of the bitmap data.
MOTOROLA
MC68322 USER’S MANUAL
12-15
SECTION 13
GRAPHIC ORDERS
This section describes the MC68322 graphic orders and lists them in alphabetical order. For
each graphic order a functional description, opcode, parameter format, and definitions of its
parameters are provided. Graphic orders specify one or more graphic operands, as
indicated in the mnemonic by the last few characters. See Section 12 Graphic Operations
for more information.
13.1 TYPES OF GRAPHIC ORDERS
The five types of graphic orders consist of the following:
• Initialization
• Program flow control
• Bit block transfer
• Expanded bit block transfer
• Scanline transfers
The initialization, bit block transfer, and expanded bit block transfer graphic orders are
processed as a stream of instructions from the display list. The scanline graphic orders
include a pointer to a scanline table that is a compressed run-length encoding of an image,
such as a font character.
13.1.1 Initialization
Initialization graphic orders (those whose mnemonics begin with SET) define bitmap
parameters and Boolean codes to be used during transfers. The SET_BMAP graphic orders
are defined for four bitmap types—banded, unbanded, source, and halftone. They are used
to load bitmap parameters into internal registers. The four SET_BOOL graphic orders are
defined for each type of Boolean operation—destination only (_D), halftone and destination
(_HD), source and destination (_SD), and source, halftone, and destination (_SHD). They
are all used to load the four Boolean code registers that will govern the bitBLT or scanline
transfer graphic order to be executed.
The RGP has four internal registers that contain the Boolean code used during operand
transfers—BOOL_D, BOOL_SD, BOOL_HD, and BOOL_SHD. The register BOOL_D is
loaded using the SET_BOOL_D graphic order and holds the Boolean code used during
destination only bitBLTs and scanline transfers. BOOL_SD and BOOL_HD are loaded using
the SET_BOOL_SD and SET_BOOL_HD graphic orders. BOOL_SD holds the Boolean
codes used during source, destination bitBLTs.
MOTOROLA
MC68322 USER’S MANUAL
13-1
BOOL_HD holds the Boolean code used during halftone, destination scanline transfers.
BOOL_SHD contains the Boolean code used during source, halftone, destination bitBLTs.
bitBLTs can use BOOL_D, BOOL_SD or BOOL_SHD Boolean codes and scanline transfers
can use BOOL_D or BOOL_HD.
Table 13-1. Graphic Order Organization
TYPE
GRAPHIC ORDER
SET_BBMAP
SET_UBMAP
SET_SBMAP
SET_HTBMAP
SET_BOOL_D
SET_BOOL_HD
SET_BOOL_SD
SET_BOOL_SHD
JUMP
DESCRIPTION
Set Banded Destination Bitmap Parameters.
Initialization
Set Unbanded Destination Bitmap Parameters.
Set Source Bitmap Parameters.
Set Halftone Bitmap Parameters.
Set Boolean Operator For Destination Only Transfers.
Set Boolean Operator For Halftone, Destination Transfers.
Set Boolean Operator For Source, Destination Transfers.
Set Boolean Operator For Source, Halftone, Destination Transfers.
Jump To The Specified Address In The Display List.
Stop Execution Of The Graphic Orders.
Program Flow Control
Bit Block Transfers
STOP
BL2F_D
bitBLT To Frame, Destination Only.
BL2F_SD
bitBLT To Frame Source, Destination.
BL2F_SHD
BL2UB_D
bitBLT To Frame Source, Halftone, Destination.
bitBLT To Unbanded bitmap, Destination Only.
bitBLT To Unbanded bitmap, Source, Destination.
bitBLT To Unbanded bitmap, Source, Halftone, Destination.
bitBLT To Banded bitmap, Destination Only.
BL2UB_SD
BL2UB_SHD
BL2BB_D
BL2BB_SD
BL2BB_SHD
BLT2F_XD
BLT2F_XHD
BLT2UB_XD
BLT2UB_XHD
BLT2BB_XD
BLT2BB_XHD
SL2F_D
bitBLT To Banded bitmap, Source, Destination.
bitBLT To Banded bitmap, Source, Halftone, Destination.
bitBLT To Frame expanded Source, Destination.
bitBLT To Frame expanded Source, Halftone, Destination.
bitBLT To Unbanded bitmap, expanded Source, Destination.
bitBLT To Unbanded bitmap, expanded Source, Halftone, Destination.
bitBLT To Banded bitmap, expanded Source, Destination.
bitBLT To Banded bitmap, expanded Source, Halftone, Destination.
Scanline To Frame, Destination Only.
Expanded Bit Block Transfers
Scanline Transfers
SL2F_HD
Scanline To Frame, Halftone, Destination.
SL2UB_D
Scanline To Unbanded bitmap, Destination Only.
Scanline To Unbanded bitmap, Halftone, Destination.
Scanline To Banded bitmap, Destination Only.
Scanline To Banded bitmap, Halftone, Destination.
SL2UB_HD
SL2BB_D
SL2BB_HD
13-2
MC68322 USER’S MANUAL
MOTOROLA
13.1.2 Program Flow Control
Program flow control graphic orders control the execution order for the display list. JUMP
allows the execution to change to a different point in the display list. During banding, it is
common to build a display list along with several headers. These headers contain a
SET_BBMAP graphic order to set the parameters for the current band and a JUMP graphic
order to move execution to the main body of the display list. The STOP graphic order signals
the end of the display list and normally results in an interrupt to the core.
13.1.3 Bit Block Transfer
Bit block transfer (bitBLT) graphic orders specify a rectangular bitmap transfer. There are
nine different bitBLT graphic orders that provide the nine combinations of destination bitmap
and operand type. Three of these control bitBLTs to frames, three control bitBLTs to
unbanded bit maps, and three control bitBLTs to banded bit maps. These graphic orders rely
on certain parameters being previously set by initialization graphic orders.
13.1.4 Expanded Bit Block Transfer
There are six expanded bitBLT graphic orders that are used to manipulate and transfer low
resolution bitmap images. Two of these control expanded bitBLTs to frames, two control
expanded bitBLTs to unbanded bit maps, and two control expanded bitBLTs to banded bit
maps. These graphic orders rely on certain parameters being previously set by initialization
graphic orders. Expanded bitBLT graphic orders are particularly useful in applications that
regularly receive low resolution bitmap images. Note that the warp of the unexpanded
bitmap is included as an operand of each expanded bitBLT graphic order.
Expanded bitBLT graphic orders can read unexpanded bit maps that are 75 × 75, 100 × 100,
150 × 150, 200 × 200, and 300 × 300 dpi, and expand the images in both the X and Y
dimensions during the transfer to match any combination of 300, 600, or 1200 dpi. This is
accomplished by specifying two expansion factors in the graphic order: one for the X
dimension and one for the Y dimension. An expansion factor of 1, 2, 3, 4, 6, 8, 12, or 16 can
be specified in the X dimension and any value from 1 to 16 in the Y dimension. This allows
a single-step expansion to printer resolutions of 300, 600, and 1200 dpi.
The expanded bitBLT graphic orders support clipping of expanded bit maps, in both the X
and Y dimensions. Clipping in the X dimension is controlled by two graphic order operand
values, XOFF and FW, as illustrated in Figure 13-1. XOFF is an offset in bits from the left
edge of the expanded bitmap and FW is the transfer frame width. Together, XOFF and FW
provide bit-granular control of clipping at the left and right extremes of the expanded bitmap.
When clipping, other graphic order operands may also require adjusting, including the
destination address (DA), halftone address (HA), and halftone X remainder (HXR).
Clipping in the Y dimension is controlled in a similar way with the two graphic order operand
values YOFF and FH. YOFF is an offset in scanlines from the top edge of the expanded
bitmap (or bottom edge, when rendering in bottom to top order) and FH is the transfer frame
height. Together, YOFF and FH provide scanline granular control of clipping at the top and
bottom extents of the expanded bitmap. When clipping, other graphic order operands may
also require adjusting, including the DA, HA, and the halftone Y remainder (HYR).
MOTOROLA
MC68322 USER’S MANUAL
13-3
EXPANDED
SOURCE BITMAP
UNEXPANDED
SOURCE BITMAP
DESTINATION
BITMAP
XMUL
SA
YOFF
DA
FW
FW
DW
Figure 13-1. Controlling Left and Right Clipping of Expanded Bit Maps
13.1.5 Scanline Transfer
Scanline graphic orders differ from bitBLT graphic orders in that the individual scanline runs
describe the transfer and can effectively generate a nonrectangular and unconnected
destination area. There are six different scanline graphic orders that provide the six
combinations of destination bit maps and operand types. Two of these control scanline
transfers to frames, two control scanline transfers to unbanded bit maps, and two control
scanline transfers to banded bit maps.
Each scanline graphic order specifies a pointer to a scanline table. The graphics unit
executes the whole scanline table before continuing to execute the rest of the graphic orders
in the display list. As with the bitBLT graphic orders, the scanline graphic orders rely on
certain parameters being previously set by initialization graphic orders.
13-4
MC68322 USER’S MANUAL
MOTOROLA
13.2 SEQUENCE OF THE DISPLAY LIST
The following is an example of a typical display list illustrating how the initialization graphic
orders work with the bitBLT and scanline graphic orders.
SET_UBMAP
Set parameters for rendering a full page into an unbanded bitmap.
Set the destination only Boolean code to draw in white, and clear the entire page.
Set up for transfer from a font cartridge of a bit mapped font.
Draw the following characters in black.
SET_BOOL_D and BLT2UB_D
SET_SBMAP
SET_BOOL_SD
BLT2UB_SD, BLT2UB_SD, and
BLT2UB_SD
Place three characters on the page.
SET_HTBMAP
SET_BOOL_HD
SL2UB_HD
STOP
Identify a light gray repeating halftone pattern.
Identify a light gray repeating halftone pattern.
Apply the halftone gray pattern during an upcoming transfer.
Render an entire scanline table image in light gray
13.3 GRAPHIC ORDER ADDRESSES
In the following graphic order descriptions, operand lengths for addresses are sometimes
given as a pair of numbers. For example, 28 of 32. This indicates that the address (in this
case a byte address) occupies the least-significant 28 bits of the long-word operand and that
the MC68322 controls the four most-significant bits. For more information on address
constraints for graphic orders, scanline tables, and bit maps see Section 12 Graphic
Operations.
Some graphic orders specify address parameters that must be aligned to byte or word
boundaries. When a byte address is required to be aligned on a word boundary, its least
significant bit should be zero. The MC68322 forces the bit to be zero internally. There are
two combinations of address granularity and alignment used by MC68322 graphic orders.
In the descriptions of graphic orders and definitions of their parameters, the following two
phrases are used:
• Bit address—A 32-bit bitmap address that points to any bit location in memory and
specifies bitmap locations and pixels.
• Byte address, word aligned—A 28-bit word-aligned address that points to any word
location in DRAM space. It is used for referencing graphic order instructions, scanline
tables, and halftone companion tables.
MOTOROLA
MC68322 USER’S MANUAL
13-5
13.3.1 Physical vs Logical Address
For graphic orders that render images to frames or unbanded bit maps, the address
parameters are interpreted as physical addresses and the MC68322 uses them to access
memory directly. In the case of banded bit maps, where only a portion of the physical page’s
image may be present in memory, address parameters are interpreted as logical addresses.
The MC68322 must translate logical addresses to physical space before graphic order
execution begins. Translation information is provided to the MC68322 at the same time the
banded bitmap dimensions are defined (via the SET_BBMAP order). Physical addresses
are translated back to logical addresses when a band fault occurs, so an updated logical
address parameter can be written back to the graphic order.
13.3.2 Duplex Addresses
Based on the value of the bottom-to-top (B2T) parameter in the SET_BBMAP graphic order,
bitBLTs and scanline transfers can be rendered in a top to bottom direction for a 0° page or
in a bottom to top direction for a 180° page. When bit block transferring to a banded bitmap
with the B2T flag set, the definition of certain graphic order parameters change. Namely, the
frame bitmap address parameters DA, SA, and HA must be provided so they are pointing to
the bottom left corners of their respective frames (instead of the upper left) and the HYR
halftone parameter must provide the number of scanlines remaining to reach the top of the
bitmap (instead of the bottom). Figure 13-2 uses the halftone bitmap parameters to illustrate
this requirement.
The parameters of scanline operations are also affected when rendering a page from
bottom-to-top, since scanline and halftone tables must be executed in reverse order when
the B2T flag is set. DA, which normally gives the starting position for the scanline table, must
instead give the address of the pixel just beyond the last run in the scanline table. The
scanline table address, which normally points to the most-significant byte of the first bit string
specifier in the table, must instead point to the most-significant byte of the last word. In
addition, if a halftone is involved, HA, HXR, and HYR must be provided with respect to the
same pixel at the end of the image and halftone table address must point to the
most-significant byte of the last word in the halftone companion table.
Note: in contrast to the order in which the print engine video controller reads an image
from memory. When the B2T bit is set in the PCB control register, the PVC reads
memory in a bottom to top, right to left order, and in doing so, produces an image
that appears rotated 180°.
Unbanded and frame bitmap operations are always rendered in top to bottom order by the
graphics unit, independent of the value of the B2T flag. Notice that for full-page duplex
applications, page images can always be rendered top-to-bottom and then printed 0° or
180° when rotated by the PVC. The B2T flag is important for banded duplex applications
because it allows the bands to be rendered in the reverse order as needed for delivery to
the print engine.
13-6
MC68322 USER’S MANUAL
MOTOROLA
HALFTONE BITMAP,
SHOWN TILED
HALFTONE BITMAP,
SHOWN TILED
HXR
HA
SOURCE
FRAME
SOURCE
FRAME
HYR
HYR
HA
HXR
0°
PAGE
180° PAGE
TOP TO BOTTOM
TOP TO BOTTOM
Figure 13-2. Halftone Specification for bitBLT Operations
13.4 BAND NUMBER AND BAND FAULTS
Each of the MC68322 graphic orders that operate on a banded bitmap contains a band
number parameter. The band number is used by the MC68322 to determine when to
execute the graphic order. Graphic orders whose band numbers match the current band
being rendered are executed. Otherwise, the graphic order is skipped. Band numbers
always increase in value from the top band to the bottom band of the image, regardless of
the type of page (0° or 180°) being rendered. The band number for a graphic order must be
determined by the software. It must be the number of the band where the first scanline of a
graphic order resides when rendering a 0° page or the number of the band where the last
scanline of a graphics order resides when rendering a 180° page.
In banding applications, bitBLT and scanline operations can extend beyond the bottom (or
top, for 180° pages) boundary of a band. The MC68322 detects such band crossings (or
band faults) during the course of the bitBLT or scanline operation. When a band fault occurs,
the operation is prematurely terminated and the MC68322 accesses the display list to
update the graphic order’s parameters, including its band number, bitmap and scanline table
addresses, and frame bitmap heights. The graphic order parameters are written back into
the display list to begin the operation following the point of the band fault at the top (or bottom
for 180° pages) of the next band. The MC68322 automatically adjusts the band number
when the graphic order spans multiple bands. When a band fault occurs, the band number
is incremented or decremented depending on the setting of the B2T flag. If the B2T flag is
clear, the band number is incremented when an operation crosses a band boundary. If the
B2T flag is set, the band number is decremented.
MOTOROLA
MC68322 USER’S MANUAL
13-7
Band faults only occur during graphic orders that operate on banded bit maps. In the
descriptions that follow, parameters updated by the MC68322 as the result of a band fault
are marked with asterisks. In some cases, however, certain parameters will not be updated.
Specifically, this affects source and halftone parameters. If the Boolean code for a two or
three operand graphic order describes a function that does not require a source and/or
halftone operand, then no bitmap is accessed and no parameters will be updated if a band
fault occurs.
13.5 GRAPHIC ORDER DESCRIPTIONS
Table 13-2 contains the graphic orders sorted by opcode value with the page number they
appear on.
Table 13-2. Graphic Orders Sorted by Opcode
OPCODE
0x00
0x01
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
0x10
0x12
0x13
0x14
0x15
0x16
GRAPHIC ORDER
PAGE
13-60
13-41
13-42
13-48
13-47
13-46
13-45
13-45
13-45
13-45
13-23
13-24
13-25
13-54
13-55
13-27
OPCODE
0x17
0x20
0x22
0x23
0x24
0x25
0x26
0x27
0x30
0x32
0x33
0x34
0x35
0x36
0x37
GRAPHIC ORDER
BLT2F_XHD
PAGE
13-29
13-32
13-33
13-34
13-57
13-58
13-36
13-38
13-9
STOP
JUMP
BLT2UB_D
BLT2UB_SD
BLT2UB_SHD
SL2UB_D
SET_BBMAP
SET_UBMAP
SET_SBMAP
SET_HTBMAP
SET_BOOL_D
SET_BOOL_HD
SET_BOOL_SD
SET_BOOL_SHD
BLT2F_D
SL2UB_HD
BLT2UB_XD
BLT2UB_XHD
BLT2BB_D
BLT2BB_SD
BLT2BB_SHD
SL2BB_D
13-11
13-13
13-49
13-51
13-16
13-19
BLT2F_SD
BLT2F_SHD
SL2F_D
SL2BB_HD
BLT2BB_XD
BLT2BB_XHD
SL2F_HD
BLT2F_XD
13-8
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2BB_D
Destination Only bitBLT to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x30
BAND*
DA*
Byte
Byte
Long Word
Word
BLT2BB_D Opcode.
Band number when graphic order is executed.
Destination logical bit address.
Frame width in bits.
FW
FH*
Word
Frame height in scanlines.
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The BLT2BB_D graphic order causes the MC68322 to modify a frame of a destination
banded bitmap. The destination pixels are manipulated as specified by the current BOOL_D
Boolean code. The destination bitmap parameters must have been previously defined by
the SET_BBMAP graphic order.
DA specifies the logical bit address of the area, or transfer frame, that starts in the
destination banded bitmap. The logical bit address is converted to a physical bit address, by
adding the PSUBL value set by the SET_BBMAP graphic order. The start of the transfer
frame must be within the bounds of the banded bitmap, but the end of the transfer frame
may extend past the end of the bitmap. DA must point to the upper left corner of the transfer
frame when the B2T flag is clear and to the lower left corner of the transfer frame when B2T
is set. The warp of the destination banded bitmap is set by the SET_BBMAP graphic order,
which allows the bitmap to be packed or unpacked.
When a band fault is detected, the MC68322 rewrites the graphic order to update some of
its parameters. The BAND number is incremented (or decremented, when the B2T flag is
set), DA is repositioned to the starting pixel of the respective frame to be processed in the
next band and FH is written back with the number of remaining scanlines in the destination
frame.
Related Graphic Orders
SET_BOOL_D
SET_BBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-9
_
DESTINATION
BANDED BITMAP
DWB
DA
BOOL_D APPLIED
TO FRAME
EOBPA
FW
Figure 13-3. Destination bitBLT to Banded Bitmap—0° Page
DESTINATION
BANDED BITMAP
FW
EOBPA
BOOL_D APPLIED
TO FRAME
DA
DWB
Figure 13-4. Destination bitBLT to
Banded Bitmap—180° Page
13-10
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2BB_SD
Source/Destination bitBLT to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x32
BAND*
DA*
Byte
Byte
Long Word
Word
BLT2BB_SD Opcode.
Band number when graphic order is executed.
Destination logical bit address.
Frame width in bits.
FW
FH*
Word
Frame height in scanlines.
SA*
Long Word
Source physical bit address.
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The BLT2BB_SD graphic order causes the MC68322 to bitBLT a source frame to a
destination banded bitmap. The source and destination pixels are combined as specified by
the current BOOL_SD Boolean code. The destination bitmap parameters must have been
previously defined by the SET_BBMAP graphic order. The source frame warp is assumed
to be the FW specified in the BLT2BB_SD graphic order unless a non-zero source bitmap
warp was previously defined by the SET_SBMAP graphic order, in which case the latter is
used.
DA specifies the logical bit address of the area or transfer frame that starts in the destination
banded bitmap. The logical bit address is converted to a physical bit address by adding the
PSUBL value set by the SET_BBMAP graphic order. The start of the transfer frame must be
within the bounds of the banded bitmap, but the end of the transfer frame may extend past
the end of the bitmap. DA must point to the upper left corner of the transfer frame when the
B2T flag is clear and to the lower left corner of the transfer frame when B2T is set. The warp
of the destination banded bitmap is set by the SET_BBMAP graphic order, which allows the
bitmap to be packed or unpacked. The source physical bit address (SA) must point to the
upper left corner of the source frame when the B2T flag is clear and to the lower left corner
of the source frame when the B2T flag is set.
When a band fault is detected, the MC68322 rewrites the graphic order to update some of
the parameters. The BAND number is incremented (or decremented when the B2T flag is
set), DA and SA are repositioned to the starting pixel of the respective frame to be
processed in the next band, and FH is written back with the number of remaining scanlines
in the frame to be transferred.
Related Graphic Orders
SET_BOOL_SD
SET_BBMAP
SET_SBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-11
_
SOURCE BITMAP
SW
DESTINATION
BANDED BITMAP
DWB
SA
DA
BOOL_SD USED
TO COMBINE FRAMES
FW
EOBPA
FW
Figure 13-5. Source/Destination bitBLT
to Banded Bitmap—0° Page
DESTINATION
SOURCE BITMAP
SW
BANDED BITMAP
FW
EOBPA
BOOL_SD USED
TO COMBINE FRAMES
DA
SA
FW
DWB
Figure 13-6. Source/Destination bitBLT
to Banded Bitmap—180° Page
13-12
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2BB_SHD
Source/Halftone/Destination bitBLT to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x33
BAND*
DA*
Byte
Byte
Long Word
Word
BLT2BB_SHD Opcode.
Band number when graphic order is executed.
Destination logical bit address.
Frame width in bits.
FW
FH*
Word
Frame height in scanlines.
SA*
Long Word
Word
Word
Source physical bit address.
Halftone X remainder.
Halftone Y remainder.
HXR
HYR*
HA*
Long Word
Halftone physical bit address of the starting pixel.
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The BLT2BB_SHD graphic order causes the MC68322 to bitBLT a source frame to a
destination banded bitmap and apply a halftone bitmap in the process. The source, halftone,
and destination pixels are combined, as specified by the current BOOL_SHD Boolean code.
The destination bitmap parameters must have been previously defined by the SET_BBMAP
graphic order.
The source frame warp is assumed to be the FW specified in the BLT2BB_SHD graphic
order, unless a non-zero source bitmap warp was previously defined by the SET_SBMAP
graphic order, in which case the latter is used. The halftone bitmap dimensions must have
been previously defined by the SET_HTBMAP graphic order. During the processing of
halftones, wrapping occurs at the edges of the bitmap and this results in horizontal and
vertical replication (tiling) of the bitmap to cover the entire bitBLT frame area.
Halftone tiled patterns are typically anchored to the page. Thus, a bitBLT may need to take
on the halftone pattern starting at various points in the halftone bitmap depending on where
it is being positioned on the page. The halftone parameters HXR, HYR, and HA define the
precise halftone pixel that corresponds to the upper left (or lower left, when the B2T flag is
set) corners of the source and destination frames. HXR specifies the number of pixels
remaining to the right edge of the bitmap and HYR defines the number of scanlines
remaining to the bottom edge (or top edge, when the B2T flag is set). HXR and HYR must
be in the following ranges—1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the
width and height of the halftone bitmap, respectively.
For example, when the B2T flag is clear, if the starting pixel in the halftone bitmap is
determined to be at the upper left, HXR must be set to HW, and HYR to HH. If, instead, a
180° page is being rendered and the B2T flag is set, HXR must still be set to HW, but HYR
must be set to one.
MOTOROLA
MC68322 USER’S MANUAL
13-13
_
DA specifies the logical bit address of the area or transfer frame that begins in the
destination banded bitmap. The logical bit address is converted to a physical bit address, by
adding the PSUBL value set by the SET_BBMAP graphic order. The start of the transfer
frame must be within the bounds of the banded bitmap, but the end of the transfer frame
may extend past the end of the bitmap.
DA must point to the upper left corner of the transfer frame when the B2T flag is clear and
to the lower left corner of the transfer frame when B2T is set. The warp of the destination
banded bitmap is set by the SET_BBMAP graphic order, which allows the bitmap to be
packed or unpacked. The SA must point to the upper left corner of the source frame when
the B2T flag is clear and to the lower left corner of the source frame when the B2T flag is set.
When a band fault is detected, the MC68322 rewrites the graphic order to update some of
its parameters. The BAND number is incremented (or decremented when the B2T flag is
set). DA, SA, and HA are repositioned to the starting pixel of the respective frame to be
processed in the next band. Lastly, FH and HYR are written back with the number of
remaining scanlines in their respective frames to be transferred.
Related Graphic Orders
SET_BOOL_SHD
SET_BBMAP
SET_HTBMAP
SET_SBMAP
13-14
MC68322 USER’S MANUAL
MOTOROLA
_
SOURCE BITMAP
SW
SA
DESTINATION
BANDED BITMAP
DWB
DA
FW
BOOL_SHD USED
TO COMBINE FRAMES
HALFTONE BITMAP
HW
EOBPA
HXR
HA
FW
Figure 13-7. Source/Halftone/Destination
bitBLT to Banded Bitmap—0° Page
SOURCE BITMAP
SW
DESTINATION
BANDED BITMAP
FW
EOBPA
BOOL_SHD USED
TO COMBINE FRAMES
SA
FW
DA
HALFTONE BITMAP
HW
DWB
HXR
HA
Figure 13-8. Source/Halftone/Destination bitBLT to
Banded Bitmap—180° Page
MOTOROLA
MC68322 USER’S MANUAL
13-15
_
BLT2BB_XD
Expanded Source, Destination bitBLT to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x36
BAND*
DA*
Byte
Byte
Long Word
Word
BLT2BB_XD Opcode.
Band number when graphic order is executed.
Destination logical bit address.
FW
Destination frame width in bits.
FH*
SA*
SW
Word
Long Word
Word
Destination frame height in scanlines.
Unexpanded source physical bit address.
Unexpanded source frame warp in bits.
XOFF:XMUL
YOFF*:YMUL
Two 4-bit Fields X offset and X multiplier in bits.
Two 4-bit Fields Y offset and Y multiplier in scanlines.
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The BLT2BB_XD graphic order transfers a low resolution source frame to a destination
banded bitmap. Before being combined with the destination, the source frame is scaled to
match the resolution of the destination bitmap, which results in an intermediate expanded
source bitmap. The pixels of the expanded source and destination bit maps are combined,
as specified by the Boolean code set in the last SET_BOOL_SD order. The destination
bitmap parameters must have been previously defined by the SET_BBMAP graphic order.
DA specifies the logical bit address of the area or transfer frame that begins in the
destination banded bitmap. The logical bit address is converted to a physical bit address by
adding the PSUBL value set by the SET_BBMAP graphic order. The start of the transfer
frame must be within the bounds of the banded bitmap, but the end of the transfer frame
may extend past the end of the bitmap. DA must point to the upper left corner of the transfer
frame when the B2T flag is clear and to the lower left corner of the transfer frame when B2T
is set. The warp of the destination banded bitmap is set by the SET_BBMAP graphic order,
which allows the bitmap to be packed or unpacked.
The FW and FH parameters define the area of the destination bitmap on which the operation
is performed. FW is the frame width in bits and at a maximum equals the quantity
W × (XMUL + 1) where W is the width of the unexpanded source bitmap. FH is the frame
height in scanlines and at a maximum equals the quantity H × (YMUL + 1) where H is the
height of the unexpanded source bitmap. Specifying FW and FH as defined above causes
the entire expanded source image to be combined with the destination bitmap. Specifying
an FW and/or FH value less than the values defined by the above equations causes only a
portion of the expanded source frame to be applied to the destination. When used in
combination with XOFF and YOFF, clipping can be affected at any or all extents of the
expanded source bitmap.
The SA parameter defines the unexpanded source bitmap bit address. It must point to the
upper left corner of the bitmap when the B2T flag is clear and to the lower left corner of the
bitmap when the B2T flag is set. The warp of the unexpanded bitmap is set by the source
width operand. This value is added to SA to locate the beginning of each successive
scanline. Note that the source warp set by the SET_SBMAP graphic order has no effect on
this graphic order.
13-16
MC68322 USER’S MANUAL
MOTOROLA
_
The XOFF:XMUL parameter is divided into two fields. The least-significant four bits contain
the XMUL field, which specifies the factor used to scale the unexpanded source bitmap in
the X dimension. XMUL must equal a specific value from 0–15, which represents a scaling
factor of 1–16. Only certain scaling factors are supported, as defined in Table 13-3. Values
other than those listed are ignored and no X scaling is performed.
Table 13-3. Supported Scaling Factors
EXPANSION FACTOR
XMUL VALUE
1
2
0
1
3
2
4
3
6
5
8
7
12
16
11
15
The XOFF field occupies the four most-significant bits and indicates the number of bits to be
clipped at the left edge of the expanded source bitmap. XOFF ranges from 0–XMUL. If
XOFF is zero, no clipping occurs at the left extent, but if it is non-zero, XOFF number of bits
in the left edge of the expanded bitmap are skipped and the next bit is the first one
transferred to the destination bitmap. The YOFF:YMUL parameter is also divided into two
fields. The least-significant four bits contain the YMUL field, which specifies the factor used
to scale the unexpanded source bitmap in the Y dimension. YMUL can equal any value from
0–15, which represents a scaling factor of 1–16. The YOFF field occupies the four
most-significant bits and indicates the number of scanlines to be clipped at the top or bottom
edge of the expanded source bitmap, depending on the value of the B2T flag. When B2T is
clear, YOFF is defined from the top edge of the source bitmap. When B2T is set, YOFF is
defined from the bottom edge. YOFF ranges from 0–YMUL. If YOFF is zero, no clipping
occurs at the top or bottom extent, but if it is non-zero, YOFF number of scanlines at the top
or bottom edge of the expanded bitmap are skipped and the next scanline is the first line
transferred to the destination bitmap.
A band fault is detected when the transfer frame extends past the end of the destination
bitmap, which is defined by the EOBPA operand in the SET_BBMAP graphic order. When
a band fault is detected, the MC68322 rewrites the graphic order to update its operands. The
BAND number is incremented (or decremented, when the B2T flag is set), DA and SA are
repositioned to the starting pixel of the respective frame to be processed in the next band,
and YOFF is updated according to the current position in the expanded source bitmap.
Lastly, FH is written back with the number of scanlines in the frame to be transferred.
Related Graphic Orders
SET_BOOL_SD
SET_BBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-17
_
UNEXPANDED
SOURCE BITMAP
SA
DESTINATION
BANDED BITMAP
DWB
SW
XMUL
DA
YOFF
BOOL_SD USED
TO COMBINE FRAMES
EOBPA
FW
FW
EXPANDED
SOURCE BITMAP
Figure 13-9. Expanded Source, Destination
bitBLT To Banded Bitmap, 0° Page
UNEXPANDED
SOURCE BITMAP
DESTINATION
BANDED BITMAP
FW
SA
EOBPA
SW
FW
BOOL_SD USED
TO COMBINE FRAMES
DA
DW8
YOFF
XMUL
EXPANDED
SOURCE BITMAP
Figure 13-10. Expanded Source, Destination
bitBLT To Banded Bitmap, 180° Page
13-18
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2BB_XHD
Expanded Source, Halftone, Destination bitBLT to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x37
BAND*
DA*
Byte
Byte
Long Word
Word
BLT2BB_XHD Opcode.
Band number when graphic order is executed.
Destination logical bit address.
FW
Destination frame width in bits.
FH*
SA*
SW
Word
Long Word
Word
Destination frame height in scanlines.
Unexpanded source physical bit address.
Unexpanded source frame warp in bits.
XOFF:XMUL
YOFF*:YMUL
HXR
Two 4-bit Fields X offset and X multiplier in bits.
Two 4-bit Fields Y offset and Y multiplier in scanlines.
Word
Word
Halftone X remainder.
Halftone Y remainder.
HYR*
HA*
Long Word
Halftone physical bit address of the starting pixel.
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The BLT2BB_XHD graphic order transfers a low resolution source frame to a destination
banded bitmap and applies a halftone bitmap in the process. Before being combined with
the destination, the source frame is scaled to match the resolution of the destination bitmap.
This results in an intermediate expanded source bitmap. The pixels of the expanded source,
halftone, and destination bit maps are combined as specified by the Boolean code set in the
last SET_BOOL_SHD order. The destination bitmap parameters must have been previously
defined by the SET_BBMAP graphic order and the halftone bitmap dimensions by the
SET_HTBMAP graphic order. During the processing of halftones, wrapping occurs at the
edges of the bitmap. This results in horizontal and vertical replication (tiling) of the bitmap to
cover the entire destination frame area.
The DA parameter specifies the logical bit address of the area or transfer frame that starts
in the destination banded bitmap. The logical bit address is converted to a physical bit
address by adding the PSUBL value in the SET_BBMAP graphic order. The start of the
transfer frame must be within the bounds of the banded bitmap, but the end of the transfer
frame may extend past the end of the bitmap. DA must point to the upper left corner of the
transfer frame when the B2T flag is clear and to the lower left corner of the transfer frame
when B2T is set. The warp of the destination banded bitmap is set by the SET_BBMAP
graphic order, which allows the bitmap to be packed or unpacked.
The FW and FH parameters define the area of the destination bitmap on which the operation
is performed. FW is the frame width in bits and at a maximum equals the quantity
W × (XMUL + 1) where W is the width of the unexpanded source bitmap. FH is the frame
height in scanlines and at a maximum equals the quantity H × (YMUL + 1) where H is the
height of the unexpanded source bitmap. Specifying FW and FH as defined above causes
the entire expanded source image to be combined with the destination bitmap. Specifying
an FW and/or FH value less than the values defined by the above equations causes only a
portion of the expanded source frame to be applied to the destination. When used in
combination with XOFF and YOFF, clipping can be affected at any or all extents of the
expanded source bitmap.
MOTOROLA
MC68322 USER’S MANUAL
13-19
_
The SA parameter defines the unexpanded source bitmap bit address. It must point to the
upper left corner of the bitmap when the B2T flag is clear and to the lower left corner of the
bitmap when the B2T flag is set. The warp of the unexpanded bitmap is set by the SW
parameter. This value is added to SA to locate the beginning of each successive scanline.
Notice that the source warp set by the SET_SBMAP graphic order has no effect on this
graphic order.
The XOFF:XMUL operand is divided into two fields. The least-significant four bits contain
the XMUL field, which specifies the factor used to scale the unexpanded source bitmap in
the X dimension. XMUL must equal a specific value from 0–15, which represents a scaling
factor of 1–16. Only certain scaling factors are supported, as defined in Table 13-3. Values
other that those listed are ignored and no X scaling is performed. The XOFF field occupies
the four most-significant bits and indicates the number of bits to be clipped at the left edge
of the expanded source bitmap. XOFF ranges from 0–XMUL. If XOFF is zero, no clipping
occurs at the left extent, but if it is non-zero, XOFF number of bits in the left edge of the
expanded bitmap are skipped and the next bit is the first bit transferred to the destination
bitmap. The YOFF:YMUL operand is also divided into two fields. The least-significant four
bits contain the YMUL field, which specifies the factor used to scale the unexpanded source
bitmap in the Y dimension. YMUL can equal any value from 0–15, which represents a
scaling factor of 1–16.
The YOFF field occupies the four most-significant bits in the YOFF:YMUL operand. YOFF
indicates the number of scanlines to be clipped at the top or bottom edge of the expanded
source bitmap, depending on the value of the B2T flag. When B2T is clear, YOFF is defined
from the top edge of the source bitmap. When B2T is set, YOFF is defined from the bottom
edge. YOFF ranges from 0–YMUL. If YOFF is zero, no clipping occurs at the top or bottom
extent, but if it is non-zero, YOFF number of scanlines at the top or bottom edge of the
expanded bitmap are skipped and the next scanline is the first one transferred to the
destination bitmap.
Halftone tiled patterns are typically anchored to the page. Thus, a bitBLT may need to take
on the halftone pattern starting at various points in the halftone bitmap depending on where
it is positioned on the page. The halftone parameters HXR, HYR, and HA define the precise
halftone pixel that corresponds to the upper left (or lower left, when the B2T flag is set)
corners of the source and destination frames. HXR specifies the number of pixels remaining
to the right edge of the bitmap and HYR defines the number of scanlines remaining to the
bottom edge (or top edge, when the B2T flag is set).
13-20
MC68322 USER’S MANUAL
MOTOROLA
_
HXR and HYR must be in the following ranges—1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where
HW and HH are the width and height of the halftone bitmap, respectively. For example,
when the B2T flag is clear, if the starting pixel in the halftone bitmap is determined to be at
the upper left, HXR must be set to HW and HYR to HH. If, instead, a 180° page is rendered
and the B2T flag is set, HXR must still be set to HW, but HYR must be set to one. The HA
parameter defines a physical bit address within the halftone bitmap. HA must point to the
upper left corner of the transfer frame when the B2T flag is clear and to the lower left corner
of the frame when the B2T flag is set. Also, HA must be consistent with HXR and HYR.
A band fault is detected when the transfer frame extends past the end of the destination
bitmap which is defined by the EOBPA operand in the SET_BBMAP graphic order. When a
band fault is detected, the MC68322 rewrites the graphic order to update its operands. The
BAND number is incremented (or decremented, when the B2T flag is set), DA, SA, and HA
are repositioned to the starting pixel of the respective frame to be processed in the next band
and YOFF is updated according to the current position in the expanded source bitmap.
Lastly, FH and HYR are written back with the number of remaining scanlines in their
respective frames to be transferred.
Related Graphic Orders
SET_BOOL_SHD
SET_BBMAP
SET_HTBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-21
_
UNEXPANDED
SOURCE BITMAP
HALFTONE BITMAP
HW
SA
HXR
HA
SW
DESTINATION
BANDED BITMAP
XMUL
DWB
YOFF
DA
BOOL_SHD USED
TO COMBINE FRAMES
FW
EOBPA
FW
EXPANDED
SOURCE BITMAP
Figure 13-11. Expanded Source, Halftone, Destination
bitBLT To Banded Bitmap, 0° Page
HW
SA
HA
HXR
SW
EXPANDED
DESTINATION
SOURCE BITMAP
BANDED BITMAP
FW
FW
EOBPA
BOOL_SHD USED
TO COMBINE FRAMES
YOFF
DA
DWB
XMUL
Figure 13-12. Expanded Source, Halftone, Destination
bitBLT To Banded Bitmap, 180° Page
13-22
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2F_D
Destination Only bitBLT to Frame
PARAMETERS
SIZE
DESCRIPTION
0x10
0x00
DA
Byte
Byte
Long Word
Word
BLT2F_D Opcode.
Reserved.
Destination physical bit address.
Frame width in bits.
FW
FH
Word
Frame height in scanlines.
The BLT2F_D graphic order causes the MC68322 to modify a destination frame bitmap. The
destination pixels are manipulated as specified by the current BOOL_D Boolean code. The
destination bitmap warp is taken to be the FW specified in the BLT2F_D graphic order. The
destination physical bit address (DA) must point to the upper left corner of the frame.
Related Graphic Orders
SET_BOOL_D
DESTINATION
FRAME
DA
BOOL_D APPLIED
TO FRAME
FW
Figure 13-13. Destination
bitBLT to Frame
MOTOROLA
MC68322 USER’S MANUAL
13-23
_
BLT2F_SD
Source/Destination bitBLT to Frame
PARAMETERS
SIZE
DESCRIPTION
0x12
0x00
Byte
Byte
BLT2F_SD Opcode.
Reserved.
DA
FW
FH
SA
Long Word
Word
Word
Destination physical bit address.
Frame width in bits.
Frame height in scanlines.
Source physical bit address.
Long Word
The BLT2F_SD graphic order causes the MC68322 to bitBLT a source frame to a
destination frame. The source and destination pixels are combined as specified by the
current BOOL_SD Boolean code.
The destination bitmap warp is taken to be the FW specified in the BLT2F_SD graphic order.
FW is also assumed to be the source frame warp, unless a non-zero source bitmap warp
was previously defined by the SET_SBMAP graphic order, in which case the latter is used.
The DA and SA parameters must point to the upper left corners of their respective frames.
Related Graphic Orders
SET_BOOL_SD
SET_SBMAP
SOURCE BITMAP
SW
DESTINATION
FRAME
DA
SA
BOOL_SD USED
TO COMBINE FRAMES
FW
FW
Figure 13-14. Source/Destination bitBLT to Frame
13-24
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2F_SHD
Source/Halftone/Destination bitBLT to Frame
PARAMETERS
SIZE
DESCRIPTION
0x13
0x00
DA
Byte
Byte
Long Word
Word
BLT2F_SHD Opcode.
Reserved.
Destination physical bit address.
Frame width in bits.
FW
FH
SA
HXR
HYR
HA
Word
Long Word
Word
Word
Long Word
Frame height in scanlines.
Source physical bit address.
Halftone X remainder.
Halftone Y remainder.
Halftone physical bit address of the starting pixel.
The BLT2F_SHD graphic order causes the MC68322 to bitBLT a source frame to a
destination frame and apply a halftone bitmap in the process. The source, halftone, and
destination pixels are combined as specified by the current BOOL_SHD Boolean code. The
destination bitmap warp is taken to be the FW specified in the BLT2F_SHD graphic order.
FW is also assumed to be the source frame warp, unless a non-zero source bitmap warp
was previously defined by the SET_SBMAP graphic order, in which case the latter is used.
The SET_HTBMAP graphic order must previously define the halftone bitmap dimensions.
During the processing of halftones, wrapping occurs at the edges of the bitmap and results
in horizontal and vertical replication (tiling) of the bitmap to cover the entire bitBLT frame
area.
Halftone tiled patterns are typically anchored to the page. A bitBLT may need to take on the
halftone pattern starting at various points in the halftone bitmap, depending on where it is
positioned on the page. The halftone parameters HXR, HYR, and HA define the precise
halftone pixel that corresponds to the upper left corners of the source and destination
frames. HXR specifies the number of pixels remaining to the right edge of the bitmap and
HYR defines the number of scanlines remaining to the bottom edge. HXR and HYR must be
in the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the width
and height of the halftone bitmap, respectively. For example, if the starting pixel in the
halftone bitmap is determined to be at the upper left, HXR must be set to HW, and HYR to
HH; to start at the lower right, HXR and HYR must both be set to one. The DA, SA, and HA
parameters must point to the upper left corners of their respective frames.
Related Graphic Orders
SET_BOOL_SHD
SET_HTBMAP
SET_SBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-25
_
B
SOURCE BITMAP
SW
DESTINATION
UNBANDED BITMAP
SA
DWU
DA
BOOL_SHD USED
TO COMBINE FRAMES
FW
FW
HALFTONE BITMAP
HW
HXR
HA
Figure 13-15. Source/Halftone/
Destination bitBLT to Frame
13-26
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2F_XD
Expanded Source, Destination bitBLT to Frame
PARAMETERS
SIZE
DESCRIPTION
0x16
0x00
Byte
Byte
BLT2F_XD Opcode.
Reserved.
DA
FW
Long Word
Word
Destination physical bit address.
Destination frame width in bits.
FH
SA
SW
Word
Long Word
Word
Destination frame height in scanlines.
Unexpanded source physical bit address.
Unexpanded source frame warp in bits.
XOFF:XMUL
YOFF:YMUL
Two 4-bit Fields X offset and X multiplier in bits.
Two 4-bit Fields Y offset and Y multiplier in scanlines.
The BLT2F_XD graphic order transfers a low resolution source frame to a destination frame.
Before being combined with the destination, the source frame is scaled to match the
resolution of the destination bitmap. This results in an intermediate expanded source
bitmap. The pixels of the expanded source and destination bit maps are combined as
specified by the Boolean code set in the last SET_BOOL_SD order.
The DA parameter specifies the physical bit address of the destination frame. It must point
to the upper left corner of the destination frame. The destination frame will be packed since
its warp is assumed to equal FW. The FW and FH parameters define the area of the
destination bitmap on which the operation is performed. FW is the frame width in bits and at
a maximum equals the quantity W × (XMUL + 1) where W is the width of the unexpanded
source bitmap. FH is the frame height in scanlines and at a maximum equals the quantity H
× (YMUL + 1) where H is the height of the unexpanded source bitmap. Specifying FW and
FH as defined above causes the entire expanded source image to be combined with the
destination bitmap. Specifying an FW and/or FH value less than the values defined by the
above equations causes only a portion of the expanded source frame to be applied to the
destination. When used in combination with XOFF and YOFF, clipping can be affected at
any or all extents of the expanded source bitmap.
The SA parameter defines the unexpanded source bitmap bit address. It must point to the
upper left corner of the bitmap. The warp of the bitmap is set by the SW operand. This value
is added to SA to locate the beginning of each successive scanline. Note that the source
warp set by the SET_SBMAP graphic order has no effect on this graphic order.
The XOFF:XMUL operand is divided into two fields. The least-significant four bits contain
the XMUL field, which specifies the factor used to scale the unexpanded source bitmap in
the X dimension. XMUL must equal a specific value from 0–15, which represents a scaling
factor of 1–16. Only certain scaling factors are supported, as defined in Table 13-3. Values
other than those listed are ignored and no X scaling is performed.
MOTOROLA
MC68322 USER’S MANUAL
13-27
_
The XOFF field occupies the four most-significant bits and indicates the number of bits to be
clipped at the left edge of the expanded source bitmap. XOFF ranges from 0–XMUL. If
XOFF is zero, no clipping occurs at the left extent, but if it is non-zero, XOFF number of bits
in the left edge of the expanded bitmap are skipped and the next bit is the first one
transferred to the destination bitmap.
The YOFF:YMUL parameter is also divided into two fields. The least-significant four bits
contain the YMUL field, which specifies the factor used to scale the unexpanded source
bitmap in the Y dimension. YMUL can equal any value from 0–15, which represents a
scaling factor of 1–16.
The YOFF field occupies the four most-significant bits and indicates the number of scanlines
to be clipped at the top edge of the expanded source bitmap. YOFF ranges from 0–YMUL.
If YOFF is zero, no clipping occurs at the top or bottom extent, but if it is non-zero, YOFF
number of scanlines at the top edge of the expanded bitmap are skipped and the next
scanline is the first one transferred to the destination bitmap.
Related Graphic Orders
SET_BOOL_SD
UNEXPANDED
SOURCE BITMAP
SA
SW
EXPANDED
SOURCE BITMAP
XMUL
DESTINATION
FRAME
DA
YOFF
BOOL_SD USED
TO COMBINE FRAMES
FW
FW
Figure 13-16. Expanded Source, Destination bitBLT To Frame
13-28
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2F_XHD
Expanded Source, Halftone, Destination bitBLT to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x17
0x00
Byte
Byte
BLT2F_XHD Opcode.
Reserved.
DA
FW
Long Word
Word
Destination physical bit address.
Destination frame width in bits.
FH
SA
SW
Word
Long Word
Word
Destination frame height in scanlines.
Unexpanded source physical bit address.
Unexpanded source frame warp in bits.
XOFF:XMUL
YOFF:YMUL
HXR
Two 4-bit Fields X offset and X multiplier in bits.
Two 4-bit Fields Y offset and Y multiplier in scanlines.
Word
Word
Halftone X remainder.
Halftone Y remainder.
HYR
HA
Long Word
Halftone physical bit address of the starting pixel.
The BLT2F_XHD graphic order transfers a low resolution source frame to a destination
frame and applies a halftone bitmap in the process. Before being combined with the
destination, the source frame is scaled to match the resolution of the destination bitmap,
which results in an intermediate expanded source bitmap. The pixels of the expanded
source, halftone, and destination bit maps are combined as specified by the Boolean code
set in the last SET_BOOL_SHD order. The SET_HTBMAP graphic order must previously
define the halftone bitmap dimensions. During the processing of halftones, wrapping occurs
at the edges of the bitmap and this results in horizontal and vertical replication (tiling) of the
bitmap to cover the entire destination frame area. The DA parameter specifies the physical
bit address of the destination frame. It must point to the upper left corner of the destination
frame. The destination frame will be packed since its warp is assumed to equal FW.
The FW and FH parameters define the area of the destination bitmap on which the operation
is performed. FW is the frame width in bits and at a maximum equals the quantity
W × (XMUL + 1) where W is the width of the unexpanded source bitmap. FH is the frame
height in scanlines and at a maximum equals the quantity H × (YMUL + 1) where H is the
height of the unexpanded source bitmap. Specifying FW and FH as defined above causes
the entire expanded source image to be combined with the destination bitmap. Specifying
an FW and/or FH value less than the values defined by the above equations causes only a
portion of the expanded source frame to be applied to the destination. When used in
combination with XOFF and YOFF, clipping can be affected at any or all extents of the
expanded source bitmap.
The SA parameter defines the unexpanded source bitmap bit address. It must point to the
upper left corner of the bitmap. The warp of the bitmap is set by the SW parameter. This
value is added to SA to locate the beginning of each successive scanline. Note that the
source warp set by the SET_SBMAP graphic order has no effect on this graphic order.
MOTOROLA
MC68322 USER’S MANUAL
13-29
_
The XOFF:XMUL parameter is divided into two fields. The least-significant four bits contain
the XMUL field, which specifies the factor used to scale the unexpanded source bitmap in
the X dimension. XMUL must equal a specific value from 0–15, which represents a scaling
factor of 1–16. Only certain scaling factors are supported, as defined in Table 13-3. Values
other than those listed are ignored and no X scaling is performed.
The XOFF field occupies the four most-significant bits and indicates the number of bits to be
clipped at the left edge of the expanded source bitmap. XOFF ranges from 0–XMUL. If
XOFF is zero, no clipping occurs at the left extent, but if it is non-zero, XOFF number of bits
in the left edge of the expanded bitmap are skipped and the next bit is the first one
transferred to the destination bitmap. The YOFF:YMUL parameter is also divided into two
fields. The least-significant four bits contain the YMUL field, which specifies the factor used
to scale the unexpanded source bitmap in the Y dimension. YMUL can equal any value from
0–15, which represents a scaling factor of 1–16.
The YOFF field occupies the four most-significant bits and indicates the number of scanlines
to be clipped at the top edge of the expanded source bitmap. YOFF ranges from 0–YMUL.
If YOFF is zero, no clipping occurs at the top or bottom extent, but if it is non-zero, YOFF
number of scanlines at the top edge of the expanded bitmap are skipped and the next
scanline is the first one transferred to the destination bitmap.
Halftone tiled patterns are typically anchored to the page. A bitBLT may need to take on the
halftone pattern starting at various points in the halftone bitmap, depending on where it is
positioned on the page. The halftone parameters HXR, HYR, and HA define the precise
halftone pixel that corresponds to the upper left corners of the source and destination
frames. HXR specifies the number of pixels remaining to the right edge of the bitmap and
HYR defines the number of scanlines remaining to the bottom edge. HXR and HYR must be
in the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the width
and height of the halftone bitmap, respectively. For example, if the starting pixel in the
halftone bitmap is determined to be at the upper left, HXR must be set to HW, and HYR to
HH; to start at the lower right, HXR and HYR must be set to one. The HA parameter defines
a physical bit address within the halftone bitmap and must point to the upper left corner of
the transfer frame. HA must be consistent with HXR and HYR.
Related Graphic Orders
SET_BOOL_SHD
SET_HTBMAP
13-30
MC68322 USER’S MANUAL
MOTOROLA
_
UNEXPANDED
SOURCE BITMAP
HALFTONE BITMAP
HW
SA
HA
HXR
SW
EXPANDED
SOURCE BITMAP
XMUL
DESTINATION FRAME
DA
YOFF
BOOL_SHD USED
TO COMBINE FRAMES
FW
FW
Figure 13-17. Expanded Source, Halftone, Destination
bitBLT To Frame
MOTOROLA
MC68322 USER’S MANUAL
13-31
_
BLT2UB_D
Destination Only bitBLT to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x20
0x00
DA
Byte
Byte
Long Word
Word
BLT2UB_D Opcode.
Reserved.
Destination physical bit address.
Frame width in bits.
FW
FH
Word
Frame height in scanlines.
The BLT2UB_D graphic order causes the MC68322 to modify the frame of a destination
unbanded bitmap. The destination pixels are manipulated as specified by the current
BOOL_D Boolean code. The SET_UBMAP graphic order must previously define the
destination bitmap warp. The DA parameter must always point to the upper left corner of the
frame.
Related Graphic Orders
SET_BOOL_D
SET_UBMAP
DESTINATION
UNBANDED BITMAP
DWU
DA
BOOL_D APPLIED
TO FRAME
FW
Figure 13-18. Destination bitBLT
to Unbanded Bitmap
13-32
MC68322 USER’S MANUAL
MOTOROLA
_
BLT2UB_SD
Source/Destination bitBLT to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x22
0x00
DA
FW
FH
Byte
Byte
Long Word
Word
Word
Long Word
BLT2UB_SD Opcode.
Reserved.
Destination physical bit address.
Frame width in bits.
Frame height in scanlines.
Source physical bit address.
SA
The BLT2UB_SD graphic order causes the MC68322 to bitBLT a source frame to a
destination unbanded bitmap. The source and destination pixels are combined as specified
by the current value in the BOOL_SD Boolean code register.
The SET_UBMAP graphic order must previously define the destination bitmap warp. The
source frame warp is assumed to be the FW specified in the BLT2UB_SD graphic order
unless a non-zero source bitmap warp was previously defined by the SET_SBMAP graphic
order, in which case the latter is used. The DA and SA parameters must point to the upper
left corners of their respective frames.
Related Graphic Orders
SET_BOOL_SD
SET_SBMAP
SET_UBMAP
SOURCE BITMAP
DESTINATION
UNBANDED BITMAP
SW
DWU
SA
DA
BOOL_SD USED
TO COMBINE FRAMES
FW
FW
Figure 13-19. Source/Destination bitBLT to Unbanded Bitmap
MOTOROLA
MC68322 USER’S MANUAL
13-33
_
BLT2UB_SHD
Source/Halftone/Destination bitBLT to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x23
0x00
DA
Byte
Byte
Long Word
Word
BLT2UB_SHD Opcode.
Reserved.
Destination physical bit address.
Frame width in bits.
FW
FH
SA
HXR
HYR
HA
Word
Long Word
Word
Word
Long Word
Frame height in scanlines.
Source physical bit address.
Halftone X remainder.
Halftone Y remainder.
Halftone physical bit address of the starting pixel.
The BLT2UB_SHD graphic order causes the MC68322 to bitBLT a source frame to a
destination unbanded bitmap and apply a halftone bitmap in the process. The source,
halftone, and destination pixels are combined as specified by the current value in the
BOOL_SHD Boolean code register.
The SET_UBMAP graphic order must be previously define the destination bitmap warp. The
source frame warp is assumed to be the FW specified in the BLT2UB_SHD graphic order
unless a non-zero source bitmap warp was previously defined by the SET_SBMAP graphic
order, in which case the latter is used. The SET_HTBMAP graphic order must previously
define the halftone bitmap dimensions. During the processing of halftones, wrapping occurs
at the edges of the bitmap and results in horizontal and vertical replication (tiling) of the
bitmap to cover the entire bitBLT frame area.
Halftone tiled patterns are typically anchored to the page. Thus, a bitBLT may need to take
on the halftone pattern starting at various points in the halftone bitmap, depending on where
it is positioned on the page. The halftone parameters HXR, HYR, and HA define the precise
halftone pixel that corresponds to the upper left corners of the source and destination
frames. HXR specifies the number of pixels remaining to the right edge of the bitmap and
HYR defines the number of scanlines remaining to the bottom edge. HXR and HYR must be
in the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the width
and height of the halftone bitmap, respectively. For example, if the starting pixel in the
halftone bitmap is determined to be at the upper left, HXR must be set to HW, and HYR to
HH; to start at the lower right, HXR and HYR must both be set to one. The DA, SA, and HA
parameters must point to the upper left corners of their respective frames.
Related Graphic Orders
SET_BOOL_SHD
SET_HTBMAP
SET_SBMAP
SET_UBMAP
13-34
MC68322 USER’S MANUAL
MOTOROLA
_
SOURCE BITMAP
SW
DESTINATION
UNBANDED BITMAP
SA
DWU
DA
BOOL_SHD USED
TO COMBINE FRAMES
FW
FW
HALFTONE BITMAP
HW
HXR
HA
Figure 13-20. Source/Halftone/Destination
bitBLT to Unbanded Bitmap
MOTOROLA
MC68322 USER’S MANUAL
13-35
_
BLT2UB_XD
Expanded Source, Destination bitBLT to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x26
0x00
Byte
Byte
BLT2UB_XD Opcode.
Reserved.
DA
FW
Long Word
Word
Destination physical bit address.
Destination frame width in bits.
FH
SA
SW
Word
Long Word
Word
Destination frame height in scanlines.
Unexpanded source physical bit address.
Unexpanded source frame warp in bits.
XOFF:XMUL
YOFF:YMUL
Two 4-bit Fields X offset and X multiplier in bits.
Two 4-bit Fields Y offset and Y multiplier in scanlines.
The BLT2UB_XD graphic order transfers a low resolution source frame to a destination
unbanded bitmap. Before being combined with the destination, the source frame is scaled
to match the resolution of the destination bitmap. This results in an intermediate expanded
source bitmap. The pixels of the expanded source and destination bit maps are combined
as specified by the Boolean code set in the last SET_BOOL_SD order. The SET_UBMAP
graphic order must previously define the destination bitmap warp.
The DA parameter specifies the physical bit address of the area or transfer frame within the
destination unbanded bitmap. The entire transfer frame must be within the bounds of the
banded bitmap. DA must point to the upper left corner of the transfer frame. The warp of the
destination unbanded bitmap is set by the SET_UBMAP graphic order, which allows the
bitmap to be packed or unpacked.
The FW and FH parameters define the area of the destination bitmap on which the operation
is performed. FW is the frame width in bits and at a maximum equals the quantity
W × (XMUL + 1) where W is the width of the unexpanded source bitmap. FH is the frame
height in scanlines and at a maximum equals the quantity H × (YMUL + 1) where H is the
height of the unexpanded source bitmap. Specifying FW and FH as defined above causes
the entire expanded source image to be combined with the destination bitmap. Specifying
an FW and/or FH value less than the values defined by the above equations causes only a
portion of the expanded source frame to be applied to the destination. When used in
combination with XOFF and YOFF, clipping can be affected at any or all extents of the
expanded source bitmap.
The SA parameter defines the unexpanded source bitmap bit address. It must point to the
upper left corner of the bitmap. The warp of the bitmap is set by the SW operand. This value
is added to SA to locate the beginning of each successive scanline. Note that the source
warp set by the SET_SBMAP graphic order has no effect on this graphic order.
13-36
MC68322 USER’S MANUAL
MOTOROLA
_
The XOFF:XMUL parameter is divided into two fields. The least-significant four bits contain
the XMUL field, which specifies the factor used to scale the unexpanded source bitmap in
the X dimension. XMUL must equal a specific value from 0–15, which represents a scaling
factor of 1–16. Only certain scaling factors are supported, as defined in Table 13-3. Values
other than those listed are ignored and no X scaling is performed.
The XOFF field occupies the four most-significant bits and indicates the number of bits to be
clipped at the left edge of the expanded source bitmap. XOFF ranges from 0–XMUL. If
XOFF is zero, no clipping occurs at the left extent, but if it is non-zero, XOFF number of bits
in the left edge of the expanded bitmap are skipped and the next bit is the first one
transferred to the destination bitmap. The YOFF:YMUL parameter is also divided into two
fields. The least-significant four bits contain the YMUL field, which specifies the factor used
to scale the unexpanded source bitmap in the Y dimension. YMUL can equal any value from
0–15, which represents a scaling factor of 1–16.
The YOFF field occupies the four most-significant bits and indicates the number of scanlines
to be clipped at the top edge of the expanded source bitmap. YOFF ranges from 0–YMUL.
If YOFF is zero, no clipping occurs at the top or bottom extent, but if it is non-zero, YOFF
number of scanlines at the top edge of the expanded bitmap are skipped and the next
scanline is the first one transferred to the destination bitmap.
Related Graphic Orders
SET_BOOL_SD
SET_UBMAP
UNEXPANDED
SOURCE BITMAP
SA
SW
EXPANDED
SOURCE BITMAP
DESTINATION UNBANDED
BITMAP
XMUL
DWU
YOFF
DA
BOOL_SD USED
TO COMBINE FRAMES
FW
Figure 13-21. Expanded Source, Destination
bitBLT To Unbanded Bitmap
MOTOROLA
MC68322 USER’S MANUAL
13-37
_
BLT2UB_XHD
Expanded Source, Halftone, Destination bitBLT to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x27
0x00
Byte
Byte
BLT2UB_XHD Opcode.
Reserved.
DA
FW
Long Word
Word
Destination physical bit address.
Destination frame width in bits.
FH
SA
SW
Word
Long Word
Word
Destination frame height in scanlines.
Unexpanded source physical bit address.
Unexpanded source frame warp in bits.
XOFF:XMUL
YOFF:YMUL
HXR
Two 4-bit Fields X offset and X multiplier in bits.
Two 4-bit Fields Y offset and Y multiplier in scanlines.
Word
Word
Halftone X remainder.
Halftone Y remainder.
HYR
HA
Long Word
Halftone physical bit address of the starting pixel.
The BLT2UB_XHD graphic order transfers a low resolution source frame to a destination
unbanded bitmap and applies a halftone bitmap in the process. Before being combined with
the destination, the source frame is scaled to match the resolution of the destination bitmap.
This results in an intermediate expanded source bitmap. The pixels of the expanded source,
halftone, and destination bit maps are combined as specified by the Boolean value set in the
last SET_BOOL_SHD order.
The SET_UBMAP graphic order must previously define the destination bitmap warp and the
SET_HTBMAP graphic order must do the same for the halftone bitmap dimensions. During
the processing of halftones, wrapping occurs at the edges of the bitmap and this results in
horizontal and vertical replication (tiling) of the bitmap to cover the entire destination frame
area. The DA parameter specifies the physical bit address of the area or transfer frame
within the destination unbanded bitmap. The entire transfer frame must be within the bounds
of the banded bitmap. DA must point to the upper left corner of the transfer frame. The warp
of the destination unbanded bitmap is set by the SET_UBMAP graphic order, which allows
the bitmap to be packed or unpacked.
The FW and FH parameters define the area of the destination bitmap on which the operation
is performed. FW is the frame width in bits and at a maximum equals the quantity
W × (XMUL + 1) where W is the width of the unexpanded source bitmap. FH is the frame
height in scanlines and at a maximum equals the quantity H × (YMUL + 1) where H is the
height of the unexpanded source bitmap. Specifying FW and FH as defined above causes
the entire expanded source image to be combined with the destination bitmap. Specifying
an FW and/or FH value less than the values defined by the above equations causes only a
portion of the expanded source frame to be applied to the destination. When used in
combination with XOFF and YOFF, clipping can be affected at any or all extents of the
expanded source bitmap.
13-38
MC68322 USER’S MANUAL
MOTOROLA
_
The SA parameter defines the unexpanded source bitmap bit address. It must point to the
upper left corner of the bitmap. The warp of the bitmap is set by the SW operand. This value
is added to SA to locate the beginning of each successive scanline. Note that the source
warp set by the SET_SBMAP graphic order has no effect on this graphic order.
The XOFF:XMUL parameter is divided into two fields. The least-significant four bits contain
the XMUL field, which specifies the factor used to scale the unexpanded source bitmap in
the X dimension. XMUL must equal a specific value from 0–15, which represents a scaling
factor of 1–16. Only certain scaling factors are supported, as defined in Table 13-3. Values
other than those listed are ignored and no X scaling is performed.
The XOFF field occupies the four most-significant bits and indicates the number of bits to be
clipped at the left edge of the expanded source bitmap. XOFF ranges from 0–XMUL. If
XOFF is zero, no clipping occurs at the left extent, but if it is non-zero, XOFF number of bits
in the left edge of the expanded bitmap are skipped and the next bit is the first one
transferred to the destination bitmap. The YOFF:YMUL parameter is also divided into two
fields. The least-significant four bits contain the YMUL field, which specifies the factor used
to scale the unexpanded source bitmap in the Y dimension. YMUL can equal any value from
0–15, which represents a scaling factor of 1–16.
The YOFF field occupies the four most-significant bits and indicates the number of scanlines
to be clipped at the top edge of the expanded source bitmap. YOFF ranges from 0–YMUL.
If YOFF is zero, no clipping occurs at the top or bottom extent, but if it is non-zero, YOFF
number of scanlines at the top edge of the expanded bitmap are skipped and the next
scanline is the first one transferred to the destination bitmap.
Halftone tiled patterns are typically anchored to the page. Thus, a bitBLT may need to take
on the halftone pattern starting at various points in the halftone bitmap, depending on where
it is positioned on the page. The halftone parameters HXR, HYR, and HA define the precise
halftone pixel that corresponds to the upper left corners of the source and destination
frames. HXR specifies the number of pixels remaining to the right edge of the bitmap, and
HYR defines the number of scanlines remaining to the bottom edge. HXR and HYR must be
in the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the width
and height of the halftone bitmap, respectively. For example, if the starting pixel in the
halftone bitmap is determined to be at the upper left, HXR must be set to HW, and HYR to
HH; to start at the lower right, HXR and HYR must both be set to one.
The HA parameter defines a physical bit address within the halftone bitmap and must point
to the upper left corner of the transfer frame. HA must be consistent with HXR and HYR.
Related Graphic Orders
SET_BOOL_SHD
SET_UBMAP
SET_HTBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-39
_
UNEXPANDED
SOURCE BITMAP
HALFTONE BITMAP
HW
SA
HA
HXR
SW
EXPANDED
SOURCE BITMAP
DESTINATION UNBANDED
BITMAP
XMUL
DWU
YOFF
DA
BOOL_SHD USED
TO COMBINE FRAMES
FW
FW
Figure 13-22. Expanded Source, Halftone,
Destination bitBLT to Unbanded Bitmap
13-40
MC68322 USER’S MANUAL
MOTOROLA
JUMP
Jump to Graphic Order
PARAMETERS
SIZE
DESCRIPTION
0x01
0x00
GOA
Byte
Byte
28 of 32 bits
JUMP Opcode.
Reserved.
Graphic order physical byte address.
The JUMP graphic order indicates a new byte address where the display list continues. The
MC68322 updates its internal display list pointer with the address following the graphic order
and resumes execution at this address when it encounters the JUMP graphic order. GOA
must be a word-aligned address, with the least-significant bit equal to zero. If the first bit is
equal to one, the RGP forces it to zero.
MOTOROLA
MC68322 USER’S MANUAL
13-41
_
SET_BBMAP
Set Banded Bitmap Parameters
PARAMETERS
SIZE
DESCRIPTION
0x08
0x00
Byte
Byte
SET_BBMAP Opcode.
Reserved.
BAND
B2T
DWB
Byte
1 of 8 bits
Word
Current band number.
Bottom to top duplex direction.
Destination banded bitmap warp in bits.
PSUBL
EOBPA
Long Word
Long Word
Signed difference between the physical and logical address spaces in bits.
End of band physical bit address.
The SET_BBMAP graphic order specifies the structure of a banded bitmap. The current
band number, render direction, and warp are provided in addition to a signed value for
mapping logical addresses to physical addresses and a physical address indicating the end
of the band buffer. These parameters are used in all subsequent graphic orders that only
operate on a banded bitmap. They do not, however, affect transfers to frames or unbanded
bit maps.
The SET_BBMAP graphic order specifies a current band number to be rendered from the
remainder of the display list. The current band number is used in comparison against the
band numbers found in subsequent bitBLT and scanline graphic orders that operate on the
banded bitmap. The result of each band number comparison determines whether a graphic
order is executed during the current pass of the display list. Note that a banded display list
is executed several times. One pass for each band of the page.
The B2T parameter contains a 1-bit flag to indicate render direction. When the
least-significant bit of the B2T byte is set, all subsequent bitBLT and scanline transfers to
banded bit maps are rendered in bottom-to-top order. In other words, bitBLTs begin at the
bottom-most scanline of each frame and proceed towards the top of the frame. Scanline line
tables are read starting with the last bit string specifier and executed in reverse order. When
the B2T flag is set, the MC68322 expects all starting pixel addresses and table addresses
to point to the bottom or end of their respective operands instead of the top. Graphic orders
that operate on frames or unbanded bit maps are unaffected by the B2T flag and are always
rendered in a forward direction. By rendering in a reverse direction, the bands of a 180° page
can be created in opposite order and transmitted to the print engine to print the back side of
duplex pages. The DWB parameter specifies the destination warp of the banded bitmap.
Note that if the banded bitmap is destined to be printed by the print engine video controller,
the bitmap must adhere to page image requirements. In part, the warp of the bitmap must
equal to 0 mod 16 and the bitmap must not contain any pad words.
13-42
MC68322 USER’S MANUAL
MOTOROLA
_
The value of PSUBL is used to translate the logical destination addresses found in
subsequent banded graphic orders into physical memory addresses. Once mapped to
physical memory space, the graphic transfer can begin. The value for PSUBL can be
computed from the physical address of the current band buffer and the logical address of
the top-most pixel in the band:
PSUBL = buffer addressPHYSICAL – top-most pixel addressLOGICAL
Given PSUBL, the graphics unit can translate logical destination addresses to and from
physical address space using the following calculations:
Map logical into physical: DAPHYSICAL = DALOGICAL + PSUBL
Map physical into logical: DALOGICAL = DAPHYSICAL – PSUBL
The EOBPA parameter is used to detect band faults. The EOBPA address must specify the
first bit outside the banded bitmap buffer. As a graphic transfer proceeds, the current
destination address—a physical address—is compared against EOBPA. If it is found to be
greater than or equal to EOBPA (or, when the B2T flag is set, less than or equal to EOBPA),
a band fault occurs. The transfer is prematurely terminated, the current destination address
is translated back into logical space, and the logical address is written (along with
accompanying parameters) back into the display list.
Related Graphic Orders
BLT2BB_D
BLT2BB_SD
BLT2BB_SHD
BLT2BB_XD
BLT2BB_XHD
SL2BB_D
SL2BB_HD
MOTOROLA
MC68322 USER’S MANUAL
13-43
_
DESTINATION
BANDED BITMAP
DESTINATION
BANDED BITMAP
EOBPA
DWB
BAND NUMBER = BAND
BAND NUMBER = BAND
DWB
EOBPA
180
° PAGE
0
°
PAGE
(B2T = 1)
(B2T = 0)
Figure 13-23. Banded Bitmap Parameters
13-44
MC68322 USER’S MANUAL
MOTOROLA
_
_
SET_BOOL_XXX
Set Boolean Code
PARAMETERS
SIZE
DESCRIPTION
0x0C
BOOL_D
Byte
Byte
SET_BOOL_D Opcode.
Destination-only Boolean code.
0x0D
BOOL_HD
Byte
Byte
SET_BOOL_HD Opcode.
Halftone/Destination-only Boolean code.
0x0E
BOOL_SD
Byte
Byte
SET_BOOL_SD Opcode.
Source/Destination-only Boolean code.
0x0F
BOOL_SHD
Byte
Byte
SET_BOOL_SHD Opcode.
Source/Halftone/Destination Boolean code.
Note: A generalized algorithm for generating the Boolean code values is given inSection 12 Graphic Operations.
The SET_BOOL_D graphic order specifies the Boolean code to be used by all 1-operand
transfer graphic orders that specify only the destination bitmap. The SET_BOOL_HD
graphic order specifies the Boolean code to be used by all 2-operand transfer graphic orders
that specify a halftone bitmap as one of their operands.
The SET_BOOL_SD graphic order specifies the Boolean code to be used by all 2-operand
transfer graphic orders that specify a source bitmap as one of their operands. The
SET_BOOL_SHD graphic order specifies the Boolean code to be used by all 3-operand
transfer graphic orders that specify both a source and halftone bitmap as well as a
destination bitmap as operands.
Related Graphic Orders
FOR SET_BOOL_D
BLT2BB_D
BLT2F_D
FOR SET_BOOL_HD
SL2BB_HD
FOR SET_BOOL_SD
BLT2BB_SD
BLT2F_SD
FOR SET_BOOL_SHD
BLT2BB_SHD
BLT2F_SHD
SL2F_HD
BLT2UB_D
SL2BB_D
SL2UB_HD
BLT2UB_SD
BLT2BB_XD
BLT2F_XD
BLT2UB_SHD
BLT2BB_XHD
BLT2F_XHD
SL2F_D
SL2UB_D
BLT2UB_XD
BLT2UB_XHD
MOTOROLA
MC68322 USER’S MANUAL
13-45
_
SET_HTBMAP
Set Halftone Bitmap Parameters
PARAMETERS
SIZE
DESCRIPTION
0x0B
0x00
HZ
HW
HH
Byte
Byte
Long Word
Word
SET_HTBMAP Opcode.
Reserved.
Halftone bitmap total size in bits.
Halftone bitmap width in bits.
Word
Halftone bitmap height in scanlines.
The SET_HTBMAP graphic order specifies the structure of a halftone bitmap. This graphic
order specifies the width (HW), height (HH), and total size in bits (HZ) of the halftone bitmap.
These parameters are used in all subsequent graphic orders that operate with halftones and
they are dimensional only, meaning that no physical base address is given in the
parameters. Instead, each subsequent graphic order operating with the halftone defines its
own physical starting address in the bitmap, in addition to positional parameters. Both HW
and HH must be in the range 1–65,535 inclusive (zero values are illegal). HZ is always equal
to the product of HW and HH. The halftone bitmap must be packed. The width of the bitmap
can be any value from 1–65,535 bits. A halftone bitmap narrower than 32 bits should be
replicated to at least 32 bits to minimize the cost of replicating the halftone pattern across
wide areas. This type of replication is not necessary in the Y dimension. The MC68322
contains specialized caching hardware to achieve the greatest performance with 32- and
64-bit wide word-aligned halftones.
Related Graphic Orders
BLT2BB_SHD
BLT2F_SHD
BLT2UB_SHD
BLT2BB_XHD
BLT2F_XHD
BLT2UB_XHD
SL2BB_HD
SL2F_HD
SL2UB_HD
HALFTONE BITMAP
HZ = HW x HH
HW
Figure 13-24. Halftone Bitmap Parameters
13-46
MC68322 USER’S MANUAL
MOTOROLA
_
SET_SBMAP
Set Source Bitmap Parameters
PARAMETERS
SIZE
DESCRIPTION
0x0A
0x00
SW
Byte
Byte
Word
SET_SBMAP Opcode.
Reserved.
Source bitmap warp in bits.
The SET_SBMAP graphic order specifies the structure of a source bitmap. The warp of the
bitmap is provided and, if non-zero, is used in all subsequent bitBLT graphic orders that
specify a source bitmap. If the source bitmap warp is set to zero, the width of the destination
frame specified by a subsequent bitBLT graphic order is assumed to be the warp of the
source bitmap. This feature is particularly useful when a series of bitBLT operations are
performed from a font or collection of source frames where each frame has a different width.
By setting the source warp to zero, the SET_SBMAP graphic order does not need to be
included prior to each transfer.
The SW parameter is typically set to a non-zero value when it references a source which is
not packed in memory. This is a common occurrence in bitmapped fonts stored in font
cartridges. Each scanline of a character in a font begins on a word boundary (0 mod 2 byte
address).
Related Graphic Orders
BLT2BB_SD
BLT2F_SD
BLT2UB_SD
BLT2BB_SHD
BLT2F_SHD
BLT2UB_SHD
SOURCE BITMAP
WARP
SOURCE BITMAP
WIDTH
Figure 13-25. Unpacked Source Bitmap
MOTOROLA
MC68322 USER’S MANUAL
13-47
_
SET_UBMAP
Set Unbanded Bitmap Parameters
PARAMETERS
SIZE
DESCRIPTION
0x09
0x00
DWU
Byte
Byte
Word
SET_UBMAP Opcode.
Reserved.
Destination unbanded bitmap warp in bits.
The SET_UBMAP graphic order specifies the structure of an unbanded bitmap. The warp
of the bitmap is provided and is used in all subsequent graphic orders that operate on an
unbanded bitmap. Transfers to frames and banded bit maps are not affected by the DWU
value.
Related Graphic Orders
BLT2UB_D
BLT2UB_SD
BLT2UB_SHD
SL2UB_D
SL2UB_HD
13-48
MC68322 USER’S MANUAL
MOTOROLA
_
SL2BB_D
Destination Only Scanline Transfer to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x34
BAND*
DA*
Byte
Byte
Long Word
28 of 32 bits
SL2BB_D Opcode.
Band number when graphic order is executed.
Destination logical bit address.
SLTA*
Scanline table physical byte address, word aligned.
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The SL2BB_D graphic order causes the MC68322 to render a scanline table image to a
banded bitmap. The destination is manipulated as specified by the Boolean code last set by
the SET_BOOL_D graphic order. The SET_BBMAP graphic order must previously define
the destination banded bitmap parameters.
When the B2T flag is clear, SLTA points to the most-significant byte of the first bit string
specifier in the table and DA refers to the pixel to which the displacement of the first bit string
specifier is added (not necessarily the first bit of the first run). When the B2T flag is set, SLTA
points to the most-significant byte of the last word of the final bit string specifier in the table,
and DA refers to the pixel that lies just past the end of the final bit string specifier run. In
neither case does SLTA point to the 000016 scanline table terminators. Since the scanline
table’s bit string specifiers must be placed at word boundaries, SLTA must be word-aligned.
When a band fault is detected, the MC68322 rewrites the scanline graphic order to update
its parameters. The BAND number is incremented (or decremented when the B2T flag is
set). DA is written back corresponding to the pixel following the last run rendered (or when
the B2T flag is set, the pixel preceding the next bit string specifier’s run) and SLTA points to
the next specifier to be executed when the rest of the scanline table is rendered to the next
band. The contents of the scanline table is left unchanged after a band fault.
Related Graphic Orders
SET_BOOL_D
SET_BBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-49
_
SCANLINE TABLE
DESTINATION
BANDED BITMAP
SLTA
DWB
FIRST
DISPLACEMENT
DA
BITSTRING
SPECIFIERS
0x00
EOBPA
BOOL_D APPLIED
TO FRAME
Figure 13-26. Destination Scanline Transfer to
Banded Bitmap, 0° Page
SCANLINE TABLE
DESTINATION
BANDED BITMAP
EOBPA
0x00
BITSTRING
SPECIFIERS
BOOL_D APPLIED
TO FRAME
DA
DWB
SLTA
Figure 13-27. Destination Scanline Transfer to
Banded Bitmap, 180° Page
13-50
MC68322 USER’S MANUAL
MOTOROLA
_
SL2BB_HD
Halftone/Destination Scanline Transfer to Banded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x35
BAND*
DA*
HXR*
HYR*
HA*
Byte
Byte
Long Word
Word
SL2BB_HD Opcode.
Band number when graphic order is executed.
Destination logical bit address.
Halftone X remainder.
Halftone Y remainder.
Halftone physical address of the starting pixel.
Companion halftone table physical byte address, word aligned.
Scanline table physical byte address, word aligned.
Word
Long Word
28 of 32 bits
28 of 32 bits
HTTA*
SLTA*
Note: * Denotes A Parameter That The MC68322 Updates When The Frame Crosses A Band Boundary.
The SL2BB_HD graphic order causes the MC68322 to render a scanline table image to a
banded bitmap and apply a halftone bitmap in the process. The destination and halftone
pixels are combined as specified by the Boolean code last set by the SET_BOOL_HD
graphic order. The SET_BBMAP graphic order must previously define the destination
banded bitmap parameters and the SET_HTBMAP graphic order must do the same for the
halftone bitmap dimensions.
Halftone tiled patterns are typically anchored to the page. The rendering of a scanline table
may need to take on the halftone pattern starting at various points in the halftone bitmap,
depending on where it is positioned on the page. The halftone parameters HXR, HYR, and
HA define the precise halftone pixel that corresponds to the initial destination address given
in the graphic order. Remember that the initial destination address is not where the first pixel
is drawn—when the B2T flag is clear, it is the point to which the first bit string specifier’s
displacement is added and when the B2T flag is set, the point immediately to the right of the
last bit string specifier’s run.
HXR specifies the number of pixels remaining to the right edge of the bitmap and HYR
defines the number of scanlines remaining to the bottom edge (or top edge, when the B2T
flag is set). HXR and HYR must be in the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤
HH, where HW and HH are the width and height of the halftone bitmap, respectively. For
example, when the B2T flag is clear, if the starting pixel in the halftone bitmap is determined
to be at the upper left, HXR must be set to HW, and HYR to HH; if instead a 180° page is
being rendered and the B2T flag is set, HXR must still be set to HW, but HYR must be set
to one.
MOTOROLA
MC68322 USER’S MANUAL
13-51
_
When the B2T flag is clear, SLTA and HTTA point to the most-significant byte of the first
specifier in their respective tables, and DA, HXR, HYR, and HA refer to the pixel to which
the displacement of the first bit string specifier is added (not necessarily the first bit of the
first run). When the B2T flag is set, SLTA and HTTA point to the most-significant byte of the
last word of the final specifier in their respective tables, and DA, HXR, HYR, and HA refer to
the pixel just past the end of the final bit string specifier run. In neither case does SLTA point
to the 000016 scanline table terminators. Since both the scanline table and companion
halftone table’s bit string specifiers must be placed at word boundaries, HTTA and SLTA
must be word aligned.
When a band fault is detected, the MC68322 rewrites the scanline graphic order to update
most of its parameters. The BAND number is incremented (or decremented when the B2T
flag is set). DA and HA are written back corresponding to the pixel following the last run
rendered (or when the B2T flag is set, the pixel preceding the next bit string specifier’s run)
and HYR is written back with the number of remaining scanlines in the halftone frame to be
transferred. Last, HTTA and SLTA point to the next specifier to be executed when the rest
of the scanline table is rendered to the next band. The contents of the scanline and
companion halftone tables are left unchanged after a band fault.
Related Graphic Orders
SET_BOOL_HD
SET_HTBMAP
SET_BBMAP
13-52
MC68322 USER’S MANUAL
MOTOROLA
_
COMPANION
HALFTONE TABLE
SCANLINE
TABLE
DESTINATION
BANDED BITMAP
SLTA
HTTA
DWB
FIRST
DISPLACEMENT
BITSTRING
SPECIFIERS
HALFTONE
SPECIFIERS
DA
0x00
HALFTONE BITMAP
HW
EOBPA
BOOL_HD USED
TO COMBINE FRAMES
HA
HXR
Figure 13-28. Halftone, Destination Scanline
Transfer to Banded Bitmap, 0° Page
SCANLINE
COMPANION
DESTINATION
TABLE
HALFTONE TABLE
BANDED BITMAP
0x00
EOBPA
HALFTONE
SPECIFIERS
BITSTRING
SPECIFIERS
BOOL_HD
USED TO
COMBINE
FRAMES
DA
HTTA
SLTA
DWB
HALFTONE BITMAP
HW
HXR
HA
Figure 13-29. Halftone, Destination Scanline
Transfer to Banded Bitmap, 180° Page
MOTOROLA
MC68322 USER’S MANUAL
13-53
_
SL2F_D
Destination Only Scanline Transfer to Frame
PARAMETERS
SIZE
DESCRIPTION
0x14
0x00
DA
Byte
Byte
Long Word
Word
SL2F_D Opcode.
Reserved.
Destination physical bit address.
Frame width in bits.
FW
SLTA
28 of 32 bits
Scanline table physical byte address, word aligned.
The SL2F_D graphic order causes the MC68322 to render a scanline table image to a
frame. The destination is manipulated as specified by the Boolean code last set by the
SET_BOOL_D graphic order. The destination frame warp is taken from the graphic order’s
FW parameter.
SLTA points to the most-significant byte of the first bit string specifier in the table (not to the
000016 header) and DA refers to the pixel to which the displacement of the first bit string
specifier is added (not necessarily the first bit of the run). Since the scanline table’s bit string
specifiers must be placed at word boundaries, SLTA must be word-aligned.
Related Graphic Orders
SET_BOOL_D
SCANLINE
TABLE
DESTINATION
FRAME
FW
SLTA
FIRST
DISPLACEMENT
DA
BITSTRING
SPECIFIERS
BOOL_D
APPLIED
TO FRAME
0x00
Figure 13-30. Destination Scanline Transfer to Frame
13-54
MC68322 USER’S MANUAL
MOTOROLA
_
SL2F_HD
Halftone/Destination Scanline Transfer to Frame
PARAMETERS
SIZE
DESCRIPTION
0x15
0x00
DA
Byte
Byte
Long Word
Word
SL2F_HD Opcode.
Reserved.
Destination physical bit address.
FW
Frame width in bits.
HXR
HYR
HA
HTTA
SLTA
Word
Word
Long Word
28 of 32 bits
28 of 32 bits
Halftone X remainder.
Halftone Y remainder.
Halftone physical address of the starting pixel.
Companion halftone table physical byte address, word aligned.
Scanline table physical byte address, word aligned.
The SL2F_HD graphic order causes the MC68322 to render a scanline table image to a
frame and apply a halftone bitmap in the process. The destination and halftone pixels are
combined as specified by the Boolean code last set by the SET_BOOL_HD graphic order.
The destination frame warp is taken from the graphic order’s frame width (FW) parameter.
The SET_HTBMAP graphic order must previously define the halftone bitmap dimensions.
Halftone tiled patterns are typically anchored to the page. The rendering of a scanline table
may need to take on the halftone pattern starting at various points in the halftone bitmap,
depending on where it is positioned on the page. The halftone parameters HXR, HYR, and
HA define the precise halftone pixel that corresponds to the initial destination address given
in the graphic order. Remember that the initial destination address is not where the first pixel
is drawn—it is the point to which the first bit string specifier’s displacement is added.
HXR specifies the number of pixels remaining to the right edge of the bitmap and HYR
defines the number of scanlines remaining to the bottom edge. HXR and HYR must be in
the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the width
and height of the halftone bitmap, respectively. For example, if the starting pixel in the
halftone bitmap is determined to be at the upper left, HXR must be set to HW, and HYR to
HH.
HTTA and SLTA point to the most-significant byte of the first specifier in their respective
tables, and DA, HXR, HYR, and HA refer to the pixel to which the displacement of the first
bit string specifier is added (not necessarily the first bit of the first run). Since both the
scanline table and companion halftone table’s specifiers must be placed at word
boundaries, HTTA and SLTA must be word-aligned.
Related Graphic Orders
SET_BOOL_HD
SET_HTBMAP
MOTOROLA
MC68322 USER’S MANUAL
13-55
_
SCANLINE
COMPANION
DESTINATION
TABLE
HALFTONE TABLE
BANDED BITMAP
SLTA
HTTA
FW
HALFTONE
SPECIFIERS
DA
FIRST
DISPLACEMENT
BITSTRING
SPECIFIERS
BOOL_HD
USED TO
COMBINE
FRAMES
0x00
HALFTONE BITMAP
HW
HXR
HA
Figure 13-31. Halftone, Destination Scanline Transfer to Frame
13-56
MC68322 USER’S MANUAL
MOTOROLA
_
SL2UB_D
Destination Only Scanline Transfer to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x24
0x00
DA
Byte
Byte
Long Word
28 of 32 bits
SL2F_D opcode.
Reserved.
Destination physical bit address.
SLTA
Scanline table physical byte address, word aligned.
The SL2UB_D graphic order causes the MC68322 to render a scanline table image to an
unbanded bitmap. The destination is manipulated as specified by the SET_BOOL_D
graphic order. The SET_UBMAP graphic order must previously define the destination
unbanded bitmap warp.
SLTA points to the most-significant byte of the first bit string specifier in the table (not to the
000016 header) and DA refers to the pixel to which the displacement of the first bit string
specifier is added (not necessarily the first bit of the run). Since the scanline table’s bit string
specifiers must be placed at word boundaries, SLTA must be word aligned.
Related Graphic Orders
SET_BOOL_D
SET_UBMAP
SCANLINE
TABLE
DESTINATION
UNBANDED BITMAP
DWU
SLTA
DA
FIRST
DISPLACEMENT
BITSTRING
SPECIFIERS
BOOL_D
APPLIED
TO FRAME
0x00
Figure 13-32. Destination Scanline Transfer to Unbanded Bitmap
MOTOROLA
MC68322 USER’S MANUAL
13-57
_
SL2UB_HD
Halftone/Destination Scanline Transfer to Unbanded Bitmap
PARAMETERS
SIZE
DESCRIPTION
0x25
0x00
DA
HXR
HYR
HA
Byte
Byte
Long Word
Word
SL2F_HD Opcode.
Reserved.
Destination physical bit address.
Halftone X remainder.
Halftone Y remainder.
Halftone physical address of the starting pixel.
Companion halftone table physical byte address, word aligned.
Scanline table physical byte address, word aligned.
Word
Long Word
28 of 32 bits
28 of 32 bits
HTTA
SLTA
The SL2UB_HD graphic order causes the MC68322 to render a scanline table image to an
unbanded bitmap and apply a halftone bitmap in the process. The destination and halftone
pixels are combined as specified by the Boolean code last set by the SET_BOOL_HD
graphic order. The SET_UBMAP graphic order must previously define the destination
unbanded bitmap warp and the SET_HTBMAP graphic order must do the same for the
halftone bitmap dimensions.
Halftone tiled patterns are typically anchored to the page. Thus, the rendering of a scanline
table may need to take on the halftone pattern starting at various points in the halftone
bitmap, depending on where it is positioned on the page. The halftone parameters HXR,
HYR, and HA define the precise halftone pixel that corresponds to the initial destination
address given in the graphic order. Remember that the initial destination address is not
where the first pixel is drawn—it is the point to which the first bit string specifier’s
displacement is added.
HXR specifies the number of pixels remaining to the right edge of the bitmap and HYR
defines the number of scanlines remaining to the bottom edge. HXR and HYR must be in
the following ranges: 1 ≤ HXR ≤ HW and 1 ≤ HYR ≤ HH, where HW and HH are the width
and height of the halftone bitmap, respectively. For example, if the starting pixel in the
halftone bitmap is determined to be at the upper left, HXR must be set to HW, and HYR to
HH.
HTTA and SLTA point to the most-significant byte of the first specifier in their respective
tables and DA, HXR, HYR, and HA refer to the pixel to which the displacement of the first
bit string specifier is added (not necessarily the first bit of the first run). Since both the
scanline table and companion halftone table’s specifiers must be placed at word
boundaries, HTTA and SLTA must be word-aligned.
Related Graphic Orders
SET_BOOL_HD
SET_HTBMAP
SET_UBMAP
13-58
MC68322 USER’S MANUAL
MOTOROLA
_
SCANLINE
TABLE
COMPANION
HALFTONE TABLE
DESTINATION
UNBANDED BITMAP
SLTA
HTTA
DWU
HALFTONE
SPECIFIERS
DA
FIRST
DISPLACEMENT
BITSTRING
SPECIFIERS
BOOL_HD
USED TO
COMBINE
FRAMES
0x00
HALFTONE BITMAP
HW
HXR
HA
Figure 13-33. Halftone, Destination Scanline
Transfer to Unbanded Bitmap
MOTOROLA
MC68322 USER’S MANUAL
13-59
STOP
Stop Display List Execution
PARAMETERS
SIZE
DESCRIPTION
0x00
0x00
Byte
Byte
STOP Opcode.
Reserved.
The STOP graphic order indicates the end of a display list. The MC68322 RGP halts
execution and generates an RGP done interrupt event when the STOP graphic order is
encountered.
13-60
MC68322 USER’S MANUAL
MOTOROLA
SECTION 14
ELECTRICAL AND THERMAL CHARACTERISTICS
This section contains information on the maximum rating and thermal characteristics for the
MC68322, which is subject to change. For the most recent specifications, contact a Motorola
sales office.
14.1 MAXIMUM RATINGS
This device contains protective circuitry
CHARACTERISTIC
SYMBOL
VALUE
–0.3 to +7.0
–0.3 to +7.0
TBD
UNIT
V
against damage due to high static voltages
or electrical fields. However, it is advised
that normal precautions be taken to avoid
application of any voltages 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
1 2
Supply Voltage
Input Voltage
V
CC
V
in
V
1 2
Maximum Operating Junction Temperature
Minimum Operating Ambient Temperature
Storage Temperature Range
T
J
°C
°C
°C
T
A
0 to 70 ˚ C
–55 to +150
T
stg
(e.g., either GND or V ).
CC
NOTES:
1.
Permanent damage can occur if maximum ratings are exceeded. Exposure to
voltages or currents in excess of recommended values affects device reliability.
Device modules may not operate normally while being exposed to electrical
extremes.
2.
Although sections of the device contain circuitry to protect against damage
from high static voltages or electrical fields, take normal precautions to
Thermal Characteristics
14.2 THERMAL CHARACTERISTICS
CHARACTERISTIC
SYMBOL
VALUE
RATING
C/W
Thermal Resistance, Junction to Case—PGA Package
θ
TBD
°
JC
MOTOROLA
MC68322 USER’S MANUAL
14-1
14.3 DC ELECTRICAL SPECIFICATIONS
CHARACTERISTICS
Input High Voltage
SYMBOL
MIN.
2.0
GND
—
MAX.
UNIT
V
V
V
CC
IH
Input Low Voltage
V
IL
0.8
2.5
20
V
1
Input Leakage Current
I
µ
A
A
IN
Three-State and Open Drain Leakage Current
I
—
µ
TSI
Output High Voltage (I = Rated Maximum) V = 4.75 V
V
2.4
—
—
V
CC
OH
OH
Output Low Voltage (I = Rated Maximum)
OL
V
0.5
TBD
TBD
V
mA
W
OL
2
Current Drain, TA = 70
°
C, V = 5.25V, f = 16.667 MHz
I
—
CC
D
Power Dissipation 16.67 MHz = f
P
D
—
Input Capacitance
All Input-Only Pins
All I/O Pins
C
pF
IN
—
—
10
20
Load Capacitance
C
L
—
80
pF
3
Output Drive Derating Factor
K
L
ns/pF
8 mA Output Pins: (WE, WRU, WRL, RD, D15–D0, CS7–CS0, A25–A1, PRINT,
MD15–MD0, MA10–MA0, I_RESET, I_DTACK, I_CLK1, R/W,
DTACK, BG, AS, DACK, CBSY, CCLK, and CMD/STS)
—
0.09
16 mA Output Pins: (SELECT, RAS5–RAS0, PERROR, PD7–PD0, FAULT, CAS1,
CAS0, BUSY, and ACK)
24 mA Output Pin: (VIDEO)
—
—
0.05
0.04
ICE Bond-Out Option
4 mA Output Pins: (I_DLEN, I_IPL2–I_IPL0, I_HALT, I_BR, and I_AVEC)
—
0.13
NOTES: 1.
Not including internal pull-up.
2.
3.
Currents listed are with no loading.
The output drive derating factor applies only to load capacitance values greater than CL. Output drive derating factors are not accurate
for load capacitance values less than CL or for capacitance greater than 250 pF.
4.
Capacitance is periodically sampled rather than always tested.
14-2
MC68322 USER’S MANUAL
MOTOROLA
14.4 AC ELECTRICAL SPECIFICATIONS
14.4.1 Clock and Reset Timing
NUM
CHARACTERISTIC
MIN
4
MAX
20
—
UNIT
MHz
ns
1 2
Frequency of Operation
CLK2 Period
1
2, 3
4, 5
6
25
8
CLK2 Pulse Width
—
ns
CLK2 Rise and Fall Times
—
20
5
4
ns
3
RESET Pulse Width
—
CLK2s
ns
4
7
RESET Asynchronous Input Setup before CLK2
—
NOTES:
1.
2.
The frequency of operation is equal to one-half the CLK2 frequency.
The MC68322 is a 100% static cell design, and has no absolute lower limit on operating frequency. However, system
requirements, including the minimum DRAM refresh period, require special attention below 4 MHz.
3.
4.
For power-up, the MC68322 must be held in the reset state for 100 ms to allow stabilization of on-chip circuitry. After the system
is powered up, this requirement refers to the minimum pulse width required to reset the processor.
RESET is an asynchronous input and is synchronized internally by the MC68322. It requires no setup or hold time in order to
be recognized for proper operation. However, to guarantee recognition of the input at a certain edge of CLK2, RESETmust
satisfy the setup requirement.
1
2
3
2.0 V
1.5 V
0.8 V
CLK2
4
5
Figure 14-1. Clock AC Timing
CLK2
7
7
RESET
6
Figure 14-2. RESET AC Timing
MOTOROLA
MC68322 USER’S MANUAL
14-3
14.4.2 MC68322 Bus Timing
NUM
8
CHARACTERISTIC
MIN
3
MAX
30
20
20
20
—
UNIT
ns
Address Bus Valid from CLK2, EC000 Cycle
Address Bus Valid from CLK2, DMA Cycle
Data Bus Driven and Valid from CLK2
Data Bus High Impedance from CLK2
Data Bus Setup before CLK2
9
2
ns
10
11
12
13
14
15
16
17
18
2
ns
2
ns
2
ns
Data Bus Hold after CLK2
5
—
ns
CS7–CS0 Valid from CLK2, EC000 Cycle
CS7–CS0 Valid from CLK2, DMA Cycle
RD, WRL, WRU Valid from CLK2
3
30
20
20
—
ns
2
ns
2
ns
WAIT Asynchronous Input Hold after CLK2 *
AS, R/W Valid from CLK2
5
ns
3
30
ns
NOTE: WAIT is an asynchronous input and is synchronized internally by the MC68322. It requires no setup or hold time in order to be
recognized for proper operation. However, to guarantee recognition of the input at a certain edge of CLK2, WAITmust satisfy the hold
requirement.
The timing diagrams that follow illustrate core reads and writes. Figures 14-3 through 14-5
illustrate combinations of chip-select parameters that produce zero wait-state reads on the
EC000 bus. Figures 14-6 through 14-9 illustrate combinations of chip-select parameters that
produce one wait-state reads on the EC000 bus. Figure 14-11 illustrates the only
combination of chip-select parameters that produce zero wait-state writes on the EC000
bus. Figures 14-12 through 14-14 illustrate combinations of chip-select parameters that
produce one wait-state writes on the EC000 bus. The access times for each timing diagram
are shown in parentheses in CLK2s. The numbers within the parentheses are defined as
follows:
(Setup:Access:Hold:Recover)
The Setup value indicates the number of CLK2s between the assertion of the chip-select
and RD, WRU, or WRL. The Access value indicates the number of CLK2s that the RD,
WRU, or WRL signal will remain asserted. The Hold value indicates the number of CLK2s
between the negation of RD, WRU, or WRL and chip-select. Note that some of the access
times are flagged with an asterisk (*) because the access has a hold time of -1 CLK2s. This
situation occurs whenever the “hold” value in one of the chip-select registers is set to zero.
In this case, the chip-select actually negates one CLK2 before the RD, WRU, or WRL. This
is important because for reads in such cases, the data must be set up to the negation of the
chip-select rather than the negation of the RD signal. The Recover value indicates the
number of CLK2s between the negation and reassertion of the chip-select (chip-select high
time.) These timing diagrams are all shown without extra recovery clocks, so the recovery
time for each of the cycles will be 3 CLK2s.
14-4
MC68322 USER’S MANUAL
MOTOROLA
To calculate the total cycle time, add the values in the parentheses. For example, Figure 1-3
shows an access time of (2:2:1:3). The total cycle time for this setup will be 8 CLK2s or 4
CLK1s, which is a zero wait-state access for the core.
S0
S1
S2
S3
S4
S5
S6
S7
S0
S1
S2
S3
CLK2
8
9
A25-A1
9
14
14
CS7-CS0
16
16
RD
13
D15-D0
12
WAIT
AS
18
18
17
18
R/W
EC000 Core Read Cycle AC Timing
Zero Wait State Access
RSET=0; RACC=0; RHLD=1
Figure 14-3. Read Access (2:2:1:3)
S0
S1
S2
S3
S4
S5
S6
S7
S0
S1
S2
S3
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
RD
13a
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
Zero Wait State Access
RSET=0; RACC=1; RHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The RD)
Figure 14-4. Read Access (2:4:–1:3)*
MOTOROLA
MC68322 USER’S MANUAL
14-5
S0
S1
S2
S3
S4
S5
S6
S7
S0
S1
S2
S3
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
RD
13a
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
Zero Wait State Access
RSET=1; RACC=0; RHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The RD)
Figure 14-5. Read Access (4:2:–1:3)
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
13
RD
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
One Wait State Access
RSET=0; RACC=0; RHLD=2
Figure 14-6. Read Access (2:2:3:3)
14-6
MC68322 USER’S MANUAL
MOTOROLA
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
13
RD
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
One Wait State Access
RSET=0; RACC=1; RHLD=1
Figure 14-7. Read Access (2:4:1:3)
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
13
RD
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
One Wait State Access
RSET=1; RACC=0; RHLD=1
Figure 14-8. Read Access (4:2:1:3)
MOTOROLA
MC68322 USER’S MANUAL
14-7
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
RD
13a
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
One Wait State Access
RSET=0; RACC=2; RHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The RD)
Figure 14-9. Read Access (2:6:–1:3)
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
RD
13a
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
One Wait State Access
RSET=1; RACC=1; RHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The RD)
Figure 14-10. Read Access (4:4:–1:3)
14-8
MC68322 USER’S MANUAL
MOTOROLA
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
RD
13a
D15-D0
12
WAIT
AS
18
17
18
18
R/W
EC000 Core Read Cycle AC Timing
One Wait State Access
RSET=2; RACC=0; RHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The RD)
Figure 14-11. Read Access (6:2:-1:3)
S0
S1
S2
S3
S4
S5
S6
S7
S0
S1
S2
S3
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
11
WRU, WRL
D15-D0
10
WAIT
AS
18
17
18
18
R/W
EC000 Core Write Cycle AC Timing
Zero Wait State Access
WSET=1; WACC=0; WHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The RD)
Figure 14-12. Write Access (4:2:–1:3)
MOTOROLA
MC68322 USER’S MANUAL
14-9
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
11
18
A25-A1
14
14
9
CS7-CS0
16
16
WRU, WRL
D15-D0
10
WAIT
AS
18
17
18
R/W
EC000 Core Write Cycle AC Timing
One Wait State Access
WSET=1; WACC=0; WHLD=1
Hold Time of -1 CLK2s (The Chip-Select Negates Before The wru/wrl
Figure 14-13. Write Access (4:2:1:3)
S0
S1
S2
S3
S4
W
W
S5
S6
S7
S0
S1
CLK2
8
9
A25-A1
14
14
9
CS7-CS0
16
16
11
WRU, WRL
D15-D0
10
WAIT
AS
18
17
18
18
R/W
EC000 Core Write Cycle AC Timing
One Wait State Access
WSET=1; WACC=1; WHLD=0
Hold Time of -1 CLK2s (The Chip-Select Negates Before The WRU/WRL
Figure 14-14. Write Access (4:4:–1:3)
14-10
MC68322 USER’S MANUAL
MOTOROLA
S0
S1
S2
S3
S4
S5
S6
S7
W
S0
CLK2
9
9
A25–A1
15
15
CS7–CS0
RD
16
16
12
13
D15–D0
WAIT
AS
17
18
18
18
R/W
Figure 14-15. DMA Read Cycle AC Timing
S0
S1
S2
S3
S4
W
W
S5
S6
S7
W
CLK2
9
A25–A1
15
15
CS7–CS0
16
16
10
WRU, WRL
11
D15–D0
WAIT
AS
17
18
18
R/W
Figure 14-16. DMA Write Cycle AC Timing
MOTOROLA
MC68322 USER’S MANUAL
14-11
14.4.3 DRAM Timing
NUM
CHARACTERISTIC
MIN
2
MAX
25
20
20
20
—
UNIT
ns
19
20
MA10–MA0 Row Address Valid from CLK2
MA10–MA0 Column Address Valid from CLK2
2
ns
21
MD15–MD0 Driven and Valid from CLK2
MD15–MD0 High Impedance from CLK2
MD15–MD0 Setup before CLK2
MD15–MD0 Hold after CLK2
2
ns
22
2
ns
23
5
ns
23A
24
5
—
ns
RAS5–RAS0, CAS1–CAS0 Valid from CLK2
WE Valid from CLK2
2
14
20
ns
25
2
ns
CLK2
19
20
24
20
19
MA10–MA0
24
24
RAS5–RAS0
CAS1–CAS0
MD15–MD0
WE
24
23A
23
22
25
Figure 14-17. DRAM Read Cycle AC Timing
CLK2
MA10–MA0
RAS5–RAS0
CAS1–CAS0
MD15–MD0
WE
20
20
19
24
19
24
24
24
24
21
22
21
25
21
25
Figure 14-18. DRAM Write Cycle AC Timing
14-12
MC68322 USER’S MANUAL
MOTOROLA
14.4.4 IDMA Timing
NUM
CHARACTERISTIC
MIN
2
MAX
20
UNIT
ns
26
27
28
DACK Valid from CLK2
*
DREQ Asynchronous Input Hold after CLK2
DREQ Asynchronous Input Pulse Width
5
—
ns
2
—
CLK2s
NOTE: * Denotes that DREQ is an asynchronous input and is synchronized internally by the MC68322. It requires no setup or hold time to be
recognized for proper operation. However, to guarantee recognition of the input at a certain edge of CLK2, DREQ must satisfy the hold
requirement.
CLK2
27
27
28
DREQ
DACK
26
26
Figure 14-19. DMA Request/Acknowledge AC Timing
MOTOROLA
MC68322 USER’S MANUAL
14-13
14.4.5 Print Engine Interface Timing
NUM
29
CHARACTERISTIC
MIN
16
8
MAX
—
UNIT
CLK2s
CLK2s
ns
1
CCLK Period
1
CCLK Pulse Width
30
—
2
CCLK, CMD/STS, SBSY, STS Asynchronous Input Hold after CLK2
31
5
—
32
CCLK, CBSY, CMD/STS Valid from CLK2
CCLK, CBSY, CMD/STS Driven from CLK2
CCLK, CBSY, CMD/STS High Impedance from CLK2
Frequency of Operation
2
20
20
20
ns
33
2
ns
34
2
ns
MHz
1×
Mode
—
—
25
80
PLL Mode
35
VCLK Period
ns
ns
ns
ns
1×
Mode
40
—
—
PLL Mode
12.5
36,37
VCLK Pulse Width
1
×
Mode
8
4
—
—
PLL Mode
38, 39 VCLK Rise and Fall Times
1
×
Mode
—
—
8
8
PLL Mode
3 4
FSYNC, LSYNC Asynchronous Input Hold after VCLK
40
1× Mode (FSYNC only)
PLL Mode
5
5
—
—
5 6
LSYNC Setup before VCLK
41
42
43
5
5
—
—
ns
ns
5 6
LSYNC Hold after VCLK
6
FSYNC, LSYNC Pulse Width
dots
1× Mode
PLL Mode
2
2
—
—
44
PRINT Valid from CLK2
2
20
ns
NOTES:
1.
2.
Applies only when CCLK is configured as an input.
CCLK and CMD/STS when configured as inputs, and SBSY and STS, are asynchronous inputs and are synchronized internally by
the MC68322. They require no setup or hold time in order to be recognized for proper operation. However, to guarantee recognition
of an input at a certain edge of CLK2, the input must satisfy the hold requirement.
3.
FSYNC (in 1× or PLL mode) and LSYNC (in PLL mode only) are asynchronous inputs and are synchronized internally by the
MC68322. They require no setup or hold time to be recognized for proper operation. However, to guarantee recognition of an input
at a certain edge of CLK2, the input must satisfy the hold requirement.
4.
5.
6.
The specification is relative to the edge of VCLK selected by the VCP bit in the PVCCR.
LSYNC is a synchronous input when the PVC operates in 1
× mode.
The minimum pulse widths for FSYNC and LSYNC depend on the video dot rate, and is specified in video dot periods (dots). In 1
×
mode, the video dot period is equal to the VCLK period. In PLL mode, the video dot period is determined by the VCLK period and
the configuration of the PLL.
14-14
MC68322 USER’S MANUAL
MOTOROLA
CLK2
CBSY
33
34
32
32
CCLK
CMD/STS
Figure 14-20. Print Engine Interface Input AC Timing
CLK2
31
31
SBSY
29
30
CCLK
30
31
CMD/STS,
Figure 14-21. Print Engine Interface Output AC Timing
35
36
37
2.0 V
1.5 V
0.8 V
VCLK
38
39
Figure 14-22. Video Clock AC Timing
MOTOROLA
MC68322 USER’S MANUAL
14-15
VCLK
40
40
43
43
FSYNC
LSYNC
(PLL MODE)
42
41
LSYNC
(1X MODE)
41
43
Figure 14-23. PVC AC Timing
CLK2
44
44
PRINT
Figure 14-24. Print Engine Interface AC Timing
14.4.6 Interrupt Timing
NUM
45
CHARACTERISTIC
MIN
5
MAX
—
UNIT
ns
IRQ1–IRQ0 Asynchronous Input Hold after CLK2
IRQ1–IRQ0 Pulse Width
46
2
—
CLK2s
NOTE IRQ1–IRQ0 are asynchronous inputs and are synchronized internally by the MC68322. They require no setup or hold time to be
recognized for proper operation. However, to guarantee recognition of an input at a certain edge of CLK2, the input must satisfy the
hold requirement.
CLK2
45
IRQ0–IRQ1
46
Figure 14-25. Interrupt Interface AC Timing
14-16
MC68322 USER’S MANUAL
MOTOROLA
14.4.7 Parallel Port Interface Timing
NUM
47
CHARACTERISTIC
PD7–PD0, ACK, BUSY, SELECT, PERROR, FAULT Output Valid from CLK2
PD7–PD0 Driven from CLK2
MIN
2
MAX
20
UNIT
ns
48
2
20
ns
49
PD7–PD0 High Impedance from CLK2
2
20
ns
50
PD7–PD0, SELECTIN, STROBE, AUTOFD, INIT Asynchronous Input Hold
after CLK2 *
5
—
ns
NOTE: * Denotes that PD7–PD0, SELECTIN, STROBE, AUTOFD, INIT are asynchronous inputs and are synchronized internally by the
MC68322. They require no setup or hold time to be recognized for proper operation. However, to guarantee recognition of an input at
a certain edge of CLK2, the input must satisfy the hold requirement.
CLK2
50
SELECTIN, STROBE,
AUTOFD, INIT, &
PD7–PD0 (INPUT)
47
ACK, BUSY, SELECT,
PERROR, & FAULT
49
48
PD7–PD0 (OUTPUT)
Figure 14-26. Parallel Port Interface AC Timing
MOTOROLA
MC68322 USER’S MANUAL
14-17
14.4.8 External Bus Master Timing
NUM
51
52
53
54
55
56
57
58
59
60
61
62
63
64
CHARACTERISTIC
MIN
2
MAX
20
20
20
20
10
—
—
—
20
—
4
UNIT
ns
BG Valid from CLK2
Address Bus, AS, R/W Driven from CLK2
Address Bus, AS, R/W High Impedance from CLK2
DTACK Low from CLK2
2
ns
2
ns
2
ns
DTACK High from AS High
0
ns
AS, BR Asynchronous Input Hold after CLK2 *
Address Bus, R/W Setup before AS Low
Address Bus, AS, R/W Hold after DTACK Low
Data Bus Valid from CLK2 (Read Cycle)
Data Bus High Impedance after DTACK High (Read Cycle)
Data Bus Valid after AS Low (Write Cycle)
Data Bus Hold after DTACK Low (Write Cycle)
BR High after AS Low (Hold Time)
5
ns
0
ns
0
ns
2
ns
0
ns
—
0
CLK2s
ns
—
—
—
0
ns
AS Width High
2
CLK2s
NOTE: * Denotes that AS and BR are asynchronous inputs and are synchronized internally by the MC68322. They require no setup or hold
time to be recognized for proper operation. However, to guarantee recognition of an input at a certain edge of CLK2, the input must
satisfy the hold requirement.
CLK2
56
56
BR
BG
51
53
51
52
58
57
A25–A1
AS
R/W
59
60
D15–D0
DTACK
55
54
Figure 14-27. External Bus Master Read Cycle AC Timing
14-18
MC68322 USER’S MANUAL
MOTOROLA
CLK2
BR
56
56
51
53
51
52
BG
58
57
A25–A1
AS
R/W
61
62
D15–D0
DTACK
54
55
Figure 14-28. External Bus Master Write Cycle AC Timing
CLK2
BR
56
56
63
51
BG
53
56
56
AS
Figure 14-29. External Bus Master Bus Arbitration AC Timing
CLK2
BR
56
51
BG
56
53
AS
64
Figure 14-30. External Bus Master Multiple Cycle AC Timing
MOTOROLA
MC68322 USER’S MANUAL
14-19
SECTION 15
ORDERING INFORMATION AND MECHANICAL DATA
This section contains MC68322 ordering information, pin assignments, and package
dimensions.
15.1 ORDERING INFORMATION
The following table provides ordering information pertaining to the MC68322 package types,
frequencies, temperatures, and Motorola order numbers.
PACKAGE TYPE
FREQUENCY
TEMPERATURE
0 to 70
ORDER NUMBER
160 Pin QFP
FT Suffix
25 MHz
20 MHz
°
C
MC68322FT25
MC68322FT20
MC68322FT16
16.667 MHz
15.2 PIN ASSIGNMENT
The following illustrates the MC68322 pin assignments for the 160 PQFP package.
MOTOROLA
MC68322 USER’S MANUAL
15-1
120
121
81
MD0
80
STS
MA10
CCLK
GND
DREQ
DACK
A1
V
CC
MA9
MA8
MA7
MA6
A2
MA5
GND
MA4
A3
A4
V
CC
MA3
MA2
MA1
A5
A6
A7
V
A8
CC
MA0
GND
A9
HI-Z
A10
A11
A12
A13
SELECTIN
GND
AUTOFD
FAULT
MC68322
(TOP VIEW)
SELECT
INIT
V
CC
A14
A15
A16
A17
A18
GND
A19
A20
A21
A22
A23
PERROR
V
CC
BUSY
ACK
PD7
PD6
GND
PD5
PD4
PD3
V
V
CC
CC
PD2
PD1
PD0
A24
A25
GND
D0
STROBE
RESET
TEST
D1
D2
160
1
41
D3
IRQ1
40
Figure 15-1. MC68322 160-Lead Plastic Quad Flat Pack (PQFP)
15-2
MC68322 USER’S MANUAL
MOTOROLA
15.3 MECHANICAL DATA
L
Y
120
81
121
80
L
B
V
DETAIL "A"
B
A
P
DETAIL "A"
A, B, D
Z
41
160
DETAIL "C"
W
40
1
D
A
M
S
S
S
0.20 (0.008)
H
A – B
D
D
U
0.50 (0.002) A – B
S
H
DATUM
PLANE
M
S
0.20 (0.008)
H
A – B
R
A
Q
T
M
M
C
E
DETAIL "C"
A
K
DATUM
PLANE
H
X
C
SEATING
PLANE
.010 (0.004)
H
G
SECTION "AA"
F
MILLIMETERS
DIM MIN
MAX
INCHES
MILLIMETERS
INCHES
MIN MAX
0.0128 BSC
0°
7°
0.30 0.005 0.012
MIN MAX DIM MIN
MAX
A
B
C
D
E
F
27.90 28.10 1.098 1.106
27.90 28.10 1.098 1.106
P
Q
R
S
T
U
V
W
X
Y
Z
0.325 BSC
0°
7°
J
N
3.45
0.28
3.20
0.28
3.85 0.136 0.152
0.42 0.011 0.017
3.56 0.126 0.140
0.34 0.011 0.013
0.13
31.00 31.40 1.220 1.236
0.13
0°
—
—
0.005
0°
—
—
BASE METAL
D
G
H
J
K
L
0.65 BSC
0.0256 BSC
0.35 0.010 0.014
0.18 0.0043 0.0071
0.90 0.027 0.036
31.00 31.40 1.220 1.236
0.40 0.016
0.25
0.11
0.70
—
—
M
S
S
D
0.08 (0.003)
C
A – B
1.60 REF
1.325 REF
1.325 REF
0.063 REF
0.0522 REF
0.0522 REF
25.35 REF
0.998 REF
5° 9°
0.14 0.0043 0.0055
M
N
5°
0.11
9°
NOTES:
1. Dimensioning and tolerancing per ANSI Y14.5M, 1982.
2. Controlling dimension: millimeter.
3. Datum plane –H– is located at bottom of lead and is coincident with the lead where the lead exits the plastic body at the bottom of the parting line.
4. Datums A, B, and D to be determined at datum plane –H–.
5. Dimensions S and V to be determined at seating plane –C–.
6. Dimensions A and B do not include mold protrusion. Allowable protrusion is 0.25 (.010) per side. Dimensions A and B do include mold mismatch
and are determined at datum plane –H–.
7. Dimension D does not include dambar protrusion. Allowable dambar protrusion shall be 0.08 (.003) total in excess of the D dimension at maximum
material condition. Dambar cannot be located on the lower radius or the foot.
Figure 15-2. 160 Pin QFP Package Dimensions
MOTOROLA
MC68322 USER’S MANUAL
15-3
APPENDIX A
IN-CIRCUIT EMULATION INTERFACE
This section describes an in-circuit emulation (ICE) device and interface board for the
MC68322. A special in-circuit emulation board-out package is available to provide a
full-featured emulation device while using standard M68000 emulators. The ICE device
uses a 208-pin grid array (PGA) package instead of the production version 160-pin plastic
quad flat pack (PQFP). These extra pins, which connect to the MC68322’s ICE device,
interface between the logic board containing a MC68322 PQFP and a standard MC68000
ICE. The ICE interface contains a PGA connector for the logic board, the MC68322 ICE, a
small amount of logic, and a connector for an MC68000 ICE with some minor modifications.
A.1 ICE INTERFACE SIGNALS
The following pins are used to connect the MC68322 to an ICE. The ICE bond-out is for
engineering use only and should not be used in production. The ICE option aids in the reuse
of existing emulators for standard M68000 Family processors. Some of these signals are
dedicated to this interface and only appear on the ICE bond-out package. In addition, some
of these signals are used by the processor bus and an external bus master interface. The
direction of the pins is from the perspective of the MC68322. Table A-1 lists a summary of
the ICE interface signals.
Table A-1. ICE Interface Signal Summary
INPUT/
OUTPUT
ACTIVE
STATE
SIGNAL NAME
Clock (Internal)
MNEMONIC
ON BG
ON HI-Z
I_CLK1
I_A(27–26)
I_AVEC
I_BG
Output
Input
—
No
—
No
—
ICE Address Bits
—
ICE Auto Vector
Output
Input
Low
Low
Low
Low
Low
Low
—
No
—
No
—
ICE Bus Grant
ICE Bus Request
ICE Enable
I_BR
Output
Input
No
—
No
—
ICEN
ICE Data Latch Enable
ICE Data Transfer Acknowledge
ICE Function Code
ICE Processor Halt
I_DLEN
I_DTACK
I_FC(2–0)
I_HALT
Output
Output
Input
No
No
—
No
No
—
Output
Low
No
No
MOTOROLA
MC68322 USER’S MANUAL
A-1
u
u
Table A-1. ICE Interface Signal Summary (Continued)
INPUT/
OUTPUT
ACTIVE
STATE
SIGNAL NAME
MNEMONIC
ON BG
ON HI-Z
ICE Lower Data Strobe
ICE Interrupt Priority Level
ICE RESET
I_LDS
I_IPL2–I_ IPL0
I_RESET
Input
Output
Output
Input
Low
Low
Low
Low
—
No
No
—
—
No
No
—
ICE Upper Data Strobe
I_UDS
A.1.1 ICE Signal Descriptions
I_CLK1
INTERNAL CLOCK—Output. This signal is used for a 1× clock that is a buffered version of
the clock to the MC68EC000 core processor. Typically, this signal is connected directly to
the MC68000 ICE clock pin.
I_A27–I_A26
INTERNAL ADDRESS—Input. These signals are address bits that expand the addressing
capability of the MC68EC000 core. They are used by the internal system integration module,
internal registers, and DRAM accesses. For the most part, these signals will not be used and
should be pulled low.
I_UDS, I_LDS
INTERNAL UPPER AND LOWER DATA STROBE—Input. These active low input signals
control the flow of data on the data bus, as specified in Table A-2. When R/W is high, the
processor reads from the data bus as indicated and when it is low, the processor writes to
the data bus. Typically, these signals are connected directly to the MC68000 ICE.
Table A-2. Data Strobe Control of Data Bus
I_UDS
High
Low
I_LDS
High
Low
R/W
—
D15–D8
No Valid Data
D7–D0
No Valid Data
High
High
High
Low
Low
Low
Valid Data Bits (Read) 15–8
No Valid Data
Valid Data Bits (Read) 7–0
Valid Data Bits (Read) 7–0
No Valid Data
High
Low
Low
High
Low
Valid Data Bits (Read) 15–8
Valid Data Bits (Write) 15–8
Valid Data Bits (Write) 7–0*
Valid Data Bits (Write) 15–8
Low
Valid Data Bits (Write) 7–0
Valid Data Bits (Write) 7–0
Valid Data Bits (Write) 15–8*
High
Low
Low
High
NOTE: * Denotes That These Conditions Are A Result Of Current Implementation And May
Not Appear On Future Devices.
A-2
MC68322 USER’S MANUAL
MOTOROLA
u
u
I_IPL2–I_IPL0
INTERNAL INTERRUPT PRIORITY LEVEL—Output. These three active low outputs
indicate the encoded priority level of the device requesting an interrupt. Level 7 is the highest
priority while level 0 indicates that no interrupts are requested. Level 7 cannot be masked.
The least-significant bit is provided in I_IPL0 and the most-significant bit is contained in
I_IPL2. Typically, these signals are connected directly to the MC68000 ICE.
I_FC2–I_FC0
INTERNAL FUNCTION CODE—Input. These function code input signals indicate the
processing mode, user or supervisor, and the cycle type currently being executed (see
Table A-3). The information indicated by the function code outputs is valid whenever AS is
active. The function code signals are internal signals used to decode an interrupt
acknowledge bus cycle. Typically, these signals are connected directly to the MC68000 ICE.
Table A-3. Function Code Outputs
FUNCTION CODE
OUTPUT
CYCLE TIME
I_FC2 I_FC1
I_FC0
Low
Low
Low
Low
Low
High
High
High
High
Low
Low
High
High
Low
Low
High
High
Undefined, Reserved
User Data
High
Low
User Program
High
Low
Undefined, Reserved
Undefined, Reserved
Supervisor Data
High
Low
Supervisor Program
Interrupt Acknowledge
High
I_BR
INTERNAL BUS REQUEST—Output. This signal is used by the internal bus arbitration
control logic. It should be connected directly to the M68000 emulator BR signal.
I_BG
INTERNAL BUS GRANT—Input. This signal is used by the internal bus arbitration control
logic. It should be connected directly to the M68000 emulator BG signal.
I_AVEC
INTERNAL AUTOVECTOR—Output. This signal is used by an emulator to assert the
I_AVEC signal during an interrupt acknowledge cycle. It should be connected directly to the
M68000 emulator AVEC or VPA signal.
MOTOROLA
MC68322 USER’S MANUAL
A-3
u
u
I_RESET
INTERNAL RESET—Output. This signal is used by an emulator to assert the RESET signal.
Typically this signal is connected directly to the MC68000 ICE.
I_HALT
INTERNAL HALT—Output. This signal is used to assert the emulator HALT signal. It should
be connected directly to the M68000 emulator HALT signal.
I_DLEN
ICE DATA LATCH ENABLE—Output. This signal is used by external latches to latch
incoming data before being sent to the emulator.
ICEN
ICE ENABLE—Input. This signal should be asserted during in circuit emulation because it
will force the MC68322 to act as a slave device to an external M68000 processor. It must be
asserted or negated before the negation of RESET and remain that way during operation.
A.2 ICE ADAPTOR BOARD DESIGN
In a typical system, the logic board contains an MC68322 and a PGA connector around the
160-pin QFP MC68322. The PGA connects directly to all the signals of the MC68322. The
user plugs the ICE interface into this PGA connector, which asserts the HI-Z input pin on the
MC68322 on the logic board, thereby forcing it to three-state. With the MC68322
three-stated, the MC68322 ICE on the ICE interface has control of all the signals on the logic
board. The MC68322 ICE takes the place of the MC68322 in the system when the ICE
interface is installed.
Normally, the ICEN input pin on the MC68322 ICE is connected to ground, which disables
the internal core and uses an MC68000 ICE for the processor. For diagnostic purposes, if
ICEN is connected high on the ICE module, then the internal core is used. When an
MC68000 ICE is used, IA27–IA26 to the MC68322 ICE are tied to ground. An MC68000 ICE
can only access the lower 64M of memory, but an MC68020 ICE can be used instead. If an
MC68020 ICE is used, then IA27–IA26 are driven by the MC68020 ICE, which can access
the entire 256M of memory. Figure A-1 illustrates the connection between the ICE interface
and the logic board.
A-4
MC68322 USER’S MANUAL
MOTOROLA
u
u
ICE MODULE
LOGIC BOARD
MC68000 ICE
CONNECTOR
(64-PIN DIP)
PGA
CONNECTOR
TO LOGIC
+5
MC68322
(160-PIN
PQFP)
MC68322 ICE
(208-PIN PGA)
PGA
CONNECTOR
HIZ
ICEN
Figure A-1. ICE Interface Block Diagram
MOTOROLA
MC68322 USER’S MANUAL
A-5
u
u
A.3 ICE ADAPTOR BOARD SCHEMATICS
MC68322I/A
MC68322I/B
10K
U14
R13
T13
P12
R12
P11
U12
R11
U11
R10
U10
T10
T9
R9
U9
T8
U8
U7
R7
U6
P7
B11
A12
D11
B12
C12
B13
C13
A14
B14
D13
A16
K4
K3
H4
D5
A11
A1
A2
A3
A4
A5
A6
A7
A8
MA0
MA1
MA2
MA3
MA4
MA5
MA6
MA7
MA8
MA9
MA10
BG
EDTACK
CLK2
RESET
HIZ
C4
G4
F2
F3
F4
D1
D2
E4
C2
J1
TEST68K
CS0
CS1
CS2
CS3
CS4
CS5
CS6
CS7
RD
270
+5V
A7
B5
B15
C8
C11
C14
D6
E2
E3
E17
F14
G1
GND
A9
A13
B1
B10
B17
D4
L1
J2
K2
BR
AS
A9
R/W
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
J3
WAIT
H2
H1
WRL
WRU
D3
C3
D7
D14
C15
C16
E14
C17
D17
E15
E16
F15
F16
G14
G15
G17
H15
H17
H16
IRQ0
IRQ1
MD0
MD1
MD2
MD3
MD4
MD5
MD6
MD7
MD8
MD9
MD10
MD11
MD12
MD13
MD14
MD15
+5V
D12
D15
G2
K15
L17
L15
M17
M15
N17
J17
RAS0
RAS1
RAS2
RAS3
RAS4
RAS5
CAS0
CAS1
WE
10K
AS
G3
G16
H14
K1
K14
L16
N16
P2
P5
P8
P10
R1
R14
T7
+5V
H3
J14
J15
L14
M2
M3
M16
P6
P9
P17
R3
T6
R6
T5
R5
U4
T4
10K
K16
K17
R21
270
R/W
A26
A27
P13
U15
DREQ
DACK
D0
D1
D2
D3
D4
D5
D6
D7
D8
R21
270
D0
D1
D2
D3
D4
D5
D6
D7
U16
P15
P14
CCLK
CBSY
CMD
T17
R15
SBSY
STS
N15
N14
R17
U5
U13
VCLK
FSYNC
LSYNC
P16
R16
VIDEO
PRINT
T11
T15
U3
B4
A4
C5
A5
C6
B6
A6
C7
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
B7
D8
B9
A8
D9
ACK
BUSY
SELECT
PERROR
FAULT
D8
D9
A10
A3
C9
B8
SELECTIN
STROBE
AUTOFD
INIT
D9
D10
D11
D12
D13
D14
D15
D10
D11
D12
D13
D14
D15
U21
MC68322I/C
+5V
1K
M14
N4
B3
ICLK1
IHALT
IRESET
A2
J4
ICCEN
IBG
+5V
IHALT
F1
T12
IBR
IDTACK
A15
D10
C10
C1
IFC0
IFC1
IFC2
ILDS
IUDS
1K
R8
IAVEC
IIPL0
IIPL1
IIPL2
D16
F17
J16
IRESET
E1
T14
IDLEN
Figure A-2. MC68322 PGA Pinout
A-6
MC68322 USER’S MANUAL
MOTOROLA
u
u
U31
U33
U34
MC68000 (64 DIP)
74ALS244
74ALS244
5
4
3
2
1
64
63
62
61
60
59
58
57
56
55
54
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
50
51
52
17
15
13
11
8
6
4
2
3
5
7
9
12
14
16
18
17
15
13
11
8
6
4
2
3
5
7
9
12
14
16
18
ID0
ID1
ID2
ID3
ID4
ID5
ID6
ID7
ID8
A1
A2
A3
A4
A5
A6
A7
A8
ID0
ID1
ID2
ID3
ID4
ID5
ID6
ID7
2Y4
2Y4
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
2A4
2A4
ID8
ID9
2Y3
2Y2
2Y1
1Y4
1Y3
1Y2
1Y1
2Y3
2Y2
2Y1
1Y4
1Y3
1Y2
1Y1
2A3
2A2
2A1
1A4
1A3
1A2
1A1
2A3
2A2
2A1
1A4
1A3
1A2
1A1
D10
D11
D12
D13
D14
D15
ID10
ID11
ID12
ID13
ID14
ID15
A9
1G 2G
1G 2G
ID9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
1
19
1
19
ID10
ID11
ID12
ID13
ID14
ID15
IDWEN
IDWEN
U35
74ALS573
U36
74ALS573
2
3
4
5
6
7
8
9
19
2
3
4
5
6
7
8
9
19
18
17
16
15
14
13
12
1Q
1Q
ID0
ID1
ID2
ID3
ID4
ID5
ID6
ID7
ID8
ID9
D0
D1
D2
D3
D4
D5
D6
D7
1D
2D
3D
4D
5D
6D
7D
8D
D8
D9
1D
2D
3D
4D
5D
6D
7D
8D
+5V
18
17
16
15
14
13
12
2Q
3Q
4Q
5Q
6Q
7Q
8Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q
ID10
ID11
ID12
ID13
ID14
ID15
D10
D11
D12
D13
D14
D15
15
ICLK
10K
10
13
12
22
21
IDTACK
IBR
6
9
7
8
11
18
17
19
20
AS
EN OE
EN OE
R/W
IUDS
ILDS
IBG
IRESET
IHALT
NC
1
1
11
11
IAVEC
IDLEN
IDREN
IDLEN
IDREN
RP31
RES10
RP32
RES10
NC
1
10K
1
10K
25
24
26
IIPL0
IIPL1
IIPL2
+5V
+5V
28
27
26
2
3
4
5
6
7
8
9 10
2
3
4
5
6
7
8
9
10
IFC0
IFC1
IFC2
ID00
ID01
ID02
ID03
ID04
ID05
ID06
ID07
ID08
ID09
ID10
ID11
ID12
ID13
ID14
ID15
+5V
10K
U32
22V10-10
+5V
13
11
10
9
8
7
6
5
4
3
14
(S0)
(S1)
(AEN)
IDREN
IDWEN
(OTHRGB)
A24
A25
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
15
16
17
18
19
20
21
22
23
10K
ICEEN
IDTACK
IBG
1
W1
IBR
R/W
AS
IRESET
ICLK1
ICEEN
2
2
1
Figure A-3. MC68000 Emulator Connection
MOTOROLA
MC68322 USER’S MANUAL
A-7
u
u
J41 IC68322X/A
(PGA–23x23)
J41 IC68322X/B
(PGA–23x23)
75
74
73
72
70
69
68
67
65
64
63
62
61
59
58
57
56
55
53
52
51
50
49
47
46
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
135
133
132
131
130
128
127
126
125
124
122
24
22
13
158
136
159
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
D0
MA0
MA1
MA2
MA3
MA4
MA5
BG
EDTACK
EMURST
CLK2
RESET
+5V
7
14
29
40
48
60
71
88
HI-Z
TEST68K
11
10
9
8
6
5
4
3
CS0
CS1
CS2
CS3
CS4
CS5
CS6
CS7
RD
MA6
MA7
MA8
MA9
MA10
23
19
20
BR
AS
R/W
93
18
102
112
123
134
144
153
17
16
15
WAIT
WRL
WRU
2
121
120
118
117
116
115
114
113
111
110
109
108
106
105
104
104
IRQ0
IRQ1
MD0
MD1
MD2
MD3
MD4
MD5
MD6
MD7
MD8
MD9
MD10
MD11
MD12
MD13
160
98
97
95
94
92
91
101
100
99
RAS0
RAS1
RAS2
RAS3
RAS4
RAS5
CAS0
CAS1
WE
GND
1
12
21
35
36
45
54
66
78
90
96
107
119
129
138
149
77
76
DREQ
DACK
D1
D2
D3
D4
D5
D6
D7
D8
79
83
81
CCLK
CBSY
CMD
MD14
MD15
82
80
SBSY
STS
89
85
86
VCLK
FSYNC
LSYNC
87
84
VIDEO
PRINT
156
155
154
152
151
150
148
147
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
146
145
141
143
140
D9
ACK
BUSY
SELECT
PERROR
FAULT
D10
D11
D12
D13
D14
D15
137
157
139
142
SELECTIN
STROBE
AUTOFD
INIT
Figure A-4. PGA Connector
A-8
MC68322 USER’S MANUAL
MOTOROLA
u
u
J51
CONN40
J52
CONN40
J55
CONN20
1
3
5
7
1
3
5
7
2
4
6
2
4
6
1
3
5
7
2
4
6
IRQ1
CS7
CS5
CS3
CS1
CLK2
WRU
WAIT
R/W
BR
IRQ0
CS6
CS4
CS2
CS0
WRL
RD
AS
EDTACK
BG
D14
D12
D10
D08
D06
D04
D02
D00
A24
A22
A20
A18
A16
A14
A12
A10
A08
A06
A04
A02
A25
A23
A21
A19
A17
A15
A13
A11
A09
A07
A05
A03
A01
DACK
CMD
CCLK
CBSY
ICLK1
IRESET
IBG
ILDS
IUDS
IFC0
IDLEN
IHALT
IBR
IDTACK
IAVEC
IIPL0
8
8
8
9
9
10
12
14
16
18
20
22
24
26
28
30
32
4
10
12
14
16
18
20
22
24
26
28
30
32
4
9
10
12
14
16
18
20
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
11
13
15
17
19
IFC1
IFC2
IIPL1
IIPL2
D15
D13
D11
D09
D07
D05
D03
D01
DREQ
STS
36
38
40
36
38
40
SBSY
PRINT
J53
CONN40
J54
CONN40
1
3
5
7
2
4
6
1
3
5
7
2
4
6
MA10
MA08
MA06
MA04
MA02
MA00
LSYNC
VCLK
FSYNC
VIDEO
MA09
MA07
MA05
MA03
MA01
8
8
9
10
12
14
16
18
20
22
24
26
28
30
32
4
9
10
12
14
16
18
20
22
24
26
28
30
32
4
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
RAS4
RAS2
RAS0
RAS5
RAS3
RAS1
WE
SELIN
FAULT
INIT
BUSY
PD7
PD5
PD3
PD1
AUTOFD
SELECT
PERROR
ACK
PD6
PD4
CAS0
CAS1
MD14
MD12
MD10
MD08
MD06
MD04
MD02
MD00
MD15
MD13
MD11
MD09
MD07
MD05
MD03
MD01
PD2
PD0
STROBE
EMURST
36
38
40
RESET
36
38
40
+5
C51
0.1
C52
0.1
C53
0.1
C54
0.1
C55
C56
0.1
C57
C58
0.1
C59
0.1
C5A
0.1
C5B
0.1
C5C
0.1
µ
F
µ
F
µ
F
µ
F
0.1
µ
F
µ
F
0.1µ
F
µ
F
µ
F
µ
F
µ
F
µ
F
+5
+
+
+
+
+
+
C5D
0.22
C5E
0.22
C5F
0.22
C5G
0.22
C5H
0.22
C5J
22UF
µF
µF
µF
µF
µF
Figure A-5. Test Points
MOTOROLA
MC68322 USER’S MANUAL
A-9
u
u
0.156
DIAMETER
THRU
1.80
100
0.20 0.40
3.20
6.40
J53
39
40
1
2
6.20
6.10
J41
1
2
40 39
A B C D E F G
H J K L M N P R T U
U17
A17
80 79
81
J52
J54
209 PGA
4.70
J4
U21
44 43
45
3.40
J41
40
39
2
1
A1
3
4
22
2
0.40
1
40
39
2
1
SQUARE
PAD BOTH
SIDES OF
PCB TYPE 2
PLCS
3.30
3.20
J51
64 PIN DIP
0.30
0.00
1
0.30
3.60
0.00
NOTES:
1. Component side is shown.
2. Dimensions are in inches unless otherwise specified.
3. Tolerances: Hole location and diameter: +/– 0.010.
4. Connectors J51, J53, J54, and J55 are located on the component side of the PCB.
5. Connector J41 is located on the solder side of the PCB.
Figure A-6. ICE Adaptor Board
A-10
MC68322 USER’S MANUAL
MOTOROLA
u
u
J53
J54
GND
GND
MA9
MA7
MA5
MA3
MA1
NC
GND
MA10
MA8
MA6
MA4
MA2
MA0
NC
GND
PRT
SBY
NC
STS
DRQ
NC
GND
GND
CBY
CCK
CMD
DAK
A1
A2
A3
SIN
FLT
INI
AFD
SEL
PER
ACK
PD6
PD4
PD2
PD0
NC
A4
A6
A8
A5
A7
A9
MC68322 - PGA
BSY
PD7
PD5
PD3
PD1
STB
ERST
GND
GND
A10
A12
A14
A16
A18
A20
A22
A24
GND
A11
A13
A15
A17
A19
A21
A23
A25
GND
RST
GND
GND
U21
J41
J52
1
J51
J55
R2A
GND
CK1
RST
BG
LDS
UDS
FC0
FC1
FC2
GND
GND
DLE
HLT
BR
DTK
AVC
IP0
IP1
IP2
GND
U32
74ALS244
74ALS244
U34
U33
W1
JUMPER IN:
ICE DISABLED
JUMPER OUT:
ICE ENABLED
74ALS573
U35
74ALS573
U36
RP32
R31 R23
RP31
MC68322 ICE
U31
MC68HC000–16P
94MOTMPU0006W08
SILK1
Figure A-7. ICE Adaptor Board—Silkscreen
MOTOROLA
MC68322 USER’S MANUAL
A-11
u
u
A.3.1 In-Circuit Emulation Interface
NUM
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
CHARACTERISTIC
MIN
2
MAX
15
10
—
UNIT
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
I_CLK1 Valid From CLK2
I_RESET, I_HALT Valid From CLK1
I_FC2–I_FC0 Set Up Before CLK1
1
20
20
20
0
Address Bus, I_A27–I_A26 Set Up Before CLK1
AS, I_UDS, I_LDS, R/W Set Up Before CLK1
I_FC2–I_FC0, Address Bus, I_A27–I_A26, R/W Hold After I_CLK1
CS7–CS0 Valid From AS
—
—
—
—
1
10
10
10
10
10
—
DTACK, DATALEN Valid From I_CLK1
Data Bus Driven From I_CLK1 (Read Cycle)
Data Bus Valid From I_CLK1 (Read Cycle)*
Data Bus High Impedance From I_CLK1 (Read Cycle)
Data Bus Set Up Before I_CLK1 (Write Cycle)
Data Bus Hold After I_CLK1 (Write Cycle)
I_AVEC Valid From AS
1
1
1
20
0
—
—
1
10
10
10
—
I_IPL2–I_IPL0 Valid From I_CLK1
I_BR Valid From I_CLK1
1
I_BG Set Up Before I_CLK1
20
NOTE: * Denotes That This Specification Only Applies To Register And DRAM Read Cycles. During Core Cycles,
Read Data Propagates Directly From The Core To The ICE And Is Unaffected By The MC68322.
CLK2
65
65
I_CLK1
66
66
I_RESET,
I_HALT
Figure A-8. ICE Reset AC Timing
A-12
MC68322 USER’S MANUAL
MOTOROLA
u
u
S0
S1
S2
S3
S4
S5
S6
S7
S0
CLK2
I_CLK1
65
65
70
67
I_FC2–I_FC0
68
A25–A1,
I_A26–I_A27
69
69
AS
I_UDS, I_LDS
R/W
D15–D0
DTACK
74
75
73
72
72
71
71
CS7–CS0
I_DLEN
72
72
Figure A-9. ICE Read Cycle AC Timing
MOTOROLA
MC68322 USER’S MANUAL
A-13
u
u
S0
S1
S2
S3
S4
S5
S6
S7
S0
CLK2
65
65
I_CLK1
70
67
I_FC2–I_FC0
68
A25–A1,
I_A26–I_A27
69
69
AS
69
I_UDS, I_LDS
R/W
D15–D0
DTACK
77
72
76
72
71
71
CS7–CS0
I_DLEN
72
72
Figure A-10. ICE Write Cycle AC Timing
A-14
MC68322 USER’S MANUAL
MOTOROLA
u
u
S0
S1
S2
S3
S4
w
S6
S7
S0
CLK2
I_CLK1
65
65
70
67
I_FC2–I_FC0
68
A25–A1,
I_A26–I_A27
69
69
AS
I_UDS, I_LDS
R/W
78
78
I_AVEC
79
I_IPL2–I_IPL0
Figure A-11. ICE Interrupt Acknowledge Cycle AC Timing
CLK2
I_CLK1
I_BR
65
65
80
80
81
81
I_BG
Figure A-12. ICE Bus Arbitration AC Timing
MOTOROLA
MC68322 USER’S MANUAL
A-15
u
u
A.4 ICE PIN ASSIGNMENT
The following figure illustrates the MC68322 ICE pin assignments and case drawing for the
208 PGA package.
1
2
3
4
5
6
7
8
9
10
11
A9
12
A7
13
V
14
A1
15
16
17
U
T
V
N/C
D2
GND I_A26
A20
A18
A17
A16
A15
A13
A14
A11
DACK CCLK N/C
CC
CC
D4
GND
D7
N/C
D6
D0
I_A27 A24
GND
A12
A10
GND I_DTACK A3 I_DLEN GND N/C
SBSY
A22
A23
R
P
N
M
L
V
STS PRINT LSYNC
D1
D3
A25
A19 I_AVEC
A5
A4
A2
GND
A8
A6
CC
GND
V
A21
GND
V
DREQ CMD CBSY VIDEO
FSYNC VCLK GND
V
CC
GND
GND
D9
D5
CC
CC
D11
D13
BR
D8 I_HALT
RAS5
RAS3
RAS1
WE
D10
D12
V
V
I_CLK1 RAS4
V
CC
CC
CC
D15
D14
V
CC
RAS2 GND
K
J
GND
RD
R/W EDTACK BG
GND RAS0 CAS1
MC68322 PINOUT
(BOTTOM VIEW)
AS
WAIT I_BG
V
V
I_IPL2 CAS0
CC
CC
H
G
F
WRU WRL
V
CLK2
CS0
CS3
CS6
GND MD13 MD15 MD14
CC
V
GND GND
MD10 MD11
GND MD12
CC
V
I_BR
CS1
CS2
MD8
MD9
MD7
I_IPL1
CC
E
D
C
B
A
V
V
CC
V
MD3 MD6
I_UDS
CS4
CC
CC
CS5
IRQ0 GND
RESET
GND I_IPL0 MD5
V
GND
PD7
ACK
BUSY
FAULT I_FC1
AUTOFD I_FC2
MA2
GND
MA9
MD0
CC
I_LDS CS7
IRQ1 TEST PD2
PD4
V
V
MA4 MA6
MA3 MA5
MD1 MD2
MD4
GND
V
CC
CC
CC
N/C I_RESET PD0
V
PD5
INIT SELECT
GND
MA0
MA8
V
N/C
GND
CC
I_FC0 MA10
15 16
CC
V
HI-Z
11
N/C ICEN STROBE PD1
PD3
5
PD6
6
PERROR GND SELECTIN
MA1
12
GND
13
MA7
14
N/C
17
CC
1
2
3
4
7
8
9
10
A-16
MC68322 USER’S MANUAL
MOTOROLA
APPENDIX B
APPLICATIONS
The MC68322 provides a wide variety of configuration possibilities. The sample design
described in this section demonstrates the detailed components required to design and build
an MC68322-based laser printer. This design demonstrates the typical configuration of
printing systems for laser printers, ink jet printers, fax machines, copiers, and many other
paper and nonpaper handling applications. Also included in this section is a sample code
stub to set up a memory map.
The following schematics describe the required connections for the MC68322, a 512K
DRAM, DRAM SIMM, flash EPROM, random control logic, serial EEPROM, in-circuit
emulation option, parallel port, and generic print engine interface.
B.1 CONFIGURING THE MC68322
The MC68322 requires up to two clock sources to properly clock the device. Some designs
take advantage of a single oscillator to clock the MC68322. For example, if the video rate is
7.8MHz, then a 31.2MHz source could be used to clock CLK2 and VCLK. Several pull-up
resistors may be required to properly negate unused options on the MC68322. Figure B-1
illustrates the MC68322 connection.
MOTOROLA
MC68322 USER’S MANUAL
B-1
+5V
HI-Z
+5V
4.7 K
V
CC
D15–D0
A25–A1
33
CLK2
40 MHz
RESET
DATA
OSC
+5V
4.7 K
+5V
ADDR
RD
WRU
WAIT
IRQ0
IRQ1
WRL
+5V
CS7–CS0
CHIP-SELECT
4.7 K
33
DREQ
EDTACK
22.7692 MHz
SBSY
AS
BR
4.7 K
VCLK
OSC
BG
R/W
MC68322
STS
RAS5–RAS0
FSYNC
LSYNC
CAS0
CAS1
CCLK
WE
CBSY
CMD
MA10–MA0
DRAM ADDR
DRAM DATA
PRINT
VIDEO
MD15–MD0
PPC
PARALLEL PORT
CONTROL
PD7–PD0
PARALLEL
DATA
GND
Figure B-1. MC68322 Connection
B.2 CONFIGURING THE DRAM AND DRAM SIMM
The DRAM can be mounted directly onto the printed circuit board. The following design
demonstrates a 512K memory option, which is a minimal memory configuration for the
MC68322. However, additional memory can be connected to the MC68322’s DRAM
controller. Figure B-2 illustrates the DRAM connection.
B-2
MC68322 USER’S MANUAL
MOTOROLA
DRAM (256K X 16)
RAS
RAS0
CAS UPPER
CAS LOWER
CAS1
CAS0
WE UPPER
WE LOWER
WE
MA8–MA0
DRAM ADDR
OE
DRAM DATA
MD15–MD0
Figure B-2. DRAM Connection
DRAM SIMM modules may be added to provide more memory, which is necessary in some
designs. The DRAM SIMM module does not have to be buffered. However, using buffers to
isolate the main memory from a memory module can improve design reliability and prevent
field failure(s). Due to the unknown nature of the SIMM modules inserted into the design,
isolation resistors are helpful to reduce undershoot and other electrical problems resulting
from driving a large capacitive load. Figure B-3 illustrates the DRAM SIMM connection.
MOTOROLA
MC68322 USER’S MANUAL
B-3
Ω
Ω
SIM72
22
22
DR_RAS2
DR_RAS3
DR_RAS4
DR_RAS5
DR_CAS0
DR_CAS1
DR_A00
DR_A01
DR_A02
DR_A03
DR_A04
DR_A05
DR_A06
DR_A07
DR_A08
DR_A09
DR_A10
DR_WE
RAS2
RAS3
RAS4
RAS5
CAS0
CAS1
12
13
14
15
16
17
18
28
31
32
19
2
4
6
8
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
MD0
MD1
MD2
MD3
MD4
MD5
MD6
MD7
NC
MD8
MD9
MD10
MD11
MD12
MD13
MD14
MD15
NC
MD0
MD1
MD2
MD3
MD4
MD5
MD6
MD7
NC
MD8
MD9
MD10
MD11
MD12
MD13
MD14
MD15
NC
DR_A00
DR_A01
DR_A02
DR_A03
DR_A04
DR_A05
DR_A06
DR_A07
DR_A08
DR_A09
DR_A10
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DQ8
+5V
10
30
59
Ω
Ω
Ω
Ω
22
22
20
22
24
26
36
49
51
53
55
57
61
63
65
37
3
22
22
DQ9
DQ10
DQ11
DQ12
DQ13
DQ14
DQ15
DQ16
DQ17
DQ18
DQ19
DQ20
DQ21
DQ22
DQ23
DQ24
DQ25
DQ26
DQ27
DQ28
DQ29
DQ30
DQ31
DQ32
DQ33
DQ34
DQ35
Ω
22
Ω
Ω
22
40
43
41
42
CAS0
CAS1
CAS2
CAS3
DR_CAS0
DR_CAS1
74ALS244
2A4 2Y4
2A3 2Y3
2A2 2Y2
2A1 2Y1
1A4 1Y4
1A3 1Y3
1A2 1Y2
1A1 1Y1
22
3
5
7
9
12
14
16
18
17
15
13
11
8
6
4
2
MA0
MA1
MA2
MA3
MA4
MA5
MA6
MA7
Ω
Ω
Ω
22
22
22
44
46
34
33
RAS0
RAS1
RAS2
RAS3
DR_RAS2
DR_RAS4
DR_RAS3
DR_RAS5
5
7
9
GND
1
39
72
21
23
25
27
35
50
52
54
56
58
60
62
64
38
Ω
22
29
46
66
71
BS0
BS1
BS2
BS3
1G 2G
Ω
Ω
Ω
Ω
22
19
1
+5V
22
22
Ω
4.7K
47
WRITE
DR_WE
74ALS244
2A4 2Y4
2A3 2Y3
2A2 2Y2
2A1 2Y1
1A4 1Y4
1A3 1Y3
1A2 1Y2
1A1 1Y1
3
5
7
9
17
MA8
MA9
MA10
WE
67
68
69
70
15
13
11
8
6
4
PD0
PD1
PD2
PD3
22
22
Ω
12
14
16
18
2
1G 2G
1
19
Figure B-3. DRAM SIMM Connection
B.3 CONFIGURING THE FLASH EPROM
The flash EPROM in this design demonstrates the methodology used to connect a typical
PROM, ROM or EPROM interface. Different EPROM devices can be used with minimal or
no changes required. This design demonstrates four banks of flash memory connected to
the MC68322, which provides 4M of main memory to support the core with instruction
memory, built-in fonts, and permanent data structures. Figure B-4 illustrates the flash
EPROM connection.
B-4
MC68322 USER’S MANUAL
MOTOROLA
29F040
29F040
A0
A1
A2
A3
A4
A5
A6
A7
29F040
29F040
13
14
15
17
18
19
20
21
13
14
15
17
18
19
20
21
13
14
15
17
18
19
20
21
13
14
15
17
18
19
20
21
12
11
10
9
8
7
12
11
10
9
8
7
12
11
10
9
8
7
12
11
10
9
8
7
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D8
D9
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
D10
D11
D12
D13
D14
D15
D10
D11
D12
D13
D14
D15
6
5
6
5
6
5
6
5
27
26
23
25
4
28
29
3
27
26
23
25
4
28
29
3
27
26
23
25
4
28
29
3
27
26
23
25
4
28
29
3
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A10
A11
A12
A13
A14
A15
A16
A17
A18
A10
A11
A12
A13
A14
A15
A16
A17
A18
A10
A11
A12
A13
A14
A15
A16
A17
A18
2
30
1
2
30
1
2
30
1
2
30
1
+5
+5
+5
+5
32
32
32
32
22
23
31
22
23
31
22
23
31
22
23
31
GND
16
GND
16
GND
16
GND
16
CE
OE
WE
CE
OE
WE
CE
OE
WE
CS0
CS1
CS1
CE
OE
WE
CS0
WRL
WRL
WRU
WRU
BANK 1
BANK 0
Figure B-4. Flash EEPROM Connection (1 of 2)
29F040
A0
A1
A2
A3
A4
A5
A6
A7
29F040
A0
A1
A2
A3
A4
A5
A6
A7
29F040
A0
A1
A2
A3
A4
A5
A6
A7
29F040
A0
A1
A2
A3
A4
A5
A6
A7
13
14
15
17
18
19
20
21
13
14
15
17
18
19
20
21
12
11
10
9
8
7
12
11
10
9
8
7
13
14
15
17
18
19
20
21
13
14
15
17
18
19
20
21
12
11
10
9
8
7
12
11
10
9
8
7
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
D0
D1
D2
D3
D4
D5
D6
D7
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
D8
D9
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
D10
D11
D12
D13
D14
D15
D10
D11
D12
D13
D14
D15
6
5
6
5
6
5
6
5
27
26
23
25
4
28
29
3
27
26
23
25
4
28
29
3
27
26
23
25
4
28
29
3
27
26
23
25
4
28
29
3
A8
A9
A8
A9
A8
A9
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A10
A11
A12
A13
A14
A15
A16
A17
A18
A10
A11
A12
A13
A14
A15
A16
A17
A18
A10
A11
A12
A13
A14
A15
A16
A17
A18
2
30
1
2
30
1
2
30
1
2
30
1
+5
+5
+5
+5
32
32
32
32
22
23
31
22
23
31
22
23
31
22
23
31
CE
OE
WE
GND
16
GND
16
GND
16
GND
16
CE
OE
WE
CS2
CS2
CE
OE
WE
CE
OE
WE
CS3
CS3
WRL
WRU
WRL
WRU
BANK 2
BANK 3
Figure B-4. Flash EEPROM Connection (2 of 2)
B.4 CONFIGURING THE RANDOM CONTROL LOGIC
The MC68322 requires a minimal amount of external control logic, but should have a reliable
reset circuit to sense power-up, low voltage, and push button resets. This sample design
includes a Texas Instruments device (TL7705A) to supply a reliable reset and Figure B-5
illustrates reset circuit usage. Other devices from Motorola and Dallas Semiconductor have
suitable reset circuits for the MC68322. A resistor-capacitor reset circuit is not
recommended for reliable power-up and low-voltage resets.
+5V
+5V
+5V
1K
TL7705A
5
7
RESET
RESET
REF
RESET
N/C
SENSE
RESIN
CT
1K
SWITCH
6
1
2
3
OPTIONAL
0.1µF
0.1µF
Figure B-5. Reset Circuit
Other random logic, such as external latches or buffers, may be required to interface with
the print engine. This sample design has two latches to interface with the front panel and
serial EEPROM. Two buffers are used to filter and clean up the incoming signals from the
print engine. Figure B-6 illustrates the front panel buffers and latches.
MOTOROLA
MC68322 USER’S MANUAL
B-7
CONTROLLER WRITE REGISTERS
74ALS259
CONTROLLER STATUS REGISTERS
74ALS541
ODD BYTES
(0078000F)
12
11
10
17
15
13
11
8
6
4
2
3
5
7
9
12
14
16
18
Q7
Q6
Q5
D0
D1
D2
D3
D4
D5
D6
D7
PPRDY
RDY
EE_DO
FP_PRDD
TOP
2A4
2A3
2A2
2A1
1A4
1A3
1A2
1A1
2Y4
2Y3
2Y2
2Y1
1Y4
1Y3
1Y2
1Y1
+5V
(0078000D)
(0078000B)
(00780009)
(00780007)
(00780005)
(00780003)
(00780001)
EE_DI
EE_CS
PRFD
FP_RST
FP_LED9
FP_LEDWR
FP_VFDCS
13
9
7
6
5
4
Q4
Q3
Q2
Q1
Q0
DIN
D0
4.7 K
3
2
1
C
B
A
A3
A2
A1
EN CL
15
1G 2G
19
1
14
74ALS32
1
2
3
CS6
74ALS32
WRL
9
8
CS6
RD
10
74ALS259
EVEN BYTES
12
11
10
9
7
6
07
06
05
04
03
02
01
00
(0078000E)
(0078000C)
(0078000A)
(00780008)
(00780006)
(00780004)
(00780002)
(00780000)
EE_CK
CPRDY
13
DIN
D8
FP_BUZZEN
FP_SWRD
FP_LED8
FP_PWRD
FP_PCLK
3
2
1
C
B
A
A3
A2
A1
5
4
EN CL
15
14
74ALS32
4
5
6
CS6
WRU
RESET
Figure B-6. Front Panel Buffers and Latches
B.5 CONFIGURING THE SERIAL EEPROM
Often a serial EEPROM is used to store field programmable or default information, such as
page count, printer name, Ethernet address, and resolution. This interface uses four signals
from the random logic interface. The serial interface utilizes the latches and buffers that are
shared with the front panel interface. Figure B-7 illustrates the serial EEPROM connection.
9366
7
6
4
1
2
3
NC
NC
DO
CS
SK
DI
EE_CS
EE_CK
EE_DI
EE_DO
PIN 8: +5V
PIN 5: GND
Figure B-7. 4-Kbit Serial EEPROM Connection
B-8
MC68322 USER’S MANUAL
MOTOROLA
B.6 CONFIGURING THE IN-CIRCUIT EMULATION
The MC68322 provides an ICE option, which is included here. The ICE connection is a
simple pin-grid-array to an ICE board available from Motorola. The ICE option can be
implemented in the prototype stages of designing a printing system and can remain
available through production as a method of testing, debugging, and field service. See
Appendix A In-Circuit Emulation Interface for ICE board specifications.
To provide an ICE option, the HI-Z signal should be connected to a pull-up resistor and not
directly to VCC. The ICE PGA pattern should be placed on the PCB and typically the
MC68322 can be placed inside the cut-out section of the PGA. All signals from the MC68322
160-pin quad flat pack (QFP) must be connected to the ICE PGA connector. The special
version of the MC68322, along with the ICE board, allow a standard MC68000 DIP format
emulator to be used. This type of interface allows existing emulators to be reused with
virtually no additional investment. Figure B-8 illustrates the MC68322 ICE interface.
IC68322/A (PGA–23x23)
IC68322/B (PGA–23x23)
75
74
73
72
70
69
68
67
65
64
63
62
61
59
58
57
56
55
53
52
51
50
49
47
46
135
133
132
131
130
128
127
126
125
124
122
24
22
13
158
136
159
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
MA0
MA1
MA2
MA3
MA4
MA5
MA6
MA7
MA8
MA9
MA10
BG
EDTACK
CLK2
RESET
+5V
7
14
29
40
48
60
71
88
HI-Z
11
10
9
8
6
5
4
3
TEST
CS0
CS1
CS2
CS3
CS4
CS5
CS6
CS7
RD
23
19
20
BR
AS
R/W
18
93
17
16
15
WAIT
102
112
123
134
144
153
WRL
WRU
2
121
120
118
117
116
115
114
113
111
110
109
108
106
105
104
104
IRQ0
IRQ1
MD0
MD1
MD2
MD3
MD4
MD5
MD6
MD7
MD8
MD9
MD10
MD11
MD12
MD13
MD14
MD15
160
98
97
95
94
92
91
101
100
99
RAS0
RAS1
RAS2
RAS3
RAS4
RAS5
CAS0
CAS1
WE
161
77
EMURST
DREQ
GND
1
12
21
35
36
45
54
66
78
90
96
107
119
129
138
149
76
DACK
44
43
42
41
39
38
37
34
33
32
31
30
28
27
26
25
D0
D1
D2
D3
D4
D5
D6
D7
D8
79
83
81
CCLK
CBSY
CMD
82
80
SBSY
STS
89
85
86
VCLK
FSYNC
LSYNC
87
84
VIDEO
PRINT
156
155
154
152
151
150
148
147
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
146
145
141
143
140
ACK
BUSY
SELECT
PERROR
FAULT
137
157
139
142
D9
SELECTIN
STROBE
AUTOFD
INIT
D10
D11
D12
D13
D14
D15
Figure B-8. MC68322 ICE Interface
MOTOROLA
MC68322 USER’S MANUAL
B-9
B.7 CONFIGURING THE PARALLEL PORT
The MC68322 provides a direct connection, with no external buffers or latches, to virtually
all standard computer parallel ports available. The MC68322 can support 2M/sec and higher
data rates when the internal DMA is utilized. Additionally, the parallel port supports the
IEEE-1284 interface. Figure B-9 demonstrates the interface to a parallel port connector.
External resistors are needed in many implementations to avoid ringing, RF noise, and a
powered down host situation. The powered down host situation exists when the host
computer is turned off while the printer is still powered up or vice-versa. The resistors help
to avoid damage to the printer or host computer in the event that this situation exists for
extended amounts of time.
+5V
1.2K
CENT36
RES8
1
19
STROBE
PD0
1
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PD1
PD2
PD3
PD4
PD5
PD6
PD7
ACK
2
3
4
5
6
7
8
STROBE
PD0
PD1
PD2
PD3
PD4
33
Ω
BUSY
PERROR
SELECT
AUTOFD
PD5
INIT
FAULT
Ω
33
+5V
(AUX1)
(LOGIC GND)
(LOGIC GND)
1.2K
RES8
(AUX2)
1
SELECTIN
5V
2
3 4 5 6 7 8
PD6
PD7
INIT
AUTOFD
SELECTIN
Figure B-9. Parallel Port Connector Interface
B-10
MC68322 USER’S MANUAL
MOTOROLA
B.8 CONFIGURING THE GENERIC PRINT ENGINE INTERFACE
The print engine interface requires a minimal amount of external logic to connect to most
print engines. Due to the different front panel interfaces available from print engine
manufactures, the MC68322 may require an external latch or two as demonstrated here.
However, the primary handshake and video signals can be connected directly to the print
engine in most cases. Figure B-10 illustrates the print engine interface. Notice that the
external 555 timer can be eliminated if the BG signal is used in its alternate function (see
Appendix D Alternate Pin Functions).
+5V
+5V
VIDEO CONNECTOR
CONN26
FRONT PANEL
1
VCC
2
A1
A2
B1
B2
BD
RDY
GND
3
PPRDY
TOP
STS
PCLK
4
FP_PCLK
FP_VFDCS
FP_PWRD
FP_LEDWR
FP_PRDD
FP_SWRD
FP_LED9
A3
B3
SBSY
(PCLK)
PRINT
CPRDY
CMD
VFDCS
5
A4
B4
PWRD
6
A5
B5
CBSY
LEDWR
7
A6
B6
(RESERVED)
PRDD
8
A7
B7
VIDEO
CCLK
PRFD
SWRD
9
A8
B8
(RESERVED)
LED9
10
A9
B9
LED8
11
FP_LED8
FP_BUZZER
A10
A11
A12
A13
B10
B11
B12
B13
BUZZER
12
PNLRST
13
FP_RST
GND
14
VCC
+5V
+5V
555 TIMER
8
V
20K
CC
4
7
74F14
RESET
FP_BUZZEN
9
8
74F14
CPRDY
PRFD
CPRDY
DISCH
13
12
3
OUT
74F14
11
150K
10
6
2
PRFD
THRES
TRIG
CONT
GND
1
0.01µF
0.001µF
AUXILIARY POWER
CONN4
+5V
+5V
+5V
(+12V)
1
2
3
4
+5V
FP_LED8
FP_LED9
Figure B-10. Print Engine Interface
MOTOROLA
MC68322 USER’S MANUAL
B-11
B.9 MC68322 MEMORY MAP INITIALIZATION EXAMPLE
The following code example sets up the memory map illustrated in Figure B-11.
0x0
DRAM BANK 0
0x80000
UNUSED
0x600000
CHIP-SELECT BANK 0
(See Note)
0x700000
DRAM BANK 2
(See Note)
0x800000
DRAM BANK 3
0xA00000
DRAM BANK 4
0xC00000
DRAM BANK 5
0xE00000
SERIAL DEVICE
CHIP-SELECT BANK 6
0xF00000
NOTE: The chip-select banks have priority over the DRAM banks.
Figure B-11. Initialized Memory Map From Code Example
B-12
MC68322 USER’S MANUAL
MOTOROLA
B.10 MC68322 INTERNAL REGISTERS SAMPLE CODE
BASE322
ADDR0
TIMING0
ADDR1
TIMING1
ADDR2
TIMING2
ADDR3
TIMING3
ADDR4
TIMING4
ADDR5
TIMING5
ADDR6
TIMING6
ADDR7
TIMING7
RECOVERY
DRAM0
DRAM1
DRAM2
DRAM3
DRAM4
DRAM5
DRAM_CTRL
DRAM_REF
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
$00fff000
$0
$2
$10
$12
$20
$22
$30
$32
$40
$42
$50
$52
$60
$62
$70
$72
$82
$100
$110
$120
$130
$140
$150
$160
$162
SECTION code
XDEF
XREF
start
main
start: move.l
move.l
move.w
lea
#$0,a5
* Clear a5
#$0,a6
* Clear frame pointer
#$2700,sr
BASE322,a0
* Set up status register
* Set a0 to base address of 68322
* Set CS0 to 0x600000-0x6fffff
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
move.w
bra
#$0c18,ADDR0(a0)
#$0003,TIMING0(a0)
#$1010,ADDR1(a0)
#$0003,TIMING1(a0)
#$1008,ADDR2(a0)
#$0003,TIMING2(a0)
#$0c38,ADDR6(a0)
#$3434,TIMING6(a0)
#$0c3c,ADDR7(a0)
#$3434,TIMING7(a0)
#$1540,RECOVERY(a0)
#$0200,DRAM0(a0)
#$0000,DRAM1(a0)
#$040c,DRAM2(a0)
#$0410,DRAM3(a0)
#$0414,DRAM4(a0)
#$0418,DRAM5(a0)
#$0000,DRAM_CTRL(a0)
#$0020,DRAM_REF(a0)
main
* Set CS1 to 0x400000-0x5fffff
* Set CS2 to 0x200000-0x3fffff
* Set CS6 to 0xe00000-0xefffff
* Set CS7 to 0xf00000-0xffffff
* Set recovery for back to back access
* DRAM0 = 0x0 - 0x80000
* Disabled
* DRAM2 = 0x600000 - 0x7fffff
* DRAM3 = 0x800000 - 0x9fffff
* DRAM4 = 0xa00000 - 0xbfffff
* DRAM5 = 0xc00000 - 0xdfffff
* Jump to Main()
end
MOTOROLA
MC68322 USER’S MANUAL
B-13
APPENDIX C
MEMORY-MAPPED REGISTER SUMMARY
This section summarizes the memory-mapped registers for the MC68322. The following
table contains the name of the register, an image of the register in memory with all of its
associated fields, the address of the register at startup, the register’s encoding at startup,
and the page number where the register is described.
Note: All shaded areas are reserved for future use and should always be written as
zero.
Table C-1. Memory-Mapped Register Set
MEMORY MAP
VALUE AT RESET
REG
ADDRESS
15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
HIGH BYTE LOW BYTE
SIZE
BASE ADDRESS (A27–A18)
RHLD RSET RACC
BASE ADDRESS (A27–A18)
RHLD RSET
BASE ADDRESS (A27–A18)
RHLD RSET
BASE ADDRESS (A27–A18)
RHLD RSET
BASE ADDRESS (A27–A18)
RHLD RSET
BASE ADDRESS (A27–A18)
RHLD RSET
BASE ADDRESS (A27–A18)
RHLD RSET
BASE ADDRESS (A27–A18)
00FFF000 XX011000 00000000
00FFF002 11001111 11001111
00FFF010 XX000000 00000000
00FFF012 00000000 00000000
00FFF020 XX000000 00000000
00FFF022 00000000 00000000
00FFF030 XX000000 00000000
00FFF032 00000000 00000000
00FFF040 XX000000 00000000
00FFF042 00000000 00000000
00FFF050 XX000000 00000000
00FFF052 00000000 00000000
00FFF060 XX000000 00000000
00FFF062 00000000 00000000
00FFF070 XX000000 00000000
00FFF072 00000000 00000000
00FFF080 00000000 00000000
00FFF082 XX000000 00000000
00FFF100 XXXX0000 00000000
00FFF110 XXXX0000 00000000
00FFF120 XXXX0000 00000000
00FFF130 XXXX0000 00000000
00FFF140 XXXX0000 00000000
00FFF150 XXXX0000 00000000
CSR0
CSR1
CSR2
CSR3
CSR4
CSR5
CSR6
CSR7
WHLD
WHLD
WHLD
WHLD
WHLD
WHLD
WHLD
WSET
WSET
WSET
WSET
WSET
WSET
WSET
WACC
WACC
WACC
WACC
WACC
WACC
WACC
SIZE
SIZE
SIZE
SIZE
SIZE
SIZE
SIZE
RACC
RACC
RACC
RACC
RACC
RACC
WHLD
WHLD
WSET
WSET
WACC
WACC
RHLD
RHLD
RSET
RSET
RACC
RACC
CSDTR
CSRR
REC
RECOVERYSELECT
RM
SIZE
SIZE
SIZE
SIZE
SIZE
SIZE
BASEADDRESS(A27–A19)
BASEADDRESS(A27–A19)
BASEADDRESS(A27–A19)
BASEADDRESS(A27–A19)
BASEADDRESS(A27–A19)
BASEADDRESS(A27–A19)
DRAM0
DRAM1
DRAM2
DRAM3
DRAM4
DRAM5
RM
RM
RM
RM
RM
MOTOROLA
MC68322 USER’S MANUAL
C-1
u
Table C-1. Memory-Mapped Register Set (Continued)
MEMORY MAP
VALUE AT RESET
HIGH BYTE LOW BYTE
REG
ADDRESS
15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
TS
00FFF160 XXXXXXXX XXXXXX00
00FFF162 XXXXXX00 01000000
00FFF200 00000000 00000000
00FFF202 00000000 00000000
00FFF204 XX000000 00000000
00FFF206 XXXXXXXX XXXXXXX0
00FFF210 00000000 00000000
00FFF212 00000000 00000000
00FFF214 00000000 00000000
00FFF216 00000000 0000000X
00FFF218 XX000000 00000000
00FFF21A XXXXXXXX XXXXXXX0
00FFF21C XXXXXXXX XXX00000
00FFF300 XXXXXXX0 00000000
DRMCR
REFRESHINTERVALCOUNT(RIC)
0000
PDMADRAMTRANSFERADDRESS(HIGHWORD)
PDMADRAMTRANSFERADDRESS(LOWWORD)
PDMATRANSFERCOUNT
PDMA
CONFIG.
REG.
FR
0000
0000
GDMADRAMTRANSFERADDRESS(HIGHWORD)
GDMADRAMTRANSFERADDRESS(LOWWORD)
GDMA
CONFIG.
REG.
GDMACHIP-SELECTTRANSFERADDRESS(HIGHWORD)
GDMACHIP-SELECTTRANSFERADDRESS(LOWWORD)
GDMATRANSFERCOUNT
FR
D
DM
DS
W
GDMCR
PPCR
FLL RLD ABT PDE ERC MODE DFE RST
ACK BSY ACK BSY
INT AFD STR SIN
CMD
PER SEL FLT
00FFF302 XXXXX000 01101000
1
1
2
2
PPIR
DATA
ACKPULSEWIDTH(ACKW)
00FFF304 XXXXXXX0 00000000
00FFF306 XXXXXXXX 00000000
00FFF400 XXXXXXXX XXXXXXX0
00FFF402 X0000000 00000000
00FFF404 00000000 00000000
00FFF406 00000000 00000000
00FFF408 00000000 00000000
00FFF40A 00000000 00000000
00FFF40C XXXXXXXX XXXXX000
00FFF410 00000000 00000000
00FFF412 00000000 00000000
00FFF500 XXXXXXXX 00000000
00FFF502 XXXXXXXX 00000000
00FFF504 X0000000 00000000
00FFF600 XXXXXXXX 00000000
00FFF602 00000000 00000000
00FFF604 XXXXXXXX 00000000
00FFF606 00000000 00000000
00FFF700 XXXXXXXX XXX00000
00FFF702 XXXXXXXX X0000000
00FFF704 XXXXXXXX XXXXX000
00FFF710 XXXXXXXX XXXXXX00
00FFF712 XXXXXXXX XXXX0000
00FFF714 XXXXXXXX XXXXX000
00FFF720 XXXXXXXX XXXXXX00
00FFF722 XXXXXXXX XXXXXX00
00FFF724 XXXXXXXX XXXXX000
00FFF730 XXXXXXXX XXXXXXX0
00FFF732 XXXXXXXX XXXXXXX0
00FFF734 XXXXXXXX XXXXX000
PRT
VDP BDP PRP FSP LSP VCP VCS
PVCCR
SDN
SLC
SRC
PLE
PLD
VERTICALMARGIN
HORIZONTALMARGIN
PAGEIMAGEHEIGHT
PAGEIMAGEWIDTH
PCB
REG.
SET
SME B2T BND
0
PAGEIMAGEBITADDRESS(HIGHWORD)
PAGEIMAGEBITADDRESS(LOWWORD)
PRINTERCOMMAND
PRINTERSTATUS
CSB SRC CRC
TIMERINTERVAL(HIGHBYTE)
TIMERINTERVAL(LOWWORD)
TIMERCOUNT(HIGHBYTE)
TIMERCOUNT(LOWWORD)
PCOMR
CCLKDIVISOR
TIMER
REG.
ENABLE
BSY PFL PBB PGE BUD VUD ILA
PVCIR
RIER
INT.LEVEL
ENABLE
RBY DLF RDN RER
INT.LEVEL
ENABLE
CMS STR
INT.LEVEL
ENA
PCIER
TIMER
INT.
REG.
INT
INT.LEVEL
C-2
MC68322 USER’S MANUAL
MOTOROLA
u
Table C-1. Memory-Mapped Register Set (Continued)
MEMORY MAP
VALUE AT RESET
REG
ADDRESS
15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
HIGH BYTE LOW BYTE
ENABLE
00FFF740 XXXXXXXX XXXXX000
00FFF742 XXXXXXXX XXX00000
00FFF744 XXXXXXXX XXXXX000
00FFF750 XXXXXXXX XXXXX000
00FFF752 XXXXXXXX XXX00000
00FFF754 XXXXXXXX XXXXX000
00FFF760 XXXXX000 00000000
00FFF762 XXXXX000 00000000
00FFF764 XXXXXXXX XXXXX000
00FFF770 XXXXXXXX XXXXXX00
00FFF772 XXXXXXXX XXXX0000
00FFF774 XXXXXXXX XXXXX000
00FFF776 XXXXXXXX XXXX0000
00FFF778 XXXXXXXX XXXXXX00
00FFF780 XXXXXXXX XXXXXX00
00FFF782 XXXXXXXX XXXX0000
00FFF784 XXXXXXXX XXXXX000
00FFF786 XXXXXXXX XXXX0000
00FFF788 XXXXXXXX XXXXXX00
00FFF790 XXXXXXX0 00000000
00FFF792 XXXXXXX0 00000000
00FFF794 XXXXXXXX X0000000
00FFF7A0 XXXXXXXX XXXX0000
00FFF800 00000000 00000000
00FFF802 00000000 00000000
00FFF804 00000000 00000000
00FFF806 00000000 00000000
00FFF900 XXXXXXXX XXXX0000
00FFF902 00000000 00000000
00FFF904 00000000 00000000
00FFFA00 00000000 00000000
00FFFA02 XXXXXXXX XXXXX000
00FFFA04 00000000 00000000
00FFFA06 XXX00000 00000000
GDMA
INT.
REG.
BSY FLL TCR CMP ILA
INT.LEVEL
ENABLE
PDMA
INT.
REG.
BSY FLL TCR CMP ILA
INT.LEVEL
ENABLE
IVD CRD DRD IHL INH AFL AFH STL STH SNL SNH
PIER
INT.LEVEL
ENB2 ENB0
STS2 REQ2 STS0 REQ0
INT.LEVEL
EXIR0
MODE2
MODE0
SEN2 SEN0
ENB3 ENB1
STS3 REQ3 STS1 REQ1
INT.LEVEL
EXIR1
SIER
MODE3
MODE1
SEN3 SEN1
ENABLE
EIA CIA
EVENT
SET
GDR PDR RGP PVC
MSRR
RSR
0000
0000
HIGHWORD
LOWWORD
LOWWORD
REV
0
HIGHWORD
RDR
0
BASEADDRESS
MMAR
322MSK
DMASP
SPD
RGPBUSACTIVITY
DMA IPL MD
PVC
TEST
REG.
PDMA
SFT
GDMA
TMR PCOM
RGP
PPI
EX1 EX0
C.1 MC68322 MASK REGISTER
The MC68322 mask (322MSK) register reflects the revision number of the MC68322 chip.
C.2 TEST REGISTER
The test register contains fields that should not be read or written.
RGP Bus Activity
This field indicates the current bus activity while the RGP is processing a display list.
MOTOROLA
MC68322 USER’S MANUAL
C-3
u
DMA—DMA Test
When this bit is set with WAIT asserted, a DRAM cycle will be delayed. This bit is used for
testing the DMA cycles.
IPL—IPL Test
When this bit is set, the IPLx signals output on MA2–MA0. This bit is used with the test
registers interrupt set fields (PDMA, GDMA, TMR, PCOM, etc) to test the interrupt logic in
the MC68322.
MD—Mode Test
When this bit is set with WAIT asserted, the MC68322 goes into test mode.
Set Interrupt
The test register contains 10 fields, collectively called the set interrupt fields, which allow the
capability to set interrupt events for each module. Writing a 1 to a bit will set the
corresponding bit in that module’s interrupt event register. Writing a zero to a bit has no
effect. These fields are write-only.
C-4
MC68322 USER’S MANUAL
MOTOROLA
APPENDIX D
ALTERNATE PIN FUNCTIONS
This section describes the MC68322 alternate pin functions available in Mask Set G59B. In
small systems where many of the pins are not used, these pins may be individually
programmed as general-purpose inputs and outputs, thereby providing as many as four
I/O pins, 12 output pins, and two interrupt/input pins.
D.1 PINS
The following 18 pins have alternate functions. Each of these pins powers up with their
normal function. Software written for previous revisions of the MC68322 will operate
identically on Mask Set G59B provided users write zeroes to all unused register bits. To
alternately define these pins, the software may program the ALTPIN SEL register to assign
an alternate function to each pin. The following table shows the pins and pin type when the
ALTPIN SEL register bit is set. Note that three of the alternate bus master output signals
share a register bit.
Table D-1. ALTPIN SEL Bit Descriptions
00FFF910
00FFF912
00FFF914
ALTPIN IN
00FFF916
PIN TYPE
PIN
ALTPIN SEL
ALTPIN DIR
ALTPIN OUT
ALTPIN SEL =1
REGISTER BIT REGISTER BIT REGISTER BIT REGISTER BIT
A (22)
A (23)
A(24)
Input / Output
Input / Output
Input / Output
Input / Output
Output
0
1
0
0
0
1
1
1
2
2
2
2
A(25)
3
3
3
3
A (21)
CS* (4)
CS* (5)
CS* (6)
CS* (7)
RAS* (4)
RAS* (5)
WRU*
DACK*
AS*
4
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
4
Output
5
5
Output
6
6
Output
7
7
Output
8
8
Output
9
9
Output
10
11
12
13
13
13
14
15
10
11
12
13
14
—
—
—
Output
Output
Output
DTACK*
BG*
Output
Output / Buzzer
Input / Interrupt
Input / Interrupt
BR*
DREQ*
MOTOROLA
MC68322 USER’S MANUAL
D-1
u
D.2 STATE DURING RESET
The output pins are in the normal deasserted state during reset and the first bus cycles,
except for A[21:25], AS, and RAS[4:5]. Pins A[22:25] may be used as inputs on systems
that require 4M or less of ROM by using the input pin mode as described below.
D.3 REGISTERS
The new registers in the table below control the alternate pin function.
REGISTER
ALTPIN SEL
ADDRESS
00FFF910
00FFF912
00FFF914
00FFF916
BITS
16
4
R/W
DESCRIPTION
R/W Select Alternate Function For Each Pin.
R/W Direction Control For A[22:25], 0=In, 1=Out.
ALTPIN DIR
ALTPIN IN
4
R
Input Status For A[22:25].
ALTPIN OUT
15
R/W Output Control For Output Bits.
The following bits have been added to the existing external interrupt registers—DREQ
(EXIR2) bits were added to the EXIR0 registers and BR (EXIR3) bits were added to the
EXIR1 registers. The new bits are located immediately adjacent to the bits already contained
in those registers. For example, the EXIR0 enable bit is bit 0 in the EXIR0 ENB register and
the EXIR2 enable bit is bit 1. Similarly, the EXIR0 status and request bits are bit 1 and 0 of
the EXIR0 EVENT register, respectively, and the EXIR2 status and request bits are bit 3
and 2, respectively. EXIR0 and EXIR2 will share the same interrupt level as EXIR1 and
EXIR3. If BR or DREQ are to be used as simple inputs rather than interrupts, the software
should keep the interrupts disabled. Users can check the input pin status by reading the
status bit for the corresponding pin in the appropriate external interrupt event register. In a
similar way, the IRQ0 and IRQ1 pins have always been available as input pins.
REGISTER
EXIR0 ENB
ADDRESS
00FFF770
00FFF772
00FFF776
00FFF778
00FFF780
00FFF782
00FFF786
00FFF788
BITS
R/W
DESCRIPTION
1
2
2
1
1
2
2
1
R/W Interrupt EXIR2 Enable.
EXIR0 EVENT
EXIR0 MODE
EXIR0 SEN
R/W Interrupt EXIR2 Request And Status.
R/W Interrupt EXIR2 Mode.
R/W Interrupt EXIR2 Software Enable Bit.
R/W Interrupt EXIR3 Enable.
EXIR1 ENB
EXIR1 EVENT
EXIR1 MODE
EXIR1 SEN
R/W Interrupt EXIR3 Request And Status.
R/W Interrupt EXIR3 Mode.
R/W Interrupt EXIR3 Software Enable Bit.
D-2
MC68322 USER’S MANUAL
MOTOROLA
u
The registers in the following table have been added for buzzer control.
REGISTER
BUZZER INT
BUZZER ENB
ADDRESS
00FFF608
00FFF60A
BITS
R/W
DESCRIPTION
8
1
R/W Buzzer Interval.
R/W Buzzer Enable.
D.4 INPUT PIN MODE
For A[22:25] to be programmed as input pins, they must be three-stated on power-up to
prevent the processor from driving them during the initial bus cycles, which could cause bus
contention on these lines. To accommodate this condition, A[22:25] will power-up in a
three-state mode when a special state of the HI-Z and TEST pins exists. The normal
functions for BR and DREQ will also be disabled in input pin mode (ALTPIN SEL register
bits 14,15 are set). The table below shows the modes for these pins.
HI-Z
0
TEST
FUNCTION
0
1
Three-State All Outputs
0
Input Pin Mode, A[22:25] Three-Stated
ALTPIN SEL Register Bits 0-3, 14-15 = 1
1
1
0
1
Normal Mode, A[22:25] Enabled
ALTPIN SEL Register Bits 0-15 = 0
Special Test Mode (Do Not Use)
D.5 BUZZER
The BG output pin now has a buzzer control function, which consists of an 8-bit interval
control register, a 1-bit enable register, and a 16-bit free-running counter. The eight bits in
the BUZZER INT register control the value to be loaded into the upper byte of the 16-bit
counter after it reaches a count of zero. The lower byte will always be loaded with $FF. The
enable bit in the BUZZER ENB register causes the output from the BG pin to toggle every
time the counter reaches zero. The buzzer function drives a buzzer on the board or front
panel. On products that need this feature, the buzzer control function saves a 555 chip with
its resistors and capacitors.
D.6 IN-CIRCUIT EMULATION
If the alternate pin function is to be used in a system, then an in-circuit emulator (ICE) cannot
be used for system development. This feature of the G59B Mask Set is not available in an
ICE version. If the alternate pin function will not be used in the system, then the original ICE
version of the MC68322 can be used with an in-circuit emulator.
MOTOROLA
MC68322 USER’S MANUAL
D-3
u
D.7 OPERATION EXAMPLE
If the alternate pin functions are not used or if none of them are be used as inputs, then HI-Z
should be connected to V , and TEST (pin 159 of the PQFP package) should be connected
cc
to ground. If some of the input pins will be used, then the input pin mode should be selected
by connecting HI-Z to ground and TEST to V . This connection powers up the A[22:25] pins
cc
to function as input pins and disables the normal BR and DREQ input pin functions. The
software loads the ALTPIN OUT register with the initial values, loads the ALTPIN DIR
register to control the configuration of the A[22:25] pins, and loads the ALTPIN SEL register
to control the pin configurations.
D-4
MC68322 USER’S MANUAL
MOTOROLA
APPENDIX E
GLOSSARY
This section provides the definitions to some of the key terms used in this document.
address demunging
Reversal of a munge operation on an address. This has the effect of restoring the
original address.
address munging
Address modification in a way that the low-order three bits of the address are
exclusive-OR’ed with a three-bit value that depends on the length of the operand (refer
to the PowerPC™ Microprocessor Family: The Programming Environments
(MPGFPE/AD).
atomic cycle
If multiple bus transactions by a bus master occur in a sequence where the master
retains ownership of the bus during the duration of the sequence, thus preventing other
master(s) from transferring in the middle of the sequence, the sequence is considered
atomic.
autobaud
The process of determining a serial data rate by timing the width of a single bit.
big-endian
An ordering of the bytes within a word where the least-significant byte is at the highest
address and vice versa. For example, a 32-bit wide data bus with big-endian, the
least-significant byte is located on data bus bits 24-31 and the most-significant byte is
on bits 0-7.
blockage
The interval from the time an instruction begins execution until its execution unit is
available for a subsequent instruction (AND has 1 clock latency and 1 clock blockage).
boundedly undefined
Results of a given (not defined) instruction are boundedly undefined if they could have
been achieved by executing an arbitrary sequence of defined instructions in valid form
starting in the state the machine was before the attempt was made to execute the given
instruction.
MOTOROLA
MC68322 USER’S MANUAL
E-1
breakpoint
An event that forces the machine to branch into a breakpoint exception routine.
bubble
A number inside a circle that is used to identify specific terms in AC timing diagrams.
burst
A bus transfer that has more than one piece of data associated with it.
burst length
The number of data associated with a burst cycle. For example, a burst length of four
has four data pieces (four beats) associated with it.
bus park
Keeps the bus granted to a bus master although it has completed the bus cycle. This
allows the same master to make the next transfer without having to rearbitrate for the
bus.
copyback
Updates to external memory are delayed until forced by the user program or a transfer
of bus control to an external master. At the time of forced update or relinquishment of
the bus, all changes to the cache are written to external memory. Until that time, cache
and external memory are not coherent.
critical-data first
This feature allows the data transferred during the burst cycle to be organized where
the word or data needed first is the first one to transfer within the burst-data block. The
order of transferring can be sequential and usually wraps back to the word (or data)
zero. For example, 1→ 2 → 3 → 0 for a sequence of four data with data 1 as the critical
data.
datastream
A sequence of information to be processed by the CPU.
early termination
Some burst protocols specify the burst length at the beginning of the transfer. Early
termination allows the burst to be terminated before all data beats are transferred.
exception
An error, unusual condition, or external signal that can set a status bit. It may or may
not cause an interrupt, depending on whether or not the corresponding interrupt is
enabled.
E-2
MC68322 USER’S MANUAL
MOTOROLA
execution serialization
Instruction issue is halted until all instructions that are currently in progress complete
execution (all internal pipeline stages and instruction buffers have emptied and all
outstanding memory transactions are completed).
execution stream
The combination of instructions and data on which the CPU operates.
fetch serialization
Instruction fetch is halted until all instructions currently in the processor have completed
execution (all issued instructions as well as the prefetched instructions waiting to be
issued). The machine after fetch serialization is said to be completely synchronized.
fixed transaction
A bus transaction that combines the address and data phase of the bus cycle into a
single event.
flow control instruction
One of: B BR BCR BCC RFI SC and sometimes ISYNC.
half-word
A half-word consists of 2 bytes or 16 bits.
instruction done
Execution finished and results written back.
instruction execution time
All the time between taken and done.
instruction fetch
Reading the instruction data received from the instruction memory (I-Cache, Flash).
instruction issue
Driving valid instruction bits inside the core.
instruction retire
The instruction and all preceding instructions in the program finished execution with no
errors. Retired instructions are said to be architecturally executed.
instruction stream
A sequence of operands to be executed by the CPU.
instruction taken
All resources to perform the instruction are ready and the core begins executing it.
MOTOROLA
MC68322 USER’S MANUAL
E-3
internal bus
The bus connecting the CPU and SIU.
interrupt
The act of changing the machine state register and other parts of the machine state in
response to an exception.
latency
The interval from the time an instruction begins execution until it produces a result that
is available for use by a subsequent instruction.
little-endian
Byte ordering that assigns the lowest address to the lowest-order 8 bits of the scalar.
master
A device on the bus that requests bus ownership and initiates the bus cycles.
memory controller
A functional logic section of the . It’s primary function is to provide the controls for the
external bus memories and I/O devices.
no operation (NOP)
An instruction whose sole function is to increment the Program Counter, but which
affects no changes to any registers or memory.
pace control
Controls the rate of the data flow between the master and slave. The burst mechanisms
allow this to be controlled by the slave and is useful in slowing down the data transfer
rate. Slave delay can be used in place of pace control. It means the data pace can be
slowed down by the slave.
pipeline
The act of initiating a bus cycle while another bus cycle is in progress. Thus, the bus
can have multiple bus cycles pending at a time.
scan chain
The peripheral buffers of a device, linked in JTAG test mode, that are addressed in a
shift register fashion.
scoreboard
A register tracking system that ensures that values are not pulled from a register before
they are updated by a previous instruction.
sequential instruction
Any instruction that is not a flow control instruction and not ISYNC.
E-4
MC68322 USER’S MANUAL
MOTOROLA
Glossary
slave
A device that responds to the master’s address. A slave receives data on a write cycle
and gives data to the master on a read cycle.
snoop
The act of monitoring external bus activity by alternate bus masters. By snooping these
external accesses, a CPU can identify accesses to memory locations that contain dirty
data and possibly halt activity to supply correct data.
swap
Four byte lanes, reversing (lane 0 to lane 3, lane 1 to lane 2, lane 2 to lane 1 and lane
3 to lane 0).
tablewalk
An index value is used to identify an entry point in a tree structure that is traversed until
a pointer is found. The system ‘walks’ through a table of pointers to it’s end.
transaction
A bus transaction consists of an address transfer (address phase) and data transfers
(data phase).
time-division multiplex (TDM)
Any serial channel that is divided into channels separated by time.
watchpoint
An event that is reported, but does not change the timing of the machine.
word
A word consists of 4 bytes or 32 bits.
writethrough
Continuous updates, as they occur, of external memory so that cache and memory
maintain coherency at all times.
MOTOROLA
MC68322 USER’S MANUAL
E-5
applications, B-1
asynchronous operation, 10-10
INDEX
Numerics
B
0° pages
band
bottom-to-top (B2T) parameter 13-6
scanline run 12-7, 12-8
0˚ pages
definition, 1-11
180° pages
bit map type described 12-1
buffer, reuse, 10-7
display list defined 11-3
fault, 11-4
number paramenter, 13-7
underrun, interrupt event, 10-7
band buffer, 10-9
band faults, 13-8
band image
starting address 10-6
band numbers, 13-7
banded
band fault, during 11-4
bottom-to-top (B2T) parameter 13-6
definition, 1-11
scanline run, 12-7, 12-8
322MSK, C-3
A
duplex operation, 13-7
banded bitmap, 12-1
banding
accessing memory, 4-9
address
definition, 1-10
bit, defined 13-5
bit address, definition, 13-5
bit block order execution, 12-14
bit block transfer
byte, defined 13-5
address boundary, DRAM registers, 7-2
address bus, 2-3, 4-1
expanded operation, 12-5
bit block transfer graphic orders, 13-3
bit block transfers, 12-5
bit map
expanded described 12-1
bit maps
address constraints, 12-15
address error exception 5-12
address error, 5-12
address, physical vs logical, 13-6
addresses
physical/logical translation, 13-48
addresses, duplex, 13-6
expanded
clipping 13-3
bit string specifiers, 12-6
bitBLT
addresses, graphic orders, 13-5
addressing modes, 3-3
ALTPIN DIR, D-2
rendering direction, 10-5
bitBLT, 12-5
ALTPIN IN, D-2
ALTPIN OUT, D-2
bit-granular, control of clipping 13-3
bitmap
ALTPIN SEL, D-1
applications
banded, 12-1
definition, 1-9
expanded, 12-1
frame, 12-2
halftone, 12-2
unbanded, 12-1
configuring a generic print engine interface, B-11
configuring the DRAM and DRAM SIMM, B-2
configuring the flash EPROM, B-4
configuring the in-circuit emulation, B-9
configuring the parallel port, B-10
configuring the random control logic, B-7
configuring the serial EEPROM, B-8
MC68322 internal registers sample code, B-13
memory map initialization example, B-12
unexpanded, 12-1
bitmap types, 12-1
block diagrams
parallel port interface controller, 9-1
MOTOROLA
MC68322 USER’S MANUAL
Index-1
BLT2BB_D, 13-9
C
BLT2BB_SD, 13-11
BLT2BB_SHD, 13-13
BLT2BB_XD, 13-17
BLT2BB_XHD, 13-22
BLT2F_D, 13-27
CCLK supplied by MC68322, 10-11, 10-13
CCLK supplied by print engine, 10-12, 10-14
channel address
command received interrupt 9-7
chip-select
BLT2F_SD, 13-28
recovery value, 6-4
chip-select DMA timing register, 6-3
chip-selects
BLT2F_SHD, 13-29
BLT2F_XD, 13-31
BLT2F_XHD, 13-33
BLT2UB_D, 13-36
BLT2UB_SD, 13-37
BLT2UB_SHD, 13-38
BLT2UB_XD, 13-40
BLT2UB_XHD, 13-43
Boolean
active read and write times 6-2
banks
DMA access timing, 8-8
location priority 6-3
banks, chip-select registers 6-1
data transfers
synchronous timing values, 6-4
minimum value timings, 6-2
registers
code calculating example 12-4
specifying a graphic operatin transfer, 12-3
Boolean codes, 12-3
Boolean logic unit, 11-1
bottom-to-top (B2T), definition, 13-6
BR, asserting, 4-10
burst accesses, DRAM, 7-10
burst cycles
chip-select DMA timing register 6-3
chip-select recovery, 6-4
DMA access timing 8-8
location, 6-3
registers at reset, 6-3
size encodings, 6-2
DRAM access 7-1
timing characteristics, 6-2
clipping expanded bit maps 13-3
clocks
bus 4-1
address, 2-3
data, 2-3
command, supplying 10-2
status, supplying, 10-2
video, divisor operation, 10-15
command byte detection, 9-9
command bytes
during ECP mode 9-3
commands to the print engine, 10-11
communications modes, 9-1
compatibility mode (see handshaking)
core
bus arbitration
DRAM, 7-9
signals, asserting, 4-9
bus arbitration, 4-9
bus cycle, exception, 5-13
bus cycles
DRAM read cycles 7-7
DRAM write cycles 7-8
bus interface unit
GDMA read cycles, performing 8-7
bus mastership, exchanging, 4-9
bus operation
data types and addressing modes, 3-3
DRAM write cycle, 7-9
DRAMcontroller
core read cycle, 4-1
core write cycle, 4-4
external bus master, 4-9
interrupt acknowledge bus cycle, 4-6
reset, 4-8
accesses and refresh cycle, 7-6
instruction set summary, 3-4, 3-6
notational conventions, 3-4
programming model, 3-1
core read cycle, 4-1
bus operation, 4-1
core write cycle, 4-4
core, 3-1
BUZZER ENB, D-3
BUZZER INT, D-3
CSDTR, 6-3
CSR, 6-1
byte address, defined 13-5
byte operation, 4-1, 4-4
CSR, (see chip-selects, registers)
CSRR, 6-4
Index-2
MC68322 USER’S MANUAL
MOTOROLA
DMA initiated 8-6
DREQ and DACK during 8-7
size 8-6
D
DA (destination address)
defined 13-3
data bus (D15–D0)
DMA transfers, during 8-6
data bus, 2-3, 4-1
data formats, 3-3
DMA interface
channel status indication, 8-5
channels, 8-1
data latch
DRAM transfers, 8-6
data latch status indication, 8-5
DRAM bus, control, 8-8
error condition, 8-10
GDMA
CSx during read cycle, 8-7
handshaking, 8-7
read cycle request, 8-7
initiating an operation, 8-6
invalid address, accessing, 8-6
MC68322 address bus, incrementing, 8-2
operation, 8-1
data latch
DMA
during DRAM transfers 8-6
status indication 8-5
data latching
parallel port 9-13
data transfer rate, 9-14
data transfers(see also print engine videio controller
(PVC))
DMA termination, indication of 8-5
data turnaround time, 4-10
DDL, 1-8
default interface, 10-16
definitions, E-1
destination
reallocating resource, 8-6
transfer count field, 8-3
transfers
count, 8-3
operand type described 12-2
destination address
duplex operation, 13-6
digital filtering, 9-11
direct memory access (DMA)
DMA accesses 7-1
direction, programmed, 8-4
flush request, 8-3
termination indication, 8-5
width, programmed, 8-4
DMA interface signals, 2-8
DMA interface, 8-1
DMASP, 8-4
display list
banded defined, 11-3
errors during execution 11-4
example format 13-5
display lists
address convention, 12-15
DMA
DRAM
bank
size 7-1
banks
described 7-1
location 7-1
active channel indication 8-5
arbitration 8-8
chip-select bank
access timing 8-8
DRAM bus transfers 8-8
error condition 8-6
reset values 7-10
burst access
page boundary, crossing 7-10
burst accesses 7-10
burst cycles 7-1
bus
external device request 8-4
flush request, described 8-3
flush requst during operation 8-6
GDMA
DMA control of 8-8
bus transfers
DMA 8-8
devices
read cycle, termination 8-7
GDMA configuration registers, described 8-2
GDMA write cycle 8-7
illegal address interrupt 8-6
MC68322 bus cycles, CSx during 8-4
PDMA
during compatibilty mode 9-8
PDMA configuration registers, described 8-2
soft-reset register 5-14
transfers
operation speed 7-5
pre-charge 7-10
DMA accesses 7-1
DRAM control
TS field encodings 7-5
EC000 Core accesses 7-6, 7-9
fast-page mode 7-1
fast-page mode, burst accesses 7-10
nibble mode 7-1
MOTOROLA
MC68322 USER’S MANUAL
Index-3
registers
described 7-1
DRAM control 7-5
reset 7-10
display list execution, during 11-4
DMA transfers 8-10
RGP operation, during 11-3
error condition, DMA during 8-6
error cycles, 9-12
static column 7-1
transfers
exception handling, 5-1
exception processing
stack frame during 5-8
status register during 5-7
exception vector number 5-7
exceptions
DMA data latch during 8-6
WE, RAS, and CAS during DRAM read 7-7
DRAM bus
(see memory data and address bus)
DRAM controller
accesses
address error, 5-12
bus cycles, 5-13
burst, 7-10
bus arbitration, 7-9
acesses, 7-6
banks
causes, 5-11
how processing occurs, 5-6
illegal 5-11
location, 7-2
devices, 7-1
illegal and unimplemented instructions, 5-10
multiple 5-13
power-up, 7-10
multiple, 5-13
read cycle, 7-7
operation, 5-6
registers
priority 5-13
reset values, 7-10
registers and banks
base address and size fields, 7-1
ROM mode, 7-2
privilege violations, 5-11
processing-specific, 5-9
tracing, 5-12
types
registers and banks, 7-1
timing mode, 7-5
instruction traps, 5-10
interrupt, 5-10
timing modes, 7-5
write cycles, 7-8
reset, 5-9
types, 5-9
DRAM controller, 7-1
DRAM interface signals, 2-7
DRMCR, 7-5
unimplemented 5-11
exceptions, 5-6
EXIR0 ENB, D-2
duplex operation
EXIR0 EVENT, D-2
EXIR0 MODE, D-2
EXIR0 SEN, D-2
bottom-to-top (B2T) parameter 13-6
destination address (DA) during 13-6
duplex printing
EXIR1 ENB, D-2
explanation, 1-11
EXIR1 EVENT, D-2
EXIR1 MODE, D-2
EXIR1 SEN, D-2
E
expanded bit block graphic orders, 13-3
expanded bitmap, 12-1
expanded bitmaps
EC000 Core
DMA accesses 7-1
exceptions
clipping, 13-3
external bus master
illegal memory address access 5-3
external bus master read cycle, 4-10
external bus master signals, 2-6
external bus master write cycle, 4-11
external bus master, 4-9
address error 5-12
illegal 5-11
privileged violations 5-11
tracing 5-12
unimplemented 5-11
exceptions (see also exceptions)
flush request, DMA 8-3
illegal memory address access 5-3
status register during exception processing 5-7
electrical characteristics, 14-1
enhanced capabilities mode, 9-1
error condition
Index-4
MC68322 USER’S MANUAL
MOTOROLA
initialization, 13-1
program flow control, 13-3
scanline transfer, 13-4
F
fast-page mode, 7-1
features
types, 13-1
graphic orders, 13-1
graphics unit
core, 3-1
MC68322, 1-2
FH (frame height), defined 13-4
flush request
shut down 12-15
DMA, during operation, 8-6
flush request, DMA 8-3
frame bit map described 12-2
frame bitmap, 12-2
FW (frame width), defined 13-3
H
HA (halftone address), defined 13-3
halftone
32-bit specifier, 12-10
48-bit specifier described 12-11
bit map type described 12-2
operand type described 12-2
specifier boundary conditions 12-12
table
address convention 12-15
table address (HTTA) during duplex
operation 13-6
G
GDMA (general purpose DMA), (see DMA)
GDMA, 8-2
GDMCR, 8-3
glossary, E-1
graphic operations
bit block and scanline order execution, 12-14
bit block transfer, 12-5
bitmap types, 12-1
Boolean codes, 12-3
graphic operands
halftone bitmap, 12-2
halftone companion table, 12-10
halftoning
definition, 1-10
handshaking
types, 12-3
compatability
graphic operands, 12-2
location and address constraints, 12-15
scanline and halftone table example, 12-13
scanline transfer
error cycles, 9-12
ECP
enabling with RLE, 9-9
enabling without RLE 9-9
operation 9-9
with RLE, 9-10
without RLE, 9-10
executing during banded applications, 12-9
halftone companion tables, 12-10
run operation, 12-8
scanline transfer, 12-5
graphic operations, 12-1
graphic order
interrupted 11-4
graphic orders
hardware, disabling, 9-10
resetting controller, 9-14
software-controlled, 9-11
handshaking modes
compatability
address alignment, 13-5
addresses, 13-5
enabling, 9-8
operation 9-8
band number and fault, 13-7
bitBLT during duplex 13-6
defined 11-1
PDMA during 9-8
ECP
command bytes during, 9-3
types, 9-8
descriptions, 13-8
display list sequence, 13-5
duplex operation 13-6
example display list format 13-5
execution unit, 11-1
operand types, 12-2
parser, 11-1
hardware handshaking, 9-7
horizontal margin (see page, margins)
HTTA (see halfton table address)
HXR (halftone X remainder), defined 13-3
HYR (halftone Y remainder), defined 13-4
scanline during duplex, 13-6
types
bit block transfer, 13-3
expanded bit block transfer, 13-3
MOTOROLA
MC68322 USER’S MANUAL
Index-5
registers
external described 5-4
software event described 5-3
software
I
ICE interface signals, A-1
ICE, A-1
illegal address
clearing, 5-3
setting priority level, 5-3
DMA access to 8-6
illegal address interrupt, 4-12
illegal and unimplemented instructions, 5-10
illegal instruction exception 5-11
in-circuit emulation interface
adaptor board design, A-4
adaptor board schematics, A-6
pin assignment, A-16
signals, A-1
software, 5-3
interrupts, 5-1
J
JUMP, 13-46
in-circuit emulation interface, A-1
initialization graphic orders, 13-1
instruction set summary, 3-4, 3-6
instructions
L
languages
printer, 1-8
latching, 9-13
location constraints, 12-15
illegal and unimplemented, 5-11
privileged listed 5-11
privileged, 5-11
tracing 5-12
M
unimplemented emulation 5-11
interrupt acknowledge bus cycle, 4-6
interrupt events
command sent, 10-11
RGP error, 12-15
interrupt handling, 5-1
interrupt, generating, 4-6
interrupts
mask register, C-3
mastership, assuming, 4-9
MC68322
alternate pin functions, D-1
applications, B-1
bus arbitration, 4-9
bus operation, 4-1
configuration, B-1
core, 3-1
DMA interface, 8-1
DRAM controller, 7-1
electrical and thermal characteristics, 14-1
explanation, 1-8
features, 1-2
graphic operations, 12-1
graphic orders, 13-1
in-circuit emulation interface, A-1
interrupt and exception handling, 5-1
introduction, 1-1
DTACK, during illegal memory address
access 5-3
error during RGP operation, 11-3
events
band underrun 10-7
command recieve, 9-7
command sent status, 10-8
data received, 9-7
DMA illegal address 8-6
EC000 Core request 9-8
illegal address, PVC, 10-7
page end 10-7
page/band begin, 10-7
PDMA request, 9-8
RGP busy, 11-3
memory-mapped register summary, C-1
parallel port interface, 9-1
print engine interface, 10-1
RISC graphics processor, 11-1
signal descriptions, 2-1
system integration module, 6-1
MC68322 bus
RGP error 11-4
status receive, 10-8
video underrun 10-7
external, 5-4
externally initiated 5-4
hardware, 5-1
illegal memory address access, 5-3
internal, 5-1
IRQx, during external interrupts 5-4
priority level
cycles
CSx during DMA generated, 8-4
DMA incrementing address 8-2
DMA read and write cycles 8-7
MC68322 reset, differences during, 10-16
mechanicals, 15-1
external, 5-4
Index-6
MC68322 USER’S MANUAL
MOTOROLA
memory addresses, 3-3
registers, 9-2
memory data bus
RESET, 9-14
DRAM write cycles 7-8
memory-mapped registers, C-1
modes of operation
software controlled handshaking, 9-11
parallel port interface, 9-1
PCB, 10-5
exception processing described 5-6
module soft-reset register (MSRR), described 5-14
module soft-reset register, 5-14
MSRR, 5-14
PCIER, 10-8
PCL, 1-8
PCOMR, 10-2
PDL, 1-8
multiple exceptions, 5-13
PDMA (parallel port DMA), (see DMA)
PDMA, 8-2
performance, improving, 4-9
phase 10-1
N
phase lock loop
nibble mode, 7-1
control of video clock, 10-3
phase-locked loop, 10-1
PIER, 9-6
notational conventions, 3-4
pins (alternate)
O
functions, D-1
operands
pixel, definition, 12-1
PLL video clock divisor, 10-15
PLL, 10-1
types of graphic order 12-2
operation, bus, 4-1
ordering information, 15-1
PPCR, 9-4
PPIR, 9-2
prescaler, setting resolution 10-15
print engine
P
page
band image starting address, 10-6
clocks
buffer reuse 10-7
height of image, 10-5
image
dimension and location 10-9
height values counted down 10-9
width values counted down, 10-9
width 10-5
supplying cammand and status 10-2
command operation
end of operation 10-11
interface
operation, described 10-9
reset operation 10-11
synchronous operation 10-10
transmitting data, 10-2
video clock divisor operation 10-15
video rate supplied 10-2
print engine interface
operation
page boundary
DRAM burst access 7-10
parallel interface port signals, 2-9
parallel port
control signals 9-8
digital filtering, operation 9-11
error cycles (see error cycles)
hardware handshaking (see handshaking)
parallel port interface
block diagram, 9-1
command, 10-11
PLL video clock divisor, 10-15
status, 10-13
operation, 10-9
data latching operation, 9-13
data transfer rate, 9-14
digital filtering, 9-11
error cycles, 9-12
hardware handshaking
disabling, 9-10
printer communication protocol, 10-8
PVC on reset, 10-15
registers
printer communication interrupt event, 10-8
printer communication, 10-2
printer control block register set, 10-5
PVC control, 10-3
ECP, 9-8
hardware handshaking, 9-7
interrupt events, 9-6
PDMA, 9-8
PVC interrupt event, 10-6
registers, 10-2
synchronous/asynchronous PVC
operation, 10-10
PDMA, (see also DMA)
MOTOROLA
MC68322 USER’S MANUAL
Index-7
print engine interface, 10-1
print engine video controller
data transfer complete, 10-9
soft-reset, 10-16
print engine video controller (PVC)
soft-reset 10-7
internal status, 5-1
interrupt event, 4-6, 5-1
interrupt level, 5-1
location overlap priority 6-3
mask, C-3
memory-mapped, C-1
module soft-reset (MSRR), described 5-14
parallel port control, 9-4
parallel port interface, 9-2
PDMA configuration, 8-2
PPI interrupt event, 9-6
printer communication interrupt event, 10-8
printer communication, 10-2
printer control block, 10-5
PVC control, 10-3
starting 10-9
print engine video controller interface signals, 2-8
print engine video controller, 10-1
printer communication interface signals, 2-8
printer communication protocol, 10-8
printer control block
new print operation indication, 10-6
printer languages, 1-8
printer video controller
soft-reset register 5-14
printer video controller (PVC)
burst cycles 7-1
PVC interrupt event, 10-6
RGP diagnostic, 11-2
RGP interrupt event, 11-2
RGP start, 11-2
DMA accesses 7-1
priviledge violation exception 5-11
privileged instructions listed 5-11
program flow control graphic orders, 13-3
PVC reset interrupt event, 10-15
PVC, 10-1
software interrupt event
described 5-3
software interrupt event, 4-12, 5-3
status (see EC000 Core)
status, 4-8, 5-7
PVCCR, 10-3
test, C-3
PVCIR, 10-6
timer interrupt event, 5-5
timer, 5-5
rendering direction, programmed 10-5
RESET
R
asserting, 9-14
reset exeption, 5-9
reset instruction
executing, 4-8
reset operation
PVC during, 10-11
PVC, 10-15
reset operation, 4-8
resolution 10-15
resolution, 10-1
RGP, 10-9, 11-1
RICSC graphics processor (RGP)
burst cycles 7-1
RDR, 11-2
reallocating DMA resource 8-6
refresh cycle
CAS before RAS, timing 7-5
EC000 Core accesses 7-6
timing 7-6
timing parameters, 7-5
refresh cycle, 7-6
refresh cycles
WE during 7-6
registers
alternate pin, D-2
chip-select DMA timing, 6-3
chip-select recovery, 6-4
chip-select related, 6-1
chip-select, 6-1
RIER, 11-2
RISC graphics processor
DMA accesses, 7-1
errors during display list execution, 11-4
operation, 11-3
DMA speed, 8-4
DRAM (see DRAM registers)
DRAM control, 7-5
DRAM, 7-1
external interrupt, 5-4
external interrupt, described 5-4
GDMA configuration
described 8-2
registers
RGP diagnostic, 11-2
RGP interrupt event, 11-2
RGP start, 11-2
registers, 11-2
soft-reset register 5-14
RISC graphics processor, 11-1
ROM mode, 7-2
GDMA configuration, 8-2
GDMA control, 8-3
Index-8
MC68322 USER’S MANUAL
MOTOROLA
RSR, 11-2
run-length
DREQ
default configuration 8-7
GDMA handshaking 8-7
DTACK
decompression
resetting logic 9-14
decompression, 9-10
run-length encoding
asynchronous EC000 Core timing 6-5
illegal memory address access 5-3
external bus master, 2-6
external interrupts, 5-4
FAULT*
command received interrupt 9-7
S
driving high level on 9-4
FSYNC*
sample code, B-13
scanline
page/band begin interrupt, during 10-7
LDS (lower data strobe) 7-8
parallel port interface, 2-9
print engine video controller interface, 2-8
printer communication interface, 2-8
RAS
DRAM read cycles 7-7
SELECT*
driving high level on 9-3
STROBE*
during compatibility mode transfer 9-8
hardware handshaking disabled 9-10
system interface, 2-4
WAIT
asynchronous EC000 Core timing 6-5
WE
DRAM read cycles 7-7
DRAM write cycles 7-8
during refresh cycles 7-6
WRL
DMA transfers, during 8-6
GDMA write cycle 8-7
WRU
table
address convention 12-15
table address (STLA) during duplex operation
13-6
scanline and halftone table example, 12-13
scanline graphic orders, 13-4
scanline order execution, 12-14
scanline table, 12-6
scanline, definition, 12-1
scource
operand type described 12-2
SET_BBMAP, 13-47
SET_BOOL_D, 13-50
SET_HTBMAP, 13-51
SET_SBMAP, 13-53
SET_UBMAP, 13-54
signal descriptions, 2-1
signal summary, 2-2
signals
ACK*
during compatibility mode transfer 9-8
software control of 9-4
AUTOFD*
during compatibility mode transfer 9-8
bus arbitration, 4-9
bus control, 4-1
DMA transfers, during 8-6
GDMA write cycle 8-7
SIM, 6-1
SL2BB_D, 13-55
SL2BB_HD, 13-57
SL2F_D, 13-60
SL2F_HD, 13-61
SL2UB_D, 13-63
SL2UB_HD, 13-64
SLTA (see scanline table address)
SmartToner
BUSY
software control of 9-4
CAS
DRAM read cycles 7-7
CASx
DRAM burst accesses 7-10
CMD/STS*
enabled, 10-5
soft-reset
direction of 10-2
CSx
PVC 10-7
RGP 11-4
specifications, 14-1
SR, 5-7
stack frame
exception 5-8, 5-11
static column, 7-1
STOP, 13-66
DMA access timing 8-8
GDMA read cycle, during 8-7
DACK
DMA access timing 8-8
GDMA handshaking 8-7
GDMA read cycle 8-7
DMA interface, 2-8
DRAM interface, 2-7
MOTOROLA
MC68322 USER’S MANUAL
Index-9
supplying valid data, 4-11
system integration module, 6-1
system interface signals, 2-4
X
X dimension
definition, 1-9
X dimension, definition, 12-1
XOFF, defined 13-3
XON, definition, 13-4
T
termination
bad address, 8-10
core-forced, 8-10
normal, 8-9
Y
Y dimension
terminology, E-1
test register, C-3
thermal characteristics, 14-1
TIER, 5-5
definition, 1-9
Y dimension, definition, 12-1
timer
count, 5-6
interval 5-6
timer module, 5-5
tracing 5-12
tracing, 5-12
transfer
bit block, 12-5
scanline, 12-5
transfer count field, DMA described 8-3
transfer, initiating, 4-4
transferring data, 4-1
U
unbanded
duplex operation during 13-7
unbanded bit map described 12-1
unbanded bitmap, 12-1
unexpanded bit map described 12-1
unexpanded bitmap, 12-1
unimplemented instruction exception 5-11
unimplemented insturction emulation 5-11
V
vector
numbers, listed 5-8
table 5-8
vertical margin, 10-5
video
underrun, interrupt event, 10-7
W
word operation, 4-4
word-sized read cycle support, 4-10
word-sized write cycle, 4-11
Index-10
MC68322 USER’S MANUAL
MOTOROLA
Order this document
by MC68340/D
MOTOROLA
SEMICONDUCTOR
PRODUCT INFORMATION
MC68340
MC68340V
Product Brief
Integrated Processor With DMA
The MC68340 is a high-performance 32-bit integrated processor with direct memory access (DMA),
combining an enhanced M68000-compatible processor, 32-bit DMA, and other peripheral subsystems on a
single integrated circuit. The MC68340 CPU32 delivers 32-bit CISC processor performance from a lower
cost 16-bit memory system. The combination of peripherals offered in the MC68340 can be found in a
diverse range of microprocessor-based systems, including embedded control and general computing.
Systems requiring very high-speed block transfers of data can especially benefit from the MC68340's DMA.
The MC68340's high level of functional integration results in significant reductions in component count,
power consumption, board space, and cost while yielding much higher system reliability and shorter design
time. The 3.3-V MC68340V is particularly attractive to applications requiring a very tight power budget.
Complete code compatibility with the MC68000 affords the designer access to a broad base of established
real-time kernels, operating systems, languages, applications, and development tools—many oriented
towards embedded control. Figure 1 shows a block diagram of the MC68340.
SYSTEM
INTEGRATION
MODULE
TWO-
CHANNEL
SERIAL
I/O
CPU32
CORE
SYSTEM
PROTECTION
CLOCK
32
EXTERNAL
BUS
INTERFACE
INTERMODULE BUS
16
BUS
ARBITRATION
TWO-CHANNEL DMA
CONTROLLER
TIMER
MODULE
TIMER
MODULE
IEEE TEST
Figure 1. MC68340 Simplified Block Diagram
This document contains information on a product under development. Motorola reserves the right to change or discontinue this product without notice.
Rev 3
Also Replaces BR752/D
© MOTOROLA INC., 1992
The primary features of the MC68340 are as follows:
• High Functional Integration on a Single Piece of Silicon
• CPU32—MC68020-Derived 32-Bit Central Processor Unit
— Upward Object-Code Compatible with MC68000 and MC68010
— Additional 32-Bit MC68020 Instructions and Addressing Modes
— Unique Embedded Control Instructions
— Fast Two-Clock Register Instructions—10,045 Dhrystones/Second
• Two-Channel Low-Latency DMA Controller for High-Speed Memory Transfers
— Single- or Dual-Address Transfers
— 32-Bit Addresses and Counters
— 8-, 16-, and 32-Bit Data Transfers
— 50 Mbyte/Sec Sustained Transfers (12.5 Mbyte/Sec Memory-to-Memory)
• Two-Channel Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
— Baud Rate Generators
— Modem Control
— MC68681/MC2681 Compatible
— 9.8 Mbits/Sec Maximum Transfer Rate
• Two Independent Counter/Timers
— 16-Bit Counter
— Up to 8-Bit Prescaler
— Multimode Operation
— 80-ns Resolution
• System Integration Module Incorporates Many Functions Typically Relegated to
External PALs, TTL, and ASIC, such as:
— System Configuration
— System Protection
— Chip Select and Wait State Generation
— Clock Generation
— External Bus Interface
— Periodic Interrupt Timer
— Interrupt Response
— Bus Arbitration
— Dynamic Bus Sizing
— Up to 16 Discrete I/O Lines
• 32 Address Lines, 16 Data Lines
— IEEE 1149.1 Boundary Scan (JTAG)
— Power-On Reset
• Power Consumption Control
— Static HCMOS Technology Reduces Power in Normal Operation
— Low Voltage Operation at 3.3 V ±0.3 V (MC68340V only)
— Programmable Clock Generator Throttles Frequency
— Unused Peripherals Can Be Turned Off
— LPSTOP Provides an Idle State for Lowest Standby Current
• 0–16.78 MHz or 0–25.16 MHz Operation
• 144-Pin Ceramic Quad Flat Pack (CQFP) or 145-Pin Plastic Pin Grid Array (PGA)
As a low voltage part, the MC68340V can operate with a 3.3-V power supply. MC68340 is used throughout
this document to refer to both the low voltage and standard 5-V parts since both are functionally equivalent.
2
MC68340 PRODUCT INFORMATION
MOTOROLA
M68300 FAMILY
The MC68340 is one of a series of components in Motorola's M68300 Family. Other members of the family
include the MC68302, MC68330, MC68331, MC68332, and MC68F333.
ORGANIZATION
The M68300 family of integrated processors and controllers is built on an M68000 core processor, an on-
chip bus, and a selection of intelligent peripherals appropriate for a set of applications. The CPU32 is a
powerful central processor with nearly the performance of the MC68020. A system integration module
incorporates the external bus interface and many of the smaller circuits that typically surround a
microprocessor for address decoding, wait-state insertion, interrupt prioritization, clock generation,
arbitration, watchdog timing, and power-on reset timing.
Each member of the M68300 family is distinguished by its selection of peripherals. Peripherals are chosen
to address specific applications but are often useful in a wide variety of applications. The peripherals may be
highly sophisticated timing or protocol engines that have their own processors, or they may be more
traditional peripheral functions, such as UARTs and timers. Since each major function is designed in a
standalone module, each module might be found in many different M68300 family parts. Driver software
written for a module on one M68300 part can be used to run the same module that appears on another part.
ADVANTAGES
By incorporating so many major features into a single M68300 family chip, a system designer can realize
significant savings in design time, power consumption, cost, board space, pin count, and programming. The
equivalent functionality can easily require 20 separate components. Each component might have 16–64
pins, totaling over 350 connections. Most of these connections require interconnects or are duplications.
Each connection is a candidate for a bad solder joint or misrouted trace. Each component is another part to
qualify, purchase, inventory, and maintain. Each component requires a share of the printed circuit board.
Each component draws power—often to drive large buffers to get the signal to another chip. The cumulative
power consumption of all the components must be available from the power supply. The signals between
the CPU and a peripheral might not be compatible nor run from the same clock, requiring time delays or
other special design considerations.
In a M68300 family component, the major functions and glue logic are all properly connected internally,
timed with the same clock, fully tested, and uniformly documented. Power consumption stays well under a
watt, and a special standby mode drops current well under a milliamp during idle periods. Only essential
signals are brought out to pins. The primary package is the surface-mount quad flat pack for the smallest
possible footprint; pin grid arrays are also available.
MC68340 SIGNALS
Figure 2 shows the components and signals.
MOTOROLA
MC68340 PRODUCT INFORMATION
3
A31/PORT A7/IACK7
A30/PORT A6/IACK6
A29/PORT A5/IACK5
A28/PORT A4/IACK4
A27/PORT A3/IACK3
A26/PORT A2/IACK2
A25/PORT A1/IACK1
A24/PORT A0
PORT A
RxDA
TxDA
TWO-CHANNEL
SERIAL
CPU32
68020-BASED
PROCESSOR
CTSA
RxDB
TxDB
CTSB
I/O
TEST
A23–A0
D15–D0
FC3–FC0
RESET
BERR
HALT
AS
TxRDYA/OP6
RxRDYA/FFULLA/OP4
RTSB/OP1
EXTERNAL
OUTPUT
PORT
BUS
INTERFACE
SYSTEM
INTEGRATION
MODULE
RTSA/OP0
DS
R/W
IMB
(SIM40)
SIZ1
SIZ0
DSACK1
DSACK0
BR
BG
BGACK
RMC
BUS
ARBITRATION
CLOCK
TWO-CHANNEL DMA
CONTROLLER
TIMER
MODULE
TIMER
MODULE
IRQ7/PORT B7
IRQ6/PORT B6
IRQ5/PORT B5
IRQ3/PORT B3
PORT B
CS3/IRQ4/PORT B4
CS2/IRQ2/PORT B2
CS1/IRQ1/PORT B1
CS0/AVEC
MODCK/PORT B0
Figure 2. MC68340 Detailed Block Diagram
4
MC68340 PRODUCT INFORMATION
MOTOROLA
CENTRAL PROCESSOR UNIT
The CPU32 is a powerful central processor that supervises system functions, makes decisions, manipulates
data, and directs I/O. A special debugging mode simplifies processor emulation during system debug.
CPU32
The CPU32 is an M68000 family processor specially designed for use as a 32-bit core processor and for
operation over the intermodule bus (IMB). Designers used the MC68020 as a model and included advances
of the later M68000 family processors, resulting in an instruction execution performance of 4 MIPS (VAX-
equivalent) at 25.16 MHz.
The powerful and flexible M68000 architecture is the basis of the CPU32. MC68000 (including the
MC68HC000 and the MC68EC000) and MC68010 user programs will run unmodified on the CPU32. The
programmer can use any of the eight 32-bit data registers for fast manipulation of data and any of the eight
32-bit address registers for indexing data in memory. The CPU32 can operate on data types of single bits,
binary-coded decimal (BCD) digits, and 8, 16, and 32 bits. Peripherals and data in memory can reside
anywhere in the 4-Gbyte linear address space. A supervisor operating mode protects system-level
resources from the more restricted user mode, allowing a true virtual environment to be developed.
Flexible instructions for data movement, arithmetic functions, logical operations, shifts and rotates, bit set
and clear, conditional and unconditional program branches, and overall system control are supported,
including a fast 32 × 32 multiply and 32-bit conditional branches. Instructions, such as table lookup and
interpolate and low power stop, support specific requirements of embedded control applications. Many
addressing modes complement these instructions, including predecrement and postincrement, which allow
simple stack and queue maintenance and scaled indexed for efficient table accesses. Data types and
addressing modes are supported orthogonally by all data operations and with all appropriate addressing
modes. Position-independent code is easily written.
The CPU32 is specially optimized to run with the MC68340's 16-bit data bus. Most instructions execute in
one-half the number of clocks compared to the original MC68000, yielding an overall 1.6 times the
performance of the same-speed MC68000 and measuring 10,045 Dhrystones/sec @ 25.16 MHz
(6,742 Dhrystones/sec @ 16.78 MHz).
Like all M68000 family processors, the CPU32 recognizes interrupts of seven different priority levels and
allows the peripheral to vector the processor to the desired service routine. Internal trap exceptions ensure
proper instruction execution with good addresses and data, allow operating system intervention in special
situations, and permit instruction tracing. Hardware signals can either terminate or rerun bad memory
accesses before instructions process data incorrectly.
The CPU32 offers the programmer full 32-bit data processing performance with complete M68000
compatibility, yet with more compact code than is available with RISC processors. The CPU32 is identical in
all CPU32-based M68300 family products.
BACKGROUND DEBUG MODE
A special operating mode is available in the CPU32 in which normal instruction execution is suspended
while special on-chip microcode performs the functions of a debugger. Commands are received over a
dedicated, high-speed, full-duplex serial interface. Commands allow the manual reading or writing of CPU32
registers, reading or writing of external memory locations, and diversion to user-specified patch code. This
background debug mode permits a much simpler emulation environment while leaving the processor chip in
the target system, running its own debugging operations.
MOTOROLA
MC68340 PRODUCT INFORMATION
5
ON-CHIP PERIPHERALS
To improve total system throughput and reduce part count, board size, and cost of system implementation,
the M68300 family integrates on-chip, intelligent peripheral modules and typical glue logic. These functions
on the MC68340 include the SIM40, a DMA controller, a serial module, and two timers.
The processor communicates with these modules over the on-chip intermodule bus (IMB). This backbone of
the chip is similar to traditional external buses with address, data, clock, interrupt, arbitration, and
handshake signals. Because bus masters (like the CPU32 and DMA), peripherals, and the SIM40 are all on
the chip, the IMB ensures that communication between these modules is fully synchronized and that
arbitration and interrupts can be handled in parallel with data transfers, greatly improving system
performance. Internal accesses across the IMB may be monitored from outside of the chip, if desired.
Each module operates independently. No direct connections between peripheral modules are made inside
the chip; however, external connections could, for instance, link a serial output to a DMA control line.
Modules and their registers are accessed in the memory map of the CPU32 (and DMA) for easy access by
general M68000 instructions and are relocatable. Each module may be assigned its own interrupt level,
response vector, and arbitration priority. Since each module is a self-contained design and adheres to the
IMB interface specifications, the modules may appear on other M68300 family products, retaining the
investment in the software drivers for the module.
SYSTEM INTEGRATION MODULE
The MC68340 SIM40 provides the external bus interface for both the CPU32 and the DMA. It also
eliminates much of the glue logic that typically supports the microprocessor and its interface with the
peripheral and memory system. The SIM40 provides programmable circuits to perform address decoding
and chip selects, wait-state insertion, interrupt handling, clock generation, bus arbitration, watchdog timing,
discrete I/O, and power-on reset timing. A boundary scan test capability is also provided.
External Bus Interface
The external bus interface (EBI) handles the transfer of information between the internal CPU32 or DMA
controller and memory, peripherals, or other processing elements in the external address space. Based on
the MC68030 bus, the external bus provides up to 32 address lines and 16 data lines. Address extensions
identify each bus cycle as CPU32 or DMA initiated, supervisor or user privilege level, and instruction or data
access. The data bus allows dynamic sizing for 8- or 16-bit bus accesses (plus 32 bits for DMA).
Synchronous transfers for the CPU32 or the DMA can be made in as little as two clock cycles.
Asynchronous transfers allow the memory system to signal the CPU32 or DMA when the transfer is
complete and to note the number of bits in the transfer. An external master can arbitrate for the bus using a
three-line handshaking interface.
System Configuration And Protection
The M68000 family of processors is designed with the concept of providing maximum system safeguards.
System configuration and various monitors and timers are provided in the MC68340. Power-on reset
circuitry is a part of the SIM40. A bus monitor ensures that the system does not lock up when there is no
response to a memory access. The bus fault monitor can reset the processor when a catastrophic bus
failure occurs. Spurious interrupts are detected and handled appropriately. A software watchdog can pull the
processor out of an infinite loop. An interrupt can be sent to the CPU32 with programmable regularity for
DRAM refresh, time-of-day clock, task switching, etc.
6
MC68340 PRODUCT INFORMATION
MOTOROLA
Clock Synthesizer
The clock synthesizer generates the clock signals used by all internal operations as well as a clock output
used by external devices. The clock synthesizer can operate with an inexpensive 32768-Hz watch crystal or
an external oscillator for reference, using an internal phase-locked loop and voltage-controlled oscillator. At
any time, software can select clock frequencies from 131 kHz to 16.78 MHz or 25.16 MHz, favoring either
low power consumption or high performance. Alternately, an external clock can drive the clock signal directly
at the operating frequency. With its fully static HCMOS design, it is possible to completely stop the system
clock without losing the contents of the internal registers.
Chip Select And Wait State Generation
Four programmable chip selects provide signals to enable external memory and peripheral circuits,
providing all handshaking and timing signals with up to 175-ns access times with a 25-MHz system clock
(265 ns @ 16.78 MHz). Each chip select signal has an associated base address and an address mask that
determine the addressing characteristics of that chip select. Address space and write protection can be
n
selected for each. The block size can be selected from 256 bytes up to 4 Gbytes in increments of 2 .
Accesses can be preselected for either 8- or 16-bit transfers. Fast synchronous termination or up to three
wait states can be programmed, whether or not the chip select signals are used. External handshakes can
also signal the end of a bus transfer. A system can boot from reset out of 8-bit-wide memory, if desired.
Interrupt Handling
Seven input signals are provided to trigger an external interrupt, one for each of the seven priority levels
supported. Seven separate outputs can indicate the priority level of the interrupt being serviced. An input
can direct the processor to a default service routine, if desired. Interrupts at each priority level can be
preprogrammed to go to the default service routine. For maximum flexibility, interrupts can be vectored to
the correct service routine by the interrupting device.
Discrete I/O Pins
When not used for other functions, 16 pins can be programmed as discrete input or output lines.
Additionally, in other peripheral modules, pins for otherwise unused functions can often be used for general
input/output.
IEEE 1149.1 Test
To aid in system diagnostics, the MC68340 includes dedicated user-accessible test logic that is fully
compliant with the IEEE 1149.1 standard for boundary scan testability, often referred to as JTAG (Joint Test
Action Group).
DIRECT MEMORY ACCESS MODULE
The most distinguishing MC68340 characteristic is the high-speed 32-bit DMA controller, used to quickly
move large blocks of data between internal peripherals, external peripherals, or memory, without processor
intervention. The DMA module consists of two, independent, programmable channels. Each channel has
separate request, acknowledge, and done signals. Each channel can operate in a single-address (flyby) or a
dual-address mode.
In single-address mode, only one (the source or the destination) address is provided, and a peripheral
device such as a serial communications controller receives or supplies the data. An external request must
start a single-address transfer. In this mode, each channel supports 32 bits of address and 8, 16, or 32 bits
of data.
MOTOROLA
MC68340 PRODUCT INFORMATION
7
In dual-address mode, two bus transfers occur, one from a source device and the other to a destination
device. Dual-address transfers can be started by either an internal or external request. In this mode, each
channel supports 32 bits of address and 8 or 16 bits of data (32 bits require external logic). The source and
destination port size can be selected independently; when they are different, the data will be packed or
unpacked. An 8-bit disk interface can be read twice before the concatenated 16-bit result is passed into
memory.
Byte, word, and long-word counts up to 32 bits can be transferred. All addresses and transfer counters are
32 bits. Addresses increment or remain constant, as programmed. The DMA channels support two external
request modes, burst transfer and cycle steal. Internal requests can be programmed to occupy 25, 50, 75, or
100 percent of the data bus bandwidth. Interrupts can be programmed to postpone DMA completion.
The DMA module can sustain a transfer rate of 12.5 Mbytes/sec in dual-address mode and nearly 50
Mbytes/sec in single-address mode @ 25.16 MHz (8.4 and 33.3 Mbytes/sec @ 16.78 MHz, respectively).
The DMA controller arbitrates with the CPU32 for the bus in parallel with existing bus cycles and is fully
synchronized with the CPU32, eliminating all delays normally associated with bus arbitration by allowing
DMA bus cycles to butt seamlessly with CPU bus cycles.
SERIAL MODULE
Most digital systems use serial I/O to communicate with host computers, operator terminals, or remote
devices. The MC68340 contains a two-channel, full-duplex USART. An on-chip baud rate generator
provides standard baud rates up to 76.8k baud independently to each channel's receiver and transmitter.
The module is functionally equivalent to the MC68681/MC2681 DUART.
Each communication channel is completely independent. Data formats can be 5, 6, 7, or 8 bits with even,
odd, or no parity and stop bits up to 2 in 1/16 increments. Four-byte receive buffers and two-byte transmit
buffers minimize CPU service calls. A wide variety of error detection and maskable interrupt capability is
provided on each channel. Full-duplex, autoecho loopback, local loopback, and remote loopback modes can
be selected. Multidrop applications are supported.
A 3.6864-MHz crystal drives the baud rate generators. Each transmit and receive channel can be
programmed for a different baud rate, or an external 1× and 16× clock input can be selected. Full modem
support is provided with separate request-to-send (RTS) and clear-to-send (CTS) signals for each channel.
One channel also provides service request signals. The two serial ports can sustain rates of 9.8 Mbps with a
25-MHz system clock in 1× mode, 612 kbps in 16× mode (6.5 Mbps and 410 kbps @ 16.78 MHz).
TIMER MODULES
Timers and counters are used in a system to monitor elapsed time, generate waveforms, measure signals,
keep time-of-day clocks, initiate DRAM refresh cycles, count events, and provide “time slices” to ensure that
no task dominates the activity of the processor. A counter that counts clock pulses makes a timer, which is
most useful when it causes certain actions to occur in response to reaching desired counts.
The MC68340 has two, identical, versatile, on-chip counter/timers as well as a simple timer in the SIM40.
These general-purpose counter/timers can be used for precisely timed events without the errors to which
software-based counters and timers are susceptible—e.g., errors caused by dynamic memory refreshing,
DMA cycle steals, and interrupt servicing. The programmable timer operating modes are input capture,
output compare, square-wave generation, variable duty-cycle square-wave generation, variable-width
single-shot pulse generation, event counting, period measurement, and pulse-width measurement.
Each timer consists of a 16-bit countdown counter with an 8-bit countdown prescaler for a composite 24-bit
resolution. The two timers can be externally cascaded for a maximum count width of 48 bits. The
8
MC68340 PRODUCT INFORMATION
MOTOROLA
counter/timer can be clocked by the internal system clock generated by the SIM40 (÷2) or by an external
clock input. Either the processor or external stimuli can trigger the starting and stopping of the counter.
When a counter reaches a predetermined value, either an external output signal can be driven, or an
interrupt can be made to the CPU32. The finest resolution of the timer is 80 ns with a 25-MHz system clock
(125 ns @ 16.78 MHz).
POWER CONSUMPTION MANAGEMENT
The MC68340 is very power efficient due to its advanced 0.8-µ HCMOS process technology and its static
logic design. The resulting power consumption is typically 500 mW in full operation @ 16.78 MHz (750 mW
@ 25 MHz)—far less than the comparable discrete component implementation the MC68340 can replace.
For applications employing reduced voltage operation, selection of the MC68340V, which requires only a
3.3-V power supply, reduces current consumption by 40–60% in all modes of operation (as well as reducing
noise emissions).
The MC68340 has many additional methods of dynamically controlling power consumption during operation.
The frequency of operation can be lowered under software control to reduce current consumption when
performance is less critical. Idle internal peripheral modules can be turned off to save power (5–10% each).
Running a special low power stop (LPSTOP) instruction shuts down the active circuits in the CPU and
peripheral modules, halting instruction execution. Power consumption in this standby mode is reduced to
about 300 µW. Processing and power consumption can be resumed by resetting the part or by generating
an interrupt which can be done with the SIM40's periodic interrupt timer.
PHYSICAL
The MC68340 is available as 0–16.78 MHz and 0–25.16 MHz, 0°C to +70°C and -40°C to +85°C, and 5.0 V
±5% and 3.3 V ±0.3 supply voltages (reduced frequencies at 3.3 V). Thirty-two power and ground leads
minimize ground bounce and ensure proper isolation of different sections of the chip, including the clock
oscillator. A 144 pins are used for signals and power. The MC68340 is available in a gull-wing ceramic quad
flat pack (CQFP) with 0.65 mm lead spacing or a 15 × 15 plastic pin grid array (PPGA) with 0.1-in pin
spacing.
COMPACT DISC-INTERACTIVE
The MC68340 was designed to meet the needs of many markets, including compact disc-interactive (CD-I).
CD-I is an emerging standard for a publishing medium that will bring multimedia to a broad general
audience—the consumer. CD-I players combine television and stereo systems as output devices, with
interactive control using a TV remote-control-like device to provide a multimedia experience selected from
software “titles” contained in compressed form on standard compact discs.
The highly integrated MC68340 is ideal as the central processor for CD-I players. It provides the M68000
microprocessor code compatibility and DMA functions required by the CD-I Green Book specification as well
as many other useful on-chip functions for a very cost-effective solution. The extra demands of full-motion
video CD-I systems make the best use of the MC68340 high performance. The MC68340 is CD-I compliant
and has been CD-I qualified. With its low voltage operation, the MC68340V is the only practical choice for
portable CD-I.
MOTOROLA
MC68340 PRODUCT INFORMATION
9
MORE INFORMATION
The following table identifies the packages, supply voltages, temperature range, and operating frequencies
available for the MC68340.
MC68340 Package/Frequency Availability
Frequency/Volts
Package
8 MHz/3.3 V
16 MHz/3.3 V
16 MHz/5 V
25 MHz/5 V
Plastic Pin Grid Array (RP)
Ceramic Quad Flat Pack (FE)
Temperature
4
4
4
4
4
4
4
4
0–70 °C/-40–85 °C
0–70 °C
0–70 °C/-40–85 °C
0–70 °C
The documents listed in the following table contain detailed information on the MC68340. These documents
may be obtained from the Literature Distribution Centers at the addresses listed at the bottom of this page.
Documentation
Document Number
BR1114/D
Document Name
M68300 Integrated Processor Family
MC68340 User's Manual
MC68340UM/AD
M68000PM/AD
AN1063/D
M68000 Family Programmer's Reference Manual
DRAM Controller for the MC68340
Software Implementation of SPI on the MC68340
M68340 Evaluation System Product Brief
The 68K Source
AN453
BR573/D
BR729/D
BR1407/D
3.3 Volt Logic and Interface Circuits
Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee
regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any
product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters can
and do vary in different applications. All operating parameters, including "Typical" must be validated for each customer application by customer's
technical experts. Motorola does not convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or
authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any
other application in which the failure of the Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or
use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries,
affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any
claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the
design or manufacture of the part. Motorola and
Employer.
µ are registered trademarks of Motorola Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action
Literature Distribution Centers:
USA: Motorola Literature Distribution; P.O. Box 20912; Phoenix, Arizona 85036.
EUROPE: Motorola Ltd.; European Literature Centre; 88 Tanners Drive, Blakelands, Milton Keynes, MK14 5BP, England.
JAPAN: Nipon Motorola Ltd.; 4-32-1, Nishi-Gotanda, Shinagawa-ku, Tokyo 141 Japan.
ASIA-Pacific: Motorola Semiconductors H.K. Ltd.; Silicon Harbour Center, No. 2 Dai King Street, Tai Po Industrail Estate,
Tai Po, N.T., Hong Kong.
相关型号:
©2020 ICPDF网 联系我们和版权申明