Friday, August 12, 2016

Logic gate and truth table

ในทางดิจิตอลอีเลคโทรนิคส์ ระดับแรงดัน (Voltage) จะมีเพียงสองค่า คือ 0 หรือ 1 หรือระดับแรงดัน LOW กับ HIGH ดังนั้นตารางค่าความจริง(Truth table) หรือตารางค่าโลจิก (Logic Table) ของวงจรโลจิกเกท จึงมีเพียง 2 ค่า คือ "true" หรือ "false" มักนิยมแทนด้วยตัวเลข 1 = true และ 0 = false เริ่มต้นจาก

1. Not Gate จะให้ output ที่ตรงข้ามกับ input ทีใส่เข้ามา เช่น
 
    Not true = false   |  Not 0 =  1    | Not LOW = HIGH
    Not false = true   |  Not 1 = 0     | Not HIGH = LOW
 
   หากให้สัญลักษณ์ Input แทนด้วย A แล้ว Output จะแทนด้วย  A   หรือ  A'

รูปที่ 1 NOT Gate และ Truth Table


จากวงจรทรานซิสเตอร์อย่างง่ายของ NOT Gate หรือ Inverter ในรูปที่ 1  หากแรงดันที่ Input A มีค่าสูงพอที่ทำให้ทรานซิสเตอร์ Q1 อยู่ในภาวะ ON จะทำให้ระดับแรงดัน Output  A   มี่ค่าใกล้ระดับ Gound  ในทางกลับกัน หากแรงดันที่ Input A มีค่าต่ำ หรือต่อลง Gound จะให้ทรานซิสเตอร์ Q1 อยู่ในภาวะ OFF จะทำให้ระดับแรงดัน Output  A   มี่ค่าใกล้ระดับ VCC  นั่นคือระดับแรงดันของ Output จะมีค่าตรงกันข้ามกับแรงดันที่ Input จึงนิยมเรียก NOT Gate ว่า Inverter


2.OR Gate  Output ของ OR Gate จะมีค่าเป็น 1 หรือ HIGH ก็ต่อเมื่อสัญญาณ input ที่เข้ามาขาใด ขาหนึ่งของมันมีค่าเป็น 1 หรือระดับแรงดันเป็น HIGH อย่างน้อยหนึ่ง input  และจะมี output เป็นค่า 0 หรือ LOW ก็ต่อเมื่อสัญญาณที่ป้อนเข้าสู่  Input ทุกอันมีค่าเป็น 0 หรือระดับแรงดันเป็น LOW
ใช้เครื่องหมาย + แทนสัญลักษณ์ เช่น A + B = A OR B

รูปที่ 2 ORGate และ Truth table
จากวงจรไดโอด ของ OR Gate ในรูปที่ 2 ถ้าระดับแรงดันที่ Input A หรือ B อันใดอันหนึ่ง หรือทั้งสองอัน มีระดับแรงดันเป็น HIGH หรือ 1 จะทำให้มีกระแสไหลผ่านไดโอด ทำให้เกิดแรงดันตกคร่อมที่ตัวต้านทาน ทำให้แรงดันที่ Output มี่ระดับแรงดันเป็น HIGH หรือ 1 ด้วยเช่นกัน แต่หาก Input ทั้งสองอันมีระดับแรงดันเป็น LOW หรือ 0 จะไม่มีกระแสไหลผ่านไดโอดทั้งสองตัวทำให้ Output ของวงจรถูกต่อลง Gound ผ่านตัวต้านทาน และมีระดับแรงดันเป็น LOW หรือ 0


3. AND Gate  output ของ AND Gate จะมีค่าเป็น 1 หรือ HIGH   ก็ต่อเมื่อ Input ที่เข้ามาทุกอันมีค่าเป็น 1 เท่านั้น ใช้สัญลักษณ์ . แทน เช่น A . B = A AND B


รูปที่ 3 AND Gate และ Truth table


จากวงจรไดโอดในรูปที่ 3 หาก Input  A หรือ B ตัวใดตัวหนึ่งมีระดับแรงดันเป็น LOW หรือ 0 แล้วจะทำให้ไดโอดเกิดการนำกระแส หรืออยู่ในสภาวะ ON ทำให้ Output ถูกต่อลงต่อเข้ากับแรงดันระดับ Low ทำให้มีค่าโลจิกเป็น 0 แต่หาก Input A และ B มีค่าระดับแรงดันเป็น HIGH หรือ 1 ทั้งคู่ จะทำให้ไดโอดทั้งสองตัวหยุดนำกระแส หรืออยู่ในสภาวะ OFF ทำให้ Output ถูกต่อลงต่อผ่านตัวต้านทานเข้ากับ VSS ซึ่งมีแรงดันระดับ HIGH ทำให้มีค่าโลจิกเป็น 1



4. XOR Gate  ย่อมาจาก Exclusive OR Gate บางทีอาจเขียนเป็น EXOR Gate output ของ XOR Gate จะมีค่าเป็น 1 หรือ HIGH   ก็ต่อเมื่อ Input ที่เข้ามามีค่าต่างกัน  และจะมีค่าเป็น 0 หรือ LOW ก็ต่อเมื่อ Input ที่เข้ามามีเหมือนกัน


รูปที่ 4 XOR Gate และ Truth Table


หากพิจราณาที่ Truth Table ของมันจะพบว่า XOR Gate ทำตัวคล้ายวงจรบวก ของเลขฐานสอง แบบ 1 bit นั่นคือ
0 + 0  = 0
0 + 1  = 1
1 + 0  = 0
1 + 1  = 0 และเกิดการ Carry หรือทด 1 ไปยังหลักต่อไป
ดังนั้น XOR Gate จึงอาจใช้เป็นวงจร Half Adder (วงจรบวกเลข แบบไม่มีตัวทด) แบบ 1 bit

นอกจากนี้ หากเราให้ Input A มีค่าเป็น 0 คงที่ Output ของ XOR Gate จะมีค่าตาม Input B
และหากให้ Inpput A มีค่าคงที่เป็น 1 Output ของ XOR Gate จะมีค่าเท่ากับ NOT B หรือให้โลจิก ตรงข้ามกับ input B

ดังนั้นถ้าหากเราทำการ XOR แบบหลาย Bit เช่น ให้ A = 1111  B = 0101  A XOR B = 1010  หรือ 1's complement ของ B

5.  เกทชนิดอื่นๆ  เกทอื่นๆ และวงจรดิจิตอล สามารถสร้างได้จาก เกทพื้นฐาน AND, OR และ Not เช่น NOR Gate สามารถสร้างได้จากการเอา output ของ OR Gate มาต่อเข้ากับ Inverter หรือ NOT Gate มีTruth table ตามรูปด้านล่าง

รูปที่ 5 NOR Gate และ Truth table

NAND Gate สามารถสร้างจาก การเอา output ของ AND Gate มาต่อเข้ากับ Inverter หรือ NOT Gate
จะให้ Output ที่มีค่าตรงกันข้ามกับ AND Gate
XNOR Gate สามารถสร้างจาก การเอา output ของ XOR Gate มาต่อเข้ากับ Inverter หรือ NOT Gate
และ Output ของมันจะมีค่าตรงกันข้ามกับ XOR Gate

ในทางปฏิบัติแล้ว Gate ที่สร้างขึ้นมาโดยเฉพาะ เช่น NOR Gate จะมี  Propagation delay (ค่าความหน่วงภายในวงจร นับตั้งแต่ให้ค่า Input จนกระทั้่ง Output มีการเปลี่ยนแปลง) น้อยกว่า การสร้าง NOR Gate โดยการเอา OR Gate มาต่อกับ NOT Gate



Wednesday, August 10, 2016

Logisim :แนะนำโปรแกรมจำลองการทำงาน วงจรดิจิตอล

Logisim

 เป็นโปรแกรมที่ใช้ในการศึกษาและออกแบบวงจรดิจิตอล  พัฒนาโดย Dr. Carl Burch สามารถใช้งานได้ง่าย, เป็นโปรแกรมที่ช่วยเรียนรู้ และทดลองวงจร ดิจิตอล ที่นิยมใช้กันใน มหาวิทยาลัย ทั่วโลก, ตัวโปรแกรมมีขนาดเล็กและทำงานโดยไม่จำเป็นที่จะต้องติดตั้งโปรแกรม สามารถ Download ได้จากที่นี่




คุณสมบัติเด่นของ Logicsim
  1. ฟรี และไม่มีลิมิตใดๆ
  2. สามารถรันได้บนทุก OS ที่ Support JAVA เวอร์ชั่น 5 ขึ้นไป แม้กระทั้ง Android PC แต่ยังไม่มีการ port ไปยัง Mobile Device หรือ Tablet  
  3. โปรแกรมใช้งานได้ง่าย ใช้เวลาเรียนรู้น้อย เมื่อเทียบโปรแกรมอื่นๆ  
  4. สามารถทำการ Group วงจรให้โดยอัติโนมัติและนำไปใช้ได้ในภายหลัง เช่น เมื่อเราสร้างวงจร Haft adder เสร็จ  Logisim จะเก็บวงจรและ Truth table ไว้โดยอัตโนมัติ เราสามารถนำวงจร Half adder มาต่อกันเป็น Full adder ในภายหลัง
ตัวอย่าง วิดีโอ





































 
biz.