發表於2024-11-05
總綫,較早始於計算機領域,是指匯集在一起的多種功能的綫路;後經深化並延伸,則是指計算機各模塊及計算機之間的一種通信係統,涉及硬件(器件、綫纜、電平)和軟件(通信協議),其應用被引入嵌入式領域後,用於嵌入式係統的芯片級、闆級、設備級的互連。本書主要涉及嵌入式係統中的高速串行總綫技術,傳輸速率在Gbps量級。本書首先按時間的先後順序梳理齣計算機和嵌入式係統中常用的總綫技術;然後介紹並基於FPGA實現瞭目前嵌入式係統中常用的高速串行總綫技術,如Serdes、JESD204、SRIO、PCIE、Aurora、SATA總綫,側重於終端技術實現;*後論述嵌入式係統中的常用總綫架構,涉及CPCIE、VPX、FC、Infiniband總綫架構技術,側重於整機設計。
張峰,男,博士,高級工程師,從事通信領域10多年,對高速總綫係統有深刻的理解,並且有豐富的科研和項目實踐經驗。
第1篇 計算機和嵌入式係統中常用總綫的發展曆程及趨勢
第1章 總綫的發展曆程及後續趨勢 3
1.1 總綫的齣現及定義 3
1.2 PC總綫的發展 5
1.2.1 ISA總綫 6
1.2.2 PCI/PCI-X總綫 7
1.2.3 PCIE總綫 9
1.2.4 ATA/SATA――麵嚮存儲的高速總綫 10
1.3 嵌入式係統總綫的發展 12
1.3.1 嵌入式係統的齣現 12
1.3.2 PC104總綫――ISA總綫的嵌入式係統應用 13
1.3.3 Compact PCI總綫――PCI總綫的嵌入式應用 15
1.3.4 Compact PCIE架構及其在嵌入式的應用 18
1.3.5 SRIO總綫――嵌入式係統的多處理器間互連 19
1.3.6 JESD204總綫――麵嚮ADC、DAC的串行通信總綫結構 21
1.3.7 FC標準――通道技術與網絡技術的結閤 22
1.3.8 VPX架構――嵌入式串行總綫的集大成者 23
1.4 總綫領域三次革命成因與效能分析 25
1.5 高速串行總綫技術的優點及共同點分析 28
1.6 高速串行總綫的後續發展方嚮 29
1.6.1 速率繼續提升 30
1.6.2 采用多階電平傳輸 30
1.6.3 激光通信可行性及其小型化考慮 31
1.6.4 延伸閱讀――激光通信代替微波通信 32
1.7 參考文獻 34
第2篇 嵌入式係統中常用的高速串行總綫及其FPGA實現
第2章 基於SERDES的高速數據傳輸技術 39
2.1 SERDES技術簡介 39
2.2 SERDES物理層――LVDS電平概述 40
2.3 基於FPGA的SERDES傳輸技術概述 42
2.3.1 FPGA對LVDS電平的支持 42
2.3.2 FPGA內部的並/串轉換原語結構OSERDESE2/ISERDESE2 43
2.3.3 基於SERDES原語的傳輸速率分析 44
2.4 基於FPGA實現SERDES原語的高速數據傳輸 45
2.4.1 SERDES發送端設計――設置OSERDESE2相關參數 45
2.4.2 SERDES接收端設計――配置ISERDESE2的相關參數 54
2.4.3 實現SERDES通信功能 59
2.5 延伸閱讀――FPGA時序優化以及自適應延時調整的SERDES傳輸技術 61
2.5.1 時鍾位置優化――減少由時鍾位置造成的延時 61
2.5.2 時序優化――OFFSET約束 63
2.5.3 時序優化――MAXSKEW約束 64
2.5.4 基於Idelay的延時調整技術 64
2.5.5 基於Idelay的自適應動態延時調整技術 66
2.6 小結 67
2.7 延伸閱讀――後起之秀:Xilinx公司及其FPGA 67
2.8 參考文獻 69
第3章 基於JESD204協議的ADC、DAC數據傳輸 71
3.1 JESD204協議概述 71
3.2 JESD204協議分析 74
3.2.1 JESD204物理層分析 74
3.2.2 幀填充 76
3.2.3 8B/10B編/解碼 77
3.2.4 加/解擾碼(Scrambling/De-Scrambling) 79
3.2.5 JESD204協議接收狀態機分析 80
3.3 基於GTX實現JESD204協議 82
3.3.1 可行性分析――物理層規範兼容 83
3.3.2 物理層GTX結構分析 83
3.3.3 基於GTX的JESD204協議功能模塊構建 88
3.3.4 JESD204協議若乾技術點分析 99
3.4 小結 104
3.5 參考文獻 104
第4章 基於SRIO總綫的高速通信結構 105
4.1 SRIO總綫――麵嚮嵌入式係統互連 105
4.1.1 嵌入式總綫與PC總綫應用分道揚鑣 105
4.1.2 SRIO技術針對嵌入式係統互連 107
4.1.3 SRIO VS PCIE VS Ethernet VS Others 108
4.2 SRIO協議分析 110
4.2.1 SRIO協議層次結構 110
4.2.2 SRIO物理層規範 111
4.2.3 數據包及操作類型 113
4.2.4 鏈路同步 115
4.2.5 鏈路編碼 115
4.2.6 配置空間 117
4.3 基於SRIO總綫的點對點通信功能實現 117
4.3.1 創建SRIO工程 118
4.3.2 SRIO工程結構分析 126
4.3.3 SRIO點對點通信的關鍵技術分析及實現 128
4.3.4 SRIO IP核點對點通信功能測試 130
4.4 基於SRIO總綫的交換結構通信功能實現 131
4.4.1 基於SRIO總綫的交換結構概述 131
4.4.2 SRIO交換芯片80HCPS1616簡介 131
4.4.3 SRIO交換芯片80HCPS1616配置 133
4.4.4 80HCPS1616的I2C配置接口 137
4.4.5 Maintenance幀配置SRIO交換芯片 139
4.4.6 SRIO交換結構的通信性能測試 142
4.5 小結 144
4.6 延伸閱讀――串行總綫技術再提速,從信息不確定性說起 145
4.7 參考文獻 146
第5章 基於PCIE總綫的高速數據傳輸技術 149
5.1 PCIE總綫概述 149
5.2 PCIE協議分析 151
5.2.1 PCIE 拓撲結構 151
5.2.2 PCIE分層結構 151
5.2.3 PCIE鏈路編碼與擾碼 153
5.2.4 PCIE 地址空間與事務類型 153
5.2.5 延伸閱讀――PCIE總綫鏈路同步 154
5.3 基於PCIE協議的點對點通信功能實現 157
5.3.1 FPGA內嵌PCIE硬核簡介 157
5.3.2 建立PCIE點對點通信工程 158
5.3.3 PCIE IP核源代碼分析 171
5.3.4 PCIE節點接收流程分析 173
5.3.5 PCIE節點發送流程分析 174
5.3.6 基於PCIE協議的點對點通信功能測試 175
5.4 小結 176
5.5 延伸閱讀――再論馬太效應:從PCIE代替AGP總綫說起 177
5.6 參考文獻 178
第6章 基於Aurora協議的高速傳輸技術 181
6.1 Aurora總綫概述 181
6.2 Aurora總綫協議分析 181
6.2.1 Aurora總綫通信模型 181
6.2.2 Aurora物理層電氣特性 182
6.2.3 Aurora數據幀結構 184
6.2.4 Aurora鏈路同步 185
6.3 基於Aurora總綫的通信功能實現 188
6.3.1 建立Aurora總綫測試工程 188
6.3.2 Aurora總綫協議文件及接口分析 192
6.3.3 Aurora總綫幀模式與流模式 194
6.3.4 Aurora總綫通信性能分析及測試 196
6.4 小結 198
6.5 延伸閱讀――Xilinx公司及其Aurora總綫 198
6.6 參考文獻 199
第7章 基於SATA總綫的高速數據存儲技術 201
7.1 多種高速數據存儲方式涉及的總綫形式 202
7.1.1 基於ATA總綫標準的數據存儲方式 202
7.1.2 基於SCSI總綫標準的高速數據存儲方式 203
7.1.3 基於SAS/SATA總綫標準的高速數據存儲方式 205
7.1.4 延伸閱讀――基於Nand Flash陣列的高速數據存儲方式 208
7.1.5 延伸閱讀――基於eMMC及陣列的高速數據存儲方式 209
7.1.6 多種存儲實現方式的比較與分析 210
7.2 SATA協議分析 211
7.2.1 SATA的分層結構 211
7.2.2 SATA啓動過程 212
7.2.3 SATA數據幀與編碼 213
7.3 SATA協議IP核的FPGA實現 216
7.3.1 Virtex-5 FPGA GTX簡介 216
7.3.2 SATA協議物理層實現 218
7.3.3 SATA協議的OOB通信 226
7.3.4 SATA協議的鏈路層及傳輸層關鍵技術分析 228
7.3.5 SATA協議的應用層實現分析 231
7.3.6 SATA 協議IP核測試 231
7.4 小結 232
7.5 延伸閱讀――基於DNA的生物學存儲技術 234
7.6 參考文獻 236
第3篇 整機設計的嵌入式係統高速數據總綫
第8章 CPCIE總綫架構 239
8.1 CPCIE總綫簡介 239
8.2 CPCIE係統中功能模塊分類 241
8.3 CPCIE係統連接關係與信號定義 242
8.3.1 連接器類型 242
8.3.2 係統闆 245
8.3.3 外設闆 248
8.3.4 交換闆 249
8.4 CPCIE係統整機設計要素 251
8.4.1 功能模塊標識 251
8.4.2 供電要求 252
8.4.3 時鍾設計 253
8.5 小結 253
8.6 參考文獻 254
第9章 VPX總綫架構 255
9.1 VPX總綫的起源 255
9.2 VPX協議族分析 257
9.3 VPX協議的典型應用 259
9.4 連接關係與信號定義 260
9.5 整機設計要素 265
9.5.1 模塊防插錯設計 265
9.5.2 電源設計 266
9.5.3 功能模塊與背闆信號映射關係 267
9.6 VPX架構與CPCIE架構的異同 270
9.7 小結 270
9.8 參考文獻 270
第10章 FC總綫技術的實現與應用 273
10.1 FC技術簡介 273
10.1.1 FC技術的齣現――從大數據、雲及SAN存儲說起 273
10.1.2 FC技術的優點 275
10.1.3 FC技術的發展路標 276
10.1.4 FC在機載航電係統中的應用 277
10.2 FC協議分析 277
10.2.1 拓撲結構 277
10.2.2 分層結構 278
10.2.3 協議組成 279
10.2.4 數據流程 281
10.2.5 數據幀結構與編碼 281
10.2.6 分類服務 283
10.2.7 接口形式 286
10.3 FC協議通信實現分析 286
10.3.1 Xilinx公司IP核實現方案 286
10.3.2 FC專用ASIC芯片實現方案 288
10.4 小結 289
10.5 參考文獻 289
第11章 Infiniband總綫技術的實現與應用 291
11.1 Infiniband總綫概述 291
11.2 Infiniband協議分析 293
11.2.1 分層結構 293
11.2.2 消息傳輸方式 294
11.2.3 鏈路編碼與數據幀結構 295
11.3 Infiniband協議實現及應用 296
11.4 小結 297
11.5 參考文獻 298
附錄A 簡寫索引 299
附錄B 插圖目錄 303
附錄C 錶格目錄 309
附錄D 本書創作過程中的隨筆 313
緻謝 320
自 序
人是什麼單位,人生又如何衡量?
熊培雲在《思想國》中講,人是時間單位,因為我們在提到某人的時候,總是在人名後麵跟上一個括號,並注明生卒年份,以示起止。
除瞭這個差值,還用什麼衡量?
數學上,通常將時間看成一個維度,即以時間為坐標係的橫軸,那縱軸呢?見仁見智,人的選擇和作為應該是一個維度,人物傳記是這樣寫的,什麼時間做瞭什麼事。
那號稱知識分子的我們,若早已過瞭彷徨的年齡,其使命又當如何?
打破框架,探索未知。
打破框架,何其難也。文明得以發展,在於經驗和知識的纍積,而這種纍積,多數又來源於各種權威的言傳身教,就像父母告誡小朋友,冰激淩吃多會肚子痛一樣,一一得到瞭驗證,長此以往,框架得以形成,觸碰不得。框架有利於知識的傳授,也會束縛人的頭腦,意大利的水手Amerigo Vespucci發現瞭一個大的島嶼,而權威《聖經》中竟然沒有記載,就覺得不可思議,不可理喻。
而終有人會承認這種事實存在、證據確鑿的未知,於是,框架終究會被打破,美洲America就此誕生。
所以人雖無往不在枷鎖之中,卻是生而自由的,知識分子在解決溫飽問題後,可以思其力之所不及,憂其智之所不能,嫦娥奔月不也從神話變成瞭現實嗎?
所以應心懷夢想,堅韌追尋,應王國維先生的“昨夜西風凋碧樹,獨上高樓,望盡天涯路”之境界,而社會的殘酷、自擾、抵觸、牽製、掣肘、誘惑終究共存,所以有隱忍、有退讓,學鬍適先生的“不降誌、不屈身、不追趕時髦,也不迴避危險”,雖有拘有束有礙,仍可自斟自飲自開懷。
人總是會老的,所謂百憂感其心,萬事勞其形,渥然丹者為槁木,黟然黑者為星星,縱然頭發稀少,兩眼昏花,頸肩酸痛,雙腿僵直,仍不覺辛苦,因為餘心所善,不想瞭無意義。
本書的形成,曆經波摺,構思萌芽於2012年年底,苦於自身知識匱乏,算不上一份大餐,積纍沉澱,到2014年年底漸覺內容充實,可一吐為快瞭,於是查閱典獻,收集資料,匆忙恍惚間,2015年已過瞭大半,竟不能再遲疑。
總綫技術是在多個項目實踐中提取齣來的,如高速存儲、圖像處理、信號處理、係統集成等,親力躬行,纔知深淺。本文中提到的各種總綫,並不是3年之功,從2006年算起,已有10年。10年時間積纍瞭這300多頁內容,也不知是多還是少?2006年第一次接觸PCI總綫,2007年將PCI提升到瞭PCIX,2007年用會瞭SRIO總綫,當時還是Virtex-2Pro盛行,現在已不見蹤影,2008—2009年主要是SATA、SAS,2010年接觸瞭PCIE/CPCIE,2011年閑暇時摸瞭Serdes技術,終於在2013年應用成熟,JESD204/Aurora也在這一年完成,2014年做瞭VPX架構的整機,2015年將SRIO的交換結構收入骰中。這也就是本書的主體內容,並在此基礎上增加瞭對總綫的發展曆程、現狀及後續趨勢的描述與預測。而最後則是關於目前嵌入式係統中常用的其他串行總綫(FC、Infiniband)瞭,作者並沒有親身實現,隻是自行理解並資料匯編罷瞭。
當我們迴首往事時,會發現很多激蕩人心的故事,有的顯煥一些,有的黯淡一些,當看到自己為發展而努力,為自由而奮鬥,總是心底暖暖的。我們對於過去,固然可以看到無窮的光輝,對於將來,也必須抱著更大的期待。
努力吧,勤能補拙,不至虛度。
努力活吧,以時間的長度彌補智力的不足。
懷念過去,不畏將來,是為序。
張 峰
2016年9月於成都
前 言
總綫概述及分類
總綫,英文為“Bus”,Bus一詞最初起源於拉丁文“omnibus”,意為“for all”,有三個含義:公共汽車、作傢的作品閤集、作為形容詞意為綜閤性多功能的。最早始用於計算機領域,總綫是指匯集在一起的多種功能的綫路。後經深化和延伸,指計算機內各模塊及計算機之間的一種通信係統,涉及硬件(器件、綫纜)和軟件(通信協議)。
IT行業以摩爾定律(Moore’s Law)在飛速發展,總綫的性能也要與之適應並水漲船高。自從第一代計算機及總綫問世以來,總綫領域爆發瞭三次更新換代的革命:第一代總綫以1984年IBM推齣的PC/AT(Personal Computer/Advanced Technology)總綫為藍本,其速率最初不足1 Mbps,並最終形成瞭ISA(Industry Standard Architecture)標準,在1993年被PCI總綫代替;PCI(Peripheral Component Interconnect Local Bus)總綫是第二代總綫的典型代錶,2002年並行傳輸的PCI總綫被串行傳輸的PCIE(PCI Express)總綫代替;而目前PCIE 3.0版本的速率為8 Gbps,是最初的PC/AT總綫的800倍,PCIE 4.0將支持16.0 Gbps,也即將問世。
在總綫的發展過程中,有多種分類方式。
按傳輸速率分類:分為低速總綫、高速總綫。按業內規律,總綫的傳輸時鍾在66 MHz以下為低速總綫,高於66 MHz為高速總綫。
按連接類型分類:分為係統總綫、外設總綫、擴展總綫等。
按適用範圍分類:分為內部總綫和外部總綫。計算機機箱內的總綫稱為內部總綫,如PCI;計算機機箱外的稱為外部總綫,如連接打印機的USB總綫等。而有些總綫內外都適用,如SATA為內部總綫,而eSATA(external SATA)為外部總綫。
按應用領域分類:有計算機係統應用總綫、嵌入式係統應用總綫等,PCI為計算機類總綫,而CPCI(Compact PCI)則歸為嵌入式係統類的應用總綫。
按使用環境分類:分為航天、航空、車載、航載等總綫,以滿足不同的使用環境要求,如ARINC-429、ARINC-629、MIL-STD-1553B、CAN總綫等。
按傳輸方式分類:分為並行總綫和串行總綫,並行總綫通常采用1個時鍾信號+多位並行數據信號的方式傳輸數據,如前麵的ISA、PCI都為並行數據總綫,在一個時鍾周期內,傳輸多位數據;串行總綫則將時鍾嵌入到數據內,在一個時鍾周期內傳輸1 bit數據,以串行比特流的方式實現數據通信。
本書關注的是嵌入式係統中的高速串行總綫技術。
串行總綫通信正當時
早期的總綫多采用多位數據並行傳輸方式,通過提升並行數據位寬、數據運行頻率,提升總綫傳輸速率,如早期的PC/XT總綫數據位寬是8 bit,運行頻率為kHz級彆,到1999年齣現瞭PCIX總綫,其數據位寬是64 bit,運行頻率為133 MHz,總綫的傳輸速率達到瞭1066 MBps。
< 嵌入式高速串行總綫技術:基於FPGA實現與應用 下載 mobi epub pdf txt 電子書 格式嵌入式高速串行總綫技術:基於FPGA實現與應用 下載 mobi pdf epub txt 電子書 格式 2024
嵌入式高速串行總綫技術:基於FPGA實現與應用 下載 mobi epub pdf 電子書不錯不錯不錯不錯不錯不錯不錯
評分不錯不錯不錯不錯不錯不錯不錯不錯
評分非常好的書,強烈推薦
評分很不錯的一本書,學起來
評分可以參考學習下高速接口
評分感覺就像看雜誌,瞭解技術可以,做具體項目幫助不大。
評分講解的還可以吧,相對高速串行總綫瞭解的可以買來看看。
評分屯書學技術,留著慢慢看
評分正品,給實驗室買的,非常好
嵌入式高速串行總綫技術:基於FPGA實現與應用 mobi epub pdf txt 電子書 格式下載 2024