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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP的數(shù)據(jù)處理模塊的設(shè)計

          基于DSP的數(shù)據(jù)處理模塊的設(shè)計

          作者: 時間:2008-11-27 來源:網(wǎng)絡(luò) 收藏

            濾波器遞推方程為:

          基于DSP的數(shù)據(jù)處理模塊的設(shè)計

            其中, G(K)為卡爾曼增益矩陣

            Q(K)、R(K)分別為狀態(tài)噪聲協(xié)方差矩陣和量測噪聲協(xié)方差矩陣

            基于DSP的數(shù)據(jù)處理模塊的設(shè)計  

            2 基于TMS320C31的模塊的工作原理

            2.1 多處理器工作模式下主機(jī)和TMS320C31數(shù)據(jù)通信的設(shè)計

            模塊由雙口RAM IDT7134、TMS320C31(以下簡稱C31)、EEROM 28F010和高速RAM CY7C199組成,通過ISA總線和主計算機(jī)連接起來,構(gòu)成主從式多處理器工作模式,如圖1所示。主從式處理器系統(tǒng)的設(shè)計關(guān)鍵在于處理器之間的數(shù)據(jù)交換,主從處理器間的數(shù)據(jù)交換主要有串行、并行、DMA及雙口RAM四種交換方式。本方案采用IDT公司的雙口RAM IDT7134實(shí)現(xiàn)主計算機(jī)和C31間的數(shù)據(jù)交換。IDT7134內(nèi)部含有4KB的存儲器資源,具有兩組地址、數(shù)據(jù)總線及讀寫控制線。主計算機(jī)和C31可同時對其進(jìn)行讀寫操作。在對其內(nèi)部同一存儲單元訪問時,要考慮寫入和讀出數(shù)據(jù)的完整性。IDT7134沒有單獨(dú)的主從處理器訪問控制引腳,設(shè)計時需用軟件方式來保證主計算機(jī)和C31之間數(shù)據(jù)交換的正確性。本方案中采用了在IDT7134中設(shè)置輸入輸出semaphore的方案,即主計算機(jī)在將跟蹤雷達(dá)的測量數(shù)據(jù)寫入雙口RAM后,設(shè)置輸入semaphore,通知C31讀取測量數(shù)據(jù)。C31進(jìn)行后,將濾波結(jié)果寫入雙口RAM,設(shè)置輸出semaphore,通知主計算機(jī)讀取。雙口RAM的數(shù)據(jù)寬度為8位,C31數(shù)據(jù)總線寬度為32位。雙口RAM的數(shù)據(jù)總線和C31低8位數(shù)據(jù)總線相接。為了提高的精度,雙口RAM中的跟蹤數(shù)據(jù)和C31的濾波結(jié)果都以字(32位)為單位進(jìn)行存儲,C31作時,首先按字節(jié)讀取跟蹤數(shù)據(jù),然后進(jìn)行移位,拼接成32位整形數(shù),再將整形數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù),進(jìn)行濾波運(yùn)算。輸出時,則將浮點(diǎn)型的結(jié)果轉(zhuǎn)為整形數(shù),按字節(jié)寫入雙口RAM中。雙口RAM空間分配如圖2所示。

            基于DSP的數(shù)據(jù)處理模塊的設(shè)計



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();