โดยปกติเครื่องยนต์ทุกเครื่องจะมีการจุดระเบิดก่อนศูนย์ตายบน
ทำไมไม่จุดที่ตำแหน่งศูนย์ตายบน (TDC) เพราะว่าน้ำมันเชื้อเพลิงต้องการเวลาในการเผาไหม้ ดังนั้นหากให้จุดระเบิดที่ตำแหน่งศูนย์ตายบน กว่าจะเผาไหม้เสร็จ ลูกสูบจะเคลื่อนที่ลงมาทำให้แรงระเบิดน้อยลง จึงต้องปรับการจุดระเบิดเป็นก่อนศูนย์ตายบน และยิ่งเครื่องยนต์มีความเร็วรอบมากขึ้นเท่าไหร่ จำเป็นต้องมีการจุดระเบิดก่อนศูนย์ตายบนมากขึ้นเท่านั้น ดังนั้นการออกแบบเครื่องยนต์จะต้องให้ตำแหน่งการจุดระเบิด เปลี่ยนแปลงไปตามความเร็วรอบของเครื่องยนต์ (ภาษาปะกิตว่า Advance = แอดวานซ์) ตำแหน่งการจุดระเบิดเราจะวัดออกมาเป็นองศาของมุมของเพลาข้อเหวี่ยง
ระบบคำนวณการจุดระเบิดล่วงหน้า EFI TCCS ของโตโยต้า โดยองศาการจุดระเบิดสุดท้ายจะเป็นดังนี้นะ
Total Spark Timing = Basic advance angle + initial timing + Corrective advande angle
(จากการเปิดตาราง การไหลขอไอดี vs ความเร็วรอบ) + (จากการตั้งจานจ่าย) + (แก้ไขการน๊อกของเครื่อง, ความร้อน)
Basic advance angle นั้นมาจากการคำนวณ โดยใช้ input หลาย ๆ อย่างมาคำนวณร่วมกัน เพื่อหาค่าเหมาะสมที่อยู่ในตารางรอม ของ ECU input นั้นมีหลายอย่างร่วมกัน Engine load , Engine speed, ความร้อนน้ำหล่อเย็น และองศาการเหยียบคันเร่ง
Corrective advande angle จะมากจากการตรวจจับการ น๊อกหรือเขก การแก้ไขเมื่อเครื่องร้อนจนเกินไป ถ้ามีการเขก จะปรับองศาลดลง ไปเป็นระดับ ๆ ตามความแรงของการเขก และอาจจะบันทึกไว้ ใช้ต่อไป จึงไม่แปลกที่ ตั้งไฟปกติ แล้ว ปกติเติม 95 แต่พอไปเติม 91 แล้วไม่เขก วิ่งได้ตามปกติ ก็เพราะระบบนี้เอง แต่ถ้าเขก ก็แสดงว่า การตั้งจานจ่ายครั้งก่อนนี้ องศาเยอะไป เครื่องปรับลดจนสุดแล้วก็ยังแก่อยู่ ก็เลยเขก แล้วก็เครื่องอาจจะพัง
Basic advance angle นั้น ปรับขึ้นลง มากน้อยแค่ไหน อันนี้ก็อยู่ที่ spec เครื่อง แต่โดยทั่วไป ก็ประมาณ +3 ถึง +18 องศา
initial timing ถ้าตั้งไป มาก หรือ น้อยกว่าค่าที่กำหนดเกินไป จะทำให้ได้ประสิทธิภาพเครื่องที่ไม่ดี เพราะ มันจะ offset ไปทั้งระบบเลย เขาทำให้ให้ตั้งได้ เมื่อชิ้นส่วนอื่น ๆ เคลื่อนที่ไป จะได้ค่าเดิมกลับมา ไมได้ตั้งใจให้หมุนเล่นตามใจ เครื่องใหม่ ๆ จะ fixed มาเลยแบบ twin coil หรือ direct coil ปรับไม่ได้ หมดสิทธิ