龙源期刊网嵌入式控制系统在工业控制中的应用作者:覃颖来源:《电脑知识与技术》2010年第05期摘要:嵌入式控制系统是一种面向具体应用的将底层硬件、实时操作系统和应用软件相结合的专用计算机系统,它已经用于各种工业控制中。该文首先简要介绍了工业控制中控制器的广泛应用,随后介绍了嵌入式系统的结构。最后从硬软件设计方面讨论了一款用于工业控制的嵌入式控制系统的开发过程。关键词:嵌入式控制器;工程机械;控制中图分类号:TP391文献标识码:A文章编号:1009-3044(2010)05-1227-02嵌入式系统在生产制造,工业控制中有广泛的用途。目前,在工业控制中嵌入式控制系统正朝着高速、高集成度和低功耗方向发展。研究嵌入式控制系统,对于提高工业控制质量,提高生产效率具有重要意义。1嵌入式系统的特点与结构嵌入式技术广泛应用于消费电子、通信、汽车、国防、航空航天、工业控制、仪表和办公自动化等领域。在个人领域中,嵌入式产品将主要是个人使用,作为个人移动的数据处理和通信软件。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,小型手持嵌入式系统将发挥巨大作用。嵌入式系统不仅可以用于ATM机,自动售货机,工业控制等专用设备,而且和移动通信设备、GPS、娱乐相结合[1]。还有一些其他微处理器,如ARMSA-1100系列是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品中。PXA270则应用于高端移动设备中,通过复杂指令集,提高了其媒体的信息处理能力。总体上看,嵌入式控制系统有以下特点:系统内核小,专用性强,系统精简,多任务高实时性操作和专用开发工具和环境。嵌入式系统具有“嵌入性”、“专用性”、“计算机”的基本要素和特征[2]。其一般由嵌入式处理器、外围硬件设备、嵌入式操作系统以及用户应用程序四个部分组成,用于实现对其他设备的控制、监视或者管理等功能。它们的结构图可以概括如图1所示。2嵌入式控制系统的设计过程由嵌入式控制系统的组成,可知嵌入式控制系统的设计主要考虑硬件设计和操作系统设计。2.1处理器选型龙源期刊网工业中嵌入式控制器的应用较为广泛,由于处理器是控制器的核心,因此不同类型的处理器有着不同的应用基础。嵌入式处理器主要分为四类,嵌入式微处理器,嵌入式微控制器,嵌入式DSP,嵌入式片上系统SOC[3]。但是随着工业控制中对嵌入式控制系统要求越来越高,控制算法越来越复杂,目前形成了以ARM微处理器应用最广泛的现状。该系列的处理器中,ARM7主要应用于工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用中;ARM9主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等;ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工艺控制、图形和信息系统等领。本文以Philips公司的LPC2880芯片为处理器,它是ARM7系列中的一员,它具有以下特点:8kB高速缓存,64kBSRAM,工作频率可达60MHz;外部存储器控制器支持flash,SRAM,ROM,和SDRAM;2个带可选预分频器的32位定时器;BootROM允许执行flash代码、外部代码;允许通过USB进行flash编程等。2.2电源电路设计LPC2880处理器芯片内核芯片需要工作电压为1.8V,I/0接口的工作电压为3.3V,以高电压为判断依据,因此系统应设计成3.3V应用系统。其实现方法如下:用一个220V到9V的变压器将办公用电转换成直流9V电源,然后将9V直流电源由从另一电源接口输入,并使用二极管用来防止电源反接,经过二次滤波后,通过由美国国家半导体公司生产的LM2575开关电源芯片将电源稳压到5V。最后将5V电源经过低压差电源芯片稳压输出为3.3V和1.8V电压。其中低压差电源芯片可以采用Sipex公司生产的SPX1117系列芯片SPX1117M3-3.3和SPX1117M3-1.8,其特点为输出电流大,输出电压精度高,稳定性高。精度在正负±1%,还具有电流限制和热保护功能。2.3系统时钟电路,复位电路的设计时钟电路在嵌入式控制系统中往往因为市场而决定,在工业控制中,由于机械造价昂贵,嵌入式系统中设计时钟电路就可以控制机械的运行时间,迫使买家按时付款[4]。对于LPC2880处理器而言,通过内部PLL电路可调整系统时钟,使系统运行速度更,达到最高运行频率即60MHz,它可使用外部晶振或外部时钟源。若不使用片内PLL功能,则外部晶振频率为1~30MHz,外部时钟频率为1~50MHz,若使用片内PLL功能,则外部晶振频率为10~25MHz,外部时钟频率为10~25MHz。对于复位电路,其设计一定要使系统能够充分复,保证系统可靠工作,因为LPC2880芯片具有高速、低功耗、低工作电压导致其噪声容限低的特点,使得其对电源的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等有更高的要求。复位电路的设计一定要使系统能够充分复位,保证在各种复杂情况下稳定可靠的工作。本文中复位电路采用由CATALYST公司生产的专用电源监控芯片CAT1025JI-30(复位门槛电压为3.0~3.15V)。2.4操作系统设计一个实时操作系统在应用之前,首先要做的工作是将该实时操作系统移植到该微处理器上,所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。本系统采用uC/OS-II,对龙源期刊网中与处理器有关的代码进行重写或修改。尽管μC/OS-II的大部分源代码都是用C语言写成的,但是嵌入式控制系统和硬件密切相关,因此处理器必须满足如下要求:C编译器能产生可重入代码,在程序中可以打开或关闭中断,处理器支持中断,并且能产生定时中断,处理器支持能够容纳一定量数据的硬件堆栈,处理器有将堆栈指针和其他CPU寄存器存储和读出到堆栈(或者内存)的指令。对于LPC2880处理器,移植uC/OS-II内核的主要内容是:用#define声明若干个个宏和若干个(根据具体需要而设计)与编译器相关的数据类型,并用#define设置一个常量的值,编写若干个与操作系统相关的函数,用汇编语言编写若干个个与处理器相关的函数[5]。具体过程如下:1)移植OS_CPU.H。包括定义数据类型,μC/OS-II不使用C语言中的short、int和long等基本数据类型的定义,代之以移植性强的整数数据类型;临界代码的使用,μC/OS-II在进入系统临界代码区之前要关闭中断,等到退出临界区后再打开,它是通过OS_ENTER_CIRTICAL()和OS_EXIT_CRITICAL()这两个宏来实现的。实现关闭中断的方法有多种,如在OS_ENTER_CIRTICAL()中调用处理器指令关中断,在OS_EXIT_CRITICAL()中调用相应处理器指令开中断;执行OS_ENTER_CIRTICAL()时,先将中断状态保存到堆栈中,然后关中断,而当执行OS_EXIT_CRITICAL()时,再从堆栈中恢复原来的中断开/关状态等;2)移植OS_CPU_C.C。主要有6个函数在文件:OSTaskStkInit(),OSTaskCreateHook(),OSTaskSwHook(),OSTaskDelHook(),OSTaskStatHook(),OSTimeTickHoo();3)OS_CPU_A.ASM文件。需要改写的汇编语言函数有四个:OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。2.5人机交互模块设计在工业控制中,有大量的生产控制信息需要实施被操作人员所掌握,这些信息主要在控制系统的LED面板上现实。其基本信息包括参数值(如速度,进给量、工件统计),X轴、Y轴坐标值(含X轴、Y轴运行方向指示),控制方式指示(自动、半自动、调校)等。通过这些信息,操作人员可以完成对现场设备的组态配置,数据集中处理,工作状态监控等功能。现在很多公司提供功能丰富的组态软件,如Vincc、力控PCAuto、组态王等。主要工作是创建液晶显示接口函数,创建过程如下:定义voidLCD_Cls(),在LCD的显示屏中显示液晶初始化后,液晶的主界面;定义voidLCD_Init(void),用于初始化设置,主要是对显示区域的设置和显示方式的设置;定义voidLCD_Refresh(),用于更新LCD的显示,把需要显示的内容更新到LCD的显示屏上;定义voidLCD_BkLight(),用于打开或者关闭LCD的背光;定voidLCD_DisplayOpen(),用于打开或者关闭LCD显示。当前,工程控制中的人机界面越来越人性化,具有可操作性和可理解性。因此将人机界面信息由传统的单文字形式转化为图形界面是嵌入式控制系统的必要工作。有些处理器,如S3C44BOX处理器本身也带有液晶控制系统,其外围设备只需要配备液晶显示器,用控制信号线将显示器和控制器连接即可。2.6键盘按键的程序设计龙源期刊网工业控制系统中,人和机器需要实现信息的交互,即人通过操作界面对机械发出指令。嵌入式系统已经实现了较为人性化的设计,即通过键盘,结合液晶显示,将指令传达给控制器,实现真正意义上的人机交互功能。按键的主要功能可以分为:暂停键,复位键,开始键,分别实现按下此键来暂停运动或程序执行,当程序执行过程或着运动中出现异常情况,按下此键可以终止一切,暂停后按下此键来恢复运动或程序继续执行等指示。这三个状态可以在液晶显示屏上显示。另外,嵌入式控制系统还需要提供上下翻页,树状上翻下翻等功能,这主要是因为嵌入式系统的液晶现实面,不可能不能一次完全把所有程序运行状态或者参数全部显示出来,所以利用上翻和下翻键进行查看。在处理器中键盘控制由一个函数(GetKey(INT16S*key))控制,它用于检测键盘是否有键被按下,如果有,就得到按键值并返回。通常需要频繁的调用该函数,对键盘进行轮询,以检测是否有按键被按下。如果有按键被按下,则返回TRUE;否则返回FALSE。3总结工业生产规模的扩大与生产过程的复杂化,对控制系统的实时性、可靠性提出了更高的要求。嵌入式控制系统实现了计算机的微小化控制,对于提高工业控制的准确,实现快速反应和规模化机械生产具有重要意义。本嵌入式工程机械控制系统以S3C44BOX芯片为控制器,以uC/OS-II为操作系统,以LCD显示器进行显示,配有时钟,输入键盘,数据存储器以及多种数据通讯接口。在实践中,以该处理器为基础的控制器具有成本低,系统移植简单,强操作性和升级性等特点,可以满足不同机型的工程机械使用。参考文献:[1]王田苗.嵌入式系统设计与开发实例[M].北京:清华大学出版社,2003.[2]蔡明征,汪海生,徐小龙,等.嵌入式微处理器在工程机械控制系统中的应用[J].筑路机械与施工机械化,2006(9).[3]马忠梅.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社,2002.[4]马维华.嵌入式系统原理及应用[M].北京:北京邮电大学出版社,2006[5]王孙安,张进华.基于ARM开放式数控技术研究[J].北京:现代制造工程,2007(9).[6]田泽.嵌入式系统开发与应用[M].北京:北京航空航天大学出版社,2005.