content/hp34970a_2.rst

changeset 59
cc8413dfcf14
child 60
3f87af862c60
equal deleted inserted replaced
58:58e79464cd09 59:cc8413dfcf14
1 ==========================================
2 HP 34970A Data Acquisition Unit - part 2
3 ==========================================
4
5 :Author: David Douard
6 :Category: Electronics
7 :Tags: HP, 34970A, DMM, repair, test equipment
8 :series: HP 34970A repair
9 :series_index: 2
10
11
12 This is quick follow up of my previous blog post on my attempt to fix
13 my recently acquired HP 34970A.
14
15 In my hurry to replace the failing FRAM (FM24C04) chips, I also
16 replaced the FRAM chip on one of my 2 plugin modules.
17
18 Bad idea: the module then provoques an error on startup (something
19 related to the memory being incorrect).
20
21 So I decided to try to dump the content of the memory on copy it into
22 a brand new chip. The FRAM chips on the plugin modules are much less
23 prone to fail, but I would not have been pleased to be obliged to
24 reinstall the original chip...
25
26 At this point, I had 2 problems:
27
28 - I don't have a universal programmer (yet),
29
30 - I don't which one of the 3 FM24C04 is the one from the plugin
31 modules (the other 2 are from the main board and the DMM).
32
33 Dumping the FRAM chips
34 ======================
35
36 I don't have a programmer, but I have some Arduino Uno laying
37 around. So let's use it as a poor man's mem dumper/programmer.
38
39 My first problem has been to build a setup to install the SOIC8 chips
40 on, connect the 2 pull-up resistors and wire it to the Arduino.
41
42 I ended with this:
43
44 .. image:: {filename}/images/hp34970a/soic8_breadboard.jpg
45 :alt: the breadboard-based setup to dump/write the FM24C04 chips.
46
47 And with a FM24C04 chip soldered on:
48
49 .. image:: {filename}/images/hp34970a/soic8_breadboard_populated.jpg
50 :alt: the breadboard-based setup with a FM24C04 to be dumped.
51
52 I've been using a small library named extEEPROM_ dedicated to
53 reading/writing I2C EEPROM chips. My problem was I was not able to get
54 any acnkoledge from any FM24C04 I "plugged" on my board. It was
55 working properly with a MAG3110 or a PCF8563 I have, but not wth the
56 FM24C04.
57
58 According to the datasheet I have (FM24C04U from Fairchild), the chip
59 is supposed to accept a wide range of voltage (from 2.7v to 5.5v), so
60 I used the 3.3v pin of the Arduino to power the chip. That was the
61 problem: using a 5v power rail made meable to dump the content of the
62 chips.
63
64 .. image:: {filename}/images/hp34970a/fm24c04_dump.jpg
65 :alt: dumping the content of a FM24C04
66
67 Restoring the dumped content in a new FM24C04
68 =============================================
69
70 Now I have 3 candidates.
71
72 First::
73
74 0x0000 3C 84 7C 6C 57 57 6C 7C 84 3C 3F 71 BD 2A 68 68
75 0x0010 2A BD 71 3F 3C F8 27 74 30 30 74 27 F8 3C 3F 71
76 0x0020 9D 81 31 31 81 9D 71 3F 00 00 00 00 00 00 00 00
77 0x0030 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00
78 0x0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
79 0x0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80 0x0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
81 0x0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
82 0x0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
83 0x0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
84 0x00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
85 0x00B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
86 0x00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
87 0x00D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
88 0x00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
89 0x00F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90 0x0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
91 0x0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
92 0x0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
93 0x0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
94 0x0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
95 0x0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
96 0x0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
97 0x0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
98 0x0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
99 0x0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100 0x01A0 F8 F7 10 10 F7 F8 FC DF 24 24 DF FC 00 00 00 00
101 0x01B0 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00
102 0x01C0 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00
103 0x01D0 00 FF 00 FF FF 00 00 FF 00 00 00 00 00 00 00 00
104 0x01E0 FF FF FF FF FF FF FF FF 00 00 00 00 39 39 30 33
105 0x01F0 30 32 30 33 31 34 33 36 E8 00 00 00 00 00 00 00
106
107
108 Second::
109
110 0x0000 86 00 00 00 00 86 00 00 86 00 00 00 00 A6 00 00
111 0x0010 86 00 00 00 02 86 00 00 86 00 00 00 07 86 00 00
112 0x0020 86 00 00 00 00 86 00 00 86 00 00 00 05 86 00 00
113 0x0030 86 00 00 00 05 86 00 00 86 00 00 00 07 86 00 00
114 0x0040 86 00 00 00 07 86 00 00 86 00 00 00 07 86 00 00
115 0x0050 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
116 0x0060 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
117 0x0070 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
118 0x0080 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
119 0x0090 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
120 0x00A0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
121 0x00B0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
122 0x00C0 86 00 00 00 A7 A6 00 00 00 00 00 00 00 00 00 00
123 0x00D0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
124 0x00E0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
125 0x00F0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
126 0x0100 FF FF FF FF FF FF FF 7F 00 00 00 00 00 00 00 00
127 0x0110 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
128 0x0120 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
129 0x0130 FF FF FF FF FF FF FF FF 01 00 00 00 00 00 00 00
130 0x0140 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
131 0x0150 FF FF FF FF FF FF FF FF 01 00 00 00 00 00 00 00
132 0x0160 FF FF FF FF FF FF FF FF 01 00 00 00 00 00 00 00
133 0x0170 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
134 0x0180 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
135 0x0190 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
136 0x01A0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
137 0x01B0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
138 0x01C0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
139 0x01D0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
140 0x01E0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
141 0x01F0 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
142
143
144 Third::
145
146 0x0000 01 0C 00 00 00 1A 00 00 22 1A 00 0A 80 46 FE 77
147 0x0010 37 B5 57 DB CA 6E FB 6F 3F EC F9 FB DE FF FF 77
148 0x0020 F7 04 7D FF FB FE FA 67 77 FD DD FB DF FF FF 76
149 0x0030 37 BC 59 FB FF 7E FA 66 37 E5 D9 FF FB EE FF F7
150 0x0040 BF 45 77 FB FA FF FA 77 3F ED 51 FF DE FF FF FE
151 0x0050 37 27 51 DB DF FE FA 66 B7 EC 7F FB EE FE FE F6
152 0x0060 37 F5 D2 FF CB EE FE 6F FF 65 71 FF FF FF FE 7F
153 0x0070 3F 4E 71 FF CF FE FF 67 BF BD 5D FF FE FE FE 7F
154 0x0080 37 04 55 DF EA EE FF 6E F7 E5 7F FF DE FF FE 7E
155 0x0090 FF 0C 70 FF FF FF FA 6E FF FD 7F FF DE FE FF 76
156 0x00A0 3F 3D 71 DF FE FE FB 6E B7 E5 FD FB DF FF FE FF
157 0x00B0 FF 7F FF DB DB FF FE 6F BF FD F9 FB EA FF FE FE
158 0x00C0 F7 E3 FB BB FF FE FB 66 F7 6C D1 FB DF FE FE F6
159 0x00D0 B7 64 7D EB DF FE FB 76 3F F5 F1 FF DB FE FF E6
160 0x00E0 BF C6 D6 DB CA EF FA 76 B7 F5 7F FF FE FE FF 7F
161 0x00F0 B7 6E 41 DB CA 7E FB EE FF FF FF FF FF FF FF 7F
162 0x0100 11 00 00 00 00 00 C0 00 FF FF FF FF FF FF FF FF
163 0x0110 11 00 00 02 00 00 00 20 FF FF FF FF FF FF FF FF
164 0x0120 11 00 00 00 02 00 00 00 FF FF FF FF FF FF FF FF
165 0x0130 11 00 00 02 00 20 18 00 FF FF FF FF FF FF FF FF
166 0x0140 11 00 00 02 80 00 08 00 FF FF FF FF FF FF FF FF
167 0x0150 11 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF
168 0x0160 11 00 00 00 02 00 50 00 FF FF FF FF FF FF FF FF
169 0x0170 11 00 00 02 00 00 00 00 FF FF FF FF FF FF FF FF
170 0x0180 11 00 00 00 00 00 D0 00 FF FF FF FF FF FF FF FF
171 0x0190 01 00 00 00 00 08 08 02 FF FF FF FF FF FF FF FF
172 0x01A0 11 00 00 00 00 00 08 20 FF FF FF FF FF FF FF FF
173 0x01B0 11 00 00 00 00 00 08 00 FF FF FF FF FF FF FF FF
174 0x01C0 13 00 00 08 02 00 08 00 FF FF FF FF FF FF FF FF
175 0x01D0 11 00 00 08 00 00 18 00 FF FF FF FF FF FF FF FF
176 0x01E0 11 00 00 00 00 00 90 00 FF FF FF FF FF FF FF FF
177 0x01F0 01 00 00 00 00 00 08 00 FF FF FF FF FF FF FF FF
178
179
180 The notable thing about the first one is the absence of long 0xFF
181 patterns. So I chose it as a first guess, and I was right.
182
183 Now my HP 34970A does not complainany more at all on startup!
184
185 So I "just" have to fix the display (and recalibrate it). But "just"
186 fixing the display looks a not so easy task, since my display unit
187 microcontroller (U1) seems to be partially dead.
188
189 But that's an other story.
190
191 .. _extEEPROM: https://github.com/JChristensen/extEEPROM

mercurial