Login | thai-learning | Privacy Policy | About Us |

Thai Learning | ทฤษฎี IS ขั้นสูง | เว็บไทย | สารสนเทศวิทยานิพนธ์ | หนังสือรามคำแหงทั้งหมด | เกี่ยวกับผู้จัดทำ | บทกลอน |
วิชาที่เรียน 1/2555
   เมนูหลักวิชาเรียน 1/2555
   การโปรแกรมเว็บสารสนเทศ ฯ
   การโปรแกรมงานภูมิศาสตร์ ฯ
   โปรแกรมสำหรับงานสารสนเทศ
   อินเตอร์เน็ตและการบริการ สารสนเทศบนเว็บ
   บรรยากาศ เทอม 1-2555
โปรแกรมที่ผมพัฒนาครับ
   เมนูหลักโปรแกรมที่ผมพัฒนา
   ถอดรหัสผ่าน M$-Access
   ระบบการเข้าเรียนและให้คะแนน
   การทำงานของ Adder Logic
   ปรับระดับเสียงโวลุ่ม ด้วย CLI
   เกมส์เลื่อนภาพแสนสนุก vb6
    โปรแกรมจับเวลา การนำเสนอผลงานวิชาการ
บทความที่ผมเขียนครับ
   เมนูบทความ
   ภาษาซีสำหรับผู้เริ่มต้น
   ไมโครคอนโทรเลอร์เบื้องต้น
   ไมโครคอนโทรลเลอร์จำลอง
   การกำเนิดกระแสไฟฟ้าอย่างง่าย
   ควบคุมแรงดัน 0-220 โวลท์
   Graphics LCD ด้วย CCSC
   การออกแบบ PCB ด้วย Orcad
   การออกแบบ PCB ด้วย Protel
   ไพธอนส่งเมล์ด้วย GPRS
   ไพธอนควบคุม LCD ผ่าน LPT
   ควบคุม LPT ด้วย Labview
   อิมเมจโปรเซสซิ่ง ตอน 1/3
   อิมเมจโปรเซสซิ่ง ตอน 2/3
   อิมเมจโปรเซสซิ่ง ตอน 3/3
   ภาษาซีบนลินุกซ์สมองกลฝังตัว
   การใช้งาน MinGW เบื้องต้น
   ภาษาซี ARM-LPC2368
   ออกแบบ FPGA ด้วย Schematic
   ออกแบบ FPGA ด้วยภาษา VHDL
   ออกแบบ PCB เทคนิค Dryfilm
   เขียนโปรแกรม Python GUI
   การติดตั้ง NumPy 1.6.1
   เขียนไพธอนถอดรหัส MDB
   วิชวลเบสิค ควบคุมกล้อง
   สังเคราะห์ภาพกราฟิก pov-ray
   อิมพอร์ท MySQL ด้วย BigDump
   ติดตั้ง postgresql และ phppgadmin บน centos linux
   การใช้งานเธรดด้วยภาษา PHP
   การสังเคราะห์สีให้ไวยากรณ์ภาษา
   การสร้าง Search Engine
   เขียนไพธอน Client/Server
   การสร้างพาทิชั่นที่ใหญ่กว่า 3TB บนลินุกซ์ (Ubuntu)
   การรันสคริปต์ CGI ด้วยภาษาไพธอน
   การใช้งานคำสั่ง DD บน Ubuntu - Linux
   การใช้งาน Raspberry Pi
   การเอ็กซีคิวส์ + การจัดเรียงแอพฯในลินุกซ์
   X11 ด้วย Xming และ Putty
   TITAN5 บน Ubuntu - Linux
   รหัสจังหวัดทั่วโลก + เรดาร์
   การควบคุมเว็บบราวเซอร์ผ่าน SELENIUM ด้วยภาษาไพธอน
โปรแกรมภาษา
   เมนู VB-Classic
   ฟังก์ชั่น Visual Basic
   คำสั่ง Visual Basic
   ตัวแปรภาษาไพธอน (ขั้นสูง)
   โมดูลต่าง ๆ ภายในภาษาไพธอน
ข่าวสารไอที
   กูเกิ้ลเปิดตัว Tablet 7 นิ้ว
   อินเดีย IIT เปิดตัว Tablet
   RaspBerry PI สมองกลฝังตัว
   คอมพิวเตอร์จิ๋ว
บริการสารสนเทศ
   ไทยเว็บ 2012
   เว็บไทย
   ฐานข้อมูล วิทยานิพนธ์
   รวมคำศัพท์ภาษาไทย
   เคยฟังมั้ย - เพลงมาร์ช มมส
   ประวัติศาสตร์ชาติไทย หลวงปู่ฤาษีลิงดำ
   เพลงน้อมใจปล่อยวาง 1
   เพลงน้อมใจปล่อยวาง 2
   เพลงน้อมใจปล่อยวาง 3
เกี่ยวกับเรา
   เกี่ยวกับผู้ก่อตั้ง
   บทกลอนที่ผมแต่งครับ..
   แลกลิงค์กับเรา ที่นี่
   รายละเอียดแม่ข่าย
   ดาต้าเซนเตอร์ (Data Center)
   เงื่อนไขการใช้งาน

  
 

การบรรยายพฤติกรรมฮาร์ดแวร์ด้วยวิธีวาด Schematic ระบบฝังตัวโดยใช้ FPGA CHIP
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม

การบรรยายพฤติกรรมฮาร์ดแวร์ด้วยวิธีวาด Schematic ระบบฝังตัวโดยใช้ FPGA CHIP
ช่วงนี้พานักเรียนประกวดแข่งขันทักษะวิชาชีพ เลยพอจะมีเวลาว่าง จึงตื่นมาตี 3 ลุกขึ้นมานั่งเขียนบทความให้เพื่อน ๆ น้อง ๆ ได้อ่านพอเป็นแนวทางในการเรียนรู้การใช้งาน FPGA ซึ่งภาพด้านล่างเป็นบรรยากาศยามเช้าของศูนย์ฝึกอบรม โรงไฟฟ้าบางประกง

ภาพ : บรรยากาศศูนย์ฝึกอบรม โรงไฟฟ้าบางประกง

บทความที่แล้วได้กล่าวถึงการเขียนโปรแกรมด้วยภาษา VHDL และกระบวนการเบื้องต้นในการสังเคราะห์วงจรดิจิตอลไปแล้ว ในบทความนี้จะศึกษาการสังเคราะห์วงจรดิจิตอล ด้วยวิธีการวาด Schematic ซึ่งในการออกแบบวงจรดิจิตอลสามารถทำการออกแบบได้ 3 วิธี ได้แก่
1. Schematic
2. VHDL
3. State Diagram

ในบทความนี้จะกล่าวถึงวิธี Schematic เพื่อใช้สังเคราะห์วงจรดิจิตอลและทำงานในชิปไอซี FPGA โดยใช้งานบอร์ด Planton จาก www.ideaonchip.com เริ่มสาระสำคัญของบทความดังนี้ :

วัตถุประสงค์
1. สามารถวาด Schematic ของวงจร And Gate 4 Input ได้
2. สามารถสังเคราะห์วงจรดิจิตอลจาก Schematic ได้
3. สามารถทดสอบวงจรด้วยไอซี FPGA ได้

เครื่องมือในการศึกษา
ในบทความนี้ ใช้เครื่องมือต่อไปนี้ในการศึกษาเรียนรู้ :

1. บอร์ด FPGA PlanTon จาก IdeaOnChip
2. โปรแกรม ISE 9.1
3. สาย LPT-JTAG สำหรับเชื่อมต่อระหว่างบอร์ด PlanTon กับไมโครคอมพิวเตอร์ (ผ่านพอร์ตขนาน LPT)
4. หัวแปลงกระแสไฟฟ้าจาก USB เพื่อใช้งานกับบอร์ด PlanTon ( อันนี้ซื้อที่ร้าน EASY จังหวัดมหาสารคาม) สะดวกมากเพราะไม่ต้องใช้อะแดปเตอร์

ขั้นตอนการดำเนินการ
1. เชื่อมต่อสาย JTAG เข้ากับบอร์ด FPGA PlanTon และไมโครคอมพิวเตอร์
2. การวาด Schematic
3. การกำหนดขาสัญญาณให้กับชิป FPGA
4. การสังเคราะห์ฮาร์ดแวร์
5. การโปรแกรมฮาร์ดแวร์ลงบนชิป FPGA
6. การทดสอบผลลัพธ์บนบอร์ดทดลอง FPGA PlanTon

1. เชื่อมต่อสาย JTAG และสาย Adapter เข้ากับอร์ด FPGA Planton
ในตอนการเชื่อมต่อสาย JTAG และสาย Adapter เข้ากับบอร์ด FPGA Planton ได้อธิบายไว้แล้วในบทความเรื่อง การเขียนโปรแกรมภาษา VHDL เพื่อบรรยายพฤติกรรมฮาร์ดแวร์ สำหรับผู้เริ่มต้น ขอให้ศึกษาในหัวข้อดังกล่าวเพิ่มเติม ก่อนที่ศึกษาในบทความนี้

รูป : การเชื่อมต่อสาย JTAG และ Adapter เข้ากับบอร์ด FPGA Planton

2. การวาด Schematic
2.1 ในขั้นแรกสร้างโปรเจ็คขึ้นมาใหม่ คลิ๊กเลือก File -> New Project ดังภาพต่อไปนี้

รูป : การสร้างโปรเจ็คใหม่

2.2 ตั้งชื่อโปรเจ็ค ในตัวอย่างนี้ตั้งชื่อว่า FPGA02 ดังภาพต่อไปนี้

รูป : การตั้งชื่อโปรเจ็คและไดเร็คทอรี่สำหรับเก็บโปรเจ็ค

2.3 เลือกชิป FPGA ที่ใช้ในการโปรแกรมผลลัพธ์ลงในบอร์ด FPGA ในบทความนี้ใช้ไอซีชิป Spartan3E XC3S250E ขนาดตัวถังแบบบ PQ208 เลือกรายละเอียดดังนี้

รูป : การกำหนดรายละเอียดเกี่ยวกับตัวชิป FPGA

2.4 การสร้างซอร์สโค๊ดขึ้นใหม่ โดยคลิ๊กขวา ที่ตัวชิปเลือก New Source

รูป : การสร้างซอร์สโค๊ดใหม่

2.5 ตั้งชื่อซอร์สไฟล์เป็นชนิด SCHEMATIC และตั้งชื่อตามต้องการ ในตัวอย่างนี้ตั้งชื่อว่า ANDGATE

รูป : การสร้างซอร์สไฟล์ชนิด SCHEMATIC

2.6 ให้ท่านเลือก View -> Source และ Process ดังภาพต่อไปนี้ เพื่อแสดงทูลบ็อกของ Source และ Process ดังภาพต่อไปนี้

รูป : แสดงการเลือกแสดงทูลบ็อก Source และ Process

2.7 เลือก All Symbols ในช่อง Categories และเลือก And2 ในช่อง Symbols เพื่อวาง And Gate ลงบนพื้นที่ทำงาน ดังภาพต่อไปนี้

รูป : การวางลอจิกเกต And ลงในพื้นที่ทำงาน

2.8 การใส่ I/O Marker ลงบนพื้นที่ทำงาน เพื่อทำหน้าที่เป็นขาสัญญาณรับ/แสดงผลข้อมูล ดังภาพต่อไปนี้

รูป : การใส่ I/O marker ให้กับ And Gate

2.9 ที่ทูลบ็อกของ Process ให้เลือกแท็บ Option จากนั้น เลือก Add an input marker และชี้ไปยังขาอินพุตของแอนเกต ดังภาพต่อไปนี้

รูป : การใส่ Input Marker ให้กับ And Gate

2.10 เปลี่ยนชื่อให้กับแพด โดยคลิ๊กขวา Object Properties หรือกดแป้น Alt+Enter เพื่อเปลี่ยนชื่อให้กับสัญญาณอินพุต

รูป : การตั้งชื่อให้กับ สัญญาณอินพุต

2.11 ในตัวอย่างเป็นการเปลี่ยนสัญญาณอินพุต โดยตั้งชื่อว่า A,B,C และ D ตามลำดับ

รูป : การแสดงการเปลี่ยนชื่อสัญญาณอินพุต

2.12 ในขั้นตอนต่อไปเป็นการกำหนดสัญญาณเอาทพุต ให้กับแอนด์เกต โดยเลือกที่ Add I/O Marker จากนั้นเลือกชนิดของแพดเป็น Output Marker ดังนี้

รูป : การใส่แพดให้กับสัญญาณเอาพุต

2.13 ตั้งชื่อให้กับสัญญาณเอาพุตเป็นตัว Q ดังภาพต่อไปนี้

รูป : การตั้งชื่อสัญญาณเอาพุต

2.14 เลือกการเชื่อมต่อสายสัญญาณ จากนั้นเชื่อมต่อสัญญาณของแอนเกตต์เข้าด้วยกัน ดังภาพต่อไปนี้


รูป : การเชื่อมต่อสายสัญญาณเข้าด้วยกัน

2.15 ถ้าทูลบ็อกที่ชื่อ " Source" หายไป ให้ท่านเลือก View -> Source ได้ ดังภาพต่อไปนี้


รูป : การเลือกทูลบ็อก Source เพื่อใช้ในการกำหนดขาสัญญาณให้กับ FPGA

3. การกำหนดขาสัญญาณให้กับชิป FPGA
3.1 ในการกำหนดขาสัญญาณให้กับ FPGA ทำได้เหมือนในบทความเรื่อง การเขียนโปรแกรมภาษา VHDL เพื่อบรรยายพฤติกรรมฮาร์ดแวร์ สำหรับผู้เริ่มต้น โดยคลิ๊กแท็บ Source จากนั้นเลือกทีี่ AndGate คลิ๊กที่ User Constraints และดับเบิ้ลคลิ๊กที่ Assign Package Pins ดังภาพต่อไปนี้


รูป : การกำหนดค่าให้กับขาสัญญาณของไอซี FPGA

3.2 กำหนดค่าให้กับขาสัญญาณไอซี FPGA ให้ A,B,C,D,Q ที่ขาไอซีหมายเลข p150, p151, p152, p153 และ p181 ตามลำดับ ซึ่งตรงกับ Switch บนบอร์ด Planton ส่วน p181 คือสัญญาณที่เชื่อมต่อกับหลอด LED เพื่อแสดงผล

รูป : การกำหนดขาสัญญาณให้กับ FPGA

4. การสังเคราะห์ฮาร์ดแวร์
ขั้นตอนการสังเคราะห์ฮาร์ดแวร์ จะให้ผลลัพธ์เป็น . BIT ซึ่งแตกต่างจากไมโครคอนโทรลเลอร์ซึ่งให้ผลลัพธ์เป็น . HEX ซึ่งให้ท่านดับเบิ้ลคลิ๊กที่ Generate Program หรือคลิ๊กขวาเลือก Run ดังภาพต่อไปนี้

รูป : การสังเคราะห์ฮาร์ดแวร์ด้วย ISE

5. การโปรแกรมฮาร์ดแวร์ลงบนชิป FPGA
ในการโปรแกรมวงจรดิจิตอลลงบนชิป FPGA ได้กล่าวไว้แล้วในบทความเรื่อง การเขียนโปรแกรมภาษา VHDL เพื่อบรรยายพฤติกรรมฮาร์ดแวร์ สำหรับผู้เริ่มต้น ขอให้ศึกษาในหัวข้อดังกล่าวเพิ่มเติม


6. การทดสอบผลลัพธ์บนบอร์ดทดลอง FPGA PlanTon
เมื่อเลื่อน Switch ที่เชื่อมกับสัญญาณ P150, p151, p152 และ p153 จะทำให้หลอด LED ที่เชื่อมต่อกับสัญญาณ p181 ติด ซึ่งเป็นไปตามการทำงานของ Schematic ของ AND Gate (4 Input) ที่ได้ออกแบบเอาไว้


รูป : การทดสอบผลลัพธ์ ที่สังเคราะห์จาก Schematic ของ AND Gate (4 Input) กับบอร์ด FPGA PlanTon

สรุปผล
บทความนี้นำท่านเรียนรู้วิธีการในการออกแบบวงจรดิจิตอล ซึ่งมีการออกแบบ 3 แบบ คือ Schematic, VHDL และ State Diagram โดยบทความนี้ ได้แสดงให้เห็นการออกแบบด้วยวิธีวาด Schematic และการออกแบบด้วย VHDL ได้เขียนไว้ในบทความเรื่อง การเขียนโปรแกรมภาษา VHDL เพื่อบรรยายพฤติกรรมฮาร์ดแวร์ สำหรับผู้เริ่มต้น ซึ่งวงจรที่ออกแบบเสร็จเรียบร้อยแล้ว สามารถโปรแกรมลงบนชิป FPGA เพื่อทำงานเป็นฮาร์ดแวร์จริง ๆ ผู้เขียนหวังว่าบทความนี้จะทำให้เกิดการพัฒนาด้านไมโครอิเล็กทรอนิกส์ขึ้นมาได้บ้าง และหวังเป็นอย่างยิ่งว่า บทความนี้จะกระตุ้นให้เกิดนักพัฒนาในชาติไทย หันมาสนใจการออกแบบวงจรดิจิตอลด้วย VHDL พบกันใหม่ในโอกาสต่อไปครับ





All trademarks and trade names are the property of their respective owners and used here for identification purposes only.
Privacy Policy | Terms of service | Report a Policy Violation (0.0040 sec)