新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 以16位單片機實現信息家電連接internet

        以16位單片機實現信息家電連接internet

        作者: 時間:2009-09-09 來源:網絡 收藏
        收來自的控制數據并進行解包。該系統基于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初始化的部分代碼。

        .includehardware.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;



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 连州市| 瑞金市| 太仆寺旗| 云浮市| 礼泉县| 汽车| 荥经县| 西青区| 比如县| 洛隆县| 盐源县| 河南省| 遵化市| 高雄县| 宜川县| 呼和浩特市| 梅州市| 连江县| 固原市| 临泉县| 荔波县| 黎城县| 莒南县| 临沧市| 绥德县| 博野县| 乐陵市| 临清市| 揭东县| 松滋市| 桃江县| 钟祥市| 赤壁市| 岳西县| 磐安县| 迁西县| 波密县| 曲阜市| 岑溪市| 古交市| 乌拉特后旗|