基于CYGNAL單片機和FPGA的舞臺吊桿控制器的設計
2.2 單片機控制系統(tǒng)
單片機控制系統(tǒng)主要由C8051F020單片機組成,主要完成數據的接收與處理。C8051F020的特點是運算速度快、集成度高、引腳可配置、工作穩(wěn)定和可靠性高。它完全能夠滿足舞臺吊桿控制器對存儲器容量、多種總線接口、處理速度和浮點運算等方面的要求。
C8051F020單片機有UART0和UART1兩個串口,其中,串口UART0與LCD顯示器連接,用于把舞臺吊桿運行時的位置數據送給LCD顯示器。單片機利用它的SMBUS接口連接帶有I2C總線接口的E2PROM(FM24C64鐵片存儲器),把現場數據存入存儲器,以備在掉電后得新上電時能夠讀出吊桿的當前位置,連續(xù)控制吊桿的運動;同時利用它的普通I/O口與網卡芯片RTL8019和FPGA控制器相連,實現數據的收發(fā)。
FPGA控制器是利用EDA方法實現的,主要用 于對霍爾傳感器過來的脈沖進行計數并控制電機。由于吊桿運動過程中產生的脈沖頻率高,FPGA控制器計數量大,所以本設計選擇了高容量、高性能的可編程邏輯器件,即ALTERA公司的FLEX 10K系列FPGA。
2.3.1 FPGA控制器的模塊劃分
根據系統(tǒng)功能要墳,FPGA控制器的頂層模塊被劃分為以下四個模塊:兩個5-32譯碼器、八路與門模塊、八路16位可逆并行計數模塊、電機控制模塊,如圖3所示。
兩個5-32譯碼器模塊的功能是提供與單片機的接口,實現可編程接口邏輯。八路計數模塊(COUNTER8_FILE_LAST模塊)包括八個單路計數模塊、數據轉換模塊等,其功能是對霍爾傳感器過來的八路脈沖信號進行可逆計數并完成16位數據與8位數據之間的轉換。由于C8051F020單片機的數據長度是8位,而計數模塊完成的是16位墳數,所以必須進行數據位數的轉換。
2.3.2 FPGA模塊的功能仿真
FPGA控制器是用ALTERA公司的FLEX10K10芯片,在MAX+PLUSII軟件中進行設計綜合的。根據上述的模塊劃分,在MAX+PLUSII中的仿真波形圖如圖4所示。
3 舞臺吊桿控制器的軟件設計
舞臺吊桿控制器的軟件主要包括:主程序、UDP數據的傳輸與解析程序、串口數據的發(fā)送程序、數據存儲程序等。
3.1 通信協(xié)議設計
在舞臺吊桿控制系統(tǒng)中,遠程控制端通過局域網采用UDP/IP協(xié)議給舞臺吊桿控制器發(fā)送命令并接收來自控制器的數據包。UDP/IP數據包的格式如下:
在使用該協(xié)議時,命令信息和狀態(tài)數據都在UDP DATA數據區(qū)。為了完成控制目的,必須對這塊數據區(qū)的數據制定協(xié)議,協(xié)議格式如表1所示。
表1 協(xié)議格式
評論