《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 低成本ARM系列LM3S101微控制器的結(jié)構(gòu)與應(yīng)用
低成本ARM系列LM3S101微控制器的結(jié)構(gòu)與應(yīng)用
摘要: LM3S101是美國(guó)Luminary公司生產(chǎn)的、基于ARMCortex-M內(nèi)核的32位微控制器芯片,它的銷(xiāo)售價(jià)格在1美元以下,在構(gòu)建同等性價(jià)格比的應(yīng)用系統(tǒng)時(shí)成本很低。廣州周立功單片機(jī)發(fā)展有限公司推出了以學(xué)習(xí)和評(píng)估該芯片為目的的開(kāi)發(fā)套件EasyArm101。該套件由H-JTAG調(diào)試器、開(kāi)發(fā)板、KeilμVision開(kāi)發(fā)工具包、各類(lèi)驅(qū)動(dòng)程序庫(kù)、文檔以及與實(shí)例程序配套的相關(guān)元器件等組成。
Abstract:
Key words :

       LM3S101" title="LM3S101">LM3S101是美國(guó)Luminary公司生產(chǎn)的、基于ARM" title="ARM">ARMCortex-M內(nèi)核的32位微控制器" title="微控制器">微控制器芯片,它的銷(xiāo)售價(jià)格在1美元以下,在構(gòu)建同等性價(jià)格比的應(yīng)用系統(tǒng)時(shí)成本很低。廣州周立功單片機(jī)發(fā)展有限公司推出了以學(xué)習(xí)和評(píng)估該芯片為目的的開(kāi)發(fā)套件EasyArm101" title="EasyArm101">EasyArm101。該套件由H-JTAG調(diào)試器、開(kāi)發(fā)板、KeilμVision開(kāi)發(fā)工具包、各類(lèi)驅(qū)動(dòng)程序庫(kù)、文檔以及與實(shí)例程序配套的相關(guān)元器件等組成。
1 LM3S101芯片的架構(gòu)與特點(diǎn)

1.1 架 構(gòu)

圖1是LM3S101 芯片電路圖和EasyArm101開(kāi)發(fā)套件實(shí)物圖。



        LM3S101采用哈佛架構(gòu)、Thumb-2指令集。芯片內(nèi)部集成了8 KB單周期的Flash ROM,2 KB單周期的SRAM,2個(gè)32位定時(shí)器,1個(gè)同步串行接口(SSI),1個(gè)遵循ARM FiRM規(guī)范的看門(mén)狗定時(shí)器,1個(gè)UART,2個(gè)模擬比較器以及18個(gè)GPIO等,時(shí)鐘頻率為20 MHz。

1.2 應(yīng)用特點(diǎn)

◆存儲(chǔ)管理方式簡(jiǎn)單;

◆具有硬件位操作能力;

◆中斷響應(yīng)快捷;

◆定時(shí)器與脈寬調(diào)制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)境。該軟件集成了編譯器、鏈接器和調(diào)試器等,其使用方式與Keil for C51相似。針對(duì)LM3S系列控制器提供的函數(shù)庫(kù)名為Stellaris Drivet Library。

2.2 開(kāi)發(fā)過(guò)程

① 開(kāi)發(fā)軟件安裝:安裝KeilμVision3 for ARM軟件。

② 調(diào)試器驅(qū)動(dòng)安裝:將ULINK調(diào)試器連接到計(jì)算機(jī),選擇"自動(dòng)搜索驅(qū)動(dòng)"選項(xiàng)安裝。

③ 設(shè)置編譯器:選擇Project→"Components,Environ-ment;Books"進(jìn)入編譯器設(shè)置界面,選擇RealView編譯器。選中"Use RealView Complier"選項(xiàng),其他選默認(rèn)設(shè)置。

④ 建立工程:選擇Project→"New Project",輸入工程名,選擇對(duì)應(yīng)的MCU型號(hào)LM3S101。按軟件提示復(fù)制相應(yīng)的啟動(dòng)代碼。該啟動(dòng)代碼用匯編編寫(xiě),它主要對(duì)堆棧和中斷向量進(jìn)行初始化。接下來(lái)需將DriverLib.lib文件導(dǎo)入到工程,該文件就是Stellaris Driver Library的二進(jìn)制版本,導(dǎo)入以后就可以在程序中調(diào)用庫(kù)函數(shù)。

⑤ 程序調(diào)試:應(yīng)用程序編寫(xiě)完成后,按F7編譯。編譯通過(guò)以后,選擇Flash→Download菜單,就可以將程序下載到LM3S101上。

3 LM3S101應(yīng)用實(shí)例

3.1 直流電動(dòng)機(jī)調(diào)速控制


        使用PWM控制直流電動(dòng)機(jī)調(diào)速是通過(guò)調(diào)節(jié)輸出方波的占空比來(lái)實(shí)現(xiàn)的,這里采用定頻調(diào)寬法,即方波的周期不變,只改變方波寬度。當(dāng)PWM輸出占窄比為50%時(shí),電機(jī)處于靜止?fàn)顟B(tài);當(dāng)占空比小于50%時(shí),電機(jī)反轉(zhuǎn);當(dāng)占空比大于50%時(shí),電機(jī)正轉(zhuǎn)。調(diào)節(jié)占空比就可以改變轉(zhuǎn)速。按鍵KEY1和KEY2用來(lái)控制占空比進(jìn)行調(diào)速實(shí)驗(yàn),按下KEY1時(shí)占空比提高10%,按下KEY2時(shí)占空比降低10%。

3.1.1 直流電動(dòng)機(jī)調(diào)速原理

        直流電動(dòng)機(jī)PWM調(diào)速控制原理圖如圖2所示。其中,TA7291S是直流電動(dòng)機(jī)驅(qū)動(dòng)芯片,工作電壓為4~20V,最大輸出電流為0.4 A。



3.1.2 直流電動(dòng)機(jī)調(diào)速程序設(shè)計(jì)

        程序流程圖如圖3所示。初始化程序?qū)WM占空比設(shè)置為50%,將PA5和PA4設(shè)置為上升沿中斷觸發(fā)方式。當(dāng)中斷發(fā)生后,由中斷服務(wù)程序修改占空比,從而調(diào)節(jié)電機(jī)的轉(zhuǎn)速。



3.2 步進(jìn)電機(jī)運(yùn)行

          實(shí)驗(yàn)使用四相步進(jìn)電機(jī),采用單極單相激磁方法。步進(jìn)電機(jī)運(yùn)行通過(guò)4個(gè)輸入控制信號(hào)CE、CD、SI和MO來(lái)控制。其中,CE是步進(jìn)電機(jī)使能位,高電平使能,低電平禁能;CD用于控制電機(jī)轉(zhuǎn)向,低電平順時(shí)針轉(zhuǎn)動(dòng),高電平逆時(shí)針轉(zhuǎn)動(dòng);SI為轉(zhuǎn)動(dòng)量控制端,每收到一個(gè)脈沖即轉(zhuǎn)動(dòng)N個(gè)步進(jìn)角;N的值由端口MO設(shè)置,低電平時(shí)N為1,高電平時(shí)N為10。輸入控制信號(hào)由PA0~PA3進(jìn)入,激磁信號(hào)由PB0~PB3輸出。

3.2.1 步進(jìn)電機(jī)運(yùn)行控制原理 

        步進(jìn)電動(dòng)機(jī)運(yùn)行控制電路原理如圖4所示。其中TLP521-4為光隔芯片,UNL2003為達(dá)林頓驅(qū)動(dòng)器,用于進(jìn)行步進(jìn)電機(jī)驅(qū)動(dòng)。



3.2.2 步進(jìn)電機(jī)運(yùn)行控制程序設(shè)計(jì)

        程序流程圖如圖5所示。主程序等待輸入控制信號(hào)觸發(fā)外部中斷,每次中斷轉(zhuǎn)動(dòng)N個(gè)步距角,其判斷過(guò)程由中斷服務(wù)程序?qū)崿F(xiàn)。



結(jié) 語(yǔ)

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。