電子產業(yè)一站式賦能平臺

PCB聯盟網

搜索
查看: 1963|回復: 0
收起左側

嵌入式linux編程學習_由W3100A構成嵌入式網關的家庭智能系統(tǒng)

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉到指定樓層
樓主
發(fā)表于 2020-8-3 11:18:16 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
嵌入式linux編程學習_由W3100A構成嵌入式網關的家庭智能系統(tǒng),   

摘要:主要從嵌入式系統(tǒng)自身的特點出發(fā),介紹一種新型的基于嵌入式網關的家庭智能系統(tǒng)。系統(tǒng)以以太網為通信媒介,利用嵌入式網關進行家庭內外信息交換,通過瀏覽器對家庭的各種信息進行實時、有效的管理和調度,為現代家庭生活提供智能服務。

    關鍵詞:W3100A 嵌入式網關 DNS DHCP

引言

當今社會逐漸入網絡時代,因特網已成為重要的基礎信息設施。目前,大部分網絡終端仍以PC的形式出現,但是從計算機應用普及的情況看,嵌入式系統(tǒng)更為普及,過去大量的浩如煙海的8位/16位單片機的嵌入式設備,已經到了享受網絡方便的時候了。近來的統(tǒng)計證明:PC機CPU的產量僅是MCU產量的1/100,并且由于MCU的成本低廉,應用非常普及。在工業(yè)測控、智能儀器、智能家庭領域,MCU應用系統(tǒng)已無處不在。在這些場合中,以MCU為核心的設備同樣也需要解決接入因特網的問題。本文在分析嵌入式系統(tǒng)與常規(guī)計算機系統(tǒng)研發(fā)不同點的基礎上,介紹一種新型家庭智能系統(tǒng)。

1 家庭智能系統(tǒng)的體系結構


家庭智能系統(tǒng)體系結構的總體框圖如圖1所示。從大的方面看,家庭智能系統(tǒng)可由三部分組成:家庭自動化外部接口模塊、家庭自動化圖像模塊、家庭智能化內部無線收發(fā)與控制模塊。未來的家庭中,多件家用電器與各種報警器將組成一個家庭的內部網,并通過內部網的網關接入因特網。一方面,內部網中的家電可以通過網關訪問因特網上資源。如網絡電視機每天早晨自動訪問用戶喜歡的某個電視臺的網站,自動下載晚上的節(jié)目表。另一方面,用戶可以在因特網任務一點通過瀏覽器對家里的家用電器與報警器進行遠程控制。如用戶出門在外,可以在外地上網,通過瀏覽器,啟動家里的攝像機實時監(jiān)察家里的安全。家庭自動化內部無線網模塊要由消息處理模塊和基于工頻的無線收模塊(NRF401)構成。它將成為Internet網的發(fā)展沃土,順應“網絡服務”向“網絡應用”擴展的大潮。本文主要介紹嵌入式網關,以及如何在遠程訪問具有靜態(tài)或動態(tài)IP地址嵌入式網關的技術。

2 嵌入式網關

目前,國內外嵌入式網關的設計有二種方案:第一種方案,是基于軟件來實現TCP/IP協議棧;第二種是直接利用TCP/IP協議棧芯片。本文介紹的嵌入式網關采用第二種方案,它由W3100A、RTL8201、MCU組成,如圖2所示。  

圖2中,DLC為數據鏈路控制,MAC為媒體訪問控制,IP為網際協議,ICMP為因特網控制報文協議,TCP為傳輸控制協議,UDP為用戶數據攝協議,DPRAM為雙端口存儲器。

第一種方案在大批量生產時,具有成本低的優(yōu)點,因為用軟件設計的TCP/IP協議棧,是一次投交多次使用;但開始投次比較大且設計復雜,因為需要實時操作系統(tǒng)的支持,而第二種方案,盡管在大指生產時成本高,因為每個智能設備都要嵌入TCP/IP協議棧芯片;但是在非大批量生產時具有投次比較大,設計簡單、靈活的特點,因為不需要實時操作系統(tǒng)的支持。本文采用的TCP/IP協議棧芯片是W3100A.它有如下特點:首先,它自帶TCP/IP協議棧(如TCP、UDP、Ipver.4、ICMP、ARP、DLC、MAC協議);其次,它能同時支持四個獨立的連接通道,具有高速傳輸速率(如網關的MCU用Atmel 8951,那么網關的傳輸速率是200b/s;若用Intel386,那么網關的傳輸速率是3Mb/s)同時,它具有與MCU和物理層電路接口。從圖2可以看到;W3100A除了具有上述特點外,還提供了Socket應用程序編程接口,為那種需要進行因特網連接的智能設備,提供了一種簡便、廉價、高效的方案,只要將W3100嵌入智能設備就可以了。這樣,大大減少了軟件研發(fā)費用,減輕了MCU的工作量,同時便利該產品具有競爭力,并符合嵌入式系統(tǒng)設計原則:①價格。由于嵌入式設備對價格非常敏感,通常要求價廉質優(yōu),故在設計產品時,在滿足功能要求的情況下盡量降低成本。②環(huán)境。在功能要求滿足的同時,要考慮到該產品在惡劣環(huán)境下,能否正常工作,比如溫度、電源功耗等等。③使用。用戶在使用時,操作應盡量簡單。

RTL8201是單口10/100Mb/s以太網收發(fā)器,超低耗和少于180mA/3.3V操作電壓,支持全雙工和半雙工操作,提供一個LED顯示器指示一個網絡回環(huán)存在。由于上述的優(yōu)點,該嵌入式網關可以用在IP電話、網絡MP3、網絡相機和工業(yè)控制總線上。圖3是嵌入式網關的原理圖。

3 軟件設計思想

為了適應分組到達的隨機性,系統(tǒng)必須具有能夠從網絡接口讀取分組的能力,故本系統(tǒng)采用“軟件中斷”的機制。當一個分組到達時,產生一個硬件中斷,設備驅動程序接收分組重置接口設備。在中斷返回之前,設備驅動程序會通知硬件安排下一個較低優(yōu)先級的中斷;在此次硬件中斷結束后,低優(yōu)先級的中斷會繼續(xù)執(zhí)行。下面結合“軟件中斷”的機制、動態(tài)主機配置協議(DHCP)和域名系統(tǒng)(DNS),來說明如何在遠程訪問具有靜態(tài)或動態(tài)IP地址嵌入式網關的技術(主要說明如何在遠程訪問具有動態(tài)IP地址嵌入式網關的技術)。在介紹該技術前,先介紹幾個概念。

     (1)DHCP原理

當一臺設置為自動獲取IP地址的計算機在登錄網絡時,會向網絡上發(fā)送“租”一個IP地址的請求,專門負責提供IP地址的DHCP服務器回應這個請求,為這臺計算機提供一個空閑的IP地址。DHCP的主要用途是:通過服務器的伺服進程協助來控管各個主機(執(zhí)行中的用戶端)上不可缺少的網絡連線參數。

(2)DNS

DNS(Domain Name System,域名系統(tǒng))是一種組織成域層次結構的計算機和網絡服務命名系統(tǒng),用于TCP/IP網絡。它主要是通過用戶親切而友好的名稱代替枯燥而難記的IP地址,以定位相應的計算機和相應服務。DNS就是完成在名稱和IP地址之間的映射。對于動態(tài)分配IP,做一個DHCP程序來綁定用戶網關的MAC地址和IP地址,然后再根據不同IP設定權限,防止IP地址盜用。

(3)HTTP協議的作用原理

WWW是以Internet作為傳輸媒介的一個應用系統(tǒng),WWW網上最基本的傳輸單位是Web網絡。WWW的工作基于客戶機/服務器計算模型,由Web瀏覽器(客戶機)和Web服務器(服務器)構成,兩者之間采用超文本傳送協議(HTTP)進行通信。HTTP協議是基礎TCP/IP協議之上的協議,是Web瀏覽器來Web服務器之間的應用層協議,是通用的、無狀態(tài)的、面向對象的協議。

圖4 基于嵌入式網關的服務器與遠程瀏覽器的請求與應答示意圖

     根據上述HTTP協議的作用原理,本文實現了基于瀏覽器/嵌入式Web服務器模式的家庭智能系統(tǒng)。首先初始化W3100ATRTL8201,通過UDP傳輸DHCP報文,獲取動態(tài)IP地址,再得到DNS服務器支持,由DNS服務器負責建立IP地址與域名(別名)映射;同時,創(chuàng)建進程負責IP地址與域名(別名)映射更新,確保通過別名就可以訪問該嵌入式設備。初始化完成后,遠程瀏覽器就可以進行TCP鏈接了。建立TCP鏈接后,服務器等待遠程瀏覽器的請求,是一個被動的設備。當接收到建立TCP鏈接的請求后,來識別隨后收到的來自遠程客戶機瀏覽器的數據包。通過軟件中斷,監(jiān)聽W3100A、等待、接受客戶機連接到RTL8201后,在W3100A體現出來的標志;創(chuàng)建與Socket字相關聯的輸入流和輸出流;然后讀取客戶機的請求信息。在用戶登錄前,遠程瀏覽器必須獲得存儲在Flash內部的網頁,由此才能進行登錄和控制。GET為其請求數據包中的第一個詞, 表示這個請求是用來接收Web資源的。該服務器僅對HTTP請求的第一行Get/home.html/HTTP.1進行檢查和解釋。因為除了數據外,所有響應信息數據都是常量。服務器的響應數據包已經由程序定制好,存放在服務器中。響應的HTTP數據頭和資源一起存放在Flash中。服務器與瀏覽器鏈接建立后,服務器檢查接收的請求數據,然后調用8051內部的程序模塊,將相應的home.html發(fā)送給遠程瀏覽器。Web頁的存儲范圍為0000H~7FF0H,大約32KB,而8字節(jié)的用戶名和8字節(jié)的密碼可以存放在外圍Flash存儲區(qū)未端。在處理瀏覽器提交的數據信息時,按照兩個步驟進行程序設計。首先,服務器根據遠程瀏覽器傳送過來的數據信息,決定服務器的HTTP服務的方式。其實,將Web資源發(fā)送給遠程瀏覽器或使用函數來處理瀏覽器提交的數據,并將此數據傳遞給消息處理模塊。該消息處理模塊根據所要控制設備類型查表,然后啟動無線收發(fā)模塊將表中的消息發(fā)送出去。每個智能設備根據此消息啟動相應的操作,并借助于設計合理的數據結構和函數實現軟件設計。上述過程可用圖4和圖5形象地說明。

結語


本文介紹的嵌入式網關有很大的發(fā)展前途,它以以太網為通信媒介,利用嵌入式網關進行家庭內外信息交換;通過瀏覽器對家庭的各種信息進行實時、有效的管理和調度,為現代家庭生活提供智能服務。
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯系客服 關注微信 下載APP 返回頂部 返回列表