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