วันอาทิตย์ที่ 16 กันยายน พ.ศ. 2555

การแปลงสัญญาณทางดิจิตอลเป็นอะนาล็อก (Digital to Analog Converter)

บทนำ
อุปกรณ์ทางไฟฟ้า/อิเล็กทรอนิกส์ โดยทั่วไปที่เป็นอะนาล็อก สามารถควบคุมการทำงานโดยการให้อินพุตเป็นระดับ แรงดันที่แตกต่างกัน ตัวอย่างเช่น มอเตอร์กระแส ตรง ซึ่งควบคุมความเร็วโดยเปลี่ยนระดับแรง ดัน (หรือกระแส) ของขดลวดสนามเมื่อนำระบบดิจิตอล หรือไมโครคอนโทรลเลอร์ มาใช้ควบคุม อุปกรณ์ทางอะนาล็อกเหล่านี้ จึงต้องมีวงจรซึ่ง สามารถแปลงสัญญาณทางดิจิตอลเป็นระดับแรงดันต่อเนื่อง แบบอะนาล็อก ตั้งแต่ศูนย์โวลต์จนถึงระดับสูงสุดที่ กำหนดไว้ เรียกว่าวงจร Digital to Analog Converter (DAC)
คุณสมบัติของ Digital to Analog Converter
clip_image001
รูปที่ 1: ระบบการแปลงสัญญาณดิจิตอลเป็นอะนาล็อก
รูปที่ 1 แสดงถึงส่วนประกอบหลักของระบบ DAC โดยทั่วไป ไมโครคอมพิวเตอร์จะมีเอาต์พุตเป็นค่าไบนารี วงจรแลทช์รับค่าไบนารีเข้ามาเพื่อส่งไปยัง DAC ในวงจรจะใช้แหล่งกำเนิดแรงดันหรือ กระแสคงที่เพื่ออ้างอิงในการแปลงข้อมูล ไบนารีเป็นระดับกระแส ต่อมาจะมีวงจรแปลง จากกระแสเป็นระดับแรงดัน (current-to-voltage converter) ซึ่ง ปกติจะใช้ออปแอมป์ ท้ายสุด สัญญาณอะนาล็อกที่ได้จะผ่าน วงจร low-pass filter เพื่อกำจัดสัญญาณความถี่สูงที่ แฝงอยู่ในสัญญาณที่ถูกสร้างขึ้นมา
clip_image003
รูปที่ 2: Transfer Curve ในอุดมคติของ DAC 3 บิต
รูปที่ 2 เป็นกราฟแสดงถึงความสัมพันธ์ระหว่าง เอาต์พุตที่เป็นอะนาล็อกกับอินพุตที่เป็นดิจิตอลขนาด 3 บิตเรียกว่า transfer curve สังเกตว่าเมื่ออินพุตไบนารีเพิ่มขึ้น เอาต์พุตอะนาล็อกจะเพิ่ม ในลักษณะขั้นบันได ขนาดของแต่ละขั้นจะ หาได้จาก
stepsize = VFS/2n
เมื่อให้ VFS   คือระดับแรงดันเอาต์พุตสูงสุด
n คือจำนวนบิตของอินพุต
เนื่องจากเอาต์พุตของ DAC จะเพิ่มเป็นขั้นๆ รูปคลื่นสัญญาณ ที่ได้จาก DAC จึงมีลักษณะไม่เรียบ ดังตัวอย่าง ในรูปที่ 3 ซึ่งแสดงถึงสัญญาณไซน์ ที่สร้างจาก DAC
clip_image005
รูปที่ 3: คลื่นไซน์ที่สร้างจาก DAC
ถ้าเพิ่มจำนวนบิต ความละเอียดของ DAC จะเพิ่มขึ้น เช่น เมื่อ ใช้ DAC 12 บิต และ VFS = 5.0 V ความละเอียดคือ 5.0 V / 4096 = 1.22 mV ซึ่งจะ ละเอียดกว่า DAC 8 บิตถึง 16 เท่า
ความถูกต้องของ DAC ขึ้นอยู่กับหลายส่วน
1. Quantization error DAC บิต VFS = 5.0 V เอาต์พุตจะมีความละเอียด 19.53 mV ถ้าต้องการเอาต์พุต 4.00 V DAC จะให้เอาต์พุตได้ใกล้เคียง ที่สุดคือ 4.04 V (19.53 mV x 205) ผิดพลาด 4 mV โดยทั่วไปค่าผิด พลาดจะเท่ากับ +/- 0.5 LSB (least significant bit) ตัวอย่างเช่น DAC 8 บิต ความผิดพลาดจะเป็น 1 ใน 512 หรือ +/- 0.195 %
2. Offset and gain errors เมื่ออินพุตไบนารีเท่ากับ 0 แต่เอาต์พุตของ DAC ไม่เป็น 0 เรียก ว่า offset error และอาจเกิดร่วมกับ gain error ความผิดพลาดเหล่า นี้จะทำให้ tranfer curve ในรูปที่ 2 โค้งขึ้น หรือลง ขึ้นอยู่กับความไม่สมดุลย์ภายใน DAC อย่างไรก็ ตาม offset error และ gain error จะแก้ได้โดยใช้ความต้าน ทานปรับค่าได้ต่อไว้ภายนอก
3. Nonlinearity คือค่าความคลาดเคลื่อนสูงสุดของ transfer curve เทียบกับเส้นตรงจากจุดศูนย์และจุดสูงสุด ซึ่งจะขึ้นอยู่กับความผิดพลาดของส่วนประกอบภาย ใน DAC ใน data sheet ของ DAC จะระบุเป็นเปอร์เซ็นต์เทียบกับค่าสูงสุด หรือ ระบุเป็นเศษส่วนของ LSB (โดยทั่วไปคือ +/- 0.5 LSB)
4. Settling time คือช่วงเวลานับแต่ให้อินพุตจนกระทั่ง DAC ให้ เอาต์พุต วัดเมื่อเอาต์พุตที่ได้ผิดพลาดจากค่าจริง น้อยกว่า 0.5 LSB ค่าเวลานี้อาจน้อยกว่า 100 ns สำหรับ DAC ความ เร็วสูง และอาจมากกว่า 100 us สำหรับ DAC ราคาถูก
วงจร Digital to Analog Converter
clip_image006
รูปที่ 4: Summed Source DAC
เป็นวงจรอย่างง่ายในการแปลงสัญญาณดิจิตอลเป็นอะนาล็อก จาก รูปที่ 4 จะเห็นว่าเป็นวง จร Summing Amp มีความต้านทานค่า 2R, 4R และ 8R เพื่อทำให้ กระแสที่ผ่านความต้านทานแต่ละตัวมีค่า ลดลงเป็น 2 เท่า ความต้านทานตัวล่างสุด (2R) จะ เป็น MSB ส่วนตัวบนสุดจะเป็น LSB
ข้อเสียของการใช้วงจรลักษณะนี้ ในทางปฏิบัติ ค่าความต้านทานที่ต่างกันเป็น 2 เท่า คือ 2R, 4R, 8R, … จะ ไม่สามารถหาได้ง่าย จึงมีการปรับปรุงเป็น วงจร R-2R
Switched Voltage R-2R DAC
clip_image007
รูปที่ 5: Swiched Voltage R-2R DAC
รูปที่ 5 เป็น DAC 3 บิต ใช้ออปแอมป์และความต้านทาน เพียง 2 ค่าคือ R และ 2R สังเกตว่าอินพุตดิจิตอลจะมาจากสวิตช์ทั้ง 3 ซึ่ง อาจต่อกับกราวด์ (ลอจิก 0) หรือต่อกับ VREF (ลอจิก 1) ตัวอย่าง นี้อินพุตเป็น 001
พิจารณากระแส I เมื่อผ่านจุด A จะถูกแบ่งเป็นสองส่วน เท่าๆ กัน เหลือ I/2 เมื่อผ่านจุด B และ C จะถูกแบ่งอีกครั้ง เหลือ I/4 และ I/8 ตามลำดับ ดังนั้นกระแสที่ป้อนให้กับออปแอมป์จะ เหลือ I/8 เมื่อพิจารณาที่สวิตช์ตัวอื่นๆ ก็จะมีลักษณะคล้ายกัน ดังนั้นกระแสที่ผ่านออปแอมป์เมื่อปิดสวิตช์อื่นนับจากซ้าย มาขวา จะมีขนาด I/8, I/4 และ I/2 ตามลำดับ สวิตช์ซ้ายสุด จะเป็น LSB ส่วนขวาสุดจะเป็น MSB
Switched Current R-2R DAC
clip_image008
รูปที่ 6: Swiched Current R-2R DAC
วงจรนี้เปลี่ยนจากการใช้แรงดันอ้างอิง (VREF) มาเป็นกระแสอ้างอิง (IR) กระแสที่ ผ่านสวิตช์แต่ละตัวจากขวามาซ้ายจะเป็น IR/2, IR/4 และ IR/8 ตามลำดับ วงจร ลักษณะนี้จะมีความเร็วสูงกว่าวงจร Switched Voltage เนื่องจาก คาปาซิแตนซ์ที่รอยต่อ (junction capacitance) ของความต้าน ทานแต่ละตัวจะไม่ถูกชาร์จและดิสชาร์จเหมือนวง จร Switched Voltage









Switched Pole DAC
clip_image009
รูปที่ 7: Swiched Pole DAC
จะมีการใช้ความต้านทานต่ออนุกรมกัน หลายตัว เนื่องจากวงจรนี้ต้องการความต้าน ทานค่าเท่าๆ กัน ดังนั้นจึงเป็นที่นิยมสำหรับ ผู้ผลิต Integrated Circuit สังเกตว่าจะมีความต้านทานที่ ปลายทั้งสองของอนุกรมเพื่อปรับ offset ของเอาต์พุต
Analog To Digital Converter.
การแปลงสัญญาณอนาล็อก-ดิจิตอล
บทนำ
สัญญาณที่ใช้ในอุปกรณ์อิเลคทรอนิคส์ มี 2 ชนิด คือ สัญญาณอนาล็อก และสัญญาณดิจิตอล สัญญาณอนาล็อก จะใช้ใน อุปกรณ์ทั่วๆ ไป และใช้ในการควบคุมแบบเก่า
ในปัจจุบันมีไมโครโปรเซสเซอร์ และไมโครคอนโทรลเลอร์ เข้ามาช่วยในการควบคุมอุปกรณ์ต่างๆ มากมาย ซึ่งทำให้การควบคุมนั้นทำได้ง่าย และรวดเร็วยิ่งขึ้น แต่ในการควบคุมนั้น เราจำเป็นต้องใช้ สัญญาณดิจิตอลในการติดต่อกับไมโครโปรเซสเซอร์ หรือไมโครคอนโทรลเลอร์ แต่ในความเป็นจริงนั้น เราใช้สัญญาณอนาล็อกในการควบคุม ดังนั้นเราจึงจำเป็น ต้องมีการเปลี่ยนสัญญาณอนาล็อก เป็นสัญญาณดิจิตอล แล้วจึงนำสัญญาณนั้นเข้ามาสู่ไมโครโปรเซสเซอร์ หรือไมโครคอนโทรลเลอร์ เพื่อใช้ควบคุมระบบต่อไป
แม้ว่าสัญญาณอนาล็อกนั้นมีความแน่นอน และแม่นยำสูง แต่สัญญาณอนาล็อกนั้นก็ควบคุมได้ยาก เนื่องจากในสภาพแวดล้อม มีสัญญาณรบกวนอยู่มาก และการที่จะทำให้ การควบคุมแบบอนาล็อก มีความสามารถควบคุม เท่ากับการควบคุมแบบดิจิตอลนั้น ทำได้ยาก เนื่องจากวงจรควบคุมแบบ อนาล็อกจะต้องมีความซับซ้อนสูง
อย่างไรก็ตาม สัญญาณดิจิตอลก็ไม่สามารถทดแทนความละเอียดของสัญญาณอนาล็อกได้อย่างสมบูรณ์ แต่ทำให้การควบคุมนั้นทำให้ง่าย และสะดวกยิ่งขึ้น

Counting Converter
          Counting Converter เป็นวิธีที่ง่ายที่สุดของการแปลงสัญญาณอนาล็อก เป็นสัญญาณดิจิตอล โดยใช้อัลกอริทึม การนับค่าเพิ่มขึ้นเรื่อยๆ แล้วนำผลที่ได้จากการนับไปเปรียบเทียบกับค่าที่ต้องการที่ตั้งไว้ ลักษณะการทำงานเป็นดังรูป

clip_image010
จากวงจร  Counter เป็นอุปกรณ์นับค่าที่เพิ่มขึ้นทีละหนึ่ง แล้วส่งค่าที่ได้ให้ D/A มีขา Reset รับสัญญาณ Reset เมื่อต้องการให้เริ่มนับใหม่
          D/A เมื่อรับค่าที่นับเพิ่มขึ้นทีละหนึ่งจากตัวนับ ก็แปลงค่าให้เป็นสัญญาณ อนาล็อกที่มีค่าความต่างศักย์ค่าๆ หนึ่ง แล้วส่งต่อเข้าไปที่อุปกรณ์ตัวเปรียบเทียบ(Comparator)
          Comparator จะเป็นอุปกรณ์ตัวเปรียบเทียบค่าความต่างศักย์ ของอินพุต และค่าจากที่ตัวนับ ถ้าหากทั้งสองสัญญาณมีค่าเท่ากันส่งค่าความต่างศักย์ 0 โวลต์ออกมา(ลอจิก 0) ถ้าไม่เท่ากันก็จะส่งความต่างศักย์ที่ไม่ใช่ 0 โวลต์ออกมา(ลอจิก 1) ซึ่งค่าความต่างศักย์ที่ออกมา จะนำมาเข้าลอจิกเกต "และ" กับ สัญญาณนาฬิกา จะได้ค่าลอจิกออกมา ถ้าผลลัพธ์ออกมาเป็นสัญญาณนาฬิกาแสดงว่ายังไม่ได้ผลลัพธ์เท่าที่ต้องการ สัญญาณนาฬิกาก็จะไปทำให้ตัวนับนับเพิ่มขึ้นต่อไป และเมื่อได้ค่าผลลัพธ์ดิจิตอลที่ต้องการแล้ว ค่าที่ได้จาก ตัวเปรียบเทียบจะให้ค่าความต่างศักย์เป็น 0 (ลอจิก 0) ซึ่งเมื่อนำมาเข้าลอจิกเกต "และ" กับสัญญาณนาฬิกาแล้ว ก็จะให้ลอจิก 0 ซึ่งทำให้ตัวนับไม่นับเพิ่มอีก ก็จะได้ค่าดิจิตอลจากตัวนับที่ต้องการ
จากคำอธิบายข้างต้นจะได้กราฟของ V0 ดังนี้

clip_image011
ข้อเสียของวิธีนี้ คือ การนับต้องเริ่มนับที่ 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 ได้ดังนี้

clip_image012
ข้อดีของวิธีนี้ คือ เวลาที่ใช้ในการหาคำตอบ n รอบ แน่นอน (สำหรับ n bit converter ซึ่งอ้างอิงได้ 2n ระดับ และระดับ Vin ที่คงที่) ซึ่งใช้เวลาน้อยกว่าแบบ "Counting Algorithm"
แต่มีข้อเสีย คือถ้า Vin เปลี่ยนทันทีทันใด ขณะที่กำลังทำ binary search อยู่นั้น คำตอบที่ได้จะผิดพลาด ตัวอย่างเช่น เปลี่ยน Vin จาก 5 Volt เป็น 2 Volt

clip_image013
ช่วงของ 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 ดังรูป

clip_image014
          Input Voltage มี 2 ตัว คือ ค่าความต่างศักย์อนาล็อกที่ต้องการแปลงเป็นดิจิตอล (-Vin) และความต่างศักย์ที่คงที่ค่าหนึ่ง (Vref) และมีสวิตช์ SW1 ซึ่งทำหน้าที่เลือกค่าสัญญาณ
จากวงจรตอนเริ่มต้นสวิตช์ SW2 ทำหน้าที่คายประจุของตัวเก็บประจุ C แล้วจึงเปิด SW2 ออก
เมื่อสวิตช์ SW1 สับมาที่ -Vin จากวงจร Intergrater จะพิสูจน์สมการได้ดังนี้

clip_image015
clip_image016
clip_image017
clip_image018
clip_image019
clip_image020
clip_image021slope มีค่าเท่ากับ

clip_image022clip_image023ค่า t ที่ใช้มีค่าคงที่         tm
เมื่อ t เพิ่มจากศูนย์ถึง     tm ให้SW1 สับไปที่ Vref
จะได้สมการ

slope มีค่าสมมติ ช่วงเวลาตั้งแต่ความต่างศักย์ที่  tm จนความต่างศักย์เป็น 0 มีค่าเท่ากับ tn
ได้ดังแสดงในกราฟ
clip_image024
clip_image025
จากหลักของสามเหลี่ยมคล้าย จะได้สมการ
            เนื่องจาก Vref และ tn มีค่าคงที่ สัญญาณอนาล็อกขึ้นกับค่า tn เพราะการควบคุมการเปลี่ยนสัญญาณดิจิตอล ที่ขึ้นกับค่า tnการแปลงเป็นสัญญาณดิจิตอลจะทำโดยจับคู่ค่า tn กับเอาต์พุตค่าๆ หนึ่ง ตามความเหมาะสมสำหรับ Vref นั้นๆ เหมือนการเทียบค่าในตารางความเร็วของการแปลงสัญญาณแบบนี้ ขึ้นอยู่กับ Vin และ Slope ของวงจร integrater โดยธรรมชาติแล้ว ลักษณะของตัวเปรียบเทียบเองนั้น จะไม่เป็นอุดมคติ คือจะมีผลต่างของความต่างศักย์อยู่ V โวลต์ แม้ว่าจะต่ออินพุตทั้งสองลงกราวด์แล้วก็ตาม ซึ่งถ้า Vref ที่ใช้อยู่นั้นมีค่าน้อยกว่าค่าผลต่างของความต่างศักย์ที่เกิดจากตัวเปรียบเทียบ ความชันก็จะน้อย ทำให้เวลา tm ใช้เวลานานมาก กว่าที่จะพ้นค่าความต่างศักย์ที่เกิดจากตัวเปรียบเทียบ เราจึงต้องนำค่าความต่างศักย์มาเพิ่มให้กับ Vref เพื่อหาผลลัพธ์ ดังรูป
clip_image026
จากวงจรดังกล่าวทำให้ได้กราฟดังรูป
clip_image027
Flash Converter
clip_image028
หลักการของ Flash Converter คือการใช้การแบ่งแรงดันเป็น Voltage หลายๆ ค่า แล้วเปรียบเทียบกับ Vin เป็นคู่ๆ พร้อมกัน แล้วกระทำการทาง logic  จากรูปมี Voltage เปรียบเทียบ 8 bit
ค่าความต่างศักย์จะเพิ่มขึ้นเรื่อยๆ จากค่าความต้านทานที่ต่อเพิ่มขึ้น ความต่างศักย์ที่ได้นั้น เมื่อนำไปเปรียบเทียบกับ Vin แล้วมากกว่าก็จะปล่อยลอจิกออกมา ถ้ามากกว่าก็จะให้ลอจิก 1 ถ้าน้อยกว่าหรือเท่ากันก็จะให้ลอจิก 0 วิธี Flash Converter นี้จะเร็วที่สุด แต่ใช้อุปกรณ์ทาง Hardware มากกว่าแบบอื่นๆ


บทสรุป
          การแปลงสัญญาณอนาล็อก เป็นสัญญาณดิจิตอล มีประโยชน์มากในการควบคุมอุปกรณ์สวิตชิ่ง ซึ่งมีลักษณะการแปลงสัญญาณได้หลายวิธี แต่ละวิธีจะมีอัลกอริทึม ความรวดเร็วในการทำงาน และการใช้อุปกรณ์Îาร์ดแวร์ต่างกันด้วย ทำให้ขนาด และราคาต่างกัน ขึ้นกับความต้องการของผู้ใช้ที่จะต้องเลือกให้เหมาะสมกับงานที่ใช้ และงบประมาณที่มีอยู่ลำดับของความเร็ว และความละเอียดของอัลกอริทึมต่างๆ เป็นดังรูป
clip_image029

ไม่มีความคิดเห็น:

แสดงความคิดเห็น