首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
16位单片机实现信息家电连接internet的解决方案
来源:本站整理  作者:佚名  2009-09-02 10:28:08




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] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:174,468.80000 毫秒