DSP系統(tǒng)與設(shè)計(jì)-第1章-數(shù)字信號(hào)處理概述

第1章 數(shù)字信號(hào)處理概述

1.1 DSP技術(shù)概念

ARM與DSP區(qū)別

  • ARM具有比較強(qiáng)的事務(wù)管理功能

  • DSP主要是用來(lái)計(jì)算的,優(yōu)勢(shì)是強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度,適合于一些專業(yè)領(lǐng)域的應(yīng)用

1.2 數(shù)字信號(hào)處理的優(yōu)勢(shì)

  1. 可控性強(qiáng)

通過(guò)改變程序使微處理器實(shí)現(xiàn)不同的功能

功能 實(shí)現(xiàn)方法
數(shù)字濾波器 通過(guò)改變程序中的系數(shù)來(lái)實(shí)現(xiàn)低通、高通、帶通等不同的濾波任務(wù)及性能
自適應(yīng)濾波器 系統(tǒng)參數(shù)隨輸入信號(hào)的改變而改變
軟件無(wú)線電技術(shù) 在一個(gè)統(tǒng)一的以高性能DSP處理器為核心的硬件平臺(tái)上,加載不同的程序來(lái)實(shí)現(xiàn)不同工作模式的電臺(tái)通信
虛擬儀器技術(shù) 是以在同一硬件平臺(tái)上獲取外部采樣信號(hào),編寫(xiě)不同的軟件來(lái)實(shí)現(xiàn)傳統(tǒng)儀器的測(cè)量任務(wù),甚至更為復(fù)雜的信號(hào)運(yùn)算、信號(hào)產(chǎn)生等功能
  1. 穩(wěn)定性好

  2. 可重復(fù)性好

  3. 抗干擾性強(qiáng)

  4. 實(shí)現(xiàn)自適應(yīng)算法

  5. 數(shù)據(jù)壓縮

  6. 大規(guī)模集成

  • 模擬信號(hào)處理不可替代的原因
    • 自然界的絕大多數(shù)信號(hào)都是模擬信號(hào)
    • 模擬信號(hào)處理系統(tǒng)從根本上來(lái)說(shuō)是實(shí)時(shí)的
    • RF信號(hào)的處理要由模擬系統(tǒng)來(lái)完成

1.3 實(shí)時(shí)數(shù)字信號(hào)處理概念

實(shí)時(shí)指的是系統(tǒng)必須在有限的時(shí)間內(nèi)完成外部輸入信號(hào)的指定處理,即信號(hào)處理速度必須大于等于輸入信號(hào)更新的速度,而且從信號(hào)輸入到處理后輸出的延遲必須足夠的小。

決定實(shí)時(shí)性因素
常見(jiàn)信號(hào)的典型速率
  1. 音頻信號(hào)

    采樣時(shí)鐘44.1KHz,字長(zhǎng)16bit,數(shù)據(jù)率為88.2KBps:

    實(shí)時(shí)處理速度至少為88.2KBps:44.1k×2字節(jié)=88.2KBps

  2. 視頻信號(hào)

    一幀畫(huà)面512×512點(diǎn)陣,每個(gè)像素點(diǎn)用16個(gè)色階表示,當(dāng)傳輸速率為30幀/秒時(shí),則數(shù)據(jù)率15MBps

    則實(shí)時(shí)處理速度至少為15MBps :512×512×2×30=15728640=15MBps

    通常1080p的畫(huà)面分辨率為1920×1080,幀率為60Hz,數(shù)據(jù)率約為250MBps

  3. 結(jié)論

    對(duì)實(shí)時(shí)信號(hào)處理素的的要求與原始模擬信號(hào)帶寬及數(shù)據(jù)格式(字長(zhǎng)、維數(shù))、算法復(fù)雜程度等因素時(shí)密切相關(guān)的。

1.4 實(shí)時(shí)DSP系統(tǒng)的組成

1.4.1 DSP子系統(tǒng)實(shí)現(xiàn)方式

  • 通用微計(jì)算機(jī)

    利用統(tǒng)一的平臺(tái),編寫(xiě)軟件,實(shí)現(xiàn)不同的功能。這種方法缺點(diǎn)是速度太慢,不能用于實(shí)時(shí)系統(tǒng),只能用于仿真研究。

  • 加速處理模塊

    在通用微機(jī)內(nèi)部加入專用的加速處理模塊,微機(jī)作為系統(tǒng)控制使用。缺點(diǎn)是不適合嵌入式應(yīng)用。

  • 單片機(jī)(MCS51)

    單片機(jī)采用的是馮?諾依曼總線結(jié)構(gòu),用它構(gòu)成的系統(tǒng)比較復(fù)雜,尤其是乘法運(yùn)算速度慢,在運(yùn)算量大的實(shí)時(shí)控制系統(tǒng)中很難有所作為。

  • 專用DSP芯片

    專用DSP芯片可用于FFT、FIR、卷積、相關(guān)等高速運(yùn)算。一般速度較快,但是靈活性較差,而且開(kāi)發(fā)工具不完善。

  • 可編程FPGA器件

    利用VHDL或是VerilogHDL硬件開(kāi)發(fā)語(yǔ)言,通過(guò)軟件編程來(lái)改變FPGA內(nèi)部門陣列結(jié)構(gòu),最終用硬件實(shí)現(xiàn)特定數(shù)字信號(hào)處理算法。這種實(shí)現(xiàn)方法具有通用性、并行性,一般作為DSP芯片的協(xié)處理器。

  • 通用可編程DSP芯片

    通用可編程DSP芯片有著更適合于數(shù)字信號(hào)處理的硬件特點(diǎn)和指令系統(tǒng),而且其性價(jià)比隨著微電子的發(fā)展不斷提高,非常適合實(shí)現(xiàn)性能要求高的應(yīng)用領(lǐng)域。

1.4.2 通用DSPs構(gòu)成的子系統(tǒng)

  1. DSP典型系統(tǒng)框圖:
  1. 前向通道示意圖:
  1. 后向通道示意圖:

1.4.3 DSP系統(tǒng)典數(shù)據(jù)處理方式

數(shù)據(jù)流處理(Stream Processing)

數(shù)據(jù)是在一個(gè)輸入樣本到達(dá)后,就立即開(kāi)始進(jìn)行與該樣本有關(guān)的運(yùn)算,并在下一個(gè)樣本到達(dá)之前完成。這種在下一個(gè)樣本輸入之前完成上一個(gè)樣本處理的方法稱為數(shù)據(jù)流處理方式。

例如數(shù)字FIR濾波。

  • 特點(diǎn):每接收一個(gè)樣本,就做一次新的運(yùn)算。輸入樣本周期與輸出樣本周期保持一致。

  • 優(yōu)點(diǎn):其結(jié)果是隨時(shí)更新的。輸出樣本和其影響的輸出結(jié)果之間的時(shí)延達(dá)到理論的最小值。

  • 缺點(diǎn):要求處理器的速度必須足夠高,能在下一個(gè)樣本到達(dá)之前完成所有計(jì)算。

塊處理(Block Processing)

首先將輸入樣本存放到存儲(chǔ)器中,當(dāng)L個(gè)輸入樣本都到達(dá)以后,才開(kāi)始處理。這種同時(shí)處理多個(gè)樣本的方法稱為塊處理技術(shù),也叫幀處理(Frame Processing)。

在塊處理技術(shù)中,輸入樣本按組存儲(chǔ),當(dāng)有足夠多的樣本到達(dá)后,開(kāi)始處理這個(gè)樣本塊。主要應(yīng)用在輸出采樣率小于輸入采樣率(采用間隔T)的場(chǎng)合,其計(jì)算時(shí)間限制在LT以內(nèi)。

譬如傅里葉變換運(yùn)算。

  • 優(yōu)點(diǎn):減少頻繁讀寫(xiě)存儲(chǔ)器所帶來(lái)的額外開(kāi)銷,獲得較高處理效率;可以使用較低速度的處理器。
  • 缺點(diǎn):時(shí)延以及足夠的存儲(chǔ)空間。

矢量處理(Vector Processing)

同時(shí)處理多路輸入/輸出信號(hào)的方法,稱為矢量處理技術(shù)。

通常情況下,矢量處理用來(lái)計(jì)算兩個(gè)信號(hào)之間的相關(guān)程度。

1.5 通用DSPs芯片概述

1.5.1 發(fā)展歷程

  1. 第一代——20世紀(jì)70年代末80年代初

    特點(diǎn):采用了哈佛結(jié)構(gòu),內(nèi)部設(shè)置硬件乘法器。

  2. 第二代——20世紀(jì)80年代中期

    特點(diǎn):與第一代相比,在功能、速度及內(nèi)存容量方面有了很大突破,強(qiáng)化完善了指令功能及尋址方式。

  3. 第三代——20世紀(jì)80年代末

    特點(diǎn):高速、多功能、大內(nèi)存,并能進(jìn)行32位浮點(diǎn)運(yùn)算。

  4. 第四代——20世紀(jì)90年代末

    特點(diǎn):

    1. 支持片內(nèi)多核或多片并行工作
    2. 片內(nèi)海量的存儲(chǔ)器,包括Cache
    3. 增強(qiáng)的DMA控制器
    4. 豐富的外設(shè)及片內(nèi)資源
    5. 低功耗,小尺寸

1.5.2 DSP芯片的分類

  • 按基礎(chǔ)特性分:工作時(shí)鐘和指令類型
  • 按數(shù)據(jù)格式分:定點(diǎn)和浮點(diǎn)
  • 按用途分:通用和專用

定點(diǎn)與浮點(diǎn)DSP芯片

  1. 定點(diǎn)DSP芯片:數(shù)據(jù)格式用整數(shù)和小數(shù)表示結(jié)構(gòu)較簡(jiǎn)單,MAC速度較快,運(yùn)算精度低,動(dòng)態(tài)范圍小:一般16bit
  2. 浮點(diǎn)DSP芯片:數(shù)據(jù)格式用指數(shù)和尾數(shù)形式表示結(jié)構(gòu)較復(fù)雜,主頻較低,功耗較高,但運(yùn)算精度高,動(dòng)態(tài)范圍大:32bit

TI公司DSP芯片類別

  1. C2000系列:面向自動(dòng)控制領(lǐng)域,全部為16位定點(diǎn)DSP。該系列中的一些型號(hào)具有片內(nèi)FLASH RAM,如TMS320F24x, TMS320LF240x等。TI所有DSP中,也只有 C2000有FLASH。作為控制器,C2000系列除了有DSP核以外,還有大量的外設(shè)資源,如A/D、定時(shí)器、各種串口、WATCHDOG、CAN總線、PWM發(fā)生器、數(shù)字IO腳等等。

  2. C5000系列:面向通信、信息技術(shù)領(lǐng)域,定點(diǎn)低功耗系列,特別適用于手持通訊產(chǎn)品,如手機(jī)、PDA、GPS等。目前的處理速度一般在80MIPS一400MIPS。C5000系列主要分為C54xx 和C55xx兩個(gè)系列。

  3. C6000系列:面向圖像、視頻等高性能處理場(chǎng)合, 32位的高性能的DSP芯片,目前處理速度從800MIPS-2400MIPS。其中,C62XX為定點(diǎn)系列, C67XX和C64XX為浮點(diǎn)系列。

  4. OMAP系列 :OMAP處理器集成ARM的命令及控制功能,另外還提供DSP 的低功耗實(shí)時(shí)信號(hào)處理能力,最適合移動(dòng)上網(wǎng)設(shè)備和多媒體家電。

  5. Davinci:TMS320DM644x 架構(gòu)是一款高度集成的片上系統(tǒng)(SoC),集成了數(shù)字視頻所需的許多外部組件。其主要應(yīng)用為網(wǎng)絡(luò)照相機(jī)、機(jī)頂盒、視頻電話、醫(yī)療成像等。

  6. C3X系列:浮點(diǎn)系列,非主流產(chǎn)品,VC33仍在廣泛使用,但其速度較低,最高在150MIPS,但功耗較低。

1.6 DSPs芯片主要結(jié)構(gòu)特點(diǎn)

1.6.1 哈佛總線結(jié)構(gòu)

  • 通用微處理器CPU:馮·諾伊曼總線結(jié)構(gòu)

    • 數(shù)據(jù)、程序空間共享
    • 數(shù)據(jù)、程序總線復(fù)用
  • 數(shù)字信號(hào)處理器芯片DSP:哈佛總線結(jié)構(gòu)

    • 數(shù)據(jù)、程序空間獨(dú)立

    • 數(shù)據(jù)、程序總線分離

1.6.2 流水技術(shù)

流水技術(shù)是將各指令的各個(gè)步驟重疊起來(lái)執(zhí)行,即使得若干條指令的不同執(zhí)行階段可以處于同一時(shí)刻并行處理,這樣每一個(gè)階段稱作一個(gè)流水。

流水技術(shù)是提高DSPs程序執(zhí)行效率的另一個(gè)主要手段。

對(duì)比非流水指令執(zhí)行,每一個(gè)時(shí)刻只執(zhí)行一條指令的一個(gè)執(zhí)行階段:

TMS320C62x/64x系列DSP流水線結(jié)構(gòu):

TMS320C62x/64xDSP流水結(jié)構(gòu)
縮寫(xiě) 含義
PG 程序地址產(chǎn)生
PS 程序地址發(fā)送
PW 程序地址等待
PR 程序取指包接收
DP 指令分配
DC 指令譯碼
E1-E5 執(zhí)行級(jí)的5個(gè)節(jié)拍

1.6.3 硬件乘法器和乘-加(MAC)指令

硬件乘法器和乘-加指令可以在單周期內(nèi)取兩個(gè)操作數(shù)相乘,并將乘積加到累加器里。

硬件乘法器基本結(jié)構(gòu)如下所示:

image-20210607111407055

1.6.4 專用尋址單元

DSPs通常都有支持地址計(jì)算的算術(shù)單元——地址產(chǎn)生器。地址產(chǎn)生器與ALU并行工作,地址的計(jì)算不再額外占用CPU時(shí)間。

尋址方式:DSPs的地址產(chǎn)生器一般都支持直接尋址、間接尋址, 完成地址的加減運(yùn)算,而且有DSPs還能夠支持位反轉(zhuǎn)尋址(用于FFT計(jì)算)和循環(huán)尋址(用于FIR計(jì)算)。

1.6.5 獨(dú)立的直接存儲(chǔ)器訪問(wèn)(DMA)總線

DSP處理器為DMA單獨(dú)設(shè)置了完全獨(dú)立的總線和控制器,在數(shù)據(jù)傳輸時(shí)不影響CPU及其相關(guān)總線的工作。DMA也是多核處理器之間進(jìn)行數(shù)據(jù)傳輸?shù)闹饕ǖ馈?/p>

1.6.6 豐富的外設(shè)

  • 時(shí)鐘發(fā)生器(振蕩器與鎖相環(huán)PLL)
  • 定時(shí)器(Timer),看門狗(watchdog)
  • 軟件可編程等待狀態(tài)發(fā)生器
  • 同步串口(SSP)、異步串口(ASP) 、主機(jī)接口(HPI)
  • JTAG邊界掃描邏輯電路(IEEE 1149.1標(biāo)準(zhǔn))
  • CAN總線、PCI總線、以太網(wǎng)接口,I^2C接口
  • DMA控制器
  • ADC
  • USB,USB OTG,MMC/SD
  • EMIF(DDR2)

1.7 DSP處理器實(shí)現(xiàn)高速運(yùn)算途徑

  1. 硬件乘法器及乘加單元

    支持單周期的乘法指令

    單周期的乘-加操作(MAC)

  2. 多個(gè)執(zhí)行單元

    片內(nèi)多個(gè)獨(dú)立單元并行執(zhí)行

    如TMS320C62x/67x片內(nèi)8個(gè)功能單元,指令執(zhí)行速度最高可8倍于主頻

  3. 高效的儲(chǔ)存器訪問(wèn)

image
  1. 數(shù)據(jù)格式
    DSP數(shù)據(jù)\left\{\begin{aligned} &定位芯片 \\&浮點(diǎn)芯片\end{aligned} \right.

  2. 零開(kāi)銷循環(huán)

    支持高效的循環(huán)操作,在無(wú)須花費(fèi)任何時(shí)鐘周期的情況下,實(shí)現(xiàn)FOR—NEXT循環(huán)。往往將這種特性稱為“零 開(kāi)銷循環(huán)”。

  3. 數(shù)據(jù)流的線性I/O

    為了達(dá)到高性能低成本的輸入和輸出,大多數(shù)DSP處理器都有一個(gè)或多個(gè)專門的串口或并口,并采用線性的處理機(jī)制,例如低開(kāi)銷的中斷和DMA,使得數(shù)據(jù)的傳輸不影響或盡可能少地影響處理器計(jì)算單元的工作。

  4. 專門的指令集

DSP指令集設(shè)計(jì)目的\left\{\begin{aligned} &最大限度使用處理器內(nèi)部基本硬件,提高性能 \\&程序所占存儲(chǔ)空間最小\end{aligned} \right.

1.8 DSP芯片性能指標(biāo)及選型依據(jù)

1.8.1 DSP評(píng)價(jià)方法

傳統(tǒng)性能評(píng)價(jià)

  1. MIPS 百萬(wàn)指令每秒 (Millions of Instructions per Second)
  2. MOPS 百萬(wàn)操作每秒 (Millions of Operations per Second)
  3. MFLOPS 百萬(wàn)浮點(diǎn)操作每秒 (Millions of Float Operations per Second)
  4. MACS 乘加次數(shù)每秒 (Multiply-Accumulates per Second)

誤導(dǎo)

  • 不同處理器的指令所完成的工作是不同的
  • 完成同一項(xiàng)算法所需的指令數(shù)是不同的
  • 存儲(chǔ)器的誤導(dǎo)
  • 芯片數(shù)據(jù)吞吐量的誤導(dǎo)
  • 能耗的誤導(dǎo)

完整應(yīng)用評(píng)價(jià)

  • 優(yōu)點(diǎn)

    可以完整的評(píng)估不同系列DSP芯片完成某一特定應(yīng)用任務(wù)的詳細(xì)性能指標(biāo),包括執(zhí)行時(shí)間、存儲(chǔ)器使用、 功耗等指標(biāo)。

  • 缺點(diǎn)

    • 真實(shí)的環(huán)境難以模擬,評(píng)價(jià)難以做到公平
    • 難以確保不同DSP應(yīng)用軟件的最優(yōu)
    • 評(píng)價(jià)更依賴于系統(tǒng)而非DSP本身
    • 評(píng)價(jià)系統(tǒng)成本過(guò)高

核心算法評(píng)價(jià)

BDTI (Berkeley Design Technology, Inc.) 提出了一種使用核心算法和應(yīng)用測(cè)試的方法。它是介于過(guò)于簡(jiǎn)單的MIPS類指標(biāo)和過(guò)于復(fù)雜的完全基于應(yīng)用的指標(biāo)之間的方法。核心算法是構(gòu)成大多數(shù)信號(hào)處理系統(tǒng)的基本模塊,其中包括FFT、濾波器等。

  • 優(yōu)點(diǎn)
    • 中肯性 :重點(diǎn)關(guān)注耗時(shí)
    • 指標(biāo)的寬松性:核心算法大小適度,可以規(guī)定測(cè)試向量的輸入和輸出要求
    • 便于優(yōu)化:大小適度,可以采用匯編語(yǔ)言,并針對(duì)處理器進(jìn)行優(yōu)化
    • 實(shí)現(xiàn)的寬松性:核心算法大小適度,可以在可接受的時(shí)間內(nèi)實(shí)現(xiàn)并優(yōu)化
  • BDTI核心算法
函數(shù) 描述 應(yīng)用舉例
復(fù)數(shù)塊FIR 復(fù)數(shù)塊有限沖擊響應(yīng)濾波 調(diào)制解調(diào)器的信道均衡
實(shí)數(shù)塊FIR 樣本塊數(shù)據(jù)的FIR計(jì)算 語(yǔ)音處理(G.728語(yǔ)音編碼)
單樣本FIR 實(shí)數(shù)的單樣本FIR計(jì)算 語(yǔ)音處理,通用濾波
LMS自適應(yīng)FIR 最小均方根自適應(yīng)濾波計(jì)算 信道均衡,線性預(yù)測(cè)編碼
IIR 無(wú)限沖擊響應(yīng)濾波計(jì)算 音頻處理,通用濾波
向量點(diǎn)積 兩個(gè)向量的點(diǎn)積運(yùn)算 卷積相關(guān)、多維信號(hào)處理
向量和 兩個(gè)向量疊加 圖形、聲音圖像信號(hào)組合
向量最值 求向量中最大值 糾錯(cuò)編碼,塊浮點(diǎn)運(yùn)算
Viterbi譯碼器 對(duì)卷積編碼的數(shù)據(jù)塊譯碼 糾錯(cuò)編碼
控制 轉(zhuǎn)移,壓棧,出棧,調(diào)用 控制代碼
位解包 從數(shù)據(jù)流中解出不同長(zhǎng)度數(shù)據(jù) 語(yǔ)音解壓縮,協(xié)議處理
256點(diǎn)FFT 時(shí)頻轉(zhuǎn)換 雷達(dá)、MPEG壓縮、譜分析
  • BDTI核心算法的統(tǒng)計(jì)量

統(tǒng)計(jì)量\left\{\begin{aligned} &執(zhí)行時(shí)間 \\&儲(chǔ)存器使用\\&能耗\end{aligned} \right.

控制指標(biāo)的優(yōu)化則在于存儲(chǔ)器的使用。

控制代碼的大小,基本上決定了片內(nèi)存儲(chǔ)器的大小,從而在很大程度上決定DSP處理器的成本。

  • 核心算法執(zhí)行情況的測(cè)量
    測(cè)量方式\left\{\begin{aligned} &軟件仿真周期計(jì)數(shù)——simulate \\&基于硬件的應(yīng)用開(kāi)發(fā)工具測(cè)量——emulate\end{aligned} \right.

1.8.2 選型依據(jù)

  • 速度

    運(yùn)算速度是DSP處理器一個(gè)最重要的性能指標(biāo),也是選擇DSP處理器主要因素??梢杂靡韵轮笜?biāo)來(lái)衡量:指令周期,MACS,F(xiàn)FT執(zhí)行時(shí)間,MIPS,MOPS,MFLOPS

  • 數(shù)據(jù)格式和數(shù)據(jù)寬度

    浮點(diǎn)與定點(diǎn)的選擇,字長(zhǎng)的選擇

  • **芯片資源 **:

    片內(nèi)RAM,ROM,F(xiàn)LASH等儲(chǔ)存器的大小,可擴(kuò)展空間,總線接口,I/O接口,外設(shè)資源:比如定時(shí)器,DMA,串口,PCI接口,CAN總線接口,網(wǎng) 絡(luò)接口,硬件譯碼器,PWM產(chǎn)生器,AD,HPI接口等等

  • 開(kāi)發(fā)工具

    開(kāi)發(fā)工具是否完備,開(kāi)發(fā)環(huán)境功能是否強(qiáng)大,開(kāi)發(fā)界面是否友好,是否有現(xiàn)成的庫(kù)函數(shù)

  • 支持多處理器

    雷達(dá)和聲納等高數(shù)據(jù)率和大運(yùn)算量的應(yīng)用系統(tǒng),往往需要使用多個(gè)DSP處理器。多處理器之間的連接是否容易(處理器之間通信電路時(shí)間以及成本)和 連接性能成為主要因素

  • 功耗與電源管理

    工作電壓,休眠與待機(jī)模式,外設(shè)電源控制

  • 成本

  • 封裝形式、質(zhì)量標(biāo)準(zhǔn)、供貨情況、生命周期等等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容