以52單片機為核心處理器的嵌入式Web控制系統(tǒng)設計方案_第1頁
以52單片機為核心處理器的嵌入式Web控制系統(tǒng)設計方案_第2頁
以52單片機為核心處理器的嵌入式Web控制系統(tǒng)設計方案_第3頁
以52單片機為核心處理器的嵌入式Web控制系統(tǒng)設計方案_第4頁
以52單片機為核心處理器的嵌入式Web控制系統(tǒng)設計方案_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

以52單片機為核心處理器的嵌入式Web控制系統(tǒng)設計方案當前工業(yè)控制系統(tǒng)中流行的控制方式:底層設備采用RS232總線結構,而上層的管理層一般采用以太網(wǎng)結構。該控制方式使信號可以在企業(yè)的Intranet上及時發(fā)布和共享,還可以在Internet/Intranet的任何位置對現(xiàn)場智能設備進行在線控制、功能組態(tài)以及遠程診斷等,實現(xiàn)了控制網(wǎng)絡真正意義上的開放性和互操作性。而RS485總線是一種基于平衡發(fā)送和差分接收的串行總線,具有很強的抗共模干擾能力,在適當?shù)牟ㄌ芈氏聜鬏斁嚯x很遠。同時由于其硬件設計簡單、控制方便、易于進行網(wǎng)絡擴展,被廣泛的應用在很多工業(yè)現(xiàn)場。本文所研究的嵌入式以太網(wǎng)適配器,就是要解決嵌入式設備網(wǎng)絡通信的問題,方便嵌入式系統(tǒng)與計算機網(wǎng)絡的通信,實現(xiàn)遠程監(jiān)控、訪問及數(shù)據(jù)的傳輸。一、主要芯片選擇及簡介1、單片機AT89S52本設計中AT89S52作為核心處理器。AT89S52是Atmel公司生產(chǎn)的低功耗、高性能CMOS8位單片機,片內(nèi)含有8k字節(jié)的EPROM和256字節(jié)的RAM。具有ISP(在系統(tǒng)編程)功能。它具有靈活性高、使用方便、價格低廉等優(yōu)點。因此,該芯片在嵌入式控制系統(tǒng)中得到了廣泛應用。單片機AT89S52經(jīng)過以太網(wǎng)傳到PC機實現(xiàn)遠程控制。利用AT89S52的ISP(在系統(tǒng)編程)功能,很方便地把編好的程序?qū)懙絾纹瑱C中,并且調(diào)試、修改和升級很容易。由于AT89S52單片機本身提供了一組全雙工串行傳輸口,由TXD引腳來傳送串行數(shù)據(jù),而由RXD引腳來接收數(shù)據(jù),可是其工作邏輯電平皆為TTL電平(0V,5V)。AT89S52最小系統(tǒng)如圖1所示。圖1AT89S52最小系統(tǒng)2、網(wǎng)絡控制芯片ENC624J600ENC624J600網(wǎng)絡控制器是一款帶有行業(yè)標準串行接口和并行接口的,專為嵌入式應用系統(tǒng)設計的獨立以太網(wǎng)控制芯片。ENC624J600通過SPI或并行接口與單片機通信,數(shù)據(jù)傳輸速率為14Mbit/s(對于SPI)至160Mbit/s(對于16位的并行接口),ENC624J600主要功能特性有,自適應的選擇傳輸速率,支持10Mbit/s或100Mbit/s;充分支持半雙工或全雙工交換式以太網(wǎng);可編程填充和CRC生成;提供24KBA片內(nèi)RAM緩沖區(qū),用于執(zhí)行發(fā)送和接手操作,主單片機還可以用它來進行常規(guī)的存儲操作;支持總線8位或16位CPU訪問,可編程自動拒絕錯誤數(shù)據(jù)包;可編程為發(fā)生沖突時自動重發(fā)。ENC624J600器件符合IEEE802.3中適用于10Base-T和100Base-TX以太網(wǎng)的全部規(guī)范,包括許多可選條款,例如自動協(xié)商。ENC624J600器件采用了一系列數(shù)據(jù)包過濾機制以對傳入數(shù)據(jù)包進行限制。它還提供了一個16位寬的內(nèi)部DMA以實現(xiàn)快速數(shù)據(jù)吞吐和硬件IP校驗和計算支持。對于需要SSL、TLS以及其他與加密相關的協(xié)議的安全和身份驗證功能的應用,提供了一個安全引擎模塊。該引擎可執(zhí)行RSA、Diffie-Hellman、AES、MD5和SHA-1算法計算,以縮短代碼大小、加快連接的建立和吞吐,并減少固件開發(fā)的工作量。通過SPI或并行接口與單片機通信,數(shù)據(jù)傳輸速率為14Mbit/s(對于SPI)至160Mbit/s(對于16位解復用并行接口)。提供了專用于LED連接、活動指示以及發(fā)送/接收/DMA中斷的引腳。提供了一個通用24KB片內(nèi)RAM緩沖區(qū),用于執(zhí)行發(fā)送和接收操作。主單片機還可以用它來進行常規(guī)存儲操作。通信協(xié)議(例如TCP)可使用此存儲器保存可能需要重新發(fā)送的數(shù)據(jù)。在最終產(chǎn)品易于生產(chǎn)性方面,ENC624J600系列的每個器件都預編程了唯一的非易失性MAC地址。在大多數(shù)情況下,這使最終器件省去了串行編程步驟,圖2給出了器件的一般框圖。圖2ENC624J600的框圖3、外部數(shù)據(jù)存儲器FM1808FM1808是基于鐵電存儲器原理制造的并行接口256Kbit鐵電存儲器,F(xiàn)M1808的主要特性如下:采用先進的鐵電技術制造;存儲容量為256Kbit;讀寫壽命為100億次;掉電數(shù)據(jù)可保存10年;寫數(shù)據(jù)無延時;存取時間為70ns;低功耗,工作電流為25mA,待機電流僅為20uA;采用單5V工作電壓;工作溫度范圍為-40℃~+85℃;具有特別優(yōu)良的防潮濕、防電擊及抗震性能;與SRAM或并行EEPROM管腳兼容。二、硬件電路設計1、AT89S52與以太網(wǎng)控制器連接電路的設計本系統(tǒng)里,P0口被作為低8位地址/數(shù)據(jù)復用,當作數(shù)據(jù)線使用時用來連接NC624J600的8位數(shù)據(jù)接口。當作為地址線使用時,為了給ENC624J600提供15位地址的低8位,要采用復用技術,對地址和數(shù)據(jù)進行分離。因此P0口連接到74ls373的D0~D7,把低8位地址暫存,隨后有地址鎖存器的O0~O7給ENC624J600提供15位地址的低8位,而高7位由P2口通過74ls245提供,如圖3所示。要使與單片機的接口具有高度的靈活性,ENC624J600器件提供了兩種選擇:基于串行外設接口(SPI)標準的串行接口和靈活的8/16位并行從端口接口。在任何給定時間只能使用一個接口。本課題中,AT89S52單片機和ENC624J600的連接選擇PSP接口,如圖3所示。要選擇PSP接口,則在上電時通過INT/SPISEL引腳上的SPISEL功能由硬件選擇I/O接口。要完成此操作,需在向器件供電且器件退出上電復位狀態(tài)后將施加到該引腳的電平約鎖存1至10μs。如果SPISEL被鎖存在邏輯高電平狀態(tài),將使能串行接口。如果SPISEL被鎖存在邏輯低電平狀態(tài),則使能PSP接口。圖3AT89S52與以太網(wǎng)控制器連接電路的設計2、AT89S52和與外部擴展存儲器FM1808的電路設計AT89S52與FM1808的連接與AT89S52與NC624J600的連接類似,P0口被作為低8位地址/數(shù)據(jù)復用,當作數(shù)據(jù)線使用時用來連接FM1808的8位數(shù)據(jù)。當作為地址線使用時,采用復用技術,對地址和數(shù)據(jù)進行分離,給FM1808提供15位地址的低8位,而高7位由P2口通過74ls245提供,如圖4所示。圖4AT89S52和與外部擴展存儲器FM1808的電路設計3、電源電路設計電源模塊是一塊電路板最為基本的組成部分,只有穩(wěn)定可靠的電源為板上芯片供電才能夠保證各功能模塊的正常工作,因此在電源模塊的設計時首先應該初步計算電路板所有元件的功耗,然后在保證功耗的前提下選擇相應的芯片進行直流電源模塊設計,盡量做到體積小,重量輕;性價比合理;能長期穩(wěn)定、可靠地工作。本適配器所需要的電源有3.3V。系統(tǒng)需要3.3V電源供電的芯片以太網(wǎng)控制器等??紤]到系統(tǒng)可能工作于高速通信模式,消耗電流會非常大,所以選用1片UC385芯片,每片UC385輸出電流可達800mA,可以完全滿足系統(tǒng)的需求。具體電路如圖5所示。圖5電源模塊設計三、軟件部分設計1、主函數(shù)上電先查詢ARP,若未獲取MAC,則發(fā)送ARP請求。若有新的數(shù)據(jù),若TCP應答沒有完成,則應答TCP,完成TCP三次握手。然后根據(jù)請求類型響應HTTP。2、TCP應答部分1)三次握手階段所謂三次握手(Three-wayHandshake),是指建立一個TCP連接時,需要客戶端和服務器總共發(fā)送3個包。三次握手的目的是連接服務器指定端口,建立TCP連接,并同步連接雙方的序列號和確認號并交換TCP窗口大小信息。圖6三次握手(Three-wayHandshake)第一次握手:客戶端發(fā)送一個TCP的SYN標志位置1的包指明客戶打算連接的服務器的端口,以及初始序號X,保存在包頭的序列號(SequenceNumber)字段里。圖7第一次握手第二次握手:服務器發(fā)回確認包(ACK)應答。即SYN標志位和ACK標志位均為1同時,將確認序號(AcknowledgementNumber)設置為客戶的ISN加1以。即X+1。第三次握手,客戶端再次發(fā)送確認包(ACK)SYN標志位為0,ACK標志位為1.并且把服務器發(fā)來ACK的序號字段+1,放在確定字段中發(fā)送給對方。并且在數(shù)據(jù)段放寫ISN的+1圖9第三次握手其實在握手和結束時確認號應該是對方序列號加1,傳輸數(shù)據(jù)時則是對方序列號加上對方攜帶應用層數(shù)據(jù)的長度。在傳輸TCP分包的過程中也是需要發(fā)送一分包,確認一分包的,而TCP確認包只有54字節(jié),就是只有頭部信息。因此在傳輸TCP分包序列號一直不變,確認號按發(fā)送數(shù)據(jù)的長度遞增即可。3、HTTP1)請求連接成功建立后,開始向web服務器發(fā)送請求,這個請求一般是GET或POST命令(POST用于FORM參數(shù)的傳遞)。GET命令的格式為:GET路徑/文件名HTTP/1.0文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。現(xiàn)在可以發(fā)送GET命令:GET/mytest/index.htmlHTTP/1.0,2)應答web服務器收到這個請求,進行處理。從它的文檔空間中搜索子目錄mytest的文件index.html。如果找到該文件,Web服務器把該文件內(nèi)容傳送給相應的Web瀏覽器。為了告知瀏覽器,Web服務器首先傳送一些HTTP頭信息,然后傳送具體內(nèi)容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個空行分開。常用的HTTP頭信息有:①HTTP1.0200OK這是Web服務器應答的第一行,列出服務器正在運行的HTTP版本號和應答代碼。代碼“200OK”表示請求完成。②MIME_Version:1.0它指示MIME類型的版本。③content_type:類型這個頭信息非常重要,它指示HTTP體信息的MIME類型。如:content_type:text/html指示傳送的數(shù)據(jù)是HTML文檔。④content_length:長度值它指示HTTP體信息的長度(字節(jié))。3)關閉連接當應答結束后,Web瀏覽器與Web服務器必須斷開,以保證其它Web瀏覽器能夠與Web服務器建立連接。4、提交表單GET/POSTGET請求的數(shù)據(jù)會附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如:login.acTIon?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果數(shù)據(jù)是英文字母/數(shù)字,原樣發(fā)送,如果是空格,轉(zhuǎn)換為+,如果是中文/其他字符,則直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX為該符號以16進制表示的ASCII。POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中。在FORM(表單)中,Method默認為“GET”。本文中登錄時提交表單數(shù)據(jù)采用的是POST方式,而提交控制信息表單時用的是GET。以下是用抓包的方式明顯看出他們的不同之處。圖10POST方式圖11GET方式圖12GET方式是提交的數(shù)據(jù)直接放在URL中了5、總體軟件設計AT89S52單片機首先對ENC624J600進行初始化,首先應查詢ESTAT寄存器的CLKRDY位,確保在配置MAC和PHY寄存器前有足夠的延時;PHY寄存器用來設置通信模式;編程ERXST和ERXND指針對接收緩沖器進行初始化,當編程ERXST指針時,相同的值會自動更新ERXWRPT寄存器,接收硬件將從ERXWRPT中的地址開始寫入已收到的數(shù)據(jù),為跟蹤接收的數(shù)據(jù),ERXRDPT寄存器也需要用相同的值編程;為了能最大限度地降低主控制器的處理工作量,ENC624J600配備了不同的過濾器,可自動拒絕不需要的數(shù)據(jù)包,所有的過濾

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論