基于C8051F020单片机的以太网通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微 处 理 机
M I CROPROCESS ORS
基于C8051F020单片机的以太网通信
付 蓉1
,高晓丁1
,王 旭1
,居法立
2
(1.西安工程大学机电工程学院,西安710048;2.陕西省电力设计院,西安710054)
摘 要:介绍了C8051F020和以太网控制芯片RT L8019AS 的技术特点。

设计了以单片机
C8051F020和以太网控制芯片RT L8019AS 连接的嵌入式系统以及系统软件;实现了8位单片机以太网通信设计方案。

关键词:嵌入式系统;单片机C8051F020;以太网;T CP I/I P 协议中图分类号:TP368.2 文献标识码:A 文章编号:1002-2279(2009)01-0049-03
The E the rne t Comm un i ca ti o n B a sed o n the C8051F020
F U Rong 1
,G AO Xiao -ding 1
,WANG Xu 1
,JU Fa -li
2
(1.X i ’an Polytechnic U niversity,m echanic electrical Engineering college,X i ’an 710048,China;
2.Shaanxi Electric Po w er D esign Institute,X i ’an 710054,China )
Abstract:The general perf or mances of C8051F020and Ethernet contr oller RT L 8019AS are intr oduced .The e mbedded -Ethernet syste m with MCU C8051F020and RT L8019AS ’hard ware circuit and the s oft w are p r ogra m designed.Finally it realizies the design of Ethernet communicati on .
Key words:E mbedded syste m;MCU C8051F020;Ethernet;TCP /I P
1 引 言
随着互联网的日益普及,信息共享程度的要求在不断提高,各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备在逐步地走向网络化,以便利用庞大的网络资源,实现分布式远程监控、信息交换与共享。

目前大多数智能设备和仪表都采用RS232/485通讯方式,不具备远程控制和数据传输能力,如何利用以太网实现远程监控系统,如何通过互联网共享以单片机应用系统为核心的小型嵌入式设备的信息,如何利用现已十分成熟的技术、8/16位廉价的MCU 及以太网控制器芯片,在不需要使用PC 机或高档单片机的情况下接入互联网,是嵌入式系统通信研究的发展趋势。

本文采用C8051F020单片机和RT L8019AS 以太网控制器芯片实现了嵌入式系统与以太网的互联通信。

2 单片机C8051F020简介
[1]
C8051F020是一种新型的S OC 型8位单片机,其
片内除了与8051兼容的内核C I P251外,还集成了多种模拟数字芯片,当它工作在最大系统时钟频率
25MHz 时,峰值速度可以达到25M I PS,能满足8位单
片机以太网通信设计方案的信息处理速度要求。

C8051F020是完全集成的混合信号系统MCU 芯片,有64个数字I/O 引脚,主要特性有:⑴高速流水线结构、与8051兼容的C I P -51内核;⑵全速、非侵入式的在系统调试接口(片内);⑶真正12位、100ks p s 的8通道ADC,带PG A 和模拟多路开关;
⑷两个12位DAC,可编程更新时序;⑸4352(4096+256)字节的片内RAM;⑹可寻址64K 字节地址空间的外部数据存储器接口;⑺硬件实现的SP I 、S MBus/I 2C 和两个UART 串行接口;⑻5个通用的l6位定时器;⑼具有5个捕捉/比较模块的可编程计数器/定时器阵列;⑽片内看门狗定时器、VDD 监视器和温度传感器;⑾独立运行的时钟发生器,时钟源可在运行时切换到外部时钟源;⑿64K 字节可在系统编程的F LASH 存储器。

C8051F020是真正能够独立工作的片上系统,MCU 能有效地管理模拟和数字外设,可以关闭单个
或全部外设,以节省功耗。

F LASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允
许现场更新8051固件[2]。

作者简介:付蓉(1983-),女,甘肃省兰州市人,硕士研究生,主研方向:基于网络的远程监测系统研究,运动控制系统的研究。

收稿日期:2007-04-24
第1期2009年2月
No .1
Feb .,2009
微 处 理 机3 以太网控制器RT L8019AS
RT L8019AS 网卡芯片由台湾Realtek 公司生产,
主要特性有:①符合Ethernet II 与I EEE802.3标准;
②全双工,收发可同时达到10Mbp s 的速率;③内置16k B 的S RA M ,用于收发缓冲,降低对主处理器的速度要求;④支持8/16位数据总线,8个中断申请线以及16个I/O 地址选择;⑤允许4个诊断LE D 引脚可编程输出;⑥100脚的P Q FP 封装,缩小了PCB 尺寸。

RT L8019AS 芯片内部包含远程DMA (直接存储
器存储)接口,本地DMA 接口,MAC (介质访问控制)逻辑、数据编码解码逻辑和其它接口。

RT L8019AS 芯片的本地DMA 操作由控制器本身完成;远程DMA 是指主处理器给出起止和长度就可以读写芯片的RAM 缓冲区,每操作一次RAM 地址
自动加1,速度较快[3]。

4 系统的硬件设计
图1是C8051F020单片机控制RT L8019AS 实现以太网通信的接口电路原理图。

图1 C8051F020与RT L8019AS 接口电路原理图
该设计外部接口采用非复用方式配置[4]。

C8051F020的数据总线D0~D7(即P7.0~P7.7口)与RT L8019AS 的8位数据总线S D0~S D7直接相连。

RT L8019AS 可支持8位或16位数据总线,由于单片机为8位数据总线,将96脚(I O CS16B )用27k Q 电阻上拉则其工作在8位数据总线方式。

RT L8019AS 共有20位地址总线S A0~S A19。

前8位的引脚(S A0~S A7)接单片机的地址引脚P6.0~P6.7,其它相应的引脚接地。

C8051F020的RD 、WR 是读写信号线。

为了减少连线,通过使JP 脚接高电平,RT L8019AS 将工作在跳线模式,即RT L8019AS 的I/O 端口和中断由跳线引脚决定。

C8051F020的P5.2与RT L8019AS 的RST DRV 连接,RST DRV 为高电平有效,是RT L8019AS 的复
位信号。

P5.2产生一个1
μs 以上的高电平就可以使RT L8019AS 芯片复位。

与外部网络的连接由RJ45接口完成。

RT L8019AS 的TP I N +(59脚),TP I N -(58脚)脚是TP 的一对输入引脚。

TP OUT +(45脚)、TP OUT -(46脚)是一对TP 输出引脚。

连接时,这四个管脚
分别接到连接器LF1S022的7、6、5、4脚。

最后,还
必须在RT L8019ASX1(50脚)、X0(1脚)间接入一个20MHz 的晶体振荡器。

图中的RJ45口接入互联网,RT L8019AS 通过本地DMA 方式将从互联网接收到的数据送到片内SRAM ,或者从片内SRAM 读取数据通过RJ45口由互联网发送出去。

5 系统软件设计
嵌入式系统的程序设计主要包括网络驱动程
序、网络通信程序[5]。

5.1 网络驱动程序
网络驱动程序包括RT L8019AS 芯片的初始化、发送、接收三部分。

5.1.1 对RT L8029AS 的初始化
系统是通过C8051F020来控制RT L8019AS 的相关寄存器单元,实现网络联接和数据通信。

在启动通信之前,首先必须初始化:①初始化命令寄存器CR,启动RT L8019AS;②设置数据配置寄存器DCR,以字节方式通信;③设置发送配置寄存器T CR,选择RT LS019AS 数据发送的工作方式;④设置远程开始地址寄存器RS AR0、RS AR1,指明远程DMA 操作
・05・2009年 
付 蓉等:基于C8051F020单片机的以太网通信
时所传送数据的起始地址。

5.1.2 接收数据
当RT L8019AS 收到一个完整的以太网数据包后,向C8051F020发出中断请求,C8051F020响应RT L8019AS 后,进入中断服务程序并开始接收数据,流程如下:
第一步是由本地D MA 将帧存入接收缓冲环中;第二步由远程DMA 将接收缓冲环中的帧读入内存。

当初始化接收配置寄存器和接收缓冲相关寄存器后,网卡便能自动进行帧的接收。

一旦接收到网络数据,网卡自动执行本地DMA 写过程。

远程DMA 的读操作设置在主处理器的中断子程序中,完成本地DMA 写后就中断主处理器的主程序,执行远程DMA 读,从而完成接收数据帧的过程。

5.1.3 发送数据
系统发送数据的流程:
主处理器C8051F020执行远程D MA 将数据写入RT L8019AS 的发送缓冲区中,然后执行本地D MA 读
操作,把网卡缓冲区的数据发送到网络传输线上[6]。

有3个寄存器用于控制发送数据,分别是传输页起始地址寄存器(TPS R )、传输字节寄存器(T BCR0,1)、命令寄存器(CR )。

传输开始前,主处理器将初始化这三个寄存器,然后将命令寄存器(CR )中的T XP 置位、STP 复位,即向CR 写入xxxxxl10(二进制,其中X 表示不改变寄存器的原有值),这时RT L8019AS 将从内存中把数据读入F I F O 并逐位送出,RT L8019AS 还会自动为要发送的数据包添加包头和CRC 校验序列,而无需主处理器进行任何操作。

用环形缓冲区来缓存要发送的数据,缓冲区的操作规则与接收缓冲区一致,只不过这个缓冲区完全由主处理器来维护,RT L8019AS 并不参与。

5.2 网络通信程序
系统完成数据的收发是以太网的MAC 层和物理层的协议,要真正实现嵌入式系统与以太网上其他设备进行通信,保证因特网上数据的准确快速传
输,需要在系统中实现T CP /I P 协议[6]。

在本系统中,放弃完整的T CP 栈,仅利用T CP /I P 协议中的UDP (用户数据报文协议)、I P (网络报文协议)、ARP (地址解析协议)以及简单的应用层协议来成功地实现8位单片机的以太网络互连通信,以太网络通信程序框图如图2所示。

图2 网络通信框图
首先初始化网络设备,网卡I P 地址和物理地址
存入F LAS HSST39LV040中;单片机复位后先读取这些数据以初始化网络;当有数据从RJ45传送过来,单片机对数据报文进行分析,如果是I P 数据包且传输层使用UDP 协议,端口正确,则认为数据报文正确,数据解包后,取出数据,再由RS232总线的通信协议重新组成帧,发送给用户产品进行升级;如果是ARP (物理地址解析)数据包,则程序转入ARP 处理程序(因为在网络上正是ARP 协议将I P 地址和物理地址相映射)。

反之,如果单片机从串口收到数据,则将数据按照UDP 协议格式打包,送入RT L8019AS,由RT L8019AS 将数据输出到以太网。

6 结束语
由于C8051F020单片机对于各种机电设备有
良好的接入和控制能力,所以,在将单片机接入以太网络之后,在机电设备和远端的计算机之间建起了一道桥梁,通过它可以实现对工作现场的机电设备实施远程监视,对各种设备统一管理,大大提高了设备的管理水平。

参考文献:[1] 李刚,林凌.与8051兼容的高性能、高速单片机-C8051FXXX[M ].北京:北京航空航天大学出版社,
2002.[2] 潘琢金,施国君.C8051FXXX 高速S OC 单片机原理及
应用[M ].北京:北京航空航天大学出版社,2002.[3] 王宜怀,刘晓升.嵌入式应用技术基础教程[M ].北
京:清华大学出版社,2005.
[4] 梁庆和.嵌入式系统设计[J ].电子技术应用,2002
(3):15-17.[5] 景雪琴,梁长河.基于网络的织物强力机测控系统
[J ].计算机工程与设计,2004(9):1543-1544.[6] 闫磊,李玉强,贾昱.基于以太网的嵌入式系统研究
[J ].沈阳工业大学学报,2004(2):182-184.

15・ 1期。

相关文档
最新文档