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

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

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

3天內不再提示

如何實現(xiàn)FPGA接口的簡化設計?

電子工程師 ? 來源:未知 ? 作者:胡薇 ? 2018-10-11 10:10 ? 次閱讀

許多新式 FPGA 設計采用了一些用于控制的嵌入式處理器。一種典型解決方案需要使用諸如 NIOS 等嵌入式軟處理器。另一種解決方案則使用包含一個內置硬處理器的 SoC 器件。圖 1 示出了一個典型的 Altera FPGA 系統(tǒng),該系統(tǒng)包含處理器和一系列通過 Avalon 內存映射 (MM) 總線連接的外設。這些處理器極大地簡化了最終應用,但是要求開發(fā)人員擁有堅實的編程背景和精細復雜工具鏈的相關知識。這會阻礙調試工作的推進,特別是如果硬件工程師需要一種不會煩擾軟件工程師即可完成外設讀寫的簡單方法。

圖 1:通過 Avalon 內存映射 (MM) 總線連接的典型 Altera FPGA 系統(tǒng)

該設計思想運用了 Altera 的 SPI 從端至 Avalon MM 橋接器,以提供一種跳上 Avalon 總線的簡單方法。采用這種方法有兩項優(yōu)勢:它并未損害原始系統(tǒng)設計,而且該橋接器能夠與嵌入式處理器共存。對于圖 1 中所示的系統(tǒng),SPI-Avalon MM 橋接器將允許設計師直接控制 LTC6948 分數(shù) N PLL 的頻率,設定 LTC1668 DAC 電壓,從 LTC2498 讀取一個電壓,或者從 LTC2983 讀取溫度,就像處理器一樣。

圖 2:熒光筆 + 示例代碼 + 反向工程 = Python 腳本

Altera 提供了一款針對 SPI-Avalon MM 橋接器的參考設計。不幸的是,文檔充其量是稀少的,并且使用一個 NIOS 處理器作為 SPI 主控器。這實際上違背了 SPI 橋接器的初衷,因為 NIOS 處理器可直接連接至 Avalon MM 總線。一款實用的 SPI 主控器是凌力爾特的 Linduino?微控制器,它是具有附加特性的 Arduino 克隆產(chǎn)品,以與 LT 演示板相連接。附加特性之一是電平移位 SPI 端口。當連接至具有低至 1.2V 電壓的 FPGA I/O 塊時,這種電平移位功能是特別有幫助的。Linduino 固件可用于通過一個虛擬 COM 端口接受命令并把命令轉化為 SPI 事務處理。

在對 Altera 實例設計實施了反向工程之后 (圖 2 的左側),開發(fā)一個 Python 庫以生成橋接器將要接受的數(shù)據(jù)包。這些數(shù)據(jù)包隨后被轉化為 Linduino 命令。這樣,一個簡單的 Python 腳本使得硬件工程師能夠全面地控制項目,并不需要徹底改變接口協(xié)議。在 LinearLabTools Python 文件夾中提供了一個控制用于 LTC1668 DAC 的數(shù)字圖形發(fā)生器之頻率的 Python 腳本實例,可登錄獲取。圖 3 示出了演示設置。

圖 3:DC2459 在工作中

圖 4 給出了 FPGA 系統(tǒng)的方框圖。請注意,數(shù)控振蕩器 (DCO) 可由移位寄存器PIO 內核來控制。內置移位寄存器用于調試,因為它提供了 NCO 的直接控制。把 GPIO 線邏輯電平設定為“高”將使能 SPI-Avalon MM 橋接器,該橋接器接著通過 Avalon MM 總線控制一個 32 位 PIO 端口。然后,PIO 輸出控制 NCO 頻率。

圖 4:DC2459A FPGA 系統(tǒng)方框圖

當最基本的系統(tǒng)運行時,可以把額外的 Avalon 外設 IP 內核連接至 Avalon MM 總線。為了設計系統(tǒng),Altera 提供了一款被稱為 Qsys 的系統(tǒng)集成工具。這款工具提供一個 GUI 以相互連接 IP。Qsys 隨后被用于把 GUI 系統(tǒng)轉化為硬件描述語言 (HDL) Verilog。圖 5 示出了該 GUI。最后,系統(tǒng)將被添加至用于實施的頂層。IP 的地址是完全可配置的。就給出的實例而言,PIO 被設定在一個 0x0 的基地址單元。

圖 5:Qsys GUI

一旦在 FPGA 中實現(xiàn)了設計,則 LinearLabTools 中提供的 Python 庫包含兩個函數(shù)以與設計接口:

transaction_write(dc2026, base, write_size, data)

transaction_read(dc2026, base, read_size)

這些函數(shù)的第一個參數(shù)是 Linduino 串行端口實例。第二個參數(shù)是外設在 Avalon 總線上的地址。這些函數(shù)分別接受和返還字節(jié)列表。編寫這兩個函數(shù)以在讀和寫 IP 時提供靈活性。如欲設定用于所提供實例的 NCO,則所需的就是 transaction_write 函數(shù)。

公式 1 用于確定頻率控制字。

公式 1:頻率控制字 = (期望的頻率/系統(tǒng)時鐘頻率) x 232

如欲把 NCO 設定至 1kHz 和一個 50Msps 采樣速率,則頻率控制字數(shù)值 = 85899。該數(shù)值用十六進制來表示即為 0x00014F8B,其作為一個 4 字節(jié)列表進行傳遞。于是,用于把 DAC 設定至 1kHz 的 Python 代碼為:

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

注:根據(jù)邏輯設計,PIO 的基地址為零。

圖 6:Python Avalon 總線示例

提供了一個圖 6 所示的簡單 Python 腳本,以演示 FPGA 設計和 Python 腳本的接口。它包含一個簡單的文本接口以配置 NCO。一個重要提示是 Avalon SPI 橋接器采用 SPI Mode 3。這是痛苦地通過反復試驗而確定正確模式;并通過分析 Altera 實例中的 NIOS 處理器 SPI 接口進行驗證。

總括來說,該實例項目展示了完全無需“接觸”嵌入式處理器便可控制系統(tǒng)的能力。這讓硬件工程師不必麻煩軟件工程師就能在項目方面取得進展。這種方法的好處可以悄然地添加至 FPGA,并不會影響原始設計。硬件工程師可以把精力集中在硬件上。

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

    關注

    1626

    文章

    21666

    瀏覽量

    601828
  • 接口
    +關注

    關注

    33

    文章

    8497

    瀏覽量

    150834

原文標題:通過Altera FPGA系統(tǒng)實現(xiàn)FPGA接口的簡化設計

文章出處:【微信號:FPGAer_Club,微信公眾號:FPGAer俱樂部】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GPIB接口FPGA實現(xiàn)

    哪位大俠實現(xiàn)過用FPGA實現(xiàn)GPIB接口的 麻煩給小弟些指導,我用的SPARTN2的XILINX的芯片
    發(fā)表于 11-21 17:04

    如何實現(xiàn)基于FPGA的HSDI接口設計?

    HSDI接口的硬件結構以及接口信號的時序和功能操作基于FPGA實現(xiàn)HSDI接口的設計
    發(fā)表于 04-09 06:40

    如何利用Xilinx FPGA和存儲器接口生成器簡化存儲器接口

    如何利用Xilinx FPGA和存儲器接口生成器簡化存儲器接口
    發(fā)表于 05-06 07:23

    如何利用FPGA芯片進行簡化的PCI接口邏輯設計?

    本文使用符合PCI電氣特性的FPGA芯片進行簡化的PCI接口邏輯設計,實現(xiàn)了33MHz、32位數(shù)據(jù)寬度的PCI從設備模塊的接口功能,節(jié)約了系
    發(fā)表于 05-08 08:11

    簡化FPGA的電源解決方案

    我不得不承認,隨著時間的推移為 FPGA 供電變得越來越復雜,本文提供一些建議,希望可以幫助簡化 FPGA 的電源解決方案,使用戶能夠創(chuàng)建出快速便捷的解決方案。在為 FPGA 供電時需
    發(fā)表于 11-23 07:14

    SPI-4.2接口FPGA實現(xiàn)

    去偏移和包重組是在FPGA實現(xiàn)SPI-4.2接口的核心難點,在分析偏移和包重組原理的基礎上,給出基于FPGA的SPI-4.2接口的設計與
    發(fā)表于 04-10 09:43 ?32次下載

    基于FPGA 的IDE硬盤接口卡的實現(xiàn)

    本文介紹了一種基于FPGA 技術的IDE 硬盤接口的設計。該卡提供兩個符合ATA- 6 規(guī)范的接口,采用FPGA 實現(xiàn)了兩套IDE
    發(fā)表于 07-22 15:58 ?0次下載

    基于FPGA的IDE硬盤接口卡的實現(xiàn)

    本文介紹了一種基于FPGA技術的IDE硬盤接口的設計。該卡提供兩個符合ATA-6規(guī)范的接口,采用FPGA實現(xiàn)了兩套IDE
    發(fā)表于 08-09 15:11 ?22次下載

    IIS接口FPGA實現(xiàn)

    在本文工作的基礎上,可以進一步發(fā)揮FPGA的靈活性。如可以利用FPGA實現(xiàn)DSP功能,從而提供音頻DSP處理或編碼解碼;也可以與SoPC相結合,作為音頻接口模塊,為片上系統(tǒng)提供音頻
    發(fā)表于 06-24 10:38 ?7599次閱讀
    IIS<b class='flag-5'>接口</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>

    基于FPGA的VGA接口實現(xiàn)和字符顯示

    基于FPGA的VGA接口實現(xiàn)和字符顯示論文
    發(fā)表于 10-29 17:18 ?8次下載

    基于FPGA的萬兆以太網(wǎng)接口的設計與實現(xiàn)

    基于FPGA的萬兆以太網(wǎng)接口的設計與實現(xiàn)
    發(fā)表于 05-11 09:46 ?39次下載

    華清遠見FPGA代碼-VGA接口的設計與實現(xiàn)

    華清遠見FPGA代碼-VGA接口的設計與實現(xiàn)
    發(fā)表于 10-27 18:07 ?9次下載

    基于FPGA的高速DSP與液晶模塊接口實現(xiàn)

    基于FPGA的高速DSP與液晶模塊接口實現(xiàn)
    發(fā)表于 10-19 13:46 ?3次下載
    基于<b class='flag-5'>FPGA</b>的高速DSP與液晶模塊<b class='flag-5'>接口</b>的<b class='flag-5'>實現(xiàn)</b>

    通過Altera FPGA系統(tǒng)實現(xiàn)FPGA接口簡化設計

    許多新式 FPGA 設計采用了一些用于控制的嵌入式處理器。一種典型解決方案需要使用諸如 NIOS 等嵌入式軟處理器。另一種解決方案則使用包含一個內置硬處理器的 SoC 器件。圖 1 示出了一個典型的 Altera FPGA 系統(tǒng),該系統(tǒng)包含處理器和一系列通過 Avalon
    的頭像 發(fā)表于 09-27 08:54 ?3771次閱讀

    ARM與FPGA接口實現(xiàn)的解析

    ARM與FPGA接口實現(xiàn)的解析(應廣單片機)-該文檔為ARM與FPGA接口實現(xiàn)的解析詳述資料,講解的還不錯,感興趣的可以下載看看…………………………
    發(fā)表于 07-22 09:47 ?14次下載
    ARM與<b class='flag-5'>FPGA</b>的<b class='flag-5'>接口實現(xiàn)</b>的解析