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

?

基于嵌入式Android的LED智能玻璃顯示設(shè)計(jì)

2021-03-02 13:38:46熊木地郭俞君
液晶與顯示 2021年2期
關(guān)鍵詞:顯示屏玻璃終端

熊木地, 郭俞君, 張 坤, 李 琎

(大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連 116026)

1 引 言

LED智能玻璃顯示屏是利用特殊工藝將單個(gè)LED點(diǎn)光源以陣列形式封裝在兩片玻璃中間,形成安全夾層結(jié)構(gòu)的LED平板發(fā)光玻璃產(chǎn)品,其具有很強(qiáng)的光線通透性,能滿足安裝場所的特別光線需求,很好地與周圍建筑環(huán)境相融合[1-3]。

國外有許多研究機(jī)構(gòu)和高校都開展了對LED智能玻璃的顯示研究工作,并取得了實(shí)質(zhì)性的成果,然而國內(nèi)對于LED智能玻璃顯示技術(shù)的研究還處于初步階段[4],沒有很完善的技術(shù)研究成果,主要還處于對LED智能玻璃顯示屏制作創(chuàng)新的研究階段,對于LED智能玻璃顯示控制系統(tǒng)的研究還比較少。

與傳統(tǒng)LED顯示屏相比,LED智能玻璃其內(nèi)部的LED點(diǎn)陣采用蛇形連接形式,在不同應(yīng)用場合下LED智能玻璃其內(nèi)部的LED點(diǎn)陣數(shù)量和排列方式不同,所以需要將視頻數(shù)據(jù)進(jìn)行重新排序后再發(fā)送至后續(xù)驅(qū)動電路驅(qū)動LED智能玻璃顯示屏顯示,大規(guī)格LED智能玻璃顯示通常采用多塊小規(guī)格顯示屏模塊拼接實(shí)現(xiàn)。

除此之外,當(dāng)前LED智能玻璃顯示控制系統(tǒng)大多不能滿足遠(yuǎn)程信息實(shí)時(shí)發(fā)布的需要,而且其顯示信息輸入大多通過DVI等數(shù)字通信接口與PC機(jī)連接,實(shí)時(shí)、點(diǎn)對點(diǎn)地顯示PC機(jī)顯示器顯示的內(nèi)容,這樣的方法需要外接一個(gè)PC機(jī),不夠便利,因此本文提出基于Android操作系統(tǒng)的LED智能玻璃顯示設(shè)計(jì)。

LED智能玻璃顯示屏與移動終端的結(jié)合,不僅實(shí)現(xiàn)了人與屏之間實(shí)時(shí)互動,大為拓展了LED智能玻璃顯示屏的應(yīng)用領(lǐng)域,而且系統(tǒng)的集成化也大量地節(jié)省了人力資源、財(cái)務(wù)支出、降低了社會的資源浪費(fèi),具有良好的收益前景[5]。

2 系統(tǒng)硬件架構(gòu)

2.1 CPU+FPGA雙核架構(gòu)

由于不同規(guī)格LED智能玻璃其內(nèi)部的LED點(diǎn)陣排列方式不同,所以需要將視頻數(shù)據(jù)進(jìn)行重新排序再發(fā)送至后續(xù)驅(qū)動電路[6]。系統(tǒng)硬件架構(gòu)圖如圖1所示,本系統(tǒng)主要包括帶有GPU (Graphics Processing Unit)的主控芯片RK3288、現(xiàn)場可編程門陣列(FPGA)數(shù)據(jù)處理單元以及驅(qū)動系統(tǒng)。

圖1 系統(tǒng)硬件架構(gòu)圖

RK3288主控芯片通過USB(Universal Serial Bus)接口完成對U盤中存儲的視頻數(shù)據(jù)和映射數(shù)據(jù)的讀取,并發(fā)送給FPGA[7]。FPGA數(shù)據(jù)處理單元將視頻數(shù)據(jù)緩存在外部存儲器SSRAM1中,將映射數(shù)據(jù)緩存在外部存儲器SSRAM2中,通過按地址遞增方式讀取SSRAM2的數(shù)據(jù)作為SSRAM1的地址讀取SSRAM1中的視頻數(shù)據(jù),即實(shí)現(xiàn)視頻數(shù)據(jù)的重新排序,然后對數(shù)據(jù)進(jìn)行并轉(zhuǎn)串處理傳送給驅(qū)動系統(tǒng)。驅(qū)動系統(tǒng)采用專用的驅(qū)動芯片,將數(shù)據(jù)串行移位和并行輸出,從而實(shí)現(xiàn)大規(guī)格LED智能玻璃的顯示。

RK3288主控芯片通過SDIO接口與Wifi模塊相連,實(shí)現(xiàn)LED智能玻璃顯示屏聯(lián)網(wǎng)。在主控芯片和用戶移動終端上分別安裝.apk,從而實(shí)現(xiàn)人與屏之間通信。

此外,為保證 Android 等操作系統(tǒng)和用戶軟件的流暢運(yùn)行,采用2 GB雙通道DDR3 的運(yùn)行內(nèi)存、16 GB 容量的高速eMMC 存儲器,OTG接口用于方便系統(tǒng)調(diào)試和程序下載。

2.2 RK3288與FPGA數(shù)據(jù)通信接口設(shè)計(jì)

RK3288與FPGA硬件連接圖如圖2所示,本系統(tǒng)中 RK3288主控芯片輸出控制信號以及數(shù)據(jù)與FPGA相應(yīng)的信號直接相連,實(shí)現(xiàn)數(shù)據(jù)通信。其中I_RGB[23:0]為視頻數(shù)據(jù)、I_DE、I_VSYNC、I_PCLK為視頻控制信號,I_ADDR[15:0]為映射地址數(shù)據(jù)、I_nWE、I_HCLK為映射數(shù)據(jù)發(fā)送控制信號。RK3288和FPGA之間通信是一種跨時(shí)鐘域通信,所以為使數(shù)據(jù)穩(wěn)定,需要添加FIFO或RAM,本系統(tǒng)選用FIFO,不需要關(guān)心讀寫地址,簡化了操作。

圖2 RK3288與FPGA硬件連接圖

3 系統(tǒng)軟件設(shè)計(jì)

3.1 嵌入式操作系統(tǒng)定制

Android系統(tǒng)是基于 Linux 內(nèi)核的操作系統(tǒng),由內(nèi)核、運(yùn)行庫、虛擬機(jī)等組成。其軟件開發(fā)主要包括 Bootloader 引導(dǎo)程序設(shè)計(jì),Linux 操作系統(tǒng)移植,根文件系統(tǒng)創(chuàng)建以及應(yīng)用程序開發(fā)等[8]。

本系統(tǒng)在Android系統(tǒng)源碼的基礎(chǔ)上增加LCD顯示驅(qū)動以及映射數(shù)據(jù)發(fā)送驅(qū)動,并在Android系統(tǒng)中編寫JNI方法實(shí)現(xiàn)Android應(yīng)用程序調(diào)用。

3.1.1 映射數(shù)據(jù)發(fā)送軟件設(shè)計(jì)

映射數(shù)據(jù)發(fā)送軟件架構(gòu)設(shè)計(jì)如圖3所示,主要包括映射數(shù)據(jù)發(fā)送驅(qū)動軟件設(shè)計(jì),以及通過NDK工具鏈將驅(qū)動封裝生成JNI接口供Android應(yīng)用程序調(diào)用。

圖3 映射數(shù)據(jù)發(fā)送軟件架構(gòu)設(shè)計(jì)

映射數(shù)據(jù)發(fā)送驅(qū)動軟件架構(gòu)設(shè)計(jì),本著“高內(nèi)聚、低耦合”原則,采用“總線-設(shè)備-驅(qū)動”模型構(gòu)建[9],設(shè)備和驅(qū)動向總線進(jìn)行注冊,總線負(fù)責(zé)把設(shè)備和對應(yīng)的驅(qū)動綁定起來。在早先Linux版本中,ARM 架構(gòu)的板級硬件細(xì)節(jié)大多被硬編碼在arch/arm/plat-xxx和arch/arm/mach-xxx,造成大量代碼冗余。而本系統(tǒng)中板級硬件信息描述使用dts(device tree)文件,dts文件描述了CPU、總線、設(shè)備連接信息,Bootloader會將dts文件描述的連接信息直接傳遞給內(nèi)核,然后內(nèi)核進(jìn)行識別并展開各個(gè)設(shè)備及設(shè)備用到的內(nèi)存等資源。采用設(shè)備樹后,許多硬件的細(xì)節(jié)可以直接透過它傳遞給Linux,而不再需要在Kernel中進(jìn)行大量的冗余編碼。

3.1.2 LCD顯示驅(qū)動設(shè)計(jì)

RK3288內(nèi)部集成的LCDC(Liquid Crystal Display Controller)內(nèi)部是分層的,有6層:background、win0、 win1、win2、win3、hwc(Hardware Cursor layer),每一次叫做win,每一層可以在屏幕上任意位置顯示支持范圍內(nèi)任意大小的圖像,并且各層可以通過alpha blending或者color key實(shí)現(xiàn)overlay 合成輸出。

在fb中,每一層win對應(yīng)一個(gè)fb標(biāo)準(zhǔn)的字符型設(shè)備,它們在Linux系統(tǒng)中對應(yīng)的設(shè)備節(jié)點(diǎn)為/dev/graphics/fbx,其中win和fb的對應(yīng)關(guān)系是可以通過程序設(shè)置的。

LCD顯示驅(qū)動設(shè)計(jì)采用幀緩沖(Frame buffer,fb)技術(shù),屏蔽底層硬件差異,為用戶提供mmap、ioctl等標(biāo)準(zhǔn)接口來操作LCD顯示設(shè)備[10]。通過調(diào)用mmap可將內(nèi)核中分配的fb地址映射到用戶空間,便于讀寫;通過調(diào)用ioctl可設(shè)置顯示器分辨率等設(shè)備屬性。

LCD顯示驅(qū)動架構(gòu)設(shè)計(jì)如圖4所示,主要包括fb框架相關(guān)部分以及與顯示設(shè)備硬件相關(guān)的 fb驅(qū)動層。

圖4 LCD顯示驅(qū)動架構(gòu)設(shè)計(jì)

fb框架相關(guān)部分主要包括fbmem.c、rkfb_sysfs.c等公用源文件,用于向上提供和用戶空間交互的接口;硬件設(shè)備驅(qū)動部分主要包括LCDC控制器相關(guān)的rk3288_lcdc.c代碼以及對屏幕進(jìn)行參數(shù)配置的相關(guān)代碼rk_screen.c,其通過probe函數(shù)獲取屏幕參數(shù),屏幕參數(shù)通過dts文件傳遞。

3.2 應(yīng)用軟件開發(fā)

本系統(tǒng)使用Socket網(wǎng)絡(luò)編程,采用C/S交互模式[11],實(shí)現(xiàn)LED智能玻璃顯示屏與移動終端的網(wǎng)絡(luò)通信。開發(fā)語言為 Java,開發(fā)工具采用Eclipse IDE[12]。LED智能玻璃顯示屏端的應(yīng)用程序主要包括獲取本地IP,等待移動終端的連接,之后根據(jù)移動終端發(fā)送過來的指令執(zhí)行不同的操作。

移動終端的應(yīng)用程序功能主要包括連接LED智能玻璃顯示屏端、獲取LED智能玻璃端視頻信息、映射信息,獲取和控制LED智能玻璃端視頻分辨率、播放進(jìn)度信息等。

4 設(shè)計(jì)實(shí)現(xiàn)

系統(tǒng)硬件實(shí)物圖如圖5所示,其中FPGA選用Xilinx公司Spartan-6系列的XC6SLX45T芯片,CPU選用可以搭載Android操作系統(tǒng)的 RK3288。RK3288將U盤中的視頻數(shù)據(jù)與映射數(shù)據(jù)讀取之后,通過專用GPIO引腳傳送給FPGA,F(xiàn)PGA進(jìn)行視頻數(shù)據(jù)處理后,通過光纖傳送給從控制器,從控制器通過網(wǎng)口將視頻數(shù)據(jù)傳送至驅(qū)動系統(tǒng),實(shí)現(xiàn)LED智能玻璃顯示屏顯示控制。

圖5 系統(tǒng)硬件實(shí)物圖

FPGA接收到的LED智能玻璃映射數(shù)據(jù)如圖6所示,wrclk、arm_up、ARM_CLK、ARM_EN為控制信號,din為ARM向FPGA傳送的映射數(shù)據(jù),wraddr為暫存映射數(shù)據(jù)SSRAM2的寫地址。

圖6 FPGA接收到的LED智能玻璃映射數(shù)據(jù)

移動終端應(yīng)用程序界面如圖7所示,主要包括IP地址連接,獲取設(shè)置視頻文件、映射數(shù)據(jù)文件以及設(shè)置視頻分辨率、獲取遠(yuǎn)端視頻進(jìn)度信息等。

圖7 移動終端應(yīng)用程序具體實(shí)現(xiàn)

圖8 LED智能玻璃顯示

LED智能玻璃顯示屏顯示如圖8所示,由專用驅(qū)動芯片LD1512構(gòu)成的驅(qū)動電路與FPC相連接,從而實(shí)現(xiàn)LED智能玻璃顯示屏的顯示,同時(shí)可以通過移動終端控制視頻播放。不同應(yīng)用場合下LED智能玻璃顯示屏大小、分辨率不同,此圖中為64×64分辨率的LED智能玻璃顯示屏。

5 結(jié) 論

將Android嵌入式技術(shù)和互聯(lián)網(wǎng)技術(shù)相結(jié)合,在Android系統(tǒng)源碼的基礎(chǔ)上增加LCD顯示驅(qū)動以及映射數(shù)據(jù)發(fā)送驅(qū)動,并在Android系統(tǒng)中編寫JNI方法供Android應(yīng)用程序調(diào)用。使用Java語言進(jìn)行Android系統(tǒng)應(yīng)用軟件開發(fā)。使用Socket網(wǎng)絡(luò)編程來實(shí)現(xiàn)LED智能玻璃顯示屏與移動終端的網(wǎng)絡(luò)通信,使得系統(tǒng)具有較好的易用性和可移植性,給產(chǎn)品應(yīng)用帶來了方便,提高了施工效率。

猜你喜歡
顯示屏玻璃終端
一塊布就是一個(gè)顯示屏?
軍事文摘(2022年10期)2022-06-15 02:29:30
X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
玻璃中的自然之美
玻璃是怎樣煉成的
蒼蠅迷戀顯示屏
多功能北斗船載終端的開發(fā)應(yīng)用
電子制作(2016年15期)2017-01-15 13:39:14
我不是玻璃熊
搖籃(2016年19期)2016-12-01 06:32:52
未來五年LED顯示屏出貨將保持16%增長
中國照明(2016年6期)2016-06-15 20:30:14
為什么沾水后的玻璃不宜分開?
潜江市| 河南省| 北海市| 石棉县| 如皋市| 灵台县| 丰都县| 锡林郭勒盟| 正镶白旗| 新营市| 鄄城县| 佛冈县| 临潭县| 繁峙县| 东阳市| 南安市| 鄄城县| 东安县| 莒南县| 余姚市| 巴彦淖尔市| 二连浩特市| 紫云| 安乡县| 嘉祥县| 阳原县| 赤水市| 定陶县| 商洛市| 开原市| 新田县| 云龙县| 阿克| 滕州市| 叶城县| 台安县| 谷城县| 韶关市| 雅江县| 垦利县| 秭归县|