Ferromagnesite, an iron-bearing carbonate stable up to 100-115 GPa, is believed to be the major carbon carrier in the earth's lower mantle and play a key role in the earth's deep carbon cycle. In this paper, we use the local density approximation plus self-consistent Hubbard U (LDA+Usc) method to study the iron spin crossover in ferromagnesite with a wide range of iron concentration (12.5-100%). Our calculation shows that this mineral undergoes a crossover from the high-spin (HS) (S=2) to the low-spin (LS) (S=0) state at around 45-50 GPa, regardless of the iron concentration. The intermediate-spin (S=1) state is energetically unfavorable and not involved in spin crossover. The anomalous changes of volume, density, and bulk modulus accompanying the spin crossover obtained in our calculation are in great agreement with experiments. Our calculation also predicts that an abrupt change of the iron nuclear quadrupole splitting, from 3 2.8 mm/s to 2 0.3 mm/s, can be observed in Mössbauer spectra at 45-50 GPa as a signature of the HS-LS crossover.