嵌入式原理及應(yīng)用——基于STM32F103微控制器黃克亞課后答案
- 教育綜合
- 2023-07-23 17:44:18
嵌入式原理及應(yīng)用
嵌入式系統(tǒng)的定義:
以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。
可以從以下幾個(gè)方面理解:
①嵌入式系統(tǒng)是面向用戶(hù)、面向產(chǎn)品、面向應(yīng)用的;
②嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分,硬件包括處理器/微處理器、存儲(chǔ)器及外設(shè)器件和I/O端口、圖形控制器等。軟件包括操作系統(tǒng)和應(yīng)用程序編程。
嵌入式系統(tǒng)的核心:
是嵌入式微處理器和嵌入式操作系統(tǒng)(=硬件+操作系統(tǒng))
嵌入式微處理器的特點(diǎn):
①具有較強(qiáng)的操作系統(tǒng)支持能力;②具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)能力;
③可擴(kuò)展的處理器結(jié)構(gòu);④功耗很低
嵌入式操作系統(tǒng)的特點(diǎn):
①代碼精簡(jiǎn);②實(shí)時(shí)性高;開(kāi)發(fā)調(diào)試環(huán)境特殊
嵌入式系統(tǒng)的特點(diǎn):(5個(gè))
(1)功能特定性;(2)規(guī)??勺冃裕唬?)實(shí)時(shí)性與穩(wěn)定性;(4)操作系統(tǒng)內(nèi)核?。唬?)有專(zhuān)門(mén)的開(kāi)發(fā)工具和開(kāi)發(fā)環(huán)境
嵌入式系統(tǒng)的實(shí)時(shí)性分類(lèi):
(1)軟實(shí)時(shí)系統(tǒng):
任務(wù)時(shí)限柔性靈活、可容忍偶然的超時(shí)錯(cuò)誤。失敗造成的后果不嚴(yán)重,僅僅是降低了系統(tǒng)的吞吐量。
(2)硬實(shí)時(shí)系統(tǒng):
系統(tǒng)要確保在最壞情況下的服務(wù)時(shí)間,對(duì)時(shí)間響應(yīng)時(shí)間的截止期限必須得到滿(mǎn)足。
單片機(jī)的原理及應(yīng)用?
單片機(jī)到底是什么呢?就是一個(gè)電腦,只不過(guò)是微型的,麻雀雖小,五臟俱全:它內(nèi)部也用和電腦功能類(lèi)似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤(pán)作用相同的存儲(chǔ)器件,不同的是它的這些部件性能都相對(duì)我們的家用電腦弱很多,不過(guò)價(jià)錢(qián)也是低的,一般不超過(guò)10元即可......用它來(lái)做一些控制電器一類(lèi)不是很復(fù)雜的工作足矣了。排煙罩VCD等等的家電里面都可以看到它的身影!......它主要是作為控制部分的核心部件。\x0d\x0a單片機(jī)是靠程序工作的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開(kāi)發(fā)的74系列,或者60年代的CD4000系列這些純硬件來(lái)搞定的話,電路一定是一塊大PCB板!但是如果要是用美國(guó)70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫(xiě)的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性!\x0d\x0a由于單片機(jī)對(duì)成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級(jí)匯編語(yǔ)言(近幾年,C語(yǔ)言也開(kāi)始廣泛被應(yīng)用),它是除了二進(jìn)制機(jī)器碼以上最低級(jí)的語(yǔ)言了,既然這么低級(jí)為什么還要用呢?很多高級(jí)的語(yǔ)言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡(jiǎn)單,就是單片機(jī)沒(méi)有家用計(jì)算機(jī)那樣的CPU,也沒(méi)有像硬盤(pán)那樣的海量存儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語(yǔ)言編寫(xiě)的小程序里面即使只有一個(gè)按鈕,也會(huì)達(dá)到幾十K的尺寸!對(duì)于家用PC的硬盤(pán)來(lái)講沒(méi)什么,可是對(duì)于單片機(jī)來(lái)講是不能接受的。單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用PC上來(lái)運(yùn)行,家用PC也是承受不了的。\x0d\x0a目前最常用的單片機(jī)為MCS-51,是由美國(guó)INTEL公司(生產(chǎn)CPU的英特爾)生產(chǎn)的,89C51是這幾年在我國(guó)非常流行的單片機(jī),它是由美國(guó)ATMEL公司開(kāi)發(fā)生產(chǎn)的,其內(nèi)核兼容MCS-51單片機(jī)。\x0d\x0a單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),是典型的嵌入式微控制器(MicrocontrollerUnit),\x0d\x0a單片機(jī)芯片\x0d\x0a常用英文字母的縮寫(xiě)MCU表示單片機(jī),單片機(jī)又稱(chēng)單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。單片機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。\x0d\x0a由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由芯片內(nèi)僅有CPU的專(zhuān)用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。\x0d\x0aINTEL的8080是最早按照這種思想設(shè)計(jì)出的處理器,當(dāng)時(shí)的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)。因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的主頻超過(guò)300M的高端單片機(jī),直到目前基于8031的單片機(jī)還在廣泛的使用。在很多方面單片機(jī)比專(zhuān)用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多處理器,隨著單片機(jī)家族的發(fā)展壯大,單片機(jī)和專(zhuān)用處理器的發(fā)展便分道揚(yáng)鑣。\x0d\x0a現(xiàn)代人類(lèi)生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。汽車(chē)上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過(guò)PC機(jī)和其他計(jì)算的總和,甚至比人類(lèi)的數(shù)量還要多。\x0d\x0a單片機(jī)是指芯片本身,而單片機(jī)系統(tǒng)是為實(shí)現(xiàn)某一個(gè)控制應(yīng)用需要由用戶(hù)設(shè)計(jì)的,是一個(gè)圍繞單片機(jī)芯片而組建的計(jì)算機(jī)應(yīng)用系統(tǒng),這是單片機(jī)應(yīng)用系統(tǒng)。單片機(jī)開(kāi)發(fā)系統(tǒng)是指單片機(jī)開(kāi)發(fā)調(diào)試的工具。單片機(jī)自問(wèn)世以來(lái),性能不斷提高和完善,其資源又能滿(mǎn)足很多應(yīng)用場(chǎng)合的需要,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等特點(diǎn),正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)自動(dòng)完成賦予它的任務(wù)的過(guò)程,也就是單片機(jī)執(zhí)行程序的過(guò)程,即一條條執(zhí)行的指令的過(guò)程,所謂指令就是把要求單片機(jī)執(zhí)行的各種操作用的命令的形式寫(xiě)下來(lái),這是在設(shè)計(jì)人員賦予它的指令系統(tǒng)所決定的,一條指令對(duì)應(yīng)著一種基本操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng),不同種類(lèi)的單片機(jī),其指令系統(tǒng)亦不同。為使單片機(jī)能自動(dòng)完成某一特定任務(wù),必須把要解決的問(wèn)題編成一系列指令(這些指令必須是選定單片機(jī)能識(shí)別和執(zhí)行的指令),這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲(chǔ)功能的部件——存儲(chǔ)器中。存儲(chǔ)器由許多存儲(chǔ)單元(最小的存儲(chǔ)單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個(gè)房間的被分配到了唯一房間號(hào)一樣,每一個(gè)存儲(chǔ)單元也必須被分配到唯一的地址號(hào),該地址號(hào)稱(chēng)為存儲(chǔ)單元的地址,這樣只要知道了存儲(chǔ)單元的地址,就可以找到這個(gè)存儲(chǔ)單元,其中存儲(chǔ)的指令就可以被取出,然后再被執(zhí)行。\x0d\x0a2應(yīng)用分類(lèi)\x0d\x0a編輯\x0d\x0a\x0d\x0a單片機(jī)作為計(jì)算機(jī)發(fā)展的一個(gè)重要分支領(lǐng)域,根據(jù)目前發(fā)展情況,從不同角度單片機(jī)大致可以分為通用型/專(zhuān)用型、總線型/非總線型及工控型/家電型。\x0d\x0a通用型/專(zhuān)用型\x0d\x0a\x0d\x0a這是按單片機(jī)適用范圍來(lái)區(qū)分的。例如,80C51是通用型單片機(jī),它不是為某種專(zhuān)用途設(shè)計(jì)的;專(zhuān)用型單片機(jī)是針對(duì)一類(lèi)產(chǎn)品甚至某一個(gè)產(chǎn)品設(shè)計(jì)生產(chǎn)的,例如為了滿(mǎn)足電子體溫計(jì)的要求,在片內(nèi)集成ADC接口等功能的溫度測(cè)量控制電路。\x0d\x0a總線/非總線型\x0d\x0a\x0d\x0a這是按單片機(jī)是否提供并行總線來(lái)區(qū)分的??偩€型單片機(jī)單片機(jī)普遍設(shè)置有并行地址總線、數(shù)據(jù)總線、控制總線,這些引腳用以擴(kuò)展并行外圍器件都可通過(guò)串行口與單片機(jī)連接,另外,許多單片機(jī)已把所需要的外圍器件及外設(shè)接口集成一片內(nèi),因此在許多情況下可以不要并行擴(kuò)展總線,大大減省封裝成本和芯片體積,這類(lèi)單片機(jī)稱(chēng)為非總線型單片機(jī)。\x0d\x0a控制型/家電型\x0d\x0a\x0d\x0a這是按照單片機(jī)大致應(yīng)用的領(lǐng)域進(jìn)行區(qū)分的。一般而言,工控型尋址范圍大,運(yùn)算能力強(qiáng);用于家電的單片機(jī)多為專(zhuān)用型,通常是小封裝、低價(jià)格,外圍器件和外設(shè)接口集成度高。顯然,上述分類(lèi)并不是惟一的和嚴(yán)格的。例如,80C51類(lèi)單片機(jī)既是通用型又是總線型,還可以作工控用。\x0d\x0a3發(fā)展歷史\x0d\x0a編輯\x0d\x0a\x0d\x0a單片機(jī)誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列MCU系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開(kāi)始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢(xún)r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著INTELi960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。\x0d\x0a而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位Soc單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專(zhuān)用處理器,而普通的型號(hào)出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。\x0d\x0a當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使用,大量專(zhuān)用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專(zhuān)用的Windows和Linux操作系統(tǒng)。\x0d\x0a主要階段\x0d\x0a\x0d\x0a早期階段\x0d\x0aSCM即單片微型計(jì)算機(jī)(SingleChipMicrocomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。“創(chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒(méi)。\x0d\x0a中期發(fā)展\x0d\x0aMCU即微控制器(MicroControllerUnit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。\x0d\x0aPhilips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì),將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記Intel和Philips的歷史功績(jī)。\x0d\x0a當(dāng)前趨勢(shì)\x0d\x0aSoC嵌入式系統(tǒng)(SystemonChip)式的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決,因此,專(zhuān)用單片機(jī)的發(fā)展自然形成了SoC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。
單片機(jī)和嵌入式系統(tǒng)linux的區(qū)別
硬件組成的區(qū)別: 單片機(jī)是在一塊集成電路芯片中包含了微控制器電路,以及一些通用的輸入輸出接口器件。 從構(gòu)成嵌入式系統(tǒng)的方式看,根據(jù)現(xiàn)代電子技術(shù)發(fā)展水平,嵌入式系統(tǒng)可以用單片機(jī)實(shí)現(xiàn),也可以用其它可編程的電子器件實(shí)現(xiàn)。其余硬件器件根據(jù)目標(biāo)應(yīng)用系統(tǒng)的需求而定。 軟件組成的區(qū)別: 制造商出廠的通用單片機(jī)內(nèi)沒(méi)有應(yīng)用程序,所以不能直接運(yùn)行。增加應(yīng)用程序后,單片機(jī)就可以獨(dú)立運(yùn)行。 嵌入式系統(tǒng)一定要有控制軟件,實(shí)現(xiàn)控制邏輯的方式可以完全用硬件電路,也可以用軟件程序。 主次關(guān)系的區(qū)別: 單片機(jī)現(xiàn)在已經(jīng)被認(rèn)為是通用的電子器件了,單片機(jī)自身為主體。 嵌入式系統(tǒng)在物理結(jié)構(gòu)關(guān)系上是從屬的,嵌入式系統(tǒng)被嵌入安裝在目標(biāo)應(yīng)用單片機(jī)的原理及應(yīng)用?
求助:?jiǎn)纹瑱C(jī)及嵌入式行業(yè)所具備的知識(shí)技能
進(jìn)入嵌入式行業(yè),勉強(qiáng)不來(lái)(轉(zhuǎn)) 覺(jué)得海同07年的分析(好像)不錯(cuò): “海同教育總經(jīng)理曲剛老師表示,市場(chǎng)上需要的嵌入式人才必須具備C語(yǔ)言編程經(jīng)驗(yàn)、嵌入式操作系統(tǒng)(主要包括嵌入式Linux、WinCE或 Symbian)經(jīng)驗(yàn)、內(nèi)核裁剪經(jīng)驗(yàn)、驅(qū)動(dòng)程序開(kāi)發(fā)經(jīng)驗(yàn),比如高級(jí)嵌入式軟件開(kāi)發(fā)工程師相關(guān)職位要求是:有豐富的嵌入式多任務(wù)軟件系統(tǒng)分析和設(shè)計(jì)能力,能獨(dú)立完成項(xiàng)目系統(tǒng)方案,解決系統(tǒng)故障和問(wèn)題、精通C語(yǔ)言應(yīng)用開(kāi)發(fā),有良好的編程習(xí)慣和風(fēng)格、良好的文檔編寫(xiě)能力和習(xí)慣、熟悉項(xiàng)目管理流程。曲老師還特別指出,良好的英文閱讀能力及較強(qiáng)的學(xué)習(xí)能力是從事這一領(lǐng)域工作的基礎(chǔ),對(duì)嵌入式操作系統(tǒng)做到一專(zhuān)而多能(精通嵌入式Lin下一篇
返回列表