單片機嵌入式Internet技術的Web應用實現
1 單片機嵌入式Web應用的硬件系統設計
在硬件系統的設計中,本文采用了ATMEL公司開發的高性能8位AVR(Advanced RISC)單片機AT90S8515,該單片機內置8 KB可編程Flash,使用精簡指令集,支持C語言及匯編語言,與MCS 8051系列單片機相比在性能上有很大的提高,在目前單片機開發中用得較多。因此利用AT90S8515單片機作為嵌入式系統的微處理器,通過網絡控制芯片將嵌入式系統與Internet相連接。其硬件系統框圖如圖1所示。
在電路的硬件系統組成中,注意以下幾點:
(1)單片機與網卡芯片的接口電路
AT90S8515單片機所提供的8位數據總線PA0~PA7分別對應連接網卡的SD0~SD7引腳;5根地址線PC0~PC4對應連接網卡的SA0~SA4引腳;讀信號線RD、寫信號線WR與RTL8019AS的相應信號線連接[1]。復位通過PB0控制,PB1片選地址使能[2]。外接時鐘電路單片機為8 MHz,網卡芯片為20 MHz。
(2)存儲器擴展電路
一般單片機片內數據存儲器容量為64 KB,這樣的存儲空間在進行單片機Web應用系統的開發時顯得過小。因此需要擴展數據存儲器,擴展容量隨系統數據使用量而定。對于Web應用,需要很大的存儲空間存放網頁等數據,所以本系統采用靜態RAM HM62256芯片作為存儲器擴展電路。
(3)RTL8019AS工作方式
RTL8019AS有3種工作方式:跳線方式、即插即用方式和RT免跳線方式[1]。在嵌入式應用場合,為了降低系統的復雜性,單片機盡量少接不必要的芯片。所以將RTL8019AS選擇工作在跳線方式。其IOCS16B引腳接下拉電阻,JP引腳端接高電平。
(4)MAX232串口電平轉換電路
在現場控制端,由于單片機輸出為TTL電平,現場數據采集系統(如傳感器)輸出為EIA電平,而MAX232芯片可以完成單片機和現場數據采集系統間的雙向電平轉換[3]。
(5)網絡隔離濾波接口電路
在網絡接入端需要一個網絡隔離濾波器HR901170A。HR901170A主要對系統電路起保護作用,減少信號共模干擾,完成信號的傳輸。HR901170A的內部集成了RJ45接口,可以直接接入到Internet。
2 嵌入式Internet的TCP/IP協議實現
2.1 嵌入式TCP/IP協議
軟件編程是實現嵌入式Web系統的關鍵。Web通信中的數據封裝、解析都是由單片機軟件實現的。軟件實現主要包括兩部分:一是單片機精簡TCP/IP協議棧的實現,對數據的逐層打包、封幀、傳送等流程[2];二是單片機Web應用服務的實現。
由單片機組成的嵌入式Web往往應用于特殊的、專用的領域,一般不需要太多的功能,這與PC機上的網絡應用有很大的不同。支持PC機進行Internet通信的TCP/IP協議是一個非常龐大的協議簇。而單片機芯片沒有足夠的空間資源,所以從嵌入式網絡應用和單片機空間資源兩個方面考慮,都沒有必要在單片機上實現完整的TCP/IP協議。目前市場上沒有統一的標準的實現嵌入式Internet的TCP/IP協議軟件,需要開發人員根據具體應用的需要去開發一套適用于單片機的嵌入式TCP/IP協議,工作量異常龐大,開發周期較長。一種比較簡單和易實現的做法是使用由瑞士計算機科學院的Adam Dunkels等開發的免費公開源代碼的小型TCP/IP協議,即uIP協議棧,它專門為8位和16位單片機編寫。uIP的代碼大小為3 304 B,對單片機RAM的需求為360 B,遠遠小于TCP/IP協議對資源的要求。有關uIP詳述和應用例程可見參考文獻[4]。
tcp/ip相關文章:tcp/ip是什么
評論