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的能力。