專利名稱:遙控指令保護間隔精確定時方法
技術領域:
本發(fā)明涉及一種主要用于實現遙控指令保護間隔精確定時的方法。
背景技術:
目前,現有技術中用于遙控指令保護間隔的定時裝置,通常采用定時精度不高,定時不準確的監(jiān)控軟件定時,而采用可編程門陣列芯片(FPGA)及數字信號處理芯片(DSP)相結合的方式定時,定時精度可以達到50納秒,大大提高了定時精度。
發(fā)明內容
為了克服現有技術監(jiān)控軟件定時精度不高、定時不準確的問題,本發(fā)明提出一種定時準確可靠的遙控指令保護間隔的精確定時方法。本發(fā)明提出的一種遙控指令保護間隔精確定時的方法,具有如下技術特征(1)用可編程門陣列芯片(FPGA)編程生成發(fā)令窗信號(tcwindow),將初始化及無遙控指令發(fā)送時發(fā)令窗(tcwindow)輸出設為0,遙控指令正在發(fā)送時發(fā)令窗(tcwindow)的輸出設為1,并把上述tcwindow信號上報給數字信號處理芯片(DSP);(2)在數字信號處理芯片(DSP)中編程,初始化時遙控標志flag = 0,在DSP的中斷程序中根據FPGA上報的發(fā)令窗(tcwindow)信號得到標志flag的狀態(tài)Acwindow信號由“0”變?yōu)椤?”時,進入遙控發(fā)令程序,標志flag = 1 ;tcwindow信號由“1”變?yōu)椤?”時, 遙控發(fā)令完畢,進入定時程序,標志flag = 2 ;定時結束后,遙控空閑,標志flag為0 ;(3)數字信號處理芯片(DSP)收到遙控指令后,按先后順序緩存指令,然后在主程序循環(huán)中,判斷遙控狀態(tài),若遙控標志flag不為“0”,則跳過遙控發(fā)令程序執(zhí)行其它程序, 等待下次循環(huán)再查詢;若遙控標志flag為“0”,則發(fā)送當前遙控指令,遙控指令發(fā)送完畢, 進入DSP定時器時間保護間隔,保護間隔過后,設置flag = 0,進入遙控空閑狀態(tài),可以繼續(xù)發(fā)送遙控指令。本發(fā)明相比于現有技術具有如下有益效果(1)實現簡單,定時可靠。該精確定時技術不需要軟件參與控制,利用DSP和FPGA 相結合的方式,DSP判決FPGA上報的遙控發(fā)令窗,判斷遙控指令發(fā)送完畢后進入定時程序, 等待定時時間結束后,可以繼續(xù)發(fā)送緩存的遙控指令,有效解決了原來遙控指令保護間隔定時不夠準確的問題。(2)定時精度高。該精確定時技術中使用的數字信號處理芯片(DSP)的定時器中, 采用20MHz為時鐘來定時,定時精度達到50納秒,遠大于計算機的定時精度。
下面結合附圖對本發(fā)明進一步說明。圖1是本發(fā)明可編程門陣列芯片(FPGA)和數字信號處理芯片(DSP)的連接框圖。圖2是圖1的有力示意圖。
圖3本發(fā)明的控制流程框圖。
具體實施例方式參閱圖1、圖2。實施本發(fā)明方法的硬件設備,包括控制遙控發(fā)送命令的計算機、傳輸遙控指令的總線接口(CPCI)、以及通過CPCI串聯的可編程門陣列芯片(FPGA)和數字信號處理芯片(DSP),數字信號處理芯片(DSP)并聯接CPCI。參閱圖3。用可編程門陣列芯片(FPGA)編程,設置發(fā)令窗信號(tcwindow),初始化及無遙控指令發(fā)送時輸出為0,遙控指令正在發(fā)送時輸出為1,發(fā)令窗信號(tcwindow)上報給數字信號處理芯片(DSP);在數字信號處理芯片(DSP)中編程,初始化時定義遙控空閑, 即flag = 0,同時在DSP的中斷程序中接收FPGA上報的tcwindow信號的變化,tcwindow信號由“0”變?yōu)椤?”時,進入遙控發(fā)令程序,標志(flag = 1) ;tcwindow信號由“1”變?yōu)椤?” 時,遙控發(fā)令完畢,進入定時程序,標志(flag = 2),定時結束后,標志(flag = 0)遙控空閑。遙控指令到來時,先進入DSP存儲器中緩存,然后進入DSP主程序中循環(huán)程序,DSP在循環(huán)程序中,先判斷存儲器中是否有遙控指令,無遙控指令,則跳過遙控發(fā)令程序,有遙控指令,則查詢目前遙控的狀態(tài),若標志flag為“0”,則立刻發(fā)出當前遙控指令,否則等待下次循環(huán)再查詢,直至在循環(huán)中查詢到標志(flag = 0)再發(fā)出當前遙控指令??刂屏鞒倘缦鲁跏蓟删幊涕T陣列芯片(FPGA)及數字信號處理芯片(DSP), tcwindow = 0&flag = 0。計算機通過CPCI發(fā)送遙控指令,首先在DSP存儲器中緩存,當存儲器中有遙控指令時,判斷flag,若flag不為“0”,則該條指令不做處理,繼續(xù)緩存,執(zhí)行其他程序;若flag為“0”,該條遙控指令馬上發(fā)至FPGA,FPGA收到指令后馬上進行發(fā)令處理, 同時tcwindow信號一直上報給數字信號處理芯片(DSP),DSP在中斷程序中更新flag的值,中斷中判斷到flag = 1時,說明指令正在發(fā)送;當在中斷中判斷到flag = 2時,說明遙控指令發(fā)畢,進入DSP定時器,開始時間保護,保護時間過后,設置flag = 0,遙控空閑,可以執(zhí)行其他程序,然后在主程序中重新查詢。
權利要求
1.一種遙控指令保護間隔精確定時方法,具有如下技術特征(1)用可編程門陣列芯片(FPGA)編程生成發(fā)令窗信號(tcwindow),將初始化及無遙控指令發(fā)送tcwindow輸出設為0,遙控指令正在發(fā)送tcwindow的輸出設為1,并把上述 tcwindow信號通過中斷上報給數字信號處理芯片(DSP);(2)在數字信號處理芯片(DSP)中編程,定義遙控的三種狀態(tài)遙控空閑標志flag= 0,遙控發(fā)令標志flag = 1,遙控保護間隔標志flag = 2,初始化時標志(flag = 0);(3)在數字信號處理芯片(DSP)的中斷程序中設置判斷FPGA上報發(fā)令窗(tcwindow) 信號的子程序,若tcwindow信號由“0”變?yōu)椤?1 ”,則表示遙控正在發(fā)令,標志flag = 1 ;若 tcwindow信號由“1”變?yōu)椤?”,則表示遙控指令發(fā)送完畢,進入定時程序,標志flag = 2 ;定時結束后,標志flag = 0 遙控空閑。因為中斷程序的優(yōu)先級最高,所以遙控標志flag的狀態(tài)可以及時更新;G)DSP收到遙控指令后,按先后順序緩存指令,然后在主程序循環(huán)中判斷遙控標志 flag的狀態(tài),若標志flag = 0,則進入遙控發(fā)令程序,否則跳過遙控發(fā)令程序,繼續(xù)執(zhí)行其它操作直至循環(huán)結束,再重新循環(huán)判斷。
2.如權利要求1所述的遙控指令保護間隔精確定時的方法,其特征在于,初始化時定義遙控標志flag = 0,遙控指令到來時先進入DSP存儲器中緩存,然后進入DSP主程序中循環(huán)程序。
3.如權利要求2所述的遙控指令保護間隔精確定時的方法,其特征在于,DSP在循環(huán)程序中,先判斷存儲器中是否有遙控指令,無遙控指令,則跳過遙控發(fā)令程序;有遙控指令,則查詢目前遙控的狀態(tài),若當前狀態(tài)為遙控空閑,則立刻發(fā)出當前遙控指令,否則等待下次循環(huán)再查詢,直至在循環(huán)中查詢到遙控狀態(tài)為空閑再發(fā)出當前遙控指令。
4.如權利要求3所述的遙控指令保護間隔精確定時的方法,其特征在于,DSP在循環(huán)程序中,查詢到存儲器中有遙控指令后,判斷標志flag,若標志flag = 0,則遙控空閑,馬上發(fā)送當前遙控指令;若遙控標志flag = 1,則遙控指令正在發(fā)送;若遙控標志flag = 2,則遙控指令已經發(fā)送完畢,進入DSP定時器時間保護間隔,保護間隔過后,設置flag = 0,進入遙控空閑狀態(tài),可以繼續(xù)發(fā)送遙控指令。
全文摘要
本發(fā)明涉及一種遙控指令保護間隔精確定時方法,旨在提供一種實現遙控指令保護間隔精確定時的方法,定時準確可靠。本發(fā)明通過下述技術方案予以實現用可編程門陣列芯片(FPGA)編程生成發(fā)令窗信號(tcwindow),初始化及無遙控指令發(fā)送時發(fā)令窗信號(tcwindow)輸出設為0,遙控指令正在發(fā)送時發(fā)令窗信號輸出設為1,將tcwindow上報給數字信號處理芯片(DSP),在DSP中編程,在中斷程序中判斷tcwindow的狀態(tài),tcwindow由“1”跳變?yōu)椤?”時,判斷遙控指令發(fā)送完畢后進入定時程序,等待定時時間結束后可以繼續(xù)發(fā)送緩存的遙控指令。本發(fā)明利用數字信號處理芯片(DSP)和可編程門陣列芯片(FPGA)相結合的方式,有效解決了遙控指令保護間隔定時不夠精確的問題。
文檔編號G06F9/52GK102231123SQ20111013778
公開日2011年11月2日 申請日期2011年5月24日 優(yōu)先權日2011年5月24日
發(fā)明者郭靖, 陳玲 申請人:中國電子科技集團公司第十研究所