• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SPI通信環(huán)境光控制技術(shù)

      2024-10-31 00:00:00葉林俊
      現(xiàn)代信息科技 2024年17期

      摘 要:為了解決液晶屏幕圖像通過LED燈條延伸擴展顯示效果,以及LED燈條實時同步顯示畫面顏色的問題,提出了一種基于SPI通信環(huán)境光控制技術(shù)方案,利用軟件算法實現(xiàn)了對液晶屏幕圖像的自動分割分區(qū),分析分區(qū)圖像子小區(qū)塊的圖像數(shù)據(jù),運用深度融合圖像算法,產(chǎn)出控制環(huán)境光輸出的RGB數(shù)據(jù)。采用LED驅(qū)動芯片TLC5971串聯(lián)連接,來控制對應(yīng)分區(qū)的LED燈條顯示。由主控制器通過SPI通信將分區(qū)的圖像RGB數(shù)據(jù)傳送給TLC5971控制LED燈條實時顯示畫面顏色,達到液晶屏幕的畫面延伸。

      關(guān)鍵詞:SPI通信;LED;環(huán)境光;圖像;嵌入式系統(tǒng);液晶屏幕

      中圖分類號:TP23 文獻標識碼:A 文章編號:2096-4706(2024)17-0023-05

      0 引 言

      智能電視機圖像所呈現(xiàn)的區(qū)域體積大小受液晶屏幕的物理尺度大小所影響,通過在智能電視機四邊的LED[1]燈條形成環(huán)境燈,使顯示屏的圖像延伸顯示至電視后背的墻壁,并通過在墻面上與電視圖像相匹配的燈光作用,產(chǎn)生更加真實、細致的燈光效果和暗部細節(jié),從而提供全新畫質(zhì),帶來更為真實的視覺感受。

      為實現(xiàn)LCD屏幕圖像通過LED燈條輸出延伸擴展效果,采用LCD屏幕圖像分割算法[2]進行自動分區(qū),通過對屏幕圖像分區(qū)各子區(qū)塊的圖像數(shù)據(jù)進行分析采集,利用深度融合圖像算法建立輸出環(huán)境光圖像輸出數(shù)據(jù)。因此,將采集液晶屏幕的圖像數(shù)據(jù),通過SPI通信控制LED驅(qū)動芯片驅(qū)動智能電視四邊的LED燈條顯示,是影響到圖像延伸一致性和環(huán)境光顯示延遲的重要因素。

      1 系統(tǒng)整體設(shè)計

      1.1 SPI通信

      串行外設(shè)接口(Serial Peripheral Interface, SPI)的總線系統(tǒng)是一個同步串行外設(shè)端口,它能夠使微控制單元MCU和各種外圍設(shè)備之間以串行方式相互通信并交流信息。通常情況下,SPI總線由四根信號線進行主從間的信息通信,依次是SCLK、MOSI、MISO、CS,SPI通信結(jié)構(gòu)圖如圖1所示。SPI接口的外圍設(shè)備有傳感器、存儲器、網(wǎng)絡(luò)控制器、通信接口、顯示模塊、A/D轉(zhuǎn)換器、微控制器等[3-6]。

      1.2 系統(tǒng)架構(gòu)設(shè)計

      在智能電視的液晶顯示屏[7-8]四周,設(shè)置環(huán)境光LED燈條,LED燈條分布在上邊區(qū)、下邊區(qū)、左邊區(qū)和右邊區(qū)4個區(qū)域。依據(jù)智能電視環(huán)境光配置的需要,可以靈活設(shè)計形成單邊、雙邊、三邊或四邊區(qū)域環(huán)境光,如圖2所示。

      將液晶屏幕圖像上下左右四邊進行圖像分區(qū)域,每一邊區(qū)域又劃分為子小區(qū)塊圖像,每個子小區(qū)塊的圖像RGB顏色對應(yīng)輸出給一組環(huán)境光LED燈條,通過LED驅(qū)動芯片控制點亮LED,使得讓小區(qū)塊的圖像畫面得到延伸效果。

      子小區(qū)塊圖像大?。核絏像素×垂直Y像素。對每一個子小分區(qū)內(nèi)的所有像素的RGB值分別進行圖像平均算法,得出此區(qū)域的平均像素RGB值,通過LED驅(qū)動芯片將此RGB數(shù)據(jù)控制點亮對應(yīng)該子小分區(qū)的環(huán)境光LED燈。

      LED燈條分布在智能電視上邊區(qū)、下邊區(qū)、左邊區(qū)和右邊區(qū)4個區(qū)域,每個區(qū)域由LED驅(qū)動芯片1,LED驅(qū)動芯片2,……,LED驅(qū)動芯片(N-1),LED驅(qū)動芯片(N)串聯(lián)連接對應(yīng)控制,如圖3所示。由主控制器將各個小分區(qū)的圖像RGB數(shù)據(jù),通過SPI通信傳送給LED驅(qū)動芯片1,LED驅(qū)動芯片2,LED驅(qū)動芯片N-1,LED驅(qū)動芯片N,再由LED驅(qū)動芯片控制LED燈條實時顯示小分區(qū)的圖像顏色。

      2 硬件設(shè)計

      2.1 線路設(shè)計

      本系統(tǒng)硬件設(shè)計采用主-從模式(Master-Slave)的控制方式[9],SPI通信的主控制器采用MST9652智能電視Scaler多功能處理芯片,從設(shè)備選用TLC5971 LED驅(qū)動器,具有12通道16位RGB PWM。如圖4所示,SCKI-BUF是時鐘線(SCLK)用于同步數(shù)據(jù)傳輸,由主設(shè)備MST9652產(chǎn)生;SDI-BUF是MOSI(Master Out Slave In)是主設(shè)備(MST9652)輸出從設(shè)備(TLC5971)輸入的線路,通常用于發(fā)送數(shù)據(jù);MISO(Master In Slave Out)是主設(shè)備輸入(MST9652)從設(shè)備(TLC5971)輸出的線路,通常用于接收數(shù)據(jù)。

      2.2 LED驅(qū)動功能說明

      如圖5所示,224位移位寄存器用于從SDTI引腳與SCKI時鐘同步輸入數(shù)據(jù)到TLC5971。移位寄存器由寫命令、功能控制和數(shù)據(jù)組成。用于鎖定功能控制和數(shù)據(jù)的218位數(shù)據(jù)鎖存器,在收到6位寫命令25H(100101B)時,內(nèi)部產(chǎn)生鎖定控制脈沖,將224位移位寄存器中的218個LSB復(fù)制到數(shù)據(jù)鎖存器中。

      當TLC5971的N個單元串聯(lián)連接控制設(shè)備時,必須從TLC5971第一設(shè)備中寫入N×224位數(shù)據(jù)給所有控制設(shè)備。當一個數(shù)據(jù)包中的數(shù)據(jù)被改變,所有設(shè)備的報文都必須重新寫入,數(shù)據(jù)寫入步驟:

      1)用SDTI和SCKI信號寫入224位數(shù)據(jù)包(首先是MSB位),用于第n個TLC5971。224位數(shù)據(jù)包的前6位作為寫入命令,寫入命令必須是25H(100101B);否則,224位元移位寄存器中的218位元數(shù)據(jù)將不能在218位元數(shù)據(jù)鎖存器中復(fù)制。

      2)完成步驟1后,馬上給第(n-1)TLC5971傳送寫入224位元數(shù)據(jù)包。

      3)重復(fù)數(shù)據(jù)寫入順序,直到所有TLC5971都有數(shù)據(jù)??傄莆粫r鐘計數(shù)(SCKI)現(xiàn)在是224×N。

      4)所有裝置資料寫入后,將所有裝置中224位移位寄存器中的218個LSB拷貝到同時啟動或更新PWM控制的218位資料鎖存器中。

      3 軟件設(shè)計

      3.1 環(huán)境光控制輸出流程

      環(huán)境光控制輸出流程采用嵌入式系統(tǒng)[10]軟件開發(fā)設(shè)計,如圖6所示,根據(jù)智能電視環(huán)境光硬件設(shè)計的區(qū)域分區(qū)匹配燈條,進行軟件配置環(huán)境光區(qū)域分區(qū),配置每個區(qū)域子小區(qū)塊數(shù);采集屏幕分區(qū)里每一子小區(qū)塊RGB圖像數(shù)據(jù),完成圖像數(shù)據(jù)結(jié)構(gòu)的存儲,通過預(yù)設(shè)的圖像處理算法處理后建立產(chǎn)出環(huán)境光圖像輸出數(shù)據(jù)模型;將環(huán)境光圖像輸出數(shù)據(jù)組合形成子小區(qū)塊數(shù)據(jù)結(jié)構(gòu)輸出顯示環(huán)境光;加載每個子小區(qū)塊的圖像像素RGB數(shù)據(jù)到系統(tǒng)內(nèi)存,并將轉(zhuǎn)換為環(huán)境光可識別的數(shù)據(jù)輸出到環(huán)境光燈條,達到整屏視覺延伸效果。

      3.2 INI配置文件結(jié)構(gòu)

      由于沿著電視一周環(huán)境光設(shè)計可以有單邊、雙邊、三邊、四邊等效果,每一邊的圖像分區(qū)依據(jù)電視液晶屏幕的大小的不同、圖像小分區(qū)的數(shù)量而不同,所需要采用的LED驅(qū)動芯片也不同。因此,為了靈活兼容及擴展使用,在軟件設(shè)計采用主體軟件解析程序唯一統(tǒng)一性,通過INI配置參數(shù)的方式匹配適用不同場景的需要。

      TLC5971 LED驅(qū)動器,具有12通道16位RGB PWM,每顆LED分別有R、G、B三個PWM控制通道,所以可以驅(qū)動4顆或4組并聯(lián)LED。當液晶屏幕圖像小分區(qū)大于4個分區(qū),需要增加TLC5971 LED驅(qū)動芯片,進行串聯(lián)連接驅(qū)動。

      因此,軟件設(shè)計為了兼容環(huán)境光單邊、雙邊、三邊、四邊設(shè)計效果,采用如下設(shè)計的INI配置文件結(jié)構(gòu),用于軟件初始化配置調(diào)用,例如,AmbiTotalChipNumber用于定義TLC5971驅(qū)動芯片使用數(shù)量;AmbiLeftNumber,AmbiTopNumber,AmbiRightNumber,AmbiBottom用于定義上下左右四邊圖像小分區(qū)數(shù)量,“0”表示該分區(qū)沒有LED燈條;AmbiChip(xx)定義每顆TLC5971的12通道RGB PWM(OUT3 ,OUT2,OUT1,OUT0),數(shù)值是對應(yīng)映射的圖像小分區(qū),“255”表示該RGB PWM通道沒有對應(yīng)映射的圖像小分區(qū)。以下為軟件設(shè)計的分區(qū)INI配置文件的主要內(nèi)容:

      #AMBI LED驅(qū)動TLC5971數(shù)量

      AmbiTotalChipNumber = 7;

      #AMBI分區(qū)配置

      AmbiLeftNumber = 5;

      AmbiTopNumber = 11;

      AmbiRightNumber = 5;

      AmbiBottomNumber = 0;

      ##設(shè)置每顆LED驅(qū)動對應(yīng)的圖像小分區(qū) ##

      ##OUT3, OUT2, OUT1, OUT0 ( 255表示沒有使用)##

      AmbiChip01 = 255, 2, 1, 0;

      AmbiChip02 = 255, 255, 4, 3;

      AmbiChip03 = 8, 7, 6, 5;

      AmbiChip04 = 255, 11, 10, 9;

      AmbiChip05 = 15, 14, 13, 12;

      AmbiChip06 = 255, 255, 17, 16;

      AmbiChip07 = 255, 20, 19, 18;

      3.3 圖像小分區(qū)處理函數(shù)

      GSfizRHJqA0HPd/++/RDL/jN16u+iDSj6UsxM2yrKfU=

      通過vScreenDetectGetRGB()函數(shù),獲取圖像小分區(qū)RGB數(shù)據(jù),通過LED驅(qū)動芯片將此RGB數(shù)據(jù)控制點亮對應(yīng)該子小分區(qū)的環(huán)境光LED燈。以下為vScreenDetectGetRGB()函數(shù)結(jié)構(gòu)的簡要說明。

      Unsigned int HiAmbilight::vScreenDetectGetRGB

      (HI_U32 u32Value_RGB[][3],HI_U32

      wAmbiLeftNum,HI_U32 wAmbiTopNum, HI_U32

      wAmbiRightNum, HI_U32 wAmbiBottomNum)

      {

      //定義相關(guān)變量

      //1.初始化變量u32ScreenLeft,u32ScreenTop,

      // u32ScreenRight,u32ScreenBottom;

      ......

      //2.定義設(shè)置每個圖像小分區(qū)起始和結(jié)束坐標,用于

      //采集圖像小分區(qū)RGB數(shù)據(jù)

      u32Temp1 = wAmbiLeftNum + wAmbiTopNum + wAmbiRightNum;

      u32Temp2 = wAmbiLeftNum + wAmbiTopNum + wAmbiRightNum + wAmbiBottomNum;

      //定義左邊區(qū)的每個圖像小分區(qū)起始和結(jié)束坐標

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

      {

      mX_Start[i] = 0;

      mY_Start[i] = u32ScreenLeft*i;

      mX_End[i] = 360;

      mY_End[i] = u32ScreenLeft*(i+1)-2;

      }

      //定義上邊區(qū)的每個圖像小分區(qū)起始和結(jié)束坐標

      for(j = wAmbiLeftNum; j < wAmbiLeftNum + wAmbiTopNum; j++)

      {

      ……

      }

      //定義右邊區(qū)的每個圖像小分區(qū)起始和結(jié)束坐標

      for(k = wAmbiLeftNum + wAmbiTopNum; k < u32Temp1; k++)

      {

      ……

      }

      //定義下邊區(qū)的每個圖像小分區(qū)起始和結(jié)束坐標

      for(m = u32Temp1; m < u32Temp2; m++)

      {

      ……

      }

      //3.采集圖像小分區(qū)RGB數(shù)據(jù)

      u32Temp3 = u32Temp2/8;

      for(i = 0; i < u32Temp3 + 1; i++)

      {

      if(8 + i*8 <= u32Temp2)

      u32Temp4 = 8 + i*8;

      else

      u32Temp4 = u32Temp2;

      //3.1 設(shè)置需要采集的圖像小分區(qū)

      for(j = 0 + 8*i; j < u32Temp4; j++)

      {

      m = j%8;

      stRegionAttr1[m].bEnable = HI_TRUE;

      stRegionAttr1[m].stRegionRect.s32X = mX_Start[j];

      stRegionAttr1[m].stRegionRect.s32Y = mY_Start[j];

      stRegionAttr1[m].stRegionRect.s32Width=mX_End[j]-mX_Start[j];

      stRegionAttr1[m].stRegionRect.s32Height=mY_End[j]-mY_Start[j];

      ret = HI_UNF_DISP_SetRegionAttr(HI_UNF_DISPLAY1,m, &stRegionAttr1[m]);

      }

      usleep(delay_RGB);

      //3.2 通過圖像算法,回傳該小分區(qū)一組RGB數(shù)據(jù)

      for(k = 0 + 8*i; k < u32Temp4; k++)

      {

      m = k%8;

      ret = HI_UNF_DISP_GetRegionAvgRgb(HI_UNF_DISPLAY1,m, &stRegionAvgRgb1);

      ui4ScreenRGBValue[k][0] = stRegionAvgRgb1.u32R;

      ui4ScreenRGBValue[k][1] = stRegionAvgRgb1.u32G;

      ui4ScreenRGBValue[k][2] = stRegionAvgRgb1.u32B;

      }

      usleep(delay_RGB);

      ......

      }

      return ret;

      }

      4 應(yīng)用效果

      在實際應(yīng)用中,在智能電視的周圍三邊設(shè)置環(huán)境光,將LED燈條部署在左邊區(qū)、上邊區(qū)和右邊區(qū)3個區(qū)域。使智能電視顯示屏的圖像顏色延伸顯示至電視背景墻,讓圖像更充分地擴展,產(chǎn)生更沉浸式體驗的視覺體驗,如圖7所示。

      5 結(jié) 論

      本文分析了智能電視機環(huán)境光顯示的特點,提出了解決液晶屏幕圖像通過LED燈條延伸實時同步顯示畫面顏色的問題。利用軟件算法實現(xiàn)了對液晶屏幕圖像的自動分割分區(qū),運用深度融合圖像算法,產(chǎn)出控制環(huán)境光輸出的圖像子小區(qū)塊RGB數(shù)據(jù)。采用基于SPI通信環(huán)境光控制技術(shù)方案,設(shè)計LED驅(qū)動芯片TLC5971串聯(lián)連接,控制對應(yīng)分區(qū)的LED燈條顯示,具有硬件電路設(shè)計簡易、方便數(shù)據(jù)控制的特點。由主控制器通過SPI通信將分區(qū)的圖像RGB數(shù)據(jù)傳送給TLC5971控制LED燈條顯示,解決實時畫面擴展延伸顯示畫面顏色的問題。此技術(shù)方案已經(jīng)應(yīng)用到實際工程項目中,取得了良好的效果,也為環(huán)境光設(shè)計提供了一個解決方案。

      參考文獻:

      [1] 劉沅玲,王金莉.基于頻率跟蹤的LED數(shù)控恒流驅(qū)動電源設(shè)計 [J].電子器件,2023,46(5):1406-1412.

      [2] 邵曉琦,徐海燕,侯一興,等.基于多通道增強融合的自適應(yīng)液晶屏圖像分割 [J].電子測量與儀器學(xué)報,2020,34(12):76-84.

      [3] 盛楊博嚴.基于SPI總線的Arduino顯示與控制模塊設(shè)計 [J].單片機與嵌入式系統(tǒng)應(yīng)用,2020,20(3):74-76+80.

      [4] 蔣國慶,顧軍.基于FPGA的LPC總線轉(zhuǎn)多路SPI總線設(shè)計 [J].電子質(zhì)量,2022(10):39-45.

      [5] 王少婭.基于FPGA的SPI IP核設(shè)計實現(xiàn) [D].秦皇島:燕山大學(xué),2023.

      [6] 楊梓鶴,彭秋雨,李湛藝,等.SPI接口仿真設(shè)計與實現(xiàn) [J].科技與創(chuàng)新,2022(19):121-123+126.

      [7] 任克強,王傳強.基于STM32F4的多通道串口驅(qū)動TFT液晶屏顯示系統(tǒng)設(shè)計 [J].液晶與顯示,2020,35(5):449-455.

      [8] 楊超普,方文卿,劉明寶,等.LED背光液晶屏的低色溫調(diào)節(jié)及光譜分析 [J].發(fā)光學(xué)報,2019,40(12):1531-1537.

      [9] 姜育生,梁妮,賀國旗.基于MDM9607平臺的SPI接口驅(qū)動解析及應(yīng)用 [J].現(xiàn)代信息科技,2023,7(2):149-152.

      [10] 張萌,陳水忠,徐愷,等.基于TEE的機載嵌入式數(shù)據(jù)安全技術(shù)研究 [J].電光與控制,2024,31(1):87-91.

      DOI:10.19850/j.cnki.2096-4706.2024.17.006

      作者簡介:葉林?。?974—),男,漢族,福建平和人,高級工程師,碩士,研究方向:嵌入式軟件系統(tǒng)、Android電視系統(tǒng)。

      收稿日期:2024-02-21

      Ambient Light Control Technology Based on SPI Bus

      YE Linjun

      (TPV Display Technology (Xiamen) Co., Ltd., Xiamen 361101, China)

      Abstract: In order to solve the problems of extending the display effect of the LCD image through the LED light bar and synchronizing the display of screen color of LED light bar in real time, an ambient light control technology scheme based on SPI bus is proposed. The software algorithm is used to automatically partition the LCD image, analyze the image data of the sub-block of the partition image, and a deep fusion image algorithm is used to produce RGB data that controls ambient light. The LED driver chip TLC5971 is cascading connection for controlling the LED bar display of the corresponding partition. The main controller transmits the RGB data of the partitioned image to TLC5971 through SPI bus to control the LED light bar to display the screen color in real time, so as to achieve the LCD screen extension.

      Keywords: SPI bus; LED; ambient light; image; embedded system; LCD

      蒙阴县| 云林县| 江源县| 文水县| 左云县| 杭锦旗| 山丹县| 天津市| 禄丰县| 永吉县| 巴中市| 宣威市| 花莲市| 黎平县| 罗江县| 军事| 凤翔县| 襄垣县| 乌恰县| 仙居县| 诸暨市| 加查县| 鹤岗市| 钟山县| 于田县| 嵊泗县| 长顺县| 兰坪| 石门县| 宾阳县| 邵阳县| 东方市| 怀来县| 洞头县| 徐州市| 石城县| 惠来县| 宁海县| 漯河市| 方城县| 桂阳县|