综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章单片机正文
 
以16位单片机实现信息家电连接internet的解决方案
发布日期:2005-10-04 作者:毕爱波 周东辉 来源:微计算机信息

摘要:在分析传统信息家电接入internet方式的基础上,提出了以16位单片机作为主控芯片的嵌入式设备解决方案,实现了信息家电以新的方式接入internet,并对系统的软硬件设计进行了描述。
关键词:嵌入式系统;以太网;RTL8019AS;SPCE061A;TCP/IP
  
0   引言
    随着网络时代的到来,internet已成为重要的基础信息设施,这方面的技术进步对于社会的各个方面产生了积极影响,很多领域都在不断探索开发和利用网络资源。从目前的情况看,大部分接入方式仍以PC作为网关来连接,然而这种情况一般用于大型工业集散控制系统,如果用于一般的信息家电接入而额外增加一台,必然会给产品带来高昂的成本,从产品的经济实用方面来看并不切实可行。用嵌入式设备将信息家电接入的方式则很好地解决了这一问题。所谓嵌入式设备一般是由嵌入式微处理器、外围设备、特定的网络协议以及应用程序等各部分组成,用于实现对信息家电的远程控制、监视和管理功能,它代替了传统的PC机或网关设备,在数据量不大的情况下能够符合要求,具有可靠灵活、成本低等优点。

1   方案的提出
    从信息家电远程在线访问的角度考虑,对信息家电监测和控制时存在两种情况:(1)远程访问时,信息家电的通信数据量不大,56Kbps的通信速率即可满足要求;(2)信息家电对实时性的要求不高,其时延可以在1秒以上。基于以上两个条件在选择嵌入式设备时,选择了单片机SPCE061A作为信息家电接入internet的微处理器,同时采用RTL8019AS作为以太帧的驱动芯片,负责以太帧的接收和发送。最后,通过RJ45接口发送状态信息到internet和接收来自internet的控制数据.此外,要实现信息家电接入internet还需要深入了解TCP/IP协议和网卡驱动程序。

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/0基地址选择;
    (5)支持UTP、AUI、BNC自动检测,还支持对10BaseT拓扑结构的自动极性修正;   
    (6)允许4个诊断LED引脚可编程输出;
    (7)100脚的TQFP封装,缩小了PCB尺寸。
    RTL8019AS内部可分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。其内部结构如图1所示。
 

图1 RTL8019AS内部结构

    ISA总线接口即远程DMA接口,是指主机对RTL8019AS进行控制和操作的总线,本地DMA接口是指RTL8019AS与网线的连接通道,作用是完成控制器和网络线的数据交换。PNP(即插即用)逻辑部分主要是用来解决和PC机的连接问题,BootROM端口作用是解决远程启动问题;EEPROM端口是用来操作RTL8019AS和EEPROM芯片24C64的接口,SRAM用来存放接收和要发送的数据;MAC逻辑完成数据的发送和接收过程中的一些控制;当主机要发送数据时,将一帧数据经过远程DMA信道送到以太网络控制器中的发送缓存内存中,然后发出传送命令,以太网络控制器在送出前一帧的数据后继而完成此帧的发送;接收数据时,串行数据组成字节送到FIFO和CRC,发送逻辑将FIFO送来的字节在发送时脉的控制下逐步按位移出并送到CRC,CRC逻辑在接收时对输入的数据进行CRC校验,将结果与帧尾的CRC比较,如不同该帧数据将被拒收,如相同则送到接收缓冲区中。等到接收缓冲区收满一帧后以中断或缓存器标志的方式通知主处理器把数据读走。
2.2 RTL8019AS的 I/O地址分配
    以太网络控制器内建的16KB的SRAM,可划分为接收缓冲区和发送缓冲区两个部分,缓冲区以帧为单位,每页256个字节,16KB的SRAM的页范围规定在0x40—0x80,由PSTART和PSTOP寄存器来设定接收缓冲页的范围,CURR指向接收到的帧的起始页,BNRY指向还未读取的帧之起始页亦即下一帧的页地址,当CURR到达了接收缓冲页的底部即与PSTOP相等时CURR又会自动指到PSTART处,因此这16KB的SRAM是设计成环状缓冲区的,以达到可再使用的目的。

3   硬件描述
    整个系统的设计核心是台湾凌阳科技股份有限公司推出的具有总线结构的16位高性能CMOS微处理器,可以进行高速运算、灵活的I/O口控制和高效的数据操作。SPCE061A具有2K字的SRAM和32K字的闪存ROM.与现有的8位微处理器相比,其提供了速度较高的16位x16位乘法运算指令Mul和内积运算指令Muls,加上优化的指令集,SPCE061A的吞吐量大为提高,这使得精简的指令集能够在其中可靠运行。系统硬件电路组成框图如图2所示。
 

 


 图2 系统硬件电路框图


    该硬件结构主要包括两部分:1.反映信息家电工作状态的信息采集2.数据经过TCP/IP协议压缩后,通过以太网控制芯片输出到internet,或接收来自internet的控制数据并进行解包。该系统基于IEEE1451.2和TCP/IP协议构建,具有标准化的网络接口,允许与Internet或Ethernet网络进行即时连接,从而实现了家电设备和外部网络的直接通讯,解决了监控设备和通讯网络的接口问题,为实现基于WEB的远程监控提供了底层的硬件互联。


4  单片机控制以太网卡进行数据传输
    单片机接入以太网必须嵌入TCP/IP协议,其加载TCP/IP协议控制以太网卡进行数据传输,并通过TCP/IP协议连接到互联网的基本思路是:在远程控制端进行的操作首先通过路由器寻找到目标,再通过网卡的ISA接口传入单片机。在单片机中加载的驱动程序将之转换成物理帧格式,最后由TCP/IP协议将之转换为应用层控制命令。因为单片机内部资源有限,要完成上网任务必须精简TCP/IP协议,本系统中使用了ARP、RARP、IP、UDP等部分协议,即可保证单片机接入以太网,亦保证足够小的代码量。单片机主要完成网络数据的解包和串口数据的打包,当以太网有数据到达该设备,单片机采用查询方式读取网络数据并分析,如果是ARP(物理地址解析协议)数据包,则转入ARP处理程序,并发送RARP数据包,将IP地址和物理地址加入到局域网中建立映射。如果是UDP数据包且IP地址和端口号正确,则接收数据包,数据解包后,将数据部分通过串口输出,控制现场设备。反之,如果现场设备通过串口发送数据到单片机,单片机将数据按照UDP协议格式打包,送入RTL8019AS,由RTL8019AS将数据输出到局域网中。根据需要还可以在收到串口数据时,先完成数据预处理,再将处理好的数据送到局域网。

5软件实现部分
    软件设计主要包括:以太网控制器初始化程序、驱动程序、TCP/IP协议栈程序、系统网络配置程序。以太网控制器驱动程序用于设置以太控制芯片的工作状态即工作方式,分配收发数据的缓冲区;系统网络配置程序用于给监测系统分配IP地址及域名。限于篇幅,下面仅给出了采用汇编语言编写的RTL8019AS初始化的部分代码。
.include  hardware.inc;//配置单元定义
.public  _init      //RTL8019AS初始化子程序
_init:
    R1=0xffff;         //初始化A口为输出
    [P_IOA_Attrib]=R1;
    [P_IOA_Dir]=R1;
    R1=0xfc07; //将IOB0~IOB2,IOB10~IOB15设置为输出,其他为输入
    [P_IOB_Attrib]=R1;
    [P_IOB_Dir]=R1;
    R1=0x0001;//选中00H寄存器
    [P_IOB_Data]=R1;
    R1=0x0021;  //选择寄存器页面0,芯片不工作
    [P_IOA_Data]=R1;
      [P_IOB_Data]=R1;
    R1=0x004c;//设置接收缓冲区,页地址为0x4c~0x7f
    [P_IOA_Data]=R1;
    R1=0x0001;//选中02H寄存器
    [P_IOB_Data]=R1;
    R1=0x0080;
    [P_IOA_Data]=R1;
      ...
    R1=0x0801;  //选中01H寄存器
    R1=0x0001;  //选中00H寄存器
    [P_IOB_Data]=R1;
    R1=0x0061;  //选择寄存器页面1
    [P_IOA_Data]=R1;
      ...
    R1=0x0001;
  [P_IOB_Data]=R1;
    R1=0x0022; //选择寄存器页面0,芯片进入工作状态
    [P_IOA_Data]=R1;
     retf;      // 程序返回

6 结束语
    利用16位单片机SPCE061A驱动以太控制芯片RTL8019AS,实现信息家电经由嵌入式网关接入internet的方式,可以方便、低廉地将信息家电的工作状态送往远程PC进行监控。这种低成本、高性能的方案,具有可靠灵活的特点,适用于通信速率不大,允许延时的家庭自动化设备。用户可根据需要,按上述方法,为传统的家电赋予接入internet的能力。
参考文献
[1]RTL8019AS  用户手册 。 REALTEK 半导体公司,2000
[2]何锐波,赵英俊。一种以太网与8位单片机的连接方法。单片机与嵌入式系统应用,2002(7)
[3]彭少熙,孙政顺,杜继宏.家庭网络中的嵌入式internet方案[M].北京:清华大学
[4]邓龙军,梁志坤,王泽芳.单片机在以太通信中的应用[J].广东工业大学学报,2001,(4):20~24.

 


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
网络化智能传感器中以太网接口设计 (11-10)
嵌入式系统以太网接口的设计 (12-24)
单片机图像采集与网络传输 (11-22)
POWERPC 860T实现多以太网口通信 (12-27)
SPCE061A单片机与液晶显示模块HS12864-1的接口及其编程 (09-13)
基于SPCE061A的ACM12864J液晶显示模块应用设计 (09-04)
基于PPP协议单片机拔号上网的设计与实现 (12-18)
家庭网络中的嵌入式Internet方案 (01-01)
基于SPCE061A的车载DVD播放器设计与实现 (10-31)
智能语音播报作息时间控制器 (03-13)
基于Cyclone EP1C6和SPCE061A的LED大屏幕系统设计 (07-20)
SPCE061A实现的电话防盗报警器 (02-27)
基于SPCE061A单片机的图形液晶模块的驱动设计 (01-06)
SPCE061A实现的电话防盗报警器 (11-30)
基于FPGA片上PowerPC和VxWorks的TCP/IP通信 (12-12)
基于Internet的网络监控信息系统 (12-07)
一种用于嵌入式系统的可变长缓冲区设计及其实现 (10-17)
智能楼宇系统中的软件化网络视频监控服务器 (10-24)
基于嵌入式web服务器的UPS监测系统 (10-16)
LabView实现远程数据采集与传输 (10-06)
嵌入式TCPIP协议的分析与研究 (10-02)
基于AT91R40008的嵌入式GPRS传输终端的设计与实现 (10-30)
基于MMC2107的网络接口设计与实现 (11-02)
基于SPCE061A的嵌入系统接入互联网方法的研究 (08-10)
嵌入式系统以太网接口的设计 (11-30)
基于Linux的TCP/IP协议栈安全性研究 (11-25)
基于 cOSⅡ操作系统的嵌入式网络服务器的设计与实现 (11-14)
基于TCP/IP的多线程通信及其在远程监控系统中的应用 (12-10)
数控直流电流源的设计与实现 (12-21)
基于“网络通”的以太网家庭数据终端 (12-24)
以太网桥接专用集成电路的实现 (12-19)
用于单片机的以太网网关--网络通 (12-18)
用8位单片机实现串口-以太网转换器 (12-13)
交换式路由器的千兆比以太网接口设计和实现 (12-25)
一种采集系统高速以太网数据转发器的实现 (12-26)
基于工业以太网现场控制器的开发 (02-10)
FCS技术国内应用的现状及存在的问题 (01-06)
校园网络系统的设计与实施 (01-01)
基于PC104总线的嵌入式以太网卡设计 (12-27)
基于FPGA的以太网MII接口扩展设计与实现 (12-12)
基于SOPC的嵌入式工业以太网控制器设计 (12-12)
基于E5122的家庭网络控制系统 (03-08)
基于SPCE061A单片机的二级倒立摆控制系统 (03-22)
10G以太网的UTOPIA接口设计与实现 (03-31)
基于LabVIEW与凌阳SPCE061A实现串口数据采集 (08-24)
TMS320C54x DSP的以太网接口设计 (03-13)
基于PIC单片机的以太网数据采集与控制电路设计 (09-01)
一种HomePNA调制解调器的设计与实现 (12-08)
远程数据传输的研究 (11-24)
基于FPGA的十端口千兆以太网接口的设计与实现 (11-15)
核心路由器千兆以太网线卡输入数据的分路设计与实现 (11-14)
基于SPCE061A的指纹识别系统 (08-10)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号