วันเสาร์ที่ 4 เมษายน พ.ศ. 2558

การทดลองที่ 4 ออกแบบวงจรดิจิทัลสำหรับ 4x4 Keypad

อุปกรณ์
1. บอร์ด Altera FPGA (WARRIOR CYCLONE3 DEV) ชิปหมายเลข EP3C10E144C8   1 บอร์ด
2. สายดาวน์โหลด ByteBlaster II Cable หรือ สายดาวน์โหลดUSB Blaster Cab               1 ชุด
3. เครื่องคอมพิวเตอร์                                                                                             1 ชุด
4. ออสซิลโลสโคป                                                                                                1 เครื่อง
5. 4x4 keypad                                                                                                     1 ชุด
6. ตัวต้านทาน  330 Ω                                                                                            3 ตัว
7. ตัวต้านทาน  1.5 KΩ                                                                                           3 ตัว



ซอฟท์แวร์ที่ใช้
1. Altera Quartus II 13.1 (32-bit) Web Edition- ModelSim 
2. Altera 10.1d (Quartus II 13.1)



เเนวความคิด




มีการตรวจสอบเเต่ละเเถว(row)ของ 4x4 Keypad  ตามตัวนับ(count)ที่ตั้งไว้ ถ้ากดปุ่มใดปุ่มหนึ่งของ 4x4 Keypad  จะรู้ว่าอยู่ในหลัก(colum)ใด  เมื่อรู้หลักเเละเเถวเเล้วจะรู้ว่าปุ่มที่กดเป็นตัวเลขหรือสัญลักษณ์อะไร



Code VHDL





Code VHDL Test branch






ผลการสังเคราห์วงจร






ผลการจำลองการทำงานด้วย Modelsim



รูปที่ 1
จากรูปที่ 1 
เมื่อกดหมายเลข  1(row 1),4(row 2),7(row 3) เเละสัญลักษณ์  *(row 4) จาก colum[3] (1000) ตามลำดับ
led จะเเสดง  00000001,00001000,01000000,10000001 ตามลำดับ





รูปที่ 2
จากรูปที่ 2
เมื่อกดหมายเลข  2(row 1),5(row 2),8(row 3) เเละ  0(row 4) จาก colum[2] (0100) ตามลำดับ
led จะเเสดง  00000010,00010000,10000000,00000000 ตามลำดับ




รูปที่ 3
จากรูปที่ 3
เมื่อกดหมายเลข  3(row 1),6(row 2),9(row 3) เเละสัญลักษณ์  #(row 4) จาก colum[1] (0010) ตามลำดับ
led จะเเสดง  00000100,00100000,11111111,00011000 ตามลำดับ




รูปที่ 4
จากรูปที่ 4
เมื่อกดสัญลักษณ์  A(row 1),B(row 2),C(row 3) ,  D(row 4) จาก colum[0] (0001) ตามลำดับ
led จะเเสดง  00000011,00001100,00110000,11000000 ตามลำดับ




Pin Planer



ขา I/O ของวงจรมีดังนี้
Buzzer    ต่อกับขา หมายเลข 34  เป็น output เสียง Buzzer 
clk           ต่อกับขา หมายเลข 22  เป็น input clock
colum[3]   ต่อกับขา หมายเลข 99  เป็น input ของ 4x4 Keypad หมายเลข  1,4,7 เเละสัญลักษณ์  *
colum[2]   ต่อกับขา หมายเลข 86  เป็น input ของ 4x4 Keypad หมายเลข  2,5,8,0
colum[1]   ต่อกับขา หมายเลข 84  เป็น input ของ 4x4 Keypad หมายเลข  3,6,9 เเละสัญลักษณ์  #
colum[0]   ต่อกับขา หมายเลข 80  เป็น input ของ 4x4 Keypad สัญลักษณ์  A,B,C,D
led[7]       ต่อกับขา หมายเลข 50  เป็น output ของ led fpga ดวงเเรกจากซ้ายสุด
led[6]       ต่อกับขา หมายเลข 49  เป็น output ของ led fpga ดวงที่สองจากซ้ายสุด
led[5]       ต่อกับขา หมายเลข 46  เป็น output ของ led fpga ดวงที่สามจากซ้ายสุด
led[4]       ต่อกับขา หมายเลข 44  เป็น output ของ led fpga ดวงที่สี่จากซ้ายสุด
led[3]       ต่อกับขา หมายเลข 43  เป็น output ของ led fpga ดวงที่ห้าจากซ้ายสุด
led[2]       ต่อกับขา หมายเลข 42  เป็น output ของ led fpga ดวงที่หกจากซ้ายสุด
led[1]       ต่อกับขา หมายเลข 39  เป็น output ของ led fpga ดวงที่เจ็ดจากซ้ายสุด
led[0]       ต่อกับขา หมายเลข 38  เป็น output ของ led fpga ดวงสุดท้ายจากซ้ายสุด
row[3]      ต่อกับขา หมายเลข 143  เป็น output ของ row1 หมายเลข  1,2,3 เเละสัญลักษณ์  A
row[2]      ต่อกับขา หมายเลข 141  เป็น output ของ row2 หมายเลข  4,5,6 เเละสัญลักษณ์  B
row[1]      ต่อกับขา หมายเลข 137  เป็น output ของ row3 หมายเลข  7,8,9 เเละสัญลักษณ์  C
row[0]      ต่อกับขา หมายเลข 135  เป็น output ของ row4 สัญลักษณ์   *,หมายเลข  0,สัญลักษณ์ #, D
ground    ต่อกับขา หมายเลข 54  เป็น output ground ของ led fpga 


 ขั้นตอนการทดลองและผลการทำงาน    
 รูปภาพการทดลอง

ภาพรวมของวงจรของ4x4 Keypad 





Video การทดลอง


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

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