Fujitsu Microelectronics Europe GmbH
European MCU Design Centre (EMDC)
Am Siebenstein 6-10
D-63303 Dreieich-Buchschlag
Germany
Version: 1.8
File: MB87P2020.fm
Specification
MB87J2120, MB87P2020-A Hardware Manual
Revision History
VersionDateRemark
0.805. Apr. 2001First Release
0.927. Apr. 2001Preliminary Release
1.029. Jun. 2001Overview Section and Register List reviewed
SDC, PP, AAF, DIPA and ULB descriptions reviewed
1.120. Jul. 2001Register List improved, Lavender pinning added, overall review
1.202. Aug. 2001APLL spec included (CU)
Review: overview, functional descriptions, register/command lists
Preliminary AC Spec for Jasmine
1.305. Oct. 2001AC Spec for both devices, Lavender added/Jasmine reviewed
Two pinning lists - sorted by name/pin number
ULB DMA limit description (DMA FIFO limits vs. IPA block size)
SDC Register description reviewed
1.411. Oct 2001Clarified AC Spec output characteristics (20/50pF conditions)
1.527. Mar 2002Pinning and additional registers for MB87P2020-A added
Design description for changes in MB87P2020-A added
AC Spec updated for MB87P2020-A
European MCU Design Centre (EMDC)
Am Siebenstein 6-10
D-63303 Dreieich-Buchschlag
Germany
This document contains information considered proprietary by the publisher. No part of
this document may be copied, or reproduced in any form or by any means, or transferred
to anythird party without the prior written consent of the publisher. The document is subject to change without prior notice.
The MB87J2120 "Lavender" and MB87P2020-A “Jasmine” are colour LCD/CRT graphic display control-
1
lers (GDCs)
The architecture is designed to meet the low cost, low power requirements in embedded and especially in
automotive
Lavender and Jasmine support almost all LCD panel types and CRTs or other progressive scanned3moni-
tors/displays which can be connected via the digital or analog RGB output. Products requiring video/camera
input can take advantage of the supported digital video interface. The graphic instruction set is optimized
for minimal traffic at the MCU interface because it’s the most important performance issue of co-processing
graphic acceleration systems. Lavender uses external connected SDRAM, Jasmine is a compatible GDC
version with integrated SDRAM (1MByte) and comes with additional features.
Lavender and Jasmine support a set of 2D drawing functions with built in Pixel Processor, a video scaler
interface, units for physical and direct video memory access and a powerful video output stream formatter
for the greatest variety of connectable displays.
Figure 1-1 displays an application block diagram in order to show the connection possibilities of Jasmine.
For Lavender external SDRAM connection is required in addition.
interfacing to MB91xxxx micro controller family and support a wide range of display devices.
2
applications.
1.2Jasmine/Lavender Block Diagram
Figure 1-2 shows all main components of Jasmine/Lavender graphic controllers. The User Logic Bus controller (ULB), Clock Unit (CU) and Serial Peripheral Bus (SPB) are connected to the User Logic Bus interface of 32 bit Fujitsu RISC microprocessors. 32 and 16 bit access modes are supported.
Table 1-1: GDC components
ShortcutMeaningMain Function
CCFLCold Cathode Fluorescence
Lamp
CUClock UnitClock gearing and supply, Power save
DACDigital Analog ConverterDigital to analog conversion for analog
DPA (part of DIPA)Direct Physical memory AccessMemory mapped SDRAM access with
GPUGraphics Processing UnitFrame buffer reader which converts to
DFU (part of GPU)Data Fetch UnitGraphic/video data acquisition
CCU (part of GPU)Colour Conversion UnitColour format conversion to common
Cold cathode driver for display backlight
display
address decoding
video data format required by display
intermediate overlay format
1. The general term ’graphic display controller’ or its abbreviation ’GDC’ is used in this manual to identify both
devices. Mainly this is used to emphasize its common features.
2. Both display controllers have an enhanced temperature range of -40 to 85oC.
3. TV conform output (interlaced) is also possible with half the vertical resolution (line doubling).
OverviewPage 15
MB87J2120, MB87P2020-A Hardware Manual
Host MCU
MB91xxxx
Digital Video
MB87P2020 or MB87J2120
(Jasmine or Lavender)
RGB Analog
Video Scaler
e.g. VPX3220A, SAA7111A
Figure 1-1: Application overview
Table 1-1: GDC components
ShortcutMeaningMain Function
LSA (part of GPU)Line Segment AccumulatorLayer overlay
BSF (part of GPU)BitStream FormatterIntermediate format to physical display
Format converter, Sync generation
IPA (part of DIPA)Indirect Physical memory AccessSDRAM access with command register
and FIFO
MAU (part of PP)Memory Access UnitPixel access to video RAM
MCP (part of PP)Memory CoPyMemory to memory copying of rectan-
gular areas
PE (part of PP)Pixel EngineDrawing of geometrical figures and bit-
maps
PPPixel ProcessorGraphic oriented functions
SDCSDRAM ControllerSDRAM access and arbitration
SPBSerial Peripheral BusSerial interface (master)
ULBUser Logic Bus (see MB91360
series specification)
Address decoding, command control,
flag, interrupt and DMA handling
Page 16
Embedded DRAM (1MByte) or external SDRAM (8MByte)
Graphic Controller Overview
MB87P2020 (Jasmine)
MB87J2120 (Lavender)
SDRAM Controller (SDC)
Anti Aliasing Filter (AAF)
Pixel Processor(PP)
Pixel
Engine
(PE)
User Logic Bus Interface (ULB)
Command Control
User Logic Bus
XTAL
PIX
BUS
Video Scaler Interface
Graphic Processing Unit (GPU)
CCUMAUMCPDIPAVICDFULSABSF
Clock
Unit
(CU)
Figure 1-2: Component overview for Lavender and Jasmine graphic controllers
CCFL
Video
DACs
SPB
Back
Light
Analog
Video
Digital
Video
Serial
Table 1-1: GDC components
ShortcutMeaningMain Function
VICVideo Interface ControllerYUV-/RGB-Interface to video grabber
The ULB provides an interface to host MCU (MB91360 series). The main functions are MCU (User Logic
Bus) control inclusive wait state handling, address decoding and device controls, data buffering / synchronisation between clock domains and command decoding. Beside normal data and command read and write
operation it supports DMA flow control for full automatic data transfer from MCU to GDC and vice versa.
Also an interrupt controlled data flow is possible and various interrupt sources inside the graphics controller
can be programmed.
The Clock Unit (CU) provides all necessary clocks to module blocks of GDC and a FR compliant (ULB)
interface to host MCU. Main functions are clock source select (XTAL, ULB clock, display clock or special
pin), programmable clock multiplier/divider with APLL, power management for all GDC devices and the
generation of synchronous RESET signal.
For Fujitsu internal purposes one independent macro is build in the GDC ASIC, the Serial Peripheral Bus
(SPB). It’s a single line serial interface. There is no interaction with other GDC components.
All drawing functions are executed in Pixel Processor (PP). It consists of three main components Pixel Engine (PE), Memory Access Unit (MAU) and Memory Copy (MCP). All functions provided by these blocks
are related to operations with pixel addresses {X, Y} possibly enhanced with layer information. GDC supports 16 layers by hardware, four of them can be visible at the same time. Each layer is capable of storing
OverviewPage 17
MB87J2120, MB87P2020-A Hardware Manual
any data type (graphic or video data with various colour depths) only restricted by the bandwidth limitation
of video memory at a given operating frequency.
Drawing functions are executed in the PE by writing commands and their dedicated parameter sets. All
commands can be taken from the command list in section 4.2. Writing of uncompressed and compressed
bitmaps/textures, drawing of lines, poly-lines and rectangles are supported by the PE. There are many special modes such as duplicating data with a mirroring function.
Writing and reading of pixels in various modes is handled by MAU. Single transfers and block or burst
transfers are possible. Also an exchange pixel function is supported.
With the MCP unit it is possible to transfer graphic blocks between layers of the same colour representation
very fast. Only size, source and destination points have to be given to duplicate some picture data. So it offers an easy and fast way to program moving objects or graphic libraries.
All PP image manipulation functions can be fed through an Antialiasing Filter (AAF). This is as much faster
than a software realisation. Due to the algorithm which shrinks the graphic size by two this has to be compensated by doubling the drawing parameters i.e. the co-ordinates of line endpoints.
DIPA stands for Direct/Indirect Physical Access. This unit handles rough video data memory access without pixel interpretation (frame buffer access). Depending on the colour depth (bpp, bit per pixel) one or
more pixel are stored in one data word. DPA (Direct PA) is a memory-mapped method of physical access.
It is possible in word (32 bit), half word (16 bit) or byte mode. The whole video memory or partial window
(page) can be accessed in a user definable address area of GDC. IPA (Indirect PA) is controlled per ULB
command interface and IPA access is buffered through the FIFOs to gain high access performance. It uses
the command GetPA and PutPA, which are supporting burst accesses, possibly handled with interrupt and
DMA control.
For displaying real-time video within the graphic environment both display controllers have a video interface for connection of video-scaler chips, e.g Intermetall’s IC VPX32xx series or Phillips SAA711x. Additionally the video input of Jasmine can handle CCIR standard conform digital video streams.
Several synchronisation modes are implemented in both controllers and work with frame buffering of one
up to three pictures. With line doubling and frame repetition there exist a large amount of possibilities for
frame rate synchronisation and interlaced to progressive conversion as well. Due to the strict timing of most
graphic displays the input video rate has to be independent from the output format. So video data is stored
as same principles as for graphic data using up to three of the sixteen layers.
The SDC is a memory controller, which arbitrates the internal modules and generates the required access
timings for SDRAM devices. With a special address mapping and an optimized algorithm for generating
control commands the controller can derive full benefit from internal SDRAM. This increases performance
respective at random (non-linear) memory access.
The most complex part of GDC is its graphic data processing unit (GPU). It reads the graphic/video data
from up to four layers from video memory and converts it to the required video output streams for a great
variety of connectable display types. It consists of Data Fetch Unit (DFU), Colour Conversion Unit (CCU)
which comes with 512 words by 24-bit colour look up table, Line Segment Accumulator (LSA) which does
the layer overlay and finally the Bitstream Formatter (BSF). The GPU has such flexibility for generating
the data streams, video timings and sync signals to be capable of driving the greatest variety of known display types.
Additional to the digital outputs video DACs provide the ability to connect analog video destinations. A
driver for the displays Cold Cathode Fluorescence Lamp (CCFL) makes the back light dimmable. It can be
synchronized with the vertical frequency of the video output to avoid visible artefacts during modulating
the lamp.
Page 18
Graphic Controller Overview
2Features and Functions
Table 2-1: Lavender and Jasmine features in comparison
•Duty Ratio Modulation (DRM) for pseudo hue/grey levels
•Hardware support for 16 layers, usable for graphic/video without restrictions
•Performance sharing with adjustable priorities and configurable block sizes for memory transfers enable maximal throughput for a wide range of applications
•Variable and display independent colour space
concept: Layers with 1, 2, 4, 8, 16, 24 bit per
pixel can be mixed and converted to one display specific format (logical-intermediatephysical format mapping)
Physical SDRAM access
•Memory mapped direct physical access for storage of non-graphics data or direct image access
•Indirect physical memory access for high bandwidth multipurpose data/video memory access
MCU interface
•32/16 Bit MCU interface, designed for direct connection of MB91xxxx family (8/16/32Bit access)
•DMA support (all MB91xxxx modes)
•Interrupt support
•Colour LUT expansion to 512 entries
•Additional GPU a YUV to RGB converter in
order to allow YUV coded layers
•Additional Gamma correction RAMs are included (3x256x8Bit)
Video interface
•Video interface VPX32xx series by Micronas
Intermetall, Phillips SAA711x and others
•Video synchronization with up to 3 frame buffers
Clock generation
•Flexible clocking concept with on-chip PLL and up to 4 external clock sources:
- XTAL
- ULB bus clock
- Pixel clock
- Additional external clock pin (MODE[3]/RCLK)
•Separate power saving for each sub-module
•Additional CCIR conform input mode
Page 20
Graphic Controller Overview
3Clock supply and generation
GDC has a flexible clocking concept where four input clocks (OSC_IN/OUT, DIS_PIXCLK, ULB_CLK,
RCLK) can be used as clock source for Core clock (CLKK) and Display clock (CLKD).
The user can choose by software whether to take the direct clock input or the output of an APLL independent for Core- and Display clock. Both output clocks have different dividers programmable by software
(DIV x for CLKD and DIV z for CLKK). The clock gearing facilities offer the possibility to scale system
performance and power consumption as needed.
OSC_IN/OUT
DIS_PIXCLK
ULB_CLK
RCLK
VSC_CLKV
PLL Clock
Direct Clock
APLL
MUL y
System Clock Prescaler
DIV z
Pixel Clock Prescaler
DIV x
invert option
invert option
(Jasmine only)
INVINV
CLKK
CLKD
CLKM
CLKV
Figure 3-1: Clock gearing and distribution
Beside these two configurable clocks (CLKK and CLKD) GDC needs two additional internal clocks:
CLKM and CLKV (see also figure 3-1). CLKV is exclusively for video interface and is connected to input
clock pin VSC_CLKV. CLKM is used for User Logic Bus (ULB) interface and is connected to input clock
ULB_CLK. As already mentioned ULB_CLK can also be used to build CLKK and/or CLKD.
Table 3-1 shows all clocks used by GDC with their requirements.
Table 3-1: Clock supply
ClockTypeSymbolRequirementsUnit
MinTypMax
XTAL clockinputOSC_IN, OSC_OUT
Reserve clockinputRCLK
a
12
ULB_CLK
-64MHz
b
-64MHz
ULB clockinputULB_CLK--64MHz
Pixel clockinputDIS_PIXCLK--54MHz
Video clockinputVSC_CLKV--
54
c
MHz
Core clockinternalCLKKULB_CLK-64MHz
Display clockinternalCLKD--54MHz
Video clockinternalCLKV--
54
c
MHz
ULB clockinternalCLKM--64MHz
Clock supply and generationPage 21
MB87J2120, MB87P2020-A Hardware Manual
a. If used as PLL input. APLL input frequency has to be at minimum 12 MHz, regardless which clock is routed
to APLL.
b. If used as direct clock source bypassing the APLL, the user should take care that resulting core clock fre-
quency is above or equal to MCU bus interface clock.Be aware of tolerances!
c. The video interface is designed to achieve 54 MHz but there is a side condition that video clock should be
smaller than half of core clock.
Page 22
Graphic Controller Overview
4Register and Command Overview
4.1Register Overview
The GDC device is mainly configurable by registers. These configuration registers are mapped in a
64 kByte large address range from 0x0000 to 0xffff. It is possible to shift this register space in steps of
64 kByte by the Mode[1:0] pins in order to connect multiple GDC devices.
Above this 4*64 kByte = 256 kByte address range the SDRAM video memory could be made visible for
direct physical access.
At byte address 0x1f:ffff GDC memory map ends with a total size of 2 MByte.
4.2Command Overview
The command register width is 32 Bit. It is divided into command code and parameters:
31
parameters
Partial writing (halfword and byte) of command register is supported. Command execution is triggered by
writing byte 3 (code, bits [7:0]). Thus parameters should be written before command code.
Not all commands need parameters. In these cases parameter section is ignored.
In table 4-1 all commands are listed with mnemonic, command code and command parameters (if neces-
sary. This is only a short command overview, a more detailed command list can be found in appendix.
Table 4-1: Command List
MnemonicCodeFunctionAddressed
Bitmap and Texture Functions
PutBM01HStore bitmap into Video RAMPixel Processor
PutCP02HStore compressed bitmap into Video RAM
PutTxtBM05H
PutTxtCP06H
Draw uncompressed texture with fixed foreground
and background colour
Draw compressed texture with fixed foreground and
background colour
07
code
device
Drawing Functions (2D)
DwLine03H
DwPoly0FH
DwRect04H
"Draw a line" - calculate pixel position and store
LINECOL into Video RAM
"Draw a polygon" - draws multiple lines between
defined points, see DwLine
"Draw an rectangle" - calculate pixel addresses and
store RECTCOL into Video RAM
Pixel Operations
Pixel Processor
Register and Command OverviewPage 23
MB87J2120, MB87P2020-A Hardware Manual
Table 4-1: Command List
MnemonicCodeFunctionAddressed
device
PutPixel07HStore single pixel data into Video RAMPixel Processor
PutPxWd08HStore word of packed pixels into Video RAM
PutPxFC09HStore fixed colour pixel data in Video RAM
GetPixel0AHLoad pixel data from Video RAM
XChPixel0BH
MemCopy0CH
PutPA0DH
GetPA<n>,0EH
SwReset00H
NoOpFFH
Load old pixel in Output FIFO and store pixel from
Input FIFO into Video RAM
Memory to Memory Operations
Memory Copy of rectangular area. Transfer of bitmaps from one layer to another or within one layer.
Physical Framebuffer Access
Store data in physical format into Video RAM, with
physical address auto-increment
Load data in physical format from Video RAM with
address auto-increment, stop after n words
System Control Commands
Stop current command immediately, reset command
controller and FIFOs
No drawing or otherwise operation, finish current
command and flush buffers
Pixel Processor
DIPA
All drawing and
access devices
Command Control (ULB)
Page 24
PART B - Functional Descriptions
Page 25
MB87J2120, MB87P2020-A Hardware Manual
Page 26
B-1Clock Unit (CU)
Page 27
MB87J2120, MB87P2020-A Hardware Manual
Page 28
Clock Unit
1Functional Description
1.1Overview
The clock unit (CU) provides all necessary clocks to GDC modules and an own interface to host MCU
(MB91360 series) in order to have durable access even if ULB clocks switched off.
The main functions of CU are:
•Clock source select (Oscillator, MCU Bus clock, Display clock and a reserve clock input)
•Programmable clock muliplier with APLL
•Separate dividers for master (core) clock and pixel clock
•Power management for all GDC modules
•Generation of synchronized RESET signal
•MB91360 series compliant (ULB) Bus interface for clock setup
Figure 1-1 shows the overview of the Clock Unit. OSC_IN, DIS_PIXCLK, ULB_CLK and RCLK1are possible to use as input sources. Both clock outputs of the main unit (MASTERCLK and PIXELCLK) and two
directly used clock inputs (ULB_CLK and VSC_CLKV) driving the clock gates unit which distributes to
all connected GDC sub-modules.
The GDC device has four different clock domains, that means clocks derived from four different sources.
The largest part of the design runs at core clock which operates at the highest frequency driven by the MASTERCLK output. Thus normally the APLL is used to provide a higher internal operation frequency. The
next domain is the display output interface which operates at pixel clock frequency. For most applications
it is recommended that this is the clock from OSC_IN pin, divided by two1. So the crystal oscillator has to
be choosen to have a whole-numbered multiple of the display clock frequency. Preferred routing is the DIRECT clock source channel since some displays require a small clock jitter which is not able to provide by
the APLL. The other clocks for MCU interface (ULB_CLK) and video interface (VSC_CLKV) are not derived by the clock routing and generating part and used directly from the appropriate input pin.
Finally the generated source clocks of the for domains go to the clock gating/distribution module. There are
gated clock buffers and inverters for each GDC module implemented. Each module has it’s own clock enable flag which can be programmed for modules needed by the application only. This method saves power
of not used functional blocks of GDC (refere to table 3-1).
The configuration of CU is stored in two registers, ClkConR and ClkPdR, which are connected to User Logic Bus for writing and reading. The bus interface consists of an address decoder and circuitry for different
access types (word, halfword and byte access over a 16 or 32 bit bus connection).
1.2Reset Generation
GDC works with an internally synchronized, low active reset signal. The global chip reset can be triggered
by an external asynchronous reset or internally by software reset (configuration bit in ClkPdR). The external
triggered RESETX results in resetting all GDC components including the Clock Unit, however software
reset has no influence on CU internal registers.
Lavender synchronizes its external reset (RSTX pin). Reset is delayed until 4 clock cycles of each
ULB_CLK and OSC_IN are executed. This gives stability against spikes on the RSTX line but has the disadvantage of delayed reset response of Lavender.
For Jasmine internal reset is active immediately after tying RESETX low plus a small spike filter delay. Due
to the synchronization of RESETX the internal reset state ends after 4 clock periods of OSC_IN and 4 clock
periods of ULB_CLK after releasing RESETX pin. Reset output RSTX_SYNC for all internal GDC register
states are synchronized with OSC_IN, however internal Clock Unit registers are synchronized with
ULB_CLK in addition. Thus a minimum recovery time of 4 clock cycles of OSC_IN plus 4 cycles of
ULB_CLK is needed before writing to Clock Unit configuration registers is possible after RESETX becomes inactive.
The reset generator of Jasmine has a spike filter implemented, which suppresses short low pulses, typical
smaller than 9 ns. Under best case operating conditions (-40 deg. C; 2.7V; fast) maximum suppressed spike
width is specified to 5.5ns. This is the maximum reset pulse width which did not result in resetting the GDC
device. Minimum pulse width for guaranteed reset is specified to 1 clock cycle of OSC_IN (80 ns typical).
1.3Register Set
Table 1-1 listst the clock setup registers. ClkConR (Clock Configuration Register) is mainly for generation
of the base clocks and the routing/selection from one of the four input sources. It controls the clock dividers
and the use of the APLL. The possibility to use a second clock path, called direct clock source, gives a high
flexibility for using the APLL either for MASTERCLK or PIXELCLK generation or both. Also the pin
function of DIS_PIXCLK can be defined in this register. If DIS_PIXCLK is selected as clock source the
pin should be configured as an input.
Upper 8 bits of ClkConR are used as identification of the different GDC types. Lavender is identified with
reading back a ’0x00’, Jasmine with a ’0x01’.
Use of DIS_PIXCLK as pixel clock output and selection of DIS_PIXCLK for the clock source can result in
unintentional feedbacks and has to be avoided.
1. Preferred is an even divider value to achive 50% clock duty
Page 30
Loading...
+ 328 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.