H-bridge circuit using only NMOSFET
Use a H bridge driver: -



It steals a bit of energy from the output to provide a higher voltage inside the chip to drive the top FET's gate at the correct level.

There are plenty of chips around and this picture shows the internals with a bit more detail: -



If you want a half-decent version that uses discrete components, try this: -



It's not guaranteed to be that great but does use the same techniques as the chips. Stolen from here