女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

DSP實時多任務調度的解決方案

電子工程師 ? 來源:網絡整理 ? 作者:佚名 ? 2021-03-24 15:22 ? 次閱讀

DSP處理器是一種嵌入式處理器(embedded microprocessor),它專門用于數字信號處理,其在系統結構和指令算法方面進行了特殊設計,具有很高的編譯效率和指令執行速度。

嵌入式系統在當今是一種非常活躍的應用,在工業、服務業、消費電子等領域的應用范圍都不斷擴大。為了方便嵌入式系統的開發,人們研發了許多嵌入式操作系統,如WinCE、uc/OS、嵌入式LinuxVxWorks、pSOS、QNX、Palm OS等,由于嵌入式系統往往用于一些較為實時性的用途,這些操作系統也往往被稱為實時多任務操作系統(RTOS, Real Time Operation System)。這些系統往往被用在通用嵌入式處理器上(如ARM等)。

DSP系統和通用嵌入式系統的區別

雖然說DSP也是一種嵌入式系統,但是由于其“專用于數字信號處理”的特點,其系統架構也會同通用嵌入式系統略有區別(當然,只是“略有區別”而已)。DSP往往用來跑高速的數學算法,而不牽涉到人機界面、數據庫、高層應用等功能(從PC角度來理解的話,DSP在一個嵌入式系統中的功能類似于底層驅動,例如3D圖象的演算、環繞聲的演算、網絡協議處理等)。

因此,從這樣的認識角度來看,DSP中的各種任務的調度在過程上相對“單純”些。DSP中的任務更加側重于“實時性”和“并行性”。實際上,對于單核的DSP芯片來說,并不可能存在真正的“并行計算”,所謂的并行只不過是通過高速切換幾個“串行的線程”來實現。而對于“實時性”,則要求盡可能多的將CPU時間用于計算,并且不同的線程間不能有阻塞的現象發生(從軟件角度看,就是執行任務的代碼執行時間要短,如果是復雜的算法,就需要對算法進行優化使得算法可以“分步執行”)。

DSP實時多任務調度的解決方案

根據以上的分析,我們可以大致的得出一個簡單的DSP RTOS的雛形,它的核心就是創建一種可以實時執行的線程。這種線程被稱為“PRD Task”(period task),指的是這種線程一旦創建,就由系統內核自動的周期性調用,而調度周期可以保證相當高的時間精度。管理這個機制的部件叫做“PRD模塊”。

創建PRD任務的方法是在初始化的時候向內核注冊一個PRD任務。

int Thread_PRD_Append(long TimeSlinceCount/*執行周期

*/,void (*CallBackHandle)()/* 函數句柄*/)

返回值: TRUE / FALSE

函數功能:向系統注冊一個新的線程,指定執行周期以及需要調度的函數句柄,系統便會在指定的時間間隔自動調用這個函數。

這個注冊任務等待執行的方式叫做“回調”,注冊的時候向內核提交一個指定的執行周期和任務函數的入口函數指針。內核在通過計時,在達到執行周期的時候通過函數指針調用任務函數。

內核為了管理這個功能,需要一張“PRD任務表”。它的定義如下:

typedef struct {

long TimeSlice_Current; //當前時間片

long TimeSlice_Count; //總時間片

void (*Callback_Handle)(); //調用句柄

} Type_PRD_Table;

Type_PRD_Table PRD_Table[SYS__THREAD_PRD_TABLE_SIZE];//PRD表

int PRD_Table_ItemCount=0;//當前的PRD表最大項目數

TimeSlice_Current和TimeSlice_Count兩個變量構成了一個軟件定時器,內核通過對于TimeSlice_Current的操作即可知道何時可以調用相關的任務函數。

相關的代碼如下。這是一個典型的減法計時器的代碼。

for(i=0;i 0)

{ PRD_Table[i].TimeSlice_Current --; //遞減時間片 }}

而在另外一處,需要判斷時間片計數器是否已經計到0。

if((PRD_Table[i].TimeSlice_Current) == 0) {//調用相應的句柄

PRD_Table[i].TimeSlice_Current=PRD_Table[i].TimeSlice_Count;//恢復時間片

(*(PRD_Table[i].Callback_Handle))();//調用任務入口函數指針 }

接著,需要將減法計時器的代碼放入一個硬件定時器中斷中,這樣便能保證這個減法計時的高度精確性。這個硬件定時器依賴于硬件,因此要求DSP芯片硬件上必須提供這樣一個定時器,否則這個DSP內核便無法在這個DSP芯片上執行(幸好基本上不太會存在沒有硬件定時器的DSP)。

而對于第二段代碼,判別時間片計數是否“已經到點”的代碼則應

當放在一個死循環中。例如在main函數中放置一個死循環。

Void Main() {

for(;;) { …。。判斷時間片計數器是否已經計到0的代碼}

…}

顯然,除了計時是對“到點”的判別以外,我們還需要初始化和添加任務的函數。

int Thread_PRD_Append(long TimeSlinceCount,void *CallbackHandle)

{//給PRD表添加任務

if(PRD_Table_ItemCount

責任編輯:lq6

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

    關注

    0

    文章

    27

    瀏覽量

    11866
  • 計時器
    +關注

    關注

    1

    文章

    428

    瀏覽量

    33433
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    鴻道Intewell操作系統實時虛擬化技術的優勢

    實時性、安全性與多任務協同已成為工業控制系統的核心挑戰。鴻道Intewell操作系統憑借其創新的實時虛擬化技術,打破了傳統工業軟件架構的局限,為智能制造、軌道交通、能源電力、機器人和航天航空等領域提供了顛覆性的
    的頭像 發表于 05-15 15:13 ?86次閱讀
    鴻道Intewell操作系統<b class='flag-5'>實時</b>虛擬化技術的優勢

    XMOS直播聲卡——可支持實時音頻DSP處理的低延遲音頻方案

    XMOS所提供的具有DSP處理功能的直播聲卡解決方案憑借卓越的音質和超低延遲,非常適合用于諸如直播、播客廣播、唱播(K歌)和游戲等實時應用。
    的頭像 發表于 04-21 15:47 ?238次閱讀
    XMOS直播聲卡——可支持<b class='flag-5'>實時</b>音頻<b class='flag-5'>DSP</b>處理的低延遲音頻<b class='flag-5'>方案</b>

    實時-預測雙模態驅動的校園新能源充電樁彈性調度技術

    設施上報的實時狀態進行實時分配,然后充電設施對于位于設施內的電動汽車進行有序的、智能的調度管理;充電設施的有序充電策略根據電網的實時負荷進行調整,在安全條件下,使充電設施的功率最優,保
    的頭像 發表于 04-03 14:50 ?1534次閱讀
    <b class='flag-5'>實時</b>-預測雙模態驅動的校園新能源充電樁彈性<b class='flag-5'>調度</b>技術

    智能控制,高效節能!ZLG致遠電子能源智慧管理解決方案

    面對樓宇及建筑群能源管理與設備控制的復雜需求,ZLG致遠電子推出了一套能源智慧管理解決方案。該方案集設備管理、任務調度和數據可視化于一體,不僅實現數據的
    的頭像 發表于 02-10 16:43 ?565次閱讀
    智能控制,高效節能!ZLG致遠電子能源智慧管理<b class='flag-5'>解決方案</b>

    加特蘭集成Cadence DSP,升級汽車成像雷達解決方案

    DSP的加入,無疑將為加特蘭的雷達解決方案注入更加強勁的動力。 加特蘭作為毫米波雷達芯片開發與設計的領導者,一直致
    的頭像 發表于 01-10 14:14 ?526次閱讀

    EE-236:將混合信號前端器件與Blackfin處理器結合使用的實時解決方案

    電子發燒友網站提供《EE-236:將混合信號前端器件與Blackfin處理器結合使用的實時解決方案.pdf》資料免費下載
    發表于 01-07 13:51 ?0次下載
    EE-236:將混合信號前端器件與Blackfin處理器結合使用的<b class='flag-5'>實時</b><b class='flag-5'>解決方案</b>

    Salesforce解決方案

    來提高 Salesforce 用戶的工作效率。 自動化日常 Salesforce 例程 Skyvia 數據集成可以幫助您自動執行許多任務: 想要自動加載 Salesforce 聯系人或潛在客戶到營銷
    的頭像 發表于 01-02 14:01 ?338次閱讀
    Salesforce<b class='flag-5'>解決方案</b>

    基于Flexus X加速MySQL鏡像搭建XXL-JOB任務調度平臺

    隨著云計算技術的飛速發展,Flexus 云服務器 X 憑借其高性能和高可用性,成為了眾多企業和開發者的首選。本文旨在通過搭建基于 Flexus X 加速 MySQL 鏡像的 XXL-JOB 任務調度
    的頭像 發表于 12-29 15:45 ?374次閱讀
    基于Flexus X加速MySQL鏡像搭建XXL-JOB<b class='flag-5'>任務</b><b class='flag-5'>調度</b>平臺

    實時通信RTC的常見問題及解決方案

    語音和視頻通信中的卡頓和延遲。 解決方案: 優化網絡路徑: 使用高質量的網絡服務提供商,確保網絡帶寬充足。 使用QoS(Quality of Service): 通過設置網絡優先級,確保實時通信數據包優先傳輸。 引入Jitter Buffer: 在接收端引入緩沖區,平滑抖
    的頭像 發表于 12-11 15:40 ?1410次閱讀

    航電實時測試系統解決方案

    航電實時測試系統主要應用于航空座艙的實時測試。座艙測試過程中,輸入和輸出信號的實時性至關重要,尤其是在多任務操作時,必須保證系統穩定的loop時間。為了滿足這一需求,客戶選擇了基于Li
    的頭像 發表于 10-23 15:34 ?585次閱讀
    航電<b class='flag-5'>實時</b>測試系統<b class='flag-5'>解決方案</b>

    解決方案丨EasyGo新能源系統實時仿真應用

    。二、新能源實時仿真技術新能源實時仿真技術作為一種高效、低成本的研發手段,已經成為新能源技術發展的重要支撐。新能源實時仿真解決方案可以幫助設計者更好地了解新能源產品和系統的性能和特性,
    發表于 10-18 09:37

    雙電源電壓DSP的電源時序控制解決方案

    電子發燒友網站提供《雙電源電壓DSP的電源時序控制解決方案.pdf》資料免費下載
    發表于 10-11 11:33 ?0次下載
    雙電源電壓<b class='flag-5'>DSP</b>的電源時序控制<b class='flag-5'>解決方案</b>

    MES系統如何實現生產車間的實時監控、精準調度

    MES系統通過數據采集、傳輸、處理和展示等技術手段,實現了生產過程的實時監控;同時,通過生產計劃優化、生產任務分配、動態調度、資源優化和協同管理等功能模塊,實現了生產過程的精準調度
    的頭像 發表于 10-07 12:51 ?925次閱讀
    MES系統如何實現生產車間的<b class='flag-5'>實時</b>監控、精準<b class='flag-5'>調度</b>

    簡單認識RTOS實時操作系統

    RTOS(Real Time Operating System,實時操作系統)是一種專門設計用于在嚴格時間限制內處理任務的操作系統。它以其高實時性、多任務處理能力和資源管理能力在工業自
    的頭像 發表于 08-20 11:20 ?4739次閱讀

    鴻蒙開發接口資源調度:【@ohos.workScheduler (延遲任務調度)】

    開發者在開發應用時,通過調用延遲任務注冊接口,注冊對實時性要求不高的延遲任務,該任務默認由系統安排,在系統空閑時根據性能、功耗、熱等情況進行調度
    的頭像 發表于 06-04 10:01 ?1266次閱讀
    鴻蒙開發接口資源<b class='flag-5'>調度</b>:【@ohos.workScheduler (延遲<b class='flag-5'>任務</b><b class='flag-5'>調度</b>)】