專利名稱:可配置測量接口的制作方法
技術領域:
本發(fā)明涉及測量設備。
背景技術:
很多種測量設備可以被設置成彼此經由測量接口交互的單獨的子系統(tǒng)。例如,很多種測量設備、智能傳感器、數據獲取系統(tǒng)等等,都可以被設置成經由精確定義的測量接口來通信的前端子系統(tǒng)和后端子系統(tǒng)。如果測量接口提供了使得能夠對測量設備子系統(tǒng)進行相對獨立設計的和布置的結構和協(xié)議,那么可以認為該測量接口是精確定義的。
精確定義的測量接口的一個例子是IEEE 1451.2標準中所定義的一種。IEEE 1451.2標準提供了測量設備的前端子系統(tǒng)(STIM)和后端子系統(tǒng)(NCAP)之間的測量接口。IEEE 1451.2標準給出了這樣一種結構和協(xié)議,其使得STIM能夠使用傳感器電子數據表(TEDS)來向NCAP通知測量通道、測量單元以及速度和精度參數的設置。
IEEE 1451.2標準在STIM和NCAP之間提供了相對固定的職責分配。STIM的職責可以包括(例如經由傳感器)生成原始數據、(例如經由致動器)施加激勵、進行信號調節(jié)、采樣并保持以及緩沖功能、數模轉換等等。NCAP的職責可以包括將得自STIM的原始數據轉換成工程量、分析并轉換數據、檢測警告等等。
測量設備的前端和后端子系統(tǒng)之間相對固定的職責分配可能會限制設計者的這樣一種能力,即在不顯著增加測量設備前端子系統(tǒng)的復雜度的情況下向測量設備增加更精細的測量功能。不幸的是,測量設備前端子系統(tǒng)的復雜度的增加,可能增加測量設備的開發(fā)時間和總成本。
發(fā)明內容
公開了一種具有可配置測量接口的測量設備,該測量接口使得能夠在測量設備的前端和后端子系統(tǒng)中動態(tài)分配職責。根據本教導的可配置測量接口使得能夠設計這樣的測量設備,其在不需要增加測量設備的前端子系統(tǒng)的復雜度的情況下進行精細的測量。根據本教導的測量設備包括與物理環(huán)境進行交互的前端子系統(tǒng)、和具有支持前端子系統(tǒng)的一組資源的后端子系統(tǒng)。前端和后端子系統(tǒng)被耦合到測量接口。前端子系統(tǒng)通過測量接口向后端子系統(tǒng)傳送一組引導(bootstrap)信息,作為響應后端子系統(tǒng)配置所述資源來支持前端子系統(tǒng)。
從下面的詳細說明,可以清楚本發(fā)明的其他特征和優(yōu)點。
按照其具體示例實施例來描述本發(fā)明,相應地參考以下附圖圖1示出了結合本技術的測量設備;圖2示出了根據本教導配置測量設備中的測量接口的方法;圖3示出了根據本教導的測量設備的后端子系統(tǒng)的一個實施例;圖4示出了根據本發(fā)明的教導的測量設備的網絡,其中每個測量設備都具有可配置測量接口;圖5示出了根據本技術的測量設備,其檢測快速群發(fā)的事件并為每個事件生成和存儲高精度的時間戳;圖6示出了根據本技術的測量設備,其檢測不同類型的快速群發(fā)事件并為每個事件生成和存儲高精度的時間戳。
具體實施例方式
圖1示出了結合了本技術的測量設備10。測量設備10包括前端子系統(tǒng)12和后端子系統(tǒng)14。前端子系統(tǒng)12和后端子系統(tǒng)14經由測量接口18來互連。前端子系統(tǒng)12包括與物理環(huán)境進行交互的機構,而后端子系統(tǒng)14包括用于支持前端子系統(tǒng)12的一組資源16。前端子系統(tǒng)12通過經由測量接口18向后端子系統(tǒng)14傳送一組引導信息20,來動態(tài)地配置資源16的支持功能。
前端子系統(tǒng)12可以使用引導信息20,來使由后端子系統(tǒng)14中的資源16所執(zhí)行的功能適應在前端子系統(tǒng)12中所執(zhí)行的特定應用。有很多可以由資源16執(zhí)行并使用引導信息20來配置的功能的例子。
可以由資源16執(zhí)行的功能的一個例子是分配測量接口18中的接口線。例如,前端子系統(tǒng)12的不同實現可能需要不同的數據路徑(例如串行或8、16、32路并行)和/或不同的時序、信令要求等等。
可以由資源16執(zhí)行的功能的另一個例子是用于時間戳功能的信令協(xié)議。例如,如果測量應用需要用于在前端子系統(tǒng)12中檢測到或產生的若干事件的時間戳,那么資源16可以包括多個時間戳寄存器和相關聯的觸發(fā)信號。
可以由資源16執(zhí)行的功能的另一個例子是檢測由前端子系統(tǒng)12獲得的一組數據中的模式。例如,如果測量應用需要通過由前端子系統(tǒng)12所采樣的數據模式來檢測警告或條件或其他事件,那么資源16可以在采樣數據經由測量接口18被傳送到后端子系統(tǒng)14時,對其進行模式匹配。
可以由資源16執(zhí)行的功能的另一個例子是對由前端子系統(tǒng)12所獲得的數字數據進行的換算/轉換等等。
可以由資源16執(zhí)行的功能的其他例子包括通信功能、數據加密/解密功能、安全功能等等。
引導信息20可以包括一組編程數據。例如,資源16可以包括可編程邏輯設備,而引導信息20可以包括用于該可編程設備的編程數據,例如模式掩碼數據。在另一個例子中,資源16可以包括例如CPU的處理器或專用處理器,而引導信息20可以包括資源16中的處理器所執(zhí)行的代碼。
引導信息20可以包括使得后端子系統(tǒng)14能夠得到一組編程數據的標識。例如,引導信息20可以被用來標識前端子系統(tǒng)12,以使得后端子系統(tǒng)14可以從后端子系統(tǒng)14的持久性存儲器或者從后端子系統(tǒng)14可訪問的服務器中查詢編程數據,例如模式掩碼、代碼等等。
引導信息20可以包括校驗和,其使得后端子系統(tǒng)14能夠驗證存儲在后端子系統(tǒng)14中的一組編程數據是否是用于前端子系統(tǒng)12的正確編程數據。例如,后端子系統(tǒng)14可以將引導信息20中得自前端子系統(tǒng)12的校驗和,與對在其本地持久性存儲器(例如EPROM)中得到的編程數據所計算的校驗和進行比較。
引導信息20可以包括使得后端子系統(tǒng)14能夠生成一組編程數據的信息。例如,引導信息20可以包括一組布爾表達式,其使得后端子系統(tǒng)14能夠生成用于可編程邏輯設備的編程數據。在另一個例子中,引導信息20可以包括源代碼,后端子系統(tǒng)14將該源代碼編譯成要由處理器執(zhí)行的目標代碼。
前端子系統(tǒng)12中用于與物理環(huán)境進行交互的機構的例子有很多,包括傳感器、致動器、以及可以處理與傳感器和致動器有關的信息的控制器??梢栽谇岸俗酉到y(tǒng)12中采用的傳感器和致動器的例子多到不必提及。
圖2示出了根據本教導配置前端子系統(tǒng)12和后端子系統(tǒng)14之間的測量接口的方法。
在步驟100,在前端子系統(tǒng)12和后端子系統(tǒng)14之間的測量接口18中設置一組引導線和一組可分配線。測量接口18還可以包括用于前端子系統(tǒng)12的電源和地線。引導線的設置可以是例如包括時鐘、數據輸入、數據輸出的3條線,或者帶時鐘的2線半雙工,或者不帶時鐘的1線異步半雙工。
在步驟102,后端子系統(tǒng)14將測量接口18的可分配線置于高阻狀態(tài)。
在步驟104,前端子系統(tǒng)12將引導信息20經由測量接口18的引導線傳送到后端子系統(tǒng)14。舉幾個例子,引導信息20可以是用于一組可編程邏輯的一組布爾表達式和/或一組編程數據、用于處理器的一組源代碼和/或目標代碼、用于可編程存儲器的校驗和、或者與前端子系統(tǒng)12相關聯的唯一標識。
在步驟106,后端子系統(tǒng)14響應于來自前端子系統(tǒng)12的引導信息20,而初始化可編程環(huán)境來執(zhí)行合適的功能。步驟106可以包括初始化用于后端子系統(tǒng)14中處理器的中斷服務例程。步驟106可以包括初始化用于后端子系統(tǒng)14中處理器的實時線程。步驟106可以包括向后端子系統(tǒng)14中的一組可編程邏輯提供一組編程數據。步驟106可以包括將源代碼編譯成目標代碼,和/或將布爾表達式編譯成編程數據。步驟106可以包括從本地存儲器或從遠程服務器獲得代碼或數據。
在步驟108,后端子系統(tǒng)14將測量接口18的可分配線從高阻狀態(tài)釋放,并向前端子系統(tǒng)12傳送使前端子系統(tǒng)12啟動的信號??梢詫有盘柦浻蓽y量接口18的引導線傳送到前端子系統(tǒng)12。
圖3示出了根據本教導的測量設備10的后端子系統(tǒng)14的一個實施例。所示出的實施例中的后端子系統(tǒng)14中的資源16包括處理器40、FPGA 42、存儲器44、和線接口電路46。
測量接口18包括一組引導線30和一組可分配線32。線接口電路46將可分配線32置于高阻狀態(tài),并響應于來自處理器40的控制信號53而釋放高阻狀態(tài)。
處理器40經由引導線30從前端子系統(tǒng)12獲得引導信息20。處理器40包括根據上述方法步驟處理引導信息20的駐留代碼。
例如,如果引導信息20包括用于FPGA 42的一組編程數據,那么處理器40就使用控制信號52啟動FPGA 42,并將該編程數據饋送到FPGA42。處理器40可以將所獲得的編程數據存儲到例如持久性存儲器的存儲器44中,以不必在下一次啟動時從前端子系統(tǒng)12獲得編程數據。
如果引導信息20包括定義要在FPGA 42中執(zhí)行的所需功能的一組布爾表達式,那么處理器40就將布爾表達式編譯成編程數據,并且啟動FPGA 42并將該編程數據饋送到FPGA 42。處理器40可以將被編譯的編程數據存儲到存儲器44中,以不必在前端子系統(tǒng)12的下一次啟動時重新編譯編程數據。處理器40可以使用在遠程服務器上實現的編譯器來編譯從前端子系統(tǒng)12獲得的布爾表達式。
如果引導信息20包括用于FPGA 42的一組編程數據的校驗和,那么處理器40就對已經存儲在存儲器44中的一組編程數據計算校驗和。如果校驗和匹配,則處理器40啟動FPGA 42并將編程數據饋送到FPGA 42。如果校驗和不匹配,則處理器40經由引導線30向前端子系統(tǒng)12發(fā)送消息,以使前端子系統(tǒng)12向后端子系統(tǒng)14發(fā)送合適的編程數據或布爾表達式。
如果引導信息20包括用于前端子系統(tǒng)12的唯一標識,那么處理器40可以在已經存儲在存儲器44中的一組或多組編程數據中,搜索用于FPGA42的與唯一標識相關聯的一組編程數據。如果找到了合適的編程數據組,則處理器40啟動FPGA 42并將編程數據饋送到FPGA 42。如果沒找到合適的編程數據,則處理器40經由引導線30向前端子系統(tǒng)12發(fā)送消息,以使前端子系統(tǒng)12向后端子系統(tǒng)14發(fā)送合適的編程數據或布爾表達式。處理器40可以使用該唯一標識來從服務器獲得合適的編程數據。
如果引導信息20包括由處理器40執(zhí)行的一組目標代碼,那么處理器40安裝該目標代碼。目標代碼可以是用于處理來自FPGA 42或某個其他設備的中斷的中斷服務例程代碼。目標代碼可以是用于實時線程的代碼。安裝目標代碼可以包括動態(tài)鏈接步驟,其使得此新安裝的目標代碼能夠訪問在處理器40上執(zhí)行的操作系統(tǒng)或其他軟件元件的數據、變量、例程等等。處理器40可以將所獲得的目標代碼存儲到存儲器44中。持久性存儲器可以被用來使得不必在前端子系統(tǒng)12的下一次啟動時獲得并重新安裝目標代碼。目標代碼可以是任何類型的合適的目標代碼。例如,處理器40可以執(zhí)行Java虛擬機,而引導信息20可以包括Java字節(jié)代碼。
如果引導信息20包括要由處理器40執(zhí)行的代碼的一組源代碼,那么處理器40將該源代碼編譯成目標代碼并安裝該新編譯的目標代碼。處理器40可以將該新編譯的代碼存儲到存儲器44中,以不必在前端子系統(tǒng)12的下一次啟動時重新獲得并重新編譯源代碼。處理器40可以使用在遠程服務器上提供的編譯器服務,來編譯得自前端子系統(tǒng)12的源代碼。
如果引導信息20包括用于前端子系統(tǒng)12的唯一標識,那么處理器40可以在已經存儲在存儲器44中的一組或多組目標代碼中,搜索與唯一標識相關聯的目標代碼。如果沒找到合適的目標,則處理器40可以經由引導線30向前端子系統(tǒng)12發(fā)送消息,以使前端子系統(tǒng)12向后端子系統(tǒng)14發(fā)送合適的目標代碼或源代碼。處理器40可以使用該唯一標識來從遠程服務器獲得合適的目標代碼或源代碼。
圖4示出了根據本發(fā)明的教導的測量設備的網絡,其中每個測量設備都設置有后端子系統(tǒng)210-214和相應的前端子系統(tǒng)。每個后端子系統(tǒng)210-214包括經由網絡200來通信的機構。例如,后端子系統(tǒng)214包括能夠根據因特網協(xié)議經由網絡200來通信的網絡接口220。
后端子系統(tǒng)210-214每一個都能夠使用因特網協(xié)議來訪問服務器202。后端子系統(tǒng)可以經由網絡200從服務器202獲得編程數據、目標代碼、或任何其他合適的信息,以支持其相應的前端子系統(tǒng)。例如,服務器202可以存儲每個都與前端子系統(tǒng)的唯一標識相關聯的多組編程數據或目標代碼。后端子系統(tǒng)可以向服務器202發(fā)送包括從其相應的前端子系統(tǒng)所獲得的唯一標識的請求,以標識并獲得合適的編程數據或目標代碼組。
服務器202可以提供將布爾表達式編譯成編程數據的服務,和/或將源代碼編譯成目標代碼的服務。這可以用來使后端子系統(tǒng)免除進行編譯的任務。作為替代,后端子系統(tǒng)向服務器202發(fā)送從其前端子系統(tǒng)獲得的一組源代碼或布爾表達式,以及將其編譯的請求。作為響應,服務器202進行合適的編譯,并將所產生的編程數據或目標代碼發(fā)送回請求的后端子系統(tǒng)。
圖5示出了根據本技術的測量設備66,其檢測快速群發(fā)(burst)的事件并為每個事件生成和存儲高精度的時間戳。測量設備66包括經由測量接口64交互的前端子系統(tǒng)60和后端子系統(tǒng)62。測量設備66包括檢測快速群發(fā)事件的事件檢測電路76。
測量接口64是根據本技術的動態(tài)測量接口,其使得測量設備66的設計者能夠不必為支持對快速群發(fā)事件加時間戳而過度地增加前端子系統(tǒng)60的復雜度。相反,測量接口64被前端子系統(tǒng)60用來利用一組FPGA代碼80配置后端子系統(tǒng)62中的FPGA 68,并用來配置后端子系統(tǒng)62中的一組新應用軟件82,以支持對快速群發(fā)事件加時間戳。FPGA代碼80和應用軟件82被存儲在前端子系統(tǒng)60的配置存儲器72中。通過測量接口64的引導通信線裝載FPGA代碼80和應用軟件82。前端子系統(tǒng)60的配置存儲器72或相關聯元件包括合適的通信硬件,以支持引導線的特定物理實現,例如2/3線、全/半雙工等等。
響應于用來自配置存儲器72的新FPGA代碼對FPGA 68的編程,在FPGA 68中創(chuàng)建時間戳FIFO 74,并且測量接口64的一對可分配線被用作事件檢測電路76和時間戳FIFO 74之間的事件檢測信號84和事件確認信號86。事件檢測信號84被用來指示何時檢測到新事件,而事件確認信號86是用來握手的確認標志,表示時間戳FIFO 74準備好接收另一個事件檢測信號。時間戳FIFO 74為每個被檢測事件從系統(tǒng)時鐘88獲得當前時間的值,并將其存儲到時間戳FIFO 74中。
時間戳FIFO 74對在后端子系統(tǒng)62上運行的應用軟件70即被安裝的應用軟件82提供了接口。應用軟件70通過一組存儲器映射的FPGA寄存器來與時間戳FIFO 74交互。數據可用信號85使得后端子系統(tǒng)62中的處理器啟動喚醒應用軟件70的中斷。應用軟件70訪問FPGA 68的讀時間戳寄存器來獲取硬件時間戳。
圖6示出了根據本技術的測量設備166,其檢測不同類型的快速群發(fā)事件并為每個事件生成和存儲高精度的時間戳。測量設備166包括前端子系統(tǒng)160,前端子系統(tǒng)160具有檢測不同類型的快速群發(fā)事件的事件檢測電路176。前端子系統(tǒng)160通過根據本技術的測量接口164被耦合到后端子系統(tǒng)162。
后端子系統(tǒng)162可以基本上類似于上面示出的后端子系統(tǒng)62,例如可以具有基本上類似的資源、FPGA、處理器等等,以對前端子系統(tǒng)提供動態(tài)支持?;蛘撸蠖俗酉到y(tǒng)62可以被重新使用來與前端子系統(tǒng)160一起構建測量設備166。在任一情況下,前端子系統(tǒng)160都包括提供了一組FPGA代碼180和一組應用軟件182的配置存儲器172,FPGA代碼180和應用軟件182被用來配置后端子系統(tǒng)62或162來支持對由事件檢測電路176所檢測的不同類型的事件的快速加時間戳。
用FPGA代碼180對后端子系統(tǒng)162中的FPGA 168的編程創(chuàng)建了FIFO 174,以存儲事件標志的類型以及相應的時間戳。在此例子中,事件檢測電路174能夠檢測4種不同類型的事件。因此,通過測量接口164的可分配線提供了4種不同的事件檢測信號。與測量設備66的FIFO 74相比,FIFO 168被擴展來包括附加位,以存儲類型信息。類似地,被應用軟件170訪問的FIFO接口寄存器也提供了此信息。
通過為每類事件使用單獨的可分配線簡化了前端子系統(tǒng)160。在其他實施例中,事件檢測信號可以被作為包含每一類事件的類型號的數據總線。例如,對于4條線,可以通信多達16個不同的事件類型。
以上對本發(fā)明的詳細說明是為了解釋的目的而提供的,并不想是窮盡的或者將本發(fā)明僅僅限制到所公開的確切實施例。因此,本發(fā)明的范圍由所附的權利要求來限定。
權利要求
1.一種測量設備,包括被耦合到測量接口(18)的前端子系統(tǒng)(12),所述前端子系統(tǒng)(12)用于與物理環(huán)境進行交互;被耦合到所述測量接口(18)的后端子系統(tǒng)(14),所述后端子系統(tǒng)(14)具有支持所述前端子系統(tǒng)(12)的一組資源,以使得所述后端子系統(tǒng)(14)通過所述測量接口(18)從所述前端子系統(tǒng)接收一組引導信息(20),并作為響應而配置所述資源來支持所述前端子系統(tǒng)(12)。
2.如權利要求1所述的測量設備,其中所述引導信息(20)包括用于所述后端子系統(tǒng)(14)中所述資源的一組編程數據。
3.如權利要求1所述的測量設備,其中所述引導信息(20)包括標識,所述標識使得所述后端子系統(tǒng)(14)能夠得到用于所述后端子系統(tǒng)(14)中所述資源的一組編程數據。
4.如權利要求3所述的測量設備,其中所述標識使得所述后端子系統(tǒng)(14)能夠從服務器得到所述編程數據。
5.如權利要求3所述的測量設備,其中所述后端子系統(tǒng)(14)包括持久性存儲器,以使得所述標識讓所述后端子系統(tǒng)(14)能夠從所述持久性存儲器得到所述編程數據。
6.如權利要求1所述的測量設備,其中所述引導信息(20)包括用于所述后端子系統(tǒng)(14)中所述資源的一組編程數據,并且所述后端子系統(tǒng)(14)包括用于存儲所述編程數據的持久性存儲器。
7.如權利要求1所述的測量設備,其中所述引導信息(20)使得所述后端子系統(tǒng)(14)能夠為所述后端子系統(tǒng)(14)中的所述資源生成一組編程數據。
8.一種用于測量設備的接口方法,包括以下步驟在所述測量設備的前端和后端子系統(tǒng)(14)之間提供包括一組引導線和一組可分配線的測量接口(18);將所述可分配線置于高阻狀態(tài);將一組引導信息(20)經由所述引導線從所述前端(12)傳送到所述后端子系統(tǒng)(14);響應于所述引導信息(20)而初始化所述后端子系統(tǒng)(14)中的編程環(huán)境;從所述后端子系統(tǒng)(14)向所述前端子系統(tǒng)(12)傳送信號,以使得所述前端子系統(tǒng)(12)啟動;將所述可分配線的子組從所述高阻狀態(tài)釋放。
9.如權利要求8所述的接口方法,其中初始化所述后端子系統(tǒng)(14)中的編程環(huán)境的步驟,包括為所述后端子系統(tǒng)(14)中的處理器初始化中斷服務例程的步驟。
10.如權利要求8所述的接口方法,其中初始化所述后端子系統(tǒng)(14)中的編程環(huán)境的步驟,包括為所述后端子系統(tǒng)(14)中的處理器初始化實時線程的步驟。
全文摘要
本發(fā)明公開了具有可配置測量接口(18)的測量設備,該測量接口(18)使得能夠在測量設備的前端和后端子系統(tǒng)之中動態(tài)分配職責。根據本教導的測量設備包括與物理環(huán)境進行交互的前端子系統(tǒng)(12)、和具有支持前端子系統(tǒng)(12)的一組資源的后端子系統(tǒng)(14)。前端子系統(tǒng)(12)和后端子系統(tǒng)(14)被耦合到測量接口(18)并通過其通信。前端子系統(tǒng)(12)通過測量接口(18)向后端子系統(tǒng)(14)傳送一組引導信息(20),作為響應后端子系統(tǒng)(14)配置所述資源來支持前端子系統(tǒng)(12)。
文檔編號G06F9/445GK1637392SQ200410086058
公開日2005年7月13日 申請日期2004年10月22日 優(yōu)先權日2003年12月23日
發(fā)明者杰弗森·B·伯奇, 格倫·R·恩格爾, 小格倫·珀迪 申請人:安捷倫科技有限公司