嵌入式TCP/IP技術(shù)在恒溫振蕩器中的應用
TCP/IP協(xié)議是面向連接的、端對端的可靠通信協(xié)議[4],共分為4層,即網(wǎng)絡(luò )接口層、網(wǎng)絡(luò )層、傳輸層和應用層,如圖4所示。本文引用地址:http://dyxdggzs.com/article/152306.htm
網(wǎng)絡(luò )接口層負責將IP數據報以數據幀的格式發(fā)送和接收,具體過(guò)程為數據從TCP/IP應用程序通過(guò)TCP傳遞到傳輸層TCP,然后交給IP。IP協(xié)議提供邏輯地址信息,并將數據封裝在分組中。接著(zhù)IP分組進(jìn)入網(wǎng)絡(luò )接口層,網(wǎng)絡(luò )接口層創(chuàng )建1個(gè)或多個(gè)數據幀,以便進(jìn)入物理網(wǎng)路,數據幀最后被轉換成在網(wǎng)絡(luò )傳輸介質(zhì)上傳送的(bit)流。
TCP/IP的核心層是網(wǎng)絡(luò )層(IP)和傳輸層(TCP),對應的主要協(xié)議是IP和TCP兩大協(xié)議。網(wǎng)絡(luò )層提供計算機間的IP分組傳輸,包括高層數據的分組生成、底層數據報的分組組裝,以及路由處理、流量控制、擁塞處理等問(wèn)題。IP數據報中含有發(fā)送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。傳輸層(TCP)作為網(wǎng)絡(luò )應用程序與網(wǎng)絡(luò )之間的接口,根據端口通過(guò)TCP傳輸控制協(xié)議提供應用程序間的通信,包括格式化信息流和提供可靠傳輸,實(shí)際上也就是將TCP數據送往一個(gè)由IP地址與端口號組成的套接字(Socket)。
應用層提供常用的應用服務(wù)程序,如HTTP服務(wù)、SMTP服務(wù)等。HTTP應用程序在Web服務(wù)器上運行的是面向對象的協(xié)議,工作方式為收聽(tīng)請求,然后響應請求,向請求方發(fā)回文件[5]。
2.2.3 本系統TCP/IP通信過(guò)程
TCP/IP協(xié)議軟件上的數據傳輸可分為3個(gè)階段:建立連接、傳輸數據和斷開(kāi)連接。它的實(shí)現過(guò)程可以用狀態(tài)機來(lái)描述。建立連接有2種方法,即主動(dòng)打開(kāi)和被動(dòng)打開(kāi)。服務(wù)器端是被動(dòng)打開(kāi),然后一直在偵聽(tīng)連接請求;而客戶(hù)端是主動(dòng)打開(kāi),發(fā)送連接請求以建立連接。斷開(kāi)連接有2種方式:主動(dòng)斷開(kāi)連接和被動(dòng)斷開(kāi)連接。在需要主動(dòng)斷開(kāi)連接時(shí),發(fā)送1個(gè)FIN數據包,接收到對FIN數據包的確認后,再發(fā)送1個(gè)RESET數據包,即可順利完成1次主動(dòng)斷開(kāi)連接。
本系統中通信過(guò)程主要分為4個(gè)部分:
(1)網(wǎng)卡芯片DP83848和RJ45組成的硬件接口。
(2)TCP/IP協(xié)議棧。用這個(gè)協(xié)議棧進(jìn)行數據通信,網(wǎng)卡芯片已經(jīng)完全固化了從MAC層、網(wǎng)絡(luò )層到傳輸層所需要的協(xié)議,因此,用戶(hù)無(wú)需了解這些協(xié)議的實(shí)現方法和實(shí)現代碼。
(3)接收和發(fā)送緩沖區。主控芯片LPC2368通過(guò)以太網(wǎng)與網(wǎng)絡(luò )上其他主機進(jìn)行通信的數據都是通過(guò)這些緩沖區來(lái)進(jìn)行交換的。
(4)以太網(wǎng)物理層接口。網(wǎng)卡芯片DP83848實(shí)現10/100BaseT以太網(wǎng)傳輸數據功能。
在主機端訪(fǎng)問(wèn)由嵌入式ARM芯片LPC2368為主控的從機,然后在主機顯示出由LPC2368控制下的恒溫振蕩器的速度和溫度等實(shí)時(shí)數據。具體過(guò)程是:先對底層進(jìn)行初始化,包括對LPC2368主控芯片上的局域網(wǎng)控制器配置端口和對DP83848的物理層的設備、讀寫(xiě)狀態(tài)寄存器、MAC配置和控制寄存器、接收和發(fā)送端描述符寄存器、局域網(wǎng)地址寄存器、以及指定DP83848工作模式具體是10 Mb/s還是100 Mb/s;然后進(jìn)行定時(shí)編程,處理網(wǎng)絡(luò )、TCP/IP堆棧和用戶(hù)事件;再設置監聽(tīng)TCP通信的端口,進(jìn)行端口連接,服務(wù)器則被動(dòng)打開(kāi)等待呼叫,之后就可以確定是否接收數據包然后進(jìn)行幀處理等;最后實(shí)現動(dòng)態(tài)的HTTP服務(wù)器,等到被連接之后才發(fā)送1個(gè)HTTP的幀頭,存儲HTML代碼,這里的HTML代碼存放在自定義的一個(gè)數組當中,該數組包括溫度和速度等實(shí)時(shí)數據,只要在應用層程序中調用該數組,就可以訪(fǎng)問(wèn)到實(shí)時(shí)數據,并把得到的實(shí)時(shí)數據顯示到網(wǎng)頁(yè)頁(yè)面上,以此實(shí)現對恒溫振蕩器的遠程監控。
恒溫振蕩器網(wǎng)絡(luò )通信實(shí)現的程序流程如圖5所示。
3 其他模塊設計
3.1 轉速模塊
主要實(shí)現轉速調節的功能。在運行狀態(tài)下設置速度值,再通過(guò)DA輸出改變可控硅的導通角進(jìn)行電機速度的調節。運行狀態(tài)又分為A、B、C、D四段運行:首先是按照A段設置的轉速參數運行,當A段運行時(shí)間結束就調入B段參數,B段開(kāi)始運行;當B段運行時(shí)間結束時(shí)就調入C段參數,C段就開(kāi)始運行;同理,C段運行時(shí)間結束時(shí)調入D段參數,從而開(kāi)始D段參數的運行;當D段運行時(shí)間結束時(shí),就設置待機狀態(tài)。在運行狀態(tài)下,當速度達到穩定狀態(tài)時(shí),判斷轉速是否超出設置速度±5轉且超時(shí)大于2 min,選擇是否進(jìn)入超欠速轉速處理動(dòng)作的執行;否則就退出超欠速程序,繼續進(jìn)行轉速控制調整。
3.2 溫度模塊
主要實(shí)現溫度控制以及超溫和欠溫溫度調整的功能。溫度控制主要是通過(guò)制冷和加熱這兩個(gè)手段來(lái)調節。首先是在運行的狀態(tài)下設置溫度參數值,然后由A/D轉換來(lái)采集振蕩器箱體內部環(huán)境溫度,按照箱內溫度和設置溫度的偏差,再根據PID溫度控制的算法[6]進(jìn)行分區域控制。該恒溫振蕩器劃分了3個(gè)區間進(jìn)行處理:(1)當設置溫度處于(箱內溫度-4℃)箱內溫度區間時(shí),控制打開(kāi)制冷風(fēng)扇和加熱時(shí)間;(2)當設置溫度低于箱內溫度4℃區間時(shí),制冷常開(kāi),控制加熱時(shí)間;(3)當設置溫度大于箱內溫度區間時(shí),制冷不開(kāi),控制加熱時(shí)間,直到把溫度調整在誤差范圍之內為止。如果恒溫振蕩器進(jìn)入穩定工作狀態(tài),但箱內溫度超出設置值的正負4℃且時(shí)間大于5 min時(shí),就執行超溫處理動(dòng)作;否則,退出超欠溫程序,繼續進(jìn)行溫度控制。
本文闡述了基于TCP/IP的恒溫振蕩器的設計原理,以嵌入式ARM芯片LPC2368為主控芯片控制多個(gè)模塊的功能實(shí)現。詳細說(shuō)明了基于TCP/IP的控制模塊對于恒溫振蕩器的遠程監控功能的實(shí)現,目前市場(chǎng)上的大部分同類(lèi)產(chǎn)品都不具備該項功能。另外,通過(guò)硬件與軟件的結合來(lái)實(shí)現恒溫振蕩器的調速和調溫的功能,保證了恒溫振蕩器的恒溫恒轉速持續穩定的工作狀態(tài)。根據本設計制造的恒溫振蕩器具有很強的實(shí)用性和穩定性,能夠滿(mǎn)足用戶(hù)遠程獲取數據的使用需求。
tcp/ip相關(guān)文章:tcp/ip是什么
評論