智能傳感器的CAN總線接口設(shè)計(jì)
2.1 傳感器信號(hào)的濾波處理
考慮到日益惡劣的電磁干擾環(huán)境,對(duì)傳感器信號(hào)的濾波分兩級(jí)實(shí)現(xiàn):終級(jí)為利用SoC中的高速M(fèi)CU對(duì)采集的信號(hào)進(jìn)行數(shù)字濾波(不在此討論);初級(jí)則是由信號(hào)預(yù)處理電路中R1、R2、C1、C2、C3,組成抗射頻干擾濾波器來(lái)實(shí)現(xiàn),如圖2所示。當(dāng)不考慮C3時(shí),R1、C1和R2、C2就構(gòu)成了傳感器兩輸出端至儀用放大器兩輸入端之間的兩低通濾波器,時(shí)間常數(shù)t1=R1·C1;t2=R2·C2。由于無(wú)論是傳感器至AD623之間的自然連線等效形成的t1和t2,還是人為設(shè)計(jì)的低通濾波器的t1和t2,都不能使RC完全匹配相等,即t1≠t2;△t=t1-t2≠0。這樣耦合到兩根連線上的干擾電磁波,即使是同頻、同相位、同幅值的共模信號(hào),進(jìn)入AD623進(jìn)行放大時(shí)也必然出現(xiàn)相位差,并由此導(dǎo)致兩輸入端之間的幅值差。當(dāng)干擾信號(hào)頻率較低時(shí),由于△t相對(duì)干擾信號(hào)的周期較小,造成的兩輸入端之間的幅值差,相對(duì)共模部分很小,利用AD623的共模抑制能力,能對(duì)干擾信號(hào)進(jìn)行較好地抑制(共模部分被抑制,差分部分影響較小);但當(dāng)干擾信號(hào)頻率較高時(shí),則△t相對(duì)干擾信號(hào)的周期較大,極端情況如兩路信號(hào)相位差180°時(shí),則同頻、同相位、同幅值的共模干擾信號(hào),進(jìn)入AD623時(shí)被合成為兩倍幅值的同頻差分信號(hào),該差分信號(hào)不僅不能被抑制,還被放大器放大,即被混疊到有效信號(hào)中,難以消除。為此,在兩低通濾波器之間跨接了電容C3,這樣該濾波器的差分帶寬為:
其中:R=R1=R2,C=C1=C2。
比較(1)(2)兩式可以看出,當(dāng)不接入C3時(shí),濾波器的差分帶寬等于共模帶寬。因此,在帶寬范圍內(nèi)的共模信號(hào),因RC不完全匹配(△t≠ 0)引起的幅值差,在帶寬范圍內(nèi),濾波器不能將其濾除。當(dāng)接入C3后,如果使C3=10C,則差分帶寬比共模帶寬降低了20余倍,因此可大量濾除因RC不匹配引起的差分信號(hào)。
2.2 傳感器信號(hào)的放大
對(duì)傳感器信號(hào)采用兩級(jí)放大。第一級(jí)用信號(hào)預(yù)處理電路中的儀用放大器AD623,進(jìn)行固定增益的信號(hào)放大,增益G=100 kΩ/R3+1??筛鶕?jù)傳感器信號(hào)大小,選擇增益(通過(guò)選取R3阻值獲得),使通過(guò)一級(jí)放大后的傳感器額定輸出信號(hào)達(dá)到200 mV左右。第二級(jí)放大,用SOC中的程控放大器(PGA)實(shí)現(xiàn);其可編程增益為0.5、1、2、4、8、16。理論上使一級(jí)放大后的傳感器額定輸出信號(hào)Vg1×16(二級(jí)放大最大增益)近似等于ADC的參考電壓(實(shí)際應(yīng)用中一般為2/3~3/4參考電壓),從而最有效地利用ADC的分辨率。
2.3 傳感器信號(hào)零點(diǎn)的補(bǔ)償與校準(zhǔn)
2.3.1 根據(jù)傳感器特性的補(bǔ)償
傳感器在工況條件發(fā)生變化時(shí),輸出信號(hào)會(huì)有相應(yīng)的變化,該輸出信號(hào)的變化與被測(cè)物理量無(wú)關(guān),即為漂移信號(hào)。當(dāng)傳感器給出相應(yīng)的特性值時(shí),應(yīng)設(shè)計(jì)檢測(cè)該工況條件的傳感器,實(shí)時(shí)監(jiān)測(cè)傳感器的工況條件,利用MCU求得補(bǔ)償量,進(jìn)行補(bǔ)償。導(dǎo)致傳感器零點(diǎn)漂移最常見(jiàn)的特性之一,是溫度特性,為補(bǔ)償因溫度變化引起的漂移,特選用了內(nèi)含溫度傳感器的SoC——C8051F041。由于該接口嵌入傳感器中,因此其檢測(cè)到的溫度變化△t就是傳感器的溫度變化,若已知傳感器的溫度系數(shù)為aT(1/℃),則補(bǔ)償量VTR為:
其中YFS為傳感器的額定輸出。將該補(bǔ)償量疊加到傳感器信號(hào)中,即可消除溫漂的影響。
2.3.2 根據(jù)傳感器應(yīng)用特征的補(bǔ)償
傳感器零點(diǎn)信號(hào)的漂移,變化是非常緩慢的,在一段時(shí)間內(nèi)的漂移量很小。當(dāng)傳感器工作于間歇方式且被測(cè)物理量的閾值遠(yuǎn)大于傳感器一個(gè)工作周期內(nèi)的漂移量時(shí),則當(dāng)傳感器輸出信號(hào)小于該閾值時(shí),該輸出值即為補(bǔ)償量,與傳感器信號(hào)疊加后使輸出信號(hào)為零。
為使傳感器信號(hào)與補(bǔ)償量疊加,利用SOC中的12位DAC(如圖2所示)輸出一補(bǔ)償電壓VB接一級(jí)放大器AD623的參考端(引腳5),則一級(jí)放大器輸出電壓Vout:
其中Vc為傳感器輸出的差分電壓信號(hào)’b1為一級(jí)放大器增益。
當(dāng)需進(jìn)行溫度補(bǔ)償時(shí),使VB=VB0+VTB×b1,其中VBO為當(dāng)前(補(bǔ)償前)的VB。將(3)式代入則有:
從(6)式中的第2項(xiàng)可見(jiàn),含有溫度漂移的傳感器輸出信號(hào)Vc被修正,溫漂被補(bǔ)償,零點(diǎn)被校準(zhǔn)。
當(dāng)傳感器工作于間歇方式,溫度補(bǔ)償后二級(jí)放大后輸出為V=Vout×b2。當(dāng)V小于被測(cè)物理量的閾值時(shí),V即為補(bǔ)償量-V,使
其中b2為二級(jí)放大器選擇的增益,顯然再經(jīng)二級(jí)放大后的輸出將為0,即零漂被補(bǔ)償了,零點(diǎn)被自動(dòng)校準(zhǔn)了。
當(dāng)傳感器工作于非間歇方式,或被測(cè)物理量的閾值很小,與一個(gè)工作周期內(nèi)的漂移量相當(dāng)時(shí),則需采用人為的零點(diǎn)校準(zhǔn)。即當(dāng)傳感器處于零點(diǎn)時(shí),發(fā)出校準(zhǔn)指令,收到指令后,MCU立即將當(dāng)前二級(jí)放大后的電壓值V,通過(guò)(7)式疊加到信號(hào)中,使輸出為零,零點(diǎn)被校準(zhǔn)。
3 信號(hào)的A/D變換及定標(biāo)
CAN總線上傳送的信息為數(shù)字量,為此,選用SoC內(nèi)部的具有12位分辨率、最高轉(zhuǎn)換速度達(dá)到100 ksps的SAR ADC0,將模擬量轉(zhuǎn)換為數(shù)字量(參見(jiàn)圖2)。該ADC的工作方式與啟動(dòng)方式,將在傳感器接入系統(tǒng)后,由主機(jī)確定。
定標(biāo)系數(shù)可通過(guò)標(biāo)定傳感器獲得,即將加載到傳感器上的已知被測(cè)物理量A,除以此時(shí)采集到的數(shù)字量N,即定標(biāo)系數(shù)為A/N;也可通過(guò)傳感器的靈敏度、放大器的增益、ADC的分辨率及參考電壓計(jì)算獲得,但這樣得到的定標(biāo)系數(shù)精度稍差。與定標(biāo)系數(shù)所對(duì)應(yīng)的物理量綱,則在傳感器接入CAN總線時(shí),通過(guò)向系統(tǒng)主機(jī)發(fā)送的電子數(shù)據(jù)表單(Transducer Electronic Data sheet,TEDs),告知系統(tǒng)主機(jī);從而系統(tǒng)主機(jī)收到某傳感器發(fā)來(lái)的數(shù)字量,就是具有特定物理量綱的被測(cè)物理量實(shí)際數(shù)值。這樣做,第一可減少主機(jī)的運(yùn)算工作量;第二也降低了TEDs的復(fù)雜度(只需約定物理量綱,而無(wú)需傳送定標(biāo)系數(shù)等);第三使接口可靈活地根據(jù)傳感器信號(hào)幅度選擇適當(dāng)?shù)脑鲆妫岣咝⌒盘?hào)的分辨率,此時(shí)接口只需自行改變相應(yīng)的定標(biāo)系數(shù)即可,無(wú)需與主機(jī)交互變換定標(biāo)系數(shù)。
評(píng)論