嵌入式Linux 工业控制网络 TCP/IP

发布者:橙子1234最新更新时间:2014-03-21 来源: eefocus关键字:嵌入式Linux  工业控制网络 手机看文章 扫描二维码
随时随地手机看文章

随着Internet的飞速发展,网络应用越来越广泛,对各种工业控制设备的网络功能要求也越来越高。当前的要求是希望工业控制设备能够支持TCP/IP以及其它Internet协议,从而能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。
这就要求工控系统必须具备两方面的功能:

一是要在现场完成复杂的测控任务,因为通常一些任务都具有一定的实时性要求;

二是要求测控系统能够与某一类型的控制网相连,以实现远程监控。在目前应用的大多数测控系统中,嵌入式系统的硬件采用的是8/16位单片机;软件多采用汇编语言编程,由于这些程序仅包含一些简单的循环处理控制流程。

因此,单片机与单片机或上位机之间的通信通常通过RS232、RS485来组网。这些网络存在通信速度慢、联网功能差、开发困难等问题。工业以太网已逐步完善,在工业控制领域获得越来越多的应用。工业以太网使用的是TCP/IP协议,因而便于联网,并具有高速控制网络的优点。

嵌入式Linux技术

嵌入式Linux是按照嵌入式操作系统的要求而设计的一种小型操作系统,它由一个Kernel(内核)及一些根据需要进行定制的系统模块组成。Kernel一般只有几百kB左右,即使加上其它必须的模块和应用程序,所需的存储空间也很小。它具有多任务、多进程的系统特征,有些还具有实时性。一个小型的嵌入式Linux系统只需要引导程序、Linux微内核、初始化进程3个基本元素。运行嵌入式Linux的CPU可以是X86、Alpha、Sparc、MIPS、PPC等。与这些芯片搭配的主板都很小,通常只有一张PCI卡大小,有的甚至更小。嵌入式Linux所需的存储器不是软磁盘、硬盘、Zip盘、CD-ROM、DVD这些众所周知的常规存储器,它主要使用Rom、CompactFlash、M-Systems的Disk On Chip、Sony的Memory STIck、IBM的MicroDrive等体积极小(与主板上的BIOS大小相近),且存储容量不太大的存储器。它的内存可以使用普通的内存,也可以使用专用的RAM。

与其它嵌入式操作系统相比,Linux的源代码是开放的,不存在黑箱技术。Linux作为一种可裁剪的软件平台系统,很可能发展成为未来嵌入式设备产品的绝佳资源。Linux与生俱来的优秀网络血统更为今后的发展铺平了一条宽广平坦的大路。因此,在保持Linux内核系统更小、更稳定、更具价格竞争力等优势的同时,对系统内核进行实时性优化,更加使之能够适应对工业控制领域高实时性的要求。这也正是嵌入式Linux操作系统在嵌入式工控系统中的发展所在。同时也使Linux成为嵌入式操作系统中的新贵。

标准的Linux内核通常驻留在内存中,每一个应用程序都是从磁盘运到内存上执行。当程序结束后,它所占用的内存就被释放,程序就被下载了。而在一个嵌入式系统里,可能没有磁盘。有两种途径可以消除对磁盘的依赖,一是在一个简单的系统里,当系统启动后,内核和所有的应用程序都存在内存里。这是大多数传统的嵌入式系统的工作模式,同样Linux。第二种就是Linux所特有的功能,因为Linux已经有能力“加载”和“卸载”程序,因此,一个嵌入式系统就可以利用它来节省内存。一个比较典型的系统有大约8MB到16MB的闪存和8MB RAM,而闪存可以被用作文件系统。用闪存驱动程序作为从闪存到文件系统的界面就是一种选择。当然,也可以用一个闪存磁盘。用闪存来摆脱系统对一个磁盘的需求(依赖)具有Disk On Chip技术以及CompactFlash卡等方式。

用来连接Flash Memory和文件系统的程序都以文件形式存储在Flash文件中,需要时可以装入内存,这种动态的、根据需要加载的能力是支持其它一系列功能的重要特征。它能使初始化代码在系统引导后被释放。实际上,Linux同样还有很多内核外运行的公用程序,这些程序通常在初始化时运行一次,以后就不再运行。而且,这些公用程序可以用它们相互共有的方式一个接一个地按顺序运行。这样,相同内存空间可以被反复使用以“召入”每一个程序,就象系统引导一样。这样可以节省内存,特别是那些配置一次以后就不再更改的网络堆栈。如果将Linux可加载模块的功能包括在内核里,驱动程序和应用程序就都可以被加载。由于它可以检查硬件环境并且为硬件装上相应的软件,从而消除了用一个程序占用许多Flash Memory来处理多种硬件的复杂性。另外,软件的升级更加模块化,可以在系统运行时在Flashh上升级应用程序和加载驱动程序,其配置信息和运行时间参数可以作为数据文件储存在Flash中。

嵌入式工业控制网络的实现方案

基于嵌入式Linux的工控系统以嵌入式微处理器为核心来运行嵌入式Linux操作系统。应用程序可通过网络进行更新,并可通过键盘进行人机对话,数据可通过LCD现场显示,重要数据可用文件形式保存在Flash等闪存存储器中;数据和报警信息可通过串口向上位机传输,也可以通过以太网向工业以太网或Internet发布,用户还可通过网络实现远程监控和远程维护。更为关键的是,可充分利用Internet上已有的软件和协议(如:ftp,http以及Apache PHP MySQL等应用程序)迅速搭建前台数据采集系统,以实现测控系统和后台管理系统的通讯。这种方式的优点有:

(1)不需专用的通信线路即可用现成的Inter-net网络将数据传送到任何地方。

(2)不仅能够传递数据信号,也可以传递音频和图像信号。

(3)由于目前的Internet协议是现成和公开的,因此,利用大到几十兆的Microsoft IE浏览器,或小到只有600KB的Mosaic浏览器都可以对网络数据进行读取。

系统设计

1 硬件设计

嵌入式系统的硬件运行平台是开发应用程序的基础,整个开发板可基于Intel RSA-1110微处理器架构。[page]

嵌入式系统的硬件结构框图。该硬件针对网络服务的应用选择了Intel系列中的Strong ARM MCU。Strong ARM SA-1110是一款高性能、低价位、高集成度微处理器。SA-1110芯片内部集成有能以206MHz运行的32-bit Intel Stron-ggARM RISC处理器,以及速度可达100MHz的存储器总线和灵活的存储器控制器,可支持SDRAM、SMROM以及variable-latency I/O设备,并可为系统设计提供较高的存储带宽。由于SA-1110可以适应较大流量的网络应用,因而可为运行Linux提供硬件上的支持。此外,SA-1110还在开发板上集成有32MB的SDRAM、8MB的Flash、10 base T以太网接口、RS232/RS485串口、I/O接口以及扩展Flash卡存储器等。有关SA-1110更详细的资料可参考有关资料。


2 软件设计

嵌入式操作系统是整个嵌入式系统的核心。如前面所述,嵌入式系统在内存容量和存储容量不足的情况下,必须对Linux进行裁减设计。在裁剪过程中,所涉及的主要技术有下面几种。

(1)内核的精简

标准Linux是面向PC的,它集成了许多PC所需要而嵌入式系统并不需要的功能。因此,对一些可独立加上或卸下的功能块,可在编译内核时,仅保留嵌入式系统所需的功能模块,而删除不需要的功能块。这样,重新编译过的内核就会显著减小。

(2)虚拟内存机制的屏蔽

经过分析发现,虚拟内存是导致Linux实时性不强的原因之一。在工业控制中,一些任务要满足一定的实时性要求,屏蔽内核的虚拟内存管理机制可以增强Linux的实时性。当要更改内核的某项机制时,一般不必大规模地写代码,可采用条件编译的方法。同时由于Linux系统对应用进程采用的是公平的时间分配调度算法,但这一算法也不能保证系统的实时性要求,因此要求对其进行更改。更改途径有两种:一是通过POSIX,二是通过底层编程。笔者是通过Linux的实时有名管道(FIFO)的特殊队列来处理实时任务的先后顺序。实际上,实时有名管道就象实时任务一样从不换页,因而可以大大减少由于内存翻页而造成的不确定延时。

(3)设备驱动程序的编写

确定了内核的基本功能后,就要为特定的设备编写驱动程序,可按照在Linux下编写驱动程序的规则进行编写。编写的设备驱动程序应当具有以下功能:

●对设备进行初始化和释放;

●完成数据从内核到硬件设备的传送和从硬件读取数据两项功能;

●读取应用程序传递给设备文件的数据以及回送应用程序请求的数据;

●检测和处理设备出现的错误。

(4)开发基于闪存的文件系统JFFS

应用程序和重要数据通常以文件的形式被存放在闪存文件系统中。JFFS2文件系统是日志结构化的,这意味着它基本上是一长列节点。每个节点包含着有关文件的部分信息。JFFS2是专门为象闪存芯片那样的嵌入式设备创建的,所以它的整个设计提供了更好的闪存管理,因而具有其它文件系统不可比拟的优点。具体如下:

●JFFS2在扇区级别上执行闪存擦除/写/读操作要比Ext2文件系统好。

●JFFS2提供了比Ext2fs更好的崩溃/掉电安全保护。当需要更改少量数据时,Ext2文件系统会将整个扇区复制到内存(DRAM)中,并在内存中合并成新数据再写回整个扇区。而JFFS2则可以随时更改需要的(不是重写)整个扇区,同时还具有崩溃/掉电安全保护功能。

实现上述几个步骤后,一个小型的Linux操作系统就构造完成了。构造后的Linux包括进程管理、内存管理和文件管理等三部分。它支持多任务并行,有完整的TCP/IP协议,同时Linux内建有对以太网控制器的支持,可以通过以太网口连到以太网上,以实现远程配置与监控。

将裁剪好的内核移植到所用的目标板上时,首先应将内核编译成针对该处理器的目标代码。由于不同硬件体系的移植启动代码会有所不同,因此,一些内核程序可能要改写。涉及到编写Linux的引导代码和修改与体系结构相关部分代码主要是启动引导、内存管理和中断处理部分。将M-System公司的DOC 2000作为系统的启动设备时,引导代码可以放在DOC上。这样3系统加电后,引导代码即可进行基本的硬件初始化,然后把内核映象装入内存并运行,最后,再将调试好的内核和应用程序烧录到闪存中。由于此时裁剪后的Linux已成功移植到目标平台上,因此,在启动可运行的开发系统时,就可以根据具体的应用来开发应用程序。如数据采集模块、数据处理模块、通信和数据发布模块等等。

结束语

如今,互联网应用正在转到以嵌入式设备为中心,因此,用工控系统与Internet相结合来实现网络化已是一种必然的趋势。而把嵌入式Linux微处理器内核嵌入到基于StrongARM SA1110的32位MCU系统中,然后通过构造TCP/IP多种网络协议和基本网络通信协议,再利用嵌入式操作系统对底层硬件和网络协议的支持,以及对工控系统实时性要求的Linux内核和虚拟内存机制进行改造,即可保证测控任务完成的实时性和可靠性。可以预见,这种方案在工业控制领域具有很好的应用前景,而且具有开发周期短、系统性能稳定可靠、适应性强等特点。

关键字:嵌入式Linux  工业控制网络 引用地址:嵌入式Linux 工业控制网络 TCP/IP

上一篇:嵌入式多屏异显在卡拉OK点唱机中的运用
下一篇:XPRIZE和TED启动推动人工智能发展的全球性竞赛

推荐阅读最新更新时间:2024-03-16 13:38

基于TCPIP的浮标网络通信系统设计
引言 水声信道匹配基础研究是建立在水声学、海洋物理声学以及现代信号处理技术基础上的新兴研究领域。为满足研究需要而构建的局部海域水声信道测量平台(图 1),能够实现环境信息和信道参量的系统采集和实时传递,对信道宽容匹配方法的可行性进行检验。 浮标系统以它的灵活、高效、自身干扰小等特点,在水声信道研究中发挥着其它设备不可替代的作用。现有的浮标系统大多采用直接序列扩频电台直接进行水面通讯,这种方式往往不使用网络协议或使用自定义的网络协议。而采用无线网桥进行水面通讯,以TCP/IP作为网络协议,将大大增强浮标系统网络化。同时由于TCP/IP协议是目前最为成熟的网络协议之一,浮标网络的稳定性、可扩展性都得以提高,甚至通
[网络通信]
基于<font color='red'>TCP</font>/<font color='red'>IP</font>的浮标<font color='red'>网络</font>通信系统设计
你知道嵌入式Linux内核?文件系统的制作也是有密切关联的
嵌入式Linux系统由 Linux内核 + 根文件系统 两部分组成 一个完整的嵌入式Linux系统组成:bootloader + boot parameters + kernel + root filesystem 嵌入式Linux系统使用的是Linux内核,制作方法基本和X86平台的Linux内核一致,下面介绍制作运行于micro2440开发板的内核和根文件系统。 嵌入式Linux内核的制作: 1,到www.kernel.org下载源代码,解压,进入内核源代码目录。 2,清除原有的配置与中间文件 x86: make distclean arm: make distclean 3,配置内核: x86: make me
[单片机]
移植嵌入式Linux到ARM处理器S3C2410:操作系统
在笔者撰写的《C语言嵌入式系统编程修炼之道》一文中,主要陈诉的软件架构是单任务无操作系统平台的,而本文的侧重点则在于讲述操作系统嵌入的软件架构,二者的区别如下图:   嵌入式操作系统并不总是必须的,因为程序完全可以在裸板上运行。尽管如此,但对于复杂的系统,为使其具有任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理和中断处理的能力,提供多任务处理,更好的分配系统资源的功能,很有必要针对特定的硬件平台和实际应用移植操作系统。鉴于Linux的源代码开放性,它成为嵌入式操作系统领域的很好选择。国内外许多知名大学、公司、研究机构都加入了嵌入式Linux的研究行列,推出了一些著名的版本:   ·RT-L
[单片机]
移植<font color='red'>嵌入式Linux</font>到ARM处理器S3C2410:操作系统
嵌入式Linux在IOP331上的移植实现
引言 虚拟磁带库是指对于用户端(备份服务器/网络端)体现为常规磁带库,但是使用磁盘阵列为存储介质的备份设备。它不仅大大提高了系统的可靠性和可用性,而且对于那些主要使用磁带为数据存储介质、现在想更换为磁盘阵列但又不想全部更换原有设备的用户来说具有非常重要的意义。虚拟磁带库的实现,依赖于以下三项核心技术:嵌入式微处理器、存储协议微处理器和嵌入式操作系统。嵌入式微处理器作为系统的主控单元,实现人机交换及存储协议处理器的控制,同时也是嵌入式操作系统的运行平台;存储协议微处理器实现与存储介质之间的数据传输;嵌入式操作系统主要实现内存管理与进程调度,为设备驱动程序与用户应用程序提供软件平台。本文首先介绍Linux操作系统和Intel
[嵌入式]
ARM和嵌入式Linux的入门建议
  第一,学习基本的裸机编程。   对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS去编程,第一个实验就是控制led。学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是
[单片机]
嵌入式Linux网络驱动程序开发设计
引言   随着人们对开放源代码软件热情的日益增高,Linux作为一个功能强大而稳定的开源操作系统,越来越受到成千上万的计算机专家和爱好者的青睐。在嵌入式领域,通过对Linux进行小型化裁剪后,使其能够固化在容量只有几十兆字节的存储器芯片或单片机中,成为应用于特定场合的嵌入式Linux系统。Linux强大的网络支持功能实现了对包括TCP/IP在内的多种协议的支持,满足了面向21世纪的嵌入式系统应用联网的需求。因此,在嵌入式系统开发调试时,网络接口几乎成为不可或缺的模块。   1 嵌入式Linux网络驱动程序介绍   Linux网络驱动程序作为Linux网络子系统的一部分,位于TCP/IP网络体系结构的网络接口层,主要实现上层
[单片机]
<font color='red'>嵌入式Linux</font><font color='red'>网络</font>驱动程序开发设计
一种uIP TCP/IP协议栈在51系列单片机上的实现
一 引言   随着信息技术的不断发展,以及人们对日常生活舒适度、方便度要求的提高,信息家电、智能仪表等产品越来越频繁的出现在我们的生活当中;人们也越来越热衷于把家电、仪表等设备连接到Internet 中,从而可以方便、及时的对它们进行远程察看、远程控制。把这些设备接入Internet ,就需要考虑TCP/IP 网络协议的实现。   51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
[单片机]
一种uIP <font color='red'>TCP</font>/<font color='red'>IP</font>协议栈在51系列单片机上的实现
一种uIP TCP/IP协议栈在51系列单片机上的实现
 一 引言   随着信息技术的不断发展,以及人们对日常生活舒适度、方便度要求的提高,信息家电、智能仪表等产品越来越频繁的出现在我们的生活当中;人们也越来越热衷于把家电、仪表等设备连接到Internet 中,从而可以方便、及时的对它们进行远程察看、远程控制。把这些设备接入Internet ,就需要考虑TCP/IP 网络协议的实现。   51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目
[工业控制]
一种uIP <font color='red'>TCP</font>/<font color='red'>IP</font>协议栈在51系列单片机上的实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved