谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

基於Small RTOS5l的汽車動態稱重儀表的設計

發布時間:2019-10-24 09:54:45 |來源:中國知網

1、概述

     本篇文章介紹了一種應用了嵌入式實時操作內核Small RTOS5l的汽車動態稱重儀表的設計方法。汽車動態稱重原理是汽車以一定的速度經過一定寬度的稱重台麵,由稱重台麵測出汽車每個軸的重量,然後累加得出汽車總重。該稱重過程是一個強實時過程,需要單片機及時采集汽車每個軸的數據並快速計算其重量。如果單片機速度過慢或者程序設計不合理,就會給儀表帶來穩定性和可靠性的問題。當前很多智能稱重儀表的軟件采用前/後台係統設計,整個應用程序是一個無限的循環,後台程序循環調用相應的函數完成相應的操作,中斷服務程序處理異步事件。這種傳統的程序設計思路有著明顯的不足。整個應用程序是一個有機的整體,使得實時應用程序的設計和擴展困難,時間要求苛刻的事件難以達到快捷有效的處理,對事件的串行處理使得資源得不到很好的利用。在智能動態稱重儀表中移植嵌入式操作係統能較好的解決以上問題,並使軟件開發工作變得規範、容易測試,實現模塊化編程和縮短開發周期。當然RTOS本身需要占用一定的資源,隨著半導體技術的發展,器件的性能不斷上升、成本不斷下降,使得RTOS所消耗的成本不再重要。汽車動態稱重儀就是移植了嵌入式操作係統,在實際應用中增強了係統穩定性和可靠性。

2 、係統總體方案
    汽車動態稱重儀主要由數據采集模塊、數據處理模塊、顯示模塊、數據通訊模塊、外部存儲器和外部看門狗組成。數據采集模塊負責將稱重傳感器檢測到的重量信號放大、濾波,轉換成數字信號傳送給CPU;CPU負責與各個外設的通訊和重量信號的分析和處理,並將處理完的重量信號發送給顯示模塊和通訊模塊;顯示模塊負責重量信號的顯示:通訊模塊負責將重量信號發送到上位機;外部存儲器存放儀表的參數:按鍵用來設置和修改儀表參數;外部看門狗用來提高
稱重儀表的抗幹擾能力,增強儀表的穩定性。

3、 硬件電路設計
3.1數據采集模塊
      由於稱重儀表需要高精度,采用外接A/D轉換器,選用CS5532。該器件是美國某公司推出的一種具有極低噪音的多通道型模擬/數字轉換器,由於其采用電荷平衡技術和極低噪聲的可編程增益斬波穩定測量放大器,內部集成了放大和濾波功能,可得到高達24位分辨率的輸出結果,且具有高動態範圍和靈活的電源配置選項等優點,使得該器件非常適合於
動態稱重。其基準電壓由專門的基準電壓器件AD780提供。。

3.2微處理器和外部存儲器
      微處理器是係統的核心,其性能的好壞直接決定了稱重係統的準確性、穩定性和可靠性。基於汽車動態稱重儀對精度和實時性的要求,選用某公司的P89C668單片機。它具有以下特點:
①片內帶有8 KB RAM,64 KB Flash存儲器,該存儲器既可並行編程也可串行編程(ISP),在實際的成型產品中可通過ISP升級用戶程序;②該器件在6個時鍾周期內執行一條指令,是傳統的80C51的2倍;在每個機器周期,6個時鍾周期下速度高達20 MHz(相當於40 MHz性能);③該器件有4個8位I/O端口,3個16位定時器/事件計數器,多中斷源,4個優選級,可嵌套中斷結構,一個增強型UART和片內振蕩器及時序電路;這些資源為係統的硬件設計提供足夠的I/O端口,為軟件複雜功能的實現和未來程序的擴展,提供了足夠的程序存儲空間,為重量數據的采樣、濾波和稱重算法的實現,提供了足夠的數據存儲空間,可采用ISP功能實現產品的軟件升級。外部存儲器采用某公司的AT24C512器件,擁有64 KB存儲容量、I2C接口的電可擦除非易失EEPROM存儲器,為設置和校準參數提供存儲空間。

3.3顯示和通訊模塊
    顯示驅動采用SN74HC595,是一款串行輸入並行輸出的移位寄存器,僅需3根I/O端口線即可控製6個數碼管和8個發光二極管,極大節省了單片機的資源

3.4 按鍵和外部看門狗電路
     鍵盤采用典型的4x4矩陣薄膜按鍵鍵盤,用來設置動態稱重儀表參數。為了提高儀表的抗幹擾能力,增強儀表的穩定性,采用外部看門狗複位電路。選用的器件 是MAX813。

4 、係統軟件設計

4.1 Small RTOS51簡介
      Small RTOS5l是一個專門為5l係列單片機設計的嵌入式實時操作內核,使用Keil編譯器可以直接使用其代碼,其特點:①公開源代碼。隻要遵循許可協議,任何人可以免費獲得源代碼,便於用戶的二次開發。②可移植性。用戶可以把與CPU有關的控製指令壓縮到最小。可以使用ANSIC編寫應用程序,不僅簡化了編程手段,而且便於程序移植。⑧可固化性。Small RTOS51為嵌入式係統設計,可以嵌入到產品中,成為產品的一部分。④占先式運行。Small RT0S51可以管理16個用戶任務,每個任務可以設置不同的優先級。Small RTOS5l總是運行優先級最高的任務。⑤中斷管理。采用中斷管理方式.當有更高級的中斷申請時,將目前正在執行的任務掛起。如果優先級更高的任務被中斷喚醒,則高優先級的任務在中斷嵌套結束後立刻執行。中斷嵌套層數可達255層。若需要,可以禁止中斷的嵌套管理。⑥RAM需求小。SmallRTOS51為小RAM的係統設計,因而對RAM的需求隻有幾百字節,相應的係統服務也少。

4.2 係統軟件實現

      按照儀表所要實現的功能,將整個係統劃分為多個並行的任務,占先式操作內核對任務的調度是按照任務優先權的高低進行。這裏將係統劃分為8個任務,按其優先級從高到低的順序排序。用操作係統提供的任務建立函數OS一TaskCreate來實現。
(1)Task_AD負責接收A/D轉換後的數據,即信號的采樣,並判斷是否為汽車軸重數據,若是就保存。通過中斷服務程序接收A/D轉換後的數據,讀取完成會發一個信號量AD_Sem,Task_AD任務接收到AD_Sem信號量後開始判斷是否保存數據。如果任務檢測到一個軸完整通過稱台,就發送相應軸的消息到數據處理任務。
(2)Task_Identify負責識別汽車的軸型和汽車是否完全通過稱台。根據國家規定,不同軸型的汽車限載不同,所以動態稱重時,儀表要自動識別汽車軸型,然後根據該軸型汽車的限重判斷其是否超載。該任務還通過掃描車輛分離器的信號,識別車輛是否完全通過稱重台麵。若識別到車輛完全通過稱台,就發送End_Sem信號量。
(3)Task_Comm_Rece負責接收來自上位機的命令和回應儀表的發送請求。儀表通過上位機發來的不同命令執行相應的操作。
(4)Task_Key負責按鍵的掃描和識別。
(5)Task_Data負責稱重數據的處理。當該任務接收到來自Task_AD任務發送的軸信息後,開始處理該軸的數據。通過稱重算法計算出該軸的重量。並將重量以信息的方式發送給Task_Display任務。
(6)Task_Display負責顯示重量和參數。該任務接收到數據處理發來的信息,將顯示該軸的重量,如果儀表檢測到汽車已完全通過稱台,顯示汽車總重。如果Task_Key任務掃描到參數鍵按下時,切換到參數顯示狀態。
(7)Task_End負責汽車完全通過稱台後的一係列處理工作,包括總重累加,軸組重量統計,軸型統計。處理完後向數據通訊信息隊列發送信息,通知數據發送任務向上位機發送相應數據。
(8)Task_Comm_Send負責向上位機發送數據,當該任務接收到通訊消息後,根據不同的信息值向上位機發送不同的數據,例如,若汽車正向通過稱重台麵,則通訊信息值為1,Task_Comm_Send接收到該消息後會向上位機發送車輛的重量信息和軸型信息。若汽車反向通過稱重台麵,則通訊信息值為0,Task_Comm_Send接收到該信息會向上位機發送車輛的倒車信息。

5、結語
以嵌入式操作係統為開發平台能夠提高效率,避免傳統開發中複雜的循環和判斷結構,降低了程序維護的難度。通過合理的任務劃分可以滿足
動態稱重係統的實時性、可靠性、精確性的要求。

 

 

摘於中國知網,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8