女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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
    +關注

    關注

    16

    文章

    1341

    瀏覽量

    85134
  • 開源
    +關注

    關注

    3

    文章

    3686

    瀏覽量

    43819
  • banana pi
    +關注

    關注

    1

    文章

    124

    瀏覽量

    3493
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Banana Pi BPI-RV2開發板試用體驗】開箱上電

    ?、板載 512MB DDR3 內存 、128 MiB NAND、16 MiB NOR、M.2接?,MINI PCIE和USB 2.0接?等。 Banana Pi
    發表于 06-26 19:51

    Banana Pi BPI-RV2開發板試用體驗】開發板介紹視頻

    . 開發板介紹香蕉派 BPI-RV2 RISC-V 路由器開發板采用矽昌通信 SF21H8898 芯片方案矽昌 SF21H8898 四核64位RISC-V 處理器, 1.25GHz主
    發表于 06-24 23:51

    北京迅為RK3588平臺成功適配“望獲”國產OS

    北京迅為RK3588平臺成功適配“望獲”國產OS
    的頭像 發表于 04-09 15:35 ?426次閱讀
    北京迅為<b class='flag-5'>RK3588</b><b class='flag-5'>平臺</b>成功適配“望獲”國產OS

    RK3588 EVB開發板原理圖講解【八】 RK3588 power Tree

    本帖最后由 瑞芯微方案開發老王 于 2025-3-1 11:41 編輯 、RK3588電源架構核心特點 ?多電源域設計? 芯片通常劃分為多個獨立電源域(Power Domai
    發表于 03-01 11:38

    快速上手RK3588:攝像頭調試

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

    RK3588 EVB開發板原理圖講解【六】

    或M.2接口實現存儲擴容,平衡初期投入與長期需求。 實際上rk原廠有提供了rk3588平臺的emmc支持列表 附件分享了rk平臺的emm
    發表于 02-26 11:07

    RK3588 EVB開發板原理圖講解【五】

    原理圖所示。 4、RK3588芯片VCC_DDR的電源管腳,每個管腳需要對應個過孔,并且頂層走“井”字形,交叉連接,同時建議走線線寬10mil,如圖3所示。 圖3
    發表于 02-20 16:04

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器

    。 []() Banana Pi BPI-W3單板機是由Banana Pi團隊為專業和企業用戶設計和開發
    發表于 02-19 18:27

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器

    Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器
    的頭像 發表于 02-19 18:25 ?1807次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b>開源社區基于瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發</b>板,DeepSeek<b class='flag-5'>開發</b>利器

    RK3588 EVB開發板原理圖講解【四】

    (Endpoint,端點設備)使用;另外個 2Lane 和 3 個 1Lane 控制器均只能作為 RC(Root Complex,根復合體)使用。 RK3588PCIe PHY
    發表于 02-18 08:04

    瑞芯微技術信息簡報之rk3588 PK rk3588s

    瑞芯微技術信息簡報(2025.1.13-2025.1.17) [/td]RK3588RK3588S備注 封裝23*23 mm,0.65pitch17*17 mm,0.4pitch DDR支持
    發表于 02-11 11:53

    RK3588 SDK入門之編譯使用

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

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

    近日,Banana PI開發板宣布與貝銳達成戰略合作,貝銳OrayOS現已成功適配Banana PIB
    的頭像 發表于 10-23 15:49 ?1308次閱讀
    <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 ?7503次閱讀
    用戶手冊 | 國產最強SOC——<b class='flag-5'>RK3588</b>之<b class='flag-5'>調試</b>登錄<b class='flag-5'>篇</b>

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

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