PCIe 復(fù)位簡(jiǎn)介
PCI Express 是一種即插即用協(xié)議,主機(jī)在啟動(dòng)時(shí)將枚舉 PCIe 設(shè)備。此過(guò)程包括主機(jī)從讀取請(qǐng)求中獲得每個(gè)設(shè)備的地址大小,然后為設(shè)備分配基地址。因此,PCIe 接口必須在主機(jī)查詢時(shí)準(zhǔn)備就緒,否則將不會(huì)分配基地址。PCI Express 規(guī)范規(guī)定,PERST# 必須在系統(tǒng)電源正常后 100 毫秒內(nèi)解除,并且 PCI Express 端口必須在 PERST# 解除后不超過(guò) 20 毫秒內(nèi)準(zhǔn)備好進(jìn)行 Link training。這通常稱為 100 毫秒啟動(dòng)時(shí)間要求。
對(duì) CIPS 進(jìn)行配置
首先進(jìn)入 CIPS 的 CPM 界面,選擇所需要的 PCIe 配置,如圖 1 所示,本設(shè)計(jì)的采用的是 gen4x4(Link speed 和 Lane Width 用戶可根據(jù)自己的需求進(jìn)行配置),Mode 必須要選擇 DMA 模式。
圖 1
然后點(diǎn)擊 CPM5 PCIe Controller 0,在 Basic 界面,如圖2所示,將 Function mode 選擇為 AXI bridge。 Device/ Port Type 選擇為 Root Port of PCE Express Root Complex,其他界面可以應(yīng)用默認(rèn)配置。
圖 2
接下來(lái)需要對(duì) PS PMC 進(jìn)行配置,其他的配置頁(yè)面不進(jìn)行過(guò)多描述,詳細(xì)可以參考 CPM RP 的 Example design,本篇文章主要對(duì) IO 界面的配置進(jìn)行描述。因?yàn)樵?PCIe 做 RP 時(shí),需要控制與其連接的 EP,對(duì)于不同的系統(tǒng)架構(gòu)難以設(shè)計(jì)出一個(gè)普遍可行的方案,故 RP 的驅(qū)動(dòng)在目前的版本并未對(duì)復(fù)位進(jìn)行操作,PS PR 的驅(qū)動(dòng)可在下面鏈接中獲?。?/p>
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/85983409/Xilinx+PCIe+Root+and+EndPoint
本篇文章通過(guò)舉例來(lái)說(shuō)明,用戶如何根據(jù)自己的硬件電路設(shè)計(jì)來(lái)實(shí)現(xiàn)對(duì) EP 端復(fù)位的控制,如下圖 3 所示,MIO38 為 PCB 板上金手指 Perst 所連的 Pin 腳,此時(shí)在 PS PCM 頁(yè)面中不要將此管腳配置成 PCIe reset 管腳,而是需要將此管腳按照下圖 4 配置為 GPIO 管腳。GPIO 管腳的配置如圖 4 所示,Direction 配置為 Out,并設(shè)置為 PULL DOWN。
圖 3
圖 4
除了 CIPS 的配置需要注意之外,LPD_AXI_NOC_0 和 PMC_NOC_AXI_0兩個(gè)接口需要連通到 NOC_CPM_PCIE_0,如果 LPD_AXI_NOC_0 和 PMC_NOC_AXI_0 這兩個(gè)接口沒(méi)有連通到 NOC_CPM_PCIE_0,那么此時(shí) CPU 對(duì) PCIE 的鏈路情況無(wú)感知,其會(huì)在 Petalinux 中打印 PCIe link down,即使用戶根據(jù)本篇文章對(duì)復(fù)位進(jìn)行了配置,在 PCIe debugger 中看到 LTSSM 已進(jìn)入 L0,并且 PCIe 的 Link up 信號(hào)已拉高,因?yàn)?CPU 與 PCIE 之間的鏈路沒(méi)有打通,CPU 無(wú)法感知到 PCIE 的狀態(tài)依然會(huì)顯示 PCIe Link down。
圖 5
在 Load Petalinux 的 Image 之前,需要運(yùn)行指令 gpio set 38,如下圖 6 所示,這個(gè)指令是將 PCIe 的復(fù)位拉高,因?yàn)樵?CIPS 中,是將復(fù)位 MIO38 配置成 Pull down,在此狀態(tài)下 PCIe 處于復(fù)位狀態(tài),所以在 Load image 前需要將復(fù)位拉高,使得雙端進(jìn)入 Link training 狀態(tài),在運(yùn)行 Petalinux 時(shí),會(huì)顯示 PCIe link up,接下來(lái)會(huì)完成 PCIE 的整個(gè)枚舉流程。
圖 6
-
接口
+關(guān)注
關(guān)注
33文章
8575瀏覽量
151014 -
PCIe
+關(guān)注
關(guān)注
15文章
1234瀏覽量
82575 -
CPM
+關(guān)注
關(guān)注
0文章
13瀏覽量
7714 -
復(fù)位信號(hào)
+關(guān)注
關(guān)注
0文章
54瀏覽量
6314
原文標(biāo)題:開(kāi)發(fā)者分享|CPM PCIE 做 RC 時(shí)如何完成對(duì)復(fù)位信號(hào)的控制
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論