Alveo 加速卡除了有我們 ultrascale+系列的芯片以外,還有 TI 的 MSP432,它的作用就是監(jiān)控板子的狀態(tài),比如電流電壓溫度等信息。主控端可以通過 FPGA,訪問 MPS432,然后獲取這些信息。那么怎么樣簡單的獲得這些信息呢,為此我們準(zhǔn)備了 CMSIP。
系統(tǒng)構(gòu)架
下面這個(gè)圖就是整個(gè)主控與 FPGA 以及 MPS432 的模塊圖
有幾個(gè)關(guān)鍵的點(diǎn)簡單說一下,
首先圖中的紅色框可以看到 CMS 和 MSP432 的數(shù)據(jù)通過 UART 接口。
然后獲取的板上的信息都是存儲(chǔ)在 BRAM 中(綠色)
Microblaze 是 CMS 的主控模塊,控制 UART 接口,以及將獲取的數(shù)據(jù)存儲(chǔ)到 BRAM 中。
最后 CMS 本身有 AXI4-Lite 接口可以連接到 XDMA,主控端就可以訪問到 BRAM 中的數(shù)據(jù)了。
CMS example 設(shè)計(jì)
CMS 的 IP 本身不用配置,而且 example 設(shè)計(jì)可以直接跑。下面介紹下步驟。
1)。 首先打開 Vivado,選擇 board,這里我用 U50 板卡。
然后在 IP catalog 里找到 CMS IP,選擇 IP,然后不用配置,直接生成。
2)。 在 source 窗口右鍵這個(gè) IP,然后點(diǎn)擊 “openexample design”
Vivado 會(huì)打開一個(gè)新的例子工程。一般例子工程會(huì)根據(jù)你選擇的板卡,做好所有的管腳約束,所以只需要直接點(diǎn)擊 generatebitstream。
Vivado 會(huì)自動(dòng)給 cms IP 分配一個(gè)地址。打開 addresseditor,我們可以看到這個(gè)工程里的offset 恰好是 0x00000000,記住這個(gè)地址。后面在主機(jī)端訪問時(shí)會(huì)用到。
3)。 生成 bit 文件以后,將 U50 板子插在主機(jī) PCIe 槽中,連上 “alveoprogramming cable”,上電,將 bit 文件燒錄到 U50 板卡的 FPGA 以后,熱啟動(dòng)主機(jī),使其能夠再次 scan并發(fā)現(xiàn)板卡。如果一切正常,在主機(jī)端使用 lspci 命令可以找到板卡。
Lspci-vd 10ee:
0xee800000 就是 bar 空間地址,加上剛才 vivado 里看到 cms 的 offset 就可以直接訪問cms的 register 空間。
CMS 的 register 空間可以在 PG348 里找到。
所有的板卡的電壓,電流,功耗以及溫度等信息都放在REG_MAP空間里,offset 時(shí)0x0280000。
所以如果要訪問 CMS 的 REG_MAP 里的某一個(gè)寄存器的話,
地址= PCIebar 地址 + CMSoffset 地址 + REG_MAPoffset address+ 特定寄存器地址
簡單的方法你可以使用 devmem2 直接訪問,這樣不需要任何驅(qū)動(dòng)。
不過 CMS 的 microblaze 控制器時(shí) resetactive 狀況,所以我們先要解復(fù)位。
devmeme2 0xee820000 b 0x1
然后舉個(gè)例子我們要讀取下 12V 的平均功耗。
devmem20xee8282DC w
你就可以在終端看到 12V 電壓的平均功耗。
責(zé)任編輯:lq6
-
芯片
+關(guān)注
關(guān)注
455文章
50818瀏覽量
423720 -
電流
+關(guān)注
關(guān)注
40文章
6863瀏覽量
132207 -
電壓
+關(guān)注
關(guān)注
45文章
5607瀏覽量
115796 -
加速卡
+關(guān)注
關(guān)注
1文章
60瀏覽量
10948
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論