音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于DSP平臺(tái)的圖形顯示的研究與應(yīng)用

出處:電子愛好者博客 發(fā)布于:2013-05-07 10:24:18

  摘要:為了探索虛擬平臺(tái)技術(shù)在引導(dǎo)設(shè)備中應(yīng)用的可行性,對(duì)DSP圖形處理技術(shù)結(jié)合傳感器信號(hào)實(shí)施虛擬水平指示圖形的顯示控制進(jìn)行了研究。構(gòu)建了DAM6416P為的開發(fā)平臺(tái),在該平臺(tái)中,通過試驗(yàn)比較了直線生成算法的畫線速度。研究了RGB顏色空間以及YUV顏色空間,通過實(shí)驗(yàn)得出不同數(shù)據(jù)格式在等離子顯示器上的幾種顏色數(shù)值。采集傾角傳感器的輸出信號(hào),使用C語言編制了指示圖形,實(shí)時(shí)輸出到雙等離子顯示器上,指示艦船的橫搖狀態(tài)。

  1 引言

  船載飛機(jī)飛行于氣象變化無常的海洋,起降于面積狹小、搖擺不穩(wěn)的飛行甲板,危及飛行安全的因素很多。據(jù)美國安全中心統(tǒng)計(jì),船載直升機(jī)駕駛員的飛行事故是轟炸機(jī)駕駛員的10倍,是民航駕駛員的54倍。飛行事故不僅危及直升機(jī)的安全,而且由于船上一般載有大量的可燃物,還會(huì)危及船的存亡。因此,安全有效的船載機(jī)引導(dǎo)系統(tǒng)是保證飛行員生命安全和直升機(jī)安全降落的重要手段[1];目前,船上的燈光導(dǎo)引設(shè)備主要采用機(jī)電設(shè)備,用內(nèi)置白熾燈的機(jī)械燈臂作為橫搖指示器的顯示部分;隨著電子器件的不斷發(fā)展,電子元器件的性能越來越高,應(yīng)用高、高穩(wěn)定性的電子器件取代機(jī)械設(shè)備已經(jīng)成為一種趨勢。本文采用DSP圖形處理技術(shù)結(jié)合傳感器信號(hào)實(shí)施虛擬水平指示圖形的顯示控制,探索虛擬平臺(tái)技術(shù)應(yīng)用的可行性,力圖消除因機(jī)械水平燈桿慣性造成的響應(yīng)滯后和機(jī)械嚙合產(chǎn)生的誤差等不良因素,對(duì)提高船用直升機(jī)助降設(shè)備的有很大好處,有利于提高船用直升機(jī)降落的安全性。

  2 相關(guān)工作

  目前船上的橫搖指示器主要采用機(jī)電設(shè)備,為了探索虛擬平臺(tái)技術(shù)在引導(dǎo)設(shè)備中應(yīng)用的可行性,構(gòu)建了以DSP傾角傳感器、等離子顯示器為的橫搖引導(dǎo)試驗(yàn)平臺(tái)。

  同時(shí),針對(duì)DSP在圖形圖像處理方面的超強(qiáng)能力,根據(jù)傾角傳感器的角度信號(hào),設(shè)計(jì)了虛擬的水平指示圖形、指示艦船的橫搖狀況。

  2.1 硬件設(shè)計(jì)

  試驗(yàn)平臺(tái)共由三部分組成,分別是:1)信號(hào)采集部分,使用角度傳感器采集三自由度轉(zhuǎn)臺(tái)橫搖信號(hào);2)數(shù)字信號(hào)處理部分,采用DSP數(shù)字信號(hào)處理器對(duì)傳感器輸出的信號(hào)進(jìn)行處理;3)視頻輸出部分,將DSP處理后的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)后輸出。如圖1所示。

  DAM6416P是DSP開發(fā)板。提供了RS-232、RS-422等多個(gè)通信接口。同時(shí)支持復(fù)合視頻和S端子的輸入、輸出,并可單獨(dú)輸出VGA格式的圖像。

  數(shù)字傾角傳感器選用ZC-TD-30S為單軸傾角傳感器,可輸出RS-232串行數(shù)字信號(hào)。

  測量范圍±30°,分辨率0.1°,<0.5°。

  硬件仿真時(shí)使用TDS510仿真器。

  等離子顯示技術(shù)適合動(dòng)態(tài)視頻顯示領(lǐng)域。本環(huán)境選用廈華PS-42D8,具有多種輸入接口。

  等離子顯示器安裝在三自由度并聯(lián)機(jī)構(gòu)轉(zhuǎn)臺(tái)上,三自由度并聯(lián)機(jī)構(gòu)轉(zhuǎn)臺(tái)模擬艦船的搖擺姿態(tài),其作用是作為橫搖指示器的信號(hào)源。

  2.2 軟件流程

  軟件設(shè)計(jì)過程中采用了模塊化結(jié)構(gòu),設(shè)計(jì)流程如圖2所示。

  3 實(shí)驗(yàn)分析與結(jié)果

  3.1 直線生成算法的比較分析

  輸出到等離子顯示器的圖形以直線為主,常用的直線生成算法有數(shù)值微分法、中點(diǎn)法、Bresenham算法三種[2~4],所以要對(duì)直線生成算法做出選擇。在這里主要考慮算法的生成速度。為了測試以上三種直線生成算法的速度,分別編寫直線生成程序。在CCS軟件中,可以看到執(zhí)行各直線生成程序所耗用的時(shí)鐘周期,從而計(jì)算出執(zhí)行時(shí)間。三種直線生成算法在DAM6416P中需要的指令周期數(shù)及執(zhí)行時(shí)間如表1所示。

  從表1可以看出Bresenham算法的速度快。所以選擇Bresenham算法編制圖形顯示程序。

  3.2 色彩空間分析與實(shí)驗(yàn)

  為了更直觀地表示艦船的搖擺狀態(tài),在輸出圖形時(shí)要用到黃色、綠色和紅色。而且由于亮度對(duì)顏色有影響,不同的顯示設(shè)備顯示的顏色會(huì)略有差異,所以需要通過實(shí)驗(yàn),得出與漆膜顏色標(biāo)準(zhǔn)樣卡GSB(2000版)中的國標(biāo)值R03、G04、Y05相匹配的顏色值。DAM6416P輸出的視頻數(shù)據(jù)格式有兩種:RGB565格式和YUV422格式。在用雙等離子顯示器顯示時(shí),必須同時(shí)使用兩種輸出格式。

  3.2.1 RGB色彩空間

  RGB565格式是RGB色彩空間的一種數(shù)據(jù)格式,RGB色彩空間又稱加色空間,它將紅、綠、藍(lán)三種基色按一定的混合系數(shù)相加,幾乎可以得到任何一種顏色[5].RGB565格式表示每個(gè)像素用16位表示,其中5位用于表示紅色,6位用于表示綠色,5位用于表示藍(lán)色。RGB565格式的數(shù)據(jù)在內(nèi)存中的存放如表2所示。

  編寫圖形顯示程序,在配色時(shí),讓像素點(diǎn)的顏色值從0變化到65535,通過實(shí)驗(yàn)得出等離子顯示器中,與漆膜顏色標(biāo)準(zhǔn)樣卡GSB(2000版)中的國標(biāo)值R03、G04、Y05相匹配的顏色值,如表3所示。

  3.2.2 YUV色彩空間

  YUV422格式是YUV 色彩空間的一種數(shù)據(jù)格式。

  YUV色彩空間的基本特征是將亮度信號(hào)和色度信號(hào)分離表示,Y 表示亮度信號(hào),U 表示藍(lán)色色差信號(hào),V 表示紅色色差信號(hào)[6~7];YUV色彩空間將相鄰的像素組成一個(gè)宏像素,YUV各分量都帶有下標(biāo)。如YUV422格式中,如果圖像數(shù)據(jù)為16位,一個(gè)宏像素為4個(gè)字節(jié),實(shí)際表示2個(gè)像素。每個(gè)像素保留Y 分量,而UV 分量在水平方向上每兩個(gè)像素采樣。422的意思為一個(gè)宏像素中有4個(gè)Y 分量,2個(gè)U 分量,2個(gè)V 分量。DAM6416P中,YUV422格式的數(shù)據(jù)在內(nèi)存中的存放如表4所示。

  從表4可以看出,YUV422格式中,相鄰兩像素點(diǎn),偶數(shù)點(diǎn)的顏色是由它本身的亮度信號(hào)Y 和藍(lán)色色差信號(hào)U以及它下一點(diǎn)中的紅色色差信號(hào)V 共同決定;奇數(shù)點(diǎn)的顏色由它本身的亮度信號(hào)Y 和紅色色差信號(hào)V 以及它上一點(diǎn)中的藍(lán)色色差信號(hào)U 共同決定。針對(duì)這一特點(diǎn),編寫圖形顯示程序,在配色時(shí),保持相鄰兩像素點(diǎn)亮度值相等,將U 值從0變化到255,V 值每變化一個(gè)循環(huán)V 值加1,V 的變化范圍同樣是在0~255,從而觀察出顏色的變化規(guī)律。

  主要程序如下:

  for(U=0;U<=255;U++){

  for(V=0;V<=255;V++){

  for(x=0;x<=351;x++){

  for(y=0;y<100;y++){

  m=x;

  n=m/2;

  if(n>floor(n)){

  *(pVideoOutFrame+x+h*y)=pow(2,8)+U;}

  else{

  *(pVideoOutFrame+x+h*y)=pow(2,8)+V;}

  }

  }

  VOUT_putFrame(hVout,pVideoOutFrame,IEKC64_VIDEO_NO_WAIT);

  }

  outVideoIndex=(outVideoIndex+1)%2;

  pVideoOutFrame=&OutputBuffer[outVideoIndex][0];

  temp_address2=pVideoOutFrame;

  for(i=0;i<FRAME_SIZE_IN_PIXELS;i++)

  *(temp_address2++)= *(temp_address1++);

  }

  實(shí)驗(yàn)結(jié)果顯示,Y 相同的相鄰兩像素點(diǎn)顏色相同;將U從0變化到255時(shí),圖形的顏色從綠色變到藍(lán)色,分界點(diǎn)在128附近;V 從0變化到255,圖形的顏色從綠色變到紅色,分界點(diǎn)在128 附近。通過實(shí)驗(yàn)得出等離子顯示器中,YUV422格式的顏色數(shù)值如表5所示。

  3.3 單線程分時(shí)顯示的研究

  DAM6416P開發(fā)板的輸出解碼芯片BT864被復(fù)用了一些引腳,導(dǎo)致不能同時(shí)輸出兩路視頻信號(hào)??紤]在每臺(tái)等離子顯示器上定義圖像的大小為352×240像素,一幀圖形僅為0.18MB,以及DSP的處理速度,在編程時(shí)采用了分時(shí)復(fù)用的思想來實(shí)現(xiàn)兩路信號(hào)的輸出。

  在單線程中采用分時(shí)復(fù)用輸出數(shù)據(jù)時(shí),VIN模塊(視頻輸入)和VOUT(視頻輸出)模塊的初始化必須放在線程的內(nèi)部,并且放在每一路輸出信號(hào)的前面。也就是在輸出VGA信號(hào)前,對(duì)VIN模塊和VOUT模塊進(jìn)行初始化。初始化成功后,打開VIN 模塊和VOUT 模塊,輸入、輸出VGA信號(hào)。輸出一幀圖形后,停止、關(guān)閉VIDEO模塊。接著輸出CVBS信號(hào),輸出前要對(duì)VIN 模塊和VOUT模塊重新初始化,初始化成功后,打開VIN 模塊和VOUT 模塊,輸入、輸出YUV422格式的CVBS信號(hào)。

  反向指針關(guān)于正向指針是中心對(duì)稱的。所謂中心對(duì)稱圖形就是在平面內(nèi),一個(gè)圖形繞某個(gè)點(diǎn)旋轉(zhuǎn)180°,如果旋轉(zhuǎn)前后的圖形互相重合,那么這個(gè)圖形叫做中心對(duì)稱圖形,這個(gè)點(diǎn)叫做它的對(duì)稱中心。在編制反向指針的程序時(shí),利用中心對(duì)稱的特性將坐標(biāo)橫移即可。

  3.4 實(shí)驗(yàn)結(jié)果

  DAM6416P提供了針對(duì)DSP程序開發(fā)的板級(jí)開發(fā)函數(shù)庫IEKLIB.IEKLIB為用戶提供了九個(gè)功能模塊。在使用這些模塊前,應(yīng)對(duì)其進(jìn)行初始化。

  3.4.1 打開串口接收、發(fā)送數(shù)據(jù)

  對(duì)UART 模塊的初始化是由函數(shù)UART_open(&uartcfg)完成的。其中,uartcfg為配置UART端口的一個(gè)數(shù)據(jù)結(jié)構(gòu)。利用這個(gè)數(shù)據(jù)結(jié)構(gòu)可以對(duì)串行端口進(jìn)行具體的配置,包括波特率、校驗(yàn)位、緩沖區(qū)的大小及地址。初始化成功后即可打開串行端口,讀取傳感器數(shù)據(jù)并存入FIFO中。

  3.4.2 打開VIDEO模塊

  打開VIDEO模塊前,需要對(duì)VIN模塊和VOUT模塊的初始化[8].VIN 模塊的初始化由函數(shù)VIN_open(&videoIn,&hVin)完成。其中videoIn是IEKLIB為配置視頻輸入功能提供的一個(gè)數(shù)據(jù)結(jié)構(gòu),可以對(duì)視頻輸入過程的參數(shù)進(jìn)行具體的配置。如果初始化成功,會(huì)將新創(chuàng)建的VIN對(duì)象句柄的指針返回給hVin.同時(shí),函數(shù)將返回一個(gè)操作成功的狀態(tài)。程序如下:

  status= VIN_open(&videoIn,&hVin);

  if(!IEKC64_SUCCESS(status)){

  LOG_printf(&myLOG,“ VIN_open()failed with 0x%

  08X\n”,status);

  abort();

  }

  status= VIN_start(hVin);

  if(!IEKC64_SUCCESS(status)){

  LOG_printf(&myLOG,“ VIN_start()failed with 0x%

  08X\n”,status);

  abort();

  }

  VOUT模塊的初始化由VOUT_open(&video Out,&hVout)函數(shù)完成[9~10].其中videoOut是IEKLIB 為配置視頻輸出功能提供的一個(gè)數(shù)據(jù)結(jié)構(gòu),可以對(duì)視頻輸出過程的參數(shù)進(jìn)行具體的配置。如果初始化成功,程序會(huì)將新創(chuàng)建的VOUT對(duì)象句柄的指針返回給hVout.同時(shí),函數(shù)將返回一個(gè)操作成功的狀態(tài)。程序如下:

  status= VOUT_open(&videoOut,&hVout);

  if(!IEKC64_SUCCESS(status)){

  LOG_printf(&myLOG,“ VOUT_open()failed with

  0x%08X\n”,status);

  abort();

  }

  status= VOUT_start(hVout);

  if(!IEKC64_SUCCESS(status)){

  LOG_printf(&myLOG,“ VOUT_start()failed with

  0x%08X\n”,status);

  abort();

  }

  3.4.3 數(shù)據(jù)采集及角度控制

  通過數(shù)字傾角傳感器采集轉(zhuǎn)臺(tái)的橫搖角度信號(hào),將傳感器輸出的角度值按照一定的比例運(yùn)算后,輸出控制量,控制橫搖指示器圖形。橫搖角度的控制如圖3所示。

  使用ZC-TD-30S 采集轉(zhuǎn)臺(tái)的橫搖角度時(shí),需要對(duì)RS232接口進(jìn)行初始化,包括波特率、接收數(shù)據(jù)緩沖區(qū)及發(fā)送數(shù)據(jù)緩沖區(qū)等。初始化后,就可以打開串口接收和發(fā)送數(shù)據(jù),采集轉(zhuǎn)臺(tái)的橫搖角度數(shù)據(jù)的主要程序如下:

  if(dwCount= UART_getReadCount()>=1){

  dwCount= UART_Read(pframe,1);

  if(dwCount){

  UART_write(pframe,1);

  pframe++;

  angle=*pframe;//取角度值

  if(pframe>(MyCaptureBuffer+My_Capture_size))

  pframe= MyCaptureBuffer;

  }

  }

  橫搖指示器指針斜率的變化與艦船的橫搖角度相關(guān),在沒有接入傳感器之前,對(duì)橫搖指示器指針的控制是通過自定義的變量z來實(shí)現(xiàn),程序如下:

  for(z=30;z<=210;z++)

  {

  ……

  h=352;//水平像素

  y1=120;//旋轉(zhuǎn)軸心點(diǎn)

  p=120-4*(120-z)/5;//光帶右列中點(diǎn)

  dx=240;//水平增量

  dy=p-y1;//垂直增量

  k=dy/dx;

  ……

  }

  在使用傾角傳感器的輸出角度值控制橫搖指針時(shí),要先將傾角傳感器的輸出值進(jìn)行比例的換算。z 的取值范圍是30~210,傾角傳感器的輸出角度值angle的范圍是-150~150,表示的實(shí)際角度范圍是-15°~+15°。從而,計(jì)算出angle與z的換算公式:

  angle=5·(z-120)/3  (1)

  3.4.4 雙等離子顯示器輸出

  DAM6416P提供了復(fù)合視頻和VGA 兩種輸出接口,可以分時(shí)進(jìn)行輸出。復(fù)合視頻接口輸出正向的指針,VGA接口輸出反向的指針。但由于視頻信號(hào)的采集是由BT835視頻Decoder完成的,而BT835輸出的是4:2:2的YUV格式的圖像數(shù)據(jù),所以在使用VGA接口輸出時(shí),需要對(duì)圖像數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換。轉(zhuǎn)換由函數(shù)void ycbcr422_rgb565完成,轉(zhuǎn)換系數(shù)為coeff[5]={0×2543,0×3313,-0x0C8A,-0x1A04,0x408D}.

  3.4.5 圖形顯示說明

  在雙等離子顯示器組成的平面中始終顯示一條相對(duì)大地水平的黃色光帶,光帶的邊緣帶有箭頭,箭頭與等離子顯示器水平中線的夾角為當(dāng)前艦船的搖擺角度,為了方便我們觀測,該夾角用一矩形區(qū)域表示。當(dāng)夾角在0°~5°之間時(shí),該區(qū)域顏色為黃色;當(dāng)夾角在5°~8°之間時(shí),該區(qū)域有兩種顏色組成,0°~5°之間仍是黃色,其余為綠色;當(dāng)夾角大于8°時(shí),該區(qū)域有三種顏色組成,0°~5°之間是黃色,5°~8°之間是綠色,大于8°的區(qū)域是紅色。

  4 結(jié)語

  在實(shí)驗(yàn)室環(huán)境下,經(jīng)試驗(yàn)平臺(tái)安放在三自由度并聯(lián)機(jī)構(gòu)轉(zhuǎn)臺(tái)上,三自由度并聯(lián)機(jī)構(gòu)轉(zhuǎn)臺(tái)模擬艦船的搖擺姿態(tài),其作用是作為橫搖指示器的信號(hào)源。在測試及運(yùn)行過程中,橫搖指示器中心對(duì)稱圖形顯示程序一直穩(wěn)定可靠,并且很好地保證了系統(tǒng)的靈活性與實(shí)時(shí)性,而且雙等離子顯示器的作用與效果明顯優(yōu)于普通的LED顯示模塊,提高了顯示圖形的效果,具有很強(qiáng)的推廣及實(shí)用價(jià)值。

關(guān)鍵詞:基于DSP平臺(tái)的圖形顯示的研究與應(yīng)用DSP應(yīng)用圖形顯示

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

PWM驅(qū)動(dòng)電路TL494在開關(guān)電源當(dāng)中的實(shí)際應(yīng)用!
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!