A 31-year-old Helena man was charged Wednesday with felony assault on a peace officer after allegedly punching a detention officer in the neck.