任慧,彭康平
(1.中國傳媒大學信息與通信工程學院,北京100024;2.視聽技術與智能控制系統文化和旅游部重點實驗室,北京100024;3.現代演藝技術北京市重點實驗室,北京 100024)
隨著科技的不斷發展,舞臺燈光的控制要求也越來越高,目前市場上的舞臺LED調光器多采用ARM或單片機進行控制,ARM系列嵌入式控制器目前占據市場主流,其優點是性能高、成本低、能耗少。然而在舞臺LED調光器系統中也顯現出其不足之處,ARM的硬件PWM一般只有3~6路,無法滿足照明系統中大量的LED鏈路控制,通過軟件方法可以擴充PWM,卻也同時大大降低了控制器的速度處理性能,難以滿足數據高速傳輸的要求。本文采用了以FPGA為主控芯片研發舞臺LED調光系統。以FPGA為核心實現了手動調節和調光臺調光雙模式調光電路。通過實驗驗證,該調光系統性能穩定,方便快捷,能滿足舞臺LED燈光的亮度控制要求。
本系統由四個部分組成,手動調光模塊,上級調光臺調節模塊,控制和顯示模塊,恒流驅動電路模塊,如圖1所示。手動調光通過調節電位器獲得模擬電壓,并通過模數轉換將模擬信號轉換為調光數字信號[1]。上級調光臺通過DMX512協議發送數據,FPGA把接收到的數據進行處理顯示,并產生PWM信號,通過LED恒流驅動電路控制LED燈具的亮度變化。

圖1 系統整體硬件框圖
手動調光模塊框圖如圖2所示。LED調光系統的手動模式通過調節調節電位器來實現。調節電位器,FPGA進行數據的A/D采集轉換。將得到數據進行處理得到亮度信息。

圖2 手動調光模塊框圖
調光臺調光模塊框圖如圖3所示。這部分通過上級調光臺發送數據控制,調光臺通過RS485發送信號,FPGA判斷數據并接收,將數據轉換成亮度信息。

圖3 調光臺調光模塊框圖
控制和顯示模塊框圖如圖4所示。控制模塊通過鍵盤來實現,鍵盤不僅要控制調光模式的選擇,還要在調光臺調光模式下控制通道號的選擇。FPGA把接收到的數據通過數碼管顯示出來,顯示模式狀態,通道號和亮度信息。

圖4 控制和顯示模塊
本系統中的恒流驅動電路所用芯片為TI公司的LM3414[2],其電路如圖5所示。

圖5 恒流驅動電路設計圖
圖中各個元件要根據LED燈具的不同來設置不同的參數。
圖中的Vin(+)和 Vin(-)表示LED燈具和電路之間的兩個接口,LED不僅表示LED燈具,代表LED燈組。FPGA輸出的PWM信號通過DIM引腳接入驅動電路。
占空比:
(1)
VIN即輸入電壓Vin(+),VLED為LED燈組分得的電壓。輸入電壓要根據LED燈組的電壓來定,輸入電壓盡量比LED燈組電壓稍微大一點,不能超過太多。
在軟件代碼的實現過程中,要按照top to down的設計方法進行實現[3]。這種設計思路是先考慮系統的整體框架,并考慮好每個部件之間的互相聯系,設計好整體結構后再對各個分部件進行單獨設計。這種設計方法可以極大的減少設計階段中的很多重復性工作,提高工作效率。
手動模塊是通過A/D采集可調電阻電壓來實現的。
具體的實現步驟如圖6所示(圖中Y表示yes,N表示no):

圖6 A/D采集設計流程圖
CS是芯片的選通引腳,當CS為低電平時,芯片允許工作。根據串行數據的時鐘,先聲明本次采集的是哪個通道的數據,通道號由FPGA確定。A/D芯片接收到通道號后,將該通道的數據給到FPGA。每次采集到的數據都是12位數據,數據執行的是高位先行的原則。但亮度的調節只用到了8位,將所得12位數據進行截位處理,只取高8位數據,得到的8位數據就是亮度信息數據。
調光臺調光模快女主要是實現FPGA接收上級調光臺通過DMX512協議發送過來的數據。
接收DMX512協議數據,需要根據協議的時序來設計[4]。由DMX512的協議時序,得到了如圖7的設計流程:

圖7 DMX512協議接收器設計流程圖
DMX512每幀數據可以包含513個字段數據,其中第0個字段是特殊字段,不包含亮度信息。從第1個到第512個字段包含亮度信息。
在每幀數據的開頭都有一個不小于88us的復位,代表這一幀數據的開始,當復位后標記結束,FPGA檢測到下降沿時,開始接收字段0,接著字段1一直到字段512。每個字段包含11位數據,其中第0位是起始位,起始位要求必須為0;第1位到第8位是數據位,即亮度信息位;第9位和第10位是數據的停止位,要求停止位必須為1。每接收一個字段都要對它進行錯誤檢測,一旦發現停止位不是1時,應立馬放棄當前數據,并停止接收后面的數據。
本系統中采用的是鍵盤的操控方式,鍵盤采用矩陣鍵盤實現,小巧輕便。顯示部分采用七段數碼管實現,FPGA在處理完數據后,直接將數據送到數碼管顯示。其流程圖如圖8所示。

圖8 控制和顯示設計流程圖
當按下按鍵時要先識別按鍵,確認是哪個按鍵按下。通道號共支持512個通道的預設,最大不能超過512,超過即認定設置錯誤。模式選擇共有兩種模式,采用不同按鍵進行切換。
調光系統的兩種模式每次只能選擇一個,需要先進行進行模式的選擇。
具體的實現步驟如圖9所示:

圖9 數據選擇框圖
Data1和Data2分別表示手動模式的亮度數據和調光臺調光模式的亮度數據,num為0的時候選擇Data1,num為1的時候選擇Data2,如果輸入的num不為0也不為1,則data保持不變。

圖10 PWM信號輸出流程圖

占空比D為:
(2)
當占空比為0時,LED燈具不亮,占空比為1時,LED燈具達到最亮。
以cyclone IV 型號FPGA為核心,進行測試環境的搭建。將電位器接上5V電源,輸出端接到A/D采集轉換模塊,A/D采集轉換模塊選用ADC128S022芯片,A/D采集模塊將數據發送到FPGA。調光臺通過RS485將數據發送到FPGA。將矩陣鍵盤接入FPGA,數據在數碼管顯示。PWM輸出引腳連接恒流驅動電路。LED燈組連接恒流驅動電路。
如圖11到圖15是兩種調光模式下測得不同占空比PWM信號,分別輸出占空比為0%,25%,50%,75%,100%。兩種調光模式下測得輸出PWM占空比波形完全一致。

圖11 占空比0%波形

圖13 占空比:50%

圖14 占空比75%波形

圖15 占空比100%波形
實驗測試LED亮度調光結果如表1所示。

表1 兩種調光模式測試結果
本系統以強大的FPGA為核心,通過FPGA進行A/D采集轉換,接收調光臺的DMX512數據,實現了雙模式的燈光調節。系統支持通道的預設,使每個燈具的使用更加的方便,系統控制操作方便,顯示直觀。整個系統結構輕便,可靠性高,性能穩定,具有廣泛的應用前景。