微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于uClinux的网络化远程监控系统设计

基于uClinux的网络化远程监控系统设计

时间:05-17 来源:互联网 点击:

。dma.h这条文件定义了DMA通道,以及DMA可以使用的内存空间。hardware.h件定义了内存地址和10地址,根据设计的硬件电路不同而不同。irq.h中定义了 fixup_irq()、irq_init_irq()等函数。system.h在该文件中需要定义两个函数:arch-idle()和arch- reset()。time.h实现了定时器中断处理s3c44b0x_timer_interrupt()和相关函数。(3)各级相关makefile。在交叉编译环境下编译内核,当编译结束时会生成内核的镜像文件image.rom,将其和bootloader一起烧写在板子的Flash中,重新加电通过串口可以观测到内核的启动信息,证明系统移植成功。

4.2 守护进程的实现

uClinux移植完成后就可以在此平台上进行应用程序开发了。系统开发的主要功能要求是使系统响应远程客户机的请求,完成特定的操作,同时能够自动的将本地的监测数据传送到远程客户机上。根据这一要求,必须对在服务器上实现一个守护进程。该程序在uClinux下用C语言编写,当uClinux操作系统启动后会自动运行,流程图如图3所示。

图 3

4.3 嵌入式Webserver的实现

考虑到硬件资源的限制,这里我们选择uClinux下的boa服务器。Boa是一款单任务的HTTP服务器,它通过建立HTTP请求列表来处理多路连接请求,而且它只为CGI程序创建新的进程,这样就节省了大量的系统资源, 因此,Boa具有很高的HTTP请求处理速度和效率,在嵌入式系统中具有很高的应用价值。要在uClinux上运行boa需要对uClinux进行修改, 在user/Makefile,加入dir_$(CONFIG_USER_BOA_SRC_BOA) += boa;在config/config.in中加入

comment 'Network Applications'

bool 'boa' CONFIG_USER_BOA_SRC_BOA

在uClinux-dist/vendors/Samsung/44b0/rc中加入一行ifconfig eth0 202.117.0.2 up,再增加一行脚本命令boa ,把Default.html定义为远程客户浏览的控制页面,放在/uClinux-dist/romfs下面[3]。最后,在进行内核配置时make Menuconfig时选中boa ,重新编译内核,将最终生成的文件烧写进Flash中即可。

4.4 客户端软件实现

用户端使用了Java语言编写的应用程序浏览该嵌入式Webserver上的html信息,并完成数据处理和相应的控制功能。主要包括:产生发送至Webserver的指令流,显示从Webserver返回的数据;当命令执行过程中所要执行的信息的提示;对返回数据的简单处理等等。

5 结束语

本文作者创新点:本文克服单片机在组建大型网络方面的局限,提出了基于uClinux的网络化远程监控系统。该系统充分利用以太网网络的诸多优点以及CAN总线网络在工业控制方面的广泛应用, 实现了两种网络的无缝互连, 并在这种连接的基础上实现对机电设备的远程集中监测和控制。该监控系统具体积小、性能可靠、组网方便灵活等优点, 它能够大幅提高企业的自动化和信息化水平,有着广阔的应用前景。

参考文献

[1] 刘峥嵘等.嵌入式linux应用开发详解.北京:机械工业出版社,2005

[2] 毛德操 胡希明.linux内核源代码情景分析.杭州:浙江大学出版社,2001

[3] 黄志强等.嵌入式家庭远程监控系统设计.微计算机信息 2005,21(3):91-92

[4] 邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.

[5] www.uclinux.org

[6] SAMSUNG公司.S3C44BOXdatasheet.pdf

[7] CAN.Controller Area Network CAN,an Invehicle Serial Communication Protocol[Z].SAE Handbook 1992,SAE Press,1990.

[8] Kurt Wall等,张辉译.GNU/Linux编程指南(第二版)[M].清华大学出版社,2002

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top