7 :Tags: HP, 34970A, DMM, repair, test equipment |
7 :Tags: HP, 34970A, DMM, repair, test equipment |
8 :series: HP 34970A repair |
8 :series: HP 34970A repair |
9 :series_index: 3 |
9 :series_index: 3 |
10 |
10 |
11 |
11 |
12 As explained in `the previous post in this series <{static}/hp34970a_2.rst>`_, |
12 As explained in `the previous post in this series <{filename}/hp34970a_2.rst>`_, |
13 I've started to sniff the serial protocol between the main board and |
13 I've started to sniff the serial protocol between the main board and |
14 the display panel so I can replace the failed VFD by an OLED or TFT |
14 the display panel so I can replace the failed VFD by an OLED or TFT |
15 display managed by an arduino or similar. |
15 display managed by an arduino or similar. |
16 |
16 |
17 Protocol |
17 Protocol |
69 in 3 characters (the 3 digits). |
69 in 3 characters (the 3 digits). |
70 |
70 |
71 |
71 |
72 Indicator flags |
72 Indicator flags |
73 --------------- |
73 --------------- |
74 |
74 |
75 The indicator flags are always sent as 4 bytes, each bit controlling |
75 The indicator flags are always sent as 4 bytes, each bit controlling |
76 one indicator. |
76 one indicator. |
77 |
77 |
78 The indicator flags I've been able to identify so far |
78 The indicator flags I've been able to identify so far |
79 are below. |
79 are below. |
80 |
80 |
81 Let's say the frame is: ``<0x0A> <0x04> <F1> <F2> <F3> <F4>``, then: |
81 Let's say the frame is: ``<0x0A> <0x04> <F1> <F2> <F3> <F4>``, then: |
82 |
82 |
83 |
83 |
84 - F1.8 = |
84 - F1.8 = |
85 - F1.7 = HI |
85 - F1.7 = HI |
86 - F1.6 = Alarm |
86 - F1.6 = Alarm |
87 - F1.5 = LO |
87 - F1.5 = LO |
88 - F1.4 = Channels |
88 - F1.4 = Channels |
89 - F1.3 = Channels box |
89 - F1.3 = Channels box |
90 - F1.2 = Mx+B enabled |
90 - F1.2 = Mx+B enabled |
91 - F1.1 = Alarm enabled (or the alarm frame) |
91 - F1.1 = Alarm enabled (or the alarm frame) |
92 |
92 |
93 - F2.5 = 4W |
93 - F2.5 = 4W |
94 - F2.4 = Alarm 1 ? |
94 - F2.4 = Alarm 1 ? |
95 - F2.3 = Alarm 3 |
95 - F2.3 = Alarm 3 |
96 - F2.2 = Alarm 4 |
96 - F2.2 = Alarm 4 |
97 - F2.1 = Alarm 2 |
97 - F2.1 = Alarm 2 |
98 |
98 |
99 - F3.6 = |
99 - F3.6 = |
100 - F3.5 = |
100 - F3.5 = |
101 |
101 |
102 - F4.8 = |
102 - F4.8 = |
103 - F4.7 = CONFIG (not sure) |
103 - F4.7 = CONFIG (not sure) |
104 - F4.6 = |
104 - F4.6 = |
105 - F4.5 = MON |
105 - F4.5 = MON |
106 - F4.4 = VIEW |
106 - F4.4 = VIEW |
107 - F4.3 = |
107 - F4.3 = |
108 - F4.2 = |
108 - F4.2 = |
109 - F4.1 = |
109 - F4.1 = |
110 |
110 |
111 |
111 |
112 |
112 |
113 Quick prototype |
113 Quick prototype |
114 =============== |
114 =============== |
115 |
115 |
116 With this very incomplete reverse ingeeniring of the communication, I |
116 With this very incomplete reverse ingeeniring of the communication, I |
117 have enough meat to try a quick prototype. |
117 have enough meat to try a quick prototype. |
129 As you can see, it works: I have the main content od the VFD display |
129 As you can see, it works: I have the main content od the VFD display |
130 on my TFT module! |
130 on my TFT module! |
131 |
131 |
132 .. image:: {static}/images/hp34970a/poc_display_mux_off.jpg |
132 .. image:: {static}/images/hp34970a/poc_display_mux_off.jpg |
133 :alt: The FTF display showing the main area and the current channel area. |
133 :alt: The FTF display showing the main area and the current channel area. |
134 |
134 |
135 .. image:: {static}/images/hp34970a/poc_display_vdc.jpg |
135 .. image:: {static}/images/hp34970a/poc_display_vdc.jpg |
136 :alt: The same with the channel 209 configured as VDC, 6.5digits. |
136 :alt: The same with the channel 209 configured as VDC, 6.5digits. |
137 |
137 |
138 |
138 |
139 The job is far from finished however: I still have to figure out how |
139 The job is far from finished however: I still have to figure out how |
142 mega328. This seems to mbe necessary because I have glitches |
142 mega328. This seems to mbe necessary because I have glitches |
143 sometimes. But I'm very happy it worked almost at my first try. I was |
143 sometimes. But I'm very happy it worked almost at my first try. I was |
144 quite surprised since the baudrate is above the maximum officially |
144 quite surprised since the baudrate is above the maximum officially |
145 supported one (115200). |
145 supported one (115200). |
146 |
146 |
147 I'll release the code of the prototype any time soon. |
147 I'll release the code of the prototype any time soon. |
148 |
148 |
149 .. _SoftwareSerial: https://www.arduino.cc/en/Reference/SoftwareSerial |
149 .. _SoftwareSerial: https://www.arduino.cc/en/Reference/SoftwareSerial |