新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89S52的遠程電源監控系統設計

        基于AT89S52的遠程電源監控系統設計

        作者: 時間:2009-03-19 來源:網絡 收藏

        網卡在能夠正常工作以前,必須先對其進行初始化,一般帶有操作系統的計算機上,網卡的初始化由其驅動程序完成。此例中由于c8051f020是全裸機(不含驅動程序),不僅需要用戶自己完成網卡的初始化,還需要用戶自己設置網卡的mac(介質訪問控制)地址以及對網卡進行讀寫訪問。
        初始化需要設置頁0與頁1的相關寄存器,頁2的寄存器是只讀的,不可以設置,頁3的寄存器不是ne2000兼容的,不用設置。需初始化的寄存器包括cr、dcr、pbcr、pstart、pstop、isr、imr、par0~par5、mar0~mar7、curr、tcr、rcr等寄存器。初始化函數主要要完成以下諸項工作。
        (1) 調用復位子程序隊rtl8019as進行復位。有兩種復位方式:一是硬件復位,通過拉高拉低reset引腳達到復位rtl8019as的目的;二是軟件復位,向if端口讀寫數據從而使rtl8019as復位。
        (2) 向命令寄存器cr寫入0x21h使rtl8019as處于停止模式,設置寄存器。
        (3) 設置數據配置寄存器dcr為使用fifo緩存、普通模式、8位數據傳輸模式,字節順序為高位字節在前,低位字節在后。設置rbcr0、rbcr1寄存器為0,即讀取ram字節數。
        (4) 設置接收和發送緩沖區起止地址。pstart接收緩沖區的起始頁地址0x46;pstop接收緩沖區的結束頁地址0x80;bnry指向最后一個已經讀取頁的指針0x46;tpsr發送頁的起始地址0x40;curr芯片寫內存指針,它指向當前正在寫的頁的下一個頁,即初始化時指向0x47。
        (5) 設置rcr接收配置寄存器為0xcc,使用接收緩沖區,僅接收自己的地址的數據包(以及廣播地址數據包)和多點播送地址包,小于64字節的包丟棄,校驗錯的數據包不接收。設置tcr發送配置寄存器為0xe0,啟用crc自動生成和自動校驗,工作在正常模式。
        (6) 設置mar0~mar8為0,清除多播地址寄存器;設置isr為0xff,清除中斷狀態寄存器;設置中斷屏蔽寄存器imr為0,屏蔽所有中斷請求。
        (7) 將物理地址寫入par0~5物理地址寄存器。
        (8) 最后設置tcr發送配置寄存器為0xe0;設置命令寄存器cr為0x22,芯片進入正常工作狀態,rtl8019as初始化完成。
        初始化時,必需指明嵌入式設備的48位硬件地址和廣播地址,并正確設置它的ip地址、子網掩碼和默認網關。工業控制一般都在一個同級局域網內部進行,因此可以直接令網關的ip地址為0。其主控制流程如圖4所示。

        本文引用地址:http://www.104case.com/article/173854.htm

        4 結束語
        本文分析了嵌入式設備與以太網接口的組成,簡要介紹了rtl8019as和c8019f芯片,并給出了嵌入式mcu與以太網控制芯片的硬件連接及其軟件。該以數據采集為例的,在工業生產中有很大的現實意義。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 青阳县| 宁陕县| 萝北县| 汪清县| 台南市| 龙井市| 湟源县| 思南县| 沂水县| 甘德县| 闻喜县| 蕉岭县| 保山市| 肇源县| 磴口县| 文化| 吴川市| 翁牛特旗| 越西县| 屏南县| 阳春市| 中山市| 婺源县| 莱阳市| 邵阳县| 宿州市| 曲阜市| 福海县| 开阳县| 拜泉县| 南投市| 陆丰市| 天津市| 马关县| 铁岭县| 奉节县| 广西| 宿州市| 九龙县| 高平市| 江达县|