You must check the timing chain for wear (stretch) and verify the
injection timing. If the chain is worn, pull a new one in and re-check
the timing, it will be faster with a new chain.
Timing is adjusted by loosening the three bolts or nuts holding the
pump in place and rotating it -- toward engine to inject sooner, away
later.
Yes, a defective injection timer (centrifugal advance) can be
defective, causing early, late, or variable timing at different speeds,
depending on the exact fault (sticking, broken spring, etc).
A rattle on acceleration could be late valve and injection timing, or
it could be overly advanced timing. Late timing causes smoke at high
speed, fast timing usually causes excessive noise and smoke at low rpm,
none at high.
Peter