已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
111 学 士 学 位 论 文 基于 mcu 的以太网接入模块设计 姓姓 名:名: 学学 号:号: 指指导导教教师师: 院院系系( (部部所所) ): 专专 业:业: 完完成成日日期期:2013 年 05 月 15 日 摘 要 给出了单片机控制rtl8019as实现以太网通讯的软硬件设计方案。首先设计 了系统的硬件电路,并对接口电路的设计进行了详细的阐述,然后设计了 rtl8019as的以太网驱动程序最后通过一个简单的数据收发试验验证了设计的 正确性。 关键词 rtl8019as; 51 单片机; tcp/ip 协议;传感器 abstractabstract given scm rtl8019as ethernet communications hardware and software design. design the hardware circuit, the interface circuit design in detail, and then design rtl8019as ethernet driver. send and receive data through a simple test to verify the correctness of the design. key words the rtl8019as; 51 microcontroller; tcp / ip protocol; sensor 目 录 第 1 章 绪论.7 1.1 本设计的背景.7 1.2 以太网络接口芯片 rtl8019as 介绍7 第 2 章、系统总体结构设计10 2.1 系统控制模块的硬件设计10 2.11 控制系统的主要硬件电路10 2.2 系统控制模块的软件设计10 2.21 tcp/ ip 协议.10 2.22 软件设计流程.11 2.3 程序部分11 2.31 主程序.11 2.32 发送控制过程13 2.33 接收控制过程14 第 3 章 总结16 第 4 章 参考文献17 第 5 章 设计总结18 第 6 章 致谢19 第 1 章 绪论 1.1 本设计的背景 随着互联网技术的飞速发展,internet 网络日益成为人们日常生活中必不可 少的工具。人们在使用互联网学习、娱乐的同时,各种家电设备、仪器仪表以 及工业生产中的数据采集与控制设备在逐步地走向网络化,以便共享网络中庞 大的信息资源,给人们的工作学习带来更大的便利。就目前来看,利用 8 位的 微处理器,实现与 internet 网络的通信,具有十分重要的意义。本设计主要为了 解决利用单片机控制网卡芯片实现以太网的链接,已达到最大程度的利用网络 资源,方便人们生活学习的目的。 1.2 以太网络接口芯片 rtl8019as 介绍 rtl8019as: 是台湾 realtek 公司制造的一种高集成度的 10 mb/ s 以太网 控制芯片, 可实现基于以太网协议的 mac 层的全部功能,内置 16 kb sram、双 dma 通道和 fifo,可完成数据包的接收和发送功能。 主要性能 ( 1) 符号 ethernet 与 ieee802.3 ( 10base5,10base2, 10baset) 标准; ( 2) 全双工, 收发可同时达到 10 mb/ s 的速率; ( 3) 内置 16 kb 的 sram, 用于收发缓冲, 降低对主处理器的速度要求; ( 4) 支持 8/ 16 位数据总线 8 个中断申请线以及 16 个 i/ o 基地址选择; ( 5) 支持 utp,aui,bnc 自动检测还支持对 10baset 拓扑结构的自动修复; ( 6) 允许 4 个诊断 led 引脚可编程输出; ( 7) 100 脚的 pqfp 封装,缩小了 pcb 尺寸。 内部结构:rtl80l9as 内部可分为远程 dma 接口、本地 dma 接口、 mac(介质访问控制)逻辑、数据编码解码逻辑和其他端口。内部结构如图 l 所示 isa 总线接口 ena(编码译码)逻辑 即插即用 pnp boot rom 端口 eeprom 端口 aui 接口双绞线接口 8k*16 srom mac 逻辑 图一 远程 dma 接口是指单片机对 rtl80l9as 内部 ram 进行读写的总线,即 isa 总线的接口部分。单片机收发数据只需对远程 dma 操作。本地 dma 接口 是指 rtl80l9as 与网线的连接通道,完成控制器与网线的数据交换。 mac(介质访问控制)逻辑完成以下功能:当单片机向网上发送数据时,先将 一帧数据通过远程 dma 通道送到 rtl80l9as 中的发送缓存区,然后发出传送 命令;当 rtl80l9as 完成了上一帧的发送后,再开始此帧的发送。rtl80l9as 接收到的数据通过 mac 比较、crc 校验后,由 fifo 存到接收缓冲区;收满 一帧后,以中断或寄存器标志的方式通知主处理器。fifo 逻辑对收发数据作 l6 字节的缓冲,以减少对本地 dma 请求的频率。2.3 内部 ram 地址空间分配 rtl8ol9as 内部有两块 ram 区。一块 l6k 字节,地址为 ox4oooox7fff; 一块 32 字节,地址为 oxoooooxoolf。ram 按页存储,每 256 字节为一 页。一般将 ram 的前 l2 页(即 ox4oooox4bff)存储区用作发送缓冲区; 后 52 页(即 ox4cooox7fff)存储区用作接收缓冲区。第 o 页叫 prom 页, 有 32 字节,地址为 oxoooooxoolf,存放以太网物理地址。要接收和发送 数据包就须通过 dma 读写 rtl8ol9as 内部的 l6kbram。实际上它是双端口 的 ram,是指它有两套总线连接到此 ram,一套总线是 rtl8ol9as 读或写 此 ram,即本地 dma;另一套总线是单片机读或写该 ram,即远程 dma 第 2 章、系统总体结构设计 2.1 系统控制模块的硬件设计 系统控制单元以单片机主控模块为核心其他外围电路主要包括:isp下载线模 块、系统供电模块、硬件时钟模块、网络接口卡模块、外部数据采集模块。 2.11 控制系统的主要硬件电路 本系统的主控模块主要采用stc公司的89c52作为主控芯片 其中具体包括在线编 程模块电路、系统复位电路、系统供电电路、网卡驱动电路、外部数据采集电 路。要实现8位微处理器的上网首先要解决的就是与以太网的连接问题,即如何 将通用处理器的网络装置应用于嵌入式网络的开发与应用。目前市面上有许多 型号的以太网控制芯片,多数功耗较高、功能复杂,不适合用于价格低廉的嵌 入式系统。还需要考虑的一点是网络接口芯片(rtl8019as)与单片机的接口不 能太复杂,要尽量少占用单片机的系统资源。根据上面的原则,选用rtl 8019as作为网络接口芯片,网络接口卡设计方案如图二所示。 单 片 机 外部 ram 存 存储器 网络控制 器 隔离滤波 器 rj45 串口电平转 换芯片 pc 机 网络 接口 串口 eeprom 图二 2.2 系统控制模块的软件设计 2.21 tcp/ ip 协议 嵌入式设备网络化的关键是实现tcp/ ip 网络协议。众所周知, tcp/ ip 是一 个数量庞大的协议体系,是由几百种网络协议组成的集合, 在嵌入式系统有限的 资源中难以完全实现。且嵌入式系统以应用为中心, 即使具有特定功能的计算 机系统, 也不需要实现那么多的协议。因此系统设计的首先就是进行tcp/ ip 协议栈子集的选择。tcp/ ip常被认为是一个由链路层、网络层、传输层和应用 层组成的四层协议系统, 且每一层都有相应的协议集合用以实现不同的功能。 数据链路层主要处理和传输介质相关的物理接口部分, 考虑到以太网数据流量 大并且通用性强, 因此采用以太网协议, 用rj45接口把嵌入式设备连入网络。 网络层主要作用是处理数据包在网络中的协议封装,该层选用tcp/ ip 协议栈的 核心ip 协议, 同时选用arp 协议实现ip 地址到mac 物理地址的转换。传输层 主要为两台主机上的应用程序提供端到端的通信,有udp和tcp两种协议。udp协 议是不面向连接的, 因此不能保证数据传输的可靠性。tcp是面向连接的,但是 其可靠性的保证是以许多复杂措施以及由此而增加的开销为代价换来的。因此 在此选择tcp为传输层协议,但是针对应用进行简化以适应嵌入式应用的要求。 应用层负责处理特定的应用程序部分, 应用层协议种类很多, 考虑到嵌入式应 用的特殊性,不选取通用的应用层协议。 2.22 软件设计流程 对网卡编程就是对网络接口控制器(nic)rtl8019as 中各寄存器进行编写 程序控制,进而完成数据分组的正确发送及接收。 2.3 程序部分 2.31 主程序 主程序可分为网络通讯和串行通讯这两部分。网络通讯又可分为网卡初始化、 发送控制和接收控制三部分。主程序框图如图三 所示。 初始化串口 初始化网卡 接收串口数据 装入以太网帧 接收以太网帧 收到确认帧 n 图三 网卡初始化过程如下: rtl8019as的初始化主要是设置一些工作参数,如ram的分配,中断初始化,mac 地址设置,接收设置,发送设置等,具体在以下程序中注释。 void rtl8019init(void) rtl8019_reset_port_h(); delayms(50); rtl8019_reset_port_l(); /rtl8019as复位管脚置0 rtl8019write( isr, rtl8019read(isr) ) ; / 软件复位 delayms(50); rtl8019write(cr, 0xe1); / 选择第3页,配置寄存器 rtl8019write(0x01, 0xc0); /eem1=eem0=1 rtl8019write(config2, 0x20);/设置网卡为10m自动检测模式 rtl8019write(config3, 0); /设置led工作模式 delayms(255); rtl8019write(0x01, 0); /eem1=eem0=0 rtl8019write(cr, 0x21); /第0页 delayms(2); rtl8019write(dcr, dcr_init); / #define dcr_init 0x58 rtl8019write(rbcr0,0x00); rtl8019write(rbcr1,0x00); rtl8019write(rcr,0x04); /接收结构寄存器 rtl8019write(tcr,0x02); /传送配置寄存器 rtl8019write(tpsr, txstart_init); /#define txstart_init 0x40 rtl8019write(pstart, rxstart_init); /#define rxstart_init 0x47 rtl8019write(bnry, rxstart_init); /#define rxstart_init 0x47 rtl8019write(pstop, rxstop_init); /#define rxstop_init 0x60 rtl8019write(isr,0xff); /清除中断标志 rtl8019write(imr, imr_init); /中断屏蔽 rtl8019write(cr, 0x61); /第1页 delayms(2); rtl8019write(curr, rxstart_init); /#define rxstart_init 0x47 /设置mac地址 rtl8019write(par0+0, mymac_0); rtl8019write(par0+1, mymac_1); rtl8019write(par0+2, mymac_2); rtl8019write(par0+3, mymac_3); rtl8019write(par0+4, mymac_4); rtl8019write(par0+5, mymac_5); rtl8019write(cr, 0x22); / start the nic /end rtl8019as init 2.32 发送控制过程 在网络中,帧传输的过程就是发送方将待发送的数据按帧格式要求封装成帧, 然后通过网卡发送到网络的传输线上。发送程序框图如图4所示。 数据长度=46 数据长度+14 初始化远程字节 计算器 rbcr 启动远程 dma 数据写入缓冲区 启动本地 dma 发送字节计数器 赋值 初始化发送页起 始地址寄存器 tttpsr 发送缓冲区数据 到网上 初始化 数据长度小于 46度, 444444646 发送完毕 发送完毕 返回 n n n 图四 首先设置网卡发送数据包的ram首地址,用以存放要发送的数据,和上两节写 ram相同。然后设置远程读此数据包的长度,(rbcr1,0在读数据包的时候作用为 要读数据包的长度;在发送数据包的时候作用为远程接收此包时,此包的有效 字节长度,相当于rtl8019as接收数据包的byte3,4,详细请看第二章的3.9节), 然后设置发送数据包的长度,:发送数据包的长度与远程读此数据包的长度是 一样的吧!然后把要发送的数据包写入ram,启动发送数据包命令,发送数据 包,程序如下: rtl8019write(cr,0x22); /第0页 开始命令 while( rtl8019read(cr) /有数据包发送则等发送完毕 rtl8019write(tpsr,0x40); /加载发送ram页的首地址 rtl8019write(rsar0,0x00); /写ram地址 低8位 rtl8019write(rsar1,0x40); /写ram地址 高8位 rtl8019write(isr,(18); /远程读数据包长度的高8位 rtl8019write(tbcr0, (unsigned char)(sendpacketlength); /发送数据包长度的低8位 rtl8019write(tbcr1, (unsigned char)(sendpacketlength)8); /发送数据包长度的高8位 rtl8019write(cr,0x12); /启动写ram命令 for(unsigned int i=0;i8); rtl8019write(rsar0, (unsigned char) readaddress); rtl8019write(rsar1, (unsigned char)( readaddress8); rtl8019write(cr, 0x0a); /启动读ram命令 for(i=0;i(rxlen-4);i+) databufferi = rtl8019read(rdmaport); rtl8019write(cr, 0x22); /终止ram操作 /等待ram操作完成 for(i = 0; i = 20; i+) if(rtl8019read(isr) rtl8019write(isr, 16); /清除ram操作完成中断标志 rtl8019write(bnry, nextpage); /设置下一个数据包的页地址址 第 3 章 总结 rtl 8019as芯片具有性价比高、连接方便等特点,是进行嵌入式以太网设计 时首选的控制芯片,本文利用单片机控制rti 8019as来实现网络通信,主要解 决了硬件电路连接和以太网驱动程序设计的问题。该方法在工业自动化系统、 远程分散式设备控制、网络家电等方面具有广阔的应用前景。 第 4 章 参考文献 1李华.mcs-51 系列单片机实用接口技术m.北京:北京航空大学出版社,2002. 2杨延双,张建标,王全民.tcp/ip 协议分析及应用m.北京:机械工业出版社, 2007 3behrouz a.forouzan.tcp/ip 协议族(第四版).王海等译m.北京:清华大 学出版社,2011 4韩毅刚.计算机网络技术m.北京:机械工业出版社,2010 5rtl8019as 数据手册 6d.gaponstev.quasi-single-mode fiber laser nears 2kw output with high-quality beamj.laser focus world.2005 7谭浩强.c 语言程序设计(第二版)m.北京:清华大学出版社,2003 8罗军周,钱松荣,杨明等.tcp/ip 协议及网络编程技术m.北京:清华大学 出版社,2004 9徐爱钧,彭秀华.单片机高级语言 c51 应用程序设计m.北京:电子工业出 版社,1998 10严天峰.单片机开发m.成都:科学出版社,2007 11任清珍,黄天戍.多路数据采集内存使用及存盘法j.计算机应用研究,1991 年 03 期 12张家喜.用 pc1500 构成的多路数据采集系统j.工业仪表与自动化装置, 1992 年 04 期 13章公器.8051 单片机开发的几点经验j.电子与自动化,1994 年 01 期 14章公器.8051 单片机开发的几点经验j.电子技术应用,1994 年 03 期 15汪家铭.分散式数据采集系统 impj.数据采集与处理,1991 年 02 期 16a.neto,h.fernandes,a.duarte,firesig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零售业库存管理优化方案
- 个人理财规划手册方案预案
- 2026年勐腊县人民医院医护人员招聘笔试模拟试题及答案解析
- 2026四川眉山彭山法院招聘聘用制法官助理6名考试模拟试题及答案解析
- 2026年福建泉州晋江第二中学招聘笔试备考题库及答案解析
- 2026年湘潭市农业机械系统事业单位人员招聘考试备考试题及答案详解
- 2026年哈尔滨市血液中心事业单位人员招聘考试备考试题及答案详解
- 2026年肇庆市林业系统事业单位人员招聘考试备考试题及答案详解
- 2026年邵阳市红十字会系统事业单位人员招聘考试备考试题及答案详解
- 2026年甘孜市环境系统事业单位人员招聘考试备考试题及答案详解
- 科学实验科创课件STEM教育编程065机械鱼
- 爱情片《百万英镑》台词-中英文对照
- 商品七大异常状态及处理
- 金属矿床开采新技术技术
- FBCDZ系列通风机为对旋式防爆主要通风机
- GB/T 37669-2019自动导引车(AGV)在危险生产环境应用的安全规范
- 第四章 AP1000反应堆结构设计(杜圣华)
- 几起重大工程质量安全事故原因
- 设备供货安装方案(通用版)
- 中考物理题型二《开放、推理类题》
- 第二节 金属的腐蚀和防护PPT课件
评论
0/150
提交评论