2018-05-26 11:01:32分類:行業(yè)資訊6067
單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領(lǐng)域。由于單片機在工業(yè)控制領(lǐng)域的廣泛應用,為使更多的業(yè)內(nèi)人士、學生、愛好者,產(chǎn)品開發(fā)人員掌握單片機這門技術(shù),于是產(chǎn)生單片機開發(fā)板,比較有名的例如電子人DZR-01A單片機開發(fā)板。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設(shè)備當中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。
單片機的概述:
單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復雜的輸入輸出系統(tǒng)集成在一塊芯片上。
彈片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。同時,學習使用單片機了解計算機原理與結(jié)構(gòu)的最佳選擇。
單片機的特點:
2.1.集成度高、體積小。
單片機將CPU、存儲器、I/O接口等各種功能部件集成在一塊晶體芯片上,體積小,節(jié)省空間。能靈活,方便地應用于各種智能化的控制設(shè)備和儀器,實現(xiàn)機電一體化。
2.2.可靠性高,抗干擾性強。
單片機把各種功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。
2.3.低功耗。
許多單片機的工作電壓只有2~4伏特,電流幾百微安,功耗很低,適用于便攜式系統(tǒng)。
2.4.控制功能強。
其CPU可以對I/O端口直接進行操作,可以進行位操作、分支轉(zhuǎn)移操作, 還能方便地實現(xiàn)多機控制,使整個系統(tǒng)的控制效率大為提高,適用于專門的控制領(lǐng)域。
2.5.可擴展性好。
單片機具有靈活方便的外部擴展總線接口,使得當片內(nèi)資源不夠使用時可以非常方便地進行片外擴展。另外,現(xiàn)在單片機具有越來越豐富的通信接口:如異步串行口SCI、同步串行口SPI、I2C、CAN總線、甚至有的單片機還集成了USB接口或以太網(wǎng)接口,這些豐富的通信接口使得單片機系統(tǒng)與外部計算機系統(tǒng)的通信變得非常容易。
2.6.性價比高。
單片機應用廣泛,生產(chǎn)批量大,產(chǎn)品供應商的商業(yè)競爭使得單片機產(chǎn)品的性能越來越強而價格低廉,有優(yōu)異的性能價格比。
單片機的分類:
3.1.通用型/專用型 這是按單片機適用范圍來區(qū)分的。例如,80C51是通用型單片機,它不是為某種專用途設(shè)計的;專用型單片機是針對一類產(chǎn)品甚至某一個產(chǎn)品設(shè)計生產(chǎn)的,例如為了滿足電子體溫計的要求,在片內(nèi)集成ADC接口等功能的溫度測量控制電路。
3.2.總線型/非總線型 這是按單片機是否提供并行總線來區(qū)分的。總線型單片機普遍設(shè)置有并行地址總線、 數(shù)據(jù)總線、控制總線,這些引腳用以擴展并行外圍器件都可通過串行口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設(shè)接口集成一片內(nèi),因此在許多情況下可以不要并行擴展總線,大大減省封裝成本和芯片體積,這類單片機稱為非總線型單片機。
3.3.控制型/家電型 這是按照單片機大致應用的領(lǐng)域進行區(qū)分的。一般而言,工控型尋址范圍大,運算 能力強;用于家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設(shè)接口集成度高。 顯然,上述分類并不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是總線型,還可以作工控用。
單片機的原理:
目前,單片機原理在當代的應用可謂是越來越廣泛,單片機原理是值得我們好好學習的,現(xiàn)在我們就深入了解單片機原理。
單片機原理
所謂單片機就是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上 ,但是它具有一個完整計算機所需要的大部分部件。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把 一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、 應用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。
隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計算機的CPU 、RAM 、 ROM 、定時/數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級的計算機,因此單片機早期的含義稱為單片微型計算機,直譯為單片機 。
單片機的結(jié)構(gòu):
5.1.運算器:用于實現(xiàn)算術(shù)和邏輯運算。計算機的運算和處理都在這里進行;
5.2.控制器:是計算機的控制指揮部件,使計算機各部份能自動協(xié)調(diào)的工作;
5.3.存儲器:用于存放程序和數(shù)據(jù);(又分為內(nèi)存儲器和外存儲器,內(nèi)存儲器就如我們電腦的硬盤,外存儲器就如我們的U盤)
5.4.輸入設(shè)備:用于將程序和數(shù)據(jù)輸入到計算機(例如我們電腦的鍵盤、掃描儀);
5.5.輸出設(shè)備:輸出設(shè)備用于把計算機數(shù)據(jù)計算或加工的結(jié)果以用戶需要的形式顯示或保存(例如我們的打印機)。
單片機的工作過程 :
單片機自動完成賦予它的任務的過程,也就是單片機執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的,一條指令對應著一種基本操作;單片機所能執(zhí)行的全部指令,就是該單片機的指令系統(tǒng),不同種類的單片機,其指令系統(tǒng)亦不同。為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執(zhí)行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執(zhí)行。
程序通常是順序執(zhí)行的,所以程序中的指令也是一條條順序存放的,單片機在執(zhí)行程序時要能把這些指令一條條取出并加以執(zhí)行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數(shù)器PC(包含在CPU中),在開始執(zhí)行程序時,給PC賦以程序中第一條指令所在的地址,然后取得每一條要執(zhí)行的命令,PC之中的內(nèi)容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執(zhí)行。
單片機的應用 :
7.1.在智能儀器儀表上的應用
單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。例如精密的測量設(shè)備(功率計,示波器,各種分析儀)。
7.2.在工業(yè)控制中的應用
用單片機可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。
7.3.在家用電器中的應用
可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調(diào)機、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。
7.4.在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應用
現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為在計算機網(wǎng)絡(luò)和通信設(shè)備間的應用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。
7.5.單片機在醫(yī)用設(shè)備領(lǐng)域中的應用
單片機在醫(yī)用設(shè)備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。
此外,單片機在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。
單片機的主要發(fā)展階段:
早期階段SCM即單片微型計算機(Microcontrollers)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。“創(chuàng)新模式”獲得成功,奠定了SCM與通用計算機完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨立發(fā)展道路上,Intel公司功不可沒。
Micro Controller Unit中期發(fā)展MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴展?jié)M足嵌入式應用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當數(shù)Philips公司。Philips公司以其在嵌入式應用方面的巨大優(yōu)勢,將MCS-51從單片微型計算機迅速發(fā)展到微控制器。因此,當我們回顧嵌入式系統(tǒng)發(fā)展道路時,不要忘記Intel和Philips的歷史功績。當前趨勢SoC嵌入式系統(tǒng)(System on Chip)式的獨立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應用系統(tǒng)在芯片上的最大化解決,因此,專用單片機的發(fā)展自然形成了SoC化趨勢。隨著微電子技術(shù)、IC設(shè)計、EDA工具的發(fā)展,基于SoC的單片機應用系統(tǒng)設(shè)計會有較大的發(fā)展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統(tǒng)。
單片機系統(tǒng)軟件抗干擾方法:
在提高硬件系統(tǒng)抗干擾能力的同時,軟件抗干擾以其設(shè)計靈活、節(jié)省硬件資源、可靠性好越來越受到重視。下面以mcs-51單片機系統(tǒng)為例,對微機系統(tǒng)軟件抗干擾方法進行研究。
單片機系統(tǒng)因干擾復位或掉電后復位均屬非正常復位,應進行故障診斷并能自動恢復非正常復位前的狀態(tài)。
單片機的攻擊技術(shù):
10.1.軟件攻擊。該技術(shù)通常使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來進行攻擊。軟件攻擊取得成功的一個典型事例是對早期atmelat89c 系列單片機的攻擊。攻擊者利用了該系列單片機擦除操作時序設(shè)計上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內(nèi)程序存儲器數(shù)據(jù)的操作,從而使加過密的單片機變成沒加密的單片機,然后利用編程器讀出片內(nèi)程序。
10.2.電子探測攻擊。該技術(shù)通常以高時間分辨率來監(jiān)控處理器在正常操作時所有電源和接口連接的模擬特性,并通過監(jiān)控它的電磁輻射特性來實施攻擊。因為單片機是一個活動的電子器件,當它執(zhí)行不同的指令時,對應的電源功率消耗也相應變化。這樣通過使用特殊的電子測量儀器和數(shù)學統(tǒng)計方法分析和檢測這些變化,即可獲取單片機中的特定關(guān)鍵信息。
10.3.探針技術(shù)。該技術(shù)是直接暴露芯片內(nèi)部連線,然后觀察、操控、干擾單片機以達到攻擊目的。
雖然大多數(shù)普通單片機都具有熔絲燒斷保護單片機內(nèi)代碼的功能,但由于通用低檔的單片機并非定位于制作安全類產(chǎn)品,因此,它們往往沒有提供有針對性的防范措施且安全級別較低。加上單片機應用場合廣泛,銷售量大,廠商間委托加工與技術(shù)轉(zhuǎn)讓頻繁,大量技術(shù)資料外瀉,使得利用該類芯片的設(shè)計漏洞和廠商的測試接口,并通過修改熔絲保護位等侵入型攻擊或非侵入型攻擊手段來讀取單片機的內(nèi)部程序變得比較容易。
應對單片機破解的建議:
11.1.在選定加密芯片前,要充分調(diào)研,了解單片機破解技術(shù)的新進展,包括哪些單片機是已經(jīng)確認可以破解的。盡量不選用已可破解或同系列、同型號的芯片。
11.2.盡量不要選用mcs51系列單片機,因為該單片機在國內(nèi)的普及程度最高,被研究得也最透。
11.3.產(chǎn)品的原創(chuàng)者,一般具有產(chǎn)量大的特點,所以可選用比較生僻、偏冷門的單片機來加大仿冒者采購的難度。
11.4.選擇采用新工藝、新結(jié)構(gòu)、上市時間較短的單片機,如atmelavr系列單片機等。
11.5.在設(shè)計成本許可的條件下,應選用具有硬件自毀功能的智能卡芯片,以有效對付物理攻擊。
11.6.如果條件許可,可采用兩片不同型號單片機互為備份,相互驗證,從而增加破解成本。
11.7.打磨掉芯片型號等信息或者重新印上其它的型號,以假亂真。
當然,要想從根本上防止單片機被解密,程序被盜版等侵權(quán)行為發(fā)生,只能依靠法律手段來保障。
如果說單片機就是一個電腦你可能不會認可,其實它和我們用的電腦的在本質(zhì)上沒有區(qū)別,只是5步和100步的區(qū)別,想當年比爾.蓋茨也給類似的東西搞過編程,當時機器的顯示器是幾個led顯示燈。
PLC與單片機的區(qū)別:
看到網(wǎng)友在討論PLC與單片機的區(qū)別,我也來瞎說幾句: PLC其實就是一套已經(jīng)做好的單片幾(單片機范圍很廣的喔)系統(tǒng).
PLC的梯形圖你可以理解成是與匯編等計算器語言一樣是一種編程語言,只是使用范圍不同!而且通常做法是由PLC軟件把你的梯形圖轉(zhuǎn)換成C或匯編語言(由PLC所使用的CPU決定),然后利用匯編或C編譯系統(tǒng)編譯成機器碼!PLC運行的只是幾器碼而已.梯形圖只是讓使用者更加容易使用而已.
同樣MCS-51單片機當然也可以用于PLC制作,只是8位CPU在一些高級應用如: 大量運算(包括浮點運算),嵌入式系統(tǒng)(現(xiàn)在UCOS也能移植到MCS-51)等,有些力不從心而已.我公司在使用的一套工業(yè)系統(tǒng)就是使用MCS-51單片機做的,不過加上DSP而已,已經(jīng)能滿足我們要求(我們設(shè)備速度較慢,而且邏輯控制為主,但是點數(shù)不少喔,128點I/O呢!!),而且同樣使用梯形圖編程,我們在把我們的梯形圖轉(zhuǎn)化為C51再利用KEIL的C51進行編譯.你沒有注意到不用型號的PLC會選用不同的CPU嗎!!
當然也可以用單片機直接開發(fā)控制系統(tǒng),但是對開發(fā)者要求相當高(不是一般水平可以勝任的),開發(fā)周期長,成本高(對于一些大型一點的體統(tǒng)你需要做實驗,印刷電路板就需要一筆相當?shù)馁M用,你可以說你用仿真器,用實驗板來開發(fā),但是我要告訴你,那樣做你只
單片機故障的排除:
13.1.單片機正常工作的三個條件
單片機工作的三個條件分別是電源、時鐘晶振、復位。當單片機不能正常工作時,我們首先就要檢查這三個條件,用電壓表或者萬用表檢測他的電源和接地腳,檢測兩個引腳之間的電壓是不是5V左右;對于時鐘晶體振蕩有沒有正常工作,我們最好用示波器進行檢測,看能否檢測到相應頻率的正弦波脈沖;復位檢測比較簡單,單片機的復位電平一般是高電平復位,單片機在接通電源的時候一般復位引腳上會出現(xiàn)5V左右的高電平,另外在按下復位按鍵時,復位引腳上也會出現(xiàn)高電平,用一般的電壓表或者萬用表都可以進行檢測。
13.2.單片機內(nèi)部是否正常工作的檢測
單片機內(nèi)部有沒有正常工作,我們主要是通過寫入程序的方式來進行檢測和排查。這個檢測需要有“燒入”代碼的硬件和軟件才行,檢測的原理就是通過“燒入”代碼的硬件和軟件,將一段帶有檢測功能的正常代碼“燒入”到單片機。檢查兩個方面:第一就是能不能將目標代碼正常寫入單片機,不能正常寫入單片機時,說明單片機已經(jīng)損壞,需要更換同型號的單片機;第二就是目標代碼可以正常寫入單片機,寫入后的效果是不是就是程序設(shè)定的功能,如果是說明單片機正常。
單片機在更換時,我們最好采用同型號的單片機,然后寫入公司給予的目標代碼,單片機的價格目前一般比較便宜,零售價格大概5元左右。
是驗證了硬件與軟件的可行性,并不代表可以用在工業(yè)控制系統(tǒng),因為工業(yè)控制系統(tǒng)對抗干擾的要求非常高,穩(wěn)定第一,而不是性能第一,所以你的電路板設(shè)計必須不斷實驗,改進).