สารบัญ:

การออกแบบ SPI Master ใน VHDL: 6 ขั้นตอน
การออกแบบ SPI Master ใน VHDL: 6 ขั้นตอน

วีดีโอ: การออกแบบ SPI Master ใน VHDL: 6 ขั้นตอน

วีดีโอ: การออกแบบ SPI Master ใน VHDL: 6 ขั้นตอน
วีดีโอ: How to create your first VHDL program: Hello World! 2024, พฤศจิกายน
Anonim
การออกแบบ SPI Master ใน VHDL
การออกแบบ SPI Master ใน VHDL

ในคำแนะนำนี้ เราจะออกแบบ 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 ของ SPI Master Core และการจำลองรูปคลื่น
มุมมอง RTL ของ SPI Master Core และการจำลองรูปคลื่น
มุมมอง RTL ของ SPI Master Core และการจำลองรูปคลื่น
มุมมอง RTL ของ SPI Master Core และการจำลองรูปคลื่น

เป็นการออกแบบ RTL เปล่าที่ไม่มี FPGA IP เฉพาะที่ใช้ ดังนั้นจึงเป็นรหัสแบบพกพาอย่างสมบูรณ์สำหรับ FPGA ใดๆ

แนะนำ: