
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

บทช่วยสอนที่สอนได้นี้จะแสดงให้คุณเห็นถึงวิธีการสร้างตัวแก้เมทริกซ์แบบ 2 คูณ 2 โดยใช้โมดูลเทอร์มินัล UART Serial เช่นเดียวกับโมดูลตัวแก้เมทริกซ์ ผู้ใช้จะสามารถป้อนเมทริกซ์ขนาด 2 คูณ 2 จากนั้นการออกแบบที่นำมาใช้จะคายโซลูชันไปยังระบบเชิงเส้นตรง
ในการใช้รหัสนี้ คุณจะต้อง:
- บอร์ด FPGA Digilent Basy 3
- คอมพิวเตอร์ที่มีซอฟต์แวร์ Xilinx Vivado (Webpack Edition จะใช้งานได้) สำหรับโมดูลนี้ เราใช้เวอร์ชัน 2017.2
- สาย Micro USB (สามารถถ่ายโอนข้อมูลได้)
ผู้เขียน: Drew Miller, EE Major, Cal Poly SLO, Sukhdeep Singh, EE Major, Cal Poly SLO Class: การออกแบบดิจิทัล
- ผู้สอน EE/CPE 133: Joseph Callenes
ที่มา:
- UART_TX, UART_RX จาก:
- ดีเบตจาก:
ฟังก์ชันหารสองตัวเลขที่ไม่ได้ลงชื่อ:
ขั้นตอนที่ 1: ขั้นตอนที่ 1: มันทำงานอย่างไร


อินพุต: ผู้ใช้ป้อนระบบเชิงเส้นตรงลงในเทอร์มินัลคอมพิวเตอร์ จากนั้นโมดูล UART จะแปลงเป็นอาร์เรย์สำหรับโมดูลตัวแก้เมทริกซ์เพื่อจัดการ โมดูล UART เชื่อมต่อกับผู้ใช้และอนุญาตให้ป้อนเมทริกซ์ที่เหมาะสมและแนะนำให้ป้อนข้อมูลอย่างถูกต้อง ระบบยังมีสวิตช์รีเซ็ต/เปิดใช้งานซึ่งจับคู่กับสวิตช์ด้านซ้ายสุดของบอร์ด Basy3
ผลลัพธ์: ผลลัพธ์จากตัวแก้ไขเมทริกซ์จะถูกส่งผ่านอินเทอร์เฟซโมดูล UART จากนั้นแสดงบนเทอร์มินัลคอมพิวเตอร์พร้อมโซลูชันที่แสดงบนหน้าจอ ตัวแก้ปัญหาเมทริกซ์จะส่งออกเวกเตอร์ลอจิกมาตรฐานที่ไม่ได้ลงนามไปยังโมดูล UART ซึ่งจะแปลงเป็นเอาต์พุตที่เป็นมิตรต่อผู้ใช้มากขึ้นเพื่อให้ผู้ใช้ได้ชื่นชม ตัวแก้ไขเมทริกซ์ปัจจุบันสามารถป้อนตัวเลขได้ไม่เกิน 15 เท่านั้นและผลลัพธ์เอาต์พุตต้องเป็นจำนวนเต็มที่สะอาด มิฉะนั้นโปรแกรมแก้ปัญหาเมทริกซ์ไม่สามารถส่งออกโซลูชันที่ถูกต้องได้
โมดูล "การควบคุมแบบอนุกรม" ระดับบนสุด: ผู้ใช้ป้อนระบบเชิงเส้นตรงที่ต้องการลงในโมดูลนี้ผ่านโมดูล UART_TX และ UART_RX และแปลงอินพุตจากเทอร์มินัลคอมพิวเตอร์เป็นอาร์เรย์ของเวกเตอร์ลอจิกมาตรฐานที่ประมวลผลโดยโมดูลตัวแก้เมทริกซ์ โมดูลตัวแก้ปัญหาเมทริกซ์จะส่งคืนอาร์เรย์ของเวกเตอร์ลอจิกมาตรฐานซึ่งจะแสดงบนหน้าจอโดยอินเทอร์เฟซอนุกรม UART การส่งและรับข้อมูลผ่านโมดูล UART ทำได้โดยใช้ FSM ที่มีความยาวมากในโมดูลนี้
โมดูล UART_TX: ผู้ใช้ป้อนเวกเตอร์ลอจิกมาตรฐาน 8 บิตและส่งสัญญาณเพื่อส่งข้อมูลผ่านอินเทอร์เฟซ USB ขณะที่กำลังส่งข้อมูล สัญญาณ TX_Active จะสูง หลังจากที่ส่งข้อมูลแล้ว สัญญาณ TX_Done จะกะพริบ
โมดูล UART_RX: ผู้ใช้จะได้รับข้อมูลครั้งละ 8 บิตจากอินเทอร์เฟซ USB พัลส์จาก RX_DV เป็นตัวบ่งชี้ว่าได้รับข้อมูลแล้วและสามารถอ่านลอจิกเวกเตอร์ RX_Byte ได้
โมดูล Matrix Solver: ตัวแก้ปัญหาเมทริกซ์ได้รับอาร์เรย์ที่กำหนดจากโมดูล UART ที่แสดงถึงเมทริกซ์ จากนั้นตัวแก้ไขเมทริกซ์จะแปลงตัวเลขแต่ละตัวในระบบเชิงเส้นตรงให้เป็นจำนวนเต็มเพื่อให้ใช้งานได้ง่ายขึ้น ภายในโมดูลตัวแก้ไขเมทริกซ์มีโมดูลย่อยหลายโมดูล โมดูลย่อยแรกคือ inverse_matrix_1 ซึ่งรับเมทริกซ์แล้วให้ค่าผกผันของเมทริกซ์ที่กำหนด โมดูลย่อยถัดไปคือตัวคูณซึ่งคูณผลรวมของผลรวมของเมทริกซ์ด้วยเมทริกซ์ผกผันโดยใช้การดำเนินการเมทริกซ์มาตรฐาน ในที่สุด โมดูลหลักจะจับคู่พวกมันเข้าด้วยกันเพื่อส่งออกคำตอบเดียว
ขั้นตอนที่ 2: ขั้นตอนที่ 2: ตั้งโปรแกรมบอร์ด Basy 3
เมื่อคุณได้รับซอร์สโค้ดจากด้านล่างแล้ว ให้อัปโหลดไปยังบอร์ด basey 3 เพื่อใช้อินเทอร์เฟซ
reference.digilentinc.com/basy3/refmanual
ขั้นตอนที่ 3: ขั้นตอนที่ 3: วิธีใช้งาน

ใช้อินเทอร์เฟซแบบอนุกรมที่ 9600 บอดเพื่อสื่อสารกับ Basy3 UART ฉันใช้หน้าจอบน linux ด้วยคำสั่งต่อไปนี้:
หน้าจอ /dev/ttyUSB1 9600
ในการทำสิ่งนี้บน linux ฉันต้องเพิ่มผู้ใช้ในกลุ่ม "dialout" บน Windows สีโป๊วควรใช้งานได้ และบน MacOSX ควรเป็นกระบวนการที่คล้ายกับ linux
การพลิกสวิตช์ซ้ายสุดไปที่ตำแหน่งเปิดจะเริ่มตัวแก้ไขเมทริกซ์ การเปลี่ยนเป็นปิดจะเป็นการรีเซ็ตตัวแก้เมทริกซ์
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน

การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน

การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน

วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน

การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน

เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง