At89s51單片機(jī)PDIP封裝
AVR : 和51比它來了一個(gè)質(zhì)的飛躍,雖然也是8位的,但是AVR內(nèi)核,131條指令,RISC(Reduced Instruction Set Computer)即精簡(jiǎn)指令集計(jì)算機(jī),也就是說幾乎所有指令都是單周期,AVR集成了只需要兩個(gè)時(shí)鐘周期硬件乘法器。不需分頻,精簡(jiǎn)指令集,所以當(dāng)它的晶振處于1M的時(shí)候,就可以達(dá)到1MIPS的速度。AVR除了有上面所提到的51的所有功能,還集成了8路10位ADC(Analog to digital converter將模擬量轉(zhuǎn)換為數(shù)字量),SPI(Serial Peripheral Interface串行外設(shè)接口即硬件SPI),TWI(Two – Wires serial Interface 即硬件I2C)等,這些都是各種通信協(xié)議的硬件實(shí)現(xiàn),而不是像51一樣只能靠模擬。AVR的IO為標(biāo)準(zhǔn)IO口,它可以輸出大電流,可以直接驅(qū)動(dòng)繼電器,如果是3V電機(jī),可以直接驅(qū)動(dòng),而最大只能輸出十幾毫安的51是做不到的,因?yàn)殡姍C(jī)啟動(dòng)需要大電流。當(dāng)然芯片AVR有90S系列、tiny系列和mega系列,每種都有子產(chǎn)品,資源稍有不同。這款芯片體現(xiàn)了A先生和V先生的智慧,可以說AVR系列是一款經(jīng)典的單片機(jī),不過很遺憾,最近它的號(hào)召力在慢慢下降,因?yàn)槿虻墓┴浘o張和Atmel公司對(duì)市場(chǎng)的“遲鈍”反應(yīng),導(dǎo)致很多有心人在炒片子,據(jù)業(yè)內(nèi)人士稱代理也在炒,其實(shí)很多這種芯片可能都是靠走.私,特別是珠三角,在國(guó)內(nèi),一旦有芯片被大量使用,那么跟風(fēng)無(wú)數(shù),商家有利可圖自然大量購(gòu)進(jìn)賣出,那么就會(huì)缺貨,就和當(dāng)年TI的DSP差不多(好芯片永遠(yuǎn)話題不斷),所以不重視大中華市場(chǎng)是不行的。很多人都已經(jīng)轉(zhuǎn)戰(zhàn)ST或者STC的芯片,因?yàn)閮r(jià)格低,也許這算是AVR的一種沒落。
AVR : Atmega16芯片 PDIP封裝
AVR : Atmega16芯片 TQFP封裝
PIC : 與AVR一樣同是RISC,當(dāng)然指令集是不一樣的。沒有用過并沒有多少發(fā)言權(quán),個(gè)人感覺專用性比較強(qiáng),擁有各種封裝,更適合用于批量生產(chǎn)的場(chǎng)合。
PIC單片機(jī) PDIP封裝

PIC單片機(jī) TQFP封裝
MSP430 : TI(Texas Instruments德州儀器)公司的力作,16位單片機(jī),最大的特點(diǎn)為低功耗,誕生十幾年來至今未見得有哪款單片機(jī)可以在功耗上與它抗衡,在時(shí)鐘關(guān)閉的時(shí)候最小只有0.1uA的功耗,低頻工作下也是微安級(jí)的,3.3V的電壓,這種功耗,它做成的手持設(shè)備,只要兩節(jié)干電池可以工作幾年。RISC,只有27條指令,相當(dāng)簡(jiǎn)潔,集成硬件乘法器,每個(gè)IO口都可以作為中斷,對(duì)于中斷的嵌套很方便,不像AVR只能以軟件來嵌套中斷,而且還有主次時(shí)鐘,自帶著鎖相環(huán)的功能。當(dāng)然每個(gè)系列是不一樣的,資源多少的問題,這個(gè)片子一般都是TQFP封裝的,當(dāng)然是有PDIP封裝的,較少而已,因?yàn)檫@片子引腳比較多。資源功能方面,當(dāng)然說起TI的可編程芯片,可能更多人會(huì)想到DSP(Digital Signal Processor)芯片,430不可避免的帶著DSP的影子。當(dāng)然也繼承了TI公司貴的特點(diǎn),MSP430確實(shí)很貴。
MSP430單片機(jī) PDIP封裝
STM8 : ST(SGS-THOMSON Microelectronics即意法半導(dǎo)體)的得意之作,8位單片機(jī),手上有一套三合一體驗(yàn)的板子,還沒有開始研究它,不過看下他的資源,所有都是AVR的8位機(jī)的兩倍,但是價(jià)格只有它的1/3到1/2,難怪很多人都轉(zhuǎn)戰(zhàn)ST了,價(jià)格永遠(yuǎn)是硬道理,老板看中的是成本。
STM8系列單片機(jī) TQFP封裝
總結(jié) :由此可以看出其實(shí)除了51之外,其他的芯片資源都是差不多的,因?yàn)槎际?font face="Times New Roman">RISC結(jié)構(gòu)的,加上功能足夠多,所以基本上操縱芯片無(wú)非就是操縱寄存器,當(dāng)然這篇文章主要是寫給一些不是這個(gè)專業(yè)的朋友看的,隱去了一些東西,比如JTAG和E2PROM,Atmel公司對(duì)Flash和E2PROM的研究使它的芯片擦寫次數(shù)和質(zhì)量都很高,關(guān)于開發(fā)工具的話,AVR有很多,公認(rèn)編譯出來代碼效率最高的是IAR AVR,其次CVAVR(Code Vision AVR),ICCAVR,WinAVR(GCC,這個(gè)編譯器GNU開發(fā),完全免費(fèi))這三款代碼效率差不多,這些和Atmel公司開發(fā)的AVR Studio內(nèi)聯(lián)就可以仿真,如果加上JTAG就可以單步仿真,下載可以使用ISP(In System Programmable 在線系統(tǒng)可編程)。MSP430和STM8都可以使用IAR的編譯軟件。
AVR單片機(jī)的ISP下載器,Usbasp

自制的AVR JTAG仿真下載器
MSP430單片機(jī) 三合一仿真下載器
EDA (Electronic Design Automation):電子設(shè)計(jì)自動(dòng)化
CPLD(Complex Programmable Logic Device) :CPLD其實(shí)有兩種,一種就是叫CPLD,還有一種稱為FPGA(Field Programmable Gate Array)。CPLD直譯叫做復(fù)雜可編程邏輯器件,FPGA直譯叫做現(xiàn)場(chǎng)可編程門陣列,它們準(zhǔn)確的來說是硬件數(shù)字電路,里面是各種門的組合,而我們編程的目的在于在這塊芯片上熔出一個(gè)數(shù)字電路來,因?yàn)橛布臇|西永遠(yuǎn)都會(huì)比軟件快,它和通用型的CPU和單片機(jī)有著本質(zhì)的區(qū)別在于它的并行性,因?yàn)閿?shù)字和模擬電路通電后的反應(yīng)都是瞬時(shí)的,非時(shí)序電路的各個(gè)節(jié)點(diǎn)之間是沒有所謂暫緩的,也就是說它不會(huì)像CPU或者單片機(jī)一樣是按照一條條的程序來執(zhí)行,當(dāng)然利用狀態(tài)機(jī)可以,這個(gè)是編程的手法問題。CPLD是擁有ROM,它可以像單片機(jī)一樣下載完程序之后可以一直使用,而FPGA不可以,FPGA相當(dāng)于一塊集結(jié)了數(shù)字電路的高速RAM,所以稱為現(xiàn)場(chǎng)可編程門陣列,它的程序只有在現(xiàn)場(chǎng)可用,一旦斷電就什么都沒有了,所以一般做產(chǎn)品的話就會(huì)在上面掛一個(gè)E2PROM。現(xiàn)在CPLD作為一種新興力量加入到可編程芯片中,在一些高速的場(chǎng)合,DSP芯片都無(wú)法完成的DSP技術(shù),可以由CPLD來取代DSP芯片(注:DSP既可以是Digital Signal Processor數(shù)字信號(hào)處理芯片,也可以是Digital Signal Process數(shù)字信號(hào)處理技術(shù)),F(xiàn)在由于IP軟核的復(fù)用,如果將處理器軟和下到CPLD中,那么這塊東西就變成了一款處理器,Nios處理器,有硬件的運(yùn)行方式,但是也有像CPU和單片機(jī)一樣編程方式。世界上生產(chǎn)CPLD有名的公司是Altera、Xilinx公司等,一般教學(xué)可能Altera會(huì)多一些,至少我們學(xué)校訂購(gòu)了Altera公司的產(chǎn)品,DE2開發(fā)板,使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language即超高速集成電路硬件描述語(yǔ)言)或者Verilog HDL(Verilog Hardware Description Language)顧名思義是對(duì)硬件進(jìn)行直接的操作,Altera芯片的開發(fā)軟件是Quartus II。當(dāng)然它可以做單片機(jī)或者通用CPU可以做的事情,但是由于芯片本身特性的局限是它無(wú)法像普通單片機(jī)或CPU一樣進(jìn)行方便的編程,IP核和Nios可以說是解決方案。
Altera的FPGA芯片,由于管腳過多所以使用BGA封裝,引腳不在旁邊而在反面,如圖左邊是正面,右邊是反面
DSP (Digital Signal Processor / Digital Signal Process) : 數(shù)字信號(hào)處理芯片/數(shù)字信號(hào)處理技術(shù)
TMS320 :和MSP430一樣這是TI(Texas Instruments德州儀器)公司的力作,當(dāng)然這個(gè)也和MSP430一樣是芯片系列的頭文件,準(zhǔn)確的說這兩種芯片應(yīng)該是TMS320XXXX或者是MSP430XXX,而我們專業(yè)使用的TMS320LF240X。從第一枚商用DSP芯片由TI生產(chǎn)到今天這幾十年,DSP的發(fā)展可謂飛速,速度越來越快,功耗越來越低,價(jià)格越來越低,功能越來越強(qiáng)大,特別是對(duì)于數(shù)字信號(hào)如音頻、圖像的處理,當(dāng)然還有在我們電氣專業(yè)領(lǐng)域來說至關(guān)重要的變頻調(diào)速方面有著很重要的地位。TI的DSP芯片的發(fā)展中,留在市場(chǎng)上的有2000系列,5000系列和6000系列。它的結(jié)構(gòu)和單片機(jī)基本沒有區(qū)別,只是更加適用于數(shù)字信號(hào)處理,所以它對(duì)處理數(shù)字信號(hào)和算法的能力是單片機(jī)遠(yuǎn)遠(yuǎn)無(wú)法達(dá)到的,它集成的硬件乘法器和本身的特性使它可以在1個(gè)時(shí)鐘周期就可以算出一個(gè)乘法和一個(gè)加法,而其對(duì)浮點(diǎn)和定點(diǎn)的運(yùn)算是單片機(jī)速度達(dá)不到的(當(dāng)然DSP是分為浮點(diǎn)和定點(diǎn)即Float – Point 和Fixed - Point),如快速傅里葉算法FFT或者PI調(diào)節(jié)算法的實(shí)現(xiàn),使用單片機(jī)完全是杯具。開發(fā)DSP的工具有CCS,其開發(fā)過程和單片機(jī)一樣,有C和匯編,也有JTAG仿真下載(當(dāng)然JTAG是一種協(xié)議而已,這里不再贅述)。

DSP芯片,TQFP封裝
ARM(Advanced RISC Machines) :既是一款處理器名字也是一個(gè)公司的名字
ARM :1991年成立于英國(guó)劍橋,這個(gè)偉大公司誕生不到二十年卻讓世界如此震驚,拿出你的手機(jī),里面的處理器90%是ARM,他們不產(chǎn)芯片而是靠出賣自己的設(shè)計(jì)技術(shù)的授權(quán),它擁有單片機(jī)、DSP、通用CPU的優(yōu)點(diǎn),卻有著自己的特色,適用于消費(fèi)電子、圖像處理、多媒體、移動(dòng)設(shè)備等嵌入式領(lǐng)域,由于沒有用過,發(fā)言權(quán)比較少。授權(quán)方有Atmel、三星、索尼,飛思卡爾、英特爾、TI、ST等等。ARM用于嵌入式系統(tǒng)可以跑操作系統(tǒng),那是有別于通用CPU的操作系統(tǒng),嵌入于專用型的場(chǎng)合,使用Unix、Linux等操作系統(tǒng),比如手機(jī)的操作系統(tǒng)塞班(Symbian),Google的安卓(Android),還有微軟的Windows Mobile。
國(guó)內(nèi)用的比較多的三星的ARM芯片,上圖為ARM11,BGA封裝
STM32 : 意法半導(dǎo)體的基于ARM Cortex-M3內(nèi)核的32位單片機(jī),資源非常豐富?梢耘懿僮飨到y(tǒng),但是因?yàn)閮?nèi)部存儲(chǔ)器的限制,只能跑uC/OS – II操作系統(tǒng)嚴(yán)格意義上說它是一款ARM,相當(dāng)于ARM7。
STM32,TQFP封裝
后記:后面貼幾個(gè)開發(fā)軟件。
Wave6000 :國(guó)產(chǎn)比較悲劇的軟件,用于開發(fā)51的匯編編譯器
Keil uVision2 :用的最廣的C51編譯器用于編譯各種8051內(nèi)核的單片機(jī)
內(nèi)聯(lián)GCC的AVR Studio :用于編譯AVR系列的C程序
AVR fighter :用于AVR系列單片機(jī)的熔絲位設(shè)置和燒寫
IAR :這個(gè)公司開發(fā)各種單片機(jī)編譯軟件,有51、AVR、MSP430、STM8、STM32等等市場(chǎng)上見得到的單片機(jī),并且編譯出來的代碼效率很高
Quartus II :Altera公司開發(fā)的編譯、燒寫其公司CPLD和FPGA的軟件
Altium Designer :畫板軟件,方便實(shí)用,可以觀看自己設(shè)計(jì)的板子的3D圖,但是國(guó)內(nèi)支持的PCB還停留在Protel 99se