Detonation can be caused by a lean fuel condition, too low octane, bad timing, or a combination of these. Luke is dead on; pour some octane booster into the tank and check the timing. If everything checks out and you still have the problem, enrich the mixture. You'll lose a bit on economy, but you get to keep your engine.
I don't suppose downshifting is an option? Didn't think so.
