《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于CYGNAL單片機和FPGA的舞臺吊桿控制器的設計

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

2008-09-23
作者:王金海, 張麗麗, 王華平, 孟

  摘 要: 介紹了舞臺吊桿控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)的體系結構,并對組成該系統(tǒng)的舞臺吊桿控制器進行了研究,,論述了其工作原理" title="工作原理">工作原理,提出了用CYGNAL單片機和FPGA設計該控制器的方法,。基于SOC的設計思想,,完成了該控制器的硬件和軟件兩方面的設計,,提出了控制系統(tǒng)中的位移測量方法,并對電機慣性引起的誤差提出了補償方法,;同時針對該系統(tǒng)采取了相應的抗干擾措施,,提高了系統(tǒng)的抗干擾能力,。實際應用證明,此控制器抗干擾能力強,,吊桿位置控制精確,,且安全可靠。
  關鍵詞: 舞臺吊桿控制器 FPGA 誤差補償" title="誤差補償">誤差補償 位置控制


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


  系統(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ù)通過串口" title="串口">串口送給現(xiàn)場LCD顯示器,。
2 舞臺吊桿控制器的硬件設計
  在整個控制系統(tǒng)中,,舞臺吊桿控制器是設計的關鍵,,它的功能有兩個:其一,接收與發(fā)送UDP數(shù)據(jù)包,,解析數(shù)據(jù)包并轉化成FPGA控制器能夠識別的格式,。其二,接收FPGA控制器送來的現(xiàn)場信息,。
2.1 舞臺吊桿控制器的硬件組成及工作原理
  舞臺吊桿控制器主要由C8051F020單片機,、FPGA控制器、LCD顯示器,、E2PROM存儲器,、RTL8019網(wǎng)卡芯片和JTAG程序下載及調試接口等組成。其硬件組成框圖如圖2所示,。


  工作原理如下: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控制器的設計,。
2.2 單片機控制系統(tǒng)
  單片機控制系統(tǒng)主要由C8051F020單片機組成,,主要完成數(shù)據(jù)的接收與處理。C8051F020的特點是運算速度快,、集成度高,、引腳可配置、工作穩(wěn)定和可靠性高[5],。它完全能夠滿足舞臺吊桿控制器對存儲器容量,、多種總線接口、處理速度和浮點運算等方面的要求,。
  C8051F020單片機有UART0和UART1兩個串口,,其中,串口UART0與LCD顯示器連接,,用于把舞臺吊桿運行時的位置數(shù)據(jù)送給LCD顯示器,。單片機利用它的SMBUS接口連接帶有I2C總線接口的E2PROM(FM24C64鐵片存儲器),把現(xiàn)場數(shù)據(jù)存入存儲器,,以備在掉電后重新上電時能夠讀出吊桿的當前位置,,連續(xù)控制吊桿的運動;同時利用它的普通I/O口與網(wǎng)卡芯片RTL8019和FPGA控制器相連,,實現(xiàn)數(shù)據(jù)的收發(fā),。
2.3 FPGA控制器的設計
  FPGA控制器是利用EDA方法實現(xiàn)的,,主要用于對從霍爾傳感器過來的脈沖進行計數(shù)并控制電機。由于吊桿運動過程中產生的脈沖頻率高,,F(xiàn)PGA控制器計數(shù)量大,,所以本設計選擇了高容量、高性能的可編程邏輯器件,,即ALTERA公司的FLEX 10K 系列FPGA,。
2.3.1 FPGA控制器的模塊劃分
  根據(jù)系統(tǒng)功能要求,F(xiàn)PGA控制器的頂層模塊被劃分為以下四個模塊:兩個5-32譯碼器,、八路與門模塊,、八路16位可逆并行計數(shù)模塊、電機控制模塊,,如圖3所示,。


  兩個5-32譯碼器模塊的功能是提供與單片機的接口,實現(xiàn)可編程接口邏輯,。八路計數(shù)模塊(COUNTER8_FILE_LAST模塊)包括八個單路計數(shù)模塊,、數(shù)據(jù)轉換模塊等,其功能是對霍爾傳感器過來的八路脈沖信號進行可逆計數(shù)并完成16位數(shù)據(jù)與8位數(shù)據(jù)之間的轉換,。由于C8051F020單片機的數(shù)據(jù)長度是8位,,而計數(shù)模塊完成的是16位計數(shù),所以必須進行數(shù)據(jù)位數(shù)的轉換,。
2.3.2 FPGA模塊的功能仿真
  FPGA控制器是用ALTERA公司的FLEX10K10芯片,,在MAX+PLUSII軟件中進行設計綜合的。根據(jù)上述的模塊劃分,,在MAX+PLUSII中的仿真波形圖如圖4所示,。


3 舞臺吊桿控制器的軟件設計
  舞臺吊桿控制器的軟件主要包括:主程序、UDP數(shù)據(jù)的傳輸與解析程序,、串口數(shù)據(jù)的發(fā)送程序,、數(shù)據(jù)存儲程序等。
3.1 通信協(xié)議設計
  在舞臺吊桿控制系統(tǒng)中,,遠程控制端通過局域網(wǎng)采用UDP/IP協(xié)議給舞臺吊桿控制器發(fā)送命令并接收來自控制器的數(shù)據(jù)包,。UDP/IP數(shù)據(jù)包的格式如下:

  
  在使用該協(xié)議時,,命令信息和狀態(tài)數(shù)據(jù)都在UDP DATA 數(shù)據(jù)區(qū),。為了完成控制目的,必須對這塊數(shù)據(jù)區(qū)的數(shù)據(jù)制定協(xié)議,,協(xié)議格式如表1所示,。


3.2 主程序設計
  主程序主要完成單片機和各個功能模塊的初始化、對各個功能模塊的調用以及對FPGA控制器的控制,。由于篇幅關系,,只給出主程序的流程圖,,如圖5所示。


4 可靠性設計
4.1 電機慣性引起誤差的補償方法
  在電機拖動系統(tǒng)中,,要考慮電機
的慣性問題以便及時進行誤差補償,。目前系統(tǒng)中,大都利用一次或二次函數(shù)來近似電機的慣性量,。而本系統(tǒng)則采用在遠程控制端人工輸入補償系數(shù)Q的方法來實現(xiàn)誤差補償,。這里的補償系數(shù)Q的測量可在排演時進行。
  系統(tǒng)工作時,,遠程控制端需設定吊桿要運行到的位置,,即計數(shù)終值和誤差補償系數(shù)。當接收到補償系數(shù)測量命令時,,控制系統(tǒng)將開始測量補償系數(shù)Q,。這里假設輸入終止位置值為S1,實際終止位置值為S2,那么Q=(S2-S1)/S1×100%(由于慣性的緣故,S2>S1),。接著控制系統(tǒng)把這個誤差補償系數(shù)Q送回給遠程控制端,,并且存入存儲器中。在吊桿實際運動時,,控制系統(tǒng)都會對輸入值進行誤差補償,即:實際運動終止值S=輸入值S1-輸入值S1×Q,。用此方法得到的電機慣性量非常精確。
4.2 系統(tǒng)的抗干擾設計
  為了保證舞臺吊桿控制器能夠長期可靠地運行,,系統(tǒng)在硬件和軟件兩方面采取了有效的抗干擾措施,。其中硬件方面主要采取了3.3V電源和5V電源隔離(它們與電源隔離)、“看門狗”等方法,。通過電源隔離能夠有效地防止電源電平不穩(wěn)和其它電器對控制器的干擾,,保證了系統(tǒng)的穩(wěn)定性;通過“看門狗”能保證程序的正常運行,,保證了系統(tǒng)的可靠性,。軟件方面采取了軟件陷阱等方法,。
  先前研制的大規(guī)模舞臺控制系統(tǒng)使用8044單片機完成數(shù)據(jù)處理及計數(shù)功能,,通過BitBus總線完成通信功能。由于單片機的任務非常繁重,,在實際應用中經常出現(xiàn)脈沖丟失以及系統(tǒng)相應速度慢的問題,。而本設計采用了EDA技術,,將舞臺吊桿控制器用CYGNAL單片機和FPGA實現(xiàn),并用UDP/IP協(xié)議實現(xiàn)局域網(wǎng)內的通信,,解決了上述問題,。舞臺控制系統(tǒng)現(xiàn)場應用表明,該吊桿控制器性能完全達到了要求。
參考文獻
1 陳若珠, 龔建新, 湯子龍. 舞臺吊桿微機群控系統(tǒng)的研制.甘肅工業(yè)大學學報[P],1996(22)
2 劉 巖,李鳳榮,王金海.高速可逆位置計數(shù)器的研究與FPGA實現(xiàn).天津工業(yè)大學學報[J],2003;22(2)
3 閻 石.數(shù)字電子技術基礎[M]. 北京:高等教育出版社,1998:32~433
4 趙俊超.集成電路設計VHDL教程[M].北京:北京希望電子出版社,2002.8
5 李 剛,,林 凌. 與8051兼容的高性能,、高速單片機-C8051Fxxx.北京:北京航天航空出版社,2002(5)

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。