精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

不使用處理器控制FPGA總線

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2023-04-08 11:08 ? 次閱讀

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

4b2eefa8-d5ba-11ed-bfe3-dac502259ad0.jpg

圖 1 使用 Avalon 內存映射總線連接的典型 Altera FPGA 系統

該設計理念使用 Altera 的SPI 從器件到 Avalon MM 橋接器來提供跳到 Avalon 總線上的簡單方法。這種技術有兩個優點:它不損害原來的系統設計,橋可以與嵌入式處理器共存。對于圖 1所示的系統,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的左側)進行逆向工程后,開發了一個 Python 庫來創建網橋可以接受的數據包。然后將這些數據包翻譯成 Linduino 命令。然后,Python 腳本允許硬件工程師完全控制項目,而無需重新發明接口協議。LinearLabTools Python 文件夾中提供了一個示例 Python 腳本,用于控制 LTC1668 DAC 的數字模式發生器的頻率。圖 3顯示了演示設置。

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

4b544b18-d5ba-11ed-bfe3-dac502259ad0.jpg

圖4 FPGA系統框圖

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

4b6ed528-d5ba-11ed-bfe3-dac502259ad0.jpg

圖 5 Qsys GUI

在 FPGA 中實現設計后,LinearLabTools 中提供的 Python 庫包含兩個與設計接口的函數:

transaction_write (dc2026, base, write_size, data)

transaction_read (dc2026, base, read_size)

這些函數的個參數是 Linduino 串行端口實例。第二個參數是外設在 Avalon 總線上的地址。這些函數分別接受和返回字節列表。這兩個函數的編寫是為了在寫入和讀取 IP 時提供靈活性。要為提供的示例設置 NCO,只需要transaction_write 函數。公式 1 用于確定調諧字。

要以 50MSPS 采樣率將 NCO 設置為 1kHz,調整值為 85899 或 0x00014F8B,它作為四個字節的列表傳遞。因此,將 DAC 設置為 1kHz 的 python 代碼是:

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

4bfee726-d5ba-11ed-bfe3-dac502259ad0.png

圖 6 Python Avalon 總線示例

圖 6中的 Python 腳本說明了配置 NCO 的簡單文本界面。重要提示:橋接器使用 SPI 模式 3。這被痛苦地確定為正確的 通過反復試驗模式,并通過分析 Altera 示例中的 Nios 處理器的 SPI 接口進行驗證。

該設計理念提供了在不接觸嵌入式處理器的情況下控制系統的能力,允許硬件工程師在不打擾軟件工程師的情況下推進項目,并且對硬件設計的影響。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19159

    瀏覽量

    229112
  • FPGA
    +關注

    關注

    1626

    文章

    21665

    瀏覽量

    601802
  • 嵌入式
    +關注

    關注

    5068

    文章

    19014

    瀏覽量

    303226
  • Altera
    +關注

    關注

    37

    文章

    777

    瀏覽量

    153849
  • 總線
    +關注

    關注

    10

    文章

    2866

    瀏覽量

    87981

原文標題:不使用處理器控制 FPGA 總線

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    用處理器,未來電機驅動的主流

    `專用處理器是未來電機驅動的主流 專用處理器(ASSP)是未來電機驅動的主流,是電機驅動領域的技術發展趨勢。在硬件上,處理器本身就考慮到了大量電機驅動本身的實際問題,在集成控制MCU內
    發表于 12-31 17:57

    不使用處理器的I2C控制器

    嗨,我需要一個I2C內核來控制串行eeprom。在Web上的大多數I2C示例中,使用了微處理器。但我想只使用FPGA。我怎樣才能做到這一點?有沒有人有I2C控制器,不需要
    發表于 03-13 13:08

    什么是總線處理器

    第一章復習要點①微處理器 p12②微型計算機p13③總線處理器:一般也稱中央處理器(CPU),是本身具有運算能力和控制功能,是微型計算機的
    發表于 07-22 06:48

    DSP處理器與通用處理器的比較

    DSP處理器與通用處理器的比較1 對密集的乘法運算的支持GPP不是設計來做密集乘法任務的,即使是一些現代的GPP,也要求多個指令周期來做一次乘法。而DSP處理器使用專門的硬件來實現單周期乘法。DSP
    發表于 09-03 08:12

    多媒體應用處理器的原理和應用

    用處理器的全名叫最多媒體應用處理器(Multimedia Application Processor), 簡稱MAP。它是在低功耗CPU的基礎上擴展音視頻功能和專用接口的超大規模集成電路。MAP是伴隨著智能手機而產
    發表于 12-01 13:27 ?6次下載

    什么是通用處理器

    什么是通用處理器 通用微處理器一般指的是服務器用和桌面計算用CPU芯片。  目前,在桌面計算領域,Intel公司的Pentium系列微處理器芯片領導了市場的主流,占據著微
    發表于 01-12 15:40 ?4297次閱讀

    流水線操作,應用處理器,應用處理器的結構和原理是什么?

    流水線操作,應用處理器,應用處理器的結構和原理是什么? 與哈佛結構相關,DSP芯片廣泛采用流水線以減少指令執行時間.從而增強
    發表于 03-26 15:03 ?1225次閱讀

    i.MX257應用處理器數據手冊

    i.MX257應用處理器數據手冊
    發表于 09-29 17:00 ?13次下載
    i.MX257應<b class='flag-5'>用處理器</b>數據手冊

    基于i.MX257應用處理器數據手冊

    基于i.MX257應用處理器數據手冊
    發表于 10-09 09:05 ?15次下載
    基于i.MX257應<b class='flag-5'>用處理器</b>數據手冊

    基于FPGA和多DSP的多總線并行處理器設計

    基于FPGA和多DSP的多總線并行處理器設計
    發表于 10-19 13:40 ?4次下載
    基于<b class='flag-5'>FPGA</b>和多DSP的多<b class='flag-5'>總線</b>并行<b class='flag-5'>處理器</b>設計

    基于面向i.MX應用處理器的可靠架構

    基于面向i.MX應用處理器的可靠架構
    發表于 10-31 14:07 ?7次下載
    基于面向i.MX應<b class='flag-5'>用處理器</b>的可靠架構

    用處理器就可以控制FPGA總線的方法你知道嗎?

    許多FPGA設計使用嵌入式處理器實現控制。典型的解決方案是使用Nios這樣的軟處理器,雖然內置硬處理器
    的頭像 發表于 05-02 17:38 ?5124次閱讀
    不<b class='flag-5'>用處理器</b>就可以<b class='flag-5'>控制</b><b class='flag-5'>FPGA</b><b class='flag-5'>總線</b>的方法你知道嗎?

    面向高級應用處理器的新型PMIC

    面向高級應用處理器的新型PMIC
    發表于 05-23 16:49 ?12次下載
    面向高級應<b class='flag-5'>用處理器</b>的新型PMIC

    用處理器芯片行業科普

    APU市場概述APU(應用處理器)概述APU定義APU(Application Processor Unit),又名應用處理器芯片,是在低功耗中央處理器的基礎上擴展音...
    發表于 01-25 19:55 ?1次下載
    應<b class='flag-5'>用處理器</b>芯片行業科普

    什么是專用處理器?專用處理器的設計方法和工具介紹

    on some external data source, usually memory or some other data stream”。專用處理器就是針對特定應用或者領域的處理器,類似于是我們經常說的Domain Specific Architecture的概念
    發表于 07-17 14:14 ?1418次閱讀
    什么是專<b class='flag-5'>用處理器</b>?專<b class='flag-5'>用處理器</b>的設計方法和工具介紹