




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、文章編號:167320291(2005022*實時操作系統(tǒng)VxWorks 環(huán)境下CAN 控制器驅動程序的設計謝火明,唐濤(北京交通大學電子信息工程學院,北京100044摘要:在簡要分析A TP 車載設備三取二硬件結構后,重點論述了VxWorks 環(huán)境下CAN 總線控制器的驅動程序設計方法及其具體實現(xiàn),并且分析了兩種驅動實現(xiàn)方式的優(yōu)缺點.關鍵詞:A TP 車載;VxWorks ;設備驅動程序;CAN 控制器中圖分類號:TP316.2文獻標識碼:BDesign and Implementation of CAN ControllerDriver B ased on VxWorksX I E Huo
2、-mi ng ,TA N G Tao(School of Electronics and Information Engineering ,Beijing Jiaotong University ,Beijing 100044,China Abstract :After analysis the Triple Modular Redundancy (TMR hardware structure briefly ,the method of designing CAN controller driver based on VxWorks is given.Finally ,it compares
3、 the two kinds of method which can both realize the device diver and tells the character of each other.K ey w ords :automatic train protection (A TP ;VxWorks ;Device driver ;CAN controller隨著國內鐵路提速和城市軌道交通網絡的大力發(fā)展,列車運行控制系統(tǒng)在提高運輸效率、保證行車安全及旅客舒適度等方面具有獨特的作用.其中A TP (Automatic Train Protection 是列車運行控制系統(tǒng)的關鍵部分,
4、它的主要任務是連續(xù)地、實時地監(jiān)督列車的運行速度,自動控制列車的制動系統(tǒng),實現(xiàn)列車的超速防護1.對于這樣一種安全性很高的控制系統(tǒng),不僅要在硬件上確保系統(tǒng)的安全,同時在軟件的設計上也要保證安全.現(xiàn)有的車載設備軟件的開發(fā)是在處理器上直接進行,沒有實時操作系統(tǒng)R TOS (Real Time Operating System ,存儲器、外圍設備等資源的管理是與應用軟件混合在一起,在軟件的維護、修改和移植等方面存在缺陷2.為了更好的管理系統(tǒng)資源、提高系統(tǒng)的可移植性,有必要在現(xiàn)有的A TP 列車超速防護系統(tǒng)引入嵌入式實時操作系統(tǒng).近年來,國內對嵌入式操作系統(tǒng)的研究已開始成為熱點,但就大多數(shù)應用來看,還處在
5、較為簡單的發(fā)展階段.目前市場上的嵌入式操作系統(tǒng)提供廠商超過100家,其中比較主流的只有十幾家,如QNX 、LynxOS 、VxWorks 、pSOS +、VR TX 等.其中Vx 2Works 以其卓越的性能在當今的實時操作系統(tǒng)中占據(jù)了重要的位置,并廣泛應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中3.本課題在對比各種嵌入式實時操作系統(tǒng)之后,選擇了VxWorks 作為整個系統(tǒng)的開發(fā)平臺.應用VxWorks 操作系統(tǒng)進行軟硬件開發(fā)要解決的關鍵問題就是如何為I/O 設備編寫高效可靠的設備驅動程序.為了實現(xiàn)VxWorks 對專用目標板的支持,必須編寫相應設備的驅動程序.本文作者在V
6、xWorks 嵌入式實時操作系統(tǒng)環(huán)境下,使用摩托羅拉MC68332嵌入式微處理器開發(fā)三模冗余結構ATP收稿日期:2004206207作者簡介:謝火明(1981,男,江西撫州人,碩士生.em ail :x198110 唐濤(1963,男,河南洛陽人,教授、博士,博士生導師.第29卷第2期2005年4月北京交通大學學報JOURNAL OF BEI J IN G J IAO TON G UN IV ERSIT Y Apr.2005車載設備的項目中,完成了現(xiàn)場總線CAN(C ontroller Area Network控制器驅動程序的設計與實現(xiàn).1V xW orks的I/O系統(tǒng)設備驅動程序在傳統(tǒng)的應用
7、系統(tǒng)開發(fā)過程中,程序是由一個主循環(huán)控制,通過判斷不同的標志輪循調用各功能函數(shù),主循環(huán)中調用的模塊按順序運行.此種方法的缺點是:除中斷服務程序以外,各程序模塊沒有優(yōu)先級的區(qū)別,被主循環(huán)簡單地輪轉調用,實時性較差.隨著應用的復雜化,程序處理的任務逐漸增多,尤其是在要求同時執(zhí)行兩個或兩個以上的工作和任務時,在軟件設計中引入多任務實時操作系統(tǒng)將非常必要.多任務操作系統(tǒng)允許靈活地分配系統(tǒng)資源(中央處理器、存儲器等給各個任務,各程序模塊(或任務就如同中斷程序一樣并行運行,這樣可以簡化那些復雜且時間嚴格要求的控制軟件設計.在列車運行控制系統(tǒng)中采用實時操作系統(tǒng)后,整個系統(tǒng)任務的調度都是由R TOS來完成,應用
8、程序是構建在R TOS之上的,它通過驅動程序和庫函數(shù)實現(xiàn)對底層硬件的調度,因此顯著提高了A TP系統(tǒng)的可靠性,使系統(tǒng)更穩(wěn)定.另外,由于系統(tǒng)各部分分工明確,系統(tǒng)的安全性和實時性就得到了保證. 1.1I/O設備驅動與VxWorks的關系分析為了實現(xiàn)應用程序的可移植性,將應用程序從直接操作硬件設備中解放出來,VxWorks操作系統(tǒng)為應用程序操作硬件設備提供一個一致的接口.這個接口就是由操作系統(tǒng)的I/O系統(tǒng)提供的.I/O系統(tǒng)將應用程序的I/O請求傳遞給設備專用的I/O 函數(shù).這些設備專用的I/O函數(shù)就是由設備驅動程序提供的.在VxWorks中,BSP(Board Support Package向VxW
9、orks提供與硬件環(huán)境的接口,負責完成加電時的硬件初始化,為VxWorks訪問硬件驅動程序提供支持.但BSP不是硬件驅動,硬件驅動可以分為兩類,通用的和BSP專用的4.通用的驅動程序管理那些可以在不同的目標環(huán)境之間移動的設備,例如網卡.而BSP專用驅動是用于管理與目標環(huán)境相關的設備,本文所介紹的CAN控制器S JA1000驅動屬于這個范疇.1.2設備驅動程序(1把設備驅動程序作為獨立任務實現(xiàn),直接在頂層任務中實現(xiàn)硬件操作,完成特有專用的驅動程序.這種方式的優(yōu)點是應用程序可以高效地訪問設備,減小了系統(tǒng)開銷,適合簡單的嵌入式系統(tǒng),不足之處在于應用程序移植性差.(2VxWorks的I/O系統(tǒng)將設備程
10、序作為內核過程實現(xiàn).這種方式便于實現(xiàn)I/O子系統(tǒng)的層次模型,便于文件系統(tǒng)一起把設備作為特殊文件處理,提供統(tǒng)一的管理、統(tǒng)一的界面和統(tǒng)一的使用方法,并把設備、文件及網絡通信組織成為一致的更高層次的抽象,為用戶提供統(tǒng)一的系統(tǒng)服務和用戶接口.缺點是操作系統(tǒng)管理設備,增加了系統(tǒng)開銷.1.3設備驅動程序的訪問過程編寫設備驅動程序主要編寫相應設備的xxOpen(、xxCreate(、xxDelete(、xxClose(、xxRead(、xxWrite(、xxIoctl(等7個函數(shù),外加xxDrv(和xxDevCreate(兩個函數(shù)5.其中xxDrv (用來初始化驅動程序,xxDevCreate(通過調用io
11、sDevAdd(函數(shù)將所需設備的描述符的設備頭裝入操作系統(tǒng)設備的雙向鏈表中,至此完成了設備與驅動程序的掛接.應用程序首先調用xxDrv(和xxDevCreate(,然后就可以調用open(、read(、write(等函數(shù)通過操作系統(tǒng)提供的這種層次訪問結構訪問到相應的設備xxOpen(、xxRead(、xxWrite(等函數(shù).在應用層使用設備的時候,直接通過fd-device list-driver table的順序調用相應的驅動函數(shù)即可.2CAN控制器驅動的實現(xiàn)2.1CAN控制器與ATP三模冗余結構20世紀80年代現(xiàn)場總線技術才開始形成和發(fā)展,這是與微型計算機,特別是嵌入式系統(tǒng)的高速發(fā)展分不開
12、的.S JA1000是一種獨立的CAN控制器,主要用于移動目標和一般的工業(yè)環(huán)境中的區(qū)域網絡控制.CAN總線可以實現(xiàn)一對一、一對多以及廣播方式傳輸數(shù)據(jù).由于采用短幀結構,不易受干擾;有較好的檢錯措施,數(shù)據(jù)出錯率極低.隨著鐵路事業(yè)的發(fā)展,為了提高鐵路的運輸效28北京交通大學學報第29卷率和保障運營安全,A TP 系統(tǒng)得到了極其廣泛的應用.在列車超速防護A TP 車載設備中,為了提高系統(tǒng)的可靠性、安全性,采用了三模冗余硬件結構6.三模冗余結構是由3個功能相同的模塊和1個表決器組成的系統(tǒng),俗稱三取二系統(tǒng).表決器按三取二方式工作,只要3個模塊中的任何兩個模塊的輸出一致時,那么表決器的輸出就是該兩個模塊的
13、輸入“與”函數(shù).由于A TP 系統(tǒng)必須時刻掌握列車的運行情況,以便隨時采取必要的措施,因而要求各子系統(tǒng)間的通信總線必須具有很高的實時性和很高的通信速率,以便使系統(tǒng)在一定的處理周期內能夠完成各自系統(tǒng)之間的數(shù)據(jù)通信.根據(jù)A TP 系統(tǒng)對各子系統(tǒng)間通信的要求,綜合考慮通信效率、數(shù)據(jù)傳輸能力和通信的可靠性等方面因素,在A TP 車載設備系統(tǒng)中采用CAN 總線進行各子系統(tǒng)間的通信.如圖1所示,各個主機通過CAN 總線傳輸數(shù)據(jù) .圖1ATP 三模冗余結構簡圖Fig.1A TP TMR structure結合圖1硬件結構,在A TP 系統(tǒng)中引入Vx 2Works 嵌入式實時操作系統(tǒng)之后,采用圖2所示的平臺結
14、構進行軟件開發(fā)7.為了實現(xiàn)整個系統(tǒng)正常運行,首先必須編寫CAN 控制器驅動程序.應用層通信系統(tǒng)“三取二”冗余結構中間層通信協(xié)議底層硬件驅動操作系統(tǒng)層CAN 總線系統(tǒng)平臺硬件硬件層圖2基于V xWorks 的“三取二”平臺結構Fig.2“Two out of Three ”platform structurebased on VxWorks2.2CAN 控制器驅動的編寫CAN 控制器驅動實現(xiàn)方法分為兩種:第一種方法是把設備驅動程序作為任務實現(xiàn),直接在應用程序中實現(xiàn)硬件操作,包括各個硬件的初始化、控制器的讀寫操作等.此方法適用于實現(xiàn)簡單的嵌入式系統(tǒng),以進行相應的硬件調試.第二種驅動實現(xiàn)方式是把硬件
15、相關的操作單獨在一個驅動程序文件中編寫,在上層應用程序中以文件操作的方式對底層硬件進行操作.在列車運行控制系統(tǒng)車載設備軟件開發(fā)過程中,通過第二種方式開發(fā)設備驅動將有效地簡化整個系統(tǒng)結構.開發(fā)人員可以將更多的時間放在應用軟件開發(fā)上,大大提高了開發(fā)效率、縮短了系統(tǒng)開發(fā)周期.這種驅動實現(xiàn)方式主要是完成以下函數(shù)的編寫.(1canDrv (函數(shù)canDrv (函數(shù)首先初始化設備驅動程序,然后調用isoLib 庫中的函數(shù)iosDrvInstall (.它在設備驅動程序表中為設備分配一個條目.(2canDevCreate (函數(shù)該函數(shù)的作用是用于創(chuàng)建設備.首先初始化設備,然后調用函數(shù)iosDevAdd (將
16、設備名和驅動程序號加入設備驅動列表.(3其它函數(shù)的編寫canOpen (函數(shù)是在創(chuàng)建設備之后,用于打開設備.本項目在開發(fā)的過程中,將CAN 總線控制器的初始化部分也在此函數(shù)種實現(xiàn).canRead (函數(shù)實現(xiàn)從CAN 控制器接收緩沖區(qū)讀取數(shù)據(jù),然后釋放接收緩沖區(qū),并返回接收數(shù)據(jù)的數(shù)量.canWrite (完成向CAN 控制發(fā)送緩沖區(qū)寫數(shù)據(jù),在發(fā)送數(shù)據(jù)之前,必須先檢查發(fā)送緩沖區(qū)是否可用,若可用則發(fā)送數(shù)據(jù),并返回發(fā)送數(shù)據(jù)數(shù)量.另外還包括canClose (、canInt (等函數(shù)的編寫,完成設備關閉和中斷處理功能.實驗過程中,為了調試方便將中斷處理程序放在應用程序理,完成read (操作.完成上述函
17、數(shù)之后,驅動程序的是按照下面的流程訪問設備.首先調用canDev (和canDevCreate (初始化驅動并創(chuàng)建設備.通過fd1=open (“/can/1”,O -RDWR ,0,fd2=open (“/can/2”,O -RDWR ,0,操作打開設備.I/O 系統(tǒng)在設備列表中尋找設備名為/can/1的設備項,找到相應的設備驅動號.I/O 系統(tǒng)在文件描述符中保留一個文件描述符空間.這樣應用程序中的read (和write (等函數(shù)調用就可以根據(jù)fd 找到相應的設備驅動號,進而找到相應的驅動例程,實現(xiàn)對設備的操作.通過編寫CAN 總線控制器等設備的驅動程序,應用程序可以通過文件讀寫方式實現(xiàn)對
18、底層硬38第2期謝火明等:實時操作系統(tǒng)VxWorks 環(huán)境下CAN 控制器驅動程序的設計件設備的操作,而不必在應用程序中直接操作硬件.一方面可以簡化應用程序的開發(fā),另一方面也提高了程序的可移植性.在完成了此驅動之后,便可以進行相應的應用程序開發(fā).3小結嵌入式實時操作系統(tǒng)VxWorks以其占用資源少,性能穩(wěn)定等諸多優(yōu)點而得到了越來越廣泛的應用.嵌入式系統(tǒng)中I/O設備是關鍵的一環(huán),為I/O 設備編寫高效無誤的驅動程序是開發(fā)嵌入式系統(tǒng)的重要問題.本文分析了VxWorks中I/O設備驅動程序的設計及其訪問過程,并給出了具體設備驅動程序的開發(fā)流程.在課題研究過程中,先后采用文中提到兩種方式分別完成了CA
19、N控制器S JA1000的驅動,并通過控制器之間的數(shù)據(jù)通信驗證了兩者的正確性.相對于第一種方式,第二種方式(即VxWorks的I/O 系統(tǒng)將設備程序作為內核過程實現(xiàn)的實時性和可靠性有了很大的提高,更重要的是為用戶提供了統(tǒng)一的接口,為后續(xù)開發(fā)提供了更大的方便.參考文獻:1郜春海,唐濤,張建明.高速鐵路列車運行控制系統(tǒng)車載設備的軟件設計J.北方交通大學學報,1999,23(5:77-82.G AO Chun-hai,TAN G Tao,ZHAN G Jian-ming.TheDesign of Function S oftware in On-Board E quipment ofHigh Spe
20、ed Train Operation Control SystemJ.Journal of Northern Jiaotong University,1999,23(5:77-82.(in Chinese2尚濤,施亮,吳智銘.實時操作系統(tǒng)VxWorks下I/O設備驅動程序的編寫技巧J.微計算機信息,2001,17(8: 24-26.SHAN G Tao,SHI Liang,WU Zhi-ming.Development of I/O Device Drivers under RTOS VxWorksJ.Microcom2 puter Information,2001,17(8:24-26.(in Chinese 3李捷,王汝傳.基于VxWorks的設備驅動程序實現(xiàn)技術J.微型機與應用,2002.(11:7-8.L I Jie,WAN G Ru-chuan.Im plementation of Device Dri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游行業(yè)運營與服務管理案例分析題庫及解答指導
- 證券投資分析與風險管理知識考點
- 擴大宣傳效益內容梳理條款協(xié)議
- ××超市版權合規(guī)制度
- 我心中的英雄形象:小學生寫人作文9篇
- 美國國立衛(wèi)生研究院(NIH)公共獲取的案例解析及啟示
- 雨后彩虹的約定:童話色彩的故事展現(xiàn)美好愿景8篇
- 2025年甲肝滅活疫苗項目立項申請報告模板
- 2025年德語TestDaF口語模擬試卷:歷年真題解析與備考策略
- 2025年電子商務師(初級)職業(yè)技能鑒定試卷:電商行業(yè)發(fā)展趨勢分析
- 家政服務培訓 課件
- 2025年婚姻家庭咨詢師職業(yè)資格考試試題及答案
- 2025年人教版小學五年級下冊數(shù)學期末重難點測評試題(含答案和解析)
- 2024年天津市應急管理局招聘行政執(zhí)法專職技術檢查員筆試真題
- 黨課課件含講稿:以作風建設新成效激發(fā)干事創(chuàng)業(yè)新作為
- 工業(yè)自動化設備維護保養(yǎng)操作手冊
- 猩紅熱課件完整版本
- GB/T 23858-2009檢查井蓋
- 耐張線夾壓接工藝
- 輸煤皮帶著火事故處置演練
- 流動資金貸款需求量測算參考計算表(XLS12)
評論
0/150
提交評論