專利名稱:一種余弦差分信號產生方法
技術領域:
本發(fā)明涉及一種余弦差分信號產生方法。
背景技術:
目前現(xiàn)有方法產生余弦信號采用模擬電路搭建,硬件電路復雜,而且要改變輸出波形參數(shù)時需要更改硬件電路,輸出波形受元器件參數(shù)影響,精度不高。
發(fā)明內容
針對現(xiàn)有技術中存在的問題,本發(fā)明的目的在于提供一種余弦差分信號產生方法的技術方案。所述的一種余弦差分信號產生方法,其特征在于利用DSP數(shù)字信號處理器通過C語言編程,計算反余弦;把定義域值[_1,1]分成10000等份,即在一個周期里可以輸出10000個控制脈沖,每一等份轉換為IQ值,根據分成的等份值計算反余弦值,反余弦實際對應的是角度;計算的IQ值轉換為浮點數(shù),然后計算出每等份對應的角度差,把每等份角度差值乘以系數(shù),再轉變?yōu)檎椭?,計算的值存為?shù)組DATA[10000],數(shù)組值作為CPU定時器計算的基準,在程序中,數(shù)組值保存在FLASH中,等待調用;數(shù)組的每個值,對應實際的脈沖寬度,最后通過DSP定時器定時中斷輸出,形成可控制電機位置的差分脈沖信號。所述的一種余弦差分信號產生方法,其特征在于所述DSP定時器定時中斷流程如下首先,Peix)i0_C0unter定時器值裝載到周期寄存器PRD,當脈沖允許輸出時,系統(tǒng)輸出脈沖,如果禁止,則不輸出脈沖,現(xiàn)場保護,然后中斷返回;脈沖輸出后對脈沖進行計數(shù),如果10000個脈沖輸出完,則Period_Times計數(shù)器復位,然后改變電機控制方向,Period_Times計數(shù)器繼續(xù)增加;如果脈沖沒有輸完,系統(tǒng)提取并計算新的Peroio_counter定時器值,Period_Times計數(shù)器繼續(xù)增加;最后進行現(xiàn)場保護,中斷返回。所述的一種余弦差分信號產生方法,其特征在于所述差分脈沖信號的參數(shù)通過按鍵設定,以形成不同頻率變化的控制信號;最后脈沖信號輸出到伺服驅動器,從而控制伺服電機按照位置控制運轉;控制流程為初始化DSP定時器I,初始化AD模擬電壓采樣單元,接著讀取AD值并進行數(shù)字濾波,檢測各個開關以及按鍵狀態(tài),如果檢測到開關NCl按下,系統(tǒng)復位脈沖輸出各變量,裝載定時器值,脈沖使能標志位置1,接著判斷顯示狀態(tài)標志位LCD_flashstate, IXD顯示當前參數(shù)狀態(tài);如果NCl沒有按下,脈沖使能標志位置0,程序讀取新的AD圈數(shù)值,然后判斷顯示狀態(tài)標志位LCD_f lashstate,IXD顯示當前參數(shù)狀態(tài),最后程序返回繼續(xù)讀取AD值,繼續(xù)循環(huán)。本發(fā)明采用高速信號處理器DSP,很好的解決了現(xiàn)有技術中采用模擬電路搭建硬件電路復雜的問題;另外,反余弦的基值采用數(shù)組方式保存,方便了運算,大大減少了 DSP運算時間,輸出波形精度高、穩(wěn)定、可靠性高。
圖1為本發(fā)明反余弦數(shù)組的建立流程圖2為本發(fā)明主程序流程圖3為本發(fā)明定時器中斷流程圖。
具體實施例方式下面結合說明書附圖對本發(fā)明做進一步說明
一種余弦差分信號產生方法,利用DSP數(shù)字信號處理器通過C語言編程,計算反余弦;把定義域值[-1,1]分成10000等份,即在一個周期里可以輸出10000個控制脈沖,每一等份轉換為IQ值,根據分成的等份值計算反余弦值,反余弦實際對應的是角度;計算的IQ值轉換為浮點數(shù),然后計算出每等份對應的角度差,把每等份角度差值乘以系數(shù),再轉變?yōu)檎椭担嬎愕闹荡鏋閿?shù)組DATA[10000],數(shù)組值作為CPU定時器計算的基準,在程序中,數(shù)組值保存在FLASH中,等待調用;數(shù)組的每個值,對應實際的脈沖寬度,最后通過DSP定時器定時中斷輸出,形成可控制電機位置的差分脈沖信號。DSP定時器定時中斷流程如下首先,Peroio_counter定時器值裝載到周期寄存器PRD,當脈沖允許輸出時,系統(tǒng)輸出脈沖,如果禁止,則不輸出脈沖,現(xiàn)場保護,然后中斷返回;脈沖輸出后對脈沖進行計數(shù),如果10000個脈沖輸出完,則PeriocLTimes計數(shù)器復位,然后改變電機控制方向,PeriocLTimes計數(shù)器繼續(xù)增加;如果脈沖沒有輸完,系統(tǒng)提取并計算新的Peroio_counter定時器值,Period_Times計數(shù)器繼續(xù)增加;最后進行現(xiàn)場保護,中斷返回。差分脈沖信號的參數(shù)通過按鍵設定,以形成不同頻率變化的控制信號;最后脈沖信號輸出到伺服驅動器,從而控制伺服電機按照位置控制運轉;控制流程為初始化DSP定時器I,初始化AD模擬電壓采樣單元,接著讀取AD值并進行數(shù)字濾波,檢測各個開關以及按鍵狀態(tài),如果檢測到開關NCl按下,系統(tǒng)復位脈沖輸出各變量,裝載定時器值,脈沖使能標志位置1,接著判斷顯示狀態(tài)標志位LCD_flashstate, IXD顯示當前參數(shù)狀態(tài);如果NCl沒有按下,脈沖使能標志位置0,程序讀取新的AD圈數(shù)值,然后判斷顯示狀態(tài)標志位LCD_flashstate, IXD顯示當前參數(shù)狀態(tài),最后程序返回繼續(xù)讀取AD值,繼續(xù)循環(huán)。本發(fā)明采用高速信號處理器DSP,很好的解決了現(xiàn)有技術中采用模擬電路搭建硬件電路復雜的問題;另外,反余弦的基值采用數(shù)組方式保存,方便了運算,大大減少了 DSP運算時間,輸出波形精度高、穩(wěn)定、可靠性高。
權利要求
1.一種余弦差分信號產生方法,其特征在于:利用DSP數(shù)字信號處理器通過C語言編程,計算反余弦;把定義域值[-1,1]分成10000等份,即在一個周期里可以輸出10000個控制脈沖,每一等份轉換為IQ值,根據分成的等份值計算反余弦值,反余弦實際對應的是角度;計算的IQ值轉換為浮點數(shù),然后計算出每等份對應的角度差,把每等份角度差值乘以系數(shù),再轉變?yōu)檎椭担嬎愕闹荡鏋閿?shù)組DATA[10000],數(shù)組值作為CPU定時器計算的基準,在程序中,數(shù)組值保存在FLASH中,等待調用;數(shù)組的每個值,對應實際的脈沖寬度,最后通過DSP定時器定時中斷輸出,形成可控制電機位置的差分脈沖信號。
2.根據權利要求1所述的一種余弦差分信號產生方法,其特征在于所述DSP定時器定時中斷流程如下:首先,Peroio_counter定時器值裝載到周期寄存器PRD,當脈沖允許輸出時,系統(tǒng)輸出脈沖,如果禁止,則不輸出脈沖,現(xiàn)場保護,然后中斷返回;脈沖輸出后對脈沖進行計數(shù),如果10000個脈沖輸出完,則Period_Times計數(shù)器復位,然后改變電機控制方向,Period_Times計數(shù)器繼續(xù)增加;如果脈沖沒有輸完,系統(tǒng)提取并計算新的Peroio_counter定時器值,Period_Times計數(shù)器繼續(xù)增加;最后進行現(xiàn)場保護,中斷返回。
3.根據權利要求1所述的一種余弦差分信號產生方法,其特征在于所述差分脈沖信號的參數(shù)通過按鍵設定,以形成不同頻率變化的控制信號;最后脈沖信號輸出到伺服驅動器,從而控制伺服電機按照位置控制運轉;控制流程為:初始化DSP定時器I,初始化AD模擬電壓采樣單元,接著讀取AD值并進行數(shù)字濾波,檢測各個開關以及按鍵狀態(tài),如果檢測到開關NCl按下,系統(tǒng)復位脈沖輸出各變量,裝載定時器值,脈沖使能標志位置1,接著判斷顯示狀態(tài)標志位LCD_flashstate,IXD顯示當前參數(shù)狀態(tài);如果NCl沒有按下,脈沖使能標志位置O,程序讀取新的AD圈數(shù)值,然后判斷顯示狀態(tài)標志位LCD_flashstate, IXD顯示當前參數(shù)狀態(tài),最后程序返回繼續(xù) 讀取AD值,繼續(xù)循環(huán)。
全文摘要
本發(fā)明涉及一種余弦差分信號產生方法。利用DSP數(shù)字信號處理器計算反余弦,把定義域值[-1,1]分成10000等份,即在一個周期里可以輸出10000個控制脈沖,每一等份轉換為IQ值,根據分成的等份值計算反余弦值,反余弦實際對應的是角度;計算的IQ值轉換為浮點數(shù),然后計算出每等份對應的角度差,把每等份角度差值乘以系數(shù),再轉變?yōu)檎椭担嬎愕闹荡鏋閿?shù)組DATA[10000],數(shù)組值作為CPU定時器計算的基準;數(shù)組的每個值,對應實際的脈沖寬度,最后通過DSP定時器定時中斷輸出,形成可控制電機位置的差分脈沖信號。本發(fā)明反余弦的基值采用數(shù)組方式保存,大大減少DSP運算時間,輸出波形精度高、穩(wěn)定、可靠性高。
文檔編號G05B19/042GK103078608SQ20121055804
公開日2013年5月1日 申請日期2012年12月20日 優(yōu)先權日2012年12月20日
發(fā)明者李曉軍 申請人:浙江聯(lián)宜電機股份有限公司