A volunteer firefighter in York County has been charged with impersonating a police officer in a traffic stop.