嵌入式以太网智能接口设计

时间:2022-10-10 02:28:14

嵌入式以太网智能接口设计

摘要:本文采用ARM微控制器S3C2440、AD模块TLC2543和以太网控制器DM9000设计的以太网接口硬件平台,软件方面主要涉及以太网控制芯片、AD模块的驱动程序和嵌入式WEB服务器的研究与设计。利用ARM和以太网控制芯片实现的接入方案具有硬件接口简单、可扩展性强、高传输率等特点,实现了网络数据传输和现场仪器的远程控制。

关键词:S3C2440处理器;DM9000;以太网接口;嵌入式WEB服务器

中图分类号:TP368.1 文献标识码:A文章编号:1007-9599(2012)01-0000-02

Embedded Ethernet Intelligent Interface Design

Cui Jingjing

(China University of Mining&Technology,School of Computer Science and Technology,Xuzhou221116,China)

Abstract:This paper describes a design of embedded Ethernet interface based on S3C2440 processor,DM9000 controller and TLC2543 the software are design mainly includes the driver of the Ethernet chip,AD module and embedded Web server.This design has some merits such as simple hardware and so on.This interface can be directly applied to industrial data acquisition system.

Keywords: S3C2440 processor;DM9000;Ethernet interface;Embedded WEB server

一、整体设计

随着以太网技术在工业远程控制和数据采集领域的飞速发展,基于以太网的应用接口设备也迅速普及到很多领域。本设计采用的是S3C2440 ARM微控制器和以太网控制芯片DM9000组成的以太网接口,使得现场实时数据能够通过以太网进行传输,并且接受网络上客户端的控制等。最底层为硬件系统,最上层为应用程序,中间的软件系统包括驱动和Linux操作系统两个部分。

二、硬件模块的设计

该系统硬件主要由以下几部分组成:AD模块进行现场信号的数据采集,S3C2440微控制器的数据处理和打包等,DM9000以太网芯片完成现场信号的以太网传输和控制,其他电路。框架图如图1所示

图1 硬件框架图

S3C2440是三星公司推出的16/32位RISC微处理器,采用了ARM920t的内核外设齐全,接口标准,扩展方便。为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。S3C2440的2个SPI口,可实现串行数据双工传输。S3C2440的SPI口包括2条数据线和2条控制线:SPIMOSI、SPIMISO、SPICLK、NSS。

S3C2440具有10位CMOS的ADC,具有8通道模拟输入的设备,但是在本设计中不能方便的外界模拟传感器等现场设备,所以采用外界模数转换模块。数据采集模块的AD模块选择TLC2543串行ADC。如图3:

图3 TLC2543管脚图

片选端、输入/输出时钟、数据输入、数据输出分别接主控制器SPI端口的NSS、SPICLK、SPIMISO、SPIMOSI。

EOC为转换结束标志,AD转换开始时,变低电平,转换结束变高电平,此时数据准备完毕,可以输出。且转换的第一个数据不准,应舍弃。

三、交叉编译环境的搭建和Linux驱动的研究

在Linux平台下,要为开发板编译内核由于一般嵌入式开发系统存储大小有限,通常都要在pc机上建立一个用于目标机的交叉编译环境。这是一个由编译器、连接器和解释器组成的综合开发环境。但其过程复杂,也降低了开发的效率,本文就选择在微处理器上移植arm-linux-gcc-4.3.2。

下载解压到指定文件夹后把编译器路径加入系统环境变量,编辑/root/.bashrc文件,在最后一行export PATH=$PASH:/usr/local/arm/4.3.2/bin。立即使新的环境变量生效:#source /etc/profile。最后检查是否将路径加入到PATH:#echo $PATH,显示内容中有/usr/local/arm/4.3.2/bin,说明已经将交叉编译环境安装完成。

AD驱动程序的设计。设备驱动通过module_init宏在全局初始化函数中键入将设备初始化函数,然后再内核初始化时完成驱动的初始化和注册,然后应用程序就可以和操作普通文件一样,打开、关闭、读写等,就可以操作底层硬件。ARM平台中位于用户空间的TCP程序可调用AD驱动实现传感器数据的采集。

四、嵌入式WEB服务器及应用软件的研究

在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。首先就是要在主处理器上成功移植支持脚本或CGI功能的嵌入式WEB服务器,然后惊醒应用程序的开发。典型的嵌入式WEB服务器有Boa和thttpd。

(一)Thttpd的移植和配置

Thttpd是ACME公司设计的一款用C语言编写的比较精巧、开源、易移植和安全的Web服务器。

下载解压后移植步骤如下:

1../config

2.make

3.make install

这个时候可能会出现问题,即需要www用户组,通过命令groupadd www来生成www用户组。

4.添加用户验证:htpasswd -C htpasswd root

5.添加配置文件:thttpd -C/etc/thttpd/thttpd.conf

配置文件如下所示:

dir=/usr/local/www/data

logfile=/usr/local/www/logs/thttpd.log

pidfile=/var/run/thttpd.pid

6.配置启动项

thttpd -p80 -d /var/www -nor -u root -C /cgi-bin/*.cgi

其中80是端口号,/var/www是启动目录,root是指定用户组为root,/*.cgi是要调用的CGI程序。

(二)应用程序的设计

嵌入式Web服务器一个基本的功能就是静态网页的浏览,即Web server将存储在服务器端的Html文件单一的传送到客户端。动态页面就是服务器和客户机之间存在互动,服务器受到客户的请求后将指定的结果返回到客户端的浏览器中。对于浏览器和服务器之间的动态交互,常用的技术有CGI、ASP、PHP和JSP。

CGI是物理上的一段程序,运行在服务器端,提供同客户端Html页面的接口。本设计中通过C语言来完成CGI接口。其中用METHOD属性指定的方法将数据传送到服务器后,CGI程序对信息进行解析。根据用户的需求调用系统的后台程序来生成动态网页,然后返回给浏览器端,如图4所示。超文本标识语言HTML可以用于描述静态网页,通用网关接口CGI可以进行数据的双向交互,浏览器通过运行Java Applet实现读取实时数据和刷新网页的功能。

五、结语

工业设备网络化、智能化是未来社会的发展趋势。本设计采用S3C2440和DM9000完成了以太网智能接口的硬件设计,并通过Linux系统的支持和嵌入式Web服务器的完成了整个以太网接口的设计,实现了现场仪表与以太网的互联,增强了嵌入式系统的功能。

参考文献:

[1]施勇,温阳东.基于DM9000A的嵌入式以太网接口设计与实现[J].合肥工业大学学报(自然科学版),2011.04.010

[2]姚冰,康世英,谢佳.嵌入式以太网接口硬件部分的设计与实现[J].微处理机,2008,29(2):155-157

[3]扬小辉,肖丽娜.基于ARM和以太网的远程控制只能控制仪表的设计[J].工业控制网络,2009,(5):22-24

[4]杨素英,李丹,仲崇权,等.基于Web Server下的嵌入式系统应用研究[J].仪器仪表标准化与测量,2002(5):2-7

[5]Karim Yaghmour,《Building Embedded Linux Systems》,USA:O'Reilly,2003

[6]Wookey,Chris Rutter,Jeff Sutherland,Paul Webb,《The GNU Toolchain for ARM Target HOWTO

上一篇:基于蚁群算法的泊位调度优化与仿真 下一篇:计算机应用基础考试系统的设计与实现