Evaluates MAX4455
Windows 98 is a registered trademark of Microsoft Corp.
The MAX4455 Evaluation Kit (EV kit) is an assembled and tested circuit board that demonstrates the MAX4455 Arbitrary Graphics On-Screen Display Video Generator. Windows 98 software provides a handy user interface to exercise the features of the MAX4455.
Order the complete EV System (MAX4455EVSYS) for comprehensive evaluation of the MAX4455 using a personal computer and the recommended crosspoint switch. A bi-directional parallel port is required. Order the EV kit (MAX4455EVKIT) for use with other user-defined external solutions.
|
PART NUMBER |
TEMP. RANGE |
DESCRIPTION |
|
MAX4455EVSYS |
0C to +70C |
Complete System |
|
MAX4455EVKIT |
0C to +70C |
Requires user-supplied fast mux |
|
QTY |
PART NUMBER |
DESCRIPTION |
|
1 |
MAX4455EVKIT |
8-Channel On-Screen Display |
|
1 |
MAX4358EVKIT |
32x16 Crosspoint Switch |
|
Reference |
Qty |
Description |
|
C1-C17, C19, C21, C22, C24-C29, C31, C48 |
28 |
0.1uF 10% 10V CER CAP (0402) |
|
C23, C30, C57 |
3 |
330uF 20% 10V LOW ESR CAP (CASE R) |
|
C18 |
1 |
390uF 20% 6.3V LOW ESR CAP (CASE R) |
|
C20 |
1 |
0.01uF ceramic capacitor, 1206 |
|
C32, C35, C36, C39, C40, C43, C44, C47 |
8 |
470pF 10% 50V CER CAP (0402) |
|
C33, C34, C37, C38, C41, C42, C45, C46 |
8 |
0.047uF 10% 10V CER CAP (0402) |
|
C49-C56 |
0 |
leave open |
|
J5 |
1 |
2 x 25 right angle header |
|
J6 |
1 |
2 x 13 right angle header |
|
JU1-JU8 |
0 |
leave open |
|
JU9 |
1 |
2 pin jumper |
|
JU9 |
1 |
shunt |
|
R1 |
1 |
10k ohm 1% Resistor (1/4 Watt Axial Leaded) |
|
R2-R9 |
8 |
75 ohm 1% SMT Resistor (0402) Note: 0402 size is 1/16Watt rated, 2.16V max |
|
R10-R17 |
8 |
430 ohm 5% SMT Resistor (0402) |
|
TB1 |
2 |
6 position terminal block |
|
U1 |
1 |
Maxim MAX4455ECQ |
|
U2 |
1 |
Dynamic Ram Micron MT48LC1M16A1TG-7S |
|
U3 |
1 |
Maxim MAX8867EUK33 |
|
U4 |
1 |
Full-size crystal oscillator ICM International Crystal Manufacturing co., inc. Catalog # IT1100FSS, custom 40.5 MHz, 3.3Vdc tel (405)-236-3741 fax (405)-235-1904 http://www.icmfg.com/ |
|
U4, Y1 |
8 |
Socket pins |
|
VSYNC0-VSYNC7 |
8 |
BNC female jack |
|
Y1 |
0 |
leave open |
|
1 |
PC Board |
|
|
1 |
MAX4455 Evaluation Software CD-ROM |
|
|
1 |
MAX4455 Data Sheet |
|
|
1 |
MAX4455EVKIT Data Sheet |
Before you begin, you will need the following equipment:
) and then clicking in the middle of the large blue display control area. The Character Generator dialog box pops up. Click OK to copy the text to the on-screen display memory. Both the computer and the video monitor should show the key/fill text. Note: the parallel port interface severely limits the interface bandwidth between the MAX4455 and the host PC.
Table 1. MAX4455EVSYS Power Connections
|
MAX4455 TB1 Terminal |
Required Power Supply |
|
+3.3V |
Leave unconnected. Supplied by on-board linear regulator. |
|
DGND |
Digital ground return. |
|
VKEY |
OSDFILL power. Connect to +5V supply. |
|
AGND |
Analog ground return. |
|
VCC |
Main power. Connect to +5V supply. |
|
VH1 |
Host power. Connect to +5V supply. |
|
MAX4358 TB1 Terminal |
Required Power Supply |
|
VCC |
Connect to +5V supply. |
|
AGND |
Analog ground return. |
|
VEE |
Connect to -5V supply. |
|
DGND |
Digital ground return. |
|
VDD |
Connect to +5V supply. |
The MAX4455 EV kit software is a crude but effective paint program that draws on the on-screen display memory. There are nine drawing windows: one for each of the eight on-screen display channels, and a master window for simultaneously writing multiple channels. The large blue area represents the on-screen display memory. Each pixel in this area corresponds to one pixel in the on-screen display memory. Transparent areas are blue. The OSDKEY signal is automatically generated for any pixel that is not transparent. The software implements a few simple tools for drawing lines, boxes, and text. Test patterns can be loaded from standard windows bitmap files, and the contents of the on-screen display may be saved to a standard windows bitmap file. Tables 2-10 describe the buttons found on various toolbars.
The MAX4455 on-screen display uses 15-level grayscale patterns. When the MAX4455EVKIT software saves an image as a windows bitmap, each pixel of the on-screen display image is converted from 15-level grayscale into an equivalent RGB value.
osd_value &= 0x0F;
if (osd_value == 0) {
unsigned __int8 red = 0;
unsigned __int8 green = 0;
unsigned __int8 blue = 255;
} else {
unsigned __int8 greyscale_nybble = osd_value + 1;
double luma = (greyscale_nybble * 256.0 / 16.0);
if (luma > 255.0) { luma = 255.0; }
if (luma < 0) { luma = 0; }
unsigned __int8 red = luma;
unsigned __int8 green = luma;
unsigned __int8 blue = luma;
}
color =((blue * 0x10000) | (green * 0x100) | (red));
When the MAX4455EVKIT software loads a windows bitmap image, each pixel of the image is converted from RGB into an equivalent brightness (Luma) value, in accordance with the following equation:
Luma = (0.299 * Red) + (0.587 * Green) + (0.114 * Blue)
The MAX4455EVKIT software uses pure saturated blue (RGB value of Red=0,Green=0, Blue=255) to designate transparent pixels.
Simple brightness-gradient test patterns can be drawn on the fly using the horizontal or vertical luma bar drawing tool. Click the desired tool button (
or
), then drag the mouse across the opposite corners of the desired region. The white bar is always drawn near where the mouse is first clicked. All 15 grayscale levels are drawn, and one additional transparent bar is drawn just after the black bar.
Custom test patterns may be created using any paint program that can read and write Windows bitmap files. Always start with a pure saturated blue background (RGB value of Red=0,Green=0, Blue=255) for a transparent background.
).
or
) to use as a drawing palette.
), select the freehand drawing tool (
), and drag the mouse around the edges of the on-screen display.
), saving the empty on-screen display memory.
). The test pattern is copied into the on-screen display memory.The MAX4455 can insert a horizontal band of on-screen display information from a different channel. This example draws vertical bars on one channel and horizontal bars on another channel, then shares part of the channel 0 memory into the channel 2 display.
).
) drawing tool, and drag the mouse from the upper-left corner of the drawing area to the lower-right corner of the drawing area. (Once drawing begins, minimize the window to improve drawing speed.)
).
)drawing tool, and drag the mouse from the upper-left corner of the drawing area to the lower-right corner of the drawing area.
).
), and drag the mouse from the top of one of the bars to the bottom of the same bar.On the host PC, the software displays a colored rectangle indicating the band of shared memory. The monitor displays the horizontal bars test pattern, replacing the shared memory band with the vertical bars pattern from channel 0.
).
).
), and move the mouse cursor to locate the top and bottom NTSC lines of the time stamp.
).
).
).The parallel port interface severely limits the interface bandwidth between the MAX4455 and the host PC.
The MAX4455 registers may be accessed directly in "expert mode", which is enabled by clicking the Expert Mode button (
). See table 2.
Normally, the user interface automatically writes to affected registers as soon as a control is changed. If you check "postpone automatic updates", you can set up a write operation and control the exact moment when the register is updated. For example, you can type "150" into the VOFFSET edit field, and then click the VOFFSET SET button to perform the write.
When used with PAL or SECAM video systems, use the vertical offset (
) to position the active portion of the on-screen display so that it is visible.

Figure 1. Each single-channel screen provides drawing tools, a luma values palette, and a time stamp.
The single-channel screen includes the drawing tools, plus shared memory, vertical and horizontal offset, reading on-screen display memory, and display inhibit. Due to the severely limited bandwidth of the parallel port, the MAX4455EVKIT software time stamp function is not offered for the multiple-write screen. See above, Using the Time Stamp.

Figure 2. Single-Channel Write in Expert Mode provides direct access to the channel registers.

Figure 3. The main screen provides multiple-channel write tools and registers.
The main screen's drawing tools can draw on all eight channels of the on-screen display. Table 6 shows the buttons that enable or disable each channel. When the program starts, channel 0 is automatically enabled.
The main screen has a diagnostic menu, with global settings related to low-level register access. These settings do not need to be changed.

Figure 4. Multiple Channel Write in Expert Mode provides direct access to the multiple-channel registers.
Table 2. Command Buttons
|
Button |
Function |
|
|
Load bitmap file into on-screen display memory. |
|
|
Save on-screen display memory to a bitmap file. |
|
|
Decrease Vertical Offset, moving the on-screen display overlay up. |
|
|
Increase Vertical Offset, moving the on-screen display overlay down. |
|
|
Decrease Horizontal Offset, moving the on-screen display overlay to the left. |
|
|
Increase Horizontal Offset, moving the on-screen display overlay to the right. |
|
|
Inhibit the fill video insertion. Pass video signals with no on-screen display. |
|
|
Toggle "Expert Mode" on and off, enabling direct access to the MAX4455 registers. |
|
|
Erase the on-screen display memory. |
|
|
Display the help file. |
Table 3. Drawing Tool Buttons
|
Button |
Function |
|
|
Read the luma fill value stored at the selected line and column. |
|
|
Freehand drawing single-pixel points by dragging the mouse. |
|
|
Freehand drawing whole quad-pixel groups by dragging the mouse. |
|
|
Draw an open rectangle by dragging the mouse across the opposite corners of the desired region. |
|
|
Draw a rectangle filled with the selected luminance value by dragging the mouse across the opposite corners of the desired region. |
|
|
Draw a rectangle filled with horizontal bars of varying luminance by dragging the mouse across the opposite corners of the desired region. |
|
|
Draw a rectangle filled with vertical bars of varying luminance by dragging the mouse across the opposite corners of the desired region. |
|
|
Place text where the mouse was clicked. This button runs the "character generator" dialog box to choose what font and what text to write. |
|
|
Load a bitmap file into the on-screen display memory. The upper-left corner of the bitmap will be placed where the mouse was clicked. |
|
|
Read a portion of the on-screen display memory into the host by dragging the mouse across the opposite corners of the desired region. |
Table 4. Shared Memory Tool Buttons
|
Button |
Function |
|
|
Define the top and bottom of the shared memory band by dragging the mouse across the opposite corners of the desired region. |
|
|
Select channel 0 or 1 as the source of the shared memory. |
|
|
Select channel 2 or 3 as the source of the shared memory. |
|
|
Select channel 4 or 5 as the source of the shared memory. |
|
|
Select channel 6 or 7 as the source of the shared memory. |
|
|
Disable shared memory. |
Table 5. Time Stamp Buttons
|
Button |
Function |
|
|
Place the time stamp where the mouse was clicked. |
|
|
Enable or disable the time stamp. |
|
|
Enable or disable the date stamp. |
|
|
Select the font to use for the time/date stamp. |
Table 6. Multiple Write Buttons
|
Button |
Function |
|
|
Enable or disable channel 0 when writing multiple channels. |
|
|
Enable or disable channel 1 when writing multiple channels. |
|
|
Enable or disable channel 2 when writing multiple channels. |
|
|
Enable or disable channel 3 when writing multiple channels. |
|
|
Enable or disable channel 4 when writing multiple channels. |
|
|
Enable or disable channel 5 when writing multiple channels. |
|
|
Enable or disable channel 6 when writing multiple channels. |
|
|
Enable or disable channel 7 when writing multiple channels. |
Table 7. Window View Buttons
|
Button |
Function |
|
|
View multiple-write window (the main window). |
|
|
View the channel 0 window. |
|
|
View the channel 1 window. |
|
|
View the channel 2 window. |
|
|
View the channel 3 window. |
|
|
View the channel 4 window. |
|
|
View the channel 5 window. |
|
|
View the channel 6 window. |
|
|
View the channel 7 window. |
|
|
View the MAX4358 crosspoint switch window. |
|
|
View the parallel port diagnostics window. |
Table 8. Luma (Brightness) Buttons
|
Button |
Luma Fill Value |
MAX4455 Quad Pixel luma nybble |
|
|
Transparent (no fill) |
0 |
|
|
Insert 7 IRE fill |
1 |
|
|
Insert 14 IRE fill |
2 |
|
|
Insert 21 IRE fill |
3 |
|
|
Insert 27 IRE fill |
4 |
|
|
Insert 34 IRE fill |
5 |
|
|
Insert 41 IRE fill |
6 |
|
|
Insert 47 IRE fill |
7 |
|
|
Insert 54 IRE fill |
8 |
|
|
Insert 60 IRE fill |
9 |
|
|
Insert 67 IRE fill |
10 |
|
|
Insert 74 IRE fill |
11 |
|
|
Insert 80 IRE fill |
12 |
|
|
Insert 87 IRE fill |
13 |
|
|
Insert 94 IRE fill |
14 |
|
|
Insert 100 IRE fill |
15 |

Figure 5. The MAX4358 Crosspoint Switch window controls the optional companion board, which is part of the MAX4455EVSYS.
Table 9. MAX4358 Crosspoint Switch Command Buttons
|
Button |
Function |
|
|
Route MAX4358 inputs 0-15 to outputs 0-15. |
|
|
Inhibit all video outputs. |
|
|
Set all MAX4358 outputs to unity gain. |
|
|
Set all MAX4358 outputs to a gain of 2 volts per volt. |
|
|
Toggle "Expert Mode" on and off, enabling access to all 32 inputs and all 16 outputs. |
The MAX4455EVKIT is designed for use with the MAX4358 crosspoint switch. To control the companion board's MAX4358 crosspoint switch, choose "MAX4358 Crosspoint" from the "View" menu. Refer to figure 5.
Each of the outputs has a drop-down combo box to select an input signal. Each output can also be configured for unity gain or a gain of 2 volts per volt. The setup menu lets you quickly disable all outputs, or quickly connect each output to a preset input.
Due to space limitations, the MAX4358EVKIT provides BNC connectors for only four of its sixteen outputs and only four of its thirty-two inputs. However, the entire chip is functional, and the software allows control of all channels. When "expert mode" is selected, the GUI provides controls for all inputs and outputs, as well as exposing the IC address pin controls.

Figure 6. The Character Generator tool lets you place arbitrary text messages on any channel, using any standard Windows font installed on the host computer.
Table 10. Character Generator Command Buttons
|
Button |
Function |
|
|
Choose which windows font to use when drawing text. |
|
|
Write white text (100 IRE) on a black background. |
|
|
Write light gray text (74 IRE) on a black background. |
|
|
Write dark gray text (47 IRE) on a black background. |
|
|
Write black text (0 IRE) on a white (100 IRE) background. |
The MAX4455EVKIT software can generate text labels using any standard Windows font installed on the host computer system. Typical Windows systems usually include Arial, Courier New, and Times New Roman fonts.
The font picker button runs the standard Windows font picker dialog box, which lets you choose from any of the fonts you have installed on your system.
The text color buttons set the text foreground color to luma values of 100 IRE, 74 IRE, 47 IRE, or 0 IRE.
The MAX4455EVKIT consists of a MAX4455 Arbitrary Graphics On-Screen Display Video Generator, a synchronous dynamic RAM, a 3.3 volt crystal oscillator module, and a 3.3 volt linear regulator. Cost-sensitive applications may replace the crystal oscillator module with a 40.5MHz fundamental mode crystal. Resistor R1 sets the white video fill to a level of 100IRE.
The crosspoint outputs are sampled through the right-angle connector J5, or may optionally be fed through the BNC jacks. The video signals are sampled by resistor/capacitor networks such as C32-C33-R10.
Because the MAX4455 evaluation system uses a bi-directional parallel printer cable rather than a local microprocessor bus, Schmitt triggers are used to sharpen the rise times of the read and write strobes. These Schmitt trigger buffers are located on the MAX4358EVKIT companion board.
For best picture quality, the design of a custom MAX4455 on-screen display system requires careful attention to the ground return paths. The MAX4455 video outputs switch a significant amount of current into the analog ground return.
The evaluation kit is designed as a two-board set to accommodate customers using different video crosspoints. However, for best results, the MAX4455 should be located close to the crosspoint switch.
The MAX4455 is designed to interface directly to a microprocessor. The evaluation kit uses the parallel port, which is not recommended for industrial designs. Throughput is severely limited, and the long cable requires Schmitt trigger buffers to clean up the read/write strobes.
Problem: display seems to flicker
Interlaced raster scan can appear to flicker for test patterns that have sharp, single-pixel lines. Flicker is worst on small, bright, high-contrast features. Apply a digital anti-aliasing function across the test pattern before writing it to the MAX4455. Do not write single-pixel lines; instead, write both field 1 and field 2 of each NTSC line-pair.
Problem: software can't read MAX4455EVKIT
Although the MAX4455EVKIT will work directly with most modern computers, some systems require that the parallel port must be enabled for bi-directional mode in the BIOS setup screen. You must reboot your computer, enter BIOS setup before windows starts, find the integrated peripherals screen, and ensure that the LPT port is configured as an ECP port. "Standard" and "EPP" parallel port settings are not compatible with the MAX4455EVKIT.
Problem: switching channels causes the display to roll
If the MAX4455 inserts video fill during the vertical blanking interval, it can miss the vertical sync information. The solution is to set the BLANK bit true when switching the crosspoint. Once video sync is established, set the BLANK bit false to re-enable the video fill.
Example code: converting RGB value into MAX4455 on-screen display control nybble.
const double ar = 0.299, ag = 0.587, ab = 0.114, offset = 0;
double luma = ar * red + ag * green + ab * blue + offset;
unsigned __int8 greyscale_nybble = ((luma * 16.0) / 256) + 0.5;
if (greyscale_nybble > 15+1) { greyscale_nybble = 15+1; }
if (greyscale_nybble < 1+1) { greyscale_nybble = 1+1; }
osd_control_value = greyscale_nybble - 1;