摘要: 單片機作為一種數字邏輯控制器件,它的正常工作需要滿足一些條件,最小系統就是保證單片機運行做需要的最基本條件,主要包含電源、時鐘電路以及上電復位電路。
單片機最小系統概述
單片機也叫微控制器(MCU),是一種數字邏輯控制器件,內部有復雜的電路組成。根據單片機的原理,單片機的正常工作需要一些條件,我們把滿足單片機工作的最基本電路組成稱為單片機最小系統。
LPC11C14單片機簡介
基于 ARM Cortex-M0 的 LPC111x/LPC11Cxx 系列微控制器是低功耗,32 位微控制器家族中 的一員,面向 8、16 位微處理應用,具有高性能,低功耗,簡單指令集,統一編址尋址等 優點,而且,相對于現在市場上存在的 8/16 位架構來說,它有效的降低了代碼長度。
LPC111x/LPC11Cxx 系列微控制器的工作頻率可高達 50MHZ。
LPC111x/LPC11Cxx 系列微控制器加入的外圍組件包括:高達 32KB 的 flash 存儲器,8KB 的數據存儲器 , 一個增強快速模式 (FM+)I2C 接口, 一個 RS-485/EIA-485 標準的通用異 步串行收發器,兩個具有 SSP 特性的 SPI 接口,四個通用定時器,一個 10 位 ADC 和 42 個 GPIO 引腳。
片上 C_CAN 驅動器和閃存的系統編程工具通過 C_CAN 連接在 LPC11Cxx 里,此外 LPC11C2x 還包含一個一個片上 CAN 收發器。
最小系統基本組成
單片機的種類有很多,不同公司不同型號的單片機在電路設計上也不盡相同,所以在使用一款單片機時,一定要先獲取單片機的數據手冊(datasheet)以及用戶使用手冊(User Manual)。本文使用的單品機是NXP(恩智浦)公司設計開發的LPC11C14單片機,該單片機屬于LPC11xx系列,是在LPC1114的基礎上增加了CAN總線功能單元,基本的引腳排布以及其他內部功能基本保持一致。 ![ ]
根據芯片的數據手冊和用戶使用手冊可以知道,LPC11C14單片機的最小系統組成如下:
電源供電
單片機是一種數字邏輯器件,工作時需要進行電源供電。在眾多單片機中,不同單片機有不同的供電電壓,如傳統的51單片機多為5V或3.3V,但是大多數單片機的都可以在一定的電壓范圍內正常工作,例如宏晶公司2008年11月發布的STC12系列單片機數據手冊中,STC12C系列的單片機電壓范圍是3.3~5.5V;STC12L系列的單片機電壓范圍是2.2~3.6V。
對于LPC11C14,根據芯片手冊,可以了解到,LPC11C14的工作電壓范圍:1.8V~3.6V
在芯片手冊中可以看到,芯片的8、44兩個引腳是電源的正極輸入引腳,這兩個引腳分別連接到了芯片內部的穩壓器、芯片內的外設以及ADC功能單元,用于給芯片供電。
5、41兩個引腳是芯片的接地引腳,也就是電源的負極。
在芯片工作的時候,首先要確保電源的這4個引腳被正確的連接在電源的正負極上。
外部時鐘電路
時鐘電路就是一個振蕩器,給單片機提供一個節拍,單片機執行各種操作必須在這個節拍的控制下才能進行,包括程序的運行。
LPC111x/LPC11Cxx 包含三個獨立的振蕩器。分別是系統振蕩器、內部 RC 振蕩器 (IRC) 和 看門狗振蕩器。 在具體應用中,每一個振蕩器都可以有不止一個用途。
復位之后,LPC111x/LPC11Cxx 會在內部 RC 振蕩器下工作,直到通過軟件進行切換。這就使得系統 bootloader 工作在一個已知的頻率下而不會受任何外部晶振的影響。
如果作為最小電路,在電路上可以什么都不用做,單片機內部集成了一個頻率為12MHz的RC振蕩器,頻率誤差1%,但是如果想要提高單片機的時鐘精度,就需要在單片機外部提供更加精準的時鐘震蕩信號。
上圖為在XTALIN和XTALOUT之間外接無源晶體振蕩器的原理圖,可以用晶體振蕩器產生的震蕩信號驅動單片機工作,多數情況下晶體振蕩器選用12MHz,匹配電容選用10pF。
上電復位電路
上電復位電路是一種用來使電路恢復到起始狀態的電路,由于單片機是基于時序控制的數字電路,它需要穩定的時鐘信號,因此在電源上電時,需要等待單片機內部的電源系統以及時鐘系統穩定工作時,才可以讓單片機開始工作,這個等待過程就是上電復位電路所起的作用。
下圖為LPC11C14的上電時序圖:
簡而言之,對于LPC11C14單片機,上電復位電路的作用就是在上電時,讓單片機的RESET引腳保持低電平,延遲一段時間后,拉高電平,電平的跳變會觸發單片機內部的施密特觸發器,收到觸發信號后,處理器從地址 0 處 (即最初的從引導塊映射的復位向量)開始執行程序。同時所有的處理器和外設的寄存器被初始為預定值 。
如上所示電路是最簡單的RC上電復位電路。
驗證單片機工作狀態
當單片機最小系統電路搭建完成時,需要知道單片機是否正確工作,過程比較簡單,借助示波器,檢測晶體振蕩器的引腳是否產生震蕩信號,如果產生了震蕩信號,則表明單片機已經開始運行。
如果沒有示波器,可以用萬用表測量晶體振蕩器的引腳電壓,如果晶振起振,會在引腳上測出1.8V左右的電壓值。