嵌入式控制技术(精选10篇)
嵌入式控制技术 篇1
0 引言
随着信息处理技术的不断发展, 基于网络化技术的嵌入式控制平台成为了主要的发展方向, 以太网技术以IP地址来识别所有的监控设备, 采用先进的网络传输协议来进行模拟量或数字量信号的处理与传输。利用现有的网络资源, 轻而易举地实现远程监控。布控区域广阔, 系统扩展能力强, 只要有网络的地方就可以对工业设备进行监控、参数设定和修改, 性能上更稳定, 且便于安装、维护, 易于实现系统的模块化设计, 便于维护和管理。本文针对工业技术应用, 设计了基于以太网技术的嵌入式控制平台。
1 硬件系统设计
为了满足系统实时性以及易于扩展的功能要求, 本文以S3C2440作为核心芯片, 它具有丰富的接口资源, 内部具有A/D转换器, 可以实现数据的实时采样、分析和传输。该芯片是基于ARM920T内核的嵌入式微处理器, 由内核、高速缓存和内存管理单元组成, 具有性能高、功耗低和体积小等优良特性。其实时性、可扩展性完全可以达到嵌入式控制平台的要求[1]。
本文在该芯片的基础上进行开发设计, 本系统的硬件结构包括12个模块, 分别是电源模块、Nand-Flash/Nor-Flash存储模块、SDRAM模块、A/D转换模块、复位模块、通用I/O模块、键盘模块、USB模块、LCD模块、JTAG模块、串行通信模块以及以太网控制器模块。其中网络模块由于RS-232、RS-485等总线组成的工业网络有效半径小, 数据交换速度慢, 有关的通信协议少等缺陷, 已经越来越不能适应日渐复杂的工业需求, 本文采用网络接口芯片DM9000实现现场数据的远程传送, 建立工业以太网的通信网络[2]。
DM9000是一款高速以太网接口芯片, 其基本特征是:集成10/100M物理层接口;内部带有16K字节SRAM用作接收发送的FIFO缓存;支持8/16bit两种主机工作模式;通过HP认证的AUTO-Mdix (支持直接互连自动翻转) 功能;支持TCP/IP加速 (IPV4 check sum offload) 减轻CPU负担, 提高整机效能;10ns I/O读写时间。DM9000A以太网控制器遵循IEEE颁布的802.3以太网传输协议。
当系统上电时, S3C2440A通过总线配置DM9000A内部网络控制寄存器 (NCR) 、中断寄存器 (ISR) 等, 完成DM9000A的初始化。随后, DM9000A进入数据收发等待状态。当S3C2440A向以太网发送数据时, 先将数据打包成UDP或IP数据包, 并通过16 bit总线发送到DM9000A的数据发送缓存中, 然后将数据长度等信息填充到DM9000A的相应寄存器内, 使能发送。当DM9000A接收到外部网络送来的以太网数据时, 首先检测数据帧的合法性, 如果帧头标志有误或存在CRC校验错误, 则将该帧数据丢弃。否则将数据帧缓存到内部RAM, 并通过中断标志位通知S3C2440A, 由S3C2440A对DM9000A接收到的数据进行处理。
DM9000 (A) 包含一系列可被访问的控制状态寄存器, 这些寄存器是字节对齐的, 他们在硬件或软件复位时被设置成初始值。访问其寄存器的方法是通过总线驱动的方式, 即通过对IOR、IOW、AEN、CMD以及SD0--SD15等相关引脚的操作来实现。其中CMD引脚为高电平时为写寄存器地址, 为低电平时为写数据到指定地址的寄存器中。通过对这些寄存器的操作访问, 我们便可以实现对DM9000的初始化、数据发送、接收等相关操作。
2 软件实现
在嵌入式系统中linux系统是目前最为流行的一款开放源代码的操作系统, 它为用户提供了丰富、强大的网络功能, 完善的内置网络是Linux的一大特点[3]。同时Linux还免费提供了大量支持Internet的软件, 并可以进行文件传输以及远程访问。本文就是通过在装有linux系统的PC机上配置编译内核、制作文件系统和编写编译应用程序, 然后通过串口、并口、网口或者USB下载到目标板上运行调试的。数据网络传输的具体实现:
嵌入式网络系统的优势就在于它利用现有的网络系统进行数据传输, 无需重新架设线路, 本文将数据利用linux提供的网络编程接口Socket传送到PC机来显示[4]。
2.1 协议选择
Linux中的网络编程通过套接字Socket实现, 网络程序通过Socket和其它几个系统调用返回一个通信的文件描述符, 可以将这个文件描述符看成普通的文件描述符来操作, 这也正是设备无关性的好处。可以通过读写描述符实现网络之间的数据交流。套接字一共有三种类型:流式套接字, 它提供可靠的、面向连接的通讯流, 使用TCP协议, 保证数据传输的正确性和顺序性;数据报套接字, 它定义了一种无连接的网络服务, 数据通过相互独立的报文件进行传输, 不能保证数据的可靠、无差错, 使用的协议是UDP协议;原始套接字, 它允许使用IP协议, 主要用于新网络协议的测试。由此可见选择什么类型的套接字与实际的控制平台要求有着密切的关系, 当对传输数据要求准确性比较强时应该选择TCP协议, 当要求数据量比较大或者要求系统实时性比较好时, 采用UDP协议。由于UDP将安全和排序等功能移交给上层应用来完成, 极大地降低了执行时间, 使速度得到了保证, 所以UDP具有TCP所望尘莫及的速度优势, 本文主要介绍UDP的程序设计过程[5]。
2.2 UDP网络编程
基于UDP协议的网络编程分为两个方面:服务器程序设计, 客户端程序设计。
2.2.1 服务器程序设计
(1) 创建一个Socket套接字。系统调用Socket () 的用法如下:
其中, 参数domain设置AF_INET, 以允许远程主机之间通信。参数type是套接口的类型:SOCK_STREAM或SOCK_DGRAM。SOCK_STREAM表明使用的是TCP协议, SOCK_DGRAM表明使用的是UDP协议。参数protocol设置为0。系统调用socket () 返回一个套接口描述符来获得文件描述符, 如果出错, 则返回-1。
(2) 绑定一个IP地址。有了一个套接口以后, 下一步就是把套接口绑定到本地计算机的某一个端口上。可以使用bind () 来实现。系统调用bind () 的用法如下:
int bind (int sockfd, struct sockaddr*my_addr, int addrlen) ;
其中, 参数sockfd是由socket () 调用返回的套接口文件描述符。参数my_addr是指向数据结构sockaddr的指针。数据结构sockaddr中包括了关于地址、端口和IP地址的信息。参数addrlen是sockaddr结构的长度, 可以设置成sizeof (struct sockaddr) 。bind函数将本地的端口同socket返回的文件描述符捆绑在一起, 如果出错, bind () 也返回-1。
(3) 循环接收数据, 使用函数recvfrom () 。
int recvfrom (int sockfd, void*buf, int len, unsigned int flags struct sockaddr*from, int*fromlen) ;参数from是指向本地计算机中包含源IP地址和端口号的数据结构sockaddr的指针。参数fromlen设置为sizeof (struct sockaddr) 。系统调用recvfrom () 返回接收到的字节数, 如果出错则返回-1。
(4) 关闭网络连接, 使用close () 调用关闭连接的套接口文件描述符:close (sockfd) 。这样就不能再对此套接口做任何的读写操作了。
2.2.2 客户端程序设计
(1) 创建一个Socket套接字。
(2) 绑定一个IP地址。
(3) 设置对方的IP地址和端口等属性。
(4) 发送数据, 使用sendto函数。
int sendto (int sockfd, const void*msg, int len, unsigned int flags, const struct sockaddr*to, int tolen) ;除了两个参数以外, 其他的参数和系统调用send () 时相同。参数to是指向包含目的IP地址和端口号的数据结构sockaddr的指针。参数tolen可以设置为sizeof (struct sockaddr) 。系统调用sendto () 返回实际发送的字节数, 如果出错则返回-1。
(5) 关闭网络连接。
3 结束语
本文设计了一个基于以太网的嵌入式控制平台, 介绍了软硬件的实现方法, 能够完成数据在网络上的传输, 为工业网络控制的实现打下了基础。
参考文献
[1]Samsung Electr onics Co.Ltd.User`s Manual of S3C2440[Z].
[2]龙新辉, 陈俊杰.基于嵌入式Linux的以太网卡驱动设计与实现[J].舰船电子工程, 2011, 31 (3) :143-146.
[3]李亚锋, 欧文盛.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社, 2007.
[4]崔志方, 黄坚, 皮佑国.基于工业以太网的焊接网络控制器研究[J].电焊机, 2009, 39 (8) :60-63.
[5]Stev ens W R.TCP/IP详解卷1:协议[M].范建华, 等, 译.北京:机械工业出版社, 2001.
解析嵌入式计算机连锁控制系统 篇2
关键词:嵌入式;计算机;信号;连锁控制
中图分类号:TP368.1
嵌入式信号连锁是一种新型的连锁控制技术,目前基本替代了之前的继电器信号系统。目前的计算机连锁系统的状况为:如果把连锁运算程序与别的系统同时安装计算机当中,那么将连锁运算程序一定是在下位机的位置。现行的计算机连锁系统的问题是成本较高、可靠性和安全性不高、连锁运算机构负担过重。为了能够让计算机的连锁系统功能和连锁运算功能同步实施,下文将嵌入式的技术手段,根据专业性的理论对目标功能进行了相关的设计。
1 嵌入式系统
1.1 关于嵌入式系统功能和组成
嵌入式系统的功能是实现对其它设备的控制、监视或管理等。计算机技术是嵌入式系统的基础,对功能、可靠性、成本、体积、功耗等等几个方面的参数需要特别精确。嵌入式系统在通常情况下是由四个部分构成的,第一部分是嵌入式微CPU,第二部分是相关的外围硬件设备,第三部分是嵌入式操作系统,第四部分是客户端,也就是用户的应用程序,在这四个部分中嵌入式微CPU是嵌入式系统的中心部分。嵌入式系统的硬件主要包括微处理器、存储器、相关的外设器件、输出端口和输入端口以及图形控制器;嵌入式系统的软件是由操作系统软件与应用程序编程两个部分组成。其中应用程序的主要使命是对系统的运行进行控制;而操作系统的使命则是对应用程序编程与硬件的交互作用进行监视和控制。
1.2 关于嵌入式的主要特性
具有很强的支持能力,能实时支持多项任务;能极限缩短内部的代码和实时内核心的执行时间;能有效保护存储区;能避免软件模块间的错误;能扩展处理器结构,极速开展需要的高性能嵌入式微处理器;能使嵌入式微处理器功耗降到最低。
2 嵌入式的总体设计方案
2.1 关于硬件体系
这里以铁路信号设备为例,对于道岔总数为25组及其以下的车站,用四个连锁控制器,构成计算机连锁系统连锁运送机构。在该结构中,采用局域网LAN,来完成系统中监控机、维修机和连锁机之间的通信;连锁控制机构采用双机热备的结构形式;监控机采用热备方对于道岔数大于25组的车站,采用增加连锁控制机构数和监控软件功能。
2.2 关于软件体系
2.2.1 关于软件层次结构
软件系统分为操作系统层、驱动层、中间层和应用层四个层次。其中关于中间层主要工作是进行系统的初始化工作和驱动有关的硬件设备,大体上的工作顺序是从下至上,先从硬件着手,再向软件方向进军。详细的工作顺序如下所述,第一步是片級的初始化,然后是板级的初始化,最后是系统级初始化,经历三个步骤之后完成了所有的初始化工作。关于操作系统层的执行工作是进行与操作系统移植工作相关的内容,以及其系统内核中的嵌入工作。在系统中其扩展层的执行工作主要是给当前应用的操作系统增添一些本来没有的相关功能。在系统中关于应用层的执行工作主要是顺利执行系统功能以达到相关的控制器的指标。
2.2.2 嵌入式实时操作系统
嵌入式实时操作系统具有以下特征:可裁剪,可移植;内核小,效率高,实时性好,上下文切换速度快;开放源代码,支持所以处理器芯片;内存要求低;基于优先级的多任务抢占式调度策略。如此高效运行的嵌入式实时操作系统(OS),可以让连锁控制器工作的环境有所拓展而去执行更多的任务。
2.2.3 关于连锁软件模型化
在嵌入式双冗余连锁系统中应用到软件有上位机software和连锁机software以及维修机software等。在以上的几款软件当中,连锁机software的功能是进行连锁控制活动,它就是系统中软件中的中心部分,所以要对其结构进行深入的研究。
Petri网是形式化方法之一,对复杂系统进行建模非常适用,能精确系统定义,分析系统的重要特性。连锁软件中的逻辑运算特别复杂,主要任务是对连锁逻辑进行建模,运用Petfi网能保证连锁逻辑定义精确。
连锁程序,主要是判定上位机发送过来的操作命令,根据现场信号设备的实时状态,处理合法命令,判定并处理站场中各个信号设备是否有故障。“命令处理”过程通过对上位机传送过来的操作命令进行合法性判定并调用相应的操作函数进行处理来实现。
“进路处理”的处理对象是进路命令及其程密切相关的命令。对系统中多条进路过程按并行方式来处理。
2.2.4 任务划分
应用软件的功能是通讯和连锁,驱动程序的功能是完成设备初始化操作,操作系统的功能是完成任务的调度和管理。
应用软件部分依据任务和作用划分,为与通讯任务、现场设备驱动任务、连锁任务、进路任务、电源监测监控任务、DoubleRAM任务、Watchdog任务和存储器管理任务。
其中连锁任务完成连锁运算,按照连锁运算规则,对相关模块采用集中调度方式完成连锁运算。相关模块有接收操作命令输入模块、现场状态输入模块、操作命令执行模块、进路处理模块、控制命令输出模块和表示输出模块。
2.2.5 测试和仿真
测试时,用强制变量法和观察法对低层模块进行调试;用上位机和连锁机相结合的方法,对上层、中间层模块进行调试。
2.2.6 系统可靠性和安全性的设计
在相关的控制器中,关于结构多数会应用比较型的冗余结构,假如这二个处理器的处理结果有差异,计算机能够在显示结果的同时如果计算机检测到导致结果出现差错的失效单元,就会进行相关的切换动作;如果检测不到相关的失效单元,计算机的相关系统就会自动输出关闭提示信息。
在计算机系统中通常情况下只有四个状态:第一种状态是二个单元都处于正常状态,第二种状态是系统处于降级工作的状态,第三种状态是系统出现故障的状态,最后一种是系统处于危险状态之中。利用马尔可夫模型进行分析可得出一下结论:在嵌入式双冗余系统中,它的运行准确度比较高,通常情况下可以达到99.99%,系统中大约每隔4.17×106才会出现一次运行事故;这种系统的安全度非常高,可以达到99.9973%,系统大约每隔1.111×1011才会出现一次危险事故;这两项的相关参数都符合计算机领域中的相关的可靠性和安全性的技术要求。
3 结束语
计算机连锁控制技术在各行行业应用广泛,我国各项产业快速发展,对计算机连锁控制技术的安全性及控制水平也必须提高以保证系统稳定运行。信息技术的革新使得嵌入式计算机连锁在各个方面广泛应用,硬件和软件配置,满足相关行业的需要。减少了劳动工作人员的工作强度,提高了产业的生产的安全性,保证了设施和人员安全,保障了经济效益。近几年来,我国经济发展态势非常好,“既要迎进来,又要走出去”的思想方针也需要我们的控制系统与国际接轨。嵌入式计算机连锁控制在国民经济发展中有重要作用,所以,我们必须与时俱进,加大研究力度,研究出符合国民生产需要的嵌入式计算机连锁控制系统。
参考文献:
[1]熊飞.全电子计算机连锁系统信息传输网络的设计[J].铁路计算机应用,2012(10).
[2]旷文珍.铁路车站分布式计算机连锁系统[J].中国铁道科学,2012(05).
嵌入式控制技术 篇3
随着煤矿自动化水平的不断提升, 带式输送机控制系统在煤矿井下的应用越来越广泛[1,2]。国内的带式输送机控制系统总体上可以分为基于PLC的带式输送机控制系统和基于嵌入式技术的带式输送机控制系统2类。基于PLC的带式输送机控制系统技术是从地面集控系统中引入的一种成熟技术[3], 但其应用在煤矿井下存在以下问题:
(1) 通用的PLC产品不具备本质安全 (以下称本安) 性能, 用在井下需要加隔爆外壳, 体积笨重, 并且隔爆产品在处理按钮、显示、线缆引入装置等方面不如本安产品方便, 影响了产品的整体性能。
(2) 更改PLC程序需要专用编程器或电脑, 对于不支持远程程序下载的PLC在井下需要编程时很不方便。
(3) 通用PLC的电源及接口都是非本安的, 使本安型传感器接入PLC时还需要加信号隔离器, 增加了成本和技术难度。
(4) 通用PLC本身不具备显示功能, 但带式输送机控制系统需要人机交互界面 (HMI) , 这就需要外加HMI产品。通用的HMI产品用在煤矿井下同样存在不具备本安性能的问题。
基于嵌入式技术的带式输送机控制系统则很好地解决了上述问题。嵌入式产品本身功耗较低, 很容易做成本安产品, 配上液晶屏和鼠标, 则具备了HMI, 在嵌入式平台上开发控制程序和配置程序, 即可实现控制功能, 并且通过配置程序可以在HMI上修改相应的控制流程和参数, 无需编程器和电脑, 既方便又安全。本文主要介绍一种基于嵌入式技术的带式输送机控制系统的硬件及软件设计。
1 系统总体设计
基于嵌入式技术的带式输送机控制系统主要由嵌入式本安控制机、控制驱动器、闭锁开关、远程I/O 模块等组成, 其结构如图1所示。嵌入式本安控制机是系统控制核心, 主要实现系统控制流程设置、系统配置、人机交互等功能。控制驱动器有2个功能: (1) 电源功能, 给嵌入式本安控制机和带式输送机沿线的闭锁开关、远程I/O模块供电; (2) 远程I/O 功能, 控制驱动器包含1个远程I/O模块, 该I/O 模块挂接在沿线CAN总线上, 可接收CAN总线命令, 驱动非本安设备的控制回路, 以控制非本安设备的启停状态, 并将非本安设备的启停状态反馈到CAN总线上。闭锁开关和远程I/O模块的功能是相同的, 都是将采集到的输入口信息反馈到CAN总线上, 并接收CAN总线命令, 控制相应的输出口动作。闭锁开关俗称拉绳开关, 相当于一个特殊的远程I/O模块, 它由左右2个行程开关和处理电路组成, 处理电路将采集到的行程开关的信号反馈到CAN总线上, 这样嵌入式本安控制机就可以判断闭锁开关是否动作。
2 嵌入式本安控制机设计
2.1 硬件设计
嵌入式本安控制机硬件主要包括主控板、语音模块、急停模块、交互模块4个部分, 如图2所示。
主控板是嵌入式本安控制机的控制核心, 它采用的是Intel公司的PXA270系列处理器, 主频为416 MHz, 装载Windows CE 5.0操作系统, 在Windows CE 平台上采用Embedded Visual C++语言设计带式输送机控制系统的控制程序和HMI[4,5,6]。
语音模块实现带式输送机沿线语音报警及对讲功能[7]。安装在嵌入式本安控制机上的语音模块是主机模块, 在带式输送机沿线还分布着分机模块, 主机模块和分机模块组成了完整的语音系统。当带式输送机控制系统中有急停等故障报警信息需要用语音向带式输送机沿线播报时, 主控板就会向语音模块发出信号;当沿线操作工人有信息需要向其它位置的人员播报时, 则可通过分机模块的对讲话筒播报。
急停模块可检测2种急停信号: (1) 嵌入式本安控制机上有一个急停按钮, 当检测到该按钮按下时, 急停模块会通知主控板, 将整个系统强制急停; (2) 沿线闭锁开关的急停信号, 当检测到CAN总线上有沿线闭锁开关的急停信号时, 主控板会启动相应的急停流程。
交互模块主要包括显示屏、键盘和鼠标。显示屏用来显示来自主控板的信号, 键盘和鼠标用于用户进行界面操作和信息录入。
2.2 软件设计
嵌入式本安控制机软件设计包括控制程序设计和配置程序设计。控制程序以流程为基础, 主要分为启动流程、停止流程和急停流程3个流程。控制程序启动后, 根据外部命令和急停模块的状态判断走何流程, 然后根据配置的流程顺序启动或停止相应的设备, 其流程如图3所示。配置程序主要是配置3个流程的动作顺序及相应的报警参数。
3 控制驱动器设计
控制驱动器主要包括电源和远程I/O模块2个部分。控制驱动器设计有5路电源, 包括4路本安电源 (2路18 V和2路15 V) 、1路24 V非本安电源。2路15 V本安电源给嵌入式本安控制机、主控板、交互模块供电。2路18 V本安电源中的1路单独给嵌入式本安控制机的语音模块供电, 1路给嵌入式本安控制机的急停模块、闭锁开关、沿线远程I/O模块供电。
4 远程I/O模块设计
远程I/O模块是带式输送机控制系统的执行机构, 系统中的控制驱动器、闭锁开关、远程I/O设备中都包含远程I/O模块。远程I/O模块的功能:采集输入口的状态 (包括开关量状态和模拟量状态) , 经过滤波处理后, 按照系统的数据协议发送到CAN总线上;接收CAN总线的命令, 将相应的输出口置位。
4.1 硬件设计
如图4所示, 远程I/O模块选用Microchip公司的PIC18F系列带有CAN控制器的处理器, 这有利于简化CAN总线电路, 同时便于处理器内部程序的设计;CAN控制器的发送和接收管脚连接到CAN驱动器的接收和发送管脚, CAN驱动器的CANH和CANL管脚与其它CAN设备相连, 即可组成CAN总线网络 (CAN驱动器有多种型号, 一般可选用PCA82C250或AMIS42675) ;输入端口经隔离电路连接到处理器的I/O口, 同样, 处理器的I/O口经隔离电路连接到输出端口, 从而使处理器的输入输出端口与内部电路完全隔离, 保证了远程I/O模块的可靠性。
4.2 软件设计
远程I/O模块处理器程序主要包括初始化、输入数据采集、CAN总线数据接收、CAN总线数据发送、命令处理函数等几个部分。初始化就是对处理器的各种资源, 包括端口寄存器、定时器、CAN控制器等进行初始状态配置。输入数据采集就是读取输入端口的状态, 进行滤波处理后, 按照数据协议进行排列, 需要发送到CAN总线上的数据放到CAN发送缓冲区中。CAN总线数据接收就是取出CAN接收寄存器中的数据。CAN总线数据发送就是将需要发送的数据放到CAN发送缓冲区, 等到CAN总线空闲时, CAN控制器会自动进行处理。命令处理函数包含带式输送机控制系统中的所有命令, 当从CAN接收寄存器中取出数据后, 命令处理函数要根据接收到的命令做出不同的响应。
5 结语
与基于PLC的带式输送机控制系统相比, 基于嵌入式技术的带式输送机控制系统在性能、安装、使用、配置等方面更加稳定、灵活, 界面更加友好。目前, 基于嵌入式技术的带式输送机控制系统已在国内多个煤矿应用, 取得了较好的应用效果。随着自动化技术的不断发展, 嵌入式技术在带式输送机控制系统中的应用会越来越成熟, 其稳定性、灵活性、友好性将得到越来越多用户的认可。
参考文献
[1]国家煤矿安全监察局.煤矿安全规程[M].北京:煤炭工业出版社, 2011.
[2]王惠忠, 王树胜, 费运河, 等.井下胶带机地面远程集中控制系统[J].工矿自动化, 2002 (3) :43-45.
[3]胡宇松.煤矿带式输送机电控系统的PLC程序分析[J].工矿自动化, 2009 (11) :100-102.
[4]严春, 张吉哲, 孔德刚.浅谈嵌入式程序设计在矿用产品中的应用[J].工矿自动化, 2010 (3) :115-118.
[5]马胜利, 温国栋.嵌入式技术的智能仪器触摸屏接口设计[J].西安科技大学学报, 2009 (1) :97-100.
[6]张景元, 陈和平, 郭健, 等.嵌入式技术在煤矿监控系统中的应用研究[J].航空计算技术, 2007 (4) :111-113.
嵌入式控制技术 篇4
关键词: 嵌入式系统;μC/OS-II;温度控制
中图分类号:TP39文献标识码:A文章编号:1009-3044(2007)16-31108-03
Applications of Temperature Control Based on the Embedded Real-time Operating System
Songlin-Wang, Zhengqin-Wang
(Computer Department Anhui business college Vocational Technology, Wuhu 241000)
Abstract:The paper introduces the design of the temperature-controlled based on the embedded real-time operating system. Analyses mainly the construct of system and the design method of hardware and software. The embedded operating system μC/OS-II has been transplanted in the software design. It will reduce the difficulty in software design because of the new method of multitask program. The system has many advantages such as high temperature accuracy, good quality, etc.all of which have been laboratorial experimented and proved.
Key words:embedded system;μC/OS-II;temperature-controlled
1 引言
嵌入式系统是以应用为中心,满足应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,它将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,具有软件代码小、高度自动化、响应速度快等特点。特别适合于要求实时的和多任务的监控系统。论文利用嵌入式系统的设计方法及测试技术,结合RTOS的选取原则,选用了源码公开的嵌入式实时操作系统μC/OS-II,设计、实现对多点温度进行控制的嵌入式系统。
2 系统开发环境与技术
考虑系统性能、成本、可靠性等因素,系统的主控芯片选用了台湾Syncmos公司生产的以80C52为内核的8位微控制器SM5964,嵌入式操作系统的软件开发平台选用了源代码公开的RTOS ---μC/OS-II,运用嵌入式系统较常用的设计与测试技术。下面对其详细介绍。
2.1系统的开发环境与工具
2.1.1系统的开发
PC选用的开发环境是:Windows 2000 Server;嵌入式系统开发集成环境:Keil C51 7.0、VC++ 6.0;选用的程序设计语言是:汇编、C语言。
2.1.2嵌入式微控制器
SM5964 微控制器是系统的核心器件,它是80C52 微控制器家族的派生产品,其硬件特征和强大的指令系统使它成为一种性能价格比高的控制器。除具有通用80C52优点之外,其特点如下:
(1)集成度高:它具有丰富的片内资源,包括3个16位定时器、1个看门狗定时器、全双工串口通道等,其PDIP 封装具有32个I/O口而PLCC/QFP封装则具有多达36个I/O口。
(2)存储量大:它内置了64 KB Flash ROM和1 KB RAM。
(3)ISP特性:它具有在系统可编程(ISP)功能,可以通过串口或者并口利用ISP功能实现系统的程序在线修改或升级。片内有多达4KB的存储空间供ISP编程之用。
(4)PWM特性:片上有5路PWM通道可供用户使用。
2.1.3嵌入式操作系统μC/OS-II
在进行嵌入式系统设计时,选择适合自己的实时操作系统是至关重要的,我结合具体的应用,考虑开发成本等因素,根据嵌入式操作系统的选取原则并基于μC/OS-II的许多特点,选用了源代码公开的实时操作系统μC/OS-II。μC/OS-II的主要特点有:
(1)公开源代码:源代码全部公开,这样使系统变得透明,很容易就能把操作系统移植的各个不同的硬件平台上,并可根据需要进行扩充。
(2)可移植性:μC/OS-II绝大部分源码是用ANSI C写的,可移植性(Portable)较强。它可以在绝大多数8位、16位、32位甚至64位微处理器、微控制器、数字信号处理器(DSP)上运行。
(3)占先式:μC/OS-II完全是占先式(Preemptive)的实时内核,总是运行在就绪条件下优先级最高的任务。大多数商业内核也是占先式的,μC/OS-II在性能上与它们类似。
(4)可确定性:全部μC/OS-II的函数调用与服务的执行时间具有其可确定性。μC/OS-II的系统服务的执行时间不依赖于应用程序任务的多少。
(5)稳定性与可靠性:μC/OS-II自1992年以来已经有很多成功的商业应用,其稳定性和可靠性都有很好的保证。
μC/OS-II的其硬件和软件体系结构如图1。
图1 u C/OS-II硬件与软件的体系
2.2 嵌入式系统协同设计技术
如何工程实际性能出发,依据相应的指导原则和分配算法对硬件/软件功能进行分析及合理的划分,从而使得系统的整体信能、运行时间、能量损耗、存储能量达到最佳状态,即为硬件/软件协同设计技术的重要研究内容。
典型的硬件/软件协同设计过程是:首先,选用独立于任何软硬件的功能性规格方法对系统进行描述;然后,在系统描述基础上对硬件/软件的功能模块进行划分;最后,需对硬件、软件的功能划分的结果进行评估。如果评估结果不满足要求,说明划分方案的选择是不合理的,需要重新划分硬件/软件模块,以上过程重复直到系统获得一个满意的硬件/软件实现为止。
软硬件协同设计过程可以归纳为:需求分析、软硬件协同设计、软硬件实现、软硬件协同测试和验证。
2.3 嵌入式系统的测试技术
嵌入式系统软件的测试必须考虑时间和硬件影响的问题。对于硬件,一般是采用专门的测试仪器进行测试;而对于实时嵌入式软件,则需要有关的测试技术和测试工具的支持,需要采取特定的测试策略。
测试技术指的是软件测试的专门途径,以及提供的能够更加有效的运用这些途径的特定技术。测试技术主要有回归测试(基于代码的测试或白盒测试)、第三方的验证和确认测试(功能测试或黑盒测试)及维护中的修改或升级测试(回归测试)等。目前,大量的实时嵌入式软件是面向对象编程和基于部件开发的,它们对时空和宿主机、目标机的交叉开发方式,论文选用该测试技术。
3 温度控制系统的设计与实现
嵌入式的多点温度监控系统需完成测量和控制两大功能。系统测量功能包括:多点温度数据采集、信号转换、信号传输等功能;系统的控制功能包括:温度数据的分析处理、输出控制信号、显示、通信等功能。下面将详细说明各个功能模块的设计与实现。
3.1系统的硬件设计
温度控制系统主要有键盘输入、数据采集、输出控制、LCD显示、通信及电源模块等组成。系统结构如图2。
图2 系统结构框图
3.1.1键盘输入电路
键盘是一组按键的组合,它是常用的输入设备,可以通过键盘输入数据或者命令,实现简单的人机对话。键盘可分为独立联接式和行列式(矩阵式)两类,每类按其译码方式又分为编码式及非编码式两类,设计中使用的是独立联接非编码式键盘。每个按键使用的是一个瞬时接触开关,这种联接方式可以容易被微处理器检测,但由于按键会产生机械抖动,在按键被按下或者抬起的瞬间,一般持续5~15ms,因此设计中要去除键抖动。可以通过硬件双稳态电路或者软件延时来实现,设计中采用延时20ms实现的。
3.1.2数据采集电路
本系统实现对两路温度信号的采集,为了节省硬件成本,在前向通道中采用了多路选择开关,使用了两个多路模拟开关器件CD4052,实现信号的差分输入,完成对两路温度信号的轮流采样,然后将信号送入一个公共的模数转换器LTC2430,完成模数转换。由微处理器的P1.2、P1.3两引脚实现信道的选择。电路如图3。
图3 数据采集电路图
3.1.3模数转换电路
系统模数转换采用LTC2430,设计中使其工作在外部时钟驱动模式下,工作状态分为转换(Conversion)、休眠(Sleep)和数据输出(DataOutput)三个状态。
3.1.4通信电路
系统所进行的通信是实现与PC机的通信,选择最为广泛的通信标准RS232通信标准。由于PC机使用的是RS232电平,而SM5964输出是TTL电平,因此选用MAX232解决电平匹配的问题。电路如图4。
图4 通信电路原理图
SM5964的串行发送端口TXD和接收端口RXD经MAX232芯片进行电平转换后,分别与PC机的数据接收端口RXD和数据发送端口TXD相连接。在设计中,使用了两个发光二极管D7和D8监视通信的工作状态。
3.1.5 LCD显示电路
对于LCD MGLS-12864,内置HD61202图形液晶显示模块,厂家为其设置了7条指令来完成对它的控制,有两条指令用于显示状态的设置,其余指令用于数据读/写操作,在此不对其进行详细的说明。
MGLS-12864与微处理器的连接方式有两种:一种是直接访问方式,一种为间接控制方式。直接访问方式就是将液晶显示模块的接口作为存储器或者I/O设备直接挂在计算机总线上,计算机以访问存储器或者I/O设备的方式操作液晶显示模块的工作。而间接控制方式是计算机通过自身的或者系统中的并行口与液晶显示模块连接,通过对接口的操作达到对液晶显示模块的控制。设计中论文采用了间接控制方式,这种方式的特点是电路简单,控制时序有软件实现,可以实现高速计算机与液晶显示模块的接口。
3.1.6输出控制及报警指示电路
输出控制电路采用12V直流继电器对外电路进行控制,通过控制继电器的吸合时间来实现对温度的控制,继电器是与强电控制电路(大电流、高电压)联系在一起,会对应用系统产生严重干扰,使系统不能正常工作。为了消除干扰,在微机接口与继电器之间分别加了光耦,使系统主机部分的地与强电控制电路的地隔开。当温度超限或者系统出现致命错误时,系统会发出报警指示且实现在LCD上显示。
3.2系统的移植
系统移植是指使一个实时操作系统能够在某个微处理器平台上运行。每个实时嵌入式操作系统都支持很多种处理器,为了使其在具体的硬件平台上工作,必须根据具体的硬件平台完成移植工作。μC/OS-II需要用户独立完成此工作。由于在设计时已经充分考虑了可移植性,移植工作并不太复杂,要根据具体硬件平台,对文件OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM进行合理的修改。要使其正常运行,处理器首先需满足以下要求:
(1)处理器的C编译器能产生可重入代码;
(2)用C语言就可以打开和关闭中断;
(3)处理器支持中断,并且能够产生定时中断(通常在10Hz至100Hz之间);
(4)处理器支持能够容纳一定数量数据(可能是几千字节)的硬件堆栈;
(5)处理器有将堆栈指针和其他CPU寄存器读出和存储到堆栈或内存中的指令。
3.3系统的软件模块设计
系统软件设计平台RTOS作为一种专门为嵌入式微处理器设计的模块化、高性能的实时操作系统,提供了一种基于开放系统标准的完善的多任务环境。它作为嵌入式应用软件的基础和开发平台,是一段嵌入在目标代码中的软件,在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于其上的各个任务,RTOS根据各个任务的要求进行资源管理、消息管理、任务调度、异常处理等工作。
系统软件的体系结构如图5所示。硬件抽象层(HAL)把实时内核与硬件隔离开,实现了操作系统内核与设备无关,提高了应用系统的可靠性。内核层是一个是实时多任务操作系统(RTOS)内核。内核层上面是高层驱动和库函数,提供通用的API、I/O管理器。应用程序层是用户的不同的任务。
图5 RTOS体系结构
3.3.1任务划分
根据要实现的功能,系统划分为如下6个任务:按键处理、LCD显示、串行通信、输出任务、控制运算、信号采集处理。从系统设计方面,可以划分为人机交互模块、串行通信模块、温度测量及控制模块和远程加载模块。
3.3.2基本界面设计
为了完整地实现系统的控制功能,需要在界面上显示全部的信息。显示的信息量较多,采用了六个显示界面分屏显示,界面的切换、菜单的选择、参数的选择及修改等是通过不同的按键来实现。
图6 系统基本界面
3.3.3串行通信模块设计
串行通信模块是系统设计中的一个重要部分。它要实现与PC机通信,接收PC机发来的命令帧,在确认正确后进行分析执行,并向PC机发送相关信息和数据。该模块设计工作主要为串口设备驱动程序设计与串行通信应用程序的设计,前者主要完成串口的工作方式、波特率等环节的设置,该部分工作具有系统设计共性,在此主要分析串行通信设计。
在系统中串行通行程序是专门用于接收PC机发送来的读写命令,根据命令的不同,完成不同的操作,既可以对系统当前的运行状态或参数进行改变,也可以把PC机需要的数据信息打包发送。在设计中,为简单起见,系统作为从机,只能被动接收PC机发来命令,对命令帧分析处理之后执行,可以改变系统当前的运行方式和参数。当需要向PC激发信息时,它要按要求把相关信息组帧发送,如当前继电器状态、第一路温度值、第二路温度值等。程序流程如图7所示。
图7 串行通信流程图
3.3.4温度测量及控制模块设计
数据信号的采集处理是把实际过程中的模拟量、开关量以及其它信息量通过相关的方式送入计算机,再由计算机进行存储和进一步的处理(如计算、显示、控制等)。模拟量的采集是将模拟量转换成数字量并送入计算机。然后调用处理算法将这些数字量存储并进行二次计算处理,一方面要输出显示便于观察,另一方面调用相关的控制模块,对被测对象进行控制。
系统要实现对两路温度进行采集控制,温度信号经两个模拟转换开关CD4052之后,以差分式输入模拟转换器LTC2430的输入端子,转换后的数字量送入微控制器SM5964,从而完成信号的采集。控制模块采用了时间最优控制和PID算法相结合的控制方法合理的控制算法对被控对象进行控制,设计中取得很好的效果。
3.3.5远程加载模块设计
此功能模块就是利用“在系统编程”(In-System Programming,简称ISP)技术,可以实现对系统进行在线升级。所谓“在系统编程”技术是指在用户设计的微控制器系统中为配置新的系统功能而对器件进行重新编程,并在线地将程序代码(固件)下载到程序存储器中的一种编程技术。它的出现是对传统编程方法的重大突破。在设计中,PC机利用串口向系统发送各种命令,如片擦除、页擦除、编程等命令,系统正确接收之后分析执行,从而完成加载升级功能。
4 结论
论文基于嵌入式系统设计框架,选用代码开发的μC/OS-II操作系统,在模块化、高性能的RTOS软件平台上采用多任务编程技术、分层体系思想完成系统各个软件模块的设计,利用系统的ISP功能,实现系统程序加载和动态更新,利用RS232串行通信技术实现通过PC的远程控制功能。嵌入式温度控制系统的实时性、可靠性等工程性能优良,并具有升级更新能力。
参考文献:
[1]巴内特,奥卡尔.嵌入式C语言编程与Microchip PIC/Embedded C Programming and the Microchip PIC [M].清华大学出版社,2005.
[2]江申,陈首先,王子健.基于嵌入式技术的温度测量系统[J].微计算机信息,2005,21(10-2):25-27.
[3]孙瑞志,史美林.基于S3C44BOX的嵌入式温度湿度实时监控系统[J].微计算机信息,2006,22(6-2):207-208.
[4]叶以民,赵会斌,耿增强.等.嵌入式系统中的实时操作系统[J].测控技术,2000,19(4):6-8.
嵌入式控制技术 篇5
数十年来,高压直流输电(High Voltage Direct Current)系统已经成功应用于输电网络[1]。近年来HVDC新技术的发展带来更经济的解决方案,因而HVDC系统也将继续在大功率传输及大电网互联中扮演重要的角色。面对广泛的应用,HVDC系统的国产化以及自主研发相关技术研究显得迫切重要[2,3]。
许继公司在西门子公司的SIMADYN D的基础上,参照其SIMATIC TDC的体系结构和功能,而开发的用于直流输电控制保护及其它开环和闭环应用的高性能工业控制软硬件平台系统(DPS2000)。开发工作包括硬件系统及底层驱动的设计、嵌入式实时操作系统的选择和软件平台的开发、工程应用软件图形化开发工具的开发、功能块的移植开发和应用程序的开发及验证测试等。
本文详述了DPS2000工业控制软硬件平台系统最终实现的目标要求,设计最终是以实现工业控制应用之一——直流输电控制保护为目标,详述直流输电控制系统的设计与实现。
1 直流输电控制系统结构
完整的直流输电控制系统由三层组成,即运行人员控制层、控制保护设备层、现场设备层,如图1所示。
运行人员控制层实现监视、控制、对时、数据的记录管理和维护、调度通信等功能。
控制保护设备层实现直流双极控制、直流极控制、阀组控制、交(直)流站控等典型功能,样机主要实现阀组交直流模拟量和交流电压电流过零点测量,并实现直流控制的电流控制、电压控制、熄弧角控制等典型的直流控制功能。
设备现场层实现间隔层一次设备的测量、保护、控制、通信等功能。
高压直流输电控制系统根据设定的直流电流Iref、直流电压Uref、熄弧角、有功功率等参数和测量装置传送的实时交流电压相角、直流电压Ud与直流电流Id、熄弧角等测量值,按照设定的直流控制器逻辑,计算出点火角(触发角),生成触发脉冲并输出实现直流控制功能。直流输电控制器包括电压控制、电流控制、熄弧角控制等。同时装置通过双以太网实现转发上传测量数据、接收下发的控制命令;通过双PROFIBUS总线接收间隔测控设备的测量数据、向现场控制设备转发或下发控制命令等。另外,还实现与测量装置的双光纤TDM总线通信和两套冗余控制装置的冗余通信功能。
2 嵌入式操作系统vxworks的开发
控制主机拟采用操作系统需要满足强实时和可靠性的要求,支持多处理器之间的任务并行计算,支持系统级的故障诊断等。DPS2000中操作系统核心功能的特征应该与SIMATIC TDC(SIMADYN D)一致,如:
(1)具备任务调度策略,比如支持周期可配置,提供多级任务周期设定的选择——循环周期型任务的执行周期Tn设定值遵循:Tn=2n*T0。
(2)以T0为节拍作任务调度,并且最多只调度两个任务运行,避免任务抖动。
(3)支持最小0.1ms采样周期,即T0的最小设定值为0.1ms。
(4)在多任务之间数据交互时,对数据一致性的保障。包括:一个处理器中不同任务之间的数据交互和多处理器之间不同任务的数据交互时的一致性保障。
(5)支持软件/硬件中断任务。
(6)操作系统级故障诊断,包括对任务状态的监视、严重系统故障的定位等。
本文中的高压直流输电控制系统使用了PowerPC CPU,PowerPC CPU的资源丰富,处理能力强大。如果采用传统的编程方法,由程序员在自己的程序里面分配、管理CPU资源,不仅非常烦琐,容易出错,而且也不能有效地利用CPU的资源和处理能力。因此,有必要使用嵌入式操作系统,在操作系统的基础上直接进行开发,不仅避免了烦琐的资源分配管理,而且提高了编程的效率、可靠性和可维护性。
操作系统是整个系统应用的基础,它是硬件管理和软件应用之间的桥梁,操作系统的任何缺陷都可能引起非常严重而且不可预知的问题。因此,一个高性能的嵌入式操作系统,必须具有很高的可靠性。
本文中的高压直流输电控制系统选用了美国Windriver公司的VxWorks嵌入式实时操作系统。VxWorks是一个优秀的实时嵌入式操作系统,主要优势包括:
(1)高效的代码和良好的可裁剪性。VxWorks采用微内核结构,内核可裁减至几十K字节,对于资源相对紧张的嵌入式系统具有非常好的适应性。
(2)丰富的接口资源和大量的第三方产品为VxWorks的广泛应用奠定了坚实的基础。
(3)良好的移植性。VxWorks支持包括X86系列,POWERPC系列,SPARC系列,ARM系列,MIPS 系列等几乎所有流行的CPU,可适应于不同的硬件平台。VxWorks提供POSIX1003.1b(对应旧标准1003.4)标准规定的大部分接口,使得对已有系统的移植变得非常容易。
(4)良好的开发环境。VxWorks有一个非常优秀的开发环境Tornado[3]。
本文中,VxWorks实时嵌入式操作系统开发主要包括:板极支持包BSP、应用程序的开发以及网络通信。
2.1 板极支持包BSP的开发
板极支持包BSP即Board Support Package,其功能相当于PC机的BIOS。它来源于嵌入式操作系统与硬件无关的设计思想,操作系统被设计为运行在虚拟的硬件平台上。对于具体的硬件平台,与硬件相关的代码都被封装在BSP 中,由BSP向上提供虚拟的硬件平台,BSP 与操作系统通过定义好的接口进行交互[4]。
BSP由三部分组成:
(1)源文件、头文件以及编译描述文件makefile。主要是C语言程序和少量汇编语言程序。
(2)导出文件。导出文件是由BSP的基本文件、驱动文件和VxWorks库模块编译连接生成。
(3)二进制驱动程序模块。
本文中的直流输电控制系统的VxWorks映像文件是基于ROM的。
2.2 应用程序的开发
应用程序的开发是在VxWorks的开发环境Tornado中进行的。应用程序开发过程中最重要的问题就是任务的划分和优先级的确定。一般来说,功能联系比较紧密的模块可以划分成一个任务;由于每个任务都有独立的堆栈空间,周期性运行的模块可以划分为一个任务,只执行一次的模块一般不单独划分为一个任务,以免浪费资源。
实时性要求能够随时中断正在执行的任务,对内部和外部事件在确定的时间内做出响应。因此,多任务机制是保证应用程序实时性的重要手段。如果任务划分得过少,把好多功能上没有联系的模块都放在一个任务里,那么应用程序的实时性将会比较差;如果任务划分得过于细致,那么任务调度的开销将会随之增加。
此外,任务之间通信时,对信号量的处理应当谨慎,避免在任务间通信时造成任务死锁;任务的堆栈空间是有限的,在任务运行过程中要注意检查堆栈空间的余量,避免堆栈溢出;优先级的确定相对简单一点,一般来说,用户任务的优先级要低于系统任务的优先级;经常运行,对实时性要求高的任务应分配较高的优先级。任务的优先级在任务创建时指定,也可以在运行过程中动态地改变。用户任务优先级应该根据实际情况来分配,使各个任务能够协调地运行,避免因为优先级过低导致某个任务长时间得不到响应。
2.3 网络通讯的开发
网络是VxWorks系统之间以及与其他系统联系的主要途径。VxWorks提供了强大的网络功能,能与其它许多主机系统进行通信。网络完全兼容4.3BSD,也兼容SUN公司的NFS。这种广泛的协议支持在主机和VxWorksh目标机之间提供了无缝的工作环境,任务可通过网络向其它系统的主机存取文件,即远程文件存取,也支持远程过程调用。通过以太网,采用TCP/IP和UDP/IP协议在不同主机之间传送数据。
Vxworks系统和网络协议的接口是靠套接字(sockets)来实现的。Sockets规范是得到广泛应用的、开放的、支持多种协议的网络编程接口。通讯的基石是套接口,一个通讯口是套接的一端,在这一端上可以找到其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关的任务。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各个任务使用这个域互相之间用Internet协议来进行通讯。
网络通讯时,首先由服务器端创建一个套接字,然后与服务器的本地地址相绑定(bind),接着进入侦听模式(listen)。客户端开始时,同样也需要创建一个通讯套接字并加以绑定,然后连结服务器端(connect)。在服务器端,用于侦听的套接字接受这个连结(accept),然后建立新的通讯套接字并利用新建的通讯套接字与客户端进行通讯。服务器端和客户端从各自的通讯套接字传送和接收数据,通讯结束后再关闭相关的套接字(close)。具体实现过程如图2所示。
3 控制系统任务管理器的开发
软件运行在许继项目的控制装置样机,操作系统为Vxworks6.x;交叉开发环境选择与Vxworks6.x相配套的Workbench平台。
依据Simadyn D的系统,自主研发的高压直流输电控制系统的任务有3种状态,即Init Mode,System Mode和Normal Mode。其中:Init Mode在系统启动时,只执行一次。系统中所有的存储单元和数据在Init Mode下被预设为默认值0,除非有特别设定(如使用“Init=”)。Init Mode主要作用是:预处理和初始化,涉及硬件的启动和配置。
当有效事件发生时(如中断(interrupt)或基础循环周期(basic clock)),系统进入System Mode,产生一个实时的处理影射,并将信号输出到外设(如同步时钟)。
输入功能块(FB)在System Mode下,将输入信号硬件读取并暂时存储起来,然后将在Normal Mode下进行赋值和输出信号在该输入功能块(FB)的处理。
Init Mode和System Mode后Normal Mode有效。
在VxWorks操作系统中优先级较高的任务可以中断优先级较低的任务,被中断的任务在中断完成后恢复运行。控制系统的任务调度流程图如图3所示。
控制系统的实时操作系统的任务管理器的作用是检测哪个任务将要开始执行,哪个任务完成。系统的每个周期的执行时间的关系如下,Tm=Tm-1*2n,也就是低优先级的任务的执行时间是高优先级任务的2的倍数关系,另外每个循环周期的起始时刻安排,这样可以保证最多只有2个任务在执行,控制系统应包含至少有5个循环任务周期,即T1,T2,T3,T4,T5。循环周期的规则如下:
(1)T0<=T1<T2<T3<T4<T5。
(2)T1~T5循环周期必循为T0 周期的2n,n的范围是0~15。
(3)任务的优先级T1>T2>T3>T4>T5。
优先级较高的任务可以中断优先级较低的任务,被中断的任务在中断完成后恢复运行。
但如果这个周期任务未能在该周期完成处理,那么它将在下个周期继续处理,直到完成,但下个周期中高优先级的任务(任务的优先级:T1>T2>T3>T4>T5)将中断该任务的处理,等到其他优先级高的任务处理完成后,开始处理该任务。当该任务在规定周期内未处理完成时(如T3在自己定义的周期内仍未完成处理),则处理周期会报错。
但如果这个周期任务未能在该周期完成处理,那么它将在下个周期继续处理,直到完成,但下个周期中高优先级的任务(任务的优先级:T1>T2>T3>T4>T5)将中断该任务的处理,等到其他优先级高的任务处理完成后,开始处理该任务。
当该任务在规定周期内未处理完成时(如T3在自己定义的周期内仍未完成处理),则处理周期会报错。
4 结束语
在西门子公司的SIMADYN D的基础上,参照其SIMATIC TDC的体系结构和功能,而开发的用于直流输电控制保护及其它开环和闭环应用的高性能工业控制软硬件平台系统(DPS2000)。样机通过测试,指标功能超过原有系统性能,达到预计指标。
所实际开发的DSP2000系统在HVDC技术在大容量传输及大电网互联方面有着突出的优势,已在“西电东送”中提供很好的效益。通过适当的控制系统设计,使HVDC输电系统可以达到一个相当可靠的运行水平,可更广泛应用于大容量传输及区域电网的互联。
参考文献
[1]余建国,彭饱书.Hartmut Huang,Velpanur Ramaswami.现代高压直流输电技术在南方电网的应用[J].南方电网技术研究,2005(1).
[2]袁清云.我国特高压直流输电发展规划与研究成果[J].电力设备,2007(4).
[3]王明新.高压直流输电控制保护装置冗余与可靠性[J].南方电网技术研究,2008(1).
[4]安军社,刘艳秋,孙辉先.基于VxWorks的嵌入式计算机系统的设计与实现[J].计算机工程与应用,2003,39(7):117-119.
嵌入式控制技术 篇6
大约在1970年就出现了嵌入式系统的概念,那时候的嵌入式系统很多都不采用操作系统,它们多数只是为了实现某个控制功能,使用一个简单的循环控制对外界的控制请求来进行处理,当应用系统越来越复杂、利用的范围越来越广泛的时候,每添加一项新的功能,都可能需要从头开始设计,没有自带的操作系统已成为一个最大的缺点了。
然而在整个80年代,嵌入式系统却静悄悄地统治着微处理器时代,并且把微处理器带入了我们个人和职业生活的每一个角落中。之后随着二十来年的技术变革,出现了很多种不同的嵌入式系统,以前存在的一些嵌入式操作系统也有了新的变革,其中尤其以VxWorks、WinCE、VRTX及近年来越来越多人注意的的嵌入式Linux为代表。因为它们的出现可以适应不同层次需求,不同价格需求的各种行业,在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中;随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。
1 嵌入式控制器原理解析
所谓嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单而言就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式,具有软件代码小,高度自动化,响应速度快等特点,特别适合于要求实时的和多任务的体系。嵌入式系统多用于控制、监视或辅助设备、机器或甚至工厂运作的装置。而实时多任务操作系统(Real Time Operating System)是根据操作系统的工作特性而言的;实时就是是指物理进程的真实时间,实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统;首要的任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。
因为实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制、通信系统、武器制导等各个领域得到广泛的应用,因而越来越引起人们的重视。而实时系统应用的范围相当广,按照实时系统在应用中的形态特征可划分为两种应用:嵌入式应用和非嵌入式应用。所谓的嵌入式应用,是指实时操作系统本身作为一个大系统的一个部件而内置到该系统中的应用形式,内置这种计算机的系统功能非常强大,具有反应速度快、自动化程度高等特点。
2 嵌入式控制器与自动化技术联合技术应用
伴随着计算机技术及其应用的飞速发展,自动化工控机技术不断地发展完善,开始走出工业自动化的应用局限,逐渐成为企业信息化、社区信息化、家庭信息的生力军,自动化工业控制机的市场开始了更加广阔的发展。然而嵌入式系统的应用相当广,产品的差异化大等特点注定了它成为当前最热门最有发展前途的IT应用领域之一。嵌入式技术产品广泛分布在消费类电子,通信、医疗和安全等行业,在过去的二十年中,嵌入式技术在通信领域也得到了广泛的应用和长足发展,现在嵌入式技术逐渐渗入到自动化工控领域,而且在这个领域还有很大的发展空间。单单从市场上的产品来看,生活中嵌入式产品随处可见,但也存在着不少问题,嵌入式产品种类繁多,而国内一些企业忽略了知识产权的保护,出现了恶性竞争,从而导致了嵌入式技术发展缓慢;事实上,国内嵌入式系统的发展需要依靠的是核心技术和自主创新产品,因此未来具备高可靠、多功能集成,高性能、低功耗,小体积,行业应用个性化等特点的嵌入式智能产品才能在嵌入式市场站稳脚跟,与国外公司抗衡。
这亦是新一代嵌入式自动化工控机清楚的定位,透过低功耗系统的设计,可将整台嵌入式自动化工控机的功耗设计在30W之内。与此同时,可以导入整系统无风扇的设计概念,因为少了机械零件的缘故,因而可以大幅的增加系统的可靠性,将周边的IO部分考虑到工业现场的应用,譬如隔离的串口,以及双网口的设计,以利于工厂的网络布线等。电源的输入设计采用直流电输入方式,并且考虑到宽电源的输入,可让嵌入式自动化工控机方便的应用在供电24VDC的工厂、48VDC的机车上,甚至是l 10VDC的变电站内。特别是小体积的设计更是让现场装机人员赞不绝口,在很多工业现场内的电控箱中,可以方便的安装及布线,搭配嵌入式的操作系统技术,可以让客户自由开发客制化的操作系统,提升整机运行的效率,大幅度缩短开发的时间。总之嵌入式自动化工控机设计上的着力点是把无风扇嵌入式工业上所需要的规格以及开放式的PC架构功能等三大特点都集成在一个控制器中。
嵌入式自动化管理操作系统也是现代企业必不可少的一部分,视频图像传输监控系统已经广泛的应用于交通、医院、银行、家居和视频会议等重要场合。因为早期的模拟视频监控系统不能联网,只能与管理中心进行点对点通信,随着图像与视频处理技术、网络技术和自动控制技术的发展,视频图像系统已经过渡到了数字化的网络传输,以数字视频的压缩、传输、存储和播放(回放)为核心,采用先进的数字图像压缩编/解码技术和传输技术,将智能图像处理与识别技术用于图像显示、调整、跟踪,根据现场环境对物体进行跟踪识别,对图像进行分析和处理,以基于USB摄像头的图像采集子系统,ARM嵌入式处理器子系统和无线网络数据传输子系统组成了视频服务器系统。通过GPRS模块实现了与管理中心的数据交互传输。利用USB摄像头来接收图像数据,实施对货架位置的定位识别,然后将识别信息通过GPRS模块设备发送到配送管理中心。而这时管理中心就会向配送车发送控制指令,将配送车上的货物放置到指定的货架位置,或从指定的货架位置上取出货物,装载到该配送车。这便是之前讲的基于ARM的嵌入式系统的自动化配送系统。其中,嵌入式微处理器是硬件部分的核心部分,采用三星的ARM微处理器S3C424lO,内置了16/32位ARM9TDMI内核,可以执行32位的arm指令或16位的Thumb指令,操作频率最高达203 MHz,提供了8 K字节的Cache,以及2个全双工UART(通用异步收发)通道,具有低成本和高性能的特点。伴随着GPRS技术在无线通信领域的发展,在ARM嵌入式系统中运用GPRS modem实现Internet接入也已开始得到应用。GPRS技术可以发挥永远在线、快速登录、按流量计费等特点。采用在嵌入式实时操作系统ARMarm CPU利用AT指令进行拨号,反馈应答后,就在本系统中的GPRS modem和Internet之间建立起来一条数据传输通道即GPRS网络,从而实现了配送车和监控管理中心的数据交互,实现了远程无人值守时的自动化配送。至于视频服务器上则运行嵌入式Linux操作系统和应用程序,服务器端软件开发采用C/S模式,视频服务器端软件的主要功能是对摄像机摄取的图像进行采集、压缩、存储、传送等操作,当操作系统启动后,启动实时时钟,系统加载串口、USB等驱动模块,等待视频图像采集的完成,然后不断地重复进行采集图片,发送图片的操作。
嵌入式的硬件是基于微处理器的计算硬件,在电路板上运行特定的软件程序;而嵌入式的设备通常用来构建大的系统的部分构件,用来控制设备和外设,例如:I/O端口,网卡和屏幕控制器等。当今的嵌入式设备应用很广,从洗衣机到手持电脑。这些设备必须具有实时性----就是这些设备必须在一定的时间内(不超过应用程序所允许的范围)对外部事件做出响应;同时也可以处理持续的信息流。作为嵌入式实时操作系统,包括了微内核wind、高级的网络支持、强有力的文件系统和I/O管理、C++和其他标准支持等核心功能。
总之,随着嵌入式技术的不断完善与发展,在各个方面都得到了广泛的应用;对于工业自动化,制造业自动化领域而言,更要大力开发与其相关的嵌入式技术,并大胆应用到生产实际中,提高自身的竞争力。
参考文献
[1]Tian,G.Y.;Zhao,Z.X.;Baines,R.W.A Fieldbus-based intell-igent sensor[J].Mechatronics,2000,10(8):835-849.
[2]金欢,阮冠春,徐凌宇,赵海.基于嵌入式Internet技术的We-bit体系结构研究与实现[J].控制与决策,2002,17(5):541-545.
[3]LIU Gui-xiong,SHEN Bai-hua1,FENG Yun-qing.Rapiddeveloping technology for networked intelligent sensor[J].Journal of transducer technology,2002,9(21):4-7.
嵌入式控制技术 篇7
1 嵌入式智能家居控制系统
1.1 嵌入式智能家居控制系统特征
嵌入式智能家居控制系统需要考虑系统网络功能和实时性的要求。值得注意的是, 嵌入式智能家居控制系统具备的特征, 首先是有较强的家居控制系统信息能力, 可以让顾客感受到更加真实的语音和图像。其次是嵌入式居家控制系统可以让硬件系统资源实现最大化的利用, 避免系统出现不必要的冗余配置系统。再次, 嵌入式系统采用的是单芯片方式, 因此, 整个家居控制系统非常清晰简洁, 而且十分便于操控。另外, 嵌入式智能家居控制系统具有十分高效的系统维护和升级处理模式, 对于代码的利用率也有相当大的提升, 使得整个软件的开发周期变得十分短。最后, 嵌入式智能家居系统的具有更多的网络性能和硬件接口扩展槽, 十分有利于系统的二次开发和升级。
1.2 嵌入式智能家居控制系统的应用
随着我国计算机技术的不断发展, 嵌入式技术深深融入到人们的日常生产和生活中, 目前智能家居系统的应用领域如下。
1.2.1 可视对讲系统
可视对讲系统多被应用在现代小区用户和物业管理中, 像住户中的门厅或者书房中安装的可视对讲系统, 访客需要征得住户的同意, 住户遥控开启单元防盗门之后才可进入。在物业的单元主机门口安装管理系统, 使得单元门口的主机和管理中心的主机通过网络联在一起, 这样来访者输入的信息可以同时被传到管理主机上, 这样值班人员就可以清晰、全面掌握来访人的信息。
1.2.2 报警系统
报警系统有防盗报警、防灾报警以及紧急呼救报警系统等。防盗系统是在遭到非法入侵时, 嵌入式智能家居控制系统中的报警系统会进入报警模式并对非法侵入行为人有一个高清的图像记录。一般情况下, 会在住宅内的客厅、过道以及楼梯的墙面或者是吊顶处安装防盗探头, 住宅外通常是在围墙上、阳台上以及窗户的外边等安装防盗探头。一旦有人非法入侵, 门窗被迫打开, 防盗系统就检测到并自动报警, 而且配置的高速照相机或者是摄像机就会受到系统控制, 对现场进行照相或者摄像。防灾报警系统是通过燃气泄漏探头、感温或感烟装置进行感应预警, 当房间内可燃气体泄漏时, 被探头感应到便会发出报警信号, 在触发警报时除了会通过网络向小区的保安中心发出报警信号外, 还会通过因特网或者拨打用户设定好的电话进行报警。另外, 报警系统还可能会控制室内的排气扇装置排放有害气体或者是控制消防喷淋系统进行自动喷淋。紧急呼救报警系统是多设在室内的卧室床头、书房或卫生间内, 当住宅发生盗窃或者病人突发疾病的情况时, 可以通过报警系统对小区的保安中心发出求救信号, 这样能让住户得到及时救助。
1.2.3 远程操控
嵌入式智能家居控制系统可以通过电话、短信、因特网等实现对家用电器设备的操控。在家用电器中接入数据接口, 像微波炉、电饭煲、热水器、空调、洗衣机等电器有数据接口之后, 在电器的电源插座旁设置数据信息的插座, 就可以通过数据网络实现远程操控。还有音乐、视频、灯光的控制, 需要在家中装置背景音乐的系统以及灯光集中控制系统, 通过手机、因特网实现对家中音响、视频以及灯光的远程控制。
1.2.4 社区信息平台
嵌入系统实现了小区住户与物业管理中心的网络连接, 在手机或者电脑上以网页浏览、邮件、手机短信等及时了解小区的物业通知与公告, 实现住户便捷的生活方式。
1.2.5 计量表系统
嵌入式系统是在水、电、燃气表的系统里安装电子读表器, 通过嵌入技术的后台操作实现对水、电、燃气的数据定期的统计, 并且将数据汇总到水、电、燃气的登记系统中。这样就避免了传统人工抄表形式, 降低了相关工作人员的工作量, 而且也给用户的生活带来极大便捷。
2 嵌入式智能家居控制系统中无线通讯技术的应用策略
2.1 Zig Bee无线网络技术
智能家居控制系统网络的总体结构分外部网、内部网以及家庭网关, Zig Bee无线网络技术是内部网联系家庭内部各个家用设备局域网所采用的技术, 应用在信息家电、环境控制、安防报警以及水、电、燃气抄送四个与家居生活密切相关的部分, 每个部分都通往一个终端, 而各个部分又包含着多个节点, 这些节点独立存在, 互不影响。Zig Bee无线网络技术是一种短距离的无线通讯技术, 可以为用户提供灵活的、机动的组网方式, 比较适合家庭网络控制。因此, Zig Bee无线网络技术是目前智能家居控制技术的一个十分重要的发展方向。
简单来说, 通过各种家庭电器中嵌入的以Zig Bee芯片为基础的无线网络收发模块, 在各个网络的子节点之间传送数据, 以此来实现家庭内电器设备的无线连通和家庭生活的自动化。无线家庭网络的设计需要从硬件设计和软件设计两方面同时入手, 避免顾此失彼的状况。目前, Zig Bee无线网络技术是我国智能家居控制系统发展中一个十分重要的技术, 不仅直接影响我国智能家居控制系统的技术水平, 而且关系到我国智能家居系统的发展速度。因此, 智能家居控制系统的相关设计人员务必要掌握Zig Bee无线网络技术, 重视Zig Bee无线网络技术对我国智能家居控制系统的影响作用, 只有这样才能促进我国智能家居控制系统的发展以及提升我国智能家居控制系统的水平。
2.2 无线节能技术
谈到智能家居控制系统中的无线网络技术往往会设计到智能家居的无线节能技术。一般住宅的节能不仅考虑建筑结构、建筑材料的节能技术, 还要考虑住宅运行管理的节能技术。智能家居系统是一个受传输媒体、网络平台以及集成技术发展制约的系统。在智能居家控制系统的实际运行中, 应重视无线节能技术的发展, 避免多种家电同时使用导致供电中断。无线节能技术对智能家居控制系统的发展具有十分重要作用, 可以控制单元事实检查家中的电荷的承担的电流, 选择一个定时器对家电的启动进行控制, 避免电量资源的过度使用。
3 结语
嵌入式智能家居控制系统包括了照明控制、电器控制、防盗防灾控制、远程操控等, 整个系统的运行涉及了多阶段的信息处理过程, 这样的家居系统更能实现人的主观能动性, 可以提高人们的生活质量与生活效率, 让人们的生活更加便捷、舒适。
参考文献
[1]唐松泉, 赵祚喜, 吕永青, 等.基于嵌入式的无线智能家居近远程监控系统[J].电子设计工程, 2015 (24) :166-169.
[2]陈善安, 刘卫平, 赵燕东.无线传感器网络在智能家居控制系统中的应用[J].智能建筑, 2015 (1) :76-79.
嵌入式控制技术 篇8
关键词:嵌入式技术,智能家居,控制系统
伴随着经济社会和科技的长足发展, 人们对生活的便捷性要求越来越高, 智能家居控制系统应运而生, 并得到了快速的发展。
1 嵌入式的概念
上世纪七八十年代, 嵌入式系统的概念首先在美国出现, 这是一种综合了微电子、传感器、半导体、通信和计算机等功能的技术。近年来, 微电子技术和半导体技术迅猛发展, 同样也带动了嵌入式技术的发展。嵌入式技术的发展决定了其应用的范围越来越广, 应用的形式也越来越多样化。
2 智能家居系统简介
所谓智能家居是指:借助智能化和人性化的管理系统, 营造一个便捷、安全、健康、舒适、节能、环保的生活环境。智能家居系统的运行要得以保障, 离不开系统控制技术、通信技术和传感器技术等, 因此将包含这些技术的嵌入式技术应用于智能家居系统, 对于智能家居系统的发展和完善具有重要意义。
3 嵌入式技术的应用
3.1 基于Tiny OS技术的嵌入式技术
Tiny OS技术是源于Aavid Culler为无线传感网络开发的一种嵌入式系统, 这种系统的开发采用的编程基础是Nes C语言。Tiny OS技术建立的基础是各组件以一定的方式形成架构, 它能够以很短的时间实现所有的应用, 而且由于其设计采用模块化, 保证了它具有核心小的特点。即使是传感器资源较少时, 其使用也不会受到限制, 因此Tiny OS技术保证了它能在无线传感器网络上也能不受影响的运行, 能正常地发挥其管理作用。Tiny OS技术具有一个类似网络协议的层次结构, 有分管接收的底层硬件, 有可以进行数据编码的综合硬件层组件, 具有传输数据包和参数的功能和解析的功能。另外还具有分管数据打包的上层软件组件, 可以传递数据、选择路由。而其中的上层组件是由应用程序组件和主组件共同组成。
基于Tiny OS技术的嵌入式技术还需要采用编程语言, 合适的编制语言有Nes C语言。这是一种能够支持组件化编程的语言, 它的优势在于能够结合思想和执行模型, 其中思想是指组件化和模块化思想, 而执行模型是指基于事件驱动的模型。Nes C语言借助于将组织和命名采用一定的组件连接方式, 进而共同构成一个完整的嵌入式网络系统。Nes C语言对于Tiny OS技术的开发运行非常有用, 可为其提供运行模式。
Qt开发框架是建立在对C++程序的完整应用基础上的, 它的API接口非常丰富, 重要的是它所拥有的API接口都具有相同的平台, 就是在一次编写之后, 能够实现随处编译, 这一点对于开发调试非常有好处, 而且便于应用扩展的实现。根据所需要的功能, 用Qt设计应用程序的框架, 而应用程序做为最上层程序, 完成它的设计, 就能充分利用它的编译功能, 取得事半功倍的效果。
借助于Tiny OS技术和Nes C语言的帮助, 基于人们对家居环境的具体要求, 用Qt编程技术就可以设计出一个完美的, 能够实现人们要求的智能家居控制系统。当然, 这个系统必不可少的还有一个传感器, 它能够探测、收集环境信息。这个过程中的用户界面开发需要借助Qt编程技术和具有丰富性和跨平台性的API接口。这三项结束的结合能够设计出界面优美、功能强大的、人性化的家居系统。
3.2 基于Zigbee技术的嵌入式技术
Zigbee技术是一种短距离的无线电通信协议, 它是一种新兴的通信协议, 主要是针对低速率的无线个域网。Zigbee技术做为一种技术提案, 处于无线标记技术和蓝牙两者之间。但是一般情况下, 它用于短距离内的无线连接。Zigbee技术的通信是靠数千的微小传感器根据802.15.4标准相互协调实现的。Zigbee技术的通信效率比较高, 原因是:各个传感器通过无线电波, 将数据以接力的方式进行传播。虽然目前情况下, 短距离无线电通信协议非常多, 但是Zigbee技术有相比于其它技术的优势, 所以更适合用于智能家居系统, 而且Zigbee技术具有与移动网络基站类似的数据传输模块, 支持无限扩展。
将Zigbee技术应用于智能家居系统, 采用无线电通信技术, 将系统中的家电设备连接成星型网络。Zigbee技术的通信协议由网络协调器和终端节点以及路由器但中节点共同构成。Zigbee技术中的路由器节点具有路由发现功能, 能够参与信息转发, 它扩展网络的覆盖范围是通过连接别的节点来实现的。Zigbee技术终端节点连接网络的方式包括协调点和路由点。但是其它节点无法通过Zigbee技术终端点加入网络, 而且Zigbee技术终端点的优势还有能够实现低功率运行。
Zigbee技术伴随着自动化的产生而出现, 它能够实现无线通信和数据传输, 是无线传感器网络得以实现的支撑技术, 具有功率小, 能耗低、成本低的优点。近几年伴随这智能家居系统的需求越来越高, 它的应用也越来越广泛, 它的功能也越来越受到人们的重视。
3.3 基于Wi-Fi技术的嵌入式技术
建立在Wi-Fi技术基础上家居系统, 它的实现主要包括智能传感器, 配合互联网服务器, 以及控制媒介和中央处理器。这种系统的控制媒介一般为智能手机, 信息由服务器传向中央处理器, 借助Internet进行有效连接, 进而实现控制智能家居系统。这种系统的优势在于, 其在运行时, 通过互联网, 用户便能够对家居系统进行控制。这种系统的功能要充分实现还需要一定的硬件支持, 主要包括三个方面:
3.3.1 FPGA平台
它在硬件系统起的作用是最关键和核心的, 它的主要功能包括掌控动作电路、监测并反馈动态信息、处理和接手控制指令。
3.3.2 Wi-Fi系统建立
打个比方, 应用无线模块HLK-RMO4, 这是一种全新的、能够有效适应的嵌入式模块。这种模块的基础是通用串行接口, 有内置的TCP和IP协议, 主要是为了将无线信号和FPGA控制中心连接起来。
3.3.3 继电器模块
智能家居系统的控制对象是普通的家电, 它们属于强电范围, 因此操作作用的实现就需要借助控制平台, 而继电器模块能够实现中间控制。
建立在Wi-Fi技术的智能家居系统在应用过程中具有性能稳定的优点, 除此之外, 对家庭内部相关网络的应用能够实现无线控制家居设备。而且, 在设计过程中, 将智能手机的应用结合进来, 对于设计的灵活性和效率大有裨益。因此基于基于Wi-Fi技术的智能家居系统开发非常具有前景。
4 结束语
随着物质生活和精神生活的日益丰富, 人们对于家居环境的要求越来越高, 智能家居系统的舒适和时尚越来越为人们所乐于接受, 智能家居系统的开发也将受到研究者的关注。基于Tiny OS技术、基于Zigbee技术和基于Wi-Fi技术智能家居系统各有优点, 各具特色, 研发人员在研发过程中可根据不同的需求进行选择。
参考文献
[1]关海鹏.嵌入式系统在智能家居监控中的应用研究[J].运城学院学报, 2014 (32) :22-24.
嵌入式控制技术 篇9
关键词:DS18B20嵌入式数据采集处理温度测控
1 引言
控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比仍然有着较大的差距。目前,我国在这方面总体技术水平处于 20 世纪90年代中后期水平,控制参数大多靠人工经验及现场调试来确定。
2 系统的功能
利用RCM2100嵌入式系统实现水温的智能控制,使水温能够在1-100 摄氏度之间实现控制调节。利用仪器读出水温,显示在温度显示模块上,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或制冷),还可以在环境温度降低时实现自动控制,以保持设定的温度基本不变。
系统模块分为CPU模块(RCM2100中的Rabbit2000)、DS18B20模块,显示模块,继电器控制模块,键盘输入模块五个基本模块(图1)。DS18B20可以被编程,所以箭头是双向的,CPU首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过CPU来处理数据。数据处理后的结果就显示到显示模块的数码管上。
3 系统硬件设计
3.1RCM2100简介[1]
美国Z-WORLD公司的RCM2100(图2)系列嵌入式开发系统核心由8位微处理器硬件和嵌入式软件构成,片内资源相对较少,相应的软件可以完成所需的网络通信和控制功能。RCM2100开发板由5V直流供电,温度范围为-40度到+70度,非常适合应用于工业控制环境。它集成了速度达30MHz的Rabbit2000微处理器,512K Flash RAM,512K SRAM和RJ-45以太网接口。有5个8位并行口,分别以PA、PB、PC、PD、PE表示,可分别用于和以太网卡控制芯片、RS485、RS232串行口进行数据通信,图3显示了RJ-45以太网口J4的引出线。注意用在这里的连接器间的编号方式有两种标准,编号是相反的。
3.2 温度传感器DS18B20特性与原理[2]
由DALLAS半导体公司生产的DS18B20型单线智能温度传感器(图4),属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。本系统采用了DS18B20单总线可编程温度传感器,来实现对温度的采集,传感器与微处理器连接时仅需要一条口线即可实现二者的双向通讯,不存在并行线的干扰,整体上提高系统的可靠性,简化了电路的复杂度!
从DS18B20得到的温度值是HEX码,需要转换成能输给译码器显示的BCD码。首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度复制到单片机的RAM中,里面已经是温度值的HEX码了,然后转换HEX码到BCD码,分别把小数位,个位,十位,百位的BCD码存入RAM中。
3.3键盘部分分析:
这一部分多用到软件设计,从而简化了键盘电路,其实质是单线调节,不但使抗干扰能力增强、传输距离远,也减少了键盘设计的造价,这样特别适合应用于工业厂房内等恶劣工作环境和农业生产中扰动特别大的环境中。
设计按键功能介绍
⑴“INPUT” PE2,按下INPUT键,数码管温度显示停止,显示的数字变的比以前亮。调节好后,按INPUT退出。这时数字变的又暗了,数码管继续显示当前温度。
⑵“HIGH” PE3,按HIGH键来调高当前所需温度值,即调高控制值。
⑶“LOW” PE4,按LOW键来调低当前所需温度值,即调低控制值。
3.4继电器
由于继电器在控制电路中有独特的电气、物理特性,以及断态的高绝缘电阻和通态的低导通电阻,我们选用继电器来控制加热/制冷电路。
4 软件程序设计
本设计采用动态C语言和Rabbit2000环境下的汇编语言编写程序。
动态C语言是基于Windows95/98/NT及Linux平台的Rabbit应用软件的完整开发系统,它作为应用程序运行于IBM.PC兼容机上,是Z.World公司为基于Rabbit微处理器的嵌入式系统而设计的专门的C编译系统,具有非常快的编译和事实环境的交互调试特征。动态C包含了所有底层的I/O驱动函数库,大大减轻了软件开发的工作量。它具有实时多任务内核,提供socket级TCP/IP编程,支持各种网络协议(如HTTP、FTP、SMTP、PPP等)。应用动态C进行软件开发,无需仿真器和编程器,开发成本大大降低。另外,动态C直接对存储器编译,函数及库都是被动态地编译与连接的,因此具有极大速度优势。动态C的编译窗口见图5所示。[3]
对于标准 C来说,动态 C 的改进在于使得在功能强大的嵌入式系统上进行实时编程变得非常容易。语言方面的扩展包括对合作式多任务和抢先式多任务管理方式的支持,供电失败时对变量写入操作的支持。动态 C提供多项内容的源代码,包括标准C语言函数库,特定板的外围驱动,芯片外围设备,以及其他特色。动态 C完全支持汇编语言,在对时间要求较高的应用中,汇编代码可以方便的与 C 代码混用。
本系统采用的是循环查询方式来显示和控制温度。总模块设计流程图如图6所示。
总模块的软件设计:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H ;初始化
MOV KEY_BUF_G,#00H ;由于KEY_BUF是由图6 总模块设计流程图
用户输入的,所以先赋值初始化
MOV KEY_BUF_S,#00H
MOV KEY_BUF_B,#00H
NEXT: LCALL READ_TEMP ;调用读温度子程序
JB FLAG,NORMAL ;判断是否有DS18B20的存在
CALL ERRO ; DS18B20不存在时显示错误信息
AJMP NEXT
NORMAL: LCALL DATA_DEA ;处理从DS18B20得到的数据
LCALL SET_DIS_BUF ;赋值给DIS_BUF_X,G,S,B
LCALL DISPLAY ;调用数码管显示子程序
LCALL SCAN_KEY ;扫描键盘
LCALL SWITCH ;处理继电器
AJMP NEXT
5结束语
本文设计的以DS18B20和RCM2100为核心的温度控制系统具有测温精度高,控制性能良好等特点。该温度计完全适用于一般的应用场合,利用RCM2100丰富的I/O口和网络接口,使得系统的扩展更为简单,并可以实现远距离的温度控制,而动态C语言编程支持各种网络协议,可以完成所需的网络通信和控制功能。
参考文献:
[1] RabbitCore RCM2100 Series User’s Manual[OL].http://www.rabbitsemiconductor.com.cn/products/dc/index.asp
[2] 百度百科 DS18B20[OL].http://baike.baidu.com/view/1341776.html?wtp=tt
[3] Dynamic C TCP/IP User’s Manual[OL]. http://www.rabbitsemiconductor.com.cn/products/dc/index.asp
[4] 伟纳电子 DS18B20单线数字温度传感器[OL].http://www.willar.com/article_view.asp?id=358. 2005年02月13日
[5] 百度百科 继电器[OL]. http://baike.baidu.com/view/39560.html.2006年05月21日
[6] 蔡振江等 编著 单片机原理及应用[M]. 北京 机械工业出版社 .2006 . P83—97
[7] 李广弟等 主编 单片机基础[M].北京航空航天大学出版社.2006. P185—201
[8] 沙占友.智能温度传感器的发展趋势[J]. 电子技术应用 . 2002 Vol.28 No.5. P6-7
嵌入式控制技术 篇10
1 嵌入式系统的特点与结构
嵌入式技术广泛应用于消费电子、通信、汽车、国防、航空航天、工业控制、仪表和办公自动化等领域。在个人领域中, 嵌入式产品将主要是个人使用, 作为个人移动的数据处理和通信软件。对于企业专用解决方案, 如物流管理、条码扫描、移动信息采集等, 小型手持嵌入式系统将发挥巨大作用。嵌入式系统不仅可以用于ATM机, 自动售货机, 工业控制等专用设备, 而且和移动通信设备、GPS、娱乐相结合[1]。还有一些其他微处理器, 如ARM SA-1100系列是便携式通讯产品和消费类电子产品的理想选择, 已成功应用于多家公司的掌上电脑系列产品中。PXA270则应用于高端移动设备中, 通过复杂指令集, 提高了其媒体的信息处理能力。总体上看, 嵌入式控制系统有以下特点:系统内核小, 专用性强, 系统精简, 多任务高实时性操作和专用开发工具和环境。
嵌入式系统具有“嵌入性”、“专用性”、“计算机”的基本要素和特征[2]。其一般由嵌入式处理器、外围硬件设备、嵌入式操作系统以及用户应用程序四个部分组成, 用于实现对其他设备的控制、监视或者管理等功能。它们的结构图可以概括如图1所示。
2 嵌入式控制系统的设计过程
由嵌入式控制系统的组成, 可知嵌入式控制系统的设计主要考虑硬件设计和操作系统设计。
2.1 处理器选型
工业中嵌入式控制器的应用较为广泛, 由于处理器是控制器的核心, 因此不同类型的处理器有着不同的应用基础。嵌入式处理器主要分为四类, 嵌入式微处理器, 嵌入式微控制器, 嵌入式DSP, 嵌入式片上系统SOC[3]。但是随着工业控制中对嵌入式控制系统要求越来越高, 控制算法越来越复杂, 目前形成了以ARM微处理器应用最广泛的现状。该系列的处理器中, ARM7主要应用于工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用中;ARM9主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等;ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工艺控制、图形和信息系统等领。本文以Philips公司的LPC2880芯片为处理器, 它是ARM7系列中的一员, 它具有以下特点:8k B高速缓存, 64k B SRAM, 工作频率可达60MHz;外部存储器控制器支持flash, SRAM, ROM, 和SDRAM;2个带可选预分频器的32位定时器;Boot ROM允许执行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 操作系统设计
一个实时操作系统在应用之前, 首先要做的工作是将该实时操作系统移植到该微处理器上, 所谓移植, 就是使一个实时内核能在某个微处理器或微控制器上运行。本系统采用u C/OS-II, 对它的移植就是对对u C/OS-II中与处理器有关的代码进行重写或修改。尽管μC/OS-II的大部分源代码都是用C语言写成的, 但是嵌入式控制系统和硬件密切相关, 因此处理器必须满足如下要求:C编译器能产生可重入代码, 在程序中可以打开或关闭中断, 处理器支持中断, 并且能产生定时中断, 处理器支持能够容纳一定量数据的硬件堆栈, 处理器有将堆栈指针和其他CPU寄存器存储和读出到堆栈 (或者内存) 的指令。对于LPC2880处理器, 移植u C/OS-II内核的主要内容是:用#define声明若干个个宏和若干个 (根据具体需要而设计) 与编译器相关的数据类型, 并用#define设置一个常量的值, 编写若干个与操作系统相关的函数, 用汇编语言编写若干个个与处理器相关的函数[5]。具体过程如下:1) 移植OS_CPU.H。包括定义数据类型, μC/OS-II不使用C语言中的short、int和long等基本数据类型的定义, 代之以移植性强的整数数据类型;临界代码的使用, μC/OS-II在进入系统临界代码区之前要关闭中断, 等到退出临界区后再打开, 它是通过OS_ENTER_CIRTICAL () 和OS_EX-IT_CRITICAL () 这两个宏来实现的。实现关闭中断的方法有多种, 如在OS_ENTER_CIRTICAL () 中调用处理器指令关中断, 在OS_EXIT_CRITICAL () 中调用相应处理器指令开中断;执行OS_ENTER_CIRTICAL () 时, 先将中断状态保存到堆栈中, 然后关中断, 而当执行OS_EXIT_CRITICAL () 时, 再从堆栈中恢复原来的中断开/关状态等;2) 移植OS_CPU_C.C。主要有6个函数在文件:OS-Task Stk Init () , OSTask Create Hook () , OSTask Sw Hook () , OSTask Del Hook () , OSTask Stat Hook () , OSTime Tick Hoo () ;3) OS_CPU_A.ASM文件。需要改写的汇编语言函数有四个:OSStart High Rdy () , OSCtx Sw () , OSInt Ctx Sw () , OSTick ISR () 。
2.5 人机交互模块设计
在工业控制中, 有大量的生产控制信息需要实施被操作人员所掌握, 这些信息主要在控制系统的LED面板上现实。其基本信息包括参数值 (如速度, 进给量、工件统计) , X轴、Y轴坐标值 (含X轴、Y轴运行方向指示) , 控制方式指示 (自动、半自动、调校) 等。通过这些信息, 操作人员可以完成对现场设备的组态配置, 数据集中处理, 工作状态监控等功能。现在很多公司提供功能丰富的组态软件, 如Vincc、力控PCAuto、组态王等。主要工作是创建液晶显示接口函数, 创建过程如下:定义void LCD_Cls () , 在LCD的显示屏中显示液晶初始化后, 液晶的主界面;定义void LCD_Init (void) , 用于初始化设置, 主要是对显示区域的设置和显示方式的设置;定义void LCD_Refresh () , 用于更新LCD的显示, 把需要显示的内容更新到LCD的显示屏上;定义void LCD_Bk Light () , 用于打开或者关闭LCD的背光;定void LCD_Display Open () , 用于打开或者关闭LCD显示。
当前, 工程控制中的人机界面越来越人性化, 具有可操作性和可理解性。因此将人机界面信息由传统的单文字形式转化为图形界面是嵌入式控制系统的必要工作。有些处理器, 如S3C44BOX处理器本身也带有液晶控制系统, 其外围设备只需要配备液晶显示器, 用控制信号线将显示器和控制器连接即可。
2.6 键盘按键的程序设计
工业控制系统中, 人和机器需要实现信息的交互, 即人通过操作界面对机械发出指令。嵌入式系统已经实现了较为人性化的设计, 即通过键盘, 结合液晶显示, 将指令传达给控制器, 实现真正意义上的人机交互功能。按键的主要功能可以分为:暂停键, 复位键, 开始键, 分别实现按下此键来暂停运动或程序执行, 当程序执行过程或着运动中出现异常情况, 按下此键可以终止一切, 暂停后按下此键来恢复运动或程序继续执行等指示。这三个状态可以在液晶显示屏上显示。另外, 嵌入式控制系统还需要提供上下翻页, 树状上翻下翻等功能, 这主要是因为嵌入式系统的液晶现实面, 不可能不能一次完全把所有程序运行状态或者参数全部显示出来, 所以利用上翻和下翻键进行查看。在处理器中键盘控制由一个函数 (Get Key (INT16S*key) ) 控制, 它用于检测键盘是否有键被按下, 如果有, 就得到按键值并返回。通常需要频繁的调用该函数, 对键盘进行轮询, 以检测是否有按键被按下。如果有按键被按下, 则返回TRUE;否则返回FALSE。
3 总结
工业生产规模的扩大与生产过程的复杂化, 对控制系统的实时性、可靠性提出了更高的要求。嵌入式控制系统实现了计算机的微小化控制, 对于提高工业控制的准确, 实现快速反应和规模化机械生产具有重要意义。本嵌入式工程机械控制系统以S3C44BOX芯片为控制器, 以u C/OS-II为操作系统, 以LCD显示器进行显示, 配有时钟, 输入键盘, 数据存储器以及多种数据通讯接口。在实践中, 以该处理器为基础的控制器具有成本低, 系统移植简单, 强操作性和升级性等特点, 可以满足不同机型的工程机械使用。
参考文献
[1]王田苗.嵌入式系统设计与开发实例[M].北京:清华大学出版社, 2003.
[2]蔡明征, 汪海生, 徐小龙, 等.嵌入式微处理器在工程机械控制系统中的应用[J].筑路机械与施工机械化, 2006 (9) .
[3]马忠梅.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社, 2002.
[4]马维华.嵌入式系统原理及应用[M].北京:北京邮电大学出版社, 2006
[5]王孙安, 张进华.基于ARM开放式数控技术研究[J].北京:现代制造工程, 2007 (9) .