嵌入式linux在工业控制领域中的应用
序都以文件形式存储在Flash文件中,需要时可以装入内存,这种动态的、根据需要加载的能力是支持其它一系列功能的重要特征。它能使初始化代码在系统引导后被释放。实际上,Linux同样还有很多内核外运行的公用程序,这些程序通常在初始化时运行一次,以后就不再运行。而且,这些公用程序可以用它们相互共有的方式一个接一个地按顺序运行。这样,相同内存空间可以被反复使用以“召入”每一个程序,就象系统引导一样。这样可以节省内存,特别是那些配置一次以后就不再更改的网络堆栈。如果将Linux可加载模块的功能包括在内核里,驱动程序和应用程序就都可以被加载。由于它可以检查硬件环境并且为硬件装上相应的软件,从而消除了用一个程序占用许多FlashMemory来处理多种硬件的复杂性。另外,软件的升级更加模块化,可以在系统运行时在Flash上升级应
用程序和加载驱动程序,其配置信息和运行时间参数可以作为数据文件储存在Flash中。
3嵌入式工业控制网络的实现方案
基于嵌入式linux的工控系统以嵌入式微处理器为核心来运行嵌入式Linux操作系统。应用程序可通过网络进行更新,并可通过键盘进行人机对话,数据可通过LCD现场显示,重要数据可用文件形式保存在Flash等闪存存储器中;数据和报警信息可通过串口向上位机传输,也可以通过以太网向工业以太网或Inernet发布,用户还可通过网络实现远程监控和远程维护。更为关键的是,可充分利用Internet上已有的软件和协议(如:ftp,http以及Apache?PHP?MySQL等应用程序)迅速搭建前台数据采集系统,以实现测控系统和后台管理系统的通讯。图1所示是这种实现方案的系统框图。这种方式的优点有:
(1)不需专用的通信线路即可用现成的INTER-NET网络将数据传送到任何地方。
(2)不仅能够传递数据信号,也可以传递音频和图像信号。
(3)由于目前的INTERNET协议是现成和公开的,因此,利用大到几十兆的MicrosoftIE浏览器,或小到只有600kB的Mosaic浏览器都可以对网络数据进行读取。
4系统设计
4.1硬件设计
嵌入式系统的硬件运行平台是开发应用程序的基础,整个开发板可基于IntelRSA-1110微处理器架构。
图2所示是一个嵌入式系统的硬件结构框图。该硬件针对网络服务的应用选择了Intel系列中的strongARMMCU。StrongARMSA-1110是一款高性能、低价位、高集成度微处理器。SA-1110芯片内部集成有能以206MHz运行的32-bitIntelRStron-gARM*RISC处理器,以及速度可达100MHz的存储器总线和灵活的存储器控制器,可支持SDRAM、SMROM以及variable-latencyI/O设备,并可为系统设计提供较高的存储带宽。由于SA-1110可以适应较大流量的网络应用,因而可为运行Linux提供硬件上的支持。此外,SA-1110还在开发板上集成有32MB的SDRAM、8MB的FLASH、10baseT以太网接口、RS232/RS485串口、I/O接口以及扩展FLASH卡存储器等。有关SA-1110更详细的资料可参考有关资料。
4.2软件设计
嵌入式操作系统是整个嵌入式系统的核心。如前面所述,嵌入式系统在内存容量和存储容量不足的情况下,必须对linux进行裁减设计。在裁剪过程中,所涉及的主要技术有下面几种。
(1)内核的精简
标准Linux是面向PC的,它集成了许多PC所需要而嵌入式系统并不需要的功能。因此,对一些可独立加上或卸下的功能块,可在编译内核时,仅保留嵌入式系统所需的功能模块,而删除不需要的功能块。这样,重新编译过的内核就会显著减小。
(2)虚拟内存机制的屏蔽
经过分析发现,虚拟内存是导致Linux实时性不强的原因之一。在工业控制中,一些任务要满足一定的实时性要求,屏蔽内核的虚拟内存管理机制可以增强Linux的实时性。当要更改内核的某项机制时,一般不必大规模地写代码,可采用条件编译的方法。同时由于linux系统对应用进程采用的是公平的时间分配调度算法,但这一算法也不能保证系统的实时性要求,因此要求对其进行更改。更改途径有两种:一是通过POSIX,二是通过底层编程。笔者是通过linux的实时有名管道(FIFO)的特殊队列来处理实时任务的先后顺序。实际上,实时有名管道就象实时任务一样从不换页,因而可以大大减少由于内存翻页而造成的不确定延时。
图3给出了Linux的工作原理框图。
(3)设备驱动程序的编写
确定了内核 《嵌入式linux在工业控制领域中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/172701.html
用程序和加载驱动程序,其配置信息和运行时间参数可以作为数据文件储存在Flash中。
3嵌入式工业控制网络的实现方案
基于嵌入式linux的工控系统以嵌入式微处理器为核心来运行嵌入式Linux操作系统。应用程序可通过网络进行更新,并可通过键盘进行人机对话,数据可通过LCD现场显示,重要数据可用文件形式保存在Flash等闪存存储器中;数据和报警信息可通过串口向上位机传输,也可以通过以太网向工业以太网或Inernet发布,用户还可通过网络实现远程监控和远程维护。更为关键的是,可充分利用Internet上已有的软件和协议(如:ftp,http以及Apache?PHP?MySQL等应用程序)迅速搭建前台数据采集系统,以实现测控系统和后台管理系统的通讯。图1所示是这种实现方案的系统框图。这种方式的优点有:
(1)不需专用的通信线路即可用现成的INTER-NET网络将数据传送到任何地方。
(2)不仅能够传递数据信号,也可以传递音频和图像信号。
(3)由于目前的INTERNET协议是现成和公开的,因此,利用大到几十兆的MicrosoftIE浏览器,或小到只有600kB的Mosaic浏览器都可以对网络数据进行读取。
4系统设计
4.1硬件设计
嵌入式系统的硬件运行平台是开发应用程序的基础,整个开发板可基于IntelRSA-1110微处理器架构。
图2所示是一个嵌入式系统的硬件结构框图。该硬件针对网络服务的应用选择了Intel系列中的strongARMMCU。StrongARMSA-1110是一款高性能、低价位、高集成度微处理器。SA-1110芯片内部集成有能以206MHz运行的32-bitIntelRStron-gARM*RISC处理器,以及速度可达100MHz的存储器总线和灵活的存储器控制器,可支持SDRAM、SMROM以及variable-latencyI/O设备,并可为系统设计提供较高的存储带宽。由于SA-1110可以适应较大流量的网络应用,因而可为运行Linux提供硬件上的支持。此外,SA-1110还在开发板上集成有32MB的SDRAM、8MB的FLASH、10baseT以太网接口、RS232/RS485串口、I/O接口以及扩展FLASH卡存储器等。有关SA-1110更详细的资料可参考有关资料。
4.2软件设计
嵌入式操作系统是整个嵌入式系统的核心。如前面所述,嵌入式系统在内存容量和存储容量不足的情况下,必须对linux进行裁减设计。在裁剪过程中,所涉及的主要技术有下面几种。
(1)内核的精简
标准Linux是面向PC的,它集成了许多PC所需要而嵌入式系统并不需要的功能。因此,对一些可独立加上或卸下的功能块,可在编译内核时,仅保留嵌入式系统所需的功能模块,而删除不需要的功能块。这样,重新编译过的内核就会显著减小。
(2)虚拟内存机制的屏蔽
经过分析发现,虚拟内存是导致Linux实时性不强的原因之一。在工业控制中,一些任务要满足一定的实时性要求,屏蔽内核的虚拟内存管理机制可以增强Linux的实时性。当要更改内核的某项机制时,一般不必大规模地写代码,可采用条件编译的方法。同时由于linux系统对应用进程采用的是公平的时间分配调度算法,但这一算法也不能保证系统的实时性要求,因此要求对其进行更改。更改途径有两种:一是通过POSIX,二是通过底层编程。笔者是通过linux的实时有名管道(FIFO)的特殊队列来处理实时任务的先后顺序。实际上,实时有名管道就象实时任务一样从不换页,因而可以大大减少由于内存翻页而造成的不确定延时。
图3给出了Linux的工作原理框图。
(3)设备驱动程序的编写
确定了内核 《嵌入式linux在工业控制领域中的应用(第2页)》