資料介紹
MCU(MicroControllerUnit)中文名稱為多點控制單元,又稱單片微型計算機(SingleChipMicrocomputer),是指隨著大規模集成電路的出現及其發展,將計算機的CPU、RAM、ROM、定時數器和多種I/O接口集成在一片芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。
在現代嵌入式開發領域,通過了解客戶需求和電子產品趨勢,搜集市面上大量的不同型號的MCU資料,結合市場上剛出現的低成本高性能MCU新產品,是成功進行MCU選型的基礎。一般來說,嵌入式系統開發人員在選擇MCU時,通常遵循四項主要標準∶功能、可用性、成本和熟悉程度。
微控制器(Microcontroller;MCU)是一種無所不在的嵌入式控制晶片,玩具、家電、醫療、汽車等領域都有其存在,負責各種感測、監控工作,例如我們常見的電飯煲、電磁爐、咖啡壺等內部均由MCU負責感測水溫,并接受使用者的指示是否該加溫、沸騰,同樣的冷氣機的溫控也是用MCU來實現。此外,如桌上電腦所用的鍵盤、滑鼠等也各有一顆MCU,負責將敲打的鍵碼、指標的X/Y軸位移偏量等資訊回傳給電腦CPU。
對於選擇MCU進行設計的系統設計師來說,可獲得的大量的不同型號MCU會讓選型工作變得復雜,如SiliconLabs工作電壓低至0.9V的8位元MCU,德州儀器針對低功耗應用的多款16位元 MSP430,飛思卡爾和英飛針對汽車應用的MCU方案,Atmel 的AVR系列和Microchip的PIC系列一直在推陳出新……雖然新的 32位ARM核Cortex-m3處理器已經發布許久,古老的8位8051核還是在不同MCU中占領主流地位……面對繽紛多彩的MCU世界,正確把握MCU發展趨勢,熟悉MCU架構,甚至於借助選擇工具進行分析比較就顯得極其必要。
MCU的主要分類:
按用途分類:
- 通用型:將可開發的資源(ROM、RAM、I/O、 EPROM)等全部提供給用戶。
按其基本操作處理的數據位數分類:
根據總線或數據暫存器的寬度,單片機又分為1位、4位、8位、16位、32位甚至64位單片機。
4位MCU大部份應用在計算器、車用儀表、車用防盜裝置、呼叫器、無線電話、CD播放器、LCD驅動控制器、LCD游戲機、兒童玩具、磅秤、充電器、胎壓計、溫濕度計、遙控器及傻瓜相機等;8位MCU大部份應用在電表、馬達控制器、電動玩具機、變頻式冷氣機、呼叫器、傳真機、來電辨識器(CallerID)、電話錄音機、CRT顯示器、鍵盤及USB等;8位、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業者也持續為8bit MCU開發頻率調節的節能設計,以因應綠色時代的產品開發需求。
16位MCU,則以16位運算、16/24位尋址能力及頻率在24~100MHz為主流規格,部分16bit MCU額外提供32位加/減/乘/除的特殊指令。由于32bit MCU出現并持續降價及8bit MCU簡單耐用又便宜的低價優勢下,夾在中間的16bit MCU市場不斷被擠壓,成為出貨比例中最低的產品。
32位MCU可說是MCU市場主流,單顆報價在1.5~4美元之間,工作頻率大多在100~350MHz之間,執行效能更佳,應用類型也相當多元。但32位MCU會因為操作數與內存長度的增加,相同功能的程序代碼長度較8/16bit MCU增加30~40%,這導致內嵌OTP/FlashROM內存容量不能太小,而芯片對外腳位數量暴增,進一步局限32bit MCU的成本縮減能力。
內嵌程序存儲器類型
下面以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才能應用。帶片內ROM型的芯片又分為片內EPROM型、MASK片內掩模ROM型、片內FLASH型等類型,一些公司還推出帶有片內一次性可編程ROM的芯片。MASKROM的MCU價格便宜,但程序在出廠時已經固化,適合程序固定不變的應用場合;FLASH ROM的MCU程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開發用途;OTPROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求低成本的應用場合,尤其是功能不斷翻新、需要迅速量產的電子產品。
由于MCU強調是最大密集度與最小芯片面積,以有限的程序代碼達成控制功能,因此當今MCU多半使用內建的MaskROM、OTP ROM、EEPROM或Flash內存來儲存韌體碼,MCU內建Flash內存容量從低階4~64KB到最高階512KB~2MB不等。
存儲器結構
MCU根據其存儲器結構可分為哈佛(Harvard)結構和馮?諾依曼(Von Neumann)結構。現在的單片機絕大多數都是基于馮·諾伊曼結構的,這種結構清楚地定義了嵌入式系統所必需的四個基本部分:一個中央處理器核心,程序存儲器(只讀存儲器或者閃存)、數據存儲器(隨機存儲器)、一個或者更多的定時/計時器,還有用來與外圍設備以及擴展資源進行通信的輸入/輸出端口,所有這些都被集成在單個集成電路芯片上。
指令結構
MCU根據指令結構又可分為CISC(ComplexInstrucTIon SetComputer,復雜指令集計算機)和RISC(Reduced InstrucTIon Set Comuter,精簡指令集計算機微控制器)
MCU的應用技巧:
在MCU應用開發中,代碼的使用效率、抗干擾性和可靠性等問題仍困擾著大部份應用工程師。
以下是MCU開發應用中應掌握的基本技巧。
1、MCU的通用測試方法 MCU從生產出來到封裝出貨的每個不同的階段會有不同的測試方法,其中主要會有兩種∶中測和成測。所謂中測即是WAFER的測試,它會包含產品的功能驗證及AC、DC的測試。
專案相當繁多,以HOLTEK產品為例最主要的幾項如下∶
(1)接續性測試∶檢測每一根I/O PIN內接的保護用二極體是否功能無誤。
(2)功能測試∶以產品設計者所提供測試資料(TEST PATTERN)灌入IC,檢查其結果是否與當時SIMULATION時狀態一樣。
(3)STANDBY電流測試∶測量IC處於HALT模式時即每一個接點(PAD)在1態0態或Z態保持不變時的漏電流是否符合最低之規格。
(4)耗電測試∶整顆IC的靜態耗電與動態耗電。
(5)輸入電壓測試∶測量每個輸入接腳的輸入電壓反應特性。
(6)輸出電壓測試∶測量每個輸出接腳的輸出電壓位元。
(7)相關頻率特性(AC)測試,也是通過外灌一定頻率,從I/O 口來看輸出是否與之匹配。
(8)為了保證IC生產的長期且穩定質量,還會做產品的可靠性測試,這些測試包括ESD測試,LATCH UP測試,溫度回圈測試,高溫貯存測試,濕度貯存測試等。
成測是產品封裝好後的測試,即PACKAGE測試,其目的是確定通過中測的IC產品在封裝過程中是否有損壞。測試方法主要是儀器自動測試,但測試項目仍與WAFER TEST相同。
2、在demo板上采樣時,電壓不穩定結果有波動,如何消除?
一般來說,模擬器都是工作在一個穩壓的環境(通常為5V)。如果用模擬器的A/D時,要注意其A/D參考電壓是由模擬器內部給出,還是需要外部提供。A/D 轉換需要一個連續的時鐘周期,所以在仿真時不能用單步調試的方法,否則會造成A/D采樣值不準。至於A/D采樣不穩定,可以在A/D輸入口加一電容,起到濾波作用,再在軟體處理時采用中值濾波的方法。
3、MCU系統為了省電,經常要進入掉電(POWER DOWN)狀態,此時如何才能獲得最低功耗?
MCU的I/O口可用作輸入和輸出狀態。以HOLTEK最簡單的 I/OMCUHT48R05A-1為例,當作為輸入時可設置成帶上拉電阻的斯密特輸入;作為輸出時是 CMOS輸出。如果程式進入省電狀態(HALT)時,首先,各個有用的I/O仍需輸出一定值,以保證外部電路工作正常,同時請小心不要讓外部電路保持長耗電狀態(如長時間導通繼電器);對於暫時不用的I/O口,為了節約功耗建議將I/O置為輸出狀態,并且輸出為低。
4、如何減少程式中的bug?
因系統中實際運行的參數都是有范圍的,系統運行中要考慮的超范圍管理參數有∶
(1)物理參數∶這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。合理設定這些邊界,將超出邊界的參數都視為非正常激勵或非正常回應進行出錯處理。
(2)資源參數∶這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。在程式設計中,對資源參數不允許超范圍使用。
(3)應用參數∶這些應用參數常表現為一些MCU、功能單元的應用條件。如EEPROM的擦寫次數與資料存儲時間等應用參數界限。
(4)過程參數∶指系統運行中的有序變化的參數。對程式師而言,須養成良好習慣,在程式的開頭,有順序的用自己喜歡文字參數對應列表來替代,然後用自己定義的文字參數來編寫程式,這樣在做程式的修改及維護時只在程式的開頭做變動即可,不用修改到程式段,才比較容易且不會出錯。
5、如何提高C語言編程代碼的效率?
用C語言進行MCU程式設計是MCU開發與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以後對應的組合語言的語句行數,這樣就可以很明確的知道效率。在今後編程時,使用編譯效率最高的語句。各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以組合語言編寫的同樣功能程度長5-20%。對於復雜而開發時間緊的專案時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支援的資料類型和演算法。雖然C 語言是最普遍的一種高階語言,但由於不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模組的操作上。所以如果對這些特性不了解,那麼調試起來問題就會很多,反而導致執行效率低於組合語言。
6、用作RF控制時,MCU的時鐘(晶振)、資料線會輻射基頻或倍頻,被LNA放大後進入混頻,出現帶內Spur而無法濾除,如何解決?
在設計高頻電路用PCB有許多注意事項,尤其是GHz等級的高頻電路,更需要注意各電子元件pad與印刷版圖的長度對電路特性所造成的影響。
最近幾年高頻電路與數位電路共用相同電路板,構成所謂的混載電路系統似乎有增加的趨勢,類似如此的設計經常會造成數位電路動作時,高頻電路卻發生動作不穩定等現象,其中原因之一是數位電路產生的雜訊,影響高頻電路正常動作所致。為了避免上述問題除了設法分割兩電路block之外,設計電路板之前充分檢討設計構想,才是根本應有的手法。基本上,設計高頻電路用電路板必需掌握下列三大原則∶高質感、不可取巧、不可倉促搶時間。
以下是設計高頻電路板的一些建議∶
(a)印刷版圖的長度會影響電路特性。尤其是傳輸速度為 GHz高速數位電路的傳輸線路,通常會使用strip line,同時藉由調整配線長度補正傳輸延遲時間,其實這也意味著電子元件的設置位置對電路特性具有絕對性的影響。
(b)接地越大越好。銅箔面整體設置接地層,而連接via的較大接地面則是高頻電路板與高速數位電路板共同的特徵,此外高頻電路板最忌諱使用幅寬細窄的印刷版圖描繪地面。
(c)電子元件的接地端子,以最短的長度與電路板接地。具體方法是在電子元件的接地端子pad附近設置via,使電子元件能以最短的長度與電路板接地。
(d)信號線作短配線設計。不可任意加大配線長度,盡量縮短配線長度。
(e)減少電路之間的結合。尤其是濾波器與放大器I/O之間作電路分割非常重要,它相當於音頻電路的串擾對策。
(f) MCU回路布線考慮∶震蕩電路盡可能接近IC震蕩腳位;震蕩電路與VDD&VSS保持足夠的距離;震蕩頻率大於1MHz時不需加osc1&osc2電容;電源與地間要最短位置并盡量布設等寬與等距的線,於節點位置加上104/ 103/102等陶瓷電容。
7、遙控是MCU的基本應用,在設計編解碼時要注意什麼?
一般來說,完整的遙控碼分為頭碼、位址碼、資料碼和校驗碼四個組成部分。頭碼根據不同的廠家各不相同,位址碼和資料碼都由邏輯“1”和邏輯“0”組成。編碼的設計目的,就是按照編碼規則發送不同的碼值。遙控編碼晶片最常用的是在空調、DVD、車庫門等遙控器上。
設計編碼程式可以分為三個部分∶
(1)了解碼型的特性。遙控碼的頭碼和位址碼(也稱為客戶碼)是固定不變的,資料碼和校驗碼根據不同的鍵值而改變。
(2)計算發碼時間。遙控碼大部分都是由邏輯“1”和邏輯“0” 組成,也就是由一串固定占空比、固定周期的方波所組成。通常這些方波的周期是毫秒甚至微秒等級,需要在時間上計算的比較精確。所以你選擇發碼MCU型號的時候,就要考慮到MCU的運行速度是不是夠快,以及程式運行時間夠不夠。
(3)程式的編寫。選定MCU型號之後,開始設計程式流程。一般來說我們使用I/O口就可以做發碼的輸出埠。發碼程式一般由幾個子程式組成,頭碼副程式、邏輯1副程式,邏輯0副程式以及校驗碼的演算法副程式。一旦我們得到要發送碼的命令後,首先調用頭碼副程式,然後根據客戶碼和鍵值調用邏輯1副程式或者邏輯0副程式,最後調用校驗碼演算法副程式輸出校驗碼。
設計解碼程式也可以分為三部分∶
(1)了解編碼波形特性。從分析編碼的高、低脈沖寬度入手,了解邏輯“1”和邏輯“0”的波形占空比、周期,了解頭碼的特性。
(2)確定接收方式。一般我們可以用I/O口查詢方法或者INT 口中斷回應方法來接收編碼。這兩者的區別是I/O口查詢方式比較耗費MCU的運行時間資源,需要不斷的去偵測I/O的電平變化,以免漏掉有效的碼值;而INT口中斷接收方式則比較節省資源,當外部有電平變化時,MCU才需要去處理,不需要時刻進行偵測。但是INT口中斷接收方式不能辨別相同周期不同占空比的波形特性,當編碼所攜帶的邏輯“1”和邏輯“0”具有這種特性時,就無法通過INT口中斷接收方式來辨別了,因為INT中斷只是在上升沿或者下降沿的時候才觸發。
(3)將接收的碼值存儲并分析執行。根據判斷高低電平的寬度(計時器或者延時),可以得到碼值,也就是所說的解碼。一般我們連續收到3個相同的完整碼值,就確認此碼的確被發出,并接收成功。當解碼結束,根據碼值我們可以判斷出是哪個按鍵被按下,由此去執行相對的按鍵功能。
8、如何設計控制系統(發電機系統)的重定電路?
MCU復位可分為內部與外部事件復位。外部事件復位包括上電復位、RES重定和低電壓重定。上電復位和RES復位是人為的正常重定,以保證程式計數器被清零且程式從頭開始執行。要正常進行這兩種重定動作,需要外接正確的RES重定電路,一般來說不同的MCU的重定電路稍有不同,MCU廠商都會提供標準的重定電路資料。以HOLTEK IC為例,我們提供的重定電路是RES腳接100KΩ電阻至VDD; RES腳再接10KΩ電阻和0.1μF的電容至VSS。
當電源電壓受外部干擾,低於正常工作電壓時,會造成程式功能運行不正常,嚴重的還可能造成MCU死機。此時會對發電機系統造成嚴重後果,因此需要用低電壓重定來解決這個問題。通常可以用兩個方法實現低電壓重定∶
(1)外加一個電壓檢測晶片加到RES腳上,當電源電壓低於某個臨界值時,電壓檢測晶片會給出一個低電平到RES腳使MCU復位,防止MCU死機。
(2)有些廠家的MCU內部會有一個低電壓檢測LVR功。當電源電壓低於某一個臨界值時,MCU會自動復位避免死機,外部不需要再連接任何檢測電壓的電路。
除了外部電源不穩定會造成MCU復位,內部WDT溢出也會造成復位,即內部事件復位。對於需要長時間穩定工作的系統來說,看門狗是十分必要的,它可以避免程式跑飛造成的錯誤。當重定發生時,要保證重定後能與重定前的各個狀態無縫的連接起來,就需要用軟體來判定重定前程式執行到哪個程式段。
來源:網絡轉載
- AG32 MCU Reference Manual-202309
- 兆易創新GD32 MCU選型手冊,適用于GD32全系列MCU
- 【MCU原理圖庫】AD系列
- 【MCU原理圖庫】2.4G系列
- 【MCU原理圖庫】GPIO系列
- HT8 MCU內置LCD應用須知
- SSP737X小風扇MCU原理圖下載 65次下載
- 幾種MCU bootLoader的實現方案
- 一張圖了解MCU
- TI公司MCU分類
- 8位MCU和32位MCU的使用案例資料下載
- 8位MCU和32位MCU的使用案例對比資料下載
- MCU采用TEA5767設計的MP3電路圖下載 40次下載
- NEC 32位MCU V850系列產品介紹
- MCU讀硬盤資料
- 思瑞浦推出TPS32 MCU開發生態以簡化MCU的開發過程 366次閱讀
- 關于ECU 和 MCU ,你了解多少? 2301次閱讀
- 不同型號的GD32 MCU如何區分? 779次閱讀
- MCU芯片的分類及特點 958次閱讀
- 汽車控制類芯片 - MCU 698次閱讀
- 在MCU開發中如何充分利用各種類型的斷點? 525次閱讀
- MCU1與MCU2之間怎樣進行串口通信 4849次閱讀
- MCU基本功能概覽 9153次閱讀
- 一文解析MCU的發展 1203次閱讀
- MCU的替換需要考慮什么 7766次閱讀
- 基于MCU結構的Licode環境搭建 2976次閱讀
- 什么是MCU?MCU基礎知識講解 10.5w次閱讀
- 什么是MCU?MCU市場現狀分析 9967次閱讀
- MCU與視頻會議系統,視頻會議用的MCU是什么,MCU主要處理的三大數據 5.4w次閱讀
- MCU的種類分類及MCU的應用與應用技巧 1.1w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多