The 20-year-old, who primarily operates at right-back, has made 31 appearances since making his debut for the club in November 2010.
"I am really pleased that Carl has signed his contract extension and is staying," Johnson told the club's official website.
"I felt bad for Carl last season because he didn't have enough game time when you consider how well he trained and played in reserve-team games.
"I know Carl wants to play in midfield, but I want to have a look at him at right-back because I think he has the potential to be a top class right-back."
A number of Football league clubs had reportedly been monitoring proceedings.