




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ZMD31010RBic低成本傳感器信號處理器RBicLiteTM校準流程和DLL說明15目 錄1 DLL文件的使用11.1 輸出函數(shù)11.1.1 計算函數(shù)11.1.2 其它函數(shù)51.2 結(jié)構(gòu)體介紹61.2.1 CalPoint61.2.2 CCoeffs72 校準過程82.1 概述82.2 Setup92.2.1 RBicLiteTM的ID92.3 采集數(shù)據(jù)102.4 修正參數(shù)計算113 校準點的期望位置124 舉例134.1 校準流程圖134.2 源程序(2點校準)14RBicLiteTM校準流程和DLL說明1 DLL文件的使用調(diào)用DLL文件中的功能函數(shù),必須使用C語言的調(diào)用機制。在調(diào)用功
2、能函數(shù)時,傳遞參數(shù)可采用結(jié)構(gòu)體類型,也可采用數(shù)組類型以便更好兼容不同程序語言。1.1 輸出函數(shù)DLL中的功能函數(shù),都有兩個版本(結(jié)構(gòu)體類型和數(shù)組類型)。函數(shù)名稱中不含有“_Arr”字樣的是結(jié)構(gòu)體類型。1.1.1 計算函數(shù)1.1.1.1 結(jié)構(gòu)體格式(名稱中不含“_Arr”)int calc2pt(CCoeffs *vals,CalPoint points2)int calc3ptBr(CCoeffs *vals,CalPoint points3)int calc3ptTco(CCoeffs *vals,CalPoint points3)int calc3ptTcg(CCoeffs *vals,C
3、alPoint points3)int calc4ptTcoTcg(CCoeffs *vals,CalPoint points4)int calc4ptSotBrTco (CCoeffs *vals,CalPoint points4)int calc4ptSotBrTcg(CCoeffs *vals,CalPoint points4)int calc5ptSotBr(CCoeffs *vals,CalPoint points5)int calc5ptSotTco(CCoeffs *vals,CalPoint points5)int calc5ptSotTcg(CCoeffs *vals,Cal
4、Point points5)功能描述:函數(shù)的主要功能是計算RBicLiteTM的修正參數(shù)。若需要修正溫度,函數(shù)會根據(jù)數(shù)據(jù)點自動算出溫度的修正參數(shù)。傳遞參數(shù)時數(shù)據(jù)點(points)不需要另外存儲,因為調(diào)用的函數(shù)不會改變其數(shù)值。函數(shù)聲明: Int calcXXX(CCoeffs *vals, CalPoint points)參數(shù)1:CCoeffs *valsCCoeffs結(jié)構(gòu)的指針,指向一個CCoeffs對象。計算出的修正參數(shù)存儲在此結(jié)構(gòu)體對象中,無需計算的修正參數(shù)缺省值為0。參數(shù)2:CalPoint pointsCalPoint對象的數(shù)組,不需要另外存儲。返回值: 0 計算成功1 gainb、o
5、ffsetb等參數(shù)超出范圍2 sot超出范圍3 tcg超出范圍4 tco超出范圍 1.1.1.2 數(shù)組格式的調(diào)用函數(shù)int calc2pt_Arr(double vals10,double b2,double raw2)int calc3ptBr_Arr(double vals10,double b3,double raw3)int calc3ptTco_Arr(double vals10,double b3,double t3,double raw3,double tr3)int calc3ptTcg_Arr(double vals10,double b3, double t3,double
6、 raw3 ,double tr3)int calc4ptTcoTcg_Arr(double vals10,double b4, double t4,double raw4 ,double tr4)int calc4ptSotBrTco_Arr(double vals10,double b4, double t4,double raw4 ,double tr4)int calc4ptSotBrTcg_Arr(double vals10,double b4, double t4,double raw4 ,double tr4)int calc5ptSotBr_Arr(double vals10,
7、double b5, double t5,double raw5 ,double tr5)int calc5ptSotTco_Arr(double vals10,double b5, double t5,double raw5 ,double tr5)int calc5ptSotTcg_Arr(double vals10,double b5, double t5,double raw5 ,double tr5)功能描述:“_Arr”函數(shù)去除了使用結(jié)構(gòu)體調(diào)用時數(shù)據(jù)格式的限制,增強了程序的兼容性。通常,它和相對應的結(jié)構(gòu)體格式的函數(shù)功能相同,計算出的數(shù)值也是對等的。函數(shù)聲明:Int calcXXX_
8、Arr(double vals10,double b,double t1,double raw ,double tr1) 注:上標“1”表示 t、tr在calc2pt和calc3ptBr中沒有使用。參數(shù)1:double vals10計算出的修正參數(shù)存儲在此數(shù)組中,無需計算的修正參數(shù)缺省值為0。數(shù)組中每一項的含義如下:val0=d_gainbval1=d_gaintval2=d_offsetbval3=d_offsettval4=d_sotval5=d_tcgval6=d_tcoval7=d_tsetlval8=tc_cfg/在此版本程序中沒有計算val0=sot_cfg計算出的數(shù)據(jù)并不是RBI
9、CLite格式,因此,將數(shù)據(jù)寫入EEPROM前需調(diào)用“convertToLite()”函數(shù)。參數(shù)25:數(shù)據(jù)點數(shù)組,上文中的一個“Point 0”對象和b0、t0、raw0、tr0相當。這里注意,數(shù)組的下標要保持一致,不能出錯。數(shù)組的大小應大于或等于數(shù)據(jù)點的個數(shù)。b橋信號的理想值t溫度的理想值raw橋信號的原始值tr溫度的原始值返回值: 0 計算成功1 gainb、offsetb等參數(shù)超出范圍1.1.1.3 功能函數(shù)表函數(shù)聲明 描 述計算的參數(shù)int calc2pt(CCoeffs *vals,CalPoint points2)int calc2pt_Arr(double *vals10,dou
10、ble b2,double raw2)對橋信號增益、偏移量進行修正。不考慮溫度影響。gainb,offsetbsot_cfgint calc3ptBr(CCoeffs *vals,CalPoint points3)int calc3ptBr_Arr(double vals10,double b3,double raw3)橋信號的二階非線性修正。不考慮溫度影響。gainb,offsetbsot(br),sot_cfgint calc3ptTco(CCoeffs *vals,CalPoint points3)int calc3ptTco_Arr(double vals10,double b3,do
11、uble t3,double raw3,double tr3)橋信號偏移量修正??紤]溫度影響。gainb,offsetbtco, sot_cfgint calc3ptTcg(CCoeffs *vals,CalPoint points3)int calc3ptTcg_Arr(double vals10,double b3, double t3,double raw3 ,double tr3)橋信號增益修正。考慮溫度影響。gainb,offsetb tcg, sot_cfgint calc4ptTcoTcg(CCoeffs *vals,CalPoint points4)int calc4ptTco
12、Tcg_Arr(double vals10,double b4, double t4,double raw4 ,double tr4)橋信號偏移量、增益修正??紤]溫度影響。gainb,offsetbtco, tcgsot_cfgint calc4ptSotBrTco(CCoeffs *vals,CalPoint points4)int calc4ptSotBrTco_Arr(double vals10,double b4, double t4,double raw4 ,double tr4)二階非線性、偏移量修正??紤]溫度影響。gainb,offsetbtco, sot(br)sot_cfgi
13、nt calc4ptSotBrTcg(CCoeffs *vals,CalPoint points4)int calc4ptSotBrTcg_Arr(double vals10,double b4, double t4,double raw4 ,double tr4)二階非線性、增益修正??紤]溫度影響。gainb,offsetbtcg,sot(br),sot_cfgint calc5ptSotBr(CCoeffs *vals,CalPoint points5)int calc5ptSotBr_Arr(double vals10,double b5, double t5,double raw5 ,
14、double tr5)二階非線性、增益、偏移量修正??紤]溫度影響。gainb,offsetbtco, tcgsot(br),sot_cfgint calc5ptSotTco(CCoeffs *vals,CalPoint points5)int calc5ptSotTco_Arr(double vals10,double b5, double t5,double raw5 ,double tr5)二階偏移量、增益修正??紤]溫度影響。gainb,offsetbtco, tcg,sot(tco),sot_cfgint calc5ptSotTcg(CCoeffs *vals,CalPoint poin
15、ts5)int calc5ptSotTcg_Arr(double vals10,double b5, double t5,double raw5 ,double tr5)二階增益、偏移量修正??紤]溫度影響。gainb,offsetbtco, tcg,sot(tcg),sot_cfg1.1.2 其它函數(shù)1.1.2.1 SortPoints功能描述:缺省情況下,此函數(shù)以CalPoint的第三個參數(shù)(溫度)對CalPoint數(shù)組進行排序,此函數(shù)并不是每次必須調(diào)用的。函數(shù)聲明:void sortPoints(CalPoint p, int numPoints, bool byTemp)參數(shù)1:CalP
16、oint p需要排列的數(shù)組參數(shù)2:int numPoints排列點的個數(shù)參數(shù)3:bool byTemp為“true”時,數(shù)組以溫度值進行排序。若溫度值相同,則以信號原始值大小排序。為“false”時,數(shù)組以信號原始值大小排序。1.1.2.2 ConvertToLite功能描述:將“_Arr”函數(shù)的計算值轉(zhuǎn)換為RBIClite格式。使用“_Arr”函數(shù)時,在將修正參數(shù)寫入EEPROM之前調(diào)用此函數(shù);若使用非“_Arr”函數(shù),不需進行此操作,因為 CCoeffs中已含有RBIClite格式數(shù)據(jù)。函數(shù)聲明:int convertToLite(int outVals10, double inVals1
17、0)參數(shù)1:int outVals10存放轉(zhuǎn)換后數(shù)據(jù)的數(shù)組。寫入EEPROM中的數(shù)據(jù)長度為1個字節(jié)(如要寫入Vals0,寫入值outVals0&0x00FF)。outVals0gainboutVals1gaintoutVals2offsetboutVals3offsettoutVals4sotoutVals5tcgoutVals6tcooutVals7tsetloutVals8tc_cfgoutVals9sot_cfg參數(shù)2:double inVals10需要轉(zhuǎn)換的數(shù)據(jù)。數(shù)據(jù)的順序和輸出數(shù)據(jù)的順序相同(參見上面函數(shù)的輸出數(shù)組)。返回值: 0 成功2 sot超出范圍3 tcg超出范圍4
18、tco超出范圍1.2 結(jié)構(gòu)體介紹定義結(jié)構(gòu)體類型的目的是為了簡化程序。在DLL中同樣也存在相對應的數(shù)組格式的調(diào)用函數(shù)。1.2.1 CalPoint功能描述:CalPoint結(jié)構(gòu)包含4個double型變量,分別代表每個數(shù)據(jù)點的4個數(shù)值:橋信號理想值、橋信號原始值、溫度理想值、溫度原始值。若不進行溫度校準,則相應變量的缺省值為零。結(jié)構(gòu)體聲明:struct CalPoint double b double t double tr double raw1.2.2 CCoeffs功能描述:CCoeffs結(jié)構(gòu)中含有公式計算出的 “double”型變量和要寫入EEPROM中的“int”型變量,若變量名稱含有“
19、d_”即為 “double”型變量。寫入EEPROM中的“int”型變量并不一定就是寫入EEPROM中的實際值,因為實際值受字節(jié)長度(1字節(jié))限制:若寫入值超出范圍,則實際寫入值應為“0x00FF”。結(jié)構(gòu)體聲明:struct CCoeffs int gainb int offsetb int tco int tcg int sot int sot_cfg int tc_cfg int gaint int offset int tsetldouble d_gainb double d_offsetb double d_tco double d_tcg double d_sotBR double
20、d_sot_TCO double d_tc_sotTCG double d_gaint double d_offset double d_tsetl注意:tc_cfg: bit 0tco為負 bit 1放大因子(×8) bit 2tcg為負sot_cfg: =0 sot為橋信號二階修正參數(shù) 1 sot為Tcg二階修正參數(shù) 2 sot為Tco二階修正參數(shù)2 校準過程2.1 概述RBicLiteTM可和多種阻抗類橋式傳感器組合,這里假定它和一壓力橋式傳感器連接,其校準過程敘述如下。校準需采集幾組不同的標定數(shù)據(jù),標定值可通過以下方法獲得:將傳感器放入已知壓力和溫度的環(huán)境中,讀取傳感器測量的
21、原始值(未經(jīng)修正),重復此步驟,直到獲取足夠的標定點。原始值經(jīng)過校準主設(shè)備(如電腦)處理,計算出修正參數(shù),最后將修正參數(shù)寫入EEPROM。校準過程有三個主要步驟:1)Setup。Setup步驟包括EEPROM的初始化。另外,對EEPROM的已知參數(shù)進行設(shè)置,設(shè)置完成后,電腦給RBicLiteTM分配一個ID,此ID將被寫入EEPROM中。2)收集數(shù)據(jù)。此過程包括獲取原始值的標定過程。所得的標定值(壓力、溫度的原始值及理想值)存儲在指定的數(shù)據(jù)庫文件中,數(shù)據(jù)庫文件的索引即為RBicLiteTM的ID。3)修正參數(shù)的計算和寫入。一旦獲取足夠的標定值后,就可計算修正參數(shù),最后將修正參數(shù)寫入EEPROM
22、。2.2 Setup2.2.1 RBicLiteTM的ID校準過程的第一步就是分配RBicLiteTM的ID號。ID號存儲在EEPROM中,并且由寄存器TSETL、Tcg、Tco的數(shù)據(jù)組合而成。當校準過程結(jié)束時,TSETL、Tcg、Tco這三個寄存器的數(shù)據(jù)將被重寫,因此,RBicLiteTM的ID號并不是一個一成不變的數(shù)。在存儲標定值數(shù)據(jù)時,RBicLiteTM的ID是數(shù)據(jù)庫文件的索引,數(shù)據(jù)庫文件中含有溫度、壓力的原始值及理想值。EEPROM中的位置符號功能2:0Osc_Trim更多信息可參見“振蕩器調(diào)節(jié)”表6:31V_Trim/JFET_Trim參見“參考電壓源模塊”一節(jié)。8:7A2D_Of
23、fset偏移設(shè)置:11=-1/2,1/2信號輸入模式10=-1/4,3/4信號輸入模式01=-1/8,7/8信號輸入模式00=-1/16,15/16信號輸入模式要改變橋信號極性需設(shè)置Tc_cfg3(第87位)10:9Output_Select數(shù)字輸出w/Temp(0x00)12:11Update_Rate用戶選擇00=1mS(1KHz)01=5mS(200Hz)10=25mS(40Hz)11=125mS(8Hz)14:13JFET_Cfg用戶選擇00=沒有三極管控制(低功耗模式)01=沒有三極管控制(低功耗模式)10=三極管控制在5V左右11=三極管控制在5.5V左右29:15Gain_B模塊
24、(0x800)43:30Offset_B0x0051:44Gain_T模塊(0x80)59:52Offset_T0x0067:60TSETL用戶ID區(qū)(臨時)75:68Tcg用戶ID區(qū)(臨時)83:76Tco用戶ID區(qū)(臨時)87:84Tc_cfg0x0095:88SOT0x0099:96SOT_cfg,Pamp_Gain 99:98 SOT_cfg(0x01)用戶選擇可預放大器增益(97:96): 00=增益為6 01=增益為24(缺省設(shè)置) 10=增益為12 11=增益為48注:加粗必須設(shè)定模塊 斜體推薦設(shè)置2.3 采集數(shù)據(jù)RBicLiteTM在RM(Raw Mode)模式下才可獲得傳感器
25、的原始數(shù)據(jù)。要進入RM模式,需首先發(fā)送“Start Command Mode”(0x50 0x00)指令,然后再發(fā)送“Start Raw Mode”(0x40 0x10)指令。若RBicLiteTM工作在RM模式,并且 EEPROM中橋增益和溫度增益的設(shè)置為0x800、0x80(如上表中所示)時,其輸出口(SigTM)輸出的是原始值,而不再是修正后的數(shù)據(jù)。獲取每一個原始值時,都對被測量進行多次測量(推薦16次),最后取平均值。壓力、溫度的原始值和理想值最后以數(shù)據(jù)庫文件的形式存儲在電腦上。RM模式下數(shù)據(jù)輸出格式依次是Bridge_High、Bridge_Low、Temp,每個數(shù)據(jù)的長度為1個字節(jié)
26、,Bridge_High的前兩位是“0”。如果使用開發(fā)板進行通信,則在輸出數(shù)據(jù)前分別加上0x01、0x02、0x03。RM模式下輸出的溫度數(shù)據(jù)只有8位,不能滿足溫度校準時的精度要求。解決的方法就是在NOM模式下獲取溫度數(shù)據(jù)的高3位。11位數(shù)據(jù)將使測量精度達到0.098。當“NOM數(shù)據(jù)”和“RM數(shù)據(jù)”的第7位不一致時,溫度數(shù)據(jù)的高3位和低8位數(shù)據(jù)就不能進行簡單的疊加,具體做法是:在NOM模式下獲取溫度數(shù)據(jù)的<10:3>位,通過和“RM數(shù)據(jù)”比較以確定讀數(shù),如下例所示:例: RM模式下溫度的讀數(shù) temp<7:0>= 11111111 NOM模式下溫度的讀數(shù) temp<10
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 書法代售合同范本
- 門診研究課題申報書
- 公司收購股權(quán)合同范本
- 廠場租賃合同范本
- 職業(yè) 課題申報書
- 醫(yī)療會議服務(wù)合同范本
- 員工入職合同范本文本
- 【復習大串講】【中職專用】高二語文上學期期末期末綜合測試題(二)(職業(yè)模塊)(解析版)
- 行動導向課題申報書
- 三方租賃合同范本
- 皮膚性病學課件:濕疹皮炎
- 綠化養(yǎng)護重點難點分析及解決措施
- 醫(yī)療垃圾管理及手衛(wèi)生培訓PPT課件
- 一體化學工服務(wù)平臺、人事管理系統(tǒng)、科研管理系統(tǒng)建設(shè)方案
- 市場營銷學課后習題與答案
- 嚇數(shù)基礎(chǔ)知識共20
- 常暗之廂(7規(guī)則-簡體修正)
- 10kV變電所設(shè)備檢修內(nèi)容與周期表
- 井控系統(tǒng)操作維護與保養(yǎng)規(guī)程
- 電子產(chǎn)品高可靠性裝聯(lián)工藝下
- 越南北部工業(yè)區(qū)資料(1060707)
評論
0/150
提交評論