State-of-charge (SOC) estimation is an important task in a general battery management system (BMS). As a value that cannot be measured directly, the SOC is usually indicated by a method based on the characteristics of the battery with the voltage, current and temperature. In this paper, an extended Kalman filter (EKF) algorithm has been introduced to estimate SOC. A circuit model of a LiFePO4/C battery for EKF algorithm was proposed, so did the means for identification of model parameters. The parameters are categorized into two classes, the charge ones and the discharge ones. The SOC estimation method is validated by experiment data collected by battery test system (BTS). The result shows that the circuit model is suited to the battery and EKF methods, especially the one with parameters changing with current direction, can estimate SOC accurately.