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

        ?

        基于多核DSP的超聲成像的高速數(shù)據(jù)傳輸

        2014-12-23 01:16:32駱國麗張學(xué)健
        關(guān)鍵詞:間通信堆棧網(wǎng)絡(luò)通信

        駱國麗,張學(xué)健,肖 亮

        (北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京100029)

        0 引 言

        當(dāng)前B模式超聲成像 (B 超)技術(shù)處于活躍的發(fā)展態(tài)勢中,設(shè)備的小型化與便攜化是其中一個(gè)重要的方向,目的在于降低成本、拓展應(yīng)用面。為了保證設(shè)備的成像質(zhì)量,必須提高圖像分辨率并縮短成像時(shí)間,這必然會(huì)對成像過程中的數(shù)據(jù)處理和傳輸帶來很高的要求。目前B 模式超聲成像領(lǐng)域常用的圖像處理硬件架構(gòu)主要是:①基于PC機(jī)的架構(gòu)[1],單純由CPU 進(jìn)行數(shù)據(jù)處理,該方案簡單易行,但CPU 的浮點(diǎn)處理速度較慢;②基于GPU (圖形處理器)的架構(gòu)[2],GPU 具有最快地處理速度,但難以集成到嵌入式設(shè)備中,并且面臨著數(shù)據(jù)傳輸瓶頸;③基于多處理器的架構(gòu)[3],由兩片處理器 (TI公司的C6455+OMAP3530)結(jié)合進(jìn)行數(shù)據(jù)處理,該方案具有較強(qiáng)的數(shù)據(jù)處理與傳輸性能,然而電路設(shè)計(jì)比較復(fù)雜。

        本文討論了基于TMS320C6678的高速數(shù)據(jù)傳輸 (包括核間數(shù)據(jù)傳遞與網(wǎng)絡(luò)通信),以提高B模式超聲成像的實(shí)時(shí)性。TMS320C6678是TI公司于2010 年推出的一款多核DSP,擁有8 個(gè)核 (DSP core),單個(gè)核的速度為定點(diǎn)40 GMAC/s,浮點(diǎn)20GFLOP/s。片內(nèi)有4 MB 的共享內(nèi)存,片外最大8GB 的存儲(chǔ)空間 (DDR3)。此外,該DSP 擁有包括2個(gè)千兆以太網(wǎng)端口在內(nèi)的多種強(qiáng)大的數(shù)據(jù)通信接口。本研究的數(shù)據(jù)處理針對成像的中端 (前端包括數(shù)字解調(diào)與波束合成,一般由FPGA 完成;后端包括圖像濾波與坐標(biāo)轉(zhuǎn)換,可以由其它的核或PC 機(jī)完成),包括包絡(luò)檢測、動(dòng)態(tài)壓縮、頻率復(fù)合及行濾波。數(shù)據(jù)處理和傳輸任務(wù)分配在4個(gè)核上以流水的方式進(jìn)行,核與核之間通過Notify Model進(jìn)行通信,通過配置公用存儲(chǔ)區(qū)以實(shí)現(xiàn)數(shù)據(jù)共享,片內(nèi)外的數(shù)據(jù)交換通過EDMA (enhanced DMA)方式高速進(jìn)行。DSP與PC機(jī)之間通過千兆以太網(wǎng)相連,基于TCP/IP的網(wǎng)絡(luò)通信程序調(diào)用網(wǎng)絡(luò)開發(fā)數(shù)據(jù)套件 (NDK),在SYS/BIOS嵌入式操作系統(tǒng)下運(yùn)行。程序已經(jīng)開發(fā)完畢并進(jìn)行了大量的測試,結(jié)果表明,任意2個(gè)核傳遞數(shù)據(jù)的時(shí)間小于1ms(圖像大小為512×1024),網(wǎng)絡(luò)通信的傳輸速率可穩(wěn)定地達(dá)到60 MBps左右。這樣,結(jié)合以優(yōu)化的數(shù)據(jù)處理算法,DSP能夠每秒處理和傳輸40幀圖像,完全滿足實(shí)時(shí)成像的要求。

        1 DSP軟件資源簡介

        TI公司為多核DSP的開發(fā)提供了豐富的軟件工具,重點(diǎn)包括:SYS/BIOS嵌入式操作系統(tǒng)、IPC (inter-processor communication)、NDK (network development kit)。

        1.1 SYS/BIOS操作系統(tǒng)

        SYS/BIOS是TI公司開發(fā)的嵌入式實(shí)時(shí)操作系統(tǒng),是DSP/BIOS的擴(kuò)展和增強(qiáng)。它支持有實(shí)時(shí)調(diào)度和同步需求的應(yīng)用程序開發(fā),支持搶占式多線程、線程之間的通信和同步、硬件抽象和實(shí)時(shí)分析等。SYS/BIOS 的線程模型可為不同的情況提供不同的線程類型,操作者可以通過選擇不同的線程類型來控制線程的優(yōu)先級和阻塞特性?;赟YS/BIOS開發(fā)DSP軟件,可以使所有的操作都在操作系統(tǒng)下得到有效的管理,有利于系統(tǒng)優(yōu)先處理緊急事件,提高了系統(tǒng)的實(shí)時(shí)響應(yīng)能力。

        1.2 IPC

        IPC組件用于多核處理器系統(tǒng)的核間通信和與外設(shè)間的通信。該組件是基于SYS/BIOS設(shè)計(jì)的,包含用于多核通信的組件和接口,可用于DSP 或其它處理器。IPC 能夠?qū)崿F(xiàn)以下通信:

        (1)同一處理器核的不同線程間通信;

        (2)同一處理器不同核上的線程間通信;

        (3)不同處理器的線程間通信;

        (4)處理器與外設(shè)之間的通信。

        1.3 NDK

        為了加速C6000系列DSP的網(wǎng)絡(luò)開發(fā)進(jìn)程,TI公司提供了NDK。由于NDK 中內(nèi)置了常用的服務(wù)程序,因此對它的調(diào)用不僅可以有效地減少服務(wù)占用的資源,而且可以縮短開發(fā)時(shí)間。NDK 為TCP/IP協(xié)議棧提供了完整的功能化環(huán)境,包括5 個(gè)主要的支持TCP/IP 協(xié)議棧的程序庫,即:STACK.LIB,NETTOOL.LIB,OS.LIB,HAL.LIB,NETCTRL.LIB。

        2 核間數(shù)據(jù)傳遞

        TMS320C6678實(shí)現(xiàn)核間數(shù)據(jù)高速傳遞的關(guān)鍵點(diǎn)在于:核間通信、數(shù)據(jù)共享以及高速訪問。

        2.1 基于Notify Model的核間通信

        Notify Model是主要的核間通信方式之一,為IPC 庫所支持,該方法使用中斷和回調(diào)函數(shù)來完成多核間的通信。Notify Model的配置方式如圖1所示。

        圖1 Notify Model的配置

        通知模塊 (notify module)用于對通知方案中用到的資源進(jìn)行靜態(tài)配置,調(diào)用多核處理器模塊 (multiproc module)配置需要啟用的DSP核個(gè)數(shù)及其名稱。需要在SYS/BIOS操作系統(tǒng)的靜態(tài)配置文件 (*.cfg)中進(jìn)行如下配置:

        當(dāng)配置完成后,任意核CORE A 向CORE B 發(fā)送通知的基本流程如圖2所示。

        圖2 基于Notify Model,CORE A 向CORE B發(fā)送消息的基本流程

        Ipc_start()函數(shù)用于在各個(gè)DSP 核之間建立連接,為了接收其它核來的通知,接收核需要調(diào)用函數(shù)Notify_registerEvent()根據(jù)預(yù)定的事件號注冊一個(gè)或多個(gè)中斷;然后其它核通過調(diào)用函數(shù)Notify_sendEvent()觸發(fā)接收核中相應(yīng)的事件來完成通信;當(dāng)相應(yīng)事件被觸發(fā)后,預(yù)定義的一個(gè)或多個(gè)回調(diào)函數(shù)就開始執(zhí)行。

        2.2 核間數(shù)據(jù)共享

        TMS320C6678 中的每個(gè)核都能訪問設(shè)備中的所有空間,這意味著每個(gè)核都能對存儲(chǔ)區(qū)的任意空間進(jìn)行讀寫。因此,多核間的數(shù)據(jù)共享可通過設(shè)置公用存儲(chǔ)區(qū)實(shí)現(xiàn)。為了保證足夠的存儲(chǔ)空間,該公用存儲(chǔ)區(qū)位于外部DDR3內(nèi)存中,起始地址與大小固定。發(fā)送核將數(shù)據(jù)寫入公用存儲(chǔ)區(qū),并使用核間通信方式通知接收核,接收核接收到通知后從公用存儲(chǔ)區(qū)內(nèi)讀取數(shù)據(jù)。發(fā)送核和接收核必須采用同樣的核間通信方案。對于地址確定的數(shù)據(jù)共享區(qū),采用Notify Model方案可以獲得最好的核間通信性能。

        2.3 基于EDMA的數(shù)據(jù)訪問

        EDMA 主要用于實(shí)現(xiàn)設(shè)備中2個(gè)地址空間之間快速的數(shù)據(jù)傳輸。例如,數(shù)據(jù)從片外存儲(chǔ)區(qū)讀入到片內(nèi)存儲(chǔ)區(qū),或相反。

        EDMA 應(yīng)用有2種模式,一種是事件觸發(fā),另一種是CPU 觸發(fā)。前一種一般應(yīng)用于需要由外部中斷信號或定時(shí)器等觸發(fā)EDMA 啟動(dòng),后一種是CPU 主動(dòng)啟動(dòng)EDMA的操作。

        編程過程中使用到的主要函數(shù)及其功能:CSL_edma3Open()用于打開EDMA模塊,CSL_edma3ChannelOpen()用于打開相應(yīng)的通道,CSL_edma3ParamSetup()為傳輸通道填充參數(shù),參數(shù)填充完成后調(diào)用CSL_edma3HwChannel-Control()觸發(fā)通道開始傳輸,CSL_edma3GetHwStatus()可以用來檢測傳輸是否完成,傳輸完成后調(diào)用CSL_edma3ChannelClose()和CSL_edma3Close()關(guān)閉傳輸通道和EDMA模塊。

        3 網(wǎng)絡(luò)通信

        3.1 TCP/IP協(xié)議棧的初始化和配置

        在以NDK 為基礎(chǔ)的開發(fā)環(huán)境中,一個(gè)套接字 (socket)應(yīng)用程序被執(zhí)行之前,堆棧必須預(yù)先配置和初始化。為了能幫助初始化過程更加的標(biāo)準(zhǔn)并且專用,網(wǎng)絡(luò)控制模塊的源代碼 (NETCTRL.LIB)包含在NDK 的每個(gè)版本中,它是NDK 堆棧初始化、配置和事件調(diào)度核心。網(wǎng)絡(luò)控制模塊使用的基本流程如下:

        (1)預(yù)初始化 (NC_SystemOpen ()),它初始化堆棧和堆棧各組成信息所需要的內(nèi)存環(huán)境。

        (2)系統(tǒng)配置

        為了繼續(xù)使用NETCTRL API,必須創(chuàng)建系統(tǒng)配置。創(chuàng)建一個(gè)配置總是從調(diào)用CfgNew ()函數(shù)創(chuàng)建一個(gè)配置句柄開始。一旦配置句柄被創(chuàng)建,配置信息可以通過調(diào)用CfgLoad ()或CfgAddEntry()函數(shù)裝入句柄或者它創(chuàng)建的條目。

        (3)網(wǎng)絡(luò)啟動(dòng) (NC_NetStart())

        一旦配置句柄加載完成正確的配置,網(wǎng)絡(luò)事件調(diào)度將通過調(diào)用的NETCTRL函數(shù)NC_NetStart()實(shí)現(xiàn)。函數(shù)NC_NetStart()不會(huì)返回,直到系統(tǒng)關(guān)機(jī),然后返回關(guān)機(jī)代碼作為它的返回值。

        (4)調(diào)用NC_SystemClose(),關(guān)閉系統(tǒng)并退出。

        3.2 任務(wù)創(chuàng)建

        socket應(yīng)用程序開始于任務(wù)線程的創(chuàng)建。根據(jù)所提供的協(xié)議棧庫,任務(wù)可以使用TaskCreate()來創(chuàng)建。它直接創(chuàng)建出擁有3個(gè)參數(shù) (參數(shù)不一定全部使用)的和SYS/BIOS具有相同基本任務(wù)屬性的線程。

        用戶自定義的網(wǎng)絡(luò)服務(wù)線程從NC_NetStart()提供的 “NetworkOpen ()”回調(diào)函數(shù)中啟動(dòng)。

        以下是使用NC_NetStart()啟動(dòng)網(wǎng)絡(luò)服務(wù)的代碼:

        3.3 關(guān)聯(lián)文件描述符表

        在SYS/BIOS環(huán)境下,NDK 堆棧支持標(biāo)準(zhǔn)的socket接口功能,由于這些功能要求文件描述符的支持,協(xié)議棧提供了自己的小文件系統(tǒng)。在這個(gè)系統(tǒng)中,每個(gè)任務(wù)都有它自己的文件描述符字段。堆棧的工作原理是將每個(gè)調(diào)用的線程與一個(gè)文件描述符關(guān)聯(lián)。最基本的方法是線程開始前必須調(diào)用fdOpenSession ()函數(shù),然后面向文件描述符的函數(shù)才可以被調(diào)用,當(dāng)它們不再被需要時(shí)調(diào)用fdCloseSession ()函數(shù),程序示例:

        3.4 Socket編程

        網(wǎng)絡(luò)傳輸共創(chuàng)建了3個(gè)線程:

        第1個(gè)線程StackTest在SYS/BIOS中靜態(tài)創(chuàng)建,用于啟動(dòng)網(wǎng)絡(luò)。通過對配置文件的設(shè)置,在main()函數(shù)中啟動(dòng)SYS/BIOS之后,程序跳轉(zhuǎn)執(zhí)行此線程。這個(gè)線程稱為NETCTRL線程,它不是真正的網(wǎng)絡(luò)任務(wù)線程,系統(tǒng)不必為它分配文件描述符表。雖然它是作為初始化的一部分,但是NETCTRL 線程最終成為NDK 堆棧的事件調(diào)度表。

        第2個(gè)線程CtrlTask在SYS/BIOS中靜態(tài)創(chuàng)建,該線程用于接收控制指令,控制數(shù)據(jù)的發(fā)送、終止及線程退出,如圖3所示,用switch case語句判斷接收到的命令并執(zhí)行相應(yīng)的操作。

        第3個(gè)線程DataTask是在第2 個(gè)線程中動(dòng)態(tài)創(chuàng)建的,用于數(shù)據(jù)發(fā)送,其優(yōu)先級最低。

        圖3 線程CtrlTask的流程

        4 實(shí)驗(yàn)結(jié)果

        本設(shè)計(jì)采用的硬件平臺(tái)為TI 公司的評估板TMSEVM6678L,TMS320C6678的時(shí)鐘頻率為1 GHz,軟件開發(fā)平臺(tái)為CCS5.3。

        B模式超聲成像的圖像處理步驟按照順序依次為:包絡(luò)檢測、動(dòng)態(tài)壓縮、頻率復(fù)合以及行濾波,表1 給出了單個(gè)DSP 核對每個(gè)步驟進(jìn)行計(jì)算的時(shí)間開銷 (圖像大?。?12×1024)。

        表1 B模式超聲成像各處理步驟的計(jì)算時(shí)間開銷

        根據(jù)對表1分析得出,為了獲取最高的成像處理速度,可以將圖像處理任務(wù)分配到3 個(gè)核上以流水的方式進(jìn)行:核0完成包絡(luò)檢測,核1完成動(dòng)態(tài)壓縮,核2完成頻率復(fù)合與行濾波。此外,用核3 承擔(dān)網(wǎng)絡(luò)通信任務(wù),負(fù)責(zé)將B超圖像通過Ethernet傳輸?shù)絇C 機(jī)。數(shù)據(jù)的處理與傳輸流程如圖4所示。

        圖4 TMS320C6678實(shí)現(xiàn)B模式超聲成像的處理與傳輸流程

        圖2所示流程中,相鄰核之間的數(shù)據(jù)傳遞,以CORE 0向CORE 1傳遞的數(shù)據(jù)量最大,為3×512×1024×16bit=3 MB,經(jīng)反復(fù)測試,所需時(shí)間見表2。

        表2 核間數(shù)據(jù)傳遞 (CORE 0到CORE 1)時(shí)間開銷

        在網(wǎng)絡(luò)編程中,PC 機(jī)端socket的緩沖區(qū)大小設(shè)為8 KB,DSP端socket的緩沖區(qū)大小設(shè)為32KB,多次長時(shí)間測試表明DSP與PC機(jī)之間的網(wǎng)絡(luò)傳輸速率可以穩(wěn)定在60 MBps左右,即每秒能傳送120幀512×1024大小的圖像。根據(jù)上述測試結(jié)果可見,對于512×1024大小的圖像,DSP任意2個(gè)核傳遞數(shù)據(jù)的時(shí)間小于1ms??紤]到每個(gè)核成像處理所需時(shí)間以及公用存儲(chǔ)區(qū)訪問仲裁所需時(shí)間,4 個(gè)核流水完成一幀圖像處理與傳輸時(shí)間小于25ms(即每秒處理40幀),滿足了實(shí)時(shí)成像的要求。

        5 結(jié)束語

        本文討論了基于多核DSP (TMS320C6678)的B 模式超聲成像系統(tǒng)的高速數(shù)據(jù)傳輸,包括核間數(shù)據(jù)傳遞與網(wǎng)絡(luò)通信兩項(xiàng)技術(shù)。核間數(shù)據(jù)傳遞由核間通信、數(shù)據(jù)共享以及EDMA 訪問3項(xiàng)功能構(gòu)成;網(wǎng)絡(luò)通信采用NDK 進(jìn)行編程。實(shí)驗(yàn)結(jié)果表明,對于512×1024大小的圖像,DSP 總的處理速率能夠達(dá)到40幀/秒,滿足實(shí)時(shí)成像的要求,從而為進(jìn)一步開發(fā)基于多核DSP的便攜式超聲成像系統(tǒng)打下了堅(jiān)實(shí)的基礎(chǔ)。

        [1]LI Yibing,YU Dakun,LIU Xiaodong,et al.Application of computer to medical ultrasound images [J].Chinese Medical Equipment Journal,2006,27 (4):23-24 (in Chinese). [李義兵,余大昆,劉曉東,等.計(jì)算機(jī)在醫(yī)學(xué)超聲成像中的應(yīng)用[J].醫(yī)療衛(wèi)生裝備,2006,27 (4):23-24.]

        [2]XIA Chunlan,SHI Dan,LIU Dongquan.Ultrasound B-mode imaging based on CUDA [J].Application Research of Computers,2011,28 (6):2011-2015 (in Chinese). [夏春蘭,石丹,劉東權(quán).基于CUDA 的超聲B 模式成像 [J].計(jì)算機(jī)應(yīng)用研究,2011,28 (6):2011-2015.]

        [3]Texas Instruments Inc.Digital signal processor(DSP)for portable ultrasound [DB/OL].[2008-12-18].http://www.ti.com/general/docs.

        [4]Texas Instruments Inc.TI network developer’s kit(NDK)v2.21 user’s guide[DB/OL]. [2012-05-01].http://www.ti.com/general/docs.

        [5]Texas Instruments Inc.SYS/BIOS inter-processor communication(IPC) user guide [DB/OL].[2012-10-09]. http://www.ti.com/general/docs.

        [6]XIAO Liang,ZHANG Xuejian.Parallel implementation of processing algorithm of ultrasound imaging based on multi-core DSP [J].Application of Electronic Technique,2013,39(6):27-30 (in Chinese).[肖亮,張學(xué)建.基于多核DSP 的超聲成像處理算法的并行實(shí)現(xiàn) [J].電子技術(shù)應(yīng)用,2013,39(6):27-30.]

        [7]WU Hao,XIAO Jiyang,F(xiàn)AN Hongqi,et al.Inter-processor communication method of TMS320C6678 multicore DSP [J].Application of Electronic Technique,2012,38 (9):12-14 (in Chinese).[吳灝,肖吉陽,范紅旗,等.TMS320C6678多核DSP的核間通信方法 [J].電子技術(shù)應(yīng)用,2012,38 (9):12-14.]

        [8]LIU Xin,SONG Guanglei,WEN Jing,et al.Design of gigabit Ethernet interface used on highspeed transmission of spaceborne images[J].Video Engineering,2013,37 (3):67-69(in Chinese).[劉鑫,宋光磊,溫靖,等.用于星載圖像高速傳輸?shù)那д滓蕴W(wǎng)接口設(shè)計(jì)[J].電視技術(shù),2013,37 (3):67-69.]

        [9]ZUO Haorui,ZHANG Qiheng,XU Yong,et al.Design of Gbps Ethernet interface based on DSP [J].Communications Technology,2010,43 (8):1-3 (in Chinese). [左顥睿,張啟衡,徐勇,等.基于DSP 的千兆以太網(wǎng)接口設(shè)計(jì) [J].通信技術(shù),2010,43 (8):1-3.]

        [10]HAO Pengpeng,ZHOU Xulin, TANG Yijing,et al.Reasearch on multicore processor’s architecture based on TMS320C6678 [J].Microelectronics,2012,29 (12):171-175 (in Chinese). [郝朋朋,周煦林,唐藝菁,等.基于TMS320C6678多核處理器體系結(jié)構(gòu)的研究 [J].微電子學(xué)與計(jì)算機(jī),2012,29 (12):171-175.]

        猜你喜歡
        間通信堆棧網(wǎng)絡(luò)通信
        細(xì)胞間通信預(yù)測方法研究進(jìn)展
        基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:48
        綜合航電分區(qū)間通信元模型設(shè)計(jì)研究
        網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
        基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計(jì)
        電子制作(2018年1期)2018-04-04 01:48:30
        嵌入式軟件堆棧溢出的動(dòng)態(tài)檢測方案設(shè)計(jì)*
        談?dòng)?jì)算機(jī)網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
        電子制作(2017年17期)2017-12-18 06:41:06
        基于堆棧自編碼降維的武器裝備體系效能預(yù)測
        基于核間寄存器的多核虛擬機(jī)系統(tǒng)中虛擬機(jī)間通信研究
        一種適應(yīng)多核處理器核間通信機(jī)制的設(shè)計(jì)
        国产女主播强伦视频网站| 在线精品国产一区二区三区| 极品熟妇大蝴蝶20p| 狠狠躁夜夜躁人人爽天天不卡| 久久亚洲精品一区二区三区| 国产爆乳美女娇喘呻吟| 日本护士吞精囗交gif| 亚洲五月婷婷久久综合| 精品国产一区二区三区av新片| 中文有码无码人妻在线| 亚洲五月天综合| 久久与欧美视频| 午夜视频一区二区三区在线观看| 国产亚洲成av人片在线观看| 欧美性大战久久久久久久| 亚洲欧美日本人成在线观看| 日韩精品免费av一区二区三区 | 麻豆av毛片在线观看| 国产成人a级毛片| 亚洲精品无播放器在线播放| 亚洲区精选网址| 色婷婷精品午夜在线播放| 色婷婷亚洲一区二区三区| 污污污污污污污网站污| 国产一区二区在线观看视频免费 | 国产精品反差婊在线观看| 黄片国产一区二区三区| 中国老熟妇506070| 北条麻妃毛片在线视频| 国产精东一区二区三区| 免费国产自拍在线观看| aaa级久久久精品无码片| 国内精品久久久久久久久蜜桃| 日韩av天堂一区二区三区在线| 婷婷色香五月综合激激情| 青草热久精品视频在线观看| 激情视频在线播放一区二区三区| 精品无码一区二区三区的天堂| 爱情岛永久地址www成人| 成人精品免费av不卡在线观看| 亚洲女同同性一区二区|