電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>MCU的種類分類及MCU的應用與應用技巧

MCU的種類分類及MCU的應用與應用技巧

2021-02-03 | pdf | 214.95KB | 次下載 | 5積分

資料介紹

MCU(MicroControllerUnit)中文名稱為多點控制單元,又稱單片微型計算機(SingleChipMicrocomputer),是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計算機的CPU、RAM、ROM、定時數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。

在現(xiàn)代嵌入式開發(fā)領域,通過了解客戶需求和電子產(chǎn)品趨勢,搜集市面上大量的不同型號的MCU資料,結合市場上剛出現(xiàn)的低成本高性能MCU新產(chǎn)品,是成功進行MCU選型的基礎。一般來說,嵌入式系統(tǒng)開發(fā)人員在選擇MCU時,通常遵循四項主要標準∶功能、可用性、成本和熟悉程度。

微控制器(Microcontroller;MCU)是一種無所不在的嵌入式控制晶片,玩具、家電、醫(yī)療、汽車等領域都有其存在,負責各種感測、監(jiān)控工作,例如我們常見的電飯煲、電磁爐、咖啡壺等內部均由MCU負責感測水溫,并接受使用者的指示是否該加溫、沸騰,同樣的冷氣機的溫控也是用MCU來實現(xiàn)。此外,如桌上電腦所用的鍵盤、滑鼠等也各有一顆MCU,負責將敲打的鍵碼、指標的X/Y軸位移偏量等資訊回傳給電腦CPU。

對於選擇MCU進行設計的系統(tǒng)設計師來說,可獲得的大量的不同型號MCU會讓選型工作變得復雜,如SiliconLabs工作電壓低至0.9V的8位元MCU,德州儀器針對低功耗應用的多款16位元 MSP430,飛思卡爾和英飛針對汽車應用的MCU方案,Atmel 的AVR系列和MicrochipPIC系列一直在推陳出新……雖然新的 32位ARM核Cortex-m3處理器已經(jīng)發(fā)布許久,古老的8位8051核還是在不同MCU中占領主流地位……面對繽紛多彩的MCU世界,正確把握MCU發(fā)展趨勢,熟悉MCU架構,甚至於借助選擇工具進行分析比較就顯得極其必要。

MCU的主要分類:

按用途分類:

  • 通用型:將可開發(fā)的資源(ROM、RAM、I/O、 EPROM)等全部提供給用戶。
  • 專用型:其硬件及指令是按照某種特定用途而設計,例如錄音機機芯控制器、打印機控制器、電機控制器等。

按其基本操作處理的數(shù)據(jù)位數(shù)分類:

根據(jù)總線或數(shù)據(jù)暫存器的寬度,單片機又分為1位、4位、8位、16位、32位甚至64位單片機。

4位MCU大部份應用在計算器、車用儀表、車用防盜裝置、呼叫器、無線電話、CD播放器、LCD驅動控制器、LCD游戲機、兒童玩具、磅秤、充電器、胎壓計、溫濕度計、遙控器及傻瓜相機等;8位MCU大部份應用在電表、馬達控制器、電動玩具機、變頻式冷氣機、呼叫器、傳真機、來電辨識器(CallerID)、電話錄音機、CRT顯示器、鍵盤及USB等;8位、16位單片機主要用于一般的控制領域,一般不使用操作系統(tǒng), 16位MCU大部份應用在行動電話、數(shù)字相機及攝錄放影機等;32位MCU大部份應用在Modem、GPS、PDA、HPC、STB、Hub、Bridge、Router、工作站、ISDN電話、激光打印機與彩色傳真機; 32位用于網(wǎng)絡操作、多媒體處理等復雜處理的場合,一般要使用嵌入式操作系統(tǒng)。64位MCU大部份應用在高階工作站、多媒體互動系統(tǒng)、高級電視游樂器(如SEGA的Dreamcast及Nintendo的GameBoy)及高級終端機等。

8位MCU工作頻率在16~50MHz之間,強調簡單效能、低成本應用,在目前MCU市場總值仍有一定地位,而不少MCU業(yè)者也持續(xù)為8bit MCU開發(fā)頻率調節(jié)的節(jié)能設計,以因應綠色時代的產(chǎn)品開發(fā)需求。

16位MCU,則以16位運算、16/24位尋址能力及頻率在24~100MHz為主流規(guī)格,部分16bit MCU額外提供32位加/減/乘/除的特殊指令。由于32bit MCU出現(xiàn)并持續(xù)降價及8bit MCU簡單耐用又便宜的低價優(yōu)勢下,夾在中間的16bit MCU市場不斷被擠壓,成為出貨比例中最低的產(chǎn)品。

32位MCU可說是MCU市場主流,單顆報價在1.5~4美元之間,工作頻率大多在100~350MHz之間,執(zhí)行效能更佳,應用類型也相當多元。但32位MCU會因為操作數(shù)與內存長度的增加,相同功能的程序代碼長度較8/16bit MCU增加30~40%,這導致內嵌OTP/FlashROM內存容量不能太小,而芯片對外腳位數(shù)量暴增,進一步局限32bit MCU的成本縮減能力。

內嵌程序存儲器類型

下面以51單片機為例(MCS-51系列MCU是我國使用最多的單片機),根據(jù)其內部存儲器的類型不同可以分為以下幾個基本型:

1. 無ROM型:8031
2. ROM型:8051
3. EPROM型:8751
4. EEPROM 型:8951
5. 增強型:8032/8052/8752/8952/C8051F

MCU按其存儲器類型可分為無片內ROM型和帶片內ROM型兩種。

對于無片內ROM型的芯片,必須外接EPROM才能應用。帶片內ROM型的芯片又分為片內EPROM型、MASK片內掩模ROM型、片內FLASH型等類型,一些公司還推出帶有片內一次性可編程ROM的芯片。MASKROM的MCU價格便宜,但程序在出廠時已經(jīng)固化,適合程序固定不變的應用場合;FLASH ROM的MCU程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開發(fā)用途;OTPROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求低成本的應用場合,尤其是功能不斷翻新、需要迅速量產(chǎn)的電子產(chǎn)品。

由于MCU強調是最大密集度與最小芯片面積,以有限的程序代碼達成控制功能,因此當今MCU多半使用內建的MaskROM、OTP ROM、EEPROM或Flash內存來儲存韌體碼,MCU內建Flash內存容量從低階4~64KB到最高階512KB~2MB不等。

存儲器結構

MCU根據(jù)其存儲器結構可分為哈佛(Harvard)結構和馮?諾依曼(Von Neumann)結構。現(xiàn)在的單片機絕大多數(shù)都是基于馮·諾伊曼結構的,這種結構清楚地定義了嵌入式系統(tǒng)所必需的四個基本部分:一個中央處理器核心,程序存儲器(只讀存儲器或者閃存)、數(shù)據(jù)存儲器(隨機存儲器)、一個或者更多的定時/計時器,還有用來與外圍設備以及擴展資源進行通信的輸入/輸出端口,所有這些都被集成在單個集成電路芯片上。

指令結構

MCU根據(jù)指令結構又可分為CISC(ComplexInstrucTIon SetComputer,復雜指令集計算機)和RISC(Reduced InstrucTIon Set Comuter,精簡指令集計算機微控制器)

MCU的應用技巧:

在MCU應用開發(fā)中,代碼的使用效率、抗干擾性和可靠性等問題仍困擾著大部份應用工程師。

以下是MCU開發(fā)應用中應掌握的基本技巧。

1、MCU的通用測試方法 MCU從生產(chǎn)出來到封裝出貨的每個不同的階段會有不同的測試方法,其中主要會有兩種∶中測和成測。所謂中測即是WAFER的測試,它會包含產(chǎn)品的功能驗證及ACDC的測試。

專案相當繁多,以HOLTEK產(chǎn)品為例最主要的幾項如下∶

(1)接續(xù)性測試∶檢測每一根I/O PIN內接的保護用二極體是否功能無誤。

(2)功能測試∶以產(chǎn)品設計者所提供測試資料(TEST PATTERN)灌入IC,檢查其結果是否與當時SIMULATION時狀態(tài)一樣。

(3)STANDBY電流測試∶測量IC處於HALT模式時即每一個接點(PAD)在1態(tài)0態(tài)或Z態(tài)保持不變時的漏電流是否符合最低之規(guī)格。

(4)耗電測試∶整顆IC的靜態(tài)耗電與動態(tài)耗電。

(5)輸入電壓測試∶測量每個輸入接腳的輸入電壓反應特性。

(6)輸出電壓測試∶測量每個輸出接腳的輸出電壓位元。

(7)相關頻率特性(AC)測試,也是通過外灌一定頻率,從I/O 口來看輸出是否與之匹配。

(8)為了保證IC生產(chǎn)的長期且穩(wěn)定質量,還會做產(chǎn)品的可靠性測試,這些測試包括ESD測試,LATCH UP測試,溫度回圈測試,高溫貯存測試,濕度貯存測試等。

成測是產(chǎn)品封裝好後的測試,即PACKAGE測試,其目的是確定通過中測的IC產(chǎn)品在封裝過程中是否有損壞。測試方法主要是儀器自動測試,但測試項目仍與WAFER TEST相同。

2、在demo板上采樣時,電壓不穩(wěn)定結果有波動,如何消除?

一般來說,模擬器都是工作在一個穩(wěn)壓的環(huán)境(通常為5V)。如果用模擬器的A/D時,要注意其A/D參考電壓是由模擬器內部給出,還是需要外部提供。A/D 轉換需要一個連續(xù)的時鐘周期,所以在仿真時不能用單步調試的方法,否則會造成A/D采樣值不準。至於A/D采樣不穩(wěn)定,可以在A/D輸入口加一電容,起到濾波作用,再在軟體處理時采用中值濾波的方法。

3、MCU系統(tǒng)為了省電,經(jīng)常要進入掉電(POWER DOWN)狀態(tài),此時如何才能獲得最低功耗?

MCU的I/O口可用作輸入和輸出狀態(tài)。以HOLTEK最簡單的 I/OMCUHT48R05A-1為例,當作為輸入時可設置成帶上拉電阻的斯密特輸入;作為輸出時是 CMOS輸出。如果程式進入省電狀態(tài)(HALT)時,首先,各個有用的I/O仍需輸出一定值,以保證外部電路工作正常,同時請小心不要讓外部電路保持長耗電狀態(tài)(如長時間導通繼電器);對於暫時不用的I/O口,為了節(jié)約功耗建議將I/O置為輸出狀態(tài),并且輸出為低。

4、如何減少程式中的bug?

因系統(tǒng)中實際運行的參數(shù)都是有范圍的,系統(tǒng)運行中要考慮的超范圍管理參數(shù)有∶

(1)物理參數(shù)∶這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵參數(shù)、采集處理中的運行參數(shù)和處理結束的結果參數(shù)。合理設定這些邊界,將超出邊界的參數(shù)都視為非正常激勵或非正?;貞M行出錯處理。

(2)資源參數(shù)∶這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。在程式設計中,對資源參數(shù)不允許超范圍使用。

(3)應用參數(shù)∶這些應用參數(shù)常表現(xiàn)為一些MCU、功能單元的應用條件。如EEPROM的擦寫次數(shù)與資料存儲時間等應用參數(shù)界限。

(4)過程參數(shù)∶指系統(tǒng)運行中的有序變化的參數(shù)。對程式師而言,須養(yǎng)成良好習慣,在程式的開頭,有順序的用自己喜歡文字參數(shù)對應列表來替代,然後用自己定義的文字參數(shù)來編寫程式,這樣在做程式的修改及維護時只在程式的開頭做變動即可,不用修改到程式段,才比較容易且不會出錯。

5、如何提高C語言編程代碼的效率?

用C語言進行MCU程式設計是MCU開發(fā)與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以後對應的組合語言的語句行數(shù),這樣就可以很明確的知道效率。在今後編程時,使用編譯效率最高的語句。各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長度和執(zhí)行時間僅比以組合語言編寫的同樣功能程度長5-20%。對於復雜而開發(fā)時間緊的專案時,可以采用C語言,但前提是要求你對該MCU系統(tǒng)的C語言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支援的資料類型和演算法。雖然C 語言是最普遍的一種高階語言,但由於不同的MCU廠家其C語言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模組的操作上。所以如果對這些特性不了解,那麼調試起來問題就會很多,反而導致執(zhí)行效率低於組合語言。

6、用作RF控制時,MCU的時鐘(晶振)、資料線會輻射基頻或倍頻,被LNA放大後進入混頻,出現(xiàn)帶內Spur而無法濾除,如何解決?

在設計高頻電路用PCB有許多注意事項,尤其是GHz等級的高頻電路,更需要注意各電子元件pad與印刷版圖的長度對電路特性所造成的影響。

最近幾年高頻電路與數(shù)位電路共用相同電路板,構成所謂的混載電路系統(tǒng)似乎有增加的趨勢,類似如此的設計經(jīng)常會造成數(shù)位電路動作時,高頻電路卻發(fā)生動作不穩(wěn)定等現(xiàn)象,其中原因之一是數(shù)位電路產(chǎn)生的雜訊,影響高頻電路正常動作所致。為了避免上述問題除了設法分割兩電路block之外,設計電路板之前充分檢討設計構想,才是根本應有的手法?;旧?,設計高頻電路用電路板必需掌握下列三大原則∶高質感、不可取巧、不可倉促搶時間。

以下是設計高頻電路板的一些建議∶

(a)印刷版圖的長度會影響電路特性。尤其是傳輸速度為 GHz高速數(shù)位電路的傳輸線路,通常會使用strip line,同時藉由調整配線長度補正傳輸延遲時間,其實這也意味著電子元件的設置位置對電路特性具有絕對性的影響。

(b)接地越大越好。銅箔面整體設置接地層,而連接via的較大接地面則是高頻電路板與高速數(shù)位電路板共同的特徵,此外高頻電路板最忌諱使用幅寬細窄的印刷版圖描繪地面。

(c)電子元件的接地端子,以最短的長度與電路板接地。具體方法是在電子元件的接地端子pad附近設置via,使電子元件能以最短的長度與電路板接地。

(d)信號線作短配線設計。不可任意加大配線長度,盡量縮短配線長度。

(e)減少電路之間的結合。尤其是濾波器放大器I/O之間作電路分割非常重要,它相當於音頻電路的串擾對策。

(f) MCU回路布線考慮∶震蕩電路盡可能接近IC震蕩腳位;震蕩電路與VDD&VSS保持足夠的距離;震蕩頻率大於1MHz時不需加osc1&osc2電容;電源與地間要最短位置并盡量布設等寬與等距的線,於節(jié)點位置加上104/ 103/102等陶瓷電容。

7、遙控是MCU的基本應用,在設計編解碼時要注意什麼?

一般來說,完整的遙控碼分為頭碼、位址碼、資料碼和校驗碼四個組成部分。頭碼根據(jù)不同的廠家各不相同,位址碼和資料碼都由邏輯“1”和邏輯“0”組成。編碼的設計目的,就是按照編碼規(guī)則發(fā)送不同的碼值。遙控編碼晶片最常用的是在空調、DVD、車庫門等遙控器上。

設計編碼程式可以分為三個部分∶

(1)了解碼型的特性。遙控碼的頭碼和位址碼(也稱為客戶碼)是固定不變的,資料碼和校驗碼根據(jù)不同的鍵值而改變。

(2)計算發(fā)碼時間。遙控碼大部分都是由邏輯“1”和邏輯“0” 組成,也就是由一串固定占空比、固定周期的方波所組成。通常這些方波的周期是毫秒甚至微秒等級,需要在時間上計算的比較精確。所以你選擇發(fā)碼MCU型號的時候,就要考慮到MCU的運行速度是不是夠快,以及程式運行時間夠不夠。

(3)程式的編寫。選定MCU型號之後,開始設計程式流程。一般來說我們使用I/O口就可以做發(fā)碼的輸出埠。發(fā)碼程式一般由幾個子程式組成,頭碼副程式、邏輯1副程式,邏輯0副程式以及校驗碼的演算法副程式。一旦我們得到要發(fā)送碼的命令後,首先調用頭碼副程式,然後根據(jù)客戶碼和鍵值調用邏輯1副程式或者邏輯0副程式,最後調用校驗碼演算法副程式輸出校驗碼。

設計解碼程式也可以分為三部分∶

(1)了解編碼波形特性。從分析編碼的高、低脈沖寬度入手,了解邏輯“1”和邏輯“0”的波形占空比、周期,了解頭碼的特性。

(2)確定接收方式。一般我們可以用I/O口查詢方法或者INT 口中斷回應方法來接收編碼。這兩者的區(qū)別是I/O口查詢方式比較耗費MCU的運行時間資源,需要不斷的去偵測I/O的電平變化,以免漏掉有效的碼值;而INT口中斷接收方式則比較節(jié)省資源,當外部有電平變化時,MCU才需要去處理,不需要時刻進行偵測。但是INT口中斷接收方式不能辨別相同周期不同占空比的波形特性,當編碼所攜帶的邏輯“1”和邏輯“0”具有這種特性時,就無法通過INT口中斷接收方式來辨別了,因為INT中斷只是在上升沿或者下降沿的時候才觸發(fā)。

(3)將接收的碼值存儲并分析執(zhí)行。根據(jù)判斷高低電平的寬度(計時器或者延時),可以得到碼值,也就是所說的解碼。一般我們連續(xù)收到3個相同的完整碼值,就確認此碼的確被發(fā)出,并接收成功。當解碼結束,根據(jù)碼值我們可以判斷出是哪個按鍵被按下,由此去執(zhí)行相對的按鍵功能。

8、如何設計控制系統(tǒng)(發(fā)電機系統(tǒng))的重定電路?

MCU復位可分為內部與外部事件復位。外部事件復位包括上電復位、RES重定和低電壓重定。上電復位和RES復位是人為的正常重定,以保證程式計數(shù)器被清零且程式從頭開始執(zhí)行。要正常進行這兩種重定動作,需要外接正確的RES重定電路,一般來說不同的MCU的重定電路稍有不同,MCU廠商都會提供標準的重定電路資料。以HOLTEK IC為例,我們提供的重定電路是RES腳接100KΩ電阻至VDD; RES腳再接10KΩ電阻和0.1μF的電容至VSS。

當電源電壓受外部干擾,低於正常工作電壓時,會造成程式功能運行不正常,嚴重的還可能造成MCU死機。此時會對發(fā)電機系統(tǒng)造成嚴重後果,因此需要用低電壓重定來解決這個問題。通??梢杂脙蓚€方法實現(xiàn)低電壓重定∶

(1)外加一個電壓檢測晶片加到RES腳上,當電源電壓低於某個臨界值時,電壓檢測晶片會給出一個低電平到RES腳使MCU復位,防止MCU死機。

(2)有些廠家的MCU內部會有一個低電壓檢測LVR功。當電源電壓低於某一個臨界值時,MCU會自動復位避免死機,外部不需要再連接任何檢測電壓的電路。

除了外部電源不穩(wěn)定會造成MCU復位,內部WDT溢出也會造成復位,即內部事件復位。對於需要長時間穩(wěn)定工作的系統(tǒng)來說,看門狗是十分必要的,它可以避免程式跑飛造成的錯誤。當重定發(fā)生時,要保證重定後能與重定前的各個狀態(tài)無縫的連接起來,就需要用軟體來判定重定前程式執(zhí)行到哪個程式段。

來源:網(wǎng)絡轉載

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費