国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

李 潔, 張 蕾, 王靈剛

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

0 引言

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

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

1 組成及工作原理

字符發(fā)生器由數(shù)字信號處理器(DSP)及外圍電路、矢量發(fā)生器、A/D轉(zhuǎn)換電路組成,產(chǎn)生筆劃式字符畫面供后級顯示器顯示。組成框圖如圖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雙端口存儲器,數(shù)據(jù)總線寬度64位,地址總線寬度32位;支持單指令多數(shù)據(jù)流模式(SIMD);全部指令為單周期指令;支持14通道DMA,6個(gè)Link口通訊。

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

1.2 矢量發(fā)生器

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

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

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

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

一筆矢量書寫時(shí),其長邊按書寫時(shí)鐘每周期步進(jìn)一,直到走完長邊位移量。而短邊位移量的步進(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為長邊書寫時(shí)鐘頻率。乘法器的輸出脈沖fout即為短邊的書寫時(shí)鐘頻率。

矢量發(fā)生器由以下工作單元組成:指令管理單元,指令譯碼單元,延時(shí)單元,顯示忙處理單元,時(shí)序控制單元,長邊計(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ā)生器輸入信號為字符時(shí)鐘,顯示忙信號,筆劃矢量指令;輸出信號為DMA請求信號,X、Y坐標(biāo)數(shù)據(jù)(各12位),輝亮信號。

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

2 工作流程

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

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

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

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

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

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

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

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

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

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

筆劃生成邏輯對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]劉海見,楊健,張凱義,等.航空顯示信號自動(dòng)測試技術(shù)研究[J].測控技術(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.

猜你喜歡
筆劃譯碼字符
分段CRC 輔助極化碼SCL 比特翻轉(zhuǎn)譯碼算法
基于校正搜索寬度的極化碼譯碼算法研究
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
圖片輕松變身ASCⅡ藝術(shù)畫
HBM電子稱與西門子S7-200系列PLC自由口通訊
加筆劃成新字
從霍爾的編碼譯碼理論看彈幕的譯碼
KD357:模擬漢字筆劃的漢字鍵盤輸入法
LDPC 碼改進(jìn)高速譯碼算法