那曲檬骨新材料有限公司

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

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

3天內不再提示

通過Altera FPGA系統實現FPGA接口的簡化設計

電子設計 ? 作者:電子設計 ? 2018-09-27 08:54 ? 次閱讀

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

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

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

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

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

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

圖 3:DC2459 在工作中

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

通過Altera FPGA系統實現FPGA接口的簡化設計

圖 4:DC2459A FPGA 系統方框圖

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

圖 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 用于確定頻率控制字。

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

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

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

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

圖 6:Python Avalon 總線示例

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

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

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

    關注

    68

    文章

    19409

    瀏覽量

    231189
  • FPGA
    +關注

    關注

    1630

    文章

    21797

    瀏覽量

    606020
  • 嵌入式
    +關注

    關注

    5092

    文章

    19178

    瀏覽量

    307694
收藏 人收藏

    評論

    相關推薦

    怎樣為自己的設計選擇Altera Cyclone V FPGA

    Altera的Cyclone V FPGA目前是業界系統總成本和功耗最低的FPGA,那我們該怎樣為自己的設計選擇Altera Cyclone
    發表于 02-26 10:34 ?2564次閱讀

    Altera發布面向FPGA的OpenCL解決方案 簡化FPGA開發

    Altera公司近日發布其面向FPGA的OpenCL (開放計算語言)早期使用計劃(EAP),支持客戶提前了解Altera面向FPGA的OpenCL解決方案。采用這一開放標準,設計團隊
    發表于 09-04 08:47 ?864次閱讀

    基于FPGA的多路PWM輸出接口設計

    使用Altera公司FPGA產品開發工具QuartusⅡ,設計了6路PWM輸出接口,并下載到FPGA實現與CPU的協同工作。在嵌入式
    發表于 05-06 09:18

    通過FPGA實現溫控電路接口及其與DSP通信接口的設計

    地址總線對 FPGA的片內資源尋址。控制信號主要包括復位信號,中斷信號和讀寫信號。(3)與232接口芯片的通信接口 FPGA與 232接口
    發表于 08-19 09:29

    Altera FPGA/CPLD設計(高級篇)

    Altera FPGA/CPLD設計(高級篇)》結合作者多年工作經驗,深入地討論了Altera FPGA/CPLD的設計、優化技巧。在討論FPGA
    發表于 02-12 09:19 ?4807次下載
    <b class='flag-5'>Altera</b> <b class='flag-5'>FPGA</b>/CPLD設計(高級篇)

    利用FPGA平臺解決接口的速度瓶頸

    通過使用Sigma Design 公司的EM8560 嵌入式數字圖像處理器及AlteraFPGA 與Lattice 的CPLD,解決處理器外部總線接口速度對
    發表于 04-15 09:01 ?13次下載

    altera fpga/cpld設計

    altera fpga/cpld設計 基礎篇結合作者多年工作經驗,系統地介紹了FPGA/CPLD的基本設計方法。在介紹FPGA/CPLD概念
    發表于 07-10 17:35 ?58次下載
    <b class='flag-5'>altera</b> <b class='flag-5'>fpga</b>/cpld設計

    簡化Xilinx和Altera FPGA調試過程

    簡化Xilinx和Altera FPGA調試過程:通過FPGAViewTM 解決方案,如混合信號示波器(MSO)和邏輯分析儀,您可以在Xil
    發表于 11-20 17:46 ?27次下載

    Altera新Cyclone IV FPGA拓展了Cyclo

    Altera新Cyclone IV FPGA拓展了Cyclone FPGA系列 Altera拓展其成功的Cyclone FPGA系列并延續
    發表于 11-04 08:46 ?1409次閱讀

    AS下載和調試接口電路(Altera FPGA開發板)

    AS下載和調試接口電路(Altera FPGA開發板)如下圖所示:
    發表于 08-15 14:29 ?5906次閱讀
    AS下載和調試<b class='flag-5'>接口</b>電路(<b class='flag-5'>Altera</b> <b class='flag-5'>FPGA</b>開發板)

    Altera FPGA的選型及開發

    本資料是關于Altera FPGA的選型及開發,內容大綱是:AlteraFPGA體系結構簡介;Altera
    發表于 08-15 14:48 ?104次下載
    <b class='flag-5'>Altera</b> <b class='flag-5'>FPGA</b>的選型及開發

    Altera公司SoC FPGA 簡介

    本文是關于Altera公司SoC FPGA 的用戶手冊(英文版) 。文中主要介紹了什么是SoC FPGA、SoC FPGA相關知識介紹、為什么要使用SoC
    發表于 09-05 14:03 ?153次下載
    <b class='flag-5'>Altera</b>公司SoC <b class='flag-5'>FPGA</b> 簡介

    Altera_FPGA系統設計及應用

    介紹Altera_FPGA的選型及開發,感興趣的可以看看。
    發表于 03-28 18:04 ?12次下載

    具有LVDS輸出的LTM9011 ADC的AN147-Altera Stratix IV FPGA接口

    具有LVDS輸出的LTM9011 ADC的AN147-Altera Stratix IV FPGA接口
    發表于 05-09 21:19 ?15次下載
    具有LVDS輸出的LTM9011 ADC的AN147-<b class='flag-5'>Altera</b> Stratix IV <b class='flag-5'>FPGA</b><b class='flag-5'>接口</b>

    Altera FPGA CPLD學習筆記

    Altera FPGA CPLD學習筆記(肇慶理士電源技術有限)-Altera FPGA CPLD學習筆記? ? ? ? ? ? ? ? ?
    發表于 09-18 10:54 ?83次下載
    <b class='flag-5'>Altera</b> <b class='flag-5'>FPGA</b> CPLD學習筆記
    送彩金百家乐官网的玩法技巧和规则| 百家乐官网规律打| 最好的百家乐娱乐场| 大发888玩哪个能赢钱| 百家乐官网平台租用| 环球百家乐官网的玩法技巧和规则 | 棋牌易发| 38坊娱乐城| 法拉利百家乐官网的玩法技巧和规则 | 顶级赌场官方| 下载百家乐官网棋牌大厅| 678百家乐博彩娱乐场开户注册| 竹北市| 百家乐官网发牌| 猪猪网百家乐软件| 辽源市| 百家乐筹码方形筹码| 沙洋县| 百家乐连线游戏下载| e世博百家乐技巧| 博狗开户| 做生意怕路冲吗| 金宝博网址| 赌百家乐官网到底能赌博赢| 百家乐那个平好| 百家乐官网游戏下裁| 百家乐规则以及玩法| 视频百家乐官网信誉| 百家乐技巧开户| 破解百家乐官网真人游戏| 全讯网址| 百家乐官网网上赌有作假吗| 百家百家乐官网网站| 百家乐官网职业赌徒的解密| 大发888游戏官方| 真人百家乐官网蓝盾娱乐平台| 百家乐创立几年了| 网上百家乐官网有哪些玩法| 百家乐楼梯缆| 克拉克百家乐官网试玩| 澳门百家乐博|