cc2530與51單片機(jī)區(qū)別
首先要明白一個(gè)東西,可以叫架構(gòu)或者說(shuō)內(nèi)核,可以把這個(gè)東西理解成芯片設(shè)計(jì)時(shí)候的大框架,STC系列的單片機(jī)是一個(gè)大的框架設(shè)計(jì)的,叫8051。STM32也是一個(gè)大框架設(shè)計(jì)的,叫ARM。這里沒(méi)有說(shuō)到2530,先別急,往后看。
那么是不是一種大框架設(shè)計(jì)出來(lái)的芯片都是一樣的?其實(shí)也不都是一樣的。區(qū)別有兩方面,一方面是芯片硬件上的外設(shè)資源,另一方面,是芯片配套的軟件SDK。
芯片硬件上的外設(shè)資源,包括但不限于它有多少個(gè)定時(shí)器,它有多少中斷,有多少I(mǎi)O,有多少串口,有多少SPI,有多少I(mǎi)IC,當(dāng)然,也包括它帶不帶無(wú)線射頻的組件。所以你看STC的芯片型號(hào)非常多,區(qū)別其實(shí)就在外設(shè)(很典型的例子,stc12c5a60 pwm是8位的,stc15w4系列pwm是16位的)。傳統(tǒng)的51單片機(jī)是不帶無(wú)線射頻部分的組件的,比如STC的芯片。而C2530設(shè)計(jì)的目的是面向ZigBee的,ZigBee是一種常用2.4G頻段通信的協(xié)議簇??梢园裐igBee、藍(lán)牙理解為同一層面的東西。所以這就是51單片機(jī)(暫且定義為以stc為代表的各種51單片機(jī))和cc2530的一個(gè)區(qū)別,即硬件外設(shè)上,2530帶無(wú)線射頻組件,有豐富的外設(shè)(flash,ram等等)。
芯片SDK方面,芯片廠商設(shè)計(jì)芯片的時(shí)候光給你數(shù)據(jù)手冊(cè)是不行的,因?yàn)楝F(xiàn)在芯片設(shè)計(jì)的越來(lái)越復(fù)雜,各家芯片廠商設(shè)計(jì)的芯片之間也有一些差異,所以這些廠商在設(shè)計(jì)芯片的時(shí)候,通常也會(huì)提供不同的SDK。比如,野火的《STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南》就講的STM32的庫(kù)(相當(dāng)于ST公司給大家的SDK),當(dāng)然,現(xiàn)在有更好用的stm32cube了。你肯定會(huì)說(shuō),STC51單片機(jī)沒(méi)給我SDK啊?STC的51單片機(jī)確實(shí)設(shè)計(jì)的太好上手了,不需要復(fù)雜的SDK,一個(gè)功能,數(shù)據(jù)手冊(cè)幾行代碼復(fù)制出來(lái)就能用。但是在無(wú)線傳感器網(wǎng)絡(luò)這個(gè)領(lǐng)域就行不通了。比如剛才提到,2530比STC51多了無(wú)線射頻的外設(shè),那2540也比STC51多了無(wú)線射頻的外設(shè),2530和2540又有啥區(qū)別?區(qū)別就在SDK。2530和2540,一個(gè)應(yīng)用場(chǎng)景是ZigBee,一個(gè)是藍(lán)牙,Ti都為其設(shè)計(jì)了非常復(fù)雜的SDK,其中核心就是OSAL??梢赃@樣理解,你要用STC51的方式,來(lái)操作寄存器寫(xiě)一遍藍(lán)牙協(xié)議?;蛘遉igBee協(xié)議棧,歡迎大神來(lái)嘗試哈!搭起我的小板凳,強(qiáng)勢(shì)圍觀。所以,我們不可能從零開(kāi)始實(shí)現(xiàn)一個(gè)無(wú)線協(xié)議棧,那么TI就幫我們完成了,OSAL負(fù)責(zé)各種任務(wù)的調(diào)度,我們根據(jù)TI SDK預(yù)留好的借口,就能快速的開(kāi)發(fā)出自己無(wú)線傳感器網(wǎng)絡(luò)的demo了。
綜上,2530和普通51單片機(jī)的區(qū)別,硬件外設(shè)上,2530的外設(shè)更加強(qiáng)大,核心是多了無(wú)線射頻的模組。軟件層面上,2530提供了SDK,開(kāi)發(fā)需要你了解OSAL才能用的好這個(gè)芯片,而普通51單片機(jī)沒(méi)有。