衡阳派盒市场营销有限公司

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

不使用處理器控制FPGA總線(xiàn)

FPGA設(shè)計(jì)論壇 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 2023-04-08 11:08 ? 次閱讀

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

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

圖 1 使用 Avalon 內(nèi)存映射總線(xiàn)連接的典型 Altera FPGA 系統(tǒng)

該設(shè)計(jì)理念使用 Altera 的SPI 從器件到 Avalon MM 橋接器來(lái)提供跳到 Avalon 總線(xiàn)上的簡(jiǎn)單方法。這種技術(shù)有兩個(gè)優(yōu)點(diǎn):它不損害原來(lái)的系統(tǒng)設(shè)計(jì),橋可以與嵌入式處理器共存。對(duì)于圖 1所示的系統(tǒng),SPI 橋允許工程師直接控制 LTC6948 小數(shù) N PLL 的頻率,設(shè)置 LTC1668 DAC 電壓,從 LTC2498 ADC 讀取電壓,或從 LTC2983 讀取溫度,就像處理器可以。

Altera 為 SPI-Avalon MM 橋接器提供參考設(shè)計(jì)。不幸的是,文檔充其量是稀疏的,并且使用 Nios 處理器作為 SPI 主機(jī)。這實(shí)際上違背了 SPI 橋的目的,因?yàn)?Nios 可以直接連接到 Avalon MM 總線(xiàn)。一個(gè)實(shí)用的 SPI 主控制器是凌力爾特的Linduino 微控制器,它是一個(gè) Arduino 克隆,具有連接到 LT 演示板的額外功能。一項(xiàng)額外功能是電平轉(zhuǎn)換 SPI 端口。當(dāng)連接到電壓低至 1.2V 的 FPGA I/O bank 時(shí),這種電平轉(zhuǎn)換功能特別有用。Linduino 固件可用于通過(guò)虛擬 COM 端口接受命令并將命令轉(zhuǎn)換為 SPI 事務(wù)。

在對(duì) Altera 示例設(shè)計(jì)(圖 2的左側(cè))進(jìn)行逆向工程后,開(kāi)發(fā)了一個(gè) Python 庫(kù)來(lái)創(chuàng)建網(wǎng)橋可以接受的數(shù)據(jù)包。然后將這些數(shù)據(jù)包翻譯成 Linduino 命令。然后,Python 腳本允許硬件工程師完全控制項(xiàng)目,而無(wú)需重新發(fā)明接口協(xié)議。LinearLabTools Python 文件夾中提供了一個(gè)示例 Python 腳本,用于控制 LTC1668 DAC 的數(shù)字模式發(fā)生器的頻率。圖 3顯示了演示設(shè)置。

圖 4顯示了系統(tǒng)框圖。請(qǐng)注意,數(shù)控振蕩器 (NCO) 可由移位寄存器PIO 內(nèi)核控制。包含移位寄存器用于調(diào)試,因?yàn)樗试S直接控制 NCO。將 GPIO 線(xiàn)設(shè)置為高電平可啟用 SPI-Avalon 橋接器,它進(jìn)而控制 Avalon 總線(xiàn)上的 32 位 PIO 端口。然后 PIO 輸出控制 NCO 頻率。

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

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

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

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

圖 5 Qsys GUI

在 FPGA 中實(shí)現(xiàn)設(shè)計(jì)后,LinearLabTools 中提供的 Python 庫(kù)包含兩個(gè)與設(shè)計(jì)接口的函數(shù):

transaction_write (dc2026, base, write_size, data)

transaction_read (dc2026, base, read_size)

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

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

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

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

圖 6 Python Avalon 總線(xiàn)示例

圖 6中的 Python 腳本說(shuō)明了配置 NCO 的簡(jiǎn)單文本界面。重要提示:橋接器使用 SPI 模式 3。這被痛苦地確定為正確的 通過(guò)反復(fù)試驗(yàn)?zāi)J剑⑼ㄟ^(guò)分析 Altera 示例中的 Nios 處理器的 SPI 接口進(jìn)行驗(yàn)證。

該設(shè)計(jì)理念提供了在不接觸嵌入式處理器的情況下控制系統(tǒng)的能力,允許硬件工程師在不打擾軟件工程師的情況下推進(jìn)項(xiàng)目,并且對(duì)硬件設(shè)計(jì)的影響。

審核編輯:湯梓紅

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

    關(guān)注

    68

    文章

    19405

    瀏覽量

    231159
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605969
  • 嵌入式
    +關(guān)注

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307632
  • Altera
    +關(guān)注

    關(guān)注

    37

    文章

    787

    瀏覽量

    154160
  • 總線(xiàn)
    +關(guān)注

    關(guān)注

    10

    文章

    2903

    瀏覽量

    88384

原文標(biāo)題:不使用處理器控制 FPGA 總線(xiàn)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    專(zhuān)用處理器,未來(lái)電機(jī)驅(qū)動(dòng)的主流

    `專(zhuān)用處理器是未來(lái)電機(jī)驅(qū)動(dòng)的主流 專(zhuān)用處理器(ASSP)是未來(lái)電機(jī)驅(qū)動(dòng)的主流,是電機(jī)驅(qū)動(dòng)領(lǐng)域的技術(shù)發(fā)展趨勢(shì)。在硬件上,處理器本身就考慮到了大量電機(jī)驅(qū)動(dòng)本身的實(shí)際問(wèn)題,在集成控制MCU內(nèi)
    發(fā)表于 12-31 17:57

    不使用處理器的I2C控制器

    嗨,我需要一個(gè)I2C內(nèi)核來(lái)控制串行eeprom。在Web上的大多數(shù)I2C示例中,使用了微處理器。但我想只使用FPGA。我怎樣才能做到這一點(diǎn)?有沒(méi)有人有I2C控制器,不需要
    發(fā)表于 03-13 13:08

    什么是總線(xiàn)處理器

    第一章復(fù)習(xí)要點(diǎn)①微處理器 p12②微型計(jì)算機(jī)p13③總線(xiàn)處理器:一般也稱(chēng)中央處理器(CPU),是本身具有運(yùn)算能力和控制功能,是微型計(jì)算機(jī)的
    發(fā)表于 07-22 06:48

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

    DSP處理器與通用處理器的比較1 對(duì)密集的乘法運(yùn)算的支持GPP不是設(shè)計(jì)來(lái)做密集乘法任務(wù)的,即使是一些現(xiàn)代的GPP,也要求多個(gè)指令周期來(lái)做一次乘法。而DSP處理器使用專(zhuān)門(mén)的硬件來(lái)實(shí)現(xiàn)單周期乘法。DSP
    發(fā)表于 09-03 08:12

    多媒體應(yīng)用處理器的原理和應(yīng)用

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

    什么是通用處理器

    什么是通用處理器 通用微處理器一般指的是服務(wù)器用和桌面計(jì)算用CPU芯片。  目前,在桌面計(jì)算領(lǐng)域,Intel公司的Pentium系列微處理器芯片領(lǐng)導(dǎo)了市場(chǎng)的主流,占據(jù)著微
    發(fā)表于 01-12 15:40 ?4355次閱讀

    流水線(xiàn)操作,應(yīng)用處理器,應(yīng)用處理器的結(jié)構(gòu)和原理是什么?

    流水線(xiàn)操作,應(yīng)用處理器,應(yīng)用處理器的結(jié)構(gòu)和原理是什么? 與哈佛結(jié)構(gòu)相關(guān),DSP芯片廣泛采用流水線(xiàn)以減少指令執(zhí)行時(shí)間.從而增強(qiáng)
    發(fā)表于 03-26 15:03 ?1249次閱讀

    i.MX257應(yīng)用處理器數(shù)據(jù)手冊(cè)

    i.MX257應(yīng)用處理器數(shù)據(jù)手冊(cè)
    發(fā)表于 09-29 17:00 ?13次下載
    i.MX257應(yīng)<b class='flag-5'>用處理器</b>數(shù)據(jù)手冊(cè)

    基于i.MX257應(yīng)用處理器數(shù)據(jù)手冊(cè)

    基于i.MX257應(yīng)用處理器數(shù)據(jù)手冊(cè)
    發(fā)表于 10-09 09:05 ?15次下載
    基于i.MX257應(yīng)<b class='flag-5'>用處理器</b>數(shù)據(jù)手冊(cè)

    基于FPGA和多DSP的多總線(xiàn)并行處理器設(shè)計(jì)

    基于FPGA和多DSP的多總線(xiàn)并行處理器設(shè)計(jì)
    發(fā)表于 10-19 13:40 ?4次下載
    基于<b class='flag-5'>FPGA</b>和多DSP的多<b class='flag-5'>總線(xiàn)</b>并行<b class='flag-5'>處理器</b>設(shè)計(jì)

    基于面向i.MX應(yīng)用處理器的可靠架構(gòu)

    基于面向i.MX應(yīng)用處理器的可靠架構(gòu)
    發(fā)表于 10-31 14:07 ?7次下載
    基于面向i.MX應(yīng)<b class='flag-5'>用處理器</b>的可靠架構(gòu)

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

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

    面向高級(jí)應(yīng)用處理器的新型PMIC

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

    應(yīng)用處理器芯片行業(yè)科普

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

    什么是專(zhuān)用處理器?專(zhuān)用處理器的設(shè)計(jì)方法和工具介紹

    on some external data source, usually memory or some other data stream”。專(zhuān)用處理器就是針對(duì)特定應(yīng)用或者領(lǐng)域的處理器,類(lèi)似于是我們經(jīng)常說(shuō)的Domain Specific Architecture的概念
    發(fā)表于 07-17 14:14 ?1552次閱讀
    什么是專(zhuān)<b class='flag-5'>用處理器</b>?專(zhuān)<b class='flag-5'>用處理器</b>的設(shè)計(jì)方法和工具介紹
    ag百家乐官网下载| 邻水| 大发888提款| 百家乐技论坛| 广州百家乐桌子| 哪里有百家乐投注网| 永利高百家乐信誉| 温州市百家乐鞋业| 百家乐龙虎斗等| 全讯网赢足一世| 淘宝皇冠网店| 百家乐官网软件l柳州| 网上百家乐官网赌博网| 百家乐官网长t恤| 澳门百家乐网上赌博| 合肥太阳城在哪| 网上棋牌赌博| 百家乐官网扑克发牌器| 澳门百家乐官网鸿福厅| 百家乐官网破解秘| 新乐园百家乐娱乐城| 维也纳国际娱乐城| 菲律宾百家乐官网娱乐场| 百家乐游戏玩法技巧| 威尼斯人娱乐城轮盘| 百家乐官网有没有攻略| 机器百家乐官网心得| 同花顺百家乐官网娱乐城| 百家乐免费改| 赌百家乐官网赢的奥妙| 百家乐龙虎斗扎金花| 88娱乐城2官方网站| V博百家乐官网的玩法技巧和规则| 百家乐五湖四海娱乐场开户注册| 凯里市| 百家乐官网发牌规| 永利高a1娱乐城送彩金| 丰合网上娱乐| 百家乐官网论坛bocaila| 大发888怎么进不去| 狮威百家乐官网赌场娱乐网规则 |