當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]當(dāng)前工業(yè)控制系統(tǒng)中流行的控制方式:底層設(shè)備采用RS232總線結(jié)構(gòu),而上層的管理層一般采用以太網(wǎng)結(jié)構(gòu)。該控制方式使信號(hào)可以在企業(yè)的Intranet上及時(shí)發(fā)布和共享,還可以在Int

當(dāng)前工業(yè)控制系統(tǒng)中流行的控制方式:底層設(shè)備采用RS232總線結(jié)構(gòu),而上層的管理層一般采用以太網(wǎng)結(jié)構(gòu)。該控制方式使信號(hào)可以在企業(yè)的Intranet上及時(shí)發(fā)布和共享,還可以在Internet/Intranet的任何位置對(duì)現(xiàn)場智能設(shè)備進(jìn)行在線控制、功能組態(tài)以及遠(yuǎn)程診斷等,實(shí)現(xiàn)了控制網(wǎng)絡(luò)真正意義上的開放性和互操作性。而RS485總線是一種基于平衡發(fā)送和差分接收的串行總線,具有很強(qiáng)的抗共模干擾能力,在適當(dāng)?shù)牟ㄌ芈氏聜鬏斁嚯x很遠(yuǎn)。同時(shí)由于其硬件設(shè)計(jì)簡單、控制方便、易于進(jìn)行網(wǎng)絡(luò)擴(kuò)展,被廣泛的應(yīng)用在很多工業(yè)現(xiàn)場。

本文所研究的嵌入式以太網(wǎng)適配器,就是要解決嵌入式設(shè)備網(wǎng)絡(luò)通信的問題,方便嵌入式系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)的通信,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、訪問及數(shù)據(jù)的傳輸。

一、主要芯片選擇及簡介

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)過以太網(wǎng)傳到PC機(jī)實(shí)現(xiàn)遠(yuǎn)程控制。利用AT89S52的ISP(在系統(tǒng)編程)功能,很方便地把編好的程序?qū)懙絾纹瑱C(jī)中,并且調(diào)試、修改和升級(jí)很容易。由于AT89S52單片機(jī)本身提供了一組全雙工串行傳輸口,由TXD引腳來傳送串行數(shù)據(jù),而由RXD引腳來接收數(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通過SPI或并行接口與單片機(jī)通信,數(shù)據(jù)傳輸速率為14Mbit/s(對(duì)于SPI)至160Mbit/s(對(duì)于16位的并行接口),ENC624J600主要功能特性有,自適應(yīng)的選擇傳輸速率,支持10Mbit/s或100Mbit/s;充分支持半雙工或全雙工交換式以太網(wǎng);可編程填充和CRC生成;提供24KBA片內(nèi)RAM緩沖區(qū),用于執(zhí)行發(fā)送和接手操作,主單片機(jī)還可以用它來進(jìn)行常規(guī)的存儲(chǔ)操作;支持總線8位或16位CPU訪問,可編程自動(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ù)包過濾機(jī)制以對(duì)傳入數(shù)據(jù)包進(jìn)行限制。它還提供了一個(gè)16位寬的內(nèi)部DMA以實(shí)現(xiàn)快速數(shù)據(jù)吞吐和硬件IP校驗(yàn)和計(jì)算支持。對(duì)于需要SSL、TLS 以及其他與加密相關(guān)的協(xié)議的安全和身份驗(yàn)證功能的應(yīng)用,提供了一個(gè)安全引擎模塊。 該引擎可執(zhí)行RSA、Diffie- Hellman、AES、MD5 和SHA-1 算法計(jì)算,以縮短代碼大小、加快連接的建立和吞吐,并減少固件開發(fā)的工作量。通過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ī)還可以用它來進(jìn)行常規(guī)存儲(chǔ)操作。通信協(xié)議(例如TCP)可使用此存儲(chǔ)器保存可能需要重新發(fā)送的數(shù)據(jù)。在最終產(chǎn)品易于生產(chǎn)性方面,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ù)無延時(shí);存取時(shí)間為70ns;低功耗,工作電流為25mA,待機(jī)電流僅為20uA;采用單5V工作電壓;工作溫度范圍為-40℃~+85℃;具有特別優(yōu)良的防潮濕、防電擊及抗震性能;與SRAM或并行EEPROM管腳兼容。

二、硬件電路設(shè)計(jì)

1、AT89S52與以太網(wǎng)控制器連接電路的設(shè)計(jì)

本系統(tǒng)里,P0口被作為低8位地址/數(shù)據(jù)復(fù)用,當(dāng)作數(shù)據(jù)線使用時(shí)用來連接NC624J600的8位數(shù)據(jù)接口。當(dāng)作為地址線使用時(shí),為了給ENC624J600提供15位地址的低8位,要采用復(fù)用技術(shù),對(duì)地址和數(shù)據(jù)進(jìn)行分離。因此P0口連接到74ls373的D0~D7,把低8位地址暫存,隨后有地址鎖存器的O0~O7給ENC624J600提供15位地址的低8位,而高7位由P2口通過74ls245提供,如圖3所示。

要使與單片機(jī)的接口具有高度的靈活性,ENC624J600器件提供了兩種選擇:基于串行外設(shè)接口(SPI)標(biāo)準(zhǔn)的串行接口和靈活的8/16位并行從端口接口。在任何給定時(shí)間只能使用一個(gè)接口。本課題中,AT89S52單片機(jī)和ENC624J600的連接選擇PSP接口,如圖3所示。要選擇PSP接口,則在上電時(shí)通過INT/ SPISEL引腳上的SPISEL功能由硬件選擇I/O接口。要完成此操作,需在向器件供電且器件退出上電復(fù)位狀態(tài)后將施加到該引腳的電平約鎖存1至10μs。如果SPISEL被鎖存在邏輯高電平狀態(tài),將使能串行接口。如果SPISEL被鎖存在邏輯低電平狀態(tài),則使能PSP接口。

 

 

圖3 AT89S52與以太網(wǎng)控制器連接電路的設(shè)計(jì)

2、AT89S52和與外部擴(kuò)展存儲(chǔ)器FM1808的電路設(shè)計(jì)

AT89S52與FM1808的連接與AT89S52與NC624J600的連接類似,P0口被作為低8位地址/數(shù)據(jù)復(fù)用,當(dāng)作數(shù)據(jù)線使用時(shí)用來連接FM1808的8位數(shù)據(jù)。當(dāng)作為地址線使用時(shí),采用復(fù)用技術(shù),對(duì)地址和數(shù)據(jù)進(jìn)行分離,給FM1808提供15位地址的低8位,而高7位由P2口通過74ls245提供,如圖4所示。

 

 

圖4 AT89S52和與外部擴(kuò)展存儲(chǔ)器FM1808的電路設(shè)計(jì)

3、電源電路設(shè)計(jì)

電源模塊是一塊電路板最為基本的組成部分,只有穩(wěn)定可靠的電源為板上芯片供電才能夠保證各功能模塊的正常工作,因此在電源模塊的設(shè)計(jì)時(shí)首先應(yīng)該初步計(jì)算電路板所有元件的功耗,然后在保證功耗的前提下選擇相應(yīng)的芯片進(jìn)行直流電源模塊設(shè)計(jì),盡量做到體積小,重量輕;性價(jià)比合理;能長期穩(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)答沒有完成,則應(yīng)答TCP,完成TCP三次握手。然后根據(jù)請(qǐng)求類型響應(yīng)HTTP。

2、TCP應(yīng)答部分

1) 三次握手階段

所謂三次握手(Three-way Handshake),是指建立一個(gè)TCP連接時(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)包(ACK) SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來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ù)的長度。

在傳輸TCP分包的過程中也是需要發(fā)送一分包,確認(rèn)一分包的,而TCP確認(rèn)包只有54字節(jié),就是只有頭部信息。因此在傳輸TCP分包序列號(hào)一直不變,確認(rèn)號(hào)按發(fā)送數(shù)據(jù)的長度遞增即可。

3、 HTTP

1)請(qǐng)求

連接成功建立后,開始向web服務(wù)器發(fā)送請(qǐng)求,這個(gè)請(qǐng)求一般是GET或POST命令(POST用于FORM參數(shù)的傳遞)。GET命令的格式為:GET 路徑/文件名 HTTP/1.0文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本?,F(xiàn)在可以發(fā)送GET命令:GET /mytest/index.html HTTP/1.0,

2)應(yīng)答

web服務(wù)器收到這個(gè)請(qǐng)求,進(jìn)行處理。從它的文檔空間中搜索子目錄mytest的文件index.html。如果找到該文件,Web服務(wù)器把該文件內(nèi)容傳送給相應(yīng)的Web瀏覽器。為了告知瀏覽器,Web服務(wù)器首先傳送一些HTTP頭信息,然后傳送具體內(nèi)容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個(gè)空行分開。常用的HTTP頭信息有:

① HTTP 1.0 200 OK  這是Web服務(wù)器應(yīng)答的第一行,列出服務(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:長度值 它指示HTTP體信息的長度(字節(jié))。

3)關(guān)閉連接

當(dāng)應(yīng)答結(jié)束后,Web瀏覽器與Web服務(wù)器必須斷開,以保證其它Web瀏覽器能夠與Web服務(wù)器建立連接。

4、提交表單GET/POST

GET請(qǐng)求的數(shù)據(jù)會(huì)附在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為該符號(hào)以16進(jìn)制表示的ASCII。

POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中。在FORM(表單)中,Method默認(rèn)為“GET”。

本文中登錄時(shí)提交表單數(shù)據(jù)采用的是POST方式,而提交控制信息表單時(shí)用的是GET。以下是用抓包的方式明顯看出他們的不同之處。

 

 

圖10 POST方式

 

 

圖11 GET方式

 

 

圖12 GET方式是提交的數(shù)據(jù)直接放在URL中了

5、總體軟件設(shè)計(jì)

AT89S52單片機(jī)首先對(duì)ENC624J600進(jìn)行初始化,首先應(yīng)查詢ESTAT寄存器的CLKRDY位,確保在配置MAC和PHY寄存器前有足夠的延時(shí);PHY寄存器用來設(shè)置通信模式;編程ERXST和ERXND指針對(duì)接收緩沖器進(jìn)行初始化,當(dāng)編程ERXST指針時(shí),相同的值會(huì)自動(dòng)更新ERXWRPT寄存器,接收硬件將從ERXWRPT中的地址開始寫入已收到的數(shù)據(jù),為跟蹤接收的數(shù)據(jù),ERXRDPT寄存器也需要用相同的值編程;為了能最大限度地降低主控制器的處理工作量,ENC624J600配備了不同的過濾器,可自動(dòng)拒絕不需要的數(shù)據(jù)包,所有的過濾器都由ERXFCON寄存器進(jìn)行配置,可以使用ANDOR位對(duì)幾個(gè)過濾器的測(cè)試結(jié)果作邏輯/與0或邏輯/或0運(yùn)算;由于未被用作接收緩沖器的存儲(chǔ)空間都作為發(fā)送緩沖器,所以不需要對(duì)發(fā)送緩沖器進(jìn)行特定的初始化,通常將存儲(chǔ)空間分配為大的接收緩沖器空間和較小的接收存儲(chǔ)空間。

在初始化完成后,即進(jìn)入主循環(huán)程序,單片機(jī)將反復(fù)檢測(cè)ENC624J600是否接收到以太網(wǎng)幀(或者數(shù)據(jù)緩沖區(qū)B中有數(shù)據(jù)需要發(fā)送),當(dāng)有數(shù)據(jù)接收(或者發(fā)送)時(shí)則根據(jù)標(biāo)志位進(jìn)行相應(yīng)的子函數(shù)處理,將數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū)(或者發(fā)送至以太網(wǎng)上)。主程序流程如圖13所示。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉