1 引言 家庭網(wǎng)絡是指融合控制網(wǎng)絡和多媒體信息網(wǎng)絡于一體的家庭信息化平臺,是在家庭范圍內。實現(xiàn)各種電子設備互聯(lián)和管理的系統(tǒng)。一個典型的家庭網(wǎng)絡結構如圖1所示.一般由一個家庭網(wǎng)關(home gateway或resident gateway)和若干個網(wǎng)絡用具(network apphanees)組.成。組網(wǎng)的方式可以是有線的,也可以是無線的,可采用TCP/IP、以太網(wǎng)方案、xlO電力線方案、Zigbee、超寬帶(Ultra Wide Band,簡稱uwB)通信、近場通信(Near Field Communication,NFC)、藍牙等方式。 圖1家庭網(wǎng)絡結構圖 家庭網(wǎng)關是網(wǎng)絡的管理控制核心,負責把家庭中彼此孤立分散的子網(wǎng)系統(tǒng)或網(wǎng)絡用具終端設備互聯(lián)起來,實現(xiàn)信息的交互和共享,同時作為家庭內網(wǎng)和外部網(wǎng)連接的樞紐,以滿足內網(wǎng)和外網(wǎng)的信息交互。網(wǎng)絡用具,又稱網(wǎng)絡家電、信息家電,在IETF草案中按功能把它分成胖網(wǎng)絡用具(fat IPA)和瘦網(wǎng)絡用具(Thin IPA)兩種。功能比較復雜的胖網(wǎng)絡用具定義為:IPA= [network interface][apphcation control][I/O control]。即具備網(wǎng)絡接口和控制本地系統(tǒng)的I/O端口,并具有嵌入式應用程序的設備。家用電器如冰箱、空調等需要實現(xiàn)復雜控制功能,一般需要有網(wǎng)絡接口和I/O端口控制功能,同時需要開發(fā)m控制應用程序,就成為了胖網(wǎng)絡用具;家用電器如燈、門等實現(xiàn)簡單控制功能,只要具備網(wǎng)絡接口和I/O端口控制功能,它們就是瘦網(wǎng)絡用具。 可見網(wǎng)絡用具實際上是指包含一個網(wǎng)絡處理器并具備特定功能的消費設備,郎在傳統(tǒng)家用電器中加入網(wǎng)絡接口使之成為具有遠程遙控、信息訪問、獲取、存儲以及聯(lián)網(wǎng)等功能的信息家電,如此—來,我們不僅可以在本地對家電進行控制,還可以通過Internet網(wǎng)絡遠程控制家電,家電也可以把自身的狀態(tài)信息上報到家庭網(wǎng)關中。可以簡單地認為,普通的家用電子設備增加一個網(wǎng)絡接口,就可以成為網(wǎng)絡用具。因此,網(wǎng)絡用具的網(wǎng)絡接口是家用電子設備網(wǎng)絡化的關鍵部件。 本文提出—種網(wǎng)絡用具網(wǎng)絡接1:3的。方案,在本方案中.組網(wǎng)力式基于以太網(wǎng)的TCP/IP,硬件采用ATMEL公司的AVR單片機和RTL8019以太網(wǎng)芯片。該方案成本低,便于組網(wǎng),易于實現(xiàn)。 2 網(wǎng)絡用具接口的硬件設計 2.1系統(tǒng)結構 網(wǎng)絡用具接口硬件結構如圖2,可以看到網(wǎng)絡用具通過10口與AVR單片機通訊,單片機中內嵌TCP/IP協(xié)議棧,會話層、傳輸層在單片機中實現(xiàn),RTL8019AS實現(xiàn)數(shù)據(jù)鏈路層和物理的功能。 圖2網(wǎng)絡用具接口硬件結構圖 當家庭網(wǎng)關控制網(wǎng)絡用具時,數(shù)據(jù)通過帶隔離變壓器的RJ45接口.進入RTL8019AS的緩沖區(qū),經(jīng)RTL8019AS處理后被單片機讀入到單片機的RAM暫存,暫存的數(shù)據(jù)通過IO口或RS-232串口傳送到剛絡用具,在向家庭嘲關發(fā)送數(shù)據(jù)時,網(wǎng)絡用具經(jīng)IO口或RS-232串口發(fā)送數(shù)據(jù)包至單片機的數(shù)據(jù)緩沖區(qū),把數(shù)據(jù)打包,然后通過遠程DMA操作將組幀后的數(shù)據(jù)寫入到RTL8019AS的內部SRAM,再經(jīng)RJ45接口發(fā)送給家庭網(wǎng)關。如此,就實現(xiàn)了家庭網(wǎng)關與家電的雙向通訊,以及家電設備連接到Internet。 2.2硬件電路設計 硬件連接圖如下: 圖3 MCU與RTL8019AS硬件連接圖 這里選用的控制芯片是AVR單片機。本項目所用的單片機ATMEGA32L是一款高性能低功耗AVR8位單片機。這款芯片有32K的FLASH,足夠燒寫TCP/IP協(xié)議棧。 RTL8019AS是REALTEAK公司的一款10M以太網(wǎng)芯片,內部嵌入16KB的SRAM,它用于實現(xiàn)網(wǎng)絡的物理層協(xié)議,主要實現(xiàn)網(wǎng)卡和網(wǎng)絡電纜的物理連接.介質訪問控制(MAC),數(shù)據(jù)幀的開拆,數(shù)據(jù)幀的發(fā)送和接收,錯誤校驗、數(shù)據(jù)信號的編,解碼以及數(shù)據(jù)的串/并變換。 RTL8019AS片內有16K的SRAM,地址0X40000-0X7FFF,這16KRAM被初始化成2個部分:①接收以太網(wǎng)數(shù)據(jù)緩沖②發(fā)送以太網(wǎng)數(shù)據(jù)緩沖,具體2個緩沖大小可編程設定。 電路連接如圖3,RTL8019AS電源采用直流5V.它的SDOSD7數(shù)據(jù)總線,通過一個74HC573鎖存器與單片機連接,單片機用LE使能控制鎖存器。RTL$019AS采用8位總線,SA地址總線只使用SA0-SA4與單片機連接,其它SA5-SAl9都接地。這里基址為0。INTO為RTL8019AS8個中斷之一,與單片機的外部中斷連接,在接收數(shù)據(jù)時使用。RSTDRV為復位線,高電平有效,要求復位時間長于800ms。IOR/10W為讀寫控制線。AEN為地址使能,低電平有效。 芯片與網(wǎng)線接口RJ45通過TPIN+、TPIN-、TPOUT+、TPOUT-連接。TPIN+/TPIN-為雙絞線接收,TPOUT+、TPOUT-為雙絞線的發(fā)送腳。但是不能直接連接,要經(jīng)過網(wǎng)絡隔離變壓器隔離,本設計采用20F—Ol。它起的作用主要有兩個,一是傳輸數(shù)據(jù),把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉換耦合到不同電平的連接網(wǎng)線的另外一端;二是隔離網(wǎng)線連接的不同網(wǎng)絡設備問的不同電平,以防止不同電壓通過網(wǎng)線傳輸損壞設備。 3 RTL8019驅動程序 RLS019AS包含大量的片內寄存器單元,在工作的過程中需要實現(xiàn)數(shù)據(jù)包的接收和發(fā)送,必須正確的對相關的寄存器進行設置。對RTLSOl9AS的驅動程序主要包括3個部分:RTL80l 9AS初始化部分,數(shù)據(jù)包接收部分,數(shù)據(jù)包發(fā)送部分。 3.1初始化 初始化主要是對寄存器的初始化,主要包括初始化復位寄存器,初始化RTLS019AS的配置寄存器:CONFIG0-CONFIG3,初始化接收和發(fā)送緩沖區(qū),初始化RTL9019AS的中斷,初始化接收配置,發(fā)送配置等,設置以太網(wǎng)物理地址等。 3.2數(shù)據(jù)接收 數(shù)據(jù)的接收可以用查詢方式,芯片不斷向網(wǎng)絡中查詢是否有信息到達本節(jié)點;也可以用中斷方式,這里選擇中斷方式。RTL8019AS的INTO接ATMEGA32的INT0,當有中斷發(fā)生。AVR進入中斷服務,先通過讀取ISR,對中斷類型進行判斷,看是否正確接收。根據(jù)先前工程定義好的網(wǎng)卡接收緩存區(qū)地址,用CURR指針將接收到的數(shù)據(jù)讀取到內存中。當CURR指針同BURY指針地址相同時說明接收數(shù)據(jù)結束。所以要先判斷是否接收結束,再調用取包函數(shù)WY_GETPACK()。 取包函數(shù)主要包括停止8019的工作,復位中斷,判斷是否邊界寄存器是否越界,啟動DMA操作,讀取DMA,計算數(shù)據(jù)包長度.移動接收地址然后再讀。接收流程圖如圖4所示。 圖4數(shù)據(jù)接收流程圖 3.3數(shù)據(jù)發(fā)送 發(fā)送過程分為3個步驟:封裝數(shù)據(jù)包;將數(shù)據(jù)送至發(fā)送緩沖區(qū);發(fā)送數(shù)據(jù)。發(fā)送緩沖區(qū)空問為3k,可以保存2個完整的數(shù)據(jù)幀。可以把緩沖區(qū)分為兩部分,一部分用來發(fā)送,另一部分用來封裝數(shù)據(jù)包,達到提高效率的目的。如果發(fā)送的數(shù)據(jù)少于60字節(jié),則將數(shù)據(jù)填充至60個字節(jié)再發(fā)送出去。若數(shù)據(jù)大于1514個字節(jié)就要將數(shù)據(jù)分割到小于1514個字節(jié)后再發(fā)送。所以—個數(shù)據(jù)包的數(shù)據(jù)字節(jié)數(shù)必須控制在60—1514字節(jié).這是以太網(wǎng)8023協(xié)議規(guī)定的。如果發(fā)送失敗則重發(fā)。發(fā)送流程如下圖5所示。 圖5數(shù)據(jù)發(fā)送流程圖 4 結束語 網(wǎng)絡用具義稱網(wǎng)絡家電、信息家電,是未來家用電器的主要發(fā)展方向。在未來家庭中。多臺網(wǎng)絡用具設備協(xié)調工作,并組成一個互動的網(wǎng)絡環(huán)境,以方便用戶的使用,這個網(wǎng)絡環(huán)境被稱為數(shù)字家庭網(wǎng)絡,簡稱家庭網(wǎng)絡。家庭網(wǎng)絡是信息技術發(fā)展創(chuàng)新的必然趨勢。 本文創(chuàng)新點在于,設計了基于AVR的網(wǎng)絡用具接口方案,簡單易用,成本低,符合了信息家電的要求,更可以應用于遠程工業(yè)控制,遠程儀表抄表等領域。目前開發(fā)的開發(fā)板,使用單片機直接通過RTLSOl9AS芯片,用網(wǎng)線與PC機通訊,工作正常。 作者:蔡韜,陸以勤 來源:《微計算機信息》(嵌入式與SOC)2009年第6-2期 |