Virtex6 PCIe 超簡版基礎(chǔ)概念學(xué)習(xí)(一)

文檔版本 開發(fā)工具 測試平臺(tái) 工程名字 日期 作者 備注
V1.0 ise14.7 DBF板 Day2/PCIETest1 2016.03.28 lutianfei none
  • 參考資料:
    • Spartan 6 PCIE_V2.4 真教程(二)
    • 菜鳥5小時(shí)速成FPGA_PCIE設(shè)計(jì)高手教程.pdf
    • v6_pcie_ug517.pdf
    • PCI+EXPRESS體系結(jié)構(gòu)導(dǎo)讀.pdf
    • xapp1052.pdf

[TOC]


(一) 常見接口速度



(二)事務(wù)處理層協(xié)議理解

2.1 事物層空間說明

  • 1屿笼、PCI配置空間 :主要用于向系統(tǒng)提供設(shè)備自身的基本信息震糖,并接受系統(tǒng)對(duì)設(shè)備全局狀態(tài)的控制和查詢窃植。
  • 2、I/O空間 :主要包括設(shè)備控制寄存器狀態(tài)寄存器啤呼,一般用于控制和查詢設(shè)備的工作狀態(tài)以及少量數(shù)據(jù)的交換。
  • 3呢袱、存儲(chǔ)器空間:主要包括內(nèi)存官扣、顯存、擴(kuò)展ROM羞福、設(shè)備緩沖區(qū)等惕蹄,一般用于存放大量數(shù)據(jù)和進(jìn)行數(shù)據(jù)塊交換。
  • 4、消息空間 : 傳遞消息的時(shí)間信號(hào)機(jī)制空間卖陵。


2.2 配置空間概述

  • PCI設(shè)備只有在系統(tǒng)軟件初始化配置空間之后遭顶,才能夠被其他主設(shè)備訪問。當(dāng)PCI設(shè)備的配置空間被初值化之后泪蔫,該設(shè)備在當(dāng)前的PCI總線樹上將擁有一個(gè)獨(dú)立的PCI總線地址空間棒旗,即BAR(Base Address Register)寄存器所描述的空間。

2.2.1 配置空間寄存器說明

  • Vendor ID : 代表PCI設(shè)備的生產(chǎn)廠商
  • Device ID : 代表PCI廠商所生成的具體設(shè)備
  • Revision ID : 記錄PCI設(shè)備的版本號(hào)鸥滨,可以看成Device ID寄存器的擴(kuò)展嗦哆。
  • Class Code :供系統(tǒng)軟件識(shí)別當(dāng)前PCI設(shè)備的分類。
    • Base Class Code : 將PCI設(shè)備分類為顯卡婿滓、網(wǎng)卡老速、PCI橋等設(shè)備
    • Sub Class Code : 對(duì)這些設(shè)備進(jìn)一步細(xì)分
    • Interface : 編程接口
  • Header Type:有8位,其中
    • 7位:為1表示PCI設(shè)備為多功能設(shè)備凸主,為0表示單功能設(shè)備橘券。
    • 6~0位:0PCI Agent 設(shè)備的配置空間(普通PCI都此設(shè)置);1PCI橋使用的配置空間
  • Subsystem ID卿吐,Subsystem Vendor ID:與Device ID 旁舰、Vendor ID功能類似,但是進(jìn)一步細(xì)分了嗡官。
  • Capabilities Pointer : PCIe設(shè)備必須支持此寄存器箭窜,存放一些與PCI設(shè)備相關(guān)的擴(kuò)展配置信息。
  • Interrupt Pin :PCI通過了4個(gè)中斷引腳INTA#衍腥,INTB#磺樱,INTC#,INTD#
  • Base Address Register0~5 : 保存PCI設(shè)備使用的地址空間的基地址婆咸,該基地址保存的是該設(shè)備在PCI總線域中的地址竹捉。
  • Command:PCI設(shè)備的命令寄存器,在初始化時(shí)尚骄,值為0块差,此時(shí)該P(yáng)CI設(shè)備只能夠接受配置請求總線事物外,無法接受任何存儲(chǔ)器或者I/O請求倔丈。系統(tǒng)軟件需要合理設(shè)置該寄存器之后憨闰,才能訪問該設(shè)備的存儲(chǔ)器或I/O空間。(寄存器具體功能查看《PCI+EXPRESS體系結(jié)構(gòu)導(dǎo)讀》p49)
  • Status :絕大多數(shù)是只讀位需五,保存PCI設(shè)備的狀態(tài)鹉动。


2.2.2 PCI總線配置概述

  • Type00配置請求:與HOST主橋或PCI橋直接相連的PCI Agent設(shè)備或PCI橋。
  • Type01配置請求:至少穿越一個(gè)PCI橋警儒,訪問沒有與其直接相連的PCI Agent設(shè)備或PCI橋训裆。


2.3 BAR空間概述

  • PC啟動(dòng)后眶根,BIOS探測搜有的外設(shè)。對(duì)PCIe(PCI)設(shè)備來說边琉,BIOS檢測到板卡有多少個(gè)BAR空間属百,每個(gè)空間有多大,然后對(duì)應(yīng)為這些BAR空間分配地址变姨。對(duì)PCI設(shè)備來說族扰,它能“看”到PCIe板卡的空間只有BAR空間,也只能訪問這些BAR空間定欧。
  • 板卡可以發(fā)送合法的 PCIe TLP 包渔呵,并得到 PC 端的響應(yīng);但是 PC 端訪問板卡被局限在 BAR 空間內(nèi)砍鸠。

2.3.1 BAR空間與DMA空間映射關(guān)系例子


2.4 事物處理層概述

TLP(Transaction Layer Sepcification) 有三部分組成扩氢,幀頭數(shù)據(jù)爷辱、摘要(或者稱 ECRC)录豺。 TLP 頭標(biāo)3 或者 4 個(gè) DW,格式和內(nèi)容隨事物類型變化饭弓;數(shù)據(jù)端為 TLP 幀頭定義下的數(shù)據(jù)段双饥,如果該 TLP 不攜帶數(shù)據(jù),那該段為空弟断。 Digest段( Optional)是基于頭標(biāo)咏花、數(shù)據(jù)字段計(jì)算出來的 CRC,成為 ECRC阀趴,一般 Digest 段由 IP 核填充昏翰。所以, PCIe 的處理在用戶層表現(xiàn)為處理 TLP 中頭標(biāo)數(shù)據(jù)段舍咖。

2.4.1 存儲(chǔ)器讀矩父、寫請求TLP包頭格式

  • Fmt與Type:規(guī)定事物類型锉桑、頭標(biāo)長度和是否有數(shù)據(jù)載荷排霉。


  • Posted與Non-Posted

    • Non-posted :即請求需要返回completion的響應(yīng)包;
    • Posted:即不需要completion返回響應(yīng)包民轴。例如上面的存儲(chǔ)器寫入請求包和Message包都隸屬于posted包攻柠。
  • ** Length : 1~1024DW,當(dāng)值為0**:表示1024DW

  • DW BE:

  • Requester ID : 包含“生成這個(gè)TLP報(bào)文”的PCIe設(shè)備的總線號(hào)(Bus Number)設(shè)備號(hào)(Device Number)后裸、功能號(hào)(Function Number)

  • Tag:Requester ID瑰钮、Tag合起來組成Transaction ID,在同一時(shí)間段內(nèi)微驶,PCIe設(shè)備發(fā)出的每一個(gè)Non-Posted數(shù)據(jù)請求TLP浪谴,其Transaction ID必須唯一开睡。也就是Tag必須唯一。


2.4.2 完成包報(bào)文頭格式

  • Byte0~3 與存儲(chǔ)器苟耻、配置請求報(bào)文對(duì)應(yīng)字段含義一致篇恒。
  • Completer ID:該字段存放“發(fā)送完成報(bào)文”的PCIe設(shè)備的ID號(hào)。
  • Byte Count 記錄源設(shè)備還需要從目標(biāo)設(shè)備中獲得多少字節(jié)的數(shù)據(jù)就能完成全部數(shù)據(jù)傳遞凶杖。
  • Lower Address:接收端必須使用存儲(chǔ)器讀寫完成TLP的Low Address 字段胁艰,識(shí)別一個(gè)TLP中包含數(shù)據(jù)的起始地址。


2.3.3 配置讀寫請求報(bào)文頭格式

  • 配置請求TLP第07字節(jié)與存儲(chǔ)器請求類似智蝠,第811字節(jié)中的BUS腾么,DeviceFunction Number中存放該TLP訪問的目標(biāo)設(shè)備的相應(yīng)號(hào)碼。
  • Ext RegisterReigister Number存放寄存器號(hào)杈湾。
  • 配置請求報(bào)文的其他字段必須為一下值:




2.4.4 消息請求報(bào)文頭格式

  • PCIe總線規(guī)定了一下幾類消息報(bào)文:

    • INTx Interrupt Signaling INTx中斷信息包
    • Power Management 電源管理機(jī)能解虱。
    • Error Signaling錯(cuò)誤信息包
    • Locked Transaction Support 鎖住交易的支持
    • Slot Power Limit Support插槽電源限制的支持
    • Vendor-Defined Messages制造商自行定義信息
  • INTx 中斷消息報(bào)文



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秸仙,一起剝皮案震驚了整個(gè)濱河市祭饭,隨后出現(xiàn)的幾起案子嫂侍,更是在濱河造成了極大的恐慌彰导,老刑警劉巖峦甩,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件双炕,死亡現(xiàn)場離奇詭異蹭越,居然都是意外死亡庇绽,警方通過查閱死者的電腦和手機(jī)抹恳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門员凝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奋献,你說我怎么就攤上這事健霹。” “怎么了瓶蚂?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵糖埋,是天一觀的道長。 經(jīng)常有香客問我窃这,道長瞳别,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任杭攻,我火速辦了婚禮祟敛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兆解。我一直安慰自己馆铁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布锅睛。 她就那樣靜靜地躺著埠巨,像睡著了一般历谍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辣垒,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天扮饶,我揣著相機(jī)與錄音,去河邊找鬼乍构。 笑死甜无,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哥遮。 我是一名探鬼主播岂丘,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼眠饮!你這毒婦竟也來了奥帘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤仪召,失蹤者是張志新(化名)和其女友劉穎寨蹋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扔茅,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡已旧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了召娜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片运褪。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖玖瘸,靈堂內(nèi)的尸體忽然破棺而出秸讹,到底是詐尸還是另有隱情,我是刑警寧澤雅倒,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布璃诀,位于F島的核電站,受9級(jí)特大地震影響蔑匣,放射性物質(zhì)發(fā)生泄漏劣欢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一殖演、第九天 我趴在偏房一處隱蔽的房頂上張望氧秘。 院中可真熱鬧年鸳,春花似錦趴久、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灭忠。三九已至,卻和暖如春座硕,著一層夾襖步出監(jiān)牢的瞬間弛作,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國打工华匾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留映琳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓蜘拉,卻偏偏與公主長得像萨西,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旭旭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 7.輪詢模式驅(qū)動(dòng) DPDK包括1Gigabit谎脯、10Gigabit 及 40Gigabit 和半虛擬化IO的輪詢模...
    半天妖閱讀 5,454評(píng)論 0 4
  • 總線 計(jì)算機(jī)的各個(gè)功能部件通過總線連接在一起構(gòu)成完整的計(jì)算機(jī)系統(tǒng),總線是多個(gè)系統(tǒng)功能部件之間進(jìn)行數(shù)據(jù)傳送的公共通路...
    羅蓁蓁閱讀 4,808評(píng)論 0 10
  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo閱讀 3,704評(píng)論 1 20
  • 暮色里持寄,一寸末光竭斯底里地源梭, 它,似乎在找些什么稍味。 ...
    鄰家三言兩語閱讀 428評(píng)論 1 2
  • 今天下午我們做的拓展活動(dòng)是:人椅废麻。這個(gè)拓展活動(dòng)我們老生都做過。人椅的游戲規(guī)則是:每一組圍成一個(gè)圈模庐,前面的...
    Monica莫閱讀 253評(píng)論 0 2