国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OMAPL138雙核通信的測(cè)試與實(shí)現(xiàn)

2016-04-06 19:00:52袁三男
關(guān)鍵詞:嵌入式系統(tǒng)數(shù)據(jù)流

俞 靜, 袁三男

(上海電力學(xué)院 電子與信息工程學(xué)院, 上海 200090)

?

基于OMAPL138雙核通信的測(cè)試與實(shí)現(xiàn)

俞靜, 袁三男

(上海電力學(xué)院 電子與信息工程學(xué)院, 上海200090)

摘要:通過(guò)分析雙核處理器OMAPL138的雙核架構(gòu)、雙核通信組件DSPLINK,以及基本數(shù)據(jù)流的概念,構(gòu)建了雙核通信中基本數(shù)據(jù)流的傳輸流程,并搭建了基于Linux系統(tǒng)的嵌入式交叉編譯開(kāi)發(fā)平臺(tái),測(cè)試實(shí)現(xiàn)了通用處理器端任務(wù)和數(shù)字信號(hào)處理器端任務(wù)的數(shù)據(jù)傳輸.

關(guān)鍵詞:嵌入式系統(tǒng); 雙核通信; 數(shù)據(jù)流; 數(shù)字信號(hào)處理器

隨著科學(xué)技術(shù)的發(fā)展和社會(huì)的進(jìn)步,嵌入式技術(shù)在電子產(chǎn)品和通信領(lǐng)域中的地位日趨提高.嵌入式產(chǎn)品廣泛應(yīng)用于通信、醫(yī)療、娛樂(lè)、軍事等重要領(lǐng)域.隨之對(duì)嵌入式系統(tǒng)的性能要求也越來(lái)越高.嵌入式系統(tǒng)也正朝著高效性、穩(wěn)定性、可靠性、節(jié)能性的方向發(fā)展[1].OMAPL138就是TI公司推出的一款高性能、低功耗的嵌入式雙核處理器,已廣泛應(yīng)用于對(duì)講機(jī)、廣播電視監(jiān)控等.OMAPL138的雙核芯片設(shè)計(jì)降低了硬件電路設(shè)計(jì)的難度,增強(qiáng)了數(shù)據(jù)處理能力,但也給雙核開(kāi)發(fā)的軟件設(shè)計(jì)帶來(lái)了難度[1-2].本文通過(guò)DSP/BIOS和Linux端DSPLINK(“DSP/BIOS LINK”的簡(jiǎn)稱(chēng))技術(shù),建立ARM(高級(jí)精簡(jiǎn)指令集計(jì)算機(jī))端和DSP(數(shù)字信息處理器)端數(shù)據(jù)傳遞通道,實(shí)現(xiàn)了簡(jiǎn)單數(shù)據(jù)流的傳輸.

1OMAPL138雙核架構(gòu)特點(diǎn)

OMAPL138雙核架構(gòu)兼具DSP的高數(shù)字信號(hào)處理性能和精簡(jiǎn)指令計(jì)算機(jī)(RISC)技術(shù)的優(yōu)點(diǎn),采用一個(gè)高性能的 TMS320C674x DSP內(nèi)核和 ARM926EJ-S 內(nèi)核,因此OMAPL138結(jié)合了ARM 和DSP處理器的優(yōu)點(diǎn)[2].共享內(nèi)存、中斷控制和DSPLINK組件的完美設(shè)計(jì)解決了OMAPL138雙核間通信的問(wèn)題.

1.1OMAPL138通信流程

OMAPL138板上集成了豐富的外設(shè)資源,并且通過(guò)外設(shè)與內(nèi)存統(tǒng)一編址[3-4].板上的外設(shè)資源除小部分僅ARM和DSP單獨(dú)享用,其余外設(shè)資源均可以被ARM和DSP共享.RAM和DDR(片外)通常作為共享內(nèi)存區(qū)域,RAM通常用于存放小數(shù)量的控制信息傳輸,DDR則用于大數(shù)量的通信傳輸[5].共享內(nèi)存為OMAPL138的雙核間通信提供了良好基礎(chǔ).OMAPL138系統(tǒng)配置模塊中共增加了7個(gè)中斷,其中,DSP響應(yīng)中斷3個(gè),ARM響應(yīng)中斷4個(gè).OMAPL138雙核間通信通過(guò)中斷來(lái)控制.例如:ARM在RAM中寫(xiě)入命令或是在DDR中寫(xiě)入傳輸數(shù)據(jù),再向DSP端發(fā)出對(duì)應(yīng)的中斷信號(hào),DSP在接收到中斷信號(hào)后,從共享內(nèi)存中讀取數(shù)據(jù)或命令,按中斷的優(yōu)先級(jí)做出相應(yīng)的處理,完成后再中斷通知ARM,最終完成了雙核通信.如圖1所示.

1.2DSPLINK簡(jiǎn)介

DSPLINK是進(jìn)行雙核通信的驅(qū)動(dòng)程序,也是雙核通信中最關(guān)鍵的部分[6].為了減小開(kāi)發(fā)的難度,對(duì)DSPLINK雙核的物理連接進(jìn)行虛擬化處理,并提供了一整套的應(yīng)用程序編程接口[7].DSPLINK的軟件架構(gòu)如圖2所示.

1.2.1GPP(通用處理器)端和DSP端

GPP是指和DSP端通信的通用處理器.DSPLINK中GPP端由GPP OS,OS抽象層,Link Driver,Processor Manager,DSP/BIOS Link API組成.Linux操作系統(tǒng)是本實(shí)驗(yàn)的GPP OS.OS抽象層主要負(fù)責(zé)提供其他組件訪問(wèn)的應(yīng)用程序接口和一些常用的操作系統(tǒng)服務(wù)組件.Link Driver是指鏈接驅(qū)動(dòng)層,在雙核間數(shù)據(jù)傳輸和DSP工作中發(fā)揮著重要作用.Processor Manager為進(jìn)程管理單元,主要幫助用戶控制連接驅(qū)動(dòng)層和維護(hù)信息.GPP端的最上層就是接口層,通過(guò)接口可以更好地訪問(wèn)GPP端,給用戶開(kāi)發(fā)帶來(lái)便利.

DSPLINK中DSP端由DSP/BIOS,Link Driver和其他驅(qū)動(dòng)組成,其中DSP/BIOS指DSP端的一個(gè)實(shí)時(shí)的輕量級(jí)操作系統(tǒng).與GPP端的鏈接驅(qū)動(dòng)層不同,DSP端的連接驅(qū)動(dòng)層只負(fù)責(zé)在物理連接成功的狀態(tài)下和GPP端的交互.

1.2.2相關(guān)組件

GPP端中DSPLINK包含了PROC,CHNL,MSGQ,POOL,NOTIFY,MPCS,MPLIST,RINGIO等重要組件[8].本文中使用了其中的PROC,CHNL,POOL這3個(gè)DSPLINK組件.

(1) PROC組件可以對(duì)DSP的空間進(jìn)行直接操作,讀寫(xiě)DSP端的地址空間,控制DSP端的程序運(yùn)行.PROC_setup()初始化DSP,PROC_attach()按照規(guī)定的處理器的ID號(hào)與指定的DSP鏈接,PROC_load()將編譯好的程序載入DSP中.

(2) CHNL組件主要負(fù)責(zé)ARM端和DSP端的數(shù)據(jù)傳送,是一個(gè)邏輯數(shù)據(jù)傳輸通道,采用issue-reclaim模式進(jìn)行數(shù)據(jù)傳送.

(3) POOL 組件主要用于配置共享內(nèi)存,提供相關(guān)應(yīng)用程序接口.

1.3開(kāi)發(fā)環(huán)境搭建

良好的開(kāi)發(fā)環(huán)境是雙核通信測(cè)試中必不可少的部分[9].本實(shí)驗(yàn)操作系統(tǒng)為L(zhǎng)inux系統(tǒng),其開(kāi)發(fā)流程如圖3所示.測(cè)試前需要在PC機(jī)上安裝虛擬機(jī)和Linux系統(tǒng),將OMAPL138開(kāi)發(fā)板和PC機(jī)用串口線、網(wǎng)線等連接好.待軟硬件就緒后,在虛擬機(jī)上建立存放GPP端和DSP端的程序的文件夾,并將該文件夾下載到開(kāi)發(fā)板上.進(jìn)入開(kāi)發(fā)板目錄安裝驅(qū)動(dòng)程序dsplink.ko.準(zhǔn)備就緒即可開(kāi)始測(cè)試.

2基本數(shù)據(jù)流傳輸測(cè)試

在信息技術(shù)高速發(fā)展的今天,數(shù)據(jù)流作為一種高速、海量的數(shù)據(jù)形式出現(xiàn)在實(shí)際應(yīng)用領(lǐng)域中[10].數(shù)據(jù)流通常被定義為只能以事先規(guī)定好的順序被讀取一次的數(shù)據(jù)序列,其在通信中代表“所使用的信息的數(shù)字編碼信號(hào)序列”[10].由于數(shù)據(jù)流簡(jiǎn)單、方便,其在傳輸測(cè)試的應(yīng)用十分廣泛.本文將傳輸?shù)膬?nèi)容定義為簡(jiǎn)單數(shù)據(jù)流序列0x47,在基于OMAPL138的嵌入式開(kāi)發(fā)平臺(tái)下,通過(guò)DSPLINK開(kāi)發(fā)組件的應(yīng)用,進(jìn)行GPP端與DSP端的傳輸測(cè)試.其中,DSP端應(yīng)用程序采用SIO(流輸入輸出)來(lái)實(shí)現(xiàn)任務(wù)傳輸.

2.1GPP端

本實(shí)驗(yàn)中,GPP端就是ARM端.GPP端只要將DSPLINK組件初始化,將定義好的簡(jiǎn)單的數(shù)據(jù)流發(fā)送給DSP端并保存,待DSP端接收并返回傳輸內(nèi)容后,進(jìn)行比較,再清除釋放內(nèi)存.GPP端是通過(guò)調(diào)用不同模塊的功能函數(shù)來(lái)實(shí)現(xiàn)不同的功能,具體流程如圖4所示.

2.1.1準(zhǔn)備

(1) 首先設(shè)置DSP的狀態(tài)變量DSP_STATUS,根據(jù)狀態(tài)變量判斷DSP的狀態(tài)是否正常,這將直接影響到后面的操作.

(2) 設(shè)置用于數(shù)據(jù)傳輸測(cè)試的GPP端緩沖區(qū)的大小和循環(huán)的次數(shù).為了解決某種型號(hào)的一個(gè)CPU可以有幾個(gè)內(nèi)核DSP的問(wèn)題,必須明確指定出其ID號(hào),這樣就解決了多內(nèi)核帶來(lái)的混淆不清的問(wèn)題.在本文中只用了一個(gè)DSP內(nèi)核,所以ID均被默認(rèn)為零.

2.1.2創(chuàng)建

(1) 創(chuàng)建和初始化PROC組件,PROC是表述應(yīng)用空間的DSP處理器.

(2) 根據(jù)DSP的ID號(hào)連接到指定的DSP,建立起GPP端與DSP端的聯(lián)系.

(3) 打開(kāi)共享內(nèi)存池.使用內(nèi)存池不會(huì)產(chǎn)生或很少產(chǎn)生堆碎片,可以避免內(nèi)存泄漏,并比malloc或free的內(nèi)存申請(qǐng)和釋放更快.

(4) 將編譯好的DSP程序下載到DSP中,等待DSP處理.

(5) 創(chuàng)建用于數(shù)據(jù)通信的通道.由于CHNL(數(shù)據(jù)傳輸?shù)耐ǖ?組件無(wú)方向性,通道方向可以配置,必須建一個(gè)通往DSP通道和一個(gè)反方向的通道.

(6) 根據(jù)DSP的ID號(hào)分配一塊用于DSP數(shù)據(jù)傳輸?shù)木彌_區(qū).

(7) 最后,初始化帶有效數(shù)據(jù)的緩沖區(qū)并返回狀態(tài)值.

2.1.3執(zhí)行

(1) 根據(jù)DSP的ID號(hào)開(kāi)始運(yùn)行DSP.

(2) 創(chuàng)建一個(gè)數(shù)組填寫(xiě)用于數(shù)據(jù)傳輸?shù)臄?shù)據(jù),并且設(shè)定大小.

(3) 循環(huán)發(fā)送數(shù)據(jù)到指定DSP,接受來(lái)自DSP的數(shù)據(jù),并將接收到的數(shù)據(jù)和原來(lái)的數(shù)據(jù)進(jìn)行校驗(yàn)以檢測(cè)傳輸?shù)恼_性.

(4) 最后,返回本過(guò)程的狀態(tài)值.

2.1.4釋放內(nèi)存

由于過(guò)多的占用內(nèi)存空間,會(huì)引起內(nèi)存泄漏,程序運(yùn)行時(shí)間越長(zhǎng),占用存儲(chǔ)空間越多,最終造成整個(gè)系統(tǒng)清除崩潰.為了避免這種情況的發(fā)生,要在執(zhí)行步驟完成后釋放內(nèi)存.

2.2DSP端

本實(shí)驗(yàn)中,DSP端主要進(jìn)行數(shù)據(jù)的接收、處理以及將處理后的數(shù)據(jù)返回給GPP端,在DSP端采用了流輸入輸出型(SIO)實(shí)現(xiàn)DSP/BIOS線程中的任務(wù).具體流程如圖5所示.

(1) 定義任務(wù)模式TSK.TSK模式遵循“先來(lái)先服務(wù)”的原則,任務(wù)的優(yōu)先級(jí)低于軟中斷.

(2) 初始化中斷服務(wù)子程序ISR和DSP/BIOS LINK.

(3) 確定傳輸次數(shù)和大小.

(4) 執(zhí)行任務(wù)模式.首先,動(dòng)態(tài)創(chuàng)建IOM硬件設(shè)備驅(qū)動(dòng)模塊和DIO適配模塊.IOM是DSP/BIOS的設(shè)備驅(qū)動(dòng)模塊的一種接口方式,其根據(jù)輸入輸出方式的不同,有不同的類(lèi)驅(qū)動(dòng)程序.本文中采用流輸入輸出型SIO方式.DIO適配模塊主要負(fù)責(zé)信號(hào)同步和緩沖管理等.然后定義數(shù)據(jù)結(jié)構(gòu),創(chuàng)建SIO輸入輸出流.其次,分配緩沖區(qū),接收處理數(shù)據(jù)并將處理后的數(shù)據(jù)送回給GPP端.最后,釋放內(nèi)存緩沖區(qū).

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

本實(shí)驗(yàn)在SDK(軟件開(kāi)發(fā)工具包)提供的范例基礎(chǔ)上加以調(diào)整和更改,最終通過(guò)不斷調(diào)試,實(shí)現(xiàn)了雙核間的簡(jiǎn)單數(shù)據(jù)流通信,通信效果良好.但在測(cè)試過(guò)程中經(jīng)常會(huì)遇上開(kāi)發(fā)板無(wú)法成功啟動(dòng)的情況,uboot和Kernel都無(wú)法啟動(dòng).經(jīng)過(guò)研究發(fā)現(xiàn)問(wèn)題是系統(tǒng)沒(méi)有配置好,在uboot要起來(lái)的時(shí)候敲命令printenv查看,然后重新配置系統(tǒng),特別要注意IP地址的配置.

3結(jié)語(yǔ)

本文對(duì)OMAPL138中DSPLINK雙核通信系統(tǒng)架構(gòu)進(jìn)行了分析,詳細(xì)概述了雙核通信的基本傳輸流程,并搭建了基于Linux系統(tǒng)的嵌入式交叉編譯平臺(tái),利用簡(jiǎn)單數(shù)據(jù)流的易操作特點(diǎn)和DSP端流輸入輸出SIO模塊完成了基于DSPL-INK的GPP端和DSP端的數(shù)據(jù)傳輸任務(wù).實(shí)驗(yàn)結(jié)果表明,雙核通信效果良好,這一技術(shù)具有較高的實(shí)用價(jià)值和應(yīng)用前景.

參考文獻(xiàn):

[1]朱敏.基于OMAP平臺(tái)DMR數(shù)字集群直通模式實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.

[2]劉紀(jì)紅,葉檸,尚奎.DSP+ARM雙核處理器OMAPL138開(kāi)發(fā)入門(mén)[M].北京:清華大學(xué)出版社,2013:5-21.

[3]郭睿,林巖.OMAPL138和FPGA的合并單元設(shè)計(jì)方案[J].單片基于嵌入式系統(tǒng)應(yīng)用,2012(11):49-52.

[4]羅澤雄.基于OMAP平臺(tái)的水聲通信網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)研究[D].哈爾濱:哈爾濱工程大學(xué),2013.

[5]趙加祥.DSP系統(tǒng)設(shè)計(jì)和BIOS編程及應(yīng)用實(shí)例[M].北京:機(jī)械工業(yè)出版社,2008:14-23.

[6]翟巍,劉成,田永春.基于OMAPL138芯片的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].通信技術(shù),2014(2):221-225.

[7]岳仁超,孫建東,劉曉銘.基于OMAPL138智能臺(tái)區(qū)終端的設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2014(5):44-49.

[8]HENZINGER M R,RAGHAVAN P,RAJAGOPALAN S.Computing on data streams[C]∥External Memory Algorithms.American Mathematical Society,1999:107-118.

[9]李心陽(yáng),唐厚君.基于OMAPL138的電能質(zhì)量監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2011(6):78-80.

[10]李培培.數(shù)據(jù)流中概念漂檢測(cè)與分類(lèi)方法研究[D].合肥:合肥工業(yè)大學(xué),2012.

(編輯桂金星)

Test and Realization of Dual-core Communication Based on OMAPL138YU Jing, YUAN Sannan

(School of Electronics and Information Engineering, Shanghai University of

Electric Power, Shanghai200090, China)

Abstract:By analyzing OMAPL138 dual-core architecture,dual-core communication component DSPL-INK and the basic concept of data streams,the basic data stream transmission process is constructed between dual-corecommunication.On the basis of the system of Linux,the embedded cross-compilation development platform is established.By testing,the task of data transmission between digital signal processor task and general processor is realized.

Key words:embedded system; dual-core communication; data stream; digital signal processor

中圖分類(lèi)號(hào):TP332

文獻(xiàn)標(biāo)志碼:A

文章編號(hào):1006-4729(2016)01-0061-05

通訊作者簡(jiǎn)介:袁三男(1967-),男,博士,副教授,江蘇蘇州人.主要研究方向?yàn)橥ㄐ排c信息系統(tǒng),流媒體網(wǎng)絡(luò),數(shù)字電視,嵌入式系統(tǒng).E-mail:samuel.yuan@shiep.edu.cn.

收稿日期:2015-06-08

DOI:10.3969/j.issn.1006-4729.2016.01.014

猜你喜歡
嵌入式系統(tǒng)數(shù)據(jù)流
汽車(chē)維修數(shù)據(jù)流基礎(chǔ)(上)
汽車(chē)維修數(shù)據(jù)流基礎(chǔ)(下)
一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)
嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開(kāi)發(fā)環(huán)境
基于數(shù)據(jù)流的結(jié)構(gòu)化功能安全分析方法
七台河市| 普格县| 武威市| 高邑县| 玛纳斯县| 清远市| 永修县| 田林县| 视频| 池州市| 梅州市| 双桥区| 米泉市| 通化县| 多伦县| 大名县| 扎兰屯市| 敖汉旗| 鹤岗市| 房山区| 宜川县| 金阳县| 惠水县| 双鸭山市| 木兰县| 曲麻莱县| 简阳市| 无为县| 花莲县| 获嘉县| 景东| 青岛市| 新竹市| 瑞安市| 威信县| 财经| 邮箱| 达拉特旗| 西青区| 苗栗市| 安宁市|