
嵌入式系统在工业控制中的应用_嵌入式系统_工业自动化控制_218.doc
5页嵌入式系统在工业控制中的应用_嵌入式系统_工业自动化控制1 1、前、前 言言嵌入式技术是 21 世纪最有生命力的新技术之一,目前已经广泛应用于社会 生活的各个方面嵌入式系统的应用与开发则是当今计算机行业发展的一个热 点现今嵌入式软件的应用与开发的领域主要有:国防、移动通信、电子、办 公自动化、机/车顶盒、掌上电脑(或 PDA)、软件、工业控制、信息家电 等领域工业等各部门对智能控制需求的不断增长,对嵌入式微处理器的实时 性、运算速度、可扩充能力、系统可靠性、功耗和集成度等方面提出了更高的 要求2 2、嵌入式系统与工业控制网络、嵌入式系统与工业控制网络美国电气工程师协会(IEE)的一个定义:嵌入式系统是用来控制或监视机 器、装置或工厂等大规模系统的设备嵌入式系统通常具有如下特性:(1)通常只执行特定功能;是在特定领域内完成特定的功能的专用计算机 系统,比如,它可用于一种工业仪器,也可能用于航天设备中的某个电子装置 这一点与一般桌上型办公设备或数据库系统有很大区别2)嵌入式系统中硬件配置一般是根据系统的性能指标来确定的;除了附 加的调试接口外,没有多余的硬件设备,一般是以计算机周边器件构成核心, 其规模可在大范围内变化。
如从 8051 芯片到 X86 芯片而且嵌入式系统中是软 件和硬件紧密结合3)严格的时序和稳定性要求;这是因为在机器控制的大型系统中,程序 运行稍有差错则可能使得整个系统失去控制,甚至酿成灾害而且系统一般不 进行交互动作,所以要求系统的自动运行要稳定、纠错能力强,可靠运行4)具有实时性;因为在工业控制应用中大多数是属于过程控制,这些领 域对系统要求是必须具有实时性,而且还要求有实时性的嵌入式操作系统5)嵌入式系统的开发一般采用宿主机/目标机模式;在某个环境下调试 好目标机器的软件和硬件,才能使目标机器离开开发环境,从而独立运行嵌入式系统是电脑软件与硬件的综合体,它是以应用为中心,以计算机技 术为基础,软件硬件可裁剪,从而能够适应应用系统,对功能、可靠性、成本、 体积、功耗严格要求的专用计算机系统它将操作系统和功能软件集成于计算 机硬件系统之中,简单的说就是系统的应用软件与系统的硬件一体化,类似于 BIOS 的工作方式,具有软件代码小,高度自动化,响应速度快等特点特别适 合于要求实时的和多任务的体系工业控制网络是由传感器、执行机构、显示和数据记录设备等组成,用于 监视和控制电气设备的系统。
通常除遇到系统不能自愈的故障需要人工干预排 除外,均应有自动实现监控功能在工业应用中,控制网络可以用于监视设备 的状态、调节转速和流量等、采集模拟输入量、顺序开关/起停设备、与主控机通信并在显示器或专门定制的显示设备上显示各参量的大小和状态由于工业 控制系统特别强调可靠性和实时性控制网络数据通信以引发物质或能量的运 动为最终目的用于测量与控制的数据通信的主要特点是:允许对实时的事件 进行驱动通信,具有很高的数据完整性智能仪表的出现推动着工业控制网络的发展,新一代的工业控制网络呼唤 功能更强大的仪表和控制器的出现,面向工业控制的嵌入式系统应势而生3 3、系统实现、系统实现系统的实现包括硬件实现和软件实现硬件实现硬件实现系统结构框图如图 1两个串行通信接口可以采用 RS232用以采集来自其 他设备的远程的数据,然后由 ARM 微处理器进行处理,处理后的结果通过以太 网接口分发给其他设备为了调试的方便,Flash 存储器使用了两个,512K 的 用于存储引导装载程序,2M 的用来承载包含应用程序的操作系统映像此种设 计方式可以使在启动加载方式下,调试不同操作系统的应用程序时,只需要简 单的更换包含对应的操作系统的引导程序的 Flash 芯片就能做到。
为了满足大 多数情况的需要,内存选用容量为 16M 的 16bit 的芯片10M 以太网接口的设 计是考虑到通用性为了调试的方便,这里使用了一个 JTAG(国际标准测试协 议)接口,可以访问其他系统资源,它还可以跟仿真器相连USB 接口分为两 个主机接口和一个设备接口LED 用来在调试和使用过程中的显示数据结果图 1 系统硬件结构图软件实现软件实现软件的实现包括两个方面,一个是系统的内核,另一个是设备的驱动程序1)首先编译首先编译 KernelKernel 的源代码的源代码执行下列命令:cd /usr/src/linuxmake mrpropermake xconfig会出现一个界面,可以根据自己的实际需要来选择在编译内核的过程中, 最繁杂的事情就是这步配置工作在配置过程中,大部分选项可以使用其缺省 值,只有小部分需要根据用户不同的需要选择选择的原则是将与内核其它部 分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内 核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响; 不需要的功能就不要选;与内核关系紧密而且经常使用的部分功能代码直接编 译到内核中。
在选项 Code maturity level options、Loadable module support、Processor type and features、Networking options、Network device support、ISDN subsystem、Character devices 等分别选择适合自己 所需要的项目File systems 建议选择相应的项目,为了以后扩充使用2)为每个设备编写程序为每个设备编写程序Linux 系统的设备驱动程序完成的主要工作是:① 对每个硬件设备进行初始化和释放;② 数据传输,将数据从内核传到硬件设备,或者从硬件设备传到内核,读 取应用程序传送给硬件设备的数据和回送应用程序请求的数据;③ 检测和处理硬件设备出现的错误和异常;Linux 系统的设备驱动程序的主要组成部分有:① 自动配置和初始化子程序;② 服务于 I/O 请求的子程序;③ 中断服务子程序;根据所选择的设备和设备所要完成的功能分别进行编写4 4、实时性解决办法、实时性解决办法实时操作系统是实时控制系统和实时处理系统的统称所谓实时就是要求 系统及时响应外部条件的要求,在规定的时间内完成对该事件的处理,并控制 所有实时设备和实时任务协调一致地运行。
实时控制系统实质上是过程控制系 统实时操作系统首先考虑的是系统的实时性和可靠性实时处理系统主要指 对信息进行及时的处理高实时性是许多工业控制网络的基本要求,Linux 在这样的环境下还存在 许多缺陷它不是一个真正的实时操作系统,内核不支持事件优先级和抢占实 时特性那么,要将 Linux 系统改造成为适用于工业控制领域内的嵌入式系统 必须解决一个重要的问题——实时性所以,在开发嵌入式 Linux 的过程中, 首要问题是扩展 Linux 的实时性能目前把 Linux 改造为嵌入式实时系统的方 法有两个:一个方法是对 Linux 系统的内核进行改造;另一个方法是在 Linux 系统底层添加一个硬件抽象层,也就是添加一个实时内核进行改造其目的都 是为了保证系统会首先执行优先级更高的实时进程然后才是优先级低的普通进 程,并且防止别的普通进程打断实时进程的运行为达到系统实时性的要求,本文对 Linux 内核进行改造的方法改造方法 主要是通过截取硬件底层中断,在硬件上实现一个抽象层,通过抽象层来传递 和控制 Linux 中断目前,为满足实时性而进行的系统改造主要集中在双内核、 中断和时钟机制、内核状态调整、进程间通信方式的调整和进程抢占式调度算 法这五个方面:第一,双内核技术。
第一,双内核技术这种方法对于支持工业控制,数据采集等等有硬实时性要求的应用系统比 较合适所谓的双内核主要是指,在标准的 Linux 内核的下面再提供子内核, 这个子内核不是一个完整的内核,它没有足够的驱动程序,缺乏扩展库,它是 标准内核的补充,主要处理实时任务而原来的 Linux 内核作为在其上运行的 一个核心任务在硬件中断和原来的 Linux 内核之间加入一个实时内核,通过 实时内核解决原 Linux 内核的关中断问题,该实时内核始终不关闭硬件中断, 可以接受所有的中断信号,当中断信号需要实时进程来处理时,由优先级更高 的实时进程抢占 Linux 内核第二,中断和时钟机制第二,中断和时钟机制实时系统与外部中断处理相关的一个重要的方面是“关闭中断”处理机制, 需要保证确认硬件外部中断时内核不再重入,并且紧跟一个软件中断处理流程, 实质就是用软中断来代替硬中断实时系统与外部中断处理相关的另一个重要 的方面是系统中断嵌套的能力,即可以指定外部事件服务的相对优先级,并且 保证关键的外部操作能够提前处理同时,可以改造时钟机制来缩小软中断的 切换时间第三,提高内核的可抢占性第三,提高内核的可抢占性。
为了提供进程间通信和进程抢占式调度的良好实现,需要对进程状态进行 改造,完全的改造 Linux 内核为可强占内核加一个抢占点来改良系统响应时 间长的问题,所谓的抢占点就是,在这个点的时候如果系统中有更高优先级的 进程就序,系统提供这样一个机会高优先级的进程运行那么就可在一个用户 进程在核心状态执行时能被一个更高的优先级的可执行进程抢占将实时进程 包括在内核里,实时内核本身也通过内核模块的方式进行装载与卸载,其目的 是为了方便进程间通信的及时进行,并且可以实现更好的进程抢占式调度算法第四,进程间通信方式调整第四,进程间通信方式调整用可抢占式内核的方法实现进程调度,需要采用关中断或使用信号量机制 来保护临界区,需要提供进程间通信的若干实现方法第五,进程抢占式调度第五,进程抢占式调度实时系统的调度必须满足以下条件:进程的优先级通过 API 指定、调度器 自动选择并执行最高优先级的进程、调度在一个固定的时间周期里选择和执行 最高优先级的进程系统需要提供满足要求的调度方法5 5、系统测试分析、系统测试分析为了保证系统的正常运行,在理论上通过的前提下,测试是必不可少的 限篇幅有限这里只将测试结果列表如下:表 5-1 测试结果统计6 6、结、结 论论本论文的创新点在于:(1)提出了一种嵌入式工业控制网的硬件模型; (2)详细的分析了影响工业控制过程实时性的因素。
通过测试结果可以发现, 本文提出的硬件模型性能较好,能够满足大多数工业控制的需要同时,在吸 取前人关于实时性分析问题经验的基础上,提出了自己的观点,并用测试实验 得以验证。












