<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

  FlexBus接口具有5個(gè)用戶(hù)可編程片選信號(FB_CS[5:0]),FB_CS[5:0]片選信號通過(guò)片選基址寄存器FB_CSARn和片選掩碼寄存器FB_CSMRn來(lái)控制?;芳拇嫫鱂B_CSARn[31:16]設置訪(fǎng)問(wèn)地址的高16位,片選掩碼寄存器FB_CSMRn[31:16]用于屏蔽訪(fǎng)問(wèn)地址的低16位?;芳拇嫫鱂B_CSARn設置訪(fǎng)問(wèn)外設最大空間為216=64kbyte,配合掩碼寄存器設置訪(fǎng)問(wèn)外設最大空間為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://dyxdggzs.com/article/248893.htm

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

  5 主控系統軟件設計

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

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

  5.2 軟件架構

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

  5.3 系統初始化

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

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

單片機相關(guān)文章:單片機教程


linux相關(guān)文章:linux教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>