基于Internet的嵌入式網(wǎng)絡(luò)虛擬儀表硬件設(shè)計(jì)*
摘要: 本文闡述了以單片機(jī)和以太網(wǎng)控制芯片為核心的嵌入式網(wǎng)絡(luò)虛擬儀表的系統(tǒng)結(jié)構(gòu),詳細(xì)介紹了系統(tǒng)硬件設(shè)計(jì)。
關(guān)鍵詞: 虛擬儀表;單片機(jī);RTL8019AS
引言
隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,利用嵌入式計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)技術(shù),組成網(wǎng)絡(luò)嵌入式虛擬儀表,將處于不同地域的多個(gè)儀表組成一個(gè)統(tǒng)一的整體,實(shí)現(xiàn)數(shù)據(jù)共享和統(tǒng)一管理,可大大提高儀表系統(tǒng)的功能。遠(yuǎn)程虛擬儀表提出了一種全新的網(wǎng)絡(luò)儀表技術(shù)和方法,把Internet網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)、以及虛擬儀表技術(shù)結(jié)合起來(lái),項(xiàng)目的研究以電網(wǎng)電量測(cè)量和分析的實(shí)際應(yīng)用為目標(biāo)。
從實(shí)現(xiàn)網(wǎng)絡(luò)虛擬儀表功能模塊化角度考慮,把網(wǎng)絡(luò)虛擬儀表分為虛擬儀表主機(jī)和嵌入式網(wǎng)絡(luò)虛擬儀表終端兩部分,本文主要討論應(yīng)用AT89C52單片機(jī),結(jié)合網(wǎng)絡(luò)控制芯片RTL8019AS和測(cè)量、信號(hào)轉(zhuǎn)換、鍵盤(pán)/顯示等部件,實(shí)現(xiàn)遠(yuǎn)程控制和測(cè)量的嵌入式網(wǎng)絡(luò)虛擬儀表終端的硬件設(shè)計(jì),總體結(jié)構(gòu)框圖如圖1所示,該系統(tǒng)由單片機(jī)、通信協(xié)議控制模塊、液晶顯示模塊、鍵盤(pán)控制模塊、存儲(chǔ)擴(kuò)展模塊、串行A/D、D/A轉(zhuǎn)換模塊、以及接口擴(kuò)展模塊構(gòu)成。
系統(tǒng)硬件設(shè)計(jì)
通信協(xié)議控制電路
圖1 系統(tǒng)總體框圖
通信協(xié)議控制電路由網(wǎng)絡(luò)控制器RTL8019AS、串行EEPROM 93LC66、帶濾波的RJ45接口組成(見(jiàn)圖2)。
圖2 通信協(xié)議控制電路
RTL8019AS主要實(shí)現(xiàn)通信協(xié)議控制,內(nèi)部有遠(yuǎn)程DMA接口、本地DMA接口、MAC(介質(zhì)訪問(wèn)控制)邏輯、數(shù)據(jù)編解碼邏輯和其他端口。遠(yuǎn)程DMA接口是指單片機(jī)對(duì)RTL8019AS內(nèi)部RAM進(jìn)行讀寫(xiě)的總線,單片機(jī)收發(fā)數(shù)據(jù)只需對(duì)遠(yuǎn)程DMA操作。本地DMA接口是RTL8019AS與網(wǎng)線的連接通道,完成控制器與網(wǎng)線的數(shù)據(jù)交換。
MAC邏輯完成以下功能:當(dāng)單片機(jī)向網(wǎng)上發(fā)送數(shù)據(jù)時(shí),先將一幀數(shù)據(jù)通過(guò)遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令,當(dāng)RTL8019AS完成了上一幀的發(fā)送后,再開(kāi)始此幀的發(fā)送;RTL819接收到的數(shù)據(jù)通過(guò)MAC比較、CRC校驗(yàn)后,由FIFO存到接收緩沖區(qū);收滿一幀后,以中斷或寄存器標(biāo)志的方式通知主處理器。FIFO邏輯對(duì)收發(fā)數(shù)據(jù)作16字節(jié)的緩沖,以減少對(duì)本地DMA請(qǐng)求的頻率。
RTL8019AS內(nèi)部有兩塊RAM區(qū)。一塊16K字節(jié),地址為0x4000~0x7fff;一塊32字節(jié),地址為0x0000~0x001f。RAM按頁(yè)存儲(chǔ),每256字節(jié)為一頁(yè)。一般將RAM的前12頁(yè)(即0x4000~0x4bff)存儲(chǔ)區(qū)作為發(fā)送緩沖區(qū);后52頁(yè)(即0x4c00~0x7fff)存儲(chǔ)區(qū)作為接收緩沖區(qū)。要接收和發(fā)送數(shù)據(jù)包就必須通過(guò)DMA讀寫(xiě)RTL8019AS內(nèi)部的16KB RAM。它實(shí)際上是雙端口的RAM,是指有兩套總線連接到該RAM,一套總線RTL8019AS讀或?qū)懺揜AM,即本地DMA;另一套總線是單片機(jī)讀或?qū)懺揜AM,即遠(yuǎn)程DMA。
89C52通過(guò)P2.7、/WR、/RD來(lái)劃分RTL8019AS和62256的地址空間。P2.7接62256的/CE引腳,低電平時(shí)選擇62256;高電平時(shí)選擇RTL8019AS的地址空間。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論