单片机控制DM9000A.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机控制DM9000A

摘要:为了实现嵌入式以太网通信,使用以太网控制芯片DM9000A和单片机MSP430F5529,组成了嵌入式以太网接口,实现了网络通信,其中单片机完成自身以及以太网控制芯片的初始化、数据的封包和收发控制,而DM9000A芯片负责网络数据的发送和接收。详细介绍了系统的硬件构成框图和硬件设计,给出了实际的接口电路,重点描述了单片机和DM9000A芯片之间的软件接口程序设计,并给出了网络通信协议的应用方法。实验结果表明,该设计体积小、接口简单、速度快、功耗低,具有很高的推广价值。关键词:以太网通信;单片机;DM9000A;MSP430F5529??? 随着嵌入式技术和网络技术的发展及以太网的广泛应用,以太网接口在嵌入式系统中的应用越来越广泛,网络化成为未来设备发展的一个重要方向,各种嵌入式设备已经成功渗透到各个领域,并逐渐朝着网络化、智能化的方向发展。以太网以其在实时性、可靠性、标准化等方面的卓越性能及其便于安装、维护简单、不受通信距离限制等优点,已发展成为一种成熟的技术。本文以MSP430F5529单片机和以太网控制器DM9000A为硬件组成,通过软件编程,和上位机实现了UDP协议的网络通信。1 硬件设计??? DM9000A是DAVICOM公司推出的一款高速以太网接口芯片,是完全集成的和符合成本效益单芯片快速以太网MAC控制器,其被设计为低功耗、高处理性能,而其操作又非常简单,具有通用的处理器接口,可以与多种处理器直接连接,数据总线宽度可设置为8 b和16 b,支持3.3 V和5 V电源模式。??? MSP430F5529单片机是TI公司的一款超低功耗单片机。该芯片采用低功耗设计,具有五种低功耗模式,从低功耗模式到唤醒模式的转换时间小于6μs,其独特的时钟设计,每个时钟都可以打开或关闭,从而实现对整体功耗的控制。供电电压范围为1.8~3.6 V,具有强大的中断功能,集成了较丰富的片内外设和较多的I/O端口,提高了对外围设备的开发能力。??? 在本设计中,单片机MSP430F5529控制整个系统的运行,以太网控制器DM9000A实现网络传输的低层功能。单片机完成对DM9000A的初始化,并将需要发送的数据按协议要求进行以太网帧封装,发送给DM9000A;以中断的方式接收网络数据,并对接收到的数据进行解析,对有用数据进行处理。DM9000A接收从单片机发送来的数据,将数据通过RJ45传送到远程主机,并通过RJ45接收从远程主机发送来的数据,将数据初步解析后保存在缓存中,然后向单片机发出中断信号,由单片机来完成对数据的读取。系统的硬件设计框图如图1所示。??? 系统中单片机和以太网控制器都采用3.3 V来供电。单片机作为系统的主控芯片,和DM9000A之间采用8 b模式(将EECS脚接一个10 kΩ的上拉电阻),使用P6端口和DM9000A的数据端口相连接,传输数据或地址数据,无需电平转换;P1.0脚和CMD相连,为高时为数据读/写操作,为低时为地址读/写操作;P1.1脚和INT脚相连,作为单片机的数据读取中断信号;P1.2,P1.3脚分别和IOR脚、IOW脚相连,用于控制读或写操作,低电平有效,即在信号的上升沿进行读(IOR)写(IOW)操作;P1.4脚和CS脚相连,作为DM9000A的片选信号。2 DM9000A芯片操作??? DM9000A的读/写操作与一般的异步存储器相同,图2和图3分别显示了DM9000A的读/写时序。??? 根据芯片资料,编写读/写寄存器的子函数。??? 寄存器的读操作程序:???????3 软件设计3.1 DM9000A初始化??? 对DM9000A芯片的初始化,就是向相应的寄存器写入期望的值,为芯片的稳定工作做好准备。主要需要进行以下设置以便让芯片处于工作状态:??? (1)开启DM9000A工作状态:芯片GEPIO0的默认值为1,芯片处于Powerdown状态,所以首先需要将这一位设置为0,来打开芯片。设置方法是将寄存器GPCR的bit[0]设置为1,将寄存器GPR的bit[0]设置为0。??? (2)进行2次复位操作:根据芯片的特点,要使芯片达到正常工作状态,需要对其进行2次软启动操作,方法是向NCR寄存器写入3,延迟至少10μs后,写入0,重复这个操作一次。??? (3)设置MAC地址:初始化时要初始化PAR(10h~15h)寄存器,PAR中保存的是芯片物理地址(MAC地址),芯片根据网络数据与PAR中的数据比较来确定接收到的数据是否是发给自己的。??? (4)收、发控制寄存器设置:要清除发送状态寄存器,打开收/发中断使能。初始化完成后可以通过读NCR寄存器来判断芯片是否已经正确的完成初始化,并处于工作状态,如果未初始化成功,可以重复以上操作。3.2 数据发送??? 在数据发送之前,首先要对数据按

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档