那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Banana Pi BPI-W3 RK3588平臺驅動調試篇 [ PCIE篇一 ] - PCIE的開發指南

bananapi開源硬件 ? 來源:bananapi開源硬件 ? 作者:bananapi開源硬件 ? 2023-11-02 09:22 ? 次閱讀

RK3588平臺驅動調試篇 [ PCIE篇 ] - PCIE的開發指南

1、PCIE接口概述

PCIe(Peripheral Component Interconnect Express)是一種用于連接計算機內部組件的高速接口標準。以下是關于PCIe接口的簡要介紹:

高速傳輸: PCIe接口提供了高速的數據傳輸通道,可用于連接各種硬件設備,如圖形卡、存儲設備、網絡適配器等。它的速度通常以每秒傳輸的數據位數(例如PCIe x1、x4、x8、x16等)來表示,每個通道的帶寬可以根據需要擴展。

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

熱插拔支持: PCIe接口支持熱插拔,允許用戶在計算機運行時添加或移除PCIe設備,而不需要重新啟動計算機。

廣泛應用: PCIe接口廣泛用于連接圖形卡、固態硬盤(SSD)、擴展卡、網絡適配器和其他高性能設備。這使得計算機用戶可以根據需要擴展和升級系統的性能和功能。

PCIe接口是一種計算機硬件連接標準,它提供了高速、高性能的數據傳輸通道,支持多種設備的連接。

2、傳輸速率簡介

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

wKgaomVC-dmAdRZWAACj2N-ckc0705.jpg

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

8b/10b 意思是說,當我們要傳輸8b的數據時,實際在通道上傳輸的是10b的數據,解碼的時候,我們希望得到的是8b的有效數據。這樣,相當于有效的帶寬是實際帶寬的 80%。

同理128b/130b,是傳輸128bit數據實際線路中傳輸的是130bit數據。

速率圖中的單位間的關系:

傳輸速率單位 GT/s,表示 千兆傳輸/秒,是實際每秒傳輸的位數,他不包括額外吞吐量的開銷位。

兩個例子:

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 協議的每?條 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個PCIe的控制器,硬件IP是?樣的,配置不?樣,其中?個4Lane DM模式可以?持作為EP使?,另外?個2Lane和3個1Lane控制器均只能作為RC使?。RK3588有兩種PCIe PHY,其中?種為pcie3.0PHY,含2個Port共4個Lane,另?種是pcie2.0的PHY有3個,每個都是2.0 1Lane,跟SATAUSB combo使?。pcie3.0 PHY的4Lane可以根據實際需求拆分使?,拆分后需要合理配置對應的控制器。

wKgaomVC-dmASA5WAAQRx1tW1to846.jpg

3.2 kernel dts解析之PCIe

控制器在DTS對應節點名稱:

資源 模式 dts節點 可用phy 內部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模式時只能固定配合pcie30phy的port0,?作于 1Lane模式時,只能固定配合pcie30phy的port0lane0;

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

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

pcie30x4控制器?作于EP模式,可以使?4Lane模式,或者2Lane模式使?pcie30phy的port0, pcie30phy的port1中2lane可以作為RC配合其他控制器使?。默認使?common clock作為reference clock時,?法實現pcie30phy port0的lane0?作于EP模式,lane1?作于RC模式配合其他控制器使 ?,因為Port0的兩個lane是共??個輸?的reference clock,RC和EP同時使?clock可能會有沖突。

RK3588 pcie30phy 如果只使?其中?個port,另?個port也需要供電,refclk等其他信號可接地。

4、PCIe 使用配置

4.1 簡介

Armsom-W3開發板上有 1 個 PCIe3.0 x 4 接口和一個PCIe2.0接口,如圖

wKgZomVC-dqABZNEAALDdWqbcNw137.jpg

wKgaomVC-dqAdTtWAAX-sF3QebY191.jpg

可以插入對應模組使用, 如圖:

wKgZomVC-duAHelsAAEdXxMH7-A198.jpg

4.2 硬件設計

PCIe3.0 x 4 接口:

wKgaomVC-duAJvesAATeXYeTOE4384.jpg

PCIe 2.0接口:

wKgZomVC-dyATeFuAAPfy8T5Y38085.jpg

4.3 軟件配置

一般根據原理圖在 DTS 中配置供電引腳、復位引腳,選擇正確的 pcie 控制器節點和 PHY 節點使能就可以。

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 節點

pcie3x4、pcie2x1l0:pcie3x4 控制器節點

reset-gpios:復位引腳屬性

vcc3v3_pcie2x1l0、vcc3v3_pcie30:供電引腳節點

4.4 其他PCIE配置的實例

RK3588的控制器和PHY較多,按配置要點進?配置即可,這?還有?個典型范例供參考:

wKgaomVC-d2AcH1OAARurA6XV7k684.jpg

4.4.1 ?例1 pcie3.0phy拆分2個2Lane RC, 3個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個1Lane, 1個使?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個1Lane時,port0lane0固定配合pcie3x4控制器,pcie3phy的port0lane1固定配合pcie2x1l0控制器,port1lane0固定配合pcie3x2控制器,pcie3phy的port1lane1固定配合pcie2x1l1控制器,加上combphy0_ps固定配合pcie2x1l2。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PCIe
    +關注

    關注

    15

    文章

    1262

    瀏覽量

    83202
  • 開源
    +關注

    關注

    3

    文章

    3408

    瀏覽量

    42714
  • banana pi
    +關注

    關注

    1

    文章

    114

    瀏覽量

    3107
收藏 人收藏

    評論

    相關推薦

    文學會RK3588核心板存儲性能測試

    前言:在使用RK3588開發板進行項目開發時,掌握各種功能的調試方法是快速上手并實現項目需求的關鍵。本文作為功能調試系列
    的頭像 發表于 12-06 01:04 ?640次閱讀
    <b class='flag-5'>一</b>文學會<b class='flag-5'>RK3588</b>核心板存儲性能測試

    三分鐘快速上手RK3588開發

    前言:RK3588作為代高性能AIoT芯片,憑借其強大的算力和豐富的接口,正在迅速成為開發者和工程師們的熱門選擇。本文將開始帶你了解RK3588
    的頭像 發表于 11-28 15:15 ?1583次閱讀
    三分鐘快速上手<b class='flag-5'>RK3588</b><b class='flag-5'>開發</b>板

    RK3588 SDK入門之編譯使用

    前言:在上文章中,我們已經配置好了Ubuntu虛擬機。本期將重點介紹如何Ubuntu虛擬機中使用RK3588的SDK。具體內容包括SDK的下載與安裝、環境變量的配置、以及編譯調試
    的頭像 發表于 11-22 01:07 ?1364次閱讀
    <b class='flag-5'>RK3588</b> SDK入門之編譯使用<b class='flag-5'>篇</b>

    國產最強SOC—RK3588之虛擬機搭建

    步驟詳解,為開發者提供全面的指導,助您快速上手,為后續RK3588開發工作做好充分的準備。圖1EVM-RK3588評估板外觀(正面)、安裝
    的頭像 發表于 11-07 09:04 ?1893次閱讀
    國產最強SOC—<b class='flag-5'>RK3588</b>之虛擬機搭建<b class='flag-5'>篇</b>

    用戶手冊 | 國產最強SOC——RK3588之鏡像升級

    前言:本篇將詳細介紹如何對RK3588開發板的系統鏡像進行升級,以確保用戶在需要時能夠快速高效地完成升級目標。文章內容涵蓋鏡像文件的獲取、升級工具的使用步驟、以及常見問題的解決方法,幫助你快速
    的頭像 發表于 11-01 08:08 ?2149次閱讀
    用戶手冊 | 國產最強SOC——<b class='flag-5'>RK3588</b>之鏡像升級<b class='flag-5'>篇</b>

    Banana Pi BPI-R3路由器開發板運行 OrayOS物聯網系統

    近日,Banana PI開發板宣布與貝銳達成戰略合作,貝銳OrayOS現已成功適配Banana PIB
    的頭像 發表于 10-23 15:49 ?513次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI-R3</b>路由器<b class='flag-5'>開發</b>板運行 OrayOS物聯網系統

    用戶手冊 | 國產最強SOC——RK3588調試登錄

    基于眺望EVM-RK3588V1.0評估板與Core-RK3588核心板詳細介紹如何進行RK3588調試登錄與環境搭建,幫助開發者快速上手
    的頭像 發表于 10-18 08:06 ?4263次閱讀
    用戶手冊 | 國產最強SOC——<b class='flag-5'>RK3588</b>之<b class='flag-5'>調試</b>登錄<b class='flag-5'>篇</b>

    迅為瑞芯微RK3588開發板深度剖析丨首選的性能

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

    迅為RK3588開發板深度剖析丨首選的性能

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

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發
    的頭像 發表于 08-30 14:13 ?763次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK3588</b><b class='flag-5'>開發</b>板

    探索巔峰性能 |迅為 RK3588開發板深度剖析

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

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

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

    Banana Pi BPI-M7 RK3588開源硬件開發板評測試

    過去幾周,我對高性能 ARM 開發板的追求進展有些不順,但經過近三個月的測試,以下是我對Banana Pi BPI-M7的筆記。
    的頭像 發表于 06-18 15:21 ?740次閱讀
    <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'>開發</b>板評測試

    Banana Pi BPI-M7 RK3588開發板運行RKLLM軟件堆AI大模型部署

    Banana Pi BPI-M7開源硬件開發板 RKLLM 軟件堆棧可以幫助用戶快速將 AI 模型部署到 Rockchip 芯片上。 整體框架如下:
    的頭像 發表于 04-11 17:12 ?2584次閱讀
    <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'>開發</b>板運行RKLLM軟件堆AI大模型部署

    實測952Mbps!四路千兆網PCIe拓展方案,國產工業級!

    、N500L-AM4C-QD 測試工具:iperf3 創龍科技已基于瑞芯微RK3588J、RK3568J處理器實現了PCIe拓展多路千兆網口方案,以下主要介紹基于瑞芯微
    的頭像 發表于 04-11 09:29 ?874次閱讀
    實測952Mbps!四路千兆網<b class='flag-5'>PCIe</b>拓展方案,國產工業級!
    赌博网站| 香港六合彩开| 百家乐讯特| 百家乐官网强弱走势图| 皇冠网小说网址| 网上赌百家乐的玩法技巧和规则| 澳门百家乐官网论坛| 百家乐官网破解策略| tt真人娱乐城| 大发8888下载| 百家乐首页红利| 百家乐二代皇冠博彩| 百家乐官网正式版| 百家乐官网视频游戏聊天| 新全讯网| 亚洲顶级赌场第一品牌| 欧洲百家乐的玩法技巧和规则| 百家乐视频无法显示| 百家乐官网龙虎斗等| 百家乐官网太阳城开户| 澳门百家乐怎么玩| 大发888赌博违法吗| 百家乐专业赌| 百家乐的出千手法| 克拉克百家乐下载| 发中发百家乐官网的玩法技巧和规则| 澳门百家乐官网群官网 | 大发888网页版出纳| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 开心8百家乐娱乐城| 百家乐官网平台| 运城百家乐官网的玩法技巧和规则 | 太阳城娱乐网sss977| LV百家乐官网赢钱LV| 试玩百家乐官网的玩法技巧和规则 | 大发888 dafa888uk.com| 威尼斯人娱乐城备用网址| 联众百家乐的玩法技巧和规则| 百家乐香港六合彩| 百家乐游戏规则介绍| 百家乐游戏必赢法|