In XJTAG 3.11 we’ve added configurable oscillator functionality which can be used on any XJLink2-based controller. The oscillator operates independently of TCK, so can run when TCK is not running and can be set to any frequency from 10 kHz to 166 MHz (in 10 kHz increments) regardless of the current TCK frequency.

On the pin mapping screen you can configure a spare pin on an XJLink2-based controller as the “Oscillator Output”, and optionally specify an initial frequency for the oscillator. The oscillator will be set to the specified initial frequency when testing starts, or when the chain is started in Analyser, and will run uninterrupted until testing ends or the chain is stopped in Analyser.

For some applications, having the oscillator set to a single specified frequency throughout testing will be all that is required, but further control is available through two new XJEase functions, which allow the oscillator frequency to be retrieved or altered at any time, including during test reset sequences.

// Function to set the oscillator output frequency and retrieve the previous frequency.
//
GLOBAL ChangeOscillatorFrequency(INT newFreqHz)(INT previousFreqHz)
    previousFreqHz := GET_OSC_OUTPUT_FREQ;
    SET_OSC_OUTPUT_FREQ newFreqHz;
END;

When the oscillator is not running, the oscillator output pin will be set to a high-impedance state.