1. 程式人生 > >總線及數據傳輸技術【待完善】

總線及數據傳輸技術【待完善】

存儲空間 系列 儀表 外部存儲 try b- 大數 -a 初始化

作者:桂。

時間:2017-08-05 14:41:36

鏈接:http://www.cnblogs.com/xingshansi/p/7290224.html


前言

  最近的工作內容涉及硬件,三個高頻詞匯:總線、接口、協議,例如I2C、PCIe、RS-232C、RapidIO(SRIO)以及Aurora等等,往細裏說還有數據的帶寬、位寬、工作頻率、數據傳輸可靠性等等,打算不定期更新,梳理出一篇文章,理理頭緒。

一、高速數據傳輸

  目前涉及的高速數據傳輸都是利用串口(並口不是更快?參考知乎)。Xilinx的V7系列有GTX/H/Z模塊,以提供高速串行通信支持。同時Xilinx提供多種串行通信協議IP核,Aurora 8B/10B,PCI Express 2.0和Serial RapidIO 2.0是其中較為常用的三種協議。

  幾種傳輸的實現方式:

技術分享

  A-Aurora 8B/10B

Aurora協議是Xilinx公司提供的一個鏈路層協議,可以用來進行點到點串行數據傳輸。Aurora允許器件之間以下圖方式通過多個MGT通道綁定完成通信。單個GTX可以實現現750Mbit/s-6.5Gbit/s的通信傳輸,多個GTX通道的組合可實現幾十Gbit/s 甚至上百Gbit/s的通信傳輸。

技術分享

8B/10B即把8位數據編碼為10位數據。Aurora提供了可直接與FIFO對接的用戶接口,而其他協議通常需要用戶自行編寫GTP接口邏輯。

  Aurora核初始化的Aurora通道可傳輸任意大小的數據幀,且能在任意時刻打斷。數字信號T0經過FPGA存入FIFO,通過FIFO對數據的存取實現光纖對數據的收發,再由光纖自接收,通過FOGA恢復T0信號。 高速收發器、Aurora、光纖幾個概念便串了起來。

技術分享

  B-PCI-Express 2.0

參考:http://xilinx.eetrend.com/article/7995

  C-Serial RapidIO 2.0

  D-RocketIO

  RocketIO收發器是在Virtex2 Pro以上系列FPGA中集成的專用串行通信模塊,在使用時不占用FPGA其他邏輯與片上存儲資源。在Virtex5 LXT和SXT系列FPGA中,RocketIO稱為GTP,每兩個GTP共用一個PLL,組成一個GTP_Dual。其結構框圖如下圖所示。後來的GTX/H/Z都可以理解成升級版的RocketIO,指的是串行的高速收發模塊。

技術分享

DMA介紹:http://www.51hei.com/stm32/3864.html

二、總線技術

  A-總線分類

總線(BUS,即公共汽車)分類的方式有很多,如被分為外部和內部總線、系統總線和非系統總線等等,下面是幾種最常用的分類方法。

另外,總線的傳輸核心思想是多路復用:時分多路復用-TDMA/頻分多路復用-FDMA/碼分多路復用-CDMA。

1.2.1按功能分

  以微機系統為例:

技術分享

  (1) 片總線(Chip Bus, C-Bus) 又稱元件級總線,是把各種不同的芯片連接在一起構成特定功能模塊(如CPU模塊)的信息傳輸通路,它的寬度可以是8、16、32或64位。目前比較流行的幾種內部總線技術:I2C總線、SCI總線等。

  (2) 內總線(Internal Bus, I-Bus) 又稱系統總線或板級總線,是微機系統中各插件(模塊)之間的信息傳輸通路。例如CPU模塊和存儲器模塊或I/O接口模塊之間的傳輸通路。常用的有PC總線、AT總線(ISA總線)、PCI總線等。

  (3) 外總線(External Bus, E-Bus)

  又稱通信總線,是微機系統之間或微機系統與其他系統(儀器、儀表、控制裝置等)之間信息傳輸的通路,如EIA RS-232C、IEEE-488等。

  其中的系統總線,即通常意義上所說的總線,一般又含有三種不同功能的總線,即數據總線DB、地址總線AB和控制總線CB。

  地址總線是專門用來傳送地址的。在設計過程中,見得最多的應該是從CPU地址總線來選用外部存儲器的存儲地址。地址總線的位數往往決定了存儲器存儲空間的大小,比如地址總線為16位,則其最大可存儲空間為216(64KB)。

  數據總線是用於傳送數據信息,它又有單向傳輸和雙向傳輸數據總線之分,雙向傳輸數據總線通常采用雙向三態形式的總線。數據總線的位數通常與微處理的字長相一致。例如Intel 8086微處理器字長16位,其數據總線寬度也是16位。在實際工作中,數據總線上傳送的並不一定是完全意義上的數據。

  控制總線是用於傳送控制信號和時序信號。如有時微處理器對外部存儲器進行操作時要先通過控制總線發出讀/寫信號、片選信號和讀入中斷響應信號等。控制總線一般是雙向的,其傳送方向由具體控制信號而定,其位數也要根據系統的實際控制需要而定。

1.2.2按傳輸方式分

  按照數據傳輸的方式劃分,總線可以被分為串行總線和並行總線。從原理來看,並行傳輸方式其實優於串行傳輸方式,但其成本上會有所增加。通俗地講,並行傳輸的通路猶如一條多車道公路,而串行傳輸則是只允許一輛汽車通過單線公路。目前常見的串行總線有SPI、I2C、USB、IEEE1394、RS232、CAN等;而並行總線相對來說種類要少,常見的如IEEE1284、ISA、PCI等。

1.2.3按時鐘信號方式分

  按照時鐘信號是否獨立,可以分為同步總線和異步總線。同步總線的時鐘信號獨立於數據,也就是說要用一根單獨的線來作為時鐘信號線;而異步總線的時鐘信號是從數據中提取出來的,通常利用數據信號的邊沿來作為時鐘同步信號。

  B-總線評價指標

  總線的帶寬指的是單位時間內總線上傳送的數據量,即每鈔傳送MB的最大數據傳輸率。

  總線的位寬指的是總線能同時傳送的二進制數據的位數,或數據總線的位數,即32位、64位等總線寬度的概念;總線的位寬越寬,數據傳輸速率越大,總線的帶寬就越寬。

  總線的工作時鐘頻率以MHz為單位,它與傳輸的介質、信號的幅度大小和傳輸距離有關。在同樣硬件條件下,我們采用差分信號傳輸時的頻率常常會比單邊信號高得多,這是因為差分信號的的幅度只有單邊信號的一半而已。
  總線的帶寬、位寬和工作頻率,這三者密切相關,它們之間的關系:

技術分享

參考:

  • 總線:http://blog.csdn.net/ce123_zhouwei/article/details/6853195

總線及數據傳輸技術【待完善】