亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SRIO交換芯片的DSP接口設(shè)計

        2019-08-27 10:03:22李靜靜
        火控雷達(dá)技術(shù) 2019年2期
        關(guān)鍵詞:端口號信號處理寄存器

        李靜靜 張 楠

        (西安電子工程研究所 西安 710100)

        0 引言

        隨著高速信號處理器和嵌入式信號處理系統(tǒng)的快速發(fā)展,信號處理芯片與芯片之間、板卡與板卡之間的數(shù)據(jù)通信量越來越大,對傳輸速率和帶寬的要求也越來越高,因此構(gòu)建高速可靠的交換網(wǎng)絡(luò)也勢必成為必然。在目前通用的DSP+FPGA架構(gòu)的信號處理平臺上,SRIO作為完全的點對點拓?fù)浣Y(jié)構(gòu)的標(biāo)準(zhǔn)協(xié)議,非常適合用于構(gòu)建板內(nèi)及板間的交換網(wǎng)絡(luò)[1]。

        CPS1848是美國IDT公司推出的第二代RapidIO交換芯片,符合RapidIO 2.1規(guī)范,具有18個端口(Port),對外提供48路全雙工高速串行通道(Lane),峰值吞吐量可達(dá)240Gbps,是目前較先進(jìn)的RapidIO交換芯片[2]。CPS1848每個端口都可以靈活配置成1x、2x、4x三種模式,端口速率支持1.25Gbps、2.5Gbps、3.125Gbps、5.0Gbps、6.25Gbps 5種模式,而且芯片支持遠(yuǎn)距離傳輸,是板間互連的理想選擇[3]。

        TMS320C6678是TI公司推出的單片8核DSP芯片,整個芯片提供320G MAC定點計算或者160G FLOP浮點計算能力,提供多種多核之間的信息和數(shù)據(jù)交換方式,如EDMA、MessageQ Queue和QMSS等,具有高速運算能力的同時集成了多種對外數(shù)據(jù)交換接口,是目前應(yīng)用較為廣泛的信號處理芯片[4]。本文基于某“雙DSP板+FPGA板”信號處理平臺,研究了基于SRIO交換芯片的DSP接口設(shè)計。

        1 接口設(shè)計

        本節(jié)以某“雙DSP板+FPGA板”信號處理平臺為例,給出了DSP處理器SRIO接口的基本配置方法,并提供了DSP端對SRIO交換芯片的路由配置方法。

        “雙DSP板+FPGA板”信號處理平臺架構(gòu)框圖如圖1所示,該平臺主要由3片DSP處理器TMS320C6678、1片SRIO交換芯片CPS1848和1片F(xiàn)PGA處理器組成。其中DSP0主要用作控制處理,與板內(nèi)FPGA的通信采用SRIO直連,而DSP1、DSP2、FPGA用作運算處理,通過交換芯片CPS1848實現(xiàn)雙DSP板內(nèi)兩片DSP之間的SRIO互連,以及雙DSP板與FPGA板間的SRIO互連。

        鑒于DSP編程方便快捷且有成熟穩(wěn)定的維護(hù)包(Maintenance Package),DSP端在配置與維護(hù)自身SRIO接口的同時,也提供了對CPS1848的配置與維護(hù),而FPGA端則可保持原來的SRIO直連配置不變。

        圖1 信號處理平臺架構(gòu)框圖

        1.1 基本配置

        通過CPS1848進(jìn)行SRIO互連的DSP芯片,其接口的基本配置與片間直連有諸多相同的地方,在此不再贅述。由于橋接到了交換芯片上,DSP端SRIO接口的設(shè)計必須參考CPS1848的配置約束,這里重點對端口速率、通道模式以及設(shè)備ID號三方面進(jìn)行說明。

        首先是SRIO的端口速率。TMS320C6678的端口速率原本有1.25Gbps、2.5Gbps、3.125Gbps、5.0Gbps 4種模式可選[5],由于SRIO鏈路兩端節(jié)點的工作速率必須相匹配,因此DSP端需要考慮CPS1848的配置速率。CPS1848的初始工作速率由管腳Speed Select(SPD[2:0])決定,具體設(shè)置如表1所示。本平臺的硬件板卡在設(shè)計成型時,管腳的配置電阻就已經(jīng)決定了端口的初始速率,雖然可以通過軟件代碼修改端口速率,但如果沒有特殊需求,建議用戶還是采用默認(rèn)的配置速率。

        表1 CPS1848端口速率配置表

        Value on the Pins (SPD2,SPD1,SPD0)Port Rate (Gbaud)0001.250012.501X5.0100Reserved1013.12511X6.25

        其次是SRIO的通道模式。與端口速率類似,SRIO通道模式的配置也與硬件板卡的設(shè)計相關(guān)。以本平臺為例,DSP端SRIO的4個Lane都連接到了CPS1848上,原則上來說通道模式在1x、2x、4x中可選,但是以4x模式速率最優(yōu),因此建議用戶把SRIO的通道模式配置成4x模式。

        最后需要重點說明一下設(shè)備ID號的配置。設(shè)備ID號是SRIO收發(fā)數(shù)據(jù)時的重要參數(shù),可使用16位數(shù)字ID或8位數(shù)字ID表示,但要求每個設(shè)備ID號不能重復(fù)。以本平臺為例,3片DSP、1片F(xiàn)PGA、1片CPS1848共5個器件,需要配置5個不同的設(shè)備ID號,注意CPS1848需要占用一個設(shè)備ID號。由于CPS1848的路由表配置與設(shè)備ID號相關(guān),而路由表配置是有一定參照約束的,具體約束要求如表2所示,因此橋接到CPS1848上的DSP1、DSP2、FPGA三個設(shè)備ID號不能隨意設(shè)置,需要滿足表2的約束要求。

        表2 CPS1848路由參照約束表

        Port Value RangeReference ToAllowed in Device Route TableAllowed in Domain Route Table0x00-0x11Port NumbersYesYes0x12-0x3FReservedNoNo0x40-0x67(0x40+Mask Index)Multicast MaskYesNo0x68-0xDCReservedNoNo0xDDForce LocalNoYes0xDEDefault RouteYesYes0xDFNo RouteYesYes0xE0-FFReservedNoNo

        1.2 路由配置

        前文提到過,CPS1848的配置是在DSP端通過Maintenance包對CPS1848寄存器進(jìn)行操作實現(xiàn)。DSP在配置路由表之前需要先對CPS1848進(jìn)行初始化配置,主要包括以下步驟:

        1)配置超時寄存器Timeout Control CSR(地址0x000120);

        2)配置端口使能寄存器Port {1…17} Control 1 CSR(地址0x00015C + 0x20*port_num);

        3)配置端口狀態(tài)寄存器Port {1…17} Error and Status CSR(地址0x000158 + 0x20*port_num)。

        初始化配置完成后,DSP對路由表的配置主要是通過對Standard Route Table Entries Configuration destID Select CSR寄存器(地址0x000070)和Standard Route Table Entry Configuration Port Select CSR寄存器(地址0x000074)的配置實現(xiàn)的。其中,前者對應(yīng)與CPS1848連接的每個芯片的設(shè)備ID號,后者則對應(yīng)每個芯片與CPS1848連接通道所映射的端口號。

        CPS1848內(nèi)部端口分為4個象限(Quadrant),端口寬度由管腳Quadrant Config(QCFG[7:0])決定。其中端口0、4、8、12、16屬于Quadrant0,端口寬度由QCFG[1:0]決定;端口1、5、9、13、17屬于Quadrant1,端口寬度由QCFG[3:2]決定;端口2、6、10、14屬于Quadrant2,端口寬度由QCFG[5:4]決定;端口3、7、11、15屬于Quadrant3,端口寬度由QCFG[7:6]決定。文獻(xiàn)[2]給出了CPS1848端口的具體配置,通過查表可獲得通道(Lane)與端口(Port)的映射關(guān)系。

        以本平臺為例,CPS1848的QCFG[7:0]默認(rèn)配置為0,而DSP1、DSP2、FPGA配置的通道模式均為4x模式,那么通道與端口號之間就是以4個Lane為間隔進(jìn)行映射。比如,DSP1連接到CPS1848的Lane 16-19,那么它對應(yīng)到端口號就是Port 4,以此類推可獲得DSP2和FPGA的端口號。確認(rèn)完各個芯片所連接的端口號后,DSP通過Maintenance包把對應(yīng)的設(shè)備ID號和端口號寫入CPS1848相應(yīng)的寄存器,即可完成路由表的配置。

        2 鏈路維護(hù)

        基于DSP的編程優(yōu)點,在DSP端對SRIO鏈路進(jìn)行維護(hù)是非常便捷有效的方法。本節(jié)給出了一種SRIO鏈路的維護(hù)方法,以實現(xiàn)數(shù)據(jù)的可靠傳輸。

        在正常情況下,硬件板卡上電后,SRIO鏈路完成初始化配置,各節(jié)點間就可以進(jìn)行正常的數(shù)據(jù)傳輸。SRIO一次數(shù)據(jù)傳輸流程為:發(fā)送端產(chǎn)生一個請求包給接收端,接收端收到后返還一個響應(yīng)包給發(fā)送端。圖3給出了典型的請求包和響應(yīng)包的格式,包結(jié)構(gòu)中各段及含義分別是:

        1)AckID:表示包的序列號ID;

        2)Prio:表示包的優(yōu)先級;

        3)TT:指定Device ID是用8 bit或16 bit表示;

        4)Ftype:表示包的類型;

        5)Target ID:表示包的目的地址ID;

        6)Source ID:表示包的源地址ID;

        7)CRC:包結(jié)構(gòu)的校驗保護(hù)。

        圖2 SRIO請求包和響應(yīng)包格式

        在正常的數(shù)據(jù)傳輸中,我們一般只需指定發(fā)送包的類型、Device ID、源地址和目的地址,而作為物理層字段的AckID字符,由于它的初始值為0,且以増序循環(huán)賦值的方式被添加到數(shù)據(jù)包頭部,在鏈路無異常時不存在失配的情況。然而當(dāng)SRIO鏈路斷開重連接或者某節(jié)點重啟后,各節(jié)點的AckID未必能繼續(xù)保持一致,此時若不重新匹配AckID就會導(dǎo)致后續(xù)傳輸數(shù)據(jù)失敗。

        理論上來說,鏈路某節(jié)點AckID的重匹配可以通過修改自身節(jié)點的AckID或者修改對端節(jié)點的AckID兩種方法實現(xiàn)。以本平臺為例進(jìn)行說明,DSP1、DSP2、FPGA通過CPS1848的3個端口實現(xiàn)SRIO的互連,DSP1、DSP2和FPGA自身各有AckID,這里稱之為Local AckID,對應(yīng)CPS1848的3個端口上各有AckID,這里稱之為Remote AckID。前文曾提到CPS1848的配置與維護(hù)主要是由DSP實現(xiàn),因此各節(jié)點AckID的重匹配也是由DSP完成。

        當(dāng)DSP檢測到鏈路異常時,AckID的重匹配有兩種選擇:一種是DSP向CPS1848發(fā)送一個“restart-from-error”命令,獲得其對應(yīng)端口的Remote AckID,然后用Remote AckID修正自身的Local AckID,從而使鏈路兩端的AckID匹配;另一種是DSP把自身的Local AckID重置為0,然后通過Maintenance包把數(shù)值0x81000000寫入端口AckID控制寄存器(地址0x000148 + 0x20*port_num),使對應(yīng)端口的Remote AckID重置為0,從而使鏈路兩端的AckID匹配。

        而當(dāng)FPGA檢測到鏈路異常時,由于FPGA并不對CPS1848操作,只能通過DSP進(jìn)行AckID重匹配,此時DSP只剩下修改CPS1848端口AckID一種方法。具體實現(xiàn)過程為:DSP給FPGA一個復(fù)位信號,F(xiàn)PGA復(fù)位自身的SRIO模塊,與此同時FPGA的Local AckID重置為0,然后DSP通過Maintenance包把數(shù)值0x81000000寫入FPGA對應(yīng)的端口AckID控制寄存器,重置對應(yīng)端口的Remote AckID,從而完成FPGA端AckID的重匹配。

        我們可以通過DSP訪問CPS1848寄存器來實時獲取SRIO的鏈路信息。比如:Port{1…17} Error and Status CSR寄存器(地址0x000158 + 0x20*port_num),可實時監(jiān)測端口狀態(tài);Lane{1…17}Status CSR寄存器(地址0x002010 + 0x20*lane_num),可實時監(jiān)測通道狀態(tài)。此外,CPS1848還對用戶提供了錯誤事件歷史記錄、包計數(shù)器和診斷計數(shù)器。當(dāng)鏈路存在異常時,我們可以訪問相關(guān)寄存器獲知Error信息,從而快速有效地定位出鏈路問題來源。

        3 結(jié)束語

        基于SRIO交換網(wǎng)絡(luò)的信號處理平臺是現(xiàn)代信號處理系統(tǒng)發(fā)展的重要趨勢之一。本文提出的基于SRIO交換芯片的DSP接口設(shè)計方法,實現(xiàn)了多片DSP與FPGA之間大量數(shù)據(jù)實時、高效、可靠地傳輸,同時提出的SRIO鏈路維護(hù)及監(jiān)測方法,也極大保障了傳輸鏈路的可靠性和穩(wěn)定性。

        猜你喜歡
        端口號信號處理寄存器
        Lite寄存器模型的設(shè)計與實現(xiàn)
        在Docker容器中安裝應(yīng)用程序
        《信號處理》征稿簡則
        信號處理(2018年5期)2018-08-20 06:16:02
        《信號處理》第九屆編委會
        信號處理(2018年5期)2018-08-20 06:16:00
        《信號處理》征稿簡則
        信號處理(2018年8期)2018-07-25 12:25:42
        《信號處理》第九屆編委會
        信號處理(2018年8期)2018-07-25 12:24:56
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        淺談以java為基礎(chǔ)的Socket通信簡介及實現(xiàn)
        青春歲月(2017年5期)2017-04-20 18:34:23
        Winsock編程在《計算機(jī)網(wǎng)絡(luò)基礎(chǔ)》教學(xué)中的應(yīng)用
        基于Android系統(tǒng)的互動展示APP的研究與設(shè)計
        欧美日本道免费二区三区| 久久久国产乱子伦精品| 国产成人精品a视频| 女人夜夜春高潮爽a∨片传媒| 亚洲欧美日韩国产综合久| 牛仔裤人妻痴汉电车中文字幕| 最新露脸自拍视频在线观看| 一边吃奶一边摸做爽视频| 免费一区啪啪视频| 亚洲av高清在线一区二区三区| 免费一级淫片日本高清| 性大毛片视频| 无码av免费永久免费永久专区| 亚洲一区二区三区视频免费| 日韩午夜理论免费tv影院| 夜夜躁狠狠躁2021| 成人国产永久福利看片| 久久精品一区一区二区乱码| 美女张开腿黄网站免费| 99精品国产兔费观看久久99| 亚洲色欲色欲www成人网| 亚洲av激情一区二区| 97精品久久久久中文字幕| 国产乱子伦露脸在线| 魔鬼身材极品女神在线| 欲女在线一区二区三区| 午夜无码片在线观看影视| 一区二区三区不卡在线| 草青青视频手机免费观看| 国产精品无码一区二区三区电影| 亚洲国产区男人本色| 国产男女猛烈无遮挡免费视频网址| 精品国内日本一区二区| 无码吃奶揉捏奶头高潮视频| 九九九影院| 亚洲av调教捆绑一区二区三区| 国产精品无码一区二区在线观一| 亚洲男人天堂2019| 加勒比一本大道大香蕉| 中文区中文字幕免费看| 久久精品成人欧美大片|