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

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