If it happens when the engine is cold, try to check your spark plug specs. Maybe the plug heat range is too cold so you can change to a "hotter"plug. The heat range is usually the number, for example with an NGK BKR6E-11, "6" is the heat range and 11 is the plug gap (1.1). The higher the number the colder the plug so thus a NGK BKR5E-11 is a hotter plug.
Also, if you engine rarely revs high then you also probably have carbon build up which can also cause some detonation.
Try cleaning the MAF sensor too.
- - - - - - - - - - - - - - - - - - - - - -
If it happens when the engine is cold, try to check your spark plug specs. Maybe the plug heat range is too cold so you can change to a "hotter"plug. The heat range is usually the number, for example with an NGK BKR6E-11, "6" is the heat range and 11 is the plug gap (1.1). The higher the number the colder the plug so thus a NGK BKR5E-11 is a hotter plug.
Also, if you engine rarely revs high then you also probably have carbon build up which can also cause some detonation.