發展曆史
單片機出現的曆史并不長,但發展十分迅猛。它的産生與發展和微處理器的産生與發展大體同步,自1971年美國Intel公司首先推出4位微處理器以來,它的發展到目前為止大緻可分為5個階段。下面以Intel公司的單片機發展為代表加以介紹。
1971-1976
單片機發展的初級階段。1971年11月Intel公司首先設計出集成度為2000隻晶體管/片的4位微處理器Intel4004,并配有RAM、ROM和移位寄存器,構成了第一台MCS—4微處理器,而後又推出了8位微處理器Intel8008,以及其它各公司相繼推出的8位微處理器。
1976-1980
低性能單片機階段。以1976年Intel公司推出的MCS—48系列為代表,采用将8位CPU、8位并行I/O接口、8位定時/計數器、RAM和ROM等集成于一塊半導體芯片上的單片結構,雖然其尋址範圍有限(不大于4KB),也沒有串行I/O,RAM、ROM容量小,中斷系統也較簡單,但功能可滿足一般工業控制和智能化儀器、儀表等的需要。
1980-1983
高性能單片機階段。這一階段推出的高性能8位單片機普遍帶有串行口,有多級中斷處理系統,多個16位定時器/計數器。片内RAM、ROM的容量加大,且尋址範圍可達64KB,個别片内還帶有A/D轉換接口。
1983-80年代末
16位單片機階段。1983年Intel公司又推出了高性能的16位單片機MCS-96系列,由于其采用了最新的制造工藝,使芯片集成度高達12萬隻晶體管/片。
1990年代
單片機在集成度、功能、速度、可靠性、應用領域等全方位向更高水平發展。
按照單片機的特點,單片機的應用分為單機應用與多機應用。在一個應用系統中,隻使用一片單片機稱為單機應用。
單片機的單機應用的範圍
(1)測控系統。用單片機可以構成各種不太複雜的工業控制系統、自适應控制系統、數據采集系統等,達到測量與控制的目的。
(2)智能儀表。用單片機改造原有的測量、控制儀表,促進儀表向數字化、智能化、多功能化、綜合化、柔性化方向發展。
(3)機電一體化産品。單片機與傳統的機械産品相結合,使傳統機械産品結構簡化,控制智能化。
(4)智能接口。在計算機控制系統,特别是在較大型的工業測、控系統中,用單片機進行接口的控制與管理,加之單片機與主機的并行工作,大大提高了系統的運行速度。
(5)智能民用産品。如在家用電器、玩具、遊戲機、聲像設備、電子秤、收銀機、辦公設備、廚房設備等許多産品中,單片機控制器的引入,不僅使産品的功能大大增強,性能得到提高,而且獲得了良好的使用效果。
單片機的多機應用系統
(1)功能集散系統。多功能集散系統是為了滿足工程系統多種外圍功能的要求而設置的多機系統。
(2)并行多機控制系統。并行多機控制系統主要解決工程應用系統的快速性問題,以便構成大型實時工程應用系統。
(3)局部網絡系統。
單片機按應用範圍又可分成通用型和專用型。專用型是針對某種特定産品而設計的,例如用于體溫計的單片機、用于洗衣機的單片機等等。在通用型的單片機中,又可按字長分為4位、8位、16/32位,雖然計算機的微處理器現在幾乎是32/64位的天下,8位、16位的微處理器已趨于萎縮,但單片機情況卻不同,8位單片機成本低,價格廉,便于開發,其性能能滿足大部分的需要,隻有在航天、汽車、機器人等高技術領域,需要高速處理大量數據時,才需要選用16/32位,而在一般工業領域,8位通用型單片機,仍然是目前應用最廣的單片機。
到目前為止,中國的單片機應用和嵌入式系統開發走過了二十餘年的曆程,随着嵌入式系統逐漸深入社會生活各個方面,單片機課程的教學也有從傳統的8位處理器平台向32位高級RISC處理器平台轉變的趨勢,但8位機依然難以被取代。
國民經濟建設、軍事及家用電器等各個領域,尤其是手機、汽車自動導航設備、PDA、智能玩具、智能家電、醫療設備等行業都是國内急需單片機人才的行業。行業高端目前有超過10餘萬名從事單片機開發應用的工程師,但面對嵌入式系統工業化的潮流和我國大力推動建設“嵌入式軟件工廠”的機遇,我國的嵌入式産品要溶入國際市場,形成産業,則必将急需大批單片機應用型人才,這為高職類學生從事這類高技術行業提供了巨大機會。
主要分類
按用途分類
通用型:将可開發的資源(ROM、RAM、I/O、EPROM)等全部提供給用戶。
專用型:其硬件及指令是按照某種特定用途而設計,例如錄音機機芯控制器、打印機控制器、電機控制器等。
按其基本操作處理的數據位數分類
根據總線或數據暫存器的寬度,單片機又分為1位、4位、8位、16位、32位甚至64位單片機。
4位MCU大部份應用在計算器、車用儀表、車用防盜裝置、呼叫器、無線電話、CD播放器、LCD驅動控制器、LCD遊戲機、兒童玩具、磅秤、充電器、胎壓計、溫濕度計、遙控器及傻瓜相機等;
8位MCU大部份應用在電表、馬達控制器、電動玩具機、變頻式冷氣機、呼叫器、傳真機、來電辨識器(CallerID)、電話錄音機、CRT顯示器、鍵盤及USB等;
16位單片機主要用于一般的控制領域,一般不使用操作系統,16位MCU大部份應用在行動電話、數字相機及攝錄放影機等;32位MCU大部份應用在Modem、GPS、PDA、HPC、STB、Hub、Bridge、Router、工作站、ISDN電話、激光打印機與彩色傳真機;
32位用于網絡操作、多媒體處理等複雜處理的場合,一般要使用嵌入式操作系統。
64位MCU大部份應用在高階工作站、多媒體互動系統、高級電視遊樂器(如SEGA的Dreamcast及Nintendo的GameBoy)及高級終端機等。
8位MCU工作頻率在16~50MHz之間,強調簡單效能、低成本應用,在目前MCU市場總值仍有一定地位,而不少MCU業者也持續為8bitMCU開發頻率調節的節能設計,以因應綠色時代的産品開發需求。
16位MCU,則以16位運算、16/24位尋址能力及頻率在24~100MHz為主流規格,部分16bitMCU額外提供32位加/減/乘/除的特殊指令。由于32bitMCU出現并持續降價及8bitMCU簡單耐用又便宜的低價優勢下,夾在中間的16bitMCU市場不斷被擠壓,成為出貨比例中最低的産品。
32位MCU可說是MCU市場主流,單顆報價在1.5~4美元之間,工作頻率大多在100~350MHz之間,執行效能更佳,應用類型也相當多元。但32位MCU會因為操作數與内存長度的增加,相同功能的程序代碼長度較8/16bitMCU增加30~40%,這導緻内嵌OTP/FlashROM内存容量不能太小,而芯片對外腳位數量暴增,進一步局限32bitMCU的成本縮減能力。
内嵌程序存儲器類型
下面以51單片機為例(MCS-51系列MCU是我國使用最多的單片機),根據其内部存儲器的類型不同可以分為以下幾個基本型:
1.無ROM型:8031
2.ROM型:8051
3.EPROM型:8751
4.EEPROM型:8951
5.增強型:8032/8052/8752/8952/C8051F
MCU按其存儲器類型可分為無片内ROM型和帶片内ROM型兩種。對于無片内ROM型的芯片,必須外接EPROM才能應用(典型芯片為8031)。帶片内ROM型的芯片又分為片内EPROM型(典型芯片為87C51)、MASK片内掩模ROM型(典型芯片為8051)、片内FLASH型(典型芯片為89C51)等類型,一些公司還推出帶有片内一次性可編程ROM(OneTimeProgramming,OTP)的芯片(典型芯片為97C51)。
MASKROM的MCU價格便宜,但程序在出廠時已經固化,适合程序固定不變的應用場合;FLASHROM的MCU程序可以反複擦寫,靈活性很強,但價格較高,适合對價格不敏感的應用場合或做開發用途;OTPROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,适合既要求一定靈活性,又要求低成本的應用場合,尤其是功能不斷翻新、需要迅速量産的電子産品。
由于MCU強調是最大密集度與最小芯片面積,以有限的程序代碼達成控制功能,因此當今MCU多半使用内建的MaskROM、OTPROM、EEPROM或Flash内存來儲存韌體碼,MCU内建Flash内存容量從低階4~64KB到最高階512KB~2MB不等。
存儲器結構
MCU根據其存儲器結構可分為哈佛(Harvard)結構和馮▪諾依曼(VonNeumann)結構。現在的單片機絕大多數都是基于馮·諾伊曼結構的,這種結構清楚地定義了嵌入式系統所必需的四個基本部分:一個中央處理器核心,程序存儲器(隻讀存儲器或者閃存)、數據存儲器(随機存儲器)、一個或者更多的定時/計時器,還有用來與外圍設備以及擴展資源進行通信的輸入/輸出端口,所有這些都被集成在單個集成電路芯片上。
指令結構
MCU根據指令結構又可分為CISC(ComplexInstructionSetComputer,複雜指令集計算機)和RISC(ReducedInstructionSetComuter,精簡指令集計算機微控制器)
技術原理
MCU同溫度傳感器之間通過I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信完全依靠軟件完成。溫度傳感器的地址可以通過2根地址引腳設定,這使得一根I2C總線上可以同時連接8個這樣的傳感器。MCU需要訪問傳感器時,先要發出一個8位的寄存器指針,然後再發出傳感器的地址(7位地址,低位是WR信号)。傳感器中有3個寄存器可供MCU使用,8位寄存器指針就是用來确定MCU究竟要使用哪個寄存器的。本方案中,主程序會不斷更新傳感器的配置寄存器,這會使傳感器工作于單步模式,每更新一次就會測量一次溫度。
要讀取傳感器測量值寄存器的内容,MCU必須首先發送傳感器地址和寄存器指針。MCU發出一個啟動信号,接着發出傳感器地址,然後将RD/WR管腳設為高電平,就可以讀取測量值寄存器。
為了讀出傳感器測量值寄存器中的16位數據,MCU必須與傳感器進行兩次8位數據通信。當傳感器上電工作時,默認的測量精度為9位,分辨力為0.5C/LSB(量程為-128.5C至128.5C)。本方案采用默認測量精度,根據需要,可以重新設置傳感器,将測量精度提高到12位。
如果隻要求作一般的溫度指示,比如自動調溫器,那麼分辨力達到1C就可以滿足要求了。這種情況下,傳感器的低8位數據可以忽略,隻用高8位數據就可以達到分辨力1C的設計要求。由于讀取寄存器時是按先高8位後低8位的順序,所以低8位數據既可以讀,也可以不讀。隻讀取高8位數據的好處有二,第一是可以縮短MCU和傳感器的工作時間,降低功耗;第二是不影響分辨力指标。
MCU讀取傳感器的測量值後,接下來就要進行換算并将結果顯示在LCD上。整個處理過程包括:判斷顯示結果的正負号,進行二進制碼到BCD碼的轉換,将數據傳到LCD的相關寄存器中。
數據處理完畢并顯示結果之後,MCU會向傳感器發出一個單步指令。單步指令會讓傳感器啟動一次溫度測試,然後自動進入等待模式,直到模數轉換完畢。MCU發出單步指令後,就進入LPM3模式,這時MCU系統時鐘繼續工作,産生定時中斷喚醒CPU。定時的長短可以通過編程調整,以便适應具體應用的需要。
主要區别
在20世紀最值得人們稱道的成就中,就有集成電路和電子計算機的發展。20世紀70年代出現的微型計算機,在科學技術界引起了影響深遠的變革。在70年代中期,微型計算機家族中又分裂出一個小小的派系--單片機。随着4位單片機出現之後,又推出了8位的單片機。MCS48系列,特别是MCS51系列單片機的出現,确立了單片機作為微控制器(MCU)的地位,引起了微型計算機領域新的變革。在當今世界上,微處理器(MPU)和微控制器(MCU)形成了各具特色的兩個分支。它們互相區别,但又互相融合、互相促進。與微處理器(MPU)以運算性能和速度為特征的飛速發展不同,微控制器(MCU)則是以其控制功能的不斷完善為發展标志的。
CPU(CentralProcessingUnit,中央處理器)發展出來三個分枝,一個是DSP(DigitalSignalProcessing/Processor,數字信号處理),另外兩個是MCU(MicroControlUnit,微控制器單元)和MPU(MicroProcessorUnit,微處理器單元)。
MCU集成了片上外圍器件;MPU不帶外圍器件(例如存儲器陣列),是高度集成的通用結構的處理器,是去除了集成外設的MCU;DSP運算能力強,擅長很多的重複數據運算,而MCU則适合不同信息源的多種數據的處理診斷和運算,側重于控制,速度并不如DSP。MCU區别于DSP的最大特點在于它的通用性,反應在指令集和尋址模式中。DSP與MCU的結合是DSC,它終将取代這兩種芯片。
1.對密集的乘法運算的支持
GPP不是設計來做密集乘法任務的,即使是一些現代的GPP,也要求多個指令周期來做一次乘法。而DSP處理器使用專門的硬件來實現單周期乘法。DSP處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結果bits的額外bits來避免溢出。同時,為了充分體現專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。
2.存儲器結構
傳統上,GPP使用馮.諾依曼存儲器結構。這種結構中,隻有一個存儲器空間通過一組總線(一個地址總線和一個數據總線)連接到處理器核。通常,做一次乘法會發生4次存儲器訪問,用掉至少四個指令周期。
大多數DSP采用了哈佛結構,将存儲器空間劃分成兩個,分别存儲程序和數據。它們有兩組總線連接到處理器核,允許同時對它們進行訪問。這種安排将處理器存儲器的帶寬加倍,更重要的是同時為處理器核提供數據與指令。在這種布局下,DSP得以實現單周期的MAC指令。
典型的高性能GPP實際上已包含兩個片内高速緩存,一個是數據,一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度。從物理上說,這種片内的雙存儲器和總線的結構幾乎與哈佛結構的一樣了。然而從邏輯上說,兩者還是有重要的區别。
GPP使用控制邏輯來決定哪些數據和指令字存儲在片内的高速緩存裡,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個片内存儲器和多組總線來保證每個指令周期内存儲器的多次訪問。在使用DSP時,程序員要明确地控制哪些數據和指令要存儲在片内存儲器中。程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線。
此外,DSP處理器幾乎都不具備數據高速緩存。這是因為DSP的典型數據是數據流。也就是說,DSP處理器對每個數據樣本做計算後,就丢棄了,幾乎不再重複使用。
3.零開銷循環
如果了解到DSP算法的一個共同的特點,即大多數的處理時間是花在執行較小的循環上,也就容易理解,為什麼大多數的DSP都有專門的硬件,用于零開銷循環。所謂零開銷循環是指處理器在執行循環時,不用花時間去檢查循環計數器的值、條件轉移到循環的頂部、将循環計數器減1。
與此相反,GPP的循環使用軟件來實現。某些高性能的GPP使用轉移預報硬件,幾乎達到與硬件支持的零開銷循環同樣的效果。
4.定點計算
大多數DSP使用定點計算,而不是使用浮點。雖然DSP的應用必須十分注意數字的精确,用浮點來做應該容易的多,但是對DSP來說,廉價也是非常重要的。定點機器比起相應的浮點機器來要便宜(而且更快)。為了不使用浮點機器而又保證數字的準确,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位。
5.專門的尋址方式
DSP處理器往往都支持專門的尋址模式,它們對通常的信号處理操作和算法是很有用的。例如,模塊(循環)尋址(對實現數字濾波器延時線很有用)、位倒序尋址(對FFT很有用)。這些非常專門的尋址模式在GPP中是不常使用的,隻有用軟件來實現。
6.執行時間的預測
大多數的DSP應用(如蜂窩電話和調制解調器)都是嚴格的實時應用,所有的處理必須在指定的時間内完成。這就要求程序員準确地确定每個樣本需要多少處理時間,或者,至少要知道,在最壞的情況下,需要多少時間。
如果打算用低成本的GPP去完成實時信号處理的任務,執行時間的預測大概不會成為什麼問題,應為低成本GPP具有相對直接的結構,比較容易預測執行時間。然而,大多數實時DSP應用所要求的處理能力是低成本GPP所不能提供的。這時候,DSP對高性能GPP的優勢在于,即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動态特性,如轉移預測和推理執行等。因此,由一段給定的代碼來預測所要求的執行時間是完全直截了當的。從而使程序員得以确定芯片的性能限制。
7.定點DSP指令集
定點DSP指令集是按兩個目标來設計的:使處理器能夠在每個指令周期内完成多個操作,從而提高每個指令周期的計算效率。将存貯DSP程序的存儲器空間減到最小(由于存儲器對整個系統的成本影響甚大,該問題在對成本敏感的DSP應用中尤為重要)。為了實現這些目标,DSP處理器的指令集通常都允許程序員在一個指令内說明若幹個并行的操作。例如,在一條指令包含了MAC操作,即同時的一個或兩個數據移動。在典型的例子裡,一條指令就包含了計算FIR濾波器的一節所需要的所有操作。這種高效率付出的代價是,其指令集既不直觀,也不容易使用(與GPP的指令集相比)。
GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語言。而對于DSP的程序員來說,不幸的是主要的DSP應用程序都是用彙編語言寫的(至少部分是彙編語言優化的)。這裡有兩個理由:首先,大多數廣泛使用的高級語言,例如C,并不适合于描述典型的DSP算法。其次,DSP結構的複雜性,如多存儲器空間、多總線、不規則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器。
即便用編譯器将C源代碼編譯成為DSP的彙編代碼,優化的任務仍然很重。典型的DSP應用都具有大量計算的要求,并有嚴格的開銷限制,使得程序的優化必不可少(至少是對程序的最關鍵部分)。因此,考慮選用DSP的一個關鍵因素是,是否存在足夠的能夠較好地适應DSP處理器指令集的程序員。
8.開發工具的要求
因為DSP應用要求高度優化的代碼,大多數DSP廠商都提供一些開發工具,以幫助程序員完成其優化工作。例如,大多數廠商都提供處理器的仿真工具,以準确地仿真每個指令周期内處理器的活動。無論對于确保實時操作還是代碼的優化,這些都是很有用的工具。GPP廠商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息。GPP缺乏精确到指令周期的仿真工具,是DSP應用開發者所面臨的的大問題:由于幾乎不可能預測高性能GPP對于給定任務所需要的周期數,從而無法說明如何去改善代碼的性能。
應用大會
MCU技術創新與嵌入式應用大會是伴随着高交會電子展一起開展的一個有關MCU技術的交流應用論壇。由深圳市創意時代會展有限公司承辦,内容上安排通常是上午由國内專業人士對mcu知識和創新應用進行演講,下午論壇,自由暢談交流技術及行業趨勢等。
第四屆
時間:2012年8月21日
地點:深圳會展中心
相關展會:2012年嵌入式系統展
大會全稱:第四屆MCU技術創新與嵌入式應用大會
支持媒體:電子展覽網
主題演講(上午):從MCU到SoC,MCU技術的融合、開放與創新,将嵌入式系統無縫升級32位MCU更綠色可靠的嵌入式設計,等
分論壇(下午)深入更多嵌入式應用市場
分論壇1:家用電器/智能家居
分論壇2:人機界面/IPC
分論壇3:電機控制
第三屆
将重點呈現:嵌入式世界創新關鍵及中國企業産品升級轉型所需MCU與嵌入式方案。
時間:2011年11月18日
地點:深圳
主辦單位:第十三屆深圳高交會電子展組委會
承辦單位:創意時代會展電子展覽網
主題演講(上午)内容包括:
多核MCU發展趨勢
MCU到SoC
智能系統的安全性與可靠性等
MCU!MCU!2011觸角深入最新應用市場(下午):
分論壇1:家用電器/智能家居
分論壇2:智能計量
分論壇3:人機界面/IPC
分論壇4:電機控制
以往回顧
2009年有460多為專業人士出席
2010年有606位專業人士出席
2010年專業聽衆分析
MCU!MCU!2010吸引了來自IBM、西門子、研祥、艾默生、TCL、創維、康佳、美的、中興、聯想、富士康、偉創力、比亞迪等上百家國内外知名企業606位技術及管理人員到會參與:
專業聽衆中研發技術人員超過了一半
技術研發人員占到52%,其次是中、高層管理人員占33%;少部分為市場/營銷人員,占13%,其他占2%
2010年專業聽衆從事的領域分布
2010年專業聽衆從事的領域分布
2010年mcu專業聽衆分析
2010年mcu專業聽衆分析
專業聽衆從事的領域分布參會人員所在的企業,消費電子占37%;工業電子占24%;嵌入式系統設計占22%;醫療電子占19%;汽車電子,嵌入式軟件開發,各占15%;家電14%;手機與通訊11%;IT與網絡10%;其他占9%。



















