基于51单片机控制的以太网通讯实现
- 格式:pdf
- 大小:153.96 KB
- 文档页数:5
uIP TCP/IP协议栈在51系列单片机上的应用uIP 协议栈是一种免费的可实现的极小的TCP/IP协议栈,可以使用于由8位或16位微处理器构建的嵌入式系统。
本文分析了uIP协议栈的结构和应用接口,并讨论了如何将其应用到51系列单片机上。
关键字:TCP/IP 单片机嵌入式系统一引言近几年来,人们对连接各种装置到一个现有的IP网络例如因特网上产生了浓厚的兴趣。
为了可以通过因特网通讯,一个可实现的TCP/IP协议栈是必须的。
对于由32位嵌入式处理器构建的中、高端网络接入嵌入式系统中,通常会运行一个集成有TCP/IP协议栈的操作系统。
但是对于由8位和16位低端处理器构建的系统,由于其所具有的处理能力和资源十分有限,通常不运行操作系统,这就要求系统开发者根据应用的要求以及所选用的处理器的实际情况构建自己的TCP/IP协议栈。
而TCP/IP协议的透明性掩盖了其实现的复杂性,从无到有构建一个协议栈是一件艰巨的任务,并且缺少有效的调试工具。
uIPTCP/IP协议栈是使用于低端8位或16位微处理器构建的嵌入式系统的一个可实现的极小的TCP/IP协议栈。
它可以自由分发和使用于商业和非商业目的。
uIP使用C语言编写,使其方便于移植。
并且uIP协议栈的代码大小和RAM的需求比其它一般的TCP/IP栈要小,这就使得它可以方便的应用到各种低端系统上。
本文将简要描述uIP的实现方法,分析uIP协议栈的应用接口,并讨论如何将其应用到51系列单片机上。
二 uIP协议栈的实现方法简述uIP实现了TCP/IP协议集的四个基本协议:ARP地址解析协议,IP网际互联协议,ICMP网络控制报文协议和TCP传输控制协议。
为了在8位16位处理器上应用,uIP协议栈在各层协议实现时采用有针对性的方法,保持代码大小和存储器使用量最小。
1 实现ARP地址解析协议时为了节省存储器,ARP应答包直接覆盖ARP请求包。
2 实现IP网络协议时对原协议进行了极大的简化,它没有实现分片和重组。
基于51单片机的网络通信接口设计摘要:文章将TCP/IP协议嵌入通用8位单片机中,通过单片机控制网络芯片RTL8019AS实现了低端单片机的Internet接入。
文中给出系统硬件原理框图和有关实现TCP/IP协议的程序处理流程图,对系统的软硬件架构做了阐述,并详细的介绍了硬件电路的连接,分析了实现TCP/IP通信的硬件原理,使普通的8位单片机具有了互联网络的接入功能。
关键词:单片机;TCP/IP协议;通信协议;开放互联系统随着信息技术的飞速发展,特别是3C(计算机、通讯、消费电子)合一的加速发展和互联网的迅速普及,常常使用CAN总线、RS-232和RS-485串行通信、IIC 和IIS等总线实现多个系统之间的数据传输与交换以及互联,通过这种总线互联的方式进行通信不仅受到信号传输距离限制,而且只有很少与之有关的通信协议,即使有也是孤立于Internet之外。
若将系统接入Internet则可以实现远程数据采集、监控和诊断;并可以成为网络共享资源的一部分,而且还可以访问Internet上的资源。
由于以太网进行通信一般都基于TCP/IP协议,整个网络只需要有底层通讯协议就能够满足系统要求,并且便于和Internet实现互联。
TCP/IP协议是一个庞大的协议簇,对系统资源消耗比较大,如何在RAM较小的单片机系统上实现TCP/IP协议成为以太网应用于单片机系统的难点。
因为用在低端单片机系统中一方面要占用大量的内存,另一方面容易造成系统不能实时响应。
因此我们可以使用由台湾Realtek公司生产的高度集成以太网控制器芯片RTL8019AS。
1系统硬件接口设计实现Internet接入的方案很多,如PC网关+专用网、EmWare的EMIT技术、集成了网络控制器的微处理器、低端单片机+网卡芯片相结合等。
上述方案中以“低端单片机+网卡芯片”实现Internet接入最为经济、简单;其原理是用单片机加载TCP/IP协议控制以太网网卡进行数据传输,从而实现与以太网进行通信。
基于Ethernet的MCS51单片机通信
管庶安
【期刊名称】《武汉工业学院学报》
【年(卷),期】2002(000)002
【摘要】介绍了用MCS51单片机与DM9008 Ethernet控制芯片进行接口,实现在Ethernet上收发数据包的具体方法.
【总页数】5页(P27-30,34)
【作者】管庶安
【作者单位】武汉工业学院,计算机与信息工程系,湖北,武汉,430023
【正文语种】中文
【中图分类】TP393
【相关文献】
1.基于的PC机和MCS-51单片机之间的串行通信 [J], 何文才;杜鹏;刘培鹤;牛晓蕾;张媛媛
2.基于MCS-51单片机和DEI1016的ARINC429通信模块设计 [J], 杨明;张泾周;李辉;张广标
3.基于MCS-51单片机的串行通信 [J], 徐小涛
4.基于MCS-51单片机技术实训台中的按键控制双机串行通信实训模块设计研究与实现 [J], 张玉馥
5.基于PC104和MCS-51单片机的串口通信 [J], 亢维勋;王伟;吴成富;陈怀民因版权原因,仅展示原文概要,查看原文内容请购买。
用MCS-51单片机实现基于GPRS的INTERNET接入Realizing the wireless access ofInternet by GPRS using MCS-51microchip上海大学通信与信息工程学院毛洋林陈沨潘志浩Mao,Y anglin and Chen,Feng Pan,Zhihao摘要:本文介绍了一套运用51单片机及西门子公司的GPRSmodem(MC35)来实现INTERNET接入的系统设计方案,并提供了相应的硬件原理图和程序流程图。
关键词:GPRS GPRSmodem INTERNET TCP PPPAbstract:This article introduces a system design method, which is to realize the wireless access of Internet by 51 microchip and GPRSmodem of Siemens, and also provides corresponding hardware theory scheme and software program scheme. Keywords: GPRS GPRSmodem INTERNET TCP PPP1.引言无线已不再是梦想,2.5代GPRS使无线移动互联成为了人们追求的新热点[1]。
GPRSmodem作为GPRS在INTERNET的PC接入终端已得到广泛应用的同时,相应的,在8位单片机上运用GPRSmodem实现INTERNET接入也已开始为人们所重视与研究。
目前我国电信提供的GPRS服务采用的是CS-2编码,上行开通一个时隙通道,下行开通三个时隙通道,使得上下行理论传输速率分别降为13.4kbps和40.2kbps[2],而实际所能达到的GPRS全双工通信速率则又更低。
显然传输宽带视频等多媒体数据对GPRS而言要求过高;但在实时要求较低的低速控制信息的无线传输上,GPRS则可以发挥永远在线、快速登录、按流量计费等优势[3]。
基于C8051F020单片机的以太网通信
付蓉;高晓丁;王旭;居法立
【期刊名称】《微处理机》
【年(卷),期】2009(030)001
【摘要】介绍了C8051F020和以太网控制芯片RTL8019AS的技术特点.设计了以单片机C8051F020和以太网控制芯片RTL8019AS连接的嵌入式系统以及系统软件;实现了8位单片机以太网通信设计方案.
【总页数】3页(P49-51)
【作者】付蓉;高晓丁;王旭;居法立
【作者单位】西安工程大学机电工程学院,西安,710048;西安工程大学机电工程学院,西安,710048;西安工程大学机电工程学院,西安,710048;陕西省电力设计院,西安,710054
【正文语种】中文
【中图分类】TP368.2
【相关文献】
1.基于ENC28J60的ATMAGE16单片机以太网通信设计 [J], 杨金石;肖繁;李坤
2.基于ENC28J60的ATMAGE16单片机以太网通信设计 [J], 杨金石;肖繁;李坤
3.基于C8051F020单片机设计的农电网电力设备防盗报警系统 [J], 刘阳京
4.基于RTL8019AS单片机在以太网通信中的应用 [J], 汪文涛;徐贵;巨永龙;施良伟;汤超
5.基于C8051F020单片机的双接口OLED控制器设计与实现 [J], WU Chunfeng;WANG Yongwei;WANG Zhiqian;LIU Shaojin;LIU Yusheng
因版权原因,仅展示原文概要,查看原文内容请购买。
利用单片机技术实现以太网通讯
刘昌鹏
【期刊名称】《软件导刊》
【年(卷),期】2007(000)012
【摘要】给出了一种利用P89C51RD2单片机控制以太网接口芯片RTL8029,从而实现以太网通讯的设计方案。
阐述了通过EMP7128型CPLD实现单片机接口与PCI接口之间转换的方法。
【总页数】2页(P106-107)
【作者】刘昌鹏
【作者单位】惠州经济职业技术学院广东惠州516257
【正文语种】中文
【中图分类】TP273.5
【相关文献】
1.利用OPC服务实现S7-200PLC以太网通讯在八钢1#COREX炉矿煤槽集中润滑系统中的应用实践 [J], 倪永彪;郭克研;谭真;
2.利用OPC服务实现S7-200PLC以太网通讯 [J], 柳建波
3.利用单片机技术实现对传感器实验仪的改造 [J], 李小敏;杨帆;马亮
4.利用单片机技术实现高频通信电缆漏气自动监测的探讨 [J], 刘文祥
5.基于C++的欧姆龙PLC以太网通讯实现 [J], 陈熙;张成;黄维东;李晨安;王晓光因版权原因,仅展示原文概要,查看原文内容请购买。
TCP/IP协议在VRS51单片机上的实现引言随着人们对信息化程度的要求不断提高,设备上网已经成为一个趋势。
32位机资源丰富,上网方案也较为成熟,但成本相对较高,因而价位偏低的8位机上网方案成为研究的热点。
但是,8位机资源有限,因此在实现8位机以太网连接时,一定要考虑周全。
本文介绍在VRS51L3074上实现TCP/IP协议栈uIP的移植,成功实现了socket通信。
硬件平台本方案的硬件平台主要由VRS51L3074和CS8900A组成,经网络变压器的隔离,CS8900A与网络接口RJ-45连接上,这样整个系统就可以连接到Ethernet。
数据输入可由串口传递给系统。
VRS51L3074简介VRS51L3074是Ramtron公司最新推出的单周期、基于8051内核、功能丰富的SOC 单片机,是全球第一款集成FRAM的高性能单片机。
CPU最高处理速度可达40MIPS,内置64kB Flash存储器支持ISP、IAP功能、4kB+256B的SRAM以及8kB的FRAM,带有完全可配置的I2C接口和SPI接口等片内外设,支持JTAG下载和非侵入式在线调试。
VRS51系列单片机和8051完全兼容,支持SDCC、Keil等C编译器,编译和下载时需要一些特殊的配置。
Versa Ware JTAG软件是VRS51系列单片机的下载工具,和Keil uVision配合使用时需要一些配置。
CS8900A简介CS8900A是CIRRUS LOGIC公司的一种低价位、高集成度、低功耗、全双工的16bit 以太网控制器,是一款专门为嵌入式系统设计优化的以太网控制器。
该芯片的突出特点就是使用灵活,其物理层接口、数据传输模式、工作模式都能根据需要而进行动态配置,可通过内部寄存器的配置来适应不同的应用环境。
CS8900A有三种工作模式:I/O模式、存储器模式和DMA模式。
CS8900A基本工作原理是:在收到由主机发来的数据报后,侦听网络线路。
如今,以太网技术不仅已遍布商业企业办公室和家庭中, 还以各种形式出现在仪器仪表及数据采集和控制设备中。
基于以太网的新技术和联网设备不断出现,以太网已经成为事实上最常用的网络标准之一。
在电子设备日趋网络化的背景下,如果一个嵌入式系统没有以太网接口,其价值将大打折扣。
嵌入式以太网系统可以通过Internet 将通信距离无限扩展,而基于底层的以太网协议的实现是由以太网控制器来负责的。
目前比较常用的10Mbps嵌入式控制芯片有RTL8019AS、CS8900、DM9008等。
利用廉价的51单片机和以太网控制芯片来实现以太网通讯具有十分重要的意义。
1、RTL8019AS以太网控制器简介RTL8019AS是台湾Realtek 公司出品的一种高集成度的全双工以太网控制器芯片,继承了介质访问控制子层(MAC) 和物理层的功能,与单片机接口简单。
1.1主要性能单片机以太网通讯的实现石进水 李世光 刘士彩 山东科技大学 266510(1)符合EthernetII与IEEE802.3(10Base5、10Base2、10BaseT)标准;(2)全双工,收发可同时达到10Mbps的速率;具有休眠模式,以降低功耗;(3)内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;(4)支持8/16位数据总线,8个中断申请线以及16个I/O基地址选择;(5)支持UTP、AUI、BNC自动检测,支持对10BaseT拓扑结构的自动极性修正;(6)允许4个诊断LED引脚可编程输出;(7)支持闪存读写;(8)100脚的PQFP封装,缩小了PCB尺寸。
1.2 内部结构RTL8019AS内部可分为远程DMA接口(Remote DMA)、本地DMA接口(LocalDMA)、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。
内部结构如图1所示本地DMA接口是把RTL8019AS与网线的连接通道,完成控制器与网线的数据交换。
远程DMA接口是指单片机对RTL8019AS内部RAM进行读写的总线,即ISA总线的接口部分。
一种基于单片机和W5100组合实现以太网通信中的应用分析摘要:随着国家网络信息技术的发展,嵌入式系统通信技术的应用受到广泛重视,很多技术人员在实际工作中会利用IP协议的方式,将其作为基础制定完善的网络解决方案,通过远程控制方式,对数据通信进行全面的处理。
对于以太网而言,其具有成本低、集成容易等特点,可以全面提高系统的运行水平,因此,应当利用单片机和W5100组合方式对其进行处理,保证自身系统的运行质量,全面提高其工作可靠性与有效性。
关键词:单片机和W5100组合;以太网通信;应用措施在使用单片机与IP协议硬解码网络的过程中,应当科学使用接口芯片W5100对其进行处理,主要因为其是现代化内部硬件协议芯片,可以减少接口工作量,提高系统运行稳定性与可靠性,利用远程数据通信技术,完成安全检测工作、电力系统测量监控工作、音视频传输工作等。
一、硬件设计工作分析W5100是利用以太网接入方式的新型芯片,与传统的W3100芯片相较,具有一定的集成特点,可以将以太物理内核结合在一起,可以达到集成目的,提高系统的稳定性与可靠性。
在W5100中,主要包括:IP网络协议、UDP网络协议、ARP网络协议、SHCP网络协议等,同时,还包含DLG以太网协议与MAC以太网协议。
其可以为其提供丰富的总线,其中包括:并行类型的总线,就是直接或是间接的总线接口,在一定程度上,可以与SPI相互串行。
在芯片中含有16KB的数据缓冲双扣RAM,可以更好的对数据进行交换处理,建立自动化的识别传输模式,发挥全双工与半双工的优势,兼容100M的以太网。
对于W5100芯片而言,其中含有四个组成部分:其一为MCU接口部分,其二为网络协议引擎部分,其三为DPRAM部分,其四为以太网物理层接口部分。
在系统运行的过程中,具有多元化的功能与优势,可以全面体现相关功能,提升芯片的使用成效。
在使用W5100芯片的过程中,应当全面考虑以太网控制方面的问题,对简单端口进行编程处理,利用外部存储器开展相关访问工作。
单片机与以太网的接口技术及通信原理在现代物联网时代,单片机与以太网的接口技术和通信原理变得越来越重要。
单片机是一种集成了处理器、存储器和各种外设功能的微型计算机,而以太网是一种广泛应用于局域网的通信协议。
本文将详细介绍单片机与以太网的接口技术和通信原理。
单片机与以太网的接口技术主要有两种方式:硬件接口和软件接口。
硬件接口是将单片机与以太网控制器直接连接,通过电气信号进行通信。
一般情况下,单片机通过串行接口(如SPI、UART)与以太网控制器进行通信。
这种方式的接口速度相对较快,但需要专门的硬件电路支持。
另一种方式是软件接口,即通过软件模拟实现单片机与以太网的通信。
这种方式通常使用的是单片机的IO口模拟SPI或UART接口,通过软件控制通信过程。
软件接口相对较慢,但更加灵活,适用于一些对速度要求不高的应用场景。
无论是硬件接口还是软件接口,单片机与以太网的通信都需要遵循一定的通信原理。
以太网通信采用的是CSMA/CD协议,即载波监听多址冲突检测。
这意味着在发送数据之前,单片机首先要监听总线上是否有其他设备正在传输数据,如果有,则需要等待。
如果没有冲突,则可以开始发送数据。
在发送过程中,单片机需要实时监听总线上是否有冲突发生,如果有冲突,则需要停止发送,并等待一段随机时间后再次尝试发送。
除了通信原理外,还需要考虑到单片机和以太网控制器的数据格式和协议。
单片机通常采用的是二进制数据格式,而以太网通信使用的是帧的方式。
在实际通信过程中,单片机需要将数据按照一定的格式组织成以太网帧,并加上目标地址和源地址等信息。
在接收数据时,单片机需要解析以太网帧,提取出所需的数据。
为了提高单片机与以太网的通信效率和稳定性,还可以采取一些优化措施。
例如,使用硬件加速器来加速数据的传输和处理,使用缓冲区来缓存发送和接收的数据,使用中断方式来处理数据的传输等。
此外,这还需要根据具体的应用场景选择合适的通信速率和通信距离,并进行合适的阻抗匹配和保护措施。
基于MCS51单片机的数据以太网传输
贾军辉;刘璟
【期刊名称】《仪器仪表用户》
【年(卷),期】2002(009)005
【摘要】本文介绍了基于MCS51系列单片机和CS8900A以太网控制器的数据的网络传输,并给出了软硬件的实现方法.
【总页数】3页(P31-33)
【作者】贾军辉;刘璟
【作者单位】东南大学仪器科学与工程系,南京,210096;东南大学仪器科学与工程系,南京,210096
【正文语种】中文
【中图分类】TP274
【相关文献】
1.MCS—51单片机开发过程的数据传输 [J], 陈育华;宋宏远
2.基于MCS-51单片机的风压监测数据采集系统的设计 [J], 曹莹;李英道
3.基于LABVIEW结合MCS-51单片机扭矩传感器数据采集的实现 [J], 李俊
4.基于公用电话网的MCS-51单片机远程数据传输装置 [J], 张道德; 杨光友; 周国柱
5.如何用MCS-51单片机模拟I^2C接口实现数据传输 [J], 于新潮;刘玉婵
因版权原因,仅展示原文概要,查看原文内容请购买。
用单片机实现以太网卡通信的设计尚晨旭,邢化锋,柴 燕,高 静(大连海事大学科学会馆自动化所,辽宁省大连市100044)【摘 要】 介绍了基于51单片机的以太网卡硬件接口电路的设计和网卡驱动程序的开发。
该设计是实现RS 2232串口数据格式和以太网协议格式的数据转换。
核心处理器采用AT89C51单片机,以太网卡控制芯片采用RT L8019as 芯片将TCP /I P 协议栈嵌入到单片机中。
讨论了T CP /I P 协议族的分层实现,并根据应用的需要将单片机中的T CP /I P 协议进行简化,实现网络通信。
关键词:以太网,RT L8019AS,T CP /I P 协议,单片机中图分类号:TP393.03收稿日期:2005209207;修回日期:2005209230。
0 引 言在网络与计算机技术的发展、普及,以及电子设备日趋网络化的背景下,用单片机控制以太网卡进行数据通信成为当前的主要发展趋势。
通过单片机控制以太网卡编程可实现局域网内任意两个终端的通信。
本文所介绍的以太网卡设计主要应用于工业现场控制领域的数据采集和数据传输方面。
简要介绍基于AT89C51单片机和RT L8019AS 以太网控制芯片所设计的网卡的硬件电路结构框图及软件程序流程设计。
1 系统硬件结构设计系统的硬件电路结构如图1所示。
主要包括MCU 、串口通信,EEPROM 和网卡芯片等单元。
图1 系统硬件框图采用AT89C51单片机作为主处理器控制以太网卡芯片来实现与以太网的数据交换。
由于单片机内存资源小、处理速度慢,需外扩RAM 。
使用外扩RAM 可以提高单片机的数据传输速度,以及处理复杂的T CP /I P 协议。
以太网数据包最大可以达到1500多字节,AT89C51单片机无法存储这么大的包,只有放到外部RAM 进行存储。
同时,外部RAM 也用做串行口的输入输出缓冲,以使单片机可以高速传输数据。
在系统中还使用x5045作为外部扩展的EEP 2ROM ,用来存储I P 地址、物理地址以及网卡的其他配置信息。
基于单片机以太网通信模块的软件设计课题基于单片机以太网通信模块的软件设计第1章绪论1.1 选题的目的与意义随着信息技术的飞速发展,Internet应用己经深入到生活的方方面面。
传统的互联网应用以PC为中心,现在已开始转向以嵌入式设备为中心,许多嵌入式设备尝试着接入Internet。
嵌入式系统己经广泛地渗透到航空、汽车电子、工业生产、通信、消费电子以及人们日常生活的方方面面。
IA(Internet Appliance)概念现在甚为流行,这表明互联网应用进入嵌入式互联网的时代己经来临。
中国计算机学会(China Computer Federation)于1999年6月举行了“嵌入式系统及产业化在中国的发展前景”研讨会,专家们探讨了嵌入式系统在当今计算机工业中的地位及其网络化问题,认为下一代网络设备中嵌入式设备将大大增加,互联网上传输信息的70%将会来自小型嵌入式系统。
随着嵌入式系统更广泛的应用以及网络的进一步普及,嵌入式系统接入网络已成为嵌入式系统应用的一个重要方向和必然结果。
嵌入式Web服务器是嵌入式系统网络化应用的重要方面。
把嵌入式系统作为Web服务器与Internet相连接很适合于远程监控和生产过程控制等系统,通过特定的手段采集数据,利用远程浏览器通过访问嵌入式Web服务器就可以直接监控现场设备的运行,提高生产效率和管理水平。
在嵌入式系统上实现WEB服务器,不仅克服了嵌入式系统用户界面死板甚至无界面的缺点,同时也为嵌入式系统的远程应用提供了一种人机可交互的方便的操作方式,从而使嵌入式MCU以WEB服务器的方式提供给客户端。
在嵌入式系统网络化应用日趋流行的今天,设计和实现微处理器的网络接入是一个很有现实意义的问题,可以实现基于Internet的远程数据采集、远程控制、自动报警、上传/下载数据文件、自动发送E-mail等功能,同时也为IST(Internet Sensor Technology网络传感器技术)、HVAC(家庭环境自动控制)、局部环境自动监测、智能小区管理、网络自动抄表等技术的应用与发展提供技术保证。
基于51单片机控制的以太网通讯实现摘要:介绍以太网的帧协议和以太网控制芯片RTL8019AS的结构特性;介绍51单片机控制RTL8019AS实现以太网通讯的硬件设计方案;采用C51语言实现ARP协议(地址解析协议),并进行了系统的调试与验证。
关键词:RTL8019AS Ethernet 51单片机 TCP/IP协议互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长,在使用计算机进行网络互联的同时,各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备在逐步地走向网络化,以便共享网络中庞大的信息资源。
在电子设备日趋网络化的背景下,利用廉价的51单片机来控制RTL8019AS实现以太网通讯具有十分重要的意义。
1 以太网(Ethernet)协议一个标准的以太网物理传输帧由七部分组成(如表1所示,单位:字节)。
表1 以太网的物理传输帧结构表PR SD DA SA TYPE DATA FCS同步位 分隔位 目的地址 源地址 类型字段 数据段 帧校验序列7 1 6 6 2 46~1500 4除了数据段的长度不定外,其他部分的长度固定不变。
数据段为46~1500字节。
以太网规定整个传输包的最大长度不能超过1514字节(14字节为DA、SA、TYPE),最小不能小于60字节。
除去DA、SA、TYPE14字节,还必须传输46字节的数据,当数据段的数据不足46字节时需填充,填充字符的个数不包括在长度字段里;超过1500字节时,需拆成多个帧传送。
事实上,发送数据时,PR、SD、FCS及填充字段这几个数据段由以太网控制器自动产生;而接收数据时,PR、SD被跳过,控制器一旦检测到有效的前序字段(即PR、SD),就认为接收数据开始。
2 RTL8019AS以太网控制器简介由台湾Realtek公司生产的RTL8019AS以太网控制器,由于其优良的性能、低兼的价格,使其在市场上10Mbps网卡中占有相当的比例。
2.1 主要性能(1)符号Ethernet II与IEEE802.3(10Base5、10Base2、10BaseT)标准;(2)全双工,收发可同时达到10Mbps的速率; (3)内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;(4)支持8/16位数据总线,8个中断申请线以及16个I/O基地址选择;(5)支持UTP、AUI、BNC自动检测,还支持对10BaseT拓扑结构的自动极性修正;(6)允许4个诊断LED引脚可编程输出;(7)100脚的PQFP封装,缩小了PCB尺寸。
2.2 内部结构RTL8019AS内部可分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。
内部结构如图1所示。
远程DMA接口是指单片机对RTL8019AS内部RAM进行读写的总线,即ISA总线的接口部分。
单片机收发数据只需对远程DMA操作。
本地DMA接口是把RTL8019AS与网线的连接通道,完成控制器与网线的数据交换。
MAC(介质访问控制)逻辑完成以下功能:当单片机向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上帧的发送后,再开始此帧的发送。
RTL819接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知主处理器。
FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率。
2.3 内部RAM地址空间分配RTL8019AS内部有两块RAM区。
一块16K字节,地址为0x4000~0x7fff;一块32字节,地址为0x0000~0x001f。
RAM按页存储,每256字节为一页。
一般将RAM的前12页(即0x4000~0x4bff)存储区作为发送缓冲区;后52页(即0x4c00~0x7fff)存储区作为接收缓冲区。
第0页叫Prom页,只有32字节,地址为0x0000~0x001f,用于存储以太网物理地址。
要接收和发送数据包就必须通过DMA读写RTL8019AS内部的16KB RAM。
它实际上是双端口的RAM,是指有两套总线连接到该RAM,一套总线RTL8019AS读或写该RAM,即本地DMA;另一套总线是单片机读或写该RAM,即远程DMA。
2.4 I/O地址分配RTL8019AS具有32位输入输出地址,地址偏移量为00H~1FH。
其中00H~0FH共16个地址,为寄存器地址。
寄存器分为4页:PAGE0、PAGE1、PAGE2、PAGE3,由RTL8019AS的CR(Command Register命令寄存器)中的PS1、PS0位来决定要访问的页。
但与NE2000兼容的寄存器只有前3页,PAGE3是RTL8019AS自己定义的,对于其他兼容NE2000的芯片如DM9008无效。
远程DMA地址包括10H~17H,都可以用来做远程DMA端口,只要用其中的一个就可以了。
复位端口包括18H~1FH共8个地址,功能一样,用于RTL8019AS复位。
3 接口电路设计下面介绍51系列单片机与RTL8019AS的接口电路,实现的网络接口采用UTP(无屏蔽双绞线)RJ-45接口。
图2给出了89C52单片机控制RTL8019AS实现以太网通讯的接口电路框图。
用到的主要芯片有80C52、RTL8019AS、93C46(64×16bit的EEPROM)、74HC573(8位锁存)、62256(32K字节的RAM)。
为分配好地址空间,采用对93C46进行读(或写)操作来设置RTL8019AS的端口I/O基地址和以太网物理地址。
93C46是采用4线SPI串行接口的Serial EEPROM,容量为1Kbit(64×16bit),主要保存RTL8019AS的配置信息。
00H~03H的地址空间用于存储RTL8019AS内配置寄存器CONFIG1~4的上电初始化值;地址04H~11H存储网络节点地址即物理地址;地址12H~7FH内存储即插即用的配置信息。
RTL8019AS通过引脚EECS、EESK、EEDI控制93C46的CS、SK、DI引脚,通过EEDO接收93C46的DO引脚的状态。
RTL8019AS复位后读取93C46的内容并设置内部寄存器的值,如果93C46中内容不正确,RTL8019AS就无法正常工作。
先通过编程器如ALL07把配置好的数据写入93C46,再焊入电路。
对93C46进行数据配置:数据00H写入93C46的地址00H内;93C46地址04H~0AH中存放的是物理地址,可以写入设置所需的物理地址值,或不修改,采用原始值为物理地址。
通过编程器读出04H~0AH的原始值为52544CC59906,即所采用的物理地址。
这样,RTL8019AS复位后读取93C46中配置好的内容,对应设置配置寄存器CONFIG1的值为00H,CONFIG1的低4位IOS3~0用于选择I/O基地址。
IOS3~0设置值均为0时,RTL8019AS选择的端口I/O基地址为300H。
RTL8019AS的地址为20位,那么用到RTL8019AS的地址空间为00300H~0031FH,用二进制表示00300H~0031FH,可以发现第19位到第5位是固定的:000000000011000。
RTL8019 AS的20根地址线SA0~SA19如表2连接。
表2 RTL8019AS地址线的连接表SA19~SA10 接地SA9~SA8 接单片机P2口的P2.7,即地址总线ADDR15SA7~SA5 接地SA4~SA0 对应为地址总线的ADDR0~ADDR4通过ADDR15、I/OW、I/OR来划分RTL8019AS和62256的地址空间。
ADDR15接62256的CE脚,低电平时选择62256;高电平时选择RTL8019AS的地址空间80C52单片机的地址为16位,按图2的电路框图连接RTL8019AS的地址空间。
定义reg00~reg1f来对应端口00300H~0031FH。
#define reg00 XBYTE[0x8000]/*300H*/#define reg01 XBYTE[0x8001]/*301H*/…#define reg1f XBYTE[0x801F]/*31FH*/读写操作、复位操作对应的引脚按表3连接。
表3 RTL8019AS的ISA总线接口引脚与单片机的连接表Pin29 IORB 读信号,接到单片机的WR引脚(P3.6)。
Pin30 IOWB 写信号,接到单片机的RD引脚(P3.7)。
Pin33 RSTDRV RESET信号,接单片机的T0(P3.4)。
Pin34 AEN 地址有效信号,接地。
Pin96 IOCS16 采用电阻下拉该引脚,复位时刻脚为低电平,选择8位模式。
Pin36~Pin43 SD0~SD7 8位数据总线,接单片机的P0口。
(只用到8位数据总线,SD8~SD15不接。
)采用10BASE-T布线标准通过双绞线进行以太网通讯,而RTL8019AS内置了10BASE-T收发器,所以网络接口的电路比较简单。
外接一个隔离LPF滤波器0132,TPIN±为接收线,TPOUT±为发送线,经隔离后分别与RJ-45接口的RX±、TX±端相连。
时钟电路通过T1、T2接口一个20MHz晶振以及2个电容,实现全双工方式。
LED0、LED1各接一发光二极管以反映通讯状态:LED0表示LED_COL,即通讯有冲突;LED1表示LED_RX,即接收到网上的信息包。
4 程序设计所有程序采用Framclin C51语言编制,可读性强,移植性好,开发简易。
4.1 复位RTL8019AS80C52的P3.4连接RTL8019AS的RESDRV来进行复位操作。
RSTDRV为高电平有效,至少需要800ns的宽度。
给该引脚旋加一个1μs以上的高电平就可以复位。
施加一个高电平后,然后施加一个低电平。
复位过程将执行一些操作,至少需要2ms的时间,推荐等待更久的时间之后如100ms之后才对它操作,以确保完全复位。
4.2 初始化RTL8019AS初始化页0与页1的相关寄存器,页2的寄存器是只读的,不可以设置,页3的寄存器不是NE2000兼容的,不用设置。
(1)CR=0x21,选择页0的寄存器;(2)TPSR=0x45,发送页的起始页地址,初始化为指向第一个发送缓冲区的页即0x40;(3)PSTART=0x4c,PSTOP=0x80,构造缓冲环:0x4c~0x80;(4)BNRY=0x4c,设置指针;(5)RCR=0xcc,设置接收配置寄存器,使用接收缓冲区,仅接收自己地址的数据包(以及广播地址数据包)和多点播送地址包,小于64字节的包丢弃,校验错的数据包不接收;(6)TCR=0xe0,设置发送配置寄存器,启用CRC自动生成和自动校验,工作在正常模式;(7)DCR=0xc8,设置数据配置寄存器,使用FIFO缓存,普通模式,8位数据DMA;(8)IMR=0x00,设置中断屏蔽寄存器,屏蔽所有中断;(9)CR=0x61,选择页1的寄存器;(10)CURR=0x4d,CURR是RTL8019AS写内存的指针,指向当前正在写的页的下一页,初始化时指和0x4c+1=0x4d;(11)设置多址寄存器MAR0~MAR5,均设置为0x00;(12)设置网卡地址寄存器PAR0~PAR5;(13)CR=0x22,选择页1的寄存器,进入正常工作状态。