• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于DSP和FPGA的新型筆劃式字符發(fā)生器

    2012-07-04 11:29:10王靈剛
    電光與控制 2012年6期
    關(guān)鍵詞:筆劃譯碼字符

    李 潔, 張 蕾, 王靈剛

    (1.中國(guó)航空工業(yè)洛陽電光設(shè)備研究所,河南 洛陽 471009;2.河南科技大學(xué)電子信息工程學(xué)院,河南 洛陽 471003)

    0 引言

    筆劃式顯示方式廣泛應(yīng)用于飛機(jī)座艙顯示。隨著光柵顯示技術(shù)的發(fā)展,許多顯示器已采用了光柵顯示方式。但對(duì)于要求高亮度和高顯示精度的平視顯示器和頭盔顯示器,仍大量采用筆劃式顯示方式。目前,筆劃/光柵轉(zhuǎn)換技術(shù)較為成熟,不少資料中介紹了各種筆劃/光柵轉(zhuǎn)換方法[1-3],使筆劃、光柵顯示方式可以協(xié)調(diào)共存于同一飛機(jī)平臺(tái)。

    筆劃式字符發(fā)生器是筆劃式顯示方式的核心。一些國(guó)外專利[4-10]介紹了符號(hào)筆劃的各種生成方法,但都是利用分離器件產(chǎn)生基本筆劃。也有一些資料介紹筆劃式字符發(fā)生器的設(shè)計(jì)方案,有的采用多通道任意波形發(fā)生器模塊來產(chǎn)生筆劃信號(hào)[11];有的采用EPLD來實(shí)現(xiàn)基本的筆劃矢量生成[12];最近有設(shè)計(jì)采用了DSP和FPGA,其特點(diǎn)是集成度高,使用高性能的數(shù)字信號(hào)處理器完成筆劃和光柵兩路字符數(shù)據(jù)生成,控制邏輯和圖形生成電路由FPGA實(shí)現(xiàn),體積和功耗大幅度下降[13]。隨著飛機(jī)航電系統(tǒng)的發(fā)展,需要處理、顯示的信息量越來越大,對(duì)字符發(fā)生器的數(shù)據(jù)處理能力和筆劃書寫性能提出了更高的要求。本文提出一種同樣基于DSP和FPGA的新型筆劃式字符發(fā)生器的設(shè)計(jì)方法,以滿足相關(guān)國(guó)軍標(biāo)[14-15]為前提,旨在提升字符發(fā)生器的數(shù)據(jù)處理能力和符號(hào)書寫性能。該設(shè)計(jì)采用帶核處理器和IO處理器的DSP作為主處理器,將數(shù)據(jù)處理和符號(hào)書寫管理并行,矢量發(fā)生器可以全周期進(jìn)行書寫;利用DSP的握手DMA通道,矢量發(fā)生器由從處理器被動(dòng)接收矢量指令改為主動(dòng)申請(qǐng)矢量指令,使筆劃之間書寫連續(xù)無停頓,提高字符發(fā)生器的平均書寫速度和筆劃書寫均勻性。

    1 組成及工作原理

    字符發(fā)生器由數(shù)字信號(hào)處理器(DSP)及外圍電路、矢量發(fā)生器、A/D轉(zhuǎn)換電路組成,產(chǎn)生筆劃式字符畫面供后級(jí)顯示器顯示。組成框圖如圖1所示。

    圖1 字符發(fā)生器組成框圖Fig.1 Composition of a charalter generator

    1.1 DSP及外圍電路

    DSP選用AD公司的ADSP21160,為雙處理器、雙總線結(jié)構(gòu)。內(nèi)含核處理器和I/O處理器;核工作時(shí)鐘100 MHz,兩個(gè)獨(dú)立32位浮點(diǎn)運(yùn)算單元,每個(gè)都帶乘法器、累加器、移位器和16個(gè)數(shù)據(jù)寄存器組;片內(nèi)含4 MB雙端口存儲(chǔ)器,數(shù)據(jù)總線寬度64位,地址總線寬度32位;支持單指令多數(shù)據(jù)流模式(SIMD);全部指令為單周期指令;支持14通道DMA,6個(gè)Link口通訊。

    DSP可通過Link口或雙端口存儲(chǔ)器獲取顯示文件和指令,由核處理器進(jìn)行相應(yīng)計(jì)算處理,生成矢量發(fā)生器能識(shí)別的一組筆劃矢量指令,存入指定緩沖區(qū)。DSP內(nèi)存開辟兩個(gè)緩沖區(qū),用于存儲(chǔ)處理好的筆劃矢量指令。I/O處理器根據(jù)矢量發(fā)生器發(fā)出的DMA請(qǐng)求從某一緩沖區(qū)輸出筆劃矢量指令。筆劃矢量指令的輸出與矢量發(fā)生器發(fā)出的DMA請(qǐng)求信號(hào)有關(guān),與計(jì)算無關(guān)。計(jì)算期間可以同時(shí)響應(yīng)矢量發(fā)生器的請(qǐng)求,及時(shí)向矢量發(fā)生器輸出矢量指令,對(duì)矢量發(fā)生器的矢量指令輸出不會(huì)長(zhǎng)時(shí)間占用DSP外總線,影響計(jì)算數(shù)據(jù)的存取,使計(jì)算和矢量指令輸出同時(shí)進(jìn)行,互不影響。

    1.2 矢量發(fā)生器

    一個(gè)符號(hào)及完整的畫面均是由若干筆劃矢量構(gòu)成,矢量發(fā)生器就是產(chǎn)生這些筆劃矢量的單元。矢量發(fā)生器根據(jù)筆劃矢量指令,按一定的書寫時(shí)鐘連續(xù)輸出一個(gè)筆劃矢量的X、Y坐標(biāo)數(shù)據(jù)及亮暗信息。矢量發(fā)生器由FPGA實(shí)現(xiàn)。

    本文采用間接式的筆劃矢量構(gòu)成形式,即將字符矢量用長(zhǎng)邊位移量和tan α表示。基本筆劃矢量的構(gòu)成如圖2所示。

    圖2 基本筆劃矢量構(gòu)成Fig.2 Constitution of basic stroke vector

    如矢量AB,其矢量指令表示為長(zhǎng)邊位移量和tan α,其中,在X和Y兩個(gè)方向上位移量較大者為長(zhǎng)邊,矢量與長(zhǎng)邊的夾角為α,α≤45°。

    一筆矢量書寫時(shí),其長(zhǎng)邊按書寫時(shí)鐘每周期步進(jìn)一,直到走完長(zhǎng)邊位移量。而短邊位移量的步進(jìn)時(shí)鐘頻率由12位的二進(jìn)制比率乘法器計(jì)算,乘法器輸入12位二進(jìn)制比率系數(shù) L、K、J、I、H、G、F、E、D、C、B、A,其輸出頻率為fout。

    式中,M=L×211+K×210+J×29+I×28+H ×27+G×26+F×25+E×24+D×23+C×22+B×21+A×20。

    12位二進(jìn)制比率系數(shù)的計(jì)算方法為tan α×4095,fin為長(zhǎng)邊書寫時(shí)鐘頻率。乘法器的輸出脈沖fout即為短邊的書寫時(shí)鐘頻率。

    矢量發(fā)生器由以下工作單元組成:指令管理單元,指令譯碼單元,延時(shí)單元,顯示忙處理單元,時(shí)序控制單元,長(zhǎng)邊計(jì)數(shù)單元,二進(jìn)制系數(shù)乘法器,X、Y坐標(biāo)計(jì)數(shù)單元,X、Y坐標(biāo)輸出單元,輝亮控制單元,窗口控制單元,閉塞區(qū)控制單元。組成框圖如圖3所示。

    圖3 矢量發(fā)生器組成框圖Fig.3 Block diagram of vector generator

    矢量發(fā)生器輸入信號(hào)為字符時(shí)鐘,顯示忙信號(hào),筆劃矢量指令;輸出信號(hào)為DMA請(qǐng)求信號(hào),X、Y坐標(biāo)數(shù)據(jù)(各12位),輝亮信號(hào)。

    由于矢量發(fā)生器由DSP的IO處理器管理,且矢量指令的獲取是由矢量發(fā)生器主動(dòng)申請(qǐng),而非從處理器被動(dòng)接收,因此,矢量發(fā)生器的工作相對(duì)獨(dú)立。矢量發(fā)生器可自行調(diào)整筆劃書寫速度,也可利用DMA請(qǐng)求信號(hào)的快慢來隨意調(diào)節(jié)筆劃之間的停頓時(shí)間,而不受處理器工作速度及軟件結(jié)構(gòu)的影響。采用適當(dāng)?shù)臅鴮扅c(diǎn)時(shí)鐘頻率和筆劃間的等待時(shí)間,配合后級(jí)電路可達(dá)到最佳的顯示效果。

    1.3 D/A 轉(zhuǎn)換

    D/A轉(zhuǎn)換電路將筆劃矢量的X、Y坐標(biāo)數(shù)據(jù)進(jìn)行D/A轉(zhuǎn)換,產(chǎn)生X、Y模擬偏轉(zhuǎn)電壓,配合輝亮信息,驅(qū)動(dòng)后級(jí)電路,在顯示器上完成畫面的顯示。

    2 工作流程

    核處理器周期性地處理顯示文件,形成一幅完整顯示畫面的矢量指令組,放入DSP內(nèi)部緩存,交由IO處理器管理,核處理器隨即可處理下一周期的數(shù)據(jù);IO處理器啟動(dòng)握手式DMA,等待DMA請(qǐng)求信號(hào),并向矢量發(fā)生器發(fā)出書寫啟動(dòng)標(biāo)志SFLAG0(SFLAG0置“1”)。

    矢量發(fā)生器中的矢量指令管理單元收到書寫啟動(dòng)標(biāo)志后,發(fā)出第一個(gè)指令接收請(qǐng)求信號(hào)(DMA請(qǐng)求),IO處理器隨即將DSP內(nèi)部緩存中的第一條矢量指令從數(shù)據(jù)總線發(fā)出;矢量指令管理單元將指令寫入第一級(jí)緩存,延時(shí)后寫入第二級(jí)緩存,矢量發(fā)生器中的筆劃生成邏輯開始進(jìn)行指令譯碼并執(zhí)行,如圖1所示。

    筆劃生成邏輯進(jìn)行指令譯碼的同時(shí),矢量指令管理單元發(fā)出下一個(gè)指令接收請(qǐng)求,并將新指令存入第一級(jí)緩存;當(dāng)前矢量指令執(zhí)行結(jié)束時(shí),將第一級(jí)緩存中的指令寫入第二級(jí)緩存,開始新的譯碼和執(zhí)行,并再發(fā)出指令接收請(qǐng)求;矢量發(fā)生器周而復(fù)始地申請(qǐng)、接收、譯碼、執(zhí)行,當(dāng)執(zhí)行畫面結(jié)束指令時(shí),不再發(fā)出指令接收請(qǐng)求信號(hào),一幅完整的畫面書寫完成,等待下一周期的書寫。

    3 矢量指令管理單元時(shí)序設(shè)計(jì)

    指令管理單元內(nèi)含兩級(jí)緩存,如圖4所示。

    圖4 指令管理單元的兩級(jí)緩存Fig.4 Two-level cache of instruct managemcnt unit

    矢量發(fā)生器在DSP的SFLAG0置“1”后,開始一個(gè)顯示周期的工作,直到一幅畫面書寫完畢。SFLAG0置“1”,矢量指令管理單元向DSP發(fā)出第一個(gè)DMA請(qǐng)求信號(hào),DSP隨即向矢量發(fā)生器輸出矢量指令。圖5是矢量指令管理單元的工作時(shí)序圖。

    圖5 指令管理單元工作時(shí)序圖Fig.5 Timing sequence of instruct management unit

    SCLKOUT是DSP輸出的40 MHz外部時(shí)鐘,也是本單元的工作時(shí)鐘,SRESETI是字符發(fā)生器的全局復(fù)位信號(hào)。dmaq1、dmaq2、dmar_1為定義的中間信號(hào)(signal)。SFLAG0置“1”后,dmaq1和 dmaq2分別由SFLAG0延時(shí)一個(gè)和三個(gè)時(shí)鐘得到,dmar_1由dmaq1和dmaq2異或得到,作為第一個(gè)DMA請(qǐng)求信號(hào)。DMA請(qǐng)求信號(hào) sdmar1由 dmar_1與譯碼脈沖 wrdecode(wrdecode由矢量發(fā)生器對(duì)矢量指令譯碼得到)合成得到,即sdmar1的第一個(gè)脈沖為 dmar_1,后續(xù)脈沖由wrdecode展寬得到,以便DSP能及時(shí)送出下一條指令。

    DSP收到DMA請(qǐng)求信號(hào)后,向矢量發(fā)生器發(fā)出第一條指令。Wrvector是第一級(jí)緩存寫入信號(hào),由DSP寫信號(hào)合成矢量發(fā)生器地址產(chǎn)生。Wrvector的上升沿將矢量指令寫入第一級(jí)緩存,得到vectororder1。Beginflag是一個(gè)標(biāo)志,低電平時(shí),第二級(jí)緩存寫入脈沖wrvector_2由wrvector延時(shí)兩個(gè)時(shí)鐘得到(即wrvector2);高電平時(shí),wrvector_2在上一條指令執(zhí)行結(jié)束時(shí)產(chǎn)生。即只有第一個(gè)wrvector_2由wrvector延時(shí)得到,后續(xù)的wrvector_2均在上一條指令執(zhí)行結(jié)束時(shí)產(chǎn)生,wrvector_2的上升沿將vectororder1寫入第二級(jí)緩存,得到vectororder2。這樣在一條指令執(zhí)行結(jié)束時(shí),將第一級(jí)緩存中的指令寫入第二級(jí)緩存,隨即送筆劃生成邏輯進(jìn)行譯碼,并送出DMA請(qǐng)求信號(hào)。當(dāng)執(zhí)行畫面結(jié)束指令0x0時(shí),不再產(chǎn)生wrvector_2。

    筆劃生成邏輯對(duì)vectororder2進(jìn)行指令譯碼并執(zhí)行,直至碰上畫面結(jié)束指令0x0,結(jié)束一個(gè)顯示周期,等待下一周期的書寫。

    4 結(jié)論

    本文所述字符發(fā)生器基于DSP和FPGA設(shè)計(jì),是高集成度、小型化設(shè)計(jì)。利用DSP強(qiáng)大的數(shù)據(jù)處理能力和其內(nèi)部IO處理器的并行處理功能,加之矢量管理單元的協(xié)調(diào)設(shè)計(jì),達(dá)到了提高字符發(fā)生器數(shù)據(jù)處理能力和筆劃書寫性能的目的。由于筆劃間無停頓,在不改變書寫時(shí)鐘的前提下,每周期畫面書寫時(shí)間較之先前的字符發(fā)生器縮短約1/3;也正是由于筆劃間可以連續(xù)無停頓,使字符書寫流暢,亮度均勻,顯示畫面更加美觀。

    [1]RODGERS B,COVITT M.Stroke-to-raster video conversion method having error correction capabilities.United States Patent:US 2010/0271542 A1[P].2010-10-28.

    [2]TANNER A H,SIMMONS C L.Stroke to raster converter system:United States Patent,US6496160B1[P].2002-12-17.

    [3]BALRAM N,OLSON W P,WILSON M R.Stroke-to-stroke:United States Patent,US5969699[P].1999-10-19.

    [4]MULLER H R.Digital symbol generator with symbol error checking:United States patent,US4413323[P].Nov.1,1983-11-01.

    [5]DETTMER J R.Angle based stroke generator:United States Patent,US4553214[P].1985-11-12.

    [6]GROTHE S P.Variable refresh rate for stroke CRT displays:United States Patent,US4511892[P].1985-04-16.

    [7]BROWN R R.Digital stroke display with vector,circle and character generation capability:United StatesPatent,US4115863[P].1978-09-19.

    [8]GROTHE S P,NARVESON P L.Dynamic stroke priority generator forhybrid display:United StatesPatent,US4635050[P].1987-06-06.

    [9]STAUFFER F K,SMITH P R.Constant writing rate digital stroke character generator having minimal data storage requirements:United States Patent,US3952297[P].1976-04-20.

    [10]BURNHAM G O,WEBER J W.Direction coded digital stroke generator previding a plurality of symbols:United States Patent,US3938130[P].1976-02-10.

    [11]劉海見,楊健,張凱義,等.航空顯示信號(hào)自動(dòng)測(cè)試技術(shù)研究[J].測(cè)控技術(shù),2005,24(9):76-78.

    [12]彭克勤,蔡保勝.ALTERA EPLD在火控顯示系統(tǒng)字符發(fā)生器中的應(yīng)用[J].電光與控制,1995,2(2):16-22.

    [13]劉翔,戎蒙恬,劉忠偉.基于DSP和FPGA的筆劃字符發(fā)生器設(shè)計(jì)[J].航空電子技術(shù),2008,39(3):50-54.

    [14]GJB 189A-2003,飛機(jī)平視顯示/武器瞄準(zhǔn)系統(tǒng)通用規(guī)范[S].北京:中航一集團(tuán),2003.

    [15]GJB 300-1987,飛機(jī)平視顯示器字符[S].北京:空軍和航空部,1987.

    猜你喜歡
    筆劃譯碼字符
    尋找更強(qiáng)的字符映射管理器
    基于校正搜索寬度的極化碼譯碼算法研究
    字符代表幾
    一種USB接口字符液晶控制器設(shè)計(jì)
    電子制作(2019年19期)2019-11-23 08:41:50
    消失的殖民村莊和神秘字符
    加筆劃成新字
    從霍爾的編碼譯碼理論看彈幕的譯碼
    新聞傳播(2016年3期)2016-07-12 12:55:27
    KD357:模擬漢字筆劃的漢字鍵盤輸入法
    LDPC 碼改進(jìn)高速譯碼算法
    基于概率裁剪的球形譯碼算法
    沙雅县| 玉树县| 鹿邑县| 彭州市| 千阳县| 南皮县| 库车县| 琼结县| 布尔津县| 贵溪市| 太谷县| 和林格尔县| 京山县| 宜黄县| 南澳县| 嘉禾县| 大田县| 灌南县| 阿拉善盟| 武陟县| 罗平县| 闽侯县| 治县。| 波密县| 扎兰屯市| 龙门县| 昭苏县| 安龙县| 札达县| 乐昌市| 云龙县| 利津县| 清原| 沙洋县| 卓尼县| 栖霞市| 延边| 广饶县| 长垣县| 武穴市| 澳门|