He changed..What do I do?

My husband suddenly gets mad for no reason and calls me names it hurts so much I have tried to talk but it's always my fault and he says I don't take responsibility. The other day my birthday he missed a turn so I tried to help him find another way he screamed in frustration I said don't scream just turn around and then he scared me driving so I made a noise and he went off and screamed at me calling me a bitch and said this is why girls like me get this? Idk didn't make sense but it hurt so bad the same day he told me he was going to smash my head into the windshield he has never said anything like this and I don't want to leave him I just want him to realize what he is doing