亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于TS201的信號(hào)處理軟件設(shè)計(jì)

        2014-03-19 14:45:20朱啟強(qiáng)
        關(guān)鍵詞:信號(hào)處理寄存器中斷

        朱啟強(qiáng)

        (中國電波傳播研究所,山東 青島 266107)

        0 引言

        TS201是美國ADI公司生產(chǎn)的一款高性能數(shù)字信號(hào)處理器,主頻高達(dá)600 MHz,24 MB內(nèi)存,集成雙運(yùn)算單元、4條獨(dú)立128 bit寬內(nèi)部總線、14個(gè)DMA通道控制器和一個(gè)SDRAM控制器;具有64 bit外部總線接口及4個(gè)Link接口。TS201處理器因其運(yùn)算速度快、內(nèi)存容量大、接口豐富、擴(kuò)展能力強(qiáng)等特點(diǎn)被廣泛應(yīng)用到現(xiàn)代雷達(dá)、無線通信、圖形圖像處理等信號(hào)處理系統(tǒng)中[1-2]。

        目前,基于TS201的硬件設(shè)計(jì)文章較多,如參考文獻(xiàn)[3-5]均是關(guān)于硬件系統(tǒng)設(shè)計(jì)的,而有關(guān)軟件設(shè)計(jì)卻很少。如何利用好TS201處理器的各種資源進(jìn)行應(yīng)用軟件的優(yōu)化設(shè)計(jì),對(duì)于實(shí)現(xiàn)系統(tǒng)功能、提高軟件運(yùn)行效率及穩(wěn)定性是至關(guān)重要的。本文結(jié)合具體項(xiàng)目,對(duì)如何正確利用處理器的各種資源及其優(yōu)化設(shè)計(jì)進(jìn)行了分析,并在實(shí)際項(xiàng)目的信號(hào)處理軟件設(shè)計(jì)中進(jìn)行了應(yīng)用,驗(yàn)證了設(shè)計(jì)方法的正確性。

        1 系統(tǒng)及算法介紹

        在某探測(cè)系統(tǒng)中共使用4片TS201處理器用于完成信號(hào)處理功能。4個(gè)處理器之間通過Link口互聯(lián),每個(gè)處理器外掛256 MB的SDRAM,并通過FPGA與3個(gè)光纖接口連接。

        處理器的任務(wù)是通過光纖接口完成對(duì)基帶數(shù)據(jù)的接收,并通過Link口將數(shù)據(jù)分發(fā)到不同的處理器;在不同的處理器上同時(shí)對(duì)基帶數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,最后將處理結(jié)果合成并進(jìn)一步處理后通過光纖接口輸出。信號(hào)處理算法包括通道校準(zhǔn)、波束合成和脈沖壓縮,在處理器中實(shí)現(xiàn)這些算法所涉及的運(yùn)算包括FFT、復(fù)數(shù)向量乘法、復(fù)數(shù)矩陣乘法、復(fù)數(shù)向量加法以及IFFT等,用到的處理器資源包括Link口、存儲(chǔ)器、中斷、定時(shí)器等。

        2 軟件設(shè)計(jì)

        2.1 Link口數(shù)據(jù)傳輸

        2.1.1 Link口初始化

        處理器之間的數(shù)據(jù)傳輸均是利用Link口進(jìn)行的,在處理器復(fù)位之后,首次使用Link口傳輸數(shù)據(jù)之前必須先對(duì)其初始化。Link口初始化主要包括收、發(fā)Link口之間握手、數(shù)據(jù)位模式選擇和傳輸時(shí)鐘頻率設(shè)置。握手是發(fā)送Link口在初始化時(shí)將一信號(hào)置成高電平,向接收Link口表明收發(fā)已連接;Link口數(shù)據(jù)線由4對(duì)LVDS信號(hào)線組成,可以使用4對(duì)同時(shí)傳輸,也可以只使用1對(duì)數(shù)據(jù)線傳輸,分別稱為4位傳輸模式和1位傳輸模式;Link口的數(shù)據(jù)傳輸時(shí)鐘頻率由處理器的核心頻率分頻得到,分頻系數(shù)可以為1、1.5、2和4。初始化步驟如下:

        (1)設(shè)置發(fā)送Link口功能無效;

        (2)使能發(fā)送Link口,并設(shè)置傳輸模式為4位,分頻系數(shù)為1.5;

        (3)等待2 500個(gè)時(shí)鐘周期以上;

        (4)設(shè)置接收Link口無效;

        (5)使能接收Link口,傳輸模式與發(fā)送設(shè)置相同。

        實(shí)際探測(cè)項(xiàng)目中的系統(tǒng)時(shí)鐘頻率為50 MHz,處理器的核心時(shí)鐘頻率為600 MHz,由系統(tǒng)時(shí)鐘經(jīng)過鎖相環(huán)12倍倍頻得到。Link口時(shí)鐘頻率經(jīng)過分頻之后可以為600 MHz、400 MHz、300 MHz和150 MHz,考慮到穩(wěn)定性問題,這里選用400 MHz作為Link口的時(shí)鐘頻率。

        Link口初始化時(shí)的握手需要兩個(gè)處理器程序同步運(yùn)行,這就需要上位機(jī)的參與。由于上位機(jī)同步不是十分精確,一旦同步出現(xiàn)問題,Link口初始化就會(huì)失敗,數(shù)據(jù)傳輸就會(huì)出現(xiàn)錯(cuò)誤。

        為了解決同步問題,可以采用另外一種Link口初始化方式。這種初始化方式是利用軟件設(shè)置寄存器強(qiáng)制接收Link口處于接收狀態(tài),而不再需要硬件握手,即發(fā)送Link口和接收Link口初始化不再有聯(lián)系,可以分別獨(dú)自初始化。發(fā)送Link口初始化步驟如下:

        (1)設(shè)置發(fā)送Link口無效;

        (2)使能發(fā)送Link口,并同時(shí)設(shè)置4位傳輸模式和發(fā)送時(shí)鐘頻率。

        接收Link口初始化步驟如下:

        (1)設(shè)置接收Link口無效,同時(shí)設(shè)置接收控制寄存器中RINIF和RINIV位為1;

        (2)等待2 500個(gè)時(shí)鐘周期以上;

        (3)使能接收Link口,并設(shè)置傳輸模式與發(fā)送設(shè)置相同。

        2.1.2 Link口傳輸配置

        處理器為每個(gè)Link口配備了兩個(gè)DMA通道控制器,專門用于Link口發(fā)送和接收數(shù)據(jù)。每個(gè)DMA通道都有一個(gè)配置塊(TCB),配置塊包含若干寄存器。利用Link口DMA通道進(jìn)行一維發(fā)送或者接收數(shù)據(jù)時(shí)需要配置3個(gè)寄存器:DI、DX和DP。

        DI寄存器用于存儲(chǔ)發(fā)送數(shù)據(jù)時(shí)的源地址或者接收數(shù)據(jù)時(shí)的目的地址,可以是內(nèi)存也可以是外存。DX低16 bit表示源地址或者目的地址的增量,高16 bit用于存儲(chǔ)傳送數(shù)據(jù)的長度,由于只有16 bit,因此啟動(dòng)一次DMA所能傳送數(shù)據(jù)的最大長度為65 536,如果傳送的數(shù)據(jù)長度大于65 536,需要分多次進(jìn)行傳輸。在DP中需要進(jìn)行的設(shè)置為:源地址或者目的地址是內(nèi)存還是外存,一次讀取或者存放數(shù)據(jù)的寬度(單位為字,必須設(shè)置成4),以及DMA結(jié)束中斷是否打開。數(shù)據(jù)寬度設(shè)置成4后,地址增量也必須設(shè)置成4。發(fā)送數(shù)據(jù)時(shí)DMA一次讀取4個(gè)字,并通過Link口發(fā)送給接收方,接收DMA接收到4個(gè)字后將其寫入到目的地址,源地址和目的地址都會(huì)自動(dòng)增加4,為下次數(shù)據(jù)傳輸做好準(zhǔn)備。每發(fā)送一次數(shù)據(jù),發(fā)送方和接收方都會(huì)將數(shù)據(jù)長度減去4,當(dāng)數(shù)據(jù)長度為0時(shí)表明發(fā)送和接收都已完成。如果DMA結(jié)束中斷被使能,那么在發(fā)送結(jié)束和接收完成后都會(huì)收到DMA完成中斷。由于Link口DMA通道采用4字操作,因此傳送數(shù)據(jù)的長度必須為4的整數(shù)倍,且至少應(yīng)為4。源地址和目的地址必須4字對(duì)齊。

        2.2 中斷設(shè)計(jì)

        在TS201處理器中有很多中斷源,有硬件中斷也有軟件中斷,經(jīng)常用到的中斷源包括4個(gè)Link口請(qǐng)求中斷,8個(gè)Link口DMA通道發(fā)送或者接收完成中斷,4個(gè)外部端口DMA通道發(fā)送或者接收完成中斷,4個(gè)外部中斷,4個(gè)定時(shí)器中斷,其中2個(gè)中斷優(yōu)先級(jí)較低,另外兩個(gè)中斷優(yōu)先級(jí)較高。

        利用這些中斷之前必須先要編寫中斷服務(wù)程序,并與中斷源進(jìn)行關(guān)聯(lián)。

        在用DMA進(jìn)行數(shù)據(jù)傳輸時(shí),必須等到本次DMA完成才能啟動(dòng)下一次DMA,否則DMA通道將會(huì)阻塞,導(dǎo)致無法正常傳輸數(shù)據(jù)??梢栽贒MA完成中斷服務(wù)程序時(shí)設(shè)置一個(gè)標(biāo)志,通過該標(biāo)志來判斷DMA是否已經(jīng)完成。

        當(dāng)Link口接收緩沖滿時(shí)會(huì)發(fā)起一個(gè)請(qǐng)求接收中斷,可以根據(jù)該中斷進(jìn)行數(shù)據(jù)接收。

        外部中斷可由外設(shè)發(fā)起,處理器收到外設(shè)中斷后與外設(shè)進(jìn)行通信。

        向定時(shí)寄存器中寫入定時(shí)值,并啟動(dòng)定時(shí)器,定時(shí)器按一定時(shí)鐘周期對(duì)定時(shí)值循環(huán)減一,當(dāng)減到零時(shí)就會(huì)產(chǎn)生一個(gè)定時(shí)中斷。

        Link口請(qǐng)求中斷是電平觸發(fā)方式,外部中斷可設(shè)置成沿觸發(fā)也可設(shè)置成電平觸發(fā),其他中斷均為沿觸發(fā)。在本系統(tǒng)中有3個(gè)外部中斷源通過復(fù)用連接到處理器的中斷信號(hào)IRQ2上,同一時(shí)刻可能有兩個(gè)或者3個(gè)中斷產(chǎn)生,如果將該中斷的觸發(fā)方式設(shè)置成沿觸發(fā),勢(shì)必會(huì)造成中斷丟失。為了解決這個(gè)問題可以將中斷設(shè)置成電平觸發(fā)方式,一旦中斷產(chǎn)生只有處理器響應(yīng)之后并由處理器自己撤銷已經(jīng)響應(yīng)的中斷;沒有響應(yīng)的中斷會(huì)繼續(xù)產(chǎn)生,處理器退出前一個(gè)中斷服務(wù)程序之后會(huì)繼續(xù)響應(yīng)下一個(gè)中斷,并進(jìn)行撤銷處理,直到處理完所有的中斷。

        Link口請(qǐng)求中斷的觸發(fā)方式固定為電平觸發(fā),一旦此中斷產(chǎn)生,處理器就必須馬上響應(yīng),否則頻繁的中斷產(chǎn)生會(huì)耽誤處理器的正常運(yùn)行。對(duì)Link口請(qǐng)求中斷的響應(yīng)就是啟動(dòng)DMA接收由Link發(fā)送來的數(shù)據(jù)。需要特別注意的是,配置完Link口DMA接收通道后,到DMA啟動(dòng)有一定時(shí)間延遲,而請(qǐng)求中斷只有在DMA啟動(dòng)后才會(huì)自動(dòng)撤銷。所以在配置完DMA通道后需要再等待約1 μs才能進(jìn)行其他處理,否則,請(qǐng)求中斷會(huì)再次產(chǎn)生,造成中斷重入錯(cuò)誤。

        每個(gè)中斷都有自己的優(yōu)先級(jí),低優(yōu)先級(jí)的中斷可以被高優(yōu)先級(jí)的中斷打斷,進(jìn)入中斷嵌套,低優(yōu)先級(jí)中斷不能打斷高優(yōu)先級(jí)的中斷。特別是對(duì)于電平觸發(fā)的中斷,如果不能及時(shí)處理,中斷會(huì)持續(xù)不斷地產(chǎn)生,不但影響處理器的正常運(yùn)行,低優(yōu)先級(jí)的中斷也將一直無法進(jìn)入。

        2.3 存儲(chǔ)器訪問

        很多系統(tǒng)對(duì)信號(hào)處理的實(shí)時(shí)性要求較高,在硬件資源一定的情況下,就需要通過優(yōu)化軟件設(shè)計(jì)來滿足實(shí)時(shí)性要求。下面以通道校準(zhǔn)算法為例來介紹使用存儲(chǔ)器的優(yōu)化方法。

        通道校準(zhǔn)算法可分解成兩次FFT運(yùn)算和一次向量乘法運(yùn)算。在實(shí)現(xiàn)本系統(tǒng)的信號(hào)處理算法時(shí)調(diào)用了第三方函數(shù)庫,其FFT函數(shù)原型如下:

        ez_c2fft_f(A,BUF,TW,twstr,N,C)

        其中,A、C、BUF和twstr均為復(fù)數(shù)向量地址指針,分別指向4片存儲(chǔ)區(qū)域,可以使用內(nèi)存,也可以使用外存,但處理器訪問外存時(shí)的速率遠(yuǎn)低于內(nèi)存。因此,為了提高運(yùn)算速度,這4片存儲(chǔ)區(qū)域應(yīng)盡量選擇內(nèi)存。

        處理器的內(nèi)存為24 Mbit,被平均分成了6塊,通過交叉點(diǎn)開關(guān)分別與處理器內(nèi)部的4條總線相連。由于TS201處理器采用了超級(jí)哈佛結(jié)構(gòu)和靜態(tài)超標(biāo)量處理,并支持單指令多數(shù)據(jù)(SIMD)模式,使處理器每周期可同時(shí)執(zhí)行4條指令和6個(gè)浮點(diǎn)運(yùn)算[6-7];4條內(nèi)部總線可同時(shí)訪問不同的4片內(nèi)存,訪問寬度為128 bit。因此,在FFT運(yùn)算時(shí)為其分配的存儲(chǔ)區(qū)滿足如下要求時(shí)將會(huì)大大提高運(yùn)算效率:(1)存儲(chǔ)區(qū)位于內(nèi)存;(2)存儲(chǔ)區(qū)被分配在不同的存儲(chǔ)塊內(nèi);(3)存儲(chǔ)區(qū)首地址4字對(duì)齊。

        在通道校準(zhǔn)時(shí)需要用到通道校準(zhǔn)系數(shù),通道校準(zhǔn)系數(shù)在標(biāo)校工作狀態(tài)下求出,但由于其數(shù)據(jù)量較大,必須先搬移到外存,在通道校準(zhǔn)時(shí)再搬移到內(nèi)存使用。有4個(gè)DMA通道可以用于內(nèi)存與外存之間數(shù)據(jù)的搬移操作。在配置DMA通道時(shí),DP寄存器中的LEN可以被配置成單字、雙字或者4字,當(dāng)配置成4字時(shí),數(shù)據(jù)傳輸效率最高,源地址和目的地址也必須按4字對(duì)齊。

        2.4 定時(shí)器操作

        TS201處理器提供兩個(gè)通用定時(shí)器,存儲(chǔ)初始定時(shí)值的寄存器為64 bit寬,但配置時(shí)必須按32 bit進(jìn)行訪問。兩個(gè)定時(shí)器都是減法定時(shí)器,設(shè)置完定時(shí)值并啟動(dòng)定時(shí)器后,定時(shí)器在每個(gè)定時(shí)時(shí)鐘周期對(duì)初始值進(jìn)行減一操作,直到減到零為止,然后重新載入初始定時(shí)值并再次按定時(shí)時(shí)鐘周期進(jìn)行減一操作。每當(dāng)定時(shí)器減到零時(shí)就會(huì)產(chǎn)生定時(shí)中斷。定時(shí)器的時(shí)鐘頻率為處理器核心時(shí)鐘頻率的一半,本系統(tǒng)設(shè)計(jì)中定時(shí)器的時(shí)鐘頻率為300 MHz,一個(gè)定時(shí)器最大定時(shí)時(shí)間很長,但只配置定時(shí)器低32 bit時(shí)最大定時(shí)約14.3 s。不再使用定時(shí)器時(shí)要及時(shí)關(guān)閉定時(shí)器。

        使用定時(shí)器可以測(cè)試一段代碼的運(yùn)行時(shí)間。在要測(cè)試代碼段的開始設(shè)置定時(shí)器初始值,然后啟動(dòng)定時(shí)器,并讀取定時(shí)器的當(dāng)前計(jì)數(shù)值,在代碼段運(yùn)行結(jié)束時(shí),再次讀取定時(shí)器的計(jì)數(shù)值,兩次計(jì)數(shù)值的差值除以計(jì)數(shù)時(shí)鐘頻率300 MHz,便是代碼段的運(yùn)行時(shí)間,單位為μs。還可以用定時(shí)器監(jiān)測(cè)某個(gè)事件是否在規(guī)定的時(shí)間內(nèi)完成。在事件開始之前設(shè)置好定時(shí)值,并啟動(dòng)定時(shí)器,如果事件正常完成就關(guān)閉定時(shí)器;如果事件超時(shí),就會(huì)收到定時(shí)器定時(shí)完成中斷,先關(guān)閉定時(shí)器,然后進(jìn)行相應(yīng)的超時(shí)處理。

        3 結(jié)論

        本文結(jié)合具體項(xiàng)目和實(shí)際工作經(jīng)驗(yàn),對(duì)TS201處理器的各種資源進(jìn)行介紹,提出了利用這些資源進(jìn)行軟件優(yōu)化設(shè)計(jì)的方法。利用該方法設(shè)計(jì)的信號(hào)處理軟件已成功應(yīng)用到某探測(cè)項(xiàng)目中,實(shí)現(xiàn)了項(xiàng)目提出的各種功能,充分滿足了系統(tǒng)實(shí)時(shí)性要求,程序運(yùn)行穩(wěn)定,驗(yàn)證了本文所提出的基于TS201軟件設(shè)計(jì)方法的正確性。本文也為同類軟件設(shè)計(jì)的工程師提供了經(jīng)驗(yàn)和重要參考價(jià)值,能有效提高所設(shè)計(jì)軟件的實(shí)時(shí)性和穩(wěn)定性,同時(shí)節(jié)省了開發(fā)時(shí)間和成本。

        [1]Analog Devices,Inc.ADSP-TS201 TigerSHARC processor hardware reference[EB/OL].[2014-07-01].Revision1.1,December 2004.

        [2]王菲,汪學(xué)剛.ADSP-TS201的系統(tǒng)設(shè)計(jì)及外部總線接口技術(shù)[J].現(xiàn)代電子技術(shù),2007(11):53-55.

        [3]冼友倫,盧護(hù)林,蘇濤.基于FPGA的多通道高速實(shí)時(shí)信號(hào)處理系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2008,34(9):21-24.

        [4]顧穎,張雪婷,張飚.基于ADSP-TS201S的通用雷達(dá)信號(hào)處理機(jī)的設(shè)計(jì)[J].現(xiàn)代雷達(dá),2006,28(6):49-51.

        [5]宋思盛,肖開健.基于TS201的通用并行信號(hào)處理板設(shè)計(jì)[J].火控雷達(dá)技術(shù),2008,37(2):65-68.

        [6]李冬仙,王斌,吳瑛.短波寬帶陣列信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2008,34(3):52-54.

        [7]張澤云,趙宏生,徐朝陽.基于ADSP-TS201S的雷達(dá)信號(hào)處理研究[J].艦船電子對(duì)抗,2011,34(3):46-48.

        猜你喜歡
        信號(hào)處理寄存器中斷
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        《信號(hào)處理》征稿簡(jiǎn)則
        《信號(hào)處理》第九屆編委會(huì)
        《信號(hào)處理》征稿簡(jiǎn)則
        《信號(hào)處理》第九屆編委會(huì)
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        欧美激情肉欲高潮视频| 亚洲国产欧美在线观看| 国产日产综合| 精品国产一区二区三区久久狼 | 久久久精品国产亚洲av网| 一区二区三区中文字幕在线观看| 亚洲午夜狼人综合影院| 永久免费人禽av在线观看 | 国产综合精品久久亚洲| 一区二区视频网站在线观看| 内射爆草少妇精品视频| √天堂资源中文www| 久久www免费人成人片| 国产成人午夜福利在线小电影| 女优免费中文字幕在线| 亚洲女厕偷拍一区二区| 色老板美国在线观看| 免费国产黄网站在线观看| 91国在线啪精品一区| 91九色国产在线观看| 风骚人妻一区二区三区| 国精品人妻无码一区免费视频电影| 成人无码一区二区三区网站| 国产精品自线在线播放| 少妇精品偷拍高潮少妇在线观看| 欧美熟妇另类久久久久久多毛| 一本一道波多野结衣av中文| 女人体免费一区二区| 亚洲一区二区丝袜美腿| 少妇下面好爽好紧好湿一区二区| 野外亲子乱子伦视频丶| 无码毛片aaa在线| 亚洲天堂免费一二三四区| 国产免费一区二区在线视频| 妺妺窝人体色www看人体| 日韩人妻精品无码一区二区三区 | 亚洲精品综合一区二区| 欧美又大粗又爽又黄大片视频| 亚洲欧美一区二区三区在线| 国产精品美女黄色av| 中文字幕视频一区懂色|