傳感器校準裝置和方法
【技術領域】
[0001]本發明涉及一種校準裝置和方法,尤其涉及用于校準傳感器的裝置和方法。
【背景技術】
[0002]在各種領域中,傳感器被廣泛用于感測各種參數,如速度、加速度、旋轉、位移、形變、壓力、溫度、氣體、濕度等,并且相應地存在各種各樣的傳感器,例如,速率傳感器、加速度計、陀螺儀、位移傳感器、形變傳感器、壓力傳感器、溫度傳感器、氣體傳感器、濕度傳感器等。由于傳感器輸出的測量結果是重要的處理參數,因此希望傳感器輸出的測量結果達到所設計和所要求的高精確度。然而,傳感器在生產過程中由于制造誤差等原因、或者在使用過程中由于老化等原因可能使得傳感器的感測輸出不夠準確。例如,微機電系統(MEMS)傳感器在生產過程中經歷流片、封裝、測試等步驟之后,其輸出是有偏差的。
[0003]因此,為了確保傳感器的精確度,傳感器在制造完成后、或者在使用一段時間后可以進行校準。例如,可以在傳感器中添加一些校準寄存器,通過修改這些寄存器可以校準傳感器輸出,使得傳感器輸出更加精確。要達到精確校準目的,校準寄存器的級數越多越好,以輸出精度為8位的MEMS加速度計為例,至少需要一個8位的校準寄存器,即等效的校準級數必須為28級(即256級)。校準級數越多,單個MEMS傳感器的校準運算時間就會越長,因此校準步驟是影響MEMS傳感器成本的重要因素之一。現在業界大多采用專門的校準設備來同時校準多個MEMS傳感器,從而提高校準效率,降低校準成本。一般的MEMS傳感器使用I2C接口,每個I2C接口用到兩條信號線,若要同時校準20顆MEMS傳感器,則校準設備需要有40條信號線。另外,同時校準的MEMS傳感器數目越多,校準設備所需要的其他資源也就越多,比如要達到真正的并行校準目的,針對采樣MEMS傳感器所得到的數據還必須擁有并行的計算處理單元來進行處理,整個校準設備的價格就會相應地成倍增長。
[0004]為了滿足對傳感器的低價格、高精確輸出的需求,業界迫切需要一種能高效地校準傳感器的裝置和方法。
【發明內容】
[0005]本發明要解決的技術問題是提供一種校準傳感器的裝置和方法。針對現有傳感器校準系統結構復雜、效率過低和價格過高等缺點,本發明提供了一種高效地校準傳感器的裝置和方法。另外,本發明還提供了基于FPGA (現場可編程門陣列)的校準裝置和方法,該校準裝置和方法利用FPGA的并行處理優勢,能夠同時校準多個傳感器,從而縮短了單個傳感器的校準時間,提高了測試生產效率。
[0006]在一個實施例中,提供了一種傳感器校準裝置,包括:I2C接口,其經由I2C信號線連接至傳感器;以及校準模塊,其耦合至所述I2C接口并經由所述I2C接口與所述傳感器通信,所述校準模塊包括:校準內核,其能經由所述I2C接口向所述傳感器提供校準值以校準所述傳感器的輸出;起始值寄存器,其存儲初始化校準值并將所述初始化校準值提供給所述校準內核,所述校準內核經由所述I2C接口將所述初始化校準值作為校準值寫入所述傳感器;目標值寄存器,其存儲所述傳感器的期望輸出值;以及容差寄存器,其存儲容差值,其中所述校準內核讀取所述傳感器基于所述校準值進行校準之后的輸出值,并判斷所述傳感器的輸出值與所述期望輸出值之差是否在所述容差值之內,如果在所述容差值之內則成功完成對所述傳感器的校準,如果不在所述容差值之內則修改所述校準值并將新的校準值寫入所述傳感器,直至所述傳感器的輸出值與期望輸出值之差在所述容差值之內。
[0007]在另一實施例中,所述校準模塊還包括:步進值寄存器,其存儲所述校準值每次遞增的步進值,所述校準內核將所述校準值與所述步進值累加以獲得新的校準值。
[0008]在另一實施例中,所述校準模塊還包括:最大值寄存器,其存儲所述傳感器所能達到的最大校準值,其中若所述新的校準值沒有超過所述最大校準值,所述校準模塊將所述新的校準值寫入所述傳感器,否則結束對所述傳感器的校準并且所述校準無效。
[0009]在另一實施例中,所述校準模塊還包括:等待時間寄存器,其存儲時間計數值,其中所述校準內核在將校準值寫入所述傳感器之后等待所述時間計數值,然后再讀取所述傳感器基于所述校準值進行校準之后的輸出值。
[0010]在另一實施例中,所述傳感器包括校準寄存器以存儲由所述校準模塊寫入的校準值,并且所述傳感器基于所述校準值來修改實際檢測到的值以提供經校準的輸出。
[0011]在另一實施例中,所述初始化校準值是負值且所述步進值是正值;或者所述初始化校準值是正值且所述步進值是負值。
[0012]在另一實施例中,所述I2C接口包括:讀寫命令寄存器,其接收并存儲來自所述校準模塊的讀或寫命令;調整寄存器,其接收并存儲來自所述校準模塊的校準值;I2C接口內核,其根據所述讀寫命令寄存器中的寫命令經由所述I2C信號線將所述調整寄存器中的校準值寫入所述傳感器。
[0013]在另一實施例中,所述I2C接口還包括:輸出寄存器,其中所述I2C接口內核根據所述讀寫命令寄存器中的讀命令經由所述I2C信號線讀取所述傳感器基于所述校準值進行校準之后的輸出值并將其存儲在所述輸出寄存器中,所述輸出寄存器將所述輸出值提供給所述校準內核。
[0014]在另一實施例中,所述傳感器是MEMS傳感器。
[0015]在另一實施例中,所述傳感器包括速率傳感器、加速度計、陀螺儀、位移傳感器、形變傳感器、壓力傳感器、溫度傳感器、氣體傳感器、或濕度傳感器。
[0016]在另一實施例中,所述傳感器校準裝置是基于FPGA的傳感器校準裝置并且包括多個所述I2C接口和所述校準模塊,以同時校準多個傳感器。
[0017]還提供了一種傳感器校準方法,其特征在于,包括:步驟一:將校準值寫入傳感器;步驟二:讀取所述傳感器基于所述校準值進行校準之后的輸出值;步驟三:判斷所述傳感器的輸出值與期望輸出值之差是否在容差值之內,如果在所述容差值之內則成功完成對所述傳感器的校準,如果不在所述容差值之內則修改所述校準值并重復所述步驟一到步驟
_- O
[0018]在另一實施例中,所述步驟一中將校準值寫入傳感器包括:將初始化校準值寫入所述傳感器。
[0019]在另一實施例中,所述步驟三中修改所述校準值包括:將所述校準值與預定的步進值累加以獲得新的校準值。
[0020]在另一實施例中,所述步驟三中修改所述校準值進一步包括:判斷所述新的校準值是否超過所述傳感器所能達到的最大校準值,若所述新的校準值沒有超過所述最大校準值則重復所述步驟一到步驟三;否則結束對所述傳感器的校準并且所述校準無效。
[0021]在另一實施例中,所述步驟二中讀取所述傳感器的輸出值包括:在將校準值寫入所述傳感器之后等待預定的時間計數值,然后再讀取所述傳感器基于所述校準值進行校準之后的輸出值。
[0022]在另一實施例中,所述傳感器包括校準寄存器以存儲所述校準值,并且所述傳感器基于所述校準值來修改實際檢測到的值以提供經校準的輸出。
[0023]在另一實施例中,所述初始化校準值是負值且所述步進值是正值;或者所述初始化校準值是正值且所述步進值是負值。
[0024]在另一實施例中,所述傳感器是MEMS傳感器。
[0025]在另一實施例中,所述傳感器包括速率傳感器、加速度計、陀螺儀、位移傳感器、形變傳感器、壓力傳感器、溫度傳感器、氣體傳感器、或濕度傳感器。
[0026]與現有技術相比,本發明具有以下優點:
[0027]通過從初始化校準值起通過步進值修改校準值來校準傳感器,可以高效快速地將傳感器的輸出調整為達到預定精確度(在可允許容差內)。另外,本發明的傳感器校準裝置可以采用FPGA來實現,FPGA內部包括多個并行的校準模塊以同時對多個傳感器進行校準處理,從而達到并行地對所有傳感器進行獨立校準處理的目的,顯著提高了校準的效率。
【附圖說明】
[0028]圖1為本發明一實施例的傳感器校準裝置的示意框圖。
[0029]圖2是本發明一實施例的傳感器校準裝置的連接示意圖。
[0030]圖3是本發明一實施例的傳感器校準方法的工作流程圖。
【具體實施方式】
[0031]為了使本發明的技術方案、目的和優點更加清楚,下面結合具體實施例和附圖對本發明作進一步說明,但不