專利名稱:一種多通道異步輸出波形的方法及系統的制作方法
技術領域:
本發明涉及波形輸出技術,更具體地說,涉及一種多通道異步輸出波形的方法及系統。
背景技術:
目前的波形輸出設備主要通過在每個輸出通道設置存儲單元,低速輸出存儲單元內所儲存數據對應的模擬量以形成波形,同時存儲單元通過發送中斷信號向上位機請求波形數據。目前普遍采用以下兩種方法來實現波形的輸出。一種是,多個D/A(Digital to Analog,數模轉換)輸出通道即模擬通道共享一個存儲單元輸出,同步輸出且每通道輸出波形相同。一種是,每個輸出通道都有各自的存儲單元,異步輸出不同的波形。在這兩種方法中,由于都需要產生中斷與上位機通信,而由于兩個中斷產生的間隔不能超出操作系統響應中斷的極限頻率,所以為了能夠保證功能的實現,每個設備的輸出通道數也很有限,且頻率較低,每個輸出通道的存儲單元也一般需要外擴較大存儲容量的SRAM等存儲芯片。同時該方法需要中斷參與響應,將占用較多系統資源。
發明內容
本發明要解決的技術問題在于,針對現有波形輸出方法的上述受存儲空間及成本限制以及需要中斷響應參與占用較多資源的缺陷,提供一種多通道異步輸出波形的方法及系統。本發明解決其技術問題所采用的技術方案是構造一種多通道異步輸出波形的方法及系統,為每個通道分配各自獨立的存儲單元,利用相對較小的存儲空間在輸出數據的同時將數據寫入存儲單元,使數據循環輸出以實現多通道異步輸出波形的目的。本發明提供了一種多通道異步輸出波形的方法,所述方法包括在每個需要輸出的模擬通道內執行以下操作Si、為每個模擬通道分配各自對應且獨立的存儲單元;S2、上位機將需要輸出的波形數據寫入該模擬通道的存儲單元內;S3、將存儲單元內的波形數據順序輸出到對應的數模轉換器,并將已輸出的波形數據寫回到存儲單元的空閑部分;S4、利用數模轉換器將波形數據轉換為電壓或電流模擬量輸出。在本發明所述的多通道異步輸出波形的方法中,所述上位機輸出的波形數據為至少一組數據,且所述一組波形數據的個數為小于等于其存儲單元最大存儲地址的個數。本發明還提供了一種多通道異步輸出波形的系統,包括用于輸出至少一組波形數據的上位機;至少一個用于存儲波形數據的存儲單元;還包括至少一個模擬輸出通道, 每個模擬輸出通道內設有數模轉換器,所述單個模擬輸出通道與數模轉換器對應單個存儲單元,所述上位機將需要輸出的波形數據寫入每個模擬通道的存儲單元內;所述存儲單元將波形數據順序輸出到對應的數模轉換器,并將已輸出的波形數據寫回到存儲單元的空閑部分;所述數模轉換器將存儲單元輸出的波形數據轉換為電壓或電流模擬量輸出。在本發明所述的多通道異步輸出波形的系統中,所述存儲單元采用可編程邏輯器件。實施本發明的多通道異步輸出波形的方法及系統,具有以下有益效果本發明在輸出波形時不需要產生中斷與上位機通信,減少了 CPU占用率,提高了輸出頻率,且存儲單元也各自獨立,輸出波形可任意設置保證了多通道高速異步波形的輸出;同時本發明不需要外擴大容量芯片,在可編程邏輯器件內部采用較小的空間就可以實現多通道異步波形的輸出。
下面將結合附圖及實施例對本發明作進一步說明,附圖中圖1是本發明優選實施例中多通道異步輸出波形的系統的示意圖;圖2是本發明優選實施例中輸出的各通道波形的示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。本發明提供了一種采用閉環輸出的多通道異步輸出波形的方法,包括在每個需要輸出的模擬通道內執行以下操作首先在步驟Sl中,為每個模擬通道分配各自對應且獨立的存儲單元。隨后在步驟S2中,上位機將需要輸出的波形數據寫入該模擬通道的存儲單元內。隨后在步驟S3中,將存儲單元內的波形數據順序輸出到對應的數模轉換器,并將已輸出的波形數據寫回到存儲單元的空閑部分。最后在步驟S4中,將波形數據轉換為電壓或電流模擬量輸出。該模擬通道的D/A 轉換器按照設定的頻率循環輸出上述波形數據對應的模擬量。上位機輸出的波形數據為至少一組,且單組波形數據個數為小于等于存儲單元最大存儲地址的個數。下面對本發明的原理進行具體說明。作為優選的實施例,本發明采用的可編程邏輯器件為FPGA器件,本發明考慮到FPGA器件的高度靈活性及內部包含的存儲空間,在用邏輯控制FPGA芯片內部存儲空間實現此方法,也就是循環輸出數據的方法。在FPGA芯片內部,給每個D/A輸出通道劃分各自獨立的存儲空間,在輸出數據之前,通過上位機將數據填寫到有輸出需求的存儲空間內,填寫的數據個數可任意,但不能超過所分配的空間大小。在輸出數據的同時,將輸出的數據寫入存儲空間現有的數據后面,使數據能夠循環讀取輸出連續的波形。其具體的實現過程如下所述。請參閱圖1,為本發明優選實施例中多通道異步輸出波形的系統的示意圖。如圖 1所示,本發明提供的多通道異步輸出波形的系統,包括用于輸出至少一組波形數據的上位機110、至少一個用于存儲波形數據的存儲單元、以及至少一個模擬通道(即D/A輸出通道 120_1至120_N)。且每個D/A輸出通道內設有D/A轉換器122_1至122_N。本發明為每個 D/A輸出通道分配有存儲單元121_1至121_N,分別與D/A轉換器122_1至122_N—一對應,用于存儲需要輸出的波形數據。首先,上位機110將需要輸出的波形數據寫入每個模擬通道的存儲單元內,隨后D/A轉換器122_1至122_N則按照設定的頻率循環輸出與之相連的存儲單元121_1至121_N內存儲的波形數據對應的模擬量。在該系統中,每個存儲單元 121_1至121_N將波形數據順序輸出到對應的D/A轉換器122_1至122_N,并將已輸出的波形數據部分寫回存儲單元121_1至121_N的空閑部分;而D/A轉換器122_1至122_N將存儲單元輸出的波形數據轉換為電壓或電流模擬量輸出。例如,當設備啟動后,上位機110將每個D/A輸出通道需要輸出的數據填寫到各自的存儲單元中。這里可以按照用戶需求,寫入任意數目待轉換的數據,這里假設為256字個數據(但不能超過分配的存儲單元大小,假設每個存儲單元大小為IK字)。若需要輸出模擬量時,將存儲單元121_1至121_N的數據按照用戶設定的頻率(假設為IOMHz速率)輸出到對應D/A轉換器122_1至122_N的數據端。經D/A轉換器122_1至122_N轉換后輸出對應的模擬信號。在將數據從存儲單元121_1至121_N輸出到D/A轉換器122_1至122_N 時,將輸出的數據寫回到存儲單元121_1至121_N的空閑部分,存儲單元121_1至121_N內部的寫指針會根據寫操作將數據依次寫在已有數據的后面。如此循環,不再需要下位機120 與上位機110通信,就可以異步輸出連續波形。請參閱圖2,為本發明優選實施例中輸出的各通道波形的示意圖,即D/A輸出通道 120_1、D/A輸出通道120_2、D/A輸出通道120_N_1及D/A輸出通道120_N。如圖所示,由于每個通道存儲的數據可以不相同,因此每個通道輸出的波形和頻率可以不同,且輸出頻率不會受到操作系統限制,實現了多通道高速異步波形的輸出。綜上所述,本發明采用閉環輸出的方式(即輸出數據的同時將數據寫入存儲單元,使數據循環輸出的方式),每個通道只要用較小的存儲空間,不需要中斷參與傳輸數據, 就可以實現每個D/A輸出通道高速、異步輸出連續波形的功能。本發明能夠應用在工業控制中的過程控制、信號發生及其它相應的工業自動化及開發與教學環境中,以及任何需要使用模擬量信號輸出的場合。本發明是根據特定實施例進行描述的,但本領域的技術人員應明白在不脫離本發明范圍時,可進行各種變化和等同替換。此外,為適應本發明技術的特定場合或材料,可對本發明進行諸多修改而不脫離其保護范圍。因此,本發明并不限于在此公開的特定實施例, 而包括所有落入到權利要求保護范圍的實施例。
權利要求
1.一種多通道異步輸出波形的方法,其特征在于,所述方法包括在每個需要輸出的模擬通道內執行以下操作51、為每個模擬通道分配各自對應且獨立的存儲單元;52、上位機將需要輸出的波形數據寫入該模擬通道的存儲單元內;53、將存儲單元內的波形數據順序輸出到對應的數模轉換器,并將已輸出的波形數據寫回到存儲單元的空閑部分;54、利用數模轉換器將波形數據轉換為電壓或電流模擬量輸出。
2.根據權利要求1所述的多通道異步輸出波形的方法,其特征在于,所述上位機輸出的波形數據為至少一組數據,且所述一組波形數據的個數為小于等于其存儲單元最大存儲地址的個數。
3.—種多通道異步輸出波形的系統,包括用于輸出至少一組波形數據的上位機;至少一個用于存儲波形數據的存儲單元;還包括至少一個模擬輸出通道,每個模擬輸出通道內設有數模轉換器,其特征在于,所述單個模擬輸出通道與數模轉換器對應單個存儲單元, 所述上位機將需要輸出的波形數據寫入每個模擬通道的存儲單元內;所述存儲單元將波形數據順序輸出到對應的數模轉換器,并將已輸出的波形數據寫回到存儲單元的空閑部分; 所述數模轉換器將存儲單元輸出的波形數據轉換為電壓或電流模擬量輸出。
4.根據權利要求3所述的多通道異步輸出波形的系統,其特征在于,所述存儲單元采用可編程邏輯器件。
全文摘要
本發明涉及一種多通道異步輸出波形的方法和系統,所述方法包括在每個需要輸出的模擬通道內執行以下操作S1、為每個模擬通道分配各自對應且獨立的存儲單元;S2、上位機將需要輸出的波形數據寫入該模擬通道的存儲單元內;S3、將存儲單元內的波形數據順序輸出到對應的數模轉換器,并將已輸出的波形數據寫回到存儲單元的空閑部分;S4、利用數模轉換器將波形數據轉換為電壓或電流模擬量輸出。本發明在輸出波形時不需要產生中斷與上位機通信,減少了CPU占用率,提高了輸出頻率,且存儲單元也各自獨立,輸出波形可任意設置;同時本發明不需要采用多片存儲芯片,在單片可編程邏輯器件內部即可完成,節約了成本且節省了PCB板空間,使該系統更加小型化。
文檔編號H03M1/66GK102201813SQ20101013500
公開日2011年9月28日 申請日期2010年3月24日 優先權日2010年3月24日
發明者陳志列, 齊寒波 申請人:研祥智能科技股份有限公司