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