DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 194|回复: 0
打印 上一主题 下一主题

以太网控制芯片W5100的存储装置设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:29:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:利用MSP430系列单片机直接控制以太网控制芯片W51000进行数据传输和存储,给出了系统的工作原理、硬件连接和软件实现方法。该装置通过双绞线与计算机相连,可以实现远距离、快速的数据传输及存储。
关键词:W5100;MSP430;数据存储

引言
??? 网络的开放性和全球化,促进了人类知识的共享和经济的全球化。以太网技术以其灵活方便的连接方式、良好的开放性、高效、成本低等优点,已经广泛地应用于各种计算机网络,并且还在不断地发展。目前,网络技术在电子产品中的应用越来越广,更多的设备需要提供网络接口,以方便与外部互联通信。
??? 随着技术的不断发展,越来越多的测试系统、控制机构等都需要实时地、快速地并且远距离地传输数据。传统的存储装置利用RS232、RS485等串口,数据传输速率非常有限,面对大数据量实时传输的要求显得无能为力。现在流行的USB总线可以达到非常高的传输速率,但传输距离有较大的限制。利用以太网接口实现快速、远距离的数据传输和存储是一种非常好的解决方法。

1 系统硬件设计
??? 系统结构框图如图1所示。该存储装置由双绞线接口RJ45口、以太网接口芯片W5100、TI公司的MSP430系列单片机MSP430FG4618、电源模块、串口读数口等组成。计算机通过自身的网卡及网线与该存储设备相连。RJ45口采用集成网络变压器的13F-60FGYDPNW2NL,可以减少硬件平台的面积,并且使连接更方便。这种网口自带两个小灯,可以直观地显示双绞线的连接情况和数据的传输情况。




1.1 W5100的接口设计
1.1.1 W5100简介
??? W5100是一款多功能的单片网络接口芯片,内部集成有10/100M以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。使用W5100可以实现没有操作系统的Internet连接。W5100与IEEE802.310BASE-T和IEEE802.3u 100BASE-TX兼容,内部集成了全硬件的TCP/IP协议栈、以太网介质传输层(MAC)和物理层(PHY)。W5100内部还集成有16 KB存储器用于数据传输。使用W5100不需要考虑以太网的控制,只需要进行简单的端口(Socket)编程。
??? W5100的主要特性如下:支持自动通信握手(全双工和半双工);支持自动MDI/MDIX,自动校正信号极性;支持ADSL连接(支持PPPoE协议中的PAP/CHAP认证模式);支持4个独立端口同时运行;不支持IP的分片处理;内部16 KB存储器用于数据发送/接收缓存;3.3 V工作电压,I/O口可承受5 V电压;80脚LQFP小型封装;支持SPI接口(SPI模式O、3);多功能LED信号输出(TX、RX、全双工/半双工、地址冲突、连接、速度等)。
??? 通信模式可选为自动识别,或者强制设定为10BASE-T/100BASE-TX、HDX/FDX等设置的组合通信方式。芯片还提供了许多接口用于接发光二极管,包括Tx(发送)、Rx(接收)、Full/Duplex(全/半双工)、Collision(冲突)、Link(连接)、Speed(速度)的指示灯,以显示芯片的当前工作态。
1.1.2 W5100的接口电路
??? W5100和单片机的接口如图2所示。W5100的数据线SD0~SD7直接与单片机的通用I/O口相连。读信号线



??? W5100供电电压为3.3 V和1.8 V,其中1.8 V可由芯片内部线性稳压电源产生,外接滤波电路后供回芯片。W5100通过异步数据地址等接口与单片机相接。芯片的以太网物理单元通过接收RXIP/RXIN和发送TXOP/TXON,将网络接口RJ45和双绞线接入到计算机当中。
??? W5100与单片机的接口方式有3种:直接总线接口模式、间接总线接口模式和SPI模式。其中,直接总线接口模式适用于大数据量传输的情况;SPI模式的接口连线较少,适用于数据量不大、传输速率相对较低的情况;间接总线接口模式下的数据传输性能则介于两者之间。在本系统中选用直接总线接口模式,以最大限度地提高数据的传输速率。
                          
                       
                          
                               
1.2 串口的设计
??? 在实际应用中,很可能出现数据已经存入但是RJ45口损坏而没有办法读数的情况。为了防止因RJ45口的损坏而导致整个装置不可用,可加入串口模块直接利用串口进行读数。

2 系统工作原理
2.1 工作状态图
??? 工作状态图如图3所示。




2.2 网络协议的选择
??? W5100本身集成了高度成熟的TCP/IP协议栈、以太网MAC层、PHY层等,支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE等协议。
??? TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过3次“对话”才能建立起来。
??? UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。虽然UDP是无连接的协议,它不保证数据包一定能够到达目的主机,但是在本应用中存储器跟主机通常位于同一内部局域网内,网络环境良好,数据丢失的可能性很小。另外,UDP容易实现,占用资源少,传输速度高,可以满足整个装置的应用需要。

3 软件设计
3.1 主程序设计
??? 软件实现的主程序流程如图4所示。




3.2 寄存器的设置
??? 通过设置W5100内部的控制寄存器,完全可以像在局域网中配置IP地址一样简单地配置设计的系统。
??? 常用寄存器主要包括:模式寄存器(MR)、网关地址寄存器(GWR)、子网掩码寄存器(SUBR)、物理地址寄存器(SHAR)、源IP地址寄存器(SI-PR)、中断寄存器(IR)、中断屏蔽寄存器(IMR)、重试时间寄存器(RTR)、重试次数寄存器(RCR)、接收数据缓冲区大小寄存器(RMSR)、发送数据缓冲区大小寄存器(TMSR)等。套接字寄存器平均分为4部分,对4个独立的网络通道单独设置;发送和接收数据缓冲区用来存放临时数据。通过对这些寄存器的设置可以选择工作模式及协议栈,设置装置自己的网关、IP、子网掩码、物理地址,还可以对端口进行打开和关闭。
??? 用户自己定义MAC地址时必须注意,MAC地址的第一个字节必须为偶数。第一个字节为奇数的MAC地址为多播地址,如果把MAC地址的第一个字节定义为奇数,可能会引起网络通信错误。
3.3 读写程序设计
??? 读时序如图5所示,写时序如图6所示。




                          
                       
                          
                               
??? 地址线有15位,所以占用单片机的第7、8口,数据线占用第10口。按照读时序编写的读控制函数程序如下:



?



4 结论
??? 单片机对以太网卡的驱动是非常关键的一步。利用以太网控制电器设备,无需另外铺设线路,降低了成本,是现代控制发展的一条新出路。该设计方案具有硬件连接简单、功耗低、体积小、运行稳定可靠等优点。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-28 22:50 , 耗时 0.196386 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表