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

發(fā)布時(shí)間:2010-11-11 12:06    發(fā)布者:designer
關(guān)鍵詞: C8051F020 , 電源 , 監控 , 遠程
1 引言

目前,以太網(wǎng)(ethernet)協(xié)議已經(jīng)非常廣泛地應用于各種計算機網(wǎng)絡(luò ),如辦公局域網(wǎng)、工業(yè)控制網(wǎng)絡(luò )等場(chǎng)合,并且還不斷地發(fā)展;谝蕴W(wǎng)的新技術(shù)和聯(lián)網(wǎng)設備不斷出現,以太網(wǎng)已經(jīng)成為事實(shí)上最常用的局域網(wǎng)絡(luò )標準之一。但是,基于以太網(wǎng)的嵌入式系統目前并不是很多。其原因除了嵌入式系統本身運行速度較慢、資源較少且不足以實(shí)現以太網(wǎng)的各種協(xié)議外,更重要是設計以太網(wǎng)的接口及協(xié)議相對比較復雜,使人望而卻步。本文將研討基于c8051f系列單片機系統的嵌入式系統與10mbps以太網(wǎng)控制器芯片rtl8019as的接口電路實(shí)現及編程方法。

2 嵌入式以太網(wǎng)接口分析

2.1 接口組成

8位mcu的嵌入式設備通過(guò)以太網(wǎng)接口,將8位mcu采集的數據信息,傳送到遠程服務(wù)器。在這個(gè)過(guò)程中需要處理網(wǎng)絡(luò )接口、接收數據的分析、發(fā)送數據段的封裝等問(wèn)題。

以10baset以太網(wǎng)為例,發(fā)送數據時(shí)應該做的工作是首先對需要發(fā)送的數據進(jìn)行曼切斯特編碼,然后對編碼后的數據進(jìn)行預處理,使其發(fā)送的數據適合10baset的以太網(wǎng)傳輸,最后把處理好的數據以適當的速度發(fā)送到以太網(wǎng)。同時(shí)為了保證數據的有效性,系統還應具有沖突檢測和重發(fā)功能。在這個(gè)過(guò)程中,直接用8位mcu來(lái)實(shí)現該功能非常困難。解決的方法是用專(zhuān)門(mén)的網(wǎng)絡(luò )接口芯片nic網(wǎng)絡(luò )接口卡(nic-network inteRFace card)來(lái)實(shí)現,這類(lèi)芯片遵循ieee802.3所規定的csma/cd協(xié)議,除了提供物理鏈路所需的電氣性能外,還提供曼切斯特編碼、沖突檢測和重發(fā)功能,可以用很少的外圍電路一起完成數據的發(fā)送和接收功能。這樣,8位mcu只需要nic芯片提供初始配置和數據接口,這對于8位mcu是沒(méi)有問(wèn)題的;谝陨系姆治,8位mcu的嵌入式設備以太網(wǎng)接口部分構成如圖1所示:





圖1 嵌入式設備以太網(wǎng)接口組成

2.2 以太網(wǎng)控制芯片——rtl8019as

(1) rtl8019as的主要性能
  • 符合以太網(wǎng)ii與ieee802.3(10base5、10base2、10baset)標準;
  • 全雙工,收發(fā)可同時(shí)達到10mbit/s的速率;
  • 內置16kb的sram,用于收發(fā)緩沖,降低對主處理器的速度要求;
  • 支持8/16位數據總線(xiàn),8個(gè)中斷申請線(xiàn)以及16個(gè)i/o基地址選擇;
  • 支持utp、aui、bnc自動(dòng)檢測,還支持對10baset拓撲結構的自動(dòng)極性修正;
  • 允許4個(gè)診斷led引腳可編程輸出;


采用cmos工藝,功耗低。單一電源5v供電。

(2) rtl8019as的內部結構

rtl8019as芯片內部包含遠程dma(直接存儲器存。┙涌、本地dma接口、mac(介質(zhì)訪(fǎng)問(wèn)控制)邏輯、數據編碼解碼邏輯和其它接口。這里的dma與平時(shí)所說(shuō)的dma有些不同:rtl8019as芯片的本地dma操作是由控制器本身完成;而遠程dma并不是在沒(méi)有主處理器的參與下數據能自動(dòng)移到主處理器的內存中,它指主處理器給出起址和長(cháng)度就可以讀寫(xiě)芯片的ram緩沖區,每操作一次ram地址自動(dòng)加1,而普通ram操作每次要先發(fā)地址再處理數據,速度較慢。內部結構如圖2所示。





3 嵌入式設備網(wǎng)絡(luò )互連設計方案

3.1 電路原理設計

c8051f020是美國cygnal公司推出的一種混合信號soc型8位單片機,它是一種完全集成的混合信號系統級芯片,具有與8051兼容的微控制器內核,與mcs-51指令集完全兼容。內核采用流水線(xiàn)結構,機器周期由標準的12個(gè)系統時(shí)鐘周期降為1個(gè)系統時(shí)鐘周期,70%指令的執行時(shí)間為1個(gè)或2個(gè)系統時(shí)鐘周期,處理能力大大提高,峰值性能可達25mips。

同時(shí),除具有標準8051的數字外設部件外,c8051- f020片內還集成了構成一個(gè)單片機數據采集、控制系統所需要的幾乎所有模擬、數字外設及其他功能部件。這些外設或功能部件包括:用于多種模擬信號的模擬多路選擇器、真正12位轉換精度的ADC,還有能滿(mǎn)足特殊功能所需的smbus(i2c兼容)、uart、spi、多個(gè)多功能計數器/定時(shí)器、以及看門(mén)狗定時(shí)器(wdt)和電源監視器等數字外設。

c8051f020具有100腳的tqfp封裝,功耗低,供電電壓為2.7~3.3v,全部i/o、rst、jtag引腳均耐5v電壓。其mcu具有p0~p7共64個(gè)通用i/o端口,每個(gè)端口引腳都可以被配置為推挽輸出或漏級開(kāi)路輸出。對于rtl8019as,由于其工作電壓是5v,而c8051f020的工作電壓是3.3v,所以要c8051f020的輸出能更好地驅動(dòng)5v輸入的oled,需要對系統進(jìn)行額外配置。除了將對應端口的輸出方式設置為“漏極開(kāi)路”外,還應在電路上將每個(gè)端口通過(guò)一個(gè)上拉電阻接到5v電源,這樣可以保證c8051f020的邏輯“1”輸出能夠被提升到5v。



單片機采用c8051f020芯片,以查詢(xún)工作方式不斷讀取rtl8019as狀態(tài)寄存器。以遠程dma方式發(fā)送或讀取rtl8019as的數據。詳見(jiàn)圖3。





由于網(wǎng)絡(luò )控制器具有 ethernet(ieee802.3)協(xié)議處理功能,系統便可直接rj45連接到以太網(wǎng)(再通過(guò)以太網(wǎng)接入 internet)。本文所設計的系統中選用的rj45連接器為lf1s022,它已經(jīng)具有電平轉換功能,簡(jiǎn)化了 pcb設計。值得注意的是,設計pcb時(shí),rj45連接器不能與cpu和網(wǎng)絡(luò )芯片相距太遠,以免對數據傳輸造成影響。

rtl8019as的tpin+(59腳), tpin-(58腳)腳是tp 的一對輸入腳,能以10mbits/s 的速率從雙絞線(xiàn)接收差分曼徹斯特編碼的數據。tpout+(45腳)、tpout-(46腳)是一對曼徹斯特編碼的差分tp輸出信號。為了防止雙絞線(xiàn)超載,該輸出信號會(huì )被提前中斷,這樣可以減少擁塞。連接時(shí),這四個(gè)管腳分別接到 lf1s022的7、6、5、4腳。連接器的其他管腳都通過(guò)一個(gè)電容與地連接。最后,還必須在50、51腳之間接入一個(gè)20mhz的晶體振蕩器。

圖3中擴展的rj45口接入互聯(lián)網(wǎng),rtl8019as通過(guò)本地dma方式將接收到的數據送到片內sram,或者從片內sram讀取數據從rj45口發(fā)送出去。

網(wǎng)卡的復位信號rstdrv由單片機的p5.2產(chǎn)生,rstdrv為高電平有效,至少需要800ns的寬度。由p5.2引腳產(chǎn)生一個(gè)1μs以上的高電平就可以使rtl- 8019as芯片復位。

rstdrv從高電平到低電平之后要等多久,單片機才可以對網(wǎng)卡進(jìn)行操作?復位的過(guò)程將執行一些操作,比如將內部寄存器初始化等。這些至少需要2ms的時(shí)間。為確保完全復位,應該等待更久的時(shí)間之后才對網(wǎng)卡操作,比如100ms之后才對它操作。

對rstdrv可以接單片機的一個(gè)i/o口線(xiàn)進(jìn)行網(wǎng)卡的復位,也可以直接將rstdrv跟單片機的reset引腳并聯(lián),單片機復位的時(shí)候,網(wǎng)卡也復位,以減少一個(gè)單片機的引腳使用。

3.2 網(wǎng)卡的初始化

網(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í)意義。
本文地址:http://selenalain.com/thread-38451-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页