Low voltage digitally control impedance based solar charge controller design on FPGA