基于單片機及FPGA的舞臺吊桿控制器的設計
3 舞臺吊桿控制器的軟件設計
舞臺吊桿控制器的軟件主要包括:主程序、UDP數據的傳輸與解析程序、串口數據的發(fā)送程序、數據存儲程序等。
3.1 通信協(xié)議設計
在舞臺吊桿控制系統中,遠程控制端通過(guò)局域網(wǎng)采用UDP/IP協(xié)議給舞臺吊桿控制器發(fā)送命令并接收來(lái)自控制器的數據包。UDP/IP數據包的格式如下:
IP HEADER(20 Bytes) | UDP HEADER(8 Bytes) | UDP DATA(Variable Length) |
在使用該協(xié)議時(shí),命令信息和狀態(tài)數據都在UDP DATA數據區。為了完成控制目的,必須對這塊數據區的數據制定協(xié)議,協(xié)議格式如表1所示。
表1 協(xié)議格式
命令號 | 輔命令/錯誤號 | 上行方向位 | 下行方向位 | 功能號 | 位置數 |
1Byte | 1Byte | 2Byte | 2Byte | 8Byte | 4Byte |
3.2 主程序設計
主程序主要完成單片機和各個(gè)功能模塊的初始化、對各個(gè)功能模塊的調用以及對FPGA控制器的控制。由于篇幅關(guān)系,只給出主程序的流程圖,如圖5所示。
4 可靠性設計
4.1 電機慣性引起誤差的補償方法
在電機拖動(dòng)系統中,要考慮電機的慣性問(wèn)題以便及時(shí)進(jìn)行誤差補償。目前系統中,大都利用一次或二次函數來(lái)近似電機的慣性量。而本系統則采用在遠程控制端人工輸入補償系數Q的方法來(lái)實(shí)現誤差補償。這里的補償系數Q的測量可在排演時(shí)進(jìn)行。
系統工作時(shí),遠程控制端需設定路標要運行到的位置,即計數終值和誤差補償系數。當接收到補償系數測量命令時(shí),控制系統將開(kāi)始測量補償系數Q。這里假設輸入終止位置值為S1,實(shí)際終止位置值為S2,那么Q=(S2-S1)/S1×100%(由于慣性的緣大處著(zhù)眼,S2>S1)。接著(zhù)控制系統把這個(gè)誤差補償系數Q送回給遠程控制器,并且存入存儲器中。在吊桿實(shí)際運動(dòng)時(shí),控制系統都會(huì )對輸入值進(jìn)行誤差補償,即:實(shí)際運行終止值S=輸入值S1-輸入值S1×Q。用此方法得到的電機慣性量非常精確。
4.2 系統的抗干擾設計
為了保證舞臺吊桿控制器能夠長(cháng)期可靠地運行,系統在硬件和軟件兩方面采取了有效的抗干擾措施。其中硬件方面主要采取了3.3V電源和5V電源隔離(它們與電磁隔離)、“看門(mén)狗”等方法。通過(guò)電源隔能夠有效地防止電源電平不穩和其它電器對控制器的干擾,保證了系統的穩定性;通過(guò)“看門(mén)狗”能保證程序的正常運行,保證了系統的可靠性。軟件方面采取了軟件陷阱等方法。
行前研制的大規模舞臺控制系統使用8044單片機完成數據處理及計數功能,通過(guò)BitBusU總線(xiàn)完成通信功能。由于單片機的任務(wù)非常繁重,在實(shí)際應用中經(jīng)常出現脈沖丟失以及系統相應速度慢的問(wèn)題。而本設計采用了EDA技術(shù),將舞臺吊桿控制器用CYGNAL單片機和FPGA實(shí)現,并且UDP/IP協(xié)議實(shí)現局域網(wǎng)內的通信,解決了上述問(wèn)題。舞臺控制系統現場(chǎng)應用表明,該吊桿控制器性能完全達到了要求。
評論