DSP是為運(yùn)算而生的芯片,他最強(qiáng)大的地方就在與它的數(shù)**算性能,那是由它的指令集支持的。那些拿DSP和STM32比較的,省省吧,如果你兩者都熟悉你就知道根本沒(méi)啥好比的,
如果我需要很多高級(jí)的接口,比如以太網(wǎng)和USB,那么我自然選STM32,如果我需要實(shí)現(xiàn)一些算法,那肯定會(huì)選DSP。如果你對(duì)運(yùn)算速度不敏感,反正72M的速度已經(jīng)比原先單片機(jī)快很多了,那當(dāng)然是看你熟悉哪個(gè),哪個(gè)價(jià)格比較好,支持比較好。
從51 AVR到DSP最大的障礙
1、應(yīng)該是編譯環(huán)境吧,TI的DSP都用的是CCS,CCS界面和原先IAR區(qū)別不是一般的大,比如程序?qū)?,比如觀察變量,比如燒寫FLASH。恩,是的。用過(guò)了IAR那種傻瓜化的操作了之后,真是怎么弄怎么別扭,CCS真是太不友好了。但是沒(méi)辦法,IAR他們是專門做編譯軟件的,TI主要是做DSP的,TI也意識(shí)到這個(gè)問(wèn)題了,所以現(xiàn)在推出的CCSV4好像在這方面有很大的加強(qiáng)。不過(guò)網(wǎng)上還是CCS3.3的資料最多,大家也熟悉,如果剛接觸還是先用CCS3.3為好。
如果你手頭有快開發(fā)板,那里面應(yīng)該有對(duì)這些操作的詳細(xì)說(shuō)明。所以這個(gè)慢慢應(yīng)該也可以熟悉。
2、庫(kù)文件。TI的庫(kù)文件都是聯(lián)合+結(jié)構(gòu)+位域的形式。對(duì)這些結(jié)構(gòu)不是非常熟悉的話可能看著有點(diǎn)暈,這個(gè)只能慢慢去看C的書。最納悶的可能就是它的地址映射,如何把寄存器映射到相應(yīng)的地址,那是它由編譯器來(lái)支持的主要通過(guò)#PROGRM來(lái)實(shí)現(xiàn),可以去看看它的CMD文件
3、CMD,CMD文件可能是入門最大的一個(gè)坎了,單片機(jī)或者ARM根本就沒(méi)這么一說(shuō),這破東西到底啥用吶?CMD文件主要作用就是用來(lái)做內(nèi)存分配,你的芯片里面有FLASH有RAM有BOOT ROM,你編寫的程序有代碼,要燒到FLASH中,有全局變量要存到RAM的全局變量區(qū)域,有局部變量,要存到堆棧中。CDM文件其實(shí)就是把你代碼中的這些一塊一塊的東西和具體的硬件存儲(chǔ)對(duì)應(yīng)起來(lái)。你可以隨你需要任意來(lái)配置,比如我有一個(gè)數(shù)據(jù)表格,普通的單片機(jī)你定義好了之后會(huì)有編譯器來(lái)幫你存放到一個(gè)地方,但是DSP里面你可以通過(guò)配置CMD把它放在你認(rèn)為合適的地方。再比如堆??臻g的大小,以前從來(lái)沒(méi)關(guān)心過(guò)堆棧大小,但是開辟的太大的話可能浪費(fèi)內(nèi)存空間。當(dāng)然,每個(gè)芯片都有一個(gè)標(biāo)準(zhǔn)的CMD文件,初學(xué)者完全可以不用去修改它。
4、文檔。TI的文檔包括數(shù)據(jù)手冊(cè)和外設(shè)指南,很多人說(shuō)很亂,不像其它芯片,所有外設(shè)的資料都會(huì)放在一起,但是TI會(huì)每個(gè)外設(shè)弄一個(gè)。這就要說(shuō)說(shuō)TI的外設(shè),它的外設(shè)都非常專業(yè),是的專業(yè)。比如它的PWM外設(shè),叫ePWM,也就是增強(qiáng)型的PWM,這個(gè)外設(shè)可以輕松輸出非常復(fù)雜的PWM波形,而且不用CPU參與。所以它的外設(shè)指南有100多頁(yè),你會(huì)發(fā)現(xiàn)很多外設(shè)都是這樣,里面有很多很多增強(qiáng)的功能,相對(duì)應(yīng)的它的說(shuō)明文檔也就非常長(zhǎng)。要是全部都集合在一起那就會(huì)非常的大。而且它的每個(gè)外設(shè)都是有獨(dú)立版本的,比如ADC,已經(jīng)從0版到3版,而ePWM還是1版,分開之后升級(jí)的維護(hù)會(huì)方便很多,很多外設(shè)在類似的芯片都是一樣的。
用STM32的時(shí)候我從來(lái)沒(méi)看懂過(guò)它的庫(kù),甚至都沒(méi)仔細(xì)看過(guò)它的手冊(cè)。但是最后也搞出來(lái)了,完了之后我對(duì)這塊芯片沒(méi)多少熟悉的感覺(jué)。但是用C2000系列的DSP的時(shí)候則要反反復(fù)復(fù)的去看外設(shè)指南,分析手冊(cè)上給出的結(jié)構(gòu),讓我對(duì)芯片非常熟悉,再加上它的編譯環(huán)境是完全可以配置的,我甚至都知道我某個(gè)變量會(huì)在哪個(gè)地方。
工業(yè)控制與自動(dòng)化, 這個(gè)按21IC的網(wǎng)友說(shuō):“那是萬(wàn)精油”面很廣。
芯片只是個(gè)軀殼。 重要的是專業(yè)知識(shí)和算法。TI的DSP 性能質(zhì)量穩(wěn)定可靠。 讓你用的放心。
而STM32, 有許多未知的因素,比如BUG,可靠性等等,如果樓主的產(chǎn)品價(jià)錢利潤(rùn)高,當(dāng)然使用TI的DSP或者MICROCHIP的DSPIC.咱們不用太擔(dān)心 芯片的質(zhì)量問(wèn)題,芯片的BUG/抗干擾等等。
TI的DSP有些地方做的比STM32專業(yè)好多。例如可靠性,TI的DSP的許多寄存器有寫保護(hù)功能,因此對(duì)某些從引腳等干擾芯片內(nèi)部寄存器/改寫內(nèi)部寄存器等嚴(yán)重問(wèn)題,會(huì)有很大幫助。但是STM32沒(méi)有這個(gè)功能。還有TI在DSP在電機(jī)控制控制方面做得很專業(yè),PWM部件的功能,比如死區(qū),輸入保護(hù),PWM脈沖的特殊波形等方面都有獨(dú)到的地方。
而STM32 還是顯得比較嫩。 TI多年前都專門有虛擬浮點(diǎn)庫(kù)給定點(diǎn)的DSP使用。也是最找出浮點(diǎn)DSC的廠家。28335比STM32F4早了3-4年推出市場(chǎng)。
而且TI 還出了一個(gè)芯片內(nèi)包括兩個(gè)核心:ARM7/CM3+DSP的控制器。還有多通道同時(shí)采樣轉(zhuǎn)換的ADC , TI在醫(yī)學(xué)/電力電子與新能源方面的應(yīng)用等都可以看出 TI比ST公司專業(yè)很多。更知道咱們需要什么。
但對(duì)于咱們使用者來(lái)說(shuō),如果是中檔路線或民用的工業(yè)產(chǎn)品,或者對(duì)成本比較敏感的產(chǎn)品,當(dāng)然要STM32之類的了。作為工程師,可以快速使用多種芯片,這個(gè)是必須的。
來(lái)源;21ic