Thursday, November 2, 2017

Under testing and customizing



Picture from : https://pixabay.com    ..........................................................
Blogger Template : https://gooyaabitemplates.com/ ..................................

เนื้อหาใน Blog จะเน้นในทางปฏิบัติมากกว่าทฤษฏี ดังนั้น อาจจะไม่มีขั้นตอนการใช้งาน หรือทฤษฏีพื้นฐานแบบที่ใช้เรียน แต่จะแค่กล่าวเท่าที่จำเป็นในการออกแบบหรือใช้งานเท่านั้น

Wednesday, November 1, 2017

Combination circuit (วงจรรวมของเกจท์)-- Draft--

วงจรดิจิตอล สามารถที่จัดกลุ่มตามการทำงานได้เป็น 2 ชนิด คือ Combination circuit และ Sequential circuit
Combination circuit คือ วงจรรวมของเกจท์ชนิดต่างๆ ซึ่งนำมารวมกันเพื่อให้เกิดฟังก์ชั่นการทำงานที่ output เปลี่ยนแปลงตามค่า Input ที่ใส่เข้าไป   เช่น วงจรบวก , วงจรเข้ารหัส ,วงจรนับ เป็นต้น  ในวงจรบวก   ผลลัพท์ หรือ Output จะเปลี่ยนตามค่าที่ป้อนเข้ามา เช่น 2 +2 = 4  มันไม่สนใจว่าตอนที่เรากำลังป้อน Input อยู่ขณะนั้น Output มีค่าเป็นอะไร  ในขณะที่

Sequential circuit คือ วงจรที่จะมีการทำงานเป็นลำดับขั้นตอน  ถูกสร้างจากเกจท์ต่างๆ และวงจรความจำ ประเภท  Flip-Flop ชนิดต่างๆ เพื่อให้เกิดฟังก์ชั่นการทำงาน ที่ Output เปลี่ยนแปลงไปตามค่า ของ Input และ State หรือ สถานะของ output ณ.เวลานั้นๆ  เช่น วงจรควบคุมไฟจราจร   เมื่อกดปุ่มเปลี่ยนสัญญาณไฟ ครั้งหนึ่งๆ Output หรือไฟสีต่างๆ ที่จะติด จะต้องเปลี่ยนตามสถาณะของ Output หรือสีของไฟ ในขณะที่กดปุ่มเปลี่ยนสัญญาณไฟ คือ กดปุ่ม ตอนที่ไฟสีแดงขึ้น ไฟจะเปลี่ยนเป็นสีเขียว  แต่ถ้ากดตอนที่ไฟสีเขียวติดอยู่ มันจะเปลี่ยนเป็นสีเหลืองก่อน แล้วเปลี่ยนเป็นสีแดงตามลำดับ  ไม่สามารถจะข้ามขั้นตอนไฟเหลืองไปได้

Encoder (วงจรเข้ารหัส)

วงจรเข้ารหัส  คือ วงจรที่  Output ของมันได้จากการเปลี่ยนค่าของ Input ไปอยู่ในอีกรูปแบบหนึ่ง  เช่น

วงจรDEC to BCD encoder
สมมุติ เราจะสร้างวงจร เพื่อรับค่าจากแป้นพิมพ์ของเครื่องคิดเลข ให้แปลงค่า 0 – 9 ไปเป็นเลขฐานสอง ( Decimal to BCD )

รูปที่ 1 DEC to BCD Truth table
         A = 1  เมื่อกดคีย์  1, 3,5,7,9                 
B = 1  เมื่อกดคีย์  2,3,6,7
C = 1  เมื่อกดคีย์ 4,5,6,7
D = 1  เมื่อกดคีย์ 8,9

วงจร BCD to 7 SEG-Display decoder
รูปที่ 2  7-segment display and its truth table
จากรูปที่ 2 เป็นตัวแสดงผลด้วย LED แบบ 7 segments   ถ้าเราจะแสดงเลข 0 จะต้องให้ segment a,b,c,d,e, และ f ติด หรือมีแรงดันเป็น High 
เราสามารถใช้ K-Map ช่วยในการสร้างวงจรของ segment a,b,c,d,e,f และ g ได้โดยดูจากที่นี่ 
แต่ในบทความนี้ เราจะแสดงวิธีการแก้โดยไม่ใช้ K-map

ที่ segment a (a Column) มันจะไม่ติดเมื่อ ค่า BCD เป็น 1 หรือ4   D C B A = 0 0 0 1  หรือ 0 1 0 0
ที่ค่า BCD = 1 a = 0  ถ้าเราใช้ Or gate ในการสร้างวงจร เราจะได้ดังนี้  BCD1 = D+C+B+A´ = 0
ที่ค่า BCD = 4 a = 0  ถ้าเราใช้ Or gate ในการสร้างวงจร เราจะได้ดังนี้ BCD4 = D+C´+B+A = 0
ดังนั้น a = BCD1.BCD4  =  (D+C+B+A´) . (D+C´+B+A) = 0

หมายเหตุ
1.ที่ใช้ OR gate เพราะว่า มันจะให้ค่า 0 กรณีเดียวคือทุก input เป็น 0  
2. ค่าBCD = 1 หรือ BCD = 4   a จะต้องเท่ากับศูนย์ จึงต้องใช้ AND Gate เชื่อม 

เราจะใช้วิธีการเดียวกับที่ใช้กับ a-segment กับทุก segment  เพื่อความรวดเร็ว เราจะใช้วิธีสร้างวงจรที่ให้ ค่าเท่ากับ 0 ที่ BCD ค่าต่างๆ ดังนี้

BCD = 0      =  D+C+B+A = 0 
BCD = 1 =  D+C+B+A´  = 0
BCD = 2 =  D+C+B´+A = 0
BCD = 3 =  D+C+ B´+A´ = 0
BCD = 4 =  D+ C´+B+A = 0
BCD = 5 =  D+ C´+B+A´ = 0
BCD = 6 =  D+ C´+B´+A = 0
BCD = 7 =  D+ C´+B´+A´ = 0
BCD = 8 ไม่ต้องสร้าง เพราะจาก Truth table ข้างบนไม่มี ค่า 0 ที่  BCD = 8
BCD = 9 =  D´+ C+B+A´ = 0

ที่ segment d (d Column) มันจะไม่ติดเมื่อ ค่า BCD เป็น 1 หรือ4  หรือ7
ดังนั้น d = BCD1 . BCD4 . BCD 7 = (D+C+B+A´) . (D+C´+B+A) . (D+ C´+B´+A´)

ที่ segment f(f Column) มันจะไม่ติดเมื่อ ค่า BCD เป็น 1,2,3 หรือ7
ดังนั้น f = BCD1 . BCD2 .BCD3. BCD 7

เอามารวมกันและเขียนเป็นวงจรได้ตามรูปที่ 3 ข้างล่าง

รูปที่ 3 BCD to 7-Segment display decoder

--- กำลังปรับปรุง ----

 
biz.