新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式TCP/IP技術在恒溫振蕩器中的應用

        嵌入式TCP/IP技術在恒溫振蕩器中的應用

        作者: 時間:2009-10-28 來源:網絡 收藏
        2.2.2 協議
          協議是面向連接的、端對端的可靠通信協議[4],共分為4層,即網絡接口層、網絡層、傳輸層和層,如圖4所示。

        本文引用地址:http://www.104case.com/article/152306.htm


          網絡接口層負責將IP數據報以數據幀的格式發送和接收,具體過程為數據從程序通過TCP傳遞到傳輸層TCP,然后交給IP。IP協議提供邏輯地址信息,并將數據封裝在分組中。接著IP分組進入網絡接口層,網絡接口層創建1個或多個數據幀,以便進入物理網路,數據幀最后被轉換成在網絡傳輸介質上傳送的(bit)流。
          TCP/IP的核心層是網絡層(IP)和傳輸層(TCP),對應的主要協議是IP和TCP兩大協議。網絡層提供計算機間的IP分組傳輸,包括高層數據的分組生成、底層數據報的分組組裝,以及路由處理、流量控制、擁塞處理等問題。IP數據報中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。傳輸層(TCP)作為網絡程序與網絡之間的接口,根據端口通過TCP傳輸控制協議提供應用程序間的通信,包括格式化信息流和提供可靠傳輸,實際上也就是將TCP數據送往一個由IP地址與端口號組成的套接字(Socket)。
          應用層提供常用的應用服務程序,如HTTP服務、SMTP服務等。HTTP應用程序在Web服務器上運行的是面向對象的協議,工作方式為收聽請求,然后響應請求,向請求方發回文件[5]。
        2.2.3 本系統TCP/IP通信過程
          TCP/IP協議軟件上的數據傳輸可分為3個階段:建立連接、傳輸數據和斷開連接。它的實現過程可以用狀態機來描述。建立連接有2種方法,即主動打開和被動打開。服務器端是被動打開,然后一直在偵聽連接請求;而客戶端是主動打開,發送連接請求以建立連接。斷開連接有2種方式:主動斷開連接和被動斷開連接。在需要主動斷開連接時,發送1個FIN數據包,接收到對FIN數據包的確認后,再發送1個RESET數據包,即可順利完成1次主動斷開連接。
          本系統中通信過程主要分為4個部分:
          (1)網卡芯片DP83848和RJ45組成的硬件接口。
          (2)TCP/IP協議棧。用這個協議棧進行數據通信,網卡芯片已經完全固化了從MAC層、網絡層到傳輸層所需要的協議,因此,用戶無需了解這些協議的實現方法和實現代碼。
          (3)接收和發送緩沖區。主控芯片LPC2368通過以太網與網絡上其他主機進行通信的數據都是通過這些緩沖區來進行交換的。
          (4)以太網物理層接口。網卡芯片DP83848實現10/100BaseT以太網傳輸數據功能。
          在主機端訪問由ARM芯片LPC2368為主控的從機,然后在主機顯示出由LPC2368控制下的的速度和溫度等實時數據。具體過程是:先對底層進行初始化,包括對LPC2368主控芯片上的局域網控制器配置端口和對DP83848的物理層的設備、讀寫狀態寄存器、MAC配置和控制寄存器、接收和發送端描述符寄存器、局域網地址寄存器、以及指定DP83848工作模式具體是10 Mb/s還是100 Mb/s;然后進行定時編程,處理網絡、TCP/IP堆棧和用戶事件;再設置監聽TCP通信的端口,進行端口連接,服務器則被動打開等待呼叫,之后就可以確定是否接收數據包然后進行幀處理等;最后實現動態的HTTP服務器,等到被連接之后才發送1個HTTP的幀頭,存儲HTML代碼,這里的HTML代碼存放在自定義的一個數組當中,該數組包括溫度和速度等實時數據,只要在應用層程序中調用該數組,就可以訪問到實時數據,并把得到的實時數據顯示到網頁頁面上,以此實現對的遠程監控。
        網絡通信實現的程序流程如圖5所示。


        3 其他模塊設計
        3.1 轉速模塊

          主要實現轉速調節的功能。在運行狀態下設置速度值,再通過DA輸出改變可控硅的導通角進行電機速度的調節。運行狀態又分為A、B、C、D四段運行:首先是按照A段設置的轉速參數運行,當A段運行時間結束就調入B段參數,B段開始運行;當B段運行時間結束時就調入C段參數,C段就開始運行;同理,C段運行時間結束時調入D段參數,從而開始D段參數的運行;當D段運行時間結束時,就設置待機狀態。在運行狀態下,當速度達到穩定狀態時,判斷轉速是否超出設置速度±5轉且超時大于2 min,選擇是否進入超欠速轉速處理動作的執行;否則就退出超欠速程序,繼續進行轉速控制調整。
        3.2 溫度模塊
        主要實現溫度控制以及超溫和欠溫溫度調整的功能。溫度控制主要是通過制冷和加熱這兩個手段來調節。首先是在運行的狀態下設置溫度參數值,然后由A/D轉換來采集振蕩器箱體內部環境溫度,按照箱內溫度和設置溫度的偏差,再根據PID溫度控制的算法[6]進行分區域控制。該恒溫振蕩器劃分了3個區間進行處理:(1)當設置溫度處于(箱內溫度-4℃)箱內溫度區間時,控制打開制冷風扇和加熱時間;(2)當設置溫度低于箱內溫度4℃區間時,制冷常開,控制加熱時間;(3)當設置溫度大于箱內溫度區間時,制冷不開,控制加熱時間,直到把溫度調整在誤差范圍之內為止。如果恒溫振蕩器進入穩定工作狀態,但箱內溫度超出設置值的正負4℃且時間大于5 min時,就執行超溫處理動作;否則,退出超欠溫程序,繼續進行溫度控制。
        本文闡述了基于TCP/IP的恒溫振蕩器的設計原理,以ARM芯片LPC2368為主控芯片控制多個模塊的功能實現。詳細說明了基于TCP/IP的控制模塊對于恒溫振蕩器的遠程監控功能的實現,目前市場上的大部分同類產品都不具備該項功能。另外,通過硬件與軟件的結合來實現恒溫振蕩器的調速和調溫的功能,保證了恒溫振蕩器的恒溫恒轉速持續穩定的工作狀態。根據本設計制造的恒溫振蕩器具有很強的實用性和穩定性,能夠滿足用戶遠程獲取數據的使用需求。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东丽区| 山东省| 石城县| 宽城| 广安市| 岗巴县| 淄博市| 同德县| 阳东县| 西藏| 集安市| 汨罗市| 鹤庆县| 陵水| 奇台县| 唐山市| 乌海市| 马公市| 河北省| 高台县| 那坡县| 江门市| 兰溪市| 如皋市| 石楼县| 册亨县| 苍山县| 米泉市| 新泰市| 舒兰市| 罗平县| 北宁市| 汉源县| 顺义区| 平江县| 石棉县| 岳普湖县| 高要市| 仪陇县| 隆德县| 米泉市|