<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于TCP/IP協議棧芯片實現新型家庭智能系統的設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:趙國安,高航,張 ? 2021-06-22 15:08 ? 次閱讀

作者:趙國安,高航,張有成

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

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

1 家庭智能系統的體系結構

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

2 嵌入式網關

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

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

第一種方案在大批量生產時,具有成本低的優點,因為用軟件設計的TCP/IP協議棧,是一次投交多次使用;但開始投次比較大且設計復雜,因為需要實時操作系統的支持,而第二種方案,盡管在大指生產時成本高,因為每個智能設備都要嵌入TCP/IP協議棧芯片;但是在非大批量生產時具有投次比較大,設計簡單、靈活的特點,因為不需要實時操作系統的支持。本文采用的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嵌入智能設備就可以了。這樣,大大減少了軟件研發費用,減輕了MCU的工作量,同時便利該產品具有競爭力,并符合嵌入式系統設計原則:①價格。由于嵌入式設備對價格非常敏感,通常要求價廉質優,故在設計產品時,在滿足功能要求的情況下盡量降低成本。②環境。在功能要求滿足的同時,要考慮到該產品在惡劣環境下,能否正常工作,比如溫度、電源功耗等等。③使用。用戶在使用時,操作應盡量簡單。

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

3 軟件設計思想

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

(1)DHCP原理

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

(2)DNS

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

(3)HTTP協議的作用原理

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

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

根據上述HTTP協議的作用原理,本文實現了基于瀏覽器/嵌入式Web服務器模式的家庭智能系統。首先初始化W3100ATRTL8201,通過UDP傳輸DHCP報文,獲取動態IP地址,再得到DNS服務器支持,由DNS服務器負責建立IP地址與域名(別名)映射;同時,創建進程負責IP地址與域名(別名)映射更新,確保通過別名就可以訪問該嵌入式設備。初始化完成后,遠程瀏覽器就可以進行TCP鏈接了。建立TCP鏈接后,服務器等待遠程瀏覽器的請求,是一個被動的設備。當接收到建立TCP鏈接的請求后,來識別隨后收到的來自遠程客戶機瀏覽器的數據包。通過軟件中斷,監聽W3100A、等待、接受客戶機連接到RTL8201后,在W3100A體現出來的標志;創建與Socket字相關聯的輸入流和輸出流;然后讀取客戶機的請求信息。在用戶登錄前,遠程瀏覽器必須獲得存儲在Flash內部的網頁,由此才能進行登錄和控制。GET為其請求數據包中的第一個詞,

表示這個請求是用來接收Web資源的。該服務器僅對HTTP請求的第一行Get/home.html/HTTP.1進行檢查和解釋。因為除了數據外,所有響應信息數據都是常量。服務器的響應數據包已經由程序定制好,存放在服務器中。響應的HTTP數據頭和資源一起存放在Flash中。服務器與瀏覽器鏈接建立后,服務器檢查接收的請求數據,然后調用8051內部的程序模塊,將相應的home.html發送給遠程瀏覽器。Web頁的存儲范圍為0000H~7FF0H,大約32KB,而8字節的用戶名和8字節的密碼可以存放在外圍Flash存儲區未端。在處理瀏覽器提交的數據信息時,按照兩個步驟進行程序設計。首先,服務器根據遠程瀏覽器傳送過來的數據信息,決定服務器的HTTP服務的方式。其實,將Web資源發送給遠程瀏覽器或使用函數來處理瀏覽器提交的數據,并將此數據傳遞給消息處理模塊。該消息處理模塊根據所要控制設備類型查表,然后啟動無線收發模塊將表中的消息發送出去。每個智能設備根據此消息啟動相應的操作,并借助于設計合理的數據結構和函數實現軟件設計。上述過程可用圖4和圖5形象地說明。

結語

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

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    447

    文章

    48194

    瀏覽量

    411031
  • 嵌入式
    +關注

    關注

    5001

    文章

    18394

    瀏覽量

    291039
  • 以太網
    +關注

    關注

    40

    文章

    5129

    瀏覽量

    166587
收藏 人收藏

    評論

    相關推薦

    基于TCP IP協議的嵌入式以太網終端設計

    / IP協議的嵌入式以太網終端的設計方案。該方案給出了ARM內核的微處理器S3C44B0X和以太網控制器芯片RTL8019AS的接口電路以及嵌入式
    發表于 06-27 09:33

    基于μC/OS—II的μC/IP協議在ARM系統中的實現

    —II與ARM7 Core的軟硬件平臺上實現了~C/IP協議的移植。實驗結果表明:移植后的協議
    發表于 03-28 14:04

    TCP_IP協議在嵌入式系統中的實現

    本帖最后由 eehome 于 2013-1-5 10:03 編輯 TCP_IP協議在嵌入式系統中的實現
    發表于 08-24 23:05

    uC/OS-II下如何實現TCP/IP協議

    uC/OS-II下應如何實現TCP/IP協議!
    發表于 09-15 11:35

    集成硬件TCP/IP協議網口芯片

    本帖最后由 圈圈7029 于 2014-11-18 10:37 編輯 本司專業提供嵌入式網口芯片(MAC+PHY),且芯片集成硬件TCP/IP
    發表于 11-10 22:41

    集成硬件TCP/IP協議網口芯片

    本司專業提供嵌入式網口芯片(MAC+PHY),且芯片集成硬件TCP/IP協議。在沒有OS的
    發表于 11-10 22:43

    剖析:WIZnet以太網核心技術–全硬件TCP/IP協議

    WIZnet,是全球第一家專注于全硬件TCP/IP協議技術(iOffloadTM Tech)的半導體公司,精心為用戶提供高速穩定的以太網解決方案,廣泛應用在工業自動化、
    發表于 04-09 09:44

    協議介紹--TCP/IP

    ,在使用上與一般的協議相同,可能只是在具體的使用細節可能有點不同。3)本協議設計時使用標準UCOS-II操作系統。也可使用其它操作
    發表于 09-03 15:03

    怎么用微芯片5.42 TCP/IP協議在PIC24上實現DNP?

    我是DNP(分布式網絡協議)的新手。有人熟悉這個協議或者有任何信息可以幫助我開始嗎?我想用微芯片5.42 TCP/IP
    發表于 09-23 09:49

    如何去簡化Simplified TCP/IP協議?

    Simplified TCP/IP協議的特點是什么?如何去簡化Simplified TCP/IP
    發表于 05-26 07:23

    怎么實現的基于TCP/IP協議的簡易服務器?

    本文以SPCE061A為主控制器,DM9000為以太網MAC控制器,配合一定的外圍電路而實現的基于TCPIP協議的簡易服務器。
    發表于 05-31 06:34

    怎么實現TCPIP協議在單片機上的移植?

    本文實現TCPIP協議在單片機上的移植,完成了系統的硬件電路和相關嵌入式軟件的設計,應用V
    發表于 06-03 07:08

    基于ARM的TCP/IP協議LwlP是如何實現的?

    嵌入式網絡通信系統的硬件平臺由哪幾個部分組成?基于ARM的TCP/IP協議LwlP是如何實現
    發表于 06-04 06:37

    怎么實現嵌入式TCP/IP協議的設計?

    本文闡述在一種異構網絡互聯——CAN總線與以太網互聯系統設計方案中嵌入式TCP/IP協議的設計與實現
    發表于 06-07 06:28

    TCP/IP協議有何功能

    TCP/IP協議是什么?TCP/IP協議
    發表于 10-14 06:39
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>