My son frequently has difficulty falling asleep, so we've done a couple of things: he goes to sleep using a relaxation CD (it came free with a hotel stay once, but you can find that sort of thing easily for free on the internet - look for the ones that offer muscle relaxation e.g. squeeze then release, breathe in & out etc.)
We then set up the following structure:
We set an alarm for him for an hour before he has to get up. He can sleep through the first snooze. The second snooze, he has to get up, get dressed and brush his teeth. If he seems too tired to get up, we just let him sleep for an extra half an hour, but then he misses out on his morning half-hour of TV. If he succeeds, he gets a half-hour TV show before breakfast.
I've told him that if I find him awake playing or reading or otherwise not resting at night, I will turn off the alarm and he will not get TV, but will have to go right to getting up & dressed. (We've told him that if he can't sleep, he should just rest quietly and pretend to sleep: we made clear that we know he can't control the actual sleeping part, which was a concern.) He has a ridiculously early bedtime for a 10yo: 8-8:30pm - but I found that while on some nights he's awake quite a while and not tired later, during the school year he really needs the sleep.