There are many uses for a good current source, in particular, to drive a noise generator, Noise Source TWS-N15. Not much to write home about, but because of frequent requests, I am publishing the circuit here. It will work for small current from 2 or 3 mA up to 10 or 20 mA with no problem, and very little drift over temperature and time. For R, uses a good resistor. Input voltage can be up to 35 V, or even higher.
This blog is hosted by a professional provider, but the manuals archive (which needs quite a bit of storage), and other webpages, and my fileserver, is running on two machines, a Dell OptiPlex FX160 as the main, eco-efficient system (in Germany), and a Dell PowerEdge SC1425 with a Raid 1, 3 TB hard drive system as the backup, and currently my main system in Japan (where I am living on a temporary business assignment). Recently, the SC1425 failed, it just would not start up anymore. Power supply seems OK – likely, a severe issue. Checked all the memory and everything, but to no avail.
After fiddling around for about 2 hours, and still no success, I decided to order a new server – a new old server, Dell PowerEdge 850. Just about 35 Dollars used. Rather than 2x XEON processors, it has a Pentium D, 3.2 GHz Dual-Core. Plenty of power for a web- and fileserver.
A couple of days later, the unit arrived – removed the SATA Raid controller (running on Ubuntu with software Raid), and some BIOS settings (activate SATA, disable Keyboard error, enable boot from USB, default power up status is ON) plus BIOS Update. Also, reconfigured the router to make sure this machine will get all the HTTP requests.
A few tests – the harddrive is working fine, about 100 MB/s (sure there is a cache). The Raid 1 is up with no repairs or anything.
A quick check – also the web server is reachable.
I wouldn’t recommend a single PowerEdge for your super critical applications, but they are pretty good for the current cost, as long as you don’t mind the fan noise.
There are many circuits around in the web, related to GPSDOs, and a more sophisticated design with a self-steering u-blox receiver has been published earlier here. Now I felt tempted to try an easier approach, without the hassle of precision references, operational amplifiers, DAC, and other devices that are great but high cost when you need to avoid noise and other complications.
Essentially, this design is a clean-up PLL, with some monitoring of the receiver, and the PLL health. All monitored by a simple 8 bit microcontroller, an ATMega8-16PU in this case.
We have some elements here, (1) the OCXO and amplifier, distribution amplifier – to provide the outputs, 4 in this case, and a good TTL level 10 MHz signal for the PLL, (2) a u-blox receiver, configured to provide either 5 Hz flashing in non-locked condition (no GPS reception, or no good reception), and 125 kHz, 50% duty cycle as a phase reference in locked condition, (3) the MCU, ATMega8, that is configuring the GPS received, providing a 125 kHz signal derived from the 10 MHz OCXO (the OCXO is used as the microprocessor clock – don’t introduce a new clock in such circuits, which will only lead to spurious signals!), (4) a 74HC86 that is used as a phase detector, and to convert the GPS output (a 3.3 V signal) to 5 V level.
That’s the OCXO and distribution amplifier…
The phase detector…
The controller and PLL filter – a simple two pole filter. It replaces all the expensive references, DACs and opamps of the more sophisticated designs. There is another small, faster filter to convert the phase angle to a voltage – converted by the 10 bit ADC of the ATMega8, 1 bit is about 4 ns.
The circuit full view…
Some first tests turned out well. Monitoring the OCXO phase with a scope…
To do a more thorough tests, without all my various test gear that it back in good old Germany, I used the 10 MHz to run another GPS receiver (after upconverting to a 26 MHz clock), then the NAV-CLOCK message can be used to report phase and drift. The short term stability of the OCXO is better than the GPS, as can be seen, but there is no long term drift – because the OCXO is now steered by the 1st GPS receiver via the PLL (XOR phase detector and loop filter).
The phase detection is done at 125 kHz, a convenient frequency for precise measurement, and high enough for filtering.
About 20 ns of jitter are clearly visible in the u-blox output, because it is running on a 48 MHz internal clock.
The circuit is running well, because of the few parts the cost is low and should be easy to reproduce. Let me know in case you need the ATMega code (written in GCC).
The display shows the phase angle, essentially, the duty cycle of the phase comparator output, the stability of the OCXO voltage (by a low pass algorithm), and the lock condition of the GPS (detected by measuring the frequency with timer0 of the ATMega8, and the INT0 interrupt at rising flank to reset the timer).
Phase noise is very small, there are no visible spurs (the lines seen on the screen relate to recalibration events of the analyzer rather than spurious signals, except those at +-125 kHz – at -90 dBc – probably you can get rid of these by better shielding and compartmentalization).
Sure there could be more sophisticated phase noise measurement, by analyzing the control voltage with a low frequency analyzer. I may proceed with such analysis these days but don’t expect to find much, anyway, would be best to fit the circuit to a shielded box first.
All in all, I believe this is a very workable solution that will give you great performance at lowest cost, and with little effort. Sure it will work with various types of OCXOs, the Trimble unit used is generally very good in terms of drift and phase noise. Be aware that some newer Trimble units aren’t all that good. The OCXO draws about 2 Amps at 12 Volts upon startup, but it is OK to start it with a current limited supply, at about 1 Amp, if you don’t want to overdesign the power supply.
Many attempts have been made in the past to provide a low phase noise 10 MHz signal as a frequency reference, however recently I experienced some trouble because of ground loops. Normally no problem to decouple from DC voltages, but still the ground stays connected. The only way to avoid such ground loops is to use potential-free isolation, best using transformers. Capacitive coupling may be an option, but it is best avoided, at least it is though to get good isolation, say 2 kV or above, with capacitors that can transmit 10 MHz, at reasonable cost and size.
I am looking for about 1 V p-p, reasonably square shape output, into 50 Ohms, or TTL level (about 5 V) into high impedance. About 5-10 dBm at the 1st harmonic, 10 MHz. So we need to drive about 15 mA through a 50 Ohm load.
As amplifier elements, I am using 74HCU04 unbuffered inverters, these are balanced for propagation delay, and I have plenty of these in a box. The HCU04 is essentially a single stage inverter, a gate with a pretty good linear region – an amplifier. Propagation delay is about 5 ns at room temperature, so it is good solution to amplify clocks, and so on. We are using it to amplify a 10 MHz signal from an OCXO.
For isolation, looking for some small transformers (generally speaking ethernet transformers will work well), I found the PE-65612NL at low cost (list price is about 4 USD per piece, but some sellers have them at a small fraction of this cost, most likely, from surplus). These are 1:1, 2 kV min, signal transformers originally intended for digital audio signal separation. Good enough for our purposes.
A really affordable offer… sure you can substitute any other reasonable signal transformer that can cope with at least 20 mW, and is reasonably inexpensive.
The schematic – first, a single HCU04 is used to square up the OCXO output, and then distribute to 3 outputs, two are used to drive 2 isolated outputs each (4 outputs total), the other output is routed to a PLL circuit (because this isolation amp is part of a GPSDO). Any phase drift of the 1st stage HCU04 introduced by thermal and other slow effects will be canceled to some part by the GPS loop (because the sampling of the phase is very close to the isolated outputs, only followed by a set of paralleled-up gates) – although I don’t expect such drift.
The resistors were selected as 3×330 Ohm, giving about 100 Ohms source resistance and about 1.4 V pp when terminated in 50 Ohms.
Output power is fairly consistent, like, +-0.2 dBm when comparing 4 units. Fundamental output at 8 dBm is exactly the right range. Probably you can adjust it in the range of 5 to 10 nominal without changing much the other characteristics of the circuit, by changing the resistor values from the paralleled-up gates to the isolation transformer.
In reply to an earlier post, GPSDO Update, I received the following great implementation of a GPSDO using u-blox receivers. The pictures are rather self explanatory.
Hello again Simon!
I trust you are well and are enjoying the year end break.
We ( My good Wife and I..) have put your GPSDO software to good use. We used your message processing code almost as is, and added the various functions to drive my specific hardware and DAC, etc.
I have built up the complete GPSDO, with the 1-50MHz Analogue Devices AD9854 Quadrature DDS as a signal generator, provided with a 200MHz clock from the SI5351 PLL.
I also have a ‘signal generator’ output from another Si5351 channel, 1 to 200MHz, and a third channel output. square wave, from the GPS time pulse output, and can set outputs from 1Hz to 10MHz in decade steps.
I used a 7inch NEXTION graphics display for the display and control inputs ( touch screen) – that works very nicely!
I have run the unit for a few days now, and logged a 48hour period of data, every 10seconds, regarding the clock bias, drift, DAC output voltage etc, and the result looks very good indeed.
I am very pleased with the instrument and grateful for your assistance in providing your code. Thank You!
I have attached a few photos for interest.
Kind regards, and have a very good Christmas!
Joe and Gisela.
Coming back to an earlier post, Noise source design, I wanted to post the final results, and the looks of these noise sources.
The case is an aluminum extrusion design, and the lids are milled to accomodate the BNC and SMA connectors. The SMA is a really high quality connector. No point in using a noise source with a cheap connector – you are normally going to connect and disconnect this often.
The constant current supply is optimized for the maximum noise output, normally, about 8 mA. The design is a current mirror, with a TL431 precision reference.
The noise section is soldered with 0603 SMD mostly, on a FR4 board.
Foam and copper tape to avoid any foreign signals getting into it. Spurious signals can mean big trouble with noise measurements.
Return loss, I think it is pretty good.
After some optimization of the circuit, the ENR output is now pretty flat, even with no specially expensive noise diode.
After all, pretty happy with the device, and others are happy two, as I give them away at low cost. If you need one, let me know.
Recently, busy days with all kinds of business trips and vacation in between, but finally time to go back to the workshop and enjoy some repairs in free time.
I got this analyzer for cheap, but it is not working unfortunately. When I plugged it in, smoke came out. Not a good sign, but let’s first find the source of the smoke. Easier said than done, because this “compact” unit has many fragile boards, and many screws, but I managed to get down to the innermost part, the power supply. Still wondering how HP designed this unit, it must have been a mere engineering nightmare, but these units are surprisingly reliable, 30 years old, or older.
Well, it didn’t take long to find the culprits, some old RIFA caps!
One blown, the others not looking much better. So I decided to replace them all, including the 2n2 Y-rated caps. The 100 nF X2 caps have a 20 mm raster, not a common size nowadays. We may as well replace them with original RIFA parts. Not cheap, at about 3 EUR per piece, but the unit is definitely worth it.
The power supply compartment is specially shielded, and I used the opportunity to clean out the dust.
A few days later, the new caps arrived (Y caps were still in my stock, WIMA brand).
The old board is looking marvelous with the new caps mounted.
A moment of truth – furtunately, the caps were the only issue, all working fine!
Nearly free of charge, we got this HP 4274A, in non-working condition. Unfortunately the former owner didn’t care much about it, so it suffered some front panel damage (optical damage only). Internally, it looks untouched, albeit, dirty.
The power supply has a big fan with no filter. This will suck in air and dust. Time for some compressed air and a vacuum cleaner.
Also the card cage has some dust, better remove it before it causes issues when reparing-reinserting card.
After the first power-on test, the common disease of these HP instruments, the X-rated capacitor blew up (Stink!).
Again, the infamous Rifa brand capacitor. Replaced it with a new capacitor (make sure it is X/X2 rated!).
The symptons, there are many, (1) oscillator output has far too low amplitude, (2) something wrong with the range switching and amplifier chain), (3) with a all this, it won’t calibrate.
First, fixed the power amp, A6 assy (oscillator itself had no issues). Reason – a defective LM339 aka 1826-0138, so the range was locked on the lowest range of output.
Another trouble on the A1 board, also there, a dead LM339.
After recent repairs of several HP units of this era, there seems to be a real issue with the comparators, LM339, of this age and made my National Semiconductor. Many of them failed. Also, there are reports on the web about other HP equipment that had the same parts fail.
Eventually, I decided to replace all the LM339 of this 4274A, having found several dead. Just as always, my stock was 2 pieces short, so this will need to wait for a couple of weeks to get some shipped or to pick them up from the workshop in Germany during summer vacation (approaching soon).
For now, the unit is working fine on most ranges, at lower osciallator levels. At higher levels, there are issues because of incorrect switching of the process amplifier attenuator/amplification factor. This section is controlled by the two LM339s that haven’t been replaced yet…
During the test operation I noticed one key not to work properly and decided to check it – the metal spring was broken, a small piece missing. Also this, a case for the spare part stock in Germany. Always check such defective keys, the metal springs and fragments may cause shorts and time consuming repairs down the road.
This will probably be a lengthy and complicated repair, because we are looking at a non-working 8753C. It is a great unit, in best possible shape, and came with all the original cables and a APC-7 test set. Even high quality APC-7 to N and -BNC adapters were included. Only downside – this unit is not showing anything on the screen.
Some quick checks later, found that the power supply is perfectly fine. Only, the A9 CPU assembly shows no activity. So I decided to take it out of the box, and power it with a lab power supply to see what’s going on. Absolutely nothing, no bus, no data. No clock??? Wait a minute. The clock is generated on the A9 assy itself, what can cause such silence? Probing around, absolutely no clock signal at all, not even at the osciallator (which is a standard DIL14 oscillator module, with the odd frequency of 19.6608 MHz).
Remove the oscillator, and it is completely dead.
Immediately, I ordered a couple of these oscillators at negligible cost, because I don’t have this cracy frequency in stock. To see what else is wrong with the unit, some temporary test with a 3314A signal generator (using the sync output). And, great news, the 8753C is starting up, with a very good and clean and focused display. The red arrows show the activity LEDs working, and the black cable supplying the clock.
Some basic tests later it is clear that the source has no output. It should sweep from about 30 kHz to 3 GHz, but no signal. The pretune DAC is working, also the driving signals are working fine (supply voltages and current). The source is all located in the A3 source assy. Made in USA, while the rest of the machine had been made in Japan.
There can be 4 issues with the A3 assy. (1) something with the control board, (2) something with the microcircuit, really bad, (3) the fixed oscillator, ok, (4) the YTO yig tuned oscillator, intermediately bad – can be replaced with a spare YTO but these don’t come cheap.
Test the fixed oscillator – always good to have all kinds of cables and adapters around!
For such tests, best use the pretune mode – disable the PLL. You should see good output with variable, slightly noisy (no PLL) frequency.
Next test, the YIG itself. Fortunately, we have the pinout from some old HP schematics.
No good news – no signal. I even opened it up, but no visible damage (except a kind of low cost construction YTO, and very thin gold bonding wires). I suspect the main transitor is bad, not enough gain anymore to make it oscillator – a well known issue of these HP economy-type YIGs.
Replacement parts are difficult to get for the 5086-7473, and no wire bonder and special tooling here to put in a new transistor. So my best attempt will be to use a good high end Avantek YTO to replace the original part. Probably, this will need some tuning of the coil drive circuit, but the 8753C is fairly robust in this regard. Let’s see if we can accomplish this – it will need to wait until August, because the various spare YTOs are all in Germany, in the main workshop. Stay posted.
If you are servicing or owning some older test equipment (or arcade games, or similar), I highly recommend to take copies of the internal program, usually stored on a PROM, EPROM, or mask ROM. As long as these are socketed, no problem – still we need to be careful because old integrated circuits may have brittle legs, but in general, it is easiest to remove the memory from the board, and then read it with some good EPROM reader.
The above board, I never had one in my hands, it is a picture from the web, and as per Keysight’s website, there were several later versions. So far I had two 4274A’s in my workshop for repair, and both had the later 04274-66529 board. I can only speculate that these board were made in a larger set, because is features mask ROMs rather than EPROMS, and there is high cost to only make a handful of mask ROMs (one would rather use programmable memory)
Many times, for test equipment, it seemed that in the 80s the program code was considered like something that will never change or need update, and the memory chips were directly soldered to the board. This had clear reliability advantages (cost at this level was no argument for that kind of equipment, but sure it is great to just solder in the memory by automated assembly rather than manually programming them, and putting them into sockets), and time showed that the engineers of HP were right, very rarely the ROMs fail, and if they fail, it is because of some catastrophic other issue, like a massive power supply failure. Only in one case, the single-time programmable EPROMs used in the 3562A, these fail all too often and too early, probably this memory design or specific series has reliablity issues.
Despite all this reliability, we want to keep copys of the ROMs, but how to get access to the chips soldered to the board. Unsoldering is no option. Soldering in general, on old digital boards, we want to avoid – because it may take days to get it back to service if something goes wrong.
So, how can we proceed? Pretty easily, we just pretend to be the CPU, and read the data by replacing it with a microcontroller that sends the address and data information for each accessible memory location (16 bit), 65536 bytes.
The test cables, can be shop-made from some resistors with thin legs, and some jumper cables, and some heatshrink tubin.
Some of the CPU signals need to be set appropriately to get access to the memory, like the VMA and R/W signals.
The setup, a simple Mega128A board that has plenty of ports, a USB to RS232 converter (running at 250 kbaud).
The Mega128A continuously cycles through all the addresses, and transmits the data to a host PC.
After some cycles captures, i.e., with all adressess read several times, is is only a matter of a seconds for a small console application to generate the memory dump.
But then – some time consuming observation. From the Agilent forum, I have a copy of 4275A ROMs (hte 4275A is the higher frequency companion of the 4275A, and the first 3 ROMs are supposedly identical).
ROMs 2 and 3 were found identical to my copies – but ROM 1 has 2 different bytes. How come? Maybe a corrupted byte? -these are generally rare to non-existent for mask ROMs.
To resolve it, I had to wait for a 2nd 4274A to show up here, and very recently it did, so I took another ROM dump (you can also recognize it from the color of the lithium battery above). As it turns out, the two 4274A I had in my hands have identical ROM images, so either there is an issue with the image of the 1818-1134 = 04274-85041 so far found on the web(taken from a 4275A), or these two ROMs are not identical for the 4274A vs. 4275A, against common knowledge. Any case, below you have the validated 4274A ROM images.