当前位置:论文写作 > 毕业论文范文 > 文章内容

基于太网技术的嵌入式控制平台设计

主题:以太网数据帧格式 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-01-25

简介:关于对不知道怎么写数据以太网论文范文课题研究的大学硕士、相关本科毕业论文数据以太网论文开题报告范文和文献综述及职称论文的作为参考文献资料下载。

数据以太网论文范文

以太网数据帧格式论文

目录

  1. 1. 硬件系统设计
  2. 2. 软件实现
  3. 以太网数据帧格式:野火STM32视频教程:37-以太网ENC28J60 LWIP (ISO 为初学而生)

(长春工程学院,吉林 长春 130012)

【摘 要】本文设计并实现了一个基于以太网技术的嵌入式控制平台.在硬件方面采用了三星公司的S3C2440处理器作为核心控制单元,网络控制采用一款高速以太网接口芯片DM9000,本文重点阐述了系统的网络模块设计和Linux操作系统网络程序设计,实现了数据的嵌入式网络传输.

【关键词】嵌入式;S3C2440;DM9000;Linux操作系统

【Abstract】This paper designs an Ethernet-based embedded control platform. This platform uses a Samsung S3C2440 processor as the core control unit in terms of hardware, and uses DM9000 as network control chip of a high-speed Ethernet interface.This article focuses on design of the system network and the Linux operating system. Embedded system succes论文范文ully achieved to tran论文范文er data with the network.

【Key words】ARM;S3C2440;DM9000;Linux operating system

0 引言

随着信息处理技术的不断发展,基于网络化技术的嵌入式控制平台成为了主要的发展方向,以太网技术以IP地址来识别所有的监控设备,采用先进的网络传输协议来进行模拟量或数字量信号的处理与传输.利用现有的网络资源,轻而易举地实现远程监控.布控区域广阔,系统扩展能力强,只要有网络的地方就可以对工业设备进行监控、参数设定和修改,性能上更稳定,且便于安装、维护,易于实现系统的模块化设计,便于维护和管理.本文针对工业技术应用,设计了基于以太网技术的嵌入式控制平台.

以太网数据帧格式:野火STM32视频教程:37-以太网ENC28J60 LWIP (ISO 为初学而生)

1. 硬件系统设计

为了满足系统实时性以及易于扩展的功能要求,本文以S3C2440作为核心芯片,它具有丰富的接口资源,内部具有A/D 转换器,可以实现数据的实时采样、分析和传输.该芯片是基于ARM920T内核的嵌入式微处理器,由内核、高速缓存和内存管理单元组成,具有性能高、功耗低和体积小等优良特性.其实时性、可扩展性完全可以达到嵌入式控制平台的要求[1].

本文在该芯片的基础上进行开发设计,本系统的硬件结构包括12个模块,分别是电源模块、Nand-Flash/Nor-Flash存储模块、SDRAM模块、A/D转换模块、复位模块、通用I/O模块、论文范文模块、USB模块、LCD模块、JTAG模块、串行通信模块以及以太网控制器模块.其中网络模块由于RS-232、RS-485等总线组成的工业网络有效半径小,数据交换速度慢,有关的通信协议少等缺陷,已经越来越不能适应日渐复杂的工业需求,本文采用网络接口芯片DM9000实现现场数据的远程传送,建立工业以太网的通信网络[2].

DM9000是一款高速以太网接口芯片,其基本特征是:集成10/100M物理层接口;内部带有16K字节SRAM用作接收发送的FIFO缓存;支持8/16bit两种主机工作模式;通过HP认证的AUTO-Mdix(支持直接互连自动翻转)功能;支持TCP/IP加速(IPV4 check sum offload)减轻CPU负担,提高整机效能;10ns I/O读写时间.DM9000A以太网控制器遵循IEEE颁布的802.3以太网传输协议.

当系统上电时,S3C2440A通过总线配置DM9000A内部网络控制寄存器(NCR)、中断寄存器(ISR)等,完成DM9000A的初始化.随后,DM9000A进入数据收发等待状态.当S3C2440A向以太网发送数据时,先将数据打包成UDP或IP数据包,并通过16 bit总线发送到DM9000A的数据发送缓存中,然后将数据长度等信息填充到DM9000A的相应寄存器内,使能发送.当DM9000A接收到外部网络送来的以太网数据时,首先检测数据帧的合法性,如果帧头标志有误或存在CRC校验错误,则将该帧数据丢弃.否则将数据帧缓存到内部RAM,并通过中断标志位通知S3C2440A,由S3C2440A对DM9000A接收到的数据进行处理.

DM9000(A)包含一系列可被访问的控制状态寄存器,这些寄存器是字节对齐的,他们在硬件或软件复位时被设置成初始值.访问其寄存器的方法是通过总线驱动的方式,即通过对IOR、IOW、AEN、CMD以及SD0--SD15等相关引脚的操作来实现.其中CMD引脚为高电平时为写寄存器地址,为低电平时为写数据到指定地址的寄存器中.通过对这些寄存器的操作访问,我们便可以实现对DM9000的初始化、数据发送、接收等相关操作.

2. 软件实现

在嵌入式系统中linux 系统是目前最为流行的一款开放源代码的操作系统,它为用户提供了丰富、强大的网络功能,完善的内置网络是 Linux 的一大特点[3].同时Linux 还免费提供了大量支持 Internet 的软件,并可以进行文件传输以及远程访问.本文就是通过在装有linux系统的PC机上配置编译内核、制作文件系统和编写编译应用程序,然后通过串口、并口、网口或者USB 下载到目标板上运行调试的.数据网络传输的具体实现:

嵌入式网络系统的优势就在于它利用现有的网络系统进行数据传输,无需重新架设线路,本文将数据利用linux提供的网络编程接口Socket传送到PC机来显示[4].

2.1 协议选择

Linux中的网络编程通过套接字Socket实现,网络程序通过Socket和其它几个系统调用返回一个通信的文件描述符,可以将这个文件描述符看成普通的文件描述符来操作,这也正是设备无关性的好处.可以通过读写描述符实现网络之间的数据交流.套接字一共有三种类型:流式套接字,它提供可靠的、面向连接的通讯流,使用TCP协议,保证数据传输的正确性和顺序性;数据报套接字,它定义了一种无连接的网络服务,数据通过相互独立的报文件进行传输,不能保证数据的可靠、无差错,使用的协议是UDP协议;原始套接字,它允许使用IP协议,主要用于新网络协议的测试.由此可见选择什么类型的套接字与实际的控制平台要求有着密切的关系,当对传输数据要求准确性比较强时应该选择TCP协议,当要求数据量比较大或者要求系统实时性比较好时,采用UDP协议.由于UDP将安全和排序等功能移交给上层应用来完成,极大地降低了执行时间,使速度得到了保证,所以UDP具有TCP所望尘莫及的速度优势,本文主要介绍UDP的程序设计过程[5].

2.2 UDP网络编程

基于UDP协议的网络编程分为两个方面:服务器程序设计,客户端程序设计.

2.2.1 服务器程序设计

① 创建一个Socket套接字.系统调用Socket( )的用法如下:

#include <,sys/types.h>,

#include <,sys/socket.h>,

int socket(int domain, int type, int protocol),

其中,参数domain设置AF _ INET,以允许远程主机之间通信.参数type是套接口的类型:SOCK_STREAM或SOCK_DGRAM.SOCK_STREAM表明使用的是TCP协议,SOCK_DGRAM表明使用的是UDP协议.参数protocol设置为0.系统调用socket()返回一个套接口描述符来获得文件描述符,如果出错,则返回-1.

② 绑定一个IP地址.有了一个套接口以后,下一步就是把套接口绑定到本地计算机的某一个端口上.可以使用bind()来实现.系统调用bind()的用法如下:

int bind(int sockfd, struct sockaddr *my_addr, int addrlen),

其中,参数sockfd 是由socket()调用返回的套接口文件描述符.参数my_addr是指向数据结构sockaddr的指针.数据结构sockaddr中包括了关于地址、端口和IP地址的信息.参数addrlen是sockaddr结构的长度,可以设置成sizeof(struct sockaddr).bind函数(下转第85页)(上接第79页)将本地的端口同socket返回的文件描述符捆绑在一起,如果出错,bind()也返回-1.

③ 循环接收数据,使用函数recvfrom().

int recvfrom(int sockfd, void *buf, int len, unsigned int flags struct sockaddr *from, int *fromlen),参数from是指向本地计算机中包含源IP地址和端口号的数据结构sockaddr的指针.参数fromlen设置为sizeof(struct sockaddr).系统调用recvfrom ()返回接收到的字节数,如果出错则返回-1.

④ 关闭网络连接,使用close()调用关闭连接的套接口文件描述符:close(sockfd).这样就不能再对此套接口做任何的读写操作了.

2.2.2 客户端程序设计

① 创建一个Socket套接字.

② 绑定一个IP地址.

③ 设置对方的IP地址和端口等属性.

④ 发送数据,使用sendto函数.

int sendto(int sockfd, const void *msg, int len, unsigned int flags,const struct sockaddr *to, int tolen),除了两个参数以外,其他的参数和系统调用send()时相同.参数to是指向包含目的IP地址和端口号的数据结构sockaddr的指针.参数tolen可以设置为sizeof(struct sockaddr).系统调用sendto()返回实际发送的字节数,如果出错则返回-1.

⑤关闭网络连接.

3 结束语

本文设计了一个基于以太网的嵌入式控制平台,介绍了软硬件的实现方法,能够完成数据在网络上的传输,为工业网络控制的实现打下了基础.

【参考文献】

[1]Samsung Electr onics Co. Ltd. User`s Manual of S3C2440[Z].

[2]龙新辉,陈俊杰.基于嵌入式Linux 的以太网卡驱动设计与实现[J].舰船电子工程,2011,31(3):143-146.

[3]李亚锋,欧文盛.ARM 嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[4]崔志方,黄坚,皮佑国.基于工业以太网的焊接网络控制器研究[J].电焊机,2009,39(8):60-63.

[5]Stev ens W R. TCP/ IP 详解卷1:协议[M].范建华,等,译.北京:机械工业出版社,2001.

[责任编辑:王静]

总结:本论文为您写数据以太网毕业论文范文和职称论文提供相关论文参考文献,可免费下载。

以太网数据帧格式引用文献:

[1] 数据的清理数据的查重和匹配
[2] 数据挖掘博士论文提纲格式模板 数据挖掘博士论文提纲怎么写
[3] 数据结构课程建设 论文大纲格式模板
《基于太网技术的嵌入式控制平台设计》word下载【免费】
以太网数据帧格式相关论文范文资料