亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于異構(gòu)信號處理平臺的自動代碼生成工具

        2016-12-01 08:03:09馬金全岳春生
        電子技術(shù)應用 2016年9期
        關(guān)鍵詞:代碼生成信號處理異構(gòu)

        杜 虹,彭 華,馬金全,岳春生

        (信息工程大學 信息系統(tǒng)工程學院,河南 鄭州 450001)

        基于異構(gòu)信號處理平臺的自動代碼生成工具

        杜虹,彭華,馬金全,岳春生

        (信息工程大學 信息系統(tǒng)工程學院,河南 鄭州 450001)

        針對新型異構(gòu)通信信號處理平臺系統(tǒng)復雜、開發(fā)難度大、開發(fā)周期長、應用復雜等問題,提出了一種新型綜合性的代碼自動生成工具。通過實現(xiàn)通信信號處理平臺中框架配置文件、要素宏定義文件、硬件驅(qū)動源代碼框架、軟件組件源程序框架、裝配粘合代碼的自動生成等功能,不僅可滿足平臺在實時性、分布式、可靠性等方面要求,而且可保證平臺中軟硬件編程的一致性,縮短了開發(fā)周期,大大減少需要手工編寫開發(fā)和測試代碼的工作量。

        代碼自動生成;異構(gòu)平臺;Python;雙引擎

        0 引言

        隨著通信信號處理技術(shù)不斷發(fā)展,面臨著無線通信體制更新?lián)Q代速度快、軟硬件升級頻繁、研制成本高、開發(fā)周期長等問題[1]。為應對多體制通信處理的快速更新,基于軟件化定義的異構(gòu)通信處理平臺成為了近年來的研究熱點[2]。

        雖然異構(gòu)通信處理平臺性能良好、適用性廣,但是由于其涉及軟硬件類型繁多,導致了開發(fā)過程復雜、開發(fā)周期長、分工合作銜接困難等問題[3]。在龐大復雜的平臺系統(tǒng)中,一點改動就可能牽一發(fā)而動全身,導致程序的不一致性。為了降低軟件開發(fā)強度,縮短開發(fā)周期,減少代碼的重復書寫,一直以來軟件開發(fā)者都致力于代碼自動生成方面的研究。作為復用技術(shù)的核心和基礎,代碼自動生成是提高軟件開發(fā)效率的有效手段[4]。自動代碼生成器不僅減小了開發(fā)人員的工作量,同時提高了工程的一致性,更易于分工與維護。

        針對異構(gòu)通信信號處理平臺在實時性、分布式、可靠性等方面的要求,自動代碼生成器需應對異構(gòu)平臺中的實時處理,以及編程一致的系統(tǒng)可靠性[5]。為了提高軟件開發(fā)綜合效率,實現(xiàn)組件的快速開發(fā),縮短新算法從理論到應用的開發(fā)周期,本文提出了一種新型的代碼自動生成器工具。該生成工具包括框架配置文件向?qū)?、描述要素宏定義文件實時更新、硬件驅(qū)動源代碼框架生成、軟件組件源程序框架生成、軟件包組裝以及裝配粘合代碼的自動生成等。實測分析表明,該生成工具對于異構(gòu)通信平臺軟件快速開發(fā)、硬件迅速映射、用戶便捷應用等方面有顯著突破,是異構(gòu)通信信號處理平臺實現(xiàn)其實時性、分布式、可靠性的重要工具。

        1 自動代碼生成技術(shù)

        目前,自動代碼生成技術(shù)應用十分廣泛,在UML建模[6]、模型驅(qū)動框架(MDA)[7]、數(shù)據(jù)庫表創(chuàng)建[8]等方面都有所突破。但是在異構(gòu)通信處理平臺上的代碼自動生成技術(shù)仍不完善,只在異構(gòu)多核處理器方面有少量研究[9]。

        基于異構(gòu)通信信號處理平臺的代碼自動生成關(guān)鍵在于建模抽象技術(shù)[10]、復用技術(shù)[11]、Python引擎技術(shù)[12]。代碼主要分為 3種類型[13]:第一種是框架代碼中的固定部分,無需做任何修改;第二種代碼指大部分不用修改,只對有相應的輸入來源和邏輯規(guī)律的代碼進行修改;第三種是沒有任何規(guī)律可循的特殊代碼,這類代碼須由專業(yè)人員填寫,無法自動生成。第一種代碼可直接使用,第三種代碼留白待用,第二種代碼即需要實現(xiàn)自動生成的主要代碼。

        代碼自動生成主要由元數(shù)據(jù)、代碼模板、數(shù)據(jù)模型和代碼生成引擎組成,其流程如圖1所示。

        圖1 代碼自動生成框架

        (1)元數(shù)據(jù):元數(shù)據(jù)是對異構(gòu)通信處理平臺資源的一種描述,通過建模實現(xiàn),是數(shù)據(jù)信息傳遞的基礎。

        (2)代碼模板:代碼模板是用戶想要生成的源代碼模型,它表示源代碼中的共性部分,即無需修改的部分。

        (3)數(shù)據(jù)模型:數(shù)據(jù)模型是代碼自動生成框架的基礎模型,具有高度的抽象性。它表示了源代碼中的個性部分,即需根據(jù)規(guī)律自動生成的部分。

        (4)源代碼:源代碼是代碼自動生成的成果,即通過自動生成形成的可加入工程直接使用的完整代碼。

        2 異構(gòu)平臺的軟件體系架構(gòu)

        異構(gòu)通信處理平臺包括對ATCA、VPX、CPCI、專用PC等已有硬件處理平臺的兼容,可以統(tǒng)一地開發(fā)運行環(huán)境實現(xiàn)軟硬件的無縫交互,實現(xiàn)多功能應用組件的高度共享。其軟件體系架構(gòu)分為硬件層、板級支持包層、操作系統(tǒng)與驅(qū)動層、硬件抽象層、核心服務層和應用層。

        一般地,為了實現(xiàn)異構(gòu)通信信號處理平臺中多處理器和軟件組件的升級繼承與資源共享,其自動代碼生成器需滿足平臺框架需求,具體層級分布如圖2所示。通信處理平臺的自動代碼生成器提高了軟件開發(fā)的綜合效率,實現(xiàn)硬件驅(qū)動和軟件組件的快速開發(fā),縮短了新算法應用的實際周期,為通信領域的快速發(fā)展提供了良好的平臺。

        圖2 代碼自動生成工具

        3 自動代碼生成器實現(xiàn)

        3.1操作系統(tǒng)與驅(qū)動層代碼生成

        在操作系統(tǒng)與驅(qū)動層,異構(gòu)通信處理平臺的自動代碼生成工具主要涉及硬件設備驅(qū)動的自動代碼生成。處理器包括作為設備的處理器和平臺中的處理器。每個硬件設備驅(qū)動都要實現(xiàn)如表1所示的功能。

        表1 硬件驅(qū)動功能模板表

        驅(qū)動接口名稱由功能名稱和數(shù)據(jù)庫存儲的板卡類型號、處理器類型碼和處理器號組成。板卡類型號表明處理器所在板卡信息,確定處理器歸屬。處理器類型碼表明了處理器的類型、處理方式和編程模式。處理器號是對某板卡上具體處理器的確定。由以上三方面的信息共同確定系統(tǒng)中唯一一個處理器,由此定義驅(qū)動函數(shù)。

        根據(jù)組合形成的函數(shù)名,通過函數(shù)模板實現(xiàn)驅(qū)動接口的定義、注冊和函數(shù)框架生成。首先根據(jù)函數(shù)名形成相應的驅(qū)動接口定義文件,驅(qū)動接口注冊文件和驅(qū)動接口函數(shù)文件。根據(jù)函數(shù)定義、注冊、函數(shù)框架的函數(shù)模板,自動完成不同文件的驅(qū)動定義和注冊。

        3.2核心服務層代碼生成

        3.2.1配置文件向?qū)?/p>

        在核心服務層,異構(gòu)通信處理平臺的自動代碼生成工具主要涉及配置文件向?qū)Ш兔枋鲆睾甓x。配置文件向?qū)е饕轻槍ζ脚_配置時的可視化向?qū)?,主要方面如?所示。用戶可根據(jù)可視化向?qū)ζ脚_進行配置,由具體模板模式以及用戶對平臺的配置信息,形成系統(tǒng)可識別的配置文件。

        表2 配置文件向?qū)0遄兞?/p>

        3.2.2描述要素宏定義

        描述要素是對平臺系統(tǒng)的整體描述,包括軟硬件物理元件、連接關(guān)系和功能描述。根據(jù)對異構(gòu)通信處理平臺建模,元數(shù)據(jù)結(jié)合特定編碼形成宏定義,模板變量如表3所示。自動生成要素宏定義保證了系統(tǒng)擴展升級時的一致性,是實現(xiàn)平臺高可靠性和可擴展性的保證。

        表3 描述要素宏定義模板

        3.3應用層代碼生成

        3.3.1軟件組件函數(shù)框架

        軟件組件源代碼主要包括對應用功能組件的定義和實現(xiàn)。軟件組件的函數(shù)如表4所示。組件函數(shù)名由組件名稱和功能名稱組成,創(chuàng)建對唯一組件的初始化、數(shù)據(jù)處理和參數(shù)配置等。根據(jù)組件名,在數(shù)據(jù)庫中查找組件對應的參數(shù)名和參數(shù)類型,為實現(xiàn)數(shù)據(jù)結(jié)構(gòu)定義提供數(shù)據(jù)。根據(jù)組件名稱,由組件名作為定義文件和函數(shù)文件的名稱創(chuàng)建組件應用文件。

        表4 軟件組件功能模板表

        3.3.2軟件裝配腳本

        軟件裝配的腳本生成是通信處理平臺的中心環(huán)節(jié)。根據(jù)通信處理流程形成的腳本文件,記錄了組件功能和連接方式,是軟件化處理的核心。Python腳本可直接解釋執(zhí)行,省去了編譯時間;并且可與多種語言保持良好的兼容性和互操作性[14]。用Python做腳本文件可無縫調(diào)用C模塊程序,既運用了C的快速計算功能,也兼具了Python簡單的流模式記錄特性,是軟件裝配腳本的良好選擇。文本文件對操作系統(tǒng)的適應性更強,增加了系統(tǒng)可移植性,但是需要設計文本格式和解析引擎。

        為保證系統(tǒng)實時性和可擴展性,軟件裝配的腳本采用雙解析引擎,以txt文本和python文件共同作為裝配腳本,如圖3所示。兩種腳本可視化應用對用戶沒有區(qū)別,可根據(jù)自己熟悉的編程模式選擇腳本類型。在應用運行時,雙引擎解析自動識別應用描述腳本,執(zhí)行應用。

        圖3 雙引擎機制

        4 實測分析

        為驗證本文提出的自動代碼生成器的有效性,將以一個QPSK調(diào)制解調(diào)信號處理流程為例,在實際系統(tǒng)上進行測試。

        4.1實驗系統(tǒng)體系組成

        本次實驗系統(tǒng)的硬件平臺以PC作為域管理器,ATCA和VPX作為處理平臺。ATCA平臺包括兩塊板卡,板卡上有DSP和FPGA。VPX包括一塊板卡,板卡上有FPGA。其中,DSP類型為 TMS320C6678,F(xiàn)PGA類型為XC5VLX50T,硬件平臺拓撲如圖4所示。

        圖4 硬件平臺拓撲

        以QPSK調(diào)制解調(diào)信號處理流程為例。Txdemo組件的功能是產(chǎn)生1 024長度的二進制信號,并通過輸出端口發(fā)送出去,Rxdemo組件的功能是接收信號,并且將信號保存到指定文件中,方便用戶查看。首先由Txdemo信源發(fā)送數(shù)據(jù),經(jīng)QPSK調(diào)制模塊調(diào)制,通過AWGN信道后,再由 QPSK解調(diào)模塊解調(diào),最后將解調(diào)后的數(shù)據(jù)保存在Rxdemo中。其中,Txdemo組件和Rxdemo組件部署在PC上,QPSK調(diào)制模塊和QPSK解調(diào)模塊部分別部署在ATCA的兩塊處理板上,AWGN信道部署在VPX的處理板上,具體部署如圖5。

        圖5 QPSK調(diào)制解調(diào)波形

        4.2實驗結(jié)果及分析

        QPSK調(diào)制解調(diào)波形結(jié)果如圖6所示。結(jié)果與實驗預期結(jié)果相符,印證了框架的可行性,即自動代碼生成的編程一致性和可靠性。應用模塊分布在不同的處理器上,滿足代碼自動生成的異構(gòu)平臺分布性。在系統(tǒng)運行過程中,除了模塊功能代碼之外,均由代碼自動生成實現(xiàn)。各模塊的運行時間如表5所示。經(jīng)計算,框架代碼生成時間開銷占應用總開銷的2%,滿足實時性要求。綜合驗證結(jié)果,基于異構(gòu)通信處理平臺的自動代碼生成技術(shù)滿足了系統(tǒng)對實時性、分布式、可靠性等方面的要求,證明了自動代碼生成的有效性。

        圖6 QPSK解調(diào)結(jié)果

        5 結(jié)論

        本文基于異構(gòu)通信處理平臺框架,根據(jù)其對實時性、分布式、可靠性等方面的要求,實現(xiàn)了該框架的自動代碼生成。實現(xiàn)了框架配置文件、要素宏定義文件、硬件驅(qū)動源代碼框架、軟件組件源程序框架以及裝配粘合代碼的自動生成,加強了平臺中軟硬件編程的一致性、縮短了開發(fā)周期,大大減少需要手工編寫開發(fā)和測試代碼的工作量,提高了軟件開發(fā)的效率。

        表5 全流程及各模塊時間

        [1]JTRS Draft Specification.Software communications architecture specification(rev.4.0)[R].Washington:JTRS Joint Program Office,2012.

        [2]DICKENS M L.Surfer:Any-core software defined radio[J].Dissertations&Theses-Gradworks,2012,8(2):204-205.

        [3]ADRAT M,ASCHEID G.Special issue on recent innovations in wireless software-defined radio systems[J].Journal of Signal Processing Systems,2015,78(3):239-241.

        [4]Wang Miao,Qi Fengbin.Automatic code generation framework for Heterogeneous multi-core systems[J].Journal of Frontiers of Computer Science and Technology,2013,7(6):518-526.

        [5]FAYEZ J A.Designing a software defined radio to run on a heterogeneous processor[D].Virginia:Virginia Polytechnic Institute and State University,2011.

        [6]曹雷,薛平貞.UML建模在嵌入式系統(tǒng)開發(fā)中的應用[J].現(xiàn)代電子技術(shù),2013(16):41-44.

        [7]張清波.基于MDA模型驅(qū)動的代碼生成的研究與設計[J].現(xiàn)代計算機:專業(yè)版,2015(9):73-79.

        [8]劉雪飛,吳伯橋,王申強.XML文檔與數(shù)據(jù)庫表信息互相轉(zhuǎn)換的方法研究與實踐[J].信息安全與技術(shù),2013(7):67-69.

        [9]TULIKA M,MIHAI P.Bahurupi:A polymorphic heterogeneous multi-core architecture[J].Acm Transactions on Architelture&Code Optimization,2013,8(4):73-94.

        [10]CHEN Q,TIRUMALA S,JAIN A.Integrated circuit optimization modeling technology:US,US 8555233 B2[P].2013.

        [11]HONG Y S,SONG H U.Refresh period signal generator with digital temperature information generation function:US,US7859931[P].2010.

        [12]MUSHTAQ A,OLAUSSEN K.Automatic code generator for higher order integrators[J].Computer Physics Communications,2014,185(5):1461-1472.

        [13]張曦,湯俊,湯小為,等.基于 TS201的信號處理軟件框架及自動代碼生成器[J].科學技術(shù)與工程,2013,13(18):5356-5360.

        [14]SAUTER N K,HATTNE J,GROSSE-KUNSTLEVE R W,et al.New Python-based methods for data processing[J].Acta Crystallographica,2013,69(7):1274-1282.

        Automatic code generation framework for heterogeneous processing platform

        Du Hong,Peng Hua,Ma Jinquan,Yue Chunsheng
        (College of Information System Engineering,Information Engineering University,Zhengzhou 450001,China)

        To solve the Heterogeneous platform development difficulties on period and complexity,a new automatic code generation is put forward.This auto-code-generation comprises of framework configuration,element macro definition,hardware drive,component software and component assembly.Experimental results show that the auto-code-generation meets the demands of real-time,distributed processing and reliability,can ensure the consistence with the actual engineering and reduce workload on manual programming.

        automatic code generation;heterogeneous platform;Python;twin-engine

        TN92;TP311.5

        A

        10.16157/j.issn.0258-7998.2016.09.031

        (2016-02-02)

        杜虹(1989-),通信作者,女,碩士研究生,主要研究方向:軟件無線電,E-mail:duhong811@163.com。

        彭華(1970-),男,博士,教授,主要研究方向:信號處理。

        馬金全(1980-),男,博士,副教授,主要研究方向:軟件無線電。

        中文引用格式:杜虹,彭華,馬金全,等.基于異構(gòu)信號處理平臺的自動代碼生成工具[J].電子技術(shù)應用,2016,42 (9):118-121.

        英文引用格式:Du Hong,Peng Hua,Ma Jinquan,et al.Automatic code generation framework for heterogeneous processing platform[J].Application of Electronic Technique,2016,42(9):118-121.

        猜你喜歡
        代碼生成信號處理異構(gòu)
        試論同課異構(gòu)之“同”與“異”
        Lustre語言可信代碼生成器研究進展
        《信號處理》征稿簡則
        信號處理(2018年5期)2018-08-20 06:16:02
        《信號處理》第九屆編委會
        信號處理(2018年5期)2018-08-20 06:16:00
        《信號處理》征稿簡則
        信號處理(2018年8期)2018-07-25 12:25:42
        《信號處理》第九屆編委會
        信號處理(2018年8期)2018-07-25 12:24:56
        overlay SDN實現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
        電信科學(2016年11期)2016-11-23 05:07:56
        代碼生成技術(shù)在軟件開發(fā)中的應用
        電子世界(2016年15期)2016-08-29 02:14:28
        LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
        基于XML的代碼自動生成工具
        電子科技(2015年2期)2015-12-20 01:09:20
        中文字幕久久熟女蜜桃| 亚洲一区二区av免费观看| 日韩精品一区二区免费| 夜夜爽妓女8888888视频| 内射中出无码护士在线| 娇柔白嫩呻吟人妻尤物| 日本成人中文字幕亚洲一区 | 午夜天堂精品一区二区| 亚洲av第一区国产精品| 欧美人与禽2o2o性论交| av大片在线无码免费| 日本最新一区二区三区免费看| 精品中文字幕在线不卡| 国产午夜福利久久精品| 亚洲av之男人的天堂| 国产一区二区三区观看视频| 亚洲不卡一区二区视频| 任我爽精品视频在线播放| 国产成人午夜精品免费视频| 亚洲精品中文有码字幕| 高清中文字幕一区二区| 欧美黑人性暴力猛交喷水黑人巨大| 无码 制服 丝袜 国产 另类| 一区二区三区手机看片日本韩国| av网站免费线看精品| 午夜亚洲www湿好爽| 亚洲九九九| 国产精品一区二区三区四区亚洲| 亚洲日韩av一区二区三区中文| 在线视频一区色| 人妻风韵犹存av中文字幕| 色偷偷激情日本亚洲一区二区| 无码av免费精品一区二区三区| 青青草综合在线观看视频| 特级黄色大片性久久久| 国产一区二区三区在线电影| 日本色噜噜| 亚洲码无人客一区二区三区| 日韩精品无码一区二区三区四区 | mm在线精品视频| 色和尚色视频在线看网站|