Analog To Digital Converter.
การแปลงสัญญาณอนาล็อก-ดิจิตอล
บทนำ
สัญญาณที่ใช้ในอุปกรณ์อิเลคทรอนิคส์ มี 2 ชนิด คือ สัญญาณอนาล็อก และสัญญาณดิจิตอล สัญญาณอนาล็อก จะใช้ใน อุปกรณ์ทั่วๆ ไป และใช้ในการควบคุมแบบเก่า
ในปัจจุบันมีไมโครโปรเซสเซอร์ และไมโครคอนโทรลเลอร์ เข้ามาช่วยในการควบคุมอุปกรณ์ต่างๆ มากมาย ซึ่งทำให้การควบคุมนั้นทำได้ง่าย และรวดเร็วยิ่งขึ้น แต่ในการควบคุมนั้น เราจำเป็นต้องใช้ สัญญาณดิจิตอลในการติดต่อกับไมโครโปรเซสเซอร์ หรือไมโครคอนโทรลเลอร์ แต่ในความเป็นจริงนั้น เราใช้สัญญาณอนาล็อกในการควบคุม ดังนั้นเราจึงจำเป็น ต้องมีการเปลี่ยนสัญญาณอนาล็อก เป็นสัญญาณดิจิตอล แล้วจึงนำสัญญาณนั้นเข้ามาสู่ไมโคร โปรเซสเซอร์ หรือไมโครคอนโทรลเลอร์ เพื่อใช้ควบคุมระบบต่อไป
แม้ว่าสัญญาณอนาล็อก นั้นมีความแน่นอน และแม่นยำสูง แต่สัญญาณอนาล็อก นั้นก็ควบคุมได้ยาก เนื่องจากในสภาพแวดล้อม มีสัญญาณรบกวนอยู่มาก และการที่จะทำให้ การควบคุมแบบอนาล็อก มีความสามารถควบคุม เท่ากับการควบคุมแบบดิจิตอลนั้น ทำได้ยาก เนื่องจากวงจรควบคุมแบบ อนาล็อกจะต้องมีความซับซ้อนสูง
อย่างไรก็ตาม สัญญาณดิจิตอลก็ไม่สามารถทดแทนความละเอียดของสัญญาณอนาล็อกได้อย่างสมบูรณ์ แต่ทำให้การควบคุมนั้นทำให้ง่าย และสะดวกยิ่งขึ้น
Counting Converter
Counting Converter เป็นวิธีที่ง่ายที่สุดของ การแปลงสัญญาณอนาล็อก เป็นสัญญาณดิจิตอล โดยใช้อัลกอริทึม การนับค่าเพิ่มขึ้นเรื่อยๆ แล้วนำผลที่ได้จากการนับไปเปรียบเทียบกับค่าที่ต้องการที่ตั้งไว้ ลักษณะการทำงานเป็นดังรูป
จากวงจร Counter เป็นอุปกรณ์นับค่าที่เพิ่มขึ้นทีละหนึ่ง แล้วส่งค่าที่ได้ให้ D/A มีขา Reset รับสัญญาณ Reset เมื่อต้องการให้เริ่มนับใหม่
D/A เมื่อรับค่าที่นับเพิ่มขึ้นทีละหนึ่งจากตัว นับ ก็แปลงค่าให้เป็นสัญญาณ อนาล็อกที่มีค่าความ ต่างศักย์ค่าๆ หนึ่ง แล้วส่งต่อเข้าไปที่อุปกรณ์ตัวเปรียบเทียบ(Comparator)
Comparator จะเป็นอุปกรณ์ตัวเปรียบเทียบค่าความ ต่างศักย์ ของอินพุต และค่าจากที่ตัวนับ ถ้าหากทั้งสองสัญญาณมีค่าเท่ากันส่งค่าความต่างศักย์ 0 โวลต์ออกมา(ลอจิก 0) ถ้า ไม่เท่ากันก็จะส่งความต่างศักย์ที่ไม่ใช่ 0 โวลต์ออกมา(ลอจิก 1)
ซึ่งค่าความต่างศักย์ที่ออกมา จะนำมาเข้าลอจิกเกต "และ" กับ สัญญาณนาฬิกา จะได้ค่าลอจิกออกมา ถ้าผลลัพธ์ออกมาเป็นสัญญาณนาฬิกาแสดงว่ายังไม่ได้ผลลัพธ์เท่าที่ต้องการ สัญญาณนาฬิกาก็จะไปทำให้ตัวนับนับเพิ่มขึ้นต่อไป และเมื่อได้ค่าผลลัพธ์ดิจิตอลที่ต้องการแล้ว ค่าที่ได้จาก ตัวเปรียบเทียบจะให้ค่าความต่างศักย์เป็น 0 (ลอจิก 0) ซึ่งเมื่อนำมาเข้าลอจิกเกต "และ" กับสัญญาณนาฬิกาแล้ว ก็จะให้ลอจิก 0 ซึ่งทำให้ตัวนับไม่ นับเพิ่มอีก ก็จะได้ค่าดิจิตอลจากตัวนับที่ต้องการ
จากคำอธิบายข้างต้นจะได้กราฟของ V0 ดังนี้
ข้อเสียของวิธีนี้ คือ การนับต้องเริ่มนับที่ 0 เสมอ และนับเพิ่มขึ้นเรื่อยๆ ทำให้ช้า เอาท์พุตที่ ได้จะมี delay จึงไม่ค่อยนิยมใช้เท่าที่ควร จึงได้เปลี่ยนตัวนับเป็นแบบนับลงได้ด้วย ซึ่งจะอ้างอิงระดับจากระดับเก่า ทำให้ไม่จำเป็นต้องนับ 0 ใหม่ เมื่อมีการเปลี่ยนอินพุ ตใหม่ แต่ให้อ้างอิงกับผลลัพธ์เดิม ทำให้ได้ผลลัพธ์เร็วขึ้น
Successive Approximation
ใช้หลักการของ "binary search" ใน การหาคำตอบ โดยนำค่าผลลัพธ์มาเปรียบเทียบกับค่ากึ่งกลางของช่วง เพื่อให้ทราบว่า ค่านั้นๆ มากกว่า หรือน้อยกว่า โดยจะปรับช่วงให้แคบลงมาเรื่อยๆ แล้วเปรียบเทียบผลลัพธ์กับค่ากึ่งกลางของช่วงไปเรื่อยๆ จนได้ผลลัพธ์ที่ต้องการ เช่น เลขที่เป็นคำตอบคือ 3 จาก ช่วงของคำตอบที่ 0-7 ครั้งแรกเอาค่า (0+7)/2 = 4 มาเปรียบเทียบ ได้ผลว่า คำตอบที่ต้องการอยู่ในช่วงที่น้อยกว่า 4 ครั้งที่ 2 ก็เลือกค่า (0+4)/2 = 2 มาเปรียบเทียบ ได้ผลว่าคำตอบที่ต้องการอยู่ในช่วงที่มากกว่า 2 แต่น้อยกว่า 4 ครั้งที่ 3 ก็เลือกค่า (2+4)/2 = 3 มาเปรียบเทียบ ได้ผลว่าคำตอบที่ต้องการ
จากหลักการที่กล่าวมาอาจเขียน flow chart ได้ดังนี้
ข้อดีของวิธีนี้ คือ เวลาที่ใช้ในการหาคำตอบ n รอบ แน่นอน (สำหรับ n bit converter ซึ่งอ้างอิงได้ 2n ระดับ และระดับ Vin ที่คงที่) ซึ่งใช้เวลาน้อยกว่าแบบ "Counting Algorithm"
แต่มีข้อเสีย คือถ้า Vin เปลี่ยนทันทีทันใด ขณะที่กำลังทำ binary search อยู่นั้น คำตอบที่ได้จะผิดพลาด ตัวอย่างเช่น เปลี่ยน Vin จาก 5 Volt เป็น 2 Volt
ช่วงของ Vin คือ 1-7 ใช้ n=3 (เพราะว่า 23=8)
ครั้งแรก ใช้ 4 เปรียบเทียบกับ Vin (ซึ่งเท่ากับ 5 โวลต์) พบว่า อยู่ในช่วง lower ได้ 1xx
ครั้งที่ 2 ใช้ 2 เปรียบเทียบกับ Vin (ซึ่งเท่ากับ 5 โวลต์) พบว่า อยู่ในช่วง upper ได้ 10x
ครั้งที่ 3 ใช้ 3 เปรียบเทียบกับ Vin (ซึ่งเท่ากับ 5 โวลต์) พบว่า ผลลัพธ์ที่ได้จะผิดพลาด ได้ 100
Dual-Slope ADC
ใช้หลักการของวงจร Integrater ทำ งานร่วมกับตัว Comparater ดังรูป
Input Voltage มี 2 ตัว คือ ค่าความต่างศักย์อนาล็อกที่ต้องการแปลงเป็น ดิจิตอล (-Vin) และความต่างศักย์ที่คงที่ค่าหนึ่ง (Vref) และมีสวิตช์ SW1 ซึ่งทำหน้าที่ เลือกค่าสัญญาณ
จากวงจรตอนเริ่มต้นสวิตช์ SW2 ทำหน้าที่คายประจุของตัวเก็บประจุ C แล้วจึงเปิด SW2 ออก
เมื่อสวิตช์ SW1 สับมาที่ -Vin จากวงจร Intergrater จะพิสูจน์สมการได้ดังนี้
slope มีค่าเท่ากับ
ค่า t ที่ใช้มีค่าคงที่ tm
เมื่อ t เพิ่มจากศูนย์ถึง tm ให้SW1 สับไปที่ Vref
จะได้สมการ
slope มีค่า
สมมติ ช่วงเวลาตั้งแต่ความต่างศักย์ที่ tm จนความต่างศักย์เป็น 0 มีค่าเท่า กับ tn
ได้ดังแสดงในกราฟ
จากหลักของสามเหลี่ยมคล้าย จะได้สมการ
เนื่องจาก Vref และ tn มีค่าคงที่ สัญญาณอนาล็อกขึ้นกับค่า tn เพราะการควบคุมการเปลี่ยนสัญญาณดิจิตอล ที่ขึ้นกับค่า tn
การแปลงเป็นสัญญาณดิจิตอลจะทำโดยจับคู่ค่า tn กับเอาต์พุตค่าๆ หนึ่ง ตามความเหมาะสมสำหรับ Vref นั้นๆ เหมือนการเทียบค่าในตาราง
ความเร็วของการแปลงสัญญาณแบบนี้ ขึ้นอยู่กับ Vin และ Slope ของวงจร integrater
โดยธรรมชาติแล้ว ลักษณะของตัวเปรียบเทียบเองนั้น จะไม่เป็นอุดมคติ คือจะมีผลต่างของความต่างศักย์อยู่ V โวลต์ แม้ว่าจะต่ออินพุตทั้ง สองลงกราวด์แล้วก็ตาม ซึ่งถ้า Vref ที่ใช้อยู่นั้นมีค่าน้อยกว่าค่าผลต่างของความต่างศักย์ที่ เกิดจากตัวเปรียบเทียบ ความชันก็จะน้อย ทำให้เวลา tm ใช้เวลา นานมาก กว่าที่จะพ้นค่าความต่างศักย์ที่เกิดจากตัวเปรียบเทียบ เราจึงต้องนำค่าความต่างศักย์มาเพิ่มให้กับ Vref เพื่อหาผลลัพธ์ ดังรูป
จากวงจรดังกล่าวทำให้ได้กราฟดังรูป
Flash Converter
หลักการของ Flash Converter คือการใช้การแบ่งแรงดันเป็น Voltage หลายๆ ค่า แล้วเปรียบเทียบกับ Vin เป็น คู่ๆ พร้อมกัน แล้วกระทำการทาง logic จากรูปมี Voltage เปรียบเทียบ 8 bit
ค่าความต่างศักย์จะเพิ่มขึ้นเรื่อยๆ จากค่าความต้านทานที่ต่อเพิ่มขึ้น ความต่างศักย์ที่ได้นั้น เมื่อนำไปเปรียบเทียบกับ Vin แล้ว มากกว่าก็จะปล่อยลอจิกออกมา ถ้ามากกว่าก็จะให้ลอจิก 1 ถ้าน้อยกว่าหรือเท่ากันก็จะให้ลอจิก 0
วิธี Flash Converter นี้จะเร็วที่สุด แต่ใช้อุปกรณ์ทาง Hardware มากกว่าแบบอื่นๆ
บทสรุป
การแปลงสัญญาณอนาล็อก เป็นสัญญาณดิจิตอล มีประโยชน์มากในการควบคุมอุปกรณ์สวิตชิ่ง ซึ่งมีลักษณะการแปลงสัญญาณได้หลายวิธี แต่ละวิธีจะมีอัลกอริทึม ความรวดเร็วในการทำงาน และการใช้อุปกรณ์Îาร์ดแวร์ต่างกันด้วย ทำให้ขนาด และราคาต่างกัน ขึ้นกับความต้องการของผู้ใช้ที่จะต้องเลือกให้เหมาะสมกับงานที่ใช้ และงบประมาณที่มีอยู่
ลำดับของความเร็ว และความละเอียดของอัลกอริทึมต่างๆ เป็นดังรูป