DSP和MCU的融合
控制處理器和數字信號處理器(DSP)曾在微處理器數據手冊中各自單列成章,現在則正在被整合在一起,成為以最低成本完成各種消費類和工業類任務的最佳解決方案。
在半導體器件制造商力圖使其產品與眾不同時,他們常常引用“現實世界”。他們提醒數字系統設計師:現實世界是模擬的,他們的設計的四周始終是線性電路,以便與環境銜接。許多處理器系統設計師不太可能會忘記這一點,但它卻是隨手拿去推銷產品的借口。同樣地,競爭的產品系列都幾乎一成不變地區分常規體系結構和數字信號處理器體系結構。
與區分模擬和數字一樣,設計師常常發現其產品分辨不出DSP和微控制器(mC)的不同屬性,而兩者的混合則是一種更好的解決方案。然而,這兩個陣營提供的最優資源平衡在兩個系統之間通常有很大的差別。8位mC可能適合于執行基本的開關操作、定時和控制功能的消費類產品,但是,為了增加連通性、語音識別或者其它一些涉及信號處理的操作,可能就需要進行升級。在常規的mC上進行信號處理功能編碼通常是可能的,但是需要相當的技巧,還可能需要使用功能更加強大、價格也更貴的器件。額外功能所需的處理能力也可能大大超過基本產品所需的資源。雖然一塊很小的DSP芯片可以執行信號處理,但是增加一塊獨立的DSP不可避免地會增加產品的制造成本,而且對最終銷售價格的影響也比增加功能還大。相反地,在信號處理量很大的系統中,一塊適中的DSP可能非常適合于處理信號通道,但卻可能提出一個真正的編程難題,即要在同一器件中同時處理鍵盤和接口功能。
二合一水到渠成
由于認識到這種狀況,半導體制造商一段時間以來提供了兼有常規器件和DSP器件兩者功能的混合處理器。最近,半導體制造商們推出具有各種等級復雜性和性能的新產品,大大擴展了這種混合處理器的范圍和通用性。在這一產品領域內,多內核體系結構和統一內核體系結構支配著兩種根本不同的芯片設計方法。從本質上說,器件設計師要么把一個控制處理器和一個DSP安排在一塊芯片上,要么擴展控制處理器的指令集來容納DSP指令(反之亦然)。只要有足夠的原始性能,機靈的編程人員無法將信號處理功能編碼到常規內核中的情況極少見,所以,一塊芯片具有足以成為混合處理器的DSP能力的界定點是令人懷疑的。增加一個硬件乘法/累加(MAC)模塊及其指令集,就很好地說明了一個混合功能系統所需的能力。
Microchip Technology公司(以下簡稱Microchip公司)的PIC是8/16位微控制器市場上人人熟悉的產品,目前在其dsPIC30系列內具有DSP能力(圖1)。該系列內最新增加的產品是30F5011和30F5013兩種器件,均具有30 MIPS的性能。這兩種器件都是基于閃存的芯片,具有66kB內存,可以在工業溫度范圍和擴展的溫度范圍內工作。
Microchip公司的方法是將其16位改進型Harvard RISC內核與可提供緊耦合指令流的DSP指令相結合。該公司提出的“增強型標準工具鏈” 開發途徑成為許多供應商所采取方法的典范?;镜钠脚_仍然與標準處理器系列的相同,就Microchip公司的產品而言,是由其MPLAB集成開發環境和成套工具組成的。增加DSP功能是通過擴展編譯器等領域來實現的。Microchip公司歐洲業務開發經理Steve Diaper承認,為了利用附加功能,設計師將不得不學習DSP的基本知識,不過他認為,開始有效工作所需的額外知識卻是極其少的。Diaper認為混合型產品的應用可以分為不同的兩類。第一類側重于DSP功能對完成主要任務極為重要的特殊應用領域,;第二類是為8位和16位mC用戶提供向上發展途徑的通用應用領域。第一類的例子包括電動機控制等應用,其中專用產品還包括可編程PWM發生器和正交編碼器接口等硬件模塊。通用應用包括語音或指紋識別,以及軟件調制解調器和TCP/IP通信等的連通性。Microchip通過其兩款演示板說明了此類應用產生的增量負載所造成的影響。一塊演示板表明運行簡化TCP/IP協議棧的常規PIC18mC幾乎沒有為運行其它控制功能留出余地。相反地,在基于dsPIC30的電路板上運行完整的TCP/IP協議棧卻只對混合處理器的控制帶寬產生非常有限的影響。
DSP能力還可實現常規處理器難以處理的一系列處理選項,如FFT和數字濾波器等。Diaper指出,大多數用戶都利用各種庫來實現DSP功能?;旌咸幚砥鞯脑O計套件通常都帶有預先編碼的例程,用以完成編程人員可根據高級代碼調用的普通功能。與任何DSP一樣,只要編程人員對程序內部循環和周邊的代碼進行優化,編程效率就會提高;與大多數控制代碼不同,DSP例程一般都是高度可迭代的。
從DSP開始
芯片設計師先設計DSP,再增加控制功能,也可以設計出混合mC。Texas Instruments公司(以下簡稱TI公司)用這種方法設計出其TMS320系列中的C2000系列。C2000系列采用16位體系結構,具有20MIPS ~ 40MIPS的DSP性能,或者采用32位定點芯片,具有高達150 MIPS的DSP性能。TI公司最近又增加了R2812和R2811兩種具有高達20k字的片上SRAM的混合mC。這兩種mC可通過一個SPI接口獲得無限制的外部存儲器。150 MIPS的mC具有32位MAC的能力,并具有多種外設,其中包括一個適合于高分辨率測量和計量等系統的12位ADC。軟件支持包括一個以32位浮點格式編入的數學庫和一個可以在MathWorks公司的Matlab下運行的濾波軟件包。
Freescale公司利用同樣的方法,從其56000體系結構衍生出56800系列混合處理器。Freescale公司在有足夠能力處理高級運動控制等算法的DSP中增加控制功能,使這些混合處理器達到相當高的水平。再則,這也是一種適合于高效C語言編程的統一體系結構,其指令集兼有DSP和控制器兩種功能。該產品系列中最新增加的產品之一就是56F8365,這種60 MIPS的器件具有512kB閃存、一個單周期16316乘法器和四個36位累加器。因為這種器件擬應用于運動控制,所以其外設再次包括PWM輸出和編碼器輸入,并且具有進一步促進其在汽車和工業環境中使用的CAN接口。同一系列中的其它器件具有更適合安全和醫療等系統的外設。開發工作是通過Metrowerks公司的CodeWarrior工具鏈進行的,而編程指南則取自專有的Processor Expert軟件。