哈思勁,何建新,李學華
(成都信息工程學院電子工程學院,四川成都610225)
現(xiàn)代社會制造業(yè)、加工業(yè)和機器人產(chǎn)業(yè)等高速發(fā)展,定位系統(tǒng)在其中扮演著重要的角色,隨著納米技術這一前沿科技的發(fā)展,高精度定位系統(tǒng)更是在精密機械加工、微外科手術和航天系統(tǒng)中的有著不可替代的作用。而現(xiàn)有的多通道定位控制系統(tǒng)或者是單機版,不具備組網(wǎng)能力,或者是具備RS232,USB或RS485接口,前兩者電纜連接距離有限,不能遠距離控制,后者傳輸速率有限,數(shù)據(jù)通信能力差。針對以上問題,設計了一個網(wǎng)絡式高精度定位控制系統(tǒng),精密定位控制使系統(tǒng)適用于軍工、科研等高要求場合,通過以太網(wǎng)組網(wǎng),實現(xiàn)中心計算機實時遠程控制定位平臺,能運用于大型復雜系統(tǒng)[1],并經(jīng)驗證達到設計要求。
如圖1所示,設計的核心處理器采用現(xiàn)場可編程門陣列(FPGA),連接W5300網(wǎng)絡模塊、A/D模數(shù)轉換模塊、D/A數(shù)模轉換模塊、雙端口RAM和可配置存儲器等,提供網(wǎng)絡模塊與計算機連接的RJ45接口、對定位平臺控制的輸出接口以及反饋量輸入接口。當中心計算機通過以太網(wǎng)輸入設定定位參數(shù)后,手動或自動啟動定位控制過程。系統(tǒng)由A/D模塊采集定位平臺反饋量,結合由網(wǎng)絡模塊獲取的定位參數(shù),F(xiàn)PGA硬件邏輯實現(xiàn)的PID控制器產(chǎn)生定位控制數(shù)字量輸出,D/A數(shù)模轉換模塊將該數(shù)字量轉化成系統(tǒng)最終輸出的模擬量輸出給定位平臺,控制平臺移動;此時,由于平臺位置發(fā)生改變,A/D模數(shù)轉換模塊采集到新的平臺位置反饋量,PID控制器也更新了定位控制輸出,如此形成一個閉環(huán)控制系統(tǒng),實現(xiàn)高精度定位控制。中心控制計算機可以通過W5300網(wǎng)絡模塊由以太網(wǎng)遠程配置位置控制參數(shù),并遠程采集位置數(shù)據(jù),方便對其控制過程進行分析[2]。同時,多臺該裝置可以通過以太網(wǎng)實現(xiàn)復雜定位系統(tǒng)的組網(wǎng)。
圖1 系統(tǒng)框圖
系統(tǒng)的中心處理單元采用altera公司的150萬門級的FPGA芯片EP2C35F484C8,其采用90nm工藝,1.2v內(nèi)核供電,內(nèi)嵌的NIOS II嵌入式處理器,外接雙端口RAM和可配置存儲器,集可編程控制邏輯和硬件CPU為一體,運用FPGA芯片+NIOS II的模式,能出色的協(xié)調好整個系統(tǒng)完成高精度定位控制。該FPGA硬件資源豐富,內(nèi)含35個嵌入式乘法器、484K比特的嵌入式存儲器以及33K邏輯單元,能夠高速、高效地對AD7634模數(shù)轉換模塊和AD5764數(shù)模轉換模塊實現(xiàn)時序控制,同時PID控制器也是由FPGA硬件資源實現(xiàn)的;NIOS II是altera公司推出的第二代嵌入式處理器,屬于32位RISC,設計簡單靈活,系統(tǒng)維護升級方便,設計中反饋量數(shù)據(jù)的采集、雙端口緩存和W5300網(wǎng)絡傳輸模塊等控制過程都由其實現(xiàn)。
W5300是一款0.18μm CMOS工藝的單芯片器件,內(nèi)部集成10/100M以太網(wǎng)控制器、MAC和TCP/IP協(xié)議棧,網(wǎng)絡傳輸速度可高達50Mbps,可以非常簡單而快捷地實現(xiàn)Internet連接。其主要由4部分組成:硬件TCP/IP核、微控器接口單元、發(fā)送/接收數(shù)據(jù)緩沖區(qū)和以太網(wǎng)物理層單元。設計中W5300采用TCP/IP協(xié)議,定位于服務器,通過OP_MODE引腳設置為全功能自動握手;使BIT16EN=1,設置其數(shù)據(jù)總線為16位。在SOPC為W5300掛載一個控制接口,通過片選信號CS、寫使能信號WR、讀使能信號RD、數(shù)據(jù)位DATA和地址位ADDR對W5300按照時序初始化以及服務程序的編寫;將主機接口模式指定為直接映射模式,即MR(IND)=0;根據(jù)實際網(wǎng)絡的基本信息,將IP地址、子網(wǎng)掩碼、網(wǎng)關和硬件地址準確設置,對應 COMMON寄存器中的 SIPR、SBUR、GAS和SHAR寄存器;訪問寄存器 TMSR0、RMSRO,設置SOCKET0內(nèi)部TX/RX存儲器大小分別為2K,W5300內(nèi)部RX/TX數(shù)據(jù)存儲器保持默認設置,即15~8存儲單元為RX存儲器,7~0存儲單元為RX存儲器;將中斷屏蔽寄存器IMR中S0-INT令為1,即打開SOCKET0的中斷;將SOCKET0中斷屏蔽寄存器S0-IMR(7~0)令為1,使發(fā)送完成中斷,接收數(shù)據(jù)中斷,斷開連接中斷和連接中斷能正常接收。設置Sn-MR,使網(wǎng)絡工作于TCP模式,網(wǎng)絡即可如流程圖圖2進行網(wǎng)絡通訊[3-6]。
圖2 服務器操作流程
PID控制是最早發(fā)展起來的控制策略之一,因為其魯棒性好、可靠性高及算法簡單,被廣泛應用于運動、過程等連續(xù)領域,特別是對于能建立精確模型的數(shù)學確定性系統(tǒng)。PID控制器主要由比例環(huán)節(jié),積分環(huán)節(jié),微分環(huán)節(jié)3部分組成。比例+積分(PI)控制器,可以使系統(tǒng)在進入穩(wěn)態(tài)后無穩(wěn)態(tài)誤差,比例+微分(PD)控制器能改善系統(tǒng)在調節(jié)過程中的動態(tài)特性[7]。其核心算法的規(guī)律如下:
式(1)是在連續(xù)系統(tǒng)的實現(xiàn),其中e(t)為輸入位置參數(shù)r(t)與反饋量輸入y(t)的差值,即系統(tǒng)偏差;u(t)是為控制器輸出,即被控對象的控制量;kp為比例系數(shù);Ti為積分時間常數(shù);Td為微分時間常數(shù)在數(shù)字系統(tǒng)運用時,將其離散化得到:
式(2)中有大量累加,會出現(xiàn)多項之前的數(shù)據(jù),造成大量計算,將其采用增量式優(yōu)化計算,得:
其結構如圖3所示,將輸入的預定值和反饋信號的差值進行比例、積分、微分的計算,然后相加,對被控對象進行控制,同時經(jīng)被控對象的輸出反饋給輸入進行差運算,得出誤差因子,再送給比例、積分、微分模塊,準備下一次的計算。
系統(tǒng)中,用FPGA實現(xiàn)該算法時,其參數(shù)由計算機通過網(wǎng)絡模塊配置,在QUARTUS II中使用原理圖和VHDL輸入,調用IP核中的乘法器和加法器,加上其并行處理的特點,使得PID算法運行十分高速,系統(tǒng)實時性強。增量式PID算法只有3個誤差數(shù)需要處理,占有資源下降,大大化簡計算,減少計算產(chǎn)生的時延。反饋量A/D采集和控制器的D/A輸出均采用高性能器件以及FPGA中實現(xiàn)PID算法中乘法舍位的控制保證了算法的高精度數(shù)據(jù)條件[8],PID控制算法中通過經(jīng)驗以及反復試湊達選擇最佳參數(shù),控制超調量、增加響應速度和減少穩(wěn)態(tài)誤差[9-12]。
圖3 PID結構框圖
高性能模數(shù)和數(shù)模轉換模塊對信號進行高質量的轉換,在高精度系統(tǒng)中起著至關重要的作用。設計中分別采用ADI公司的AD7634和AD5764作為信號轉換器件。AD7634模數(shù)轉換芯片是一款18位高精度、最高670kSPS、差分輸入的高性能芯片,輸入電壓可以是+5V~-5V或0~10V。AD7634的輸入雙端差分信號,需要將單端信號進行調理,經(jīng)過射隨器實現(xiàn)阻抗匹配和反向加法器輸出差分信號[13]。加入磁隔離電路隔離A/D采集單元和中心處理單元,模擬電路部分應該盡量靠近,模擬電路和數(shù)字電路應該隔離,抑制干擾。基準電壓源由ADI公司的ADR02提供5.0V精密基準電壓源。令AD7634芯片管腳MODE0=0,MODE1=1,使其輸出數(shù)據(jù)位為8位;令管腳WARP=IMPULSE=1,將其設置為速率為570kSPS的正常模式。信號下降沿啟動轉換,信號BUSY的下降沿表示數(shù)據(jù)轉換完成,此時表明AD7634開始向FPGA發(fā)送數(shù)據(jù),然后FPGA通過兩個地址線(A0、A1)控制AD7634將采集到的18位數(shù)據(jù)分3次發(fā)送到FPGA,當數(shù)據(jù)發(fā)送完畢,AD7634自動將BUSY信號拉高,從而完成一次18位數(shù)據(jù)的傳送[14]。
數(shù)模轉換芯片采用4通道、16位、串行輸入、雙極性電壓輸出型芯片AD5764,內(nèi)置輸出放大器,工作的時鐘頻率最高可到30MHz。輸出端需要加入調理電路,用射隨器實現(xiàn)阻抗匹配,用加法電路實現(xiàn)輸出電壓+5V~-5V或0~10V可選。和AD7634模塊一樣,AD5764模塊需要加入磁隔離電路隔離A/D采集單元和中心處理單元,模擬電路盡量靠近,模擬數(shù)字電路進行隔離?;鶞孰妷涸从葾DI公司的ADR02提供5.0V精密基準電壓源。由于其輸入移位寄存器有24位,所以當時鐘經(jīng)過24個時,SYNC必須拉高,使輸入移位寄存器更新,LDAC置為低電平來更新數(shù)據(jù)寄存器和輸出端[15]。
整個系統(tǒng)的功能是高精度定位控制,因此測試主要圍繞高精度進行。由于系統(tǒng)比較復雜,所以將其分模塊進行測試。
對AD7634模塊測試時,為了驗證模擬信號采集能得到正確的數(shù)字信號,模塊選用+5V~-5V檔位,用標準信號源產(chǎn)生一個正弦信號作為模擬信號的輸入,測試模塊的輸出管腳與FPGA相連,用Quartus II自帶的SingalTap嵌入式邏輯分析器觀察分析本模數(shù)轉換模塊的輸出。記錄的一次數(shù)據(jù)如圖5,可看出AD7634得到的數(shù)字結果與輸入的模擬信號幾乎一致,得到的數(shù)字量準確,且精度高,為高精度定位提供了可靠的數(shù)據(jù)。
圖4 AD7634模塊測試圖
對AD5764模塊測試時,為了驗證數(shù)字信號能正確的轉換為模擬信號,模塊選用+5V~-5V檔位,使用AD5764自帶的回讀模式,使FPGA輸出一個已知的、確定的數(shù)字量作為測試模塊的輸入,模塊將該輸入轉換輸出成直流電壓,然后將的AD5764模塊的SDO引腳將數(shù)據(jù)串行連接到FPGA,同樣用Signaltap嵌入式邏輯分析器觀察回讀模式的數(shù)據(jù),同時通過高精度的毫伏表來測量輸出直流信號值大小的變化。表1和表2為測試記錄的一組數(shù)據(jù),當輸入的數(shù)字量增加1輸出的模擬量增加0.0001多,準確度和精度都非常高,通過換算后,輸入和輸出完全對應,即模塊正常工作。
表1 AD5764模塊測試數(shù)據(jù)
表2 AD5764模塊測試數(shù)據(jù)
在PID控制模塊的測試中,為了驗證輸出能迅速穩(wěn)定到設定參數(shù),用Signaltap嵌入式邏輯分析器觀察分析輸入輸出數(shù)據(jù),如圖6,輸入sin是設定的一段連續(xù)快速變化的信號,輸出信號yout是被控對象的反饋信號。PID控制器經(jīng)過非常小一段時間的跟蹤,輸出信號yout馬上就定位到輸入設定值,基本無振蕩過程,數(shù)據(jù)反映出系統(tǒng)精度指標高,且反應速度快,測試通過,本模塊正常工作。
圖5 在PID控制模塊測試圖
網(wǎng)絡模塊最重要的是能正常、穩(wěn)定的傳輸數(shù)據(jù),經(jīng)過循環(huán)發(fā)送測試數(shù)據(jù),網(wǎng)絡模塊工作符合要求。
綜上所述,系統(tǒng)各模塊均測試通過,設計達到預期效果。
設計一種以ALTEAR公司FPGA芯片EP2C35F484C8為核心處理器,使用W5300模塊實現(xiàn)網(wǎng)絡通信,PID算法實現(xiàn)閉環(huán)反饋控制,配以高精度數(shù)模、模數(shù)轉換器件的系統(tǒng)。通過以太網(wǎng)能實現(xiàn)多平臺組網(wǎng),可以實現(xiàn)位置參數(shù)遠距離設置、位置數(shù)據(jù)遠距離獲取,解決了現(xiàn)有多通道定位控制裝置組網(wǎng)能力、遠程控制能力十分有限的問題,大大提高現(xiàn)場使用的靈活性和便利性,非常適合大型、復雜平臺的組網(wǎng)和遠距離定位控制,有較強的實際運用價值。
[1] 唐惠玲,劉學軍.基于以太網(wǎng)控制系統(tǒng)的實時性分析[J].鐵道通信信號,2004,40(8):13-14.
[2] 宋紹劍,朱慶華,林小峰.基于以太網(wǎng)的神經(jīng)網(wǎng)絡自適應PID控制系統(tǒng)[J].工業(yè)控制計算機,2004,17(7):64-65.
[3] High-performance Internet Connectivity Solution W5300 ,WIZnet Co.Inc[Z].2008.
[4] 張勇,甄國涌,王麗莉,等.基于W5300的以太網(wǎng)數(shù)據(jù)傳輸硬件設計及優(yōu)化[J].化工自動化及儀表,2011,38(8):989-991.
[5] 譚開洪.基于W5300的嵌入式以太網(wǎng)接口設計[J].中國西部科技,2010,9(9):49-50.
[6] 陳嫣然,張會新,鄭燕露.基于以太網(wǎng)的高精度測試系統(tǒng)設計[J].儀器儀表裝置,2012,(2):12-15.
[7] 李劍,劉渭苗,徐長安,等.模糊PID方法用于液壓比例閥的高精度定位控制[J].重型機械,2012,(1):14-16.
[8] 段彬,孫同景,李振華,等.快速浮定點PID控制器FPGA的研究與實現(xiàn)[J].計算機工程與應用,2009,45(36):202-206.
[9] 段嫦娥.變參數(shù)PID控制器的探討[J].重工與起重技術,2008,(4):18-20.
[10] 陳晉煒,周玉潔.數(shù)字PID控制器的FPGA實現(xiàn)及軟硬件協(xié)同仿真[J].信息技術,2005,(9):38-40.
[11] 陳昭明,白向林,龔曉宏.基于FPGA的數(shù)字PID控制器設計[J].重慶科技學院學報,2010,12(2):149-151.
[12] Ming-Tzu Ho,Chia-Yi Lin.PID controller design for robust performance[J].IEEE Transactions on Automatic Control,2003,48(8):1404-1409.
[13] 信美華,肖憲東,周洪軍,等.基于AD7634的多道脈沖幅度分析器設計[J].儀器儀表裝置,2013,(1):158-159.
[14] Analog Device Inc..AD7634:18-Bit,670 kSPS,Differential Programmable Input PulSARADC Data Sheet[Z].2013.
[15] Analog Device Inc..AD5764:Complete Quad,16-Bit,High Accuracy,Serial Input,Bipolar Voltage Output DAC Data Sheet[Z].2011.