英創(chuàng)公司推出的ESM6802和ESM7100主板分別都帶有一路千兆網(wǎng)口和一路百兆網(wǎng)口,同時ESM6802主板可以選擇支持PCIe總線的配置(ESM7100默認支持PCIe總線),利用這一路PCIe總線,就可以再擴展出一路千兆網(wǎng)口實現(xiàn)雙千兆網(wǎng)口的方案。
在ESMARC通用評估底板上將PCIe總線以M.2的接口形式引出,M.2接口可以支持SSD實現(xiàn)大容量存儲,也可以支持擴展以太網(wǎng)或者wifi,這里主要介紹擴展千兆以太網(wǎng)的方案。市面上有很多M.2接口的千兆以太網(wǎng)模塊,常見的像Realtek、Intel等公司都有現(xiàn)成的模塊可以使用,本文章采用Realtek公司的RTL8111控制芯片來進行測試和說明。
RTL8111模塊
ESMARC評估底板上面的M.2接口是采用的M Key類型,而大多數(shù)M.2的以太網(wǎng)模塊都是B Key或者B&M Key,所以要在評估底板上連接測試的話,需要使用B&M Key的模塊。因為M.2接口的定義是標準的,如果客戶自行設(shè)計底板,可以參考M.2的規(guī)范,根據(jù)需求設(shè)計成別的類型。關(guān)于M key和B key的區(qū)別可以參考下圖:
M key和B key的區(qū)別
ESM6802主板上的PCIe總線為1.0版本,理論最高傳輸速度為250 MB/s,ESM7100主板的PCIe總線為2.0標準,理論最高速度為500MB/s。本次測試選擇ESM7100主板作為平臺與RTL8111連接測試,硬件的連接非常簡單,如下圖:
硬件連接示意圖
固定好后即可進行上電,一旦PCIe總線識別到M.2網(wǎng)絡(luò)設(shè)備,系統(tǒng)會自動加載驅(qū)動模塊,如果沒有自動加載,輸入命令modprobe r8169即可。進入系統(tǒng)后可以使用lspci命令查看PCIe總線下的設(shè)備,這時在終端應該能看到擴展的千兆以太網(wǎng)卡的設(shè)備信息。擴展網(wǎng)卡通過驅(qū)動會在Linux系統(tǒng)中生成一個標準的網(wǎng)絡(luò)設(shè)備,其所有的設(shè)置和操作都和標準的網(wǎng)口完全相同。因為還沒有設(shè)置網(wǎng)絡(luò)參數(shù),設(shè)備默認是處于down的狀態(tài),所以需要使用命令ifconfig –a查看擴展網(wǎng)絡(luò)對應的網(wǎng)絡(luò)設(shè)備信息:
網(wǎng)卡信息
從圖中可以看到新的網(wǎng)絡(luò)設(shè)備名稱為enp1s0,將ip地址和子網(wǎng)掩碼等網(wǎng)絡(luò)參數(shù)配置好之后,設(shè)備會自動轉(zhuǎn)換為up的狀態(tài)。和標準網(wǎng)口一樣,可以使用ifconfig命令來配置ip地址等參數(shù),如下圖:
配置IP地址
配置好網(wǎng)絡(luò)參數(shù)以后,客戶可以通過ping命令來測試這個網(wǎng)口,如果能夠正常通訊,就說明配置正確,網(wǎng)卡的驅(qū)動為客戶提供了標準的接口,所以在應用程序中的操作方法和板卡自帶網(wǎng)口也是完全相同的,都采用標準的套接字進行編程。
最后我們來測試一下通過M.2接口擴展的千兆以太網(wǎng)的性能,使用iperf3工具測試網(wǎng)卡的數(shù)據(jù)如下:
ESM7100主板自帶千兆網(wǎng)口:
自帶網(wǎng)口測試數(shù)據(jù)
擴展千兆以太網(wǎng)測試情況:
擴展網(wǎng)口測試數(shù)據(jù)
從測試結(jié)果可以看到擴展千兆以太網(wǎng)的帶寬為526Mbit/sec左右,比自帶的千兆網(wǎng)口帶寬要小一些,但是也能夠滿足大部分工業(yè)控制上的需求了。
如果有感興趣的客戶,可以和英創(chuàng)的工程師聯(lián)系了解詳細情況。
成都英創(chuàng)信息技術(shù)有限公司 028-8618 0660