基于SH7137嵌入式控制器的研究与开发
现今,工业控制设备主要分为两种:工业控制机和可编程控制器(PLC)。工业控制机是由通用的微机推广应用而发展起来的。目前,可编程控制器正朝着两个方向发展。一是朝着小型、简易、价格低廉的方向发展,主要用于单机控制和规模比较小的自动化生产线控制。二是朝着大型、高速、多功能和多层分布式全自动化方向发展。近几年来,不论是工业控制机技术还是可编程控制器技术向嵌入式领域渗透的步伐逐渐加大,嵌入式的工业控制器以极小的体积、极低的功耗散热和软硬件的可裁剪性,而受到用户的欢迎,因而具有巨大的应用潜力。
1 嵌入式控制器硬件设计
本论文所做的基于瑞萨SH7137的嵌入式控制器的设计,采用了核心模板(System On Module)+底板的设计方式。在设计上考虑在工业控制器的设计中既要保留传统的控制器特点,又要在设计中有所开发自身控制器的特色,为此,我们在设计中采用了核心板模块化的设计思想,底板多功能集成。而且核心模块接口定义统一,可以根据控制MCU的功能做出不同的核心模块,例如8位核心模块、16位控制模块、32位控制模块。本控制器采用瑞萨公司生产的32位单位机,基于SH2核的SH7137单片机作为核心控制芯片,实现32位控制模块。核心模块是整个控制器的核心部分,由以单片机SH7137核心,加上RTC实时电路、PC电路和JTAG调试电路构成一个小系统,通过总线扩展、IO外接等功能模块构成了以单片机为基础的复杂工业控制系统的核心模块。核心模块的组成框图如图1所示。
嵌入式控制器的底板主要集成了人机界面控制(HMI)、通讯模块、外部总线接口以及输入输出(I/O)模块。底板主要实现的功能是根据核心模块处理好的信号通过底板的输出模块或者人机界面的显示屏输出,或者根据外部输入信号通过底板的输入模块或者人机界面的按键输入到核心模块进行运算然后输出。底板的组成框图如图2所示。
2 μC/OS-II的移植
移植就是使一个实时内核能在某个微处理器或微控制器上运行。为了便于内核的移植,μC/OS-II的大部分代码用C语言编写。移植工作主要集中在os_cpu.h,os_cpu_C.C、os_cpu_a.asm三个文件上。os_cpu.h主要涉及到与编译器相关的数据类型的定义、堆栈类型定义、两个宏定义和几个函数说明。os_cpu_C.C包含与移植有关的10个C函数,除第一个任务堆栈初始化函数外的9个函数,需要声明,由系统函数调用,方便用户可以在操作系统中加入自己需要的功能。os_cpu_a.asm包含与移植有关的4个汇编语言函数:OSStartHighRdy()、OSCtxSw ()、OSIntCtxSw ()、STickISR ()。
控制器采用瑞萨单片机SH7137,具有SH2的内核,支持集成开发环境HEW,可以生成重入代码,有足够的寄存器来关、开中断,指令可以对堆栈进行操作,因此,μC/OS-II可以移植到SH7137控制器上。
3 系统程序设计
实现了嵌入式控制器系统的硬件设计和μC/OS-II操作系统的移植,但这只是个嵌入式控制器的系统平台。在实际应用中还必须对相应外围功能模块的操作达到控制目的。针对外围功能模块编写一个接口函数,就可以在编写应用软件时调用这些函数来传递数据,另外,能够针对具体应用编写并调试一些具体有相对独立性的、通用性的函数,将大大简化编程结构,并使程序模块化,形成一个统一的接口的函数库。如图3所示。
在整个嵌入式控制器的设计上,硬件设计,为整个控制器最底层,其中包括SOM核心板、底板以及输入输入的IO模块,操作系统的处于控制器的第二层,负责与处理底层硬件的接口,同时为处理上层应用程序提供接口,本控制器移植的是开源的嵌入式操作系统:μC/OS-II。本系统的第三层为应用开发层,主要是实现针对用户所要求处理问题的应用程序,这一层主要面向用户,其中应用开层包含了一个函数驱动库,这是这个模块函数接口,为二次开发人员提供的,方便其调用系统的模块函数接口,同时也方便用户调用,便于开发,减少用户利用本控制器开发产品的周期。
硬件驱动库主要集成了人机界面的控制、RS232串口通信讯模块、RS485通信模块、CAN接口通信模块以及IO输入输出等模块的数据处理。硬件驱动库具有统一的数据定义和统一的函数接口。
4 结束语
本文基于SH7137嵌人式控制器采用核心板+底板的开发模式,实现功能模块化、可配置化的功能,具有通用性、可编程、良好的人机界面等特点。整个控制系统可以根据使用的场合和对象进行模块配置,为其带来灵活多变、成本低廉等优势。
- 基于ARM7+μC/OSII的数据采集系统设计(03-30)
- 基于STM32F的搬运机器人电机控制系统的设计与实现(04-05)