An oscilloscope measures voltages, often at several points in a circuit at once, and displays the results in the form of graphs. In other words, it is something like a very sophisticated voltmeter. This is about the idea, but the inner workings of an oscilloscope are much more complicated. In essence, modern oscilloscopes are specialized computers, and the prices are the same. At the moment, the optimal entry-level oscilloscope in terms of price/quality ratio is the Rigol DS1054Z.
Rigol DS1054Z captures 30,000 oscillograms per second, and the oscilloscope’s handy 7-inch color LCD provides a bright and clear display of oscillograms.
I used to own an older Rigol model, the DS1052E. At that time, it had already won the “Product of the Year” award in the USA and was a milestone in the development of oscilloscopes in terms of price/quality. In principle, the model is not much outdated even now, but the screen is small, and the resolution is only 320×200. But lately, I often had to work with SPI, and the desire for three or four channels became stronger. The last push was the request of a friend to find him a normal inexpensive oscilloscope. After clarification that a two-channel is more than enough, and four channels are not required even in theory, I parted with the DS1052E and ordered a DS1054Z.
I have nothing much to say about the probes – 150 MHz in the X10. The only thing I have to say about them is that they are loose and fall off almost constantly.
USB cable is 28AWG/2C+28AWG/1P, and there are ferrites at the ends. Rigol marking is not present.
The power wire is angled and (in my opinion) at the wrong angle – the power connector is mounted on the side, but the supplied wire is facing outward, not toward the center of the device.
This is especially annoying because the air inlet and outlet holes are rather recessed into the sides of the case, and the device can be placed right up against the walls of the shelf without being afraid of cutting off the airflow. Let me clarify – you can do it on the right. On the left, the corner power wire will go out of dimension by 1.18-1.57 inches (3-4 centimeters). In this case, the straight wire is more convenient, but there will be a big gap at the back. So far, I could not find an angled wire turned 180 degrees.
The complete papers are of no particular interest. The description is very short. The full description is better to take from the site. I personally put them at once in the “sorry to throw away, but will never be needed” compartment of the cabinet.
Rigol DS1054Z Appearance
On the backside is a standard socket for the power cord, there are USB and LAN.
This is the output that can be used in signal monitoring mode (you can record a signal mask, and if the signal doesn’t match, the oscilloscope will “whistle”.
A review would not be interesting at all without an “autopsy”. The autopsy will be done in two areas – hardware and firmware analysis.
The DS1054Z circuitry is not fundamentally different from many other digital oscilloscopes. The use of a publicly available element base significantly simplifies the analysis. All major components can be purchased, and their descriptions are also available.
The first block of the oscilloscope where the signals come in is the input amplifiers. The DS1054Z has four of them, and all channels are the same. Unlike many others, there is no separate trigger channel. In a classic oscilloscope, the trigger channel was connected to the comparator, which determines when the sweep starts. Analog oscilloscopes had to use special delay lines – usually, a coil (or section) of coaxial cable to properly display the signal. Digital oscilloscopes use memory for this.
In the DS1054Z, any channel can be selected as the trigger source. There is no separate comparator either. The signals are compared after digitization. This allows the introduction of complex triggers, greatly simplifies the circuit and synchronization work, but also has its disadvantages.
There is one BNC connector on the right side at the back. It has two selectable functions. It can be used to signal a match/mismatch between the oscilloscope and a given pattern. For home use, this is a practically useless feature.
Also, this BNC can be a trigger output. This is where the pitfalls come in. The trigger signal is generated programmatically by processing the ADC counts already in digital form. Consequently, there is a huge delay relative to the input signal due to delays inside ADC (up to 128 clock cycles) and during further transmission. Altogether we get hundreds of nanoseconds. Add to this the existing jitter with respect to the original signal in units of nanoseconds (due to sampling frequency of ADC and processing frequencies in the digital part). The resulting trigger signal becomes usable with great reservations.
Channel 2 is fed with the initial signal. The trigger output is connected by cable to input 3. Cursor A is set at the trigger time (-4ns, but it is not important). Cursor B is set at the very beginning of the trigger output edge. The result is a delay of 350ns. If you change the trigger level (marked “T” on the right), the delay doesn’t change at all.
However, if you want to synchronize an external logic analyzer with a buffer and configurable trigger position, it’s not so bad. But it is necessary to keep this delay in mind because the hardware trigger output of more expensive units gives a delay a hundred times smaller.
Each of the input amplifier channels has several functions:
Amplifying/reducing the input signal to bring it into the range of the ADC.
Controlling the signal bandwidth (analog low-pass filter)
Switching between open and closed input. In the closed input mode, a capacitor is connected to the circuit to simplify things a bit, cutting off the constant component of the signal.
Matching with the ADC input. Most modern high-speed ADCs use a differential input. The input amplifier receives the signal through one wire (coaxial) and outputs two signals (mutually inverted) to the ADC. The differential line increases resistance to interference.
Front side input circuits:
It is clearly seen that the two channels have an identical circuit, but even the components’ location is the same. Besides the discrete components, the circuit includes:
A three-channel switch HC4053 (whose third channel is obviously grounded and not used).
An 8-bit shift register 595 (SN74AHC595).
A digital dual potentiometer AD5207.
The HC4053, TL072C, and AD5207 are split in half between the channels.
On the reverse side, all channels are the same. The chips are not divided. Besides the discrete parts, there is a TLC274 auxiliary amplifier (marked P274), an HC4053 switch (an ersatz DAC is built on it), FTR-B3-GA4.5Z relays (SMD, standard type, 4.5V voltage, gold on nickel covering), and a solid-state relay cosmo y214s.
For now, I will only mention the fact that the input amplifier RF circuit is built entirely on discrete elements. All chips provide only level control. DC offset compensation and other auxiliary functions. By the way, the set of these chips (and relays) has not changed much compared to the DS1052E. The DS1052E used an additional RF chip (AD8370?), which in the DS1054Z is replaced by several transistors.
Then all channels converge to the ADC:
The Rigol marking should not be confusing. Enthusiasts have long ago figured out that it is actually the HMCAD1511 from AD. The old DS1052E had five two-channel AD9288s (suspected in a slightly “overclocked” version).
Inside the HMCAD1511 is a four-channel reconfigurable ADC, providing an aggregate speed across all channels of 1 GS/s. Accordingly, with two channels, it is 500, and with four channels, it is 250.
You can clearly see how the 4 differential lines from the input amplifiers fit on top of the picture.
To the right of the ADC in the picture is the ADF4360-7 frequency synthesizer. Also, from AD. It is noticeably cheaper at $3.3.
If you read the documentation superficially, the question may arise – how does the device provide 12 bits with the 8-bit ADC? The answer is quite simple – by summing the samples. In 12-bit mode, the sum of 16 consecutive samples would give an additional four bits while proportionally decreasing the frequency. And it’s not Rigol who are such “crooks”. – There are similar mechanisms in the devices of many companies. Unfortunately, high-speed ADCs of 12-14 bits are more expensive, and the circuitry of the oscilloscope becomes more complicated. Oscilloscopes with more than 14 hardware bits are very hard to find (and have a case of money) – this is one reason why it is impossible to test a quality audio channel with an ordinary digital oscilloscope. Its eight-bit resolution is simply not enough to catch distortion at the 16-24-bit level.
The general scheme of operation is as follows:
The processor tunes the frequency synthesizer and ADC
The synthesizer outputs the desired frequency to the ADC
ADC converts input signals and outputs via LVDS (there are several data and clock lines) to FPGA
The last important element is the main brain of the oscilloscope – the MCIMX283DVM4B microcontroller. It is a processor with the ARM926EJ-S core of the i.MX28 family from nxp/freescale. It runs at 450 MHz and contains a lot of stuff inside:
An Ethernet controller
Two USB controllers
An LCD controller (video light card)
A standard bunch of PWM/serial channels/low-speed DAC/ADC, etc.
By no means the most productive processor, but it’s good enough even for relatively heavy tasks like Fourier transforms and real-time output.
Returning to the FPGA vs. CPU comparison, even a five times more expensive XC6SLX25 would not produce an analog of this processor – there simply aren’t enough logic cells to implement all the embedded hardware functions.
Network and Ports Used in the Rigol DS1054Z Oscilloscope
The network stack provides the ability to connect to the oscilloscope over the network, but it has no functions for connecting to external resources on its own (and good because this ubiquitous cloud ideology is already turning into a perversion). Even the connect function from lwip is not compiled into the application. The maximum is broadcast/UDP within the local network.
On the back of the oscilloscope, you can see the “advertisement” of the LXI protocol. Almost all ports are related in one way or another to the implementation of this standard. There are quite a few features implemented there – 1117 (one thousand one hundred and seventeen!). One popular first use of SCPI is to enter options without breaking your fingers on the built-in option code editor with the command :SYSTem:OPTion:INSTall . In the same way, you can also tear them down (“SYSTem: OPTion: UNINSTall”), returning the machine to its original state. The methods are perfectly official, documented by Rigol. Unless you consider where the license string came from.
TCP/80 is an HTTP web server. Nothing particularly useful to the user. Enabled for lxi requirements and outputs some XML-pages with a device description.
UDP/111, TCP/111 are VXI-11 Sun-RPC and port-mapper. For LXI. TCP/617 is a part of VXI-11. TCP/618 is a part of VXI-11. TCP/619 – part of VXI-11.
TCP/943 – With some settings may output a text string and get cut off right away. The internal name is “silverlight”.
TCP/4530 – Undocumented alternative to 5555. Internal name “silver server”.
UDP/5353 – mDNS (Multicast DNS) This is a local DNS without a dedicated server. Read by keyword zeroconf, bonjour, avahi – part of the LXI standard.
TCP/555 is an SCPI interface. In brief, remote control of an oscilloscope. It’s described almost completely in the RIGOL Programming Guide for the DS1000Z. It is 260 pages long. Some of the functions are not described or are described in a similar document on other models. This interface is also available via USB with identical command syntax – part LXI.
TCP/5566 – An undocumented alternative to 5555.
UDP/6000 – In response to a packet with “?” it gives information about the device (model, serial number). The internal name is “seek resource”. I also used it to determine the IP address of the oscilloscope in the local network.
TCP/6666 – Text interface, where you can send commands “KILL SOCKET:5555” and “KILL SOCKET:5566” – causes to disconnect all clients on specified ports. The internal name is “socketControl”.
As you can see, there is no telnet/ssh.
Rigol DS1054Z Startup
The device is loaded in two stages. First, a relatively small primary loader (hundreds of kilobytes) from the SPI NVRAM is loaded to address 0x41000000. This is a normal function of the processor. Loader changes quite rarely. The last update was a few years ago. It is a strongly reduced version of the main firmware, includes only system functions and file libraries. No network. The main functions are to load the main firmware in elf format and update it from a flash drive.
After loading the main application SparrowAPP.out (start address – 0x40000000, beginning of the memory), control is transferred to it, and the primary loader is not used anymore. The application does the standard MQX initialization (stacks, priorities, and other things are the same for all applications), then the configuration of the device itself starts.
Simplified startup sequence:
Primary initialization (DMA, IO, …)
Mount /sys (3x in case of errors)
Load /sys/SparrowFPGA.hex into memory – the main FPGA firmware
Load /sys/SparrowDGFPGA.hex – FPGA firmware of the generator
Boot the main FPGA (10 tries)
Get the revision of the board
If we have it, load the FPGA generator (10 tries)
Load /sys/guiResData.hex – pictures
Register modules, start processes
Then there are several independent processes running in the device, switched on timer by the kernel. A system process (called framework) waits for messages in its message queue and processes them by calling auxiliary modules.
Rigol DS1054Z Advantages and Disadvantages
Memory depth: 24M for all channels
Lots of features
Price (especially if you crack it)
7-inch large display
Ability to pump by simply inserting a key
Poor feeler gauges
Some of the controls are not very user friendly
Some bugs are not critical (but this is normal, as it is a very complex device, and the price is not great)
The cooling is not the quietest fan
Possible Alternatives to Rigol’s DS1054Z
When I was choosing an upgrade, I, of course, looked to see if there is any other option of Rigol that meets the initial criterion “inexpensive for 4 channels”. The following is a brief comparison of the Rigol series.
So, series by series:
The simple (not Z) 1000-series is somewhat outdated (it is already 10 years old), the screen is smaller, and I have already written about the difference in cost, taking into account the set of probes. This series does not have any significant advantages. Earlier, the Rigol’a website had a division on 1000V/1000D/1000E/1000CA (there is a noticeable difference in the equipment), now some models stopped producing, and the rest conventionally brought together in one series. Apparently, to call the resulting series “junk” did not seem politically correct, so they called the “1000 Series”.
The 1000Z was in many ways the successor to 1000. The internal architecture was similar to the 1000’s, but it used a different element base. All models have four channels.
The 2000 Series has no four-channel models and is noticeably more expensive than the 1000Z Series. The 2000E models can be attributed to this series very conditionally – their ADC frequency is 1G/s (like the 1000z), and even the younger models of the “honest” 2000s (with 2G/s) at least twice as expensive. If you take the 200MHz model, it’s more than triple the price (and only two channels!). This is a pretty old (almost as old as 1000) series. A hack upgrade is available, similar to the 1000 and 1000z.
The 4-channel models are coming back on the 4000 series, but the price is getting not quite for personal use – they’re $2000 and up (the oldest model is over $8000). What’s up with the ability to hack into higher frequencies is an open question, but very likely. At least the official software upgrade option from 200 to 500 MHz is on Rigol’s website. It’s only available for $6064.
I’ll say nothing about the 6000 series for obvious reasons.
Going back to the 1000z, despite the outward multiplicity of models, they are, in fact, all DS1054Zs with add-ons. There are the following options:
Available frequencies (1054/1074/1104)
Signal generator (postfix S)
Possibility (connector) to connect a logic analyzer (postfix Plus)
A logic analyzer (prefix MSO instead of DS)
There are also all sorts of decoder options, triggers, etc., but they do not depend on the model and are the same for all units. If to sum up the official cost of all options and frequencies allowed by software upgrade, it will be about $1000. Now, though, Rigol often gives these options for free when you buy a new unit.
Although all 13 models in the line are obtained by adding features to the base model DS1054Z, the DS1054Z itself is an officially unavailable option – considered a junior model with all that implies.
The options are priced as follows (they are slightly dependent on other options):
50->70 MHZ: +$70
70->100 MHz: +$50…$100
Connector for logic analyzer: +$40…60
Full logic analyzer: +$180..230
About the frequency option written repeatedly – this is a software limitation. No additional hardware is required. The component base is identical. My suspicions about frequencies unlocking have not been confirmed, and tests showed that the difference between the 100MHz model and the unlocked 50MHz model is the same as the difference between the original 100MHz models.
There is a relatively reliable conspiracy theory that the situation is beneficial to Rigol itself for the ease of unlocking. It is quite easy to insert a persistent crypto-algorithm into the firmware, which does not allow unlocking without firmware modification, even for a student. Instead, Rigol has been using weak, easily reversible algorithms to verify key validity for over 10 years. Clearly, serious organizations will not engage in firmware hacking. Rigols are in the MI registry, and I don’t think a hacked machine will be given a certificate of verification. At the same time, the ability to easily upgrade would work more than well as an advertisement for the brand. An oscilloscope with a set of options that cost the home user $400 would cost more than $1300 when purchased officially by the organization.
The other options include hardware add-ons and are not available to DS1054Z owners.
Hardware add-ons include two buttons on the front panel, two connectors on the back, a connector on the front, and separate oscillator and logic analyzer units.
In general, the logic analyzer option is expensive. The difference between the DS1054Z and the MSO1074Z is $300. For this money, you can get more than a good set-top box for your computer. From my personal experience, I can say that either a five-buck 68013 analyzer or a 4-channel oscilloscope is sufficient in most cases. A Rigol logic analyzer is appropriate in a fairly narrow area when:
The number of signals is more than four and no more than 16
Frequency over 50 MHz (a short cut 68013 can capture 48 MHz if with modifications)
Frequency less than 100-150 MHz
There are pins on the board for connecting test clips
I would add that when debugging FPGAs, it is easier and more convenient to use the built-in logic analyzer function. For Altera, it is supported for all chips of any significance (the main criterion – the presence of memory blocks). Xilinx also has something of this kind.
A little bit about frequencies: in spite of advertised capture frequencies of 500 MHz and higher, above 100 MHz, logic analyzer clips make such an impact on the circuit that its behavior becomes absolutely different from the state without clips. But even leaving this aside, let me quote an excerpt from a description of the 1000z series logic analyzer:
Peak Detect Digital channel: 4 ns
Minimum Detect Pulse Width digital channel: 10 ns
That is, the analyzer has the right not to detect peaks less than 4 ns, and it can work fully with frequencies less than 100 MHz. It should also be taken into account that when using 8 LA channels, only 3 oscilloscope channels are left. When using 16, only two.
In my opinion, it is easier and more profitable to take an attachment to a computer like LA5016, which has an SDK to write your own analyzers. It’s close in terms of capture speed and costs less than $200. Or hantek for 32 channels or many more options, depending on your needs and wallet.
In my opinion, if there are no requirements for compactness, it is better to take the DS1054Z, expose it to the DS1104Z, and (if necessary) buy a separate external generator and a logic analyzer attachment to your computer.
Differences from DS1052E
If you compare with the previous model, then (except for the increase in the number of channels), there are not very many fundamental differences. The screen became clearer, and there were twice as many contextual buttons. The right side of the front panel is somewhat shrunk (giving space to the screen). The most unusual difference – the other location of the power button, the first time, the hand automatically reached for the top cover.
In the reviews, some owners complained about the strong noise of the fan. Yes, there is noise, but to my senses, it is exactly the same as in the DS1052E – both in strength and tonality. In fact, it is not even so much fan noise as air noise passing through all the holes and twists inside the oscilloscope. Reducing it by more heating of the inside is not the best idea.
The differences in the menu for me were not significant – a little more items, a little differently arranged.
The device’s dimensions remained practically the same, and on the table, it stood exactly in the place of the previous model.
Summing up, I can say that the result is achieved – I got the device which I am used to the number of channels I need.
This oscilloscope is clearly a hit. For its price, it gives an unbelievable amount of possibilities. If you had a DSO203 before (and I did) and you “grow” from it, this model is worth the attention. If you need a good and high-quality oscilloscope, I recommend buying it.
Also, I recommend it for beginners (if you are sure that your hobby is not dabbling for 2-3 months and you will not throw everything) because buying, say DSO203, you can have a situation when you have oscilloscope weak.