精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

基于μC/OS-II和ARM處理器實現現場數據采集器的設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:陳玉川,史幼迪, ? 2021-06-21 17:32 ? 次閱讀

作者:陳玉川,史幼迪,胡劍凌

方便、舒適、高效、安全,以及環保節能等作為人們對自身生活和工作場所的基本要求由來已久。自上世紀90年代以來,隨著數字通信技術和信息技術的飛速發展,基于網絡智能化建筑和住宅是該領域的一個主要發展方向。

現介紹其中一種利用ARM技術、嵌入式實時內核和TCP協議設計的現場數據采集器。

1 現場數據采集器的基本功能

“一線通”系統的基本架構如圖1所示,3臺管理計算機互為冗余。

系統是面向設備管理的,基本功能可歸結為三點,即“監”、“控’’和“報警”。“監”是指管理機查詢設備的狀態;

控,是管理者通過監控界面操縱現場設備;“報警”是當設備運行狀態超越報警限時,及時向管理機報告。管理機監控界面采用組態王6.5通用組態軟件進行設計。

“一線通”系統將監測與報警合并。在現場,設備的DEC控制器和智能儀表通過485總線連接到數據采集器,在整理設備狀態數據的基礎上,根據狀態的變化,由采集器向管理機發送設備最新變化狀態。徹底避免了無謂的查詢,減輕了網絡的通信負荷。這就是數據采集器的由來。

現場數據采集器的基本功能要求分為兩個方面。首先,要定期采集各DDC控制器(以下稱子站)和智能儀表中的狀態數據,并將狀態變化信息發送到管理機。其次,也要傳遞管理機對設備的控制命令。

2 現場數據采集器的設計實現

設計采用了EasyARM2200開發板,CPU是Philips公司的32位嵌入式處理器LPC2210(ARM7TDMI-S核)。開發板基本結構如圖2所示。CPU采用11.059 2 MHz晶振,通過片內鎖相環和外設分頻器,分別獲得44 MHz系統時鐘和11 MHz外設時鐘頻率。串行通信波特率為19 200 bps。

采集器用C語言編制實現。設計大致分四步進行。

(1) 協議設計

在“一線通”系統中,設備以采集器號、子站號和設備號惟一確定。管理機用采集器號區別局域網上的采集器。采集器用子站號標識總線上的DDC控制器。同一子站下可能有不止一個設備,相互以設備號區分。

所有的狀態和控制數據都以設備為單位進行組織。通過工程項目的配置文件,系統中確定的設備與具體設備類型聯系起來。采集器中設備狀態數據塊格式定義為

設備狀態數據和控制數據格式由設備類型數據協議規定。

采集器與子站的串行通信數據幀基本格式為

STX協議數據ETX校驗和

所有協議數據傳輸字節加ETX生成校驗和。由16個ASCII字符O~9、A~B作為傳輸字節對協議數據和校驗和進行編碼,傳輸字節的最高位用作奇偶校驗位。

通信采用主從方式,由采集器向子站寫控制數據。寫命令幀協議數據為

設備狀態數據塊或控制數據塊可任意組合到用戶數據域中。標志字符指明用戶數據的類型。例如,是采集器向管理機發送的設備狀態數據塊組合,還是管理機向采集器發送的設備控制數據塊組合。

(2)數據結構

采集器中,為設備控制數據塊設置從網口到串口的隊列。設備狀態數據塊須定期地從各子站中讀取并刷新存儲,變化的狀態須向管理機發送。為此,設置子站項和設備記錄塊兩種基本結構,構成三種鏈表,如圖3所示。

子站項的基本域是子站號。各子站項通過指針NextDDC相互連接,構成一個循環鏈表,管理對子站的采集過程。指針CurrDDC指向當前正被訪問的子站項。采集器根據CurrDDC沿循環鏈表的依次移動,確定下一個訪問的子站站號。

在子站項數據域中設置了一個故障計數器。當某子站對采集器讀命令連續多次無正常應答時,采集器判定其故障,將暫停對其讀取,并啟動計數器。計時結束后再嘗試重新訪問該子站。如果成功,便恢復正常;否則,停止讀取而重新計時。這樣將大大減少對故障子站的超時等待時間,實現了故障屏蔽和自動恢復的連接重試功能。

設備記錄塊的基本域是設備號。在其記錄數據域中存放著一個完整的最新設備狀態數據塊,由記錄長度域指明長度。

每個子站下連接著數目不等的若干個設備,每個設備對應一個設備記錄塊。同一子站下的設備記錄塊通過指針域RBPtr連成一個單鏈表。采集器能根據子站下設備的增加自動添加設備記錄塊。

狀態發生變化的設備記錄塊由指針域RBInList連接成發送鏈表。以太網發送程序將給設備狀態數據塊加上采集器號,組合到用戶數據報中。這樣的方式能保證發送設備最新的狀態數據。

(3)任務設計

μC/OS-II(v2.52)被移植到LPC2210上,是獨立于采集器程序外的一段代碼。作為可剝奪型內核,它能保證實時性的需要,使時間要求苛刻的事件得到快捷的處理。

采集器程序由一組任務構成,如表1所列。

Task_UartProcess()是采集器的核心任務。它依次循環地完成:

◆發送寫命令幀(如果有控制數據塊)。從設備控制數據塊隊列中取出新的控制數據塊,組合到寫命令幀中。利用串行發送中斷服務發送寫命令幀。

◆發送讀命令幀。從子站項循環鏈表中獲得訪問子站號,生成讀命令幀。同樣,利用串行發送中斷服務發送讀命令幀。

◆等待子站應答幀。當收到UartRcvMbox中消息或超時退出時,進入應答幀數據處理程序。數據處理程序完成對設備狀態數據塊的刷新存儲和變化處理。

◆發采集信號量通知發送服務器和發送客戶端。

(4)程序設計

LPC2210上電后需運行一段匯編代碼,完成中斷向量表的定義和重映射,外部存儲控制器的初始化,并分配系統堆棧空間,然后進入main()函數[2,3]。

在main()中:

◆調用()SInit()函數對內核多任務調度所用系統變量和數據結構完成初始化,并建立空閑任務。

◆調用()SStart()函數進入內核。

內核中集成了TCP/IP協議棧,數據報交換通過連接來進行。主要Socket API函數如表2所列。

ADS開發環境下,函數都是可重入的。

采集器發送客戶端或發送服務器均能獨立地完成對變化的設備狀態數據塊的發送,和對控制數據塊的接收。采集器發送客戶端程序狀態如圖4左端所示。調用connect()函數發起與管理機的連接。連接只需與三臺管理機之一建立即可。

連接建立后,可用send()發送設備狀態數據塊組合幀。采集器在訪問每個子站后,都要檢查設備狀態變化情況,并及時向管理機匯報。

當故障發生時,send()函數將不能成功返回。若干次發送失敗后,客戶端程序將調用close()斷開連接,然后重新發起建立連接。

實際上,close()并不一定能正常斷開連接,這將影響連接的重新建立。故約定,當設備狀態無變化時,采集器也將間隔一定時間發送一個空數據報。進入故障處理后,管理機因收不到定期的空數據報,亦將關閉連接而重新偵聽。

采集器發送服務器程序狀態如圖4右端所示。事先指定偵聽的連接數,通過accept()函數查看管理機與采集器的連接情況。

當有管理機連接后,即可通過send()發送設備狀態數據塊幀,所有過程同客戶端中一樣。不同的只是,當進入故障處理后,將退回到accept()重新偵聽遠程連接。

采集器由5個源文件和6個頭文件組成,編譯后約8 KB代碼。包括啟動代碼、實時內核和TCP/IP協議棧后,總共40 KB,并占用125 KB數據空間。

管理計算機可對采集器的數據結構和工作方式等進行必要的配置。

采集器正常工作時測得的串口通信時序示意圖如圖5所示。其中,讀命令幀歷時約3.8 ms,子站應答幀約13.2 ms.子站應答延遲取決于子站的處理時間。

由圖5可見,子站的訪問時間約35 ms。期間除完成子站訪問外,還包括以太網發送等各項任務。如果要求總線訪問周期小于1 s,則可連接25個子站。

結 語

本文介紹的現場數據采集器采用32位ARM處理器加實時內核μC/OS-II的嵌入式實現方案。它將現場各類設備與管理計算機連接起來,使智能小區“一線通”監控系統的結構和對網絡資源的利用更趨合理。

通常,對電梯運行狀態的監控實時性要求較高,延遲一般應小于O.5 s。其他諸如安防報警等,也應小于2 s。現場數據采集器能很好地滿足實時性要求。當十臺電梯均以4 m/s以上的高速模擬運行時,監控界面上所有的參數都能及時得到反映,并幾乎感覺不到延遲。事實上,每個狀態的數據都能被傳遞達2次以上。

現場數據采集器已被成功地使用于上海金色家園等多處智能化小區工程中。

責任編輯:gt

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

    關注

    68

    文章

    19178

    瀏覽量

    229202
  • 嵌入式
    +關注

    關注

    5072

    文章

    19026

    瀏覽量

    303533
  • 數據采集
    +關注

    關注

    38

    文章

    5925

    瀏覽量

    113539
收藏 人收藏

    評論

    相關推薦

    ARM7和UC/OS-II設計的信號采集系統

    ARM7和UC/OS-II設計的信號采集系統 概述:介紹了一種用ARM7+μC/OSII設計的數據采
    發表于 04-16 14:06 ?796次閱讀
    用<b class='flag-5'>ARM</b>7和UC/<b class='flag-5'>OS-II</b>設計的信號<b class='flag-5'>采集</b>系統

    μCOS-II操作系統在各種處理器上的移植

    仍需使用匯編語言來完成一些和處理器相關的操作,例如讀寫處理器、寄存時只能使用匯編語言來實現。因此,將μC/
    發表于 08-14 09:46

    μC/OS-II 在Nios上的移植

    首先介紹嵌入式實時操作系統μC/OS-II 和Nios 嵌入式處理器, 分析μC/OS-II 移植對目標
    發表于 03-08 09:31 ?90次下載

    μC OS-II 在S3C44B0X 處理器上的移植

    介紹實時操作系統μC/OS-II 的特點和內核結構,給出μC/OS-II 在Samsung 嵌入式S3C44B0X
    發表于 05-15 13:34 ?18次下載

    μC OS-II 在Nios 上的移植1

    首先介紹嵌入式實時操作系統μC/OS-II 和Nios 嵌入式處理器, 分析μC/OS-II 移植對目標
    發表于 05-16 14:32 ?28次下載

    輕型PPP協議在μC/OS-II操作系統中的實現

    針對實時操作系統μC/OS-II 沒有自己的網絡協議棧,提出了基于ARM7TDMI 處理器的μC/OS-
    發表于 08-13 09:05 ?15次下載

    基于ARM處理器的μC/OS-II的移植研究

    本文介紹了基于ARM處理器的μC/OS-II 的移植,并對其進行擴展,主要包括內核、lwip、μC/GUI 的移植。關鍵字:微
    發表于 08-27 11:50 ?14次下載

    uc/os-iiARM處理器上的移植

    uc/os-iiARM處理器上的移植:基于ARM體系結構的處理器因本身固有的硬件結構特點.使其對操作系統的運行提供了充分的硬件支持.本文簡
    發表于 09-13 14:16 ?65次下載

    基于ARM和GPS的數據采集模塊的設計

    本文主要介紹了基于ARM 和GPS 的數據采集記錄儀中的數據采集模塊的設計與實現。該數據采集記錄儀以32 位
    發表于 01-06 15:45 ?43次下載

    基于ARMC/OS-II的嵌入式數據采集系統設計

    基于ARMC/OS-II的嵌入式數據采集系統設計摘 要:比較了常見的幾種數據采集系統方案,說明了基于
    發表于 05-30 17:06 ?36次下載

    μC/OS-II在S3C44BOX處理器上的移植

     摘要:介紹實時操作系統μC/OS-II的特點和內核結構,給出μC/OS-II在Samsung嵌入式S3C44BOX
    發表于 03-11 12:39 ?1304次閱讀
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>在S3<b class='flag-5'>C</b>44BOX<b class='flag-5'>處理器</b>上的移植

    μC/OS-II任務棧處理的改進設計

    已經有不少的文章介紹了有關μC/OS-II這個實時內核及其應用。在很多的處理器上,μC/OS-II都得到了應用。μ
    發表于 04-18 22:12 ?1125次閱讀

    用協處理器提高μC/OS-II的實時性

    用協處理器提高μC/OS-II的實時性 μC/OS-II是一種可移植、可固化、可裁剪及可剝奪型的多任務實時操作系統(RTOS)。本文提出用
    發表于 03-29 15:10 ?782次閱讀
    用協<b class='flag-5'>處理器</b>提高μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>的實時性

    LPC2292和μC/OS-II的無線數據采集系統設計

    LPC2292和μC/OS-II的無線數據采集系統設計       無線數據采集系統的應用范圍非常廣泛,涉及電力、水利、交通和安防
    發表于 04-20 13:55 ?991次閱讀
    LPC2292和μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>的無線<b class='flag-5'>數據采集</b>系統設計

    μC/OS-II操作系統在各種處理器上的移植

    μC/OS-II操作系統在各種處理器上的移植  μCOS-II操作系統是一種搶占式多任務、單內存空間、微小內核的嵌入式操作系統,具有高效
    發表于 01-07 11:11 ?715次閱讀
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>操作系統在各種<b class='flag-5'>處理器</b>上的移植