• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于軟件通信體系結(jié)構(gòu)的DSP硬件抽象層研究與設(shè)計(jì)

      2011-07-13 06:02:22石賤弟趙小璞
      電子設(shè)計(jì)工程 2011年17期
      關(guān)鍵詞:緩沖區(qū)端點(diǎn)開發(fā)者

      石賤弟,趙小璞

      (中國電子科技集團(tuán)公司 第七研究所,廣東 廣州 510310)

      軟件通信體系結(jié)構(gòu)[1](SoftwareCommunicationsArchitecture,SCA)技術(shù)是美軍目前正在開發(fā)的聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)[2]所強(qiáng)制采用的系統(tǒng)頂層設(shè)計(jì)規(guī)范。它代表了未來無線通信系統(tǒng)設(shè)計(jì)技術(shù)的發(fā)展方向,是美軍軟件無線電系統(tǒng)[3]架構(gòu)的唯一標(biāo)準(zhǔn)。SCA描述了模塊化軟件可編程無線通信系統(tǒng)的軟件體系結(jié)構(gòu)和硬件體系結(jié)構(gòu),以及應(yīng)用程序接口規(guī)范和安全規(guī)范,以實(shí)現(xiàn)硬件的模塊化,波形軟件的可移植性、可重用性和互操作性。SCA的專用硬件補(bǔ)充規(guī)范[4]引入了硬件抽象層連接(Hardware Abstract Layer Connectivity, HAL-C)的概念,它給組件提供了一種與硬件平臺無關(guān)的統(tǒng)一的通信機(jī)制。HAL-C提供了一組通用通信API,它的實(shí)現(xiàn)能最小化硬件平臺通信機(jī)制對軟件設(shè)計(jì)的影響。這極大地減少了軟件移植過程中代碼的重寫量,減少了軟件的移植費(fèi)用。它能有效地將系統(tǒng)波形開發(fā)與硬件平臺開發(fā)分離。波形開發(fā)者根據(jù)硬件平臺提供的接口進(jìn)行波形組件的研發(fā),硬件平臺則為波形提供統(tǒng)一的接口。這樣波形開發(fā)者可以不去關(guān)心底層硬件的細(xì)節(jié),而專注實(shí)現(xiàn)波形的功能,以這種方式實(shí)現(xiàn)的波形組件具有很強(qiáng)的可移植性。

      HAL-C主要規(guī)定了以下幾個(gè)方面的內(nèi)容:

      1)HAL-C是能夠在不同硬件體系或硬件平臺上實(shí)現(xiàn)的硬件抽象,這種硬件抽象能夠根據(jù)需要進(jìn)行修改或者升級。

      2)硬件平臺能為多個(gè)硬件抽象層組件HC之間的通信提供高速的通信機(jī)制和方法,同時(shí)由于HAL-C是本地透明的,它同樣支持在同一處理單元PE上的兩個(gè)HC之間的通信。

      3)提供了在組件外部指定HC組件相互連接的方法,而不是將連接方式在HC自身上定義,降低組件與硬件細(xì)節(jié)的藕合度。

      SCA規(guī)范只是給出了HAL-C的總體要求,而沒有說明HAL-C具體的設(shè)計(jì)方案、實(shí)現(xiàn)方法。論文在對軟件通信體系結(jié)構(gòu)補(bǔ)充規(guī)范引入的硬件抽象層連通性要求進(jìn)行了深入研究的基礎(chǔ)上,提出了一種基于軟件通信體系結(jié)構(gòu)的DSP硬件抽象層連通性的實(shí)現(xiàn)方法。

      1 硬件抽象層連接的模型

      典型的HAL-C模型如圖1所示。

      如圖1所示,組件實(shí)現(xiàn)應(yīng)用功能,這類組件由波形開發(fā)者根據(jù)HAL-C API進(jìn)行設(shè)計(jì),而在硬件平臺上應(yīng)當(dāng)根據(jù)PE的具體環(huán)境實(shí)現(xiàn)這些HAL-C API。由硬件平臺提供的HAL-C API給HC提供了一個(gè)底層的通信接口,這些底層API的主要目的是讓相同或者不同PE上的HC能夠通信。HC1,HC2之間的通信并不是直接進(jìn)行,而是通過HAL-C提供的通信機(jī)制實(shí)現(xiàn)。HC1,HC2的開發(fā)者只需要把數(shù)據(jù)發(fā)送給HAL就可以了,具體數(shù)據(jù)如何從HC1傳輸?shù)紿C2則是硬件抽象層要完成的工作。

      圖1 HAL-C的典型模型Fig.1 HAL-C classical model

      圖1采用一個(gè)存儲在HAL-C基層結(jié)構(gòu)的簡單傳輸模塊Tx來描述數(shù)據(jù)的傳輸。有兩種類型的傳輸需要描述。一種是存儲在不同PE上的HC之間通過物理信道進(jìn)行數(shù)據(jù)和控制信號的傳輸,如圖1中HC2到HC3的數(shù)據(jù)傳輸。它可以通過不同的物理通道實(shí)現(xiàn)(如:PCI,RapidIO等),物理信道可以看作傳輸在硬件平臺上的映射。另外一種傳輸是在硬件內(nèi)部進(jìn)行的傳輸,雖然組件自己可以實(shí)現(xiàn)數(shù)據(jù)的傳輸,但是若使用硬件抽象層連接來約束這種傳輸,能提高組件的通用性。

      為了簡化上面的連接模型,引入了端點(diǎn)的概念。一條從HC出發(fā),通過傳輸模塊的路徑被指定為一條邏輯通道。HC使用HAL-C API來訪問端點(diǎn),用以發(fā)送和接收數(shù)據(jù)。HAL-C基層結(jié)構(gòu)負(fù)責(zé)把數(shù)據(jù)通過邏輯信道移動到指定的端點(diǎn)。這就把以前HC開發(fā)者應(yīng)該做的工作轉(zhuǎn)移到硬件抽象層中來實(shí)現(xiàn),使波形開發(fā)與硬件相關(guān)資源分離。

      2 DSP上硬件抽象層連接應(yīng)用接口

      在通用處理器上,波形組件間通過CORBA[5-6]進(jìn)行通信,不需要設(shè)計(jì)硬件抽象層。對于DSP器件而言,實(shí)現(xiàn)其硬件抽象層就是設(shè)計(jì)實(shí)現(xiàn)一個(gè)連接接入層,即HAL層。其為波形功能組件提供一套標(biāo)準(zhǔn)的連接API接口函數(shù)完成組件連接。接入層使用端口句柄來標(biāo)識和管理組件的目的端口和源端口,提供標(biāo)準(zhǔn)的接口函數(shù):獲取端口句柄、發(fā)送數(shù)據(jù)、讀取數(shù)據(jù)、注冊回調(diào)函數(shù)。每個(gè)DSP上的HAL層維護(hù)一個(gè)端點(diǎn)信息表,包含了系統(tǒng)中所有相關(guān)端點(diǎn)的信息,用于HAL層完成數(shù)據(jù)傳輸。API如下所示:

      3 DSP上硬件抽象層的設(shè)計(jì)

      圖2 DSP硬件抽象層實(shí)現(xiàn)示意圖Fig.2 The realization schematic diagram of DSP HAL

      圖2表示硬件抽象層實(shí)現(xiàn)示意圖,這里只給出了系統(tǒng)接收方向的數(shù)據(jù)流,系統(tǒng)發(fā)送方向的數(shù)據(jù)流剛好相反。圖2中,數(shù)據(jù)從AD接收,放入由HC1和P0決定的緩沖區(qū)中,然后數(shù)據(jù)再依次經(jīng)過DSP上的各組件信號處理后發(fā)送到GPP上的鏈路控制層LLC組件。圖中的P0,P1,P2等表示端點(diǎn),它們與HC代理組件上的端口相對應(yīng)。所有這些端點(diǎn)都是HAL基礎(chǔ)架構(gòu)的組成部分。圖中每個(gè)HC代理組件對應(yīng)一個(gè)HC組件,由DSP邏輯設(shè)備創(chuàng)建HC代理組件。方案中的每一次halcSend()或 halcReceive()操作時(shí),數(shù)據(jù)僅經(jīng)過一個(gè)端點(diǎn),如:HC2給HC3的P4端點(diǎn)傳輸時(shí)的halcSend(),數(shù)據(jù)只經(jīng)過端點(diǎn)P4而不經(jīng)過P3,之所以把HC2的P3端點(diǎn)標(biāo)出,是為了與配置文件SAD中的連接關(guān)系對應(yīng)起來。HC中只有最后一個(gè)HC組件與其HC代理組件間有業(yè)務(wù)數(shù)據(jù)通信,其他的HC代理組件與HC間只有控制信息。HC間的業(yè)務(wù)數(shù)據(jù)通信關(guān)系由HC代理間的配置關(guān)系決定,一旦配置好,HC間的業(yè)務(wù)數(shù)據(jù)來往只在DSP的HAL中進(jìn)行,不上傳到HC代理CORBA對象。PE表示處理單元,如:GPP、DSP、FPGA等。

      典型的連接情況,如圖2中HC2組件的P3端點(diǎn)與HC3組件的P4端點(diǎn)的跨DSP端點(diǎn)連接,其對應(yīng)的建立連接過程的詳細(xì)描述如圖3所示,其中HC2組件的代理調(diào)用getPeerInfor()操作獲得HC3組件的P4端口對應(yīng)的BufPtr和BufLength等信息。HC2組件的代理把這些信息發(fā)送到PE1的HAL,PE1上HAL再將之映射為本地地址信息,并為之在本地分配相應(yīng)的收發(fā)緩沖區(qū),上述信息都填入PE1的端點(diǎn)表中。

      圖3 建立連接的序列圖詳細(xì)描述Fig.3 The detailed description of sequence diagram to establish connection

      HC2的P3向HC3的P4傳送數(shù)據(jù),在P4有回調(diào)函數(shù)時(shí)的序列圖如圖4所示。其中HC2在調(diào)用halcSend時(shí),PE1的HAL把業(yè)務(wù)數(shù)據(jù)拷貝到為P4端點(diǎn)所分配的本地收發(fā)緩沖區(qū),然后再通過硬件通道傳輸?shù)絇E2的HAL上,即寫入PE2地址在PE1上的映射地址。當(dāng)PE2上的HAL檢測到P4接收緩沖區(qū)中有數(shù)據(jù)寫入,即回調(diào)HC3早前已注冊的回調(diào)函數(shù),將此業(yè)務(wù)數(shù)據(jù)傳給HC3,完成數(shù)據(jù)傳輸。

      圖4 有回調(diào)函數(shù)時(shí)跨DSP發(fā)送數(shù)據(jù)的序列圖Fig.4 The sequence diagram to send data between DSP with callback function

      HC2將數(shù)據(jù)發(fā)送到PE2的P4端點(diǎn),HC3調(diào)用halcReceive()操作前,數(shù)據(jù)已從PE1的HAL傳送到了PE2的HAL上為P4端點(diǎn)分配的接收緩沖區(qū),其序列圖如圖5所示。

      DSP與GPP之間的連接和通信實(shí)現(xiàn)過程分析:

      圖5 無回調(diào)函數(shù)時(shí)跨DSP發(fā)送數(shù)據(jù)的序列圖Fig.5 The sequence diagram to send data between DSP without callback function

      對于從DSP發(fā)往GPP情形,在建立連接階段,應(yīng)用工廠通過getPort()操作獲取 CP3組件的端口P4和HC2 Proxy組件的端口 P3,通過調(diào)用 connectPort(P4)建立 HC2 Proxy組件與CP3組件間的連接。再判斷P4端口是否是指定的端口類型,如果是就把端口P4在GPP上的緩沖區(qū)地址等信息經(jīng)過映射后填入DSP PE1上的端點(diǎn)表中,用于數(shù)據(jù)的傳輸。在數(shù)據(jù)傳輸階段,HC2首先通過 HalcGetEndpoint()獲取組件CP3、端口4所對應(yīng)的端點(diǎn)句柄,然后把數(shù)據(jù)發(fā)往該端點(diǎn)句柄中的本地緩沖區(qū)中,后臺循環(huán)線程把本地緩沖區(qū)中的數(shù)據(jù)拷貝到映射地址對應(yīng)的緩沖區(qū)中,即通過硬件把數(shù)據(jù)發(fā)送到了組件CP3的緩沖區(qū)中。如圖6所示。

      圖6 DSP與GPP之間的連接和通信Fig.6 The connection and communication between DSP and GPP

      4 結(jié)束語

      使用本文提出的DSP硬件抽象層連接HAL-C的實(shí)現(xiàn)方法后,算法組件開發(fā)者只需要知道該組件處理的數(shù)據(jù)從哪個(gè)組件的哪個(gè)端口來,處理完后要發(fā)送到哪個(gè)組件的哪個(gè)端口。HC算法組件開發(fā)者不需要知道數(shù)據(jù)是怎么獲取過來的,也不需要知道數(shù)據(jù)具體是怎么傳送到目的組件的端口的,發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的組件可以在同一個(gè)PE上,也可以在不同的PE上,對它來說是透明的。組件間的連接關(guān)系在SAD文件中定義。波形組件連接的關(guān)系改變不需要改動GPP上的代理層軟件和DSP上的HAL層軟件。

      該設(shè)計(jì)方法具有如下特點(diǎn):兼容SCA核心接口模型、滿足硬件抽象層補(bǔ)充規(guī)范中要求的HAL-C API、對數(shù)據(jù)拷貝次數(shù)少,對于跨處理器通信和同一處理器內(nèi)部通信兩種方式,其對波形組件提供的接口及流程是一致。

      [1]Joint Tactical Radio System (JTRS)Joint Program Office.JTRS-5000SoftwareCommunicationArchitectureSpecification[S].SCA V3.0.USA:JTRS Joint Program Office,2004.

      [2]Place J,Kerr D, Schaefer D.Joint tactical radio system[C]//IEEE Military Communications Conference,2000,19:209-213.

      [3]楊小牛,樓才義,徐建良.軟件無線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.

      [4]Specialized Hardware Supplement to the Software Communication Architecture (SCA) Specification[S].SCA V3.0.USA:JTRS Joint Program Office,2004.

      [5]Michi Henning,Steve Vinoski.基于C++CORBA高級編程[M].徐金梧,徐科,呂志民,譯.北京:清華大學(xué)出版社,2000.

      [6]朱其亮,鄭斌.CORBA原理及應(yīng)用[M].北京:北京郵電大學(xué)出版社,2001.

      猜你喜歡
      緩沖區(qū)端點(diǎn)開發(fā)者
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計(jì)與實(shí)現(xiàn)
      非特征端點(diǎn)條件下PM函數(shù)的迭代根
      不等式求解過程中端點(diǎn)的確定
      參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
      16%游戲開發(fā)者看好VR
      CHIP新電腦(2016年3期)2016-03-10 13:06:42
      基丁能雖匹配延拓法LMD端點(diǎn)效應(yīng)處理
      iOS開發(fā)者調(diào)查
      電腦迷(2015年8期)2015-05-30 12:27:10
      iOS開發(fā)者調(diào)查
      電腦迷(2015年4期)2015-05-30 05:24:09
      關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
      地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計(jì)與實(shí)現(xiàn)
      沙雅县| 靖江市| 且末县| 二手房| 上杭县| 湖北省| 北票市| 平凉市| 兴文县| 三明市| 内乡县| 忻州市| 巴中市| 漳浦县| 攀枝花市| 大田县| 黄陵县| 哈尔滨市| 望谟县| 辽中县| 双流县| 乌兰浩特市| 石嘴山市| 章丘市| 色达县| 乌鲁木齐县| 民县| 会东县| 大田县| 定西市| 孝义市| 新干县| 湖南省| 佛山市| 陇南市| 若羌县| 福安市| 兴义市| 崇文区| 陵水| 青铜峡市|