《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Cortex-M3內核處理器的嵌入式Web服務器設計
基于Cortex-M3內核處理器的嵌入式Web服務器設計
電子產品世界
王鐵流 高嵩 袁海英 李宗方 秦璐璐
摘要: 這種利用硬件實現TCP/IP協議的網絡芯片W5100及具有Cotex-M3內核的STM32處理器構成嵌入式Web服務器的方案性價比高。通過網絡,用戶在瀏覽器端可及時收到遠程現場傳感器采集的數據,遠程現場的開關狀態指示燈可實時地響應用戶的開關信號操作請求。測試表明該系統傳輸大塊數據文件的速率可達到100KBPS。為提高網絡資源的安全性,可采用AES(Advanced Encryption Standard,先進加密標準)等編碼機制來加密必須保護的私有數據。
Abstract:
Key words :

引言

  目前,網絡化控制己成為遠程控制的主要研究方向,利用網絡實現對局域乃至全球范圍內設備的監控是工業控制系統的發展趨勢[1]。嵌入式Internet遠程監控技術作為網絡化控制的代表,它解決了工業控制領域中異構網絡互聯問題,提高了傳統裝備的智能化水平,促進了傳統產業結構的調整。嵌入式Web服務器" title="嵌入式Web服務器">嵌入式Web服務器尤其適用于嵌入式Internet應用,它通過Ethernet或Modem的連接可以輕松連接到任何網絡,真正實現對設備的遠程管理和控制。

  實現方案

  嵌入式Web服務器必須具備的基本功能包括:可控制與其連接的設備并獲取設備的狀態和數據;現場信息可以網頁形式發布;可及時響應遠程用戶的控制命令。此外,嵌入式設備應具有功能簡單、功耗低和便攜等特點。為此,筆者設計的系統如圖1所示。

圖1 系統框圖

  本系統采用了ST公司的Cortex-M3" title="Cortex-M3">Cortex-M3內核的STM32" title="STM32">STM32微處理器STM32F103RB。該芯片屬于STM32系列的增強型,提供多達128KB的片內Flah、20KB的RAM和豐富的外設接口。Cortex-M3內核在設計上專門考慮了滿足集功耗低、實時性強的工業級嵌入式產品領域的特點。在性能相同的條件下,STM32產品功耗比同級別產品要低75%,工作環境溫度達105℃。因為集成度很高,除一個電源外,LQFP100封裝芯片的最小系統只需要外接7個電容即可。

  TCP/IP協議" title="TCP/IP協議">TCP/IP協議棧由W5100" title="W5100">W5100來支持,它集TCP/IP協議棧、以太網MAC和PHY為一體,其內部16KB的發送/接收緩沖區可快速進行數據交換,最大通信速率達到25Mbps;內嵌10BaseT/100BaseTX以太網物理層,支持自動應答;提供多種總線接口方式,可以很方便地與各種MCU連接,簡化了硬件電路設計,使嵌入式系統在沒有操作系統的支持下,真正實現單芯片接入因特網的理想。

  為減少PCB板面積和布線復雜性,考慮到系統的數據傳輸率要求不高,選擇SPI接口作為STM32F103RB和W5100的連接方式。STM32F103RB、W5100和RJ45接口構成一個典型的嵌入式Web服務器。

  作為一個應用實例,本設計利用STM32F103RB的片上ADC和GPIO,將服務器與LED和壓力傳感器相連,一旦服務器接收到來自瀏覽器端的連接請求,服務器將及時響應,將當前的壓力參數、LED狀態和溫度等信息嵌入到Web頁面并發布到網上,這樣現場的各種信息就呈現在瀏覽器。此外,用戶通過網頁上的控制按鈕可以遠程控制LED狀態,操作結果能及時反饋在網頁上。

  硬件設計

  圖2為嵌入式Web服務器的簡化電路圖,主要顯示了構成服務器的三個核心器件的連接方式。RJ45接口是帶有網絡變壓器的物理層接口。在W5100中,通過將SEN引腳經10KΩ電阻上拉到高電平以使能其處于SPI從模式。CS為片選,MISO和MOSI為兩條數據傳輸線。W5100的SPI工作時鐘由處于主模式的STM32F103RB提供。為方便STM32F103RB判斷W5100的工作狀態,必須將W5100的中斷引腳INT與STM32F103RB的外部中斷線相連接。W5100的第5、6、8和9引腳是PHY信號線,用于與RJ45接口相連接。除電源相關引腳外,W5100的其它引腳可以選擇置空。

圖2 嵌入式Web服務器的簡化電路圖

  軟件設計

  主程序

  主程序流程圖如圖3所示。

圖3 主程序流程圖

  當程序開始啟動時,程序首先初始化STM32和W5100,配置STM32工作在SPI主模式,而W5100工作在從模式,啟動STM32的A/D和片上的溫度傳感器,配置W5100工作于TCP服務器模式,在TCP服務器模式下,端口的狀態轉換如圖4所示。

圖4 W5100處于TCP服務器模式的端口狀態轉換圖
在使用內部溫度傳感器時要注意:溫度傳感器在從調電模式喚醒后到它能以正常水平輸出采樣電壓前有一段建立時間;ADC喚醒后同樣需要一段建立時間,為使延遲最小,ADON位(用于啟動A/D轉換)和TSVREFE位(用于將溫度傳感器從調電模式中喚醒)應該同時置位。另外,對溫度傳感器的采樣時間要大于2.2μs。接下來是一個無限循環體,程序開始不斷檢查外部中斷狀態標志(WInterFlag)和Socket接收數據狀態標志(SockRecvFlag)是否改變,同時開始處理A/D轉換的數據,以保證服務器在產生網頁時能得到當前的各種數據。一旦W5100的Socket端口有中斷事件產生時,W5100將通過其中斷引腳INT觸發STM32的外部中斷,使STM32進入外部中斷處理函數改變WInterFlag,程序接著進入處理W5100中斷事件函數,在此函數中,STM32通過訪問W5100的中斷寄存器(IR)和端口0中斷寄存器(S0_IR)判斷出W5100的端口0產生何種中斷事件,若Socket接收到數據,則改變SockRecvFlag。

  程序檢測到SockRecvFlag發生改變,立即進入處理接收數據函數。處理接收數據函數是整個程序的核心,它主要負責收發數據、解析HTTP協議和響應用戶的不同請求。圖5為該過程的程序流程圖。

  數據處理程序

  HTTP協議是一種請求/響應協議。在基于HTTP的客戶/服務器數據交換時,當HTTP請求產生時,就開始一次HTTP通信。過程如下:瀏覽器提取出URL中的主機后,向DNS發出請求,解析主機名的IP地址;DNS解析地址并將結果返回給瀏覽器;瀏覽器向該地址請求建立TCP連接;瀏覽器發出請求報文;服務器向瀏覽器發送響應報文,并將指定數據發送給瀏覽器;斷開連接。

  根據HTTP協議規定,如果客戶端沒有發出請求,則服務器不會自動發送頁面。因此通過在網頁程序中加入 標記,使瀏覽器在無用戶干預下周期性地刷新頁面,從而保證用戶及時地獲得遠程現場的信息。

  HTTP消息包括一個起始行、零個或多個消息頭域、一個標示頭域結束的實體行和一個可能存在的消息體。本程序主要解析消息的起始行,而忽略其它內容,這種處理思路也符合嵌入式系統硬件對軟件實現的復雜度要求。請求方法決定了對請求URI所指定的資源進行操作的方式,GET方法讀取URL指定的資源,一般用來向服務器傳輸少量且透明的數據,數據總量被限制在255個字符以內,而POST方法可傳輸大量數據,與HTML的表單特性相配合以實現遠程動態交互控制。

  當連接開始時,客戶端發送GET方法請求給服務器,以訪問服務器網頁,為限定特定用戶訪問,增加數據安全性,在網頁中加入基本認證機制。當客戶端請求受基本認證機制保護的網頁時,服務器即要求用戶認證,服務器端對用戶的登陸信息按Base64碼解碼,只有認證成功,瀏覽器才能獲得正確的網頁數據。正確的控制網頁如圖6所示,若用戶信息有誤,服務器返回以狀態碼401為起始行的響應消息。

圖5 數據處理程序流程圖

由于服務器端檢測的數據處在不停的變化之中,為使網頁的數據也能及時地更新,網頁程序初始化時,要顯示的數據都使用字符串標記暫時表示,在每次發送響應消息到端口前,再將網頁中定義字符串標記用當前設備的實際值替換。

  對LED的控制,網頁程序采用HTML語言的表單,HTTP協議請求方法采用POST。POST作為請求方法時,首先和Web服務器建立連接,成功后瀏覽器將HTML表單中的值發送給Web服務器。這種方式沒有字符長度的限制,表單數據是作為附加的文檔發送而不是作為URL的一部分發送。服務器程序通過判斷客戶的不同控制命令即時做出LED燈的開關響應。

  在每次連接成功后,服務器端程序會返回以狀態碼200開頭的響應消息,消息的起始行為:HTTP/1.1 200 OK。當用戶請求一個服務器端不存在的文件時,服務器返回以狀態碼404開頭的響應消息。

圖6 控制網頁

  結語

  這種利用硬件實現TCP/IP協議的網絡芯片W5100及具有Cotex-M3內核的STM32處理器構成嵌入式Web服務器的方案性價比高。通過網絡,用戶在瀏覽器端可及時收到遠程現場傳感器采集的數據,遠程現場的開關狀態指示燈可實時地響應用戶的開關信號操作請求。測試表明該系統傳輸大塊數據文件的速率可達到100KBPS。為提高網絡資源的安全性,可采用AES(Advanced Encryption Standard,先進加密標準)等編碼機制來加密必須保護的私有數據。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩在线不卡| 日韩亚洲欧美高清| 亚洲高清久久久| 国产一区二区三区四区三区四| 欧美视频精品一区| 欧美精品免费播放| 欧美成人国产一区二区| 久久精品国产99国产精品澳门| 亚洲女性裸体视频| 亚洲视频网站在线观看| 一区二区三区欧美日韩| 日韩午夜免费视频| 亚洲美女在线看| 日韩午夜av在线| 一本久道久久久| 夜久久久久久| 在线亚洲国产精品网站| 一道本一区二区| 亚洲私人影吧| 亚洲性xxxx| 午夜精品av| 欧美一级网站| 久久国产夜色精品鲁鲁99| 欧美制服丝袜| 久久九九久久九九| 久久午夜精品一区二区| 理论片一区二区在线| 欧美成人中文字幕在线| 欧美超级免费视 在线| 欧美激情国产日韩| 欧美日韩三区| 国产精品区一区二区三区| 国产精品青草综合久久久久99| 国产精品久久国产精品99gif| 国产精品推荐精品| 国产日韩精品一区二区三区| 国产亚洲欧美色| 在线免费观看成人网| 亚洲人体一区| 亚洲视频图片小说| 欧美亚洲免费| 亚洲欧洲精品一区| 中文精品视频| 久久精品国产欧美激情| 蜜臀久久99精品久久久久久9| 欧美二区视频| 欧美午夜精品久久久久久孕妇| 国产精品久久久久久av下载红粉| 国产视频综合在线| 亚洲第一页在线| 一区二区三区|亚洲午夜| 午夜亚洲激情| 亚洲乱码国产乱码精品精| 亚洲午夜羞羞片| 亚洲欧美文学| 麻豆成人在线播放| 欧美午夜激情在线| 国产一区二区你懂的| 亚洲国产欧美不卡在线观看 | 国产私拍一区| 亚洲黄色高清| 午夜精品视频一区| 日韩一区二区久久| 欧美中文在线观看国产| 欧美成人官网二区| 国产欧美日韩免费看aⅴ视频| 亚洲国产婷婷| 亚洲欧美日韩一区二区| 亚洲精品综合| 欧美在线视频一区二区三区| 欧美成人四级电影| 国产精品一级久久久| 亚洲人体一区| 久久se精品一区精品二区| 亚洲四色影视在线观看| 久久综合中文字幕| 国产精品久久久久久久久久三级 | 欧美视频在线观看一区| 狠狠色丁香婷婷综合| 一区二区精品国产| 亚洲人成久久| 久久久91精品国产| 国产精品久久国产三级国电话系列| 在线观看视频免费一区二区三区| 亚洲一级一区| 亚洲视频在线播放| 欧美成人福利视频| 韩国精品一区二区三区| 亚洲视频日本| 一区二区三区四区在线| 久久中文字幕一区| 国产日韩精品一区观看| 一区二区三区欧美亚洲| 日韩性生活视频| 你懂的国产精品| 国内自拍亚洲| 亚洲欧美综合| 亚洲一区三区视频在线观看| 欧美成人午夜免费视在线看片| 国产亚洲人成a一在线v站| 亚洲私拍自拍| 一本久久青青| 欧美激情一区在线观看| 在线观看91精品国产入口| 欧美在线观看一区二区| 欧美一区二区三区在线观看视频| 欧美日韩在线精品一区二区三区| 亚洲国产精彩中文乱码av在线播放| 欧美在线免费观看视频| 久久精品国产99国产精品| 国产欧美日韩在线观看| 亚洲在线视频免费观看| 亚洲欧美第一页| 国产精品99免费看| 99亚洲精品| 亚洲天堂免费观看| 欧美日韩一区二区国产| 亚洲伦理中文字幕| 国产精品99久久久久久久vr| 欧美日韩国产在线观看| 亚洲精品久久久久久久久久久久 | 久久久久久久久久久成人| 国产午夜精品一区二区三区视频 | 久久久精品动漫| 好吊成人免视频| 亚洲第一精品夜夜躁人人爽| 久久精品在线播放| 国产一区二区在线观看免费播放| 欧美一区二区三区四区在线观看 | 久久噜噜噜精品国产亚洲综合| 国产亚洲欧洲一区高清在线观看 | 久久亚洲精品视频| 亚洲高清视频的网址| 亚洲精品九九| 欧美日韩精品久久| 一区二区欧美在线| 欧美一区二区三区婷婷月色 | 亚洲视频一区在线观看| 欧美小视频在线| 亚洲欧美另类久久久精品2019| 午夜精品视频| 国产专区欧美精品| 亚洲精品国产精品国产自| 欧美精品一区二区三区一线天视频| 亚洲精品永久免费| 亚洲欧美国产精品va在线观看| 国产精品推荐精品| 久久精品国产精品亚洲综合| 免费成人av资源网| 亚洲精品一区二区三区99| 亚洲免费影视第一页| 国产日韩久久| 亚洲激情网址| 欧美日韩亚洲天堂| 香蕉久久a毛片| 农夫在线精品视频免费观看| 99这里只有精品| 欧美一进一出视频| 在线播放一区| 中日韩视频在线观看| 国产精品网站一区| 亚洲第一免费播放区| 欧美日韩午夜激情| 欧美一区二区三区在线免费观看| 欧美丰满高潮xxxx喷水动漫| 在线中文字幕不卡| 久久夜色精品国产欧美乱极品| 亚洲人成在线播放| 午夜在线不卡| 亚洲第一免费播放区| 亚洲欧美国产精品桃花| 海角社区69精品视频| 一片黄亚洲嫩模| 国产欧美日韩亚洲一区二区三区| 亚洲人体影院| 国产精品嫩草99a| 亚洲欧洲一区二区在线观看| 国产精品国产自产拍高清av王其 | 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩国产123区| 欧美一级成年大片在线观看| 欧美韩日精品| 欧美一区二区三区的| 欧美国产91| 欧美一区二区三区精品电影| 欧美另类在线播放| 欧美在线视频免费| 欧美性淫爽ww久久久久无| 亚洲电影成人| 国产精品乱码人人做人人爱| 亚洲人成免费| 国产深夜精品福利| 国产精品99久久久久久www| 极品尤物av久久免费看| 亚洲欧美日本日韩| 亚洲片区在线| 老色鬼精品视频在线观看播放| 亚洲永久免费精品| 欧美区视频在线观看| 久久精品视频播放|