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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種雙DSP系統(tǒng)串行引導(dǎo)方案的實(shí)現(xiàn)

          一種雙DSP系統(tǒng)串行引導(dǎo)方案的實(shí)現(xiàn)

          作者: 時(shí)間:2009-09-27 來源:網(wǎng)絡(luò) 收藏
          0 引 言
          在某型光電跟蹤產(chǎn)品中,由于需要對(duì)抗各種人工干擾和背景干擾,使得導(dǎo)引需要處理的信息量成倍增加,對(duì)導(dǎo)引的實(shí)時(shí)處理性能提出了更高的要求。針對(duì)這種情況,導(dǎo)引采用了雙系統(tǒng)的信息處理方案,選用AD公司的A218x和TI公司的TMS320C62x。ADSP218x進(jìn)行目標(biāo)信號(hào)的采樣和外圍控制信號(hào)的輸入、輸出,TMS320C62x專門進(jìn)行目標(biāo)的鑒相、各種抗干擾算法的計(jì)算,這樣TMS320C62x不受外設(shè)服務(wù)中斷影響,可以更好地發(fā)揮計(jì)算效率,提高了導(dǎo)引系統(tǒng)的實(shí)時(shí)處理性能。本文針對(duì)ADSP218x系列和TMS320C62x系列組成的雙DSP系統(tǒng),提出了一種,同時(shí)給出了其硬件及軟件的具體實(shí)現(xiàn)方法。

          1 DSP引導(dǎo)模式
          1.1 TMS320C62x引導(dǎo)模式

          TMS320C62x系列DSP提供了三種引導(dǎo)方式:
          (1)無引導(dǎo)過程:DSP直接從地址0開始執(zhí)行代碼;
          (2)ROM方式引導(dǎo):由DMA/EDMA控制器從外部CE1空間中的ROM中拷貝固定數(shù)量的代碼到地址0,啟動(dòng)時(shí)也可選擇ROM的寬度,拷貝結(jié)束后,CPU從地址0開始運(yùn)行;
          (3)HPI方式引導(dǎo):由外部主機(jī)通過HPI對(duì)芯片的存儲(chǔ)器空間進(jìn)行初始化,初始化結(jié)束后,外部主機(jī)通過HPI中斷喚醒TMS320C62x,CPU開始從地址0運(yùn)行。
          所有這些設(shè)置項(xiàng)都是在芯片復(fù)位的時(shí)候才進(jìn)行檢查。一旦復(fù)位信號(hào)有效(reset=0),所有的三態(tài)輸出管腳恢復(fù)為默認(rèn)狀態(tài),然后在reset信號(hào)的上升沿處檢查設(shè)置管腳BOOTMODE[4:0]的狀態(tài),自舉邏輯開始生效。
          1.2 ADSP218x引導(dǎo)模式
          ADSP218x系列DSP提供了三種引導(dǎo)方式:
          (1)無引導(dǎo)過程:DSP直接從地址0開始執(zhí)行代碼;
          (2)BDMA方式引導(dǎo):復(fù)位后DSP以BDMA方式首先從字節(jié)存儲(chǔ)空間拷貝前32字的程序代碼,拷貝完程序從程序存儲(chǔ)地址0開始執(zhí)行代碼。
          (3)IDMA方式引導(dǎo):復(fù)位后DSP以IDMA方式可以存取任意數(shù)量的內(nèi)部存儲(chǔ)空間,當(dāng)內(nèi)部程序存儲(chǔ)地址0被寫入時(shí),程序從程序存儲(chǔ)地址0開始執(zhí)行代碼。
          以上設(shè)置都是在芯片復(fù)位的時(shí)候才進(jìn)行檢查,當(dāng)復(fù)位信號(hào)有效時(shí)(reset=0),所有的三態(tài)輸出管腳恢復(fù)為默認(rèn)狀態(tài),然后在reset信號(hào)的上升沿處檢查設(shè)置管腳MODE[A:D]的狀態(tài),自舉邏輯開始生效。
          1.3 雙DSP系統(tǒng)引導(dǎo)模式
          根據(jù)以上兩種DSP的引導(dǎo)模式,選用引導(dǎo)模式,即把TMS320C62x作為主處理機(jī),外圍接8位寬的FLASH,采用ROM方式引導(dǎo),TMS320C62x和AD-SP218x的程序都固化在FLASH中,ADSP218x作為從處理機(jī),采用IDMA方式引導(dǎo),并且兩個(gè)DSP之間的通訊也采用IDMA方式。這樣TMS320C62x可以把ADSP218x作為一個(gè)存儲(chǔ)區(qū)來訪問,既去掉了握手軟件,提高了工作效率,又可以去掉ADSP218x外圍的FLASH,減少了硬件花銷。主要硬件連接示意圖如圖1所示。

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

          雙DSP系統(tǒng)串行引導(dǎo)的過程如下:系統(tǒng)上電后,TMS320C62x從位于CE1空間FLASH中以ROM引導(dǎo)的方式復(fù)制一定數(shù)量的TMS320C62x程序至地址為Ox00000000的內(nèi)部程序存儲(chǔ)空間。當(dāng)程序復(fù)制完畢后,TMS320C62x開始從0x00000000起始的程序地址開始執(zhí)行程序,利用這段程序,把剩下的程序從FLASH中讀出,TMS320C62x進(jìn)入到正常工作狀態(tài)。然后TMS320C62x負(fù)責(zé)將存儲(chǔ)在FLASH中的ADSP218x的運(yùn)行程序讀出,通過IDMA接口發(fā)送至ADSP218x的片內(nèi)PM存儲(chǔ)區(qū),執(zhí)行對(duì)ADSP218x的程序裝載。當(dāng)ADSP218x引導(dǎo)完畢后,ADSP218x運(yùn)行裝入的程序進(jìn)入正常的工作狀態(tài),至此系統(tǒng)串行引導(dǎo)完畢。

          2 雙DSP系統(tǒng)串行引導(dǎo)的實(shí)現(xiàn)
          2.1 硬件連接
          TMS320C62x的低16位數(shù)據(jù)線ED15~0與ADSP218x的IAD15~0連接,TMS320C62X的低8位數(shù)據(jù)線ED7~0與FLASH的數(shù)據(jù)線D7~0連接。TMS320C62x的BOOTMODE[4:0]引腳配置如下:


          由于TMS320C62x與ADSP218x的IDMA通訊控制需要譯碼,因此加了一片CPLD,硬件連接圖如圖2所示。片內(nèi)的邏輯方程為:

          2.2 TMS320C62x啟動(dòng)程序代碼的創(chuàng)建
          TMS320C62x啟動(dòng)程序代碼包含以下幾個(gè)部分。
          2.2.1 中斷向量表vectors.a(chǎn)sm
          中斷向量表缺省保存在TMS320C62x內(nèi)部RAM的從0地址開始長度為0x200字節(jié)的空間,上電或復(fù)位后,芯片自動(dòng)運(yùn)行復(fù)位中斷。因此,復(fù)位中斷向量中應(yīng)包含跳轉(zhuǎn)到引導(dǎo)程序(_boot)的語句,引導(dǎo)程序的主體在boot.a(chǎn)sm中定義。部分程序如下:


          2.2.2 自引導(dǎo)的匯編程序boot.a(chǎn)sm
          自引導(dǎo)匯編程序主要是配置基本的寄存器,并將保存在外部FLASH中的二進(jìn)制程序拷貝到DSP內(nèi)部的RAM中再執(zhí)行。匯編程序如下:


          2.2.3 主程序main.c
          主程序是DSP要實(shí)現(xiàn)具體功能的主體,其定義的主函數(shù)main()經(jīng)編譯后在函數(shù)_c_int00中調(diào)用,因此在上面的引導(dǎo)程序結(jié)束時(shí),將跳轉(zhuǎn)到函數(shù)_c_int00,即主函數(shù)main執(zhí)行。另外在主程序中,還要包含把ADSP218x的應(yīng)用程序從FLASH傳送到ADSP218x內(nèi)部存儲(chǔ)區(qū)的子程序。


          上一頁 1 2 下一頁

          評(píng)論


          相關(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); })();