下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于VxWorks的雙485口管理系統(tǒng)設(shè)計摘要:vxrks嵌入式操作系統(tǒng)具有高效的實時任務(wù)管理與調(diào)度、任務(wù)的同步與通信、內(nèi)存管理、i/管理、時鐘管理等機制。兩個485口在通信速率、工作形式、控制方式上有較大差異且系統(tǒng)死線要求嚴格。詳細介紹了vxrks下雙485口串行通信系統(tǒng)bsp、驅(qū)動程序和應(yīng)用程序的開發(fā)過程?;趘xrks構(gòu)建的嵌入式串行通信系統(tǒng)實時性好,效率高,可根據(jù)硬件進展優(yōu)化配置;利用vxrks的i/系統(tǒng)將驅(qū)動程序作為內(nèi)核過程,設(shè)備作為特殊文件處理,解決了工作方式不同的兩個485口的驅(qū)動程序開發(fā)和接口統(tǒng)一問題。關(guān)鍵詞:通信系統(tǒng);嵌入式串行通信引言vxrks是美國indriver公司專門
2、為嵌入式微處理器設(shè)計的一種高模塊化、高性能的實時多任務(wù)操作系統(tǒng),具有很好的平安性、可靠性及系統(tǒng)靈敏性1-2。該系統(tǒng)要求兩個485端口波特率分別為460.8kb和614.4kb;工作方式分別為程序查詢式和中斷驅(qū)動式;代寫論文握手方式和通信控制方式也完全不具有相對的獨立性和“并發(fā)性,而且各個任務(wù)根據(jù)不同的“緊迫感應(yīng)具有不同的優(yōu)先級。根據(jù)以上多方面的要求和特點,基于優(yōu)先級搶占式的多任務(wù)實時操作系統(tǒng)vxrks是該系統(tǒng)的首選3。本文以研制某型訓(xùn)練裝備為背景,詳細介紹了基于vxrks的雙485口通信系統(tǒng)設(shè)計方法和過程。1串口通信根本原理串口通信作為最常用的通信方式,用處非常廣泛,驅(qū)動易于編寫,被絕大多數(shù)操
3、作系統(tǒng)默認支持。其根本功能是實現(xiàn)和串行設(shè)備間的編碼轉(zhuǎn)換發(fā)送數(shù)據(jù)時,字節(jié)數(shù)據(jù)經(jīng)pu通過通用異步接收發(fā)送器(簡稱uart)轉(zhuǎn)換為串行位,從串行端口發(fā)送出去;接收數(shù)據(jù)時,串行位通過uart被轉(zhuǎn)換為字節(jié)數(shù)據(jù),并放入緩沖區(qū),由pu讀齲通過對uart的內(nèi)部存放器的控制實現(xiàn)字節(jié)數(shù)據(jù)和位數(shù)據(jù)的轉(zhuǎn)換和通信。通信時,uart按初始化設(shè)置,把起始位、校驗位和停頓位加到來自pu的8位數(shù)據(jù)上,然后按設(shè)置的波特率把這個二進制位串發(fā)送到串行通信線上,如圖1所示;同樣,uart能自動從通信線上接收串行數(shù)據(jù),并取出有效的數(shù)據(jù)位,然后轉(zhuǎn)換成數(shù)據(jù)字符存入接收數(shù)據(jù)存放器。2串行通信軟件設(shè)計該軟件以indriver的trnadii集成
4、開發(fā)環(huán)境為平臺進展開發(fā)。包括bsp開發(fā)、驅(qū)動程序開發(fā)、應(yīng)用程序開發(fā)等步驟。2.1bsp開發(fā)bsp(bardsupprtpaket,板級支持包)是介于底層硬件和上層軟件之間的底層軟件開發(fā)包。它來源于嵌入式操作系統(tǒng)與硬件無關(guān)的設(shè)計思想2,4。操作系統(tǒng)被設(shè)計運行在虛擬的硬件平臺上,對于詳細的硬件平臺,與硬件相關(guān)的代碼都被封裝在bsp中。它主要功能為屏蔽硬件,提供操作系統(tǒng)的驅(qū)動及硬件驅(qū)動。它的主要功能包括:系統(tǒng)引導(dǎo)時,初始化目的機硬件;提供目的系統(tǒng)上的驅(qū)動程序,如定時器、串口等2,6。開發(fā)bsp,主要以目的板pu的bsp文件為模板,建立工程并修改相關(guān)源文件。bsp文件在vx-rks/target/nf
5、ig/all和vxrks/target/nfig/bsp-nae文件夾里。其中,all文件夾里的文件是所有bsp的通用文件,bspnae文件夾的文件是用戶自己定制的bsp文件。該系統(tǒng)采用pentiupu,因此以vxrks/target/nfig/ppentiu文件夾里的文件為模板進展修改,開發(fā)過程如下。系統(tǒng)配置在nfig/all目錄包含的文件中完成。需要配置的頭文件有target/nfig/all/nfigall.h和arget/nfig/ppentiu/nfig.h;需要配置的模塊文件有target/nfig/all/usrnfig.和target/sr/nfig目錄下的初始化模塊。配置頭文
6、件主要利用定義(#define)和去除定義(#undef)實現(xiàn)。nfigall.h是全局配置頭文件,包括所有目的系統(tǒng)公用的配置參數(shù)默認定義,一般不修改此文件,而在nfig.h中重新定義。以配置引導(dǎo)程序為例:該系統(tǒng)開發(fā)過程中使用串口(此串口為目的機開發(fā)板上的串口)調(diào)試vxrks映像,端口1作為db代理通信通道,不設(shè)目的機控制臺通#definen-uart-hannels2這樣,宿主機和目的機通過一根串口線連接,vxrks映像文件從目的機軟盤上加載,宿主機通過串口來調(diào)試目的機上的vxrks。在nfig.h中修改如下內(nèi)容,同時在akefile里配置r起始地址(r-base-adrs)、代碼段入口(r
7、-text-adrs)、r大小(r-size)、vxrks映像加載地址(ra-l-adrs)和btr加載地址(ra-high-adrs)。該系統(tǒng)對模塊文件usrnfig.和target/sr/nfig目錄下的初始化模塊無需作修改2。2.2串口驅(qū)動程序開發(fā)vxrks操作系統(tǒng)有兩種方式實現(xiàn)驅(qū)動。1)把設(shè)備驅(qū)動程序作為獨立任務(wù)實現(xiàn),直接在頂層任務(wù)中實現(xiàn)硬件操作,完成特有專用的驅(qū)動程序。2)vxrks的i/系統(tǒng)將設(shè)備程序作為內(nèi)核過程實現(xiàn)。這種方式便于實現(xiàn)i/子系統(tǒng)的層次模型,便于文件系統(tǒng)一起把設(shè)備作為特殊文件處理,提供統(tǒng)一的管理、統(tǒng)一的界面和統(tǒng)一的使用方法,并把設(shè)備、文件及網(wǎng)絡(luò)通信組織成為一致的更高層
8、次的抽象,為用戶提供統(tǒng)一的系統(tǒng)效勞和用戶接口。采用這種驅(qū)動方式,向上將tty設(shè)備安裝到標(biāo)準(zhǔn)的i/系統(tǒng)中,上層應(yīng)用通過標(biāo)準(zhǔn)的i/接口完成對硬件設(shè)備的操作,向下提供對實際硬件設(shè)備的底層設(shè)備驅(qū)動程序7-8。串口1、串口2均采用8252芯片作為uart。根據(jù)上位機的工作方式,端口1采用硬件握手中斷驅(qū)動方式,有5根信號線:2根數(shù)據(jù)傳輸線(txd、rxd),2根握手線(ts、rts)和1根地線。端口2采用軟件握手查詢工作方式,有3根信號線:2根數(shù)據(jù)傳輸線(txd、rxd)和1根地線。各端口的默認字長均為8位、停頓位2位、奇偶校驗位1位、端口1默認波特率為614.4kbps,端口2默認波特率為460.8kb
9、ps。首先構(gòu)造設(shè)備描繪符構(gòu)造體,設(shè)備描繪符保存了與設(shè)備相關(guān)聯(lián)的數(shù)據(jù),它必須以設(shè)備頭(dev-hdr)構(gòu)造為開頭。由于2個端口的工作方式完全不同,且無法預(yù)測數(shù)據(jù)傳輸?shù)南群箜樞蚝蛡鬏敃r機,2個端口的數(shù)據(jù)接收函數(shù)必須分開編寫,其中uartrequery()函數(shù)用于端口2的查詢工作方式;uartredata()函數(shù)用于端口1的中斷握手方式,其優(yōu)先級高于uartrequery()函數(shù)。但數(shù)據(jù)發(fā)送函數(shù)可以合并,因為對于單處理器而言,是不可能實現(xiàn)真正的多任務(wù)并行處理的,即使編寫成兩個并行任務(wù),也是在處理器的控制下,按時間片輪轉(zhuǎn)執(zhí)行的。這樣不僅不能進步執(zhí)行效率,反而會因為任務(wù)上下文切換造成一定的資源浪費,影響
10、系統(tǒng)實時性。這種情況,更合適采用面向過程的方法對程序進展設(shè)計和優(yōu)化。下面對其進展說明:調(diào)用后,其首先檢測輸入?yún)?shù)是否合法,而后根據(jù)端口號選擇工作方式(中斷或查詢),作相應(yīng)操作,開場發(fā)送數(shù)據(jù),每發(fā)送一個字節(jié)檢測并等待tbre(發(fā)送緩沖存放器空)信號變?yōu)橛行?再發(fā)送下一字節(jié),數(shù)據(jù)全部發(fā)送完畢后函數(shù)返回。其工作流程如驅(qū)動程序開發(fā)完成后,在usrnfig.文件的usrrt()函數(shù)里,調(diào)用api函數(shù)isdrvinstall()對以上驅(qū)動程序分別進展安裝,再初始化設(shè)備描繪符,并用isdevadd()將設(shè)備增加到設(shè)備列表中,最后將設(shè)備置為中斷形式。以上操作完成后即可用標(biāo)準(zhǔn)i/函數(shù)操作兩個不同的串口設(shè)備2.3
11、串口通信應(yīng)用程序設(shè)計數(shù)據(jù)通信按幀進展,幀分為命令幀和應(yīng)答鄭幀格式為命令幀:命令碼長度參數(shù)串異或應(yīng)答幀:應(yīng)答碼長度參數(shù)串異或?qū)τ诙嘧止?jié)參數(shù),按高字節(jié)在前,低字節(jié)在后的次序發(fā)送。數(shù)據(jù)采用二進制16位有符號整數(shù)數(shù)據(jù)格式。其中,最高位為符號位,數(shù)據(jù)為二進制格式。數(shù)據(jù)傳輸時,上位機首先發(fā)送一個命令幀,包含數(shù)據(jù)包個數(shù)、最后一個數(shù)據(jù)包的字節(jié)數(shù),除最后一個數(shù)據(jù)包外,每包大小為16kb。模擬器收到后,回復(fù)應(yīng)答幀并將收到的數(shù)據(jù)包個數(shù)、最后一個數(shù)據(jù)包的字節(jié)數(shù)一同發(fā)回校驗,對幀長度校驗無誤后開場發(fā)送數(shù)據(jù)。由于傳輸數(shù)據(jù)量較大,一般校驗方法進展內(nèi)容誤判率高,不能糾錯,大多數(shù)情況下需要重新發(fā)送,非常費時。循環(huán)冗余校驗法(r
12、)由于實現(xiàn)簡單,檢錯才能強,并能糾錯,可以較好地解決這個問題。該系統(tǒng)采用r16進展校驗9。3結(jié)論串行通信以其網(wǎng)絡(luò)連接方便、抗干擾性能好、傳輸間隔 遠等優(yōu)點,在嵌入式系統(tǒng)得到廣泛應(yīng)用。本文以某訓(xùn)練裝備研制為背景,詳細介紹了vxrks嵌入式操作系統(tǒng)下串行通信系統(tǒng)軟件的開發(fā)過程。利用了vxrks的i/系統(tǒng)將設(shè)備程序作為內(nèi)核過程,設(shè)備作為特殊文件處理,解決了不同工作方式下,兩個485口的驅(qū)動程序開發(fā)和接口統(tǒng)一的問題。目前,該系統(tǒng)已交付使用。運行理論證明該通信系統(tǒng)軟件設(shè)計思路正確,設(shè)計方法得當(dāng)。對于其他嵌入式串行通信系統(tǒng)設(shè)計也具有一定的參考價值。參考文獻:1liqing美.嵌入式系統(tǒng)的實時概念.王安生,譯.北京:北京航空航天大學(xué)出版社,2022.2王學(xué)龍.嵌入式vxrks系統(tǒng)開發(fā)與應(yīng)用.北京:人民郵電出版社,2022.3陳坤,陳志勇,黎湘.vxrks實時操作系統(tǒng)在相控陣雷達系統(tǒng)中的應(yīng)用j.電光與控制,2022,12(4):51-53.4vxrksprgraersguide.indriversystein.,1999.5周啟平,張楊.vxrks程序員速查手冊.北京:機械工業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司并購案例分析 吉利 沃爾沃
- 學(xué)練優(yōu)秋季版七年級道德與法治下冊1.3.2青
- 古詩詞誦讀《靜女》課件 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 2025屆河南省新鄉(xiāng)市第三中學(xué)高考語文五模試卷含解析
- 2025屆四川省成都外國語高級中學(xué)高三第一次調(diào)研測試英語試卷含解析
- 2025屆內(nèi)蒙古包頭六中高三下學(xué)期第五次調(diào)研考試數(shù)學(xué)試題含解析
- 北京海淀外國語2025屆高三考前熱身英語試卷含解析
- 廣東省廣州市番禺區(qū)禺山中學(xué)2025屆高三二診模擬考試英語試卷含解析
- 廣東省五校2025屆高三適應(yīng)性調(diào)研考試語文試題含解析
- 八年級政治回眸傳統(tǒng)課件
- 課內(nèi)文言文閱讀(原卷版)-2024-2025學(xué)年九年級語文上學(xué)期期中試題分類匯編(山東專用)
- 2022幼兒園教師讀書參考心得體會5篇
- 2024年《內(nèi)科護理學(xué)》考試復(fù)習(xí)題庫(含答案)
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 金蛇納瑞企業(yè)2025年會慶典
- MOOC 英語話中華-山東大學(xué) 中國大學(xué)慕課答案
- MOOC 機械基礎(chǔ)實景教學(xué)(機械原理)-哈爾濱工業(yè)大學(xué) 中國大學(xué)慕課答案
- 10KV配電室倒閘操作票
- 中職數(shù)學(xué)基礎(chǔ)板塊上冊《角的概念推廣》教案
- 《思想道德與法治》課件第四章明確價值要求踐行價值準(zhǔn)則第三節(jié)積極踐行社會主義核心價值觀
- 16G362 鋼筋混凝土結(jié)構(gòu)預(yù)埋件
評論
0/150
提交評論