總線,最早始于計算機領域,是指匯集在一起的多種功能的線路;后經深化并延伸,則是指計算機各模塊及計算機之間的一種通信系統,涉及硬件(器件、線纜、電平)和軟件(通信協議),其應用被引入嵌入式領域后,用于嵌入式系統的芯片級、板級、設備級的互連。本書主要涉及嵌入式系統中的高速串行總線技術,傳輸速率在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
當當送貨太他媽慢了,
書很上檔次,很舒服
不錯,好書,總結的很詳細!
還不錯,當前流行的高速接口都介紹了
別人說很好,不錯!
不錯的書,很好
高速接口總結很好,強烈推薦
還沒看,先好評
準備學習串行高速總線,先買本書了解下
就簡單的介紹下協議,自己的設計經驗幾乎沒得,用的語言還是VHDL,也就是翻譯下IP核手冊,一文不值!
可以是本無營養的書,也就翻譯下IP核手冊,截幾張圖而已,沒啥實質性內容,還是看賽靈思的IP手冊好些!
書挺好的,講了很多FPGA數據傳輸的知識,最近正在看,感覺有所幫助。