Cat napper

My son is now 20 months old and his naps have taken a turn for the worst. He 's never been a great napper. Even when he slept 2 hours, he woke up in the middle and cried for a few minutes. Only for a very short lived spurt did he nap 3 hours straight.
He is now napping only 45 minutes at noon then, showing signs of being sleepy by 4pm. If I have to go out in the afternoon he always fall asleep in the car. Obviously he's not getting enough sleep during his first nap. I tried to just leave him in the room for 2 hours but he woke up after 45 minutes, cried 30 minutes and slept another 20. Those days were miserable for me and I felt like it wasn't working. HE actually become whiny and angry during his awake time.
I've heard that there are children who are cat nappers, but I just thought that was a parent flaw rather than a natural characteristic. He goes down before 8pm and sleeps past 7am with no problem at all.
My other problem is that he wakes up crying, no matter what. I'm so jealous of my friends whose kids wake up singing, smiling or playing.
How can I get him to nap better and wake up happier?
