技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于CPCI總線的分布式系統(tǒng)設(shè)計(jì)

基于CPCI總線的分布式系統(tǒng)設(shè)計(jì)

時(shí)間:2009-04-21 14:59:53來(lái)源:ronggang

導(dǎo)語(yǔ):?為解決大規(guī)模系統(tǒng)中數(shù)據(jù)處理任務(wù)重,業(yè)務(wù)種類多的難點(diǎn),文章給出一種基于Compact PCI(CPCI)的分布式系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了系統(tǒng)板卡間的分工協(xié)作和跨總線遠(yuǎn)程內(nèi)存訪問(wèn)
摘 要:為解決大規(guī)模系統(tǒng)中數(shù)據(jù)處理任務(wù)重,業(yè)務(wù)種類多的難點(diǎn),文章給出一種基于Compact PCI(CPCI)的分布式系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了系統(tǒng)板卡間的分工協(xié)作和跨總線遠(yuǎn)程內(nèi)存訪問(wèn)。本文提出了基于“抽屜機(jī)制”的報(bào)文存儲(chǔ)機(jī)制和地址信息維護(hù)策略,實(shí)現(xiàn)了準(zhǔn)確高效的分布式跨總線通信。 關(guān)鍵詞:Compact PCI;分布式系統(tǒng);抽屜機(jī)制 Abstract: In order to solve the problems of mass data processing and supporting various kinds of services in large-scale system, this paper presents a design of distributed system based on Compact PCI (CPCI) which implements distant memory access and cooperation between boards through CPCI bus. This paper proposes a “drawer mechanism” based packet storage mechanism and address information maintenance strategy. The design implements correct and efficient distributed data communication through CPCI bus. Keywords: Compact PCI; Distributed system; Drawer mechanism 1. 引言   隨著網(wǎng)絡(luò)及通信技術(shù)的高速發(fā)展,網(wǎng)絡(luò)環(huán)境中數(shù)據(jù)運(yùn)算和通信的任務(wù)不斷增大,在越來(lái)越多的領(lǐng)域中需要大規(guī)模系統(tǒng)來(lái)承擔(dān)繁重的數(shù)據(jù)任務(wù)并支持多種類型的任務(wù)處理。為能實(shí)時(shí)得處理大量數(shù)據(jù)業(yè)務(wù),大規(guī)模系統(tǒng)需將數(shù)據(jù)分布到多個(gè)模塊上進(jìn)行并行處理,同時(shí)針對(duì)多種異構(gòu)網(wǎng)絡(luò)數(shù)據(jù),通過(guò)不同功能模塊對(duì)各類數(shù)據(jù)分別處理,再基于統(tǒng)一平臺(tái)進(jìn)行實(shí)時(shí)通信。針對(duì)這樣的需求,大規(guī)模系統(tǒng)應(yīng)采用分布式網(wǎng)絡(luò)架構(gòu),同時(shí)應(yīng)具有開(kāi)放性和良好的可擴(kuò)展性,以適應(yīng)不斷變化的應(yīng)用環(huán)境和需求;系統(tǒng)中各模塊分工處理不同類型數(shù)據(jù),應(yīng)具有相對(duì)的獨(dú)立自主性,同時(shí)又在不同的層次上相互關(guān)聯(lián),能實(shí)現(xiàn)相互訪問(wèn)和協(xié)同工作;系統(tǒng)也應(yīng)具有良好的集成性,在功能層次上需要有效的組件構(gòu)造框架,在組件層次上則應(yīng)有統(tǒng)一的數(shù)據(jù)交互平臺(tái)[1]。   基于以上分析,我們選用CPCI總線作為分布式系統(tǒng)的數(shù)據(jù)通信平臺(tái)。CPCI總線技術(shù)是PCI總線技術(shù)和成熟的歐式卡組裝技術(shù)的結(jié)合,在電氣、邏輯和軟件功能方面,它與PCI標(biāo)準(zhǔn)完全兼容,又突破了PCI標(biāo)準(zhǔn)4個(gè)插槽的限制,相較于VME總線模塊價(jià)位低,具有開(kāi)放性、易于擴(kuò)展、高密度等優(yōu)點(diǎn),同時(shí)達(dá)到99.999%的高可用性。采用CPCI總線技術(shù)以及硬件接口設(shè)計(jì)規(guī)范,能運(yùn)用其多模塊插卡式的設(shè)計(jì)優(yōu)點(diǎn),支持多業(yè)務(wù)的分布式處理,并實(shí)現(xiàn)模塊化數(shù)據(jù)處理單元的無(wú)縫連接,為分布式數(shù)據(jù)交換提供高速、可靠的保證,非常適合作為分布式系統(tǒng)業(yè)務(wù)處理通信平臺(tái),也適于在通信及嵌入式系統(tǒng)中的廣泛應(yīng)用[2-4]。   本文給出一種基于CPCI總線的通信系統(tǒng)設(shè)計(jì),系統(tǒng)采用分布式網(wǎng)絡(luò)架構(gòu),支持多種分組交換業(yè)務(wù)的處理及數(shù)據(jù)交互。文章首先給出系統(tǒng)結(jié)構(gòu)及原理設(shè)計(jì),并針對(duì)分布式業(yè)務(wù)處理模塊跨總線通信的難點(diǎn),提出基于“抽屜機(jī)制”的報(bào)文存儲(chǔ)和地址信息維護(hù)策略,描述了數(shù)據(jù)無(wú)干擾傳輸?shù)汝P(guān)鍵技術(shù)的實(shí)現(xiàn),最后給出技術(shù)總結(jié)和展望。 2. 系統(tǒng)總體設(shè)計(jì)   2.1 系統(tǒng)結(jié)構(gòu)特點(diǎn)   我們所設(shè)計(jì)的分布式系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)中不同設(shè)備板卡獨(dú)立對(duì)相應(yīng)業(yè)務(wù)數(shù)據(jù)進(jìn)行處理,將其轉(zhuǎn)化為統(tǒng)一的IP數(shù)據(jù)進(jìn)行互通,并維護(hù)各自的路由表獨(dú)立完成數(shù)據(jù)轉(zhuǎn)發(fā)。系統(tǒng)將與特定業(yè)務(wù)網(wǎng)絡(luò)的接口分布到各種設(shè)備板卡中進(jìn)行標(biāo)準(zhǔn)的接入信道適配,并將各類網(wǎng)絡(luò)數(shù)據(jù)分布到各板卡進(jìn)行處理和轉(zhuǎn)發(fā),實(shí)現(xiàn)了集中配置與分布式接入和數(shù)據(jù)處理的完美結(jié)合。   在CPCI分布總線架構(gòu)中,背板為總線交換提供物理連接、電路保證,背板上系統(tǒng)插槽提供總線仲裁、時(shí)鐘分配和背板上各板卡重新啟動(dòng)等功能;外設(shè)插槽上可安放簡(jiǎn)單的接口板、智能從屬裝置或總線控制裝置[2,3]。每塊CPCI板卡均有處理器和嵌入式實(shí)時(shí)系統(tǒng),處理器采用Motorola的PowerPC-860,同時(shí)采用PLX公司的9054和9056 PCI橋芯片在PowerPC-860和CPCI總線之間架起一條高效穩(wěn)定的傳輸橋梁。PLX 9054/9056芯片實(shí)現(xiàn)了CPCI主控設(shè)備的功能,支持PCI2.2規(guī)程,簡(jiǎn)化了對(duì)連接PowerPC的設(shè)計(jì),兼容性較好,很容易擴(kuò)展成66MHz時(shí)鐘及64bit的PCI總線,特別是PLX 9056內(nèi)嵌總線仲裁器,能減小系統(tǒng)規(guī)模,使系統(tǒng)更穩(wěn)定[5]。 [align=center] 圖1 數(shù)據(jù)通信系統(tǒng)結(jié)構(gòu)圖[/align]   2.2系統(tǒng)資源共享與信息互通   系統(tǒng)采用基于CPCI的單總線多處理器/多操作系統(tǒng)的分布式架構(gòu),系統(tǒng)中各塊板卡均擁有獨(dú)立的CPU和操作系統(tǒng)、地址和內(nèi)存空間以及獨(dú)立的I/O和中斷,可獨(dú)立完成數(shù)據(jù)操作,每塊板卡可看作一臺(tái)計(jì)算機(jī)主機(jī)。分布式系統(tǒng)形成的拓?fù)浣Y(jié)構(gòu)為一個(gè)全連通的網(wǎng)絡(luò),網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都能夠直接訪問(wèn)其它節(jié)點(diǎn);從CPCI總線傳輸?shù)慕嵌瓤矗胁宀凵系陌蹇ǘ际菍?duì)等的,都能夠充當(dāng)master主動(dòng)發(fā)起總線傳輸。針對(duì)這種基于總線的分布式架構(gòu),我們?cè)O(shè)計(jì)了跨總線的內(nèi)存訪問(wèn)機(jī)制,將系統(tǒng)中其它板卡的系統(tǒng)內(nèi)存或者設(shè)備內(nèi)存(比如內(nèi)存擴(kuò)展卡)映射到本地地址空間,然后以與系統(tǒng)內(nèi)存相同的方式訪問(wèn)被映射的內(nèi)存,這樣每塊板卡都能夠訪問(wèn)到總線上其他板卡的內(nèi)存資源了。   2.3統(tǒng)一規(guī)范的訪問(wèn)接口   異構(gòu)網(wǎng)絡(luò)通過(guò)標(biāo)準(zhǔn)信道適配接入分布式系統(tǒng),語(yǔ)音、X.25、串口數(shù)據(jù)等非IP數(shù)據(jù)經(jīng)由數(shù)據(jù)適配模塊轉(zhuǎn)換成IP數(shù)據(jù),系統(tǒng)中各板卡的嵌入式實(shí)時(shí)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行處理和交互。各種異構(gòu)網(wǎng)絡(luò)掛接在嵌入式系統(tǒng)中相應(yīng)網(wǎng)絡(luò)設(shè)備上,網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)調(diào)用CPCI總線驅(qū)動(dòng)提供的統(tǒng)一接口實(shí)現(xiàn)實(shí)時(shí)系統(tǒng)與總線之間的數(shù)據(jù)傳輸。發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)通過(guò)總線驅(qū)動(dòng)控制橋芯片進(jìn)行地址轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)、中斷產(chǎn)生等工作,生成相應(yīng)的總線操作將數(shù)據(jù)送往總線;接收數(shù)據(jù)時(shí),總線驅(qū)動(dòng)響應(yīng)中斷,接收總線上相應(yīng)地址段的數(shù)據(jù),在中斷服務(wù)程序中進(jìn)行數(shù)據(jù)解析、地址轉(zhuǎn)換、數(shù)據(jù)轉(zhuǎn)發(fā)、其他中斷產(chǎn)生等操作。我們采用Linux操作系統(tǒng),其網(wǎng)絡(luò)系統(tǒng)主要是基于UNIX的socket機(jī)制,系統(tǒng)協(xié)議棧和驅(qū)動(dòng)程序之間通過(guò)專門的數(shù)據(jù)結(jié)構(gòu)(sk_buff)傳遞數(shù)據(jù)。實(shí)時(shí)系統(tǒng)內(nèi)核與CPCI總線間數(shù)據(jù)傳輸流程如圖2所示: [align=center] 圖2 數(shù)據(jù)傳輸流程圖[/align] 3. 關(guān)鍵技術(shù)   3.1 報(bào)文存儲(chǔ)的“抽屜機(jī)制”   系統(tǒng)中各板卡共用一條CPCI總線,我們提出基于“抽屜機(jī)制”的報(bào)文存儲(chǔ)策略,以保證板卡間數(shù)據(jù)無(wú)干擾傳輸。在板卡加入系統(tǒng)的初始化階段,系統(tǒng)板為總線上每塊板卡分配獨(dú)立的PCI總線地址區(qū)間,其他板卡向其發(fā)送數(shù)據(jù)時(shí)將數(shù)據(jù)寫往指定地址區(qū)域。一塊板卡會(huì)接收來(lái)自不同板卡的數(shù)據(jù),為避免各板卡往同一基址發(fā)送數(shù)據(jù)所引起的干擾,同一板卡地址區(qū)域內(nèi)又為其他板卡分配大小相同的獨(dú)立讀寫空間,我們將它命名為“抽屜”。這樣來(lái)自某板卡的數(shù)據(jù)會(huì)被送到其對(duì)應(yīng)“抽屜”,每次數(shù)據(jù)依序存放而非覆蓋,以保證板卡數(shù)據(jù)處理時(shí)間。當(dāng)數(shù)據(jù)長(zhǎng)度超出抽屜剩余空間時(shí),則似環(huán)狀buffer從頭開(kāi)始存放?!俺閷蠙C(jī)制”如圖3所示,左邊方塊代表總線上不同板卡,右邊則是PCI總線地址空間。板卡B對(duì)應(yīng)地址范圍從a點(diǎn)到e點(diǎn),其中ab點(diǎn)之間空間僅用于板卡A向B進(jìn)行數(shù)據(jù)傳送,bc點(diǎn)之間空間僅用于板卡C向B進(jìn)行數(shù)據(jù)傳送,以此類推。 [align=center] 圖3 板卡數(shù)據(jù)接收“抽屜”[/align]   基于這種報(bào)文存儲(chǔ)機(jī)制,我們定義幾種地址表來(lái)維護(hù)數(shù)據(jù)傳輸相關(guān)地址信息。系統(tǒng)板上維護(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)如下:   typedef struct _BUS_ADDR_MAPPING_INFO{   char board_name[BOARD_NAME_LENGTH];   int slot_number;   unsigned long base_addr;   unsigned long range;  ?。鼴US_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)定義如下:   u32 current_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(Internal Packet Header),包含數(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)如下:   typedef struct _IPH_ATTR {   u32 board_id; /*from which board*/   int iph_type; /*datagram type*/   unsigned long length; /*datagram length(without IPH)*/  ?。齀PH_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)度信息分別使用mailbox i 和mailbox i+4配合工作,這樣接收方收到兩個(gè)參數(shù)時(shí)會(huì)產(chǎn)生一次中斷,進(jìn)行數(shù)據(jù)接收[5]。這種機(jī)制使接收處理具有四個(gè)服務(wù)窗口,提高了系統(tǒng)吞吐量。   接收板卡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ā)。   綜上所述,系統(tǒng)通過(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)為:給出了一種基于CPCI的分布式系統(tǒng)設(shè)計(jì),同時(shí)提出了基于“抽屜機(jī)制”的報(bào)文存儲(chǔ)機(jī)制和地址信息維護(hù)策略。文章所述的基于CPCI的分布式系統(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)域有著較大的應(yīng)用前景。為使本通信系統(tǒng)更具大規(guī)模實(shí)用價(jià)值,未來(lái)的工作包括:  ?。?) 實(shí)現(xiàn)一套易操作的遠(yuǎn)程管理系統(tǒng),以便完成通信業(yè)務(wù)的監(jiān)控,調(diào)配;  ?。?) 設(shè)計(jì)支持更多業(yè)務(wù)類型的CPCI接口板卡,如xDSL,H.264等;  ?。?) 在外界干擾較大情況下,通過(guò)嚴(yán)格的性能測(cè)試以證明系統(tǒng)能夠滿足電信級(jí)的業(yè)務(wù)需求。 參考文獻(xiàn)   [1] Doreen L. Galli 著,分布式操作系統(tǒng)原理與實(shí)踐[M],第一版,徐良賢、唐英、毛家菊 譯,機(jī)械工業(yè)出版社,2003   [2] PICMG,PICMG 2.0 Compact PCI Core Specification[M],Version 2.1,1999   [3] 綦希林、曲非非,高可靠工業(yè)計(jì)算機(jī)——Compact PCI計(jì)算機(jī)[J],微計(jì)算機(jī)信息,2002,18(7):1~3   [4] Tom Shanley、Don Anderson 著,PCI 系統(tǒng)結(jié)構(gòu)[M],第四版,劉暉、冀然然、夏意軍 譯,電子工業(yè)出版社,2001

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:新一代精確制導(dǎo)武器用的衛(wèi)星...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)