當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]論述了以DSP芯片TMS320F2812為核心的一種測(cè)量?jī)x器的組成原理、設(shè)計(jì)思想以及快速定點(diǎn)算法的實(shí)現(xiàn)方法,同時(shí)對(duì)定點(diǎn)和浮點(diǎn)算法結(jié)果進(jìn)行了比較。

    摘要:論述了以DSP芯片TMS320F2812為核心的一種測(cè)量?jī)x器的組成原理、設(shè)計(jì)思想以及快速定點(diǎn)算法的實(shí)現(xiàn)方法,同時(shí)對(duì)定點(diǎn)和浮點(diǎn)算法結(jié)果進(jìn)行了比較。

    關(guān)鍵詞:定點(diǎn)芯片;浮點(diǎn)運(yùn)算;快速算法;系統(tǒng)配置;TMS320F2812

1 TMS320F2812簡(jiǎn)介

TMS320F2812是TI公司的一款用于控制的高性能、多功能、高性價(jià)比的32位定點(diǎn)DSP芯片。該芯片兼容TMS320LF2407指令系統(tǒng)?最高可在150MHz主頻下工作,并帶有18k×16位0等待周期片上SRAM和128k×16位片上FLASH(存取時(shí)間36ns)。其片上外設(shè)主要包括2×8路12位ADC(最快80ns轉(zhuǎn)換時(shí)間)、2路SCI、1路SPI、1路McBSP、1路eCAN等,并帶有兩個(gè)事件管理模塊(EVA、EVB),分別包括6路PWM/CMP、2路QEP、3路CAP、2路16位定時(shí)器(或TxPWM/TxCMP)。另外,該器件還有3個(gè)獨(dú)立的32位CPU定時(shí)器,以及多達(dá)56個(gè)獨(dú)立編程的GPIO引腳,可外擴(kuò)大于1M×16位程序和數(shù)據(jù)存儲(chǔ)器。TMS320F2812采用哈佛總線結(jié)構(gòu),具有密碼保護(hù)機(jī)制,可進(jìn)行雙16×16乘加和32×32乘加操作,因而可兼顧控制和快速運(yùn)算的雙重功能。

通過對(duì)TMS320F2812定點(diǎn)DSP芯片合理的系統(tǒng)配置和編程可實(shí)現(xiàn)快速運(yùn)算,本文著重對(duì)此加以說(shuō)明。

2 TMS320F2812基本系統(tǒng)配置

2.1 TMS320F2812時(shí)鐘

TMS320F2812的片上外設(shè)按輸入時(shí)鐘可分為如下4個(gè)組:

(1)SYSOUTCLK組:包括CPU定時(shí)器和eCAN總線,可由PLLCR寄存器動(dòng)態(tài)地修改;

(2)OSCCLK組:主要是看門狗電路,由WDCR寄存器設(shè)置分頻系數(shù);

(3)低速組:有SCI、SPI、McBSP,可由LOSPCP寄存器設(shè)置分頻系數(shù);

(4)高速組:包括EVA/B、ADC,可由HISPCP寄存器設(shè)置分頻系數(shù)。

為了使系統(tǒng)具有較快的工作速度,除了定時(shí)器和SCI等少數(shù)需要低速時(shí)鐘的地方,其它外設(shè)均可以150MHz時(shí)鐘工作。

圖1

    2.2 存儲(chǔ)空間

圖1所示是TMS320F2812的內(nèi)部存儲(chǔ)空間映射圖。TMS320F2812為哈佛(Harvard)結(jié)構(gòu)的DSP,即在同一個(gè)時(shí)鐘周期內(nèi)可同時(shí)進(jìn)行一次取指令、讀數(shù)據(jù)和寫數(shù)據(jù)的操作。在邏輯上有4M×16位程序空間和4M×16位數(shù)據(jù)空間,但物理上已將程序空間和數(shù)據(jù)空間統(tǒng)一為一個(gè)4M×16位的存儲(chǔ)空間,各總線按優(yōu)先級(jí)由高到低的順序?yàn)椋簲?shù)據(jù)寫、程序?qū)?、?shù)據(jù)讀、程序讀。其中由CY7C1041擴(kuò)展的256k×16位SARAM位于Zone 6(0x100000~0x13FFFF),存取時(shí)間不小于12ns;128k×16位FLASH空間(0x3D8000~ 0x3F7FFF)取指時(shí)間不小于36ns。為了盡可能提高器件的工作速度,在對(duì)FLASH寄存器編程使其在較高速度下工作的同時(shí),可將時(shí)間要求比較嚴(yán)格的程序(如時(shí)延計(jì)算子程序、FIR濾波子程序等)、變量(如FIR濾波器系數(shù)、自適應(yīng)算法的權(quán)向量等)各堆??臻g搬移到H0、L0、L1、M0、M1空間來(lái)運(yùn)行。

2.3 中斷

TMS320F28x系列DSP片上都有非常豐富的外設(shè),每個(gè)片上外設(shè)均可產(chǎn)生1個(gè)或多個(gè)中斷請(qǐng)求。中斷由兩級(jí)組成,其中一級(jí)是PIE中斷,另一級(jí)是CPU中斷。CPU中斷有32個(gè)中斷源,包括RESET、NMI、EMUINT、ILLEGAL、12個(gè)用戶定義的軟件中斷USER1~USER12和16個(gè)可屏蔽中斷(INT1~I(xiàn)NT14、RTOSINT和DLOGINT)。所有軟件中斷均屬于非屏蔽中斷。由于CPU沒有足夠的中斷源來(lái)管理所有的片上外設(shè)中斷請(qǐng)求,所以在TMS320F28x系列DSP中設(shè)置了一個(gè)外設(shè)中斷擴(kuò)展控制器(PIE)來(lái)管理片上外設(shè)和外部引腳引起的中斷請(qǐng)求。

PIE中斷共有96個(gè),被分為12個(gè)組,每組內(nèi)有8個(gè)片上外設(shè)中斷請(qǐng)求,96個(gè)片上外設(shè)中斷請(qǐng)求信號(hào)可記為INTx.y(x=1,2,…,12;y=1,2,…,8)。每個(gè)組輸出一個(gè)中斷請(qǐng)求信號(hào)給CPU,即PIE的輸出INTx(x=1,2,…,…12)對(duì)應(yīng)CPU中斷輸入的INT1~I(xiàn)NT12。TMS320F28x系列DSP的96個(gè)可能的PIE中斷源中有45個(gè)被TMS320F2812使用,其余的被保留作以后的DSP器件使用。

ADC、定時(shí)器、SCI編程等均以中斷方式進(jìn)行,可提高CPU的利用率。

2.4 復(fù)位引導(dǎo)

圖2所示是TMS320F2812的片上引導(dǎo)ROM空間映射。其此導(dǎo)程序配置在圖2中的0x3FFC00~0x3FFFBF,根據(jù)圖1,設(shè)置VMAP=1,MP/MC=0,ENPIE=0,復(fù)位向量指向片上0x3FFFC0,而片上0x3FFFC0中內(nèi)容為0x3FFC00,即指向圖2中的引導(dǎo)程序。配置表2中的GPIOF4(SCITXDA)=1,則轉(zhuǎn)向FLASH中的0x3F7FF6開始執(zhí)行程序,最后在0x3F7FF6片設(shè)置跳轉(zhuǎn)指令指向用戶程序的開始處,以開始運(yùn)行用戶程序。由于在實(shí)際應(yīng)用中使用了PIE中斷,因此,在用戶應(yīng)用程序中,應(yīng)首先初始化PIE中斷向量表,然后使能PIE。

3 編程設(shè)計(jì)

編程是實(shí)現(xiàn)系統(tǒng)正常工作和快速運(yùn)算必不可少的重要環(huán)節(jié)。在系統(tǒng)配置合理的條件下,用定點(diǎn)芯片實(shí)現(xiàn)快速運(yùn)算的關(guān)鍵用整數(shù)取代浮點(diǎn)數(shù)進(jìn)行計(jì)算處理。用C編譯器時(shí),為產(chǎn)生最優(yōu)代碼,應(yīng)遵循以下原則:

(1)將除法轉(zhuǎn)換為乘法,盡量使編譯器產(chǎn)生MAC指令,以充分利用DSP的硬件乘法器資源進(jìn)行快速運(yùn)算,且應(yīng)使MAC的操作數(shù)為局部變量以分配到寄存器中(或到一個(gè)累加器中)。

(2)盡可能使用靜態(tài)直接插入函數(shù),以節(jié)省函數(shù)調(diào)用的額外開銷。

(3)對(duì)FOR循環(huán)的上限,使用常數(shù)或具有常數(shù)屬性的變量可產(chǎn)生重復(fù)指令RPT。

3.1 ADC編程

TMS20F2812帶有兩個(gè)8選1多路切換器和雙采樣/保持器的12位ADC,模擬量輸入范圍為0~3V,最快轉(zhuǎn)換速率為80ns,選用10kSPS采樣率,并采用EVA的定時(shí)器(0.1ms)自動(dòng)觸發(fā)方式,可同時(shí)采樣4個(gè)通道,并采用每次轉(zhuǎn)換結(jié)束的中斷方式來(lái)紀(jì)錄采樣結(jié)果(右移4位)。

轉(zhuǎn)換結(jié)果=(212-1)×(輸入的模擬信號(hào)-ADCLO)/3

ADC轉(zhuǎn)換時(shí),首先初始化DSP系統(tǒng),然后設(shè)置PIE中斷矢量表,再初始化ADC模塊,接著將ADC中斷的入口地址裝入中斷矢量表并開中斷,然后再啟動(dòng)0.1ms定時(shí)器,同時(shí)等待ADC中斷,最后在ADC中斷中讀取ADC轉(zhuǎn)換結(jié)果,并用軟件啟動(dòng)下一次中斷。

    3.2 FIR濾波器編程

目標(biāo)信號(hào)對(duì)某些低頻干擾非常敏感,它將直接響應(yīng)到定位結(jié)果和數(shù)據(jù)的有效性。為了在濾波后不影響時(shí)延數(shù)據(jù)的計(jì)算,可采用線性相位的FIR濾波器。濾波器系數(shù)h(i)用MATLAB的產(chǎn)生,并在變成整形然后固化到程序中,這樣做(而不是單獨(dú)計(jì)算濾波器系數(shù))的目的是為了實(shí)現(xiàn)快速濾波而不會(huì)過多增加整個(gè)測(cè)量系統(tǒng)定位計(jì)算的時(shí)間。

3.3 定位算法的移植

由于定位算法采用自適應(yīng)時(shí)延估計(jì)法,因此計(jì)算量非常龐大,對(duì)DSP芯片性能要求較高。TMS320F2812具有32位硬件乘法器和累加器,其RPT指令非常適合循環(huán)計(jì)算,處理能力可達(dá)150MIPS,因而具有較高的性能。但它是一款定點(diǎn)處理芯片,需要使用定點(diǎn)算法來(lái)解決處理量大的問題。因此,對(duì)初始數(shù)據(jù)、權(quán)矢量應(yīng)采用16位整形變量(Q=12:由ADC轉(zhuǎn)換精度決定),而循環(huán)計(jì)算中產(chǎn)生的中間結(jié)果則使用32位整形變量(Q=20:在結(jié)果不溢出的情況下盡量滿足計(jì)算精度);至于對(duì)三角函數(shù)等的運(yùn)算,可用查表法并利用圖2中的表格來(lái)進(jìn)行快速計(jì)算。

C編譯器帶有浮點(diǎn)運(yùn)算庫(kù),因此可將浮點(diǎn)算法和定點(diǎn)算法的結(jié)果進(jìn)行比較,對(duì)于4路各1024點(diǎn)數(shù)據(jù)處理,用浮點(diǎn)算法實(shí)現(xiàn)約需3.6秒,而用定點(diǎn)算法只需1.3秒。

另外,還可對(duì)算法進(jìn)行優(yōu)化。第一是將經(jīng)常使用的中間變量配置到等待周期為0的內(nèi)存中;第二是采用FLASH加速技術(shù)(使能FOPT寄存器的ENPIPE位實(shí)現(xiàn)預(yù)指機(jī)制的FLASH流水線模式),這樣可以達(dá)到100~120MIPS的處理能力,大大高于其本身36ns的讀取能力。需要注意的是,由于TMS320F2812的保護(hù)機(jī)制,對(duì)FLASH寄存器進(jìn)行存取的這段程序必須搬移到L0、L1中執(zhí)行。盡管這樣,將這段對(duì)時(shí)間要求比較荷記得的算法移植到內(nèi)存H0中,可以達(dá)到最高150MIPS的處理速度,并能使用函數(shù)memcpy()完成程序的搬移。

4 結(jié)束語(yǔ)

在計(jì)算量較大時(shí),通常選用浮點(diǎn)DSP芯片。實(shí)際上,為了充分利用定點(diǎn)DSP芯片的片上資源,也能利用本文所介紹的方法選用定點(diǎn)芯片來(lái)達(dá)到較高的計(jì)算速度,這樣可節(jié)省硬件設(shè)計(jì)費(fèi)用和周期,并降低功耗。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉