<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MCU的技術(shù)原理、區別及發(fā)展歷史

MCU的技術(shù)原理、區別及發(fā)展歷史

作者: 時(shí)間:2018-07-27 來(lái)源:網(wǎng)絡(luò ) 收藏

微控制單元(Microcontroller Unit;) ,又稱(chēng)單片微型計算機(Single Chip Microcomputer )或者,是把中央處理器(Central Process Unit;CPU)的頻率與規格做適當縮減,并將內存(memory)、計數器(Timer)、USB、A/D轉換、UART、PLC、DMA等周邊接口,甚至LCD驅動(dòng)電路都整合在單一芯片上,形成芯片級的計算機,為不同的應用場(chǎng)合做不同組合控制。諸如手機、PC外圍、遙控器,至汽車(chē)電子、工業(yè)上的步進(jìn)馬達、機器手臂的控制等,都可見(jiàn)到的身影。

本文引用地址:http://dyxdggzs.com/article/201807/384330.htm

技術(shù)原理

同溫度傳感器之間通過(guò)I2C總線(xiàn)連接。I2C總線(xiàn)占用2條MCU輸入輸出口線(xiàn),二者之間的通信完全依靠軟件完成。溫度傳感器的地址可以通過(guò)2根地址引腳設定,這使得一根I2C總線(xiàn)上可以同時(shí)連接8個(gè)這樣的傳感器。本方案中,傳感器的7位地址已經(jīng)設定為1001000。MCU需要訪(fǎng)問(wèn)傳感器時(shí),先要發(fā)出一個(gè)8位的寄存器指針,然后再發(fā)出傳感器的地址(7位地址,低位是WR信號)。傳感器中有3個(gè)寄存器可供MCU使用,8位寄存器指針就是用來(lái)確定MCU究竟要使用哪個(gè)寄存器的。本方案中,主程序會(huì )不斷更新傳感器的配置寄存器,這會(huì )使傳感器工作于單步模式,每更新一次就會(huì )測量一次溫度。

要讀取傳感器測量值寄存器的內容,MCU必須首先發(fā)送傳感器地址和寄存器指針。MCU發(fā)出一個(gè)啟動(dòng)信號,接著(zhù)發(fā)出傳感器地址,然后將RD/WR管腳設為高電平,就可以讀取測量值寄存器。

為了讀出傳感器測量值寄存器中的16位數據,MCU必須與傳感器進(jìn)行兩次8位數據通信。當傳感器上電工作時(shí),默認的測量精度為9位,分辨力為0.5 C/LSB(量程為-128.5 C至128.5 C)。本方案采用默認測量精度,根據需要,可以重新設置傳感器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動(dòng)調溫器,那么分辨力達到1 C就可以滿(mǎn)足要求了。這種情況下,傳感器的低8位數據可以忽略,只用高8位數據就可以達到分辨力1 C的設計要求。由于讀取寄存器時(shí)是按先高8位后低8位的順序,所以低8位數據既可以讀,也可以不讀。只讀取高8位數據的好處有二,第一是可以縮短MCU和傳感器的工作時(shí)間,降低功耗;第二是不影響分辨力指標。

MCU讀取傳感器的測量值后,接下來(lái)就要進(jìn)行換算并將結果顯示在LCD上。整個(gè)處理過(guò)程包括:判斷顯示結果的正負號,進(jìn)行二進(jìn)制碼到BCD碼的轉換,將數據傳到LCD的相關(guān)寄存器中。

數據處理完畢并顯示結果之后,MCU會(huì )向傳感器發(fā)出一個(gè)單步指令。單步指令會(huì )讓傳感器啟動(dòng)一次溫度測試,然后自動(dòng)進(jìn)入等待模式,直到模數轉換完畢。MCU發(fā)出單步指令后,就進(jìn)入LPM3模式,這時(shí)MCU系統時(shí)鐘繼續工作,產(chǎn)生定時(shí)中斷喚醒CPU。定時(shí)的長(cháng)短可以通過(guò)編程調整,以便適應具體應用的需要。

主要區別

在20世紀最值得人們稱(chēng)道的成就中,就有集成電路和電子計算機的發(fā)展。20世紀70年代出現的微型計算機,在科學(xué)技術(shù)界引起了影響深遠的變革。在70年代中期,微型計算機家族中又分裂出一個(gè)小小的派系--。隨著(zhù)4位出現之后,又推出了8位的單片機。MCS48系列,特別是MCS51系列單片機的出現,確立了單片機作為微控制器(MCU)的地位,引起了微型計算機領(lǐng)域新的變革。在當今世界上,微處理器(MPU)和微控制器(MCU)形成了各具特色的兩個(gè)分支。它們互相區別,但又互相融合、互相促進(jìn)。與微處理器(MPU)以運算性能和速度為特征的飛速發(fā)展不同,微控制器(MCU)則是以其控制功能的不斷完善為發(fā)展標志的。

CPU(Central Processing Unit,中央處理器)發(fā)展出來(lái)三個(gè)分枝,一個(gè)是DSP(Digital Signal Processing/Processor,數字信號處理),另外兩個(gè)是MCU(Micro Control Unit,微控制器單元)和MPU(Micro Processor Unit,微處理器單元)。

MCU集成了片上外圍器件;MPU不帶外圍器件(例如存儲器陣列),是高度集成的通用結構的處理器,是去除了集成外設的MCU;DSP運算能力強,擅長(cháng)很多的重復數據運算,而MCU則適合不同信息源的多種數據的處理診斷和運算,側重于控制,速度并不如DSP。MCU區別于DSP的最大特點(diǎn)在于它的通用性,反應在指令集和尋址模式中。DSP與MCU的結合是DSC,它終將取代這兩種芯片。

1.對密集的乘法運算的支持

GPP不是設計來(lái)做密集乘法任務(wù)的,即使是一些現代的GPP,也要求多個(gè)指令周期來(lái)做一次乘法。而DSP處理器使用專(zhuān)門(mén)的硬件來(lái)實(shí)現單周期乘 法。DSP處理器還增加了累加器寄存器來(lái)處理多個(gè)乘積的和。累加器寄存器通常比其他寄存器寬,增加稱(chēng)為結果bits的額外bits來(lái)避免溢出。同時(shí),為了 充分體現專(zhuān)門(mén)的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。

2. 存儲器結構

傳統上,GPP使用馮。諾依曼存儲器結構。這種結構中,只有一個(gè)存儲器空間通過(guò)一組總線(xiàn)(一個(gè)地址總線(xiàn)和一個(gè)數據總線(xiàn))連接到處理器核。通常,做一次乘法會(huì )發(fā)生4次存儲器訪(fǎng)問(wèn),用掉至少四個(gè)指令周期。

大多數DSP采用了哈佛結構,將存儲器空間劃分成兩個(gè),分別存儲程序和數據。它們有兩組總線(xiàn)連接到處理器核,允許同時(shí)對它們進(jìn)行訪(fǎng)問(wèn)。這種安排將處理器存儲器的帶寬加倍,更重要的是同時(shí)為處理器核提供數據與指令。在這種布局下,DSP得以實(shí)現單周期的MAC指令。

典型的高性能GPP實(shí)際上已包含兩個(gè)片內高速緩存,一個(gè)是數據,一個(gè)是指令,它們直接連接到處理器核,以加快運行時(shí)的訪(fǎng)問(wèn)速度。從物理上說(shuō),這種片內的雙存儲器和總線(xiàn)的結構幾乎與哈佛結構的一樣了。然而從邏輯上說(shuō),兩者還是有重要的區別。

GPP使用控制邏輯來(lái)決定哪些數據和指令字存儲在片內的高速緩存里,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個(gè)片內存儲器和多組總線(xiàn)來(lái)保證每個(gè)指令周期內存儲器的多次訪(fǎng)問(wèn)。在使用DSP時(shí),程序員要明確地控制哪些數據和指令要存儲在片內存儲器中。程序員在寫(xiě)程序時(shí),必須保證處理器能夠有效地使用其雙總線(xiàn)。

此外,DSP處理器幾乎都不具備數據高速緩存。這是因為DSP的典型數據是數據流。也就是說(shuō),DSP處理器對每個(gè)數據樣本做計算后,就丟棄了,幾乎不再重復使用。

3.零開(kāi)銷(xiāo)循環(huán)

如果了解到DSP算法的一個(gè)共同的特點(diǎn),即大多數的處理時(shí)間是花在執行較小的循環(huán)上,也就容易理解,為什么大多數的DSP都有專(zhuān)門(mén)的硬件,用于 零開(kāi)銷(xiāo)循環(huán)。所謂零開(kāi)銷(xiāo)循環(huán)是指處理器在執行循環(huán)時(shí),不用花時(shí)間去檢查循環(huán)計數器的值、條件轉移到循環(huán)的頂部、將循環(huán)計數器減1。

與此相反,GPP的循環(huán)使用軟件來(lái)實(shí)現。某些高性能的GPP使用轉移預報硬件,幾乎達到與硬件支持的零開(kāi)銷(xiāo)循環(huán)同樣的效果。

4.定點(diǎn)計算

大多數DSP使用定點(diǎn)計算,而不是使用浮點(diǎn)。雖然DSP的應用必須十分注意數字的精確,用浮點(diǎn)來(lái)做應該容易的多,但是對DSP來(lái)說(shuō),廉價(jià)也是非常重要的。定點(diǎn)機器比起相應的浮點(diǎn)機器來(lái)要便宜(而且更快)。為了不使用浮點(diǎn)機器而又保證數字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位。

5.專(zhuān)門(mén)的尋址方式

DSP處理器往往都支持專(zhuān)門(mén)的尋址模式,它們對通常的信號處理操作和算法是很有用的。例如,模塊(循環(huán))尋址(對實(shí)現數字濾波器延時(shí)線(xiàn)很有用)、位倒序尋址(對FFT很有用)。這些非常專(zhuān)門(mén)的尋址模式在GPP中是不常使用的,只有用軟件來(lái)實(shí)現。

6.執行時(shí)間的預測

大多數的DSP應用(如蜂窩電話(huà)和調制解調器)都是嚴格的實(shí)時(shí)應用,所有的處理必須在指定的時(shí)間內完成。這就要求程序員準確地確定每個(gè)樣本需要多少處理時(shí)間,或者,至少要知道,在最壞的情況下,需要多少時(shí)間。如果打算用低成本的GPP去完成實(shí)時(shí)信號處理的任務(wù),執行時(shí)間的預測大概不會(huì )成為什么問(wèn)題,應為低成本GPP具有相對直接的結構,比較容易預測執行時(shí)間。然而,大多數實(shí)時(shí)DSP應用所要求的處理能力是低成本GPP所不能提供的。 這時(shí)候,DSP對高性能GPP的優(yōu)勢在于,即便是使用了高速緩存的DSP,哪些指令會(huì )放進(jìn)去也是由程序員(而不是處理器)來(lái)決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動(dòng)態(tài)特性,如轉移預測和推理執行等。因此,由一段給定的代碼來(lái)預測所要求的執行時(shí)間是完全直截了當的。從而使程序員得以確定芯片的性能限制。

7.定點(diǎn)DSP指令集

定點(diǎn)DSP指令集是按兩個(gè)目標來(lái)設計的:使處理器能夠在每個(gè)指令周期內完成多個(gè)操作,從而提高每個(gè)指令周期的計算效率。將存貯DSP程序的存儲器空間減到最小(由于存儲器對整個(gè)系統的成本影響甚大,該問(wèn)題在對成本敏感的DSP應用中尤為重要)。為了實(shí)現這些目標,DSP處理器的指令集通常都允許程序員在一個(gè)指令內說(shuō)明若干個(gè)并行的操作。例如,在一條指令包含了MAC操作,即同時(shí)的一個(gè)或兩個(gè)數據移動(dòng)。在典型的例子里,一條指令就包含了計算FIR濾波器的一節所需要的所有操作。這種高效率付出的代價(jià)是,其指令集既不直觀(guān),也不容易使用(與GPP的指令集相比)。 GPP的程序通常并不在意處理器的指令集是否容易使用,因為他們一般使用象C或C++等高級語(yǔ)言。而對于DSP的程序員來(lái)說(shuō),不幸的是主要的DSP應用程序都是用匯編語(yǔ)言寫(xiě)的(至少部分是匯編語(yǔ)言?xún)?yōu)化的)。這里有兩個(gè)理由:首先,大多數廣泛使用的高級語(yǔ)言,例如C,并不適合于描述典型的DSP算法。其次, DSP結構的復雜性,如多存儲器空間、多總線(xiàn)、不規則的指令集、高度專(zhuān)門(mén)化的硬件等,使得難于為其編寫(xiě)高效率的編譯器。 即便用編譯器將C源代碼編譯成為DSP的匯編代碼,優(yōu)化的任務(wù)仍然很重。典型的DSP應用都具有大量計算的要求,并有嚴格的開(kāi)銷(xiāo)限制,使得程序的優(yōu)化必不可少(至少是對程序的最關(guān)鍵部分)。因此,考慮選用DSP的一個(gè)關(guān)鍵因素是,是否存在足夠的能夠較好地適應DSP處理器指令集的程序員。

8.開(kāi)發(fā)工具的要求

因為DSP應用要求高度優(yōu)化的代碼,大多數DSP廠(chǎng)商都提供一些開(kāi)發(fā)工具,以幫助程序員完成其優(yōu)化工作。例如,大多數廠(chǎng)商都提供處理器的仿真工具,以準確地仿真每個(gè)指令周期內處理器的活動(dòng)。無(wú)論對于確保實(shí)時(shí)操作還是代碼的優(yōu)化,這些都是很有用的工具。 GPP廠(chǎng)商通常并不提供這樣的工具,主要是因為GPP程序員通常并不需要詳細到這一層的信息。GPP缺乏精確到指令周期的仿真工具,是DSP應用開(kāi)發(fā)者所面臨的的大問(wèn)題:由于幾乎不可能預測高性能GPP對于給定任務(wù)所需要的周期數,從而無(wú)法說(shuō)明如何去改善代碼的性能。

發(fā)展歷史

單片機出現的歷史并不長(cháng),但發(fā)展十分迅猛。 它的產(chǎn)生與發(fā)展和微處理器的產(chǎn)生與發(fā)展大體同步,自1971年美國Intel公司首先推出4位微處理器以來(lái),它的發(fā)展到目前為止大致可分為5個(gè)階段。下面以Intel公司的單片機發(fā)展為代表加以介紹。

1971-1976

單片機發(fā)展的初級階段。 1971年11月Intel公司首先設計出集成度為2000只晶體管/片的4位微處理器Intel 4004,并配有RAM、 ROM和移位寄存器, 構成了第一臺MCS—4微處理器, 而后又推出了8位微處理器Intel 8008, 以及其它各公司相繼推出的8位微處理器。

1976-1980

低性能單片機階段。 以1976年Intel公司推出的MCS—48系列為代表, 采用將8位CPU、 8位并行I/O接口、8位定時(shí)/計數器、RAM和ROM等集成于一塊半導體芯片上的單片結構, 雖然其尋址范圍有限(不大于4 KB), 也沒(méi)有串行I/O, RAM、 ROM容量小, 中斷系統也較簡(jiǎn)單, 但功能可滿(mǎn)足一般工業(yè)控制和智能化儀器、儀表等的需要。

1980-1983

高性能單片機階段。 這一階段推出的高性能8位單片機普遍帶有串行口,有多級中斷處理系統, 多個(gè)16位定時(shí)器/計數器。片內RAM、 ROM的容量加大,且尋址范圍可達64 KB,個(gè)別片內還帶有A/D轉換接口。

1983-80年代末

16位單片機階段。 1983年Intel公司又推出了高性能的16位單片機MCS-96系列,由于其采用了最新的制造工藝, 使芯片集成度高達12萬(wàn)只晶體管/片。

1990年代

單片機在集成度、功能、速度、可靠性、應用領(lǐng)域等全方位向更高水平發(fā)展。

按照單片機的特點(diǎn),單片機的應用分為單機應用與多機應用。在一個(gè)應用系統中,只使用一片單片機稱(chēng)為單機應用。單片機的單機應用的范圍包括:

(1) 測控系統。 用單片機可以構成各種不太復雜的工業(yè)控制系統、自適應控制系統、數據采集系統等,達到測量與控制的目的。

(2) 智能儀表。 用單片機改造原有的測量、控制儀表,促進(jìn)儀表向數字化、智能化、多功能化、綜合化、柔性化方向發(fā)展。

(3) 機電一體化產(chǎn)品。單片機與傳統的機械產(chǎn)品相結合,使傳統機械產(chǎn)品結構簡(jiǎn)化, 控制智能化。

(4) 智能接口。 在計算機控制系統, 特別是在較大型的工業(yè)測、控系統中,用單片機進(jìn)行接口的控制與管理, 加之單片機與主機的并行工作, 大大提高了系統的運行速度。

(5) 智能民用產(chǎn)品。 如在家用電器、玩具、游戲機、聲像設備、電子秤、收銀機、辦公設備、廚房設備等許多產(chǎn)品中,單片機控制器的引入, 不僅使產(chǎn)品的功能大大增強, 性能得到提高, 而且獲得了良好的使用效果。

單片機的多機應用系統可分為功能集散系統、并行多機處理及局部網(wǎng)絡(luò )系統。

(1) 功能集散系統。 多功能集散系統是為了滿(mǎn)足工程系統多種外圍功能的要求而設置的多機系統。

(2) 并行多機控制系統。 并行多機控制系統主要解決工程應用系統的快速性問(wèn)題,以便構成大型實(shí)時(shí)工程應用系統。

(3) 局部網(wǎng)絡(luò )系統。

單片機按應用范圍又可分成通用型和專(zhuān)用型。專(zhuān)用型是針對某種特定產(chǎn)品而設計的,例如用于體溫計的單片機、用于洗衣機的單片機等等。在通用型的單片機中,又可按字長(cháng)分為4位、8位、16/32位,雖然計算機的微處理器現在幾乎是32/64位的天下,8位、16位的微處理器已趨于萎縮,但單片機情況卻不同,8位單片機成本低,價(jià)格廉,便于開(kāi)發(fā),其性能能滿(mǎn)足大部分的需要,只有在航天、汽車(chē)、機器人等高技術(shù)領(lǐng)域,需要高速處理大量數據時(shí),才需要選用16/32位,而在一般工業(yè)領(lǐng)域,8位通用型單片機,仍然是目前應用最廣的單片機。

到目前為止,中國的單片機應用和嵌入式系統開(kāi)發(fā)走過(guò)了二十余年的歷程,隨著(zhù)嵌入式系統逐漸深入社會(huì )生活各個(gè)方面,單片機課程的教學(xué)也有從傳統的8位處理器平臺向32位高級RISC處理器平臺轉變的趨勢,但8位機依然難以被取代。國民經(jīng)濟建設、軍事及家用電器等各個(gè)領(lǐng)域,尤其是手機、汽車(chē)自動(dòng)導航設備、PDA、智能玩具、智能家電、醫療設備等行業(yè)都是國內急需單片機人才的行業(yè)。行業(yè)高端目前有超過(guò)10余萬(wàn)名從事單片機開(kāi)發(fā)應用的工程師,但面對嵌入式系統工業(yè)化的潮流和我國大力推動(dòng)建設“嵌入式軟件工廠(chǎng)”的機遇,我國的嵌入式產(chǎn)品要溶入國際市場(chǎng),形成產(chǎn)業(yè),則必將急需大批單片機應用型人才,這為高職類(lèi)學(xué)生從事這類(lèi)高技術(shù)行業(yè)提供了巨大機會(huì )。



關(guān)鍵詞: 單片機 MCU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>