微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM开发板+uCLinux的网络控制系统设计与实现

基于ARM开发板+uCLinux的网络控制系统设计与实现

时间:11-16 来源:互联网 点击:
引言

  随着网络和通信技术的发展,嵌入式系统现已进入高速发展阶段。并在社会各个领域得到了广泛的应用。本文介绍了一种采用ARM+uCLinux作为开发平台。实现基于TCP/IP的远程系统监控.从而取代传统单片机来实现数据采集、预处理和通信功能;并依靠互联网将数据向上位机传送,同时支持远端客户对设备进行远程控制,从而实现远程监控功能的具体方法。

  1 系统平台的构建

  本系统由嵌入式平台服务器、前端控制器、前端传感器、客户端和配置PC组成。开发时可通过配置PC来下载系统和应用软件。嵌入式系统平台能够收集现场数据。并传送到远端客户机,之后由远端客户机对数据进行处理,接着发送控制信号给系统服务器,以便通过前端控制器对设备进行远程控制。其系统结构如图1所示。

  1.1 硬件开发平台

  该系统的硬件开发平台可选择SmartARM2200。该嵌入式设备的核心是ARM7TDMI的LPC2210.开发板自身具有A/D转换器和多个GPIO(通用I/O)口,可对工业现场的各种设备、仪表进行数据采集和监控。使用时,只要将相应的传感器信号接入控制器的端口即可。其开发板系统的硬件配置如图2所示。

  1.2 uCLinux操作系统

  操作系统是嵌入式设备软件的核心部分。本系统采用uCLinux系统平台来完成对硬件系统的管理和维护。uCLinux是广泛应用于微控制领域的一种嵌入式Linux操作系统。它通过对标准Linux内核的裁减,可去除虚拟内存管理部分代码,以对内存分配进行优化。从而达到提高系统运行效率的目的。uCLinux则可经过各方面的小型化改造形成一个高度优化、代码紧凑的嵌入式Linux,它保留了Linux的大多数优点,包括稳定、良好的移植性、优秀的网络功能、完备的文件系统支持、丰富的API等。

  1.3 uCLinux在ARM平台上的移植

  若将uCLinux移植到SmartARM2200上,需要进行以下四个步骤:

  (1)下载源码,建立交叉编译环境

  uCLinux是自由软件(完全开放代码)。用户可以直接从http://www.uclinux.org/pub/uclinux处下载源代码并安装到Red Hat9.0系统下,以便正常在Red Hat9.0建立起交叉编译环境。

  (2)配置和编译内核

  进入到安装好的uCLinux目录,依次执行下面的命令:

  make menuconfig;进入配置菜单后,选择Vendor/Product(厂商/产品)下的PHILIPS/lpc2200;用Kernel Version(内核版本)选择Linux-2.4.x,Libc Version(函数库版本)选择uClibc:其余内核和应用程序选项可根据情况选择。

  make dep

  make clean

  make lib_only

  make user_only

  make romfs

  make image

  make

  编译结束后会在uCLinux安装目录下生成romfs.img文件,利用它可以制作RAM Disk,然后在linux-2.4.X目录下生成elf格式的Linux内核文件,并以下列方式将其转换成bin格式:

  #arm-elf-objcopy-O binary linux linux.bin

  从而生成下载用的uCLinux内核镜像文件linux.bin。

  (3)制作Ram Disk挂栽根文件系统

  首先创建一个512 kB的虚拟磁盘,并将虚拟磁盘文件格式转化成ext2格式:

  dd if/dev/zero of=initrd.img bs=1024 count=512

  mkfs.ext2-c init.img

  然后将init.img和romfs.img加载到主机文件系统上,并在RAM中建立需要的目录:/bin,/dev,/etc,/var,进而拷贝ROM中的文件到ram目录中。

  下来在RAM盘dev目录下创建设备节点:

  #mknod ram/dev/ttyS0 c 4 64

  #mknod ram/dev/console c 5 1

  最后卸载init.img和romfs.img,并应确保init.img修改已保存,至此,RAM DISK便创建完成。

  (4)下载内核和文件系统

  正确设置主板启动选择跳线。主板加电后,在超级终端上便可以看到BootLoader引导信息,可选择默认的FTP连接,并使用BootLoader默认的IP进行下载,然后启动gftp,输入主板默认的IP和端口号。这样,linux主机就可以和主机连接,最后选择需要下载的Linux内核文件和RAM盘及相关的配置文件即可。

  2 监控系统功能的实现

  监控系统主要由3个部分组成:数据采集部分,设备控制部分,数据传输部分。数据采集部分可对传感器信号进行A/D转换,并对采集到的数据进行简单的处理,同时提供调整运行参数的接口。数据传输部分可将采集的数据传送到远端的主机,并接收远端主机的控制信息。远端主机则对传输过来的远程数据进行处理、存储和显示,并可以修改数据采集部分的参数以控制数据采集,同时依据采集到的数据对设备发出操作指令,或对远端的设备进行控制,从而实现远程监控功能。

  2.1 数据采集

  使用A/D转换设备前,首先要创建设备节点,并加载ADC驱动,然后通过open()和close()将其打开和关闭.主要的数据采集程序如下:

  ……

ioctl(fd,ADC_SET_CLKdiv,(F

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

网站地图

Top