I've got a fairly new Rigol DG4102, S/W 00.01.12, FPGA 00.01.11, H/W 01.03, K/B 06.02. As per Rigol's web site, the firmware is the latest version. I'm designing a microcontroller-based motor control system that's (currently still) using the "standard" radio control signalling as input, i.e. a variable pulse width signal between 1ms and 2ms pulse width to signal 0 to 100% vice versa. Since several different operational states need to be distinguished, pulse width discrimination is rather critical and I thought I got it spot-on in the microcontroller. My microcode translates the pulse width as specified before, additionally it identifies everything below 1ms as 0% and everything above 2ms as 100%.
I've got a sequencing included that requires in order to recover from an over-speed situation to reduce the pulse signal to 1ms and then rise it again. Yet, I've never got this working correctly. I used the Rigol generator in pulse mode to provide the control signal which appeared to be working all right so far. Yet, as soon as I changed the pulse width on the generator, I got a reaction as if I reduced the signal to (less than) 1ms and increased it again. I already started questioning my logical abilities (I purposely don't talk of my programming skills...
). After including all kinds of debug features in my code, everything pointed to a proble with the input signal.
To cut a long story short, the Rigol DS4102 (I cannot tell for the other models since I've only got this one) in pulse mode produces a spike of 4µs duration and approx. half the preset amplitude before the leading edge of the pulse when changing the pulse width. It doesn't matter if the pulse width is changed by the rotary encoder or by digital entry of the new value. Please see the attached photo / o'scope screen shots for details. Can anyone who's got a DG4000 reproduce this? Thank you.
Cheers,
Thomas