關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于LINUX和CAN總線的工業(yè)嵌入式控制系統(tǒng)研究

基于LINUX和CAN總線的工業(yè)嵌入式控制系統(tǒng)研究

作者: 時間:2009-08-19 來源:網(wǎng)絡(luò) 收藏
上圖顯示了Linux內(nèi)核體系構(gòu)建方式。它把Linux內(nèi)核源代碼清晰地分為體系結(jié)構(gòu)相關(guān)部分和無關(guān)部分。體系結(jié)構(gòu)無關(guān)部分定義了與底層,也就是體系結(jié)構(gòu)相關(guān)部分的接口。更確切地說,該圖能夠說明所有期望具有平臺無關(guān)特性的操作系統(tǒng)。體系結(jié)構(gòu)無關(guān)代碼并不關(guān)心宏的確切定義,把實際負責(zé)硬件體系留給相關(guān)代碼區(qū)處理。這種處理的方法提高了代碼的重用性、可移植性和可裁減性。然而,由于Linux是采用單內(nèi)核設(shè)計,如果采用微內(nèi)核設(shè)計,那么向其它體系結(jié)構(gòu)上的移植將會更加容易.

本文引用地址:http://butianyuan.cn/article/163637.htm

4的設(shè)計

  的整個模塊如圖2所示。

  總線控制器SJA10008000H~801FH將設(shè)計好的PC/104模塊作為一獨立的控制系統(tǒng)插入專用的應(yīng)用板,同樣的模塊可以有若干個,以層疊的方式嵌入同一塊應(yīng)用板,既可以完成類似的功能,也可以完成完全不同的其它功能(如數(shù)據(jù)采集轉(zhuǎn)換等)。PC/104提供了一個非常緊湊的與標準臺式PC或PC/AT結(jié)構(gòu)完全兼容的層疊棧接模塊。將臺式PC機的全部功能重新包裝于一個格式標準統(tǒng)一、穩(wěn)定可靠、靈活且符合嵌入式系統(tǒng)尺寸的標準模塊中,與PC兼容,用于嵌入式系統(tǒng)設(shè)計以替代傳統(tǒng)的嵌入式微處理器十分適宜。通過PC/104總線,微處理器能夠非常方便地和系統(tǒng)通信。為滿足大量數(shù)據(jù)交換的要求,特增加了8kb的RAM以擴展內(nèi)存。為了增加局部總線的驅(qū)動能力,在微處理器和PC104總線之間增加數(shù)據(jù)/地址驅(qū)動電路。為了系統(tǒng)的擴充能力,增加了地址譯碼電路,譯出的地址0300H~031FH以備將來的I/O外設(shè)使用。同時為了增加有效的傳輸距離,采用了Philips公司的高性能CAN總線收發(fā)器82C250,它具有高速性(最高可達1Mb/s)、能抗瞬間干擾、保護總線、支持多達110個節(jié)點的連接等優(yōu)點。另外,設(shè)計了CAN地址選擇電路,以確保CAN總線節(jié)點在整個系統(tǒng)中的唯一地址。

5Linux嵌入式應(yīng)用編程簡介

  5.1采嵌入式系統(tǒng)一般都沒有編輯和編譯工具,所以需要先在開發(fā)系統(tǒng)中完成程序的編輯、編譯和仿真運行及修改工作,形成可執(zhí)行文件,再轉(zhuǎn)到運行系統(tǒng)(即嵌入式系統(tǒng))上執(zhí)行。

  以Linux嵌入式為支撐系統(tǒng)開發(fā)系統(tǒng)上的應(yīng)用程序?qū)儆谑录?qū)動編程,也就是“消息隊列”和“消息循環(huán)”。有2個涉及消息的函數(shù)十分常用:GetMessage()和DispatchMessage()。一般還需要common.h。

  其編程與VC++編程所用消息處理函數(shù)極為相似,下面將介紹一些簡單而又基本的GUI元素:主窗口、靜態(tài)文本框、編輯框、按鈕、進程條、對話框以及一些基本的圖形操作

  一些常用的消息處理函數(shù)如下:

  輸出文本MEG_PAINT(使用TextOut()函數(shù))

  設(shè)置像素點顏色SetPixel()

  畫線條LineTo()

  畫矩形Rectangle()

  畫圓形Circle()

  設(shè)置畫筆顏色SetBrushColor()

  創(chuàng)建窗口MES_CREATE

  創(chuàng)建主窗口CreateMainWindow(CreateInfo)

  此外,大多數(shù)控件都可以使用CreateWindow()函數(shù)創(chuàng)建。

  5.2RTOS開發(fā)平臺

  通用計算機具有完善的操作系統(tǒng)和應(yīng)用程序接口(API),是計算機基本的、不可分離的一部分,應(yīng)用程序的開發(fā)以及完成后的軟件都在平臺上運行,但一般不是實時的。嵌入式系統(tǒng)則不同,應(yīng)用程序可以沒有操作系統(tǒng)而直接在芯片上運行,但是為了合理調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及專家?guī)斓慕涌?,用戶必須自行選配RTOS平臺,這樣才能保證程序執(zhí)行的實時性,穩(wěn)定性和可靠性,并減少開發(fā)時間,保證軟件質(zhì)量。

  實時操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運行于RTOS之上的各個任務(wù),RTOS根據(jù)各個任務(wù)的要求,進行資源(包括存儲器、外設(shè)等)管理、消息管理、任務(wù)調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中,每個任務(wù)均有一個優(yōu)先級,RTOS根據(jù)各個任務(wù)的優(yōu)先級,動態(tài)地切換各個任務(wù),保證對實時性的要求。在編寫程序時,可以分別編寫各個任務(wù),從而減少了程序編寫的工作量,而且減小了出錯的可能,保證最終程序具有高可靠性。RTOS體現(xiàn)了一種新的系統(tǒng)設(shè)計思想和一個開放的軟件框架,用戶可以在不大量變動系統(tǒng)其它任務(wù)的情況下增加或去掉一個任務(wù);一個項目開發(fā)的過程中,可以有多個工程師同時進行系統(tǒng)的軟件開發(fā),每個人之間只要制定好規(guī)程和協(xié)議即可,既縮短了開發(fā)時間,又降低了最終軟件產(chǎn)品對于具體某個開發(fā)者個人的依賴性。為RTOS設(shè)計的成熟和通用的任務(wù)可以以庫函數(shù)的形式供其他人繼續(xù)利用,與C++語言的設(shè)計思想一致。

6結(jié)束語

CAN總線技術(shù)在電廠、變電站、電力系統(tǒng)中有廣闊的應(yīng)用前景,能在可靠性、高精度、經(jīng)濟性等多方面獲得最大的效益;以工業(yè)標準PC/104為代表的嵌入式控制系統(tǒng)具有突出的優(yōu)點,十分適合于工業(yè)環(huán)境的要求。隨著微處理器和單片機的發(fā)展,工業(yè)控制技術(shù)中使用嵌入式實時操作系統(tǒng)已經(jīng)成為一個特點。嵌入式操作系統(tǒng)已經(jīng)經(jīng)歷了一個階段的發(fā)展,它在工業(yè)控制中的應(yīng)用必將越來越廣泛。

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

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉