Utility-voltage information, such as the frequency, phase angle and amplitude, is very important in many industrial systems. In a three-phase system, the utility-voltage information can easily be obtained using a utility-voltage vector, as the magnitude and angle of the voltage vector indicate the amplitude and angle of the utility voltage, respectively. However, for a single-phase system, the utility-voltage information is much more difficult to acquire. Conventionally, the frequency and phase angle of a single-phase voltage are obtained by detecting the zero-cross point. Yet, this method cannot provide the utility-voltage information instantaneously and is very sensitive to noise. Accordingly, the paper presents a novel digital phase-locked loop (PLL) algorithm for single-phase photovoltaic systems. The algorithm uses two virtual phases, and its performance is demonstrated under various utility conditions to show the effectiveness of the proposed algorithm.