国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的SATAII協(xié)議物理層實現(xiàn)

2014-03-20 03:50:36葉勃宏
電子科技 2014年6期
關鍵詞:收發(fā)器原語物理層

葉勃宏

(西安電子科技大學CAD研究所,陜西西安710071)

SATA作為一種高速串行鏈路已取代了IDE作為硬盤的標準接口。該高速差分鏈路使用吉比特傳輸和8B/10B編碼技術,其相比于IDE、PATA接口具有傳輸速度更高、設備升級更簡單和配置使用更便捷等優(yōu)勢[1]。首先,作為一種高速點對點的傳輸方式,SATA解決了直流偏置、信號偏移、碼間干擾等問題,并提高了傳輸?shù)膸?。同時具備了更完善的查錯和糾錯能力,傳輸質(zhì)量和傳輸可靠性得到了大幅提升。其次,SATA接口相比于傳統(tǒng)的并行接口具有更少的引腳數(shù)目,更利于PCB板級的設計、裝配和散熱。最終,SATA總線還支持熱插拔并具有更低的功耗。SATA接口協(xié)議具有層次化的結構[2-3],如圖1所示,從下到上分別是物理層、數(shù)據(jù)鏈路層、傳輸層和應用層。其中物理層負責低壓差分信號的發(fā)送和接收,并實現(xiàn)接口的初始化過程和速率的自動協(xié)商。

1 物理層功能

圖1 SATA協(xié)議層次結構

在發(fā)送過程中,物理層從鏈路層接收并行的數(shù)據(jù)將其轉(zhuǎn)為串行數(shù)據(jù),然后以3 Gbit·s-1的線速度向硬盤側(cè)發(fā)送LVDS NRZ高速比特流。在接收過程中,將串行數(shù)據(jù)轉(zhuǎn)化成并行數(shù)據(jù),在串行數(shù)據(jù)流中檢測其中的K28.5字符,使得輸出的并行數(shù)據(jù)對齊[4]。物理層提供的具體功能如下:(1)發(fā)送側(cè)和接收側(cè)提供100 Ω電阻進行內(nèi)部端接,以此來消除反射,保證信號的完整性。(2)向鏈路層提供不同位寬的接口。(3)用CDR技術從高速的串行比特流內(nèi)恢復出時鐘和數(shù)據(jù)。(4)K28.5字符檢測,以此來對齊接收到的數(shù)據(jù)。(5)發(fā)送和檢測OOB(Out-Of-Band)信號,進行硬盤和FPGA的同步和協(xié)商。(6)向上層報告物理層的工作狀態(tài)。(7)提供電源管理功能,以此降低功耗。(8)支持接收和發(fā)送阻抗匹配。(9)解決擴散頻譜時鐘引起的輸入數(shù)據(jù)頻率波動。(10)響應遠端發(fā)出的測試請求。

2 OOB信號

SATA協(xié)議使用OOB信號來完成初始化過程和速率協(xié)商過程。OOB信號不屬于數(shù)據(jù)信號,所以稱之為帶外信號。OOB是一種低頻信號,具體含有3種模式:COMRESET、COMINIT和COMWAKE。COMRESET,如圖2所示,由主機端發(fā)送,用來設備復位和鏈路的初始化,其由突發(fā)長度為106.7 ns的Align原語和320 ns的空閑共模電平分隔。COMINT,如圖2所示,格式與COMRESET相同,與后者的區(qū)別在于,其是由設備側(cè)向主側(cè)發(fā)送的。COMWAKE,如圖3所示,與前兩者的區(qū)別在于其的空閑間隔為106.7 ns,且設備側(cè)和主側(cè)均可以發(fā)送。

圖2 COMRESET/COMINIT信號

圖3 COMWAKE信號

3 物理鏈路建立過程

在上電和硬件復位期間,主機通過OOB信號來建立通行鏈路,其中包括速度協(xié)商、時鐘恢復、阻抗校準和自我診斷等。具體上電過程如圖4所示,由以下10個步驟組成:(1)主側(cè)FPGA和設備側(cè)硬盤處于斷電狀態(tài)。(2)系統(tǒng)上電,主設備側(cè)將發(fā)送和接收差分對拉到共模電壓。(3)主設備側(cè)發(fā)送COMRESET信號。(4)當上電復位結束后,主設備側(cè)停止發(fā)送COMRESET信號并將串行總線置于空閑狀態(tài)。(5)當硬盤檢測到COMRESET信號,其開始發(fā)送COMINIT信號作為響應。硬盤可在任何時間點通過發(fā)送COMINIT信號來建立新的通信連接。(6)主設備側(cè)進行校準且發(fā)送COMWAKE信號。(7)當硬盤在其的接收線上檢測到COMWAKE信號后,其開始校準發(fā)送器。完成校準后,硬盤發(fā)送突發(fā)長度為6的COMWAKE信號然后連續(xù)發(fā)送Align原語。當連續(xù)發(fā)送54.6 μs的Align原語后還未收到來自主設備側(cè)的回應,而硬盤側(cè)則進入錯誤狀態(tài)。(8)當主設備側(cè)檢測到COMWAKE信號后便以所支持的最低速率開始發(fā)送D10.2字符。于此同時,主設備側(cè)開始鎖定Align原語,當準備好便以與接收到相同的速度向硬盤側(cè)發(fā)送Align原語。若在880 μs內(nèi)主設備未接收到Align原語,主設備便重新開始復位。(9)硬盤鎖存到Align原語序列,并在準備就緒后,發(fā)送SYNC原語表明可正常運行。(10)當主機側(cè)接收到非Align原語,鏈路建立完成,則可進行正常的數(shù)據(jù)傳輸。

圖4 鏈路建立過程圖

4 實現(xiàn)過程

SATA協(xié)議物理層的實現(xiàn)由3部分組成,分別是整體流程圖的設計、時鐘部分和速率協(xié)商狀態(tài)轉(zhuǎn)移設計。

4.1 整體設計流程圖

初始化的過程嚴格按照SATA協(xié)議的規(guī)定。整個過程流程如圖5所示。主機端上電后首先發(fā)送持續(xù)時間為1 μs的COMRESET信號,然后等待COMINIT信號,當Rxstatus等于100時,再發(fā)送持續(xù)時間為1 μs的COMMWAKE信號。在接收到COMMWAKE信號后且線路處于空閑的狀態(tài),接著發(fā)送D10.2字符。若在880 μs內(nèi)接收到了Align原語,則發(fā)送Align原語且開始等待SYNC原語,否則將重新開始發(fā)送COMRESET信號[4-7]。

圖5 設計整體流程圖

4.2 時鐘控制設計

SATA協(xié)議物理層的實現(xiàn)是基于Xilinx公司的FPGA,利用FPGA內(nèi)部提供的高速Serdes接口實現(xiàn)高速比特流的發(fā)送、接收和串并轉(zhuǎn)換。其中一個高速串行收發(fā)器GTX由兩個TILE組成,為節(jié)省功耗,兩個TILE由一個鎖相環(huán),如圖6所示提供時鐘。由外部提供給GTX中鎖相環(huán)的參考時鐘頻率為150 MHz,其中鎖相環(huán)的PLL_DIVSEL_FB參數(shù)設置為2,PLL_DIVSEL_REF參數(shù)設置為1,INTDATAWIDTH參數(shù)設置為1,在這種設置條件下鎖相環(huán)輸出的倍頻時鐘PLLCLK為1.5 GHz,如圖7所示。該倍頻時鐘分別提供給發(fā)送器和接收器。提供給發(fā)送器的參考時鐘由參數(shù)PLL_TXDIVSEL_OUT設定,接收器則由參數(shù)PLL_RXDIVSEL_OUT決定。參數(shù)PLL_TXDIVSEL_OUT、PLL_RXDIVSEL_OUT的可能取值為1和2。參數(shù)取值由協(xié)商的速率決定,可在協(xié)商的過程中通過DRP接口動態(tài)地改變。提供給FPGA邏輯部分的時鐘由GTX提供給鏈路層的數(shù)據(jù)位寬決定[8-11]。鎖相環(huán)模塊對外提供的接口信號如下:(1)CLKIN信號用來向模塊提供參考信號。(2)INTDATAWIDTH信號用來決定GTX串行收發(fā)器內(nèi)部的數(shù)據(jù)寬度。(3)PLLDET信號用來表示鎖相環(huán)內(nèi)部的VCO壓控振蕩器的輸出范圍是否在可接受的有效范圍內(nèi)。(4)PLLDETEN信號用來使能內(nèi)部的鎖定功能。(5)REFCLKOUT頻率等于CLKIN,其可為上層的邏輯電路提供參考時鐘。

圖6 鎖相環(huán)結構圖

圖7 鎖相環(huán)輸出時鐘圖

整個SATA物理的時鐘網(wǎng)絡結構,如圖8所示,由4部分組成[8],分別是高速串行收發(fā)器部分、OOB信號控制部分、DCM數(shù)字時鐘控制部分和SNC同步控制部分,其中高速串行收發(fā)器向邏輯控制部分提供DRP動態(tài)控制接口。GTPRESET信號用來對整個收發(fā)器進行全局的復位。TXDATA接口用來接收將要發(fā)送的并行數(shù)據(jù)。RXDATA接口用來將串并轉(zhuǎn)化后的并行數(shù)據(jù)提供給上層。TXCOMSTART用來指示收發(fā)器何時開始發(fā)送OOB信號,并將其置1時開始發(fā)送OOB信號,置0不發(fā)送OOB信號。TXCOMTYPE用來指示發(fā)送OOB信號的種類。TXCHARISK信號用來指示所發(fā)送的數(shù)據(jù)是否是K字符。RXSTATUS用來表示串行收發(fā)器的狀態(tài)。

圖8 FPGA內(nèi)部時鐘結構圖

REFCLKOUT時鐘信號由串行收發(fā)器模塊輸出,經(jīng)全局時鐘緩沖器BUFG進入FPGA的全局時鐘專用網(wǎng)絡,最后進入DCM和SNC模塊。從DCM輸出CLK0時鐘和CLK2X時鐘,分別通過BUFG后向收發(fā)器提供并行的收發(fā)時鐘。SNC模塊可通過動態(tài)地改變收發(fā)器的狀態(tài)達到速率自動協(xié)商的功能。OOB模塊用來控制帶外信號的發(fā)送和接收。

4.3 速率協(xié)商設計

速率協(xié)商的狀態(tài)轉(zhuǎn)移過程如圖9所示。該設計方案可根據(jù)設備硬盤側(cè)掛載的硬盤型號,自動的改變主FPGA這一側(cè)的線速率。若硬盤支持I代接口,則FPGA自動調(diào)整GTX線速率到1.5 Gbit·s-1,若硬盤支持II代接口,則FPGA自動調(diào)整線速率到3 Gbit·s-1。

具體的調(diào)節(jié)過程如下:

(1)設備復位后,改變接收器的線速率為3 Gbit·s-1,通過DRP動態(tài)接口讀取并修改地址為0X46寄存器的值為1。(2)等待16個時鐘周期。(3)改變發(fā)送器的線速率為3 Gbit·s-1,通過DRP動態(tài)接口讀取并修改地址為0X45寄存器的值為1。(4)復位OOB信號控制模塊,此時FPGA和硬盤進行速率協(xié)商。(5)等待鏈接建立,若在3.5 ms時間內(nèi)鏈接建立完成,則物理層準備好,此時給上層一個PHYRDY的信號。(6)若未建立好,則改變接收器的線速率為1.5 Gbit·s-1。通過DRP動態(tài)接口讀取并修改地址為0X46寄存器的值為0。(7)等待16個時鐘周期。(8)改變發(fā)送器的線速率為1.5 Gbit·s-1。通過DRP動態(tài)接口讀取并修改地址為0X45寄存器的值為0。(9)等待鏈接建立,若3.5 ms內(nèi)鏈接建立,則硬盤和主FPGA協(xié)商的速率為1.5 Gbit·s-1,向上層報告鏈路建立可進行正常的數(shù)據(jù)傳輸,若未建立,則從過程(1)開始重新循環(huán),直至速率協(xié)商好為止。

圖9 速率協(xié)商過程圖

5 結束語

代碼調(diào)試完成后下載到Xilinx提供的ML507評估板中,利用Chipscope工具抓取的波形如圖10和圖11所示。圖10中speed信號為低,表示速率協(xié)商到1.5 Gbit·s-1。在圖11中,SOF信號帶來一個高脈沖后,RXDATA信號線上的數(shù)據(jù)是硬盤與FPGA建立連接后由硬盤發(fā)送的一幀報告硬盤狀態(tài)信息的寄存器類型幀。幀的有效長度介于SOF的高脈沖和EOF的高脈沖之間。幀的長度是6個雙字,最后4 Byte為CRC校驗值,其中所有的數(shù)據(jù)均經(jīng)擾碼加擾。從圖中可看出,物理層完成了速率協(xié)商和鏈接建立的過程。

圖10 協(xié)商速率結果圖

圖11 幀信息

[1] 羅彬.硬盤的接口方式及技術指標解析[J].計算機與網(wǎng)絡,2007(z1):37-39.

[2] IntelliProp Inc.IntelliProp serial ata device interface core[M].USA:IntelliProp Inc,2009.

[3] 歐陽干.PCI Express物理層的設計與實現(xiàn)[D].長沙:國防科學技術大學,2006.

[4] Xilinx.Virtex-5 FPGA rocketIO GTX transceiver user guide[M].MA USA:Xilinx Conpration,2008.

[5] 趙崢嶸,蘭巨龍.RocketIO幾個關鍵問題的解決方案[J].電子技術應用,2005(12):51-53.

[6] 歐陽科文,黎福海,唐純杰.基于RocketIO的SATA物理層高速串行傳輸實現(xiàn)[J].計算機測量與控制,2009(5):937-939.

[7] 高世杰,吳志勇.基于RocketIO的多路相機數(shù)據(jù)傳輸系統(tǒng)的設計[J].光通行技術,2008(5):46-48.

[8] 唐純杰.SATA協(xié)議分析及其FPGA實現(xiàn)[D].長沙:湖南大學,2009.

[9] 李江濤.RocketIO高速串行傳輸原理與實現(xiàn)[J].雷達與對抗,2004(4):48-50.

[10] SATA-IO.Serial ATA Revision 2.5:serial ATA international organization[S].USA:SATA-IO,2009.

[11] Xilinx.Xilinx xapp870(v1.0)[M].MA USA:Xilinx Conpration,2008.

猜你喜歡
收發(fā)器原語物理層
測試原語:存儲器故障最小檢測序列的統(tǒng)一特征
清管球收發(fā)器設計細節(jié)分析及應用
基于K-ML-MPWFRFT的物理層安全傳輸技術
公路聯(lián)網(wǎng)電子不停車收費系統(tǒng)路側(cè)單元物理層自動測試軟件研發(fā)
密碼消息原語通信協(xié)議介紹及安全分析
Virtex5 FPGA GTP_DUAL硬核兩個收發(fā)器獨立使用的實現(xiàn)
多天線物理層安全傳輸系統(tǒng)性能分析
1Gbps電力線載波通信物理層算法設計
電測與儀表(2014年8期)2014-04-04 09:19:26
基于原語自動生成的安全協(xié)議組合設計策略及應用研究
富士通半導體推出收發(fā)器家族全新LTE優(yōu)化多頻單芯片MB86L13A
泽库县| 石渠县| 乌兰察布市| 嘉祥县| 河曲县| 久治县| 山阳县| 克山县| 巴青县| 上栗县| 曲水县| 孟村| 武邑县| 庐江县| 高要市| 美姑县| 黄大仙区| 嵊泗县| 横峰县| 竹山县| 封丘县| 鲁山县| 平邑县| 邹平县| 将乐县| 昌图县| 扎囊县| 南漳县| 朔州市| 勐海县| 京山县| 二连浩特市| 天气| 佛冈县| 教育| 津市市| 微博| 江都市| 锡林浩特市| 开原市| 娱乐|