วันจันทร์ที่ 7 กรกฎาคม พ.ศ. 2557

บทที่ 12 วงจร Multiplexer (MUX) และ วงจร Demultiplexer (DMUX

บทที่ 12 ::
วงจร Multiplexer (MUX) และ วงจร Demultiplexer (DMUX)
<<    12.1 การออกแบบวงจร Multiplexer
<<    12.2 การเพิ่มจำนวนอินพุตของ Multiplexer
<<    12.3 การออกแบบวงจร Multiplexer ด้วย VHDL
<<    12.4 การออกแบบวงจร Demultiplexer 
<<    12.5 การขยายเอาต์พุตของดีมัลติเพล็กซ์ 
<<    12.6 การออกแบบวงจร Demultiplexer ด้วย VHDL
<<    กลับหน้าหลัก 











12.1 การออกแบบวงจร Multiplexer
                  วงจรมัลติเพล็กซ์ (Multiplexer) หรือมักซ์ (MUX) หรือวงจรเลือกข้อมูล (Data Selector) เป็นวงจรที่มีเอาต์พุตเพียง 1 เอาต์พุตแต่
          มีอินพุตหลายอินพุต  ทำหน้าที่เลือกข้อมูลจากอินพุตมาใช้เพียงครั้งละข้อมูลเดียว ลักษณะของ MUX แสดงดังรูปที่ 12.1 (ก) ส่วนรูปที่ 12.1
         (ข) แสดงการทำงานของ MUX ซึ่งเปรียบเสมือนสวิตซ์แบบหมุน (Rotary switch)
 
                             

                                                                             รูปที่ 12.1 แสดงโครงสร้างและการทำงานของ MUX
      เอาต์พุตของ MUX มี l เอาต์พุต (Y) อาจจะเป็นแบบ Active High หรือ Active Low ก็ได้แต่บางตัวอาจจะมีเอาต์พุตทั้ง 2 แบบ ซึ่งเรียกว่า
เป็นแบบ Complement Output อินพุตของ MUX แบ่งเป็น 3 กลุ่ม คือ
                 1. ขา Enable หรือ Strobe (E, EN หรือ G) ทำหน้าที่ควบคุมให้ MUX ทำงานหรือไม่ทำงานเป็นอินพุตแบบ Active Low
                                  ถ้าขา Enable ได้รับลอจิก 0 MUX ทำงานตามปกติ
                                  ถ้าขา Enable ได้รับลอจิก 1 MUX ไม่ทำงาน (เอาต์พุตไม่ Active)
                 2. Data Input เป็นอินพุตที่รับสัญญาณข้อมูล (Data) เข้ามา
                 3. Select Input เป็นขาที่ทำหน้าที่เลือกข้อมูล (Data) จากขา Data Input ไปใช้งาน
                         ถ้า Data Input = n, Select Input = m จะได้ความสัมพันธ์ระหว่างจำนวน Data Inputกับจำนวน Select Input เป็น n = 2m
                   การกำหนดขนาดของ MUX กำหนดในรูป “จำนวน Data Input : 1” หรือ “จำนวน Data Input-to-1”
    12.1.1 MUX ขนาด 2 : 1 (2-to-1ine MUX)
                        เนื่องจาก n = 2 ดังนั้น m = 1 (ขา Select มี 1 ขา)
                                                          
                                                                               รูปที่ 12.2 แสดง MUX ขนาด 2 : 1
       ข้อมูลที่ขา Data Input D0, D1 จะถูกเลือกไปใช้ที่เอาต์พุตเพียงครั้งละ 1 ข้อมูลเท่านั้น โดยการควบคุมที่ขา S การทำงานเป็นไปตามตารางความจริง
                                             
Select Input S
OutPut Y
0
D0
1
D1
                                                                                        
                                                                              
                                     จากตารางความจริงเขียนสมการลอจิกได้เป็น     รูปที่ 12.3 แสดงวงจรภายในของ MUX ขนาด 2 :1
                                                                     
                                     จากสมการนำไปเขียนเป็นวงจรได้ดังรูปที่ 12.3
       สำหรับวงจรมัลติเพล็กซ์ขนาดเข้า 2 ออก 1 หรือ  2 -line-to-1-line Data\Selector Multiplexer  ที่นิยมใช้กัน คือ วงจรรวมทีทีแอลเบอร์ 74157 
 ซึ่งภายในประกอบด้วยมัลติเพล็กซ์ขนาด เข้า 2 ออก 1 จำนวน 4 วงจรคือ มีอินพุต 2 อินพุต A และ B เอาต์พุตคือ Y มีขาสโตรบ (Strobe) ทำหน้าที่ควบคุมการ
 ทำงาน และขาซีเล็ค (Select) สำหรับป้อนลอจิกควบคุมเพื่อเลือกอินพุตใดอินพุตหนึ่งให้ส่งข้อมูลไปยังเอาต์พุต ตารางความจริงแสดงการทำงานแสดงในรูปที่ 
 12.4 (ข) และวงจรเกตภายในของมัลติเพล็กซ์เบอร์ 74157 แสดงในรูปที่ 12.4 (ก) เมื่อพิจารณาการการทำงานจากตารางความจริงจะพบว่าเมื่อให้ขาสโตรบเป็น
 “H” วงจรไม่ทำงาน ที่เอาต์พุต Y จะให้ลอจิก “L” เมื่อให้ขาสโตรบเป็น “L” วงจรจะทำงานได้ กล่าวคือ เมื่อเลือกขาซีเล็คให้เป็น “L” เอาต์พุต Y จะเท่ากับอินพุต 
 A และเมื่อขาซีเล็คเป็น “H” เอาต์พุต Y จะเท่ากับอินพุต B
                                                    

                  รูปที่ 12.4 แสดงวงจรลอจิกและตารางความจริงของ 2-line-to-1-line multiplexer เบอร์ 74157
 12.1.2 MUX ขนาด 4 : 1 (4-to-1ine MUX)
                     เนื่องจาก n = 4 ดังนั้น m = 2 (จำนวน Select Input 2 ขา)
                                   
                          
                                                                                      รูปที่ 12.5 แสดง MUX ขนาด 4 : 1
                                                                                      
       
                                                                              ตารางความจริง

                                            
 


         จากตารางความจริงเขียนสมการลอจิกได้เป็น
                                     
         เขียนเป็นวงจรลอจิกได้ดังรูปที่ 12.6
                                             
        
                                                               รูปที่ 12.6 แสดงวงจรภายในของ MUX ขนาด 4 : 1
         วงจรมัลติเพล็กซ์ที่มีขนาดเข้า 4 ออก 1 สามารถเรียกข้อมูลอินพุต 4 ออก 1 เอาต์พุตได้คือเบอร์ 74153 (Dual-4-line-to-1-line Data
 Selector Multiplexers) ภายในของวงจรรวมทีทีแอลเบอร์ 74153 ประกอบไปด้วยมัลติเพล็กซ์ขนาดเข้า 4 ออก 1 จำนวน 2 วงจร ดังรูปที่ 
12.7 (ก) วงจรที่ 1 มีอินพุต 1C0, 1C1, 1C2, 1C3 มีเอาต์พุต 1Y มีขาควบคุมคือสโตรบ (Strobe / Enable, 1G)   และใช้ขาซีเล็คเพื่อเลือก
ช่องของข้อมูลอินพุต 2 ขาคือ ขา A และ B สำหรับตัวที่ 2 มีขาอินพุต 4 บิต คือ 2C0, 2C1, 2C2, 2C3      มีเอาต์พุต   2Y   มีขาควบคุมคือสโตรบ 
 (2G)   และใช้ขาซีเล็ค A และ B ร่วมกับมัลติเพล็กซ์ตัวแรก
        ตารางความจริงแสดงการทำงานของมัลติเพล็กซ์เบอร์ 74153 แสดงในรูปที่ 12.7 (ข) จะพบ ว่าเมื่อต้องการให้วงจรมัลติเพล็กซ์ทำงานได้ต้อง
ควบคุมขาสโตรบ (G) ให้ได้รับลอจิก “L” เมื่อทำการเลือกข้อมูลด้วยขาซีเล็ค A และ B เป็น “L” ทั้ง 2 ขา อินพุต ที่ C0 จะปรากฏที่ Y และถ้าเลือก A
 และ B เป็น “L” และ “H” ที่เอาต์พุต Y จะเท่ากับ C1 ถ้าเลือก A และ B เป็น “H” และ “L” เอาต์พุต Y จะเข้ากับ C2 ในทำนองเดียวกัน เมื่อเลือก A
 และ B เป็น “H” ทั้ง 2 ขา เอาต์พุต Y จะเท่ากับ C3
                                                                
                                                                          
         
                                                    รูปที่ 12.7 แสดงวงจรลอจิกและตารางความจริงของ 4-line-to-1-line
                                                                        Data Selector Multiplexer เบอร์ 74153
         12.1.3 MUX ขนาด 8 : 1 มีสมการเอาต์พุตเป็น
                                 
                       วงจรมัลติเพล็กซ์ขนาดเข้า 8 ออก 1 หรือ 8-line-to-1-line Data Selector/Multiplexers ชนิด วงจรรวมทีทีแอล มีใช้กัน 
2 เบอร์คือ เบอร์ 74151 และ 74152 ถ้าเป็นเบอร์ 74151 จะมีอินพุตรับขอมูลจำนวน 8 อินพุต (คือ D6 ถึง D7) และมีขาซีเล็ค 3 ขา (A, B, C)
 มีขาควบคุมคือขาสโตรบ (S) และมีเอาต์พุต 2 เอาต์พุต คือเอาต์พุต Y (ปกติ) และเอาต์พุต W (เป็นอินเวิร์สของ Y) ดังวงจรในรูปที่ 12.8 (ก)     
ตารางความจริงของมัลติเพล็กซ์เบอร์ 74151   แสดงในรูปที่ 12.8 (ข)    เมื่อต้องการให้มัลติเพล็กเซอร์ ทำงานได้ต้องควบคุมขาสโตรบให้เป็น “L”
                               
                                                                                         (ก) วงจรภายใน 74151
           
             รูปที่ 12.8 แสดงวงจรภายในของ 8-line-to-1-line Data Selector Multiplexer เบอร์ 74151
                             และตารางความจริง
                                                              
                                                           
                                                                                               รูปที่ 12.8 (ต่อ)
  สำหรับเบอร์  74152 เป็นชนิด 8-1ine-to-1-1ine เช่นกัน แต่ไม่มีขาสโตรบเป็นขาควบคุม ดังนั้นข้อมูลทางอินพุตจะเรียงลำดับออกไป
  ที่เอาต์พุตครั้งละ 1 บิตได้เมื่อควบคุมลอจิกของซีเล็คให้เป็นไปตามตารางความจริงดังแสดงในรูปที่ 12.9 (ข) วงจรภายในของ 74152
    แสดงในรูปที่ 12.9 (ก)
                                                     

                                         รูปที่ 12.9 แสดงวงจรภายในและตารางความจริงของ 8-line-to-1-line 
                                                           Data Selector/Multiplexer เบอร์ 74152
                                             

                                                                                                             รูปที่ 12.9 (ต่อ)
      12.1.4 MUX ขนาด 16 : 1 มีสมการเอาต์พุตเป็น
                          
                       วงจรมัลติเพล็กซ์ที่มีอินพุตเข้า 16 ออก 1 หรือ 16-line-to-1-line Multiplexer ชนิดวงจรรวมทีทีแอล ที่นิยมใช้กันคือเบอร์ 74150 
                   (มีทั้งชนิด Standard, LS, S) วงจรมัลติเพล็กซ์นี้มีอินพุตรับข้อมูลเข้า 16 อินพุต คือ E0 ถึง E15 และมีอินพุตซีเล็คที่ทำหน้าที่เลือกข้อมูลจาก
                   อินพุต 1 บิตไปสู่เอาต์พุต      ขาซีเล็คมีจำนวน  4  ขา  คือ  A, B, C  และ  D  (Data Select) มีขาควบคุมการทำงานของมัลติเพล็กซ์คือ
                   ขาสโตรบ (อีนาเบิล) เมื่อต้องการให้วงจรมัลติเพล็กซ์ทำงานได้จะต้องเลือกให้ขา สโตรบเป็น “L” แต่ที่เอาต์พุตจะให้ข้อมูลตรงกันข้ามกับลอจิก
                   ข้อมูลอินพุต เช่น เมื่อให้สโตรบเป็น “L” และเลือกซีเล็ค A, B, C, D เป็น “L” ทั้งหมด ถ้าป้อนข้อมูล “H” ที่ขา E0 ที่เอาต์พุตจะได้ E0 หรือ “L”
                   เมื่อต้องการให้เอาต์พุตมีค่าเป็น  “H” จะต้องต่ออินเวอร์เตอร์เกตที่เอาต์พุตเพิ่มอีก 1 เกตลักษณะของวงจรภายในของมัลติเพล็กซ์เบอร์ 74150
                    แสดงในรูป 12.10 (ก) และตารางความจริงแสดงการทำงานแสดงในรูป 12.10 (ข)
                           
               
                                             รูปที่ 12.10 แสดงวงจรภายในและตารางความจริงของ 16-line-to-1-line 
                                                                   Data Selector/Multiplexer เบอร์ 74150
           12.1.5 MUX ขนาด n : 1 มีสมการเอาต์พุตเป็น
                                    

                                                                                                                                         << Go To Top
12.2 การเพิ่มจำนวนอินพุตของ Multiplexer
                 การเพิ่มจำนวนอินพุตของ Multiplexer คือการนำมัลติเพล็กซ์หลายๆ ตัวมาต่อร่วมกัน เพื่อให้สามารถรับข้อมูลเข้าได้มากกว่า เช่น 
     กรณีที่ต้องการรับข้อมูลมากกว่า 16 บิต (16 บิตสามารถใช้เบอร์ 74150 ได้) สามารถสร้างได้โดยใช้ 74150 หลาย ๆ ตัวการนำ MUX 
    หลายๆ ตัวมาต่อรวมกันเพื่อเพิ่มจำนวนอินพุตของ MUX เรียกว่า Multiplexer Tree มีตัวอย่างการต่อวงจรดังรูปที่ 12.11
                                     
           
                                   รูปที่ 12.11 แสดงการต่อวงจรไอซีเบอร์ 74151 เพื่อใช้งานเป็น 16 : 1 MUX
วงจรรูปที่ 12.11 เป็นการนำ 74151 8 : 1 MUX 2 ตัว มาต่อเป็น 16 : 1 MUX ซึ่งมีคุณสมบัติการทำงานเหมือนกับ 74150 16 : 1 MUX ในรูปที่ 12.12
                                                               
                                     รูปที่ 12.12 แสดงการต่อไอซีเบอร์ 74150 เพื่อใช้งานเป็นแบบ Complement Output

                                           

                    รูปที่ 12.13 แสดงการต่อไอซีเบอร์ 74150 เพื่อใช้งานเป็น 32 : 1 MUX แบบ Complement Output
 แนนด์เกตทางด้านเอาต์พุตของวงจรรูปที่ 12.13 อาจจะเปลี่ยนไปใช้ 2 : 1 MUX แทนก็ได้ โดยใช้ขา S ของ 2 : 1 MUX ไปเป็นขา S4 ส่วนขา EN ของ 
74150 ทั้ง 2 ตัวต่อไว้ที่ลอจิก 0
                                                       
                                                        

                                        รูปที่ 12.14 แสดงการต่อวงจร 4 : 1 MUX 5 ตัวเพื่อใช้งานเป็น 16 : 1 
การสร้างวงจรมัลติเพล็กซ์ขนาดเข้า 64 ออก 1 (64-line-to-1-1ine Multiplexers) จะเห็นว่าต้องออกแบบให้ขาซีเล็คเลือกข้อมูลได้ 64 บิต (26 = 64) 
  แสดงว่าต้องมีขาซีเล็ค 6 ขา (A, B, C, D, E และ F) ขาข้อมูลเข้าต้อง มี 64 ขา ใช้วงจรรวมเบอร์ 74150 จำนวน 4 ตัว ตัวที่ (1) รับข้อมูลบิตที่ 0-15
  ตัวที่ (2) รับข้อมูลบิตที่  16-31 ตัวที่ (3) รับข้อมูลบิตที่ 32-47 และตัวที่ (4) รับข้อมูลบิตที่ 48-63 สำหรับขาซีเล็ค (A, B, C, D) ของทั้ง 4 ตัวน
ี้  (74150) ต่อขนานกันดังรูปที่ 12.15 จากนั้นนำเอาต์พุต (W) ของ 74150 ทั้ง 4 ตัวต่อเข้ากับมัลติเพล็กซ์ขนาด 4 ออก 1 เช่น เบอร์ 74153 และนำซีเลค
  อินพุตของ 74153 มาเป็นแอดเดรสของซีเล็คอินพุตรวมของระบบ ทำให้ชีเล็คอินพุตรวมมี 6 ขา (A, B, C, D, E, F) จึงออกแบวงจรมัลติเพล็กซ์แบบ
  64-line-to-1-line ได้อย่างสมบูรณ์ ดังรูปที่ 12.15
                                         

                          รูปที่ 12.15  64-line-to-1-line Multiplexer ที่สร้างจากเบอร์ 74150 (16-line-to-1-line)
       ตัวอย่างที่ 12.1 จงออกแบบวงจร      
                                (ก) โดยใช้ไอซีเบอร์ 74153 4 : 1 MUX 1ตัว (ใช้ MUX ขนาด 4 : 1 จำนวน 1 ตัว)
                                (ข) โดยใช้ไอซีเบอร์ 74153 4 : 1 MUX 2 ตัว มาต่อเป็น 8 :1 MUX
                                 วิธีทำ
 
                            (ก) ใช้ไอซีเบอร์ 74153 4 : 1 MUX 1ตัว
                                         เขียนวงจร 74153 ดังรูป นำเอาต์พุต Y ไปใช้เป็นเอาต์พุตของวงจร จะได้   ส่วนขา Enable 
                                 ต้องต่อที่สถานะ active เสมอ (ต่อไว้ที่ลอจิก 0)
                                                                                       
        สมการลอจิกที่โจทย์กำหนดมี 3 อินพุต คือ  และ  ให้ต่ออินพุต  กับขา  ต่ออินพุต กับขา  ส่วนอินพุตที่เหลือคือ 
  นำไปออกแบบเพื่อต่อกับขา Data Input  ถึง ซึ่งมีวิธีการออกแบบ 3 วิธีดังนี้
   วิธีที่ 1ช้ตารางความจริง
                จากสมการลอจิกที่โจทย์กำหนดนำไปเขียนเป็นตารางความจริง แบ่งกลุ่มอินพุต (ตัวแปร)  ในตารางความจริงออกเป็น 2 กลุ่ม คือกลุ่มที่ต่อ
            อยู่กับขา Select Input ได้แก่   และกลุ่มที่เหลือได้แก่        
                           
      ตารางความจริงมี 8 สถานะ คือ 0 ถึง 7 ส่วน MUX มี 4 สถานะ คือ 0 ถึง 3 จัดกลุ่มตารางความจริงให้มีสถานะตรงกับ MUX คือ 4 กลุ่มได้แก่  = 00,
    = 10 และ   = 11 หาสมการเอาต์พุต Y ของแต่ละกลุ่ม โดยพิจารณาเฉพาะตัวแปรที่ไม่ได้ต่อกับขา Select Input ได้แก่ เมื่อได้สมการ
  ของแต่ละกลุ่ม นำไปเปรียบเทียบกับคุณสมบัติของ MUX เพื่อหาสมการ  และ  ดังนี้
                                                       

                             นำค่าที่ได้คือ  ไปเขียนเพิ่มลงในวงจร MUX จะได้วงจรดังรูป

                                                              
     วิธีที่ 2สมการลอจิก
                    โดยการจัดรูปฟอร์มสมการลอจิกที่โจทย์กำหนดให้ตรงกับสมการของ MUX 
                         
                       
   จัดรูปสมการ (2) ให้ตรงกับรูปฟอร์มสมการ MUX (สมการ (1))
                            
 เปรียบเทียบสมการ (1) กับ (3) จะได้     คำตอบจะได้เหมือนกับกรณีใช้ตารางความจริงวิธีที่ 1
       
        วิธีที่ 3  โดยใช้ KM
                         จาก f    (  เขียนลงใน KM ได้ดังนี้

                               
          แบ่งพื้นที่ KM ให้ตรงกับคุณสมบัติของ MUX หาสมการลอจิกของพื้นที่แต่ละส่วน โดยพิจารณาเฉพาะตัวแปรที่ไม่ได้ต่อกับขา Select Input 
    ในที่นี้คือตัวแปร เนื่องจาก MUX มี 4 สถานะ ดังนั้นจึงแบ่งพื้นที่ KM เป็น 4 ส่วน (2 ช่อง ต่อ 1 ส่วน) ตามคุณสมบัติของ MUX ดังนี้
                                     
            คำตอบที่ได้จะเหมือนกับวิธีที่ 1 และ2 วิธี KM เป็นวิธีที่นิยมนำมาใช้งานมากกว่าวิธีอื่น เพราะหาคำตอบได้เร็วกว่าวิธีอื่น การใช้วิธี KM สามารถ
     ดัดแปลงให้ง่ายขึ้น โดยการแบ่งพื้นที่ KM ออกเป็นส่วนๆ เท่ากับจำนวนขา Data Input ของ MUX (จำนวนขา Data Input เท่ากับจำนวนสถานะ
     ของ MUX) จะได้ว่า
                                       
       นำพื้นที่แต่ละส่วนของ KM ไปหาสมการลอจิก โดยพิจารณาเฉพาะตัวแปรที่ไม่ได้ต่อกับขา Select Input ของ MUX เท่านั้น จะได้เป็นสมการลอจิก
ของขา Data Input แต่ละขาซึ่งมีการนับลำดับเช่นเดียวกับ KM
       (ข) ใช้ไอซีเบอร์ 74153 4 : 1 MUX 2 ตัว ต่อเป็น 8 : 1 MUX ดังรูปวงจร
                 อินพุต  ต่อกับขา ,  ต่อกับขา ,  ต่อกับขา  ใช้วิธี KM หาสมการลอจิกที่จะจ่ายให้ขา    Data Input ของ MUX
       
                                
               นำพื้นที่แต่ละช่องไปหาสมการลอจิก จะได้สมการขา  ถึง  เรียงลำดับเหมือนการเรียงลำดับช่องของ KM

                        
                                                                                                                                                                              << Go To Top
12.3 การออกแบบวงจร Multiplexer ด้วย VHDL
                     เราสามารถออกแบบวงจร Multiplexer ด้วยภาษา VHDL ได้จากโครงสร้างของวงจร โดยตัวอย่างต่อไปนี้ออกแบบวงจร 
               4-line-to-1-line Multiplexer
 -------------------------------------------------
 -- VHDL code for 4:1 multiplexer
 --
 -- Multiplexer is a device to select different
 -- inputs to outputs. we use 3 bits vector to 
 -- describe its I/O ports 
 -------------------------------------------------
 library ieee;
 Use ieee.std_logic_1164.all;
  -------------------------------------------------
  Entity Mux is
  Port( I3: in std_logic_vector(2 downto 0);
           I2: in std_logic_vector(2 downto 0);
           I1: in std_logic_vector(2 downto 0);
           I0: in std_logic_vector(2 downto 0);
            S: in std_logic_vector(1 downto 0);
            O: out std_logic_vector(2 downto 0));
   End Mux; 
   ------------------------------------------------
   Architecture behv1 of Mux is
    Begin
    Process(I3,I2,I1,I0,S)
    Begin
    -- use case statement
    Case S is
            when "00" => O <= I0;
            when "01" => O <= I1;
            when "10" => O <= I2;
            when "11" => O <= I3;
            when others => O <= "ZZZ";
  End Case;             
  End Process;
    End behv1;
  Architecture behv2 of Mux is
    Begin
    -- use when.. else statement
            O <= I0 when S="00" else
              I1 when S="01" else
              I2 when S="10" else
              I3 when S="11" else
                  "ZZZ";
   End behv2;
  -------------------------------------------------
                                                 รูปที่ 12.16 แสดงการออกแบบวงจร 4-line-to-1-line Multiplexer ด้วยภาษา VHDL
                                                                                                                           << Go To Top                       
12.4 การออกแบบวงจร Demultiplexer 
             วงจรดีมัลติเพล็กซ์ (Demultiplexer)  หรือ  ดีมักซ์ (DMUX) หรือวงจรกระจายข้อมูล (DataDistributor) เป็นวงจรที่มี
         คุณสมบัติตรงข้ามกับ MUXทำหน้าที่กระจายข้อมูล (ขณะที่ MUX ทำหน้าที่เลือกข้อมูล) มี Data Input เพียง 1 อินพุตข้อมูล
         จาก Data Input จะส่งไปออกที่เอาต์พุตใดเอาต์พุตหนึ่งโดยการควบคุมที่ Select Input ไอซีชนิดนี้นอกจากจะทำหน้าที่เป็น 
         DMUX  แล้วยังใช้เป็นวงจรถอดรหัส (Decoder) ได้อีกด้วย บางครั้งจึงเรียกไอซีชนิดนี้ว่า Decoder/Demultiplexer
                                                 

                                                รูปที่ 12.17 แสดงโครงสร้างและการทำงานของ DMUX
         จากลักษณะของ DMUX รูปที่ 12.17 ประกอบด้วย n เอาต์พุต ซึ่งโดยปกติเอาต์พุตจะเป็นแบบ Active Low จำนวน Select Input เท่ากับ 
  m อินพุต และจำนวน Data Input มี เพียง 1 อินพุตความสัมพันธ์ระหว่างจำนวนเอาต์พุตกับจำนวน Select Input คือ
                                                                            
         ขนาดของ DMUX กำหนดเป็น “1 : จำนวนเอาต์พุต” หรือ “1-to-จำนานเอาต์พุต” หรือ“1-line-to-จำนวนเอาต์พุต-line”
      12.4.1 วงจรดีมัลติเพล็กซ์ เข้า 1 ออก 4
                  การควบคุมให้ข้อมูลอินพุตเพียงอินพุตเดียวออกไปทางเอาต์พุตตำแหน่งใดๆ สามารถทำได้โดยการควบคุมตำแหน่งข้อมูล (Address) 
                ด้วยขาซีเล็ค (select) ดังแสดงในแผนภาพในรูปที่ 12.18
                                                                    

                                      รูปที่ 12.18 แสดงแผนภาพกรอบและสวิตซ์เปรียบเทียบดีมัลติเพล็กซ์ ขนาดเข้า 1 ออก 4
         วงจรดีมัลติเพล็กซ์ที่ใช้งานจริง   สำหรับดีมัลติเพล็กซ์ขนาดเข้า 1 ออก 4 คือ 1-1ine-to-4-line Demultiplexer เบอร์ 74155 และ 74156   
   หรือเรียกอีกชื่อหนึ่งว่า 2-1ine-to-4-line Decoder เมื่อเป็นดีมัลติเพล็กซ์จะมีขนาดเข้า 1 ออก 4 จำนวน 2 ชุด   แต่ละชุดประกอบไปด้วย อินพุต
   1 อินพุต (Data, C) และมีขาชีเล็ค (A และ B) ใช้ร่วมกัน เอาต์พุตของแต่ละชุดมี 4 เอาต์พุต คือ Y0,  Y1, Y2, Y3 มีขาควบคุมคือขาสโตรบ 
  (Strobe, G) เมื่อต้องการให้วงจรดีมัลติเพล็กซ์ทำงานได้ต้องควบคุมขาสโตรบ (G) ให้ได้รับลอจิก “L” เมื่อเลือกอินพุตซีเล็ค A และ B ให้มีลอจิก “L”
  ทั้งคู่ เอาต์พุตจะออกที่ Y0เมื่อเลือกอินพุตซีเล็ค A และ B ให้เป็น “L” และ “H” เอาต์พุตจะออกที่ Y1 เมื่อเลือก A และ B ให้เป็น “H” และ “L” เอาต์พุต
  จะออกที่ Y2 และเมื่อให้ A และ B เป็น “H” ทั้งสองอินพุต เอาต์พุตจะออกที่ Y3 โดยที่ลอจิกเอาต์พุตจะมีสภาวะตรงกันข้ามกับอินพุต  (ถ้าอินพุตเป็น “H”
   เอาต์พุตได้ “L”) แต่ถ้าใช้ดีมัลติเพล็กซ์ชุดที่ 2 จะได้ลอจิกเอาต์พุตตรงกันกับอินพุต (อินพุตเป็น “H” เอาต์พุตได้ “H”) โดยการทำงานเหมือนกัน ลักษณะ
  ของวงจรภายในของ 74155 แสดงในรูปที่ 12.19 (ก) และตารางความจริงแสดงการทำงาน แสดงในรูปที่ 12.19 (ข)
                    
                       

                รูปที่ 12.19 แสดงวงจรภายในและตารางความจริงของ 1-line-to-4-line Demultiplexer เบอร์ 74155
   12.4.2 วงจรดีมัลติเพล็กซ์ เข้า 1 ออก 8
                  เป็น DMUX ที่มีจำนวน Data Input เท่ากับ 1 อินพุต จำนวนเอาต์พุต 8 เอาต์พุต และจำนวนSelect Input เท่ากับ 3 อินพุต 
                  แสดงดังรูปที่ 12.20
                                                

                                                                                 รูปที่ 12.20 แสดง DMUX ขนาด 1 : 8
                                                     

                         จากตารางความจริงเขียนสมการลอจิกได้ดังนี้
            
                                                        
                          
                         กรณีมีเอาต์พุต n เอาต์พุตเขียนสมการลอจิกได้เป็น

                                                            
 
                        จากสมการลอจิกนำไปเขียนวงจรลอจิกได้ดังรูปที่ 12.21
                                            

                                                  รูปที่ 12.21 แสดงวงจรลอจิกของ DMUX ขนาด 1 : 8
        วงจรดีมัลติเพล็กซ์ที่มีขนาดใหญ่ ขนาดเข้า 1 ออก 8 (1-1ine-to-8-line Demultiplexer) สามารถใช้ดีมัลติเพล็กซ์เบอร์ 74155 
   (1-1ine-to-4-1ine) สร้างแทนได้ดังวงจรในรูปที่ 12.22 โดยต้องให้มีขาอินพุตซีเล็ค 3 ขา ในรูปคือ A, B และขา C มาจากขาสโตรบ
   ของ 1G และ 2G โดยต่ออินเวอร์เตอร์ไห้กับขา 2G และต้องทำให้ขาข้อมูลเข้า (Data Input) มีเพียงขาเดียวโดยต่อ Data 1C และ 2C
   เข้าด้วยกัน มีอินเวอร์เตอร์ต่อเข้าขา 2C และมีเอาต์พุต 8 เอาต์พุต คือ 1Y0-1Y3 และ 2Y0-2Y3 ดังแสดงในรูปที่ 12.22
                                 

                          รูปที่ 12.22 การสร้าง 1-line-to-8-line ดีมัลติเพล็กซ์ด้วย 74155 (Dual 1-line-to-4-line)
                                         

                                                รูปที่ 12.23 แสดงสัญลักษณ์ไอซีเบอร์ 74138 1 : 8 MUX
            74138 เป็น DMUX ที่มีเอาต์พุตเป็นแบบ Active Low มี Data Input 3 ขา เป็นแบบ Active High 1 ขา คือ G1 และเป็นแบบ Active Low 
 2 ขา คือ G2A, G2B ถ้าใช้ขา G1  เป็น Data Input (G2A, G2B ต่อกับลอจิก 0) จะได้เอาต์พุต Y ตรงข้ามกับ Data Input ถ้านำขา G2A หรือ G2B
 เพียงขาใ ดขาหนึ่งไปใช้เป็น Data Input อีกขาต้องต่อกับลอจิก 0 (G1 ต่อกับลอจิก 1) จะได้เอาต์พุตเหมือนกับData Input
  
                               สมการลอจิกของ 74138 คือ   เมื่อ i = 0  ,
                                 

                              รูปที่ 12.24 แสดงการนำไอซี เบอร์ 74138 1 : 8 DMUX มาต่อเป็น 1 : 16 DMUX
 12.4.3 วงจรดีมัลติเพล็กซ์ เข้า 1 ออก 16
     สำหรับดีมัลติเพล็กซ์ขนาดเข้า 1 ออก 16 (1-1ine-to-16-1ine Demultiplexer) เช่น วงจรรวมทีทีแอลเบอร์ 74154 มีขาข้อมูลเข้า 
             (Data Input) คือขา G2 และขาควบคุมคือขาอีนาเบิล คือขา G1 มีขากำหนดตำแหน่งของข้อมูลเอาต์พุตที่จะแสดงผล 4 ขา คือ (A, B, C
             และ D) เพื่อกำหนดแอดเดรส 16 ตำแหน่ง วงจรจะทำงานได้เมื่ออีนาเบิล (G1) ได้รับลอจิก “L” เท่านั้น ข้อมูลอินพุตที่ป้อนเข้า G2 จะปรากฏ
            ที่เอาต์พุตครั้งละ 1 ตำแหน่ง จากการเลือกแอดเดรสที่ซีเล็คอินพุต (A, B, C และ D) เช่น เมื่อให้ A, B, C และ D เป็น (L L L L) ข้อมูลที่ G2
             จะไปปรากฏที่เอาต์พุต 0 (เอาต์พุตทั้งหมดมี 16 ขา คือ 0-15) เป็นต้นสำหรับวงจรภายในของดีมัลติเพล็กซ์เบอร์ 74154 แสดงในรูปที่ 12.25 
            (ก) และตารางความจริงแสดงการทำงานในรูปที่ 12.25 (ข)
                        
                                                                 

                                    รูปที่ 12.25 แสดงวงจรภายในและตารางความจรองของดีมัลติเพล็กซ์เบอร์ 74154
                               

                                                                                                           รูปที่ 12.25 (ต่อ)
                                                                                                                              << Go To Top
12.5 การขยายเอาต์พุตของดีมัลติเพล็กซ์ 
 การขยายเอาต์พุตทำได้โดยใช้ดีมัลติเพล็กซ์มากกว่า 1 ตัวมาตอร่วมกัน เช่น ต้องการสร้างวงจรดีมัลติเพล็กซ์ขนาดเข้า 1  ออก  32  
         (1-line-to-32-line Demultiplexer)  สามารถทำได้โดยใช้ดีมัลติเพล็กซ์ขนาดเข้า 1 ออก 16 จำนวน 2 ตัวต่อร่วมกัน เช่น เบอร์ 
          74154 ดังรูปที่ 12.26 โดยตัวที่ 1 แสดงเอาต์พุตที่ 0-15 และตัวที่ 2 แสดงเอาต์พุตที่ 16-31 (จะได้เอาต์พุต 32 บิต) เมื่อเอาต์พุตมี 
        32 บิต จะต้องกำหนดขาอินพุตซีเล็คให้ได้ 5 อินพุต (25 = 32) ทำได้โดยใช้ขาซีเล็คเดิมที่มีอยู่แล้ว 4 ขาคือ A, B, C และ D  ต่อขนานกัน
         ทั้งสองตัว    และใช้ขาอีนาเบิล G1  ของทั้ง 2 ตัวต่อร่วมกันเป็นขาซีเล็คขาที่ 5 คือขา E โดยที่ G1 ของตัวที่ 2 ต้องต่ออินเวอร์เตอร์ 
         สำหรับขาข้อมูลเข้าต้องมีขาเดียว ทำได้โดยต่อร่วมกันระหว่างขา G2 ของทั้ง 2 ตัว ดังรูปที่ 12.26
                                               

                             รูปที่ 12.26 การขยายเอาต์พุตของดีมัลติเพล็กซ์ให้มีขนาด 1-line-to-32-line โดยใช้ 747154
                                                                                                                                         << Go To Top
12.6 การออกแบบวงจร Demultiplexer ด้วย VHDL
 -------------------------------------------------
 -- VHDL code for 1:4 Demultiplexer
 --
 -- Demultiplexer is a device to select different
 -- inputs to outputs. we use 3 bits vector to 
 -- describe its I/O ports 
 -------------------------------------------------
 library ieee;
 Use ieee.std_logic_1164.all;
  -------------------------------------------------
  Entity Demux is
  Port( I: in std_logic_vector(2 downto 0);
            S: in std_logic_vector(1 downto 0);
           O0: out  std_logic_vector(2 downto 0);
           O1: out std_logic_vector(2 downto 0);
           O2: out std_logic_vector(2 downto 0);
           O3:  out  std_logic_vector(2 downto 0));
   End Demux; 
   ------------------------------------------------
   Architecture behv1 of Demux is
    Begin
    Process(I,S)
    Begin
    -- use case statement
    Case S is
            when "00" => O0 <= I;
            when "01" => O1 <= I;
            when "10" => O2 <= I;
            when "11" => O3 <= I;
            End Case;             
  End Process;
    End behv1;
  Architecture behv2 of Demux is
    Begin
    -- use when.. else statement
            when S="00"   I => O0  else
                 S="01" I => O1  else
                 S="10" I => O2  else
                 S="11" I => O3  else
                  "ZZZ";
   End behv2;
  -------------------------------------------------
                          รูปที่ 12.27 แสดงการออกแบบวงจร 1-line-to-4-line Demultiplexr  ด้วยภาษา VHDL          

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

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