新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何將DSP和MCU兩者完美結(jié)合

如何將DSP和MCU兩者完美結(jié)合

——
作者:David Katz 和Richard Gentile#BSD# 時(shí)間:2005-08-31 來源:EDN電子設(shè)計(jì)技術(shù) 收藏
如何將兩者完美結(jié)合


  按照傳統(tǒng)方式,嵌入式應(yīng)用中的數(shù)字信號處理器(DSP)相對于主微控制器(MCU)起從屬作用。在這些應(yīng)用中,MCU用作系統(tǒng)控制器,而大量的數(shù)據(jù)處理留給DSP。例如,在音頻或視頻處理應(yīng)用中有可能需要人機(jī)界面管理,或者是整個(gè)系統(tǒng)的控制。


  設(shè)計(jì)方案選擇
  為完成這些任務(wù),有幾種系統(tǒng)設(shè)計(jì)方案選擇。第一種方案將芯片組合在印制電路板(PCB)上。這種方案成本高并且占用面積大,但是可適當(dāng)?shù)卣{(diào)整每個(gè)芯片的尺寸以最大限度地滿足系統(tǒng)需要。
  第二種方案是一種將組合在單個(gè)封裝內(nèi)的多芯片模塊(MCM)。這種方案的局限性是,設(shè)計(jì)工程師必須按“50/50”的時(shí)間比例分配給控制和DSP功能;例如,一旦DSP超出時(shí)間,MCU將不能完成計(jì)算任務(wù)。像第一種方案選擇一樣,當(dāng)DSP和MCU內(nèi)核獨(dú)立存在時(shí),需要兩套開發(fā)工具。
  第三種方案是將DSP功能合并到一個(gè)MCU中。這種方案只適合于直接的信號處理應(yīng)用。MCU的時(shí)鐘頻率和計(jì)算體系結(jié)構(gòu)根本上不太適合大量的數(shù)字處理。有些MCU試圖通過增加一個(gè)乘法和累加器(MAC)(DSP的一個(gè)特點(diǎn))來補(bǔ)償上述不足。但是這種方案仍然缺乏高級應(yīng)用所需要的基本的“由下至上 ”的體系結(jié)構(gòu)設(shè)計(jì) 。
  最近,已經(jīng)出現(xiàn)第四種方案它是將MCU的功能合并到一個(gè)DSP中。這類方案的一個(gè)例子是美國模擬器件公司(Anolog Device Inc.,簡稱ADI)的Blackfin™ 處理器系列。這些新型處理器具有統(tǒng)一的經(jīng)過優(yōu)化的體系結(jié)構(gòu),不僅適于數(shù)據(jù)計(jì)算,而且也適于有關(guān)的控制任務(wù)。通過平衡執(zhí)行控制任務(wù)與復(fù)雜計(jì)算的要求,這種方案可以根據(jù)系統(tǒng)實(shí)時(shí)處理的需要,完成100%的控制或者100%的計(jì)算任務(wù)。完成所有這一切任務(wù)不需要在DSP模式和MCU模式之間的模式轉(zhuǎn)換。

 ?。╰ranslation of graphics)
  System Control Blocks=系統(tǒng)控制單元
  Emulator & Test Control=仿真器和測試控制
  Voltage Regulation=穩(wěn)壓電源
  Event Controller=事件控制器
  Clock(PLL)=時(shí)鐘
  鎖相環(huán)(PLL)
  Memory DMA=存儲器
  直接存儲器存取(DMA)
  Watchdog Timer=監(jiān)視定時(shí)器
  Real Time Clock=實(shí)時(shí)時(shí)鐘
  Core=內(nèi)核
  48 KB Instruction SRAM/Cache=48 KB指令
  靜態(tài)存儲器(SRAM)
  和高速緩存
  32 KB Instruction ROM=32 KB指令
  只讀存儲器(ROM)
  32 KB Data SRAM/Cache=32 KB數(shù)據(jù)
  靜態(tài)存儲器(SRAM)
  和高速緩存
  4 KB Scratchpad RAM=4 KB
  高速暫存
  隨機(jī)存儲器(RAM)
  System Interface Unit=系統(tǒng)接口單元
  External Memory Interface=外部存儲器接口
  High Speed I/O=高速I/O端口
  Parallel Peripheral Interface/GPIO=并行外圍接口(PPI)
  和通用輸入輸出接口(GPIO)
  
  UART=通用異步收發(fā)器
  SPI=串行外圍接口(SPI)
  Hi-speed Serial Ports=高速串行端口
  PCI/USB=可編程通信接口(PCI)和通用串行總線(USB)
  Timers 0/1/2=定時(shí)器0,1,2
  Peripheral Blocks=外圍設(shè)備單元


  一類新型的DSP也提供一套RISC指令系統(tǒng)集、存儲器管理單元、事件控制器和多種外設(shè)以便在一顆單芯片內(nèi)提供大量計(jì)算和高效系統(tǒng)控制功能。


  DSP與MCU比較
  首先讓我們回顧一下DSP和MCU的典型功能。DSP主要是在一單個(gè)時(shí)鐘周期內(nèi)盡可能完成多個(gè)MAC(乘法和累加)操作。為了這一點(diǎn),指令的操作代碼通常是可變的超長的指令字(VLIW)。DSP也適于工作在緊密、高效的環(huán)路中。另外,為了達(dá)到性能指標(biāo)通常需要編寫優(yōu)化的匯編代碼。由于DSP的算法程序一般裝在小容量、短等待時(shí)間的內(nèi)置存儲器中,所以代碼密度通常不是大問題。
  像DSP主要用于完成計(jì)算一樣,MCU主要用于完成控制功能。同樣地,典型的MCU應(yīng)用包括許多條件操作,在程序流程中頻繁地跳轉(zhuǎn)。通常使用C或者C++語言編寫程序。代碼密度極為重要,并且根據(jù)編譯代碼的長度來評估算法。存儲器系統(tǒng)是基于高速緩存從而允許該系統(tǒng)設(shè)計(jì)工程師用較長等待時(shí)間從較大的存儲器中調(diào)用較大程序。利用基于高速緩存系統(tǒng),程序員不需要考慮如何以及何時(shí)將指令輸入到內(nèi)核去執(zhí)行。
  統(tǒng)一的DSP和MCU兼?zhèn)鋬烧叩膬?yōu)點(diǎn)。它的指令集由16 bit,32 bit和64 bit操作碼組成,但是由于最常用的指令采用16 bit編碼,所以編譯代碼密度大小與那些流行的MCU相同。另外,它包括一個(gè)存儲器保護(hù)功能以及指令高速緩存和數(shù)據(jù)高速緩存,作為整個(gè)存儲器管理單元(MMU)的一部分。此外,容易提供一套完整的C/C++開發(fā)工具,提供可選匯編語言或者全部匯編語言適合算法優(yōu)化的編程。


  支持RTOS
  系統(tǒng)控制的一個(gè)重要方面是任務(wù)管理。實(shí)時(shí)操作系統(tǒng)(RTOS)逐漸地用于控制復(fù)雜系統(tǒng)中多種正在進(jìn)行的和同時(shí)發(fā)生的任務(wù)。通過提供對任務(wù)調(diào)度與管理的支持,RTOS簡化了編程模式,這通常是由MCU控制的,由于普通的DSP不具備支持RTOS需要的所有功能以便有效地控制。
  然而,統(tǒng)一的DSP和MCU促進(jìn)了RTOS幾個(gè)重要功能的發(fā)展。第一個(gè)是限制訪問功能以保護(hù)或者保留存儲單元。第二個(gè)是配備單獨(dú)的堆棧和幀指針以減少操作系統(tǒng)(OS)請求以及中斷和異常處理所需的等待時(shí)間。第三個(gè)是具備單獨(dú)的用戶操作模式和管理員操作模式。過去,DSP按照等效于管理員操作模式工作,從而允許在任何時(shí)間完全訪問所有的系統(tǒng)資源。然而MCU提供類似的在用戶操作模式,它允許在OS的頂層運(yùn)行應(yīng)用軟件?,F(xiàn)在,在一個(gè)統(tǒng)一的體系結(jié)構(gòu)下提供兩種操作模式,因?yàn)樵鰪?qiáng)的DSP系統(tǒng)能夠限制用戶應(yīng)用軟件僅通過OS訪問系統(tǒng)資源。


 


關(guān)鍵詞: DSP和MCU

評論


技術(shù)專區(qū)

關(guān)閉