




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【W(wǎng)ord版本下載可任意編輯】 單片機(jī)的嵌入式Web控制系統(tǒng)設(shè)計(jì)詳解 當(dāng)前工業(yè)控制系統(tǒng)中流行的控制方式:底層設(shè)備采用RS232總線構(gòu)造,而上層的管理層一般采用以太網(wǎng)構(gòu)造。該控制方式使信號(hào)可以在企業(yè)的Intranet上及時(shí)發(fā)布和共享,還可以在Internet/Intranet的任何位置對(duì)現(xiàn)場(chǎng)智能設(shè)備開(kāi)展在線控制、功能組態(tài)以及遠(yuǎn)程診斷等,實(shí)現(xiàn)了控制網(wǎng)絡(luò)真正意義上的開(kāi)放性和互操作性。而RS485總線是一種基于平衡發(fā)送和差分接收的串行總線,具有很強(qiáng)的抗共模干擾能力,在適當(dāng)?shù)牟ㄌ芈氏聜鬏斁嚯x很遠(yuǎn)。同時(shí)由于其硬件設(shè)計(jì)簡(jiǎn)單、控制方便、易于開(kāi)展網(wǎng)絡(luò)擴(kuò)展,被廣泛的應(yīng)用在很多工業(yè)現(xiàn)場(chǎng)。 本文所研究的嵌入式以太網(wǎng)適
2、配器,就是要解決嵌入式設(shè)備網(wǎng)絡(luò)通信的問(wèn)題,方便嵌入式系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)的通信,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、訪問(wèn)及數(shù)據(jù)的傳輸。 一、主要芯片選擇及簡(jiǎn)介 1、單片機(jī)AT89S52 本設(shè)計(jì)中AT89S52作為處理器。AT89S52是Atmel公司生產(chǎn)的低功耗、高性能CMOS8位單片機(jī),片內(nèi)含有8k字節(jié)的EPROM和256字節(jié)的RAM。具有ISP(在系統(tǒng)編程)功能。它具有靈活性高、使用方便、價(jià)格低廉等優(yōu)點(diǎn)。因此,該芯片在嵌入式控制系統(tǒng)中得到了廣泛應(yīng)用。單片機(jī)AT89S52經(jīng)過(guò)以太網(wǎng)傳到PC機(jī)實(shí)現(xiàn)遠(yuǎn)程控制。利用AT89S52的ISP(在系統(tǒng)編程)功能,很方便地把編好的程序?qū)懙絾纹瑱C(jī)中,并且調(diào)試、修改和升級(jí)很容易。由于A
3、T89S52單片機(jī)本身提供了一組全雙工串行傳輸口,由TXD引腳來(lái)傳送串行數(shù)據(jù),而由RXD引腳來(lái)接收數(shù)據(jù),可是其工作邏輯電平皆為TTL電平(0V,5V)。AT89S52系統(tǒng)如圖1所示。 圖1 AT89S52系統(tǒng) 2、網(wǎng)絡(luò)控制芯片ENC624J600 ENC624J600網(wǎng)絡(luò)控制器是一款帶有行業(yè)標(biāo)準(zhǔn)串行接口和并行接口的,專為嵌入式應(yīng)用系統(tǒng)設(shè)計(jì)的獨(dú)立以太網(wǎng)控制芯片。ENC624J600通過(guò)SPI或并行接口與單片機(jī)通信,數(shù)據(jù)傳輸速率為14Mbit/s(對(duì)于SPI)至160Mbit/s(對(duì)于16位的并行接口),ENC624J600主要功能特性有,自適應(yīng)的選擇傳輸速率,支持10Mbit/s或100Mbit
4、/s;充分支持半雙工或全雙工交換式以太網(wǎng);可編程填充和CRC生成;提供24KBA片內(nèi)RAM緩沖區(qū),用于執(zhí)行發(fā)送和接手操作,主單片機(jī)還可以用它來(lái)開(kāi)展常規(guī)的存儲(chǔ)操作;支持總線8位或16位CPU訪問(wèn),可編程自動(dòng)拒絕錯(cuò)誤數(shù)據(jù)包;可編程為發(fā)生沖突時(shí)自動(dòng)重發(fā)。 ENC624J600器件符合IEEE 802.3中適用于10 Base-T 和100 Base-TX 以太網(wǎng)的全部規(guī)范,包括許多可選條款,例如自動(dòng)協(xié)商。ENC624J600器件采用了一系列數(shù)據(jù)包過(guò)濾機(jī)制以對(duì)傳入數(shù)據(jù)包開(kāi)展限制。它還提供了一個(gè)16位寬的內(nèi)部DMA以實(shí)現(xiàn)快速數(shù)據(jù)吞吐和硬件IP校驗(yàn)和計(jì)算支持。對(duì)于需要SSL、TLS 以及其他與加密相關(guān)的協(xié)
5、議的安全和身份驗(yàn)證功能的應(yīng)用,提供了一個(gè)安全引擎模塊。 該引擎可執(zhí)行RSA、Diffie- Hellman、AES、MD5 和SHA-1 算法計(jì)算,以縮短代碼大小、加快連接的建立和吞吐,并減少固件開(kāi)發(fā)的工作量。通過(guò)SPI或并行接口與單片機(jī)通信,數(shù)據(jù)傳輸速率為14 Mbit/s(對(duì)于SPI)至160 Mbit/s (對(duì)于16 位解復(fù)用并行接口)。提供了專用于LED 連接、活動(dòng)指示以及發(fā)送/接收/DMA 中斷的引腳。提供了一個(gè)通用24 KB片內(nèi)RAM緩沖區(qū),用于執(zhí)行發(fā)送和接收操作。主單片機(jī)還可以用它來(lái)開(kāi)展常規(guī)存儲(chǔ)操作。通信協(xié)議(例如TCP)可使用此存儲(chǔ)器保存可能需要重新發(fā)送的數(shù)據(jù)。在終產(chǎn)品易于生產(chǎn)
6、性方面,ENC624J600 系列的每個(gè)器件都預(yù)編程了的非易失性MAC地址。在大多數(shù)情況下,這使終器件省去了串行編程步驟,圖2給出了器件的一般框圖。 圖2 ENC624J600的框圖 3、外部數(shù)據(jù)存儲(chǔ)器FM1808 FM1808是基于鐵電存儲(chǔ)器原理制造的并行接口256Kbit鐵電存儲(chǔ)器,F(xiàn)M1808的主要特性如下:采用先進(jìn)的鐵電技術(shù)制造;存儲(chǔ)容量為256Kbit;讀寫壽命為100億次;掉電數(shù)據(jù)可保存10年;寫數(shù)據(jù)無(wú)延時(shí);存取時(shí)間為70ns;低功耗,工作電流為25mA,待機(jī)電流僅為20uA;采用單5V工作電壓;工作溫度范圍為-40+85;具有特別優(yōu)良的防潮濕、防電擊及抗震性能;與SRAM或并行E
7、EPROM管腳兼容。 二、硬件電路設(shè)計(jì) 1、AT89S52與以太網(wǎng)控制器連接電路的設(shè)計(jì) 本系統(tǒng)里,P0口被作為低8位地址/數(shù)據(jù)復(fù)用,當(dāng)作數(shù)據(jù)線使用時(shí)用來(lái)連接NC624J600的8位數(shù)據(jù)接口。當(dāng)作為地址線使用時(shí),為了給ENC624J600提供15位地址的低8位,要采用復(fù)用技術(shù),對(duì)地址和數(shù)據(jù)開(kāi)展分離。因此P0口連接到74ls373的D0D7,把低8位地址暫存,隨后有地址鎖存器的O0O7給ENC624J600提供15位地址的低8位,而高7位由P2口通過(guò)74ls245提供,如圖3所示。 要使與單片機(jī)的接口具有高度的靈活性,ENC624J600器件提供了兩種選擇:基于串行外設(shè)接口(SPI)標(biāo)準(zhǔn)的串行接口
8、和靈活的8/16位并行從端口接口。在任何給定時(shí)間只能使用一個(gè)接口。本課題中,AT89S52單片機(jī)和ENC624J600的連接選擇PSP接口,如圖3所示。要選擇PSP接口,則在上電時(shí)通過(guò)INT/ SPISEL引腳上的SPISEL功能由硬件選擇I/O接口。要完成此操作,需在向器件供電且器件退出上電復(fù)位狀態(tài)后將施加到該引腳的電平約鎖存1至10s。如果SPISEL被鎖存在邏輯高電平狀態(tài),將使能串行接口。如果SPISEL被鎖存在邏輯低電平狀態(tài),則使能PSP接口。 圖3 AT89S52與以太網(wǎng)控制器連接電路的設(shè)計(jì) 2、AT89S52和與外部擴(kuò)展存儲(chǔ)器FM1808的電路設(shè)計(jì) AT89S52與FM1808的連
9、接與AT89S52與NC624J600的連接類似,P0口被作為低8位地址/數(shù)據(jù)復(fù)用,當(dāng)作數(shù)據(jù)線使用時(shí)用來(lái)連接FM1808的8位數(shù)據(jù)。當(dāng)作為地址線使用時(shí),采用復(fù)用技術(shù),對(duì)地址和數(shù)據(jù)開(kāi)展分離,給FM1808提供15位地址的低8位,而高7位由P2口通過(guò)74ls245提供,如圖4所示。 圖4 AT89S52和與外部擴(kuò)展存儲(chǔ)器FM1808的電路設(shè)計(jì) 3、電源電路設(shè)計(jì) 電源模塊是一塊電路板為基本的組成部分,只有穩(wěn)定可靠的電源為板上芯片供電才能夠保證各功能模塊的正常工作,因此在電源模塊的設(shè)計(jì)時(shí)首先應(yīng)該初步計(jì)算電路板所有元件的功耗,然后在保證功耗的前提下選擇相應(yīng)的芯片開(kāi)展直流電源模塊設(shè)計(jì),盡量做到體積小,重量
10、輕;性價(jià)比合理;能長(zhǎng)期穩(wěn)定、可靠地工作。 本適配器所需要的電源有3.3V。系統(tǒng)需要3.3V電源供電的芯片以太網(wǎng)控制器等??紤]到系統(tǒng)可能工作于高速通信模式,消耗電流會(huì)非常大,所以選用1片UC385芯片,每片UC385輸出電流可達(dá)800mA,可以完全滿足系統(tǒng)的需求。具體電路如圖5所示 。 圖5 電源模塊設(shè)計(jì) 三、軟件部分設(shè)計(jì) 1、主函數(shù) 上電先查詢ARP,若未獲取MAC,則發(fā)送ARP請(qǐng)求。若有新的數(shù)據(jù),若TCP應(yīng)答沒(méi)有完成,則應(yīng)答TCP,完成TCP三次握手。然后根據(jù)請(qǐng)求類型響應(yīng)HTTP。 2、TCP應(yīng)答部分 1) 三次握手階段 所謂三次握手(Three-way Handshake),是指建立一個(gè)T
11、CP連接時(shí),需要客戶端和服務(wù)器總共發(fā)送3個(gè)包。三次握手的目的是連接服務(wù)器指定端口,建立TCP連接,并同步連接雙方的序列號(hào)和確認(rèn)號(hào)并交換 TCP 窗口大小信息。 圖6 三次握手(Three-way Handshake) 次握手:客戶端發(fā)送一個(gè)TCP的SYN標(biāo)志位置1的包指明客戶打算連接的服務(wù)器的端口,以及初始序號(hào)X,保存在*的序列號(hào)(Sequence Number)字段里。 圖7 次握手 第二次握手:服務(wù)器發(fā)回確認(rèn)包(ACK)應(yīng)答。即SYN標(biāo)志位和ACK標(biāo)志位均為1同時(shí),將確認(rèn)序號(hào)(Acknowledgement Number)設(shè)置為客戶的ISN加1以。即X+1。 第三次握手,客戶端再次發(fā)送確認(rèn)
12、包(ACK) SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來(lái)ACK的序號(hào)字段+1,放在確定字段中發(fā)送給對(duì)方。并且在數(shù)據(jù)段放寫ISN的+1 圖9 第三次握手 其實(shí)在握手和結(jié)束時(shí)確認(rèn)號(hào)應(yīng)該是對(duì)方序列號(hào)加1,傳輸數(shù)據(jù)時(shí)則是對(duì)方序列號(hào)加上對(duì)方攜帶應(yīng)用層數(shù)據(jù)的長(zhǎng)度。 在傳輸TCP分包的過(guò)程中也是需要發(fā)送一分包,確認(rèn)一分包的,而TCP確認(rèn)包只有54字節(jié),就是只有頭部信息。因此在傳輸TCP分包序列號(hào)一直不變,確認(rèn)號(hào)按發(fā)送數(shù)據(jù)的長(zhǎng)度遞增即可。 3、 HTTP 1)請(qǐng)求 連接成功建立后,開(kāi)始向web服務(wù)器發(fā)送請(qǐng)求,這個(gè)請(qǐng)求一般是GET或POST命令(POST用于FORM參數(shù)的傳遞)。GET命令的格式為:G
13、ET 路徑/文件名 HTTP/1.0文件名指出所訪問(wèn)的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。現(xiàn)在可以發(fā)送GET命令:GET /mytest/index.html HTTP/1.0, 2)應(yīng)答 web服務(wù)器收到這個(gè)請(qǐng)求,開(kāi)展處理。從它的文檔空間中搜索子目錄mytest的文件index.html。如果找到該文件,Web服務(wù)器把該文件內(nèi)容傳送給相應(yīng)的Web瀏覽器。為了告知瀏覽器,Web服務(wù)器首先傳送一些HTTP頭信息,然后傳送具體內(nèi)容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個(gè)空行分開(kāi)。常用的HTTP頭信息有: HTTP 1.0 200 OK 這是Web服務(wù)器應(yīng)
14、答的行,列出服務(wù)器正在運(yùn)行的HTTP版本號(hào)和應(yīng)答代碼。代碼“200 OK”表示請(qǐng)求完成。 MIME_Version:1.0它指示MIME類型的版本。 content_type:類型這個(gè)頭信息非常重要,它指示HTTP體信息的MIME類型。如:content_type:text/html指示傳送的數(shù)據(jù)是HTML文檔。 content_length:長(zhǎng)度值它指示HTTP體信息的長(zhǎng)度(字節(jié))。 3)關(guān)閉連接 當(dāng)應(yīng)答結(jié)束后,Web瀏覽器與Web服務(wù)器必須斷開(kāi),以保證其它Web瀏覽器能夠與Web服務(wù)器建立連接。 4、提交表單GET/POST GET請(qǐng)求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭
15、中),以?分割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為該符號(hào)以16進(jìn)制表示的ASCII。 POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中。在FORM(表單)中,Method默認(rèn)為“GET”。 本文中登錄時(shí)提交表單數(shù)據(jù)采用的是POST方式,而提交控制信息表單時(shí)用的是GET。以下是用抓
16、包的方式明顯看出他們的不同之處。 圖10 POST方式 圖11 GET方式 圖12 GET方式是提交的數(shù)據(jù)直接放在URL中了 5、總體軟件設(shè)計(jì) AT89S52單片機(jī)首先對(duì)ENC624J600開(kāi)展初始化,首先應(yīng)查詢ESTAT存放器的CLKRDY位,確保在配置MAC和PHY存放器前有足夠的延時(shí);PHY存放器用來(lái)設(shè)置通信模式;編程ERXST和ERXND指針對(duì)接收緩沖器開(kāi)展初始化,當(dāng)編程ERXST指針時(shí),相同的值會(huì)自動(dòng)更新ERXWRPT存放器,接收硬件將從ERXWRPT中的地址開(kāi)始寫入已收到的數(shù)據(jù),為跟蹤接收的數(shù)據(jù),ERXRDPT存放器也需要用相同的值編程;為了能限度地降低主控制器的處理工作量,ENC624J600配備了不同的過(guò)濾器,可自動(dòng)拒絕不需要的數(shù)據(jù)包,所有的過(guò)濾器都由
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 3589-2023 潔凈轉(zhuǎn)子泵標(biāo)準(zhǔn)
- 2025年度礦山新能源利用合作開(kāi)發(fā)協(xié)議
- 二零二五年度船舶租賃與船舶融資租賃合同
- 二零二五年度金融產(chǎn)品創(chuàng)新增資協(xié)議
- 2025年度酒店品牌授權(quán)及加盟合作協(xié)議
- 二零二五年度有機(jī)果園使用權(quán)及品牌授權(quán)合同
- 二零二五美容院轉(zhuǎn)讓合同包含員工培訓(xùn)體系與職業(yè)發(fā)展規(guī)劃
- 2025年度旅游度假區(qū)合租商鋪合作協(xié)議
- 二零二五年度知識(shí)產(chǎn)權(quán)標(biāo)準(zhǔn)化與認(rèn)證顧問(wèn)合同
- 二零二五年度科技園區(qū)出租房承包管理協(xié)議
- 高處作業(yè)吊籃危險(xiǎn)源辨識(shí)及風(fēng)險(xiǎn)評(píng)價(jià)表
- 2024云游戲平臺(tái)計(jì)費(fèi)系統(tǒng)計(jì)費(fèi)性能技術(shù)要求和測(cè)試方法
- 《和大人一起讀》試題及答案共4套
- 第一課 踏上強(qiáng)國(guó)之路 復(fù)習(xí)課件 統(tǒng)編版道德與法治九年級(jí)上冊(cè)
- 部編版語(yǔ)文九年級(jí)下冊(cè)-第三單元古詩(shī)文默寫-理解性默寫(排版-附答案)
- 數(shù)學(xué)史與數(shù)學(xué)文化教育
- 雨污水管道施工工藝
- 圖紙疑問(wèn)匯總表
- 茯苓栽培技術(shù)
- 空氣能熱泵基礎(chǔ)施工方案
- 起重機(jī)械安全規(guī)程-第部分完整
評(píng)論
0/150
提交評(píng)論