<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機和FPGA的舞臺吊桿控制器的設計

          基于單片機和FPGA的舞臺吊桿控制器的設計

          作者: 時間:2011-12-13 來源:網(wǎng)絡 收藏

            在舞臺機械設備中,吊桿起著重要的傷腦筋。在大型的影劇院,一場演出往往需要調動大量的舞臺背景,有時要控制多達64路的吊桿同時動作。操作人員要在現(xiàn)場不斷變換舞臺背景,控制室人員要不斷地和現(xiàn)場人員進行協(xié)調,這給舞臺控制帶來了很大不便。對吊桿的集中控制、實時響應來自多路的請求及吊桿位置的精確定位是設計中要解決的三個關鍵問題。目前的舞臺控制系統(tǒng)大都通過采用光電編碼盤產(chǎn)生脈沖信號的方式來獲取吊桿的移動距離,并直接用進行計數(shù)和控制。這種方法在響應多路請求時,往往會因為任務繁重而造成計數(shù)脈沖丟失,引起測量誤差。綜上所述,本文提出了用CYGNAL設計的方法。

            1 舞臺吊桿控制系統(tǒng)的組成及工作原理

            舞臺吊桿控制系統(tǒng)主要由遠程控制端(PC機)、、現(xiàn)場設備、LCD顯示器等組成,如圖1所示。

          基于CYGNAL單片機和FPGA的舞臺吊桿控制器的設計

            系統(tǒng)采用分布式結構。遠程控制端作為管理機,負責管理和協(xié)調現(xiàn)場設備,通過局域網(wǎng)使用UDP/IP協(xié)議發(fā)送控制指令并采集現(xiàn)場數(shù)據(jù);作為終端,接收遠程控制端送來的指令,并根據(jù)接收到的控制命令控制現(xiàn)場設備動作,采集到現(xiàn)場數(shù)據(jù)后把數(shù)據(jù)以UDP格式打包送給遠程控制端,以便 遠程控制端實時進行現(xiàn)場監(jiān)控。同時為使現(xiàn)場能夠觀察到單個設備的運行情況。還把這些數(shù)據(jù)通過串口送給現(xiàn)場LCD顯示器。

            2 舞臺吊桿控制器的硬件設計

            在整個控制系統(tǒng)中,舞臺吊桿控制器是設計的關鍵,它的功能有兩個:其一,接收與發(fā)送UDP數(shù)據(jù)包,解析數(shù)據(jù)包并轉化成控制器能夠識別的格式。其二,接收控制器送來的現(xiàn)場信息。

            2.1 舞臺吊桿控制器的硬件組成及工作原理

            舞臺吊桿控制器主要由C8051F020單片機、FPGA控制器、LCD顯示器、E2PROM存儲器、RTL8019網(wǎng)卡芯片和JTAG程序下載及調度接口等組成。其硬件組成框圖如圖2所示。

          基于CYGNAL單片機和FPGA的舞臺吊桿控制器的設計

            工作原理如下:C8051F020單片機通過RTL8019網(wǎng)卡芯片接收遠程控制端送來的UDP格式的控制命令數(shù)據(jù)包,從該控制命令數(shù)據(jù)包解析出控制指令,傳輸給FPGA控制器。FPGA控制器根據(jù)控制指令控制現(xiàn)場設備動作,并且把相關的現(xiàn)場數(shù)據(jù)返回給單片機。單片機把這些現(xiàn)場數(shù)據(jù)存入E2PROM中作為備份數(shù)據(jù),同時送給LCD顯示器,并打成UDP數(shù)據(jù)包通過網(wǎng)卡芯片發(fā)送給遠程控制端。下面主要介紹單片機控制系統(tǒng)和FPGA控制器的設計。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();