สัญญาณพัลส์ไม่สมบูรณ์ (Runt Pulse)
สรุปใจความสำคัญ
- Runt Pulse คือสัญญาณพัลส์ที่ระดับแรงดันไม่ถึงเกณฑ์ High หรือ Low ที่ถูกต้อง
- สาเหตุหลักเกิดจาก Rise/Fall time ของสัญญาณ และความหน่วงที่แตกต่างกันในเส้นทางวงจร
- มักเกี่ยวข้องกับปรากฏการณ์ Race Condition และ Metastability ในวงจรดิจิทัล
- สามารถตรวจจับได้ด้วยฟังก์ชัน Runt Trigger ในออสซิลโลสโคป
ในระบบวงจรดิจิทัล สัญญาณพัลส์ไม่สมบูรณ์ (Runt Pulse) คือสัญญาณพัลส์ที่มีความกว้างแคบมาก และเนื่องจากข้อจำกัดด้านเวลาในการเพิ่มขึ้น (Rise Time) และเวลาในการลดลง (Fall Time) ของสัญญาณ ทำให้ระดับแรงดันไฟฟ้าของพัลส์ดังกล่าวไม่สามารถขึ้นไปถึงระดับแรงดัน 'สูง' (High) หรือลงไปถึงระดับแรงดัน 'ต่ำ' (Low) ที่ถูกต้องตามมาตรฐานของตรรกะดิจิทัล
สาเหตุการเกิด Runt Pulse
สัญญาณพัลส์ไม่สมบูรณ์มักเกิดขึ้นจากปัจจัยทางไฟฟ้าและจังหวะเวลาในวงจร ดังนี้:
- การสลับระหว่างสัญญาณนาฬิกาที่ไม่ประสานกัน (Asynchronous Clocks): เมื่อมีการส่งข้อมูลหรือสลับการทำงานระหว่างโดเมนของสัญญาณนาฬิกาที่ไม่ได้ทำงานสัมพันธ์กัน อาจทำให้เกิดสัญญาณรบกวนที่มีลักษณะเป็นพัลส์แคบๆ ได้
- สภาวะการแข่งขัน (Race Condition): เกิดขึ้นเมื่อสัญญาณหนึ่งเดินทางผ่านเส้นทางในวงจรสองเส้นทางที่แตกต่างกัน ซึ่งแต่ละเส้นทางมีค่าความหน่วง (Delay) ไม่เท่ากัน เมื่อสัญญาณทั้งสองกลับมารวมกันอีกครั้ง อาจทำให้เกิดสัญญาณรบกวนชั่วขณะหรือที่เรียกว่า Glitch ซึ่งมีลักษณะเป็น Runt Pulse
- สภาวะกึ่งเสถียร (Metastability): เมื่อเอาต์พุตของฟลิปฟลอป (Flip-flop) ตกอยู่ในสภาวะกึ่งเสถียร ซึ่งแรงดันไฟฟ้าไม่สามารถตัดสินใจได้ว่าเป็นสถานะ '0' หรือ '1' อย่างรวดเร็ว อาจส่งผลให้เกิดพัลส์ที่ไม่สมบูรณ์ก่อนที่สัญญาณจะเข้าสู่สภาวะเสถียร
การตรวจวัดและวิเคราะห์
เนื่องจาก Runt Pulse มีระยะเวลาการเกิดที่สั้นมาก การตรวจวัดด้วยเครื่องมือวัดทั่วไปอาจทำได้ยาก ออสซิลโลสโคป (Oscilloscope) รุ่นใหม่ๆ จึงมักมีฟังก์ชันการทริกเกอร์ (Triggering) สำหรับ Runt Pulse โดยเฉพาะ โดยเครื่องจะทำการทริกเกอร์เมื่อสัญญาณมีการข้ามผ่านเกณฑ์แรงดัน (Voltage Threshold) เพียงค่าเดียวจากสองค่าที่กำหนดไว้ แต่ไม่ข้ามผ่านทั้งสองค่า ซึ่งช่วยให้นักออกแบบวงจรสามารถตรวจพบและวิเคราะห์ข้อผิดพลาดของสัญญาณในระบบได้
คำถามที่พบบ่อย
Runt Pulse คืออะไร?
คือสัญญาณพัลส์ในวงจรดิจิทัลที่มีความกว้างแคบเกินไปจนระดับแรงดันไฟฟ้าไม่สามารถขึ้นไปถึงระดับ High หรือลงไปถึงระดับ Low ตามมาตรฐานที่กำหนดไว้ได้
สาเหตุใดที่ทำให้เกิด Runt Pulse?
สาเหตุหลัก ได้แก่ การสลับสัญญาณนาฬิกาที่ไม่ประสานกัน (Asynchronous Clocks), สภาวะการแข่งขัน (Race Condition) ที่ทำให้เกิดความหน่วงในเส้นทางสัญญาณต่างกัน และการเกิดสภาวะกึ่งเสถียร (Metastability) ของฟลิปฟลอป
Runt Pulse ส่งผลเสียอย่างไรต่อวงจรดิจิทัล?
อาจทำให้วงจรตีความสัญญาณผิดพลาด (Logic Error) หรือทำให้ระบบทำงานไม่เสถียร เนื่องจากสัญญาณดังกล่าวไม่อยู่ในระดับแรงดันที่ชัดเจนว่าเป็นสถานะตรรกะ 0 หรือ 1
จะตรวจจับ Runt Pulse ได้อย่างไร?
สามารถใช้เครื่องออสซิลโลสโคปที่มีฟังก์ชัน Runt Trigger ซึ่งจะตรวจจับสัญญาณที่ข้ามผ่านเกณฑ์แรงดันเพียงค่าเดียวแต่ไม่ข้ามผ่านทั้งสองค่าที่กำหนดไว้

