您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于Linux的嵌入式工业测控系统 正文
基于Linux的嵌入式工业测控系统

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

点击数:7501 次   录入时间:03-04 11:47:25   整理:http://www.55dianzi.com   嵌入式系统-技术

rtai_sched  16608  0      unused

rtai_fifos  33468  0      unused

rtai        20728  1      (rati_sched rtai-fifos)

    加载上应用程序需要的RTAI模块后,就可以在RTAI-Linux环境下开发应用程序。

3.3 基于RTAI-Linux的应用程序的开发

   针对工业测控系统的数据采集、数据处理、控制、通信等具体应用,将应用程序分为实时任务和非实时任务。实时任务利用RTAI提供的API来开发,编写成内核模块,工作在Linux的核心态。用户进程可利用Linux操作系统提供的大量资源,进行TCP/IP网络通信,开发图形用户界面程序等。实时任务之间、实时任务和非实时任务之间可通过Fifo队列和共享内存等方法通信。RTAI-Linux应用程序结构如图3-1所示。

图3-1 RTAI-Linux应用程序结构图

    数据采集任务的实现在rt_process.c中的主要函数如下:

static void data_collect()

{

rtf_put(FIFO,&data_value,sizeof(data_value);/*将采集的数据放入实时FIFO中*/

rt_task_wait_period();

}

int int_module(void)

rtime tick_period;

rt_set_perioDIC_mode(); /*将定时器设置为周期模式*/

rt_task_init(&rt_task,data_collect,l,Stack_size,task_priority,1,0);/*初始化数据采集任务*/

return ()

}

void cleanup_module(void)

{

stop_rt_timer();

rtf_destroy(FIFO);

rt_task_delete(&rt_task);

return;

}

数据显示程序的实现在dISAplay.c中的主要函数:

int main(void)

{

if((fifo=open("/dev/rtf()",()_rdonly))<0)

{

FPrintf(stderr,"Error opening/dev/rtf() ");

exit(1);

}

read(fifo,&data_value,sizeof(data_value));/*用户进程从实时FIFO中读取数据*/

printf("data%f ",data_value)

}

 

4、结论

    本文给出了一种应用于测控系统的基于Linux的嵌入式系统的设计方案,能保证测控任务完成的实时性、可靠性,可以连到工业以太网,实现远程监控,在工业控制领域有很好的应用前景。

    本文作者的创新点:在嵌入式系统软件的设计与实现上,提供了开发实时应用程序的接口;利用实时应用接口(RTAI)来增强Linux的实时性,并引入实时硬件抽象层结构(rthal)、实时调度器、实时FIFO等实时服务;给出了在RTAI-Linux环境下开发工业测控系统中实时应用程序的方法。

参考文献:
[1] 王跃科等.基于网络互联的分布式测控系统开放体系结构与技术[J].计算机测量与控制,2002.10
[2] 须文波.基于Linux的嵌入式系统在测控系统中的设计与应用[D].江南大学硕士学位论文,2003.3
[3] 胡在华等.一种新型嵌入式测控网络的设计与应用[J].微型机与应用,2002.21
[4] 陈继荣,黄建华.Linux操作系统实时性分析及改进策略[J].微计算机信息,2005年第21卷.第11-2期.P67-P69



上一页  [1] [2] 


本文关键字:嵌入式  工业  Linux  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术