女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

一種無需“接觸”嵌入式處理器便可控制系統的FPGA接口

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2021-04-04 12:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

70e226f4-8f65-11eb-8b86-12bb97331649.png

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

1 SPI-Avalon MM橋接器

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

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所示為演示設置。

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

7364ec68-8f65-11eb-8b86-12bb97331649.jpg

圖4 DC2459A FPGA系統方框圖

2系統集成工具Qsys

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

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

transaction_write(dc2026, base, write_size, data)

transaction_read(dc2026, base, read_size)

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

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

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

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

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

3 Python Avalon總線示例

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

4 結論

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

原文標題:跳上Avalon總線:一種簡化的FPGA接口

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

責任編輯:haq

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

    關注

    68

    文章

    19873

    瀏覽量

    234685
  • FPGA
    +關注

    關注

    1645

    文章

    22025

    瀏覽量

    617540
  • 嵌入式
    +關注

    關注

    5148

    文章

    19634

    瀏覽量

    316839

原文標題:跳上Avalon總線:一種簡化的FPGA接口

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式單片機在電機控制系統中的應用

    長時間處于良好的工作狀態,其穩定性也得到了顯著的提升。嵌入式單片機在電機控制系統中的應用可以分為軟件應用和硬件應用,硬件提供基本的物理框架支撐,軟件提供基本的信息、數據處理渠道,也只有這樣,才能
    發表于 06-11 15:07

    AMD EPYC嵌入式9005系列處理器發布

    AMD(超威,納斯達克股票代碼:AMD )今日宣布推出第五代 AMD EPYC(霄龍)嵌入式處理器,擴展其 x86 嵌入式處理器產品組合。
    的頭像 發表于 03-12 17:08 ?892次閱讀

    嵌入式主板的概述與發展

    未來發展趨勢進行深入探討。嵌入式主板的基本概念嵌入式主板是指為嵌入式系統設計的電路板,它通常集成了微處理器、內存、輸入輸出
    的頭像 發表于 01-13 16:30 ?759次閱讀
    <b class='flag-5'>嵌入式</b>主板的概述與發展

    MPU在嵌入式系統中的應用

    、MPU的基本功能 微處理器單元(MPU)是嵌入式系統中的大腦,負責執行程序指令、處理數據和控制
    的頭像 發表于 01-08 09:26 ?871次閱讀

    ARM嵌入式通信協議及應用

    同工作至關重要。 、ARM嵌入式系統概述 ARM(Advanced RISC Machines)是一種基于精簡指令集計算機(RISC)的處理器
    的頭像 發表于 12-28 09:18 ?918次閱讀

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    系統開發與硬件關系的幾個關鍵點: 硬件依賴性 :嵌入式系統的軟件必須能夠在特定的硬件上運行,這包括處理器、內存、輸入/輸出接口等。軟件必須能
    的頭像 發表于 12-09 09:38 ?947次閱讀

    adc在嵌入式系統中的應用 常見的adc接口類型比較

    嵌入式系統中的應用 傳感接口 : ADC常用于與各種傳感接口,如溫度傳感
    的頭像 發表于 11-19 16:03 ?2113次閱讀

    嵌入式系統中微控制器與微處理器的區別

    嵌入式微控制器已成為我們日常接觸的眾多設備背后的無聲指揮者。從用于烹飪食物的微波爐到監測健康的智能手表,微控制器確保這些設備能夠精準、可靠地運作。本文的目的是揭示嵌入式微控制器的世界,
    的頭像 發表于 10-14 11:02 ?1192次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>中微<b class='flag-5'>控制器</b>與微<b class='flag-5'>處理器</b>的區別

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一種用于控制和數據處理的計算機硬件,其設計旨在
    的頭像 發表于 09-30 10:05 ?1588次閱讀

    為何嵌入式控制器首選ARMxy?深度解析

    嵌入式ARM控制器一種基于ARM架構的嵌入式系統控制器,廣泛應用于各種嵌入式
    的頭像 發表于 09-21 10:09 ?680次閱讀
    為何<b class='flag-5'>嵌入式</b><b class='flag-5'>控制器</b>首選ARMxy?深度解析

    計算嵌入式處理器的使用壽命

    電子發燒友網站提供《計算嵌入式處理器的使用壽命.pdf》資料免費下載
    發表于 09-19 11:06 ?0次下載
    計算<b class='flag-5'>嵌入式</b><b class='flag-5'>處理器</b>的使用壽命

    嵌入式linux開發的基本步驟有哪些?

    之前,首先需要選擇合適的硬件平臺。硬件選擇需要考慮以下幾個方面: 1.1 處理器 嵌入式Linux開發需要處理器,常見的處理器有ARM、
    的頭像 發表于 09-02 09:11 ?1203次閱讀

    嵌入式linux開發板芯片的工作原理

    處理器、存儲、輸入/輸出接口等硬件資源的嵌入式系統開發平臺。它通常采用Linux操作系統作為
    的頭像 發表于 09-02 09:07 ?800次閱讀

    嵌入式微控制器嵌入式微處理器的聯系

    嵌入式微控制器嵌入式微處理器嵌入式系統領域中都扮演著至關重要的角色,它們之間存在著緊密的聯系,同時也各具特色。以下是對兩者聯系及特點的詳細探討。
    的頭像 發表于 08-22 10:50 ?1326次閱讀

    嵌入式系統中常用的五處理器類型

    本文介紹了嵌入式系統中常用的五處理器類型:微處理器單元(MPU)、微控制器(MCU)、數字信
    的頭像 發表于 07-25 09:29 ?2604次閱讀