- 相關(guān)推薦
基于Vxworks實(shí)時(shí)操作系統的串口通信程序設計與實(shí)現
摘要:結合嵌入式實(shí)時(shí)操作系統VxWorks實(shí)現風(fēng)洞測控系統的實(shí)際應用,以其中的串口通信為例,討論了在VxWorks下實(shí)現串口通信的關(guān)鍵技術(shù),給出了基本原理、環(huán)境配置和程序示例。
關(guān)鍵詞:VxWorks;實(shí)時(shí)操作系統;嵌入式操作系統;串行通信
Combining with the application of wind tunnel measure and control system with embedded real-time operating system VxWorks , with the serial communication in it as an example ,the key techniques about realization of the serial communication in VxWorks are discussed. Communication mechanism, environment configure and corresponding program examples are provided.
VxWorks;RTOS;embedded operating system; Serial Communication
1前言
目前市場(chǎng)上比較著(zhù)名的實(shí)時(shí)操作系統有:VxWorks、PSOS、Nucleus、QNX、VRTX、Windows CE、Palm 0S、Lynx0S等。 其中,VxWorks是一個(gè)具有微內核、可裁剪的高性能強實(shí)時(shí)操作系統,在實(shí)時(shí)操作系統市場(chǎng)上處于領(lǐng)先地位。它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛星通訊、彈道制導、飛機導航等。在美國的 F-16戰斗機、B-2 隱形轟炸機和愛(ài)國者導彈上,甚至火星探測器上都使用了VxWorks實(shí)時(shí)操作系統。在嵌入式實(shí)時(shí)操作系統中使用串口通信,不僅可擴展嵌入式設備通信能力,而且可擴大其應用范圍。
2 VxWorks簡(jiǎn)介
VxWorks是由wRS(wind River Systems,Inc.)公司開(kāi)發(fā)的一套具有微內核、高性能、可伸縮的實(shí)時(shí)操作系統,支持廣泛的網(wǎng)絡(luò )通信協(xié)議,并能夠根據用戶(hù)的需求進(jìn)行組合,其開(kāi)放式的結構和對工業(yè)標準的支持使開(kāi)發(fā)者只需做最少的工作即可設計出有效的適合于不同用戶(hù)要求的系統。除了性能出眾的操作系統之外,wRS公司還提供了優(yōu)秀的實(shí)時(shí)操作系統開(kāi)發(fā)工具Tornado。Tornado由三個(gè)高度集成的部分組成:Tornado工具,一整套強有力的交叉開(kāi)發(fā)工具;VxWorks運行系統,是運行在目標機上的高性能、可裁剪的實(shí)時(shí)操作系統;連接目標機和宿主機的通信選項,加以太網(wǎng)、串行線(xiàn)路、在線(xiàn)仿真等。Tornado能夠支持Windows、Unix等流行的工作平臺和PowerPC、X86、ARM等幾乎所有的目標處理器,所提供的工具可用于所有目標機,并具有兩種調試模式(系統模式和任務(wù)模式)。除了基本的功能和開(kāi)發(fā)工具外,Tornado還具有先進(jìn)的系列網(wǎng)絡(luò )產(chǎn)品,極大地擴展了Tornado的網(wǎng)絡(luò )特性,并增強了嵌人式微處理器的網(wǎng)絡(luò )特性。
3 串口通信基本原理
串口在嵌入式系統當中是一類(lèi)重要的數據通信接口,其本質(zhì)功能是作為CPU和串行設備間的編碼轉換器。當數據從CPU經(jīng)過(guò)串行端口發(fā)送出去時(shí),字節數據轉換為串行的位;在接收數據時(shí),串行的位被轉換為字節數據。應用程序要使用串口進(jìn)行通信,必須在使用之前向操作系統提出資源申請要求(打開(kāi)串口),通信完成后必須釋放資源(關(guān)閉串口)。
串口通信的優(yōu)點(diǎn)是開(kāi)發(fā)簡(jiǎn)單,在傳輸數據量不大、要求速度不高而傳輸距離較大的通信場(chǎng)合得到廣泛應用。
在VxWorks中,將I/O系統設計成為任何類(lèi)型的設備提供一個(gè)簡(jiǎn)單、統一、獨立于設備的接口,任何對于串口的操作都可以視為對一個(gè)文件的操作,而不必了解串口設備或程序驅動(dòng)實(shí)現的細節。在串口通信軟件的設計中,當串口初始化完成后,在使用之前利用open()打開(kāi)相應串口,然后進(jìn)行配置。
VxWorks提供終端和偽終端設備驅動(dòng)。Tty驅動(dòng)針對實(shí)終端;pty針對仿真終端的程序。Tty設備有兩種操作模式:raw模式和line模式。在raw模式下,每個(gè)剛從設備輸入的字符對讀者都是有效的;在line模式下所有輸入字符被存儲,直到NEWLINE字符輸入。設備選項字使用帶FIOSETOPTIONS 功能的ioctl()程序來(lái)設置。
配置完成后,依據串口打開(kāi)時(shí)的讀寫(xiě)標志,調用函數write()、read()對串口進(jìn)行只讀操作、只寫(xiě)操作或同時(shí)進(jìn)行讀寫(xiě)操作。
為提高數據接收的實(shí)時(shí)性,可采用中斷方式,利用VxWorks提供的select函數的事件觸發(fā)機制,將讀串口的任務(wù)阻塞使其一直等待數據,當有數據來(lái)到的時(shí)候該任務(wù)會(huì )立刻自動(dòng)響應,提高系統的實(shí)時(shí)性。
4 環(huán)境配置
在本實(shí)時(shí)應用系統中采用486機作為目標機,串口通信時(shí)目標機VxWorks系統啟動(dòng)盤(pán)的制作步驟:
(1) 修改通用配置文件\\Tornado\target\config\pc486\config.h。在config.h文件中加入以下宏定義:
#define INCLUDE_WDB
#define INCLUDE_WDB_TTY_TEST
#undef WDB_COMM_TYPE
#define WDB_COMM_TYPE WDB_COMM_SERIAL /*定義通信方式為串口聯(lián)結*/
#define WDB_TTY_CHANNEL 1 /*通道號*/
#define WDB_TTY_BAUD 9600 /*串口速率,可設置至38400*/
#define WDB_TTY_DEV_NAME "tyCo/1"
#define CONSOLE_TTY 0
#define DEFAULT_BOOT_LINE "fd=0,0(0,0)hostname:/fd0/vxWorks \ h=主機
ip e=目標機ip u=主機上的登錄用戶(hù)名"
(2) 在Tornado集成環(huán)境中執行菜單命令Project
【基于Vxworks實(shí)時(shí)操作系統的串口通信程序設計與實(shí)現】相關(guān)文章:
實(shí)時(shí)操作系統VxWorks在跟蹤雷達系統中的應用03-18
基于SNMP及串口通信的網(wǎng)絡(luò )監控與報警系統03-07
基于VxWorks的多DSP系統的多任務(wù)程序設計03-18
基于 DSP 的網(wǎng)絡(luò )通信程序設計03-20
基于幀的實(shí)時(shí)話(huà)音變換技術(shù)與DSP實(shí)現03-07
- 高職院校計算機信息管理專(zhuān)業(yè)建設與課程改革研究
- 架設基于Linux(2.6內核)的服務(wù)器集群
- 淺談?dòng)嬎銠C在網(wǎng)絡(luò )技術(shù)教學(xué)中的運用
- 網(wǎng)絡(luò )安全技術(shù)淺析
- 網(wǎng)絡(luò )教育課程開(kāi)發(fā)研究
- 網(wǎng)絡(luò )文化的平民視域
- 基于Vxworks實(shí)時(shí)操作系統的串口通信程序設計與實(shí)現
- 談?wù)撊绾蝺?yōu)化計算機網(wǎng)絡(luò )技術(shù)課程的教學(xué)
- 計算機網(wǎng)絡(luò )可靠性分析
- 操作系統考研真題
- 通信技術(shù)簡(jiǎn)歷
- 通信專(zhuān)業(yè)論文
- 通信簡(jiǎn)歷
- 通信類(lèi)簡(jiǎn)歷
- 通信專(zhuān)業(yè)簡(jiǎn)歷
- 移動(dòng)通信論文
- c語(yǔ)言程序設計試題
- 程序設計心得體會(huì )
- 通信簡(jiǎn)歷模板