關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > CPCI總線的分布式系統(tǒng)設(shè)計(jì)應(yīng)用

CPCI總線的分布式系統(tǒng)設(shè)計(jì)應(yīng)用

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

圖3板卡數(shù)據(jù)接收“抽屜”

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

基于這種報(bào)文存儲(chǔ)機(jī)制,我們定義幾種地址表來(lái)維護(hù)數(shù)據(jù)傳輸相關(guān)地址信息。板上維護(hù)有靜態(tài)的基址表,記載為每個(gè)卡槽上板卡預(yù)先分配的基址。所有板卡上都維護(hù)有板卡地址映射表和傳輸?shù)刂菲票?。板卡地址映射表為一個(gè)結(jié)構(gòu)數(shù)組,數(shù)組中各項(xiàng)分別代表一個(gè)卡槽,里面包含板卡名稱、卡槽號(hào)、基址和地址范圍等地址信息以供數(shù)據(jù)傳輸時(shí)配置所用,其數(shù)據(jù)結(jié)構(gòu)如下:

typedefstruct_BUS_ADDR_MAPPING_INFO{

charboard_name[BOARD_NAME_LENGTH];

intslot_number;

unsignedlongbase_addr;

unsignedlongrange;

}BUS_AddrMapping_Info,*P_BUS_AddrMapping_Info;

傳輸?shù)刂菲票頌橐粺o(wú)符號(hào)整型數(shù)組,用于記錄板卡間數(shù)據(jù)傳輸時(shí)各板卡的地址偏移,初值均為零,每次傳輸完畢,接收板卡的地址偏移就增加當(dāng)次數(shù)據(jù)傳輸長(zhǎng)度,當(dāng)?shù)刂房臻g不足以存放即將傳輸?shù)臄?shù)據(jù)時(shí),則將偏移地址設(shè)為零,重新從區(qū)域起始處寫入。其數(shù)據(jù)結(jié)構(gòu)定義如下:

u32current_offset_table[NUM_OF_SLOT]={0,0,0,0,0,0,0,0};

3.2數(shù)據(jù)傳輸實(shí)現(xiàn)

我們定義了一種數(shù)據(jù)結(jié)構(gòu)IPH(InternalPacketHeader),包含數(shù)據(jù)類型、長(zhǎng)度、來(lái)源卡槽號(hào)等屬性,在傳輸數(shù)據(jù)前作為包頭對(duì)報(bào)文進(jìn)行封裝,以便接收方解析包頭后能根據(jù)數(shù)據(jù)業(yè)務(wù)類型區(qū)分處理。主要IPH類型有板卡配置信息,端口注冊(cè)信息,路由信息,未知數(shù)據(jù)類型等。定義數(shù)據(jù)結(jié)構(gòu)iph_attr區(qū)別不同IPH_info類型,位于數(shù)據(jù)包首,其數(shù)據(jù)結(jié)構(gòu)如下:

typedefstruct_IPH_ATTR{

u32board_id;/*fromwhichboard*/

intiph_type;/*datagramtype*/

unsignedlonglength;/*datagramlength(withoutIPH)*/

}IPH_ATTR,*P_IPH_ATTR;

針對(duì)各種類型IPH信息又分別定義不同數(shù)據(jù)結(jié)構(gòu),在數(shù)據(jù)包頭中依次存放于iph_attr結(jié)構(gòu)之后。

發(fā)送數(shù)據(jù)時(shí),對(duì)數(shù)據(jù)進(jìn)行IPH封裝,根據(jù)前述的板卡地址映射表選擇目的PCI地址,再調(diào)用接口函數(shù)完成數(shù)據(jù)傳輸。發(fā)送方通過(guò)寫接收板卡橋芯片的mailbox寄存器,將傳輸?shù)刂芳皵?shù)據(jù)長(zhǎng)度信息通知接收方,產(chǎn)生中斷觸發(fā)接收。PLX橋芯片支持local對(duì)PCI的直接訪問(wèn),它有8個(gè)mailbox寄存器,前四個(gè)能產(chǎn)生中斷,每個(gè)mailbox32位,傳輸?shù)刂泛蛿?shù)據(jù)長(zhǎng)度信息分別使用mailboxi和mailboxi+4配合工作,這樣接收方收到兩個(gè)參數(shù)時(shí)會(huì)產(chǎn)生一次中斷,進(jìn)行數(shù)據(jù)接收[5]。這種機(jī)制使接收處理具有四個(gè)服務(wù)窗口,提高了吞吐量。

接收板卡PLX芯片的mailbox被寫入?yún)?shù)即產(chǎn)生本地中斷檢查“抽屜”,產(chǎn)生中斷前,數(shù)據(jù)實(shí)際上已被發(fā)到目標(biāo)板卡上了。中斷服務(wù)程序?yàn)榻邮斩司S護(hù)一個(gè)數(shù)據(jù)隊(duì)列,它讀取mailbox中的信息,分析地址找到相應(yīng)數(shù)據(jù)并交由底半處理。底半解析數(shù)據(jù)包的IPH分辨數(shù)據(jù)類型,若為配置、端口、路由等信息則進(jìn)行相應(yīng)配置,若為數(shù)據(jù)信息則進(jìn)行處理或轉(zhuǎn)發(fā)。

綜上所述,通過(guò)“抽屜機(jī)制”和對(duì)幾種地址表的維護(hù)完成了各板卡之間PCI地址空間的映射,板卡將數(shù)據(jù)寫往映射地址空間即能通過(guò)總線將數(shù)據(jù)傳輸?shù)侥繕?biāo)板卡上,實(shí)現(xiàn)了板卡的跨總線內(nèi)存訪問(wèn);自定義IPH數(shù)據(jù)包頭來(lái)區(qū)分?jǐn)?shù)據(jù)類型協(xié)助數(shù)據(jù)信息管理,完成了路由維護(hù),轉(zhuǎn)發(fā)引擎的邏輯功能,實(shí)現(xiàn)了數(shù)據(jù)的無(wú)干擾傳輸與有效通信管理。

4.總結(jié)及展望

本文作者創(chuàng)新點(diǎn)為:給出了一種基于系統(tǒng),同時(shí)提出了基于“抽屜機(jī)制”的報(bào)文存儲(chǔ)機(jī)制和地址信息維護(hù)策略。文章所述的基于系統(tǒng),可達(dá)到64bit總線寬度、264MB/s的峰值帶寬,系統(tǒng)中各主機(jī)能獨(dú)立完成數(shù)據(jù)處理及通信,能夠承載語(yǔ)音、數(shù)據(jù)多種業(yè)務(wù),用戶還可通過(guò)用戶接入板與語(yǔ)音業(yè)務(wù)板所連的PSTN網(wǎng)和數(shù)據(jù)業(yè)務(wù)板所連Internet進(jìn)行數(shù)據(jù)通信,在通信、軍事等領(lǐng)域有著較大的前景。為使本通信系統(tǒng)更具大規(guī)模實(shí)用價(jià)值,未來(lái)的工作包括:

(1)實(shí)現(xiàn)一套易操作的遠(yuǎn)程管理系統(tǒng),以便完成通信業(yè)務(wù)的監(jiān)控,調(diào)配;

(2)支持更多業(yè)務(wù)類型的接口板卡,如xDSL,H.264等;

(3)在外界干擾較大情況下,通過(guò)嚴(yán)格的性能測(cè)試以證明系統(tǒng)能夠滿足電信級(jí)的業(yè)務(wù)需求。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉