單片機(jī)常識—結(jié)構(gòu)和相關(guān)公司
概述
絕大多數(shù)現(xiàn)在的單片機(jī)都是基于馮·諾伊曼結(jié)構(gòu)的,這種結(jié)構(gòu)清楚地定義了嵌入式系統(tǒng)所必需的四個基本部分:一個中央處理器核心,程序存儲器(只讀存儲器或者閃存)、數(shù)據(jù)存儲器(隨機(jī)存儲器)、一個或者更多的定時/計時器,還有用來與外圍設(shè)備以及擴(kuò)展資源進(jìn)行通信的輸入/輸出端口——所有這些都被集成在單個集成電路芯片上。
說單片機(jī)與通用型中央處理單元芯片不同,是因為前者一般很容易配合最小型的外部支持芯片制成工作計算機(jī)。這樣就可以很容易的把單片機(jī)系統(tǒng)植入裝置內(nèi)部來控制裝置了。近年來為了在指令和數(shù)據(jù)上使用不同的字寬,并提高處理器流水線速度,哈佛結(jié)構(gòu)在微控制器(Microcontrollers)和數(shù)字信號處理器(Digital Signal Processor, DSP)也逐漸得到了廣泛的應(yīng)用。
傳統(tǒng)的微處理器是不允許這么做的。它要完成單片機(jī)的工作,就必須連接一些其他芯片。比如說,因為芯片上沒有數(shù)據(jù)存儲器,就必須要添加一些RAM的存儲芯片,雖然所添加存儲器的容量很靈活,但是至少還是要添加。另外還需要添加很多連線來傳遞芯片之間的數(shù)據(jù)。與以上的情況相比,單片機(jī)的工作則相對獨立,一個典型的微控制器只需要一個時鐘發(fā)生器和很少的RAM和ROM(或者EPROM, E2PROM)就可以在軟件和晶振下工作了。同時,微控制器具有豐富的輸入輸出設(shè)備,例如模擬數(shù)字轉(zhuǎn)換器(Analog-to-Digital Converter, ADC),定時器,串口,以及其他串行通訊接口,比如I2C,SPI(串行周邊接口),CAN(控制器局域網(wǎng))等。通常,這些集成在內(nèi)部的設(shè)備可以通過特殊的指令來操作。
單片機(jī)時鐘頻率通常較同時代的計算機(jī)芯片低,但它價格低廉,能夠提供充足的程序存儲器、豐富的片上接口。某些架構(gòu)的單片機(jī)生產(chǎn)廠商眾多,例如8051系列、Z80系列。一些現(xiàn)代的微控制器支持一些內(nèi)建的高級編程語言,比如BASIC語言、C語言、C++等。
單片機(jī)的位元數(shù)
根據(jù)總線或資料暫存器的寬度,單片機(jī)又分為4位元、8位元、16位元和32位元單片機(jī)。4位單片機(jī)多用于冰箱、洗衣機(jī)、微波爐等家電控制中;8位、16位單片機(jī)主要用于一般的控制領(lǐng)域,一般不使用操作系統(tǒng);32位用于網(wǎng)絡(luò)操作、多媒體處理等復(fù)雜處理的場合,一般要使用嵌入式操作系統(tǒng)。
常見的單片機(jī)
微芯公司的PIC系列出貨量居于業(yè)界領(lǐng)導(dǎo)者地位;Atmel的51系列及AVR系列種類眾多,受支持面廣;德州儀器的MSP430系列以低功耗聞名,常用于醫(yī)療電子產(chǎn)品及儀器儀表中;瑞薩單片機(jī)在日本使用廣泛。
ARM 系列單片機(jī)
AVR系列(愛特梅爾公司)
Atmel AT91 series (ARM 處理器等)
AT90 series – AVR (Atmel 的高性能RISC 8位單片機(jī),老產(chǎn)品)
ATmega series – AVR (Atmel 的高性能RISC 8 位單片機(jī),新產(chǎn)品)
ATXmega series – AVR (Atmel 的高性能RISC 32 位單片機(jī),新產(chǎn)品)
Atmel AT89 series (Intel 8051/MCS51 架構(gòu)8位單片機(jī))
MARC4
Cypress MicroSystems(賽普拉斯微系統(tǒng)公司)
CY8C2xxxx (PSoC)
Freescale Semiconductor(飛思卡爾半導(dǎo)體)
8-bit
68HC05 (CPU05)
68HC08 (CPU08)
68HC11 (CPU11)
16-bit
68HC12 (CPU12)
68HC16 (CPU16)
Freescale DSP56800 (DSPcontroller)
32-bit
Freescale 683XX (CPU32)
MPC500
MPC 860 (PowerQUICC)
MPC 8240/8250 (PowerQUICC II)
MPC 8540/8555/8560 (PowerQUICC III)
Holtek(盛群半導(dǎo)體)
HT48FXX Flash I/O type
HT48RXX I/O type
HT46RXX A/D type
HT49RXX LCD type
Intel(英特爾)
8-bit
8XC42
MCS48
MCS51 : Intel 8051系列歷史悠久,相容產(chǎn)品眾多,使用廣泛
8xC251
16-bit
MCS96系列
MXS296
32-bit
i960
Microchip(微芯公司)的PIC微控制器系列
8-bit : PIC10 PIC12 PIC16 PIC18
16-bit : PIC24F PIC24H dsPIC30 dsPIC33
32bit : PIC32 (采用MIPS M4K 核心架構(gòu))
National Semiconductor(美國國家半導(dǎo)體)
COP8
CR16
NEC
78K
NXP Semiconductors(恩智浦半導(dǎo)體,由飛利浦以 Philips Semiconductors 為班底新成立)
LPC2000
LPC900
LPC700
Parallax, Inc.
BASIC Stamp
Renesas 瑞薩科技系列單片機(jī)
Renesas 16-bits
Renesas M16C Series
Renesas M32C Series
Renesas R8C Series
Renesas M16C/Tiny Series
Renesas R8C/Tiny Series
Renesas H8/Tiny Series
STMicroelectronics(意法半導(dǎo)體)
STM32 series (ARM Cortex-M3 系列,32位)
STM8 series (自主RISC指令集,8 位)
SyncMOS 新茂國際科技全系列單片機(jī)
SM59RXXA2 8-bits 1T(RISC)
SM59DXXG2 8-bits 6T(ISP)
SM59XX 8-bits 12T(ISP)
SM89XX 8-bits 12T(Traditional 8051)
SM79XX 8-bits 12T(Customization)
PADAUK應(yīng)廣科技全系列單片機(jī)(多核心單片機(jī))
P201CS/CD 8-bits
P211CS/CD 8-bits
p232CS/CD 8-bits
P234CS/CD 8-bits
ZiLOG
Z8
Z86E02
STC 宏晶系列單片機(jī)
STC89C series 6T/12T增強(qiáng)性單片機(jī) (Intel 8051架構(gòu),有外部總線)
STC11F/11L series 2T 增強(qiáng)性單片機(jī) (Intel 8051增強(qiáng)架構(gòu),無外部總線程序支持)
STC12C/12LE series 2T 增強(qiáng)性單片機(jī) (Intel 8051增強(qiáng)架構(gòu),無外部總線程序支持)
STC15C/15LE series 2T 增強(qiáng)性單片機(jī) (Intel 8051增強(qiáng)架構(gòu),無外部總線程序支持,正在開發(fā)中)
Kernel-IC 華芯單片機(jī) LS系列
LSx051 series 12T 雙核單片機(jī)(Intel 8051架構(gòu),無外部總線)
LSx151 series 12T 三核單片機(jī)(Intel 8051架構(gòu),無外部總線)
LS052A series 6T 三核單片機(jī)(Intel 8051架構(gòu),無外部總線)
其他系列的單片機(jī)
Msp430系列單片機(jī)
8098、80196系列單片機(jī)
AT8P5X系列單片機(jī)
CZG8000系列單片機(jī)
單片機(jī)的開發(fā)
單片機(jī)的軟件開發(fā)中,以往多使用匯編語言,如今越來越多的使用C語言,又或者使用BASIC語言等更適合初學(xué)者的語言,部分集成開發(fā)環(huán)境支持C++。單片機(jī)的軟件測試需要使用單片機(jī)開發(fā)器或模擬器。
隨著技術(shù)的發(fā)展,2000年后已經(jīng)有很多單片機(jī)自帶了ISP(在線編程設(shè)計)或支持IAP,徹底地改變了傳統(tǒng)的開發(fā)模式,使得開發(fā)單片機(jī)系統(tǒng)時不會損壞芯片的引腳,加速了產(chǎn)品的上市并降低了研發(fā)成本,縮短了從設(shè)計、制造到現(xiàn)場調(diào)試的時間,簡化了生產(chǎn)流程,大大提高了工作效率。這類單片機(jī)包括AT89S系列單片機(jī)、AVR系列單片機(jī)等。
硬件
開發(fā)板可以進(jìn)一步簡化程序的開發(fā)和燒制過程。開發(fā)板可能包含實際芯片或是仿真器。通過配套的下載線連接電腦與開發(fā)板,在電腦上編寫程序下載到開發(fā)板。批量生產(chǎn)會用到編程器。
軟件開發(fā)環(huán)境
一些知名的微控制器開發(fā)環(huán)境有:
微芯公司的 MPLAB IDE 可用于該公司全系列微控制器的開發(fā)與除錯,除支持該公司的 ASM 組譯器 C 語言編譯器外,也支援許多第三方的編譯器。
ARM 公司的 μVision 集成開發(fā)環(huán)境(原為 Keil 公司產(chǎn)品,2005年該公司已由 ARM 購并),包含組譯器與 C 編譯器,可用于51單片機(jī)及ARM開發(fā)。
PROTEUS
Proteus軟件是初學(xué)者入門的首選軟件,它是Labcenter Electronics公司的一款商業(yè)版電路設(shè)計與仿真軟件。內(nèi)包括ISIS、ARES等軟件模塊。ARES模塊主要用來完成PCB的設(shè)計,ISIS模塊用來完成電路原理圖的布圖與仿真。
Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,甚至ARM處理器,以及單片機(jī)外圍電路,比如鍵盤、LED、LCD等等。該軟件還附帶了一些案例和豐富的幫助文件。
擴(kuò)展閱讀:什么是單片機(jī)?51單片機(jī)學(xué)前預(yù)備知識
編輯:admin 最后修改時間:2018-05-18