位置:51电子网 » 技术资料 » 其它综合

基于Linux的嵌入式工业测控系统

发布时间:2007/8/30 0:00:00 访问次数:385

来源:微计算机信息 作者:黄孝平 牛秦洲 文芳一


文摘:该文针对当前工业控制领域网络控制技术的快速发展,给出了一种应用于测控系统的基于Linux的嵌入式系统的设计方案。利用Linux自身提供的条件编译系统,初步解决了Linux作为嵌入式操作系统面临的一些问题。并利用实时应用接口(RTAI)来增强Linux的实时性,引入实时硬件抽象层结构(RTHAL),利用Linux的内核模块机制提供实时服务和完成实时任务,解决了Linux实时性不足的问题。通过数据采集程序的实现给出了在RTAI-Linux环境下开发实时应用程序的设计方法。
关键词:Linux;嵌入式系统;测控系统;实时操作系统;RTAI


1、前言


随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用。工业以太网使用了TCP/IP协议,便于联网,并具有高速控制网络的优点。随着32位嵌入式CPU价格的下降,性能指标的提高,为嵌入式系统的广泛应用和Linux在嵌入式系统中的发展提供了广阔的空间。由于Linux的高度灵活性,可以容易地根据应用领域的特点对它进行定制开发,以满足实际应用需要。


2、基于Linux的嵌入式系统在测控系统中的设计


计算机测控系统本质上就是计算机控制系统,为了对被控对象实施控制,对其参数和状态进行检测是必不可少的。


2.1 测控系统整体设计


测控系统以基于Linux的嵌入式系统为核心,应用程序可通过网络进行更新,通过键盘进行人机对话,数据可通过LCD现场显示。重要数据可以文件形式保存在Flash存储器中,数据和报警信息还可通过串口向上位机传输,也可通过以太网口向Inernet发布信息。用户通过显示界面查看设备状态,设置设备参数,实现远程监控、远程维护。


2.2 总体框图[1]



图2-1 嵌入式系统总体框图


2.3 嵌入式系统硬件设计


2.3.1 硬件框图


考虑一般测控系统对嵌入式系统要求比较多的功能有:键盘接口、显示接口、A/D(或D/A)转换单元、可扩展的UO接口、打印机接口、与PC机通信的串行接口、以太网口等。实现的嵌入式系统硬件框图如图2-2所示[3]:



图2-2 嵌入式系统硬件框图


2.3.2 Linux下设备驱动程序的开发


Linux系统中,内核提供保护机制,用户空间的进程一般不能直接访问硬件。Linux设备被抽象出来,所有设备都看成文件。用户进程通过文件系统的接口访问设备驱动程序,设备驱动程序主要完成如下功能:


①探测设备和初始化设备;②从设备接受数据并提交给内核;③从内核接受数据送到设备;④检测和处理设备错误。


3、基于 RTAI-Linux的嵌入式系统的软件实现


3.1 RTAI实时硬件抽象层的实现机理


引入新的数据结构rt_hal,形成了实时硬件抽象层RTHAL(Real Time Hardware Abatract Layer),rt_hal结构体的定义如下:


struct rt_hal


{


struct desc_struct*idt table;


void(*disint)(void);


void(*enint)(void);


unsigned int(*getflags)(void);


void(*setflags)(unsigned int flags);


void(*mask_and_ack_8259A)(unsigned int irq);


void(*unmask_8259A_irq)(unsigned int irq);


void(*ack_APIC_irq)(void);


void(*mask_IO_APIC_irq)(unsigned int irq);


void(*unmask_I0_APIC_irq)(unsigned int irq);


unsigned long *Io_apic_irgs;


void*irq_controller_lock;


void*irq_desc;


int *irq_vector;


void *irq_2_pin;


void* ret_from_intr;


struct desc_struct *gdt_table;


volatile int*idle_weight;


来源:微计算机信息 作者:黄孝平 牛秦洲 文芳一


文摘:该文针对当前工业控制领域网络控制技术的快速发展,给出了一种应用于测控系统的基于Linux的嵌入式系统的设计方案。利用Linux自身提供的条件编译系统,初步解决了Linux作为嵌入式操作系统面临的一些问题。并利用实时应用接口(RTAI)来增强Linux的实时性,引入实时硬件抽象层结构(RTHAL),利用Linux的内核模块机制提供实时服务和完成实时任务,解决了Linux实时性不足的问题。通过数据采集程序的实现给出了在RTAI-Linux环境下开发实时应用程序的设计方法。
关键词:Linux;嵌入式系统;测控系统;实时操作系统;RTAI


1、前言


随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用。工业以太网使用了TCP/IP协议,便于联网,并具有高速控制网络的优点。随着32位嵌入式CPU价格的下降,性能指标的提高,为嵌入式系统的广泛应用和Linux在嵌入式系统中的发展提供了广阔的空间。由于Linux的高度灵活性,可以容易地根据应用领域的特点对它进行定制开发,以满足实际应用需要。


2、基于Linux的嵌入式系统在测控系统中的设计


计算机测控系统本质上就是计算机控制系统,为了对被控对象实施控制,对其参数和状态进行检测是必不可少的。


2.1 测控系统整体设计


测控系统以基于Linux的嵌入式系统为核心,应用程序可通过网络进行更新,通过键盘进行人机对话,数据可通过LCD现场显示。重要数据可以文件形式保存在Flash存储器中,数据和报警信息还可通过串口向上位机传输,也可通过以太网口向Inernet发布信息。用户通过显示界面查看设备状态,设置设备参数,实现远程监控、远程维护。


2.2 总体框图[1]



图2-1 嵌入式系统总体框图


2.3 嵌入式系统硬件设计


2.3.1 硬件框图


考虑一般测控系统对嵌入式系统要求比较多的功能有:键盘接口、显示接口、A/D(或D/A)转换单元、可扩展的UO接口、打印机接口、与PC机通信的串行接口、以太网口等。实现的嵌入式系统硬件框图如图2-2所示[3]:



图2-2 嵌入式系统硬件框图


2.3.2 Linux下设备驱动程序的开发


Linux系统中,内核提供保护机制,用户空间的进程一般不能直接访问硬件。Linux设备被抽象出来,所有设备都看成文件。用户进程通过文件系统的接口访问设备驱动程序,设备驱动程序主要完成如下功能:


①探测设备和初始化设备;②从设备接受数据并提交给内核;③从内核接受数据送到设备;④检测和处理设备错误。


3、基于 RTAI-Linux的嵌入式系统的软件实现


3.1 RTAI实时硬件抽象层的实现机理


引入新的数据结构rt_hal,形成了实时硬件抽象层RTHAL(Real Time Hardware Abatract Layer),rt_hal结构体的定义如下:


struct rt_hal


{


struct desc_struct*idt table;


void(*disint)(void);


void(*enint)(void);


unsigned int(*getflags)(void);


void(*setflags)(unsigned int flags);


void(*mask_and_ack_8259A)(unsigned int irq);


void(*unmask_8259A_irq)(unsigned int irq);


void(*ack_APIC_irq)(void);


void(*mask_IO_APIC_irq)(unsigned int irq);


void(*unmask_I0_APIC_irq)(unsigned int irq);


unsigned long *Io_apic_irgs;


void*irq_controller_lock;


void*irq_desc;


int *irq_vector;


void *irq_2_pin;


void* ret_from_intr;


struct desc_struct *gdt_table;


volatile int*idle_weight;


相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!