วันอังคารที่ 27 กันยายน พ.ศ. 2559

ความรู้ที่ได้รับ (สัปดาห์ที่ 5)

    สัปดาห์ที่ 5 เรียนเรื่อง Sequential Logic และได้ทำความรู้จักกับ Flip-Flop ชนิดต่างด้วยกัน 4 ชนิด

1. SR Flip-flop


2. JK Flip-flop


3. T type Flip-flop


4. D type Flip-flop




และ ได้เรียนเรื่อง Finite state machine ซึ่งเป็นสิ่งที่ทำให้เราสามารถออกแบบวงจรได้ง่ายขึ้นโดยมีขั้นตอนดังนี้ 

1. สร้าง State แต่ละ State ลงเป็นวงกลมไว้ใน State space โดยมี Output ที่ต้องการอยู่ด้านล่าง

2. โยงลูกศรการเปลี่ยน State ซึ่งลูกศรหมายถึง Input ที่ใส่เข้าไป

3. แทนชื่อของแต่ละ State ด้วยเลขฐานสองโดยเรียงจาก State แรกไปยัง State สุด


ท้าย

4. สร้าง Truth table (ตามชนิดของ Flip-flop ที่เราจะใช้)

5. สร้าง Boolean function ของ Flip-flop และ Output ด้วยวิธี K-map หรือ Quine-Mccluskey

6. วาดวงจร





step 1




step 2




step 3




Current state Input    Next state Output1 Output2 Output3 flip-flop D type
A B A B Da Db
0 0 0 1 0 1 0 1 1 0
0 0 1 0 1 1 0 1 0 1
0 1 0 0 1 1 1 0 0 1
0 1 1 0 0 1 0 1 0 0
1 0 0 0 1 0 0 0 0 1
1 0 1 1 1 0 0 0 1 1
1 1 0 1 0 0 1 1 1 0
1 1 1 0 0 0 1 1 0 0





step 4

จาก state space ด้านบน ประกอบด้วย 4 state ได้แก่ start ,forward ,turn left ,turn right ซึ่งเส้นที่โยงระหว่าง state หมายถึง input ที่ใส่เข้ามาจะทำให้วงจรของเราไปอยู่ที่ state ใด เป็น state ต่อไป เช่น เมื่ออยู่ที่ state start จะมี output1 = 1 output2 = 0 output3 = 1 ถ้ามี input เป็น 1 จะทำให้วงจรไปอยู่ที่ state forward  ถ้ามี input เป็น 0 จะไปอยู่ที่ state turn left จาก diagram เราสามารถเขียน ตารางตามด้านล่าง ซึ่งจะบอก state ที่อยู่ตามด้วย input และ state ที่จะไปต่อเมื่อมี input นั้นๆเข้ามา ส่วนในช่องของ flip-flop เป็นค่า logic ที่ใส่เข้าไปในขา flip-flop แล้ว state จะเปลี่ยนไปตามนั้น เช่น ถ้า A เปลี่ยนจาก 0 เป็น 1 และใช้ D type จะต้องให้ขา D เป็น 1 ถ้า A เปลี่ยนจาก 1 เป็น 0 จะต้องให้ขา  D เป็น 0 
จากนั้นเขียน truth table ระหว่าง A B Input แล้วได้ผลลัพย์ออกมาเป้น Da และDb เพื่อนำไปต่อเข้าขาของflip-flopที่นำมาใช้  เช่น

A B Input Da
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

Truth table

A\Binput 0,0 0,1 1,1 1,0
0 1 0 0 0
1 0 1 0 1
K-map

สำหรับ Output นำ A B มาเขียนเพื่อใช้มาเป็น output เช่น
A B Output1
0 0 1
0 1 1
1 0 0
1 1 0




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

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