歡迎各位朋友關(guān)注“郝旭帥電子設(shè)計(jì)團(tuán)隊(duì)”公眾號(hào),本公眾號(hào)會(huì)定時(shí)更新相關(guān)技術(shù)類資料、軟件等等,感興趣的朋友可以瀏覽一下本公眾號(hào)的其他“模塊”,希望各位朋友都能在本公眾號(hào)獲得一些自己想要的“東西”。
本篇主要討論FPGA如何發(fā)出高速串行信號(hào)。
高速串行通信的“高速”一般比較高,基本至少都會(huì)上G。如果利用FPGA內(nèi)部的LUT、觸發(fā)器和普通IO是無(wú)法滿足這樣高的輸入輸出速率的。
例:假設(shè)線速度需要跑到1G,那么我們FPGA內(nèi)部邏輯就需要跑到1GHz,才可以對(duì)外發(fā)出1G的bit流(即使采用DDR的方式發(fā)出,也需要內(nèi)部500MHz)。這么高的頻率,F(xiàn)PGA內(nèi)部一般是無(wú)法達(dá)到的。
那么FPGA是如何實(shí)現(xiàn)這種高速輸出和輸入的呢?
FPGA內(nèi)部除了LUT、觸發(fā)器和IOB以外,廠商還在FPGA內(nèi)部加入了很多可配置的硬核電路,高速收發(fā)器就是其中之一(并不是所有的FPGA都有)。
那么這個(gè)高速收發(fā)器的電路怎么理解呢?
可以先這么認(rèn)為,對(duì)于輸出來(lái)說(shuō)它就是一個(gè)升頻降位寬的電路。
注:輸出不一定有時(shí)鐘輸出
例:輸入時(shí)鐘125MHz,數(shù)據(jù)并行10bit;經(jīng)過(guò)高速發(fā)送器后,可以變?yōu)檩敵鏊俾蕿?.25GHz,數(shù)據(jù)為串行1bit;
此時(shí)FPGA內(nèi)部只需要運(yùn)行再一個(gè)相對(duì)較低的頻率,進(jìn)行并行處理數(shù)據(jù)即可。
對(duì)于輸入來(lái)說(shuō)它就是一個(gè)降頻增位寬的電路。
注:輸入不一定有時(shí)鐘輸入
例:輸入時(shí)鐘1.25GHz,數(shù)據(jù)串行1bit;經(jīng)過(guò)高速接收器后,可以變?yōu)檩斎胨俾蕿?25MHz,數(shù)據(jù)為并行10bit;
此時(shí)FPGA內(nèi)部只需要運(yùn)行再一個(gè)相對(duì)較低的頻率,進(jìn)行并行處理數(shù)據(jù)即可。
下面簡(jiǎn)單介紹一下FPGA內(nèi)部的高速收發(fā)器(主要以Xilinx的A7 FPGA為例,其他的“大概”大同小異)。
FPGA內(nèi)部的高速收發(fā)器一般稱為GT(GT的意思是Gigabyte Transceiver),速度根據(jù)器件的不同能夠支持的速率也不相同。在Xilinx 7系列的FPGA中,按支持的最高線速率排序,GTP是最低的,GTZ是最高的。GTP被用于A7系列,GTZ被用于少數(shù)V7系列。從K7到V7,最常見(jiàn)的是GTX和GTH。GTH的最高線速率比GTX稍微高一點(diǎn)點(diǎn)。
下圖是Xilinx A7 FPGA內(nèi)部的高速收發(fā)器(GTP)。
GTP對(duì)外的管腳也不是普通的IO,必須得是專門的IO(單獨(dú)的bank)。
下圖為A7 FPGA 的支持GTP的bank(一般稱為MGT:Multi-Gigabit Transceiver bank)。
上述的電路圖中有四路收發(fā)器(一發(fā)一收稱為1路收發(fā)器,收發(fā)都是差分信號(hào))。四路收發(fā)器被稱為一個(gè) Quad GT。
每一路的收發(fā)器的內(nèi)部如下:
發(fā)送器:
接收器:
在分析發(fā)送器和接收器之前,我們先了解幾個(gè)名詞。
PMA:
PMA是物理介質(zhì)子層(Physical Medium Attachment),它負(fù)責(zé)管理電氣、時(shí)鐘和定時(shí)等物理層面的信號(hào)特性。PMA還處理高速數(shù)據(jù)傳輸所需的時(shí)序控制和信號(hào)重建,并確保信號(hào)能夠正確地傳輸?shù)竭h(yuǎn)端接收器。
PCS:
PCS是物理編碼子層(Physical Coding Sublayer),它處理數(shù)據(jù)信號(hào)的編碼和解碼,以及錯(cuò)誤檢測(cè)和校正。PCS負(fù)責(zé)將邏輯上的數(shù)據(jù)流轉(zhuǎn)換為物理層面上的數(shù)字信號(hào),并通過(guò)使用8b/10b編碼或128b/130b編碼等技術(shù)來(lái)確保數(shù)據(jù)傳輸?shù)目煽啃院驼_性。
發(fā)送器和接收器都是由PCS和PMA組成。相對(duì)簡(jiǎn)化理解:PMA就是發(fā)送端并轉(zhuǎn)串,就是接收端串轉(zhuǎn)并。
那么此時(shí)我們就可以利用PMA來(lái)完成高速串行輸入輸出。那么PCS有什么作用呢?
在高速串行通信中,為了能夠使信號(hào)完整的發(fā)送到發(fā)送方、能夠使接收方可以進(jìn)行CDR,需要對(duì)發(fā)送的數(shù)據(jù)進(jìn)行編碼(如果不明白可以查看本公眾號(hào)文章“高速遠(yuǎn)距離通信之bit同步和字節(jié)同步”)。除了基本的編碼外,我們還需要一些通信協(xié)議(PCIE、SATA等等)、多通道對(duì)齊等一些功能。此時(shí)PCS將可以為我們完成一部分。
在使用GT資源時(shí),我們只需要將原碼(可能附帶一些協(xié)議規(guī)則)發(fā)送給PCS,PCS經(jīng)過(guò)調(diào)整后,發(fā)送給PMA,PMA就會(huì)將數(shù)據(jù)發(fā)送到FPGA外部;外部高速信號(hào)進(jìn)入PMA,PMA將數(shù)據(jù)交付給PCS,PCS經(jīng)過(guò)調(diào)整交付為FPGA內(nèi)部。此時(shí)就完成了高速數(shù)據(jù)的輸入和輸出的過(guò)程。
當(dāng)然是用起來(lái)還是有一定的難度,后續(xù)慢慢的介紹相關(guān)內(nèi)容。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21799瀏覽量
606196 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2014瀏覽量
61369 -
串行信號(hào)
+關(guān)注
關(guān)注
0文章
26瀏覽量
8535
原文標(biāo)題:FPGA如何發(fā)出高速串行信號(hào)
文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論