<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

            FlexBus接口具有5個用戶可編程片選信號(FB_CS[5:0]),F(xiàn)B_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區(qū)域,故需要配合掩碼寄存器一并設置,如FB_CSAR0[31:16] = 0x6000;FB_CSMR0[31:16] = 0x0007,其區(qū)域容量為2(16+3)=512Kbyte。而FeRAM容量為32kbyte,位于CS1區(qū)域,只需設置基址寄存器即可,如FB_CSAR0[31:16] = 0x6010。

          本文引用地址:http://www.ex-cimer.com/article/248893.htm

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

            5 主控系統(tǒng)軟件設計

            5.1 開發(fā)環(huán)境

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

            5.2 軟件架構

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

            5.3 系統(tǒng)初始化

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

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

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


          linux相關文章:linux教程


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


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




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();