本發(fā)明涉及一種高速嵌入式實時伺服控制器及其硬件加速方法,屬于高速伺服控制器設計技術領域,可廣泛應用于高速氣壓、高速液壓伺服控制器以及常規(guī)伺服控制器的設計與應用。
背景技術:
伺服控制技術在氣壓驅動、液壓驅動、振動控制技術方面應用廣泛,其關鍵技術在于伺服控制器的設計,伺服控制器又以控制算法穩(wěn)定性及其執(zhí)行的實時性作為其性能優(yōu)劣的評價標準。通常伺服控制器采用集成式總線控制器,如pxi/pxi-e總線控制器,這類控制器基于儀器總線卡模式構建,借助rt操作系統(tǒng)以及fpga模塊可實現(xiàn)實時pid伺服控制,但這類系統(tǒng)需借助于pxi機箱、a/d采集卡、d/a轉換卡、fpga高速運算卡完成控制器設計,體積龐大,功耗高,編程復雜,而且僅適合于地面控制模式,其pid控制環(huán)的運行速度通道僅達到10khz~20khz;對于特殊場合如航空、航天器、導彈等系統(tǒng)的氣壓或液壓驅動伺服控制器,采用pxi總線卡模式設計控制器并不適合,只能采用嵌入式伺服控制器。嵌入式伺服控制器集成片上a/d、d/a、cpu、ram存儲器等資源,集成度高,功耗低,優(yōu)越性明顯。但是,常規(guī)嵌入式伺服控制器控制算法采用軟件編程實現(xiàn),利用cpu逐條取控制指令并執(zhí)行指令、頻繁響應a/d、d/a中斷,使得cpu執(zhí)行效率低下,pid控制環(huán)的執(zhí)行速度低下,大量研究表明,制約pid控制環(huán)的執(zhí)行速度高低的關鍵是算法中的算術運算,采用軟件編碼執(zhí)行的pid相關算術運算因cpu主頻不同,取指令、執(zhí)行指令的周期長,通常執(zhí)行一次運算耗費的時間達數(shù)百數(shù)千個時鐘周期,全系統(tǒng)控制頻率通常只能做到數(shù)百hz左右,尤其對于具有多個pid環(huán)、多路a/d、d/a的復雜高速實時伺服控制需求,實現(xiàn)難度較大。
技術實現(xiàn)要素:
本發(fā)明的目的就在于為了解決上述問題而提供一種高速嵌入式實時伺服控制器及其硬件加速方法,采用一種內嵌的全硬件執(zhí)行流程實現(xiàn)伺服控制算法中的所有算術運算,相對以往基于軟件編程實現(xiàn)的伺服控制算法,可顯著提高控制環(huán)的速度。
本發(fā)明通過以下技術方案來實現(xiàn)上述目的:
一種高速嵌入式實時伺服控制器,包括niosii軟核處理器、a/d采集芯片、d/a轉換芯片、flash存儲器、sdram存儲器、上位機接口組件、具有加減乘除四種運算功能的pid算法算術運算硬核處理器,所述a/d采集芯片連接有a/d采集控制邏輯電路,所述d/a轉換芯片連接有d/a轉換控制邏輯電路,所述flash存儲器連接有flash接口控制器,所述sdram存儲器連接有sdram控制器,所述niosii軟核處理器、所述pid算法算術運算硬核處理器、所述a/d采集控制邏輯電路、所述d/a轉換控制邏輯電路、所述flash接口控制器、所述sdram控制器和所述上位機接口組件均掛在avalon總線上。
作為本專利選擇的一種技術方案,所述pid算法算術運算硬核處理器為一個或多個。
作為本專利選擇的一種技術方案,所述pid算法算術運算硬核處理器包括整形數(shù)加法ip核、整形數(shù)減法ip核、整形數(shù)乘法ip核、整形數(shù)除法ip核、浮點數(shù)加法ip核、浮點數(shù)減法ip核、浮點數(shù)乘法ip核、浮點數(shù)除法ip核、與所述整形數(shù)加法ip核連接的整形數(shù)加法avalon總線接口單元、與所述整形數(shù)減法ip核連接的整形數(shù)減法avalon總線接口單元、與所述整形數(shù)乘法ip核連接的整形數(shù)乘法avalon總線接口單元、與所述整形數(shù)除法ip核連接的整形數(shù)除法avalon總線接口單元、與所述浮點數(shù)加法ip核連接的浮點數(shù)加法avalon總線接口單元、與所述浮點數(shù)減法ip核連接的浮點數(shù)減法avalon總線接口單元、與所述浮點數(shù)乘法ip核連接的浮點數(shù)乘法avalon總線接口單元、與所述浮點數(shù)除法ip核連接的浮點數(shù)除法avalon總線接口單元。
作為本專利選擇的一種技術方案,所述niosii軟核處理器的時鐘頻率為50mhz~150mhz。
作為本專利選擇的一種技術方案,所述a/d采集芯片為同步采集芯片或異步采集芯片,所述d/a轉換芯片為同步轉換芯片或異步轉換芯片。
作為本專利選擇的一種技術方案,所述a/d采集控制邏輯電路具備與avalon總線連接的avalon總線從屬設備接口和與a/d采集芯片連接的a/d轉換時序邏輯接口,所述d/a轉換控制邏輯電路具備與avalon總線連接的avalon總線從屬設備接口和與d/a轉換芯片連接的d/a轉換時序邏輯接口。
作為本專利選擇的一種技術方案,所述上位機接口組件為com串口通信組件、usb通信組件、lan通信組件、can總線通信組件中的一種。
作為本專利選擇的一種技術方案,所述niosii軟核處理器通過所述上位機接口組件實現(xiàn)與外部計算機的通信,實現(xiàn)pid控制參數(shù)以及控制過程數(shù)據(jù)的上下位機傳遞。
根據(jù)上述內容得到一種高速嵌入式實時伺服控制器的硬件加速方法:
利用niosii軟核處理器對伺服控制p、i、d參數(shù)按照計算機整型數(shù)和浮點數(shù)組織形式,采用地址整合方法得到二進制浮點數(shù)表現(xiàn)形式;
將過程返回參數(shù)和所得到二進制浮點數(shù)表現(xiàn)形式的伺服控制參數(shù)傳遞到外掛在avalon總線上的pid算法算術運算硬核處理器中,并執(zhí)行pid算法加、減、乘、除四則運算,其結果讀入到所述niosii軟核處理器中進行處理。
進一步地,在數(shù)據(jù)處理過程中利用flash存儲器存儲pid伺服控制程序,利用sdram存儲器存儲pid伺服控制過程數(shù)據(jù)。
本發(fā)明的有益效果在于:
本發(fā)明采用純硬件執(zhí)行所有pid算術運算,實現(xiàn)過程簡單,計算過程不需cpu參與,在10余個時鐘周期內便可完成加、減、乘、除運算,顯著提高運算的速度。
附圖說明
圖1是本發(fā)明的硬件結構示意框圖;
圖2是本發(fā)明所述算術運算硬核的結構示意框圖;
圖3是的pid算法的pid計算參數(shù)與計算結果的總線傳輸圖。
具體實施方式
下面結合附圖對本發(fā)明作進一步說明:
如圖1所示,本發(fā)明由alterafpga采用sopc構建片上嵌入式硬件系統(tǒng),硬件系統(tǒng)包括niosii軟核處理器、a/d采集芯片、d/a轉換芯片、flash存儲器、sdram存儲器、上位機接口組件、具有加減乘除四種運算功能的pid算法算術運算硬核處理器,a/d采集芯片連接有a/d采集控制邏輯電路,d/a轉換芯片連接有d/a轉換控制邏輯電路,flash存儲器連接有flash接口控制器,sdram存儲器連接有sdram控制器,niosii軟核處理器、pid算法算術運算硬核處理器、a/d采集控制邏輯電路、d/a轉換控制邏輯電路、flash接口控制器、sdram控制器和上位機接口組件均掛在avalon總線上,以實現(xiàn)pid控制算法的全硬件實現(xiàn),該結構適合于需要高速實時嵌入式伺服控制的場合。
如圖2所示,pid算法算術運算硬核處理器的算數(shù)運算滿足整型數(shù)加、減、乘、除四則運算,單精度、雙精度加、減、乘、除法四則運算,它包括整形數(shù)加法ip核、整形數(shù)減法ip核、整形數(shù)乘法ip核、整形數(shù)除法ip核、浮點數(shù)加法ip核、浮點數(shù)減法ip核、浮點數(shù)乘法ip核、浮點數(shù)除法ip核、與整形數(shù)加法ip核連接的整形數(shù)加法avalon總線接口單元、與整形數(shù)減法ip核連接的整形數(shù)減法avalon總線接口單元、與整形數(shù)乘法ip核連接的整形數(shù)乘法avalon總線接口單元、與整形數(shù)除法ip核連接的整形數(shù)除法avalon總線接口單元、與浮點數(shù)加法ip核連接的浮點數(shù)加法avalon總線接口單元、與浮點數(shù)減法ip核連接的浮點數(shù)減法avalon總線接口單元、與浮點數(shù)乘法ip核連接的浮點數(shù)乘法avalon總線接口單元、與浮點數(shù)除法ip核連接的浮點數(shù)除法avalon總線接口單元。
pid算法算術運算硬核處理器包含整型、浮點型四則運算功能,在功能實現(xiàn)方法上,采用了對整型、浮點型加、減、乘、除的ip核例化調用,并在ip核外部增加avalon總線讀寫接口信號進行ip核的二次封裝,封裝完成后形成獨立功能組件作為一個外設掛在avalon總線上,實現(xiàn)niosii軟核處理器作為主控設備通過avalon總線向封裝后的ip算術運算硬核傳遞伺服控制的過程運算變量并通過avalon總線直接獲取pid閉環(huán)控制的運算結果。
作為本專利選擇的一種技術方案,pid算法算術運算硬核處理器為一個或多個。根據(jù)伺服控制算法的不同任務需求,可由單片fpga包含多個niosii軟核處理器、多片a/d采集芯片和d/a轉換芯片、多個pid算法算術運算硬核處理器,組建多個pid實時控制通道。
作為本專利選擇的一種技術方案,niosii軟核處理器是通過fpgasopc工具生成的軟核,其時鐘頻率為50mhz~150mhz。
作為本專利選擇的一種技術方案,a/d采集芯片為同步采集芯片或異步采集芯片,d/a轉換芯片為同步轉換芯片或異步轉換芯片,具體采用哪種類別的芯片取決于伺服控制的具體需求。
作為本專利選擇的一種技術方案,a/d采集控制邏輯電路具備與avalon總線連接的avalon總線從屬設備接口和與a/d采集芯片連接的a/d轉換時序邏輯接口,d/a轉換控制邏輯電路具備與avalon總線連接的avalon總線從屬設備接口和與d/a轉換芯片連接的d/a轉換時序邏輯接口。a/d采集控制邏輯電路是采用verilog/vhdl硬件描述語言生成的硬核,該硬核根據(jù)伺服控制器選取的a/d采集芯片不同而進行不同的設計;d/a轉換控制邏輯電路是采用verilog/vhdl硬件描述語言生成的硬核,該硬核根據(jù)伺服控制器選取的d/a轉換芯片不同而進行不同的設計。
作為本專利選擇的一種技術方案,上位機接口組件為com串口通信組件、usb通信組件、lan通信組件、can總線通信組件中的一種,具體選用哪種取決于伺服控制器與外部計算機的通信需求。
作為本專利選擇的一種技術方案,niosii軟核處理器通過上位機接口組件實現(xiàn)與外部計算機的通信,實現(xiàn)pid控制參數(shù)以及控制過程數(shù)據(jù)的上下位機傳遞。
根據(jù)上述內容得到一種高速嵌入式實時伺服控制器的硬件加速方法:
1)利用niosii軟核處理器對伺服控制p、i、d參數(shù)按照計算機整型數(shù)和浮點數(shù)組織形式,采用地址整合方法得到二進制浮點數(shù)表現(xiàn)形式,在本發(fā)明中采用變量的地址與指針相結合的方法進行整型數(shù)、浮點數(shù)到二進制數(shù)據(jù)的轉換;
2)將過程返回參數(shù)和所得到二進制浮點數(shù)表現(xiàn)形式的伺服控制參數(shù)傳遞到外掛在avalon總線上的pid算法算術運算硬核處理器中,并執(zhí)行pid算法加、減、乘、除四則運算,其結果讀入到niosii軟核處理器中進行處理。
在步驟2)中,niosii軟核處理器是通過avalon總線將伺服控制器pid運算過程參數(shù)傳遞到pid算法算術運算硬核處理器中的整形數(shù)加法ip核、整形數(shù)減法ip核、整形數(shù)乘法ip核、整形數(shù)除法ip核、浮點數(shù)加法ip核、浮點數(shù)減法ip核、浮點數(shù)乘法ip核、浮點數(shù)除法ip核,各ip核將加、減、乘、除硬件運算的結果通過avalon總線回傳到niosii軟核cpu中。
在數(shù)據(jù)處理過程中利用flash存儲器存儲pid伺服控制程序,利用sdram存儲器存儲pid伺服控制過程數(shù)據(jù)。
整個高速嵌入式實時伺服控制器的硬件加速方法是通過nioside環(huán)境的開發(fā)平臺實現(xiàn),通過c語言表達,控制算法中的所有運算全采用純硬件ip調用實現(xiàn)。凡是pid算法所涉及的加、減、乘、除四則運算均利用iowr、iord讀寫指令傳遞給avalon總線上的pid算法算術運算硬核處理器執(zhí)行,pid算法程序的pid計算參數(shù)與計算結果的總線傳輸圖如圖3所示。
以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍內。