新闻中心

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。

本文引用地址:https://www.eepw.com.cn/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教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理




评论


相关推荐

技术专区

关闭