跳上Avalon總線:一種簡(jiǎn)化的FPGA接口
引言
許多新式FPGA設(shè)計(jì)采用了一些用于控制的嵌入式處理器。一種典型解決方案需要使用諸如NIOS等嵌入式軟處理器。另一種解決方案則使用包含一個(gè)內(nèi)置硬處理器的SoC(片上系統(tǒng))器件。圖1所示為一個(gè)典型的Altera FPGA系統(tǒng),該系統(tǒng)包含處理器和一系列通過(guò)Avalon內(nèi)存映射(MM)總線連接的外設(shè)。這些處理器極大地簡(jiǎn)化了最終應(yīng)用,但是要求開(kāi)發(fā)人員擁有堅(jiān)實(shí)的編程背景和精細(xì)復(fù)雜工具鏈的相關(guān)知識(shí)。這會(huì)阻礙調(diào)試工作的推進(jìn),特別是如果硬件工程師需要一種不會(huì)煩擾軟件工程師即可完成外設(shè)讀寫(xiě)的簡(jiǎn)單方法。
圖1 通過(guò)Avalon內(nèi)存映射(MM)總線連接的典型Altera FPGA系統(tǒng)
1 SPI-Avalon MM橋接器
該設(shè)計(jì)思想運(yùn)用了Altera(2015年被英特爾收購(gòu),成為其下的可編程解決方案事業(yè)部)的SPI從端至Avalon MM橋接器,以提供一種跳上Avalon總線的簡(jiǎn)單方法。采用這種方法有兩項(xiàng)優(yōu)勢(shì):它并未損害原始系統(tǒng)設(shè)計(jì),而且該橋接器能夠與嵌入式處理器共存。對(duì)于圖1中所示的系統(tǒng),SPI-Avalon MM橋接器將允許設(shè)計(jì)師直接控制LTC6948分?jǐn)?shù)N PLL的頻率,設(shè)定LTC1668 DAC電壓,從LTC2498讀取一個(gè)電壓,或者從LTC2983讀取溫度,就像處理器一樣。
圖2 熒光筆+示例代碼+反向工程=Python腳本
Altera 提供了一款針對(duì)SPI-Avalon MM橋接器的參考設(shè)計(jì)。不幸的是,文檔較為稀少,并且使用一個(gè)NIOS處理器作為SPI主控器。這實(shí)際上違背了SPI橋接器的初衷,因?yàn)镹IOS處理器可直接連接至Avalon MM總線。一款實(shí)用的SPI主控器是凌力爾特的Linduino?微控制器,它是具有附加特性的Arduino克隆產(chǎn)品,以與LT演示板相連接。附加特性之一是電平移位SPI端口。當(dāng)連接至具有低至1.2V電壓的FPGA I/O塊時(shí),這種電平移位功能是特別有幫助的。Linduino固件可用于通過(guò)一個(gè)虛擬COM端口接受命令并把命令轉(zhuǎn)化為SPI事務(wù)處理。
在對(duì)Altera實(shí)例設(shè)計(jì)實(shí)施了反向工程之后(圖2的左側(cè)),開(kāi)發(fā)一個(gè)Python庫(kù)以生成橋接器將要接受的數(shù)據(jù)包。這些數(shù)據(jù)包隨后被轉(zhuǎn)化為L(zhǎng)induino命令。這樣,一個(gè)簡(jiǎn)單的Python腳本使得硬件工程師能夠全面地控制項(xiàng)目,并不需要徹底改變接口協(xié)議。在 LinearLabTools Python文件夾中提供了一個(gè)控制用于LTC1668 DAC的數(shù)字圖形發(fā)生器之頻率的Python腳本實(shí)例。圖3所示為演示設(shè)置。
圖3 DC2459在工作中
圖4給出了FPGA的系統(tǒng)方框圖。請(qǐng)注意,數(shù)控振蕩器(DCO)可由移位寄存器或PIO內(nèi)核來(lái)控制。內(nèi)置移位寄存器用于調(diào)試,因?yàn)樗峁┝薔CO的直接控制。把GPIO線邏輯電平設(shè)定為“高”將使能SPI-Avalon MM橋接器,該橋接器接著通過(guò)Avalon MM總線控制一個(gè)32位PIO端口。然后,PIO輸出控制NCO頻率。
圖4 DC2459A FPGA系統(tǒng)方框圖
2系統(tǒng)集成工具Qsys
當(dāng)最基本的系統(tǒng)運(yùn)行時(shí),可以把額外的Avalon外設(shè)IP內(nèi)核連接至Avalon MM總線。為了設(shè)計(jì)系統(tǒng),Altera提供了一款被稱為Qsys的系統(tǒng)集成工具。這款工具提供一個(gè)GUI以相互連接IP。Qsys隨后被用于把GUI系統(tǒng)轉(zhuǎn)化為硬件描述語(yǔ)言(HDL)Verilog。圖5所示為GUI。最后,系統(tǒng)將被添加至用于實(shí)施的頂層。IP的地址是完全可配置的。就給出的實(shí)例而言,PIO被設(shè)定在一個(gè)0x0的基地址單元。
圖5 Qsys GUI
一旦在 FPGA 中實(shí)現(xiàn)了設(shè)計(jì),則LinearLabTools中提供的Python庫(kù)包含兩個(gè)函數(shù)以與設(shè)計(jì)接口:
transaction_write(dc2026, base, write_size, data)
transaction_read(dc2026, base, read_size)
這些函數(shù)的第一個(gè)參數(shù)是Linduino串行端口實(shí)例。第二個(gè)參數(shù)是外設(shè)在Avalon總線上的地址。這些函數(shù)分別接受和返還字節(jié)列表。編寫(xiě)這兩個(gè)函數(shù)以在讀和寫(xiě)IP時(shí)提供靈活性。如欲設(shè)定用于所提供實(shí)例的NCO,則所需的就是transaction_write函數(shù)。式(1)用于確定頻率控制字。
頻率控制字 = (期望的頻率/系統(tǒng)時(shí)鐘頻率) x 232 (1)
如要把NCO設(shè)定至1kHz和一個(gè)50Msps采樣速率,則頻率控制字?jǐn)?shù)值設(shè)為85899。該數(shù)值用十六進(jìn)制來(lái)表示即為 0x00014F8B,其作為一個(gè)4字節(jié)列表進(jìn)行傳遞。于是,用于把DAC設(shè)定至1kHz的Python代碼為:
transaction_write(linduino_serial_instance, 0, 0, [0x0,0x01,0x4F, 0x8B])
注:根據(jù)邏輯設(shè)計(jì),PIO 的基地址為零。
圖6 Python Avalon總線示例
3 Python Avalon總線示例
本文提供一個(gè)如圖6所示的簡(jiǎn)單Python腳本,以演示FPGA設(shè)計(jì)和Python腳本的接口。它包含一個(gè)簡(jiǎn)單的文本接口以配置NCO。一個(gè)重要提示是Avalon SPI橋接器采用SPI Mode 3。這是痛苦地通過(guò)反復(fù)試驗(yàn)而確定正確模式;并通過(guò)分析Altera實(shí)例中的NIOS處理器SPI接口進(jìn)行驗(yàn)證。
4 結(jié)論
該實(shí)例項(xiàng)目展示了完全無(wú)需“接觸”嵌入式處理器便可控制系統(tǒng)的能力。這讓硬件工程師不必麻煩軟件工程師就能在項(xiàng)目方面取得進(jìn)展。這種方法的好處可以悄然地添加至 FPGA,并不會(huì)影響原始設(shè)計(jì)。硬件工程師可以把精力集中在硬件上。
關(guān)鍵詞:
您可能也感興趣:
今日熱點(diǎn)
為您推薦
金融標(biāo)準(zhǔn)化“十四五”發(fā)展規(guī)劃發(fā)布 指明保險(xiǎn)業(yè)發(fā)展方向
“隔離險(xiǎn)”大火 銀保監(jiān)會(huì)強(qiáng)調(diào)保險(xiǎn)公司不得無(wú)理拒賠
遼寧將全面實(shí)施全民參保計(jì)劃 發(fā)展多層次、多支柱養(yǎng)老保險(xiǎn)體系
更多
- 廣東各類創(chuàng)新主體蓬勃發(fā)展 不斷強(qiáng)化戰(zhàn)略科技力量布局
- 臺(tái)州科技興市步伐更有力 創(chuàng)新鏈產(chǎn)業(yè)鏈深度融合
- 長(zhǎng)三角區(qū)域協(xié)同創(chuàng)新指數(shù)年均增速達(dá)9.54% 成果共用指標(biāo)增幅最大
- 大興機(jī)場(chǎng)臨空區(qū)設(shè)立國(guó)際創(chuàng)新中心 助力外資企業(yè)順利“走進(jìn)來(lái)”
- 湖南發(fā)布“創(chuàng)新十條” 幫助企業(yè)紓困增效、激發(fā)創(chuàng)新活力
- 科技部和浙江發(fā)布《創(chuàng)新行動(dòng)方案》 構(gòu)建高標(biāo)準(zhǔn)技術(shù)要素市場(chǎng)...
- 蕪湖釋放創(chuàng)新“N次方”效應(yīng) 數(shù)字賦能驅(qū)動(dòng)產(chǎn)業(yè)升級(jí)
- 重慶:激發(fā)人才創(chuàng)新活力,到2025年創(chuàng)新要素活躍度顯著增強(qiáng)
更多
- 1月武漢東湖高新區(qū)20多家企業(yè)獲股權(quán)融資 提升創(chuàng)投行業(yè)發(fā)展質(zhì)量
- 海南自貿(mào)港金融政策成效凸顯 去年外國(guó)來(lái)華投資流入48.4億美元
- 去年湖北共實(shí)施6342個(gè)工業(yè)技改項(xiàng)目 技改投資增長(zhǎng)37.9%
- 新天鋼去年盈利再創(chuàng)新高 混改三年來(lái)項(xiàng)目投資近200億元
- 貴州發(fā)布2500個(gè)重點(diǎn)民間投資項(xiàng)目 放寬多個(gè)領(lǐng)域市場(chǎng)準(zhǔn)入
- 外資企業(yè)加碼在華業(yè)務(wù)布局 地方全力促進(jìn)外資項(xiàng)目簽約落地
- 青島西海岸新區(qū)推動(dòng)審批再提速 將引進(jìn)世界500強(qiáng)投資項(xiàng)目超20個(gè)
- “德清高新板”掛牌企業(yè)已達(dá)58家 有11家企業(yè)獲得融資超4億元
排行
最近更新
- 跳上Avalon總線:一種簡(jiǎn)化的FPGA接口
- 醫(yī)學(xué)護(hù)膚品牌益膚:新產(chǎn)品新渠道新模式迎新賀禧開(kāi)門(mén)紅
- 部分公募基金下調(diào)產(chǎn)品申購(gòu)費(fèi)等費(fèi)率 吸引機(jī)構(gòu)進(jìn)行大額申購(gòu)
- 上周房地產(chǎn)板塊大漲超4% 部分地產(chǎn)股迎估值修復(fù)行情
- 新年以來(lái)A股市場(chǎng)呈分化走勢(shì) 低估值藍(lán)籌股受到資金追捧
- 捷途X70 PLUS對(duì)比長(zhǎng)安CS75 PLUS 誰(shuí)更適合陪你過(guò)情人節(jié)?
- XXOO中,男人的哪些行為更容易加分?愛(ài)廷玖,讓愛(ài)更持久
- 沈陽(yáng)沈北新區(qū)1月簽約億元以上項(xiàng)目40個(gè) 做好結(jié)構(gòu)調(diào)整“三篇大...
- 綠地香港1月合約銷(xiāo)售同比下降60.5% 去年銷(xiāo)售目標(biāo)達(dá)成率55%
- 國(guó)家知識(shí)產(chǎn)權(quán)局:打擊惡意搶注“冰墩墩”“谷愛(ài)凌”等商標(biāo)注冊(cè)
- “冰雪熱”另一面,窮人不配學(xué)滑雪?
- 基金業(yè)績(jī)波動(dòng)、發(fā)行市場(chǎng)遇冷,醫(yī)藥女神葛蘭也跌落神壇
- 干了這碗麻辣燙!打工人吃出來(lái)的6000家楊國(guó)福想上市了
- 佳源國(guó)際1月份合同銷(xiāo)售同比下降超三成
- 截至發(fā)稿港股內(nèi)房股繼續(xù)下挫:中國(guó)奧園 雅居樂(lè)集團(tuán) 中駿集...
- 美國(guó)面臨禽流感疫情爆發(fā)風(fēng)險(xiǎn) 或加劇食品通脹水平
- 國(guó)際能源署:消極增產(chǎn)的歐佩克+ 是油價(jià)飆升的主要推手
- 三星堆元宇宙典藏主題系列今日上線
- 比亞迪申請(qǐng)?jiān)钪嫔虡?biāo)
- 東方財(cái)富早盤(pán)跌超10% 此前申請(qǐng)“關(guān)燈吃面”商標(biāo)
- 2022年1月TOP100房企銷(xiāo)售額均值61.8億元 同比下降23.1%
- 綠谷世界元農(nóng)場(chǎng),開(kāi)創(chuàng)元宇宙與農(nóng)業(yè)產(chǎn)業(yè)的深度融合典范!
- 華東醫(yī)藥收購(gòu)醫(yī)美器械公司,兩條腿走路能否提升業(yè)績(jī)?
- 潘多拉在中國(guó)市場(chǎng)的表現(xiàn)低迷,將用何種方式重新吸引消費(fèi)者?
- 星速瀏覽器教你一秒搶冰墩墩
- 上市豬企虧損面逐步擴(kuò)大,生豬市場(chǎng)的行情何時(shí)能好轉(zhuǎn)?
- 情人節(jié)鮮花市場(chǎng)迎銷(xiāo)售高峰 200元以內(nèi)的花束銷(xiāo)售最火爆
- 春節(jié)過(guò)后消化不良、胃痛患者居多 這6個(gè)“護(hù)胃”建議要牢記
- 轉(zhuǎn)型跨越——問(wèn)道“九五之尊”檳榔推進(jìn)會(huì)火力全開(kāi)!
- 【快易貓】如何讓實(shí)體門(mén)店獲客變的更簡(jiǎn)單?!
今日要聞
- 跳上Avalon總線:一種簡(jiǎn)化的FPGA接口
- 部分公募基金下調(diào)產(chǎn)品申購(gòu)費(fèi)等費(fèi)率 吸引機(jī)構(gòu)進(jìn)行大額申購(gòu)
- 新年以來(lái)A股市場(chǎng)呈分化走勢(shì) 低估值藍(lán)籌股受到資金追捧
- 綠地香港1月合約銷(xiāo)售同比下降60.5% 去年銷(xiāo)售目標(biāo)達(dá)成率55%
- 國(guó)家知識(shí)產(chǎn)權(quán)局:打擊惡意搶注“冰墩墩”“谷愛(ài)凌”等商標(biāo)注冊(cè)
- “冰雪熱”另一面,窮人不配學(xué)滑雪?
- 基金業(yè)績(jī)波動(dòng)、發(fā)行市場(chǎng)遇冷,醫(yī)藥女神葛蘭也跌落神壇
- 干了這碗麻辣燙!打工人吃出來(lái)的6000家楊國(guó)福想上市了
- 佳源國(guó)際1月份合同銷(xiāo)售同比下降超三成
- 截至發(fā)稿港股內(nèi)房股繼續(xù)下挫:中國(guó)奧園 雅居樂(lè)集團(tuán) 中駿集團(tuán)控股均跌超6%