一種傳感器的校準參數的配置方法及電子設備的制造方法
【專利摘要】本發明公開了一種傳感器的校準參數的配置方法,應用于包含處理器單元以及傳感器單元的電子設備,包括步驟:處理器單元根據所獲取的校準配置信息,設置校準變量;傳感器單元根據所讀取的校準變量,配置自身用于校準的校準參數。本發明還公開了一種電子設備。采用本發明公開的方法及電子設備,可以自適應地根據電子設備的結構設計配置對應的傳感器的校準參數,無需對不同結構設計的電子設備開發和維護不同的產品代碼,降低了成本。
【專利說明】
一種傳感器的校準參數的配置方法及電子設備
技術領域
[0001]本發明涉及傳感器領域,更具體地,涉及一種傳感器的校準參數的配置方法及電子設備。
【背景技術】
[0002]手機中的傳感器是手機上通過芯片來感應的元器件,如溫度值、亮度值和壓力值、磁場值等,是手機中的一個重要模塊。而傳感器通常都存在精度要求,所以在手機運行過程中需要時常進行校準傳感器以保證傳感器的精度滿足精度要求。
[0003]而不同手機(不同品牌、不同型號的)的結構設計不同,相應地,傳感器在不同手機中的放置位置也存在差異,進而帶來校準參數的差異。因而只要是具有不同結構設計的手機,即使包含的傳感器是相同型號,也需要對應設置不同的校準參數。而手機中的傳感器與處理器是相互獨立的,傳感器不能直接通過手機中現有的系統接口(例如安卓手機的系統屬性r0.product.name)獲取能表征手機結構設計的產品型號等信息,因此現有技術中通常需要對不同手機維護對應的不同的產品代碼來解決不同手機的校準參數不同的問題。但在手機產品日新月異的今天,手機的產品型號繁多,就會存在產品代碼繁多帶來的開發及維護成本過高的問題。
[0004]因此,發明人認為,有必要針對上述現有技術中存在的問題進行改進。
【發明內容】
[0005]本發明的一個目的是提供一種用于配置傳感器的校準參數的新技術方案。
[0006]根據本發明的第一方面,提供了一種傳感器的校準參數的配置方法,應用于電子設備,所述電子設備包含處理器單元以及傳感器單元,所述方法通過處理器單元以及傳感器單元實施,包括:
[0007]所述處理器單元根據所獲取的校準配置信息,設置校準變量,所述校準變量為可供所述處理器單元設置以及所述傳感器單元讀取的全局變量;
[0008]所述傳感器單元根據所讀取的所述校準變量,配置校準參數,所述校準參數用于所述傳感器單元進行自身校準。
[0009]在一個實施例中,所述校準配置信息為所述傳感器單元的校準參數。
[0010]在另一個實施例中,所述校準配置信息為所述電子設備的結構類型,所述結構類型用于表征所述電子設備與傳感器單元的結構關系,所述方法包括:
[0011]所述處理器單元根據所獲取的電子設備的結構類型,將所述校準變量設置為所述結構類型;
[0012]所述傳感器單元根據所讀取的所述電子設備的結構類型,從預置的包含多個分別與不同電子設備的結構類型對應的備選校準參數的備選列表中,選取與所述電子設備的結構類型對應的備選校準參數,配置為校準參數。
[0013]在上述實施例中,可選地,所述方法還包括,所述處理器單元讀取預先設置的所述校準配置信息的步驟。
[0014]在一個實施例中,所述電子設備為安卓操作系統的手機,所述校準配置信息為所述手機的產品型號,所述校準變量為安卓編譯環境中的環境變量Type,所述方法包括以下步驟:
[0015]所述處理器單元根據所獲取的所述手機的產品型號,通過系統編譯腳本將所述環境變量Type設置為所述手機的產品型號;
[0016]所述傳感器單元根據通過對應的傳感器單元程序腳本讀取的環境變量Type,賦值本地的預定義參數,根據所述預定義參數從預定義的所述包含多個分別與不同手機的產品型號對應的備選校準參數的備選列表中,選取與所述手機的產品型號對應的備選校準參數,定義為校準參數。
[0017]進一步可選地,所述處理器單元調用系統編譯腳本獲取所述手機的產品型號。
[0018]本發明的第二方面,提供一種電子設備,包括:
[0019]處理器單元和傳感器單元;
[0020]所述處理器單元,用于根據所獲取的校準配置信息,設置校準變量,所述校準變量為可供所述處理器單元設置以及所述傳感器單元讀取的全局變量;
[0021 ]所述傳感器單元,用于根據所讀取的所述校準變量,配置校準參數,所述校準參數用于所述傳感器單元進行自身校準。
[0022]在一個實施例中,所述校準配置信息為所述傳感器單元的校準參數。
[0023]在另一個實施例中,述校準配置信息為所述電子設備的結構類型,所述結構類型用于表征所述電子設備與傳感器單元的結構關系,以及
[0024]所述處理器單元,用于根據所獲取的電子設備的結構類型,將所述校準變量設置為所述結構類型;
[0025]所述傳感器單元,用于根據所讀取的所述電子設備的結構類型,從預置的包含多個分別與不同電子設備的結構類型對應的備選校準參數的備選列表中,選取與所述電子設備的結構類型對應的備選校準參數,配置為校準參數。
[0026]上述實施例中,可選地,所述電子設備的所述處理器單元還包括用于讀取預先設置的所述校準配置信息的裝置。
[0027]本發明的發明人發現,在現有技術中,尚未提供一種傳感器的校準參數的配置方法以及電子設備,可以自適應地根據電子設備的結構設計配置傳感器的校準參數進而避免對不同結構設計的電子設備開發和維護的不同的產品代碼帶來的成本。因此,本發明所要實現的技術任務或者所要解決的技術問題是本領域技術人員從未想到的或者沒有預期到的,故本發明是一種新的技術方案。
[0028]通過以下參照附圖對本發明的示例性實施例的詳細描述,本發明的其它特征及其優點將會變得清楚。
【附圖說明】
[0029]被結合在說明書中并構成說明書的一部分的附圖示出了本發明的實施例,并且連同其說明一起用于解釋本發明的原理。
[0030]圖1示出了本發明實施例提供的傳感器的校準參數的配置方法的一個流程圖。[0031 ]圖2示出了本發明實施例提供的傳感器的校準參數的配置方法的又一個流程圖。
[0032]圖3示出了本發明實施例提供的安卓手機的傳感器的校準參數的配置方法的流程圖。
[0033]圖4示出了本發明實施例提供的電子設備的示意性框圖。
【具體實施方式】
[0034]現在將參照附圖來詳細描述本發明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本發明的范圍。
[0035]以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發明及其應用或使用的任何限制。
[0036]對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
[0037]在這里示出和討論的所有例子中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它例子可以具有不同的值。
[0038]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0039]〈實施例〉
[0040]本發明實施例提供一種傳感器的校準參數的配置方法,如圖1所示,應用于電子設備,所述電子設備包含處理器單元以及傳感器單元,所述方法通過處理器單元以及傳感器單元實施,包括以下步驟:
[0041 ]步驟SI 100,處理器單元根據所獲取的校準配置信息,設置校準變量,其中,校準變量為可供處理器單元設置以及傳感器單元讀取的全局變量;
[0042]步驟S2100,所述傳感器單元根據所讀取的所述校準變量,配置校準參數,所述校準參數用于所述傳感器單元進行自身校準。
[0043]本實施例中的電子設備包含處理器單元以及傳感器單元,所述傳感器單元通常具有精度要求,因此在電子設備啟動時以及運行過程中傳感器單元需要進行校準以使得能滿足精度要求,但不同的電子設備具有不同的結構設計,對應的傳感器單元在電子設備中的位置存在差異會帶來校準參數的差異,因為不同電子設備中的傳感器單元進行校準需要不同的校準參數。通過本實施例由處理器單元根據所獲取的校準配置信息,設置校準變量供傳感器單元讀取后配置校準參數,可以自適應地適配不同電子設備的不同結構設計帶來的傳感器的校準差異,無需額外的產品代碼開發和維護,降低成本。
[0044]在一個例子中,所述校準配置信息為傳感器單元的校準參數。處理器單元根據獲取傳感器單元的校準參數,將校準變量設置為傳感器單元的校準參數供傳感器單元讀取后進行配置,可以直接將傳感器單元的校準參數傳遞至傳感器單元,不僅可以自適應地適配不同電子設備的不同結構設計帶來的傳感器的校準差異,還可以自適應適配其他情況(例如傳感器單元的型號不同、結構不同等)存在的傳感器的校準差異,進一步降低成本。
[0045]但在一些應用場景中,受限于電子設備的存儲空間較小或設備性能較差不能支持傳遞內容較多的校準參數,或是目的僅為自適應地適配不同電子設備的不同結構設計帶來的傳感器的校準差異,本實施例還提供一種傳感器的校準參數的配置方法,所述校準配置信息為所述電子設備的結構類型,所述結構類型用于表征所述電子設備與傳感器單元的結構關系,所述方法如圖2所示,包括:
[0046]步驟S2100,所述處理器單元根據所獲取的電子設備的結構類型,將所述校準變量設置為所述結構類型;
[0047]步驟S2200,所述傳感器單元根據所讀取的所述電子設備的結構類型,從預置的包含多個分別與不同電子設備的結構類型對應的備選校準參數的備選列表中,選取與所述電子設備的結構類型對應的備選校準參數,配置為校準參數。
[0048]不同的電子設備,對應的結構設計不同,通常采用結構類型來區分不同的結構設計,使得電子設備的結構類型與電子設備的結構設計具有唯一映射的關系,結構設計中包含電子設備的傳感器單元在電子設備中的位置信息,因此結構類型可以表征電子設備與傳感器單元的結構關系,而電子設備與傳感器單元的結構關系又與校準參數對應,因而處理器單元通過配置校準變量供傳感器單元讀取,將所獲取的電子設備的結構類型傳遞給傳感器單元,傳感器單元就可以預置的備選列表中選取與所述電子設備的結構類型對應的備選校準參數配置為校準參數。在本實施例中,可以在電子設備出廠前就將備選列表預置在傳感器單元中,還可以在電子設備開機后從遠程服務器下載備選列表預置在傳感器單元中,也可以由遠程服務器將最新的備選列表下發給電子設備供傳感器單元更新。
[0049]在一個更具體的例子中,所述電子設備為安卓操作系統的手機,所述校準配置信息為所述手機的產品型號,所述校準變量為所述安卓編譯環境中的環境變量Type,所述方法如圖3所示,包括以下步驟:
[0050]步驟S3100,所述處理器單元根據所獲取的所述手機的產品型號,通過系統編譯腳本將所述環境變量Type設置為所述手機的產品型號。
[0051]不同產品型號的手機,通常具有不同的結構設計,手機的產品型號與手機的結構設計存在隱含的對應關系,所以手機的產品型號可以作為手機結構類型的一種指示,用于表征電子設備與傳感器單元的結構關系。在安卓操作系統中,系統編譯腳本可以是shell腳本,而在安卓的編譯環境中,環境變量是可以供處理單元通過export命令設置,并供傳感器單元讀取的全局變量。因此,安卓操作系統的手機中,處理器單元可以通過shell腳本將環境變量Type設置為手機的產品型號。
[0052]處理器單元還可以調用系統編譯腳本獲取所述手機的產品型號,例如通過調用shell腳本獲取手機的產品型號。
[0053]在步驟S3100之后,進入步驟S3200,所述傳感器單元根據通過對應的傳感器單元程序腳本讀取的環境變量Type,賦值本地的預定義參數,根據所述預定義參數從預定義的所述包含多個分別與不同手機的產品型號對應的備選校準參數的備選列表中,選取與所述手機的產品型號對應的備選校準參數,定義為校準參數。
[°°54] 在本例中,傳感器單元程序腳本可以是Python腳本,傳感器單元通過Python腳本讀取環境變量Type,通過CCFLAGS-Dxxx編譯命令將環境變量Type的取值賦值給預定義參數,并且預定義的所述包含多個分別與不同手機的產品型號對應的備選校準參數的備選列表可以預先在傳感器單元的驅動程序代碼中進行定義,在通S#ifdef XXX命令定義預定義參數,就可以將根據所述預定義參數從預定義的備選列表中選取的所述手機的產品型號對應的備選校準參數定義為校準參數。
[0055]在一個例子中,如圖1或圖2所示的傳感器的校準參數的配置方法,還包括,所述處理器單元讀取預先設置的所述校準配置信息。
[0056]本發明的再一個實施例,還提供一種電子設備4000,如圖4所示,包括處理器單元4100和傳感器單元4200,用于實施本實施例中如圖1或2所示的方法,在此不再贅述。
[°°57] 電子設備4000,包括處理器單元4100和傳感器單元4200:
[0058]處理器單元4100,用于根據所獲取的校準配置信息,設置校準變量,所述校準變量為可供所述處理器單元設置以及所述傳感器單元讀取的全局變量;
[0059]傳感器單元4200,用于根據所讀取的所述校準變量,配置校準參數,所述校準參數用于所述傳感器單元進行自身校準。
[0060]在一個例子中,所述校準配置信息為所述傳感器單元4200的校準參數。
[0061]在一個例子中,所述校準配置信息為所述電子設備的結構類型,所述結構類型用于表征所述電子設備與傳感器單元的結構關系,以及
[0062]處理器單元4100,用于根據所獲取的電子設備的結構類型,將所述校準變量設置為所述結構類型;
[0063]傳感器單元4200,用于根據所讀取的所述電子設備的結構類型,從預置的包含多個分別與不同電子設備的結構類型對應的備選校準參數的備選列表中,選取與所述電子設備的結構類型對應的備選校準參數,配置為校準參數。
[0064]在又一個例子中,處理器單元4100還包括用于讀取預先設置的所述校準配置信息的裝置。
[0065]以上已經結合附圖描述了本發明的實施例,根據本實施例,電子設備的處理器根據獲取的校準配置信息設置校準變量后,傳感器可以通過讀取校準變量設置用于其自身校準的較準參數,使得電子設備可以自適應地配置傳感器的校準參數,無需對不同結構的電子設備開發和維護不同的產品代碼,降低了產品的開發和維護成本。
[0066]本領域技術人員應當明白,可以通過各種方式來實現處理器單元和傳感器單元。例如,可以通過指令配置處理器單元來實現處理器單元和傳感器單元。例如,可以將指令存儲在ROM中,并且當啟動設備時,將指令從ROM讀取到可編程器件中來實現處理器單元和傳感器單元。例如,可以將處理器單元和傳感器單元固化到專用器件(例如ASIC)中。可以將處理器單元和傳感器單元分成相互獨立的單元,或者可以將它們合并在一起實現。處理器單元和傳感器單元可以通過上述各種實現方式中的一種來實現,或者可以通過上述各種實現方式中的兩種或更多種方式的組合來實現。
[0067]本發明可以是系統、方法和/或計算機程序產品。計算機程序產品可以包括計算機可讀存儲介質,其上載有用于使處理器單元實現本發明的各個方面的計算機可讀程序指令。
[0068]計算機可讀存儲介質可以是可以保持和存儲由指令執行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是一一但不限于一一電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態隨機存取存儲器(SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數字多功能盤(DVD)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸的電信號。
[0069]這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網絡、例如因特網、局域網、廣域網和/或無線網下載到外部計算機或外部存儲設備。網絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網關計算機和/或邊緣服務器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,并轉發該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質中。
[0070]用于執行本發明操作的計算機程序指令可以是匯編指令、指令集架構(ISA)指令、機器指令、機器相關指令、微代碼、固件指令、狀態設置數據、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向對象的編程語言一諸如Smalltalk、C++等,以及常規的過程式編程語言一諸如“C”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態信息來個性化定制電子電路,例如可編程邏輯電路、現場可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執行計算機可讀程序指令,從而實現本發明的各個方面。
[0071]這里參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述了本發明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現。
[0072]這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器單元,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理器單元執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數據處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個制造品,其包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的各個方面的指令。
[0073]也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機、其它可編程數據處理裝置、或其它設備上執行的指令實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作。
[0074]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。對于本領域技術人員來說公知的是,通過硬件方式實現、通過軟件方式實現以及通過軟件和硬件結合的方式實現都是等價的。
[0075]以上已經描述了本發明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。本發明的范圍由所附權利要求來限定。
【主權項】
1.一種傳感器的校準參數的配置方法,應用于電子設備,其特征在于,所述電子設備包含處理器單元以及傳感器單元,所述方法通過處理器單元以及傳感器單元實施,包括: 所述處理器單元根據所獲取的校準配置信息,設置校準變量,所述校準變量為可供所述處理器單元設置以及所述傳感器單元讀取的全局變量; 所述傳感器單元根據所讀取的所述校準變量,配置校準參數,所述校準參數用于所述傳感器單元進行自身校準。2.根據權利要求1所述的方法,其特征在于,所述校準配置信息為所述傳感器單元的校準參數。3.根據權利要求1所述的方法,其特征在于,所述校準配置信息為所述電子設備的結構類型,所述結構類型用于表征所述電子設備與傳感器單元的結構關系,所述方法包括: 所述處理器單元根據所獲取的電子設備的結構類型,將所述校準變量設置為所述結構類型; 所述傳感器單元根據所讀取的所述電子設備的結構類型,從預置的包含多個分別與不同電子設備的結構類型對應的備選校準參數的備選列表中,選取與所述電子設備的結構類型對應的備選校準參數,配置為校準參數。4.根據權利要求1-3任意一項所述的方法,其特征在于,還包括,所述處理器單元讀取預先設置的所述校準配置信息的步驟。5.根據權利要求3所述的方法,其特征在于,所述電子設備為安卓操作系統的手機,所述校準配置信息為所述手機的產品型號,所述校準變量為安卓編譯環境中的環境變量Type,所述方法包括以下步驟: 所述處理器單元根據所獲取的所述手機的產品型號,通過系統編譯腳本將所述環境變量Type設置為所述手機的產品型號; 所述傳感器單元根據通過對應的傳感器單元程序腳本讀取的環境變量Type,賦值本地的預定義參數,根據所述預定義參數從預定義的所述包含多個分別與不同手機的產品型號對應的備選校準參數的備選列表中,選取與所述手機的產品型號對應的備選校準參數,定義為校準參數。6.根據權利要求5所述的方法,其特征在于,還包括:所述處理器單元調用系統編譯腳本獲取所述手機的產品型號。7.一種電子設備,其特征在于,包括: 處理器單元和傳感器單元; 所述處理器單元,用于根據所獲取的校準配置信息,設置校準變量,所述校準變量為可供所述處理器單元設置以及所述傳感器單元讀取的全局變量; 所述傳感器單元,用于根據所讀取的所述校準變量,配置校準參數,所述校準參數用于所述傳感器單元進行自身校準。8.根據權利要求7所述的電子設備,其特征在于,所述校準配置信息為所述傳感器單元的校準參數。9.根據權利要求7所述的電子設備,其特征在于,所述校準配置信息為所述電子設備的結構類型,所述結構類型用于表征所述電子設備與傳感器單元的結構關系,以及 所述處理器單元,用于根據所獲取的電子設備的結構類型,將所述校準變量設置為所述結構類型; 所述傳感器單元,用于根據所讀取的所述電子設備的結構類型,從預置的包含多個分別與不同電子設備的結構類型對應的備選校準參數的備選列表中,選取與所述電子設備的結構類型對應的備選校準參數,配置為校準參數。10.根據權利7-9任意一項所述的電子設備,其特征在于,所述處理器單元還包括用于讀取預先設置的所述校準配置信息的裝置。
【文檔編號】G06F9/44GK105912341SQ201610270891
【公開日】2016年8月31日
【申請日】2016年4月27日
【發明人】劉雅瓊
【申請人】樂視控股(北京)有限公司, 樂視移動智能信息技術(北京)有限公司