色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于微處理器S3C44B0X和RTL8019AS網卡實現遠程液位監控系統的設計

電子設計 ? 來源:微計算機信息 ? 作者:何偉,江華明,俞立 ? 2021-03-27 12:21 ? 次閱讀

作者:何偉,江華明,俞立,徐建明

工業過程控制系統中液位對象是一種十分普遍的對象,對液位對象的監測與控制是系統實現其功能必不可少的環節。在過去,液位的監控裝置多數是使用單片機實現點對點控制和顯示,工作人員必須到工業現場操作這些儀器,且單片機功能十分有限,只能完成一些相對簡單的操作。

隨著網絡通信技術的發展,以太網工業控制領域的應用日趨廣泛,基于以太網的遠程監控系統實現遠程監測、控制和管理的有效集成。使用遠程監控系統通過網絡對工業生產過程進行監測,及時了解現場信息,快速進行決策。

遠程控制的關鍵技術在于如何解決工業現場設備的網絡接入問題。目前,主要有兩種方法:一種是使用PC機通過PC機端口(如RS232USB接口)或數據采集卡來采集數據同時提供網絡接口,這種方法利用強大的PC機軟件支持,容易實現網絡通信功能,但是PC機端口資源有限,專用采集卡成本較高,難以推廣;另一種就是在現場使用嵌入式系統實現網絡接入,嵌入式系統具有功耗低、體積小、成本低、可靠性高、實時性強等特點,使用在工業控制現場比較合適。

本文將嵌入式技術和網絡技術相結合,在現場利用嵌入式系統實現網絡通信功能以實時傳輸液位信號和控制信號,在客戶端PC機上通過套接字編程實現與現場嵌入式系統的遠程通信,從而達到對遠程液位的監控。

1 遠程液位監控系統結構

本文設計的遠程液位監控系統結構如圖1所示:其中,處理器芯片采用ARM微處理器S3C44B0X;S3C44B0X自帶8路10位ADC進行A/D轉換來采集液位數據,通過擴展DAC0832實現D/A轉換以輸出控制量;S3C44B0X連接10M以太網卡RTL8019AS,提供網絡功能的硬件接口;μC/OS-Ⅱ移植到S3C44B0X上,提供操作系統的支持,方便了應用程序的開發和對整個系統的管理;嵌入式TCP/IP協議棧LwIP移植到μC/OS-Ⅱ平臺上,實現對網絡數據的軟件處理,從而為嵌入式系統提供網絡通信功能;遠程PC機客戶端登錄到嵌入式系統服務器上,通過以太網實現兩端數據的實時交互。

基于微處理器S3C44B0X和RTL8019AS網卡實現遠程液位監控系統的設計

圖1 遠程液位監控系統結構圖

2 硬件介紹與設計

三星的S3C44B0X微處理器芯片采用ARM公司16/32位ARM7TDMI RISC結構的CPU核,主頻為66MHz,通過擴展一系列通用外圍部件,提供豐富的外設功能。它的存儲系統具有8個存儲體,每個有32MB的存儲空間,通過nGCS0-7這8個片選來分配。本文使用的設計方案中nGCS0接Flash芯片AM29LV160DB,起始地址0x00000000,大小為2MB,nGCS6接SDRAM芯片HY57V641620ET-7,起始地址為0x0c000000,大小為8MB,nGCS3接RTL8019AS,起始地址為0x06000000。

RTL8019AS是一款高度集成的全雙工以太網控制器,收發可同時達到10Mbps的速度;支持8位、16位數據總線,8個中斷請求線可供選擇;支持UTP、AUI和BNC的自動檢測;內置16K的SRAM,用于數據緩沖,以256B為單位的分頁結構,可以自行分配用于收發的分頁的大小和位置,一般前12頁用于發送緩沖,后52頁用于接收緩沖;硬件自帶收發CRC校驗、FIFO邏輯隊列等,減少了主CPU處理網絡數據的工作量。S3C44B0X對RTL8019AS的操作主要集中在對網卡寄存器的讀寫和網卡內SRAM的處理。

3 軟件設計

3.1 基于嵌入式系統的服務器端程序設計

3.1.1 S3C44B0X上μC/OS-Ⅱ的移植

嵌入式操作系統μC/OS-Ⅱ可以運行于各種不同類型的微處理器上,其內核小、效率高,并且具有高度的模塊化和可移植性,支持多任務實時調度,擴展后可支持網絡功能、圖形界面等,使得應用程序的開發更加簡單,功能更加豐富。

在使用μC/OS-Ⅱ之前,要先將它移植到S3C44B0X上,移植工作主要包括三個方面:

(1) 設置與處理器和編譯器相關的代碼,包括一系列數據類型的定義,開中斷宏、關中斷宏的實現,定義堆棧的生長方向;

(2) 用C語言編寫6個操作系統相關的函數:OSTaskStkInit()初始化任務的堆棧結構,和5個鉤子函數OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeHook()、OSTaskCreateHook();

(3) 用匯編語言編寫4個與處理器相關的函數:運行優先級最高的就緒任務函數OSStartHighRdy(),任務級的任務切換函數OS_TASK_SW(),中斷級的任務切換函數OSIntCtxSw(),時鐘節拍服務函數OSTickISR()。

3.1.2 μC/OS-Ⅱ上TCP/IP協議棧的實現

LwIP(Light-weight IP)是瑞典計算機科學院(Swedish Institute of Computer Science)的Adam Dunkels等開發的一套開源的TCP/IP協議棧,LwIP在保持TCP/IP協議主要功能的基礎上減少對RAM的占用,這使得它適合在低端嵌入式系統中使用。

LwIP協議棧在設計時已經把所有與硬件、操作系統、編譯器等移植相關的部分獨立出來,放在/src/arch目錄下。因此LwIP在μC/OS-Ⅱ上的實現就是修改這個目錄下的文件。

(1) 與CPU、編譯器相關的部分

主要是cc.h、cpu.h、peRF.h文件中有關數據長度、字的高低位順序等的定義,這些應該與實現μC/OS-Ⅱ時參數的定義保持一致。另外,一般情況下C語言的結構體struct是4字節對齊的,但是在處理數據包的時候,LwIP使用的是通過結構體中不同數據的長度來讀取相應的數據,所以,一定要在定義struct的時候使用_packed關鍵字,讓編譯器放棄struct的字節對齊。

(2) 與操作系統相關的部分

LwIP中需要使用信號量通信,所以在sys_arch.h、sys_arch.c中應實現信號量結構體sys_sem_t,和相關的信號量處理函數:包括創建一個信號量結構sys_sem_new(),釋放一個信號量結構sys_sem_free(),發送信號量sys_sem_signal(),請求信號量sys_arch_sem_wait()。

LwIP使用消息隊列來緩沖、傳遞數據報文,因此要在sys_arch.h、sys_arch.c中實現消息隊列結構體sys_mbox_t,以及相應的操作函數:包括創建一個消息隊列sys_mbox_new(),釋放一個消息隊列sys_mbox_free(),向消息隊列發送消息sys_mbox_post(),從消息隊列中獲取消息sys_arch_mbox_fetch()。

LwIP中每個與外界網絡連接的線程都有自己的timeout屬性,即等待超時時間,移植工作需要實現sys_arch_timeouts()函數,返回當前正處于運行態的線程所對應的timeout隊列指針。

LwIP中網絡數據的處理需要線程來操作,所以需要實現創建新線程函數sys_thread_new()。而在μC/OS-Ⅱ中,沒有線程的概念,只有任務。因此必須要把創建新任務的函數OSTaskCreate()封裝一下,才可以實現sys_thread_new()。

(3) 相關庫函數的實現

LwIP協議棧中用到了8個外部函數,主要是來完成16位數據的高低字節交換、32位數據的大小頭對調、返回字符串長度、字符串比較、內存數據塊拷貝、指定長度的數據塊清零等功能,與系統或編譯器有關,需要用戶實現。

(4) 網絡設備驅動程序

在LwIP中可以有多個網絡接口,每個網絡接口都對應了一個netif結構,這個netif包含了相應網絡接口的屬性、收發函數。在網絡設備驅動程序中主要就是實現四個網絡接口函數:網卡初始化、網卡接收數據、網卡發送數據以及網卡中斷處理函數。

3.2 PC機上客戶端程序的設計

VC++6.0環境下客戶端程序實現包括以下幾個部分:

(1) 建立客戶端的Socket:客戶端應用程序首先構造一個CAsyncSocket對象CltSock,然后調用CltSock.Create()函數來建立CltSock實體。

(2) 提出連接請求:客戶端套接字CltSock通過調用CltSock.Connect(strAddr,nPort)函數向服務器套接字提出連接請求。

(3) 傳輸數據:在客戶端應用程序中重載消息處理函數OnReceive()和OnSend()。在OnReceive()中通過調用CltSock.Receive()函數從服務器端接收數據;在OnSend()中通過調用CltSock.Send()函數向服務器端發送數據。

(4) 關閉連接:客戶端套接字CltSock通過調用CltSock.Close()函數來關閉連接。

4 遠程液位監控應用程序的開發

本文設計完成的基于以太網的遠程液位繼電自整定PID控制系統,其控制算法在遠端主機(客戶機)上實現,兩端通過TCP協議通信,本地的嵌入式系統 (服務器)上一方面實現對網絡數據的處理,一方面完成對液位高度的采集與控制;遠端PC機上一方面處理網絡上的實時數據,一方面通過PID計算出控制量,顯示相關參數。實時液位變化狀況如圖2所示,從圖中可以看出,實際液位(紅色曲線)能夠穩定在液位設定值(藍色曲線)處。同時,從用戶界面上既可以讀出液位高度值,PID自整定參數等,還可以改變液位高度設定值,從而真正實現了液位對象的遠程監控。

圖2 遠程液位繼電自整定PID控制效果圖

5 結語

本文設計解決了在嵌入式系統中實現網絡功能的問題,引入并實現了一種新的設計方案,即采用三星ARM7處理器S3C44B0X+Realtek的10M網卡RTL8019AS硬件組合,通過在μC/OS-Ⅱ操作系統內核的支持下,添加嵌入式TCP/IP協議棧LwIP,來實現網絡通信的功能,與PC機客戶端的Socket通信,在此基礎上開發了基于以太網的遠程液位監控系統,達到了良好的控制效果。可以看出,這類系統在遠程監控中的具有良好的應用前景。

本文作者創新點:本文將嵌入式網絡技術引入到工業過程遠程監控領域,提出了自己的設計方案,并成功開發了一個遠程液位監控系統。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9084

    瀏覽量

    367390
  • 控制系統
    +關注

    關注

    41

    文章

    6604

    瀏覽量

    110576
  • 微處理器
    +關注

    關注

    11

    文章

    2258

    瀏覽量

    82405
收藏 人收藏

    評論

    相關推薦

    基于S3C44B0X微處理器實現運動系統電流信號采集電路的設計

    本文首先以三星公司的S3C44B0X微處理器為核心芯片,設計電流信號采集電路,然后介紹了非線性能量故障診斷算法。最后以X-Y運動平臺為實驗對象,驗證該算法的有效性。
    的頭像 發表于 03-24 16:23 ?6464次閱讀
    基于<b class='flag-5'>S3C44B0X</b><b class='flag-5'>微處理器</b><b class='flag-5'>實現</b>運動<b class='flag-5'>系統</b>電流信號采集電路的設計

    怎樣在嵌入式操作系統μcLinux下實現網卡的驅動?

    本文介紹了以S3C44B0X 的ARM處理器RTL8019AS 以太網控制為基礎的網絡接口設計,并闡述了怎樣在嵌入式操作系統μcLinu
    發表于 04-25 09:28

    怎么實現基于S3C4480X的嵌入式以太網接口設計?

    本文基于最常用的嵌入式處理器S3C44B0X和以太網驅動RTL8019AS來設計了一款嵌入式以太網接口。本設計的特點是,既可僅用于嵌入式以太網驅動設備,方便簡單,又可進行擴展其他模塊
    發表于 05-21 06:00

    S3C44B0X pdf

    S3C44B0X p
    發表于 06-27 09:37 ?76次下載

    基于S3C44B0X微處理器的JFFS2件系統實現

    基于S3C44B0X微處理器的JFFS2件系統實現
    發表于 03-28 09:50 ?16次下載

    基于S3C44B0X 的uClinux的移植

    S3C44B0X 作為一款以ARM7TDMI 為內核的微處理器,正日益受到廣泛的應用;uClinux作為一種運行于沒有MMU 的嵌入式微處理器的Linux 衍生操作系統,也廣泛應用于嵌
    發表于 05-15 15:40 ?14次下載

    基于S3C44B0X+μcLinux的嵌入式以太網設計與分析

    本文介紹了基于一款ARM 處理器——S3C44B0X 的以太網接口電路設計,并詳細地闡述了在嵌入式操作系統μcLinux 下網卡驅動的實現
    發表于 06-15 11:36 ?16次下載

    基于S3C44B0X的嵌入式網絡通信研究

    S3C44B0X 作為一款以ARM7TDMI 為內核的微處理器,得到了廣泛的應用。本文采用該處理器,使用到廣泛應用的源代碼公開的uClinux 操作系統,
    發表于 06-15 15:44 ?18次下載

    基于以太網的遠程監控系統設計與開發

    本文主要解決在基于以太網的遠程監控系統中如何實現網絡通信的問題,在本地嵌入式
    發表于 08-04 09:46 ?20次下載

    基于S3C44B0X處理器的VxWorks中斷設計

    通過基于立宇泰S3C44B0X 開發板的BSP 移植調試,闡述了VxWorks 的異常中斷處理機制,實現了VxWorks 基于S3C44B0X 處理
    發表于 09-03 11:25 ?17次下載

    S3C44B0X中文手冊 pdf

    S3C44B0X中文數據 三星的S3C44B0X 16/32RISC處理器被設計來為手持設
    發表于 02-10 12:07 ?254次下載

    微處理器S3C44B0X音頻文件播放

    微處理器S3C44B0X音頻文件播放 S3C44B0X是三星公司針對嵌入式系統推出高性價比微處理器,它是基于ARM7TDMI內核的16/3
    發表于 03-16 11:46 ?775次閱讀
    <b class='flag-5'>微處理器</b><b class='flag-5'>S3C44B0X</b>音頻文件播放

    S3C44B0X微處理器內置LCD控制

      引言   S3C44B0X微處理器是三星公司專為手持設備和一般應用提供的高性價比和高性能的微控制解決方案。它使用ARM7TDMI核,工作在66MHz,集成了LCD控制等外圍器
    發表于 08-30 10:18 ?1722次閱讀
    <b class='flag-5'>S3C44B0X</b><b class='flag-5'>微處理器</b>內置LCD控制<b class='flag-5'>器</b>

    S3C44B0X原理圖

    S3C44B0X原理圖:
    發表于 09-14 15:28 ?167次下載
    <b class='flag-5'>S3C44B0X</b>原理圖

    基于S3C44B0X遠程控制點滴監控系統

    點滴監控系統的設計, 可以實現對醫療用輸液液體點滴速度、輸液瓶高度等參數進行動態在線實時檢
    發表于 09-29 18:57 ?42次下載
    基于<b class='flag-5'>S3C44B0X</b>的<b class='flag-5'>遠程</b>控制點滴<b class='flag-5'>監控</b><b class='flag-5'>系統</b>
    主站蜘蛛池模板: BL文高H强交| 国产精品成人自拍| 人妻兽虐曲| 无码AV精品久久一区二区免费| 人妻超级精品碰碰在线97视频| 午夜福利在线观看6080| 我和妽妽在厨房里的激情区二区| 亚洲中文久久久久久国产精品| bl高h文合集| 狠狠狠色丁香婷婷综合久久| 国产午夜在线精品三级a午夜电影| 国产精品久久久久久AV免费不卡| 精品无码国产自产在线观看| 精品亚洲欧美中文字幕在线看| 欧美xxxxb| 亚洲男同tv| 永久免费看bbb| 最近的2019中文字幕国语版 | 总裁呻吟双腿大开男男H| 高清毛片一区二区三区| 久久精品123| 偷拍亚洲色自拍| 99久久香蕉| 九九精品久久| 色宅男看片午夜大片免费看| 78m成人亚洲| xxxx免费观看| 久久这里只精品热在线18| 无码AV精品一区二区三区| 91视频夜色| 国产精品久久久久久亚洲毛片| 美女脱了内裤张开腿让男人爽| 全免费午夜一级毛片| 猪蜜蜜网站在线观看电视剧| 国产一区二区在线观看免费 | 久久亚洲伊人| 寻找最美乡村教师颁奖晚会| 中文字幕国产视频| 国厂精品114福利电影| 色欲AV亚洲永久无码精品| japanese幼儿videos|