สารบัญ:
- ขั้นตอนที่ 1: ภาพรวมของ SPI
- ขั้นตอนที่ 2: ข้อกำหนดการออกแบบ
- ขั้นตอนที่ 3: เริ่มต้นปิด
- ขั้นตอนที่ 4: มุมมอง RTL ของ SPI Master Core และการจำลองรูปคลื่น
วีดีโอ: การออกแบบ SPI Master ใน VHDL: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ในคำแนะนำนี้ เราจะออกแบบ SPI Bus Master ตั้งแต่เริ่มต้นใน VHDL
ขั้นตอนที่ 1: ภาพรวมของ SPI
- SPI เป็นบัสอนุกรมแบบซิงโครนัส
- ความนิยมและความเรียบง่ายทำให้เป็นมาตรฐานโดยพฤตินัยในการสื่อสารแบบอนุกรม
- ฟูลดูเพล็กซ์บัส
- โปรโตคอลที่เรียบง่ายและเป็นหนึ่งในบัสอนุกรมที่เร็วที่สุด
ขั้นตอนที่ 2: ข้อกำหนดการออกแบบ
นี่คือข้อกำหนดของ SPI Master ที่เราจะออกแบบ:
- รองรับทั้งสี่โหมดการทำงาน; กำหนดค่าแบบไดนามิก
- นาฬิกาเปิดใช้งานการควบคุมสำหรับการประหยัดพลังงาน
- ความยาวและความเร็วของคำที่กำหนดแบบคงที่
- อินเตอร์รัปต์เดี่ยวสำหรับทั้งการส่งและรับ
ขั้นตอนที่ 3: เริ่มต้นปิด
ประการแรก IP ของเราควรมีสองอินเทอร์เฟซ หนึ่งคืออินเทอร์เฟซแบบอนุกรมและอีกส่วนคืออินเทอร์เฟซแบบขนาน อินเทอร์เฟซแบบอนุกรมประกอบด้วยสัญญาณมาตรฐานโดยพฤตินัยของ SPI: MOSI, MISO, SS, SCLK
MOSI บางครั้งเรียกว่า SDO และ MISO บางครั้งเรียกว่า SDI
อินเทอร์เฟซแบบอนุกรมใช้เพื่อสื่อสารกับอุปกรณ์ต่อพ่วงภายนอก เช่น ทาส SPI
อินเทอร์เฟซแบบขนานใช้เพื่อสื่อสารกับโฮสต์ของเรา เช่น ไมโครคอนโทรลเลอร์หรือไมโครโปรเซสเซอร์ ซึ่งจริง ๆ แล้วบอกให้อาจารย์ทราบว่าข้อมูลใดที่ต้องส่งและรับแบบอนุกรมผ่านสายอนุกรม กล่าวคือ บัสข้อมูลทั้งหมดเป็นของอินเทอร์เฟซแบบขนาน
เรามีนาฬิกาทั่วโลกที่ขับเคลื่อนตรรกะ SPI ภายใน เช่นเดียวกับ SCLK ซึ่งเราสร้างขึ้นภายใน
เรายังมีสัญญาณควบคุมบางอย่าง เช่น เปิดใช้งานการเขียน เปิดใช้งานนาฬิกา และสัญญาณขัดจังหวะและสถานะอื่นๆ
เนื่องจากเราต้องจัดการกับเงื่อนไขการควบคุมที่ซับซ้อน การออกแบบ IP การสื่อสารแบบอนุกรมเป็น FSM จึงง่ายกว่า เราจะออกแบบ SPI master เป็น FSM เช่นกัน FSM จะถูกขับเคลื่อนโดยนาฬิกาภายในตัวอื่นซึ่งเป็นสองเท่าของ SCLK นาฬิกาภายในนั้นถูกสร้างขึ้นโดยใช้ตัวนับแบบซิงโครนัสจากนาฬิกาทั่วโลก
สัญญาณควบคุมทั้งหมดที่ข้ามโดเมนนาฬิกามีตัวซิงโครไนซ์อยู่ในด้านที่ปลอดภัยกว่า
ขั้นตอนที่ 4: มุมมอง RTL ของ SPI Master Core และการจำลองรูปคลื่น
เป็นการออกแบบ RTL เปล่าที่ไม่มี FPGA IP เฉพาะที่ใช้ ดังนั้นจึงเป็นรหัสแบบพกพาอย่างสมบูรณ์สำหรับ FPGA ใดๆ
แนะนำ:
ระบบตรวจสอบด้วยภาพที่ใช้ LoRa เพื่อการเกษตร Iot - การออกแบบ Fronted Application โดยใช้ Firebase & Angular: 10 ขั้นตอน
ระบบตรวจสอบด้วยภาพที่ใช้ LoRa เพื่อการเกษตร Iot | การออกแบบ Fronted Application โดยใช้ Firebase & Angular: ในบทที่แล้ว เราพูดถึงวิธีที่เซ็นเซอร์ทำงานกับโมดูล loRa เพื่อเติมฐานข้อมูล firebase Realtime และเราเห็นไดอะแกรมระดับสูงมากว่าโปรเจ็กต์ทั้งหมดทำงานอย่างไร ในบทนี้เราจะพูดถึงวิธีที่เราสามารถ
การออกแบบ Mail Bot UX: 6 ขั้นตอน
การออกแบบ Mail Bot UX: นี่คือหุ่นยนต์ที่กรีดร้องเมื่อคุณมีจดหมาย คุณต้องใช้กาวและเทป
การออกแบบ Interrupt Controller ที่ตั้งโปรแกรมได้ใน VHDL: 4 ขั้นตอน
การออกแบบ Programmable Interrupt Controller ใน VHDL: ฉันรู้สึกท่วมท้นกับคำตอบที่ได้รับในบล็อกนี้ ขอบคุณสำหรับการเยี่ยมชมบล็อกของฉันและกระตุ้นให้ฉันแบ่งปันความรู้ของฉันกับคุณ ครั้งนี้ ฉันจะนำเสนอการออกแบบโมดูลที่น่าสนใจอื่นที่เราเห็นใน SOC ทั้งหมด -- Interrupt C
การออกแบบ I2C Master ใน VHDL: 5 ขั้นตอน
การออกแบบ I2C Master ใน VHDL: ในคำแนะนำนี้จะกล่าวถึงการออกแบบต้นแบบ I2C อย่างง่ายใน VHDL หมายเหตุ: คลิกที่แต่ละภาพเพื่อดูภาพเต็ม
การออกแบบ UART ใน VHDL: 5 ขั้นตอน
การออกแบบ UART ใน VHDL: UART ย่อมาจาก Universal Asynchronous Receiver Transmitter เป็นโปรโตคอลการสื่อสารแบบอนุกรมที่ได้รับความนิยมและง่ายที่สุด ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีออกแบบโมดูล UART ใน VHDL