91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當(dāng)前位置:首頁 > 新聞?lì)l道 > 技術(shù)動(dòng)態(tài) > 正文
基于SPI接口DSP程序引導(dǎo)加載方法設(shè)計(jì)與實(shí)現(xiàn)

 汪慶武,郇鉦,黎澤清,張德平

 (上海航天電子技術(shù)研究所,上海201109)

摘要:針對(duì)TMS320F281xDSP內(nèi)部FLASH無法滿足空間應(yīng)用抗輻照指標(biāo)要求,進(jìn)而需要直接從外部高可靠性存儲(chǔ)空間引導(dǎo)加裁的問題,介紹了TMS320F281x DSP的引導(dǎo)加載模式、EEPROM的接口電路和引導(dǎo)加栽的數(shù)據(jù)流格式,最后給出基于SPI接口的DSP程序引導(dǎo)加載方法和實(shí)現(xiàn)過程,較好地解決了該DSP從外部存儲(chǔ)引導(dǎo)加載的問題。

關(guān)鍵詞:數(shù)字信號(hào)處理器;引導(dǎo)加載;SPI

中圖分類號(hào):TP368文章編號(hào):1006 - 2394(2016)05 - 0006 - 03

0引言

 TIC2000系列32位C28xTM DSP在單周期中處理復(fù)雜的控制理論操作,與典型的MCU相比可提供更高的每MHz性能,還有大量的外設(shè)資源,如A/D、定時(shí)器、外部中斷、EV、數(shù)字10腳等,在通信、工業(yè)控制和消費(fèi)類電子等領(lǐng)域得到了廣泛應(yīng)用,目前DSP+ FPGA框架已成為高性能運(yùn)動(dòng)控制系統(tǒng)的首選。某微波探測(cè)載荷驅(qū)動(dòng)控制器采用TI TMS320F2812+

Xilinx Vertex系列FPGA XCV300平臺(tái)。在地面應(yīng)用時(shí),TMS320F281x程序和數(shù)據(jù)一般存放在內(nèi)部FLASH上,上電搬至內(nèi)部的RAM或外擴(kuò)的SRAM中運(yùn)行;而在空間應(yīng)用時(shí),其內(nèi)部FLASH無抗輻照指標(biāo),無法滿足星載運(yùn)用需求,為保證DSP程序存儲(chǔ)空間的可靠性和安全性,需將用戶程序存放至外部高可靠性、具有抗輻照指標(biāo)的非易失性存儲(chǔ)器中,如EPROM、FLASH等,待系統(tǒng)上電運(yùn)行時(shí),存于外部空間的DSP程序需要進(jìn)行引導(dǎo)加載,即將非易失性存儲(chǔ)器中的程序搬移到內(nèi)部RAM或外接的SRAM中運(yùn)行。本文針對(duì)在TMS320F281x空間應(yīng)用程序引導(dǎo)加載問題,介紹了該系列DSP的引導(dǎo)加載方式,給出基于SPI接口EEPROM硬件接口電路和引導(dǎo)加載數(shù)據(jù)流格式,從外部EEPROM引導(dǎo)加載方法及其實(shí)現(xiàn)步驟,并通過實(shí)驗(yàn)驗(yàn)證基于SPI接口DSP程序引導(dǎo)加載方法的有效性。

1  TMS320F281xDSP的引導(dǎo)模式

 TMS320F281x的Bootloader程序存儲(chǔ)在ROM中,在MC模式(微處理器模式)下,系統(tǒng)上電后,首先運(yùn)行Bootloader程序,BOOT ROM中的矢量首先將程序重定向到InitBoot函數(shù),執(zhí)行DSP初始化后,引導(dǎo)加載器會(huì)檢查GPIOF腳的狀態(tài)決定采用何種引導(dǎo)模式,如表1所示為TMS320F281x DSP的引導(dǎo)模式和配置關(guān)系。

 DSP上電復(fù)位后,Bootloader程序依次查詢DSP的四個(gè)外部GPIO管腳(GPIOF4、GPIOF12、GPIOF3和GPIOF2)來選擇加載方式。當(dāng)Bootloader將程序加載到DSP的內(nèi)部RAM或外接的SRAM后,跳轉(zhuǎn)到用戶程序的人口地址處,運(yùn)行用戶程序。Boot-loader加載流程如圖1所示。本文采用基于SPI接口,通過SPI_BOOT從外部EEPROM中實(shí)現(xiàn)DSP程序引導(dǎo)加載。

2  基于SPI的EEPROM接口電路及其引導(dǎo)加載的格式

2.1  EEPROM接口電路

 SPI引導(dǎo)ROM加載程序初始化要連接至串行SPIEEPROM的SPI模塊,TMS320F281x外擴(kuò)SPI接口的外部EEPROM硬件接口電路圖如2圖所示。EEP-ROM為ATMEL公司AT25系列AT25160AN,基于SPI四線制,支持模式0和模式3,可與DSP直接相連。

2.2引導(dǎo)加載的格式

 SPI引導(dǎo)ROM加載程序使用最低波特率,用以下設(shè)置初始化SPI:啟用FIFO、8位字符、內(nèi)部SPICLK主模式和通話模式、時(shí)鐘相位=0、極性=0。此外要使DSP能夠成功地通過SPI進(jìn)行引導(dǎo)加載,就必須正確地建立引導(dǎo)加載表,將程序按照一定的格式燒寫和存放在程序存儲(chǔ)器中。其中包括8位數(shù)據(jù)流關(guān)鍵字、外設(shè)時(shí)鐘控制寄存器和SPI波特率寄存器值、應(yīng)用程序的起始地址、代碼塊和數(shù)據(jù)塊及其結(jié)束標(biāo)識(shí)等。TMS320F281xSPI 8位的引導(dǎo)加載的數(shù)據(jù)流表格式如表2所示。

3  引導(dǎo)加載的實(shí)現(xiàn)方法

3.1  基于SPI的DSP程序燒寫

 用所謂的“兩次下載法”來實(shí)現(xiàn)DSP程序燒寫。即首先將用戶程序的可執(zhí)行文件下載到DSP,但不運(yùn)行該程序;接著將燒寫程序也下載到DSP,然后運(yùn)行該程序,將先下載的用戶程序按照SPI 8位引導(dǎo)加載的數(shù)據(jù)表格式寫入到EEPROM。這種方法是把用戶程序當(dāng)作DSP內(nèi)存中的數(shù)據(jù)(起始地址、代碼塊和數(shù)據(jù)塊),將其“搬移”到外部的EEPROM中實(shí)現(xiàn)用戶程序的燒寫。

 需要注意的是,由于下載完用戶程序后并沒有運(yùn)行,而是緊接著下載燒寫程序,用戶程序仍然在DSP中,因此,兩者的程序存儲(chǔ)空間不能重疊;由于燒寫程序要將用戶程序當(dāng)作數(shù)據(jù)寫入EEPROM中,所以它的數(shù)據(jù)存儲(chǔ)空間要包括用戶程序的存儲(chǔ)空間和燒寫程序的地址空間。

3.2引導(dǎo)加載過程

 用戶程序已存人外部存儲(chǔ)空間后,斷電或重新復(fù)位啟動(dòng),TMS320F281x通過SPI引導(dǎo)加載,流程圖如圖

3所示。基于SPI引導(dǎo)加載過程如下:

 1)使能SPICLK時(shí)鐘,調(diào)用函數(shù)SPIA _SysClock-Enable(); 

 2)設(shè)置復(fù)用引腳為SPI功能,調(diào)用函數(shù)SPIA_GPI OSelect();

 3)對(duì)SPI模塊進(jìn)行初始化,設(shè)置波特率、字長(zhǎng)、主從模式等,調(diào)用函數(shù)SPIA _Init();

 4)使GPIOF3輸出為0 ,使能EEPROM芯片,GPIOF3口作為SPI的片選信號(hào),GPIOD ataRegs. GPF-CLEAR. bit. GPIOF3=0;

 5) SPI發(fā)送命令字Ox0300,SPI輸出讀EEPROM的信號(hào),調(diào)用函數(shù)SPIA_ Transmit( Ox0300);

 6)從EEPROM的首地址Ox0000開始讀取數(shù)據(jù),先讀取一個(gè)字,調(diào)用函數(shù)SPIA _Get Word Data();

 7)判斷第一個(gè)字是否為Ox08AA,如果是則繼續(xù),否則跳轉(zhuǎn)到片內(nèi)FLASH啟動(dòng)地址;

 8)再次讀取判斷LOSPCP和波特率是否為默認(rèn)值,如果不是,則改寫LOSPCP和通信波特率,之后7個(gè)字節(jié)保留,SPI的boo tloader讀取之后丟棄它,SPIA_Rese rvedFn();

 9)獲取搬移后的程序入口地址,Entry Addr=SPIA _Get Long Data();

 10)執(zhí)行程序搬移,將代碼段搬移到目的地址,從外部存儲(chǔ)空間復(fù)制到片內(nèi)RAM,SPIA_ Copy Data();

 11)將GPIOF3拉高,禁止EEPROM操作,GPIO-DataRegs. GPFSET. bit. GPIOF3=1;

 12)返回SPI啟動(dòng)的入口地址return EntryAddr。

 在某微波探測(cè)載荷驅(qū)動(dòng)控制器上對(duì)DSP程序通過SPI接口完成程序加載。加載過程部分波形如圖4所示,其中chl為時(shí)鐘信號(hào)SPICLK,ch2為MOSI發(fā)出指令0x03,0x00,ch3為MISO,EEPROM回傳關(guān)鍵字0xaa,0x08,表示8位數(shù)據(jù)流格式。

4結(jié)束語

 本文分析了TMS320F281xDSP的引導(dǎo)加載的工作原理,設(shè)計(jì)了TMS320F281x通過SPI從外部EEPROMArI25160AN引導(dǎo)加載,詳細(xì)地介紹了其實(shí)現(xiàn)過程,完成了DSP從外部存儲(chǔ)空間的引導(dǎo)加載,并通過某微波探測(cè)載荷驅(qū)動(dòng)控制器驗(yàn)證了其有效性。通過上述方法,較好地解決了DSP程序存儲(chǔ)的可靠性和安全性問題,為該DSP的空間應(yīng)用奠定基礎(chǔ)。

關(guān)鍵字:
About Us - 關(guān)于我們 - 服務(wù)列表 - 付費(fèi)指導(dǎo) - 媒體合作 - 廣告服務(wù) - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見問題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) m.78375555.com. All rights reserved.
服務(wù)熱線:4000-293-296 聯(lián)系電話:0371-61311617 傳真:0371-55611201 QQ: 郵箱:zgazxxw@126.com 豫ICP備18030500號(hào)-4
未經(jīng)過本站允許,請(qǐng)勿將本站內(nèi)容傳播或復(fù)制
安全聯(lián)盟認(rèn)證