A frequency calibration method for a crystal-less current-controlled ring oscillator is presented. It uses a serial data signal from another chip as the frequency reference. The proposed calibration circuit is composed of the coarse calibration and the fine calibration circuit. The coarse calibration circuit controls a binary weighted biasing current source array, while the fine calibration circuit generates a pulse-width-modulation (PWM) signal to control a switched biasing current source. The duty cycle ratio of the PWM signal is obtained by measuring the frequency ratio error between the oscillator output and the reference signal. An auto-correlation-based method is proposed to calculate the frequency ratio error. The 8 MHz ring oscillator in together with the calibration circuit has been fabricated in a 0.13 μm CMOS process. Measured results on 24 chips show that the relative frequency error is reduced to 0.0239% (mean offset + 3σ) after calibration. The reported oscillator shows advantages in accuracy, power consumption and chip area.