基于ATmega64的遠程控制系統(tǒng)的研究
隨著互聯(lián)網(wǎng)的日益普及,各種家電設(shè)備、儀器儀表以及工業(yè)生產(chǎn)中的數(shù)據(jù)采集與控制設(shè)備在逐步地走向網(wǎng)絡(luò)化,以實現(xiàn)分布式遠程監(jiān)控、信息交換與共享。目 前廣泛使用的以太網(wǎng)以及TCP/IP 協(xié)議已經(jīng)成為最常用的網(wǎng)絡(luò)標準之一,其高速、可靠、分層以及可擴充性使其在各個領(lǐng)域的應(yīng)用越來越靈活,很多情況下采用以太網(wǎng)和TCP/IP,能夠簡化結(jié)構(gòu) 和降低成本。
本文引用地址:http://2s4d.com/article/170477.htm目前大多數(shù)智能設(shè)備和儀表都是采用RS232/485 或USB通訊方式,不具備遠程控制和數(shù)據(jù)傳輸能力。 利用以太網(wǎng)實現(xiàn)工業(yè)系統(tǒng)遠程控制, 通過互聯(lián)網(wǎng)共享小型嵌入式設(shè)備的信息,是工業(yè)控制研究的發(fā)展趨勢。本系統(tǒng)采用高速單片機ATmega64及RTL8019AS 以太網(wǎng)控制器,用嵌入式TCP/IP 協(xié)議可以實現(xiàn)TCP和UDP等網(wǎng)絡(luò)功能,進一步實現(xiàn)HTTP協(xié)議服務(wù),實現(xiàn)Web Sever 及接入Internet 的功能。
1 系統(tǒng)硬件設(shè)計
系統(tǒng)的結(jié)構(gòu)框圖如圖1所示, ATmega64是基于增強的AVR RISC 結(jié)構(gòu)的低功耗8位CMOS微控制器。內(nèi)帶64KB的Flash、2KB的E2PROM、4KB的SRAM。由于其先進的指令集以及單時鐘周期指令執(zhí)行時 間,ATmega64 的數(shù)據(jù)吞吐率高達1MIPS/MHz,從而可以滿足系統(tǒng)在功耗和處理速度方面的要求。
RTL8019AS 是一種高度集成的10MB以太網(wǎng)控制器,與NE2000兼容, 支持8位、16位數(shù)據(jù)總線;內(nèi)置16KB SRAM緩存;可連接同軸電纜和雙絞線,并可自動檢測所連接的介質(zhì)。以太網(wǎng)隔離濾波器選用20F00IN。
RTL8019AS 與主處理器的接口方式有三種:跳線方式、PNP(即插即用)方式和免跳線方式。RTL8019AS 的第65 腳JP 決定網(wǎng)卡的工作方式,本設(shè)計中JP腳接高電平(VCC),即使用跳線方式,此時可以省掉外部E2PROM 93C46芯片。單片機通過I/O 模式訪問以太網(wǎng)控制器。RTL8019AS 必須工作在8位模式下,其引腳IOCS16B經(jīng)電阻接地。電路框圖如圖2所示。
RTL8019AS本身具有地址譯碼功能,所有的控制功能或數(shù)據(jù)傳輸都是通過訪問地址偏移為00H~1FH的寄存器完成的,所以只需要5條地址 線(SA4~SA0)。在跳線方式下RTL8019AS的I/O 地址由引腳 IOS3~IOS0決定,將IOS3~IOS0對應(yīng)引腳全部接低電平,這時RTL8019AS的I/O 基地址為300H,因此可以用SA8 和SA9進行片選接至單片機的PC7。當PC7引腳置高電平時選中RTL8019AS ,當PC7引腳置低電平時選中外部RAM,而將片選信號AEN接地,這種片選方式可以節(jié)省一個反向器。AUI 用來檢測在AUI接口外部MAU 的使用情況。當該引腳未用時,應(yīng)該接地。
介質(zhì)的選擇由引腳PL1和PL0決定,RTL8019AS 還具有自動測試介質(zhì)連接是否成功的功能。無屏蔽雙絞線(UTP)電纜是目前使用最為普遍的電信介質(zhì)類型。為了更方便地將嵌入式以太網(wǎng)模塊接入到局域網(wǎng)中, 本設(shè)計采用RTL8019AS 與雙絞線連接的接口電路,即將PL0、PL1 接地。
2 以太網(wǎng)控制器的工作過程
以太網(wǎng)控制器的 RAM 以 256 字節(jié)為一頁,是按頁存儲的結(jié)構(gòu),16位RAM地址的高 8位又叫頁碼。以太網(wǎng)控制器的16KB RAM的地址從0x4000~0x7FFF,即從頁0x40 到頁0x7F,共有64 頁用來接收和發(fā)送數(shù)據(jù)包。這64頁RAM是一塊雙端口RAM。所謂雙端口就是說有兩套總線連接到該RAM,總線A 用于以太網(wǎng)控制器讀/寫片上RAM,總線B 用于單片機讀/寫以太網(wǎng)控制器上的 RAM??偩€A又叫Local DMA,總線B 又叫 Remote DMA。
2.1 數(shù)據(jù)包的發(fā)送過程
(1) 封裝數(shù)據(jù)包:數(shù)據(jù)包在發(fā)送前,單片機將其按如圖3所示的以太網(wǎng)幀格式封裝好,并存放在外部SRAM。
(2)通過遠程DMA將數(shù)據(jù)包寫入到 RLT8019AS 的數(shù)據(jù)發(fā)送緩沖區(qū), 數(shù)據(jù)的目的緩沖區(qū)首地址和字節(jié)數(shù)由內(nèi)部寄存器RSCR0、1設(shè)定。
(3) 通過RTL8019AS的本地DMA將數(shù)據(jù)送入FIFO 緩沖器進行發(fā)送。
2.2 數(shù)據(jù)包的接收過程
(1)本地 DMA 將需要接收的數(shù)據(jù)包存入到接收緩沖環(huán)中。
(2)由遠程 DMA 將接收緩沖環(huán)中的數(shù)據(jù)包寫入到外部 SRAM 中。
如果以太網(wǎng)控制器運行正常,接收到數(shù)據(jù)包時自動啟動本地 DMA 將數(shù)據(jù)存入接收緩沖環(huán)中,也就是說第一步是由 RTL8019AS 自動完成的。但是,接收緩沖環(huán)的范圍需要設(shè)置,PSTART、PSTOP 分別用于設(shè)置接收緩沖環(huán)的起始頁和發(fā)送頁,設(shè)置了接收緩沖環(huán)之后,接收到的第一個數(shù)據(jù)包放置的位置由當前頁面寄存器CURR 決定。
陀螺儀相關(guān)文章:陀螺儀原理
評論