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

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

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

Banana Pi BPI-W3 RK3588平臺(tái)驅(qū)動(dòng)調(diào)試篇 [ PCIE篇一 ] - PCIE的開(kāi)發(fā)指南

bananapi開(kāi)源硬件 ? 來(lái)源:bananapi開(kāi)源硬件 ? 作者:bananapi開(kāi)源硬件 ? 2023-11-02 09:22 ? 次閱讀

RK3588平臺(tái)驅(qū)動(dòng)調(diào)試篇 [ PCIE篇 ] - PCIE的開(kāi)發(fā)指南

1、PCIE接口概述

PCIe(Peripheral Component Interconnect Express)是一種用于連接計(jì)算機(jī)內(nèi)部組件的高速接口標(biāo)準(zhǔn)。以下是關(guān)于PCIe接口的簡(jiǎn)要介紹:

高速傳輸: PCIe接口提供了高速的數(shù)據(jù)傳輸通道,可用于連接各種硬件設(shè)備,如圖形卡、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)適配器等。它的速度通常以每秒傳輸?shù)臄?shù)據(jù)位數(shù)(例如PCIe x1、x4、x8、x16等)來(lái)表示,每個(gè)通道的帶寬可以根據(jù)需要擴(kuò)展。

點(diǎn)對(duì)點(diǎn)連接: PCIe采用點(diǎn)對(duì)點(diǎn)連接的架構(gòu),這意味著每個(gè)設(shè)備都直接連接到主板上的PCIe插槽,而不需要與其他設(shè)備共享帶寬。這有助于減少延遲并提高性能。

熱插拔支持: PCIe接口支持熱插拔,允許用戶(hù)在計(jì)算機(jī)運(yùn)行時(shí)添加或移除PCIe設(shè)備,而不需要重新啟動(dòng)計(jì)算機(jī)。

廣泛應(yīng)用: PCIe接口廣泛用于連接圖形卡、固態(tài)硬盤(pán)(SSD)、擴(kuò)展卡、網(wǎng)絡(luò)適配器和其他高性能設(shè)備。這使得計(jì)算機(jī)用戶(hù)可以根據(jù)需要擴(kuò)展和升級(jí)系統(tǒng)的性能和功能。

PCIe接口是一種計(jì)算機(jī)硬件連接標(biāo)準(zhǔn),它提供了高速、高性能的數(shù)據(jù)傳輸通道,支持多種設(shè)備的連接。

2、傳輸速率簡(jiǎn)介

PCIe 分類(lèi)、速度,按lane的個(gè)數(shù)分有 x1 x2 x4 x8 x16 (最大可支持32個(gè)通道),按代來(lái)分 有 gen1 gen2 gen3 gen4

wKgaomVC-dmAdRZWAACj2N-ckc0705.jpg

PCIe gen1 和 PCIe gen2 采用的編解碼方式是 8b/10b,PCIe gen3 和 之后的 采用的是 128b/130b 的編碼方式。

8b/10b 意思是說(shuō),當(dāng)我們要傳輸8b的數(shù)據(jù)時(shí),實(shí)際在通道上傳輸?shù)氖?0b的數(shù)據(jù),解碼的時(shí)候,我們希望得到的是8b的有效數(shù)據(jù)。這樣,相當(dāng)于有效的帶寬是實(shí)際帶寬的 80%。

同理128b/130b,是傳輸128bit數(shù)據(jù)實(shí)際線路中傳輸?shù)氖?30bit數(shù)據(jù)。

速率圖中的單位間的關(guān)系:

傳輸速率單位 GT/s,表示 千兆傳輸/秒,是實(shí)際每秒傳輸?shù)奈粩?shù),他不包括額外吞吐量的開(kāi)銷(xiāo)位。

兩個(gè)例子:

PCIe gen1 x1 傳輸速率 2.5GT/s = 2500MT/s = ( 2500 / 10 ) MB/s

PCIe gen3 x1 傳輸速率 8GT/s = 8000MT/s = ( 8000 / 130 ) x ( 128/8 ) MB/s= 984.6153... MB/s

PCIe 可?帶寬:吞吐量 = 傳輸速率 * 編碼?案

例如:PCIe 2.0 協(xié)議的每?條 Lane ?持58 / 10 = 4 Gbps = 500 MB/s 的速率,Pcie 2.0 x 8的通道為例,x8的可?帶寬為 48 = 32 Gbps = 4 GB/s。

3、 芯片PCIE資源

3.1 硬件介紹

RK3588共有5個(gè)PCIe的控制器,硬件IP是?樣的,配置不?樣,其中?個(gè)4Lane DM模式可以?持作為EP使?,另外?個(gè)2Lane和3個(gè)1Lane控制器均只能作為RC使?。RK3588有兩種PCIe PHY,其中?種為pcie3.0PHY,含2個(gè)Port共4個(gè)Lane,另?種是pcie2.0的PHY有3個(gè),每個(gè)都是2.0 1Lane,跟SATAUSB combo使?。pcie3.0 PHY的4Lane可以根據(jù)實(shí)際需求拆分使?,拆分后需要合理配置對(duì)應(yīng)的控制器。

wKgaomVC-dmASA5WAAQRx1tW1to846.jpg

3.2 kernel dts解析之PCIe

控制器在DTS對(duì)應(yīng)節(jié)點(diǎn)名稱(chēng):

資源 模式 dts節(jié)點(diǎn) 可用phy 內(nèi)部DMA
PCIe
Gen3 x 4lane
RC/EP pcie3x4:
pcie@fe150000
pcie30phy
PCIe
Gen3 x 2lane
RC only pcie3x2:
pcie@fe160000
pcie30phy
PCIe
Gen3 x 1lane
RC only pcie2x1l0:
pcie@fe170000
pcie30phy,
combphy1_ps
PCIe
Gen3 x 1lane
RC only pcie2x1l1:
pcie@fe180000
pcie30phy,
combphy2_psu
PCIe
Gen3 x 1lane
RC only pcie2x1l2:
pcie@fe190000
combphy0_ps

在kernel/arch/arm64/boot/dts/rockchip/rk3588.dtsi下有具體描述

使用限制

pcie30phy拆分后,pcie30x4控制器,?作于2Lane模式時(shí)只能固定配合pcie30phy的port0,?作于 1Lane模式時(shí),只能固定配合pcie30phy的port0lane0;

pcie30phy拆分后,pcie30x2控制器,?作于2Lane模式時(shí)只能固定配合pcie30phy的port1,?作于 1Lane模式時(shí),只能固定配合pcie30phy的port1lane0;

pcie30phy拆分為4個(gè)1Lane,pcie3phy的port0lane1只能固定配合pcie2x1l0控制器,pcie3phy的 port1lane1只能固定配合pcie2x1l1控制器;

pcie30x4控制器?作于EP模式,可以使?4Lane模式,或者2Lane模式使?pcie30phy的port0, pcie30phy的port1中2lane可以作為RC配合其他控制器使?。默認(rèn)使?common clock作為reference clock時(shí),?法實(shí)現(xiàn)pcie30phy port0的lane0?作于EP模式,lane1?作于RC模式配合其他控制器使 ?,因?yàn)镻ort0的兩個(gè)lane是共??個(gè)輸?的reference clock,RC和EP同時(shí)使?clock可能會(huì)有沖突。

RK3588 pcie30phy 如果只使?其中?個(gè)port,另?個(gè)port也需要供電,refclk等其他信號(hào)可接地。

4、PCIe 使用配置

4.1 簡(jiǎn)介

Armsom-W3開(kāi)發(fā)板上有 1 個(gè) PCIe3.0 x 4 接口和一個(gè)PCIe2.0接口,如圖

wKgZomVC-dqABZNEAALDdWqbcNw137.jpg

wKgaomVC-dqAdTtWAAX-sF3QebY191.jpg

可以插入對(duì)應(yīng)模組使用, 如圖:

wKgZomVC-duAHelsAAEdXxMH7-A198.jpg

4.2 硬件設(shè)計(jì)

PCIe3.0 x 4 接口:

wKgaomVC-duAJvesAATeXYeTOE4384.jpg

PCIe 2.0接口:

wKgZomVC-dyATeFuAAPfy8T5Y38085.jpg

4.3 軟件配置

一般根據(jù)原理圖在 DTS 中配置供電引腳、復(fù)位引腳,選擇正確的 pcie 控制器節(jié)點(diǎn)和 PHY 節(jié)點(diǎn)使能就可以。

kernel/arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts中配置如下:

/ {
	vcc12v_dcin: vcc12v-dcin {
		compatible = "regulator-fixed";
		regulator-name = "vcc12v_dcin";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = ;
		regulator-max-microvolt = ;
	};

	vcc5v0_sys: vcc5v0-sys {
		compatible = "regulator-fixed";
		regulator-name = "vcc5v0_sys";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = ;
		regulator-max-microvolt = ;
		vin-supply = ;
	};

	vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_pcie2x1l0";
		regulator-min-microvolt = ;
		regulator-max-microvolt = ;
		enable-active-high;
		regulator-boot-on;
		regulator-always-on;
		gpios = ;
		startup-delay-us = ;
		vin-supply = ;
	};

	vcc3v3_pcie30: vcc3v3-pcie30 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_pcie30";
		regulator-min-microvolt = ;
		regulator-max-microvolt = ;
		enable-active-high;
		gpios = ;
		startup-delay-us = ;
		vin-supply = ;
	};

}

&pcie2x1l0 {
	reset-gpios = ;
	vpcie3v3-supply = ;
	status = "okay";
};

&combphy1_ps {
	status = "okay";
};

&pcie30phy {
	rockchip,pcie30-phymode = ;
	status = "okay";
};

&pcie3x4 {
	reset-gpios = ;
	vpcie3v3-supply = ;
	status = "okay";
};

pcie30phy、combphy1_ps:PHY 節(jié)點(diǎn)

pcie3x4、pcie2x1l0:pcie3x4 控制器節(jié)點(diǎn)

reset-gpios:復(fù)位引腳屬性

vcc3v3_pcie2x1l0、vcc3v3_pcie30:供電引腳節(jié)點(diǎn)

4.4 其他PCIE配置的實(shí)例

RK3588的控制器和PHY較多,按配置要點(diǎn)進(jìn)?配置即可,這?還有?個(gè)典型范例供參考:

wKgaomVC-d2AcH1OAARurA6XV7k684.jpg

4.4.1 ?例1 pcie3.0phy拆分2個(gè)2Lane RC, 3個(gè)PCIe 2.0 1Lane

/ {
    vcc3v3_pcie30: vcc3v3-pcie30 {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_pcie30";
        regulator-min-microvolt = ;
        regulator-max-microvolt = ;
        enable-active-high;
        gpios = ;
        startup-delay-us = ;
        vin-supply = ;
    };
};

&combphy0_ps {
	status = "okay";
};
&combphy1_ps {
	status = "okay";
};
&combphy2_psu {
	status = "okay";
};
&pcie2x1l0 {
    phys = ;
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie2x1l1 {
    phys = ;
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie2x1l2 {
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie30phy {
	/*pcie30phy的組合使?模式:
    PHY_MODE_PCIE_NANBNB  /* P1:PCIe3x2 + P0:PCIe3x2 */
    PHY_MODE_PCIE_NANBBI  /* P1:PCIe3x2 + P0:PCIe3x1*2 */
    PHY_MODE_PCIE_NABINB  /* P1:PCIe3x1*2 + P0:PCIe3x2 */
    PHY_MODE_PCIE_NABIBI  /* P1:PCIe3x1*2 + P0:PCIe3x1*2 */
	*/
    rockchip,pcie30-phymode = ;
    status = "okay";
};
&pcie3x2 {
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie3x4 {
    num-lanes = ;//拆分為2lan使用
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};

4.4.2 ?例2 pcie3.0phy拆分為4個(gè)1Lane, 1個(gè)使?PCIe 2.0 1 Lane

/ {
    vcc3v3_pcie30: vcc3v3-pcie30 {
        compatible = "regulator-fixed";
        regulator-name = "vcc3v3_pcie30";
        regulator-min-microvolt = ;
        regulator-max-microvolt = ;
        enable-active-high;
        gpios = ;
        startup-delay-us = ;
        vin-supply = ;
    };
};
&combphy0_ps {
	status = "okay";
};
&pcie2x1l0 {
    phys = ;
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie2x1l1 {
    phys = ;
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie2x1l2 {
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie30phy {
    rockchip,pcie30-phymode = ;
    status = "okay";
};
&pcie3x2 {
    num-lanes = ;
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};
&pcie3x4 {
    num-lanes = ;
    reset-gpios = ;
    vpcie3v3-supply = ;
    status = "okay";
};

pcie30phy拆分為4個(gè)1Lane時(shí),port0lane0固定配合pcie3x4控制器,pcie3phy的port0lane1固定配合pcie2x1l0控制器,port1lane0固定配合pcie3x2控制器,pcie3phy的port1lane1固定配合pcie2x1l1控制器,加上combphy0_ps固定配合pcie2x1l2。

審核編輯 黃宇

聲明:本文內(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)投訴
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1200

    瀏覽量

    82352
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3215

    瀏覽量

    42327
  • banana pi
    +關(guān)注

    關(guān)注

    1

    文章

    107

    瀏覽量

    2953
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    國(guó)產(chǎn)最強(qiáng)SOC—RK3588之虛擬機(jī)搭建

    步驟詳解,為開(kāi)發(fā)者提供全面的指導(dǎo),助您快速上手,為后續(xù)RK3588開(kāi)發(fā)工作做好充分的準(zhǔn)備。圖1EVM-RK3588評(píng)估板外觀(正面)、安裝
    的頭像 發(fā)表于 11-07 09:04 ?167次閱讀
    國(guó)產(chǎn)最強(qiáng)SOC—<b class='flag-5'>RK3588</b>之虛擬機(jī)搭建<b class='flag-5'>篇</b>

    Banana Pi BPI-R3路由器開(kāi)發(fā)板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    近日,Banana PI開(kāi)發(fā)板宣布與貝銳達(dá)成戰(zhàn)略合作,貝銳OrayOS現(xiàn)已成功適配Banana PIB
    的頭像 發(fā)表于 10-23 15:49 ?286次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI-R3</b>路由器<b class='flag-5'>開(kāi)發(fā)</b>板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    用戶(hù)手冊(cè) | 國(guó)產(chǎn)最強(qiáng)SOC——RK3588調(diào)試登錄

    基于眺望EVM-RK3588V1.0評(píng)估板與Core-RK3588核心板詳細(xì)介紹如何進(jìn)行RK3588調(diào)試登錄與環(huán)境搭建,幫助開(kāi)發(fā)者快速上手
    的頭像 發(fā)表于 10-18 08:06 ?1847次閱讀
    用戶(hù)手冊(cè) | 國(guó)產(chǎn)最強(qiáng)SOC——<b class='flag-5'>RK3588</b>之<b class='flag-5'>調(diào)試</b>登錄<b class='flag-5'>篇</b>

    迅為瑞芯微RK3588開(kāi)發(fā)板深度剖析丨首選的性能

    RK3588作為瑞芯微公司旗下款高端處理器的杰出代表,憑借卓越的性能與多樣化的外設(shè)接口成為了眾多開(kāi)發(fā)和愛(ài)好者的首選。 隨著RK3588在市場(chǎng)上的廣泛應(yīng)用,大家不禁要提出疑問(wèn):
    發(fā)表于 10-17 10:49

    迅為RK3588開(kāi)發(fā)板深度剖析丨首選的性能

    RK3588作為瑞芯微公司旗下款高端處理器的杰出代表,憑借卓越的性能與多樣化的外設(shè)接口成為了眾多開(kāi)發(fā)和愛(ài)好者的首選。 隨著RK3588在市場(chǎng)上的廣泛應(yīng)用,大家不禁要提出疑問(wèn):
    發(fā)表于 09-03 15:49

    RK3588!黑神話悟空,啟動(dòng)?-迅為電子RK3588開(kāi)發(fā)

    RK3588!黑神話悟空,啟動(dòng)?-迅為電子RK3588開(kāi)發(fā)
    的頭像 發(fā)表于 08-30 14:13 ?469次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,啟動(dòng)?-迅為電子<b class='flag-5'>RK3588</b><b class='flag-5'>開(kāi)發(fā)</b>板

    探索巔峰性能 |迅為 RK3588開(kāi)發(fā)板深度剖析

    RK3588作為瑞芯微公司旗下款高端處理器的杰出代表,憑借卓越的性能與多樣化的外設(shè)接口成為了眾多開(kāi)發(fā)和愛(ài)好者的首選。 隨著RK3588在市場(chǎng)上的廣泛應(yīng)用,大家不禁要提出疑問(wèn):
    發(fā)表于 08-09 15:44

    迅為電子RK3588S與RK3588硬件性能區(qū)別及板卡選型

    迅為電子RK3588S與RK3588硬件性能區(qū)別及板卡選型
    的頭像 發(fā)表于 06-25 15:30 ?2883次閱讀
    迅為電子<b class='flag-5'>RK3588</b>S與<b class='flag-5'>RK3588</b>硬件性能區(qū)別及板卡選型

    Banana Pi BPI-M7 RK3588開(kāi)源硬件開(kāi)發(fā)板評(píng)測(cè)試

    過(guò)去幾周,我對(duì)高性能 ARM 開(kāi)發(fā)板的追求進(jìn)展有些不順,但經(jīng)過(guò)近三個(gè)月的測(cè)試,以下是我對(duì)Banana Pi BPI-M7的筆記。
    的頭像 發(fā)表于 06-18 15:21 ?579次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI</b>-M7 <b class='flag-5'>RK3588</b>開(kāi)源硬件<b class='flag-5'>開(kāi)發(fā)</b>板評(píng)測(cè)試

    Banana Pi BPI-M7 RK3588開(kāi)發(fā)板運(yùn)行RKLLM軟件堆AI大模型部署

    Banana Pi BPI-M7開(kāi)源硬件開(kāi)發(fā)板 RKLLM 軟件堆棧可以幫助用戶(hù)快速將 AI 模型部署到 Rockchip 芯片上。 整體框架如下:
    的頭像 發(fā)表于 04-11 17:12 ?2369次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI</b>-M7 <b class='flag-5'>RK3588</b><b class='flag-5'>開(kāi)發(fā)</b>板運(yùn)行RKLLM軟件堆AI大模型部署

    實(shí)測(cè)952Mbps!四路千兆網(wǎng)PCIe拓展方案,國(guó)產(chǎn)工業(yè)級(jí)!

    、N500L-AM4C-QD 測(cè)試工具:iperf3 創(chuàng)龍科技已基于瑞芯微RK3588J、RK3568J處理器實(shí)現(xiàn)了PCIe拓展多路千兆網(wǎng)口方案,以下主要介紹基于瑞芯微
    的頭像 發(fā)表于 04-11 09:29 ?656次閱讀
    實(shí)測(cè)952Mbps!四路千兆網(wǎng)<b class='flag-5'>PCIe</b>拓展方案,國(guó)產(chǎn)工業(yè)級(jí)!

    Banana Pi BPI-W3 開(kāi)源硬件開(kāi)發(fā)板應(yīng)用特點(diǎn)

    Banana Pi BPI-W3 開(kāi)源硬件開(kāi)發(fā)板是款強(qiáng)大的開(kāi)源硬件開(kāi)發(fā)板,具有廣泛的功能和應(yīng)用
    的頭像 發(fā)表于 12-01 15:44 ?567次閱讀

    RK3588-MPP解碼詳解

    .簡(jiǎn)介[RK3588從入門(mén)到精通]專(zhuān)欄總目錄本篇文章進(jìn)行RK3588-MPP解碼的詳細(xì)解析二.環(huán)境介紹硬件環(huán)境:ArmSoM-W3RK3588開(kāi)發(fā)
    的頭像 發(fā)表于 11-21 11:04 ?1505次閱讀
    <b class='flag-5'>RK3588</b>-MPP解碼詳解

    Banana Pi BPI-M7 迷你尺寸開(kāi)源硬件開(kāi)發(fā)板采用瑞芯微RK3588芯片設(shè)計(jì)

    ) 是由廣東比派科技有限公司主導(dǎo)的個(gè)開(kāi)源硬件項(xiàng)目,專(zhuān)注在ARM,MCU系列開(kāi)源硬件開(kāi)發(fā)板,提供全開(kāi)放的軟件與硬件平臺(tái),打造基礎(chǔ)技術(shù)開(kāi)發(fā)平臺(tái)
    發(fā)表于 11-18 13:51

    迷你尺寸開(kāi)源硬件開(kāi)發(fā)Banana Pi BPI-M7 采用瑞芯微RK3588芯片設(shè)計(jì)

    )是由廣東比派科技有限公司主導(dǎo)的個(gè)開(kāi)源硬件項(xiàng)目,專(zhuān)注在ARM,MCU系列開(kāi)源硬件開(kāi)發(fā)板,提供全開(kāi)放的軟件與硬件平臺(tái),打造基礎(chǔ)技術(shù)開(kāi)發(fā)平臺(tái)
    發(fā)表于 11-18 13:49