新聞中心

        EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > SPI-4.2總線應(yīng)用和調(diào)試經(jīng)驗談

        SPI-4.2總線應(yīng)用和調(diào)試經(jīng)驗談

        作者: 時間:2011-03-24 來源:網(wǎng)絡(luò) 收藏

        除了數(shù)據(jù)包中最后一段不滿16字節(jié)的數(shù)據(jù)(EOP)之外,.2的數(shù)據(jù)實行突發(fā)傳輸,以16字節(jié)為單位(稱為一個數(shù)據(jù)塊),每次傳輸多個數(shù)據(jù)塊。因為數(shù)據(jù)寬度是16位,所以一次突發(fā)傳輸至少需要4個時鐘周期。數(shù)據(jù)的高地址位字節(jié)先發(fā)送(MSB),低地址位字節(jié)后發(fā)送,數(shù)據(jù)塊傳輸過程中不會被中斷。每次突發(fā)傳輸?shù)拈g隔期間傳送控制包或者訓(xùn)練序列。圖2中,TDAT表示數(shù)據(jù)塊,TCTRL表示控制塊。控制包長度為16位,包含了前次傳輸和下次傳輸?shù)臓顟B(tài)信息:包開始標(biāo)志、包結(jié)束標(biāo)志、邏輯端口地址和DIP-4交織校驗碼等。數(shù)據(jù)鏈路遵循有限狀態(tài)機進行工作,狀態(tài)包括5種:控制包傳輸、數(shù)據(jù)包傳輸、空閑包傳輸、訓(xùn)練序列傳輸以及訓(xùn)練序列控制。
        因為狀態(tài)鏈路的寬度是2位,所以每次突發(fā)傳輸至少傳輸16位數(shù)據(jù)(4個時鐘周期)。反映FIFO隊列的狀態(tài)信息有3種:飽(Satisfied)、餓(Hungry)、極餓(Starving),分別對應(yīng)二進制數(shù)字10、01和00。11表示鏈路處于失步狀態(tài),正在同步過程中。當(dāng)狀態(tài)是“飽”時,說明隊列幾乎滿了,只接收當(dāng)前正在傳送的數(shù)據(jù)包,其他數(shù)據(jù)包只有等狀態(tài)更新后才能接收。當(dāng)狀態(tài)是“餓”時,可以接收最大MaxBurst2個數(shù)據(jù)塊。當(dāng)狀態(tài)是“極餓”時,說明隊列幾乎空了,可以接收最大MaxBurst1個數(shù)據(jù)塊。MaxBurst1和MaxBurst2是.2初始化時設(shè)定的參數(shù),MaxBurst1不得小于MaxBurst2。

        2 .2的初始化和同步
        SPI-4.2總線初始化時必須設(shè)定一些基本參數(shù),如表1所列。

        本文引用地址:http://www.104case.com/article/156544.htm

        c.jpg


        SPI-4.2總線協(xié)議定義了一個叫“日歷”的數(shù)據(jù)結(jié)構(gòu)CALENDAR[i](i=1,…,CALENDAR_LEN)。CALENDAR_LEN(日歷長度)參數(shù)規(guī)定了邏輯端口(或稱為虛擬通道)的數(shù)目,該數(shù)值不能小于實際的邏輯端口數(shù)目。例如,如果SPI-4.2總線用于10 Gb/s以太網(wǎng)口,那么日歷長度是1(即CALENDAR_LEN=1);如果SPI-4.2總線用于10個1 Gb/s以太網(wǎng)口,那么日歷長度是10(CALENDAR_LEN=10),CALENDAR[i]=1,2,…,10,代表了10個以太網(wǎng)端口。CALENDAR[i]中承載的數(shù)據(jù)被周而復(fù)始地依次傳輸,重復(fù)次數(shù)是CALENDAR_M次。圖3為日歷長度和重復(fù)次數(shù)都是4的數(shù)據(jù)傳輸示意圖。SPI-4.2總線被初始化時,必須確保接口兩端的CALENDAR_LEN和CALENDAR_M分別相等。從這個角度看,SPI-4.2是一種時分復(fù)用的總線:總帶寬是固定的,“日歷”數(shù)據(jù)結(jié)構(gòu)決定了帶寬和邏輯端口的分配。
        當(dāng)SPI-4.2正常工作時,數(shù)據(jù)和狀態(tài)鏈路會不定期地發(fā)送訓(xùn)練序列。在數(shù)據(jù)鏈路,訓(xùn)練序列至少應(yīng)該在DATA_MAX_T個時鐘周期內(nèi)發(fā)送一次。在狀態(tài)鏈路,訓(xùn)練序列至少應(yīng)該在FIFO_MAX_T個時鐘周期內(nèi)發(fā)送一次。設(shè)置DATA_MAX_T或FIFO_MAX_T為0將取消各自鏈路的訓(xùn)練序列,一般情況下不推薦這種設(shè)置。
        圖4以XLR732為參照描述了SPI-4.2總線的收發(fā)同步過程。啟動之后,在發(fā)送方向,發(fā)送模塊(TX)通過數(shù)據(jù)鏈路發(fā)送連續(xù)的訓(xùn)練序列,對端的接收模塊成功收到訓(xùn)練序列后,會設(shè)置本端的接收同步標(biāo)志;然后通過狀態(tài)鏈路發(fā)送訓(xùn)練序列給對端,一旦發(fā)送模塊成功接收到訓(xùn)練序列后,就設(shè)置本端的發(fā)送同步標(biāo)志。

        d.jpg



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 泽州县| 杭锦后旗| 滦南县| 遂昌县| 增城市| 沂源县| 仙游县| 洛浦县| 大关县| 桐柏县| 龙州县| 当阳市| 大悟县| 衢州市| 清远市| 滁州市| 桐庐县| 涿鹿县| 安宁市| 娄底市| 肇源县| 张家口市| 邯郸市| 吉木萨尔县| 婺源县| 象山县| 曲周县| 宁乡县| 宽城| 于都县| 宁明县| 运城市| 武夷山市| 江口县| 宁城县| 峡江县| 蓬莱市| 文昌市| 南江县| 泸水县| 顺义区|