Description:
OSD-232+™ is a single channel on-screen composite video character and graphic overlay device in the form factor of a 28 pin .6” dip socket. From any RS-232 or TTL source, such as a PC or microcontroller, control the display of 30 columns by 12 rows (NTSC) or 15 rows (PAL) of information directly onto an incoming composite video source. OSD-232+™ can overlay characters and graphics onto either an incoming video source or self-generated background screen. OSD-232+™ has 256 definable 12 x 18 pixel characters. Graphic images (such a logos) can be imported to create on-screen sprites. OSD-232+™ firmware upgrades are supported via a PC connection. Included with OSD-232+™ is a demonstration utility, firmware update utility, and font editing software. An optional evaluation board EB-OSD-232+™ with connectors and wall power supply is also available.
Specifications:
- Dimensions: 1.54" L x .6” W x .3" H
- Weight: < .1 oz.
- Input voltage: 5.0 volts DC +/- 5% (150 ma max)
- Operating temperature: -40C to +85C (extended temperature range standard)
- Text area: 30 columns by 12 rows (NTSC) or 15 rows (PAL)
- Due to monitor over-scan a minimum of 26 of the 30 columns and 11 of 12 rows (NTSC) are visible on-screen
- Character set: 256 definable characters. 12 x18 pixels per character.
- Sprites: 16 definable graphic sprites
- Video format: Composite video
- Video level: 1 volt peak to peak
- Video impedance: Input 75 ohm, output 75 ohm resistively terminated
- RS-232 serial or TTL input: 9600 or 19200 baud, 8 data bits, 1 stop bit, inverted data
- Power up defaults: Overlay mode, cleared screen, cursor position top left (0,0), visible text, character blink off, character invert off, character background off
Pinout:
Pin # | Label | Attach To |
1 | Video In | Video input |
2 | Video Gnd | Video ground (both video input and output share) |
3 | VDC Gnd | DC ground |
4 | +5 VDC |
+5 DC source +/- 5% (150ma max.) DO NOT EXCEED 5 VOLTS! If required bypass this pin to ground with a 100uf aluminum electrolytic capacitor |
5 | LOS |
Loss of sync of video input Low = video present on input High = no video present on input |
6 | I2C Data | I2C data (future enhancement) |
7 | I2C Clock | I2C clock(future enhancement) |
8 | Reserved | Reserved pin |
9 | Reserved | Reserved pin |
10 | Reserved | Reserved pin |
11 | GPIO 0 | General purpose I/O (future enhancement) |
12 | GPIO 1 | General purpose I/O (future enhancement) |
13 | RS-232 Rx | RS-232 (or TTL ) receive |
14 | RS-232 Tx | RS-232 transmit |
15 | RS-232 RTS | RS-232 request to send (future enhancement) |
16 | RS-232 CTS | RS-232 clear to send (future enhancement) |
17 | RS-232 Gnd | RS-232 ground |
18 | Input 0 |
RS-232 baud rate* No connection = 9,600 baud Pulled to ground = 19,200 baud |
19 | Input 1 |
NTSC or PAL video format* No connection = NTSC Pulled to ground = PAL |
20 | Input 2 |
Display font screen* Pulled to ground to display font screen |
21 | Input 3 |
Firmware flash update* Pulled to ground to enter firmware flash update |
22 | Input 4 | Unused pin |
23 | Input 5 | Unused pin |
24 | Input 6 | Unused pin |
25 | Input 7 | Unused pin |
26 | HSYNC |
Horizontal sync output of video input Low = video horizontal sync interval High = not video horizontal sync interval |
27 | VSYNC |
Vertical sync output of video input Low = video vertical sync interval High = not video vertical sync interval |
28 | Video Out | Video output |
Basic System Hookup:
Below is a basic OSD-232+™ hookup.
Pin # | Label | Attach To |
1 | Video In | Attach to noise free NTSC or PAL video source such as a camera Not required if self-generated screen mode selected |
2 | Video Gnd | Attach to video ground (both video input and output share) |
3 | VDC Gnd | DC ground |
4 | +5 VDC | +5 DC source +/- 5% (150ma max.) DO NOT EXCEED 5 VOLTS! If required bypass this pin to ground with a 100uf aluminum electrolytic capacitor |
13 | RS-232 Rx | Attach to RS-232 (or TTL) source transmit pin (e.g. female DB-9 pin 3) |
14 | RS-232 Tx | Attach to RS-232 source receive pin (e.g. female DB-9 pin 2) |
17 | RS-232 Gnd | Attach to RS-232 ground (e.g. female DB-9 pin 5) |
28 | Video Out | Attach to video monitor, DVR, etc. |
Communication Protocol:
Command | Value | # Of Params | Description |
UNUSED | 0xE0h | N/A | UNUSED |
Set Video Format | 0xE1h |
1 |
Set the video format (0-1) 0 = NTSC 1 = PAL Only required to override Input 1 pin |
Set Overlay Mode | 0xE2h | 1 | Set the video overlay mode (0-2) 0 = Auto switch based on valid video input [default] 1 = Overlay text and graphics with incoming video only (external sync) 2 = Overlay text and graphics with self-generated background screen only (Internal sync) |
Clear Screen | 0xE3h | 0 | Clear the entire screen with spaces (uses character in font position 00h) |
Show / Hide Overlay | 0xE4h | 1 | Show or hide the text and graphics overlay (0-1) 0 = Hide text and graphics 1 = Show text and graphics [default] |
Set Cursor Position | 0xE5h | 2 | Set the cursor position Byte 0 = X (0-29) Byte 1 = Y NTSC (0-12), PAL (0-15) |
Set Character Blink Attribute | 0xE6h | 1 | Set character blink attribute (0-1) 0 = Off [default] 1 = OnApplies to all characters drawn after the command is sent |
Set Character Invert Attribute | 0xE7h | 1 | Set character invert attribute (0-1) 0 = Normal (white pixels display white, black pixels display black) [default] 1 = Invert (white pixels display black, black pixels display white)Applies to all characters drawn after the command is sent |
Set Character Background Attribute | 0xE8h | 1 | Set character background attribute (0-1) 0 = Sets the background pixels of the character to the incoming video [default] 1 = Sets the background pixels of the character to the background mode brightness (0xF7h) Note: During internal sync mode, the background attribute behaves as if it is set to 1Applies to all characters drawn after the command is sent |
Draw Upper Range Character | 0xE9h | 1 | Draw one upper range font character at the current cursor position (0xE0-0xFF) |
Draw Sprite | 0xEAh | 1 | Draw one sprite at the current cursor position (0-15) |
Wait for VBLANK | 0xEBh | 1 | Wait for VBLANK before proceedingByte 0 = Pre-delay in milliseconds (0-128) This is a forced delay before VBLANK detection occurs allowing the user time to send characters to be drawn during VBLANK. |
Set Screen Horizontal Position Offset | 0xECh | 1 | Set Screen Horizontal Position Offset [default 53] 0 = Farthest left (-32 pixels) 32 = No horizontal offset 63 = Farthest right (+31 pixels) |
Set Screen Vertical Position Offset | 0xEDh | 1 | Set Screen Vertical Position Offset [default 29] 0 = Farthest up (-16 pixels) 16 = No vertical offset 31 = Farthest down (+15 pixels) |
UNUSED | 0xEEh –0xF3h | N/A | UNUSED |
Set Pixel Rise and Fall Time | 0xF4h | 1 | Set pixel rise and fall time—typical transition times between adjacent OSD pixels (0-5) 0 = 20ns (maximum sharpness/maximum cross-color artifacts ) 1 = 30ns 2 = 35ns 3 = 60ns [default] 4 = 80ns 5 = 110ns (minimum sharpness/minimum cross-color artifacts) |
Set Pixel Switching Time | 0xF5h | 1 | Set pixel insertion mux switching time–typical transition times between input video and OSD pixels (0-5) 0 = 30ns (maximum sharpness/maximum cross-color artifacts ) 1 = 35ns 2 = 50ns 3 = 75ns [default] 4 = 100ns 5 = 120ns (minimum sharpness/minimum cross-color artifacts) |
Set Row Brightness Black and White Levels | 0xF6h | 3 | Set the row brightness black and white levels Byte 0 = Row number: NTSC (0-12), PAL (0-15) Byte 1 = Character black level % of OSD white level (0-3) 0 = 0% [default] 1 = 10% 2 = 20% 3 = 30% Byte 2 = Character white level % (0-3) 0 = 120% 1 = 100% 2 = 90% [default] 3 = 80% |
Background Mode Brightness | 0xF7h | 1 | Set background mode brightness for external mode (overlay) character background frame and internal mode (no video) background screen (0-7) 0 = 0% 1 = 7% 2 = 14% [default] 3 = 21% 4 = 28% 5 = 35% 6 = 42% 7 = 49% |
UNUSED | 0xF8h –0xFAh | N/A | UNUSED |
Display System Information | 0xFBh | 1 | Display system information on-screen 0 = Information screen* (input settings, software version, etc.) 1 = Font screen (font map)* Partial ASCII character font must be installed |
Soft Reset | 0xFCh | 0 | Reset the OSD-232+™ to default (power-up) settings |
Define Sprite(NVM Setting*) | 0xFDh | 4 | Define a sprite in non-volatile memory Byte 0 = Sprite # (0-15) Byte 1 = Start font table memory position (0-255) Byte 2 = Sprite width in characters (1-30) Byte 3 = Sprite height in characters NTSC (1-13), PAL (1-16) Returns: <cr><lf> (Must wait for before continuing to next sprite) |
Define Font Character(NVM Setting*) | 0xFEh | 56 | Define a character in non-volatile font table memory Each character is 12 x 18 pixels Each pixel consists of 2 bits: 00 = black 10 = white x1 = transparent (pass video though) Byte 0 = Font table position to fill (0-255) Byte 1-54 = 54 bytes – 3 bytes per character row, 18 rows Byte 55 = End byte flag (0xAAh) Returns: <cr><lf> (Must wait for before continuing to next character) |
Read Data | 0xFFh | 1 | Read data from the OSD-232+™ Byte 0 = Read request type 0x00h = Verify RS-232 connection Returns: “ok”<cr><lf> if connected 0x01h = Get firmware version Returns: Firmware version number e.g. “1.01”<cr><lf> 0x02h = Get board Input pin 0 - 7 settings Returns: “XXXXXXXX”<cr><lf> (“0” = off, “1” = on) 0x03h = Get video input status Returns: “X”<cr><lf> (“0” = no sync, “1” = sync) |
Send 0xE3h - Clear the entire screen with spaces
Send 0xE5h, 0x00h, 0x00h - Set cursor position 0, 0
Send “Hello world!” - Send ASCII text
Send 0xE5h, 0x00h, 0x00h - Set cursor position 0, 0
Send 0xE6h, 0x01h - Set character blink attribute (ON)
Send “Blinking text!” - Send ASCII text
Send 0xE6h, 0x00h - Set character blink attribute (OFF)
Send 0xE5h, 0x06h, 0x04h - Set cursor position 6, 4
Send 0xEAh, 0x02h - Draw sprite #2 (defined in font editor normally)
Default Font:
Below is the OSD-232+™ default font. Use the supplied font editor software to create your own or modify the default font. The left column is the high nibble in hexadecimal. The top row is the low nibble in hexadecimal. For example the hourglass character is 0xFCh (252 decimal).
Trouble Shooting Tips:
Problem | Solution |
Green LED off (unit won’t power up) |
|
Screen text is skewed or unreadable |
|
Garbage characters on screen or text not displayed |
|