日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

不使用處理器控制 FPGA 總線

出處:維庫電子市場網 發(fā)布于:2023-02-13 16:30:09

    許多 FPGA 設計使用嵌入式處理器進行控制。一個典型的解決方案涉及使用 Nios 等軟處理器,盡管帶有內置硬處理器的 FPGA SoC 也變得很流行。圖 1顯示了一個典型的 Altera FPGA 系統(tǒng),它包含處理器和通過 Altera 的Avalon內存映射 (MM) 總線連接的混合外設 。這些處理器大大簡化了終應用程序,但需要強大的編程背景和復雜工具鏈的知識。這會阻礙調試,特別是如果硬件工程師需要一種簡單的方法來讀取和寫入外圍設備而無需糾纏軟件工程師。

    圖 1  使用 Avalon 內存映射總線連接的典型 Altera FPGA 系統(tǒng)
    該設計理念使用 Altera 的SPI 從器件到 Avalon MM 橋接器來提供跳到 Avalon 總線上的簡單方法。這種技術有兩個優(yōu)點:它不損害原來的系統(tǒng)設計,橋可以與嵌入式處理器共存。對于圖 1所示的系統(tǒng),SPI 橋允許工程師直接控制 LTC6948 小數 N PLL 的頻率,設置 LTC1668 DAC 電壓,從 LTC2498 ADC 讀取電壓,或從 LTC2983 讀取溫度,就像處理器可以。
    Altera 為 SPI-Avalon MM 橋接器提供參考設計。不幸的是,文檔充其量是稀疏的,并且使用 Nios 處理器作為 SPI 主機。這實際上違背了 SPI 橋的目的,因為 Nios 可以直接連接到 Avalon MM 總線。一個實用的 SPI 主控制器是凌力爾特的Linduino 微控制器,它是一個 Arduino 克隆,具有連接到 LT 演示板的額外功能。一項額外功能是電平轉換 SPI 端口。當連接到電壓低至 1.2V 的 FPGA I/O bank 時,這種電平轉換功能特別有用。Linduino 固件可用于通過虛擬 COM 端口接受命令并將命令轉換為 SPI 事務。
    在對 Altera 示例設計(圖 2的左側)進行逆向工程后,開發(fā)了一個 Python 庫來創(chuàng)建網橋可以接受的數據包。然后將這些數據包翻譯成 Linduino 命令。然后,Python 腳本允許硬件工程師完全控制項目,而無需重新發(fā)明接口協(xié)議。LinearLabTools Python 文件夾中提供了一個示例 Python 腳本,用于控制 LTC1668 DAC 的數字模式發(fā)生器的頻率。圖 3顯示了演示設置。

    圖 4顯示了系統(tǒng)框圖。請注意,數控振蕩器 (NCO) 可由移位寄存器或 PIO 內核控制。包含移位寄存器用于調試,因為它允許直接控制 NCO。將 GPIO 線設置為高電平可啟用 SPI-Avalon 橋接器,它進而控制 Avalon 總線上的 32 位 PIO 端口。然后 PIO 輸出控制 NCO 頻率。

    圖4   FPGA系統(tǒng)框圖

    在基本系統(tǒng)運行的情況下,可以將額外的外圍內核連接到總線。為了設計系統(tǒng),Altera 提供了一種名為 Qsys 的工具,它提供了一個 GUI 來將 IP 相互連接。Qsys 將 GUI 設計的系統(tǒng)(圖 5)轉換為 HDL。外設地址是完全可配置的。在這種情況下,PIO 設置為基址 0x0。

    圖 5  Qsys GUI
    在 FPGA 中實現設計后,LinearLabTools 中提供的 Python 庫包含兩個與設計接口的函數:
    transaction_write (dc2026, base, write_size, data)
    transaction_read (dc2026, base, read_size)
    這些函數的個參數是 Linduino 串行端口實例。第二個參數是外設在 Avalon 總線上的地址。這些函數分別接受和返回字節(jié)列表。這兩個函數的編寫是為了在寫入和讀取 IP 時提供靈活性。要為提供的示例設置 NCO,只需要transaction_write 函數。公式 1 用于確定調諧字。
    要以 50MSPS 采樣率將 NCO 設置為 1kHz,調整值為 85899 或 0x00014F8B,它作為四個字節(jié)的列表傳遞。因此,將 DAC 設置為 1kHz 的 python 代碼是:

    transaction_write (linduino_serial_instance, 0, 0, [0x0, 0x01, 0x4F, 0x8B])

    圖 6  Python Avalon 總線示例
    圖 6中的 Python 腳本說明了配置 NCO 的簡單文本界面。重要提示:橋接器使用 SPI 模式 3。這被痛苦地確定為正確的 通過反復試驗模式,并通過分析 Altera 示例中的 Nios 處理器的 SPI 接口進行驗證。
    該設計理念提供了在不接觸嵌入式處理器的情況下控制系統(tǒng)的能力,允許硬件工程師在不打擾軟件工程師的情況下推進項目,并且對硬件設計的影響。
關鍵詞:FPGA 總線  

版權與免責聲明

凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.hbjingang.com,違反者本網將追究相關法律責任。

本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經采納,將有感恩紅包奉上哦!