The deal for the former Charlton Athletic defender had been agreed last month during what was a successful loan spell at St. Andrew's.
Morrison had previously been Charlton's vice-captain and made 150 appearances for the South London side after joining them in 2011 from Sheffield Wednesday.
Speaking after reaching an agreement with the 26-year-old last month, boss Gary Rowett said: "He sees the size of the club and sees that his opportunities are possibly limited back at Charlton. What’s quite refreshing is that he’s a player that really wants to play football and that’s of paramount importance to him.
"It’s been great to get him on board. We’re really happy about it and we think he’s a really good signing. He’s the right age, the right character and it’s the right time of his career and really good for us.
"I’ve been delighted with his performances so far and like I’ve said previously he’s kept two very good centre-halves out of the team. It was an obvious one for us to try and extend further."
Morrison's loan from Charlton was further extended to encompass Saturday's FA Cup tie at Blyth Spartans. He captained the side to a 3-2 third round victory.
Then all the paperwork was finalised and lodged with the Football League to make the transfer permanent.