關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于LINUX和CAN總線的工業嵌入式控制系統研究

        基于LINUX和CAN總線的工業嵌入式控制系統研究

        作者: 時間:2009-08-19 來源:網絡 收藏

        1.引言

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

        現場控制中已經得到廣泛的應用,現場是根據國際電工委員會的IEC61158標準的定義而應用于生產現場,在現場設備之間、現場設備與控制裝置之間實行雙向、串行、多節點通信的通信網絡,也被稱為開放式、數字化、多點通信的底層控制網絡。現場具有系統的開放性;互操作性與互用性;現場設備的智能化與功能自治性;系統結構的高度分散性;對現場環境的適應性的優點,因此,現場總線成為當今自動化領域技術發展的熱點之一。近年來已經設計出與現場總線相適應的控制模塊,其功耗小、可靠性高、易開發等的優點已經成為系統的主要成員。所謂應用技術,是指將一個具有完整功能的小型或微型機裝置作為一個部件或子系統,與載體有機地構成一個更可靠的技術穩定性的功能更強大和完善的系統。系統的主要指標要求就是:實時性、高效率、安全穩定性與可靠性以及結構緊湊、易于剪裁、良好的開放性。實時性就是事件驅動能力與時間驅動能力,其基礎是內核的結構模式與進程管理機制;高效率包括系統的啟動速度與運行速度及消息傳遞效率等;而穩定性與可靠性包括穩定性、安全性與容錯能力等有關的性能指標。以前的大部分嵌入式操作系統都是建立在DOS之上,但是DOS系統無論在實時性、安全性、分布式網絡支持、可視化編程還是在易用性等諸多方面都不能滿足工業應用要求,可供嵌入式應用的圖形操作系統有多種,比如WindowsCE、PalmOS、Blackberry和EPOC等,而PalmOS、Blackberry和EPOC一般只應用在手持設備上。適合工業環境應用(過程)標準的系統,目前有WindowsCE和Linux等幾種。本文的所介紹的嵌入式Linux圖形操作系統。

        2.嵌入式

        一般性定義,廣義上的嵌入式控制系統是指非PC系統,有計算機功能但又不稱之為計算機的設備和器材;狹義的嵌入式控制系統是把PLC功能、測量功能、PID調節(如溫度)功能、人機+界面功能、現場總線通訊功能和高級語言編程及庫函數集成的結合體。此系統包括控制面板和相關支持硬件(微處理器、IO端口等外設器件、擴展模塊、存儲器等)及應用軟件。

          2.1控制面板(以德國EPIS公司產品為例)設計多樣化,用戶可以選用已有的控制器面板,也可以訂制面板,使其與其設備或系統環境相匹配。顯示器類型是LCD顯示器,同時配有點陣式顯示和圖形顯示。整個系統面板從144*72mm到255*183mm,適合在各種設備上應用。

          2.2相關支持硬件

          嵌入式微處理器是嵌入式系統的核心。它對實時和多任務有很強的支持能力,能完成多任務并有較短的中斷響應時間,使內部的代碼和實時操作系統的執行時間減少到最低限度;具有強大功能的存儲區保護和擴展功能;可擴展的處理器結構,能更方便、迅速地擴展出滿足于應用的高性能配置;嵌入式微處理器的低功耗。

          IO端口數字輸入口和輸出口數量可選擇,各端口最多可擴展到512路。輸入電壓是24VDC,分為標準速度口(從高變低為3.5ms,從低變高為2.8ms)和快速輸入口(響應速度為20μs),同時配有高速輸入口,額定電壓是5V或24V,響應時間為1.1μs。數字輸出口采用24V光電隔離結構,每路電流最大500mA,配有短路保護和過載保護;繼電器輸出口有一常開點和一常閉點,轉換電壓最大48VDC,轉換電流最大1A,轉換容量最大30W,運行時間3ms。模擬量輸入口和輸出口的數量各自可擴展到40路。其模擬量輸入口包括電壓輸入和電流輸入兩種方式,同時可以接收溫度傳感器信號,內部A/D轉換器15位.,轉換時間為20μs。特殊功能口:多路高速計數器輸入口,最大輸入頻率是25kHz;增量編碼器輸入口,最大輸入頻率是1MHz;25位絕對值編碼器輸入口;模擬量輸出口內部D/A轉換器是11位,轉換時間為100ms。

          總線()擴展模塊總線()擴展模塊是光電隔離,與ISO/DIS11898兼容。其傳輸電纜是雙繞線屏蔽電纜,且對應于不同長度的電纜,傳送的位速率不盡相同。總線()擴展模塊擴展卡自帶CPU,可獨立脫機工作,節省主CPU的開銷。總線功能可帶一路或多路總線(CAN)口和多個擴展槽。利用TCP/IP網絡功能支持設備與設備間、設備與網絡之間的在線數據交換,還可選配RS232/RS485,CANopen,和Profibus接口。

          2.3應用軟件包括操作系統軟件和應用程序編程軟件。操作系統軟件包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面等。嵌入式操作系統的基本特點是能夠有效管理越來越復雜的系統資源,把硬件虛擬化,使開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供大量專用和通用庫函數、驅動程序、工具集以及應用程序。應用程序控制著系統的運作和行為來完成特定的任務,而操作系統控制著應用程序編程與硬件的交互作用。編程環境非常好,在PC機上編程,具有非常方便地仿真,設斷點,參數設置和跟蹤,單步執行等DEBURG功能。

        3.工業嵌入式控制系統的實時性與Linux操作系統

          3.1實時性是工業系統的基本要求,也是考核嵌入式系統最重要的指標之一。工業控制中的操作系統要求嚴格的實時性,實時性也是嵌入式系統的主要特征。實時系統要求所有任務在規定的時間內完成,例如現場的數據采集,電力監控與管理,航天器的飛行控制等等。設計實時系統有兩個相對的目標:一是保證嚴格的時間關鍵截止值;二是充分有效地利用各種資源,并能較好地容錯。嵌入式系統在軟件的控制下通過硬件高速地獲取數據,并進行處理,產生相應地反應。整個過程必須具有嚴格的時間和可靠性約束。實時操作系統中的重要概念包括:

          系統響應時間(systemresponsetime)指系統發出處理要求到系統給出應答信號的時間

          任務換道時間(contextswitchingtime)指任務之間切換而使用的時間

          中斷延遲(interruptlatency)指計算機接受到中斷信號到操作系統作出響應,并完成換道轉入中斷服務程序的時間

          實時操作系統應具有如下功能:任務管理(多任務和優先級的任務調度);任務間同步和通信(信號量和郵箱等);存儲器優化管理(含ROM的管理);實時時鐘服務和中斷管理服務。

          通常,根據實際應用中截止時間的要求,可將實時進程分為嚴格滿足時間截止的硬實時進程和對截止時間要求只有關聯的軟實時進程。面向實時的Linux調度策略,應該采用線程作為調度的基本單位。在調度系統中安排一定的調度時鐘,以調度時鐘作為線程調度的參考。調度時鐘依據線程創建時設定的優先級,同時優先級高的線程將一直運行。如果兩個線程具有相同的優先級,則采用隨機調度的方法。Linux是一個通用的操作系統,內核不支持事件優先級和搶占實時性,因此在將Linux系統作為嵌入系統應用于工業測控領域時,必須開發和擴展實時功能,將Linux提升為一個實時操作系統。

          3.2Linux是由很多體積小且性能高的微內核和部件組成。由于內核代碼的完全開放性,不同層次和不同領域的用戶可以根據具體的應用需求對內核進行改造與剪裁,以較低的成本設計出滿足自己要求的嵌入式操作系統。它有一整套的工具鏈gcc,用戶能夠比較容易自行建立與配置嵌入式系統以及在該系統下的開發環境與仿真運行環境,不需要專門的仿真器。它可以支持RISC和CISC結構的芯片,可以支持16位、32位和64位CPU;就目前的流行器件來說,它可以運行在Intel系列CPU上,也可以運行在IBM和Motorola的PowerPC系列CPU以及Alpha和SPARC系列CPU上。Linux的靈活性極好。在一個64兆內存的PIII平臺下編寫的應用程序,可移植到8兆內存的嵌入式硬件裝置中并可靠和穩定地運行。考慮可移植性與可裁減性硬件平臺的迅猛發展,為實時應用提供豐富的運行平臺(從單片機到DSP,從CISC到RISC結構的各類微處理等)。為了能適應硬件平臺的多樣化,在設計、開發嵌入式實時操作系統內核時,要認真考慮可移植性問題。能夠提供廣泛平臺支持的操作系統,目前嵌入式Linux是成功的典型。可移植性與實現代碼選用的語言有很大關系。如,C語言比實現相同功能的匯編語言具有更好的可移植性。但是,用匯編語言實現的代碼具有更高的執行效率和更緊湊的代碼空間。所以,為了取得較好的執行效率,節省代碼空間,獲得較強的可移植性,需要選擇一個在代碼優化方面做得好的C語言編譯器,能對C代碼進行良好的優化。


        圖1內核體系結構

          

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 朝阳县| 湄潭县| 贵港市| 图们市| 砀山县| 景泰县| 赣州市| 余庆县| 门源| 山阴县| 陆河县| 彰化县| 涞水县| 焦作市| 秦安县| 涿州市| 柳林县| 黔南| 布尔津县| 手机| 马龙县| 永德县| 天水市| 德江县| 怀集县| 沈阳市| 白水县| 汝城县| 诸暨市| 神木县| 长泰县| 台中县| 治县。| 运城市| 汉川市| 敦煌市| 宁城县| 青田县| 当阳市| 贵港市| 昭觉县|