《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 軍事指揮系統中VxWorks下漢字顯示技術
軍事指揮系統中VxWorks下漢字顯示技術
現代電子技術
萬海東,劉丹,趙偉,夏毅軍 南京電子技術研究所
摘要: 在VxWorks嵌入式平臺下采用點陣漢字顯示技術,使得戰場信息、態勢、指令等獲得了中文顯示。最終使設計開發的軍事指揮系統不僅具有良好的可靠性和卓越的實時性,同時具有直觀而方便的中文平臺以及友好的交互能力,大大提升了整體作戰效能。
Abstract:
Key words :

    由于對實時性和可靠性的要求,現代軍事指揮系統越來越廣泛地采用嵌入式實時操作系統VxWorks。WindRiver公司的媒體庫WindML (Wind Media Li-brary)提供了基于VxWorks的圖形解決方案,其UGL組件提供了顯示模式設置、標準輸入/輸出控制和點、線、面作圖等函數,但沒有直接提供完備的漢字顯示解決方案,不支持漢字顯示。針對實際指揮系統中人機交互界面的需求,全西文的的交互方式顯然不便于文件的傳輸和信息的交換。本文通過對漢字編碼和windML顯示機制的分析,給出了VxWorks嵌入式平臺下漢字顯示的實施方案。

1 VxWorks在軍事指揮系統中的應用
    所謂嵌入式系統,是指內置到火控、戰車、飛機、導彈以及衛星和艦船導航等各類武器系統和作戰平臺上的計算機系統。隨著信息技術的迅猛發展,尤其是計算機技術和微電子技術的快速發展,嵌入式系統在軍事上得到了廣泛應用。嵌入式計算機系統,最早出現在20世紀60年代武器控制中,后來用于軍事指揮控制和通信系統,所以軍事國防歷來就是嵌入式系統的一個重要應用領域。現在,各種武器控制(火炮控制、導彈控制、智能炸彈制導引爆裝置)、坦克、艦艇、轟炸機等,以及陸海空各種軍用電子裝備、現代化的軍事指揮系統等都可以看到嵌入式系統的影子。
    在實時嵌入式操作系統中,VxWorks以其高可靠性和高實時性得到了廣泛的應用。VxWorks是美國Wind River System公司(風河公司,簡稱WRS公司)推出的一個實時操作系統。VxWorks是一個運行在目標機上的高性能、可裁剪的嵌入式實時操作系統,具有專門為實時嵌入式系統設計開發的操作系統內核,它包括了進程管理、存儲管理、設備管理、文件系統管理、網絡協議及系統應用等幾部分。
    VxWorks在軍事指揮系統中應用時,由于指揮系統對人機交互能力的要求較高,需要對武器參數、操作進程以及作戰指令等戰場信息進行顯示,因此迫切需要完成VxWorks下的中文顯示開發。軍事指揮系統中所顯示戰場信息如圖1所示。

2 VxWorks下漢字顯示方案
2.1 WindML基本功能

    WindML是由WindRiver公司提供的媒體庫,其UGL組件提供了顯示模式設置、標準輸入/輸出控制和點、線、面作圖等函數,以及對芯片、輸入/輸出設備、音頻/視頻、幀緩沖器等開放的應用程序接口。
    WindML的主要功能有二維圖形API、事件服務、區域和視窗管理、多媒體API和資源管理。其中,二維圖形API是最常用的部分,包括基本繪圖操作 (如畫線、矩形、橢圓、多邊形、點等),選擇字體輸出文本、位圖管理、光標管理、批量繪圖操作、圖形上下文、色彩管理和雙緩沖等。事件服務程序用來處理輸入設備的輸入請求。它會把鍵盤、鼠標等輸入數據轉化為事件并加入應用隊列;區域和視窗管理可以在界面上定義一個區域或多線程之間共享的窗口,以進行繪圖操作;多媒體APl支持NTSC,PAL,SECAM等視頻制式下DSP或混頻器兩種設備的音頻輸出,也支持JPEG圖形格式;資源管理器是指常規的 WindML資源(例如設備和事件隊列)、內存管理和驅動器注冊等資源的建立、控制和刪除。
2.2 WindML字體驅動體系結構
    WindML字體驅動在WindML 2D API上提供了一個通用的抽象層,允許應用程序通過一個通用2D字體API庫使用不同的字體引擎。通用2D字體API是提供給應用程序使用字體API的公共接口。字體驅動不同于VxWorks中的其他驅動,它不允許執行或使用任何圖形驅動接口以下的程序,也就是說它不直接訪問硬件,只訪問系統所使用的圖形驅動或間接通過UGL圖形驅動結構來訪問硬件。這就允許字體驅動可以運行在任何圖形驅動之上,與字體引擎硬件無關。WindML字體驅動體系結構如圖2所示。

2.3 點陣漢字輸出過程
    點陣漢字的顯示是利用WindML的圖形輸出功能來實現的。設計開發中利用WindML對位圖字符顯示和雙字節編碼的支持,按照WindML位圖字體文件的格式完成漢字點陣的轉換存儲,并使用WindML的雙字節顯示函數實現點陣獲取、點陣顯示,將漢字顯示出來。
    WindML有很多字庫文件,原始安裝狀態下都是西文字庫文件,要在VxWorks系統中顯示中文漢字,解決方案是將西文字庫文件修改成為中文字庫文件,即設計一種類似西文字庫格式的C語言文件,文件中存儲雙字節的漢字編碼、點陣信息及字體的控制信息等。字庫文件經過系統配置、編譯后生成點陣字庫文件目標代碼,點陣驅動程序從目標代碼中獲取點陣信息傳遞給應用程序編程接口,應用程序調用圖形顯示函數輸出漢字。WindML下漢字顯示處理過程如圖3所示。

2.4 點陣漢字存儲結構
    國家標準對漢字庫結構做了統一規定:字庫分為94個區,每個區有94個漢字,每個漢字有確定的區和位編碼,用兩個字節表示,第一個字節表示漢字所在的區號,第二個字節表示位號,即所謂的區位碼。每個漢字在字庫中以點陣字模形式存儲,一般采用16×16點陣、24×24點陣,每個點用二進制位(0或1)表示,對應在屏幕上顯示出來就是相應的漢字。每個漢字都有惟一的區位碼,通過區位碼計算出漢字在字庫中的位置,從而確定漢字的字模。
    點陣漢字字庫C語言文件有固定的結構,分為三個部分:點陣屬性表、點陣信息描述總表和點陣信息表。點陣屬性表用來描述點陣漢字的字符結構和字模結構參數的結構體,包含參數有像素大小、字符名稱、字符家族名稱等,特別定義了指向點陣信息總表的數組指針,字體驅動程序利用這個指針尋找點陣信息總表。點陣信息描述總表 它是一個存放指向點陣信息表指針的動態數組,其元素個數取決于漢字點陣信息表的個數。
    點陣信息表點陣信息表以數組的形式表示,主要用來存儲漢字的GB2312碼(西文是ASCII碼)和詳細點陣信息。可以是一個表也可以是若干個表。把漢字按 GB2312編碼的頁分類,構建多個漢字分表,也可以把中西文裝在混合表里做成一個大表,西文字符被擴展成雙字節存儲。

3 點陣漢字字庫實例
    自己開發點陣存儲、點陣獲取、點陣顯示,改造WindML的雙字節或單字節顯示函數,使其能判斷漢字碼,一旦判斷出漢字碼,則使用自己開發的點陣獲取、點陣顯示等把漢字顯示出來。該方法對點陣的操作更加靈活,適合非標準的點陣算法,或者當開發者已有成熟的點陣操作方法時,把該方法綁接到WindML上。
    不必理會WindML雙字節編碼機制,這里需要的是一個漢字的點陣字庫,這個點陣字庫不必按照WindML的雙字節編碼機制進行編碼,里面所存儲的只是漢字的點陣信息和區位碼信息,這個字庫可以通過從Windows中導出;由于不選用WindML的雙字節編碼機制,所以對于VxWorks中關于如何控制打點以及顯示點陣字體驅動,并不需要具體了解;更重要的是擁有更大的靈活性,只需把自己所寫的漢字顯示函數綁定到WindML上面即可。因此這里必須要求自己寫點陣的存儲、點陣顯示、漢字顯示函數。做起來比較簡單,只要求了解漢字編碼的基本知識,即漢字雙字節編碼中,高、低字節的最高位都是為‘1’,而西文字符編碼中最高位為‘0’,利用這點來判斷所要顯示的字符是漢字還是英文。
    在設計開發過程中,在現有的西文字庫的基礎上進行修改,添加相應的字體參數和漢字的點陣信息,形成點陣漢字字庫文件uflhz12.c,uflhz16.c,uflhz24.c,以分別存儲12,16和24號宋體的字庫信息。這個過程用Windows編程來實現。
    以下是16號宋體字庫文件中的點陣信息表:


    該指針指向點陣信息表的首地址,并被點陣描述結構直接調用。
    字庫文件的最后定義了點陣屬性表,該表規定了整個點陣字庫的屬性以及字模和間距,并定義點陣指針。

4 結 語

    在VxWorks嵌入式平臺下采用點陣漢字顯示技術,使得戰場信息、態勢、指令等獲得了中文顯示。最終使設計開發的軍事指揮系統不僅具有良好的可靠性和卓越的實時性,同時具有直觀而方便的中文平臺以及友好的交互能力,大大提升了整體作戰效能。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 俺来也俺来也天天夜夜视频 | 曰本女人色黄网站 | 国产亚洲欧美在线人成aaaa | 精品国产免费观看一区 | 三级精品 | 日韩欧美印度一级毛片 | 精品国产成a人在线观看 | 国产综合精品久久久久成人影 | 亚洲特级毛片 | 欧美理论在线 | 成人毛片手机版免费看 | 成人禁在线观看网站 | 亚洲一区二区三区精品影院 | 怡红院成人永久免费看 | 操12p | 黄a一级| 一级毛片日韩a欧美 | 国产欧美网站 | 99久久精品国产一区二区小说 | 久久成人a毛片免费观看网站 | 亚洲综合精品一二三区在线 | 中文字幕无线码中文字幕网站 | 色www永久免费 | 在线视频三区 | 在线男人的天堂 | 99久久久国产精品免费播放器 | 男人添女人下面免费毛片 | 亚洲视频在线免费看 | 偷看各类wc女厕嘘在线观看 | 欧美色xxx | 国产成人欧美一区二区三区的 | 欧美另类69xxxxx视频 | 天天看夜夜看 | 中文字幕乱码系列免费 | 久久99国产亚洲精品 | 国产一级一片免费播放i | 日本aa毛片a级毛片免费观看 | 国产成人精品亚洲一区 | 精品国产96亚洲一区二区三区 | 欧美日韩精品高清一区二区 | 成人午夜爽爽爽免费视频 |