色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP的合成孔徑雷達成像系統(tǒng)逆存儲轉(zhuǎn)置器設(shè)計

          基于DSP的合成孔徑雷達成像系統(tǒng)逆存儲轉(zhuǎn)置器設(shè)計

          作者: 時間:2012-08-01 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://cafeforensic.com/article/257315.htm

          5.軟件設(shè)計與實現(xiàn)
            
          TMS320C6415是面向C結(jié)構(gòu)的芯片,支持標(biāo)準(zhǔn)C/C++編程,其開發(fā)工具Code Composer Studio(CCS2.21)內(nèi)嵌C編譯器的編譯效率可達匯編的85%。另外,C編程可提高程序的可維護性、可移植性、可繼承性,便于縮短軟件開發(fā)周期,因此本程序選擇采用C語言編寫。


          圖3 程序?qū)哟谓Y(jié)構(gòu)和模塊劃分

          5.1軟件模塊劃分
            
          軟件層次結(jié)構(gòu)和模塊劃分如圖3所示。DSP軟件的主要部分是底層的四個功能模塊,這四個功能模塊分別完成以下操作:1. 從輸入FIFO中讀取兩條方位線數(shù)據(jù)(每條方位線2048點,每點數(shù)據(jù)類型為短整型)到DSP內(nèi)存中;2. 將讀入的數(shù)據(jù)按順序存儲到SDRAM中;3. 把SDRAM中的數(shù)據(jù)沿距離線順序讀到DSP內(nèi)存中,即完成轉(zhuǎn)置操作;4. 把轉(zhuǎn)置后的數(shù)據(jù)送至輸出FIFO。

          5.2軟件各模塊間關(guān)系

          l 上電初始化模塊:在DSP上電后,完成與硬件工作有關(guān)的各控制寄存器的初始化,以及與軟件工作有關(guān)的各內(nèi)部變量和存儲區(qū)的初始化;
          l 主處理模塊:調(diào)用其它功能模塊,完成整個轉(zhuǎn)置流程;
          l 數(shù)據(jù)輸入模塊:受主處理模塊調(diào)用,利用EDMA完成數(shù)據(jù)輸入;
          l 寫SDRAM模塊:受主處理模塊調(diào)用,利用EDMA完成數(shù)據(jù)寫操作;
          l 讀SDRAM模塊:受主處理模塊調(diào)用,利用EDMA完成數(shù)據(jù)讀操作;
          l 數(shù)據(jù)輸出模塊:受主處理模塊調(diào)用,利用EDMA完成數(shù)據(jù)輸出。

          5.3 C6415的EDMA控制寄存器
            
          EDMA是C621x/671x/641x特有的數(shù)據(jù)存取方式。在C621x/671x/641x中,EDMA控制寄存器負(fù)責(zé)片內(nèi)二級存儲器與其它外設(shè)之間的數(shù)據(jù)傳輸。EDMA控制寄存器和DMA控制寄存器在結(jié)構(gòu)上有很大不同。其增強之處包括:

          l 提供了64個傳輸通道;
          l 通道間優(yōu)先級可設(shè)置;
          l 支持不同結(jié)構(gòu)數(shù)據(jù)傳輸?shù)逆溄印?
            
          EDMA控制寄存器主要由事件(中斷)處理寄存器、事件編碼器、參數(shù)RAM以及硬件地址發(fā)生器構(gòu)成。其中,事件(中斷)處理寄存器負(fù)責(zé)對EDMA事件進行捕獲。一個事件相當(dāng)于一個同步信號,由它觸發(fā)一個EDMA通道開始數(shù)據(jù)傳輸。如果多個事件同時發(fā)生,則由事件編碼器對它們進行分辨,將同時發(fā)生的事件進行排序,并決定事件的處理順序。EDMA的參數(shù)RAM中存放了有關(guān)的傳輸參數(shù),這些參數(shù)會被送往硬件地址發(fā)生器,進而產(chǎn)生讀寫操作所需的地址。

          5.4 ICTM軟件設(shè)計流程


          圖4 ICTM軟件設(shè)計流程
            
          ICTM模塊軟件設(shè)計流程可用圖4來表示。首先完成上電復(fù)位,初始化EMIFA和EMIFB配置寄存器、中斷控制寄存器和EDMA控制寄存器,之后在主程序中完成各常量和變量的定義及初始化。完成上述初始化定義后就可以使能外部中斷控制寄存器和EDMA控制寄存器,等待外部中斷INT4的觸發(fā)。INT4的觸發(fā)源來自脈沖PRF,該脈沖的到來說明兩條待輸入的方位線數(shù)據(jù)已送至輸入FIFO,此時CPU可以將這兩條方位線數(shù)據(jù)讀到DSP內(nèi)存,并送至SDRAM的相應(yīng)存儲區(qū)。
            
          由于輸入/輸出數(shù)據(jù)結(jié)構(gòu)相對簡單,讀輸入FIFO、寫SDRAM、讀SDRAM以及寫輸出FIFO四個過程可以采用“EDMA鏈(EDMA Chain)”的方式進行。即第一個EDMA傳輸完成后,緊接著啟動第二個EDMA傳輸,直到最后一個EDMA傳輸完成,這樣可以在不受CPU干預(yù)的情況下完成數(shù)據(jù)的搬移,有利于提高數(shù)據(jù)傳輸效率。

          5.5 軟件并行設(shè)計問題
            
          由于EDMA不受CPU干預(yù),因此在使用EDMA傳輸數(shù)據(jù)的同時,CPU可并行執(zhí)行其它指令,這樣可極大提高代碼的執(zhí)行效率。舉例如下:

          if(EDMA_intTest(22))
          {
          *ifoeoff=0;
          EDMA_intClear(22);
          EDMA_setChannel(hEdmaCha25);// trigger EDMA to reading data from SDRAM
          #pragma MUST_ITERATE(32,,8);
          for(i=0;i {
          headwriteaddr[ i]=inputa[ i];
          }
          WORD_ALIGNED(inputb);
          WORD_ALIGNED(inputc);
          WORD_ALIGNED(inputa);
          #pragma MUST_ITERATE(64,,8);
          for(i=0;i {
          inputb[ i]=inputa[2*i+64];
          inputc[ i]=inputa[2*i+65];
          }
          }

          其中EDMA_setChannel(hEdmaCha25)語句用來啟動EDMA25通道的傳輸,完成從SDRAM讀取轉(zhuǎn)置數(shù)據(jù)的任務(wù)。EDMA在進行數(shù)據(jù)傳輸?shù)耐瑫r,CPU則繼續(xù)執(zhí)行之后的三條語句headwriteaddr[ i]=inputa[ i]、inputc[ i]=inputa[2*i+65]、inputb[ i]=inputa[2*i+64],直到EDMA傳輸完成并發(fā)出中斷,CPU才響應(yīng)EDMA中斷。

          顯然,采用上述并行處理的方式,CPU工作周期得到充分利用,提高了代碼的執(zhí)行效率,有利于滿足系統(tǒng)的實時性要求。

          6.結(jié)束語
            
          (ICTM)是雷達(SAR)實時成像處理系統(tǒng)的一個重要模塊。本文選擇TI的一款高性能定點DSP芯片TMS320C6415為核心處理器,兩條大容量SDRAM作為外部存儲器,實現(xiàn)輸入數(shù)據(jù)的轉(zhuǎn)置操作。軟件編程采用并行處理方式,提高了代碼執(zhí)行效率。單板測試和系統(tǒng)聯(lián)調(diào)表明,設(shè)計的逆存儲滿足各項性能指標(biāo),已通過項目組驗收,即將投入實際應(yīng)用。

          合成孔徑雷達相關(guān)文章:合成孔徑雷達原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉