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

?

基于DMX512?A的LED視頻控制系統(tǒng)

2017-10-12 08:22陸偉國王宜懷劉輝
現(xiàn)代電子技術(shù) 2017年19期

陸偉國+王宜懷+劉輝

摘 要: 針對目前市場上ARM+FPGA的LED視頻控制系統(tǒng)開發(fā)成本高,控制復(fù)雜等問題,提出一種基于DMX512?A協(xié)議的單芯片LED視頻控制系統(tǒng)。系統(tǒng)采用分布式存儲技術(shù),使得控制器負載均衡,帶載MQX實時操作系統(tǒng)具有高并發(fā)性和實時性;采用多鏈表的內(nèi)存管理方式,并結(jié)合預(yù)取和緩存技術(shù)大大提高程序執(zhí)行效率;同時利用以太網(wǎng)實現(xiàn)LED視頻的遠程更新。本系統(tǒng)將圖像處理和信號產(chǎn)生相分離,減少各個控制器的負擔,成本低、控制靈活,適用于中小型戶外LED視頻播放。

關(guān)鍵詞: DMX512?A; LED視頻; MQX; 內(nèi)存管理; 遠程更新

中圖分類號: TN911?34; TP271 文獻標識碼: A 文章編號: 1004?373X(2017)19?0067?04

LED video control system based on DMX512?A

LU Weiguo1, WANG Yihuai1, LIU Hui2

(1. School of Computer Science and Technology, Soochow University, Suzhou 215006, China;

2. School of Nano Science and Technology, Suzhou Industrial Park Institute of Services Outsourcing, Suzhou 215000, China)

Abstract: Aiming at the issues such as high development cost and complex control of the current ARM+FPGA LED video control system in the market, a single?chip LED video control system based on DMX512?A protocol is proposed. The distributed storage technology is used in the system to achieve load balancing between controllers. With the MQX real?time operating system, the proposed system has high concurrency and real?time performance. The program execution efficiency was greatly improved by means of the memory management mode adopting multi?linked list, and in combination with prefetching and caching technologies. The remote update of the LED video is realized by using the Ethernet. The system separates the image processing from signal generation to reduce the burden for each controller. It has low cost and flexible controllability, and is suitable for small? and medium?sized outdoor LED video play.

Keywords: DMX512?A; LED video; MQX; memory management; remote update

0 引 言

隨著半導(dǎo)體產(chǎn)業(yè)的發(fā)展,LED以其亮度高,壽命長,價格便宜,節(jié)能環(huán)保的特點贏得了廣大市場。LED視頻處理器是針對全彩LED顯示屏推出的高性能圖像處理和控制設(shè)備,主要將圖像信號轉(zhuǎn)換成LED顯示屏所能接收的信號[1]。傳統(tǒng)LED視頻處理器大多是以圖像信號處理芯片或者ARM芯片輔以FPGA的多核處理器,該方案采用集中存儲方式,同步控制困難,且可移植性差、成本較高[2?3]。隨著近年來ARM芯片價格的下降以及性能的提升,越來越多的人直接使用ARM芯片來控制一些中小型的LED顯示屏。

因此,本文提出一種基于DMX512?A協(xié)議的單芯片LED視頻控制系統(tǒng),致力于研究DMX512信號的輸出,以太網(wǎng)數(shù)據(jù)的正確收發(fā)以及程序執(zhí)行效率的提升等內(nèi)容,最終實現(xiàn)LED視頻播放,遠程更新等功能。

1 DMX512?A協(xié)議簡介

DMX512協(xié)議是燈光行業(yè)數(shù)字化設(shè)備的一種通信傳輸協(xié)議,主要用于舞臺燈光、劇場等照明場合,其電氣特性與RS 485兼容,其協(xié)議時序如圖1所示。隨著智能樓宇的興起,DMX512協(xié)議開始應(yīng)用于人們的日常生活場所,LED視頻墻就是主要應(yīng)用之一。DMX信號一般采用差分信號傳輸,傳輸速率為250 Kb/s。DMX512?A協(xié)議是其擴展版本,在安全性和兼容性方面做出了較多修改[4?6]。

2 總體設(shè)計方案

本系統(tǒng)主要包括LED燈具、DMX控制器及服務(wù)器端幀聽程序三個部分,整個系統(tǒng)的總體框圖如圖2所示。幀聽程序會根據(jù)硬件布線情況將每幀視頻分割成多個塊,并生成指定格式的文件,通過TCP或者手動的方式分發(fā)到各個控制器的物理存儲設(shè)備??刂破鲗⑽募?nèi)容解析成DMX512信號,并按照通道號輸出至RS 485總線,由燈具內(nèi)部的解碼IC識別并控制RGB三色,實現(xiàn)256級亮度控制。

3 系統(tǒng)硬件設(shè)計

系統(tǒng)的硬件設(shè)計主要是DMX控制器的設(shè)計,其硬件實物如圖3所示。本文選用NXP公司的MK64FX512(K64)芯片作為處理器芯片。K64是Cortex M4內(nèi)核,主頻高達120 MHz;有512 KB的FLASH空間,128 KB的SRAM[7],足夠用來存取并處理大量的調(diào)光數(shù)據(jù)。DMX控制器是整個LED視頻控制系統(tǒng)的核心模塊,主要負責接收以太網(wǎng)命令,解析SD卡中的調(diào)光數(shù)據(jù),并通過串口模擬出DMX信號。

LCD觸摸屏選用陶晶馳公司的串口HMI(Human Machine Interface)LCD,通過串口和MCU進行通信,串口HMI相比其他液晶屏,界面的顯示都是設(shè)備內(nèi)部自己實現(xiàn),不占用MCU資源;用戶MCU只需要收發(fā)指令,不需要其他底層驅(qū)動。GPS選用微雪電子NEO?7M,其精度高、定位準確,可以用來控制兩棟大樓間的視頻同步。

4 系統(tǒng)軟件設(shè)計

4.1 DMX信號驅(qū)動設(shè)計

由前面的介紹可知,每個解碼IC只能控制一個像素點即RGB三色,因為每個解碼IC都有地址,只會接收符合自己地址范圍的數(shù)據(jù)?;贒MX512協(xié)議的每個解碼IC都會被預(yù)先分配一個惟一的起始地址,而步進地址就是指該解碼IC能同時對幾個字段的DMX信號產(chǎn)生控制動作。起始地址用于對DMX512信號進行尋址,當DMX512信息包的字段號與某解碼IC的起始地址相同時,解碼IC就開始接收該字段及其之后幾個字段的DMX512信號,并進行解碼,做出相應(yīng)的動作,具體是幾個字段由步進地址決定[8]。

由于DMX512協(xié)議的電氣特性與RS485兼容,因此可以通過串口的發(fā)送引腳功能在UART和GPIO之間切換,模擬出DMX512信號字段數(shù)據(jù)和break信號,具體可以參考圖1。該驅(qū)動主要包括DMX寫地址驅(qū)動和DMX寫數(shù)據(jù)驅(qū)動。

4.2 以太網(wǎng)通信

網(wǎng)絡(luò)通信技術(shù)憑借其傳輸速度塊、網(wǎng)絡(luò)配置簡單等特性,成為LED燈光控制行業(yè)的研究熱點[9]。本文基于以太網(wǎng)技術(shù),設(shè)計并實現(xiàn)了對LED視頻進行遠程更新和監(jiān)控。服務(wù)器端幀聽程序與DMX控制器之間的通信使用客戶端/服務(wù)器模式,以TCP/IP協(xié)議作為網(wǎng)絡(luò)通信協(xié)議。TCP協(xié)議采用socket套接字來完成客戶端與服務(wù)器的連接和數(shù)據(jù)交換,是一種面向連接、面向字節(jié)流的可靠的傳輸層通信協(xié)議。

4.2.1 數(shù)據(jù)處理流程

在DMX控制器與服務(wù)器建立TCP連接之后,就可以進行socket通信了。以太網(wǎng)通信處理流程如圖4所示。主要負責將視頻文件處理成控制器能識別的文件格式,為了盡可能減少DMX控制器解析文件的運算量,提高程序執(zhí)行效率,文件格式設(shè)計如表1所示。

整個表1分為上下兩部分。上半部分是文件級信息,其中,服務(wù)器端會生成多個文件對應(yīng)著多個控制器并且賦予一個編號,分別下發(fā)給各個控制器;時間間隔可以用來調(diào)節(jié)控制器播放視頻的幀率。調(diào)光數(shù)據(jù)被分成多個塊,由多個通道同時輸出,每個塊的具體格式如表1下半部分所示。

4.2.2 順序應(yīng)答機制

本文設(shè)計的是一個單服務(wù)器多客戶端的系統(tǒng),在網(wǎng)絡(luò)高負載下,面向TCP的連接也可能會出現(xiàn)沖突或丟包的現(xiàn)象。多次試驗表明,TCP發(fā)送過快的情況下會發(fā)生拼包問題而導(dǎo)致分發(fā)錯誤。為此,提出一種順序應(yīng)答機制避免丟包,其主要思想如下:每個控制器有一個編號,從[1~N]不等,在固定時間內(nèi)收到服務(wù)器發(fā)來的數(shù)據(jù)時,會對數(shù)據(jù)進行簡單的檢查,根據(jù)檢查結(jié)果,將控制器編號和接收成功與否的標志順序返回給服務(wù)器;若超出固定時間沒有收到數(shù)據(jù),此時應(yīng)答未收到該幀。所謂的順序返回就是根據(jù)控制器的編號來確定返回應(yīng)答幀的延時間隔,其中延時的單位即應(yīng)答幀從客戶端發(fā)送到服務(wù)器的時間,服務(wù)器在收到正確的應(yīng)答幀后才會進行下一包數(shù)據(jù)的發(fā)送。這種順序應(yīng)答的方式大大提高了以太網(wǎng)傳輸?shù)姆€(wěn)定性。

4.3 控制器程序設(shè)計

MQX實時操作系統(tǒng)是前飛思卡爾公司推出的一款免費開源的實時操作系統(tǒng)[10]。帶操作系統(tǒng)的MCU程序并發(fā)性高、實時性強,將一個復(fù)雜的應(yīng)用分成多個子任務(wù),使得開發(fā)難度大大降低。本控制器主要有3個任務(wù)并發(fā)執(zhí)行,其執(zhí)行流程如圖5所示。SDHC任務(wù)主要負責從SD卡讀取調(diào)光數(shù)據(jù)加入數(shù)據(jù)鏈表;而DMX512任務(wù)從數(shù)據(jù)鏈表中取出一個數(shù)據(jù)節(jié)點并按時間間隔輸出DMX512信號;ENET任務(wù)則負責接收服務(wù)器端幀聽程序下發(fā)的指令做出響應(yīng)。任務(wù)之間通過事件位機制和共享內(nèi)存鏈表來控制同步。事件位相當于信號量,通過類似P,V操作來實現(xiàn)。

4.4 分布式存儲

原處理方案的整個LED視頻文件由LED視頻處理器統(tǒng)一處理后分發(fā),對LED視頻處理器的硬件要求極高,且并發(fā)性較差。本文采用分布式存儲技術(shù),將視頻文件分割處理后存儲在各個控制器中,使其負載均衡。各個控制器之間僅需要很小的數(shù)據(jù)量就能實現(xiàn)同步,不會影響整體的執(zhí)行效率,并且一個控制器出現(xiàn)問題不會影響整個系統(tǒng),不但提高了系統(tǒng)的可靠性、并發(fā)性和存取效率,還易于擴展,容錯性好,突破了原有系統(tǒng)的瓶頸。

4.5 多鏈表內(nèi)存管理和緩存

內(nèi)存分配方式主要分為動態(tài)內(nèi)存分配和靜態(tài)內(nèi)存分配,而嵌入式系統(tǒng)中程序往往需要重復(fù)的執(zhí)行和調(diào)用,使用動態(tài)內(nèi)存分配的方式會造成內(nèi)存空間的浪費,導(dǎo)致程序崩潰;而且malloc函數(shù)執(zhí)行效率太低,不符合本設(shè)計的要求。為了提高程序的執(zhí)行效率,采用固定分配內(nèi)存方式,為每個DMX通道建立兩個內(nèi)存鏈表,分別是數(shù)據(jù)鏈表和空閑鏈表。信號輸出任務(wù)每次都從數(shù)據(jù)鏈表上取一個節(jié)點,使用完后歸還到空閑鏈表。SDHC任務(wù)每次從空閑鏈表取一個節(jié)點,填充完后添加到數(shù)據(jù)鏈表中。鏈表的節(jié)點個數(shù)根據(jù)實際情況調(diào)整,個數(shù)太多,申請的內(nèi)存空間不能被充分利用;個數(shù)太少,可能會導(dǎo)致任務(wù)被阻塞。這種“乒乓”緩存機制結(jié)合鏈表形式的內(nèi)存管理方式,操作靈活、控制方便,大大提高了程序的執(zhí)行效率。

5 系統(tǒng)測試

為了驗證方案的可行性,以一組64×40像素點的LED視頻墻為測試對象,由兩個DMX控制器同時控制。LED控制器上電啟動后執(zhí)行流程見圖5,各任務(wù)并發(fā)執(zhí)行,相互協(xié)調(diào)。LED視頻墻開始播放視頻如圖6所示。

編寫網(wǎng)頁程序,通知服務(wù)器端幀聽程序?qū)⒁曨l切片成幀,解析出其調(diào)光數(shù)據(jù),并通過以太網(wǎng)分發(fā)到DMX控制器網(wǎng)關(guān),等待更新SD卡完成后開始播放新視頻,服務(wù)器幀聽程序部分截圖如圖7所示,其中幀聽程序作為服務(wù)器等待DMX控制器連接成功后,開始下發(fā)數(shù)據(jù)。實驗表明本系統(tǒng)所控制的LED視頻播放流暢不卡頓,適用于中小型戶外LED視頻播放,符合設(shè)計目標。

6 結(jié) 語

本文提出的基于DMX512?A的LED視頻控制系統(tǒng),采用分布式存儲技術(shù),將一幀圖像分割成多個圖塊,由多個控制器分布存儲和控制,通過串口模擬輸出DMX信號,共同實現(xiàn)播放LED視頻;結(jié)合MQX實時操作系統(tǒng)和高效的內(nèi)存管理方式,系統(tǒng)具有高實時性和并發(fā)性;利用以太網(wǎng)為代表的網(wǎng)絡(luò)技術(shù)實現(xiàn)對LED視頻的遠程更新功能,使得本系統(tǒng)更加智能化,減少人員工作量,提高了系統(tǒng)的靈活性,相比ARM+FPGA的方案更加經(jīng)濟,操作簡單,具有一定的應(yīng)用價值和指導(dǎo)意義。

參考文獻

[1] 劉釗.LED視頻處理器的設(shè)計與研究[D].西安:西安電子科技大學(xué),2012.

[2] 陳加懷.基于FPGA的景觀照明控制系統(tǒng)的設(shè)計與實現(xiàn)[D].杭州:杭州電子科技大學(xué),2012.

[3] 王凱華.基于DMX512協(xié)議的景觀燈控制系統(tǒng)研發(fā)[D].蘇州:蘇州大學(xué),2013.

[4] 張冠華.WH/T 32—2008 DMX512?A燈光控制數(shù)據(jù)傳輸協(xié)議[J].演藝科技,2012(9):61?64.

[5] 姚暉.基于DMX+的LED舞臺燈控制系統(tǒng)的設(shè)計[D].杭州:浙江理工大學(xué),2011.

[6] 于明,朱萬彬,張歆東.基于DMX512協(xié)議的RGB激光電腦燈的設(shè)計[J].照明工程學(xué)報,2011,22(4):95?98.

[7] Freescale Semiconductor. Kinetis K64F sub?family data sheet [EB/OL]. [2015?08?06]. http://www.nxp.com/docs/pcn_attachments/16938_K64P144M120SF5.pdf.

[8] 韓振雷,齊立森.DMX512燈光控制協(xié)議的傳輸特性及應(yīng)用要點分析[J].燈與照明,2009,33(1):44?46.

[9] 李笳平,卜方玲,孟凡榮,等.sACN協(xié)議支持下的舞臺燈光控制網(wǎng)絡(luò)的研究[J].計算機工程與設(shè)計,2012,33(7):2596?2601.

[10] Freescale Semiconductor. Freescale MQXTM RTOS 4.1.0 [EB/OL]. [2014?05?01]. http://cache.freescale.com/files/soft_dev_tools/doc/support_info/MQXTWRK22128RRN.pdf.

大方县| 武汉市| 平阳县| 云安县| 博湖县| 云南省| 汉源县| 邻水| 淳安县| 建水县| 开原市| 上虞市| 高阳县| 张北县| 陈巴尔虎旗| 嵩明县| 昌宁县| 双流县| 合川市| 陆川县| 望奎县| 临夏市| 汝阳县| 合肥市| 天祝| 崇州市| 兴安盟| 同心县| 镇原县| 南乐县| 平潭县| 沁水县| 信丰县| 鄯善县| 许昌市| 桃园县| 文登市| 韩城市| 彰化县| 张掖市| 顺平县|