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