基于PCE061A驅動(dòng)以太控制芯片RTL8019AS的嵌入式設備解決方案
5軟件實(shí)現部分
軟件設計主要包括:以太網(wǎng)控制器初始化程序、驅動(dòng)程序、TCP/IP協(xié)議棧程序、系統網(wǎng)絡(luò )配置程序。以太網(wǎng)控制器驅動(dòng)程序用于設置以太控制芯片的工作狀態(tài)即工作方式,分配收發(fā)數據的緩沖區;系統網(wǎng)絡(luò )配置程序用于給監測系統分配IP地址及域名。限于篇幅,下面僅給出了采用匯編語(yǔ)言編寫(xiě)的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; //選擇寄存器頁(yè)面0,芯片不工作
[P_IOA_Data]=R1;
[P_IOB_Data]=R1;
R1=0x004c;//設置接收緩沖區,頁(yè)地址為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; //選擇寄存器頁(yè)面1
[P_IOA_Data]=R1;
...
R1=0x0001;
[P_IOB_Data]=R1;
R1=0x0022; //選擇寄存器頁(yè)面0,芯片進(jìn)入工作狀態(tài)
[P_IOA_Data]=R1;
retf; // 程序返回
6 結束語(yǔ)
利用16位單片機SPCE061A驅動(dòng)以太控制芯片RTL8019AS,實(shí)現信息家電經(jīng)由嵌入式網(wǎng)關(guān)接入internet的方式,可以方便、低廉地將信息家電的工作狀態(tài)送往遠程PC進(jìn)行監控。這種低成本、高性能的方案,具有可靠靈活的特點(diǎn),適用于通信速率不大,允許延時(shí)的家庭自動(dòng)化設備。用戶(hù)可根據需要,按上述方法,為傳統的家電賦予接入internet的能力。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論