在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ADSP系列數字信號處理器件的應用

            ADSP系列數字信號處理器件的應用

            作者: 時間:2006-05-07 來源:網絡 收藏

            摘要:A是AD公司生產的浮點式系列產品,文中對幾種A系列產品的特點作了綜合描述,指出了它們各自系列的特性和數據處理能力。最后給出了ADSP系列產品應用于數字濾波器的實現(xiàn)方法和程序。

            本文引用地址:http://www.biyoush.com/article/242353.htm

            關鍵詞:超哈佛結構 ADSP 多功能指令 自動緩沖 數字濾波器

            DSP(Digital Signal Processing)芯片也稱器,它是一種特別適合于進行運算的微處理器,其主要特點是能夠實時快速地實現(xiàn)各種算法。自1980年以來,DSP芯片得到了突飛猛進的發(fā)展,現(xiàn)在DSP芯片的應用越來越廣泛。美國模擬器件公司(Analog Devisces,簡稱AD)是設計和制造DSP芯片的主要廠商之一。近年來,該公司相繼推出了一系列具有自己特點的DSP芯征,其中有定點DSP芯片ADSP2100/2100A/2101/2103/2105、ADSP2111/2115、ADSP216X以及ADSP2171/2181以用浮點DSP芯片ADSP21000/21020、ADSP2106等。

            1 浮點式ADSP芯片的特性

            1.1 ADSP2100浮點芯征特性

            ADSP21000系列浮點芯片有如下特性:

            ●快速算術處理能力

            乘法器和ALU、數據地址產生器(以下稱DAGs)、程序序列產生器可并行操作;

            ●可在單周期內完成兩個片外存儲器的讀取操作

            并行的DAGs能使兩個存儲器的讀/寫操作在一個周期內完成;

            ●動態(tài)擴展范圍

            ●32/40位IEEE標準浮點動態(tài)范圍為10E-38~10E+38,具有32位定點MACs及80位累加器;

            ●可硬件支持環(huán)形緩沖尋址,DAGs支持對兩個存儲器的環(huán)形緩沖和取模尋址;

            ●硬件無開銷循環(huán),嵌套可達6層。

            1.2 ADSP2106X浮點芯片特性

            ADSP2106X是高性能的浮點DSP芯片,采用超哈佛結構,具有四條獨立總線(兩條數據總線、一條程序總線和一條I/O總線)。它不僅具有ADSP21000系列高性能的核心處理器,而且在結構上增加了以上幾個部分;

            ●具有大容量的高效片內存儲器系統(tǒng),其中ADSP21060有4M位片內存儲器;而ADSP21062和ADSP21061分別有2M和1M位片內存儲器;

            ●內含DMA控制器和I/O處理器,允許靈活且無開銷的高速數據傳輸,其速率為240Mbytes/s;

            ●可提供與16位32位處理器的接口;

            ●具有兩個40Mbit/s的多通道串行口。

            2 ADSP芯征處理能力

            ADSP系列器件具有很強的運算能力、尋址能力和I/O操作能力,因而有著很高的性能。ADSP器件在常用的券積、濾、FFT以矩陣運算等方面效果較好。若用高級語言調用DSP板專用ADSP程序模塊,其運算速度可提高2-3個數量級。ADSP系列器件采用CMOS工藝,因而具有較低的功耗。另外,它們的指令全部兼容,并且在芯片上集成了完整的串行口硬件,從而使功能更加強大。

            2.1 運算能力

            一個性能優(yōu)良的DSP處理器必須能在單周期內完成乘與累加運算與其它運算和邏輯操作的組合。ADSP系列器件因為其內有三個獨立的計算單元ALU、MAC和桶形移位器,并經結果總線相連,且任一單元的輸出寄存器均可直接作為其它單元的輸入而被處理,因此,ADSP器件能在一個周期內完成對兩處存儲器的讀/寫操作。此外,ALU和MAC還可直接與程序存儲器及數據存儲器相連,每個運算單元都有很強的獨立性,允許任意的計算次序,從而避免了重新排序給育種員帶來的額外工作。

            2.2 數據尋址能力

            一個優(yōu)秀的DSP處理器必須能在同一單周期內從兩個不同的存儲空間存取兩個操作數,典型況是一個系數和一個數據字。ADSP系列有兩個獨立的地址發(fā)生器,一個用于從程序存儲器獲取數據的地址,另一個則用于數據存儲器。每個地址發(fā)生器有8個I(Index)寄器存放地址指針和8個M(Modify)寄存器修改地址,同時具有8個L(Length)寄存器存儲循環(huán)緩沖器尋址的緩沖區(qū)長度。

            當一個地址被送到地址總線時,地址發(fā)生器將該地址作碼位反轉,并為FFT提供了零額外開銷的碼位反轉。循環(huán)緩沖是由地址發(fā)生器硬件支持的,對于全部8個循環(huán)緩沖器,地址發(fā)生器可同時維持其中的4個。循環(huán)緩沖器的內容可放置在數據存儲器或程序存儲器中,并把緩沖區(qū)長度加載到長度寄存器中。當地址指針達到或超過緩沖區(qū)邊界時會被模邏輯檢測到并自動完成指針回繞工作,在緩沖區(qū)可作前向或后向操作,其步長為任意值,但必須小于緩沖區(qū)長度。直接尋址舉例如下:

            MXO=DM(標號);

            指令24位寬度,指令中可指定一個14位地址(標號)。

            間接尋址舉例:

            寄存器=DM(I0,M3);

            由數據存儲器加載寄存器,并用M3修改I0。

            2.3 程序定序能力

            程序定序效率主要集中在兩方面:第一是循環(huán)執(zhí)行;第二是如何處理循環(huán)轉移和條件轉移。

            ADSP系列的程序定序器支持零額外開銷的“DO UNTIL”循環(huán)。該處理器利用計數堆棧、環(huán)堆棧和循環(huán)比較可以確定是否應終止一個循環(huán),并轉到下一條指令而不需額外開銷周期。

            下例是一個3條指令的循環(huán)程序,它被設計成重復100次:

            CNTR=100;

            DO label UNTIL CE

            First instruction of Loop

            Second instruction of Loop

            Label:Last instruction of loop;

            First instruction outside Loop;

            該程序的循環(huán)機理是自動的,其堆棧和計數器的操作及程序流程均由定序器邏輯來處理??芍С?級循環(huán)嵌套(浮點DSP支持6級循環(huán)嵌套),如矩陣操作、二維處理以及FFI這樣的常用算法,都得益于循環(huán)嵌套能力。

            ADSP系列有許條件指令,其中大部分運算指令、跳轉、子程序調用、中斷或子程序返回都是有條件的。踱定序器在運行時,不需額外開銷就可確定該條件是否滿足,并確定采取什么行動。

            有關條件指令的用法舉例如下:

            IF Condition JUMP Label;

            IF Condition JUMP I4;

            IF Condition CALL Label;

            I4表示于間接跳轉的地址發(fā)生器寄存器;Condition是指處理器16個運算條件中的任一個;Label是指任一地址或程序存儲空間的標號。

            在中斷發(fā)生或子程序調用時,處理器狀態(tài)能自動保存在服務子程序中,無需狀態(tài)引退和恢復。

            2.4 I/O操作能力

            ADSP2111/2101可與單字節(jié)寬EPROM直接接口,能有效地引導加載程序而無需附加任何部件。被引導的存儲空間由一個外部64×8位的空間組成,它分為8頁(8k×8位)。復位時,零引導頁被自動傳到ADSP2111/2101的內部RAM中。

            它的串行口能以該處理器的速度全速操作,其發(fā)送字和接收字的寬度可編程,能設為3到16的任意數值。串行口還允許自動緩沖。在規(guī)定好緩沖區(qū)長度、緩沖區(qū)首地址和修改值后,它便能自動更新地址。當每個字通過串行口被傳送時,數據被自動讀出或寫入寄存器,而無需產生中斷。另外,ADSP2111/2101還具有如下特點:

            ●每個串行口具有獨立的發(fā)送和接收硬件。采用雙緩沖寄存器,可在一個時鐘周期內同時完成壓擴,從而實現(xiàn)全雙工,μ律和A律壓擴功能可任意選擇。

            ●接口靈活。每個串行口均工作在自己的串行口時鐘SCLK下,SCLK和幀同步信號既可由外部輸入,也可內部產生。數據字長在3-16bit之間變。

            ●使用獨立的收、發(fā)幀信號定義串行數據字的傳輸開始,可選擇需不需要幀同步,長幀還是短幀,電平觸發(fā)還是邊沿觸發(fā)。

            ●自動緩沖功能。當設定為自動緩沖模式后,串行口會自動接收發(fā)送一整塊的數據,不需要軟件開銷,僅當緩沖區(qū)的指針產生回繞時產生一個中斷請求。

            ●多路能力。SPORT0具有多路選擇接收和發(fā)送功能,可從24或32路時分復用比特流中選取某時隙的有效數據字。

            每個串行口各有五條引腳與外圍電路連接。SCLK(時鐘)、RFS(接收幀同步)、TFS(發(fā)送幀同步)、DR(數據接收)和DT(數據發(fā)送)。

            2.5 ADSP2106X的DMA處理能力

            ADSP2106X的片內Direct Memory Access(DMA)功能可提供一種進行整塊數據傳輸的機制。這使得ADSP2106X的內部存儲器和外部存儲器、外設或主處理器、串行口之間能夠進行DMA傳輸。外部存儲器和外設之間也能進行DMA傳輸。在數據傳輸過程中,ADSP2106X的片內DMA控制器發(fā)揮著關鍵作用。DMA控制器可獨立操作,且核心處理器不可見。它允許核心處理器在運行程序和指令的同時進行DMA數據傳輸,以減輕核心處理器在數據傳輸過程中的壓力。

            3 數字模型的建立和算法的實現(xiàn)

            為實現(xiàn)對某特定頻率的濾波,程序中共使用了兩種數字模型。(采用的是ADSP21XX定點處理器)。

            3.1 諧振器合成濾波器

            對某特定頻率進行濾波的諧振器合成濾波器是利用對前兩個數據和當前數據的相關性來實現(xiàn)的。這在算法實現(xiàn)上要比以往的FFT、IIR等傳統(tǒng)濾波器容量得多,其主要優(yōu)點是節(jié)省指令。對某頻率數據的處理如圖1所示。圖中Ya的取得與前N個數據相關,其算式為:

            Ya=X(n)-RNX(n-N);

            Yb與前n-2個數據相關,其算式為:

            Yb=Ya(n)-Rya(n-2);

            對于Yn的獲得則通過一個揩振器對Yb進行處理,其處理算式為:

            Yn=∑Yb(n)+Yc(n-1)×2cos(2kπ/N)-Ryc(n-2)

            其中N值取決于所要求的帶寬和采產頻率。由于我們處理的是PCM脈碼信號,故取采樣頻率f0=8kc,根據實際情況,建議取帶寬為50Hz為佳。

            則有:

            N=f0/△f=8kc/25=320

            關于系數R的取值,可取經驗值0.99。然后將R和cos的乘積作成一個固定系數。對應于700、900、1100、1300、1500、1700六個基準頻率的值分別為0X6C0C、0C605C、0X524C、0X4236、0X327E、0X1D95。

            采用ADSP匯編語言來實現(xiàn)這一設計的程序如下:

            mx0=dm(i3,m0);

            my0=dm(const-r);

            mr=mx0×my0(ss);

            ar=ay0-mr1;

            ay0=ar; {Yb}

            cntr=6;

            do result until ce;

            mx0=dm(i2,m1);

            my0=dm(const-rs);

            mr=mx0×my0(ss);

            mx0=dm(i2,m2);

            my0=pm(i5,m5);

            af=ay0-mr1;

            mr=ay0-mr1;

            mr=mx0×my0(ss);

            ar=mr1+af; {Yn}

            dm(i2,m1)=mx0;

            result:dm(i2,m1)=ar;

            圖2為用700Hz程序運行時,在示波器上所看見的波形。

            3.2 水缸判別

            對濾波器濾出的數據進行水缸積累,使之達到一種動態(tài)平衡,讓其在有數據時水缸漸滿,無數據時水缸不變。這時有:

            A=Yc(M+A-A)M

            其中M的取值取決于所要計算的數據的多少,本程序中取M=128;圖3為700Hz的水缸判別圖。

            當曲線超過A時,表示數據已有,在A和B之間的數據表示700Hz的頻率已捕獲。對不同值的信號可調節(jié)A、B的值,使它們達到一種公共值。

            用ADSP匯編語言來實現(xiàn)這一設計的程序如下:

            (對700Hz,采用8kc采樣)

            AR=DM(I2,M3);

            AR=ABS AR;

            AY0=DY(I1,M0);

            AR=AR-AY0;

            SR=ASHIFT AR BY-6(LO);

            AR=SR0+AY0;

            DM(I1,M3)=AR;

            AR=AR-AY1;

            IF GT JUMP判別處理;

            該算法可用于對某些特定頻率的濾波,這在實際工作中效果非常明顯。



            評論


            相關推薦

            技術專區(qū)

            關閉