当前位置: 首页 > 范文大全 > 公文范文 >

基于TFTP的数据传输协议的研究

时间:2022-03-24 09:24:57  浏览次数:


打开文本图片集

摘 要 本文采用微处理器S3C44B0,对嵌入式开发进行讨论,分析研究了TFTP协议。在基于TFTP协议上,通过S3C44B0实现了数据的传输,试验表明,该系统运行稳定,各项指标达到要求,数据传输正确。为远程网络数据传输,同时为其他远程网络设备的监控,提供了一种可行的方法。

关键词 S3C44B0 嵌入式 TFTP协议 数据传输

中图分类号:TN919.6 文献标识码:A

嵌入式系统的定义是“控制、监视或者辅助操作机器和设备的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。目前,随着通信及网络的迅猛发展,各种设备上物理硬件的网络接口就应运而生,然而传统单片机的工作性能以及对通信网络的支持具有局限性,而嵌入式设备已经内嵌了各种网络接口,或者对网络通信具有硬件支持,在软件方面支持的协议有:TCP/IP协议、IEEE1394,USB,CAN,Bluetooth或IrDA通信接口中的一种或者几种。同时嵌入式设备也具有相应的组网协议以及物理层的驱动软件,实现了各种网络设备上网以及网络维护的功能。我国有线电视网络建设不断发展,网络规模不断扩大,因此如何管理网络中的设备就变得十分重要。广电部于2004年发布了国家标准的《HFC网络设备管理系统规范》,对网络管理设备运行的参数进行了详细规定,为了实现来自不同厂家的不同网络管理设备间进行通信,本文采用TFTP协议,实现数据以该协议的方式进行传输。

1 ARM微处理器概述及特点

嵌入式系统是一个基于计算机的专用系统,或者是大型应用系统中的一部分。该处理器具有CISC或者RISC体系结构,也可以是一个微控制器或者数字信号处理器(DSP)。

嵌入式系统硬件设计者必须选择一个适当的处理器和适当的存储器集合,并设计处理器、存储器和I/O设备之间适当的接口电路。这些都是在充分考虑了各种可用的处理器、结构单元和体系结构、存储器类型、大小和速度、总线信号和时序图的基础上完成的。

基于ARM(Advanced RISC Machines)体系结构的处理器,每一系列的ARM微处理器除了具有共同的特点之外,随着硬件的不断升级,各系列的ARM微处理器具有应用于特定应用领域的特点。此外,ARM芯片还获得了许多实时操作系统RTOS(Real Time Operating System)支持。作为一种高性能、低成本、低功耗的32位嵌入式RISC微处理,ARM已成为目前应用最为广泛的微处理器。在军用,工业用,办公用,医用电子设备,尤其是民用方面,取得很好的市场前景。

微控制器是控制或者通信电路中一个基本的组成部分,它尤其适用于具有片上此程序存储器和设备的用于实时控制的应用的嵌入式系统。ARM架构是面向低预算设计的第一款RISC微处理器,是一种可扩展、可移植、可集成的微处理器。ARM内核具有4个功能模块T、D、M、I,可供生产厂商根据不同用户要求来配置生产。本文采用Samsung公司推出的S3C44B0微处理器,是目前使用最广泛的32位嵌入式RISC处理器,具有每瓦产生690MIPS的高性能低功耗能力,对内存容量及系统成本的要求大大降低。此外,通过嵌入式ICE调试技术可以简化系统设计,并通过一个DSP增强扩展功能来改进性能。

2 RTL8019AS网络芯片驱动程序

由于S3C44B0没有集成以太网控制模块。因此外接了以太网接口芯片RTL8019AS,达到数据通过以太网传输的目的。RTL8019AS是由台湾Realtek公司生产的以太网控制器。由于具有较高的性价比,在嵌入式硬件的网络扩展中经常被使用。其性能如下:

(1)适应EthernetⅡ、IEEEE802.3、10BASE5、10BASE2、10BASET;(2)采用8位16位数据线;(3)全双工数据收发,传输数据达到10Mbls,具有睡眠模式;(4)内置16K的SRAM,用于收发缓冲;(5)可连接同轴电缆和双绞线,可自动检测所接物质;(6)100脚TQFP封装。

RTL8019AS内部可分为远程DMA接口,本地DMA接口,MAC逻辑、数据编码解码逻辑和其他端口。完成控制器与网线的数据交换采用本地DMA,主处理器收发数据只需对远程DMA操作。当主处理器要向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓冲区,然后发出传送命令。RTL8019AS在完成上一帧的发送后,再完成此帧的发送。RTL8019AS接收到的数据通过MAC比较、CRC校验后,由FIFO存到接受缓冲区,收满一帧后,以中断或寄存器标志的方式通知主处理器。RTL8019AS硬件原理图可在相关书中查阅。

在S3C44B0进行TFTP协议的数据传输,则编写RTL 8019AS驱动程序就很必要。

关闭8019AS芯片

void NicClose(void){

nic_write(NIC_PG0_IMR,0);

nic_write(NIC_PG0_ISR,0xff);//清中断

nic_write(NIC_CR,NIC_CR_STP " NIC_CR_RD2);}

以上是基于寄存器组0的关闭8019AS的程序,当然还有寄存器组的初始化,其中也有发送数据,接收数据的驱动程序,其中用到函数Etheroutput()与Etherinput().

3 TFTP网络管理协议编程分析

3.1 TFTP分析

TFTP是一个传输文件的协议,它基于UDP协议实现。TFTP协议的数据传输来自于读出或写入文件的要求,当服务器批准传输请求,服务器打开连接后,数据以512字节传输。每个数据包包括一块数据,当上一个数据包得到客户端的确认后,服务器才能发下一个数据包。如果一个数据包的容量小于512字节,则表示传输结束。如果数据包在传输过程中已经丢失,服务器在超时后重新发送一个未被确认的数据包。通信双方都是数据的发出者与接受者,一方传输数据接收应答,另一方发出应答接收数据。如果数据包丢失,则采用超时机制。

3.2 TFTP数据传输实验

在S3C44B0上,用Embest仿真器连接目标板,通过交叉网线,接到与PC机同一局域网HUB上,将PC机添加一个到目标板的地址解析,通过编译,链接,下载,运行程序:

在程序执行程序过程中,运行TFTPDown.exe程序,在超级终端中,输入缺省值,在设置能地址解析时,要求与PC机同一个域名。下载结束后,点击STOP目标板运行,打开Memory窗口,输入0x8000;检查FLASH中的数据与下载的BIN文件是否一致。

4 结束语

本文利用S3C44B0微处理器,以及RTL8019AS网络芯片设计数据传输系统,通过对TFTP格式数据的编程处理,实现了符合以太网管理协议的数据通信。通过在具体的基于三星公司S3C44B0平台下的程序运行,实验结果表明数据传输正确,为网络设备的远程监控提供了一种可行的方法。

推荐访问: 传输协议 数据 研究 TFTP