<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

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

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

    一、系統結構和工作原理  

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

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



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

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

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

    DMX512數據格式規定,1幀數據長度為11位。按傳送順序說明如下:  

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

    二、硬件電路  

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

    ULN2003A是內含7個達林頓管的驅動芯片,輸入電壓與TTL電平兼容。每個上達林頓管的集電極可吸收最大500mA的電流,耐壓30V,因此可以用來驅動四相步進電機。


      
    74LS125三態門用于控制電機的工作方式。電機正常工作時,74LS125處于導通狀態,兩個電機可以同方向、同步轉動;電機復位時,三態門阻斷,只有一個電機可以轉動。  

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

    三、X25045介紹  

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

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

    CS/WDI:片選輸入/看門狗復位輸入;  
    SO:串行輸出;  
    WP:寫保護輸入;  
    Vss:地;  
    Vcc:電源;  
    RESET:復位輸出;  
    SCK:同步時鐘輸入;  
    SI:串行輸入。  

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

    表1  

    7
    6
    5
    4
    3
    2
    1
    0

    0
    0
    WD1
    WD0
    BL1
    BL0
    WEL
    WIP

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

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

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

    表2  

    WD1
    WD0
    看門狗定時值

    0
    0
    1.4s

    0
    1
    600ms

    1
    0
    200ms

    1
    1
    禁止看門狗工作

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

    表3   

    BL1
    BL0
    寫保護的單元地址

    0
    0
    沒有保護

    0
    1
    180H~1FFH

    1
    0
    100H~1FFH

    1
    1
    000H~1FFH

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

    表4  

    命令名稱
    命令格式
    內  容

    WREN
    0000 0110
    打開寫使能開關

    WRDI
    0000 0100
    關閉寫使能開關

    RDSR
    0000 0101
    讀狀態寄存器

    WRSR
    0000 0001
    寫狀態寄存器

    READ
    0000 A8011
    讀存儲單元

    WRITE
    0000 A8010
    寫存儲單元

    (1)WREN和WRDI是寫使能開關的開/關指令。它們都是單字節指令。  

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

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

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

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

    通信中斷服務程序用于檢測RS-485總線發送的復位信號和起始代碼。當兩者同時有效時開始對后續接收的數據幀進行幀計數。當計數值與設備編號相同時,說明當前幀是給本設備的數據,于是根據該數據設置換色標志,由主程序執行換色動作。  

    X25045的通信接口軟件:  

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

    (1)X25045數據寫入程序  

    功能:將緩沖區數據寫入指定地址開始的單元。  
    入口:F0、R3是E2PROM單元地址最高位低八位;R0是緩沖區首地址;R2是緩沖區長度。  
    WRITEX:LCALL STAX ;指令啟動  
    MOV A,#06H ;輸出WREN  
    LCALL BYTE_OUT  
    LCALL STAX ;下一指令啟動  
    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數據讀出程序  

    功能:把指定地址開始的單元數據讀出并放入緩沖區  
    入口:與寫入程序相同。  
    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 ;緩沖區未滿則繼續輸入  
    LCALL ENDX  
    RET  

    (3)X25045狀態寄存器寫入程序  

    功能:對狀態寄存器進行設置。  
    入口: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狀態寄存器讀出程序  

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

    (5)其他子程序  

    WIP_CHK:LCALL RDSR ;等待X25045結束內部寫周期  
    JB ACC.0,WIP_CHK  
    RET  
    STAX:SETB CS ;啟動X25045指令  
    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寫入一字節數據  
    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 ;復位看門狗定時器  
    NOP  
    CLR CS  
    NOP  
    SETB CS  
    RET
    本文地址:http://www.portaltwn.com/thread-36017-1-1.html     【打印本頁】

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

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷