在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MVME2700單板機實現DSP系統實時通信控制的方案研究

牽手一起夢 ? 來源:網絡整理 ? 作者:佚名 ? 2020-01-22 11:00 ? 次閱讀

分析在Apex軟件環境下,SHARC處理器陣列板與MVME2700單板機基于VME總線的交互通信機制;利用該機制在VxWorks操作系統下,實現MVME2700單板機對DSP陣列板的被動觸式工作時序控制。

目前,許多信號處理系統DSP都采用Analog Device公司的SHARC系列產品。隨著DSP計算能力與應用范圍的不斷增強和擴大,越來越要求DSP具有實時控制能力以及具備多種通信接口。特別隨著網絡技術的不斷發展,基于網絡控制的DSP應用已成為主流;而嵌入式單板機(Signal Board Computer)顯然在實時控制與多通信接口及網絡應用方面具有及大的優勢。因此,通常在DSP處理機前端利用單板機設置通信控制器,加強對DSP系統的實時控制與外圍通信接口擴展。DSP系統與其前端通信控制器之間是否具有良好的實時通信,決定了其整體性能的優良程度。本文利用Motorola公司的MVME2700單板機作為DSP信號處理機的前端通信控制器,實現了對DSP系統的實時通信控制。

1 、DSP及其前端控制

在需要高強度信號處理能力的領域,一般可采用多塊具有拓撲結構的SHARC處理器VMEBus陣列板作為信號處理機。各陣列板通過連接線連接,具有很強的信號處理 能力。SHARC陣列板雖具有強大的計算功能,但是卻不適合加載實時操作系統,因此其自身管理功能并不強大,并且通信接口擴展性較差,不利于功能擴展和網絡控制。為了對其實施合理的工作時序控制并增強外圍通信功能,在其前端配置一塊單板機,利用VxWorks作為操作系統,并安裝控制程序對SHARC陣列板實施控制。由于單板機具有良好的通信接口擴展性,該單板機作為信號處理系統的前端機可以外接網絡接口、視頻接口、I/O接口等等,使得信號處理機可作為一個完整的分系統接入控制網絡;利用單板機的強大的實時控制功能和網絡功能,使信號處理機發揮最大功效。下面給出SHARC陣列板與其前端的單板機組成的通信處理系統,如圖1所示。

基于MVME2700單板機實現DSP系統實時通信控制的方案研究

嵌入式系統基于標準的VME總線結構,SHARC處理器為ADSP21060,其時鐘頻率為40MHz,晶體振蕩器的頻率為25.6MHz。每一個SHARC處理器都支持高達240MB/s的高速通信。對SHARC的軟件開發采用Apex(Advanced parallel excutive),即高級并行執行指令,由Signal Spectrum公司開發的SHARC指令高級開發語言。

Apex提供了性能優良的、靈活的并行處理器指令集,以及對DSP硬件的便捷訪問功能。同時,Apex還提供了基于VME總線的通信機制,允許從主機下裝SHARC代碼到客戶機,并且具備在主機和客戶機之間進行數據傳輸的功能。本文采用美國Motorola公司生產的單板機MVME2700,中央處理器PowerPC MPC750作為Melbourne的前端通信控制器。MVME2700是一個高度集成計算機系統,適用于要求高度實時控制管理的系統環境。它所使用的操作系統就是嵌入式的實時操作系統中的佼佼者VxWorks。VxWorks是具有高性能的實時操作系統內核。該內核使用中斷驅動、搶占優先級的任務調配機制,這種機制使得VxWorks具有高性能的實時特性。MVME2700的通信控制程序通過Tornado軟件在Windows環境下進行程序開發。

2 、SHARC的VME總線通信機制分析

如果要實現MVME2700對SHARC的實時控制,則必須了解SHARC是如何基于VME總線對外訪問的。由于MVME2700對SHARC陣列板起著程序下載、引導和控制作用,在Apex開發環境下視其為主機,而SHARC陣列板則稱為目標機。對于SHARC陣列板而言,一般只有根部SAHRC處理器參與VME總線通信。Apex支持兩類主機與SHARC系統進行VME通信的方式:一類方式是在主機應用程序和SHARC陣列板根部處理之間進行的較低層的數據塊拷貝,類似于簡單的本地數據拷貝標準C程序當中的memcpy;另一類則以客戶端/服務端交互的形式在主機與SHARC之間建立通信,利用中斷實現同步,并且可以多路傳輸。下面對這兩種方式加以分析。

2.1 同存塊拷貝方式

Apex提供主機與SHARC目標機的任何內存地址拷貝數據的函數:cpy_to_SHARC()和cpy_from_SHARC()。給出SHARC陣列板上SHARC-0(根部處理器)的本地地址和主機上的本地址,即可進行內存塊拷貝。本質上,這是一種基于VME總線的共享內存DMA方式,函數cpy_to_SHARC()和cpy_from_SHARC()自動將主機與目標機的本地址釋放成VME總線地址,通過共享內存進行數據傳輸,因此可以不必關心低層具體的VME總線映射關系,而將重點在上層數據傳輸。不過,某些情況下需要獲得VME映射關系的時候,例如主機需要通過VME總線對SHARC的控制寄存器進行操作,此時應當利用VxWorks的函數sysLocaltoBusAddr()來主動獲得該寄存器的VME地址映射,對該VME地址進行位操作。要做到這一點,在NT操作系統下則顯得要麻煩得多。由于SHARC與MVME2700的數據拷貝通過VME總線傳輸,其數據傳輸速率是非常高的;同時,由于采取了DMA方式,幾乎不需要CPU介入,從而可提高程序執行效率。

2.2 客戶/服務的阻塞交互方式

該方式要求每次客戶端申請獲得服務的時候,向系統提供一個服務請求。該請求包括標簽和一同發送的數據包,其結構體數據格式如下:

typedef struct{

INT32 tag; /*服務標簽*/

INT32 param; /*客戶服務程序參數*/

INT32 data; /*數據包指針*/

INT16 length; /*數據包長度*/

INT16 max_len; /*返回包的最大長度*/

} Server_packet

客戶端提完申請之后就會進入阻塞狀態等待服務端的回答。服務端截獲該申請之后,根據服務標簽啟動相應的服務模塊,完成相應的服務之后向客戶端發送回復,此時客戶端才能停止阻塞恢復運行,如圖2所示。申請和回復這兩種數據包具有同樣的結構,每次最大數據傳輸量不能超過4KB。客戶端與服務端之間的實時響應由系統發送中斷自動完成,不需要人為干預,具有較高的實時性和安全性。

該方式實質是構架于VME總線中斷之上的。在客戶端發送申請包的時候包含了一個VME總線中斷,由該中斷驅動服務端的服務循環模塊,然后服務循環模塊再調用相應的客戶服務程序,從而實現兩路通信握手。該方式將底層的VME總線中斷驅動機制封裝起來,在上層建立了規范的服務循環模塊并且允許添加個人服務程序,對于軟件的規范與維護有利。當然,如果需要更高的實時性,可以不采用該方式,而是由客戶端直接發送VME總線中斷來實現握手,但必須對于底層的中斷寄存器直接操作,不易維護。需要指出的是,對于具有拓撲結構的SHARC芯片組而言,只能由根端SHARC處理器作為客戶端,內存拷貝也只能在根部SHARC處理器與服務端處理機之間進行。

基于MVME2700單板機實現DSP系統實時通信控制的方案研究

2.3 Apex通信機制在單板機控制中的應用

一般來說,進行高強度運算的信號處理機都應該具有嚴格的工作時序,在每個工作時序進入相應的工作狀態,這有利于其它分系統的相關處理以及信號處理機運算流程的合理安排。因此,對于信號處理機可以采取被動觸發控制,即信號處理機完成當前工作時序之后向通信控制器提交下一工作時序請求,通信控制器可根據外部指令(通過網絡)決定何時執行,這期間信號處理機應當處理阻塞狀態等待回答。那么通信控制器可以利用Apex提供的第二類交互方式,作為服務端實時響應SHARC的服務申請,并根據整體系統工作時序決定信號處理機的阻塞時間;同時,該方式提供每次4KB的傳輸量,可以用來下發工作參數和其它命令。這樣既可避免繁瑣的中斷同步設置,又有利于軟件的范也維護;而進行大指數據傳輸應當第一類方式。考慮到采取該方式缺乏握手機制,故應當在交互方式以及VxWorks的多任務協調與約束下進行避免數據傳輸發生沖突與覆蓋。

3 、被動觸發控制實現

3.1 阻塞式時序控制

要實現對信號處理機的被動觸發控制,必須在通信控制器上建立面向SHARC陣列板的服務模塊。Apex提供一個SHARC_system對象,所有的服務都基于該對象建立,包括Melbourne引導。該類中的成員函數SHARC_system::transaction的作用是初始化一個雙向通信管道,客戶端/服務端的交互通道都通過該通道進行。完成管道初始化之后,調用相應的成員函數SHARC_system::service_loop建立服務循環,如下面的程序所示:

/*服務循環線程*/

int service_thread(SHARC_system *sys){

int status;

printf(“service thread running.。.”);

sys-》service_loop(Timeout(ENVER));/*啟動服務循環*/

sys-》exit_status(%26;amp;status); /*退出服務循環*/

exit(status);

return status;

}

利用VxWorks的任務產生函數taskSpawn(),將service_thread服務循環派生成一個獨立的線程來處理SHARC的申請。當SHARC的程序退出后,通信控制器的循環也將自動終止。

由于服務端必須根據客戶端提供的服務標簽調用相應的服務,這就要求為SHARC_system類加載個人的服務程序。首先,定義系統標準類Service_group的繼承類Custom_group。然后,在這個類當中添加自己的成員函數,即通信控制器SHARC的服務程序;同時,再定義一個向量表table[],將不同成員函數名稱順次列在其中編制成服務標簽,如下所示:

Custom_call Custom_group::table[]={

/*在向量表里添加服務標簽,第一個對應的標簽序號為0

(table[0]),第二個為1(table),以后的以此類推*/

executCommand1,

executCommand2,

……

};

void Custom_group::executCommand1(Server_packet *pkt){

/*在這里用戶寫入自己的服務代碼*/

}

當服務端接收到了申請后,會立刻自動調用Custom_group::call_service()。該函數的作用是讀取服務標簽號碼,并從table[]當中取出相應的客戶服務程序執行它,如下所示:

void Custom_group::call_service(Server_packet *pkt){

int tag=MINOR_TAG(pkt-》tag); /*讀取申請包里的標簽序號*/

if(tag》=0 %26;amp;%26;amp; tag*(table[tag]))(pkt); /*根據標簽調用相應的服務*/

}

……

}

此時可將需要下達的指令裝載在回復包,當客戶服務程序執行完畢之后,該回復包立刻被自動發送出去,因此,可在允許信號處理機進入下一工作時序的時候將客戶服務程序返回。在Custom_group類當中可以添加各項控制服務項目,例如Melbourne開機/關機、工作參數下發等等。

基于MVME2700單板機實現DSP系統實時通信控制的方案研究

3.2 非阻塞數據拷貝方式

由于這種客戶/服務交互通信采用了阻塞模式,即SHARC必須等待通信控制器的回復才可以繼續執行,但在某些情況下SHARC不需要等待。例如,SHARC提出申請,通知通信控制器將計算完畢的數據取走,而SHARC不必等待通信控制器將數據拷貝完畢才執行后面的計算。為了避免一直阻塞,可在相應的客戶服務程序當中設置一個信號燈,當該程序被調用的時候即釋放該信號燈,由信號燈驅動其它的模塊進行數據拷貝,而該客戶服務程序立刻返回使SHARC解除阻塞狀態,如圖3所示。

要實現該功能,可采取如下的程序代碼

void Custom_group::executCommand1(Server_packet *pkt){

semGive(semId); /*信號燈驅動數據拷貝模塊*/

return;

}

/*數據拷貝模塊*/

void SharcDataCopy(void){

semTake(semId); /*等待獲得信號燈*/copy_from_SHARC(localBuffer,SHARCBufferAddress,dataLength); /*從SHARC拷貝數據*/

}

通過以上代碼,當SHARC提出申請后,通信控制器立刻響應該申請,并在客戶服務程序當中釋放信號燈。驅動數據拷貝模塊向Melbourne的根部處理器提取數據,客戶服務程序迅速返回,解除信號處理機的阻塞狀態。

4、 結論

通過以上的步驟,MVME2700作為服務端可以隨時響應SHARC的服務請求,利用阻塞特性執行相應的時序控制操作;同時,也可以執行非阻塞數據拷貝,從而在VxWorks環境下建立起通信控制器與SHARC之間完整的被動觸發控制模式。實際上,也可以由SHARC作為服務端,MVME2700作為客戶端,建立的方法與上述基本一致。這種模式下,陣列板的任何一塊SHARC處理器均可以作為服務端,而并非僅有根部處理器。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19408

    瀏覽量

    231187
  • dsp
    dsp
    +關注

    關注

    554

    文章

    8059

    瀏覽量

    350439
  • 控制器
    +關注

    關注

    112

    文章

    16446

    瀏覽量

    179458
收藏 人收藏

    評論

    相關推薦

    SBC8100單板機介紹

    SBC8100單板機介紹產品概述? OMAP3530應用處理器集成600-MHz ARM Cortex-A8核及430-MHz TMS320C64x DSP核 板載128MByte DDR
    發表于 11-19 10:46

    請教各位高手:單板機開發問題

    請教各位高手:要求開發一個低于2000元項目,在運動員訓練場安裝攝像頭,視頻通過以太網傳到pc機,系統可得到運動員的x和y坐標。應用什么樣的單板機或計算模塊?多大內存和cpu要求?視頻應用720P還是1080P?應用什么軟件捕捉和解壓視頻?應用什么軟件追蹤運動員?應用什么
    發表于 11-11 11:36

    單片機與單板機的區別

    單板機的名稱較早,系指將一個計算機的主要部件都放在一塊電路板上的專用計算機。單板機上設備部件星羅棋布。單片機一詞出現在超大規模芯片制造之后,系指將一臺計算機的主要部件都放到一塊芯片之中的計算機。由于
    發表于 09-25 05:02

    ATMEL MYS-SAM9X5 系列單板機(ARM926EJ-S內核)

    開發。※應用領域  MYS-SAM9x5系列單板機應用領域:便攜式數據終端、汽車控制、工業控制、醫療設備、家庭自動化、自動化資訊娛樂設備、安防系統、教學儀器、測試與測量儀器等。※功能區
    發表于 10-15 15:22

    80C188單板機的資料分享

    描述RetroBrew SBC-188 3.2版(80C188單板機
    發表于 07-07 07:23

    基于unix下MVME2431單板機與單片機的通信

    本文結合中科院高能物理研究所的BEPCⅡ工程項目中控制系統的需要,介紹一下采用AT89C52 單片機控制板與MVME2431 通過 RS485 接口標準進行
    發表于 08-04 08:17 ?13次下載

    SBC8100單板機設計及使用指南

    SBC8100單板機設計及使用指南 SBC8100單板機為開發者使用OMAP35x系列處理器提供了完善的硬件及軟件開發環境,支持linux-2.6.22操作系統及WinCE6.0操作系統
    發表于 03-09 09:27 ?40次下載

    單板機控制彩燈電路圖

    單板機控制彩燈電路圖:隨著人們文化生活水平的提高,彩燈裝飾用途日益廣泛,要求越來越高,如圖所示電路是一種利用TP-801型單板微機控制彩燈的
    發表于 12-26 19:07 ?1068次閱讀
    <b class='flag-5'>單板機</b><b class='flag-5'>控制</b>彩燈電路圖

    單板機自動復位電路圖

    單板機自動復位電路圖
    發表于 05-30 15:55 ?1178次閱讀
    <b class='flag-5'>單板機</b>自動復位電路圖

    DS-BC6000X工業級單板機概述

    工業級單板機
    發表于 05-28 18:02 ?61次下載
    DS-BC6000X工業級<b class='flag-5'>單板機</b>概述

    米爾科技推出物聯網/工業4.0最佳平臺MYS-6ULX系列單板機

    米爾科技近期隆重推出MYS-6ULX系列單板機平臺,該產品基于NXP公司I.MX6UL/I.MX6ULL系列處理器(ARM Cortex-A7,528MHz),采用緊湊且穩定可靠的硬件設計并配套豐富的軟件及文檔資源,為物聯網應用、工業控制
    發表于 04-27 18:58 ?1843次閱讀

    OK3399 C單板機開源

    電子發燒友網站提供《OK3399 C單板機開源.zip》資料免費下載
    發表于 11-16 14:44 ?1次下載
    OK3399 C<b class='flag-5'>單板機</b>開源

    創龍科技推出全新業務-“工業單板機

    創龍科技10多年來一直專注于ARM、FPGA、DSP異構多核技術開發,為了滿足客戶更多應用場景的“嵌入式工業平臺”需求,創龍科技正式推出全新業務線-“工業單板機”!
    的頭像 發表于 12-21 11:15 ?607次閱讀

    e絡盟現貨供應新款BeagleV-Fire單板機

    e絡盟 宣布其單板機產品組合增加新成員,引入了BeagleBoard新推出的BeagleV-Fire單板機。作為開源單板機領先企業,BeagleBoard致力于為更廣泛的受眾提供RISC-V架構。
    的頭像 發表于 12-28 13:54 ?773次閱讀

    恩智浦單板機FS26 DFAE培訓

    電子發燒友網站提供《恩智浦單板機FS26 DFAE培訓.pdf》資料免費下載
    發表于 12-30 16:14 ?0次下載
    主站蜘蛛池模板: 男人和女人在床做黄的网站 | 色欲情狂| 国产精品香蕉在线一区 | 日韩精品一区二区三区毛片 | 天堂网在线www | 久久aa毛片免费播放嗯啊 | 日本大片免费观看视频 | 伊人精品久久久大香线蕉99 | 可以免费看的黄色片 | 国产又大又黄又粗又爽 | 天天曰天天干 | 亚洲你我色 | 欧美123区 | 黄色一级a毛片 | 午夜剧场一级片 | 久久综合五月婷婷 | 亚洲午夜网 | 日韩欧美一区二区三区视频 | 亚洲国产日韩女人aaaaaa毛片在线 | 一级毛片日韩a欧美 | 亚洲男人的天堂久久香蕉 | 操你啦在线播放 | 亚洲国产精品日韩专区avtube | 人人干97 | 操他射他影院 | 午夜私人影院 | 亚洲成片在线观看12345ba | 色综合天天射 | 国产精品 色 | 婷婷四房综合激情五月性色 | 国产精品嫩草影院一二三区入口 | 亚洲欧洲色天使日韩精品 | 一级a爰片久久毛片 | 788gao这里只有精品 | 深爱激情成人 | 国产三级视频在线播放 | 欧美一级片在线免费观看 | www.婷婷.com| 视频免费1区二区三区 | 天天爽夜夜爽人人爽 | 日本免费一区二区三区视频 |