單片機與DSP簡單比較
自從2000年MCU和DSP完全分家,大家對DSP的認識多為"將部分程序固化從而實現更快處理速度的MCU",但這個解釋總是有點牽強人意。再加上目前流傳著這樣的一種說法:DSP取代單片機的技術和價格的市場條件已經成熟,大規模推廣指日可待。真的是這樣的嗎?筆者不敢茍同。單片機和DSP各有所長,AVR90單片機是125納秒一個周期(也是哈弗結構),其內部有SPI、UART等,如果用來作控制、數據采集,只要速度要求不是太高,那么都可以用它,而且用它比用DSP方便。但是如果你的工程中有比較多的算法,特別是信號處理算法,那么用DSP就對了,此時單片機是不能勝任的。
本文引用地址:http://www.104case.com/article/201611/321600.htm1、單片機的簡介
所謂單片機就是在一塊芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、時鐘、定時/計數器、多種功能的串行和并行I/O口。如Intel公司的8031系列等。除了以上基本功能外,有的還集成有A/D、D/A,如Intel公司的8098系列。單片機一般具有如下主要特點:
(1)適合實時控制和操作任務
(2)可預測的執行周期
(3)擅長中斷處理,特別是外部異步事件
(4)比較多的I/O功能
(5)程序較大
(6)豐富的片上外設
單片機的開發環境完備,開發工具齊全,應用資料眾多。后備人才充足。國內大多數高校都開設了單片機課程和單片機實驗。
2、DSP的簡介
DSP(digitalsingnalprocessor)是一種獨特的微處理器,有自己的完整指令系統,是以數字信號來處理大量信息的器件。一個數字信號處理器在一塊不大的芯片內包括有控制單元、運算單元、各種寄存器以及一定數量的存儲單元等等,在其外圍還可以連接若干存儲器,并可以與一定數量的外部設備互相通信,有軟、硬件的全面功能,本身就是一個微型計算機。DSP采用的是哈佛設計,即數據總線和地址總線分開,使程序和數據分別存儲在兩個分開的空間,允許取指令和執行指令完全重疊。也就是說在執行上一條指令的同時就可取出下一條指令,并進行譯碼,這大大的提高了微處理器的速度。另外還允許在程序空間和數據空間之間進行傳輸,因為增加了器件的靈活性。其工作原理是接收模擬信號,轉換為0或1的數字信號,再對數字信號進行修改、刪除、強化,并在其他系統芯片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。由于它運算能力很強,速度很快,體積很小,而且采用軟件編程具有高度的靈活性,因此為從事各種復雜的應用提供了一條有效途徑。
根據數字信號處理的要求,DSP芯片一般具有如下主要特點:
(1)在一個指令周期內可完成一次乘法和一次加法;
(2)程序和數據空間分開,可以同時訪問指令和數據;
(3)片內具有快速RAM,通常可通過獨立的數據總線在兩塊中同時訪問;
(4)具有低開銷或無開銷循環及跳轉的硬件支持;
(5)快速的中斷處理和硬件I/O支持;
(6)具有在單周期內操作的多個硬件地址產生器;
(7)可以并行執行多個操作;
(8)支持流水線操作,使取指、譯碼和執行等操作可以重疊執行。
3、單片機與DSP的比較
目前看來,單片機比DSP應用范圍更廣,但是DSP比單片機功能更強大。單片機一般用于要求低的場合,如4/8位的單片機。DSP適合于要求較高的場合,DSP主要面向數字信號處理設計,而單片機主要面向系統控制應用設計。DSP是單片機的一個分支。它有專門的FFT算法需要的特殊指令,流水線指令處理。能以較高的速度進行運算。與單片機相比,DSP器件具有較高的集成度。DSP具有更快的CPU,更大容量的存儲器,內置有波特率發生器和FIFO緩沖器。提供高速、同步串口和標準異步串口。有的片內集成了A/D和采樣/保持電路,可提供PWM輸出。DSP器件采用改進的哈佛結構,具有獨立的程序和數據空間,允許同時存取程序和數據。內置高速的硬件乘法器,增強的多級流水線,使DSP器件具有高速的數據運算能力。DSP器件比16位單片機單指令執行時間快8~10倍,完成一次乘加運算快16~30倍。DSP器件還提供了高度專業化的指令集,提高了FFT快速傅里葉變換和濾波器的運算速度。此外,DSP器件提供JTAG接口,具有更先進的開發手段,批量生產測試更方便,開發工具可實現全空間透明仿真,不占用用戶任何資源。軟件配有匯編/鏈接C編譯器、C源碼調試器。下面是單片機與DSP的比較圖。
DSP | 單片機 | DSP的優勢 | |
總線結構 | 哈佛/改進型哈佛結構 | 馮.諾依曼結構 | 消除總瓶頸,運行速度更快 |
乘加運算 | 利用硬件乘法器,用單指實現 | 多指令實現 | 減少所需指令周期數 |
尋址方式 | 利用硬件數據指針,實現逆序尋址 | 普通尋址 | 大大減少FFT運算尋址時間 |
指令運行方式 | “流水線”方式,允許程序與數據存儲器同時訪問 | 順序運行 | 在單條指令執行時間相同的情況下,大大提高運算速度 |
指針 | 配置專用運算器,復合指令可以在寄存器、運算單元處理變量的同時,使用指針訪問數據存儲器 | 無復合指令功能 | 采用并行方式,提高數據處理能力 |
循環控制 | 利用硬件循環控制結構,實現無消耗循環控制 | 每次循環都將消耗機器時間 | 較好解決了高速運行和精簡程序的矛盾 |
多處理系統 | 提供具有很強同步機制的互鎖指令 | 無專用指令 | 保證了高速運算中通信和結果的完整 |
4、結論
雖然DSP功能確實很強大,但是一個產品的設計要考慮,在滿足需求的情況下它的性價比。如果你作一個遙控器,選用DSP就沒優勢了。因為很多其他的用于遙控的單片機比他更適合用來作遙控器。單片機長于控制場合應用,DSP長于信號分析運算,本身針對了不同的需求,應該不存在互相替代的問題。不過目前這兩者特點互相融合的趨勢倒是越來越明顯,這也將是單片機與DSP的發展趨勢。在過去的幾十年里,單片機的廣泛應用實現了簡單的智能控制功能。隨著信息化的進程和
計算機科學與技術、信號處理理論與方法等的迅速發展,需要處理的數據量越來越大,對實
時性和精度的要求越來越高,在某些領域,低檔單片機已不再能滿足要求。
越好;價格卻大幅度下滑,從而使得DSP器件及技術更容易使用,價格也能夠為廣大用戶接
受;越來越多的單片機用戶開始考慮選用DSP器件來提高產品性能,DSP器件取代高檔單片機
的可能性越來越大。
系列DSP器件為例,探討DSP器件取代高檔單片機的可行性。
DSP器件與單片機的比較
1.單片機的特點
所謂單片機就是在一塊芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、時鐘、定時/計數
器、多種功能的串行和并行I/O口。如Intel公司的8031系列等。除了以上基本功能外,有的
還集成有A/D、D/A,如Intel公司的8098系列。概括起來說,單片機具有如下特點:
具有位處理能力,強調控制和事務處理功能。價格低廉。如低檔單片機價格只有人民幣幾元
錢。開發環境完備,開發工具齊全,應用資料眾多。后備人才充足。國內大多數高校都開設
了單片機課程和單片機實驗。
2.DSP器件的特點
與單片機相比,DSP器件具有較高的集成度。DSP具有更快的CPU,更大容量的存儲器,內置
有波特率發生器和FIFO緩沖器。提供高速、同步串口和標準異步串口。有的片內集成了A/D
和采樣/保持電路,可提供PWM輸出。DSP器件采用改進的哈佛結構,具有獨立的程序和數據
空間,允許同時存取程序和數據。內置高速的硬件乘法器,增強的多級流水線,使DSP器件
具有高速的數據運算能力。DSP器件比16位單片機單指令執行時間快8~10倍,完成一次乘加
運算快16~30倍。DSP器件還提供了高度專業化的指令集,提高了FFT快速傅里葉變換和濾波
器的運算速度。此外,DSP器件提供JTAG接口,具有更先進的開發手段,批量生產測試更方
便,開發工具可實現全空間透明仿真,不占用用戶任何資源。軟件配有匯編/鏈接C編譯器、
C源碼調試器。
目前國內推廣應用最為廣泛的DSP器件是美國德州儀器(TI)公司生產的TMS320系列。DSP開發
系統的國產化工作已經完成,國產開發系統的價格至少比進口價格低一半,有的如
TMS320C2XX開發系統只有進口開發系統價格的1/5,這大大刺激了DSP器件的應用。目前,已
有不少高校計劃建立DSP實驗室,TI公司和北京聞亭公司都已制訂了高校支持計劃,將帶動
國內DSP器件的應用和推廣。
3.DSP器件大規模推廣指日可待?
通過上述比較,我們可得出結論:DSP器件是一種具有高速運算能力的單片機。從應用角度
看:DSP器件是運算密集型的,而單片機是事務密集型的,DSP器件可以取代單片機,單片機
卻不能取代DSP。DSP器件價格大幅度下滑,直逼單片機?DSP器件廣泛使用了JTAG硬件仿
真,比單片機更易于硬件調試。國產化的DSP開發系統為更多用戶采用DSP器件提供了可能
性。DSP取代單片機的技術和價格的市場條件已經成熟?大規模推廣指日可待?(現在吹牛
的人真是一點草稿都不打。不過DSP確實功能夠強大。)
結論:使用單片機的不一定了解DSP,并且非要用DSP不可;但使用DSP的一定了解單片機,并
且能做出性價比高的產品。
附:
DSP器件的典型應用
隨著DSP性能不斷改善,用DSP器件來作實時處理已成為當今和未來技術發展的一個新熱點。
TI公司最新推出的TMS320C2XX系列具有良好的性能價格比,基本可以取代16位單片機。其中
TMS320C203單片價格不到人民幣100元,芯片內置544字的高速SRAM。外部可尋址64K字程序/
數據及I/O,指令周期在25ns~50ns之間,實時性處理比16位單片機快2倍以上,可取代一般
的單片機。
TMS320F206除了具有TMS320C203的功能外,內置32K字零等待快閃存儲器,可滿足單片設計
的要求,能最大限度減少用戶板的體積。TMS320F240的指令、DSP核與TMS320C203、F206完
全兼容,內置8K/16K字快閃存儲器,增加了兩路10位A/D,每路采樣頻率可達166kHz,提供9
路獨立的PWM輸出,內置SCI和SPI接口,內置CAN總線接口。這些大大增強了TMS320X240的處
理能力,在電機控制領域顯示了強大的生命力。它是一個典型的TMS320F240的用戶系統,它
實現如下功能:
3相PWM輸出/3相電流測量/按鍵控制、液晶顯示/RS232通信,A/D、D/A接口,62K字零等待
SRAM,擴展的輸入、輸出及雙向I/O口/JTAG接口
評論