單片機常識——結構和相關公司
概述
絕大多數(shù)現(xiàn)在的單片機都是基于馮·諾伊曼結構的,這種結構清楚地定義了嵌入式系統(tǒng)所必需的四個基本部分:一個中央處理器核心,程序存儲器(只讀存儲器或者閃存)、數(shù)據(jù)存儲器(隨機存儲器)、一個或者更多的定時/計時器,還有用來與外圍設備以及擴展資源進行通信的輸入/輸出端口——所有這些都被集成在單個集成電路芯片上。
說單片機與通用型中央處理單元芯片不同,是因為前者一般很容易配合最小型的外部支持芯片制成工作計算機。這樣就可以很容易的把單片機系統(tǒng)植入裝置內(nèi)部來控制裝置了。近年來為了在指令和數(shù)據(jù)上使用不同的字寬,并提高處理器流水線速度,哈佛結構在微控制器(Microcontrollers)和數(shù)字信號處理器(Digital Signal Processor, DSP)也逐漸得到了廣泛的應用。
傳統(tǒng)的微處理器是不允許這么做的。它要完成單片機的工作,就必須連接一些其他芯片。比如說,因為芯片上沒有數(shù)據(jù)存儲器,就必須要添加一些RAM的存儲芯片,雖然所添加存儲器的容量很靈活,但是至少還是要添加。另外還需要添加很多連線來傳遞芯片之間的數(shù)據(jù)。與以上的情況相比,單片機的工作則相對獨立,一個典型的微控制器只需要一個時鐘發(fā)生器和很少的RAM和ROM(或者EPROM, E2PROM)就可以在軟件和晶振下工作了。同時,微控制器具有豐富的輸入輸出設備,例如模擬數(shù)字轉換器(Analog-to-Digital Converter, ADC),定時器,串口,以及其他串行通訊接口,比如I2C,SPI(串行周邊接口),CAN(控制器局域網(wǎng))等。通常,這些集成在內(nèi)部的設備可以通過特殊的指令來操作。
單片機時鐘頻率通常較同時代的計算機芯片低,但它價格低廉,能夠提供充足的程序存儲器、豐富的片上接口。某些架構的單片機生產(chǎn)廠商眾多,例如8051系列、Z80系列。一些現(xiàn)代的微控制器支持一些內(nèi)建的高級編程語言,比如BASIC語言、C語言、C++等。
單片機的位元數(shù)
根據(jù)總線或資料暫存器的寬度,單片機又分為4位元、8位元、16位元和32位元單片機。4位單片機多用于冰箱、洗衣機、微波爐等家電控制中;8位、16位單片機主要用于一般的控制領域,一般不使用操作系統(tǒng);32位用于網(wǎng)絡操作、多媒體處理等復雜處理的場合,一般要使用嵌入式操作系統(tǒng)。
常見的單片機
微芯公司的PIC系列出貨量居于業(yè)界領導者地位;Atmel的51系列及AVR系列種類眾多,受支持面廣;德州儀器的MSP430系列以低功耗聞名,常用于醫(yī)療電子產(chǎn)品及儀器儀表中;瑞薩單片機在日本使用廣泛。
ARM 系列單片機
AVR系列(愛特梅爾公司)
Atmel AT91 series (ARM 處理器等)
AT90 series – AVR (Atmel 的高性能RISC 8位單片機,老產(chǎn)品)
ATmega series – AVR (Atmel 的高性能RISC 8 位單片機,新產(chǎn)品)
ATXmega series – AVR (Atmel 的高性能RISC 32 位單片機,新產(chǎn)品)
Atmel AT89 series (Intel 8051/MCS51 架構8位單片機)
MARC4
Cypress MicroSystems(賽普拉斯微系統(tǒng)公司)
CY8C2xxxx (PSoC)
Freescale Semiconductor(飛思卡爾半導體)
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(盛群半導體)
評論