ระบบดิจิตอล

posted on 15 May 2012 15:37 by 549500011

ระบบดิจิตอล

                ในทางวิทยาศาสตร์และเทคโนโลยี การพาณิชย์ หรือ สาขาอื่น มนุษย์เรามักต้องเกี่ยวข้องกับปริมาณ(Quantity) เราวัดค่า เราแสดง เราบันทึก เรากระทำเชิงเลข เราสังเกต หรือทำสิ่งหนึ่งสิ่งใด กับปริมาณในระบบทางกายภาพรอบๆตัวเรา สิ่งสำคัญ คือ เราจะแสดง หรือแทนค่าของปริมาณเหล่านั้นอย่างมีประสิทธิภาพและเที่ยงตรงได้อย่างไร หนทางหลักๆในการแสดงปริมาณมีสองรูปแบบคือ อนาลอก (Analog) และดิจิตอล (Digital)

 

                การแสดงค่าแบบอนาลอก 

ในการแทนค่าแบบอนาลอก ปริมาณจะแสดงด้วย แรงดันหรือ กระแสไฟฟ้า หรือ อาจแทนด้วยการเคลื่อนที่ของเข็มมิเตอร์ที่แปรผันตามค่าของปริมาณนั้นๆ อย่างต่อเนื่อง (Proportional) ตัวอย่างเช่น การเบี่ยงเบนของเข็มในมาตราวัดความเร็วของรถยนต์สัมพันธ์กับความเร็วของตัวรถยนต์เอง ตัวอย่างอื่นๆ เช่น แรงดันไฟฟ้าจากไมโครโฟนเปลี่ยนแปลงตามความดันเสียงที่ได้รับ

                ปริมาณอนาลอกมีลักษณะประจำตัวคือ ปริมาณอนาลอกสามารถเปลี่ยนแปลงได้อย่างต่อเนื่องในช่วงหนึ่งๆ

               

                การแสดงค่าแบบดิจิตอล 

                ในการแทนค่าแบบดิจิตอล ปริมาณจะแทนด้วย สัญลักษณ์ ตัวเลข (Digit) ที่ไม่แปรค่าต่อเนื่องกับปริมาณที่สนใจนั้นๆ เช่น นาฬิกาดิจิตอลที่แสดงเป็นตัวเลข ซึ่งเวลาเปลี่ยนไปอย่างต่อเนื่องแต่ นาฬิกาเปลี่ยนค่าในรูปนาทีหรือวินาทีอย่างไม่ต่อเนื่อง (Discrete) เป็นช่วงๆ

ดังนั้นเราอาจแยกความแตกต่างระหว่างอนาลอกกับดิจิตอลได้ดังนี้

Analog ≡ Continuous

Digital ≡ Discrete (step by step)

จากธรรมชาติของดิจิตอลที่มีค่าเป็นช่วงจึงทำให้อ่านค่าได้ไม่สับสน ในขณะที่อนาลอกต้องมีการตีความ

 

ระบบดิจิตอล

ระบบดิจิตอลจะเป็นการรวมอุปกรณ์ที่ออกแบบสำหรับการทำงานกับข้อมูลเชิงตรรกะ (Logic) หรือ ปริมาณทางกายภาพที่มีรูปแบบเป็นดิจิตอล นั่นคือปริมาณที่มีค่าไม่ต่อเนื่อง อุปกรณ์เหล่านี้มักเป็นวงจรอิเล็กทรอนิกส์ แต่อุปกรณ์ทางกล อุปกรณ์ทางแม่เหล็ก หรือ อุปกรณ์ลม ก็สามารถเป็นอุปกรณ์ดิจิตอลได้เช่นกัน ระบบดิจิตอลที่คุ้นเคยกันดี ได้แก่ ดิจิตอลคอมพิวเตอร์ เครื่องคิดเลข ระบบโทรศัพท์ เป็นต้น

ข้อดีของระบบดิจิตอลเมื่อเทียบกับระบบอนาลอกได้แก่

1. ระบบดิจิตอลมักออกแบบได้ง่าย

2. จัดเก็บข้อมูลได้ง่าย

3. เที่ยงตรง (Accuracy) และแม่นยำ (Precision) กว่า เนื่องจากระบบอนาลอกจะมีความแม่นยำไม่เกินตัวเลขสามถึงสี่หลัก เพราะ ค่าแรงดันหรือกระแสไฟฟ้าในระบบอนาลอกขึ้นอยู่กับค่าอุปกรณ์ในวงจรและถูกรบกวนได้จากการแกว่งแบบซุ่ม หรือสัญญาณรบกวน (Noise) ในขณะที่ดิจิตอลสามารถเพิ่มความแม่นยำได้ตามจำนวนหลักตัวเลขที่ต้องการโดยการเพิ่มจำนวนวงจรเข้าไป

4. การดำเนินการทางดิจิตอลสามารถโปรแกรมได้ ระบบดิจิตอลสามารถออกแบบได้ง่ายกว่า โดยการเก็บชุดคำสั่งที่เรียกว่า โปรแกรม

5. ระบบดิจิตอลทนต่อการรบกวนจากสัญญาณรบกวน

6. วงจรดิจิตอลจำนวนมากๆ สามารถผลิตบนวงจรรวม (IC) ได้ง่าย เนื่องจาก ระบบอนาลอกมีความยุ่งยากในการสร้างเป็นตัวไอซี เพราะ ตัวเก็บประจุขนาดใหญ่ ความต้านทานที่มีความแม่นยำสูง ตัวเหนี่ยวนำ และหม้อแปลงไม่สามารถสร้างบนแผ่นซิลิกอนได้

 

ข้อจำกัดของระบบดิจิตอล

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

เพื่อใช้ประโยชน์จากระบบดิจิตอล เมื่อต้องยุ่งเกี่ยวกับอินพุท เอาต์พุตที่เป็นอนาลอก เรามีขั้นตอนที่ต้องทำดังนี้

1. แปลงปริมาณอนาลอกเป็นดิจิตอล

2. ประมวล หรือดำเนินการในรูปของดิจิตอล

3. แปลงผลดิจิตอลเอาต์พุตที่ได้กลับมาเป็นปริมาณอนาลอก

 

Temperature

(Analog)

(Analog)

(Digital)

(Analog)

Measuring device

Analog-to-digital converter

Digital processing

Digital-to-analog converter

Controller

Adjusts temperature

(Digital)

รูปที่ 1. บล็อกไดอะแกรมของระบบระบบควบคุมอุณหภูมิแบบดิจิตอล

ระบบตัวเลขดิจิตอล

ระบบเลขฐานสิบ (Decimal system)

เลขฐานสิบประกอบด้วยสัญลักษณ์ตัวเลขสิบตัว ได้แก่ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ซึ่งมาจากความจริงที่ว่ามนุษย์มีนิ้วมืออยู่สิบนิ้ว คำว่า “Digit” มาจากภาษาลาตินที่หมายถึง “Finger”

ตัวอย่างที่ 1 พิจารณาตัวเลข 453 เราทราบว่าเลข 4 แทนจำนวนสี่ร้อย เลขห้าแทนจำนวน ห้าสิบ ส่วนเลข 3 แทนจำนวนสาม ตัวเลข 4 ในที่นี้มีน้ำหนักสูงสุด เรียกว่าเป็นเลขที่มีนัยสำคัญสูงสุด (Most Significant digit: MSD) ในขณะที่เลข 3 มีน้ำหนักน้อยที่สุด (Least Significant Digit: LSD)

 

ตัวอย่างที่ 2 ตัวเลข 27.35 เท่ากับ  โดยที่เราใช้จุดทศนิยม (Decimal point) ในการแบ่งจำนวนเต็มและเลขเศษส่วน

 

ตัวอย่างที่ 3 ตัวเลข 2745.214 สามารถเขียนน้ำหนักของเลขแต่ล่ะหลักในรูปของเลขสิบยกกำลังได้ดังนี้

 

 

สรุปได้ว่าโดย ทั่วๆไปแล้ว จำนวนก็คือผลบวกของผลคูณระหว่างตัวเลขกับน้ำหนักหลักของตัวเลขนั้นๆ

  

 

ตัวอย่างการบวกเลขฐานสิบสองจำนวน เช่น 99+1 จะได้ว่า

99

   +

  1

                                                           100   

เราจะสามารถเขียนหลักการบวกเลขได้ดังนี้

สมมุติว่าเลขจำนวนหนึ่งมี 5 หลัก คือ a2a1a0.a-1a-2 โดยที่

          (1)

an คือค่า สัมประสิทธิ์ที่ตำแหน่ง n และ R คือเลขฐาน

1. จำนวนสูงสุดของตัวเลขในแต่ละหลัก จะเท่ากับ (R-1)    เช่น (10-1) = 9    สำหรับเลขฐานสิบ

2. เมื่อบวกตัวเลขสูงสุดของเลขฐานนั้นๆ เช่น (10-1) ด้วย 1 จะเกิดการทด (Carry)

3. ผลลัพธ์ 99+1 คือ 100 จะเห็นได้ว่าตัวเลขเดียวกันแต่อยู่ในหลักที่ต่างกันจากซ้ายไปขวา ตัวเลขในหลักนั้นจะมีค่าเป็น R เท่าของหลัก ถัดไป      เช่น เลข 1 ในหลักร้อยก็จะมีค่าเป็นสิบเท่าของเลข 1 ในหลักสิบ

เลขฐานสิบไม่เหมาะสมต่อการนำมาใช้งานในระบบดิจิตอล เนื่องจากการสร้างวงจรอิเล็กทรอนิกส์ที่สามารถทำงานกับระดับแรงดันไฟฟ้าสิบระดับได้อย่างแม่นยำนั้น ทำได้ยาก ในขณะที่การออกแบบวงจรให้ทำงานกับระดับแรงดันสองระดับนั้น กระทำได้ง่ายกว่ามาก

ระบบเลขฐานสอง (Binary system)

จำนวนในเลขฐานสองมีได้เพียงสองค่าคือ เลข “0” และ “1” ตัวเลขฐานสองสามารถแทนจำนวนในเลขฐานสิบหรือฐานอื่นได้โดยการเพิ่มจำนวนหลักให้เพียง แสดงตัวอย่างตัวเลขฐานสอง 1011.101 ตัวเลขที่อยู่ทางหน้าจุดไบนารี่จะมีค่าเป็นสองยกกำลังจำนวนบวก ส่วนตัวเลขที่อยู่หลังจุดไบนารี่จะมีค่าเป็นสองยกกำลังค่าลบ ในการแปลงเลขฐานสองเป็นเลขฐานสิบสามารถทำได้ง่ายๆดังนี้

 

                  = 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125

                  = 11.62510

จุดสังเกต ตัวห้อย 2 และ10 ใช้แทนเลขฐานของจำนวนที่เราพิจารณา

ในระบบตัวเลขฐานสองตัวเลขในหลักต่างๆมักนิยมเรียกว่า บิต (Bit) จากในรูปที่สาม จะแสดงให้เห็นว่ามีตัวเลขสี่บิตอยู่หน้าจุดไบนารี่ที่แทนจำนวนเต็มและมีตัวเลขสามบิตหลังจุดไบนารี่ที่แทนเลขเศษส่วน บิตที่ทางซ้ายมือสุดจะเป็นบิตที่มีนัยสำคัญสูงสุด (Most Significant Bit: MSB) ส่วนบิตที่อยู่ทางขวามือสุดเป็นบิตที่มีนัยสำคัญต่ำที่สุด (Least Significant Bit: LSB)

ตัวอย่างที่ 4 ตัวเลขฐานสองแปดบิตจะแทนจำนวนสูงสุดในตัวเลขฐานสิบได้เท่ากับเท่าใด

คำตอบ

        2N -1 = 28 -1 = 25510 = 111111112 โดยที่ N คือ จำนวนบิต

การแสดงจำนวนเลขฐานสอง

ในระบบดิจิตอล ข้อมูลที่จะถูกประมวลผลมักอยู่ในรูปของจำนวนตัวเลขฐานสอง ซึ่งจำนวนในเลขฐานสองสามารถแทนได้ด้วยอุปกรณ์ใดๆที่มีการทำงานเพียงสองสถานะ เช่น สวิตช์ที่เปิดวงจรแทน “0” หรือสวิตช์ปิดวงจรแทน “1” ในรูปที่ 4a แสดงตัวอย่างการแทนจำนวนเลขสอง 100102 ด้วยสวิตช์เปิดปิดห้าตัว ส่วนในรูป 4b ใช้การเจาะรูหรือไม่เจาะรูบนกระดาษแทนเลขฐานสอง

 

รูปที่ 4 การแทนจำนวนในเลขฐานสอง (a) ใช้สวิตช์ (b) กระดาษเจาะรู

(a)

(b)

 

 นอกจากนี้ ยังมีอุปกรณ์อีกหลายชนิดที่มีสภาวะการทำงานสองสถานะที่ต่างกันมาก ซึ่งสามารถแทนจำนวนฐานสองได้เช่น หลอดไฟ (ดับ หรือ สว่าง) ไดโอด (นำกระแส หรือ ไม่นำกระแส) ขดลวดรีเลย์ (จ่ายไฟ หรือ ไม่จ่ายไฟ) ทรานซิสเตอร์ (คัตออฟ หรือ อิ่มตัว) โฟโต้เซลล์ (ได้รับแสง ไม่ได้รับแสง) เทอร์โมสตัต (เปิด หรือปิด วงจร) จุดบนแถบบันทึกแม่เหล็ก (ไม่อำนาจแม่เหล็กหรือไม่มี) เป็นต้น

ในระบบดิจิตอลแบบอิเล็กทรอนิกส์ ข้อมูลฐานสองหรือ ข้อมูลไบนารี่จะแทนด้วยระดับแรงดันไฟฟ้า (หรือกระแส) โดยทั่วไป “0” หรือ “1” แทนด้วยแรงดันสองระดับ ยกตัวอย่างเช่น ระดับแรงดัน 0 โวลต์อาจจะใช้แทนลอจิก (Logic) “0” และ ลอจิก “1” อาจจะแทนด้วย +5 โวลต์ ซึ่งเราอาจจะเรียกว่าเป็น ลอจิกแบบบวก (Positive Logic) ในทางกลับกันหากเราให้ 0 โวลต์แทน ลอจิก “1” และให้ +5 โวลต์แทนลอจิก “0” เราก็จะได้ระบบดิจิตอลแบบลอจิกลบ (Negative Logic) ซึ่งลอจิกทั้งสองระบบไม่ข้อแตกต่างในความสามารถในการทำงาน แต่ในที่นี้จะใช้ลอจิกบวกในการอธิบายระบบดิจิตอลในเนื้อหาต่อๆไป

เนื่องจากความไม่แน่นอนของค่าอุปกรณ์ ดังนั้น ลอจิก “0” หรือ “1” อาจแทนด้วยช่วงแรงดันหนึ่งๆ เช่น แรงดัน 0 ถึง 0.8 โวลต์ แทน “0” ในขณะที่แรงดัน 2 ถึง 5โวลต์แทน “1” ดังนั้นอินพุตหรือ เอาต์พุตที่ปกติของระบบจะต้องอยู่ในช่วงแรงดันดังกล่าว รูปที่ 5 แสดงระดับแรงดันที่สัมพันธ์กับระดับลอจิกในระบบดิจิตอล

 

 

เราจะสังเกตเห็นได้ว่าลักษณะของสัญญาณดิจิตอลนั้นแตกต่างจากสัญญาณอนาลอกเป็นอย่างมาก ในระบบดิจิตอลนั้น ค่าของแรงดันไม่สำคัญ ตัวอย่างเช่นในรูป 5(a) แรงดัน 3.6 โวลต์มีความหมายเช่นเดียวกันกับ แรงดัน 4.3 โวลต์ แต่ในระบบอนาลอกค่าของแรงดันสำคัญอย่างยิ่ง ยกตัวอย่างเช่น แรงดันไฟฟ้าจากเซ็นเซอร์วัดอุณหภูมิ 3.6 โวลต์แทนอุณหภูมิค่าหนึ่งในขณะที่แรงดันจากเซ็นเซอร์เดียวกัน 4.3 โวลต์ก็แทนค่าอุณหภูมิอีกค่าหนึ่ง

 

สัญญาณดิจิตอล และไทมิ่งไดอะแกรม

รูปที่ 5(b) แสดงลักษณะสัญญาณดิจิตอล ซึ่งแสดงการเปลี่ยนแปลงของสัญญาณลอจิกเทียบกับเวลา t เราเรียกกราฟในรูป 5(b) นี้ว่าไทมิ่งไดอะแกรม (Timing diagram) เส้นเวลาในแนวนอนถูกแบ่งเป็นช่วง เช่น จาก t0 ถึง t1 และ t1 ถึง t2 เป็นต้น จากตัวอย่างนี้แสดงให้เห็นว่า แรงดัน เป็น 0 โวลต์ (ลอจิก “0”) ตั้งแต่เวลา t0 และคงระดับลอจิกนี้ไปจนถึงเวลา t1แล้วจึงเปลี่ยนสถานะลอจิกเป็น “1” (แรงดันกระโดดเป็น 4 โวลต์) อย่างรวดเร็ว และคงสถานะลอจิกไปจนถึงเวลา t2 แล้วเปลี่ยนสถานะลอจิกกลับเป็น “0” อีกครั้ง

ไทมิ่งไดอะแกรมนิยมใช้ในการเปรียบเทียบสถานะลอจิกของสัญญาณดิจิตอลตั้งแต่สองชุดขึ้นไป ในวงจรหรือระบบดิจิตอลเดียวกันเทียบกับเวลา โดยอุปกรณ์ที่ใช้แสดงไทมิ่งไดอะแกรมได้แก่ ออสซิลโลสโคป หรือ เครื่องวิเคราะห์ลอจิก (Logic analyzer) ซึ่งเป็นเครื่องมือที่สำคัญในขั้นตอนของการทดสอบหรือแก้ไขปัญหาในระบบดิจิตอล

 

วงจรดิจิตอลและวงจรลอจิก

วงจรดิจิตอลจะถูกออกแบบให้สัญญาณอินพุตและเอาต์พุตภายใต้การนิยามระดับลอจิก ดังที่ยกตัวอย่างไว้ในรูปที่ 5(a)

 

 

วงจรลอจิก

เนื่องจากวงจรดิจิตอลทำงานตามลอจิกของสัญญาณอินพุต จึงเรียกอีกชื่อหนึ่งว่า วงจรลอจิก (Logic circuit) ในหัวข้อต่อๆไปเราจะศึกษาถึงชนิดของ วงจรลอจิกต่างๆที่ใช้ในระบบดิจิตอล

ตระกูลของไอซีดิจิตอล

วงจรดิจิตอลในระบบดิจิตอลยุคใหม่มักอยู่ในรูปของวงจรรวม (Integrated Circuit: IC) หรือที่เรานิยมเรียกกันสั้นๆว่า ตัวไอซี

เนื่องจากเทคโนโลยีที่ใช้ในการผลิตไอซีมีอยู่หลายแบบจึงทำให้เกิด วงจรลอจิกหลายตระกูล เช่น ตระกูลTTL (Transistor-Transistor Logic) ซึ่งนิยมใช้กันทั่วไป ตระกูลCMOS (Complementary Metal-Oxide-Semiconductor) ตระกูลNMOS และ ตระกูลECL เป็นต้น ความแตกต่างของไอซีแต่ล่ะตระกูลขึ้นอยู่กับตัวอุปกรณ์ที่นำมาประกอบเป็นวงจรลอจิกหรือ การจัดวงจร

 

 

ลอจิกเกต และพีชคณิตบูลีน

พีชคณิตบูลีน (Boolean algebra) เป็นเครื่องมือที่นำมาใช้ในการวิเคราะห์และออกแบบระบบดิจิตอล ซึ่งพีชคณิตเป็นเครื่องมือทางคณิตศาสตร์ที่ช่วยให้เราสามารถอธิบายความสัมพันธ์ระหว่างเอาต์พุตของวงจรลอจิกที่เราสนใจกับสัญญาณอินพุตของมัน ในรูปของสมการ (Boolean expression)

                                                          ตารางที่ 1

ลอจิก “0”

ลอจิก “1”

เท็จ (False)

จริง (True)

ปิด (Off)

เปิด (On)

ต่ำ (Low)

สูง (High)

ไม่ใช่ (No)

ใช่ (Yes)

เปิดสวิตช์ (Open switch)

ปิดสวิตช์(Closed switch)

 

ในตารางที่ 1 แสดงตัวอย่างที่นิยมแทนด้วย ลอจิก “0” และลอจิก “1” ที่เหมาะสมกับการใช้พีชคณิตบูลีน เพราะมีค่าได้เพียงสองสถานะ การดำเนินการ (Operation) พื้นฐานที่ใช้ในพีชคณิตบูลีนมีเพียง 3 ชนิดได้แก่

1.หรือ (OR)

2. และ (AND)

3. นิเสธ (NOT)

การดำเนินการเหล่านี้เรียกว่าการดำเนินการทางลอจิก (Logic operation) และวงจรดิจิตอลที่ใช้ดำเนินการทางลอจิกเหล่านี้เรียกว่า ลอจิกเกต (Logic gate) ซึ่งสามารถสร้างได้จาก ไดโอด ทรานซิสเตอร์ และตัวต้านทาน ประกอบขึ้นเป็นวงจรที่ให้เอาต์พุตตามผลของการดำเนินการ (OR, AND, NOT) กับอินพุตที่ป้อนให้กับวงจร

 

ตารางความจริง

ตารางความจริง (Truth table) เป็นตารางที่แสดงให้เห็นความสัมพันธ์ระหว่างเอาต์พุตของลอจิกเกตนั้นๆกับอินพุตที่ป้อนให้กับตัวเกตที่เราสนใจ

 

เกตหรือ (OR Gate)

เกตหรือ (OR gate) เป็น ลอจิกเกตที่ให้ผลการดำเนินการทางลอจิกแบบออร์ ซึ่งเป็นการดำเนินการแบบแรกในบรรดาการดำเนินการทางลอจิกแบบพื้นฐานทั้งสามชนิดที่กล่าวมาแล้วข้างต้น

 

 สมการบูลีนของออร์เกตสามารถเขียนได้ดังนี้

                                                             

เครื่องหมาย + ในที่นี้ไม่ได้หมายถึงการบวก แต่เป็นเครื่องหมายแทนการออร์

                                  

 

 

  

เกตนิเสธ (NOT gate) หรือ นอตเกต มีความแตกต่างจากออร์เกตและแอนด์เกต ตรงที่มีอินพุตเพียงอินพุตเดียว โดยสามารถเขียนสมการบูลีนของนอตเกตที่มีอินพุทเป็น A ได้ดังนี้

                                                      

หมายถึงเอาต์พุต x จะเท่ากับลอจิกตรงกันข้ามกับลอจิกของ A หรือ Complement ของ A

 

 

 

 

 

 

นอร์เกตและแนนด์เกต

วงจรลอจิกเกตอีกสองชนิดที่นิยมใช้ในวงจรดิจิตอลคือ นอร์เกต (NOR gate) และ แนนด์เกต (NAND gate) ซึ่งได้จากการรวมออร์เกตและแอนด์เกตเข้ากับนอตเกตตามลำดับ

 

Comment

Comment:

Tweet