A few weeks ago, I had to open up my 6632B in order to replace two tantalum capacitors. I took that opportunity to take a sniff at the communication between the front panel display MCU and the DSP MCU. The following is what I have found out so far. There are still some missing details which I have not tested, namely the data bytes which lights up the respective indicator on the VFD.
I share my notes and annotated images here should you wish to investigate further. Hopefully it will enable you to build a replacement display of some sort. Please share any of your new findings to the forum.
HP6632B signal interface between front panel & DSP
===================================================
1. Interface between main DSP and Front Panel Key/Disp is via two serial
lines(TX, RX), at a baudrate of 15625bps
2. Normal voltage level on both TX & RX is HIGH(5V), LSB is sent first,
data bit value "0" =0V, bit "1"=5V
3. When idle, DSP will send 0x82 to Key/Disp, and Key/Disp will response
after approximately 1.1ms, with a value of 0x8A
(See image Signals_01.gif)
4. user key press will be sent to DSP as a keycode 0xMN, precedes by two byte
header 0xC0,0x00. e.g. Voltage button keycode is 0x0B, so the sequence
0xC0,0x00,0x0B is sent (See image Keycodes.gif for value MN)
5. shift key press handling is internal to the Key/Disp MCU and a different
keycode will be sent to the DSP. The 'Shift' symbol on the VFD display
is controlled by the display MCU instead of the DSP
6. if shift key is pressed first, then the middle command byte changes to 0x01
so if "Shift" is pressed first in (4) above, then 0xC0,0x01,0x0B will be sent
7. front panel rotary encoder rotation clockwise is sent using code
0xC2,0x01,0x00 and counterclockwise 0xC2,0x01,0x01
8. Message from DSP to Disp/Keypad uses the following format in HEX:
(note: the byte count value vary depends on message length, but all ended with 0x82)
Voltage and current values:
===========================
Header(1 byte) : E0
byte count(including self & ending 0x82): 12 (value 18)
ASCII messages, multibytes (In HEX): 20 30 2E 30 30 36 56 20 2D 30 2E 30 30 31 30 41 (16 bytes)
(In ascii): 0 . 0 0 6 V - 0 . 0 0 1 0 A
ending byte 0x82 : 82
Display Indicators On/Off:
==========================
Header(1 byte) : E1
byte count(including self & ending 0x82): 0A (value 10)
ASCII messages, multibytes (In HEX): 00 02 00 00 00 00 00 00 (8 bytes)
ending byte 0x82 : 82