0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為了在嵌入式系統(tǒng)中實(shí)現(xiàn)高效的信號處理請使用DSP

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:Jerry McGuire ? 2023-01-31 10:00 ? 次閱讀

電子設(shè)備應(yīng)用越來越多地涉及信號處理。家庭影院、計算機(jī)圖形學(xué)、醫(yī)學(xué)成像和電信都依賴于信號處理技術(shù)。信號處理需要在復(fù)雜但重復(fù)的算法中進(jìn)行快速數(shù)學(xué)運(yùn)算。許多應(yīng)用需要實(shí)時計算:即,信號是時間的連續(xù)函數(shù),必須對其進(jìn)行采樣并將其轉(zhuǎn)換為數(shù)字,以進(jìn)行數(shù)值處理。因此,處理器必須執(zhí)行算法,在樣本到達(dá)時對樣本執(zhí)行離散計算。

數(shù)字信號處理器(DSP)的架構(gòu)經(jīng)過優(yōu)化,可處理此類算法。一個好的信號處理引擎的特點(diǎn)包括:快速、靈活的算術(shù)計算單元(例如,乘法器、累加器、桶形移位器);進(jìn)出計算單元的不受約束的數(shù)據(jù)流;擴(kuò)展計算單元的精度和動態(tài)范圍(以避免溢出并最大限度地減少舍入誤差);雙地址發(fā)生器(用于同時處理二元運(yùn)算的兩個輸入);高效的程序排序(包括有效處理循環(huán)和中斷的能力);和易于編程

DSP與精簡指令集計算機(jī)(RISC)具有其中一些共同特征。此外,兩者都是圍繞某些核心指令構(gòu)建的,使它們能夠以非常高的指令速率運(yùn)行;兩者都避開了內(nèi)部微碼。然而,它們是根本不同的“動物”。RISC和DSP之間的差異在處理器的

計算單位

數(shù)據(jù)地址生成器

內(nèi)存架構(gòu)

中斷功能

循環(huán)硬件

條件指令

界面特點(diǎn)

DSP 屬于兩個基本類:定點(diǎn),一種基于 16 位整數(shù)數(shù)據(jù)類型的(通常)16 位架構(gòu),以及浮點(diǎn),通常具有 32 位架構(gòu),基于同時具有尾數(shù)和指數(shù)的數(shù)據(jù)類型。

poYBAGPYdwKAE3vrAACaYYaOBjI610.png

圖1.SHARC 內(nèi)部架構(gòu)。

計算單元:DSP都包含并行硬件乘法器以支持單周期乘法,其乘法器通常在單個周期中組合乘法和累加。DSP 具有專用累加器,其寄存器明顯寬于標(biāo)稱字大小,以保持精度,例如 32 位 ADSP-2106x SHARC 系列中的 80 位(圖 1)。硬件可能支持從累加器溢出中恢復(fù),如ADSP-21xx系列。此外,DSP都包含功能齊全的算術(shù)邏輯單元(ALU),與乘法器無關(guān)。

ALU 可能具有特殊功能,例如能夠同時生成求和和差分以加速快速傅里葉變換 (FFT) 中的內(nèi)核例程,F(xiàn)FT 是一種用于在時域和頻域之間轉(zhuǎn)換信號的算法。高級DSP將在計算單元中包含飽和邏輯,以防止數(shù)據(jù)溢出。它還可以提供零開銷(即,不需要額外的時鐘周期)陷阱來中斷算術(shù)異常的例程。

復(fù)雜的DSP還可能包含單周期桶移器(即能夠在一個時鐘周期內(nèi)將一個單詞向左或向右移動任意數(shù)量的位),以及用于數(shù)據(jù)縮放,數(shù)據(jù)壓縮/擴(kuò)展或打包/解包和位操作的優(yōu)先級編碼器。它還可能包括專用硬件,以最大限度地減少快速除法、平方根和超越函數(shù)計算所需的時間。具有這些特殊功能的計算元件在RISC處理器上找不到。

地址生成: 高效的DSP將使其計算單元至少提供來自兩個獨(dú)立數(shù)據(jù)地址生成器的數(shù)據(jù)。分接延遲塊和系數(shù)緩沖器是DSP的特征,但在通用計算中大多是未知的。高效的DSP需要循環(huán)緩沖器硬件來支持緩沖器。循環(huán)緩沖區(qū)指針需要每個周期更新,而不會產(chǎn)生開銷。此外,緩沖區(qū)結(jié)束的比較測試需要一個無延遲命令來重置緩沖區(qū)結(jié)束處的指針。另一方面,RISC處理器需要為每個比較測試提供一個額外的周期。

內(nèi)存架構(gòu): DSP 通常支持與通用計算系統(tǒng)不同的系統(tǒng)存儲器架構(gòu)。DSP采用哈佛架構(gòu),允許從兩個不同的外部存儲器持續(xù)單周期訪問兩個單詞的數(shù)據(jù)。例如,ADI公司的SHARC DSP具有集成在片內(nèi)的2或4 Mb雙端口SRAM。該內(nèi)存是直接尋址的,而不是像RISC處理器那樣的緩存。對于CPU來說,這種片上存儲器看起來像一個獨(dú)特的存儲器,而不僅僅是系統(tǒng)中其他位置的存儲器的高速復(fù)制品。原因是DSP通常是嵌入式處理器。它們的片上存儲器通常足以容納任務(wù)所需的完整、重復(fù)的DSP程序。每個內(nèi)存塊都是雙端口,用于內(nèi)核處理器和 I/O 處理器或 DMA 控制器進(jìn)行單周期獨(dú)立訪問(圖 2)。雙端口存儲器和獨(dú)立的片上總線允許在一個周期內(nèi)從內(nèi)核傳輸兩個數(shù)據(jù),從I/O傳輸一個數(shù)據(jù)。

中斷功能: 由于DSP旨在在實(shí)時系統(tǒng)中運(yùn)行,因此高效、復(fù)雜且可預(yù)測的中斷處理對于DSP至關(guān)重要。RISC處理器具有高度流水線的架構(gòu),往往具有緩慢的中斷響應(yīng)時間和有限的中斷能力。上下文切換應(yīng)該非常快。高級DSP,如新型ADSP-21csp01和ADI公司的ADSP-2106x浮點(diǎn)系列,支持完整的替代寄存器集,允許單周期上下文切換以支持中斷處理。(寄存器文件窗口不同,因為它的目的是加速參數(shù)傳遞,而不是保存整個上下文。

除內(nèi)部中斷外,高級DSP還將支持至少四個獨(dú)立的外部中斷。中斷延遲將保持在幾個周期內(nèi),并且必須是可預(yù)測的。中斷應(yīng)該是可嵌套的和可優(yōu)先的。此外,應(yīng)該很容易實(shí)時啟用和禁用特定中斷。

硬件循環(huán):高效環(huán)路對于數(shù)字信號處理至關(guān)重要,因為信號處理算法是重復(fù)的。一個好的DSP將支持具有專用內(nèi)部硬件的零開銷環(huán)路。也就是說,芯片將監(jiān)控環(huán)路條件和終止,以與所有其他操作并行決定是否將程序計數(shù)器或分支遞增到環(huán)路頂部,而不會造成周期時間損失。另一方面,RISC處理器必須在每個循環(huán)結(jié)束時進(jìn)行測試和分支,每個循環(huán)和每次通過至少要花費(fèi)一個額外的周期。嵌套循環(huán)在信號處理算法中也很常見;DSP 環(huán)路硬件應(yīng)支持至少四級嵌套環(huán)路的深度。RISC處理器尚未發(fā)展到支持這些基本的信號處理需求。

條件執(zhí)行:數(shù)據(jù)相關(guān)執(zhí)行對于信號處理非常重要。因此,ADSP-2100系列和ADSP-2106x SHARC浮點(diǎn)系列等高級DSP支持有條件地執(zhí)行其大部分基本指令:在單個指令中,處理器測試條件代碼,如果為真,則在同一周期內(nèi)執(zhí)行操作。這可以對計算密集型算法產(chǎn)生巨大的影響。英特爾在 i860 中發(fā)現(xiàn)了這個問題,并添加了一個圖形單元來處理高性能 Z 緩沖所需的條件存儲操作。

接口DSP基于來自模數(shù)轉(zhuǎn)換器的實(shí)際信號工作,并將結(jié)果發(fā)送到D/A轉(zhuǎn)換器。因此,DSP通常包含串行端口,用于與這些設(shè)備進(jìn)行廉價接口。高級DSP增加了硬件以提高操作效率,例如雙緩沖和自動緩沖。由于這些輸入/輸出信號可能來自非線性編解碼器,因此高級DSP可能具有用于零開銷A律和μ律擴(kuò)容的專用硬件。此外,串行端口可能具有簡化與T1和CEPT數(shù)據(jù)傳輸線接口的功能。

poYBAGPYdvqAF-xqAABSBYRYyL0035.png

圖2.高效的 SHARC 內(nèi)存架構(gòu)允許 I/O 帶寬跟上計算速度。

SHARC串行端口旨在通過靈活的硬件最大限度地提高吞吐量,但針對各種信號類型進(jìn)行了調(diào)整。它們的特點(diǎn)包括:每個串行端口可以自動接收和/或發(fā)送整個數(shù)據(jù)塊,獨(dú)立發(fā)送和接收每個數(shù)據(jù)緩沖寄存器以及移位寄存器,TDM多通道模式。

編程注意事項: 曾經(jīng),DSP和RISC之間的顯著區(qū)別在于它們的編程模型。DSP本質(zhì)上是性能驅(qū)動的,因此DSP的編程主要使用匯編語言完成,以便從處理器獲得最佳性能。對于定點(diǎn)DSP,通常仍然如此,但使用ADSP-2100系列的直觀代數(shù)匯編語言則更容易(圖3)。在不犧牲性能的情況下,它改善了易用性問題,這個問題促使許多程序員偏愛像C這樣的高級語言。

pYYBAGPYdvKAfAz9AAA0CaVWcUY874.png

圖3.FFT 代碼示例。

另一方面,浮點(diǎn)DSP用高級語言編程效率更高。浮點(diǎn)計算避免了分?jǐn)?shù)數(shù)據(jù)類型,C 中不存在分?jǐn)?shù)數(shù)據(jù)類型。此外,體系結(jié)構(gòu)決策可能會影響編譯器效率。例如,ADSP-2106x SHARC系列的大而統(tǒng)一的地址空間使編譯器更容易分配存儲器。此外,其大而靈活的寄存器文件提高了效率。

我們產(chǎn)品戰(zhàn)略的核心是提供工具和DSP內(nèi)核,以便能夠使用高級語言對定點(diǎn)和浮點(diǎn)DSP進(jìn)行高效編程。這就是ADSP-21csp背后的驅(qū)動力,ADSP-21csp是一個新的并發(fā)信號處理器系列。然而,盡管使用高級語言,DSP程序員必須能夠在語言級別下降(以最小的痛苦)來提高時間關(guān)鍵例程的性能。

DSP設(shè)計越來越多地按照這樣的順序進(jìn)行編程:首先,用高級語言編寫和調(diào)試軟件原型。此原型通常會產(chǎn)生足夠的性能。然而,更一般地說,需要提高性能,因此在模擬中對高級代碼進(jìn)行直方圖處理,以找到需要最多執(zhí)行時間的部分。然后用匯編語言手工編碼關(guān)鍵部分。直方圖和手動編碼過程將迭代,直到達(dá)到性能目標(biāo)。

雖然DSP和RISC之間的差異很多,但這兩種架構(gòu)往往在編程領(lǐng)域趨同,這種融合是由上市時間和DSP在應(yīng)用中不斷變化的作用驅(qū)動的。程序員擅長快速開發(fā)工作C程序,使用它們更快地將產(chǎn)品推向市場。同時,DSP承擔(dān)更多的系統(tǒng)管理功能,如用戶界面或系統(tǒng)控制,并且需要提供高水平的語言效率,以與以前分配這些控制任務(wù)的μC和RISC處理器競爭。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    552

    文章

    7959

    瀏覽量

    347929
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302052
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7360

    瀏覽量

    87633
收藏 人收藏

    評論

    相關(guān)推薦

    采用光線傳感與DSP嵌入式技術(shù)實(shí)現(xiàn)地震加速度信號處理系統(tǒng)設(shè)計

    ARM和DSP作為嵌入式技術(shù)應(yīng)用在地震信號處理系統(tǒng),能很好地滿足地震加速度計對實(shí)時性、高精度以及網(wǎng)絡(luò)化的要求,因此,利用光線傳感基于ARM
    的頭像 發(fā)表于 01-10 08:44 ?4207次閱讀
    采用光線傳感與<b class='flag-5'>DSP</b><b class='flag-5'>嵌入式</b>技術(shù)<b class='flag-5'>實(shí)現(xiàn)</b>地震加速度<b class='flag-5'>信號</b><b class='flag-5'>處理系統(tǒng)</b>設(shè)計

    【TL6748 DSP申請】嵌入式分析和實(shí)時信號處理

    工作模式。因此有必要發(fā)展一種可重構(gòu)和可擴(kuò)展的通用信號處理系統(tǒng),能將信號處理機(jī)多功能化、模塊化、標(biāo)準(zhǔn)化和通用化。將嵌入式操作
    發(fā)表于 09-10 11:13

    什么是嵌入式系統(tǒng)

    和 指令 進(jìn)行了特殊設(shè)計,使其適合于實(shí)時地進(jìn)行 數(shù)字 信號處理。在數(shù)字濾波、 FFT 、譜分析等方面, DSP 算法正大量進(jìn)入嵌入式領(lǐng)域, DSP
    發(fā)表于 04-16 09:53

    怎么實(shí)現(xiàn)基于信號處理嵌入式應(yīng)用的音頻處理系統(tǒng)的設(shè)計?

    本文闡述了基于信號處理嵌入式應(yīng)用的音頻處理系統(tǒng)的設(shè)計和實(shí)現(xiàn)。
    發(fā)表于 06-08 07:07

    嵌入式技術(shù)設(shè)計專用DSP系統(tǒng)研究

    分析了用嵌入式技術(shù)設(shè)計專用DSP處理系統(tǒng)的一些基本問題。分析結(jié)果指出,嵌入式技術(shù)的專用DSP
    發(fā)表于 05-09 14:15 ?25次下載

    嵌入式處理系統(tǒng)

    嵌入式處理系統(tǒng) 嵌入式系統(tǒng)概述 嵌入式處理系統(tǒng)設(shè)計 并行計算機(jī)的組織結(jié)構(gòu)模型
    發(fā)表于 02-25 16:53 ?43次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>處理系統(tǒng)</b>

    嵌入式異構(gòu)多處理系統(tǒng)的通信實(shí)現(xiàn)

    摘要:提出一種嵌入式異構(gòu)多處理系統(tǒng)的結(jié)構(gòu)模型,論述這種系統(tǒng)的通信機(jī)制,并闡述基于這種嵌入式
    發(fā)表于 03-01 01:34 ?47次下載

    JPEG2000算法嵌入式塊編碼的DSP高效實(shí)現(xiàn)策略

    JPEG2000算法嵌入式塊編碼的DSP高效實(shí)現(xiàn)策略
    發(fā)表于 10-20 09:40 ?4次下載
    JPEG2000算法<b class='flag-5'>嵌入式</b>塊編碼的<b class='flag-5'>DSP</b><b class='flag-5'>高效</b><b class='flag-5'>實(shí)現(xiàn)</b>策略

    集成DSP與微處理器內(nèi)核的嵌入式系統(tǒng)應(yīng)用分析

    嵌入式應(yīng)用包括信號處理算法與控制算法,多種實(shí)時嵌入式系統(tǒng)
    發(fā)表于 10-21 10:35 ?0次下載
    集成<b class='flag-5'>DSP</b>與微<b class='flag-5'>處理</b>器內(nèi)核的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>應(yīng)用分析

    淺析DSP嵌入式系統(tǒng)的應(yīng)用特性

    DSP嵌入式系統(tǒng)最重要的技術(shù)特性就是具有相當(dāng)強(qiáng)大的數(shù)據(jù)處理功能,從現(xiàn)代信息技術(shù)角度看,系統(tǒng)
    發(fā)表于 12-12 14:20 ?2017次閱讀

    DSP高速數(shù)據(jù)處理嵌入式系統(tǒng)研究與應(yīng)用

    DSP高速數(shù)據(jù)處理嵌入式系統(tǒng)研究與應(yīng)用(物聯(lián)網(wǎng)嵌入式開發(fā))-該文檔為
    發(fā)表于 07-30 09:17 ?9次下載
    <b class='flag-5'>DSP</b><b class='flag-5'>在</b>高速數(shù)據(jù)<b class='flag-5'>處理</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>研究與應(yīng)用

    實(shí)時時鐘芯片DS1302DSP嵌入式系統(tǒng)的應(yīng)用總結(jié)

    實(shí)時時鐘芯片DS1302DSP嵌入式系統(tǒng)的應(yīng)用總結(jié)(嵌入式開發(fā)設(shè)計小游戲)-該文檔為實(shí)時時鐘
    發(fā)表于 07-30 11:31 ?6次下載
    實(shí)時時鐘芯片DS1302<b class='flag-5'>在</b><b class='flag-5'>DSP</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用總結(jié)

    DSP嵌入式系統(tǒng)的應(yīng)用實(shí)例

    DSP嵌入式系統(tǒng)的應(yīng)用實(shí)例(嵌入式開發(fā)工具軟件)-該文檔為
    發(fā)表于 07-30 13:09 ?22次下載
    <b class='flag-5'>DSP</b><b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用實(shí)例

    DSP與MCU嵌入式系統(tǒng)的應(yīng)用

    DSP與MCU嵌入式系統(tǒng)的應(yīng)用(嵌入式開發(fā)解決方案)-該文檔為
    發(fā)表于 07-30 13:11 ?12次下載
    <b class='flag-5'>DSP</b>與MCU<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用

    如何用C語言開發(fā)DSP嵌入式系統(tǒng)?

    如何用C語言開發(fā)DSP嵌入式系統(tǒng)? DSP嵌入式系統(tǒng)開發(fā)是一個非常重要的領(lǐng)域,它涉及到設(shè)備的控制
    的頭像 發(fā)表于 10-29 17:29 ?1199次閱讀