低成本ARM系列LM3S101微控制器的結構與應用
1 LM3S101芯片的架構與特點(diǎn)
1.1 架 構
圖1是LM3S101 芯片電路圖和EasyArm101開(kāi)發(fā)套件實(shí)物圖。

LM3S101采用哈佛架構、Thumb-2指令集。芯片內部集成了8 KB單周期的Flash ROM,2 KB單周期的SRAM,2個(gè)32位定時(shí)器,1個(gè)同步串行接口(SSI),1個(gè)遵循ARM FiRM規范的看門(mén)狗定時(shí)器,1個(gè)UART,2個(gè)模擬比較器以及18個(gè)GPIO等,時(shí)鐘頻率為20 MHz。
1.2 應用特點(diǎn)
◆存儲管理方式簡(jiǎn)單;
◆具有硬件位操作能力;
◆中斷響應快捷;
◆定時(shí)器與脈寬調制PWM功能;
◆同步和異步串行接口。
2 開(kāi)發(fā)環(huán)境和過(guò)程
2.1 開(kāi)發(fā)環(huán)境
支持LM3S101芯片開(kāi)發(fā)的集成環(huán)境有好幾種,本文以Keil μVision3 for ARM軟件為例來(lái)介紹開(kāi)發(fā)環(huán)境。該軟件集成了編譯器、鏈接器和調試器等,其使用方式與Keil for C51相似。針對LM3S系列控制器提供的函數庫名為Stellaris Drivet Library。
2.2 開(kāi)發(fā)過(guò)程
① 開(kāi)發(fā)軟件安裝:安裝KeilμVision3 for ARM軟件。
② 調試器驅動(dòng)安裝:將ULINK調試器連接到計算機,選擇自動(dòng)搜索驅動(dòng)選項安裝。
③ 設置編譯器:選擇Project→Components,Environ-ment;Books進(jìn)入編譯器設置界面,選擇RealView編譯器。選中Use RealView Complier選項,其他選默認設置。
④ 建立工程:選擇Project→New Project,輸入工程名,選擇對應的MCU型號LM3S101。按軟件提示復制相應的啟動(dòng)代碼。該啟動(dòng)代碼用匯編編寫(xiě),它主要對堆棧和中斷向量進(jìn)行初始化。接下來(lái)需將DriverLib.lib文件導入到工程,該文件就是Stellaris Driver Library的二進(jìn)制版本,導入以后就可以在程序中調用庫函數。
⑤ 程序調試:應用程序編寫(xiě)完成后,按F7編譯。編譯通過(guò)以后,選擇Flash→Download菜單,就可以將程序下載到LM3S101上。
3 LM3S101應用實(shí)例
3.1 直流電動(dòng)機調速控制
使用PWM控制直流電動(dòng)機調速是通過(guò)調節輸出方波的占空比來(lái)實(shí)現的,這里采用定頻調寬法,即方波的周期不變,只改變方波寬度。當PWM輸出占窄比為50%時(shí),電機處于靜止狀態(tài);當占空比小于50%時(shí),電機反轉;當占空比大于50%時(shí),電機正轉。調節占空比就可以改變轉速。按鍵KEY1和KEY2用來(lái)控制占空比進(jìn)行調速實(shí)驗,按下KEY1時(shí)占空比提高10%,按下KEY2時(shí)占空比降低10%。
3.1.1 直流電動(dòng)機調速原理
直流電動(dòng)機PWM調速控制原理圖如圖2所示。其中,TA7291S是直流電動(dòng)機驅動(dòng)芯片,工作電壓為4~20V,最大輸出電流為0.4 A。

3.1.2 直流電動(dòng)機調速程序設計
程序流程圖如圖3所示。初始化程序將PWM占空比設置為50%,將PA5和PA4設置為上升沿中斷觸發(fā)方式。當中斷發(fā)生后,由中斷服務(wù)程序修改占空比,從而調節電機的轉速。

3.2 步進(jìn)電機運行
實(shí)驗使用四相步進(jìn)電機,采用單極單相激磁方法。步進(jìn)電機運行通過(guò)4個(gè)輸入控制信號CE、CD、SI和MO來(lái)控制。其中,CE是步進(jìn)電機使能位,高電平使能,低電平禁能;CD用于控制電機轉向,低電平順時(shí)針轉動(dòng),高電平逆時(shí)針轉動(dòng);SI為轉動(dòng)量控制端,每收到一個(gè)脈沖即轉動(dòng)N個(gè)步進(jìn)角;N的值由端口MO設置,低電平時(shí)N為1,高電平時(shí)N為10。輸入控制信號由PA0~PA3進(jìn)入,激磁信號由PB0~PB3輸出。
3.2.1 步進(jìn)電機運行控制原理
步進(jìn)電動(dòng)機運行控制電路原理如圖4所示。其中TLP521-4為光隔芯片,UNL2003為達林頓驅動(dòng)器,用于進(jìn)行步進(jìn)電機驅動(dòng)。

3.2.2 步進(jìn)電機運行控制程序設計
程序流程圖如圖5所示。主程序等待輸入控制信號觸發(fā)外部中斷,每次中斷轉動(dòng)N個(gè)步距角,其判斷過(guò)程由中斷服務(wù)程序實(shí)現。

結 語(yǔ)
LM3S101芯片性?xún)r(jià)比高,具有配套完善的軟件開(kāi)發(fā)工具和豐富的驅動(dòng)程序庫,使用C語(yǔ)言編程,兇此特別適合構建32位的小嵌入式系統。本文介紹了使用開(kāi)發(fā)套件EasyArm101進(jìn)行直流電動(dòng)機調速控制和步進(jìn)電機運行控制的實(shí)例。
評論