999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

OMAPL138的雙核通信設(shè)計(jì)

2014-05-10 07:52:24林淦劉建群許東偉李嘉健
機(jī)床與液壓 2014年22期
關(guān)鍵詞:機(jī)制設(shè)計(jì)

林淦,劉建群,許東偉,李嘉健

(廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣東廣州510006)

TI 公司于2009年推出了一款高性能、低功耗的浮點(diǎn)、定點(diǎn)能力兼?zhèn)涞娜码p核處理器——OMAPL138。OMAPL138 是基于DSP 的SoC,采用C6748 DSP 內(nèi)核+ARM9 內(nèi)核的雙核結(jié)構(gòu),可實(shí)現(xiàn)高達(dá)375/456MHz 的內(nèi)核頻率。利用片上嵌入式微處理器內(nèi)核ARM9,開發(fā)人員可以在操作系統(tǒng)平臺(tái)上充分利用浮定點(diǎn)兼容C6748 DSP 來(lái)支持高強(qiáng)度的數(shù)據(jù)實(shí)時(shí)處理計(jì)算,同時(shí)將非實(shí)時(shí)性任務(wù)交給ARM9 內(nèi)核負(fù)責(zé),這種優(yōu)異的架構(gòu)能幫助設(shè)計(jì)者開發(fā)出更為出色的產(chǎn)品[1]。

文中主要介紹一種基于OMAPL138 雙核握手通信的機(jī)制。在ARM 端運(yùn)行LINUX 系統(tǒng),主要處理人機(jī)交互、向DSP 發(fā)送數(shù)據(jù)等任務(wù);而在DSP 端運(yùn)行DSPBIOS,循環(huán)地接收從ARM 傳來(lái)數(shù)據(jù),進(jìn)行運(yùn)算處理。該設(shè)計(jì)充分地利用ARM 和DSP 自身的強(qiáng)大優(yōu)勢(shì),為工業(yè)控制上需要高強(qiáng)度運(yùn)算的實(shí)時(shí)控制系統(tǒng)設(shè)計(jì)提供了一定的借鑒和參考。

1 OMAPL138 整體架構(gòu)

OMAPL138 是一款集成了ARM926EJ-S 和C6748 DSP 的雙核處理器。對(duì)比DSP C6000 系列,OMAPL系列更具有低功耗、高處理能力等優(yōu)勢(shì)。其內(nèi)部集成了EDMA3、EMIFA、EMAC、SPI 等豐富的外設(shè)接口,ARM 和DSP 都可以獨(dú)自操作這些外設(shè)。由于具有高運(yùn)算處理能力和先進(jìn)的電源管理,使得OMAPL 系列非常適合智能和工業(yè)行業(yè)的應(yīng)用[2]。OMAPL138 嵌入式雙核處理器的內(nèi)部系統(tǒng)框圖如圖1所示。

該設(shè)計(jì)以O(shè)MAPL138 為硬件平臺(tái),實(shí)現(xiàn)雙核快速、準(zhǔn)確地通信。該設(shè)計(jì)具有以下幾個(gè)優(yōu)勢(shì):

(1)OMAPL138 雙核之間大數(shù)據(jù)量通信的一般方式是采用發(fā)送方先往共享內(nèi)存(也就是在圖1 外設(shè)系統(tǒng)中128 kB RAM)寫數(shù)據(jù),然后直接給接收方一個(gè)中斷,接收方在響應(yīng)中斷后再進(jìn)行讀寫數(shù)據(jù)。而該設(shè)計(jì)對(duì)于大數(shù)據(jù)量的傳輸是采用ARM 直接對(duì)DSP RAM 進(jìn)行讀寫操作,大大提高了兩核之間的通信速度。

(2)系統(tǒng)啟動(dòng)后,兩核單獨(dú)運(yùn)行,這樣就存在雙核運(yùn)行速度不協(xié)調(diào)的問(wèn)題。設(shè)計(jì)中,通過(guò)利用DSPLINK 中的MSG 模塊,協(xié)調(diào)兩核之間的運(yùn)行速度,解決了雙核運(yùn)行速度不協(xié)調(diào)的問(wèn)題。

(3)在DSP 端采用兩級(jí)循環(huán)緩存區(qū),避免了DSP 在進(jìn)行高速實(shí)時(shí)運(yùn)算時(shí),雙核之間的數(shù)據(jù)讀寫沖突,并減少了DSP 讀取數(shù)據(jù)的時(shí)間,提高了系統(tǒng)的強(qiáng)實(shí)時(shí)性。

圖1 OMAPL138 嵌入式雙核處理器的內(nèi)部系統(tǒng)框圖

2 通信機(jī)制的整體設(shè)計(jì)框架

OMAPL138 擁有總共4 GB 的存儲(chǔ)器地址空間,地址范圍為0x00000000-0xFFFFFFFF。OMAPL138 所有外設(shè)資源,包括片內(nèi)存儲(chǔ)器、片外存儲(chǔ)器和各個(gè)控制寄存器等共同分享了這4 GB 地址空間。其中,共享內(nèi)存的地址范圍為0x80000000-0x8001FFFF,占了128 kB[3-4]。DSPLINK 是TI 提供的通用雙核通信的API 函數(shù),它包含了PROC、MSG、CHNL、POOL 等組件。DSPLINK 大部分通信原理都是發(fā)送方(ARM或DSP)將數(shù)據(jù)放在128 kB 的共享內(nèi)存中,然后給接收方一個(gè)中斷,告知接收方可接收數(shù)據(jù)[5]。而這其中的實(shí)現(xiàn)過(guò)程都是由DSPLINK 封裝好的。

該設(shè)計(jì)在ARM 端運(yùn)行LINUX 操作系統(tǒng),加載dsplink.ko 驅(qū)動(dòng),在ARM 應(yīng)用程序中調(diào)用DSPLINK的函數(shù)庫(kù)。同時(shí)在DSP 端運(yùn)行DSPBIOS 實(shí)現(xiàn)與ARM的握手通信,通信機(jī)制的整體設(shè)計(jì)框架如圖2所示[6-8]。

圖2 通信機(jī)制的整體設(shè)計(jì)框架

該設(shè)計(jì)使用了 PROC、MSG、POOL 這3 個(gè)DSPLINK 組件。其中:

(1)PROC 組件。PROC_write 可對(duì)DSP 內(nèi)部的L2 RAM 直接進(jìn)行寫操作,可以傳輸大容量數(shù)據(jù),無(wú)需通過(guò)共享內(nèi)存。

(2)MSG 組件。MSG_put 和MSG_get 可進(jìn)行信息發(fā)送和接收,所有信息內(nèi)容都被包含在SampleMessage 結(jié)構(gòu)體中。MSG 傳輸?shù)淖止?jié)大小就是sizeof(SampleMessage),它必須與128 字節(jié)對(duì)齊。而SampleMessage 結(jié)構(gòu)體的成員可自行定義,例如該設(shè)計(jì)就把PROC_write 在DSP RAM 寫的首地址和寫的長(zhǎng)度封裝在結(jié)構(gòu)體中。

#define DSPLINK_BUF_ALIGN 128

DSPLINK _ ALIGN(sizeof(SampleMessage),DSPLINK_BUF_ALIGN)

(3)POOL 組件。為MSG 組件在外設(shè)DDR 中分配內(nèi)存區(qū),其分配大小就是sizeof(SampleMessage)的大小。

3 雙核的握手機(jī)制

由于ARM 啟動(dòng)后就會(huì)喚醒DSP,之后它們之間就各自運(yùn)行自己的程序。為了解決兩核之間的協(xié)調(diào)問(wèn)題,該設(shè)計(jì)利用了DSPLINK 中的MSG 組件。一方面,MSG 為兩核之間傳遞一些狀態(tài)變量,使它們可以獲取對(duì)方執(zhí)行的情況;另一方面,接收方接收消息是采用無(wú)限等待模式,這就解決了兩核之間執(zhí)行速度快慢不協(xié)調(diào)的問(wèn)題。雙核的握手機(jī)制示意圖如圖3所示。

圖3 雙核的握手機(jī)制示意圖

4 兩級(jí)循環(huán)緩存區(qū)設(shè)計(jì)

在工業(yè)控制應(yīng)用中,對(duì)于外接設(shè)備的控制,如伺服電機(jī)的控制等,都必須要求是實(shí)時(shí)的。這就要求DSP 必須不間斷地實(shí)時(shí)地在內(nèi)存中讀取數(shù)據(jù),運(yùn)算后輸出控制命令。若采用DSP 處理完ARM 傳來(lái)的一幀數(shù)據(jù)后,再請(qǐng)求ARM 發(fā)另一幀數(shù)據(jù)來(lái)進(jìn)行運(yùn)算處理的方案,不能滿足強(qiáng)實(shí)時(shí)性的要求。因此,該設(shè)計(jì)建立了兩級(jí)循環(huán)緩存區(qū),以確保緩存區(qū)中總有數(shù)據(jù)供DSP 進(jìn)行實(shí)時(shí)運(yùn)算。

DSP 端建立的兩級(jí)循環(huán)緩存區(qū)如圖4所示。DSP L2 RAM 為一級(jí)緩存區(qū),循環(huán)存儲(chǔ)從ARM 發(fā)過(guò)來(lái)的數(shù)據(jù),而在外設(shè)DDR 中開辟第二級(jí)緩存區(qū)。DSP 在第二級(jí)緩存區(qū)DDR 中讀取數(shù)據(jù),進(jìn)行實(shí)時(shí)運(yùn)算處理。建立兩級(jí)循環(huán)緩存區(qū)作用在于:(1)避免了DSP 進(jìn)行實(shí)時(shí)運(yùn)算時(shí)讀取數(shù)據(jù)與ARM 往DSP L2 RAM 寫數(shù)據(jù)的沖突;(2)減少了DSP 進(jìn)行實(shí)時(shí)計(jì)算時(shí)的讀取數(shù)據(jù)的時(shí)間,提高了系統(tǒng)的強(qiáng)實(shí)時(shí)性。

圖4 DSP 端建立的兩級(jí)循環(huán)緩存區(qū)

首先,在ARM 端定義Message 結(jié)構(gòu)體,其狀態(tài)變量如下:

Message 就是上面提到MSG 傳遞的結(jié)構(gòu)體。發(fā)送方通過(guò)修改該結(jié)構(gòu)體的成員變量,從而告知對(duì)方當(dāng)前的運(yùn)行情況。

其次,ARM 隨時(shí)用MSG_get 獲取Message 結(jié)構(gòu)體,查詢一級(jí)緩存區(qū)(DSP L2 RAM)的Empty 區(qū)的數(shù)據(jù)大小是否已經(jīng)大于one_rw_size,如果是就往一級(jí)緩存區(qū)寫one_rw_size 個(gè)數(shù)據(jù)。

最后,當(dāng)ARM 需要往一級(jí)緩存區(qū)(DSP L2 RAM)的Empty 區(qū)寫數(shù)據(jù)且剩下的數(shù)據(jù)大小已經(jīng)小于或等于one_rw_size 的時(shí)候,ARM 置位gppwriteover,并將剩下的數(shù)據(jù)寫到一級(jí)緩存區(qū)(DSP L2 RAM)的Empty 區(qū)中。

而在DSP 端,每次查詢二級(jí)緩存區(qū)(DDR)的Empty 區(qū)大小是否大于one_rw_size 并且dspreadover未置位,那么就從Ptr_ram_read 開始地址往下讀one_rw_size 個(gè)字節(jié)寫到二級(jí)緩存區(qū)(DDR)中。

當(dāng)ARM 已經(jīng)置位gppwriteover 且二級(jí)緩存區(qū)(DDR)需要從一級(jí)緩存區(qū)(DSP L2 RAM)讀的數(shù)據(jù)大小已經(jīng)小于one_rw_size 的時(shí)候,DSP 將一級(jí)緩存區(qū)剩下的數(shù)據(jù)全部讀到二級(jí)緩存區(qū),并置位dspreadover。而當(dāng)DSP 在二級(jí)緩存區(qū)中讀取數(shù)據(jù)去進(jìn)行運(yùn)算的大小等于file_transfer_size 時(shí),表示數(shù)據(jù)已經(jīng)執(zhí)行完,DSP 置位Processover,并通知ARM 程序執(zhí)行完畢。

ARM 工作流程圖如圖5所示,DSP 工作流程圖如圖6所示。

圖5 ARM 工作流程圖

圖6 DSP 工作流程圖

5 結(jié)束語(yǔ)

設(shè)計(jì)了一種基于OMAPL138 的雙核通信機(jī)制:一方面,對(duì)于小數(shù)據(jù)量的消息傳輸,通過(guò)共享內(nèi)存進(jìn)行交互通信;另一方面,對(duì)于大數(shù)據(jù)量的通信,直接采用ARM 往DSP RAM 里面進(jìn)行讀寫,提高了通信速度。并且,在DSP 端建立了兩級(jí)循環(huán)緩沖區(qū),而ARM 端監(jiān)視緩沖區(qū),一旦緩沖區(qū)有空閑區(qū)域就往里面寫數(shù)據(jù),確保了緩沖區(qū)一直有數(shù)據(jù)供DSP 讀取進(jìn)行運(yùn)算。經(jīng)測(cè)試,該機(jī)制運(yùn)行穩(wěn)定、快速,ARM 和DSP 都可以準(zhǔn)確地進(jìn)行通信。

[1]彭啟琮,楊錬,潘曄.開放式多媒體應(yīng)用平臺(tái)——OMAP處理器的原理及應(yīng)用[M].北京:電子工業(yè)出版社,2005.

[2]TEXAS INSTRUMENTS.OMAP-L138 Applications Processor System Reference Guide[M],2010.

[3]付浩,劉建群.基于OMAP-L138 的嵌入式運(yùn)動(dòng)控制器的設(shè)計(jì)與研究[J].科學(xué)技術(shù)與工程,2013,13(1):196-200.

[4]TEXAS INSTRUMENTS.OMAP-L138 Applications Processor System Reference Guide[M],2010.

[5]TEXAS INSTRUMENTS.Building DSPLink Applications version 1.65.00.02[M],2010.

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

[7]CorbetRubini,Kroah Hartman.Linux 設(shè)備驅(qū)動(dòng)程序[M].3 版.北京:中國(guó)電力出版社,2010:21-44.

[8]宋寶華.設(shè)備驅(qū)動(dòng)開發(fā)詳解[M].2 版.北京:人民郵電出版社,2010.

猜你喜歡
機(jī)制設(shè)計(jì)
構(gòu)建“不敢腐、不能腐、不想腐”機(jī)制的思考
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
自制力是一種很好的篩選機(jī)制
文苑(2018年21期)2018-11-09 01:23:06
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
定向培養(yǎng) 還需完善安置機(jī)制
破除舊機(jī)制要分步推進(jìn)
注重機(jī)制的相互配合
主站蜘蛛池模板: 精品99在线观看| 亚洲娇小与黑人巨大交| 国产v欧美v日韩v综合精品| 国产永久免费视频m3u8| 精品乱码久久久久久久| 中文天堂在线视频| 亚洲va在线∨a天堂va欧美va| 制服丝袜一区| 国产精品亚洲一区二区在线观看| 日日拍夜夜操| 九九免费观看全部免费视频| 天天视频在线91频| 国产精品片在线观看手机版| 免费99精品国产自在现线| 国产精品区视频中文字幕| 99精品免费欧美成人小视频| 亚洲色图另类| 蜜臀AVWWW国产天堂| 亚洲美女一级毛片| 国产夜色视频| 色哟哟精品无码网站在线播放视频| 狠狠五月天中文字幕| 亚洲精品国产精品乱码不卞 | 麻豆精品在线| 亚洲日本一本dvd高清| 婷婷在线网站| 成人无码区免费视频网站蜜臀| 国产精品色婷婷在线观看| 日本久久网站| 亚洲无码91视频| 免费无码在线观看| 中文无码精品A∨在线观看不卡| a网站在线观看| 国产一区二区三区在线观看免费| www.精品国产| V一区无码内射国产| 久久久久人妻精品一区三寸蜜桃| 国产91成人| 99尹人香蕉国产免费天天拍| 少妇精品久久久一区二区三区| 91精品国产情侣高潮露脸| 国产成人亚洲精品无码电影| 亚洲国产日韩欧美在线| 欧美特黄一免在线观看| 日本AⅤ精品一区二区三区日| 欧美特黄一免在线观看| 国产真实乱子伦视频播放| 99在线视频网站| 91久久偷偷做嫩草影院电| 亚洲人精品亚洲人成在线| 久久综合五月婷婷| 日本尹人综合香蕉在线观看| 扒开粉嫩的小缝隙喷白浆视频| 国产一区二区在线视频观看| 91福利免费| 黄色网址手机国内免费在线观看| 欧美视频在线第一页| 97se亚洲综合在线韩国专区福利| 国产视频入口| 国产亚洲欧美日韩在线一区二区三区| 色婷婷在线播放| 午夜毛片福利| 在线欧美a| 3D动漫精品啪啪一区二区下载| 91青青在线视频| 久久99精品久久久久纯品| 中文字幕人成人乱码亚洲电影| 99精品影院| 国产黄网站在线观看| 欧美一区中文字幕| 色窝窝免费一区二区三区| 呦女亚洲一区精品| 午夜影院a级片| 老色鬼久久亚洲AV综合| 亚洲视频免| 激情午夜婷婷| 综合久久五月天| 强奷白丝美女在线观看| 欧美 国产 人人视频| 午夜啪啪福利| 91精品小视频| 国产97视频在线观看|