關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > MPC8280多通道HDLC控制器的應(yīng)用

MPC8280多通道HDLC控制器的應(yīng)用

作者: 時(shí)間:2011-02-14 來(lái)源:網(wǎng)絡(luò) 收藏

程序員通過(guò)對(duì)SI RAM塊編程來(lái)完成路由表的構(gòu)建。每個(gè)SI包含2個(gè)SI RAM塊,分別用于設(shè)計(jì)發(fā)送和接收的路由表,這樣MPC8280內(nèi)部的2個(gè)SI模塊總共包含4個(gè)SI RAM塊。每塊由SI RAM構(gòu)造的路由表包括256條表項(xiàng),每條表項(xiàng)長(zhǎng)度是2字節(jié),每條表項(xiàng)最多可控制8個(gè)字節(jié)串行流數(shù)據(jù)的分配,所以1個(gè)SI模塊支持的最長(zhǎng)一幀的長(zhǎng)度可達(dá)256×8×8=16 384比特。路由表表項(xiàng)的內(nèi)容就是指定將TDM口上通過(guò)1~8個(gè)比特或字節(jié)的同步數(shù)據(jù)流分配給MCC、SCC、SMC、FCC等控制單元。最后一條表項(xiàng)必須激活路由表的結(jié)束標(biāo)記,告訴TSA已處理完一幀,請(qǐng)等待下一個(gè)幀同步信號(hào)的到來(lái)。

本文引用地址:http://butianyuan.cn/article/162451.htm

c.JPG


如圖3所示,每塊SI RAM(內(nèi)含256條表項(xiàng))等分為4個(gè)bank,即每個(gè)TDM口均各有1個(gè)bank一一對(duì)應(yīng);每個(gè)bank可以被程序員指派為對(duì)應(yīng)不同的TDM口(但不允許將兩個(gè)TDM口對(duì)應(yīng)到同一個(gè)bank上)。這樣,TDM口的串行數(shù)據(jù)流在指定bank的SI RAM表項(xiàng)的控制下被分別送往指定的控制單元進(jìn)行處理。一個(gè)bank的長(zhǎng)度可由設(shè)計(jì)人員自由設(shè)定(路由表有首尾標(biāo)志),這是因?yàn)椴煌膽?yīng)用,每一幀的比特?cái)?shù)目并不一定相同;路由表即精確地確定了每一個(gè)TDM口幀流的比特?cái)?shù)目。顯然,一個(gè)幀流必須由多少條表項(xiàng)來(lái)處理也可以計(jì)算出來(lái),即幀流總比特?cái)?shù)/每表項(xiàng)處理的比特?cái)?shù)。注意,路由表的表項(xiàng)數(shù)目必須是偶數(shù),因此在編程時(shí),如果的確是只有一條表項(xiàng),那么就還必須再補(bǔ)上一條內(nèi)容為空的表項(xiàng)。
此外,因?yàn)門DM口的接收、發(fā)送分別由2個(gè)SI RAM塊實(shí)施控制,所以TDM口發(fā)送和接收的比特流的分配可以任意設(shè)計(jì),甚至允許將不連續(xù)的比特流都分配到一個(gè)控制單元,也允許一個(gè)通信控制單元從某一個(gè)TDM接收,而從另一個(gè)TDM發(fā)送。

3 MCC的標(biāo)準(zhǔn)通道設(shè)計(jì)
一個(gè)MCC的數(shù)據(jù)是在特定SI控制的4個(gè)TDM口上傳輸;每個(gè)MCC可以支持128條時(shí)分復(fù)用通道(見圖4),用來(lái)傳輸HDLC、透明通道,或7號(hào)信令通道數(shù)據(jù)。本文的設(shè)計(jì)是用MCC實(shí)現(xiàn)多通道HDLC通信協(xié)議。MCC的數(shù)據(jù)流可通過(guò)TSA的橋接直接送入MCC相應(yīng)通道的FIFO處理。每個(gè)MCC可分解成4個(gè)子模塊,每個(gè)子模塊(包含32條通道)對(duì)應(yīng)到1個(gè)TDM口上,即處理不同的物理TDM口的數(shù)據(jù)。MCC中的每個(gè)通道的工作模式均可獨(dú)立設(shè)置,收發(fā)關(guān)系也可以獨(dú)立映射;支持全局環(huán)回和基于單個(gè)通道的獨(dú)立環(huán)回。

d.JPG


每個(gè)MCC中包含128個(gè)功能完全相同的通道,每個(gè)通道都有一套配置寄存器,這些寄存器功能相同,并依靠通道號(hào)進(jìn)行索引尋址,進(jìn)而初始化。
MCC的初始化遵循先全局、后通道的順序。MCC的全局參數(shù)寄存器定位在DPRAM(bank 9)中,占用128字節(jié),該寄存器組相對(duì)DPRAM基地址的偏移量為0x8800。在全局參數(shù)設(shè)置里比較重要的、將影響各通道配置寄存器空間尋址的地址索引寄存器如表1所列。

e.JPG


每個(gè)通道都有64字節(jié)的專用參數(shù)寄存器。采用“DPRAM基址+64×通道號(hào)”的方式計(jì)算出指定通道的專用參數(shù)寄存器組的基址。
每個(gè)通道還有8字節(jié)的額外參數(shù)寄存器,采用“DPRAM基址+8×通道號(hào)”的方式計(jì)算出指定通道的額外參數(shù)寄存器組的基址。該區(qū)塊的主要內(nèi)容包括:TBASE(16位,發(fā)送BD表首地址計(jì)算元素);RBASE(16位,接收BD表首地址計(jì)算元素)。
BD表通常放在片外內(nèi)存中。1個(gè)MCC包含128條通道,每條通道都有自己的BD表,所有128條通道的BD表集中連續(xù)地存放在一個(gè)512 KB的段中。在這個(gè)空間內(nèi)尋址某個(gè)通道對(duì)應(yīng)的BD表的基地址的計(jì)算方法是:MCCBASE+8×RBASE(接收),MCCBASE+8×TBASE(發(fā)送)。接收和發(fā)送BD表都是一個(gè)環(huán)形隊(duì)形,接收BD表至少須含2條表項(xiàng),發(fā)送BD表至少須含1條表項(xiàng)。編程時(shí),構(gòu)造結(jié)構(gòu)數(shù)組,可以把TBASE、RBASE設(shè)計(jì)成和通道號(hào)對(duì)應(yīng)的數(shù)組索引。
每條BD表項(xiàng)有8個(gè)字節(jié),如表2所列。

f.JPG


環(huán)形隊(duì)列結(jié)構(gòu)的中斷表也是放在片外內(nèi)存中。發(fā)送中斷對(duì)應(yīng)一張表,基地址為TINTBASE;接收中斷對(duì)應(yīng)1~4張表,基地址分別為RINT-BASE0~RINTBASE3。中斷表的長(zhǎng)度完全由用戶確定,但最少至少包括2條表項(xiàng)。每條中斷表項(xiàng)長(zhǎng)度為4字節(jié),記錄了中斷表項(xiàng)是否有效、中斷標(biāo)志以及觸發(fā)中斷的通道號(hào)。



關(guān)鍵詞: 通信

評(píng)論


相關(guān)推薦

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

關(guān)閉