<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP的便攜式雷達系統(tǒng)

          基于DSP的便攜式雷達系統(tǒng)

          作者: 時間:2011-08-08 來源:網(wǎng)絡 收藏
          實時操作的軟件結構設計#e#3、/BIOSⅡ實時操作的軟件結構設計

          本文引用地址:http://www.ex-cimer.com/article/150402.htm

            使用/BIOSⅡ來做項目的第一步就是模塊劃分,即把項目所要完成的功能拆分成幾個相對獨立的線程來完成(可以認為線程在運行時是獨占的),根據(jù)線程中使用硬件資源的情況考慮用什么類型的線程來完成。一般來說,用到硬中斷的任務放到HWI來完成,用到定時器的任務可以放到PRD(周期任務)中完成。然后是確定線程之間的關系,根據(jù)他來設定各個線程的優(yōu)先級,以及用 什么方式通訊和交換數(shù)據(jù)。旗語是最便于使用的通訊方式。

            探地信號處理機的信號處理過程:A/D每采來一列數(shù)據(jù)之后給DSP發(fā)一個硬中斷信號,每接收到一列數(shù)據(jù)之后,DSP對這列數(shù)據(jù)分別進行平均濾波和自適應濾波,同時進行列計數(shù);當列計數(shù)到達一幀時,對這一幀圖像信號進行小波去噪處理和脈沖壓縮,最后根據(jù)鍵盤的設定把圖像顯示到圖形液晶上,并通過USB接口送到PC主機,以便下一步的處理。

            根據(jù)以上的執(zhí)行過程,整個軟件分解為12個獨立的任務,其中列中斷、USB數(shù)據(jù)傳送這2個模塊是HWI(硬中斷)類型的任務,鍵盤模塊屬于PRD(周期性)任務(完成對鍵盤定期掃描),其余模塊是SWI(軟中斷)類型的任務。初始化任務完成對DSP的初始設定后就刪除;列中斷任務負責給DSP發(fā)送列數(shù)據(jù)來臨信息,觸發(fā)列平均、列自適應任務,完成對一列數(shù)據(jù)的去噪處理;列計數(shù)模塊完成對列中斷的計數(shù),當?shù)竭_一幀時,發(fā)送幀中斷,觸發(fā)一系列針對幀的數(shù)據(jù)處理任務;整個軟件的執(zhí)行流程如圖2所示。

           DSP/BIOSⅡ作為一種商用的操作系統(tǒng),提供給便于使用的圖形配置界面。使用圖形界面可以幫助開發(fā)者快速開發(fā)程序,不必寫繁瑣的初始化程序,而可以用圖形界面配置后讓編譯器自動生成。比如對于串行口(MCBSP)的設置就需要配置中斷源、數(shù)據(jù)格式、收發(fā)頻率等十幾個寄存器,麻煩而且容易出錯,但是如果使用圖形界面來設置,一切就容易多了。圖形配置界面不僅可以完成對硬件資源的設置,還可以對任務、信號量進行初始化,完成了他,也就完成了使用DSP/BIOSⅡ的第二步工作。完成各個線程程序的編寫之后,編譯并載入DSP中運行。DSP首先初始化,然后從MAIN()函數(shù)跳入任務循環(huán)隊列,按照優(yōu)先級執(zhí)行隊列中的任務,而任務一般都是無限循環(huán)的,只被特定的信號量掛起。

            DSP/BIOSⅡ提供了強大的分析調試工具。除了常用的方法之外,CPU負載圖和執(zhí)行圖是兩種非常有效的方法。CPU負載圖提供的是目標CPU的負載曲線。CPU負載的定義是除去執(zhí)行最低優(yōu)先級任務以外的時間量。最低優(yōu)先級任務是只在其他線程都不運行時才執(zhí)行的任務。因此,CPU負載圖包括從目標向主機傳送數(shù)據(jù)和執(zhí)行附加后臺任務所需的時間。在執(zhí)行圖中,可以看到各個線程的活動方式。圖形中還包括了信號量的活動,周期性函數(shù)標記(tick)和時鐘模塊標記。執(zhí)行圖能從整體上看到項目所有線程的活動狀態(tài)。根據(jù)調試得到的信息可以評估線程的執(zhí)行情況和CPU的負荷情況,配合其他調試工具,修改設計直到完成項目的功能需要。

            CPU負載圖反映的是軟件系統(tǒng)所需要的性能和CPU實際最大性能的比值,像PC機上性能統(tǒng)計圖,如果所需的性能大于DSP的實際性能,就必須修改設計、優(yōu)化算法、加快時鐘頻率,甚至更換性能更高的DSP芯片。

            執(zhí)行圖顯示了各個任務執(zhí)行過程中的細節(jié)信息,對于嵌入式應用而言,實時性是非常重要甚至是必須滿足的條件,操作系統(tǒng)按很小的間隔進行調度就是力圖保證系統(tǒng)響應的實時性。但是在實際中,如果任務分配不好,使得任務不能在調度間隔內完成,就會影響整個系統(tǒng)的實時性,這時,必須對任務劃分作合理的修改。比如本系統(tǒng)中對一列數(shù)據(jù)的去噪處理,原先是等到一幀數(shù)據(jù)來到后再做的,仿真中發(fā)現(xiàn)這樣使得一幀間隔內所要執(zhí)行的任務過多,DSP無法完成,所以將數(shù)據(jù)的預處理改到每一列去做,保證系統(tǒng)的實時性。

            4、DSP/BIOSⅡ操作系統(tǒng)使用中要注意的問題

            (1)很好地使用DSP/BIOSⅡ的關鍵在于很好地理解操作系統(tǒng),這有點像算法理論和應用算法的關系。操作系統(tǒng)凝聚了軟件領域幾十年發(fā)展中的精華,有很多概念和結構是需要很深入的理解和思考的,所以,初學者一定得反復看看一些專門講操作系統(tǒng)的書籍。

            (2)任務必須寫成下面2種形式之一。

            在DSP/BIOSⅡ開發(fā)環(huán)境里沒有要求顯示調用OSTaskDel(),這是因為開發(fā)環(huán)境自動做了處理,實際原理都是一樣的。

            5、結束語

            本文對探地信號處理機的硬件結構和軟件設計都做了介紹,重點介紹了如何在項目應用中使用DSP/BIOSⅡ實時嵌入式操作系統(tǒng)。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();