新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于飛思卡爾MK10N512微控制器及MQX操作系統的電梯主控系統設計

        基于飛思卡爾MK10N512微控制器及MQX操作系統的電梯主控系統設計

        ——
        作者:鄭松鶴 吳振 時間:2014-06-26 來源:電子產品世界 收藏
        編者按:摘要:本文首先簡要介紹飛思卡爾MK10N512微控制器以及MQX操作系統,然后詳細介紹基于它們的電梯主控系統硬件和軟件設計。硬件系統設計重點介紹微控制器通信外設接口與總線接口的設計。軟件系統設計從開發環境、軟件架構、系統初始化、任務設計、通信設計、電梯控制運行等方面來詳細論述。

          FlexBus接口具有5個用戶可編程片選信號(FB_CS[5:0]),FB_CS[5:0]片選信號通過片選基址寄存器FB_CSARn和片選掩碼寄存器FB_CSMRn來控制。基址寄存器FB_CSARn[31:16]設置訪問地址的高16位,片選掩碼寄存器FB_CSMRn[31:16]用于屏蔽訪問地址的低16位。基址寄存器FB_CSARn設置訪問外設最大空間為216=64kbyte,配合掩碼寄存器設置訪問外設最大空間為232=4GByte。本設計中SRAM容量為512kbyte,位于CS0區域,故需要配合掩碼寄存器一并設置,如FB_CSAR0[31:16] = 0x6000;FB_CSMR0[31:16] = 0x0007,其區域容量為2(16+3)=512Kbyte。而FeRAM容量為32kbyte,位于CS1區域,只需設置基址寄存器即可,如FB_CSAR0[31:16] = 0x6010。

        本文引用地址:http://www.104case.com/article/248893.htm

          FlexBus接口可以連接8位、16位、32位數據總線,支持字節、字和長字操作數傳輸。FlexBus接口還支持Burst傳輸,實現一個周期最多可以傳輸16 Byte。本設計采用8位數據總線,為了提高效率,采用Burst傳輸,實現一個周期傳輸4Byte。的FB_AD31-24管腳連接存儲器的數據線D7-D0管腳,故數據傳輸采用左對齊的方式,控制寄存器FB_CSCR0設置如下:FB_CSCR0[BLS]=0b,FB_CSCR0[PS]=01b,FB_BSTR0[PS]=1b,FB_CSCR0[BSTW]=1b。

          5 主控系統軟件設計

          5.1 開發環境

          Code Warrior Developer Studio 10.2開發環境是專門針對其的集成開發環境。它是基于eclipse框架的集成開發環境,包括項目管理器、文本編輯器、匯編器、C/C++編譯器、連接器和調試器。通過安裝插件的方式,可以添加MQX實時操作系統調試工具。MQX調試工具能實現監控系統內核數據、任務的運行情況和占用內存、信號量(Semaphores)和事件(Event)等的使用情況,非常便于基于的程序調試。相比其他集成開發環境,Code Warrior Developer Studio 10.2對公司開發的和MQX實時操作系統,能提供最新、最快、最好的支持。

          5.2 軟件架構

          軟件架構如圖5所示,采用分層結構,包括PSP(Processor Service Package)、BSP(Board Service Package)、MQX內核、定時控制程序、中斷控制程序、電梯控制任務和通信數據處理任務。PSP和BSP是硬件驅動層,負責初始化CPU、板上外設、總線接口、通信接口、以及提供訪問硬件的接口。MQX內核是操作系統層,提供任務管理、內存管理、任務間的通信與同步、中斷管理、時間管理等系統級服務及接口函數。定時控制程序及中斷控制程序為系統中間層,為電梯任務與操作系統的中間控制層,是根據電梯任務的特點,調用操作系統的任務接口API實現對電梯任務的調度處理。電梯控制任務和通信數據處理任務為用戶層。電梯控制任務負責根據召喚信息控制電梯的運行。通信數據處理任務負責處理電梯主制系統與調試工具、召喚系統、大樓智能控制系統的數據通信,并把通信數據傳輸給電梯控制任務。

          5.3 系統初始化

          系統上電后,首先對硬件進行初始化,即對MCU的內部寄存器和外設寄存器賦初始值,包括初始化棧指針寄存器SP的值。接著對程序定義的變量進行初始化,包括對不帶初始值的變量進行清零;對有初始值的變量,把其初始值從ROM賦值到RAM;對程序定義的對象進行初始化。完成上述初始化之后,就可以對實時操作系統MQX進行初始化,創建MQX系統內存空間,初始化最基本的組件,創建IDLE空閑任務和Main_task自動運行任務,并且進入Main_task自動運行任務。至此MQX系統初始化就基本完成,接著可以開始用戶任務程序初始化。Main_task任務初始化定時控制程序、中斷控制程序、電梯控制任務和通信數據處理任務。Main_task任務完成用戶任務初始化后,把任務運行的控制權交給定時控制程序和中斷控制程序,系統開始運行電梯控制任務和通信數據處理任務。系統初始化流程如圖6所示。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        單片機相關文章:單片機教程


        linux相關文章:linux教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玛沁县| 旌德县| 青岛市| 金华市| 砚山县| 武夷山市| 舞钢市| 彰化县| 新源县| 清新县| 喀什市| 奉化市| 松江区| 吴旗县| 根河市| 西华县| 理塘县| 滦南县| 扎赉特旗| 长沙县| 武冈市| 三明市| 德昌县| 老河口市| 浦县| 沅陵县| 庆安县| 淮滨县| 江源县| 洛浦县| 隆安县| 望城县| 常州市| 芦山县| 女性| 琼海市| 合作市| 安溪县| 布尔津县| 贵溪市| 南靖县|