X25045在舞臺燈光換色器設計中的應用

發(fā)布時(shí)間:2010-11-3 13:02    發(fā)布者:eetech
關(guān)鍵詞: X25045 , 燈光 , 換色器 , 舞臺
舞臺燈光效果設計是舞臺場(chǎng)景設計的重要組成部分。目前國內使用的各種新型燈光設備,如換色器、調光器、電腦燈等大多是從國外進(jìn)口,國內幾乎沒(méi)有生產(chǎn)。為此,我們應國內某舞臺燈不設備廠(chǎng)的要求設計了一種以AT89C2051單片機為控制器的新型舞臺燈光換色器HSQ-1A。該換色器可變換8種色彩,換色精度高,工作可靠。使用時(shí),舞臺上所有的換色器和總控制臺根據RS-485協(xié)議連成總線(xiàn)網(wǎng)絡(luò );總控制臺作為主機通過(guò)總線(xiàn)發(fā)布命令,控制所有換色器的工作。以下介紹換色器的工作原理及設計方案。  

一、系統結構和工作原理  

換色器由一個(gè)中空的框架、兩根卷軸以及各色透光薄膜組成。制作時(shí),首先將不同顏色的透光膜連接成條幅,并在條幅的兩端安上卷軸。然后用卷軸將條幅卷起,以活動(dòng)的方式把卷軸安裝在框架的兩側。使用時(shí),把換色器放在白色光源前方,轉動(dòng)兩根卷切換不同顏色的透光膜,從而產(chǎn)生不同顏色的燈光效果。這種不換光源只換透光膜的換色方案,與更換不同顏色光源的方案相比,雖然換色速度較慢,但成本低,可靠性高。因此,換色器在換色頻度低的場(chǎng)合中應用很廣。  

在換色器的設計中,重點(diǎn)在于卷軸的驅動(dòng)和定位機構的設計。過(guò)去,采用的交流電機和光電碼盤(pán)實(shí)現方式,運行噪聲大、定位精度差,在實(shí)際使用中效果不理想,F在,在新?lián)Q色器中選用步進(jìn)電機作為驅動(dòng)和定位機構,徹底解決了以上問(wèn)題。換色器工作時(shí)運行平穩、噪聲小、定位精度高,完全達到了設計要求。



總控制臺與換色器之間的通信使用DMX512數據傳輸協(xié)議。DMX512協(xié)議是美國舞臺燈光協(xié)會(huì )(USITT)于1990年發(fā)布的一種燈光控制器與燈具設備進(jìn)行數據傳輸的標準。這包括電氣特性、數據協(xié)議、數據格式等各方面的內容。  

DMX512電氣特性與RS-485完全兼容,包括驅動(dòng)器/接收器的選擇、線(xiàn)路負載和多站配置等方面的要求都是一致的。  

DMX512數據協(xié)議規定使用250Kbps的波特率。在進(jìn)行正常數據傳輸之前,發(fā)送1個(gè)復位信號,聲明數據傳輸的開(kāi)始。隨后的第1幀數據稱(chēng)為起始代碼,其中包含設備類(lèi)型碼,以指明后續數據的接收設備的類(lèi)型。最后,按設備編號的順序給每個(gè)設備發(fā)送1幀數據,依次為:1#設備數據幀、2#設備數據幀,直至最后一個(gè)設備。設備總數最多可達512個(gè),數據幀間隔為高電平,最長(cháng)不超過(guò)1s。  

DMX512數據格式規定,1幀數據長(cháng)度為11位。按傳送順序說(shuō)明如下:  

第1位——起始位,低電平(SPACE);  
第2~9位——數據位,從最低位到最高位(LSB~MSB),正邏輯;  
第10、11位——停止位,高電平(MARK);  
奇偶校驗位——不傳送。  

二、硬件電路  

換色器硬件電路如圖1所示:  

ULN2003A是內含7個(gè)達林頓管的驅動(dòng)芯片,輸入電壓與TTL電平兼容。每個(gè)上達林頓管的集電極可吸收最大500mA的電流,耐壓30V,因此可以用來(lái)驅動(dòng)四相步進(jìn)電機。


  
74LS125三態(tài)門(mén)用于控制電機的工作方式。電機正常工作時(shí),74LS125處于導通狀態(tài),兩個(gè)電機可以同方向、同步轉動(dòng);電機復位時(shí),三態(tài)門(mén)阻斷,只有一個(gè)電機可以轉動(dòng)。  

MAX1487用于驅動(dòng)/接收RS-485信號。其接收器的輸入阻抗只有1/4個(gè)單位負載,最多可連接128個(gè)通信設備。另外,MAX1487的傳輸信號變化沿沒(méi)有限制斜率,所以最高數據傳輸可達2.5Mbps。  

三、X25045介紹  

在采用DMX512協(xié)議通信時(shí),換色器的編號用于從總控制臺發(fā)送的數據包中選擇發(fā)給本設備的數據幀。正常工作時(shí),編號數據不會(huì )掉電丟失,而且必要時(shí)編號還可修改。因此采用XICOR公司的串行E2PROM器件X25045對編號數據進(jìn)行存儲。  

X25045是帶有串行E2PROM的CPU監控器。圖2是它的引腳圖:  

CS/WDI:片選輸入/看門(mén)狗復位輸入;  
SO:串行輸出;  
WP:寫(xiě)保護輸入;  
Vss:地;  
Vcc:電源;  
RESET:復位輸出;  
SCK:同步時(shí)鐘輸入;  
SI:串行輸入。  

X25045的狀態(tài)寄存器描述器件的當前狀態(tài),各位意義如表1所列。

表1  

7
6
5
4
3
2
1
0

0
0
WD1
WD0
BL1
BL0
WEL
WIP

其中,WD1、WD0是看門(mén)狗定時(shí)時(shí)間設置位;BL1、BL0是存儲單元寫(xiě)保護區設置位;WEL是只讀標志,1表明寫(xiě)使能開(kāi)關(guān)打開(kāi);WIP也是只讀標志,1代表芯片內部正處于寫(xiě)周期。電復位時(shí),各位都被清零。  

X25045芯片功能包括以下4種:  

(1)上電復位控制。在對X25045通電時(shí),ERSET引腳輸出有效的復位信號,并保持至少200ms,使CPU有效復位。  
(2)電源電壓監控。當檢測到電源電壓低于內部門(mén)檻電壓VTRIP時(shí),RESET輸出復位信號,直至電源電壓高于VTRIP并保持至少200ms,復位信號才被撤消。VTRIP的出廠(chǎng)值根據芯片型號不同共有5個(gè)級別的電壓范圍。對于需要電源電壓精確監控的應用,用戶(hù)可以搭建編程電路,對芯片內VTRIP電壓進(jìn)行微調。  
(3)看門(mén)狗定時(shí)器。芯片內部狀態(tài)寄存器的WD1、WD0是看門(mén)狗定時(shí)設置位,通過(guò)狀態(tài)寄存器寫(xiě)指令WRSR修改這2個(gè)標志位,就能在3種定時(shí)間隔中進(jìn)行選擇或關(guān)閉定時(shí)器。對看門(mén)狗的復位由CS輸入電平的下降沿完成。表2是WD1、WD0組合的含義。  

表2  

WD1
WD0
看門(mén)狗定時(shí)值

0
0
1.4s

0
1
600ms

1
0
200ms

1
1
禁止看門(mén)狗工作

(4)串行E2PROM。芯片內含512字節存儲單元,10萬(wàn)次可靠寫(xiě),數據保持時(shí)間100年。XICOR設計了3種保護方式防止誤寫(xiě)。包括:WP寫(xiě)保護引腳,當引腳被拉低時(shí),內部存儲單元狀態(tài)寄存器都禁止寫(xiě)入;存儲區域寫(xiě)保護模式,通過(guò)對狀態(tài)寄存器的BL1、BL0位的設置,可以選擇對不同的存儲區域進(jìn)行寫(xiě)保護;在進(jìn)行任何寫(xiě)操作前都必須打開(kāi)寫(xiě)使能開(kāi)關(guān),而且在上電初始化寫(xiě)操作完成時(shí),寫(xiě)使能開(kāi)關(guān)自動(dòng)關(guān)閉。顯然,在幾方面的保護之下,產(chǎn)生誤寫(xiě)的可能性極小,表3是BL1、BL0組合的含義。

表3   

BL1
BL0
寫(xiě)保護的單元地址

0
0
沒(méi)有保護

0
1
180H~1FFH

1
0
100H~1FFH

1
1
000H~1FFH

對X25045的操作是通過(guò)4根口線(xiàn)CS、SCK、SI和SO進(jìn)行同步串行通信來(lái)完成的。SCK是外部輸入的同步時(shí)鐘信號。在對芯片定改指令或數據時(shí),時(shí)鐘前沿將SI引腳信號輸入;在讀郵數據時(shí),時(shí)鐘后沿將數據位輸出到SO引腳上。數據的輸入/輸出都是高位在先。  
芯片內部共有6條指令,如表4所列。

表4  

命令名稱(chēng)
命令格式
內  容

WREN
0000 0110
打開(kāi)寫(xiě)使能開(kāi)關(guān)

WRDI
0000 0100
關(guān)閉寫(xiě)使能開(kāi)關(guān)

RDSR
0000 0101
讀狀態(tài)寄存器

WRSR
0000 0001
寫(xiě)狀態(tài)寄存器

READ
0000 A8011
讀存儲單元

WRITE
0000 A8010
寫(xiě)存儲單元

(1)WREN和WRDI是寫(xiě)使能開(kāi)關(guān)的開(kāi)/關(guān)指令。它們都是單字節指令。  

(2)RDSR和WRSR是狀態(tài)寄存器的讀/寫(xiě)指令。在從SI輸入指令后,RDSR的執行結果,即狀態(tài)寄存器內容須從SO讀出;而WRSR需要緊接著(zhù)輸入修改數據。  

(3)READ和WEITE是存儲單元的讀/寫(xiě)指令。輸入指令后(指令碼第三代表存儲單元地址的最高位),接著(zhù)輸入低八位地址,最后就可以連續讀出或寫(xiě)入數據。其中,讀指針和寫(xiě)指針的工作方式完全不同,讀指針的全部8位用來(lái)計數,0FFH溢出后變成00H;寫(xiě)指針只用最低兩位計數,XXXXXX11B溢出后變成XXXX XX00B,所以連續寫(xiě)的實(shí)際結果是在4個(gè)單元中反復寫(xiě)入。另外,由于E2PROM的寫(xiě)入時(shí)間長(cháng),所以在連續兩條寫(xiě)指令之間應讀取WIP狀態(tài),只有內部寫(xiě)周期結束時(shí)才可輸入下一條寫(xiě)指令。  

AT89C2051內部沒(méi)有SPI接口硬件,因此本系統利用了單片機的4根口線(xiàn)和軟件模擬讀寫(xiě)時(shí)序的方式與X25045通信。軟件包在文末給出。
  
四、軟件原理  

系統程序包括主程序和串口通信斷服務(wù)程序。主程序首先從X25045中取出本設備編號備用,然后進(jìn)入循環(huán)。特環(huán)程序的主要任務(wù)包括:①檢測換色標志,當換色標志有效時(shí),則調用步進(jìn)電機驅動(dòng)程序控制轉抽,將換色器切換到新顏色;②幀間隔1s延時(shí),當時(shí)間到時(shí),中斷程序將復位串口接收程序;③定時(shí)復位X25045的看門(mén)狗。  

通信中斷服務(wù)程序用于檢測RS-485總線(xiàn)發(fā)送的復位信號和起始代碼。當兩者同時(shí)有效時(shí)開(kāi)始對后續接收的數據幀進(jìn)行幀計數。當計數值與設備編號相同時(shí),說(shuō)明當前幀是給本設備的數據,于是根據該數據設置換色標志,由主程序執行換色動(dòng)作。  

X25045的通信接口軟件:  

CS BIT P3.2  
SCK BIT P3.3  
SI BIT P3.4  
SO BIT P3.5  

(1)X25045數據寫(xiě)入程序  

功能:將緩沖區數據寫(xiě)入指定地址開(kāi)始的單元。  
入口:F0、R3是E2PROM單元地址最高位低八位;R0是緩沖區首地址;R2是緩沖區長(cháng)度。  
WRITEX:LCALL STAX ;指令啟動(dòng)  
MOV A,#06H ;輸出WREN  
LCALL BYTE_OUT  
LCALL STAX ;下一指令啟動(dòng)  
MOV A,#02H ;輸出WRITE  
MOV C,F0 ;插入單元地址最高位  
MOV ACC.3,C  
LCALL BYTE_OUT  
MOV A,R3 ;輸出單元地址低八位  
LCALL BYTE_OUT  
BYWR:MOV A,@R0 ;從緩沖區取數輸出  
LCALL BYTE_OUT  
INC R0 ;指針加1  
DJNZ R2,BYWR ;緩沖區未空則繼續輸出  
LCALL ENDX ;指令結束  
LCALL WIP_CHK ;等待WIP=0  
RET  

(2)X25045數據讀出程序  

功能:把指定地址開(kāi)始的單元數據讀出并放入緩沖區  
入口:與寫(xiě)入程序相同。  
READX:LCALL STAX  
MOV A,#03H ;輸出READ  
MOV C,F0  
MOV ACC.3,C  
LCALL BYTE_OUT  
MOV A,R3 ;輸出低八位地址  
LCALL BYTE_OUT  
BYRD:LCALL BYTE_IN ;輸入數據送入緩沖區  
MOV @R0,A  
INC R0 ;指針加1  
DJNZ R2,BYRD ;緩沖區未滿(mǎn)則繼續輸入  
LCALL ENDX  
RET  

(3)X25045狀態(tài)寄存器寫(xiě)入程序  

功能:對狀態(tài)寄存器進(jìn)行設置。  
入口:ACC是修改值。  
WRSR:LCALL STAX  
PUSH ACC  
MOV A,#06H ;輸出WREN  
LCALL BYTE_OUT  
LCALL STAX  
MOV A,#01H ;輸出WRSR  
LCALL BYTE_OUT  
POP ACC ;輸出設置值  
LCALL BYTE_OUT  
LCALL ENDX  
LCALL WIP_CHK ;等待WIP=0  
RET  

(4)X25045狀態(tài)寄存器讀出程序  

功能:讀出狀態(tài)寄存器當前值。  
出口:ACC是當前值。  
RDSR:LCALL STAX  
MOV A,#05H  
LCALL BYTE_OUT  
LCALL BYTE_IN  
LCAL ENDX  
RET  

(5)其他子程序  

WIP_CHK:LCALL RDSR ;等待X25045結束內部寫(xiě)周期  
JB ACC.0,WIP_CHK  
RET  
STAX:SETB CS ;啟動(dòng)X(jué)25045指令  
NOP ;先拉高CS,再拉你SCK,最后拉低CS  
CLR SCK  
NOP  
CLR CS  
NOP  
RET  
ENDX:CLR SCK ;結束X25045指令  
SETB CS ;先拉低SCK后拉高CS  
NOP  
NOP  
RET  
BYTE_OUT:MOV R4,#08H ;向X25045寫(xiě)入一字節數據  
BOUT1:CLR SCK  
RLC A  
MOV SI,C  
SETB SCK  
NOP  
NOP  
DJNZ R4,BOUT1  
RET  
BYTE_IN:MOV R4,#08H ;從X25045讀出一字節數據  
BIN1:CLR SCK  
MOV C,SO  
RLC A  
SETB SCK  
NOP  
NOP  
DJNZ R4,BIN1  
RET  
RST_DOG:SETB CS ;復位看門(mén)狗定時(shí)器  
NOP  
CLR CS  
NOP  
SETB CS  
RET
本文地址:http://selenalain.com/thread-36017-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页