<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > SPI4.2總線(xiàn)應用和調試

SPI4.2總線(xiàn)應用和調試

作者: 時(shí)間:2013-12-04 來(lái)源:網(wǎng)絡(luò ) 收藏
px; MARGIN: 20px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  除了數據包中最后一段不滿(mǎn)16字節的數據(EOP)之外,總線(xiàn)的數據實(shí)行突發(fā)傳輸,以16字節為單位(稱(chēng)為一個(gè)數據塊),每次傳輸多個(gè)數據塊。因為數據寬度是16位,所以一次突發(fā)傳輸至少需要4個(gè)時(shí)鐘周期。數據的高地址位字節先發(fā)送(MSB),低地址位字節后發(fā)送,數據塊傳輸過(guò)程中不會(huì )被中斷。每次突發(fā)傳輸的間隔期間傳送控制包或者訓練序列。圖2中,TDAT表示數據塊,TCTRL表示控制塊??刂瓢L(cháng)度為16位,包含了前次傳輸和下次傳輸的狀態(tài)信息:包開(kāi)始標志、包結束標志、邏輯端口地址和DIP4交織校驗碼等。數據鏈路遵循有限狀態(tài)機進(jìn)行工作,狀態(tài)包括5種:控制包傳輸、數據包傳輸、空閑包傳輸、訓練序列傳輸以及訓練序列控制[1]。

  因為狀態(tài)鏈路的寬度是2位,所以每次突發(fā)傳輸至少傳輸16位數據(4個(gè)時(shí)鐘周期)。反映FIFO隊列的狀態(tài)信息有3種:飽(SaTIsfied)、餓(Hungry)、極餓(Starving),分別對應二進(jìn)制數字10、01和00。11表示鏈路處于失步狀態(tài),正在同步過(guò)程中。當狀態(tài)是“飽”時(shí),說(shuō)明隊列幾乎滿(mǎn)了,只接收當前正在傳送的數據包,其他數據包只有等狀態(tài)更新后才能接收。當狀態(tài)是“餓”時(shí),可以接收最大MaxBurst2個(gè)數據塊。當狀態(tài)是“極餓”時(shí),說(shuō)明隊列幾乎空了,可以接收最大MaxBurst1個(gè)數據塊。MaxBurst1和MaxBurst2是總線(xiàn)初始化時(shí)設定的參數,MaxBurst1不得小于MaxBurst2。

2 總線(xiàn)的初始化和同步

  SPI4.2總線(xiàn)初始化時(shí)必須設定一些基本參數,如表1所列。

  SPI4.2總線(xiàn)協(xié)議定義了一個(gè)叫“日歷”的數據結構CALENDAR[i](i=1,…,CALENDAR_LEN)。CALENDAR_LEN(日歷長(cháng)度)參數規定了邏輯端口(或稱(chēng)為虛擬通道)的數目,該數值不能小于實(shí)際的邏輯端口數目。例如,如果SPI4.2總線(xiàn)用于10 Gb/s以太網(wǎng)口,那么日歷長(cháng)度是1(即CALENDAR_LEN = 1);如果SPI4.2總線(xiàn)用于10個(gè)1 Gb/s以太網(wǎng)口,那么日歷長(cháng)度是10(CALENDAR_LEN = 10),CALENDAR[i] = 1,2,…,10,代表了10個(gè)以太網(wǎng)端口。CALENDAR[i]中承載的數據被周而復始地依次傳輸,重復次數是CALENDAR_M次。圖3為日歷長(cháng)度和重復次數都是4的數據傳輸示意圖。SPI4.2總線(xiàn)被初始化時(shí),必須確保接口兩端的CALENDAR_LEN和CALENDAR_M分別相等。從這個(gè)角度看,SPI4.2是一種時(shí)分復用的總線(xiàn):總帶寬是固定的,“日歷”數據結構決定了帶寬和邏輯端口的分配。

  當SPI4.2正常工作時(shí),數據和狀態(tài)鏈路會(huì )不定期地發(fā)送訓練序列。在數據鏈路,訓練序列至少應該在DATA_MAX_T個(gè)時(shí)鐘周期內發(fā)送一次。在狀態(tài)鏈路,訓練序列至少應該在FIFO_MAX_T個(gè)時(shí)鐘周期內發(fā)送一次。設置DATA_MAX_T或FIFO_MAX_T為0將取消各自鏈路的訓練序列,一般情況下不推薦這種設置。

  圖4以XLR732為參照描述了SPI4.2總線(xiàn)的收發(fā)同步過(guò)程。啟動(dòng)之后,在發(fā)送方向,發(fā)送模塊(TX)通過(guò)數據鏈路發(fā)送連續的訓練序列,對端的接收模塊成功收到訓練序列后,會(huì )設置本端的接收同步標志;然后通過(guò)狀態(tài)鏈路發(fā)送訓練序列給對端,一旦發(fā)送模塊成功接收到訓練序列后,就設置本端的發(fā)送同步標志。

  在接收方,接收模塊(RX)在數據鏈路成功接收到對端發(fā)送的訓練序列后,會(huì )設置本端的接收同步標志;然后通過(guò)狀態(tài)鏈路發(fā)送訓練序列,一旦發(fā)送模塊成功接收到訓練序列后,就設置本端的發(fā)送同步標志。在同步過(guò)程中,訓練序列由指定的連續的DIP4碼字組成。發(fā)送模塊必須連續發(fā)送訓練序列,直到本端的狀態(tài)鏈路收到有效信息。同時(shí),接收模塊忽視所有接收到的數據,直到觀(guān)察到訓練序列,獲得數據同步。一旦數據鏈路同步之后, FIFO隊列狀態(tài)信息就開(kāi)始傳送。

  如果發(fā)送方接收到有效的狀態(tài)信息,它就可以開(kāi)始進(jìn)行數據突發(fā)傳輸。如果在工作過(guò)程中,由于某些原因(例如一端器件掉電或重啟)導致總線(xiàn)失步,那么為了再次獲得同步,雙方需要按照上述過(guò)程發(fā)送連續的訓練序列,直到建立同步為止。

  表1 SPI4.2初始化基本參數

  

SPI4.2初始化基本參數



關(guān)鍵詞: SPI4.2 總線(xiàn)應用 調試

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>